]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Copy Brotli algorithm 3rd party source code for tool
authorSong, BinX <binx.song@intel.com>
Thu, 23 Mar 2017 02:16:15 +0000 (10:16 +0800)
committerLiming Gao <liming.gao@intel.com>
Wed, 29 Mar 2017 04:14:42 +0000 (12:14 +0800)
- Copy Brotli algorithm 3rd party source code for tool

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bell Song <binx.song@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
78 files changed:
BaseTools/Source/C/BrotliCompress/LICENSE [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/README.md [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/common/constants.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/common/dictionary.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/common/dictionary.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/common/port.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/common/types.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/bit_reader.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/bit_reader.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/context.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/decode.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/decode.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/huffman.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/huffman.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/port.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/prefix.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/state.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/state.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/dec/transform.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/backward_references.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/backward_references.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/bit_cost.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/bit_cost.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/block_splitter.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/block_splitter.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/cluster.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/cluster.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/command.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/compressor.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/context.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/encode.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/encode.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/fast_log.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/find_match_length.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/hash.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/histogram.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/histogram.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/literal_cost.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/literal_cost.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/memory.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/memory.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/metablock.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/metablock.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/port.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/prefix.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/quality.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/static_dict.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/static_dict.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/streams.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/utf8_util.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/utf8_util.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/enc/write_bits.h [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/tools/bro.c [new file with mode: 0644]
BaseTools/Source/C/BrotliCompress/tools/version.h [new file with mode: 0644]

diff --git a/BaseTools/Source/C/BrotliCompress/LICENSE b/BaseTools/Source/C/BrotliCompress/LICENSE
new file mode 100644 (file)
index 0000000..49550fc
--- /dev/null
@@ -0,0 +1,19 @@
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.\r
+\r
+Permission is hereby granted, free of charge, to any person obtaining a copy\r
+of this software and associated documentation files (the "Software"), to deal\r
+in the Software without restriction, including without limitation the rights\r
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+copies of the Software, and to permit persons to whom the Software is\r
+furnished to do so, subject to the following conditions:\r
+\r
+The above copyright notice and this permission notice shall be included in\r
+all copies or substantial portions of the Software.\r
+\r
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE\r
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+THE SOFTWARE.\r
diff --git a/BaseTools/Source/C/BrotliCompress/README.md b/BaseTools/Source/C/BrotliCompress/README.md
new file mode 100644 (file)
index 0000000..01848ad
--- /dev/null
@@ -0,0 +1,26 @@
+### Introduction\r
+\r
+Brotli is a generic-purpose lossless compression algorithm that compresses data\r
+using a combination of a modern variant of the LZ77 algorithm, Huffman coding\r
+and 2nd order context modeling, with a compression ratio comparable to the best\r
+currently available general-purpose compression methods. It is similar in speed\r
+with deflate but offers more dense compression.\r
+\r
+The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://www.ietf.org/rfc/rfc7932.txt).\r
+\r
+Brotli is open-sourced under the MIT License, see the LICENSE file.\r
+\r
+Brotli mailing list:\r
+https://groups.google.com/forum/#!forum/brotli\r
+\r
+[![Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)\r
+\r
+### Benchmarks\r
+* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)\r
+* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)\r
+* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)\r
+\r
+### Related projects\r
+Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.\r
+\r
+JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`\r
diff --git a/BaseTools/Source/C/BrotliCompress/common/constants.h b/BaseTools/Source/C/BrotliCompress/common/constants.h
new file mode 100644 (file)
index 0000000..f82a89b
--- /dev/null
@@ -0,0 +1,47 @@
+/* Copyright 2016 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+#ifndef BROTLI_COMMON_CONSTANTS_H_\r
+#define BROTLI_COMMON_CONSTANTS_H_\r
+\r
+/* Specification: 7.3. Encoding of the context map */\r
+#define BROTLI_CONTEXT_MAP_MAX_RLE 16\r
+\r
+/* Specification: 2. Compressed representation overview */\r
+#define BROTLI_MAX_NUMBER_OF_BLOCK_TYPES 256\r
+\r
+/* Specification: 3.3. Alphabet sizes: insert-and-copy length */\r
+#define BROTLI_NUM_LITERAL_SYMBOLS 256\r
+#define BROTLI_NUM_COMMAND_SYMBOLS 704\r
+#define BROTLI_NUM_BLOCK_LEN_SYMBOLS 26\r
+#define BROTLI_MAX_CONTEXT_MAP_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + \\r
+                                        BROTLI_CONTEXT_MAP_MAX_RLE)\r
+#define BROTLI_MAX_BLOCK_TYPE_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + 2)\r
+\r
+/* Specification: 3.5. Complex prefix codes */\r
+#define BROTLI_REPEAT_PREVIOUS_CODE_LENGTH 16\r
+#define BROTLI_REPEAT_ZERO_CODE_LENGTH 17\r
+#define BROTLI_CODE_LENGTH_CODES (BROTLI_REPEAT_ZERO_CODE_LENGTH + 1)\r
+/* "code length of 8 is repeated" */\r
+#define BROTLI_INITIAL_REPEATED_CODE_LENGTH 8\r
+\r
+/* Specification: 4. Encoding of distances */\r
+#define BROTLI_NUM_DISTANCE_SHORT_CODES 16\r
+#define BROTLI_MAX_NPOSTFIX 3\r
+#define BROTLI_MAX_NDIRECT 120\r
+/* BROTLI_NUM_DISTANCE_SYMBOLS == 520 */\r
+#define BROTLI_NUM_DISTANCE_SYMBOLS (BROTLI_NUM_DISTANCE_SHORT_CODES + \\r
+                                     BROTLI_MAX_NDIRECT +              \\r
+                                     (24 << (BROTLI_MAX_NPOSTFIX + 1)))\r
+\r
+/* 7.1. Context modes and context ID lookup for literals */\r
+/* "context IDs for literals are in the range of 0..63" */\r
+#define BROTLI_LITERAL_CONTEXT_BITS 6\r
+\r
+/* 7.2. Context ID for distances */\r
+#define BROTLI_DISTANCE_CONTEXT_BITS 2\r
+\r
+#endif  /* BROTLI_COMMON_CONSTANTS_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/common/dictionary.c b/BaseTools/Source/C/BrotliCompress/common/dictionary.c
new file mode 100644 (file)
index 0000000..58c88d2
--- /dev/null
@@ -0,0 +1,9474 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+#include "./dictionary.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+const uint32_t kBrotliDictionaryOffsetsByLength[] = {\r
+  0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040,\r
+  93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280,\r
+  122016\r
+};\r
+\r
+const uint8_t kBrotliDictionarySizeBitsByLength[] = {\r
+  0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10,\r
+  9, 9, 8, 7, 7,  8,  7,  7,  6,  6,  5,  5,\r
+};\r
+\r
+const uint8_t kBrotliDictionary[122784] = {\r
+  0x74, 0x69, 0x6d, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x66, 0x65, 0x6c,\r
+  0x65, 0x66, 0x74, 0x62, 0x61, 0x63, 0x6b, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x61,\r
+  0x74, 0x61, 0x73, 0x68, 0x6f, 0x77, 0x6f, 0x6e, 0x6c, 0x79, 0x73, 0x69, 0x74,\r
+  0x65, 0x63, 0x69, 0x74, 0x79, 0x6f, 0x70, 0x65, 0x6e, 0x6a, 0x75, 0x73, 0x74,\r
+  0x6c, 0x69, 0x6b, 0x65, 0x66, 0x72, 0x65, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x74,\r
+  0x65, 0x78, 0x74, 0x79, 0x65, 0x61, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x62, 0x6f,\r
+  0x64, 0x79, 0x6c, 0x6f, 0x76, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x6f, 0x6f,\r
+  0x6b, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x76, 0x65, 0x6c, 0x69, 0x6e, 0x65,\r
+  0x68, 0x65, 0x6c, 0x70, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6d,\r
+  0x6f, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x64, 0x6c, 0x6f, 0x6e, 0x67, 0x74, 0x68,\r
+  0x65, 0x6d, 0x76, 0x69, 0x65, 0x77, 0x66, 0x69, 0x6e, 0x64, 0x70, 0x61, 0x67,\r
+  0x65, 0x64, 0x61, 0x79, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x68, 0x65, 0x61, 0x64,\r
+  0x74, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x63, 0x68, 0x61, 0x72, 0x65, 0x61, 0x66,\r
+  0x72, 0x6f, 0x6d, 0x74, 0x72, 0x75, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x62,\r
+  0x6c, 0x65, 0x75, 0x70, 0x6f, 0x6e, 0x68, 0x69, 0x67, 0x68, 0x64, 0x61, 0x74,\r
+  0x65, 0x6c, 0x61, 0x6e, 0x64, 0x6e, 0x65, 0x77, 0x73, 0x65, 0x76, 0x65, 0x6e,\r
+  0x6e, 0x65, 0x78, 0x74, 0x63, 0x61, 0x73, 0x65, 0x62, 0x6f, 0x74, 0x68, 0x70,\r
+  0x6f, 0x73, 0x74, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x64, 0x65, 0x68, 0x61,\r
+  0x6e, 0x64, 0x68, 0x65, 0x72, 0x65, 0x77, 0x68, 0x61, 0x74, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x62, 0x6c, 0x6f, 0x67, 0x73, 0x69, 0x7a, 0x65,\r
+  0x62, 0x61, 0x73, 0x65, 0x68, 0x65, 0x6c, 0x64, 0x6d, 0x61, 0x6b, 0x65, 0x6d,\r
+  0x61, 0x69, 0x6e, 0x75, 0x73, 0x65, 0x72, 0x27, 0x29, 0x20, 0x2b, 0x68, 0x6f,\r
+  0x6c, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x77, 0x69, 0x74, 0x68, 0x4e, 0x65, 0x77,\r
+  0x73, 0x72, 0x65, 0x61, 0x64, 0x77, 0x65, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e,\r
+  0x74, 0x61, 0x6b, 0x65, 0x68, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x73,\r
+  0x65, 0x65, 0x6e, 0x63, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x74, 0x68, 0x77, 0x65,\r
+  0x6c, 0x6c, 0x70, 0x6c, 0x75, 0x73, 0x6d, 0x65, 0x6e, 0x75, 0x66, 0x69, 0x6c,\r
+  0x6d, 0x70, 0x61, 0x72, 0x74, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x68, 0x69, 0x73,\r
+  0x6c, 0x69, 0x73, 0x74, 0x67, 0x6f, 0x6f, 0x64, 0x6e, 0x65, 0x65, 0x64, 0x77,\r
+  0x61, 0x79, 0x73, 0x77, 0x65, 0x73, 0x74, 0x6a, 0x6f, 0x62, 0x73, 0x6d, 0x69,\r
+  0x6e, 0x64, 0x61, 0x6c, 0x73, 0x6f, 0x6c, 0x6f, 0x67, 0x6f, 0x72, 0x69, 0x63,\r
+  0x68, 0x75, 0x73, 0x65, 0x73, 0x6c, 0x61, 0x73, 0x74, 0x74, 0x65, 0x61, 0x6d,\r
+  0x61, 0x72, 0x6d, 0x79, 0x66, 0x6f, 0x6f, 0x64, 0x6b, 0x69, 0x6e, 0x67, 0x77,\r
+  0x69, 0x6c, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x77, 0x61, 0x72, 0x64, 0x62, 0x65,\r
+  0x73, 0x74, 0x66, 0x69, 0x72, 0x65, 0x50, 0x61, 0x67, 0x65, 0x6b, 0x6e, 0x6f,\r
+  0x77, 0x61, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x6e, 0x67, 0x6d, 0x6f, 0x76, 0x65,\r
+  0x74, 0x68, 0x61, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x67, 0x69, 0x76, 0x65, 0x73,\r
+  0x65, 0x6c, 0x66, 0x6e, 0x6f, 0x74, 0x65, 0x6d, 0x75, 0x63, 0x68, 0x66, 0x65,\r
+  0x65, 0x64, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x6f, 0x63, 0x6b, 0x69, 0x63, 0x6f,\r
+  0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x6c, 0x6f, 0x6f, 0x6b, 0x68, 0x69, 0x64, 0x65,\r
+  0x64, 0x69, 0x65, 0x64, 0x48, 0x6f, 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x68,\r
+  0x6f, 0x73, 0x74, 0x61, 0x6a, 0x61, 0x78, 0x69, 0x6e, 0x66, 0x6f, 0x63, 0x6c,\r
+  0x75, 0x62, 0x6c, 0x61, 0x77, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x68, 0x61, 0x6c,\r
+  0x66, 0x73, 0x6f, 0x6d, 0x65, 0x73, 0x75, 0x63, 0x68, 0x7a, 0x6f, 0x6e, 0x65,\r
+  0x31, 0x30, 0x30, 0x25, 0x6f, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x72, 0x65, 0x54,\r
+  0x69, 0x6d, 0x65, 0x72, 0x61, 0x63, 0x65, 0x62, 0x6c, 0x75, 0x65, 0x66, 0x6f,\r
+  0x75, 0x72, 0x77, 0x65, 0x65, 0x6b, 0x66, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x70,\r
+  0x65, 0x67, 0x61, 0x76, 0x65, 0x68, 0x61, 0x72, 0x64, 0x6c, 0x6f, 0x73, 0x74,\r
+  0x77, 0x68, 0x65, 0x6e, 0x70, 0x61, 0x72, 0x6b, 0x6b, 0x65, 0x70, 0x74, 0x70,\r
+  0x61, 0x73, 0x73, 0x73, 0x68, 0x69, 0x70, 0x72, 0x6f, 0x6f, 0x6d, 0x48, 0x54,\r
+  0x4d, 0x4c, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x6f, 0x6e,\r
+  0x65, 0x73, 0x61, 0x76, 0x65, 0x6b, 0x65, 0x65, 0x70, 0x66, 0x6c, 0x61, 0x67,\r
+  0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x6f, 0x6c, 0x64, 0x66, 0x69, 0x76, 0x65, 0x74,\r
+  0x6f, 0x6f, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x74, 0x6f, 0x77, 0x6e, 0x6a, 0x75,\r
+  0x6d, 0x70, 0x74, 0x68, 0x75, 0x73, 0x64, 0x61, 0x72, 0x6b, 0x63, 0x61, 0x72,\r
+  0x64, 0x66, 0x69, 0x6c, 0x65, 0x66, 0x65, 0x61, 0x72, 0x73, 0x74, 0x61, 0x79,\r
+  0x6b, 0x69, 0x6c, 0x6c, 0x74, 0x68, 0x61, 0x74, 0x66, 0x61, 0x6c, 0x6c, 0x61,\r
+  0x75, 0x74, 0x6f, 0x65, 0x76, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x74, 0x61,\r
+  0x6c, 0x6b, 0x73, 0x68, 0x6f, 0x70, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x65, 0x65,\r
+  0x70, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x73, 0x74, 0x74, 0x75, 0x72, 0x6e,\r
+  0x62, 0x6f, 0x72, 0x6e, 0x62, 0x61, 0x6e, 0x64, 0x66, 0x65, 0x6c, 0x6c, 0x72,\r
+  0x6f, 0x73, 0x65, 0x75, 0x72, 0x6c, 0x28, 0x73, 0x6b, 0x69, 0x6e, 0x72, 0x6f,\r
+  0x6c, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x61, 0x63, 0x74, 0x73, 0x61, 0x67, 0x65,\r
+  0x73, 0x6d, 0x65, 0x65, 0x74, 0x67, 0x6f, 0x6c, 0x64, 0x2e, 0x6a, 0x70, 0x67,\r
+  0x69, 0x74, 0x65, 0x6d, 0x76, 0x61, 0x72, 0x79, 0x66, 0x65, 0x6c, 0x74, 0x74,\r
+  0x68, 0x65, 0x6e, 0x73, 0x65, 0x6e, 0x64, 0x64, 0x72, 0x6f, 0x70, 0x56, 0x69,\r
+  0x65, 0x77, 0x63, 0x6f, 0x70, 0x79, 0x31, 0x2e, 0x30, 0x22, 0x3c, 0x2f, 0x61,\r
+  0x3e, 0x73, 0x74, 0x6f, 0x70, 0x65, 0x6c, 0x73, 0x65, 0x6c, 0x69, 0x65, 0x73,\r
+  0x74, 0x6f, 0x75, 0x72, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x69, 0x66, 0x70,\r
+  0x61, 0x73, 0x74, 0x63, 0x73, 0x73, 0x3f, 0x67, 0x72, 0x61, 0x79, 0x6d, 0x65,\r
+  0x61, 0x6e, 0x26, 0x67, 0x74, 0x3b, 0x72, 0x69, 0x64, 0x65, 0x73, 0x68, 0x6f,\r
+  0x74, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x61, 0x69, 0x64, 0x72, 0x6f, 0x61, 0x64,\r
+  0x76, 0x61, 0x72, 0x20, 0x66, 0x65, 0x65, 0x6c, 0x6a, 0x6f, 0x68, 0x6e, 0x72,\r
+  0x69, 0x63, 0x6b, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x61, 0x73, 0x74, 0x27, 0x55,\r
+  0x41, 0x2d, 0x64, 0x65, 0x61, 0x64, 0x3c, 0x2f, 0x62, 0x3e, 0x70, 0x6f, 0x6f,\r
+  0x72, 0x62, 0x69, 0x6c, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x55, 0x2e, 0x53, 0x2e,\r
+  0x77, 0x6f, 0x6f, 0x64, 0x6d, 0x75, 0x73, 0x74, 0x32, 0x70, 0x78, 0x3b, 0x49,\r
+  0x6e, 0x66, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x77, 0x69, 0x64, 0x65, 0x77, 0x61,\r
+  0x6e, 0x74, 0x77, 0x61, 0x6c, 0x6c, 0x6c, 0x65, 0x61, 0x64, 0x5b, 0x30, 0x5d,\r
+  0x3b, 0x70, 0x61, 0x75, 0x6c, 0x77, 0x61, 0x76, 0x65, 0x73, 0x75, 0x72, 0x65,\r
+  0x24, 0x28, 0x27, 0x23, 0x77, 0x61, 0x69, 0x74, 0x6d, 0x61, 0x73, 0x73, 0x61,\r
+  0x72, 0x6d, 0x73, 0x67, 0x6f, 0x65, 0x73, 0x67, 0x61, 0x69, 0x6e, 0x6c, 0x61,\r
+  0x6e, 0x67, 0x70, 0x61, 0x69, 0x64, 0x21, 0x2d, 0x2d, 0x20, 0x6c, 0x6f, 0x63,\r
+  0x6b, 0x75, 0x6e, 0x69, 0x74, 0x72, 0x6f, 0x6f, 0x74, 0x77, 0x61, 0x6c, 0x6b,\r
+  0x66, 0x69, 0x72, 0x6d, 0x77, 0x69, 0x66, 0x65, 0x78, 0x6d, 0x6c, 0x22, 0x73,\r
+  0x6f, 0x6e, 0x67, 0x74, 0x65, 0x73, 0x74, 0x32, 0x30, 0x70, 0x78, 0x6b, 0x69,\r
+  0x6e, 0x64, 0x72, 0x6f, 0x77, 0x73, 0x74, 0x6f, 0x6f, 0x6c, 0x66, 0x6f, 0x6e,\r
+  0x74, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x73, 0x74, 0x61, 0x72,\r
+  0x6d, 0x61, 0x70, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x72, 0x61, 0x69, 0x6e, 0x66,\r
+  0x6c, 0x6f, 0x77, 0x62, 0x61, 0x62, 0x79, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x61,\r
+  0x79, 0x73, 0x34, 0x70, 0x78, 0x3b, 0x36, 0x70, 0x78, 0x3b, 0x61, 0x72, 0x74,\r
+  0x73, 0x66, 0x6f, 0x6f, 0x74, 0x72, 0x65, 0x61, 0x6c, 0x77, 0x69, 0x6b, 0x69,\r
+  0x68, 0x65, 0x61, 0x74, 0x73, 0x74, 0x65, 0x70, 0x74, 0x72, 0x69, 0x70, 0x6f,\r
+  0x72, 0x67, 0x2f, 0x6c, 0x61, 0x6b, 0x65, 0x77, 0x65, 0x61, 0x6b, 0x74, 0x6f,\r
+  0x6c, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x66, 0x61, 0x6e,\r
+  0x73, 0x62, 0x61, 0x6e, 0x6b, 0x76, 0x65, 0x72, 0x79, 0x72, 0x75, 0x6e, 0x73,\r
+  0x6a, 0x75, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x31, 0x70, 0x78, 0x3b, 0x67,\r
+  0x6f, 0x61, 0x6c, 0x67, 0x72, 0x65, 0x77, 0x73, 0x6c, 0x6f, 0x77, 0x65, 0x64,\r
+  0x67, 0x65, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x74, 0x73, 0x35, 0x70, 0x78,\r
+  0x3b, 0x2e, 0x6a, 0x73, 0x3f, 0x34, 0x30, 0x70, 0x78, 0x69, 0x66, 0x20, 0x28,\r
+  0x73, 0x6f, 0x6f, 0x6e, 0x73, 0x65, 0x61, 0x74, 0x6e, 0x6f, 0x6e, 0x65, 0x74,\r
+  0x75, 0x62, 0x65, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x65,\r
+  0x65, 0x64, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x74, 0x6f, 0x67, 0x69, 0x66,\r
+  0x74, 0x68, 0x61, 0x72, 0x6d, 0x31, 0x38, 0x70, 0x78, 0x63, 0x61, 0x6d, 0x65,\r
+  0x68, 0x69, 0x6c, 0x6c, 0x62, 0x6f, 0x6c, 0x64, 0x7a, 0x6f, 0x6f, 0x6d, 0x76,\r
+  0x6f, 0x69, 0x64, 0x65, 0x61, 0x73, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x66, 0x69,\r
+  0x6c, 0x6c, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x69, 0x74, 0x63, 0x6f, 0x73,\r
+  0x74, 0x33, 0x70, 0x78, 0x3b, 0x6a, 0x61, 0x63, 0x6b, 0x74, 0x61, 0x67, 0x73,\r
+  0x62, 0x69, 0x74, 0x73, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x69, 0x74, 0x6b,\r
+  0x6e, 0x65, 0x77, 0x6e, 0x65, 0x61, 0x72, 0x3c, 0x21, 0x2d, 0x2d, 0x67, 0x72,\r
+  0x6f, 0x77, 0x4a, 0x53, 0x4f, 0x4e, 0x64, 0x75, 0x74, 0x79, 0x4e, 0x61, 0x6d,\r
+  0x65, 0x73, 0x61, 0x6c, 0x65, 0x79, 0x6f, 0x75, 0x20, 0x6c, 0x6f, 0x74, 0x73,\r
+  0x70, 0x61, 0x69, 0x6e, 0x6a, 0x61, 0x7a, 0x7a, 0x63, 0x6f, 0x6c, 0x64, 0x65,\r
+  0x79, 0x65, 0x73, 0x66, 0x69, 0x73, 0x68, 0x77, 0x77, 0x77, 0x2e, 0x72, 0x69,\r
+  0x73, 0x6b, 0x74, 0x61, 0x62, 0x73, 0x70, 0x72, 0x65, 0x76, 0x31, 0x30, 0x70,\r
+  0x78, 0x72, 0x69, 0x73, 0x65, 0x32, 0x35, 0x70, 0x78, 0x42, 0x6c, 0x75, 0x65,\r
+  0x64, 0x69, 0x6e, 0x67, 0x33, 0x30, 0x30, 0x2c, 0x62, 0x61, 0x6c, 0x6c, 0x66,\r
+  0x6f, 0x72, 0x64, 0x65, 0x61, 0x72, 0x6e, 0x77, 0x69, 0x6c, 0x64, 0x62, 0x6f,\r
+  0x78, 0x2e, 0x66, 0x61, 0x69, 0x72, 0x6c, 0x61, 0x63, 0x6b, 0x76, 0x65, 0x72,\r
+  0x73, 0x70, 0x61, 0x69, 0x72, 0x6a, 0x75, 0x6e, 0x65, 0x74, 0x65, 0x63, 0x68,\r
+  0x69, 0x66, 0x28, 0x21, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x76, 0x69, 0x6c, 0x24,\r
+  0x28, 0x22, 0x23, 0x77, 0x61, 0x72, 0x6d, 0x6c, 0x6f, 0x72, 0x64, 0x64, 0x6f,\r
+  0x65, 0x73, 0x70, 0x75, 0x6c, 0x6c, 0x2c, 0x30, 0x30, 0x30, 0x69, 0x64, 0x65,\r
+  0x61, 0x64, 0x72, 0x61, 0x77, 0x68, 0x75, 0x67, 0x65, 0x73, 0x70, 0x6f, 0x74,\r
+  0x66, 0x75, 0x6e, 0x64, 0x62, 0x75, 0x72, 0x6e, 0x68, 0x72, 0x65, 0x66, 0x63,\r
+  0x65, 0x6c, 0x6c, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x68, 0x6f,\r
+  0x75, 0x72, 0x6c, 0x6f, 0x73, 0x73, 0x66, 0x75, 0x65, 0x6c, 0x31, 0x32, 0x70,\r
+  0x78, 0x73, 0x75, 0x69, 0x74, 0x64, 0x65, 0x61, 0x6c, 0x52, 0x53, 0x53, 0x22,\r
+  0x61, 0x67, 0x65, 0x64, 0x67, 0x72, 0x65, 0x79, 0x47, 0x45, 0x54, 0x22, 0x65,\r
+  0x61, 0x73, 0x65, 0x61, 0x69, 0x6d, 0x73, 0x67, 0x69, 0x72, 0x6c, 0x61, 0x69,\r
+  0x64, 0x73, 0x38, 0x70, 0x78, 0x3b, 0x6e, 0x61, 0x76, 0x79, 0x67, 0x72, 0x69,\r
+  0x64, 0x74, 0x69, 0x70, 0x73, 0x23, 0x39, 0x39, 0x39, 0x77, 0x61, 0x72, 0x73,\r
+  0x6c, 0x61, 0x64, 0x79, 0x63, 0x61, 0x72, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x70,\r
+  0x68, 0x70, 0x3f, 0x68, 0x65, 0x6c, 0x6c, 0x74, 0x61, 0x6c, 0x6c, 0x77, 0x68,\r
+  0x6f, 0x6d, 0x7a, 0x68, 0x3a, 0xe5, 0x2a, 0x2f, 0x0d, 0x0a, 0x20, 0x31, 0x30,\r
+  0x30, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x41, 0x37, 0x70, 0x78, 0x3b,\r
+  0x70, 0x75, 0x73, 0x68, 0x63, 0x68, 0x61, 0x74, 0x30, 0x70, 0x78, 0x3b, 0x63,\r
+  0x72, 0x65, 0x77, 0x2a, 0x2f, 0x3c, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x37, 0x35,\r
+  0x70, 0x78, 0x66, 0x6c, 0x61, 0x74, 0x72, 0x61, 0x72, 0x65, 0x20, 0x26, 0x26,\r
+  0x20, 0x74, 0x65, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x70, 0x6f, 0x6e, 0x74, 0x6f,\r
+  0x6c, 0x61, 0x69, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x73, 0x6b, 0x69, 0x70, 0x74,\r
+  0x65, 0x6e, 0x74, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x67, 0x65,\r
+  0x74, 0x73, 0x70, 0x6c, 0x6f, 0x74, 0x34, 0x30, 0x30, 0x2c, 0x0d, 0x0a, 0x0d,\r
+  0x0a, 0x63, 0x6f, 0x6f, 0x6c, 0x66, 0x65, 0x65, 0x74, 0x2e, 0x70, 0x68, 0x70,\r
+  0x3c, 0x62, 0x72, 0x3e, 0x65, 0x72, 0x69, 0x63, 0x6d, 0x6f, 0x73, 0x74, 0x67,\r
+  0x75, 0x69, 0x64, 0x62, 0x65, 0x6c, 0x6c, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61,\r
+  0x69, 0x72, 0x6d, 0x61, 0x74, 0x68, 0x61, 0x74, 0x6f, 0x6d, 0x2f, 0x69, 0x6d,\r
+  0x67, 0x26, 0x23, 0x38, 0x32, 0x6c, 0x75, 0x63, 0x6b, 0x63, 0x65, 0x6e, 0x74,\r
+  0x30, 0x30, 0x30, 0x3b, 0x74, 0x69, 0x6e, 0x79, 0x67, 0x6f, 0x6e, 0x65, 0x68,\r
+  0x74, 0x6d, 0x6c, 0x73, 0x65, 0x6c, 0x6c, 0x64, 0x72, 0x75, 0x67, 0x46, 0x52,\r
+  0x45, 0x45, 0x6e, 0x6f, 0x64, 0x65, 0x6e, 0x69, 0x63, 0x6b, 0x3f, 0x69, 0x64,\r
+  0x3d, 0x6c, 0x6f, 0x73, 0x65, 0x6e, 0x75, 0x6c, 0x6c, 0x76, 0x61, 0x73, 0x74,\r
+  0x77, 0x69, 0x6e, 0x64, 0x52, 0x53, 0x53, 0x20, 0x77, 0x65, 0x61, 0x72, 0x72,\r
+  0x65, 0x6c, 0x79, 0x62, 0x65, 0x65, 0x6e, 0x73, 0x61, 0x6d, 0x65, 0x64, 0x75,\r
+  0x6b, 0x65, 0x6e, 0x61, 0x73, 0x61, 0x63, 0x61, 0x70, 0x65, 0x77, 0x69, 0x73,\r
+  0x68, 0x67, 0x75, 0x6c, 0x66, 0x54, 0x32, 0x33, 0x3a, 0x68, 0x69, 0x74, 0x73,\r
+  0x73, 0x6c, 0x6f, 0x74, 0x67, 0x61, 0x74, 0x65, 0x6b, 0x69, 0x63, 0x6b, 0x62,\r
+  0x6c, 0x75, 0x72, 0x74, 0x68, 0x65, 0x79, 0x31, 0x35, 0x70, 0x78, 0x27, 0x27,\r
+  0x29, 0x3b, 0x29, 0x3b, 0x22, 0x3e, 0x6d, 0x73, 0x69, 0x65, 0x77, 0x69, 0x6e,\r
+  0x73, 0x62, 0x69, 0x72, 0x64, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x65, 0x74, 0x61,\r
+  0x73, 0x65, 0x65, 0x6b, 0x54, 0x31, 0x38, 0x3a, 0x6f, 0x72, 0x64, 0x73, 0x74,\r
+  0x72, 0x65, 0x65, 0x6d, 0x61, 0x6c, 0x6c, 0x36, 0x30, 0x70, 0x78, 0x66, 0x61,\r
+  0x72, 0x6d, 0xe2, 0x80, 0x99, 0x73, 0x62, 0x6f, 0x79, 0x73, 0x5b, 0x30, 0x5d,\r
+  0x2e, 0x27, 0x29, 0x3b, 0x22, 0x50, 0x4f, 0x53, 0x54, 0x62, 0x65, 0x61, 0x72,\r
+  0x6b, 0x69, 0x64, 0x73, 0x29, 0x3b, 0x7d, 0x7d, 0x6d, 0x61, 0x72, 0x79, 0x74,\r
+  0x65, 0x6e, 0x64, 0x28, 0x55, 0x4b, 0x29, 0x71, 0x75, 0x61, 0x64, 0x7a, 0x68,\r
+  0x3a, 0xe6, 0x2d, 0x73, 0x69, 0x7a, 0x2d, 0x2d, 0x2d, 0x2d, 0x70, 0x72, 0x6f,\r
+  0x70, 0x27, 0x29, 0x3b, 0x0d, 0x6c, 0x69, 0x66, 0x74, 0x54, 0x31, 0x39, 0x3a,\r
+  0x76, 0x69, 0x63, 0x65, 0x61, 0x6e, 0x64, 0x79, 0x64, 0x65, 0x62, 0x74, 0x3e,\r
+  0x52, 0x53, 0x53, 0x70, 0x6f, 0x6f, 0x6c, 0x6e, 0x65, 0x63, 0x6b, 0x62, 0x6c,\r
+  0x6f, 0x77, 0x54, 0x31, 0x36, 0x3a, 0x64, 0x6f, 0x6f, 0x72, 0x65, 0x76, 0x61,\r
+  0x6c, 0x54, 0x31, 0x37, 0x3a, 0x6c, 0x65, 0x74, 0x73, 0x66, 0x61, 0x69, 0x6c,\r
+  0x6f, 0x72, 0x61, 0x6c, 0x70, 0x6f, 0x6c, 0x6c, 0x6e, 0x6f, 0x76, 0x61, 0x63,\r
+  0x6f, 0x6c, 0x73, 0x67, 0x65, 0x6e, 0x65, 0x20, 0xe2, 0x80, 0x94, 0x73, 0x6f,\r
+  0x66, 0x74, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6c, 0x6c, 0x72, 0x6f, 0x73,\r
+  0x73, 0x3c, 0x68, 0x33, 0x3e, 0x70, 0x6f, 0x75, 0x72, 0x66, 0x61, 0x64, 0x65,\r
+  0x70, 0x69, 0x6e, 0x6b, 0x3c, 0x74, 0x72, 0x3e, 0x6d, 0x69, 0x6e, 0x69, 0x29,\r
+  0x7c, 0x21, 0x28, 0x6d, 0x69, 0x6e, 0x65, 0x7a, 0x68, 0x3a, 0xe8, 0x62, 0x61,\r
+  0x72, 0x73, 0x68, 0x65, 0x61, 0x72, 0x30, 0x30, 0x29, 0x3b, 0x6d, 0x69, 0x6c,\r
+  0x6b, 0x20, 0x2d, 0x2d, 0x3e, 0x69, 0x72, 0x6f, 0x6e, 0x66, 0x72, 0x65, 0x64,\r
+  0x64, 0x69, 0x73, 0x6b, 0x77, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x69, 0x6c, 0x70,\r
+  0x75, 0x74, 0x73, 0x2f, 0x6a, 0x73, 0x2f, 0x68, 0x6f, 0x6c, 0x79, 0x54, 0x32,\r
+  0x32, 0x3a, 0x49, 0x53, 0x42, 0x4e, 0x54, 0x32, 0x30, 0x3a, 0x61, 0x64, 0x61,\r
+  0x6d, 0x73, 0x65, 0x65, 0x73, 0x3c, 0x68, 0x32, 0x3e, 0x6a, 0x73, 0x6f, 0x6e,\r
+  0x27, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x74, 0x54, 0x32, 0x31, 0x3a, 0x20,\r
+  0x52, 0x53, 0x53, 0x6c, 0x6f, 0x6f, 0x70, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x6f,\r
+  0x6f, 0x6e, 0x3c, 0x2f, 0x70, 0x3e, 0x73, 0x6f, 0x75, 0x6c, 0x4c, 0x49, 0x4e,\r
+  0x45, 0x66, 0x6f, 0x72, 0x74, 0x63, 0x61, 0x72, 0x74, 0x54, 0x31, 0x34, 0x3a,\r
+  0x3c, 0x68, 0x31, 0x3e, 0x38, 0x30, 0x70, 0x78, 0x21, 0x2d, 0x2d, 0x3c, 0x39,\r
+  0x70, 0x78, 0x3b, 0x54, 0x30, 0x34, 0x3a, 0x6d, 0x69, 0x6b, 0x65, 0x3a, 0x34,\r
+  0x36, 0x5a, 0x6e, 0x69, 0x63, 0x65, 0x69, 0x6e, 0x63, 0x68, 0x59, 0x6f, 0x72,\r
+  0x6b, 0x72, 0x69, 0x63, 0x65, 0x7a, 0x68, 0x3a, 0xe4, 0x27, 0x29, 0x29, 0x3b,\r
+  0x70, 0x75, 0x72, 0x65, 0x6d, 0x61, 0x67, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74,\r
+  0x6f, 0x6e, 0x65, 0x62, 0x6f, 0x6e, 0x64, 0x3a, 0x33, 0x37, 0x5a, 0x5f, 0x6f,\r
+  0x66, 0x5f, 0x27, 0x5d, 0x29, 0x3b, 0x30, 0x30, 0x30, 0x2c, 0x7a, 0x68, 0x3a,\r
+  0xe7, 0x74, 0x61, 0x6e, 0x6b, 0x79, 0x61, 0x72, 0x64, 0x62, 0x6f, 0x77, 0x6c,\r
+  0x62, 0x75, 0x73, 0x68, 0x3a, 0x35, 0x36, 0x5a, 0x4a, 0x61, 0x76, 0x61, 0x33,\r
+  0x30, 0x70, 0x78, 0x0a, 0x7c, 0x7d, 0x0a, 0x25, 0x43, 0x33, 0x25, 0x3a, 0x33,\r
+  0x34, 0x5a, 0x6a, 0x65, 0x66, 0x66, 0x45, 0x58, 0x50, 0x49, 0x63, 0x61, 0x73,\r
+  0x68, 0x76, 0x69, 0x73, 0x61, 0x67, 0x6f, 0x6c, 0x66, 0x73, 0x6e, 0x6f, 0x77,\r
+  0x7a, 0x68, 0x3a, 0xe9, 0x71, 0x75, 0x65, 0x72, 0x2e, 0x63, 0x73, 0x73, 0x73,\r
+  0x69, 0x63, 0x6b, 0x6d, 0x65, 0x61, 0x74, 0x6d, 0x69, 0x6e, 0x2e, 0x62, 0x69,\r
+  0x6e, 0x64, 0x64, 0x65, 0x6c, 0x6c, 0x68, 0x69, 0x72, 0x65, 0x70, 0x69, 0x63,\r
+  0x73, 0x72, 0x65, 0x6e, 0x74, 0x3a, 0x33, 0x36, 0x5a, 0x48, 0x54, 0x54, 0x50,\r
+  0x2d, 0x32, 0x30, 0x31, 0x66, 0x6f, 0x74, 0x6f, 0x77, 0x6f, 0x6c, 0x66, 0x45,\r
+  0x4e, 0x44, 0x20, 0x78, 0x62, 0x6f, 0x78, 0x3a, 0x35, 0x34, 0x5a, 0x42, 0x4f,\r
+  0x44, 0x59, 0x64, 0x69, 0x63, 0x6b, 0x3b, 0x0a, 0x7d, 0x0a, 0x65, 0x78, 0x69,\r
+  0x74, 0x3a, 0x33, 0x35, 0x5a, 0x76, 0x61, 0x72, 0x73, 0x62, 0x65, 0x61, 0x74,\r
+  0x27, 0x7d, 0x29, 0x3b, 0x64, 0x69, 0x65, 0x74, 0x39, 0x39, 0x39, 0x3b, 0x61,\r
+  0x6e, 0x6e, 0x65, 0x7d, 0x7d, 0x3c, 0x2f, 0x5b, 0x69, 0x5d, 0x2e, 0x4c, 0x61,\r
+  0x6e, 0x67, 0x6b, 0x6d, 0xc2, 0xb2, 0x77, 0x69, 0x72, 0x65, 0x74, 0x6f, 0x79,\r
+  0x73, 0x61, 0x64, 0x64, 0x73, 0x73, 0x65, 0x61, 0x6c, 0x61, 0x6c, 0x65, 0x78,\r
+  0x3b, 0x0a, 0x09, 0x7d, 0x65, 0x63, 0x68, 0x6f, 0x6e, 0x69, 0x6e, 0x65, 0x2e,\r
+  0x6f, 0x72, 0x67, 0x30, 0x30, 0x35, 0x29, 0x74, 0x6f, 0x6e, 0x79, 0x6a, 0x65,\r
+  0x77, 0x73, 0x73, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x67, 0x73, 0x72, 0x6f, 0x6f,\r
+  0x66, 0x30, 0x30, 0x30, 0x29, 0x20, 0x32, 0x30, 0x30, 0x77, 0x69, 0x6e, 0x65,\r
+  0x67, 0x65, 0x61, 0x72, 0x64, 0x6f, 0x67, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x67,\r
+  0x61, 0x72, 0x79, 0x63, 0x75, 0x74, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x74, 0x65,\r
+  0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x6d, 0x6c, 0x63, 0x6f, 0x63,\r
+  0x6b, 0x67, 0x61, 0x6e, 0x67, 0x24, 0x28, 0x27, 0x2e, 0x35, 0x30, 0x70, 0x78,\r
+  0x50, 0x68, 0x2e, 0x44, 0x6d, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x6e, 0x6c,\r
+  0x6f, 0x61, 0x6e, 0x64, 0x65, 0x73, 0x6b, 0x6d, 0x69, 0x6c, 0x65, 0x72, 0x79,\r
+  0x61, 0x6e, 0x75, 0x6e, 0x69, 0x78, 0x64, 0x69, 0x73, 0x63, 0x29, 0x3b, 0x7d,\r
+  0x0a, 0x64, 0x75, 0x73, 0x74, 0x63, 0x6c, 0x69, 0x70, 0x29, 0x2e, 0x0a, 0x0a,\r
+  0x37, 0x30, 0x70, 0x78, 0x2d, 0x32, 0x30, 0x30, 0x44, 0x56, 0x44, 0x73, 0x37,\r
+  0x5d, 0x3e, 0x3c, 0x74, 0x61, 0x70, 0x65, 0x64, 0x65, 0x6d, 0x6f, 0x69, 0x2b,\r
+  0x2b, 0x29, 0x77, 0x61, 0x67, 0x65, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x68, 0x69,\r
+  0x6c, 0x6f, 0x70, 0x74, 0x73, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x41, 0x51, 0x73,\r
+  0x61, 0x73, 0x69, 0x6e, 0x2d, 0x32, 0x36, 0x54, 0x6c, 0x61, 0x62, 0x73, 0x70,\r
+  0x65, 0x74, 0x73, 0x55, 0x52, 0x4c, 0x20, 0x62, 0x75, 0x6c, 0x6b, 0x63, 0x6f,\r
+  0x6f, 0x6b, 0x3b, 0x7d, 0x0d, 0x0a, 0x48, 0x45, 0x41, 0x44, 0x5b, 0x30, 0x5d,\r
+  0x29, 0x61, 0x62, 0x62, 0x72, 0x6a, 0x75, 0x61, 0x6e, 0x28, 0x31, 0x39, 0x38,\r
+  0x6c, 0x65, 0x73, 0x68, 0x74, 0x77, 0x69, 0x6e, 0x3c, 0x2f, 0x69, 0x3e, 0x73,\r
+  0x6f, 0x6e, 0x79, 0x67, 0x75, 0x79, 0x73, 0x66, 0x75, 0x63, 0x6b, 0x70, 0x69,\r
+  0x70, 0x65, 0x7c, 0x2d, 0x0a, 0x21, 0x30, 0x30, 0x32, 0x29, 0x6e, 0x64, 0x6f,\r
+  0x77, 0x5b, 0x31, 0x5d, 0x3b, 0x5b, 0x5d, 0x3b, 0x0a, 0x4c, 0x6f, 0x67, 0x20,\r
+  0x73, 0x61, 0x6c, 0x74, 0x0d, 0x0a, 0x09, 0x09, 0x62, 0x61, 0x6e, 0x67, 0x74,\r
+  0x72, 0x69, 0x6d, 0x62, 0x61, 0x74, 0x68, 0x29, 0x7b, 0x0d, 0x0a, 0x30, 0x30,\r
+  0x70, 0x78, 0x0a, 0x7d, 0x29, 0x3b, 0x6b, 0x6f, 0x3a, 0xec, 0x66, 0x65, 0x65,\r
+  0x73, 0x61, 0x64, 0x3e, 0x0d, 0x73, 0x3a, 0x2f, 0x2f, 0x20, 0x5b, 0x5d, 0x3b,\r
+  0x74, 0x6f, 0x6c, 0x6c, 0x70, 0x6c, 0x75, 0x67, 0x28, 0x29, 0x7b, 0x0a, 0x7b,\r
+  0x0d, 0x0a, 0x20, 0x2e, 0x6a, 0x73, 0x27, 0x32, 0x30, 0x30, 0x70, 0x64, 0x75,\r
+  0x61, 0x6c, 0x62, 0x6f, 0x61, 0x74, 0x2e, 0x4a, 0x50, 0x47, 0x29, 0x3b, 0x0a,\r
+  0x7d, 0x71, 0x75, 0x6f, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x27, 0x29, 0x3b, 0x0a,\r
+  0x0d, 0x0a, 0x7d, 0x0d, 0x32, 0x30, 0x31, 0x34, 0x32, 0x30, 0x31, 0x35, 0x32,\r
+  0x30, 0x31, 0x36, 0x32, 0x30, 0x31, 0x37, 0x32, 0x30, 0x31, 0x38, 0x32, 0x30,\r
+  0x31, 0x39, 0x32, 0x30, 0x32, 0x30, 0x32, 0x30, 0x32, 0x31, 0x32, 0x30, 0x32,\r
+  0x32, 0x32, 0x30, 0x32, 0x33, 0x32, 0x30, 0x32, 0x34, 0x32, 0x30, 0x32, 0x35,\r
+  0x32, 0x30, 0x32, 0x36, 0x32, 0x30, 0x32, 0x37, 0x32, 0x30, 0x32, 0x38, 0x32,\r
+  0x30, 0x32, 0x39, 0x32, 0x30, 0x33, 0x30, 0x32, 0x30, 0x33, 0x31, 0x32, 0x30,\r
+  0x33, 0x32, 0x32, 0x30, 0x33, 0x33, 0x32, 0x30, 0x33, 0x34, 0x32, 0x30, 0x33,\r
+  0x35, 0x32, 0x30, 0x33, 0x36, 0x32, 0x30, 0x33, 0x37, 0x32, 0x30, 0x31, 0x33,\r
+  0x32, 0x30, 0x31, 0x32, 0x32, 0x30, 0x31, 0x31, 0x32, 0x30, 0x31, 0x30, 0x32,\r
+  0x30, 0x30, 0x39, 0x32, 0x30, 0x30, 0x38, 0x32, 0x30, 0x30, 0x37, 0x32, 0x30,\r
+  0x30, 0x36, 0x32, 0x30, 0x30, 0x35, 0x32, 0x30, 0x30, 0x34, 0x32, 0x30, 0x30,\r
+  0x33, 0x32, 0x30, 0x30, 0x32, 0x32, 0x30, 0x30, 0x31, 0x32, 0x30, 0x30, 0x30,\r
+  0x31, 0x39, 0x39, 0x39, 0x31, 0x39, 0x39, 0x38, 0x31, 0x39, 0x39, 0x37, 0x31,\r
+  0x39, 0x39, 0x36, 0x31, 0x39, 0x39, 0x35, 0x31, 0x39, 0x39, 0x34, 0x31, 0x39,\r
+  0x39, 0x33, 0x31, 0x39, 0x39, 0x32, 0x31, 0x39, 0x39, 0x31, 0x31, 0x39, 0x39,\r
+  0x30, 0x31, 0x39, 0x38, 0x39, 0x31, 0x39, 0x38, 0x38, 0x31, 0x39, 0x38, 0x37,\r
+  0x31, 0x39, 0x38, 0x36, 0x31, 0x39, 0x38, 0x35, 0x31, 0x39, 0x38, 0x34, 0x31,\r
+  0x39, 0x38, 0x33, 0x31, 0x39, 0x38, 0x32, 0x31, 0x39, 0x38, 0x31, 0x31, 0x39,\r
+  0x38, 0x30, 0x31, 0x39, 0x37, 0x39, 0x31, 0x39, 0x37, 0x38, 0x31, 0x39, 0x37,\r
+  0x37, 0x31, 0x39, 0x37, 0x36, 0x31, 0x39, 0x37, 0x35, 0x31, 0x39, 0x37, 0x34,\r
+  0x31, 0x39, 0x37, 0x33, 0x31, 0x39, 0x37, 0x32, 0x31, 0x39, 0x37, 0x31, 0x31,\r
+  0x39, 0x37, 0x30, 0x31, 0x39, 0x36, 0x39, 0x31, 0x39, 0x36, 0x38, 0x31, 0x39,\r
+  0x36, 0x37, 0x31, 0x39, 0x36, 0x36, 0x31, 0x39, 0x36, 0x35, 0x31, 0x39, 0x36,\r
+  0x34, 0x31, 0x39, 0x36, 0x33, 0x31, 0x39, 0x36, 0x32, 0x31, 0x39, 0x36, 0x31,\r
+  0x31, 0x39, 0x36, 0x30, 0x31, 0x39, 0x35, 0x39, 0x31, 0x39, 0x35, 0x38, 0x31,\r
+  0x39, 0x35, 0x37, 0x31, 0x39, 0x35, 0x36, 0x31, 0x39, 0x35, 0x35, 0x31, 0x39,\r
+  0x35, 0x34, 0x31, 0x39, 0x35, 0x33, 0x31, 0x39, 0x35, 0x32, 0x31, 0x39, 0x35,\r
+  0x31, 0x31, 0x39, 0x35, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x34,\r
+  0x31, 0x33, 0x39, 0x34, 0x30, 0x30, 0x30, 0x30, 0x39, 0x39, 0x39, 0x39, 0x63,\r
+  0x6f, 0x6d, 0x6f, 0x6d, 0xc3, 0xa1, 0x73, 0x65, 0x73, 0x74, 0x65, 0x65, 0x73,\r
+  0x74, 0x61, 0x70, 0x65, 0x72, 0x6f, 0x74, 0x6f, 0x64, 0x6f, 0x68, 0x61, 0x63,\r
+  0x65, 0x63, 0x61, 0x64, 0x61, 0x61, 0xc3, 0xb1, 0x6f, 0x62, 0x69, 0x65, 0x6e,\r
+  0x64, 0xc3, 0xad, 0x61, 0x61, 0x73, 0xc3, 0xad, 0x76, 0x69, 0x64, 0x61, 0x63,\r
+  0x61, 0x73, 0x6f, 0x6f, 0x74, 0x72, 0x6f, 0x66, 0x6f, 0x72, 0x6f, 0x73, 0x6f,\r
+  0x6c, 0x6f, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x75, 0x61, 0x6c, 0x64, 0x69, 0x6a,\r
+  0x6f, 0x73, 0x69, 0x64, 0x6f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x70, 0x6f,\r
+  0x74, 0x65, 0x6d, 0x61, 0x64, 0x65, 0x62, 0x65, 0x61, 0x6c, 0x67, 0x6f, 0x71,\r
+  0x75, 0xc3, 0xa9, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x61, 0x64, 0x61, 0x74, 0x72,\r
+  0x65, 0x73, 0x70, 0x6f, 0x63, 0x6f, 0x63, 0x61, 0x73, 0x61, 0x62, 0x61, 0x6a,\r
+  0x6f, 0x74, 0x6f, 0x64, 0x61, 0x73, 0x69, 0x6e, 0x6f, 0x61, 0x67, 0x75, 0x61,\r
+  0x70, 0x75, 0x65, 0x73, 0x75, 0x6e, 0x6f, 0x73, 0x61, 0x6e, 0x74, 0x65, 0x64,\r
+  0x69, 0x63, 0x65, 0x6c, 0x75, 0x69, 0x73, 0x65, 0x6c, 0x6c, 0x61, 0x6d, 0x61,\r
+  0x79, 0x6f, 0x7a, 0x6f, 0x6e, 0x61, 0x61, 0x6d, 0x6f, 0x72, 0x70, 0x69, 0x73,\r
+  0x6f, 0x6f, 0x62, 0x72, 0x61, 0x63, 0x6c, 0x69, 0x63, 0x65, 0x6c, 0x6c, 0x6f,\r
+  0x64, 0x69, 0x6f, 0x73, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x61, 0x73, 0x69, 0xd0,\r
+  0xb7, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x80,\r
+  0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0,\r
+  0xb5, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb7,\r
+  0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0,\r
+  0xb6, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0x9d,\r
+  0xd0, 0xb0, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbc, 0xd1,\r
+  0x8b, 0xd0, 0x92, 0xd1, 0x8b, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b,\r
+  0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0,\r
+  0x9f, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xa0,\r
+  0xd0, 0xa4, 0xd0, 0x9d, 0xd0, 0xb5, 0xd0, 0x9c, 0xd1, 0x8b, 0xd1, 0x82, 0xd1,\r
+  0x8b, 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb4, 0xd0, 0xb0,\r
+  0xd0, 0x97, 0xd0, 0xb0, 0xd0, 0x94, 0xd0, 0xb0, 0xd0, 0x9d, 0xd1, 0x83, 0xd0,\r
+  0x9e, 0xd0, 0xb1, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0x98, 0xd0, 0xb7, 0xd0, 0xb5,\r
+  0xd0, 0xb9, 0xd0, 0xbd, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xa2, 0xd1,\r
+  0x8b, 0xd1, 0x83, 0xd0, 0xb6, 0xd9, 0x81, 0xd9, 0x8a, 0xd8, 0xa3, 0xd9, 0x86,\r
+  0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x83, 0xd9, 0x84, 0xd8,\r
+  0xa3, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x81,\r
+  0xd9, 0x89, 0xd9, 0x87, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9,\r
+  0x83, 0xd8, 0xa7, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa8, 0xd8, 0xb3,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd9, 0x86, 0xd9, 0x87, 0xd9, 0x8a, 0xd8,\r
+  0xa3, 0xd9, 0x8a, 0xd9, 0x82, 0xd8, 0xaf, 0xd9, 0x87, 0xd9, 0x84, 0xd8, 0xab,\r
+  0xd9, 0x85, 0xd8, 0xa8, 0xd9, 0x87, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x84, 0xd9,\r
+  0x8a, 0xd8, 0xa8, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x8a, 0xd8, 0xa8, 0xd9, 0x83,\r
+  0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa3, 0xd9, 0x85, 0xd9,\r
+  0x86, 0xd8, 0xaa, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x84, 0xd9, 0x86, 0xd8, 0xad,\r
+  0xd8, 0xa8, 0xd9, 0x87, 0xd9, 0x85, 0xd9, 0x85, 0xd8, 0xb4, 0xd9, 0x88, 0xd8,\r
+  0xb4, 0x66, 0x69, 0x72, 0x73, 0x74, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x69,\r
+  0x67, 0x68, 0x74, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6d, 0x65, 0x64, 0x69, 0x61,\r
+  0x77, 0x68, 0x69, 0x74, 0x65, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x62, 0x6c, 0x61,\r
+  0x63, 0x6b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x62,\r
+  0x6f, 0x6f, 0x6b, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x75, 0x73, 0x69,\r
+  0x63, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x70, 0x6f,\r
+  0x69, 0x6e, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c,\r
+  0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x68, 0x6f, 0x75,\r
+  0x73, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x79,\r
+  0x65, 0x61, 0x72, 0x73, 0x73, 0x74, 0x61, 0x74, 0x65, 0x74, 0x6f, 0x64, 0x61,\r
+  0x79, 0x77, 0x61, 0x74, 0x65, 0x72, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x64, 0x65, 0x61, 0x74, 0x68, 0x70, 0x6f, 0x77, 0x65, 0x72,\r
+  0x70, 0x68, 0x6f, 0x6e, 0x65, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x72,\r
+  0x6f, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x74,\r
+  0x65, 0x72, 0x6d, 0x73, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x74, 0x6f, 0x6f, 0x6c,\r
+  0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x74, 0x69,\r
+  0x6d, 0x65, 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x77, 0x6f, 0x72, 0x64, 0x73,\r
+  0x67, 0x61, 0x6d, 0x65, 0x73, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x73, 0x70, 0x61,\r
+  0x63, 0x65, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x6d,\r
+  0x6f, 0x64, 0x65, 0x6c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x67, 0x75, 0x69, 0x64,\r
+  0x65, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x77, 0x6f,\r
+  0x6d, 0x65, 0x6e, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x6d, 0x6f, 0x6e, 0x65, 0x79,\r
+  0x69, 0x6d, 0x61, 0x67, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x79, 0x6f, 0x75,\r
+  0x6e, 0x67, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x63,\r
+  0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x66, 0x72, 0x6f, 0x6e,\r
+  0x74, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x66, 0x6f,\r
+  0x72, 0x63, 0x65, 0x70, 0x72, 0x69, 0x63, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73,\r
+  0x62, 0x65, 0x67, 0x69, 0x6e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x76, 0x69, 0x73,\r
+  0x69, 0x74, 0x69, 0x73, 0x73, 0x75, 0x65, 0x61, 0x72, 0x65, 0x61, 0x73, 0x62,\r
+  0x65, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x74, 0x6f, 0x74, 0x61,\r
+  0x6c, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x70, 0x72,\r
+  0x69, 0x6e, 0x74, 0x70, 0x72, 0x65, 0x73, 0x73, 0x62, 0x75, 0x69, 0x6c, 0x74,\r
+  0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x73, 0x70, 0x65, 0x65, 0x64, 0x73, 0x74, 0x75,\r
+  0x64, 0x79, 0x74, 0x72, 0x61, 0x64, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x73,\r
+  0x65, 0x6e, 0x73, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x77,\r
+  0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x61, 0x64,\r
+  0x64, 0x65, 0x64, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x6d, 0x6f, 0x76, 0x65, 0x64,\r
+  0x74, 0x61, 0x6b, 0x65, 0x6e, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x66, 0x6c, 0x61,\r
+  0x73, 0x68, 0x66, 0x69, 0x78, 0x65, 0x64, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x6f,\r
+  0x74, 0x68, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x63,\r
+  0x6b, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x72, 0x69, 0x76, 0x65, 0x72, 0x69, 0x74,\r
+  0x65, 0x6d, 0x73, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x73, 0x68, 0x61, 0x70, 0x65,\r
+  0x68, 0x75, 0x6d, 0x61, 0x6e, 0x65, 0x78, 0x69, 0x73, 0x74, 0x67, 0x6f, 0x69,\r
+  0x6e, 0x67, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x74, 0x68, 0x69, 0x72, 0x64, 0x62,\r
+  0x61, 0x73, 0x69, 0x63, 0x70, 0x65, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x67,\r
+  0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x69, 0x64,\r
+  0x65, 0x61, 0x73, 0x77, 0x72, 0x6f, 0x74, 0x65, 0x70, 0x61, 0x67, 0x65, 0x73,\r
+  0x75, 0x73, 0x65, 0x72, 0x73, 0x64, 0x72, 0x69, 0x76, 0x65, 0x73, 0x74, 0x6f,\r
+  0x72, 0x65, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x76,\r
+  0x6f, 0x69, 0x63, 0x65, 0x73, 0x69, 0x74, 0x65, 0x73, 0x6d, 0x6f, 0x6e, 0x74,\r
+  0x68, 0x77, 0x68, 0x65, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x77, 0x68,\r
+  0x69, 0x63, 0x68, 0x65, 0x61, 0x72, 0x74, 0x68, 0x66, 0x6f, 0x72, 0x75, 0x6d,\r
+  0x74, 0x68, 0x72, 0x65, 0x65, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x70, 0x61, 0x72,\r
+  0x74, 0x79, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x6c,\r
+  0x69, 0x76, 0x65, 0x73, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x61, 0x79, 0x65,\r
+  0x72, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x75, 0x73,\r
+  0x61, 0x67, 0x65, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x63, 0x6f, 0x75, 0x72, 0x74,\r
+  0x79, 0x6f, 0x75, 0x72, 0x20, 0x62, 0x69, 0x72, 0x74, 0x68, 0x70, 0x6f, 0x70,\r
+  0x75, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49,\r
+  0x6d, 0x61, 0x67, 0x65, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x75, 0x70, 0x70, 0x65,\r
+  0x72, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x65, 0x76, 0x65, 0x72, 0x79, 0x73, 0x68,\r
+  0x6f, 0x77, 0x73, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x65, 0x78, 0x74, 0x72, 0x61,\r
+  0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x6b, 0x6e, 0x6f,\r
+  0x77, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x62, 0x65, 0x67, 0x61, 0x6e, 0x73,\r
+  0x75, 0x70, 0x65, 0x72, 0x70, 0x61, 0x70, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x74,\r
+  0x68, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x6e, 0x61,\r
+  0x6d, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x72, 0x6d, 0x73,\r
+  0x70, 0x61, 0x72, 0x74, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x62, 0x72, 0x61,\r
+  0x6e, 0x64, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x66,\r
+  0x61, 0x6c, 0x73, 0x65, 0x72, 0x65, 0x61, 0x64, 0x79, 0x61, 0x75, 0x64, 0x69,\r
+  0x6f, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x2e, 0x63,\r
+  0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x63, 0x61, 0x73, 0x65, 0x73,\r
+  0x64, 0x61, 0x69, 0x6c, 0x79, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x67, 0x72, 0x65,\r
+  0x61, 0x74, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x75,\r
+  0x6e, 0x69, 0x74, 0x73, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x62, 0x72, 0x6f, 0x61,\r
+  0x64, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x70,\r
+  0x70, 0x6c, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x63, 0x79, 0x63, 0x6c, 0x65,\r
+  0x73, 0x63, 0x65, 0x6e, 0x65, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x63, 0x6c, 0x69,\r
+  0x63, 0x6b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x71, 0x75, 0x65, 0x65, 0x6e, 0x70,\r
+  0x69, 0x65, 0x63, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x66, 0x72, 0x61, 0x6d,\r
+  0x65, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x6c, 0x69,\r
+  0x6d, 0x69, 0x74, 0x63, 0x61, 0x63, 0x68, 0x65, 0x63, 0x69, 0x76, 0x69, 0x6c,\r
+  0x73, 0x63, 0x61, 0x6c, 0x65, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x68, 0x65,\r
+  0x6d, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x62,\r
+  0x6f, 0x75, 0x6e, 0x64, 0x72, 0x6f, 0x79, 0x61, 0x6c, 0x61, 0x73, 0x6b, 0x65,\r
+  0x64, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x74,\r
+  0x6f, 0x63, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x61, 0x69, 0x74, 0x68,\r
+  0x68, 0x65, 0x61, 0x72, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x6f, 0x66, 0x66,\r
+  0x65, 0x72, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x6d,\r
+  0x69, 0x67, 0x68, 0x74, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x74, 0x68, 0x69, 0x6e,\r
+  0x6b, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x61, 0x72, 0x72, 0x61, 0x79, 0x6d, 0x61,\r
+  0x6a, 0x6f, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x63, 0x61, 0x6e, 0x6f, 0x6e,\r
+  0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x76, 0x61, 0x6c,\r
+  0x69, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x4c,\r
+  0x6f, 0x67, 0x69, 0x6e, 0x68, 0x61, 0x70, 0x70, 0x79, 0x6f, 0x63, 0x63, 0x75,\r
+  0x72, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x66, 0x72, 0x65, 0x73, 0x68, 0x71, 0x75,\r
+  0x69, 0x74, 0x65, 0x66, 0x69, 0x6c, 0x6d, 0x73, 0x67, 0x72, 0x61, 0x64, 0x65,\r
+  0x6e, 0x65, 0x65, 0x64, 0x73, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x66, 0x69, 0x67,\r
+  0x68, 0x74, 0x62, 0x61, 0x73, 0x69, 0x73, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x61,\r
+  0x75, 0x74, 0x6f, 0x3b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x68, 0x74, 0x6d,\r
+  0x6c, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x59, 0x6f,\r
+  0x75, 0x72, 0x20, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x74, 0x6f, 0x70, 0x69, 0x63,\r
+  0x62, 0x72, 0x6f, 0x77, 0x6e, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x64, 0x72, 0x61,\r
+  0x77, 0x6e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x72, 0x65, 0x61, 0x63, 0x68, 0x52,\r
+  0x69, 0x67, 0x68, 0x74, 0x64, 0x61, 0x74, 0x65, 0x73, 0x6d, 0x61, 0x72, 0x63,\r
+  0x68, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69,\r
+  0x6e, 0x6b, 0x73, 0x64, 0x6f, 0x75, 0x62, 0x74, 0x61, 0x73, 0x79, 0x6e, 0x63,\r
+  0x74, 0x68, 0x75, 0x6d, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x63, 0x68, 0x69,\r
+  0x65, 0x66, 0x79, 0x6f, 0x75, 0x74, 0x68, 0x6e, 0x6f, 0x76, 0x65, 0x6c, 0x31,\r
+  0x30, 0x70, 0x78, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x75, 0x6e, 0x74, 0x69,\r
+  0x6c, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70,\r
+  0x61, 0x63, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x6a, 0x61, 0x6d, 0x65, 0x73,\r
+  0x65, 0x71, 0x75, 0x61, 0x6c, 0x74, 0x77, 0x69, 0x63, 0x65, 0x30, 0x2c, 0x30,\r
+  0x30, 0x30, 0x53, 0x74, 0x61, 0x72, 0x74, 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x73,\r
+  0x6f, 0x6e, 0x67, 0x73, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x69, 0x67, 0x68,\r
+  0x74, 0x73, 0x68, 0x69, 0x66, 0x74, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x70, 0x6f,\r
+  0x73, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x77, 0x65, 0x65, 0x6b, 0x73,\r
+  0x61, 0x76, 0x6f, 0x69, 0x64, 0x74, 0x68, 0x65, 0x73, 0x65, 0x6d, 0x69, 0x6c,\r
+  0x65, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x61,\r
+  0x6c, 0x70, 0x68, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x6d, 0x61, 0x72, 0x6b,\r
+  0x73, 0x72, 0x61, 0x74, 0x65, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x63, 0x6c,\r
+  0x61, 0x69, 0x6d, 0x73, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x65, 0x78, 0x74, 0x73,\r
+  0x73, 0x74, 0x61, 0x72, 0x73, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x3c, 0x2f, 0x68,\r
+  0x33, 0x3e, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6d,\r
+  0x75, 0x6c, 0x74, 0x69, 0x68, 0x65, 0x61, 0x72, 0x64, 0x50, 0x6f, 0x77, 0x65,\r
+  0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x6f,\r
+  0x6c, 0x69, 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x62, 0x72, 0x69, 0x6e, 0x67,\r
+  0x73, 0x68, 0x69, 0x70, 0x73, 0x73, 0x74, 0x61, 0x66, 0x66, 0x74, 0x72, 0x69,\r
+  0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x66,\r
+  0x61, 0x63, 0x74, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x69, 0x73,\r
+  0x20, 0x2f, 0x2f, 0x2d, 0x2d, 0x3e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x65, 0x67,\r
+  0x79, 0x70, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x31, 0x35, 0x70, 0x78, 0x3b,\r
+  0x45, 0x6d, 0x61, 0x69, 0x6c, 0x74, 0x72, 0x75, 0x65, 0x22, 0x63, 0x72, 0x6f,\r
+  0x73, 0x73, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x62, 0x6c, 0x6f, 0x67, 0x73, 0x62,\r
+  0x6f, 0x78, 0x22, 0x3e, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x6c, 0x65, 0x61, 0x76,\r
+  0x65, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x67, 0x75,\r
+  0x65, 0x73, 0x74, 0x3c, 0x2f, 0x68, 0x34, 0x3e, 0x72, 0x6f, 0x62, 0x6f, 0x74,\r
+  0x68, 0x65, 0x61, 0x76, 0x79, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x73, 0x65, 0x76,\r
+  0x65, 0x6e, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x63, 0x72, 0x69, 0x6d, 0x65, 0x73,\r
+  0x69, 0x67, 0x6e, 0x73, 0x61, 0x77, 0x61, 0x72, 0x65, 0x64, 0x61, 0x6e, 0x63,\r
+  0x65, 0x70, 0x68, 0x61, 0x73, 0x65, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x65, 0x6e,\r
+  0x5f, 0x55, 0x53, 0x26, 0x23, 0x33, 0x39, 0x3b, 0x32, 0x30, 0x30, 0x70, 0x78,\r
+  0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x6a,\r
+  0x6f, 0x79, 0x61, 0x6a, 0x61, 0x78, 0x2e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x6d, 0x69, 0x74, 0x68, 0x55, 0x2e, 0x53, 0x2e, 0x20, 0x68, 0x6f, 0x6c, 0x64,\r
+  0x73, 0x70, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61,\r
+  0x76, 0x22, 0x3e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x6f, 0x72, 0x65,\r
+  0x63, 0x6f, 0x6d, 0x65, 0x73, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x69,\r
+  0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x31, 0x39, 0x39, 0x30, 0x73, 0x72,\r
+  0x6f, 0x6d, 0x61, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x6a, 0x61, 0x70, 0x61,\r
+  0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x6f, 0x77,\r
+  0x6e, 0x65, 0x72, 0x61, 0x67, 0x72, 0x65, 0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e,\r
+  0x61, 0x62, 0x75, 0x73, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x6f, 0x70, 0x65,\r
+  0x72, 0x61, 0x22, 0x2d, 0x2f, 0x2f, 0x57, 0x63, 0x61, 0x72, 0x64, 0x73, 0x68,\r
+  0x69, 0x6c, 0x6c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x50, 0x68, 0x6f, 0x74,\r
+  0x6f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x2e, 0x70,\r
+  0x68, 0x70, 0x3f, 0x73, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x6c,\r
+  0x6c, 0x6f, 0x75, 0x69, 0x73, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x70, 0x72, 0x6f,\r
+  0x6f, 0x66, 0x62, 0x72, 0x69, 0x65, 0x66, 0x72, 0x6f, 0x77, 0x22, 0x3e, 0x67,\r
+  0x65, 0x6e, 0x72, 0x65, 0x74, 0x72, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6b,\r
+  0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x6e,\r
+  0x65, 0x74, 0x2f, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x74, 0x72, 0x79, 0x20, 0x7b,\r
+  0x0a, 0x76, 0x61, 0x72, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x63, 0x6f, 0x73,\r
+  0x74, 0x73, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x71,\r
+  0x75, 0x65, 0x73, 0x74, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x6c, 0x61, 0x62, 0x6f,\r
+  0x72, 0x68, 0x65, 0x6c, 0x70, 0x73, 0x63, 0x61, 0x75, 0x73, 0x65, 0x6d, 0x61,\r
+  0x67, 0x69, 0x63, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x69, 0x72,\r
+  0x32, 0x35, 0x30, 0x70, 0x78, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x73, 0x74, 0x65,\r
+  0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x67,\r
+  0x6c, 0x61, 0x73, 0x73, 0x73, 0x69, 0x64, 0x65, 0x73, 0x66, 0x75, 0x6e, 0x64,\r
+  0x73, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x61, 0x77, 0x61, 0x72, 0x64, 0x6d, 0x6f,\r
+  0x75, 0x74, 0x68, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x70, 0x61, 0x72, 0x69, 0x73,\r
+  0x67, 0x69, 0x76, 0x65, 0x73, 0x64, 0x75, 0x74, 0x63, 0x68, 0x74, 0x65, 0x78,\r
+  0x61, 0x73, 0x66, 0x72, 0x75, 0x69, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x2c, 0x7c,\r
+  0x7c, 0x5b, 0x5d, 0x3b, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x0a, 0x3c, 0x21, 0x2d,\r
+  0x2d, 0x50, 0x4f, 0x53, 0x54, 0x22, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x3c, 0x62,\r
+  0x72, 0x2f, 0x3e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x73, 0x70, 0x65, 0x61, 0x6b,\r
+  0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x62, 0x61, 0x6e,\r
+  0x6b, 0x73, 0x63, 0x61, 0x74, 0x63, 0x68, 0x63, 0x68, 0x61, 0x72, 0x74, 0x32,\r
+  0x30, 0x70, 0x78, 0x3b, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x64, 0x65, 0x61, 0x6c,\r
+  0x73, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x75, 0x72,\r
+  0x6c, 0x3d, 0x22, 0x70, 0x61, 0x72, 0x6b, 0x73, 0x6d, 0x6f, 0x75, 0x73, 0x65,\r
+  0x4d, 0x6f, 0x73, 0x74, 0x20, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x61, 0x6d, 0x6f,\r
+  0x6e, 0x67, 0x62, 0x72, 0x61, 0x69, 0x6e, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6e,\r
+  0x6f, 0x6e, 0x65, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x64, 0x63, 0x61, 0x72, 0x72,\r
+  0x79, 0x64, 0x72, 0x61, 0x66, 0x74, 0x72, 0x65, 0x66, 0x65, 0x72, 0x70, 0x61,\r
+  0x67, 0x65, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x2e, 0x6d, 0x65, 0x74, 0x65, 0x72,\r
+  0x64, 0x65, 0x6c, 0x61, 0x79, 0x64, 0x72, 0x65, 0x61, 0x6d, 0x70, 0x72, 0x6f,\r
+  0x76, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x64,\r
+  0x72, 0x75, 0x67, 0x73, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x61, 0x70, 0x72, 0x69,\r
+  0x6c, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x65, 0x78,\r
+  0x61, 0x63, 0x74, 0x66, 0x6f, 0x72, 0x74, 0x68, 0x63, 0x6f, 0x64, 0x65, 0x73,\r
+  0x6c, 0x6f, 0x67, 0x69, 0x63, 0x56, 0x69, 0x65, 0x77, 0x20, 0x73, 0x65, 0x65,\r
+  0x6d, 0x73, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20,\r
+  0x28, 0x32, 0x30, 0x30, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e,\r
+  0x6b, 0x67, 0x6f, 0x61, 0x6c, 0x73, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x67, 0x72,\r
+  0x65, 0x65, 0x6b, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0x72, 0x69, 0x6e, 0x67, 0x73,\r
+  0x72, 0x61, 0x74, 0x65, 0x64, 0x33, 0x30, 0x70, 0x78, 0x3b, 0x77, 0x68, 0x6f,\r
+  0x73, 0x65, 0x70, 0x61, 0x72, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x22, 0x20, 0x42,\r
+  0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x6a, 0x6f, 0x6e, 0x65,\r
+  0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x27, 0x29, 0x3b, 0x22, 0x3e, 0x29, 0x3b,\r
+  0x69, 0x66, 0x28, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x64, 0x61, 0x76, 0x69, 0x64,\r
+  0x68, 0x6f, 0x72, 0x73, 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x72, 0x61, 0x69,\r
+  0x73, 0x65, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x2f, 0x65, 0x6d, 0x3e, 0x62, 0x61, 0x72, 0x22,\r
+  0x3e, 0x2e, 0x73, 0x72, 0x63, 0x3d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x61, 0x6c,\r
+  0x74, 0x3d, 0x22, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x68, 0x65, 0x6e, 0x72, 0x79,\r
+  0x32, 0x34, 0x70, 0x78, 0x3b, 0x73, 0x65, 0x74, 0x75, 0x70, 0x69, 0x74, 0x61,\r
+  0x6c, 0x79, 0x73, 0x68, 0x61, 0x72, 0x70, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x74,\r
+  0x61, 0x73, 0x74, 0x65, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x74, 0x68, 0x69, 0x73,\r
+  0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x67, 0x69,\r
+  0x72, 0x6c, 0x73, 0x2f, 0x63, 0x73, 0x73, 0x2f, 0x31, 0x30, 0x30, 0x25, 0x3b,\r
+  0x63, 0x6c, 0x75, 0x62, 0x73, 0x73, 0x74, 0x75, 0x66, 0x66, 0x62, 0x69, 0x62,\r
+  0x6c, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x6b,\r
+  0x6f, 0x72, 0x65, 0x61, 0x7d, 0x29, 0x3b, 0x0d, 0x0a, 0x62, 0x61, 0x6e, 0x64,\r
+  0x73, 0x71, 0x75, 0x65, 0x75, 0x65, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x38, 0x30,\r
+  0x70, 0x78, 0x3b, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x7b, 0x0d, 0x0a, 0x09, 0x09,\r
+  0x61, 0x68, 0x65, 0x61, 0x64, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x72, 0x69,\r
+  0x73, 0x68, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x73,\r
+  0x74, 0x61, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x22, 0x79, 0x61, 0x68, 0x6f,\r
+  0x6f, 0x29, 0x5b, 0x30, 0x5d, 0x3b, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x66, 0x69,\r
+  0x6e, 0x64, 0x73, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x64, 0x65, 0x62, 0x75, 0x67,\r
+  0x74, 0x61, 0x73, 0x6b, 0x73, 0x55, 0x52, 0x4c, 0x20, 0x3d, 0x63, 0x65, 0x6c,\r
+  0x6c, 0x73, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x31, 0x32, 0x70, 0x78, 0x3b, 0x70,\r
+  0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x6c, 0x6c, 0x73, 0x74, 0x75, 0x72, 0x6e,\r
+  0x73, 0x30, 0x78, 0x36, 0x30, 0x30, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x73, 0x70,\r
+  0x61, 0x69, 0x6e, 0x62, 0x65, 0x61, 0x63, 0x68, 0x74, 0x61, 0x78, 0x65, 0x73,\r
+  0x6d, 0x69, 0x63, 0x72, 0x6f, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x2d, 0x2d, 0x3e,\r
+  0x3c, 0x2f, 0x67, 0x69, 0x66, 0x74, 0x73, 0x73, 0x74, 0x65, 0x76, 0x65, 0x2d,\r
+  0x6c, 0x69, 0x6e, 0x6b, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x7d, 0x29, 0x3b, 0x0a,\r
+  0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x28, 0x31, 0x39, 0x39, 0x46, 0x41,\r
+  0x51, 0x3c, 0x2f, 0x72, 0x6f, 0x67, 0x65, 0x72, 0x66, 0x72, 0x61, 0x6e, 0x6b,\r
+  0x43, 0x6c, 0x61, 0x73, 0x73, 0x32, 0x38, 0x70, 0x78, 0x3b, 0x66, 0x65, 0x65,\r
+  0x64, 0x73, 0x3c, 0x68, 0x31, 0x3e, 0x3c, 0x73, 0x63, 0x6f, 0x74, 0x74, 0x74,\r
+  0x65, 0x73, 0x74, 0x73, 0x32, 0x32, 0x70, 0x78, 0x3b, 0x64, 0x72, 0x69, 0x6e,\r
+  0x6b, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x6c, 0x65, 0x77, 0x69, 0x73, 0x73, 0x68,\r
+  0x61, 0x6c, 0x6c, 0x23, 0x30, 0x33, 0x39, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20,\r
+  0x6c, 0x6f, 0x76, 0x65, 0x64, 0x77, 0x61, 0x73, 0x74, 0x65, 0x30, 0x30, 0x70,\r
+  0x78, 0x3b, 0x6a, 0x61, 0x3a, 0xe3, 0x82, 0x73, 0x69, 0x6d, 0x6f, 0x6e, 0x3c,\r
+  0x66, 0x6f, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x6d, 0x65, 0x65, 0x74,\r
+  0x73, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x65, 0x61, 0x70, 0x74, 0x69,\r
+  0x67, 0x68, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x29, 0x20, 0x21, 0x3d, 0x20,\r
+  0x64, 0x72, 0x65, 0x73, 0x73, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x72, 0x6f, 0x6f,\r
+  0x6d, 0x73, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x6d,\r
+  0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x74,\r
+  0x65, 0x66, 0x75, 0x6e, 0x6e, 0x79, 0x74, 0x72, 0x65, 0x65, 0x73, 0x63, 0x6f,\r
+  0x6d, 0x2f, 0x22, 0x31, 0x2e, 0x6a, 0x70, 0x67, 0x77, 0x6d, 0x6f, 0x64, 0x65,\r
+  0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x6c, 0x65, 0x66,\r
+  0x74, 0x20, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x2c, 0x20, 0x32, 0x30, 0x31, 0x29,\r
+  0x3b, 0x0a, 0x7d, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x69, 0x72, 0x75,\r
+  0x73, 0x63, 0x68, 0x61, 0x69, 0x72, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x77, 0x6f,\r
+  0x72, 0x73, 0x74, 0x50, 0x61, 0x67, 0x65, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x70, 0x61, 0x74, 0x63, 0x68, 0x3c, 0x21, 0x2d, 0x2d, 0x0a, 0x6f, 0x2d, 0x63,\r
+  0x61, 0x63, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x74, 0x6f, 0x75, 0x72, 0x73, 0x2c,\r
+  0x30, 0x30, 0x30, 0x20, 0x61, 0x73, 0x69, 0x61, 0x6e, 0x69, 0x2b, 0x2b, 0x29,\r
+  0x7b, 0x61, 0x64, 0x6f, 0x62, 0x65, 0x27, 0x29, 0x5b, 0x30, 0x5d, 0x69, 0x64,\r
+  0x3d, 0x31, 0x30, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x6d, 0x65, 0x6e, 0x75, 0x20,\r
+  0x2e, 0x32, 0x2e, 0x6d, 0x69, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x6b, 0x65, 0x76,\r
+  0x69, 0x6e, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x62,\r
+  0x72, 0x75, 0x63, 0x65, 0x32, 0x2e, 0x6a, 0x70, 0x67, 0x55, 0x52, 0x4c, 0x29,\r
+  0x2b, 0x2e, 0x6a, 0x70, 0x67, 0x7c, 0x73, 0x75, 0x69, 0x74, 0x65, 0x73, 0x6c,\r
+  0x69, 0x63, 0x65, 0x68, 0x61, 0x72, 0x72, 0x79, 0x31, 0x32, 0x30, 0x22, 0x20,\r
+  0x73, 0x77, 0x65, 0x65, 0x74, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x3d, 0x64, 0x69, 0x65, 0x67, 0x6f, 0x70, 0x61, 0x67, 0x65, 0x20, 0x73,\r
+  0x77, 0x69, 0x73, 0x73, 0x2d, 0x2d, 0x3e, 0x0a, 0x0a, 0x23, 0x66, 0x66, 0x66,\r
+  0x3b, 0x22, 0x3e, 0x4c, 0x6f, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x74, 0x72,\r
+  0x65, 0x61, 0x74, 0x73, 0x68, 0x65, 0x65, 0x74, 0x29, 0x20, 0x26, 0x26, 0x20,\r
+  0x31, 0x34, 0x70, 0x78, 0x3b, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x6e, 0x74, 0x65,\r
+  0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x64, 0x6a, 0x61, 0x3a, 0xe3, 0x83, 0x69,\r
+  0x64, 0x3d, 0x22, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x77, 0x6f, 0x72, 0x73,\r
+  0x65, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2d, 0x62, 0x6f, 0x78, 0x2d, 0x64, 0x65,\r
+  0x6c, 0x74, 0x61, 0x0a, 0x26, 0x6c, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x73,\r
+  0x3a, 0x34, 0x38, 0x5a, 0x3c, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x75, 0x72,\r
+  0x61, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x62,\r
+  0x61, 0x6b, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x70, 0x73, 0x3d, 0x20, 0x22, 0x22,\r
+  0x3b, 0x70, 0x68, 0x70, 0x22, 0x3e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x33,\r
+  0x70, 0x78, 0x3b, 0x62, 0x72, 0x69, 0x61, 0x6e, 0x68, 0x65, 0x6c, 0x6c, 0x6f,\r
+  0x73, 0x69, 0x7a, 0x65, 0x3d, 0x6f, 0x3d, 0x25, 0x32, 0x46, 0x20, 0x6a, 0x6f,\r
+  0x69, 0x6e, 0x6d, 0x61, 0x79, 0x62, 0x65, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x69,\r
+  0x6d, 0x67, 0x22, 0x3e, 0x2c, 0x20, 0x66, 0x6a, 0x73, 0x69, 0x6d, 0x67, 0x22,\r
+  0x20, 0x22, 0x29, 0x5b, 0x30, 0x5d, 0x4d, 0x54, 0x6f, 0x70, 0x42, 0x54, 0x79,\r
+  0x70, 0x65, 0x22, 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x44, 0x61, 0x6e, 0x73, 0x6b,\r
+  0x63, 0x7a, 0x65, 0x63, 0x68, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x6b, 0x6e, 0x6f,\r
+  0x77, 0x73, 0x3c, 0x2f, 0x68, 0x35, 0x3e, 0x66, 0x61, 0x71, 0x22, 0x3e, 0x7a,\r
+  0x68, 0x2d, 0x63, 0x6e, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x2d, 0x31, 0x22, 0x29,\r
+  0x3b, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x74, 0x72,\r
+  0x75, 0x6c, 0x79, 0x64, 0x61, 0x76, 0x69, 0x73, 0x2e, 0x6a, 0x73, 0x27, 0x3b,\r
+  0x3e, 0x0d, 0x0a, 0x3c, 0x21, 0x73, 0x74, 0x65, 0x65, 0x6c, 0x20, 0x79, 0x6f,\r
+  0x75, 0x20, 0x68, 0x32, 0x3e, 0x0d, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6a,\r
+  0x65, 0x73, 0x75, 0x73, 0x31, 0x30, 0x30, 0x25, 0x20, 0x6d, 0x65, 0x6e, 0x75,\r
+  0x2e, 0x0d, 0x0a, 0x09, 0x0d, 0x0a, 0x77, 0x61, 0x6c, 0x65, 0x73, 0x72, 0x69,\r
+  0x73, 0x6b, 0x73, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x64, 0x69, 0x6e, 0x67,\r
+  0x62, 0x2d, 0x6c, 0x69, 0x6b, 0x74, 0x65, 0x61, 0x63, 0x68, 0x67, 0x69, 0x66,\r
+  0x22, 0x20, 0x76, 0x65, 0x67, 0x61, 0x73, 0x64, 0x61, 0x6e, 0x73, 0x6b, 0x65,\r
+  0x65, 0x73, 0x74, 0x69, 0x73, 0x68, 0x71, 0x69, 0x70, 0x73, 0x75, 0x6f, 0x6d,\r
+  0x69, 0x73, 0x6f, 0x62, 0x72, 0x65, 0x64, 0x65, 0x73, 0x64, 0x65, 0x65, 0x6e,\r
+  0x74, 0x72, 0x65, 0x74, 0x6f, 0x64, 0x6f, 0x73, 0x70, 0x75, 0x65, 0x64, 0x65,\r
+  0x61, 0xc3, 0xb1, 0x6f, 0x73, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x74, 0x69, 0x65,\r
+  0x6e, 0x65, 0x68, 0x61, 0x73, 0x74, 0x61, 0x6f, 0x74, 0x72, 0x6f, 0x73, 0x70,\r
+  0x61, 0x72, 0x74, 0x65, 0x64, 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x75, 0x65, 0x76,\r
+  0x6f, 0x68, 0x61, 0x63, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6d, 0x69,\r
+  0x73, 0x6d, 0x6f, 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x6d, 0x75, 0x6e, 0x64, 0x6f,\r
+  0x61, 0x71, 0x75, 0xc3, 0xad, 0x64, 0xc3, 0xad, 0x61, 0x73, 0x73, 0xc3, 0xb3,\r
+  0x6c, 0x6f, 0x61, 0x79, 0x75, 0x64, 0x61, 0x66, 0x65, 0x63, 0x68, 0x61, 0x74,\r
+  0x6f, 0x64, 0x61, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x6f, 0x6d, 0x65, 0x6e, 0x6f,\r
+  0x73, 0x64, 0x61, 0x74, 0x6f, 0x73, 0x6f, 0x74, 0x72, 0x61, 0x73, 0x73, 0x69,\r
+  0x74, 0x69, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x6f, 0x61, 0x68, 0x6f, 0x72, 0x61,\r
+  0x6c, 0x75, 0x67, 0x61, 0x72, 0x6d, 0x61, 0x79, 0x6f, 0x72, 0x65, 0x73, 0x74,\r
+  0x6f, 0x73, 0x68, 0x6f, 0x72, 0x61, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x61,\r
+  0x6e, 0x74, 0x65, 0x73, 0x66, 0x6f, 0x74, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x61,\r
+  0x73, 0x70, 0x61, 0xc3, 0xad, 0x73, 0x6e, 0x75, 0x65, 0x76, 0x61, 0x73, 0x61,\r
+  0x6c, 0x75, 0x64, 0x66, 0x6f, 0x72, 0x6f, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x6f,\r
+  0x71, 0x75, 0x69, 0x65, 0x6e, 0x6d, 0x65, 0x73, 0x65, 0x73, 0x70, 0x6f, 0x64,\r
+  0x65, 0x72, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0xc3, 0xa1, 0x76,\r
+  0x65, 0x63, 0x65, 0x73, 0x64, 0x65, 0x63, 0x69, 0x72, 0x6a, 0x6f, 0x73, 0xc3,\r
+  0xa9, 0x65, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x72,\r
+  0x75, 0x70, 0x6f, 0x68, 0x65, 0x63, 0x68, 0x6f, 0x65, 0x6c, 0x6c, 0x6f, 0x73,\r
+  0x74, 0x65, 0x6e, 0x67, 0x6f, 0x61, 0x6d, 0x69, 0x67, 0x6f, 0x63, 0x6f, 0x73,\r
+  0x61, 0x73, 0x6e, 0x69, 0x76, 0x65, 0x6c, 0x67, 0x65, 0x6e, 0x74, 0x65, 0x6d,\r
+  0x69, 0x73, 0x6d, 0x61, 0x61, 0x69, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6c, 0x69,\r
+  0x6f, 0x74, 0x65, 0x6d, 0x61, 0x73, 0x68, 0x61, 0x63, 0x69, 0x61, 0x66, 0x61,\r
+  0x76, 0x6f, 0x72, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x6c, 0x69, 0x62, 0x72, 0x65,\r
+  0x70, 0x75, 0x6e, 0x74, 0x6f, 0x62, 0x75, 0x65, 0x6e, 0x6f, 0x61, 0x75, 0x74,\r
+  0x6f, 0x72, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x62, 0x75, 0x65, 0x6e, 0x61, 0x74,\r
+  0x65, 0x78, 0x74, 0x6f, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x73, 0x61, 0x62, 0x65,\r
+  0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x6c, 0x75, 0x65, 0x67, 0x6f, 0x63, 0xc3,\r
+  0xb3, 0x6d, 0x6f, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x6a, 0x75, 0x65, 0x67, 0x6f,\r
+  0x70, 0x65, 0x72, 0xc3, 0xba, 0x68, 0x61, 0x62, 0x65, 0x72, 0x65, 0x73, 0x74,\r
+  0x6f, 0x79, 0x6e, 0x75, 0x6e, 0x63, 0x61, 0x6d, 0x75, 0x6a, 0x65, 0x72, 0x76,\r
+  0x61, 0x6c, 0x6f, 0x72, 0x66, 0x75, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x62, 0x72,\r
+  0x6f, 0x67, 0x75, 0x73, 0x74, 0x61, 0x69, 0x67, 0x75, 0x61, 0x6c, 0x76, 0x6f,\r
+  0x74, 0x6f, 0x73, 0x63, 0x61, 0x73, 0x6f, 0x73, 0x67, 0x75, 0xc3, 0xad, 0x61,\r
+  0x70, 0x75, 0x65, 0x64, 0x6f, 0x73, 0x6f, 0x6d, 0x6f, 0x73, 0x61, 0x76, 0x69,\r
+  0x73, 0x6f, 0x75, 0x73, 0x74, 0x65, 0x64, 0x64, 0x65, 0x62, 0x65, 0x6e, 0x6e,\r
+  0x6f, 0x63, 0x68, 0x65, 0x62, 0x75, 0x73, 0x63, 0x61, 0x66, 0x61, 0x6c, 0x74,\r
+  0x61, 0x65, 0x75, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x72, 0x69, 0x65, 0x64, 0x69,\r
+  0x63, 0x68, 0x6f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x63, 0x6c, 0x61, 0x76, 0x65,\r
+  0x63, 0x61, 0x73, 0x61, 0x73, 0x6c, 0x65, 0xc3, 0xb3, 0x6e, 0x70, 0x6c, 0x61,\r
+  0x7a, 0x6f, 0x6c, 0x61, 0x72, 0x67, 0x6f, 0x6f, 0x62, 0x72, 0x61, 0x73, 0x76,\r
+  0x69, 0x73, 0x74, 0x61, 0x61, 0x70, 0x6f, 0x79, 0x6f, 0x6a, 0x75, 0x6e, 0x74,\r
+  0x6f, 0x74, 0x72, 0x61, 0x74, 0x61, 0x76, 0x69, 0x73, 0x74, 0x6f, 0x63, 0x72,\r
+  0x65, 0x61, 0x72, 0x63, 0x61, 0x6d, 0x70, 0x6f, 0x68, 0x65, 0x6d, 0x6f, 0x73,\r
+  0x63, 0x69, 0x6e, 0x63, 0x6f, 0x63, 0x61, 0x72, 0x67, 0x6f, 0x70, 0x69, 0x73,\r
+  0x6f, 0x73, 0x6f, 0x72, 0x64, 0x65, 0x6e, 0x68, 0x61, 0x63, 0x65, 0x6e, 0xc3,\r
+  0xa1, 0x72, 0x65, 0x61, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x72,\r
+  0x6f, 0x63, 0x65, 0x72, 0x63, 0x61, 0x70, 0x75, 0x65, 0x64, 0x61, 0x70, 0x61,\r
+  0x70, 0x65, 0x6c, 0x6d, 0x65, 0x6e, 0x6f, 0x72, 0xc3, 0xba, 0x74, 0x69, 0x6c,\r
+  0x63, 0x6c, 0x61, 0x72, 0x6f, 0x6a, 0x6f, 0x72, 0x67, 0x65, 0x63, 0x61, 0x6c,\r
+  0x6c, 0x65, 0x70, 0x6f, 0x6e, 0x65, 0x72, 0x74, 0x61, 0x72, 0x64, 0x65, 0x6e,\r
+  0x61, 0x64, 0x69, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x73, 0x69, 0x67, 0x75,\r
+  0x65, 0x65, 0x6c, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6c, 0x6f, 0x63, 0x6f,\r
+  0x63, 0x68, 0x65, 0x6d, 0x6f, 0x74, 0x6f, 0x73, 0x6d, 0x61, 0x64, 0x72, 0x65,\r
+  0x63, 0x6c, 0x61, 0x73, 0x65, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x69, 0xc3,\r
+  0xb1, 0x6f, 0x71, 0x75, 0x65, 0x64, 0x61, 0x70, 0x61, 0x73, 0x61, 0x72, 0x62,\r
+  0x61, 0x6e, 0x63, 0x6f, 0x68, 0x69, 0x6a, 0x6f, 0x73, 0x76, 0x69, 0x61, 0x6a,\r
+  0x65, 0x70, 0x61, 0x62, 0x6c, 0x6f, 0xc3, 0xa9, 0x73, 0x74, 0x65, 0x76, 0x69,\r
+  0x65, 0x6e, 0x65, 0x72, 0x65, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x6a, 0x61, 0x72,\r
+  0x66, 0x6f, 0x6e, 0x64, 0x6f, 0x63, 0x61, 0x6e, 0x61, 0x6c, 0x6e, 0x6f, 0x72,\r
+  0x74, 0x65, 0x6c, 0x65, 0x74, 0x72, 0x61, 0x63, 0x61, 0x75, 0x73, 0x61, 0x74,\r
+  0x6f, 0x6d, 0x61, 0x72, 0x6d, 0x61, 0x6e, 0x6f, 0x73, 0x6c, 0x75, 0x6e, 0x65,\r
+  0x73, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x76, 0x65,\r
+  0x6e, 0x64, 0x6f, 0x70, 0x65, 0x73, 0x61, 0x72, 0x74, 0x69, 0x70, 0x6f, 0x73,\r
+  0x74, 0x65, 0x6e, 0x67, 0x61, 0x6d, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x65,\r
+  0x76, 0x61, 0x70, 0x61, 0x64, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x64, 0x6f, 0x76,\r
+  0x61, 0x6d, 0x6f, 0x73, 0x7a, 0x6f, 0x6e, 0x61, 0x73, 0x61, 0x6d, 0x62, 0x6f,\r
+  0x73, 0x62, 0x61, 0x6e, 0x64, 0x61, 0x6d, 0x61, 0x72, 0x69, 0x61, 0x61, 0x62,\r
+  0x75, 0x73, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x61, 0x73, 0x75, 0x62, 0x69, 0x72,\r
+  0x72, 0x69, 0x6f, 0x6a, 0x61, 0x76, 0x69, 0x76, 0x69, 0x72, 0x67, 0x72, 0x61,\r
+  0x64, 0x6f, 0x63, 0x68, 0x69, 0x63, 0x61, 0x61, 0x6c, 0x6c, 0xc3, 0xad, 0x6a,\r
+  0x6f, 0x76, 0x65, 0x6e, 0x64, 0x69, 0x63, 0x68, 0x61, 0x65, 0x73, 0x74, 0x61,\r
+  0x6e, 0x74, 0x61, 0x6c, 0x65, 0x73, 0x73, 0x61, 0x6c, 0x69, 0x72, 0x73, 0x75,\r
+  0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x66, 0x69, 0x6e, 0x65, 0x73,\r
+  0x6c, 0x6c, 0x61, 0x6d, 0x61, 0x62, 0x75, 0x73, 0x63, 0x6f, 0xc3, 0xa9, 0x73,\r
+  0x74, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6e, 0x65, 0x67, 0x72, 0x6f, 0x70,\r
+  0x6c, 0x61, 0x7a, 0x61, 0x68, 0x75, 0x6d, 0x6f, 0x72, 0x70, 0x61, 0x67, 0x61,\r
+  0x72, 0x6a, 0x75, 0x6e, 0x74, 0x61, 0x64, 0x6f, 0x62, 0x6c, 0x65, 0x69, 0x73,\r
+  0x6c, 0x61, 0x73, 0x62, 0x6f, 0x6c, 0x73, 0x61, 0x62, 0x61, 0xc3, 0xb1, 0x6f,\r
+  0x68, 0x61, 0x62, 0x6c, 0x61, 0x6c, 0x75, 0x63, 0x68, 0x61, 0xc3, 0x81, 0x72,\r
+  0x65, 0x61, 0x64, 0x69, 0x63, 0x65, 0x6e, 0x6a, 0x75, 0x67, 0x61, 0x72, 0x6e,\r
+  0x6f, 0x74, 0x61, 0x73, 0x76, 0x61, 0x6c, 0x6c, 0x65, 0x61, 0x6c, 0x6c, 0xc3,\r
+  0xa1, 0x63, 0x61, 0x72, 0x67, 0x61, 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x61, 0x62,\r
+  0x61, 0x6a, 0x6f, 0x65, 0x73, 0x74, 0xc3, 0xa9, 0x67, 0x75, 0x73, 0x74, 0x6f,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x65, 0x6d, 0x61, 0x72, 0x69, 0x6f, 0x66, 0x69, 0x72,\r
+  0x6d, 0x61, 0x63, 0x6f, 0x73, 0x74, 0x6f, 0x66, 0x69, 0x63, 0x68, 0x61, 0x70,\r
+  0x6c, 0x61, 0x74, 0x61, 0x68, 0x6f, 0x67, 0x61, 0x72, 0x61, 0x72, 0x74, 0x65,\r
+  0x73, 0x6c, 0x65, 0x79, 0x65, 0x73, 0x61, 0x71, 0x75, 0x65, 0x6c, 0x6d, 0x75,\r
+  0x73, 0x65, 0x6f, 0x62, 0x61, 0x73, 0x65, 0x73, 0x70, 0x6f, 0x63, 0x6f, 0x73,\r
+  0x6d, 0x69, 0x74, 0x61, 0x64, 0x63, 0x69, 0x65, 0x6c, 0x6f, 0x63, 0x68, 0x69,\r
+  0x63, 0x6f, 0x6d, 0x69, 0x65, 0x64, 0x6f, 0x67, 0x61, 0x6e, 0x61, 0x72, 0x73,\r
+  0x61, 0x6e, 0x74, 0x6f, 0x65, 0x74, 0x61, 0x70, 0x61, 0x64, 0x65, 0x62, 0x65,\r
+  0x73, 0x70, 0x6c, 0x61, 0x79, 0x61, 0x72, 0x65, 0x64, 0x65, 0x73, 0x73, 0x69,\r
+  0x65, 0x74, 0x65, 0x63, 0x6f, 0x72, 0x74, 0x65, 0x63, 0x6f, 0x72, 0x65, 0x61,\r
+  0x64, 0x75, 0x64, 0x61, 0x73, 0x64, 0x65, 0x73, 0x65, 0x6f, 0x76, 0x69, 0x65,\r
+  0x6a, 0x6f, 0x64, 0x65, 0x73, 0x65, 0x61, 0x61, 0x67, 0x75, 0x61, 0x73, 0x26,\r
+  0x71, 0x75, 0x6f, 0x74, 0x3b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x6f,\r
+  0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x76, 0x65,\r
+  0x6e, 0x74, 0x73, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x79, 0x73, 0x74,\r
+  0x65, 0x6d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x61, 0x6e, 0x6e, 0x65,\r
+  0x72, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c,\r
+  0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x6d,\r
+  0x65, 0x64, 0x69, 0x75, 0x6d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x75,\r
+  0x6d, 0x62, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x65, 0x73,\r
+  0x75, 0x6c, 0x74, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x73, 0x63, 0x72, 0x65,\r
+  0x65, 0x6e, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x6e, 0x6f, 0x72, 0x6d, 0x61,\r
+  0x6c, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73,\r
+  0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73,\r
+  0x70, 0x72, 0x69, 0x6e, 0x67, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x6d, 0x6f,\r
+  0x62, 0x69, 0x6c, 0x65, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x70, 0x68, 0x6f,\r
+  0x74, 0x6f, 0x73, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x72, 0x65, 0x67, 0x69,\r
+  0x6f, 0x6e, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x73, 0x6f, 0x63, 0x69, 0x61,\r
+  0x6c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,\r
+  0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x74,\r
+  0x69, 0x74, 0x6c, 0x65, 0x3e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x6c, 0x65,\r
+  0x6e, 0x67, 0x74, 0x68, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x66, 0x72, 0x69,\r
+  0x65, 0x6e, 0x64, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x61, 0x75, 0x74, 0x68,\r
+  0x6f, 0x72, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x65, 0x76, 0x69, 0x65,\r
+  0x77, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,\r
+  0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x65,\r
+  0x78, 0x70, 0x61, 0x6e, 0x64, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x61, 0x74, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x70, 0x6f, 0x69,\r
+  0x6e, 0x74, 0x73, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x70, 0x65, 0x72, 0x73,\r
+  0x6f, 0x6e, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x73, 0x69, 0x67,\r
+  0x6e, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x73,\r
+  0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70,\r
+  0x65, 0x6f, 0x70, 0x6c, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x6e, 0x61,\r
+  0x74, 0x75, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x66, 0x69, 0x67,\r
+  0x75, 0x72, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x75, 0x73, 0x74,\r
+  0x6f, 0x6d, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x6c, 0x65, 0x74, 0x74, 0x65,\r
+  0x72, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74,\r
+  0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x75,\r
+  0x70, 0x6c, 0x6f, 0x61, 0x64, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6d, 0x65,\r
+  0x74, 0x68, 0x6f, 0x64, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x73, 0x63, 0x68,\r
+  0x6f, 0x6f, 0x6c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x68, 0x61, 0x64,\r
+  0x6f, 0x77, 0x64, 0x65, 0x62, 0x61, 0x74, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x65,\r
+  0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73,\r
+  0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x63,\r
+  0x68, 0x72, 0x6f, 0x6d, 0x65, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6e, 0x6f,\r
+  0x74, 0x69, 0x63, 0x65, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x64,\r
+  0x69, 0x6e, 0x67, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x72, 0x65, 0x70, 0x6f,\r
+  0x72, 0x74, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x71, 0x75, 0x61, 0x72,\r
+  0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,\r
+  0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x6c,\r
+  0x61, 0x74, 0x65, 0x73, 0x74, 0x77, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x72,\r
+  0x61, 0x6e, 0x63, 0x65, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x74, 0x72,\r
+  0x6f, 0x6e, 0x67, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x64,\r
+  0x6f, 0x6e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x65,\r
+  0x64, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65,\r
+  0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x70,\r
+  0x6c, 0x61, 0x63, 0x65, 0x73, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x74,\r
+  0x61, 0x74, 0x69, 0x63, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x73, 0x74, 0x72,\r
+  0x65, 0x61, 0x6d, 0x79, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x61, 0x74, 0x74, 0x61,\r
+  0x63, 0x6b, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x66, 0x6c, 0x69, 0x67, 0x68,\r
+  0x74, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3e,\r
+  0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x76,\r
+  0x61, 0x6c, 0x6c, 0x65, 0x79, 0x63, 0x61, 0x75, 0x73, 0x65, 0x73, 0x6c, 0x65,\r
+  0x61, 0x64, 0x65, 0x72, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x65, 0x63,\r
+  0x6f, 0x6e, 0x64, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x70, 0x6f, 0x72,\r
+  0x74, 0x73, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6e,\r
+  0x67, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73,\r
+  0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x73,\r
+  0x74, 0x61, 0x74, 0x65, 0x73, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x76, 0x69,\r
+  0x73, 0x75, 0x61, 0x6c, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x76, 0x6f, 0x6c,\r
+  0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x75, 0x73, 0x65,\r
+  0x75, 0x6d, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e,\r
+  0x74, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6d, 0x6f, 0x73, 0x74, 0x6c, 0x79,\r
+  0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6d,\r
+  0x61, 0x72, 0x6b, 0x65, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x63, 0x68,\r
+  0x61, 0x6e, 0x63, 0x65, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x62, 0x65, 0x66,\r
+  0x6f, 0x72, 0x65, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x6d, 0x6f, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x6d, 0x6f, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72,\r
+  0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x65,\r
+  0x78, 0x69, 0x73, 0x74, 0x73, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x45, 0x75,\r
+  0x72, 0x6f, 0x70, 0x65, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x6c, 0x65, 0x67,\r
+  0x61, 0x63, 0x79, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x65, 0x6e, 0x6f, 0x75,\r
+  0x67, 0x68, 0x63, 0x61, 0x72, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x73, 0x77, 0x65,\r
+  0x72, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c,\r
+  0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72,\r
+  0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x74, 0x6f,\r
+  0x70, 0x69, 0x63, 0x73, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x74,\r
+  0x68, 0x65, 0x72, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6d, 0x70,\r
+  0x6c, 0x79, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x65, 0x73, 0x63, 0x61, 0x70,\r
+  0x65, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x63, 0x68, 0x75, 0x72, 0x63, 0x68,\r
+  0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x63,\r
+  0x6f, 0x72, 0x6e, 0x65, 0x72, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6d, 0x65,\r
+  0x6d, 0x6f, 0x72, 0x79, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x70, 0x6f, 0x6c,\r
+  0x69, 0x63, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4e, 0x75, 0x6d, 0x62,\r
+  0x65, 0x72, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x65, 0x72,\r
+  0x73, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64,\r
+  0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x73,\r
+  0x69, 0x6c, 0x76, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x64, 0x65,\r
+  0x6c, 0x65, 0x74, 0x65, 0x62, 0x65, 0x74, 0x74, 0x65, 0x72, 0x62, 0x72, 0x6f,\r
+  0x77, 0x73, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62,\r
+  0x61, 0x6c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x77, 0x69, 0x64, 0x67, 0x65,\r
+  0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74,\r
+  0x6e, 0x6f, 0x77, 0x72, 0x61, 0x70, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x63,\r
+  0x6c, 0x61, 0x69, 0x6d, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x61,\r
+  0x66, 0x65, 0x74, 0x79, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x70, 0x69,\r
+  0x72, 0x69, 0x74, 0x2d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x70, 0x72, 0x65,\r
+  0x61, 0x64, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x65, 0x64, 0x65,\r
+  0x64, 0x72, 0x75, 0x73, 0x73, 0x69, 0x61, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65,\r
+  0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x62,\r
+  0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x63, 0x68,\r
+  0x61, 0x72, 0x67, 0x65, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x66, 0x61, 0x63,\r
+  0x74, 0x6f, 0x72, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x62, 0x61, 0x73,\r
+  0x65, 0x64, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x69,\r
+  0x67, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x64,\r
+  0x68, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x69,\r
+  0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x6c,\r
+  0x77, 0x61, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0x20, 0x62, 0x6f, 0x74,\r
+  0x74, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3e, 0x29, 0x7b, 0x76, 0x61,\r
+  0x72, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6f, 0x72, 0x61, 0x6e, 0x67,\r
+  0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28,\r
+  0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x62,\r
+  0x72, 0x69, 0x64, 0x67, 0x65, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x52, 0x65,\r
+  0x76, 0x69, 0x65, 0x77, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x69, 0x73,\r
+  0x69, 0x6f, 0x6e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x61, 0x74, 0x69,\r
+  0x6e, 0x67, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x62, 0x65, 0x61, 0x75, 0x74,\r
+  0x79, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x66, 0x6f, 0x72, 0x67, 0x6f, 0x74,\r
+  0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x61,\r
+  0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x43, 0x68,\r
+  0x61, 0x6e, 0x67, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x74, 0x72,\r
+  0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x62, 0x69,\r
+  0x6c, 0x65, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6c,\r
+  0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73,\r
+  0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x63,\r
+  0x6f, 0x75, 0x72, 0x73, 0x65, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x73,\r
+  0x6c, 0x61, 0x6e, 0x64, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x63, 0x6f, 0x6f,\r
+  0x6b, 0x69, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6d, 0x61, 0x7a,\r
+  0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x61, 0x64, 0x76, 0x69, 0x63,\r
+  0x65, 0x69, 0x6e, 0x3c, 0x2f, 0x61, 0x3e, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20,\r
+  0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x73, 0x42,\r
+  0x45, 0x47, 0x49, 0x4e, 0x20, 0x4d, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x73, 0x74,\r
+  0x61, 0x72, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x68, 0x65, 0x69,\r
+  0x67, 0x68, 0x74, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x73, 0x6c, 0x61,\r
+  0x6e, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x45, 0x6d, 0x70, 0x69, 0x72,\r
+  0x65, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74,\r
+  0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x6d,\r
+  0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x0a,\r
+  0x0a, 0x4f, 0x6e, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x6d, 0x65, 0x6e,\r
+  0x75, 0x22, 0x3e, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x61, 0x77, 0x61, 0x72,\r
+  0x64, 0x73, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72,\r
+  0x74, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64,\r
+  0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,\r
+  0x70, 0x6f, 0x72, 0x74, 0x73, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x77, 0x65,\r
+  0x65, 0x6b, 0x6c, 0x79, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x62, 0x65, 0x68,\r
+  0x69, 0x6e, 0x64, 0x64, 0x6f, 0x63, 0x74, 0x6f, 0x72, 0x6c, 0x6f, 0x67, 0x67,\r
+  0x65, 0x64, 0x75, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x3c, 0x2f, 0x62, 0x3e, 0x3c,\r
+  0x2f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,\r
+  0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69,\r
+  0x73, 0x73, 0x75, 0x65, 0x64, 0x33, 0x30, 0x30, 0x70, 0x78, 0x7c, 0x63, 0x61,\r
+  0x6e, 0x61, 0x64, 0x61, 0x61, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x73, 0x63, 0x68,\r
+  0x65, 0x6d, 0x65, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x72, 0x61, 0x7a,\r
+  0x69, 0x6c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x22,\r
+  0x3e, 0x62, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x2d, 0x73, 0x63, 0x61, 0x6c, 0x65,\r
+  0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6d,\r
+  0x61, 0x72, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x63, 0x61,\r
+  0x6d, 0x65, 0x72, 0x61, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x0a, 0x5f, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x22, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x73, 0x74, 0x72, 0x65,\r
+  0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x2e, 0x67, 0x69, 0x66, 0x22,\r
+  0x20, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72,\r
+  0x4f, 0x78, 0x66, 0x6f, 0x72, 0x64, 0x73, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73,\r
+  0x75, 0x72, 0x76, 0x69, 0x76, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x66, 0x65,\r
+  0x6d, 0x61, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x69, 0x7a,\r
+  0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x74, 0x65, 0x78, 0x74,\r
+  0x22, 0x3e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x74, 0x68, 0x61, 0x6e, 0x6b,\r
+  0x73, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64,\r
+  0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x61, 0x6e, 0x79, 0x6f, 0x6e, 0x65, 0x41,\r
+  0x66, 0x72, 0x69, 0x63, 0x61, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x72, 0x65,\r
+  0x63, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x3c, 0x62, 0x72,\r
+  0x20, 0x2f, 0x3e, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x70, 0x72, 0x69, 0x63,\r
+  0x65, 0x73, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x7c, 0x7c, 0x20, 0x7b, 0x7d,\r
+  0x3b, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,\r
+  0x73, 0x75, 0x6e, 0x64, 0x61, 0x79, 0x77, 0x72, 0x61, 0x70, 0x22, 0x3e, 0x66,\r
+  0x61, 0x69, 0x6c, 0x65, 0x64, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x6d, 0x69,\r
+  0x6e, 0x75, 0x74, 0x65, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x71, 0x75, 0x6f,\r
+  0x74, 0x65, 0x73, 0x31, 0x35, 0x30, 0x70, 0x78, 0x7c, 0x65, 0x73, 0x74, 0x61,\r
+  0x74, 0x65, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x65, 0x6d, 0x61, 0x69, 0x6c,\r
+  0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3b,\r
+  0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x31,\r
+  0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x70, 0x72,\r
+  0x69, 0x6e, 0x63, 0x65, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x2e, 0x70, 0x6e,\r
+  0x67, 0x22, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x2e, 0x41, 0x63, 0x63, 0x65,\r
+  0x73, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x73, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x73, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74,\r
+  0x73, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x26,\r
+  0x61, 0x6d, 0x70, 0x3b, 0x20, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x2e, 0x20,\r
+  0x57, 0x69, 0x74, 0x68, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x6f, 0x77, 0x6e,\r
+  0x65, 0x72, 0x73, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x70, 0x72, 0x6f, 0x66,\r
+  0x69, 0x74, 0x6a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x61, 0x6e, 0x6e, 0x75, 0x61,\r
+  0x6c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74,\r
+  0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x6c,\r
+  0x6f, 0x6e, 0x67, 0x65, 0x72, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x69, 0x73,\r
+  0x72, 0x61, 0x65, 0x6c, 0x73, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x63,\r
+  0x69, 0x64, 0x65, 0x68, 0x6f, 0x6d, 0x65, 0x22, 0x3e, 0x68, 0x65, 0x61, 0x64,\r
+  0x65, 0x72, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x62, 0x72, 0x61, 0x6e, 0x63,\r
+  0x68, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3b,\r
+  0x73, 0x74, 0x61, 0x74, 0x65, 0x64, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x3c, 0x72,\r
+  0x61, 0x63, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x2d, 0x2d,\r
+  0x26, 0x67, 0x74, 0x3b, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x73, 0x65, 0x78,\r
+  0x75, 0x61, 0x6c, 0x62, 0x75, 0x72, 0x65, 0x61, 0x75, 0x2e, 0x6a, 0x70, 0x67,\r
+  0x22, 0x20, 0x31, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x6f, 0x62, 0x74, 0x61, 0x69,\r
+  0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,\r
+  0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x63, 0x6f, 0x6d, 0x65, 0x64, 0x79, 0x6d,\r
+  0x65, 0x6e, 0x75, 0x22, 0x20, 0x6c, 0x79, 0x72, 0x69, 0x63, 0x73, 0x74, 0x6f,\r
+  0x64, 0x61, 0x79, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x65, 0x64, 0x63, 0x6f, 0x75,\r
+  0x6e, 0x74, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x46, 0x61, 0x6d, 0x69,\r
+  0x6c, 0x79, 0x6c, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65,\r
+  0x74, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,\r
+  0x74, 0x75, 0x72, 0x6b, 0x65, 0x79, 0x29, 0x3b, 0x76, 0x61, 0x72, 0x20, 0x66,\r
+  0x6f, 0x72, 0x65, 0x73, 0x74, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x65, 0x72,\r
+  0x72, 0x6f, 0x72, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x65, 0x6c,\r
+  0x73, 0x65, 0x7b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x67,\r
+  0x3c, 0x2f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e,\r
+  0x2e, 0x66, 0x61, 0x73, 0x74, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,\r
+  0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x31, 0x30, 0x70, 0x78, 0x20, 0x30, 0x70,\r
+  0x72, 0x61, 0x67, 0x6d, 0x61, 0x66, 0x72, 0x69, 0x64, 0x61, 0x79, 0x6a, 0x75,\r
+  0x6e, 0x69, 0x6f, 0x72, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x70, 0x6c, 0x61,\r
+  0x63, 0x65, 0x64, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x70, 0x6c, 0x75, 0x67,\r
+  0x69, 0x6e, 0x35, 0x2c, 0x30, 0x30, 0x30, 0x20, 0x70, 0x61, 0x67, 0x65, 0x22,\r
+  0x3e, 0x62, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x28,\r
+  0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x74, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,\r
+  0x63, 0x6f, 0x75, 0x6e, 0x74, 0x66, 0x6f, 0x72, 0x75, 0x6d, 0x73, 0x73, 0x63,\r
+  0x68, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x66, 0x69, 0x6c,\r
+  0x6c, 0x65, 0x64, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x72, 0x65, 0x61, 0x64,\r
+  0x65, 0x72, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x28, 0x61, 0x70, 0x70, 0x65, 0x61,\r
+  0x72, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e,\r
+  0x62, 0x6f, 0x64, 0x79, 0x22, 0x3e, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x54,\r
+  0x68, 0x6f, 0x75, 0x67, 0x68, 0x73, 0x65, 0x65, 0x69, 0x6e, 0x67, 0x6a, 0x65,\r
+  0x72, 0x73, 0x65, 0x79, 0x4e, 0x65, 0x77, 0x73, 0x3c, 0x2f, 0x76, 0x65, 0x72,\r
+  0x69, 0x66, 0x79, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x6a, 0x75,\r
+  0x72, 0x79, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x43, 0x6f, 0x6f, 0x6b, 0x69,\r
+  0x65, 0x53, 0x54, 0x41, 0x52, 0x54, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73,\r
+  0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x6e,\r
+  0x61, 0x74, 0x69, 0x76, 0x65, 0x70, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x62, 0x6f,\r
+  0x78, 0x22, 0x3e, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x44, 0x61,\r
+  0x76, 0x69, 0x64, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x62, 0x6c,\r
+  0x65, 0x73, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x41, 0x70, 0x72, 0x69, 0x6c,\r
+  0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,\r
+  0x69, 0x74, 0x65, 0x6d, 0x22, 0x3e, 0x6d, 0x6f, 0x72, 0x65, 0x22, 0x3e, 0x62,\r
+  0x6f, 0x61, 0x72, 0x64, 0x73, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x63, 0x61,\r
+  0x6d, 0x70, 0x75, 0x73, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x7c, 0x7c, 0x20,\r
+  0x5b, 0x5d, 0x3b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2e, 0x67, 0x75, 0x69, 0x74,\r
+  0x61, 0x72, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x77, 0x69, 0x64, 0x74, 0x68,\r
+  0x3a, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x20,\r
+  0x2e, 0x70, 0x68, 0x70, 0x22, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x6c,\r
+  0x61, 0x79, 0x65, 0x72, 0x73, 0x77, 0x69, 0x6c, 0x73, 0x6f, 0x6e, 0x73, 0x74,\r
+  0x6f, 0x72, 0x65, 0x73, 0x72, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x73, 0x77, 0x65,\r
+  0x64, 0x65, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x61, 0x73, 0x69,\r
+  0x6c, 0x79, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e,\r
+  0x67, 0x0a, 0x0a, 0x57, 0x68, 0x69, 0x6c, 0x74, 0x61, 0x79, 0x6c, 0x6f, 0x72,\r
+  0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x66,\r
+  0x72, 0x65, 0x6e, 0x63, 0x68, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x29,\r
+  0x20, 0x2b, 0x20, 0x22, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x62, 0x75, 0x79,\r
+  0x69, 0x6e, 0x67, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x4d, 0x65, 0x6d, 0x62,\r
+  0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x6f, 0x70, 0x70, 0x69, 0x6e,\r
+  0x67, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x35, 0x70, 0x78, 0x3b, 0x22, 0x3e,\r
+  0x76, 0x73, 0x70, 0x61, 0x63, 0x65, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x6d,\r
+  0x61, 0x6a, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x66, 0x66, 0x65, 0x65, 0x6d, 0x61,\r
+  0x72, 0x74, 0x69, 0x6e, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x65, 0x68, 0x61, 0x70,\r
+  0x70, 0x65, 0x6e, 0x3c, 0x2f, 0x6e, 0x61, 0x76, 0x3e, 0x6b, 0x61, 0x6e, 0x73,\r
+  0x61, 0x73, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3e, 0x49, 0x6d, 0x61, 0x67, 0x65,\r
+  0x73, 0x3d, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20,\r
+  0x68, 0x73, 0x70, 0x61, 0x63, 0x65, 0x30, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x20,\r
+  0x0a, 0x0a, 0x49, 0x6e, 0x20, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x50, 0x6f,\r
+  0x6c, 0x73, 0x6b, 0x69, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6a, 0x6f, 0x72,\r
+  0x64, 0x61, 0x6e, 0x42, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x72,\r
+  0x74, 0x20, 0x2d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x2e, 0x68, 0x74, 0x6d,\r
+  0x6c, 0x6e, 0x65, 0x77, 0x73, 0x22, 0x3e, 0x30, 0x31, 0x2e, 0x6a, 0x70, 0x67,\r
+  0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6d,\r
+  0x69, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x65, 0x6e, 0x69, 0x6f, 0x72, 0x49, 0x53,\r
+  0x42, 0x4e, 0x20, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x20, 0x67, 0x75, 0x69,\r
+  0x64, 0x65, 0x73, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x65, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, 0x2e, 0x78, 0x6d, 0x6c, 0x22,\r
+  0x20, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x68, 0x74, 0x6d, 0x6c,\r
+  0x2d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x72, 0x65, 0x67, 0x45, 0x78, 0x70, 0x3a,\r
+  0x68, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x76, 0x69,\r
+  0x72, 0x67, 0x69, 0x6e, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x3c, 0x2f, 0x74,\r
+  0x72, 0x3e, 0x0d, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x0a, 0x09, 0x76, 0x61,\r
+  0x72, 0x20, 0x3e, 0x27, 0x29, 0x3b, 0x0a, 0x09, 0x3c, 0x2f, 0x74, 0x64, 0x3e,\r
+  0x0a, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x0a, 0x62, 0x61, 0x68, 0x61, 0x73, 0x61,\r
+  0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x67, 0x61, 0x6c, 0x65, 0x67, 0x6f, 0x6d,\r
+  0x61, 0x67, 0x79, 0x61, 0x72, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x73, 0x72,\r
+  0x70, 0x73, 0x6b, 0x69, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0xe4, 0xb8, 0xad,\r
+  0xe6, 0x96, 0x87, 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0xe7, 0xb9, 0x81, 0xe9,\r
+  0xab, 0x94, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe4, 0xb8, 0xad, 0xe5, 0x9b,\r
+  0xbd, 0xe6, 0x88, 0x91, 0xe4, 0xbb, 0xac, 0xe4, 0xb8, 0x80, 0xe4, 0xb8, 0xaa,\r
+  0xe5, 0x85, 0xac, 0xe5, 0x8f, 0xb8, 0xe7, 0xae, 0xa1, 0xe7, 0x90, 0x86, 0xe8,\r
+  0xae, 0xba, 0xe5, 0x9d, 0x9b, 0xe5, 0x8f, 0xaf, 0xe4, 0xbb, 0xa5, 0xe6, 0x9c,\r
+  0x8d, 0xe5, 0x8a, 0xa1, 0xe6, 0x97, 0xb6, 0xe9, 0x97, 0xb4, 0xe4, 0xb8, 0xaa,\r
+  0xe4, 0xba, 0xba, 0xe4, 0xba, 0xa7, 0xe5, 0x93, 0x81, 0xe8, 0x87, 0xaa, 0xe5,\r
+  0xb7, 0xb1, 0xe4, 0xbc, 0x81, 0xe4, 0xb8, 0x9a, 0xe6, 0x9f, 0xa5, 0xe7, 0x9c,\r
+  0x8b, 0xe5, 0xb7, 0xa5, 0xe4, 0xbd, 0x9c, 0xe8, 0x81, 0x94, 0xe7, 0xb3, 0xbb,\r
+  0xe6, 0xb2, 0xa1, 0xe6, 0x9c, 0x89, 0xe7, 0xbd, 0x91, 0xe7, 0xab, 0x99, 0xe6,\r
+  0x89, 0x80, 0xe6, 0x9c, 0x89, 0xe8, 0xaf, 0x84, 0xe8, 0xae, 0xba, 0xe4, 0xb8,\r
+  0xad, 0xe5, 0xbf, 0x83, 0xe6, 0x96, 0x87, 0xe7, 0xab, 0xa0, 0xe7, 0x94, 0xa8,\r
+  0xe6, 0x88, 0xb7, 0xe9, 0xa6, 0x96, 0xe9, 0xa1, 0xb5, 0xe4, 0xbd, 0x9c, 0xe8,\r
+  0x80, 0x85, 0xe6, 0x8a, 0x80, 0xe6, 0x9c, 0xaf, 0xe9, 0x97, 0xae, 0xe9, 0xa2,\r
+  0x98, 0xe7, 0x9b, 0xb8, 0xe5, 0x85, 0xb3, 0xe4, 0xb8, 0x8b, 0xe8, 0xbd, 0xbd,\r
+  0xe6, 0x90, 0x9c, 0xe7, 0xb4, 0xa2, 0xe4, 0xbd, 0xbf, 0xe7, 0x94, 0xa8, 0xe8,\r
+  0xbd, 0xaf, 0xe4, 0xbb, 0xb6, 0xe5, 0x9c, 0xa8, 0xe7, 0xba, 0xbf, 0xe4, 0xb8,\r
+  0xbb, 0xe9, 0xa2, 0x98, 0xe8, 0xb5, 0x84, 0xe6, 0x96, 0x99, 0xe8, 0xa7, 0x86,\r
+  0xe9, 0xa2, 0x91, 0xe5, 0x9b, 0x9e, 0xe5, 0xa4, 0x8d, 0xe6, 0xb3, 0xa8, 0xe5,\r
+  0x86, 0x8c, 0xe7, 0xbd, 0x91, 0xe7, 0xbb, 0x9c, 0xe6, 0x94, 0xb6, 0xe8, 0x97,\r
+  0x8f, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe6, 0x8e, 0xa8, 0xe8, 0x8d, 0x90,\r
+  0xe5, 0xb8, 0x82, 0xe5, 0x9c, 0xba, 0xe6, 0xb6, 0x88, 0xe6, 0x81, 0xaf, 0xe7,\r
+  0xa9, 0xba, 0xe9, 0x97, 0xb4, 0xe5, 0x8f, 0x91, 0xe5, 0xb8, 0x83, 0xe4, 0xbb,\r
+  0x80, 0xe4, 0xb9, 0x88, 0xe5, 0xa5, 0xbd, 0xe5, 0x8f, 0x8b, 0xe7, 0x94, 0x9f,\r
+  0xe6, 0xb4, 0xbb, 0xe5, 0x9b, 0xbe, 0xe7, 0x89, 0x87, 0xe5, 0x8f, 0x91, 0xe5,\r
+  0xb1, 0x95, 0xe5, 0xa6, 0x82, 0xe6, 0x9e, 0x9c, 0xe6, 0x89, 0x8b, 0xe6, 0x9c,\r
+  0xba, 0xe6, 0x96, 0xb0, 0xe9, 0x97, 0xbb, 0xe6, 0x9c, 0x80, 0xe6, 0x96, 0xb0,\r
+  0xe6, 0x96, 0xb9, 0xe5, 0xbc, 0x8f, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe6,\r
+  0x8f, 0x90, 0xe4, 0xbe, 0x9b, 0xe5, 0x85, 0xb3, 0xe4, 0xba, 0x8e, 0xe6, 0x9b,\r
+  0xb4, 0xe5, 0xa4, 0x9a, 0xe8, 0xbf, 0x99, 0xe4, 0xb8, 0xaa, 0xe7, 0xb3, 0xbb,\r
+  0xe7, 0xbb, 0x9f, 0xe7, 0x9f, 0xa5, 0xe9, 0x81, 0x93, 0xe6, 0xb8, 0xb8, 0xe6,\r
+  0x88, 0x8f, 0xe5, 0xb9, 0xbf, 0xe5, 0x91, 0x8a, 0xe5, 0x85, 0xb6, 0xe4, 0xbb,\r
+  0x96, 0xe5, 0x8f, 0x91, 0xe8, 0xa1, 0xa8, 0xe5, 0xae, 0x89, 0xe5, 0x85, 0xa8,\r
+  0xe7, 0xac, 0xac, 0xe4, 0xb8, 0x80, 0xe4, 0xbc, 0x9a, 0xe5, 0x91, 0x98, 0xe8,\r
+  0xbf, 0x9b, 0xe8, 0xa1, 0x8c, 0xe7, 0x82, 0xb9, 0xe5, 0x87, 0xbb, 0xe7, 0x89,\r
+  0x88, 0xe6, 0x9d, 0x83, 0xe7, 0x94, 0xb5, 0xe5, 0xad, 0x90, 0xe4, 0xb8, 0x96,\r
+  0xe7, 0x95, 0x8c, 0xe8, 0xae, 0xbe, 0xe8, 0xae, 0xa1, 0xe5, 0x85, 0x8d, 0xe8,\r
+  0xb4, 0xb9, 0xe6, 0x95, 0x99, 0xe8, 0x82, 0xb2, 0xe5, 0x8a, 0xa0, 0xe5, 0x85,\r
+  0xa5, 0xe6, 0xb4, 0xbb, 0xe5, 0x8a, 0xa8, 0xe4, 0xbb, 0x96, 0xe4, 0xbb, 0xac,\r
+  0xe5, 0x95, 0x86, 0xe5, 0x93, 0x81, 0xe5, 0x8d, 0x9a, 0xe5, 0xae, 0xa2, 0xe7,\r
+  0x8e, 0xb0, 0xe5, 0x9c, 0xa8, 0xe4, 0xb8, 0x8a, 0xe6, 0xb5, 0xb7, 0xe5, 0xa6,\r
+  0x82, 0xe4, 0xbd, 0x95, 0xe5, 0xb7, 0xb2, 0xe7, 0xbb, 0x8f, 0xe7, 0x95, 0x99,\r
+  0xe8, 0xa8, 0x80, 0xe8, 0xaf, 0xa6, 0xe7, 0xbb, 0x86, 0xe7, 0xa4, 0xbe, 0xe5,\r
+  0x8c, 0xba, 0xe7, 0x99, 0xbb, 0xe5, 0xbd, 0x95, 0xe6, 0x9c, 0xac, 0xe7, 0xab,\r
+  0x99, 0xe9, 0x9c, 0x80, 0xe8, 0xa6, 0x81, 0xe4, 0xbb, 0xb7, 0xe6, 0xa0, 0xbc,\r
+  0xe6, 0x94, 0xaf, 0xe6, 0x8c, 0x81, 0xe5, 0x9b, 0xbd, 0xe9, 0x99, 0x85, 0xe9,\r
+  0x93, 0xbe, 0xe6, 0x8e, 0xa5, 0xe5, 0x9b, 0xbd, 0xe5, 0xae, 0xb6, 0xe5, 0xbb,\r
+  0xba, 0xe8, 0xae, 0xbe, 0xe6, 0x9c, 0x8b, 0xe5, 0x8f, 0x8b, 0xe9, 0x98, 0x85,\r
+  0xe8, 0xaf, 0xbb, 0xe6, 0xb3, 0x95, 0xe5, 0xbe, 0x8b, 0xe4, 0xbd, 0x8d, 0xe7,\r
+  0xbd, 0xae, 0xe7, 0xbb, 0x8f, 0xe6, 0xb5, 0x8e, 0xe9, 0x80, 0x89, 0xe6, 0x8b,\r
+  0xa9, 0xe8, 0xbf, 0x99, 0xe6, 0xa0, 0xb7, 0xe5, 0xbd, 0x93, 0xe5, 0x89, 0x8d,\r
+  0xe5, 0x88, 0x86, 0xe7, 0xb1, 0xbb, 0xe6, 0x8e, 0x92, 0xe8, 0xa1, 0x8c, 0xe5,\r
+  0x9b, 0xa0, 0xe4, 0xb8, 0xba, 0xe4, 0xba, 0xa4, 0xe6, 0x98, 0x93, 0xe6, 0x9c,\r
+  0x80, 0xe5, 0x90, 0x8e, 0xe9, 0x9f, 0xb3, 0xe4, 0xb9, 0x90, 0xe4, 0xb8, 0x8d,\r
+  0xe8, 0x83, 0xbd, 0xe9, 0x80, 0x9a, 0xe8, 0xbf, 0x87, 0xe8, 0xa1, 0x8c, 0xe4,\r
+  0xb8, 0x9a, 0xe7, 0xa7, 0x91, 0xe6, 0x8a, 0x80, 0xe5, 0x8f, 0xaf, 0xe8, 0x83,\r
+  0xbd, 0xe8, 0xae, 0xbe, 0xe5, 0xa4, 0x87, 0xe5, 0x90, 0x88, 0xe4, 0xbd, 0x9c,\r
+  0xe5, 0xa4, 0xa7, 0xe5, 0xae, 0xb6, 0xe7, 0xa4, 0xbe, 0xe4, 0xbc, 0x9a, 0xe7,\r
+  0xa0, 0x94, 0xe7, 0xa9, 0xb6, 0xe4, 0xb8, 0x93, 0xe4, 0xb8, 0x9a, 0xe5, 0x85,\r
+  0xa8, 0xe9, 0x83, 0xa8, 0xe9, 0xa1, 0xb9, 0xe7, 0x9b, 0xae, 0xe8, 0xbf, 0x99,\r
+  0xe9, 0x87, 0x8c, 0xe8, 0xbf, 0x98, 0xe6, 0x98, 0xaf, 0xe5, 0xbc, 0x80, 0xe5,\r
+  0xa7, 0x8b, 0xe6, 0x83, 0x85, 0xe5, 0x86, 0xb5, 0xe7, 0x94, 0xb5, 0xe8, 0x84,\r
+  0x91, 0xe6, 0x96, 0x87, 0xe4, 0xbb, 0xb6, 0xe5, 0x93, 0x81, 0xe7, 0x89, 0x8c,\r
+  0xe5, 0xb8, 0xae, 0xe5, 0x8a, 0xa9, 0xe6, 0x96, 0x87, 0xe5, 0x8c, 0x96, 0xe8,\r
+  0xb5, 0x84, 0xe6, 0xba, 0x90, 0xe5, 0xa4, 0xa7, 0xe5, 0xad, 0xa6, 0xe5, 0xad,\r
+  0xa6, 0xe4, 0xb9, 0xa0, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, 0xe6, 0xb5, 0x8f,\r
+  0xe8, 0xa7, 0x88, 0xe6, 0x8a, 0x95, 0xe8, 0xb5, 0x84, 0xe5, 0xb7, 0xa5, 0xe7,\r
+  0xa8, 0x8b, 0xe8, 0xa6, 0x81, 0xe6, 0xb1, 0x82, 0xe6, 0x80, 0x8e, 0xe4, 0xb9,\r
+  0x88, 0xe6, 0x97, 0xb6, 0xe5, 0x80, 0x99, 0xe5, 0x8a, 0x9f, 0xe8, 0x83, 0xbd,\r
+  0xe4, 0xb8, 0xbb, 0xe8, 0xa6, 0x81, 0xe7, 0x9b, 0xae, 0xe5, 0x89, 0x8d, 0xe8,\r
+  0xb5, 0x84, 0xe8, 0xae, 0xaf, 0xe5, 0x9f, 0x8e, 0xe5, 0xb8, 0x82, 0xe6, 0x96,\r
+  0xb9, 0xe6, 0xb3, 0x95, 0xe7, 0x94, 0xb5, 0xe5, 0xbd, 0xb1, 0xe6, 0x8b, 0x9b,\r
+  0xe8, 0x81, 0x98, 0xe5, 0xa3, 0xb0, 0xe6, 0x98, 0x8e, 0xe4, 0xbb, 0xbb, 0xe4,\r
+  0xbd, 0x95, 0xe5, 0x81, 0xa5, 0xe5, 0xba, 0xb7, 0xe6, 0x95, 0xb0, 0xe6, 0x8d,\r
+  0xae, 0xe7, 0xbe, 0x8e, 0xe5, 0x9b, 0xbd, 0xe6, 0xb1, 0xbd, 0xe8, 0xbd, 0xa6,\r
+  0xe4, 0xbb, 0x8b, 0xe7, 0xbb, 0x8d, 0xe4, 0xbd, 0x86, 0xe6, 0x98, 0xaf, 0xe4,\r
+  0xba, 0xa4, 0xe6, 0xb5, 0x81, 0xe7, 0x94, 0x9f, 0xe4, 0xba, 0xa7, 0xe6, 0x89,\r
+  0x80, 0xe4, 0xbb, 0xa5, 0xe7, 0x94, 0xb5, 0xe8, 0xaf, 0x9d, 0xe6, 0x98, 0xbe,\r
+  0xe7, 0xa4, 0xba, 0xe4, 0xb8, 0x80, 0xe4, 0xba, 0x9b, 0xe5, 0x8d, 0x95, 0xe4,\r
+  0xbd, 0x8d, 0xe4, 0xba, 0xba, 0xe5, 0x91, 0x98, 0xe5, 0x88, 0x86, 0xe6, 0x9e,\r
+  0x90, 0xe5, 0x9c, 0xb0, 0xe5, 0x9b, 0xbe, 0xe6, 0x97, 0x85, 0xe6, 0xb8, 0xb8,\r
+  0xe5, 0xb7, 0xa5, 0xe5, 0x85, 0xb7, 0xe5, 0xad, 0xa6, 0xe7, 0x94, 0x9f, 0xe7,\r
+  0xb3, 0xbb, 0xe5, 0x88, 0x97, 0xe7, 0xbd, 0x91, 0xe5, 0x8f, 0x8b, 0xe5, 0xb8,\r
+  0x96, 0xe5, 0xad, 0x90, 0xe5, 0xaf, 0x86, 0xe7, 0xa0, 0x81, 0xe9, 0xa2, 0x91,\r
+  0xe9, 0x81, 0x93, 0xe6, 0x8e, 0xa7, 0xe5, 0x88, 0xb6, 0xe5, 0x9c, 0xb0, 0xe5,\r
+  0x8c, 0xba, 0xe5, 0x9f, 0xba, 0xe6, 0x9c, 0xac, 0xe5, 0x85, 0xa8, 0xe5, 0x9b,\r
+  0xbd, 0xe7, 0xbd, 0x91, 0xe4, 0xb8, 0x8a, 0xe9, 0x87, 0x8d, 0xe8, 0xa6, 0x81,\r
+  0xe7, 0xac, 0xac, 0xe4, 0xba, 0x8c, 0xe5, 0x96, 0x9c, 0xe6, 0xac, 0xa2, 0xe8,\r
+  0xbf, 0x9b, 0xe5, 0x85, 0xa5, 0xe5, 0x8f, 0x8b, 0xe6, 0x83, 0x85, 0xe8, 0xbf,\r
+  0x99, 0xe4, 0xba, 0x9b, 0xe8, 0x80, 0x83, 0xe8, 0xaf, 0x95, 0xe5, 0x8f, 0x91,\r
+  0xe7, 0x8e, 0xb0, 0xe5, 0x9f, 0xb9, 0xe8, 0xae, 0xad, 0xe4, 0xbb, 0xa5, 0xe4,\r
+  0xb8, 0x8a, 0xe6, 0x94, 0xbf, 0xe5, 0xba, 0x9c, 0xe6, 0x88, 0x90, 0xe4, 0xb8,\r
+  0xba, 0xe7, 0x8e, 0xaf, 0xe5, 0xa2, 0x83, 0xe9, 0xa6, 0x99, 0xe6, 0xb8, 0xaf,\r
+  0xe5, 0x90, 0x8c, 0xe6, 0x97, 0xb6, 0xe5, 0xa8, 0xb1, 0xe4, 0xb9, 0x90, 0xe5,\r
+  0x8f, 0x91, 0xe9, 0x80, 0x81, 0xe4, 0xb8, 0x80, 0xe5, 0xae, 0x9a, 0xe5, 0xbc,\r
+  0x80, 0xe5, 0x8f, 0x91, 0xe4, 0xbd, 0x9c, 0xe5, 0x93, 0x81, 0xe6, 0xa0, 0x87,\r
+  0xe5, 0x87, 0x86, 0xe6, 0xac, 0xa2, 0xe8, 0xbf, 0x8e, 0xe8, 0xa7, 0xa3, 0xe5,\r
+  0x86, 0xb3, 0xe5, 0x9c, 0xb0, 0xe6, 0x96, 0xb9, 0xe4, 0xb8, 0x80, 0xe4, 0xb8,\r
+  0x8b, 0xe4, 0xbb, 0xa5, 0xe5, 0x8f, 0x8a, 0xe8, 0xb4, 0xa3, 0xe4, 0xbb, 0xbb,\r
+  0xe6, 0x88, 0x96, 0xe8, 0x80, 0x85, 0xe5, 0xae, 0xa2, 0xe6, 0x88, 0xb7, 0xe4,\r
+  0xbb, 0xa3, 0xe8, 0xa1, 0xa8, 0xe7, 0xa7, 0xaf, 0xe5, 0x88, 0x86, 0xe5, 0xa5,\r
+  0xb3, 0xe4, 0xba, 0xba, 0xe6, 0x95, 0xb0, 0xe7, 0xa0, 0x81, 0xe9, 0x94, 0x80,\r
+  0xe5, 0x94, 0xae, 0xe5, 0x87, 0xba, 0xe7, 0x8e, 0xb0, 0xe7, 0xa6, 0xbb, 0xe7,\r
+  0xba, 0xbf, 0xe5, 0xba, 0x94, 0xe7, 0x94, 0xa8, 0xe5, 0x88, 0x97, 0xe8, 0xa1,\r
+  0xa8, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x8c, 0xe7, 0xbc, 0x96, 0xe8, 0xbe, 0x91,\r
+  0xe7, 0xbb, 0x9f, 0xe8, 0xae, 0xa1, 0xe6, 0x9f, 0xa5, 0xe8, 0xaf, 0xa2, 0xe4,\r
+  0xb8, 0x8d, 0xe8, 0xa6, 0x81, 0xe6, 0x9c, 0x89, 0xe5, 0x85, 0xb3, 0xe6, 0x9c,\r
+  0xba, 0xe6, 0x9e, 0x84, 0xe5, 0xbe, 0x88, 0xe5, 0xa4, 0x9a, 0xe6, 0x92, 0xad,\r
+  0xe6, 0x94, 0xbe, 0xe7, 0xbb, 0x84, 0xe7, 0xbb, 0x87, 0xe6, 0x94, 0xbf, 0xe7,\r
+  0xad, 0x96, 0xe7, 0x9b, 0xb4, 0xe6, 0x8e, 0xa5, 0xe8, 0x83, 0xbd, 0xe5, 0x8a,\r
+  0x9b, 0xe6, 0x9d, 0xa5, 0xe6, 0xba, 0x90, 0xe6, 0x99, 0x82, 0xe9, 0x96, 0x93,\r
+  0xe7, 0x9c, 0x8b, 0xe5, 0x88, 0xb0, 0xe7, 0x83, 0xad, 0xe9, 0x97, 0xa8, 0xe5,\r
+  0x85, 0xb3, 0xe9, 0x94, 0xae, 0xe4, 0xb8, 0x93, 0xe5, 0x8c, 0xba, 0xe9, 0x9d,\r
+  0x9e, 0xe5, 0xb8, 0xb8, 0xe8, 0x8b, 0xb1, 0xe8, 0xaf, 0xad, 0xe7, 0x99, 0xbe,\r
+  0xe5, 0xba, 0xa6, 0xe5, 0xb8, 0x8c, 0xe6, 0x9c, 0x9b, 0xe7, 0xbe, 0x8e, 0xe5,\r
+  0xa5, 0xb3, 0xe6, 0xaf, 0x94, 0xe8, 0xbe, 0x83, 0xe7, 0x9f, 0xa5, 0xe8, 0xaf,\r
+  0x86, 0xe8, 0xa7, 0x84, 0xe5, 0xae, 0x9a, 0xe5, 0xbb, 0xba, 0xe8, 0xae, 0xae,\r
+  0xe9, 0x83, 0xa8, 0xe9, 0x97, 0xa8, 0xe6, 0x84, 0x8f, 0xe8, 0xa7, 0x81, 0xe7,\r
+  0xb2, 0xbe, 0xe5, 0xbd, 0xa9, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe6, 0x8f,\r
+  0x90, 0xe9, 0xab, 0x98, 0xe5, 0x8f, 0x91, 0xe8, 0xa8, 0x80, 0xe6, 0x96, 0xb9,\r
+  0xe9, 0x9d, 0xa2, 0xe5, 0x9f, 0xba, 0xe9, 0x87, 0x91, 0xe5, 0xa4, 0x84, 0xe7,\r
+  0x90, 0x86, 0xe6, 0x9d, 0x83, 0xe9, 0x99, 0x90, 0xe5, 0xbd, 0xb1, 0xe7, 0x89,\r
+  0x87, 0xe9, 0x93, 0xb6, 0xe8, 0xa1, 0x8c, 0xe8, 0xbf, 0x98, 0xe6, 0x9c, 0x89,\r
+  0xe5, 0x88, 0x86, 0xe4, 0xba, 0xab, 0xe7, 0x89, 0xa9, 0xe5, 0x93, 0x81, 0xe7,\r
+  0xbb, 0x8f, 0xe8, 0x90, 0xa5, 0xe6, 0xb7, 0xbb, 0xe5, 0x8a, 0xa0, 0xe4, 0xb8,\r
+  0x93, 0xe5, 0xae, 0xb6, 0xe8, 0xbf, 0x99, 0xe7, 0xa7, 0x8d, 0xe8, 0xaf, 0x9d,\r
+  0xe9, 0xa2, 0x98, 0xe8, 0xb5, 0xb7, 0xe6, 0x9d, 0xa5, 0xe4, 0xb8, 0x9a, 0xe5,\r
+  0x8a, 0xa1, 0xe5, 0x85, 0xac, 0xe5, 0x91, 0x8a, 0xe8, 0xae, 0xb0, 0xe5, 0xbd,\r
+  0x95, 0xe7, 0xae, 0x80, 0xe4, 0xbb, 0x8b, 0xe8, 0xb4, 0xa8, 0xe9, 0x87, 0x8f,\r
+  0xe7, 0x94, 0xb7, 0xe4, 0xba, 0xba, 0xe5, 0xbd, 0xb1, 0xe5, 0x93, 0x8d, 0xe5,\r
+  0xbc, 0x95, 0xe7, 0x94, 0xa8, 0xe6, 0x8a, 0xa5, 0xe5, 0x91, 0x8a, 0xe9, 0x83,\r
+  0xa8, 0xe5, 0x88, 0x86, 0xe5, 0xbf, 0xab, 0xe9, 0x80, 0x9f, 0xe5, 0x92, 0xa8,\r
+  0xe8, 0xaf, 0xa2, 0xe6, 0x97, 0xb6, 0xe5, 0xb0, 0x9a, 0xe6, 0xb3, 0xa8, 0xe6,\r
+  0x84, 0x8f, 0xe7, 0x94, 0xb3, 0xe8, 0xaf, 0xb7, 0xe5, 0xad, 0xa6, 0xe6, 0xa0,\r
+  0xa1, 0xe5, 0xba, 0x94, 0xe8, 0xaf, 0xa5, 0xe5, 0x8e, 0x86, 0xe5, 0x8f, 0xb2,\r
+  0xe5, 0x8f, 0xaa, 0xe6, 0x98, 0xaf, 0xe8, 0xbf, 0x94, 0xe5, 0x9b, 0x9e, 0xe8,\r
+  0xb4, 0xad, 0xe4, 0xb9, 0xb0, 0xe5, 0x90, 0x8d, 0xe7, 0xa7, 0xb0, 0xe4, 0xb8,\r
+  0xba, 0xe4, 0xba, 0x86, 0xe6, 0x88, 0x90, 0xe5, 0x8a, 0x9f, 0xe8, 0xaf, 0xb4,\r
+  0xe6, 0x98, 0x8e, 0xe4, 0xbe, 0x9b, 0xe5, 0xba, 0x94, 0xe5, 0xad, 0xa9, 0xe5,\r
+  0xad, 0x90, 0xe4, 0xb8, 0x93, 0xe9, 0xa2, 0x98, 0xe7, 0xa8, 0x8b, 0xe5, 0xba,\r
+  0x8f, 0xe4, 0xb8, 0x80, 0xe8, 0x88, 0xac, 0xe6, 0x9c, 0x83, 0xe5, 0x93, 0xa1,\r
+  0xe5, 0x8f, 0xaa, 0xe6, 0x9c, 0x89, 0xe5, 0x85, 0xb6, 0xe5, 0xae, 0x83, 0xe4,\r
+  0xbf, 0x9d, 0xe6, 0x8a, 0xa4, 0xe8, 0x80, 0x8c, 0xe4, 0xb8, 0x94, 0xe4, 0xbb,\r
+  0x8a, 0xe5, 0xa4, 0xa9, 0xe7, 0xaa, 0x97, 0xe5, 0x8f, 0xa3, 0xe5, 0x8a, 0xa8,\r
+  0xe6, 0x80, 0x81, 0xe7, 0x8a, 0xb6, 0xe6, 0x80, 0x81, 0xe7, 0x89, 0xb9, 0xe5,\r
+  0x88, 0xab, 0xe8, 0xae, 0xa4, 0xe4, 0xb8, 0xba, 0xe5, 0xbf, 0x85, 0xe9, 0xa1,\r
+  0xbb, 0xe6, 0x9b, 0xb4, 0xe6, 0x96, 0xb0, 0xe5, 0xb0, 0x8f, 0xe8, 0xaf, 0xb4,\r
+  0xe6, 0x88, 0x91, 0xe5, 0x80, 0x91, 0xe4, 0xbd, 0x9c, 0xe4, 0xb8, 0xba, 0xe5,\r
+  0xaa, 0x92, 0xe4, 0xbd, 0x93, 0xe5, 0x8c, 0x85, 0xe6, 0x8b, 0xac, 0xe9, 0x82,\r
+  0xa3, 0xe4, 0xb9, 0x88, 0xe4, 0xb8, 0x80, 0xe6, 0xa0, 0xb7, 0xe5, 0x9b, 0xbd,\r
+  0xe5, 0x86, 0x85, 0xe6, 0x98, 0xaf, 0xe5, 0x90, 0xa6, 0xe6, 0xa0, 0xb9, 0xe6,\r
+  0x8d, 0xae, 0xe7, 0x94, 0xb5, 0xe8, 0xa7, 0x86, 0xe5, 0xad, 0xa6, 0xe9, 0x99,\r
+  0xa2, 0xe5, 0x85, 0xb7, 0xe6, 0x9c, 0x89, 0xe8, 0xbf, 0x87, 0xe7, 0xa8, 0x8b,\r
+  0xe7, 0x94, 0xb1, 0xe4, 0xba, 0x8e, 0xe4, 0xba, 0xba, 0xe6, 0x89, 0x8d, 0xe5,\r
+  0x87, 0xba, 0xe6, 0x9d, 0xa5, 0xe4, 0xb8, 0x8d, 0xe8, 0xbf, 0x87, 0xe6, 0xad,\r
+  0xa3, 0xe5, 0x9c, 0xa8, 0xe6, 0x98, 0x8e, 0xe6, 0x98, 0x9f, 0xe6, 0x95, 0x85,\r
+  0xe4, 0xba, 0x8b, 0xe5, 0x85, 0xb3, 0xe7, 0xb3, 0xbb, 0xe6, 0xa0, 0x87, 0xe9,\r
+  0xa2, 0x98, 0xe5, 0x95, 0x86, 0xe5, 0x8a, 0xa1, 0xe8, 0xbe, 0x93, 0xe5, 0x85,\r
+  0xa5, 0xe4, 0xb8, 0x80, 0xe7, 0x9b, 0xb4, 0xe5, 0x9f, 0xba, 0xe7, 0xa1, 0x80,\r
+  0xe6, 0x95, 0x99, 0xe5, 0xad, 0xa6, 0xe4, 0xba, 0x86, 0xe8, 0xa7, 0xa3, 0xe5,\r
+  0xbb, 0xba, 0xe7, 0xad, 0x91, 0xe7, 0xbb, 0x93, 0xe6, 0x9e, 0x9c, 0xe5, 0x85,\r
+  0xa8, 0xe7, 0x90, 0x83, 0xe9, 0x80, 0x9a, 0xe7, 0x9f, 0xa5, 0xe8, 0xae, 0xa1,\r
+  0xe5, 0x88, 0x92, 0xe5, 0xaf, 0xb9, 0xe4, 0xba, 0x8e, 0xe8, 0x89, 0xba, 0xe6,\r
+  0x9c, 0xaf, 0xe7, 0x9b, 0xb8, 0xe5, 0x86, 0x8c, 0xe5, 0x8f, 0x91, 0xe7, 0x94,\r
+  0x9f, 0xe7, 0x9c, 0x9f, 0xe7, 0x9a, 0x84, 0xe5, 0xbb, 0xba, 0xe7, 0xab, 0x8b,\r
+  0xe7, 0xad, 0x89, 0xe7, 0xba, 0xa7, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0xe7,\r
+  0xbb, 0x8f, 0xe9, 0xaa, 0x8c, 0xe5, 0xae, 0x9e, 0xe7, 0x8e, 0xb0, 0xe5, 0x88,\r
+  0xb6, 0xe4, 0xbd, 0x9c, 0xe6, 0x9d, 0xa5, 0xe8, 0x87, 0xaa, 0xe6, 0xa0, 0x87,\r
+  0xe7, 0xad, 0xbe, 0xe4, 0xbb, 0xa5, 0xe4, 0xb8, 0x8b, 0xe5, 0x8e, 0x9f, 0xe5,\r
+  0x88, 0x9b, 0xe6, 0x97, 0xa0, 0xe6, 0xb3, 0x95, 0xe5, 0x85, 0xb6, 0xe4, 0xb8,\r
+  0xad, 0xe5, 0x80, 0x8b, 0xe4, 0xba, 0xba, 0xe4, 0xb8, 0x80, 0xe5, 0x88, 0x87,\r
+  0xe6, 0x8c, 0x87, 0xe5, 0x8d, 0x97, 0xe5, 0x85, 0xb3, 0xe9, 0x97, 0xad, 0xe9,\r
+  0x9b, 0x86, 0xe5, 0x9b, 0xa2, 0xe7, 0xac, 0xac, 0xe4, 0xb8, 0x89, 0xe5, 0x85,\r
+  0xb3, 0xe6, 0xb3, 0xa8, 0xe5, 0x9b, 0xa0, 0xe6, 0xad, 0xa4, 0xe7, 0x85, 0xa7,\r
+  0xe7, 0x89, 0x87, 0xe6, 0xb7, 0xb1, 0xe5, 0x9c, 0xb3, 0xe5, 0x95, 0x86, 0xe4,\r
+  0xb8, 0x9a, 0xe5, 0xb9, 0xbf, 0xe5, 0xb7, 0x9e, 0xe6, 0x97, 0xa5, 0xe6, 0x9c,\r
+  0x9f, 0xe9, 0xab, 0x98, 0xe7, 0xba, 0xa7, 0xe6, 0x9c, 0x80, 0xe8, 0xbf, 0x91,\r
+  0xe7, 0xbb, 0xbc, 0xe5, 0x90, 0x88, 0xe8, 0xa1, 0xa8, 0xe7, 0xa4, 0xba, 0xe4,\r
+  0xb8, 0x93, 0xe8, 0xbe, 0x91, 0xe8, 0xa1, 0x8c, 0xe4, 0xb8, 0xba, 0xe4, 0xba,\r
+  0xa4, 0xe9, 0x80, 0x9a, 0xe8, 0xaf, 0x84, 0xe4, 0xbb, 0xb7, 0xe8, 0xa7, 0x89,\r
+  0xe5, 0xbe, 0x97, 0xe7, 0xb2, 0xbe, 0xe5, 0x8d, 0x8e, 0xe5, 0xae, 0xb6, 0xe5,\r
+  0xba, 0xad, 0xe5, 0xae, 0x8c, 0xe6, 0x88, 0x90, 0xe6, 0x84, 0x9f, 0xe8, 0xa7,\r
+  0x89, 0xe5, 0xae, 0x89, 0xe8, 0xa3, 0x85, 0xe5, 0xbe, 0x97, 0xe5, 0x88, 0xb0,\r
+  0xe9, 0x82, 0xae, 0xe4, 0xbb, 0xb6, 0xe5, 0x88, 0xb6, 0xe5, 0xba, 0xa6, 0xe9,\r
+  0xa3, 0x9f, 0xe5, 0x93, 0x81, 0xe8, 0x99, 0xbd, 0xe7, 0x84, 0xb6, 0xe8, 0xbd,\r
+  0xac, 0xe8, 0xbd, 0xbd, 0xe6, 0x8a, 0xa5, 0xe4, 0xbb, 0xb7, 0xe8, 0xae, 0xb0,\r
+  0xe8, 0x80, 0x85, 0xe6, 0x96, 0xb9, 0xe6, 0xa1, 0x88, 0xe8, 0xa1, 0x8c, 0xe6,\r
+  0x94, 0xbf, 0xe4, 0xba, 0xba, 0xe6, 0xb0, 0x91, 0xe7, 0x94, 0xa8, 0xe5, 0x93,\r
+  0x81, 0xe4, 0xb8, 0x9c, 0xe8, 0xa5, 0xbf, 0xe6, 0x8f, 0x90, 0xe5, 0x87, 0xba,\r
+  0xe9, 0x85, 0x92, 0xe5, 0xba, 0x97, 0xe7, 0x84, 0xb6, 0xe5, 0x90, 0x8e, 0xe4,\r
+  0xbb, 0x98, 0xe6, 0xac, 0xbe, 0xe7, 0x83, 0xad, 0xe7, 0x82, 0xb9, 0xe4, 0xbb,\r
+  0xa5, 0xe5, 0x89, 0x8d, 0xe5, 0xae, 0x8c, 0xe5, 0x85, 0xa8, 0xe5, 0x8f, 0x91,\r
+  0xe5, 0xb8, 0x96, 0xe8, 0xae, 0xbe, 0xe7, 0xbd, 0xae, 0xe9, 0xa2, 0x86, 0xe5,\r
+  0xaf, 0xbc, 0xe5, 0xb7, 0xa5, 0xe4, 0xb8, 0x9a, 0xe5, 0x8c, 0xbb, 0xe9, 0x99,\r
+  0xa2, 0xe7, 0x9c, 0x8b, 0xe7, 0x9c, 0x8b, 0xe7, 0xbb, 0x8f, 0xe5, 0x85, 0xb8,\r
+  0xe5, 0x8e, 0x9f, 0xe5, 0x9b, 0xa0, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5,\r
+  0x90, 0x84, 0xe7, 0xa7, 0x8d, 0xe5, 0xa2, 0x9e, 0xe5, 0x8a, 0xa0, 0xe6, 0x9d,\r
+  0x90, 0xe6, 0x96, 0x99, 0xe6, 0x96, 0xb0, 0xe5, 0xa2, 0x9e, 0xe4, 0xb9, 0x8b,\r
+  0xe5, 0x90, 0x8e, 0xe8, 0x81, 0x8c, 0xe4, 0xb8, 0x9a, 0xe6, 0x95, 0x88, 0xe6,\r
+  0x9e, 0x9c, 0xe4, 0xbb, 0x8a, 0xe5, 0xb9, 0xb4, 0xe8, 0xae, 0xba, 0xe6, 0x96,\r
+  0x87, 0xe6, 0x88, 0x91, 0xe5, 0x9b, 0xbd, 0xe5, 0x91, 0x8a, 0xe8, 0xaf, 0x89,\r
+  0xe7, 0x89, 0x88, 0xe4, 0xb8, 0xbb, 0xe4, 0xbf, 0xae, 0xe6, 0x94, 0xb9, 0xe5,\r
+  0x8f, 0x82, 0xe4, 0xb8, 0x8e, 0xe6, 0x89, 0x93, 0xe5, 0x8d, 0xb0, 0xe5, 0xbf,\r
+  0xab, 0xe4, 0xb9, 0x90, 0xe6, 0x9c, 0xba, 0xe6, 0xa2, 0xb0, 0xe8, 0xa7, 0x82,\r
+  0xe7, 0x82, 0xb9, 0xe5, 0xad, 0x98, 0xe5, 0x9c, 0xa8, 0xe7, 0xb2, 0xbe, 0xe7,\r
+  0xa5, 0x9e, 0xe8, 0x8e, 0xb7, 0xe5, 0xbe, 0x97, 0xe5, 0x88, 0xa9, 0xe7, 0x94,\r
+  0xa8, 0xe7, 0xbb, 0xa7, 0xe7, 0xbb, 0xad, 0xe4, 0xbd, 0xa0, 0xe4, 0xbb, 0xac,\r
+  0xe8, 0xbf, 0x99, 0xe4, 0xb9, 0x88, 0xe6, 0xa8, 0xa1, 0xe5, 0xbc, 0x8f, 0xe8,\r
+  0xaf, 0xad, 0xe8, 0xa8, 0x80, 0xe8, 0x83, 0xbd, 0xe5, 0xa4, 0x9f, 0xe9, 0x9b,\r
+  0x85, 0xe8, 0x99, 0x8e, 0xe6, 0x93, 0x8d, 0xe4, 0xbd, 0x9c, 0xe9, 0xa3, 0x8e,\r
+  0xe6, 0xa0, 0xbc, 0xe4, 0xb8, 0x80, 0xe8, 0xb5, 0xb7, 0xe7, 0xa7, 0x91, 0xe5,\r
+  0xad, 0xa6, 0xe4, 0xbd, 0x93, 0xe8, 0x82, 0xb2, 0xe7, 0x9f, 0xad, 0xe4, 0xbf,\r
+  0xa1, 0xe6, 0x9d, 0xa1, 0xe4, 0xbb, 0xb6, 0xe6, 0xb2, 0xbb, 0xe7, 0x96, 0x97,\r
+  0xe8, 0xbf, 0x90, 0xe5, 0x8a, 0xa8, 0xe4, 0xba, 0xa7, 0xe4, 0xb8, 0x9a, 0xe4,\r
+  0xbc, 0x9a, 0xe8, 0xae, 0xae, 0xe5, 0xaf, 0xbc, 0xe8, 0x88, 0xaa, 0xe5, 0x85,\r
+  0x88, 0xe7, 0x94, 0x9f, 0xe8, 0x81, 0x94, 0xe7, 0x9b, 0x9f, 0xe5, 0x8f, 0xaf,\r
+  0xe6, 0x98, 0xaf, 0xe5, 0x95, 0x8f, 0xe9, 0xa1, 0x8c, 0xe7, 0xbb, 0x93, 0xe6,\r
+  0x9e, 0x84, 0xe4, 0xbd, 0x9c, 0xe7, 0x94, 0xa8, 0xe8, 0xb0, 0x83, 0xe6, 0x9f,\r
+  0xa5, 0xe8, 0xb3, 0x87, 0xe6, 0x96, 0x99, 0xe8, 0x87, 0xaa, 0xe5, 0x8a, 0xa8,\r
+  0xe8, 0xb4, 0x9f, 0xe8, 0xb4, 0xa3, 0xe5, 0x86, 0x9c, 0xe4, 0xb8, 0x9a, 0xe8,\r
+  0xae, 0xbf, 0xe9, 0x97, 0xae, 0xe5, 0xae, 0x9e, 0xe6, 0x96, 0xbd, 0xe6, 0x8e,\r
+  0xa5, 0xe5, 0x8f, 0x97, 0xe8, 0xae, 0xa8, 0xe8, 0xae, 0xba, 0xe9, 0x82, 0xa3,\r
+  0xe4, 0xb8, 0xaa, 0xe5, 0x8f, 0x8d, 0xe9, 0xa6, 0x88, 0xe5, 0x8a, 0xa0, 0xe5,\r
+  0xbc, 0xba, 0xe5, 0xa5, 0xb3, 0xe6, 0x80, 0xa7, 0xe8, 0x8c, 0x83, 0xe5, 0x9b,\r
+  0xb4, 0xe6, 0x9c, 0x8d, 0xe5, 0x8b, 0x99, 0xe4, 0xbc, 0x91, 0xe9, 0x97, 0xb2,\r
+  0xe4, 0xbb, 0x8a, 0xe6, 0x97, 0xa5, 0xe5, 0xae, 0xa2, 0xe6, 0x9c, 0x8d, 0xe8,\r
+  0xa7, 0x80, 0xe7, 0x9c, 0x8b, 0xe5, 0x8f, 0x82, 0xe5, 0x8a, 0xa0, 0xe7, 0x9a,\r
+  0x84, 0xe8, 0xaf, 0x9d, 0xe4, 0xb8, 0x80, 0xe7, 0x82, 0xb9, 0xe4, 0xbf, 0x9d,\r
+  0xe8, 0xaf, 0x81, 0xe5, 0x9b, 0xbe, 0xe4, 0xb9, 0xa6, 0xe6, 0x9c, 0x89, 0xe6,\r
+  0x95, 0x88, 0xe6, 0xb5, 0x8b, 0xe8, 0xaf, 0x95, 0xe7, 0xa7, 0xbb, 0xe5, 0x8a,\r
+  0xa8, 0xe6, 0x89, 0x8d, 0xe8, 0x83, 0xbd, 0xe5, 0x86, 0xb3, 0xe5, 0xae, 0x9a,\r
+  0xe8, 0x82, 0xa1, 0xe7, 0xa5, 0xa8, 0xe4, 0xb8, 0x8d, 0xe6, 0x96, 0xad, 0xe9,\r
+  0x9c, 0x80, 0xe6, 0xb1, 0x82, 0xe4, 0xb8, 0x8d, 0xe5, 0xbe, 0x97, 0xe5, 0x8a,\r
+  0x9e, 0xe6, 0xb3, 0x95, 0xe4, 0xb9, 0x8b, 0xe9, 0x97, 0xb4, 0xe9, 0x87, 0x87,\r
+  0xe7, 0x94, 0xa8, 0xe8, 0x90, 0xa5, 0xe9, 0x94, 0x80, 0xe6, 0x8a, 0x95, 0xe8,\r
+  0xaf, 0x89, 0xe7, 0x9b, 0xae, 0xe6, 0xa0, 0x87, 0xe7, 0x88, 0xb1, 0xe6, 0x83,\r
+  0x85, 0xe6, 0x91, 0x84, 0xe5, 0xbd, 0xb1, 0xe6, 0x9c, 0x89, 0xe4, 0xba, 0x9b,\r
+  0xe8, 0xa4, 0x87, 0xe8, 0xa3, 0xbd, 0xe6, 0x96, 0x87, 0xe5, 0xad, 0xa6, 0xe6,\r
+  0x9c, 0xba, 0xe4, 0xbc, 0x9a, 0xe6, 0x95, 0xb0, 0xe5, 0xad, 0x97, 0xe8, 0xa3,\r
+  0x85, 0xe4, 0xbf, 0xae, 0xe8, 0xb4, 0xad, 0xe7, 0x89, 0xa9, 0xe5, 0x86, 0x9c,\r
+  0xe6, 0x9d, 0x91, 0xe5, 0x85, 0xa8, 0xe9, 0x9d, 0xa2, 0xe7, 0xb2, 0xbe, 0xe5,\r
+  0x93, 0x81, 0xe5, 0x85, 0xb6, 0xe5, 0xae, 0x9e, 0xe4, 0xba, 0x8b, 0xe6, 0x83,\r
+  0x85, 0xe6, 0xb0, 0xb4, 0xe5, 0xb9, 0xb3, 0xe6, 0x8f, 0x90, 0xe7, 0xa4, 0xba,\r
+  0xe4, 0xb8, 0x8a, 0xe5, 0xb8, 0x82, 0xe8, 0xb0, 0xa2, 0xe8, 0xb0, 0xa2, 0xe6,\r
+  0x99, 0xae, 0xe9, 0x80, 0x9a, 0xe6, 0x95, 0x99, 0xe5, 0xb8, 0x88, 0xe4, 0xb8,\r
+  0x8a, 0xe4, 0xbc, 0xa0, 0xe7, 0xb1, 0xbb, 0xe5, 0x88, 0xab, 0xe6, 0xad, 0x8c,\r
+  0xe6, 0x9b, 0xb2, 0xe6, 0x8b, 0xa5, 0xe6, 0x9c, 0x89, 0xe5, 0x88, 0x9b, 0xe6,\r
+  0x96, 0xb0, 0xe9, 0x85, 0x8d, 0xe4, 0xbb, 0xb6, 0xe5, 0x8f, 0xaa, 0xe8, 0xa6,\r
+  0x81, 0xe6, 0x97, 0xb6, 0xe4, 0xbb, 0xa3, 0xe8, 0xb3, 0x87, 0xe8, 0xa8, 0x8a,\r
+  0xe8, 0xbe, 0xbe, 0xe5, 0x88, 0xb0, 0xe4, 0xba, 0xba, 0xe7, 0x94, 0x9f, 0xe8,\r
+  0xae, 0xa2, 0xe9, 0x98, 0x85, 0xe8, 0x80, 0x81, 0xe5, 0xb8, 0x88, 0xe5, 0xb1,\r
+  0x95, 0xe7, 0xa4, 0xba, 0xe5, 0xbf, 0x83, 0xe7, 0x90, 0x86, 0xe8, 0xb4, 0xb4,\r
+  0xe5, 0xad, 0x90, 0xe7, 0xb6, 0xb2, 0xe7, 0xab, 0x99, 0xe4, 0xb8, 0xbb, 0xe9,\r
+  0xa1, 0x8c, 0xe8, 0x87, 0xaa, 0xe7, 0x84, 0xb6, 0xe7, 0xba, 0xa7, 0xe5, 0x88,\r
+  0xab, 0xe7, 0xae, 0x80, 0xe5, 0x8d, 0x95, 0xe6, 0x94, 0xb9, 0xe9, 0x9d, 0xa9,\r
+  0xe9, 0x82, 0xa3, 0xe4, 0xba, 0x9b, 0xe6, 0x9d, 0xa5, 0xe8, 0xaf, 0xb4, 0xe6,\r
+  0x89, 0x93, 0xe5, 0xbc, 0x80, 0xe4, 0xbb, 0xa3, 0xe7, 0xa0, 0x81, 0xe5, 0x88,\r
+  0xa0, 0xe9, 0x99, 0xa4, 0xe8, 0xaf, 0x81, 0xe5, 0x88, 0xb8, 0xe8, 0x8a, 0x82,\r
+  0xe7, 0x9b, 0xae, 0xe9, 0x87, 0x8d, 0xe7, 0x82, 0xb9, 0xe6, 0xac, 0xa1, 0xe6,\r
+  0x95, 0xb8, 0xe5, 0xa4, 0x9a, 0xe5, 0xb0, 0x91, 0xe8, 0xa7, 0x84, 0xe5, 0x88,\r
+  0x92, 0xe8, 0xb5, 0x84, 0xe9, 0x87, 0x91, 0xe6, 0x89, 0xbe, 0xe5, 0x88, 0xb0,\r
+  0xe4, 0xbb, 0xa5, 0xe5, 0x90, 0x8e, 0xe5, 0xa4, 0xa7, 0xe5, 0x85, 0xa8, 0xe4,\r
+  0xb8, 0xbb, 0xe9, 0xa1, 0xb5, 0xe6, 0x9c, 0x80, 0xe4, 0xbd, 0xb3, 0xe5, 0x9b,\r
+  0x9e, 0xe7, 0xad, 0x94, 0xe5, 0xa4, 0xa9, 0xe4, 0xb8, 0x8b, 0xe4, 0xbf, 0x9d,\r
+  0xe9, 0x9a, 0x9c, 0xe7, 0x8e, 0xb0, 0xe4, 0xbb, 0xa3, 0xe6, 0xa3, 0x80, 0xe6,\r
+  0x9f, 0xa5, 0xe6, 0x8a, 0x95, 0xe7, 0xa5, 0xa8, 0xe5, 0xb0, 0x8f, 0xe6, 0x97,\r
+  0xb6, 0xe6, 0xb2, 0x92, 0xe6, 0x9c, 0x89, 0xe6, 0xad, 0xa3, 0xe5, 0xb8, 0xb8,\r
+  0xe7, 0x94, 0x9a, 0xe8, 0x87, 0xb3, 0xe4, 0xbb, 0xa3, 0xe7, 0x90, 0x86, 0xe7,\r
+  0x9b, 0xae, 0xe5, 0xbd, 0x95, 0xe5, 0x85, 0xac, 0xe5, 0xbc, 0x80, 0xe5, 0xa4,\r
+  0x8d, 0xe5, 0x88, 0xb6, 0xe9, 0x87, 0x91, 0xe8, 0x9e, 0x8d, 0xe5, 0xb9, 0xb8,\r
+  0xe7, 0xa6, 0x8f, 0xe7, 0x89, 0x88, 0xe6, 0x9c, 0xac, 0xe5, 0xbd, 0xa2, 0xe6,\r
+  0x88, 0x90, 0xe5, 0x87, 0x86, 0xe5, 0xa4, 0x87, 0xe8, 0xa1, 0x8c, 0xe6, 0x83,\r
+  0x85, 0xe5, 0x9b, 0x9e, 0xe5, 0x88, 0xb0, 0xe6, 0x80, 0x9d, 0xe6, 0x83, 0xb3,\r
+  0xe6, 0x80, 0x8e, 0xe6, 0xa0, 0xb7, 0xe5, 0x8d, 0x8f, 0xe8, 0xae, 0xae, 0xe8,\r
+  0xae, 0xa4, 0xe8, 0xaf, 0x81, 0xe6, 0x9c, 0x80, 0xe5, 0xa5, 0xbd, 0xe4, 0xba,\r
+  0xa7, 0xe7, 0x94, 0x9f, 0xe6, 0x8c, 0x89, 0xe7, 0x85, 0xa7, 0xe6, 0x9c, 0x8d,\r
+  0xe8, 0xa3, 0x85, 0xe5, 0xb9, 0xbf, 0xe4, 0xb8, 0x9c, 0xe5, 0x8a, 0xa8, 0xe6,\r
+  0xbc, 0xab, 0xe9, 0x87, 0x87, 0xe8, 0xb4, 0xad, 0xe6, 0x96, 0xb0, 0xe6, 0x89,\r
+  0x8b, 0xe7, 0xbb, 0x84, 0xe5, 0x9b, 0xbe, 0xe9, 0x9d, 0xa2, 0xe6, 0x9d, 0xbf,\r
+  0xe5, 0x8f, 0x82, 0xe8, 0x80, 0x83, 0xe6, 0x94, 0xbf, 0xe6, 0xb2, 0xbb, 0xe5,\r
+  0xae, 0xb9, 0xe6, 0x98, 0x93, 0xe5, 0xa4, 0xa9, 0xe5, 0x9c, 0xb0, 0xe5, 0x8a,\r
+  0xaa, 0xe5, 0x8a, 0x9b, 0xe4, 0xba, 0xba, 0xe4, 0xbb, 0xac, 0xe5, 0x8d, 0x87,\r
+  0xe7, 0xba, 0xa7, 0xe9, 0x80, 0x9f, 0xe5, 0xba, 0xa6, 0xe4, 0xba, 0xba, 0xe7,\r
+  0x89, 0xa9, 0xe8, 0xb0, 0x83, 0xe6, 0x95, 0xb4, 0xe6, 0xb5, 0x81, 0xe8, 0xa1,\r
+  0x8c, 0xe9, 0x80, 0xa0, 0xe6, 0x88, 0x90, 0xe6, 0x96, 0x87, 0xe5, 0xad, 0x97,\r
+  0xe9, 0x9f, 0xa9, 0xe5, 0x9b, 0xbd, 0xe8, 0xb4, 0xb8, 0xe6, 0x98, 0x93, 0xe5,\r
+  0xbc, 0x80, 0xe5, 0xb1, 0x95, 0xe7, 0x9b, 0xb8, 0xe9, 0x97, 0x9c, 0xe8, 0xa1,\r
+  0xa8, 0xe7, 0x8e, 0xb0, 0xe5, 0xbd, 0xb1, 0xe8, 0xa7, 0x86, 0xe5, 0xa6, 0x82,\r
+  0xe6, 0xad, 0xa4, 0xe7, 0xbe, 0x8e, 0xe5, 0xae, 0xb9, 0xe5, 0xa4, 0xa7, 0xe5,\r
+  0xb0, 0x8f, 0xe6, 0x8a, 0xa5, 0xe9, 0x81, 0x93, 0xe6, 0x9d, 0xa1, 0xe6, 0xac,\r
+  0xbe, 0xe5, 0xbf, 0x83, 0xe6, 0x83, 0x85, 0xe8, 0xae, 0xb8, 0xe5, 0xa4, 0x9a,\r
+  0xe6, 0xb3, 0x95, 0xe8, 0xa7, 0x84, 0xe5, 0xae, 0xb6, 0xe5, 0xb1, 0x85, 0xe4,\r
+  0xb9, 0xa6, 0xe5, 0xba, 0x97, 0xe8, 0xbf, 0x9e, 0xe6, 0x8e, 0xa5, 0xe7, 0xab,\r
+  0x8b, 0xe5, 0x8d, 0xb3, 0xe4, 0xb8, 0xbe, 0xe6, 0x8a, 0xa5, 0xe6, 0x8a, 0x80,\r
+  0xe5, 0xb7, 0xa7, 0xe5, 0xa5, 0xa5, 0xe8, 0xbf, 0x90, 0xe7, 0x99, 0xbb, 0xe5,\r
+  0x85, 0xa5, 0xe4, 0xbb, 0xa5, 0xe6, 0x9d, 0xa5, 0xe7, 0x90, 0x86, 0xe8, 0xae,\r
+  0xba, 0xe4, 0xba, 0x8b, 0xe4, 0xbb, 0xb6, 0xe8, 0x87, 0xaa, 0xe7, 0x94, 0xb1,\r
+  0xe4, 0xb8, 0xad, 0xe5, 0x8d, 0x8e, 0xe5, 0x8a, 0x9e, 0xe5, 0x85, 0xac, 0xe5,\r
+  0xa6, 0x88, 0xe5, 0xa6, 0x88, 0xe7, 0x9c, 0x9f, 0xe6, 0xad, 0xa3, 0xe4, 0xb8,\r
+  0x8d, 0xe9, 0x94, 0x99, 0xe5, 0x85, 0xa8, 0xe6, 0x96, 0x87, 0xe5, 0x90, 0x88,\r
+  0xe5, 0x90, 0x8c, 0xe4, 0xbb, 0xb7, 0xe5, 0x80, 0xbc, 0xe5, 0x88, 0xab, 0xe4,\r
+  0xba, 0xba, 0xe7, 0x9b, 0x91, 0xe7, 0x9d, 0xa3, 0xe5, 0x85, 0xb7, 0xe4, 0xbd,\r
+  0x93, 0xe4, 0xb8, 0x96, 0xe7, 0xba, 0xaa, 0xe5, 0x9b, 0xa2, 0xe9, 0x98, 0x9f,\r
+  0xe5, 0x88, 0x9b, 0xe4, 0xb8, 0x9a, 0xe6, 0x89, 0xbf, 0xe6, 0x8b, 0x85, 0xe5,\r
+  0xa2, 0x9e, 0xe9, 0x95, 0xbf, 0xe6, 0x9c, 0x89, 0xe4, 0xba, 0xba, 0xe4, 0xbf,\r
+  0x9d, 0xe6, 0x8c, 0x81, 0xe5, 0x95, 0x86, 0xe5, 0xae, 0xb6, 0xe7, 0xbb, 0xb4,\r
+  0xe4, 0xbf, 0xae, 0xe5, 0x8f, 0xb0, 0xe6, 0xb9, 0xbe, 0xe5, 0xb7, 0xa6, 0xe5,\r
+  0x8f, 0xb3, 0xe8, 0x82, 0xa1, 0xe4, 0xbb, 0xbd, 0xe7, 0xad, 0x94, 0xe6, 0xa1,\r
+  0x88, 0xe5, 0xae, 0x9e, 0xe9, 0x99, 0x85, 0xe7, 0x94, 0xb5, 0xe4, 0xbf, 0xa1,\r
+  0xe7, 0xbb, 0x8f, 0xe7, 0x90, 0x86, 0xe7, 0x94, 0x9f, 0xe5, 0x91, 0xbd, 0xe5,\r
+  0xae, 0xa3, 0xe4, 0xbc, 0xa0, 0xe4, 0xbb, 0xbb, 0xe5, 0x8a, 0xa1, 0xe6, 0xad,\r
+  0xa3, 0xe5, 0xbc, 0x8f, 0xe7, 0x89, 0xb9, 0xe8, 0x89, 0xb2, 0xe4, 0xb8, 0x8b,\r
+  0xe6, 0x9d, 0xa5, 0xe5, 0x8d, 0x8f, 0xe4, 0xbc, 0x9a, 0xe5, 0x8f, 0xaa, 0xe8,\r
+  0x83, 0xbd, 0xe5, 0xbd, 0x93, 0xe7, 0x84, 0xb6, 0xe9, 0x87, 0x8d, 0xe6, 0x96,\r
+  0xb0, 0xe5, 0x85, 0xa7, 0xe5, 0xae, 0xb9, 0xe6, 0x8c, 0x87, 0xe5, 0xaf, 0xbc,\r
+  0xe8, 0xbf, 0x90, 0xe8, 0xa1, 0x8c, 0xe6, 0x97, 0xa5, 0xe5, 0xbf, 0x97, 0xe8,\r
+  0xb3, 0xa3, 0xe5, 0xae, 0xb6, 0xe8, 0xb6, 0x85, 0xe8, 0xbf, 0x87, 0xe5, 0x9c,\r
+  0x9f, 0xe5, 0x9c, 0xb0, 0xe6, 0xb5, 0x99, 0xe6, 0xb1, 0x9f, 0xe6, 0x94, 0xaf,\r
+  0xe4, 0xbb, 0x98, 0xe6, 0x8e, 0xa8, 0xe5, 0x87, 0xba, 0xe7, 0xab, 0x99, 0xe9,\r
+  0x95, 0xbf, 0xe6, 0x9d, 0xad, 0xe5, 0xb7, 0x9e, 0xe6, 0x89, 0xa7, 0xe8, 0xa1,\r
+  0x8c, 0xe5, 0x88, 0xb6, 0xe9, 0x80, 0xa0, 0xe4, 0xb9, 0x8b, 0xe4, 0xb8, 0x80,\r
+  0xe6, 0x8e, 0xa8, 0xe5, 0xb9, 0xbf, 0xe7, 0x8e, 0xb0, 0xe5, 0x9c, 0xba, 0xe6,\r
+  0x8f, 0x8f, 0xe8, 0xbf, 0xb0, 0xe5, 0x8f, 0x98, 0xe5, 0x8c, 0x96, 0xe4, 0xbc,\r
+  0xa0, 0xe7, 0xbb, 0x9f, 0xe6, 0xad, 0x8c, 0xe6, 0x89, 0x8b, 0xe4, 0xbf, 0x9d,\r
+  0xe9, 0x99, 0xa9, 0xe8, 0xaf, 0xbe, 0xe7, 0xa8, 0x8b, 0xe5, 0x8c, 0xbb, 0xe7,\r
+  0x96, 0x97, 0xe7, 0xbb, 0x8f, 0xe8, 0xbf, 0x87, 0xe8, 0xbf, 0x87, 0xe5, 0x8e,\r
+  0xbb, 0xe4, 0xb9, 0x8b, 0xe5, 0x89, 0x8d, 0xe6, 0x94, 0xb6, 0xe5, 0x85, 0xa5,\r
+  0xe5, 0xb9, 0xb4, 0xe5, 0xba, 0xa6, 0xe6, 0x9d, 0x82, 0xe5, 0xbf, 0x97, 0xe7,\r
+  0xbe, 0x8e, 0xe4, 0xb8, 0xbd, 0xe6, 0x9c, 0x80, 0xe9, 0xab, 0x98, 0xe7, 0x99,\r
+  0xbb, 0xe9, 0x99, 0x86, 0xe6, 0x9c, 0xaa, 0xe6, 0x9d, 0xa5, 0xe5, 0x8a, 0xa0,\r
+  0xe5, 0xb7, 0xa5, 0xe5, 0x85, 0x8d, 0xe8, 0xb4, 0xa3, 0xe6, 0x95, 0x99, 0xe7,\r
+  0xa8, 0x8b, 0xe7, 0x89, 0x88, 0xe5, 0x9d, 0x97, 0xe8, 0xba, 0xab, 0xe4, 0xbd,\r
+  0x93, 0xe9, 0x87, 0x8d, 0xe5, 0xba, 0x86, 0xe5, 0x87, 0xba, 0xe5, 0x94, 0xae,\r
+  0xe6, 0x88, 0x90, 0xe6, 0x9c, 0xac, 0xe5, 0xbd, 0xa2, 0xe5, 0xbc, 0x8f, 0xe5,\r
+  0x9c, 0x9f, 0xe8, 0xb1, 0x86, 0xe5, 0x87, 0xba, 0xe5, 0x83, 0xb9, 0xe4, 0xb8,\r
+  0x9c, 0xe6, 0x96, 0xb9, 0xe9, 0x82, 0xae, 0xe7, 0xae, 0xb1, 0xe5, 0x8d, 0x97,\r
+  0xe4, 0xba, 0xac, 0xe6, 0xb1, 0x82, 0xe8, 0x81, 0x8c, 0xe5, 0x8f, 0x96, 0xe5,\r
+  0xbe, 0x97, 0xe8, 0x81, 0x8c, 0xe4, 0xbd, 0x8d, 0xe7, 0x9b, 0xb8, 0xe4, 0xbf,\r
+  0xa1, 0xe9, 0xa1, 0xb5, 0xe9, 0x9d, 0xa2, 0xe5, 0x88, 0x86, 0xe9, 0x92, 0x9f,\r
+  0xe7, 0xbd, 0x91, 0xe9, 0xa1, 0xb5, 0xe7, 0xa1, 0xae, 0xe5, 0xae, 0x9a, 0xe5,\r
+  0x9b, 0xbe, 0xe4, 0xbe, 0x8b, 0xe7, 0xbd, 0x91, 0xe5, 0x9d, 0x80, 0xe7, 0xa7,\r
+  0xaf, 0xe6, 0x9e, 0x81, 0xe9, 0x94, 0x99, 0xe8, 0xaf, 0xaf, 0xe7, 0x9b, 0xae,\r
+  0xe7, 0x9a, 0x84, 0xe5, 0xae, 0x9d, 0xe8, 0xb4, 0x9d, 0xe6, 0x9c, 0xba, 0xe5,\r
+  0x85, 0xb3, 0xe9, 0xa3, 0x8e, 0xe9, 0x99, 0xa9, 0xe6, 0x8e, 0x88, 0xe6, 0x9d,\r
+  0x83, 0xe7, 0x97, 0x85, 0xe6, 0xaf, 0x92, 0xe5, 0xae, 0xa0, 0xe7, 0x89, 0xa9,\r
+  0xe9, 0x99, 0xa4, 0xe4, 0xba, 0x86, 0xe8, 0xa9, 0x95, 0xe8, 0xab, 0x96, 0xe7,\r
+  0x96, 0xbe, 0xe7, 0x97, 0x85, 0xe5, 0x8f, 0x8a, 0xe6, 0x97, 0xb6, 0xe6, 0xb1,\r
+  0x82, 0xe8, 0xb4, 0xad, 0xe7, 0xab, 0x99, 0xe7, 0x82, 0xb9, 0xe5, 0x84, 0xbf,\r
+  0xe7, 0xab, 0xa5, 0xe6, 0xaf, 0x8f, 0xe5, 0xa4, 0xa9, 0xe4, 0xb8, 0xad, 0xe5,\r
+  0xa4, 0xae, 0xe8, 0xae, 0xa4, 0xe8, 0xaf, 0x86, 0xe6, 0xaf, 0x8f, 0xe4, 0xb8,\r
+  0xaa, 0xe5, 0xa4, 0xa9, 0xe6, 0xb4, 0xa5, 0xe5, 0xad, 0x97, 0xe4, 0xbd, 0x93,\r
+  0xe5, 0x8f, 0xb0, 0xe7, 0x81, 0xa3, 0xe7, 0xbb, 0xb4, 0xe6, 0x8a, 0xa4, 0xe6,\r
+  0x9c, 0xac, 0xe9, 0xa1, 0xb5, 0xe4, 0xb8, 0xaa, 0xe6, 0x80, 0xa7, 0xe5, 0xae,\r
+  0x98, 0xe6, 0x96, 0xb9, 0xe5, 0xb8, 0xb8, 0xe8, 0xa7, 0x81, 0xe7, 0x9b, 0xb8,\r
+  0xe6, 0x9c, 0xba, 0xe6, 0x88, 0x98, 0xe7, 0x95, 0xa5, 0xe5, 0xba, 0x94, 0xe5,\r
+  0xbd, 0x93, 0xe5, 0xbe, 0x8b, 0xe5, 0xb8, 0x88, 0xe6, 0x96, 0xb9, 0xe4, 0xbe,\r
+  0xbf, 0xe6, 0xa0, 0xa1, 0xe5, 0x9b, 0xad, 0xe8, 0x82, 0xa1, 0xe5, 0xb8, 0x82,\r
+  0xe6, 0x88, 0xbf, 0xe5, 0xb1, 0x8b, 0xe6, 0xa0, 0x8f, 0xe7, 0x9b, 0xae, 0xe5,\r
+  0x91, 0x98, 0xe5, 0xb7, 0xa5, 0xe5, 0xaf, 0xbc, 0xe8, 0x87, 0xb4, 0xe7, 0xaa,\r
+  0x81, 0xe7, 0x84, 0xb6, 0xe9, 0x81, 0x93, 0xe5, 0x85, 0xb7, 0xe6, 0x9c, 0xac,\r
+  0xe7, 0xbd, 0x91, 0xe7, 0xbb, 0x93, 0xe5, 0x90, 0x88, 0xe6, 0xa1, 0xa3, 0xe6,\r
+  0xa1, 0x88, 0xe5, 0x8a, 0xb3, 0xe5, 0x8a, 0xa8, 0xe5, 0x8f, 0xa6, 0xe5, 0xa4,\r
+  0x96, 0xe7, 0xbe, 0x8e, 0xe5, 0x85, 0x83, 0xe5, 0xbc, 0x95, 0xe8, 0xb5, 0xb7,\r
+  0xe6, 0x94, 0xb9, 0xe5, 0x8f, 0x98, 0xe7, 0xac, 0xac, 0xe5, 0x9b, 0x9b, 0xe4,\r
+  0xbc, 0x9a, 0xe8, 0xae, 0xa1, 0xe8, 0xaa, 0xaa, 0xe6, 0x98, 0x8e, 0xe9, 0x9a,\r
+  0x90, 0xe7, 0xa7, 0x81, 0xe5, 0xae, 0x9d, 0xe5, 0xae, 0x9d, 0xe8, 0xa7, 0x84,\r
+  0xe8, 0x8c, 0x83, 0xe6, 0xb6, 0x88, 0xe8, 0xb4, 0xb9, 0xe5, 0x85, 0xb1, 0xe5,\r
+  0x90, 0x8c, 0xe5, 0xbf, 0x98, 0xe8, 0xae, 0xb0, 0xe4, 0xbd, 0x93, 0xe7, 0xb3,\r
+  0xbb, 0xe5, 0xb8, 0xa6, 0xe6, 0x9d, 0xa5, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97,\r
+  0xe7, 0x99, 0xbc, 0xe8, 0xa1, 0xa8, 0xe5, 0xbc, 0x80, 0xe6, 0x94, 0xbe, 0xe5,\r
+  0x8a, 0xa0, 0xe7, 0x9b, 0x9f, 0xe5, 0x8f, 0x97, 0xe5, 0x88, 0xb0, 0xe4, 0xba,\r
+  0x8c, 0xe6, 0x89, 0x8b, 0xe5, 0xa4, 0xa7, 0xe9, 0x87, 0x8f, 0xe6, 0x88, 0x90,\r
+  0xe4, 0xba, 0xba, 0xe6, 0x95, 0xb0, 0xe9, 0x87, 0x8f, 0xe5, 0x85, 0xb1, 0xe4,\r
+  0xba, 0xab, 0xe5, 0x8c, 0xba, 0xe5, 0x9f, 0x9f, 0xe5, 0xa5, 0xb3, 0xe5, 0xad,\r
+  0xa9, 0xe5, 0x8e, 0x9f, 0xe5, 0x88, 0x99, 0xe6, 0x89, 0x80, 0xe5, 0x9c, 0xa8,\r
+  0xe7, 0xbb, 0x93, 0xe6, 0x9d, 0x9f, 0xe9, 0x80, 0x9a, 0xe4, 0xbf, 0xa1, 0xe8,\r
+  0xb6, 0x85, 0xe7, 0xba, 0xa7, 0xe9, 0x85, 0x8d, 0xe7, 0xbd, 0xae, 0xe5, 0xbd,\r
+  0x93, 0xe6, 0x97, 0xb6, 0xe4, 0xbc, 0x98, 0xe7, 0xa7, 0x80, 0xe6, 0x80, 0xa7,\r
+  0xe6, 0x84, 0x9f, 0xe6, 0x88, 0xbf, 0xe4, 0xba, 0xa7, 0xe9, 0x81, 0x8a, 0xe6,\r
+  0x88, 0xb2, 0xe5, 0x87, 0xba, 0xe5, 0x8f, 0xa3, 0xe6, 0x8f, 0x90, 0xe4, 0xba,\r
+  0xa4, 0xe5, 0xb0, 0xb1, 0xe4, 0xb8, 0x9a, 0xe4, 0xbf, 0x9d, 0xe5, 0x81, 0xa5,\r
+  0xe7, 0xa8, 0x8b, 0xe5, 0xba, 0xa6, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0xe4,\r
+  0xba, 0x8b, 0xe4, 0xb8, 0x9a, 0xe6, 0x95, 0xb4, 0xe4, 0xb8, 0xaa, 0xe5, 0xb1,\r
+  0xb1, 0xe4, 0xb8, 0x9c, 0xe6, 0x83, 0x85, 0xe6, 0x84, 0x9f, 0xe7, 0x89, 0xb9,\r
+  0xe6, 0xae, 0x8a, 0xe5, 0x88, 0x86, 0xe9, 0xa1, 0x9e, 0xe6, 0x90, 0x9c, 0xe5,\r
+  0xb0, 0x8b, 0xe5, 0xb1, 0x9e, 0xe4, 0xba, 0x8e, 0xe9, 0x97, 0xa8, 0xe6, 0x88,\r
+  0xb7, 0xe8, 0xb4, 0xa2, 0xe5, 0x8a, 0xa1, 0xe5, 0xa3, 0xb0, 0xe9, 0x9f, 0xb3,\r
+  0xe5, 0x8f, 0x8a, 0xe5, 0x85, 0xb6, 0xe8, 0xb4, 0xa2, 0xe7, 0xbb, 0x8f, 0xe5,\r
+  0x9d, 0x9a, 0xe6, 0x8c, 0x81, 0xe5, 0xb9, 0xb2, 0xe9, 0x83, 0xa8, 0xe6, 0x88,\r
+  0x90, 0xe7, 0xab, 0x8b, 0xe5, 0x88, 0xa9, 0xe7, 0x9b, 0x8a, 0xe8, 0x80, 0x83,\r
+  0xe8, 0x99, 0x91, 0xe6, 0x88, 0x90, 0xe9, 0x83, 0xbd, 0xe5, 0x8c, 0x85, 0xe8,\r
+  0xa3, 0x85, 0xe7, 0x94, 0xa8, 0xe6, 0x88, 0xb6, 0xe6, 0xaf, 0x94, 0xe8, 0xb5,\r
+  0x9b, 0xe6, 0x96, 0x87, 0xe6, 0x98, 0x8e, 0xe6, 0x8b, 0x9b, 0xe5, 0x95, 0x86,\r
+  0xe5, 0xae, 0x8c, 0xe6, 0x95, 0xb4, 0xe7, 0x9c, 0x9f, 0xe6, 0x98, 0xaf, 0xe7,\r
+  0x9c, 0xbc, 0xe7, 0x9d, 0x9b, 0xe4, 0xbc, 0x99, 0xe4, 0xbc, 0xb4, 0xe5, 0xa8,\r
+  0x81, 0xe6, 0x9c, 0x9b, 0xe9, 0xa2, 0x86, 0xe5, 0x9f, 0x9f, 0xe5, 0x8d, 0xab,\r
+  0xe7, 0x94, 0x9f, 0xe4, 0xbc, 0x98, 0xe6, 0x83, 0xa0, 0xe8, 0xab, 0x96, 0xe5,\r
+  0xa3, 0x87, 0xe5, 0x85, 0xac, 0xe5, 0x85, 0xb1, 0xe8, 0x89, 0xaf, 0xe5, 0xa5,\r
+  0xbd, 0xe5, 0x85, 0x85, 0xe5, 0x88, 0x86, 0xe7, 0xac, 0xa6, 0xe5, 0x90, 0x88,\r
+  0xe9, 0x99, 0x84, 0xe4, 0xbb, 0xb6, 0xe7, 0x89, 0xb9, 0xe7, 0x82, 0xb9, 0xe4,\r
+  0xb8, 0x8d, 0xe5, 0x8f, 0xaf, 0xe8, 0x8b, 0xb1, 0xe6, 0x96, 0x87, 0xe8, 0xb5,\r
+  0x84, 0xe4, 0xba, 0xa7, 0xe6, 0xa0, 0xb9, 0xe6, 0x9c, 0xac, 0xe6, 0x98, 0x8e,\r
+  0xe6, 0x98, 0xbe, 0xe5, 0xaf, 0x86, 0xe7, 0xa2, 0xbc, 0xe5, 0x85, 0xac, 0xe4,\r
+  0xbc, 0x97, 0xe6, 0xb0, 0x91, 0xe6, 0x97, 0x8f, 0xe6, 0x9b, 0xb4, 0xe5, 0x8a,\r
+  0xa0, 0xe4, 0xba, 0xab, 0xe5, 0x8f, 0x97, 0xe5, 0x90, 0x8c, 0xe5, 0xad, 0xa6,\r
+  0xe5, 0x90, 0xaf, 0xe5, 0x8a, 0xa8, 0xe9, 0x80, 0x82, 0xe5, 0x90, 0x88, 0xe5,\r
+  0x8e, 0x9f, 0xe6, 0x9d, 0xa5, 0xe9, 0x97, 0xae, 0xe7, 0xad, 0x94, 0xe6, 0x9c,\r
+  0xac, 0xe6, 0x96, 0x87, 0xe7, 0xbe, 0x8e, 0xe9, 0xa3, 0x9f, 0xe7, 0xbb, 0xbf,\r
+  0xe8, 0x89, 0xb2, 0xe7, 0xa8, 0xb3, 0xe5, 0xae, 0x9a, 0xe7, 0xbb, 0x88, 0xe4,\r
+  0xba, 0x8e, 0xe7, 0x94, 0x9f, 0xe7, 0x89, 0xa9, 0xe4, 0xbe, 0x9b, 0xe6, 0xb1,\r
+  0x82, 0xe6, 0x90, 0x9c, 0xe7, 0x8b, 0x90, 0xe5, 0x8a, 0x9b, 0xe9, 0x87, 0x8f,\r
+  0xe4, 0xb8, 0xa5, 0xe9, 0x87, 0x8d, 0xe6, 0xb0, 0xb8, 0xe8, 0xbf, 0x9c, 0xe5,\r
+  0x86, 0x99, 0xe7, 0x9c, 0x9f, 0xe6, 0x9c, 0x89, 0xe9, 0x99, 0x90, 0xe7, 0xab,\r
+  0x9e, 0xe4, 0xba, 0x89, 0xe5, 0xaf, 0xb9, 0xe8, 0xb1, 0xa1, 0xe8, 0xb4, 0xb9,\r
+  0xe7, 0x94, 0xa8, 0xe4, 0xb8, 0x8d, 0xe5, 0xa5, 0xbd, 0xe7, 0xbb, 0x9d, 0xe5,\r
+  0xaf, 0xb9, 0xe5, 0x8d, 0x81, 0xe5, 0x88, 0x86, 0xe4, 0xbf, 0x83, 0xe8, 0xbf,\r
+  0x9b, 0xe7, 0x82, 0xb9, 0xe8, 0xaf, 0x84, 0xe5, 0xbd, 0xb1, 0xe9, 0x9f, 0xb3,\r
+  0xe4, 0xbc, 0x98, 0xe5, 0x8a, 0xbf, 0xe4, 0xb8, 0x8d, 0xe5, 0xb0, 0x91, 0xe6,\r
+  0xac, 0xa3, 0xe8, 0xb5, 0x8f, 0xe5, 0xb9, 0xb6, 0xe4, 0xb8, 0x94, 0xe6, 0x9c,\r
+  0x89, 0xe7, 0x82, 0xb9, 0xe6, 0x96, 0xb9, 0xe5, 0x90, 0x91, 0xe5, 0x85, 0xa8,\r
+  0xe6, 0x96, 0xb0, 0xe4, 0xbf, 0xa1, 0xe7, 0x94, 0xa8, 0xe8, 0xae, 0xbe, 0xe6,\r
+  0x96, 0xbd, 0xe5, 0xbd, 0xa2, 0xe8, 0xb1, 0xa1, 0xe8, 0xb5, 0x84, 0xe6, 0xa0,\r
+  0xbc, 0xe7, 0xaa, 0x81, 0xe7, 0xa0, 0xb4, 0xe9, 0x9a, 0x8f, 0xe7, 0x9d, 0x80,\r
+  0xe9, 0x87, 0x8d, 0xe5, 0xa4, 0xa7, 0xe4, 0xba, 0x8e, 0xe6, 0x98, 0xaf, 0xe6,\r
+  0xaf, 0x95, 0xe4, 0xb8, 0x9a, 0xe6, 0x99, 0xba, 0xe8, 0x83, 0xbd, 0xe5, 0x8c,\r
+  0x96, 0xe5, 0xb7, 0xa5, 0xe5, 0xae, 0x8c, 0xe7, 0xbe, 0x8e, 0xe5, 0x95, 0x86,\r
+  0xe5, 0x9f, 0x8e, 0xe7, 0xbb, 0x9f, 0xe4, 0xb8, 0x80, 0xe5, 0x87, 0xba, 0xe7,\r
+  0x89, 0x88, 0xe6, 0x89, 0x93, 0xe9, 0x80, 0xa0, 0xe7, 0x94, 0xa2, 0xe5, 0x93,\r
+  0x81, 0xe6, 0xa6, 0x82, 0xe5, 0x86, 0xb5, 0xe7, 0x94, 0xa8, 0xe4, 0xba, 0x8e,\r
+  0xe4, 0xbf, 0x9d, 0xe7, 0x95, 0x99, 0xe5, 0x9b, 0xa0, 0xe7, 0xb4, 0xa0, 0xe4,\r
+  0xb8, 0xad, 0xe5, 0x9c, 0x8b, 0xe5, 0xad, 0x98, 0xe5, 0x82, 0xa8, 0xe8, 0xb4,\r
+  0xb4, 0xe5, 0x9b, 0xbe, 0xe6, 0x9c, 0x80, 0xe6, 0x84, 0x9b, 0xe9, 0x95, 0xbf,\r
+  0xe6, 0x9c, 0x9f, 0xe5, 0x8f, 0xa3, 0xe4, 0xbb, 0xb7, 0xe7, 0x90, 0x86, 0xe8,\r
+  0xb4, 0xa2, 0xe5, 0x9f, 0xba, 0xe5, 0x9c, 0xb0, 0xe5, 0xae, 0x89, 0xe6, 0x8e,\r
+  0x92, 0xe6, 0xad, 0xa6, 0xe6, 0xb1, 0x89, 0xe9, 0x87, 0x8c, 0xe9, 0x9d, 0xa2,\r
+  0xe5, 0x88, 0x9b, 0xe5, 0xbb, 0xba, 0xe5, 0xa4, 0xa9, 0xe7, 0xa9, 0xba, 0xe9,\r
+  0xa6, 0x96, 0xe5, 0x85, 0x88, 0xe5, 0xae, 0x8c, 0xe5, 0x96, 0x84, 0xe9, 0xa9,\r
+  0xb1, 0xe5, 0x8a, 0xa8, 0xe4, 0xb8, 0x8b, 0xe9, 0x9d, 0xa2, 0xe4, 0xb8, 0x8d,\r
+  0xe5, 0x86, 0x8d, 0xe8, 0xaf, 0x9a, 0xe4, 0xbf, 0xa1, 0xe6, 0x84, 0x8f, 0xe4,\r
+  0xb9, 0x89, 0xe9, 0x98, 0xb3, 0xe5, 0x85, 0x89, 0xe8, 0x8b, 0xb1, 0xe5, 0x9b,\r
+  0xbd, 0xe6, 0xbc, 0x82, 0xe4, 0xba, 0xae, 0xe5, 0x86, 0x9b, 0xe4, 0xba, 0x8b,\r
+  0xe7, 0x8e, 0xa9, 0xe5, 0xae, 0xb6, 0xe7, 0xbe, 0xa4, 0xe4, 0xbc, 0x97, 0xe5,\r
+  0x86, 0x9c, 0xe6, 0xb0, 0x91, 0xe5, 0x8d, 0xb3, 0xe5, 0x8f, 0xaf, 0xe5, 0x90,\r
+  0x8d, 0xe7, 0xa8, 0xb1, 0xe5, 0xae, 0xb6, 0xe5, 0x85, 0xb7, 0xe5, 0x8a, 0xa8,\r
+  0xe7, 0x94, 0xbb, 0xe6, 0x83, 0xb3, 0xe5, 0x88, 0xb0, 0xe6, 0xb3, 0xa8, 0xe6,\r
+  0x98, 0x8e, 0xe5, 0xb0, 0x8f, 0xe5, 0xad, 0xa6, 0xe6, 0x80, 0xa7, 0xe8, 0x83,\r
+  0xbd, 0xe8, 0x80, 0x83, 0xe7, 0xa0, 0x94, 0xe7, 0xa1, 0xac, 0xe4, 0xbb, 0xb6,\r
+  0xe8, 0xa7, 0x82, 0xe7, 0x9c, 0x8b, 0xe6, 0xb8, 0x85, 0xe6, 0xa5, 0x9a, 0xe6,\r
+  0x90, 0x9e, 0xe7, 0xac, 0x91, 0xe9, 0xa6, 0x96, 0xe9, 0xa0, 0x81, 0xe9, 0xbb,\r
+  0x84, 0xe9, 0x87, 0x91, 0xe9, 0x80, 0x82, 0xe7, 0x94, 0xa8, 0xe6, 0xb1, 0x9f,\r
+  0xe8, 0x8b, 0x8f, 0xe7, 0x9c, 0x9f, 0xe5, 0xae, 0x9e, 0xe4, 0xb8, 0xbb, 0xe7,\r
+  0xae, 0xa1, 0xe9, 0x98, 0xb6, 0xe6, 0xae, 0xb5, 0xe8, 0xa8, 0xbb, 0xe5, 0x86,\r
+  0x8a, 0xe7, 0xbf, 0xbb, 0xe8, 0xaf, 0x91, 0xe6, 0x9d, 0x83, 0xe5, 0x88, 0xa9,\r
+  0xe5, 0x81, 0x9a, 0xe5, 0xa5, 0xbd, 0xe4, 0xbc, 0xbc, 0xe4, 0xb9, 0x8e, 0xe9,\r
+  0x80, 0x9a, 0xe8, 0xae, 0xaf, 0xe6, 0x96, 0xbd, 0xe5, 0xb7, 0xa5, 0xe7, 0x8b,\r
+  0x80, 0xe6, 0x85, 0x8b, 0xe4, 0xb9, 0x9f, 0xe8, 0xae, 0xb8, 0xe7, 0x8e, 0xaf,\r
+  0xe4, 0xbf, 0x9d, 0xe5, 0x9f, 0xb9, 0xe5, 0x85, 0xbb, 0xe6, 0xa6, 0x82, 0xe5,\r
+  0xbf, 0xb5, 0xe5, 0xa4, 0xa7, 0xe5, 0x9e, 0x8b, 0xe6, 0x9c, 0xba, 0xe7, 0xa5,\r
+  0xa8, 0xe7, 0x90, 0x86, 0xe8, 0xa7, 0xa3, 0xe5, 0x8c, 0xbf, 0xe5, 0x90, 0x8d,\r
+  0x63, 0x75, 0x61, 0x6e, 0x64, 0x6f, 0x65, 0x6e, 0x76, 0x69, 0x61, 0x72, 0x6d,\r
+  0x61, 0x64, 0x72, 0x69, 0x64, 0x62, 0x75, 0x73, 0x63, 0x61, 0x72, 0x69, 0x6e,\r
+  0x69, 0x63, 0x69, 0x6f, 0x74, 0x69, 0x65, 0x6d, 0x70, 0x6f, 0x70, 0x6f, 0x72,\r
+  0x71, 0x75, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x61, 0x65, 0x73, 0x74, 0x61,\r
+  0x64, 0x6f, 0x70, 0x75, 0x65, 0x64, 0x65, 0x6e, 0x6a, 0x75, 0x65, 0x67, 0x6f,\r
+  0x73, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e,\r
+  0x6e, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x6e, 0x70,\r
+  0x65, 0x72, 0x66, 0x69, 0x6c, 0x6d, 0x61, 0x6e, 0x65, 0x72, 0x61, 0x61, 0x6d,\r
+  0x69, 0x67, 0x6f, 0x73, 0x63, 0x69, 0x75, 0x64, 0x61, 0x64, 0x63, 0x65, 0x6e,\r
+  0x74, 0x72, 0x6f, 0x61, 0x75, 0x6e, 0x71, 0x75, 0x65, 0x70, 0x75, 0x65, 0x64,\r
+  0x65, 0x73, 0x64, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x6d, 0x65,\r
+  0x72, 0x70, 0x72, 0x65, 0x63, 0x69, 0x6f, 0x73, 0x65, 0x67, 0xc3, 0xba, 0x6e,\r
+  0x62, 0x75, 0x65, 0x6e, 0x6f, 0x73, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x70,\r
+  0x75, 0x6e, 0x74, 0x6f, 0x73, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x68, 0x61,\r
+  0x62, 0xc3, 0xad, 0x61, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x75, 0x65,\r
+  0x76, 0x6f, 0x73, 0x75, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x63, 0x61, 0x72, 0x6c,\r
+  0x6f, 0x73, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6f, 0x6e, 0x69, 0xc3, 0xb1, 0x6f,\r
+  0x73, 0x6d, 0x75, 0x63, 0x68, 0x6f, 0x73, 0x61, 0x6c, 0x67, 0x75, 0x6e, 0x61,\r
+  0x63, 0x6f, 0x72, 0x72, 0x65, 0x6f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x6e, 0x70,\r
+  0x61, 0x72, 0x74, 0x69, 0x72, 0x61, 0x72, 0x72, 0x69, 0x62, 0x61, 0x6d, 0x61,\r
+  0x72, 0xc3, 0xad, 0x61, 0x68, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x65, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x64, 0x61, 0x64, 0x63, 0x61, 0x6d, 0x62,\r
+  0x69, 0x6f, 0x6d, 0x75, 0x63, 0x68, 0x61, 0x73, 0x66, 0x75, 0x65, 0x72, 0x6f,\r
+  0x6e, 0x70, 0x61, 0x73, 0x61, 0x64, 0x6f, 0x6c, 0xc3, 0xad, 0x6e, 0x65, 0x61,\r
+  0x70, 0x61, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x75, 0x65, 0x76, 0x61, 0x73, 0x63,\r
+  0x75, 0x72, 0x73, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x61, 0x62, 0x61, 0x71, 0x75,\r
+  0x69, 0x65, 0x72, 0x6f, 0x6c, 0x69, 0x62, 0x72, 0x6f, 0x73, 0x63, 0x75, 0x61,\r
+  0x6e, 0x74, 0x6f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x6f, 0x6d, 0x69, 0x67, 0x75,\r
+  0x65, 0x6c, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x73, 0x63, 0x75, 0x61, 0x74, 0x72,\r
+  0x6f, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x67, 0x72, 0x75, 0x70, 0x6f, 0x73,\r
+  0x73, 0x65, 0x72, 0xc3, 0xa1, 0x6e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x6d,\r
+  0x65, 0x64, 0x69, 0x6f, 0x73, 0x66, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x63,\r
+  0x65, 0x72, 0x63, 0x61, 0x64, 0x65, 0x6d, 0xc3, 0xa1, 0x73, 0x6f, 0x66, 0x65,\r
+  0x72, 0x74, 0x61, 0x63, 0x6f, 0x63, 0x68, 0x65, 0x73, 0x6d, 0x6f, 0x64, 0x65,\r
+  0x6c, 0x6f, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6c, 0x65, 0x74, 0x72, 0x61,\r
+  0x73, 0x61, 0x6c, 0x67, 0xc3, 0xba, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x61,\r
+  0x63, 0x75, 0x61, 0x6c, 0x65, 0x73, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x63,\r
+  0x75, 0x65, 0x72, 0x70, 0x6f, 0x73, 0x69, 0x65, 0x6e, 0x64, 0x6f, 0x70, 0x72,\r
+  0x65, 0x6e, 0x73, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x72, 0x76, 0x69, 0x61,\r
+  0x6a, 0x65, 0x73, 0x64, 0x69, 0x6e, 0x65, 0x72, 0x6f, 0x6d, 0x75, 0x72, 0x63,\r
+  0x69, 0x61, 0x70, 0x6f, 0x64, 0x72, 0xc3, 0xa1, 0x70, 0x75, 0x65, 0x73, 0x74,\r
+  0x6f, 0x64, 0x69, 0x61, 0x72, 0x69, 0x6f, 0x70, 0x75, 0x65, 0x62, 0x6c, 0x6f,\r
+  0x71, 0x75, 0x69, 0x65, 0x72, 0x65, 0x6d, 0x61, 0x6e, 0x75, 0x65, 0x6c, 0x70,\r
+  0x72, 0x6f, 0x70, 0x69, 0x6f, 0x63, 0x72, 0x69, 0x73, 0x69, 0x73, 0x63, 0x69,\r
+  0x65, 0x72, 0x74, 0x6f, 0x73, 0x65, 0x67, 0x75, 0x72, 0x6f, 0x6d, 0x75, 0x65,\r
+  0x72, 0x74, 0x65, 0x66, 0x75, 0x65, 0x6e, 0x74, 0x65, 0x63, 0x65, 0x72, 0x72,\r
+  0x61, 0x72, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x65, 0x66, 0x65, 0x63, 0x74,\r
+  0x6f, 0x70, 0x61, 0x72, 0x74, 0x65, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x64, 0x61,\r
+  0x70, 0x72, 0x6f, 0x70, 0x69, 0x61, 0x6f, 0x66, 0x72, 0x65, 0x63, 0x65, 0x74,\r
+  0x69, 0x65, 0x72, 0x72, 0x61, 0x65, 0x2d, 0x6d, 0x61, 0x69, 0x6c, 0x76, 0x61,\r
+  0x72, 0x69, 0x61, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x73, 0x66, 0x75, 0x74,\r
+  0x75, 0x72, 0x6f, 0x6f, 0x62, 0x6a, 0x65, 0x74, 0x6f, 0x73, 0x65, 0x67, 0x75,\r
+  0x69, 0x72, 0x72, 0x69, 0x65, 0x73, 0x67, 0x6f, 0x6e, 0x6f, 0x72, 0x6d, 0x61,\r
+  0x73, 0x6d, 0x69, 0x73, 0x6d, 0x6f, 0x73, 0xc3, 0xba, 0x6e, 0x69, 0x63, 0x6f,\r
+  0x63, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x73, 0x72,\r
+  0x61, 0x7a, 0xc3, 0xb3, 0x6e, 0x64, 0x65, 0x62, 0x69, 0x64, 0x6f, 0x70, 0x72,\r
+  0x75, 0x65, 0x62, 0x61, 0x74, 0x6f, 0x6c, 0x65, 0x64, 0x6f, 0x74, 0x65, 0x6e,\r
+  0xc3, 0xad, 0x61, 0x6a, 0x65, 0x73, 0xc3, 0xba, 0x73, 0x65, 0x73, 0x70, 0x65,\r
+  0x72, 0x6f, 0x63, 0x6f, 0x63, 0x69, 0x6e, 0x61, 0x6f, 0x72, 0x69, 0x67, 0x65,\r
+  0x6e, 0x74, 0x69, 0x65, 0x6e, 0x64, 0x61, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6f,\r
+  0x63, 0xc3, 0xa1, 0x64, 0x69, 0x7a, 0x68, 0x61, 0x62, 0x6c, 0x61, 0x72, 0x73,\r
+  0x65, 0x72, 0xc3, 0xad, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x61, 0x66, 0x75,\r
+  0x65, 0x72, 0x7a, 0x61, 0x65, 0x73, 0x74, 0x69, 0x6c, 0x6f, 0x67, 0x75, 0x65,\r
+  0x72, 0x72, 0x61, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x72, 0xc3, 0xa9, 0x78, 0x69,\r
+  0x74, 0x6f, 0x6c, 0xc3, 0xb3, 0x70, 0x65, 0x7a, 0x61, 0x67, 0x65, 0x6e, 0x64,\r
+  0x61, 0x76, 0xc3, 0xad, 0x64, 0x65, 0x6f, 0x65, 0x76, 0x69, 0x74, 0x61, 0x72,\r
+  0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x73, 0x6a,\r
+  0x61, 0x76, 0x69, 0x65, 0x72, 0x70, 0x61, 0x64, 0x72, 0x65, 0x73, 0x66, 0xc3,\r
+  0xa1, 0x63, 0x69, 0x6c, 0x63, 0x61, 0x62, 0x65, 0x7a, 0x61, 0xc3, 0xa1, 0x72,\r
+  0x65, 0x61, 0x73, 0x73, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x65, 0x6e, 0x76, 0xc3,\r
+  0xad, 0x6f, 0x6a, 0x61, 0x70, 0xc3, 0xb3, 0x6e, 0x61, 0x62, 0x75, 0x73, 0x6f,\r
+  0x73, 0x62, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x78, 0x74, 0x6f, 0x73,\r
+  0x6c, 0x6c, 0x65, 0x76, 0x61, 0x72, 0x70, 0x75, 0x65, 0x64, 0x61, 0x6e, 0x66,\r
+  0x75, 0x65, 0x72, 0x74, 0x65, 0x63, 0x6f, 0x6d, 0xc3, 0xba, 0x6e, 0x63, 0x6c,\r
+  0x61, 0x73, 0x65, 0x73, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x6f, 0x74, 0x65, 0x6e,\r
+  0x69, 0x64, 0x6f, 0x62, 0x69, 0x6c, 0x62, 0x61, 0x6f, 0x75, 0x6e, 0x69, 0x64,\r
+  0x61, 0x64, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x73, 0x65, 0x64, 0x69, 0x74, 0x61,\r
+  0x72, 0x63, 0x72, 0x65, 0x61, 0x64, 0x6f, 0xd0, 0xb4, 0xd0, 0xbb, 0xd1, 0x8f,\r
+  0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0,\r
+  0xb8, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2,\r
+  0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbf, 0xd1,\r
+  0x80, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb5, 0xd1, 0x89,\r
+  0xd0, 0xb5, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0x9a, 0xd0, 0xb0, 0xd0,\r
+  0xba, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xb7, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb,\r
+  0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0x92, 0xd1, 0x81, 0xd0, 0xb5, 0xd0,\r
+  0xbf, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xad, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x82,\r
+  0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xbd, 0xd0,\r
+  0xb5, 0xd1, 0x82, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0,\r
+  0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0,\r
+  0xb5, 0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0x94, 0xd0, 0xbb, 0xd1, 0x8f,\r
+  0xd0, 0x9f, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x81, 0xd0,\r
+  0xbd, 0xd0, 0xb8, 0xd1, 0x85, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xba,\r
+  0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb2, 0xd0,\r
+  0xbe, 0xd1, 0x82, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xa1, 0xd0, 0xa8,\r
+  0xd0, 0x90, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x8f, 0xd0, 0xa7, 0xd1, 0x82, 0xd0,\r
+  0xbe, 0xd0, 0xb2, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbc,\r
+  0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xa2, 0xd0, 0xb0, 0xd0, 0xba, 0xd0,\r
+  0xb4, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbc, 0xd1, 0x8d,\r
+  0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x8d, 0xd1, 0x82, 0xd1, 0x83, 0xd0, 0x92, 0xd0,\r
+  0xb0, 0xd0, 0xbc, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80,\r
+  0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0,\r
+  0xb4, 0xd0, 0xb4, 0xd0, 0xbd, 0xd1, 0x8f, 0xd0, 0x92, 0xd0, 0xbe, 0xd1, 0x82,\r
+  0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0,\r
+  0x92, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81,\r
+  0xd0, 0xb0, 0xd0, 0xbc, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x80, 0xd1,\r
+  0x83, 0xd0, 0xb1, 0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb8,\r
+  0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0x9e, 0xd0, 0x9e, 0xd0,\r
+  0x9e, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x86, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xb0,\r
+  0xd0, 0x9e, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0,\r
+  0xb4, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xb4,\r
+  0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1,\r
+  0x83, 0xd0, 0xb4, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0,\r
+  0xa5, 0x88, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b,\r
+  0xe0, 0xa4, 0x94, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x87,\r
+  0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0,\r
+  0xa5, 0x8b, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x86, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0x6a, 0x61, 0x67, 0x72, 0x61, 0x6e, 0xe0, 0xa4,\r
+  0x86, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x85,\r
+  0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0,\r
+  0xa4, 0x88, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4,\r
+  0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xa5, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0x98, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa6,\r
+  0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x9c, 0xe0,\r
+  0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0x88, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xae,\r
+  0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x93, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xac, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0x86, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa5, 0x80, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa5, 0xd9,\r
+  0x84, 0xd9, 0x89, 0xd9, 0x87, 0xd8, 0xb0, 0xd8, 0xa7, 0xd8, 0xa2, 0xd8, 0xae,\r
+  0xd8, 0xb1, 0xd8, 0xb9, 0xd8, 0xaf, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9,\r
+  0x89, 0xd9, 0x87, 0xd8, 0xb0, 0xd9, 0x87, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1,\r
+  0xd8, 0xba, 0xd9, 0x8a, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x86, 0xd9,\r
+  0x88, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xb9,\r
+  0xd8, 0xb1, 0xd8, 0xb6, 0xd8, 0xb0, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x87, 0xd9,\r
+  0x86, 0xd8, 0xa7, 0xd9, 0x8a, 0xd9, 0x88, 0xd9, 0x85, 0xd9, 0x82, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x86, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x86, 0xd8, 0xad, 0xd8, 0xaa, 0xd9, 0x89,\r
+  0xd9, 0x82, 0xd8, 0xa8, 0xd9, 0x84, 0xd9, 0x88, 0xd8, 0xad, 0xd8, 0xa9, 0xd8,\r
+  0xa7, 0xd8, 0xae, 0xd8, 0xb1, 0xd9, 0x81, 0xd9, 0x82, 0xd8, 0xb7, 0xd8, 0xb9,\r
+  0xd8, 0xa8, 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x83, 0xd9, 0x86, 0xd8, 0xa5, 0xd8,\r
+  0xb0, 0xd8, 0xa7, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xa7, 0xd8, 0xad,\r
+  0xd8, 0xaf, 0xd8, 0xa5, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x8a, 0xd9,\r
+  0x87, 0xd8, 0xa8, 0xd8, 0xb9, 0xd8, 0xb6, 0xd9, 0x83, 0xd9, 0x8a, 0xd9, 0x81,\r
+  0xd8, 0xa8, 0xd8, 0xad, 0xd8, 0xab, 0xd9, 0x88, 0xd9, 0x85, 0xd9, 0x86, 0xd9,\r
+  0x88, 0xd9, 0x87, 0xd9, 0x88, 0xd8, 0xa3, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xac,\r
+  0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9,\r
+  0x84, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xaf, 0xd9, 0x84, 0xd9, 0x8a,\r
+  0xd8, 0xb3, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xb5, 0xd9, 0x84, 0xd9,\r
+  0x89, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xb0, 0xd8, 0xa8, 0xd9, 0x87, 0xd8, 0xa7,\r
+  0xd8, 0xa3, 0xd9, 0x86, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xab, 0xd9, 0x84, 0xd9,\r
+  0x83, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xad,\r
+  0xd9, 0x8a, 0xd8, 0xab, 0xd9, 0x85, 0xd8, 0xb5, 0xd8, 0xb1, 0xd8, 0xb4, 0xd8,\r
+  0xb1, 0xd8, 0xad, 0xd8, 0xad, 0xd9, 0x88, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x81,\r
+  0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9,\r
+  0x84, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd8, 0xa3, 0xd8, 0xa8, 0xd9, 0x88, 0xd8,\r
+  0xae, 0xd8, 0xa7, 0xd8, 0xb5, 0xd8, 0xa3, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7,\r
+  0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8,\r
+  0xb6, 0xd9, 0x88, 0xd9, 0x88, 0xd9, 0x82, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xa8,\r
+  0xd9, 0x86, 0xd8, 0xae, 0xd9, 0x8a, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x86, 0xd8,\r
+  0xaa, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xa1,\r
+  0xd9, 0x88, 0xd9, 0x87, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x88, 0xd9,\r
+  0x82, 0xd8, 0xb5, 0xd8, 0xb5, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xb1,\r
+  0xd9, 0x82, 0xd9, 0x85, 0xd8, 0xa3, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x86, 0xd8,\r
+  0xad, 0xd9, 0x86, 0xd8, 0xb9, 0xd8, 0xaf, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa3,\r
+  0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xad, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xaa, 0xd8,\r
+  0xa8, 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xac, 0xd8, 0xa8,\r
+  0xd9, 0x85, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaa, 0xd8,\r
+  0xac, 0xd9, 0x87, 0xd8, 0xa9, 0xd8, 0xb3, 0xd9, 0x86, 0xd8, 0xa9, 0xd9, 0x8a,\r
+  0xd8, 0xaa, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xba, 0xd8,\r
+  0xb2, 0xd8, 0xa9, 0xd9, 0x86, 0xd9, 0x81, 0xd8, 0xb3, 0xd8, 0xa8, 0xd9, 0x8a,\r
+  0xd8, 0xaa, 0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x84, 0xd9, 0x86, 0xd8,\r
+  0xa7, 0xd8, 0xaa, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x82, 0xd9, 0x84, 0xd8, 0xa8,\r
+  0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xb9, 0xd9, 0x86, 0xd9, 0x87, 0xd8,\r
+  0xa3, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xa1, 0xd9, 0x86,\r
+  0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xa3, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x81, 0xd9,\r
+  0x8a, 0xd9, 0x83, 0xd8, 0xa8, 0xd9, 0x83, 0xd9, 0x84, 0xd8, 0xb0, 0xd8, 0xa7,\r
+  0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xa8, 0xd8, 0xa3, 0xd9,\r
+  0x86, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x83,\r
+  0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x81, 0xd9, 0x82, 0xd8, 0xaf, 0xd8,\r
+  0xad, 0xd8, 0xb3, 0xd9, 0x86, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xb4,\r
+  0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa3, 0xd9, 0x87, 0xd9, 0x84, 0xd8, 0xb4, 0xd9,\r
+  0x87, 0xd8, 0xb1, 0xd9, 0x82, 0xd8, 0xb7, 0xd8, 0xb1, 0xd8, 0xb7, 0xd9, 0x84,\r
+  0xd8, 0xa8, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76,\r
+  0x69, 0x63, 0x65, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x68, 0x69, 0x6d,\r
+  0x73, 0x65, 0x6c, 0x66, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,\r
+  0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,\r
+  0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x61, 0x73, 0x68, 0x69, 0x6f,\r
+  0x6e, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x63, 0x6f, 0x75, 0x6e, 0x74,\r
+  0x72, 0x79, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x72, 0x65, 0x61,\r
+  0x74, 0x65, 0x64, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x72, 0x65, 0x73,\r
+  0x75, 0x6c, 0x74, 0x73, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x72,\r
+  0x6f, 0x63, 0x65, 0x73, 0x73, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x6f,\r
+  0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65,\r
+  0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c,\r
+  0x65, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x6e, 0x65, 0x74, 0x77, 0x6f,\r
+  0x72, 0x6b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x64, 0x79, 0x6e, 0x61,\r
+  0x6d, 0x69, 0x63, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x70, 0x72, 0x69,\r
+  0x76, 0x61, 0x63, 0x79, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x53, 0x65,\r
+  0x72, 0x76, 0x69, 0x63, 0x65, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x64,\r
+  0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,\r
+  0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74,\r
+  0x65, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x66, 0x72, 0x69, 0x65, 0x6e,\r
+  0x64, 0x73, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x6f, 0x72, 0x6b,\r
+  0x69, 0x6e, 0x67, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x6d, 0x69, 0x6c,\r
+  0x6c, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x77, 0x69,\r
+  0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x76,\r
+  0x69, 0x73, 0x69, 0x74, 0x65, 0x64, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72,\r
+  0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,\r
+  0x74, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61,\r
+  0x72, 0x64, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x72, 0x65, 0x6d, 0x6f,\r
+  0x76, 0x65, 0x64, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x72, 0x6f, 0x6c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x63, 0x75,\r
+  0x72, 0x72, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x6c,\r
+  0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64,\r
+  0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65,\r
+  0x72, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x6d, 0x61, 0x63, 0x68, 0x69,\r
+  0x6e, 0x65, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x70, 0x72, 0x69, 0x76,\r
+  0x61, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f,\r
+  0x67, 0x72, 0x61, 0x6d, 0x73, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x6e, 0x75,\r
+  0x6d, 0x62, 0x65, 0x72, 0x73, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x65,\r
+  0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,\r
+  0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e,\r
+  0x67, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x61, 0x72, 0x74, 0x6e,\r
+  0x65, 0x72, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x70, 0x65, 0x72, 0x66,\r
+  0x65, 0x63, 0x74, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x79, 0x73,\r
+  0x74, 0x65, 0x6d, 0x73, 0x6b, 0x65, 0x65, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x75,\r
+  0x6c, 0x74, 0x75, 0x72, 0x65, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x2c, 0x6a,\r
+  0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,\r
+  0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x26, 0x71, 0x75, 0x6f, 0x74,\r
+  0x3b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x72, 0x65, 0x76, 0x69, 0x65,\r
+  0x77, 0x73, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x67, 0x6c,\r
+  0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x74, 0x68, 0x72,\r
+  0x6f, 0x75, 0x67, 0x68, 0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x70,\r
+  0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x61,\r
+  0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,\r
+  0x76, 0x69, 0x6c, 0x6c, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x69, 0x73,\r
+  0x68, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x64, 0x65, 0x63, 0x6c, 0x69,\r
+  0x6e, 0x65, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x73, 0x73,\r
+  0x69, 0x6f, 0x6e, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x71, 0x75, 0x61,\r
+  0x6c, 0x69, 0x74, 0x79, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x67, 0x65,\r
+  0x6e, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x73,\r
+  0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65,\r
+  0x72, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x72, 0x65, 0x70, 0x6f, 0x72,\r
+  0x74, 0x73, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x73, 0x6d, 0x65, 0x6d, 0x62,\r
+  0x65, 0x72, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73,\r
+  0x70, 0x75, 0x74, 0x65, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x72, 0x65, 0x78,\r
+  0x70, 0x72, 0x65, 0x73, 0x73, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x70,\r
+  0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72,\r
+  0x6d, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69,\r
+  0x63, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x6e, 0x67,\r
+  0x65, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x76, 0x69, 0x63, 0x74,\r
+  0x6f, 0x72, 0x79, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61,\r
+  0x73, 0x6f, 0x6e, 0x73, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x66, 0x65,\r
+  0x61, 0x74, 0x75, 0x72, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x6d,\r
+  0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x73,\r
+  0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x69,\r
+  0x6e, 0x67, 0x67, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6f, 0x62, 0x76, 0x69,\r
+  0x6f, 0x75, 0x73, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x70, 0x72, 0x65,\r
+  0x73, 0x65, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f,\r
+  0x75, 0x6c, 0x3e, 0x0d, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x61,\r
+  0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,\r
+  0x72, 0x65, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,\r
+  0x65, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x64, 0x65, 0x73, 0x6b, 0x74,\r
+  0x6f, 0x70, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x70, 0x61, 0x74, 0x74,\r
+  0x65, 0x72, 0x6e, 0x75, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x44, 0x69, 0x67,\r
+  0x69, 0x74, 0x61, 0x6c, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x57, 0x65,\r
+  0x62, 0x73, 0x69, 0x74, 0x65, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x63,\r
+  0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x64,\r
+  0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x64, 0x65, 0x63, 0x61, 0x64, 0x65,\r
+  0x73, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x26, 0x61, 0x6d, 0x70,\r
+  0x3b, 0x20, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x72, 0x65, 0x6c, 0x65,\r
+  0x61, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x67, 0x65, 0x74,\r
+  0x74, 0x69, 0x6e, 0x67, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x6e, 0x6f,\r
+  0x74, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x63,\r
+  0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73,\r
+  0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63,\r
+  0x65, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x67,\r
+  0x65, 0x73, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, 0x3d, 0x31, 0x26, 0x61,\r
+  0x6d, 0x70, 0x3b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20,\r
+  0x6e, 0x65, 0x77, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x75, 0x70,\r
+  0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4e,\r
+  0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,\r
+  0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x74, 0x6f, 0x6f, 0x6c, 0x62,\r
+  0x61, 0x72, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x62, 0x65, 0x63, 0x61,\r
+  0x75, 0x73, 0x65, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x65, 0x75,\r
+  0x74, 0x73, 0x63, 0x68, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x77, 0x6f,\r
+  0x72, 0x6b, 0x65, 0x72, 0x73, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x62,\r
+  0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79,\r
+  0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, 0x65, 0x61, 0x73,\r
+  0x65, 0x53, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x77, 0x65, 0x61, 0x70, 0x6f,\r
+  0x6e, 0x73, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x26, 0x6c, 0x74, 0x3b,\r
+  0x21, 0x2d, 0x2d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x65, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x6f, 0x75,\r
+  0x74, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x64,\r
+  0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x28, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,\r
+  0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d,\r
+  0x22, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x69,\r
+  0x6e, 0x67, 0x73, 0x68, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x61, 0x6c,\r
+  0x69, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x68, 0x65, 0x61,\r
+  0x76, 0x69, 0x6c, 0x79, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x31,\r
+  0x27, 0x5d, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43,\r
+  0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65,\r
+  0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x64, 0x72, 0x61, 0x77, 0x69, 0x6e, 0x67, 0x62, 0x69, 0x6c, 0x6c, 0x69,\r
+  0x6f, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x47, 0x65, 0x72, 0x6d,\r
+  0x61, 0x6e, 0x79, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x3c, 0x2f, 0x66,\r
+  0x6f, 0x72, 0x6d, 0x3e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x77, 0x68,\r
+  0x65, 0x74, 0x68, 0x65, 0x72, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53,\r
+  0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,\r
+  0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,\r
+  0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x75, 0x6e, 0x69, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x73, 0x69, 0x64, 0x65,\r
+  0x62, 0x61, 0x72, 0x43, 0x68, 0x69, 0x63, 0x61, 0x67, 0x6f, 0x68, 0x6f, 0x6c,\r
+  0x69, 0x64, 0x61, 0x79, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x70, 0x61,\r
+  0x73, 0x73, 0x61, 0x67, 0x65, 0x2c, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61,\r
+  0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6e, 0x67,\r
+  0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x64, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e,\r
+  0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x72, 0x6f, 0x75, 0x67, 0x68,\r
+  0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x62, 0x75, 0x74, 0x20,\r
+  0x6e, 0x6f, 0x74, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x42, 0x72, 0x69,\r
+  0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x65, 0x6c, 0x61,\r
+  0x63, 0x6b, 0x20, 0x6f, 0x66, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49,\r
+  0x72, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x22, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2d,\r
+  0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76,\r
+  0x65, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x4c, 0x69, 0x62, 0x72, 0x61,\r
+  0x72, 0x79, 0x68, 0x75, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x20, 0x66,\r
+  0x61, 0x63, 0x74, 0x61, 0x66, 0x66, 0x61, 0x69, 0x72, 0x73, 0x43, 0x68, 0x61,\r
+  0x72, 0x6c, 0x65, 0x73, 0x72, 0x61, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x72,\r
+  0x6f, 0x75, 0x67, 0x68, 0x74, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x6c,\r
+  0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22,\r
+  0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72,\r
+  0x73, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x70, 0x72, 0x65, 0x6d, 0x69,\r
+  0x75, 0x6d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x65, 0x72,\r
+  0x69, 0x63, 0x61, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x26, 0x71,\r
+  0x75, 0x6f, 0x74, 0x3b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x65,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x63,\r
+  0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67,\r
+  0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76,\r
+  0x65, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x2d, 0x6d, 0x6f, 0x62, 0x69,\r
+  0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x77, 0x61, 0x6e, 0x74,\r
+  0x20, 0x74, 0x6f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x46, 0x69, 0x72,\r
+  0x65, 0x66, 0x6f, 0x78, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x73, 0x69,\r
+  0x6d, 0x69, 0x6c, 0x61, 0x72, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x64, 0x6d,\r
+  0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,\r
+  0x72, 0x61, 0x70, 0x69, 0x64, 0x6c, 0x79, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74,\r
+  0x65, 0x6b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x65, 0x6d, 0x65, 0x72, 0x67,\r
+  0x65, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x66, 0x6f, 0x75, 0x6e,\r
+  0x64, 0x65, 0x64, 0x70, 0x69, 0x6f, 0x6e, 0x65, 0x65, 0x72, 0x66, 0x6f, 0x72,\r
+  0x6d, 0x75, 0x6c, 0x61, 0x64, 0x79, 0x6e, 0x61, 0x73, 0x74, 0x79, 0x68, 0x6f,\r
+  0x77, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x72,\r
+  0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79,\r
+  0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65,\r
+  0x72, 0x73, 0x6f, 0x6c, 0x64, 0x69, 0x65, 0x72, 0x6c, 0x61, 0x72, 0x67, 0x65,\r
+  0x6c, 0x79, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x26, 0x71, 0x75,\r
+  0x6f, 0x74, 0x3b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x64, 0x77,\r
+  0x61, 0x72, 0x64, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f,\r
+  0x62, 0x65, 0x72, 0x74, 0x20, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x50,\r
+  0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64,\r
+  0x75, 0x70, 0x20, 0x77, 0x69, 0x74, 0x68, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,\r
+  0x3a, 0x77, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x41, 0x6e, 0x67, 0x65, 0x6c,\r
+  0x65, 0x73, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x61,\r
+  0x72, 0x63, 0x68, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x61, 0x63, 0x71,\r
+  0x75, 0x69, 0x72, 0x65, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x67, 0x72,\r
+  0x61, 0x6e, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x74,\r
+  0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x69, 0x67, 0x67, 0x65, 0x73, 0x74,\r
+  0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x64, 0x72, 0x69, 0x76, 0x69, 0x6e,\r
+  0x67, 0x53, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x6d, 0x69, 0x6e, 0x69, 0x6d,\r
+  0x75, 0x6d, 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x6d, 0x6f, 0x72, 0x6e,\r
+  0x69, 0x6e, 0x67, 0x73, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20,\r
+  0x75, 0x73, 0x65, 0x64, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x76, 0x61,\r
+  0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x22, 0x6d,\r
+  0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65,\r
+  0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e,\r
+  0x74, 0x73, 0x6f, 0x6d, 0x65, 0x6f, 0x6e, 0x65, 0x65, 0x78, 0x74, 0x72, 0x65,\r
+  0x6d, 0x65, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x74, 0x74,\r
+  0x6f, 0x6d, 0x3a, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x61, 0x6c, 0x6c,\r
+  0x20, 0x74, 0x68, 0x65, 0x73, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x70, 0x65, 0x6e,\r
+  0x67, 0x6c, 0x69, 0x73, 0x68, 0x77, 0x61, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x20,\r
+  0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73,\r
+  0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72,\r
+  0x73, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x67, 0x61, 0x69, 0x6e,\r
+  0x73, 0x74, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x7d, 0x29, 0x28, 0x29,\r
+  0x3b, 0x0d, 0x0a, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x72, 0x6f,\r
+  0x75, 0x62, 0x6c, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x61, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x70,\r
+  0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x20, 0x27, 0x27, 0x54, 0x68, 0x65,\r
+  0x20, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x70, 0x6c, 0x6f,\r
+  0x72, 0x65, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x64, 0x47, 0x61, 0x6c, 0x6c,\r
+  0x65, 0x72, 0x79, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x61, 0x62, 0x69,\r
+  0x6c, 0x69, 0x74, 0x79, 0x65, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x63, 0x61,\r
+  0x72, 0x65, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63,\r
+  0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20,\r
+  0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65,\r
+  0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,\r
+  0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73,\r
+  0x6f, 0x6c, 0x65, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x78, 0x70,\r
+  0x6f, 0x72, 0x74, 0x73, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x43, 0x68,\r
+  0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x69, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6e,\r
+  0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74,\r
+  0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x73, 0x65, 0x74, 0x74, 0x6c,\r
+  0x65, 0x64, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x63, 0x61, 0x75, 0x73,\r
+  0x69, 0x6e, 0x67, 0x2d, 0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x63, 0x6c, 0x61,\r
+  0x69, 0x6d, 0x65, 0x64, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x63, 0x65, 0x63, 0x68,\r
+  0x61, 0x70, 0x74, 0x65, 0x72, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x73, 0x54,\r
+  0x68, 0x6f, 0x6d, 0x61, 0x73, 0x20, 0x6d, 0x6f, 0x7a, 0x69, 0x6c, 0x6c, 0x61,\r
+  0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65,\r
+  0x73, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x69,\r
+  0x64, 0x65, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x68, 0x75, 0x6e, 0x64,\r
+  0x72, 0x65, 0x64, 0x4f, 0x6c, 0x79, 0x6d, 0x70, 0x69, 0x63, 0x5f, 0x62, 0x75,\r
+  0x74, 0x74, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x72, 0x65,\r
+  0x61, 0x63, 0x68, 0x65, 0x64, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x63, 0x64,\r
+  0x65, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,\r
+  0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65,\r
+  0x64, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x65, 0x69, 0x74, 0x68,\r
+  0x65, 0x72, 0x67, 0x72, 0x65, 0x61, 0x74, 0x6c, 0x79, 0x67, 0x72, 0x65, 0x61,\r
+  0x74, 0x65, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x70,\r
+  0x72, 0x6f, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x70,\r
+  0x65, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x77,\r
+  0x6f, 0x72, 0x73, 0x68, 0x69, 0x70, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,\r
+  0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73,\r
+  0x74, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x75, 0x74, 0x69, 0x6c, 0x69,\r
+  0x74, 0x79, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x43, 0x75, 0x6c, 0x74,\r
+  0x75, 0x72, 0x65, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x65,\r
+  0x61, 0x72, 0x6c, 0x79, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x72,\r
+  0x6f, 0x77, 0x73, 0x65, 0x72, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x6c, 0x7d,\r
+  0x20, 0x63, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,\r
+  0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x68, 0x69, 0x64, 0x65, 0x28, 0x29,\r
+  0x3b, 0x46, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x61, 0x61, 0x6e, 0x73, 0x77, 0x65,\r
+  0x72, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x6d, 0x70, 0x65,\r
+  0x72, 0x6f, 0x72, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x65, 0x72,\r
+  0x69, 0x6f, 0x75, 0x73, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x53, 0x65,\r
+  0x76, 0x65, 0x72, 0x61, 0x6c, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x46,\r
+  0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20,\r
+  0x21, 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x65,\r
+  0x64, 0x44, 0x65, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x76, 0x6f, 0x69, 0x64, 0x28,\r
+  0x30, 0x29, 0x2f, 0x61, 0x6c, 0x6c, 0x2e, 0x6a, 0x73, 0x70, 0x72, 0x65, 0x76,\r
+  0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x65,\r
+  0x70, 0x68, 0x65, 0x6e, 0x0a, 0x0a, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x62,\r
+  0x73, 0x65, 0x72, 0x76, 0x65, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x0d, 0x0a, 0x4d,\r
+  0x6f, 0x64, 0x65, 0x72, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,\r
+  0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,\r
+  0x73, 0x2e, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x0a, 0x0a, 0x4d, 0x61, 0x6e,\r
+  0x79, 0x20, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x73, 0x70, 0x6f, 0x77, 0x65,\r
+  0x72, 0x65, 0x64, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x66, 0x69, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x6d, 0x65,\r
+  0x64, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x6f,\r
+  0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c,\r
+  0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x63,\r
+  0x65, 0x47, 0x65, 0x6f, 0x72, 0x67, 0x65, 0x20, 0x42, 0x65, 0x6c, 0x67, 0x69,\r
+  0x75, 0x6d, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x61, 0x3e, 0x74, 0x77, 0x69, 0x74,\r
+  0x74, 0x65, 0x72, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x79, 0x77, 0x61, 0x69,\r
+  0x74, 0x69, 0x6e, 0x67, 0x77, 0x61, 0x72, 0x66, 0x61, 0x72, 0x65, 0x20, 0x4f,\r
+  0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x70,\r
+  0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x73, 0x63, 0x68, 0x6f, 0x6c, 0x61,\r
+  0x72, 0x3c, 0x2f, 0x70, 0x3e, 0x0d, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74,\r
+  0x72, 0x79, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x6c, 0x6f, 0x73, 0x73,\r
+  0x20, 0x6f, 0x66, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x61, 0x73, 0x47, 0x65, 0x6f,\r
+  0x72, 0x67, 0x69, 0x61, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x3c, 0x68,\r
+  0x65, 0x61, 0x64, 0x3e, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x31,\r
+  0x27, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73,\r
+  0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,\r
+  0x3a, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x63, 0x61, 0x72, 0x72, 0x69,\r
+  0x65, 0x64, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x3c, 0x2f, 0x68, 0x33,\r
+  0x3e, 0x0a, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x62, 0x65, 0x63,\r
+  0x6f, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x77, 0x65,\r
+  0x64, 0x64, 0x69, 0x6e, 0x67, 0x30, 0x30, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x6d,\r
+  0x6f, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x6f, 0x66, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79,\r
+  0x20, 0x62, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x20,\r
+  0x6f, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x72, 0x69, 0x73, 0x65,\r
+  0x20, 0x6f, 0x66, 0x26, 0x72, 0x61, 0x71, 0x75, 0x6f, 0x3b, 0x70, 0x6c, 0x75,\r
+  0x73, 0x6f, 0x6e, 0x65, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x28, 0x74,\r
+  0x68, 0x6f, 0x75, 0x67, 0x68, 0x44, 0x6f, 0x75, 0x67, 0x6c, 0x61, 0x73, 0x6a,\r
+  0x6f, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x73,\r
+  0x46, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x41, 0x6e, 0x63, 0x69, 0x65, 0x6e,\r
+  0x74, 0x56, 0x69, 0x65, 0x74, 0x6e, 0x61, 0x6d, 0x76, 0x65, 0x68, 0x69, 0x63,\r
+  0x6c, 0x65, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x63, 0x72, 0x79, 0x73,\r
+  0x74, 0x61, 0x6c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x57, 0x69, 0x6e,\r
+  0x64, 0x6f, 0x77, 0x73, 0x65, 0x6e, 0x6a, 0x6f, 0x79, 0x65, 0x64, 0x61, 0x20,\r
+  0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x3c,\r
+  0x61, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,\r
+  0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68,\r
+  0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x72, 0x65, 0x74, 0x69, 0x72,\r
+  0x65, 0x64, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x68, 0x69, 0x64, 0x64,\r
+  0x65, 0x6e, 0x3b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65,\r
+  0x6b, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x65, 0x74, 0x77, 0x61,\r
+  0x73, 0x20, 0x6e, 0x6f, 0x74, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x61, 0x74, 0x63,\r
+  0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65,\r
+  0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e,\r
+  0x73, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x61, 0x3a, 0x68, 0x6f, 0x76,\r
+  0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x72, 0x65, 0x6e,\r
+  0x63, 0x68, 0x20, 0x6c, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x74, 0x79, 0x70,\r
+  0x69, 0x63, 0x61, 0x6c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x6e,\r
+  0x65, 0x6d, 0x69, 0x65, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x67,\r
+  0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x64, 0x65, 0x63, 0x69, 0x64, 0x65, 0x64,\r
+  0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63,\r
+  0x68, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x73, 0x2d, 0x69, 0x6d, 0x61, 0x67,\r
+  0x65, 0x3a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x73, 0x74, 0x61, 0x74,\r
+  0x69, 0x63, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x3e, 0x63, 0x6f, 0x6e,\r
+  0x76, 0x65, 0x72, 0x74, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x6e,\r
+  0x74, 0x65, 0x72, 0x65, 0x64, 0x66, 0x69, 0x72, 0x73, 0x74, 0x22, 0x3e, 0x63,\r
+  0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x6c, 0x61, 0x6e, 0x64,\r
+  0x63, 0x68, 0x65, 0x6d, 0x69, 0x73, 0x74, 0x73, 0x68, 0x65, 0x20, 0x77, 0x61,\r
+  0x73, 0x31, 0x30, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x61, 0x73, 0x20, 0x73, 0x75,\r
+  0x63, 0x68, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x3c, 0x2f, 0x73, 0x70,\r
+  0x61, 0x6e, 0x3e, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x6e,\r
+  0x65, 0x20, 0x6f, 0x66, 0x61, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x79,\r
+  0x73, 0x74, 0x65, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x66,\r
+  0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20,\r
+  0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x67,\r
+  0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x64, 0x65, 0x73, 0x63, 0x65,\r
+  0x6e, 0x74, 0x69, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6e, 0x75, 0x63, 0x6c,\r
+  0x65, 0x61, 0x72, 0x4a, 0x65, 0x77, 0x69, 0x73, 0x68, 0x20, 0x70, 0x72, 0x6f,\r
+  0x74, 0x65, 0x73, 0x74, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x66, 0x6c,\r
+  0x6f, 0x77, 0x65, 0x72, 0x73, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x72,\r
+  0x65, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20,\r
+  0x77, 0x68, 0x6f, 0x20, 0x77, 0x61, 0x73, 0x6c, 0x65, 0x63, 0x74, 0x75, 0x72,\r
+  0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x75, 0x69, 0x63, 0x69,\r
+  0x64, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x70, 0x65, 0x72, 0x69,\r
+  0x6f, 0x64, 0x73, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x6f, 0x63,\r
+  0x69, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6f,\r
+  0x6d, 0x62, 0x69, 0x6e, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x77,\r
+  0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x3c,\r
+  0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61,\r
+  0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x63, 0x6f, 0x6f, 0x6b, 0x69,\r
+  0x65, 0x73, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x65, 0x73, 0x6f,\r
+  0x6c, 0x76, 0x65, 0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, 0x62, 0x72, 0x69,\r
+  0x65, 0x66, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6e, 0x73, 0x6f,\r
+  0x20, 0x6d, 0x75, 0x63, 0x68, 0x43, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x64,\r
+  0x65, 0x70, 0x69, 0x63, 0x74, 0x73, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,\r
+  0x68, 0x6f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x73, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x74, 0x6f, 0x62, 0x65, 0x61, 0x72, 0x69,\r
+  0x6e, 0x67, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x76, 0x69,\r
+  0x73, 0x65, 0x64, 0x6a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x28, 0x2d, 0x77, 0x69,\r
+  0x64, 0x74, 0x68, 0x3a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x6f,\r
+  0x6f, 0x6c, 0x74, 0x69, 0x70, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x64,\r
+  0x65, 0x73, 0x69, 0x67, 0x6e, 0x73, 0x54, 0x75, 0x72, 0x6b, 0x69, 0x73, 0x68,\r
+  0x79, 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68,\r
+  0x28, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x0a, 0x62, 0x75, 0x72, 0x6e, 0x69,\r
+  0x6e, 0x67, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x65, 0x67, 0x72,\r
+  0x65, 0x65, 0x73, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x52, 0x69, 0x63,\r
+  0x68, 0x61, 0x72, 0x64, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x70, 0x6c,\r
+  0x61, 0x73, 0x74, 0x69, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3c,\r
+  0x2f, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23,\r
+  0x75, 0x6c, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x73, 0x65, 0x73,\r
+  0x73, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x70, 0x68, 0x79, 0x73, 0x69,\r
+  0x63, 0x73, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x65, 0x63,\r
+  0x75, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e,\r
+  0x6b, 0x20, 0x74, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3c, 0x62,\r
+  0x72, 0x20, 0x2f, 0x3e, 0x0a, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x63,\r
+  0x68, 0x61, 0x72, 0x74, 0x65, 0x72, 0x74, 0x6f, 0x75, 0x72, 0x69, 0x73, 0x6d,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x65,\r
+  0x64, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x3c, 0x2f, 0x68, 0x31, 0x3e,\r
+  0x0d, 0x0a, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x3f, 0x78, 0x6d, 0x6c,\r
+  0x20, 0x76, 0x65, 0x68, 0x65, 0x6c, 0x70, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x61,\r
+  0x6d, 0x6f, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x69,\r
+  0x72, 0x6c, 0x69, 0x6e, 0x65, 0x65, 0x6e, 0x64, 0x20, 0x2d, 0x2d, 0x3e, 0x29,\r
+  0x2e, 0x61, 0x74, 0x74, 0x72, 0x28, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,\r
+  0x68, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x23, 0x66, 0x66, 0x66, 0x66, 0x66,\r
+  0x66, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x56, 0x69, 0x6e, 0x63, 0x65,\r
+  0x6e, 0x74, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x20, 0x73, 0x72, 0x63,\r
+  0x3d, 0x22, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x64, 0x65, 0x73,\r
+  0x70, 0x69, 0x74, 0x65, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x74, 0x65,\r
+  0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x68,\r
+  0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x4a, 0x6f, 0x73, 0x65, 0x70, 0x68, 0x20,\r
+  0x74, 0x68, 0x65, 0x61, 0x74, 0x72, 0x65, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74,\r
+  0x73, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x61, 0x20, 0x6c, 0x61, 0x72,\r
+  0x67, 0x65, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x6c, 0x61, 0x74, 0x65,\r
+  0x72, 0x2c, 0x20, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x66, 0x61, 0x76,\r
+  0x69, 0x63, 0x6f, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x75,\r
+  0x6e, 0x67, 0x61, 0x72, 0x79, 0x41, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x73,\r
+  0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74,\r
+  0x4d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,\r
+  0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x2c, 0x20, 0x61, 0x6e,\r
+  0x64, 0x20, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x65, 0x26, 0x71, 0x75,\r
+  0x6f, 0x74, 0x3b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x66,\r
+  0x74, 0x22, 0x3e, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x47, 0x6f,\r
+  0x6c, 0x64, 0x65, 0x6e, 0x20, 0x41, 0x66, 0x66, 0x61, 0x69, 0x72, 0x73, 0x67,\r
+  0x72, 0x61, 0x6d, 0x6d, 0x61, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6e, 0x67,\r
+  0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x69, 0x64, 0x65, 0x61, 0x20, 0x6f,\r
+  0x66, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x73,\r
+  0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x2e, 0x73, 0x72, 0x63,\r
+  0x20, 0x3d, 0x20, 0x63, 0x61, 0x72, 0x74, 0x6f, 0x6f, 0x6e, 0x72, 0x65, 0x67,\r
+  0x69, 0x73, 0x74, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x4d, 0x75,\r
+  0x73, 0x6c, 0x69, 0x6d, 0x73, 0x57, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x69,\r
+  0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67,\r
+  0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x65, 0x64,\r
+  0x2c, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x73, 0x68, 0x6f, 0x77,\r
+  0x5f, 0x61, 0x6f, 0x75, 0x74, 0x64, 0x6f, 0x6f, 0x72, 0x65, 0x73, 0x63, 0x61,\r
+  0x70, 0x65, 0x28, 0x41, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, 0x67, 0x65, 0x6e,\r
+  0x65, 0x74, 0x69, 0x63, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x49, 0x6e,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48,\r
+  0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73,\r
+  0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x0a, 0x09, 0x09, 0x3c, 0x21, 0x2d,\r
+  0x2d, 0x44, 0x61, 0x6e, 0x69, 0x65, 0x6c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69,\r
+  0x6e, 0x67, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x3e, 0x69, 0x6d, 0x70, 0x6f,\r
+  0x73, 0x65, 0x64, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x41, 0x62, 0x72,\r
+  0x61, 0x68, 0x61, 0x6d, 0x28, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x7b, 0x77,\r
+  0x69, 0x64, 0x74, 0x68, 0x3a, 0x70, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x29,\r
+  0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x28, 0x7c, 0x7c, 0x20, 0x5b, 0x5d, 0x3b, 0x0a,\r
+  0x44, 0x41, 0x54, 0x41, 0x5b, 0x20, 0x2a, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65,\r
+  0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x61, 0x63, 0x74, 0x75, 0x61,\r
+  0x6c, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x6d, 0x61, 0x69, 0x6e,\r
+  0x6c, 0x79, 0x20, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x27, 0x69, 0x6e, 0x73,\r
+  0x74, 0x61, 0x6c, 0x6c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x73, 0x69, 0x66,\r
+  0x28, 0x74, 0x79, 0x70, 0x65, 0x49, 0x74, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x26,\r
+  0x63, 0x6f, 0x70, 0x79, 0x3b, 0x20, 0x22, 0x3e, 0x54, 0x65, 0x72, 0x6d, 0x73,\r
+  0x62, 0x6f, 0x72, 0x6e, 0x20, 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x65, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x74, 0x61, 0x6c, 0x6b, 0x69,\r
+  0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x67, 0x61, 0x69, 0x6e,\r
+  0x65, 0x64, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x6a, 0x75, 0x73,\r
+  0x74, 0x69, 0x66, 0x79, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x73, 0x66, 0x61,\r
+  0x63, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e, 0x61,\r
+  0x73, 0x73, 0x61, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64,\r
+  0x6c, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x77,\r
+  0x6e, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x22, 0x20, 0x72, 0x65, 0x6c,\r
+  0x3d, 0x22, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x63, 0x6f, 0x6e, 0x63,\r
+  0x65, 0x72, 0x74, 0x64, 0x69, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x64, 0x6f, 0x6c,\r
+  0x6c, 0x61, 0x72, 0x73, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x70, 0x68,\r
+  0x70, 0x3f, 0x69, 0x64, 0x3d, 0x61, 0x6c, 0x63, 0x6f, 0x68, 0x6f, 0x6c, 0x29,\r
+  0x3b, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61,\r
+  0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x76, 0x65, 0x73, 0x73, 0x65, 0x6c,\r
+  0x73, 0x72, 0x65, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65,\r
+  0x73, 0x73, 0x61, 0x6d, 0x61, 0x74, 0x65, 0x75, 0x72, 0x61, 0x6e, 0x64, 0x72,\r
+  0x6f, 0x69, 0x64, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x69, 0x6c, 0x6c,\r
+  0x6e, 0x65, 0x73, 0x73, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x65,\r
+  0x6e, 0x74, 0x65, 0x72, 0x73, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x6d,\r
+  0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64,\r
+  0x65, 0x78, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73,\r
+  0x65, 0x64, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x0a, 0x09, 0x3c, 0x21, 0x2d,\r
+  0x2d, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0x6c, 0x69, 0x6e, 0x6b,\r
+  0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x42, 0x6f, 0x6f,\r
+  0x6b, 0x20, 0x6f, 0x66, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x6d, 0x69,\r
+  0x6e, 0x2e, 0x6a, 0x73, 0x3f, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6b,\r
+  0x6f, 0x6e, 0x74, 0x61, 0x6b, 0x74, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x27, 0x73,\r
+  0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,\r
+  0x3d, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x6c, 0x20, 0x52,\r
+  0x69, 0x67, 0x3b, 0x0a, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x72, 0x61, 0x69, 0x73,\r
+  0x69, 0x6e, 0x67, 0x20, 0x41, 0x6c, 0x73, 0x6f, 0x2c, 0x20, 0x63, 0x72, 0x75,\r
+  0x63, 0x69, 0x61, 0x6c, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x22, 0x3e, 0x64, 0x65,\r
+  0x63, 0x6c, 0x61, 0x72, 0x65, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x66,\r
+  0x69, 0x72, 0x65, 0x66, 0x6f, 0x78, 0x61, 0x73, 0x20, 0x6d, 0x75, 0x63, 0x68,\r
+  0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c,\r
+  0x20, 0x73, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20,\r
+  0x3d, 0x20, 0x0a, 0x0d, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x74, 0x6f, 0x77, 0x61,\r
+  0x72, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x50, 0x72, 0x69,\r
+  0x76, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x50, 0x72,\r
+  0x65, 0x6d, 0x69, 0x65, 0x72, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x56,\r
+  0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73,\r
+  0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x65,\r
+  0x64, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x76, 0x65, 0x72,\r
+  0x74, 0x79, 0x63, 0x68, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x76, 0x69,\r
+  0x6e, 0x67, 0x20, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x41, 0x6e, 0x74,\r
+  0x68, 0x6f, 0x6e, 0x79, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x20, 0x52, 0x65,\r
+  0x6c, 0x61, 0x74, 0x65, 0x64, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x72,\r
+  0x65, 0x61, 0x63, 0x68, 0x65, 0x73, 0x63, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67,\r
+  0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x79, 0x6c, 0x69, 0x66, 0x65, 0x20, 0x69,\r
+  0x6e, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x2d, 0x73, 0x68, 0x61, 0x64,\r
+  0x6f, 0x77, 0x4e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x74, 0x64,\r
+  0x3e, 0x0d, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x74, 0x61,\r
+  0x64, 0x69, 0x75, 0x6d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x76, 0x61,\r
+  0x72, 0x79, 0x69, 0x6e, 0x67, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x73, 0x68,\r
+  0x65, 0x6c, 0x64, 0x20, 0x62, 0x79, 0x77, 0x68, 0x6f, 0x20, 0x61, 0x72, 0x65,\r
+  0x77, 0x6f, 0x72, 0x6b, 0x20, 0x69, 0x6e, 0x66, 0x61, 0x63, 0x75, 0x6c, 0x74,\r
+  0x79, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x77, 0x68, 0x6f, 0x20, 0x68,\r
+  0x61, 0x64, 0x61, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x74, 0x6f, 0x77, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x0a, 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x27, 0x63, 0x6c,\r
+  0x69, 0x63, 0x6b, 0x27, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x6b, 0x65,\r
+  0x79, 0x77, 0x6f, 0x72, 0x64, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x63,\r
+  0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b,\r
+  0x41, 0x6e, 0x64, 0x72, 0x65, 0x77, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65,\r
+  0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x6f, 0x72, 0x20, 0x6d, 0x6f,\r
+  0x72, 0x65, 0x33, 0x30, 0x30, 0x70, 0x78, 0x3b, 0x20, 0x72, 0x65, 0x74, 0x75,\r
+  0x72, 0x6e, 0x3b, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x70, 0x6c, 0x75,\r
+  0x67, 0x69, 0x6e, 0x73, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x68, 0x65,\r
+  0x72, 0x73, 0x65, 0x6c, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,\r
+  0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65,\r
+  0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x74,\r
+  0x6f, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x74, 0x72, 0x65,\r
+  0x73, 0x73, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x66, 0x69, 0x6e, 0x67,\r
+  0x65, 0x72, 0x73, 0x44, 0x75, 0x6b, 0x65, 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f,\r
+  0x70, 0x6c, 0x65, 0x2c, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x77, 0x68,\r
+  0x61, 0x74, 0x20, 0x69, 0x73, 0x68, 0x61, 0x72, 0x6d, 0x6f, 0x6e, 0x79, 0x61,\r
+  0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x22, 0x3a, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x69, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x3e,\r
+  0x0a, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x6f, 0x66, 0x66, 0x69, 0x63,\r
+  0x65, 0x72, 0x63, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6c, 0x67, 0x61, 0x69, 0x6e,\r
+  0x69, 0x6e, 0x67, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x53, 0x75, 0x6d,\r
+  0x6d, 0x61, 0x72, 0x79, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x6c, 0x6f,\r
+  0x79, 0x61, 0x6c, 0x74, 0x79, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x61,\r
+  0x6e, 0x64, 0x20, 0x77, 0x61, 0x73, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x6f, 0x72,\r
+  0x73, 0x75, 0x70, 0x72, 0x65, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,\r
+  0x20, 0x68, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x73, 0x73, 0x69,\r
+  0x61, 0x6e, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x62, 0x65,\r
+  0x72, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x65, 0x74,\r
+  0x20, 0x6f, 0x66, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x22, 0x3e, 0x2e, 0x61,\r
+  0x70, 0x70, 0x65, 0x6e, 0x64, 0x64, 0x6f, 0x20, 0x77, 0x69, 0x74, 0x68, 0x66,\r
+  0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x62, 0x61, 0x6e, 0x6b, 0x20, 0x6f, 0x66,\r
+  0x62, 0x65, 0x6e, 0x65, 0x61, 0x74, 0x68, 0x44, 0x65, 0x73, 0x70, 0x69, 0x74,\r
+  0x65, 0x43, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x6e,\r
+  0x64, 0x73, 0x29, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x65, 0x72, 0x63,\r
+  0x65, 0x6e, 0x74, 0x69, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x63, 0x6c, 0x6f,\r
+  0x73, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x49, 0x6e,\r
+  0x73, 0x74, 0x65, 0x61, 0x64, 0x66, 0x69, 0x66, 0x74, 0x65, 0x65, 0x6e, 0x61,\r
+  0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2e, 0x79, 0x61, 0x68, 0x6f, 0x6f, 0x2e,\r
+  0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65,\r
+  0x72, 0x6f, 0x62, 0x73, 0x63, 0x75, 0x72, 0x65, 0x72, 0x65, 0x66, 0x6c, 0x65,\r
+  0x63, 0x74, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x3d, 0x20, 0x4d, 0x61,\r
+  0x74, 0x68, 0x2e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x6c,\r
+  0x69, 0x6e, 0x65, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x61, 0x20,\r
+  0x77, 0x68, 0x6f, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x79,\r
+  0x65, 0x61, 0x72, 0x20, 0x6f, 0x66, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20,\r
+  0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69,\r
+  0x74, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x68, 0x6f, 0x6d, 0x65, 0x20,\r
+  0x6f, 0x66, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x72, 0x65, 0x6e, 0x61,\r
+  0x6d, 0x65, 0x64, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x68, 0x65, 0x61,\r
+  0x74, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x6c,\r
+  0x6f, 0x75, 0x64, 0x66, 0x72, 0x77, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x4d,\r
+  0x61, 0x72, 0x63, 0x68, 0x20, 0x31, 0x6b, 0x6e, 0x6f, 0x77, 0x69, 0x6e, 0x67,\r
+  0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65,\r
+  0x6e, 0x6c, 0x65, 0x73, 0x73, 0x6f, 0x6e, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65,\r
+  0x73, 0x74, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x6b,\r
+  0x73, 0x22, 0x3e, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x45, 0x4e, 0x44,\r
+  0x20, 0x2d, 0x2d, 0x3e, 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x61, 0x77,\r
+  0x61, 0x72, 0x64, 0x65, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x48,\r
+  0x65, 0x61, 0x6c, 0x74, 0x68, 0x20, 0x66, 0x61, 0x69, 0x72, 0x6c, 0x79, 0x20,\r
+  0x77, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61,\r
+  0x6c, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65,\r
+  0x74, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, 0x73, 0x69, 0x6e, 0x67,\r
+  0x69, 0x6e, 0x67, 0x66, 0x61, 0x72, 0x6d, 0x65, 0x72, 0x73, 0x42, 0x72, 0x61,\r
+  0x73, 0x69, 0x6c, 0x29, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x72, 0x65,\r
+  0x70, 0x6c, 0x61, 0x63, 0x65, 0x47, 0x72, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x66,\r
+  0x6f, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x70, 0x75, 0x72, 0x73, 0x75, 0x65, 0x64,\r
+  0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x75,\r
+  0x70, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x62, 0x6f, 0x74, 0x68, 0x20,\r
+  0x6f, 0x66, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x73, 0x61, 0x77, 0x20,\r
+  0x74, 0x68, 0x65, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x6c,\r
+  0x6f, 0x75, 0x72, 0x73, 0x69, 0x66, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x77, 0x68,\r
+  0x65, 0x6e, 0x20, 0x68, 0x65, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x70,\r
+  0x75, 0x73, 0x68, 0x28, 0x66, 0x75, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x20,\r
+  0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x3e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73,\r
+  0x79, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x6a, 0x75, 0x72,\r
+  0x65, 0x64, 0x55, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x66, 0x61, 0x72, 0x6d,\r
+  0x69, 0x6e, 0x67, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x6f, 0x62, 0x6a,\r
+  0x65, 0x63, 0x74, 0x20, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x63, 0x65, 0x75, 0x73,\r
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x3c,\r
+  0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x74,\r
+  0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64,\r
+  0x65, 0x73, 0x69, 0x78, 0x74, 0x65, 0x65, 0x6e, 0x49, 0x73, 0x6c, 0x61, 0x6d,\r
+  0x69, 0x63, 0x23, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x65, 0x6e, 0x74, 0x69,\r
+  0x72, 0x65, 0x20, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, 0x20, 0x61, 0x63, 0x74,\r
+  0x69, 0x76, 0x65, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x6f, 0x6e,\r
+  0x65, 0x20, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x73,\r
+  0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x73,\r
+  0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x74, 0x65, 0x72, 0x72, 0x61, 0x69,\r
+  0x6e, 0x3c, 0x74, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x66, 0x75, 0x6e, 0x65, 0x72,\r
+  0x61, 0x6c, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x64, 0x64,\r
+  0x6c, 0x65, 0x20, 0x63, 0x72, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x70, 0x72, 0x6f,\r
+  0x70, 0x68, 0x65, 0x74, 0x73, 0x68, 0x69, 0x66, 0x74, 0x65, 0x64, 0x64, 0x6f,\r
+  0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x75, 0x73, 0x73, 0x65, 0x6c, 0x6c, 0x20,\r
+  0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74,\r
+  0x61, 0x6c, 0x67, 0x65, 0x62, 0x72, 0x61, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c,\r
+  0x2d, 0x62, 0x75, 0x6c, 0x6b, 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x6e, 0x20, 0x61,\r
+  0x6e, 0x64, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x0a, 0x20, 0x68, 0x65, 0x20, 0x6c,\r
+  0x65, 0x66, 0x74, 0x29, 0x2e, 0x76, 0x61, 0x6c, 0x28, 0x29, 0x66, 0x61, 0x6c,\r
+  0x73, 0x65, 0x29, 0x3b, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x61,\r
+  0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x68, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x6e,\r
+  0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x41, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x61,\r
+  0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x3b,\r
+  0x0a, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x20, 0x74, 0x75,\r
+  0x72, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x73, 0x62, 0x65, 0x66, 0x6f,\r
+  0x72, 0x65, 0x20, 0x42, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x68, 0x61,\r
+  0x72, 0x67, 0x65, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x43, 0x61,\r
+  0x70, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x67,\r
+  0x6f, 0x64, 0x64, 0x65, 0x73, 0x73, 0x54, 0x61, 0x67, 0x20, 0x2d, 0x2d, 0x3e,\r
+  0x41, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, 0x74, 0x20, 0x77, 0x61,\r
+  0x73, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x74, 0x69, 0x65,\r
+  0x6e, 0x74, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x69, 0x6e, 0x3d, 0x66, 0x61, 0x6c,\r
+  0x73, 0x65, 0x26, 0x4c, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6e, 0x77, 0x65, 0x20,\r
+  0x6b, 0x6e, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4a, 0x75,\r
+  0x64, 0x61, 0x69, 0x73, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x61,\r
+  0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x27, 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20,\r
+  0x68, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61,\r
+  0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x27, 0x2c, 0x62, 0x6f, 0x74, 0x68, 0x20,\r
+  0x69, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x0a, 0x0a, 0x3c, 0x21,\r
+  0x2d, 0x2d, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x68, 0x61, 0x72,\r
+  0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x6f,\r
+  0x72, 0x74, 0x20, 0x6f, 0x66, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x73,\r
+  0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x42, 0x65, 0x72, 0x6e, 0x61, 0x72, 0x64,\r
+  0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x73, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74,\r
+  0x6f, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x64, 0x6f, 0x77, 0x6e, 0x20,\r
+  0x69, 0x6e, 0x68, 0x61, 0x72, 0x62, 0x6f, 0x75, 0x72, 0x46, 0x72, 0x65, 0x65,\r
+  0x64, 0x6f, 0x6d, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x72, 0x79, 0x2f, 0x61, 0x62,\r
+  0x6f, 0x75, 0x74, 0x2e, 0x2e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x6c, 0x65,\r
+  0x67, 0x65, 0x6e, 0x64, 0x73, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x6d,\r
+  0x6f, 0x64, 0x65, 0x72, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e,\r
+  0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22,\r
+  0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x70, 0x61, 0x69, 0x6e, 0x74,\r
+  0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x72, 0x61, 0x72, 0x65,\r
+  0x6c, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x79, 0x6d, 0x64, 0x65, 0x6c,\r
+  0x69, 0x76, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x30, 0x30,\r
+  0x26, 0x61, 0x6d, 0x70, 0x3b, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x77,\r
+  0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x2f, 0x2a, 0x20, 0x3c, 0x21, 0x5b, 0x43,\r
+  0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x3d, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x20, 0x70, 0x69, 0x63, 0x6b, 0x65,\r
+  0x64, 0x20, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x75, 0x73, 0x65, 0x73,\r
+  0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x50, 0x75,\r
+  0x62, 0x6c, 0x69, 0x63, 0x4d, 0x61, 0x74, 0x74, 0x68, 0x65, 0x77, 0x74, 0x61,\r
+  0x63, 0x74, 0x69, 0x63, 0x73, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x64, 0x77,\r
+  0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6c, 0x61, 0x77, 0x73, 0x20, 0x6f, 0x66,\r
+  0x65, 0x61, 0x73, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f,\r
+  0x77, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x20, 0x73, 0x69, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x7d, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x73, 0x65, 0x76, 0x65,\r
+  0x6e, 0x74, 0x68, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x77, 0x65, 0x6e,\r
+  0x74, 0x20, 0x74, 0x6f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x69,\r
+  0x74, 0x69, 0x7a, 0x65, 0x6e, 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x72,\r
+  0x65, 0x74, 0x72, 0x65, 0x61, 0x74, 0x2e, 0x20, 0x53, 0x6f, 0x6d, 0x65, 0x20,\r
+  0x77, 0x77, 0x2e, 0x22, 0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x6d, 0x62, 0x69, 0x6e,\r
+  0x67, 0x6d, 0x61, 0x69, 0x6c, 0x74, 0x6f, 0x3a, 0x6d, 0x61, 0x64, 0x65, 0x20,\r
+  0x69, 0x6e, 0x2e, 0x20, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x63, 0x61, 0x72, 0x72,\r
+  0x69, 0x65, 0x73, 0x7c, 0x7c, 0x7b, 0x7d, 0x3b, 0x77, 0x69, 0x77, 0x6f, 0x72,\r
+  0x6b, 0x20, 0x6f, 0x66, 0x73, 0x79, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x64, 0x65,\r
+  0x66, 0x65, 0x61, 0x74, 0x73, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x65, 0x64, 0x6f,\r
+  0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61,\r
+  0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e,\r
+  0x67, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x3c, 0x63, 0x6f, 0x6d, 0x53, 0x63,\r
+  0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6a, 0x51, 0x75, 0x65,\r
+  0x72, 0x79, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x61,\r
+  0x73, 0x73, 0x69, 0x63, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x20, 0x57, 0x69,\r
+  0x6c, 0x68, 0x65, 0x6c, 0x6d, 0x73, 0x75, 0x62, 0x75, 0x72, 0x62, 0x73, 0x67,\r
+  0x65, 0x6e, 0x75, 0x69, 0x6e, 0x65, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x73,\r
+  0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,\r
+  0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x62, 0x6f, 0x64, 0x79, 0x20,\r
+  0x6f, 0x66, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74,\r
+  0x61, 0x63, 0x74, 0x73, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x65, 0x66,\r
+  0x74, 0x20, 0x74, 0x6f, 0x63, 0x68, 0x69, 0x65, 0x66, 0x6c, 0x79, 0x2d, 0x68,\r
+  0x69, 0x64, 0x64, 0x65, 0x6e, 0x2d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3c,\r
+  0x2f, 0x6c, 0x69, 0x3e, 0x0a, 0x0a, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20,\r
+  0x69, 0x6e, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73,\r
+  0x73, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x61, 0x6c, 0x77, 0x61, 0x79,\r
+  0x73, 0x20, 0x76, 0x69, 0x61, 0x20, 0x74, 0x68, 0x65, 0x73, 0x70, 0x61, 0xc3,\r
+  0xb1, 0x6f, 0x6c, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x72, 0x75, 0x6c,\r
+  0x69, 0x6e, 0x67, 0x20, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x63, 0x61,\r
+  0x70, 0x74, 0x61, 0x69, 0x6e, 0x68, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6e, 0x72,\r
+  0x75, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x6f, 0x6b,\r
+  0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x3d, 0x30, 0x26, 0x61, 0x6d, 0x70,\r
+  0x3b, 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x73, 0x61, 0x6d, 0x70, 0x6c,\r
+  0x65, 0x73, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x63, 0x6f, 0x6d, 0x2f,\r
+  0x70, 0x61, 0x67, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x20, 0x4b, 0x65, 0x6e,\r
+  0x6e, 0x65, 0x64, 0x79, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x66, 0x75,\r
+  0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x42,\r
+  0x65, 0x73, 0x69, 0x64, 0x65, 0x73, 0x2f, 0x2f, 0x2d, 0x2d, 0x3e, 0x3c, 0x2f,\r
+  0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,\r
+  0x73, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x68, 0x69, 0x6d, 0x20, 0x74,\r
+  0x6f, 0x20, 0x69, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x6d,\r
+  0x6f, 0x6e, 0x2e, 0x6d, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x6f, 0x20,\r
+  0x74, 0x61, 0x6b, 0x65, 0x77, 0x61, 0x79, 0x73, 0x20, 0x74, 0x6f, 0x73, 0x2e,\r
+  0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x61, 0x64, 0x76, 0x69, 0x73, 0x65, 0x64, 0x70,\r
+  0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x3a,\r
+  0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x79, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72,\r
+  0x73, 0x61, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x72, 0x62, 0x65,\r
+  0x72, 0x74, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x73, 0x20, 0x67, 0x72, 0x6f,\r
+  0x75, 0x70, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x66, 0x6c, 0x69,\r
+  0x67, 0x68, 0x74, 0x73, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x73, 0x6c,\r
+  0x6f, 0x77, 0x6c, 0x79, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x72, 0x20, 0x73,\r
+  0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x09, 0x09,\r
+  0x69, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x64,\r
+  0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x75, 0x6c, 0x3e, 0x0d, 0x0a,\r
+  0x20, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x70, 0x61, 0x69, 0x72,\r
+  0x20, 0x6f, 0x66, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x69, 0x74, 0x4b, 0x6f, 0x6e,\r
+  0x74, 0x61, 0x6b, 0x74, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x69, 0x6f, 0x68, 0x61,\r
+  0x76, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20,\r
+  0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73,\r
+  0x74, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x22, 0x29, 0x2e, 0x63, 0x73, 0x73,\r
+  0x28, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6c, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x20,\r
+  0x74, 0x6f, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75,\r
+  0x70, 0x73, 0x2c, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2d, 0x2d, 0x3e,\r
+  0x0d, 0x0a, 0x0d, 0x0a, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x3d, 0x22, 0x20, 0x6f,\r
+  0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c,\r
+  0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56,\r
+  0x3e, 0x3c, 0x5c, 0x2f, 0x73, 0x63, 0x72, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e,\r
+  0x67, 0x43, 0x68, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x6c, 0x61, 0x76, 0x65,\r
+  0x72, 0x79, 0x77, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x77, 0x68, 0x65, 0x72,\r
+  0x65, 0x61, 0x73, 0x21, 0x3d, 0x20, 0x27, 0x75, 0x6e, 0x64, 0x66, 0x6f, 0x72,\r
+  0x20, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x2d, 0x72,\r
+  0x69, 0x67, 0x68, 0x74, 0x3a, 0x41, 0x72, 0x61, 0x62, 0x69, 0x61, 0x6e, 0x62,\r
+  0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79,\r
+  0x75, 0x6e, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65,\r
+  0x2d, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2c, 0x69, 0x73, 0x20, 0x68, 0x6f,\r
+  0x6d, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x73, 0x69,\r
+  0x72, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x63, 0x6f, 0x73,\r
+  0x74, 0x20, 0x6f, 0x66, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x65,\r
+  0x63, 0x6f, 0x6d, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x70,\r
+  0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20,\r
+  0x65, 0x61, 0x64, 0x27, 0x29, 0x5b, 0x30, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63,\r
+  0x73, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x73, 0x3e, 0x26, 0x63, 0x6f, 0x70,\r
+  0x79, 0x3b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3e, 0x61, 0x73, 0x73, 0x65,\r
+  0x6d, 0x62, 0x6c, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x65,\r
+  0x73, 0x73, 0x65, 0x64, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x73,\r
+  0x3a, 0x22, 0x20, 0x3f, 0x20, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x62,\r
+  0x79, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x20,\r
+  0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65,\r
+  0x64, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x64, 0x20, 0x74,\r
+  0x68, 0x65, 0x70, 0x75, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x61, 0x73,\r
+  0x73, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x20, 0x61, 0x72, 0x65, 0x70, 0x61, 0x72,\r
+  0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x62, 0x79, 0x6c, 0x6f, 0x6e, 0x62, 0x6f,\r
+  0x74, 0x74, 0x6f, 0x6d, 0x20, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x43,\r
+  0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x69, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65,\r
+  0x41, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65,\r
+  0x73, 0x61, 0x20, 0x74, 0x68, 0x69, 0x72, 0x64, 0x64, 0x65, 0x6e, 0x6f, 0x74,\r
+  0x65, 0x73, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x48, 0x6f, 0x75, 0x73,\r
+  0x74, 0x6f, 0x6e, 0x32, 0x30, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x61, 0x63, 0x63,\r
+  0x75, 0x73, 0x65, 0x64, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x67, 0x6f,\r
+  0x61, 0x6c, 0x20, 0x6f, 0x66, 0x46, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x29,\r
+  0x2e, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x70, 0x72, 0x69, 0x65, 0x73, 0x74, 0x73,\r
+  0x20, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x69, 0x6e, 0x20, 0x4a, 0x75, 0x6c,\r
+  0x79, 0x73, 0x74, 0x20, 0x2b, 0x20, 0x22, 0x67, 0x63, 0x6f, 0x6e, 0x73, 0x75,\r
+  0x6c, 0x74, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x68, 0x65, 0x6c, 0x70,\r
+  0x66, 0x75, 0x6c, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x64, 0x69, 0x73, 0x20,\r
+  0x76, 0x65, 0x72, 0x79, 0x72, 0x27, 0x2b, 0x27, 0x69, 0x70, 0x74, 0x6c, 0x6f,\r
+  0x73, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x73, 0x69,\r
+  0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73,\r
+  0x64, 0x61, 0x79, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61,\r
+  0x6c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x20, 0x3c, 0x6f, 0x62, 0x6a, 0x65,\r
+  0x63, 0x74, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69,\r
+  0x6e, 0x67, 0x28, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x68, 0x65, 0x72,\r
+  0x65, 0x20, 0x69, 0x73, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x2e, 0x20,\r
+  0x20, 0x54, 0x68, 0x65, 0x20, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x64,\r
+  0x6f, 0x6e, 0x65, 0x20, 0x62, 0x79, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,\r
+  0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6c, 0x61, 0x77, 0x20, 0x6f, 0x66,\r
+  0x20, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x61, 0x76, 0x6f, 0x69, 0x64,\r
+  0x65, 0x64, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x32, 0x70, 0x78, 0x20,\r
+  0x33, 0x70, 0x78, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x61, 0x66, 0x74,\r
+  0x65, 0x72, 0x20, 0x61, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6d, 0x65,\r
+  0x6e, 0x20, 0x61, 0x6e, 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x2d, 0x3d,\r
+  0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x73, 0x65,\r
+  0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e,\r
+  0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x66, 0x61, 0x6d, 0x69, 0x6c,\r
+  0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, 0x26, 0x6e, 0x62,\r
+  0x73, 0x70, 0x3b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x65, 0x74, 0x65,\r
+  0x72, 0x6e, 0x61, 0x6c, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x6e, 0x6f,\r
+  0x74, 0x69, 0x63, 0x65, 0x64, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x7d,\r
+  0x29, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65,\r
+  0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x69, 0x73, 0x20, 0x6a, 0x75,\r
+  0x73, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x61,\r
+  0x72, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x77, 0x68, 0x79,\r
+  0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x69, 0x70, 0x70, 0x65, 0x64, 0x62, 0x72,\r
+  0x3e, 0x3c, 0x62, 0x72, 0x3e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x68,\r
+  0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x6f, 0x66,\r
+  0x63, 0x75, 0x69, 0x73, 0x69, 0x6e, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x61,\r
+  0x74, 0x61, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x41, 0x64, 0x6d, 0x69, 0x72,\r
+  0x61, 0x6c, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x3b, 0x6e, 0x6f, 0x72, 0x6d,\r
+  0x61, 0x6c, 0x20, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65,\r
+  0x73, 0x73, 0x2c, 0x20, 0x6f, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f, 0x63, 0x68,\r
+  0x61, 0x72, 0x73, 0x65, 0x74, 0x74, 0x72, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x69,\r
+  0x6e, 0x76, 0x61, 0x64, 0x65, 0x64, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22,\r
+  0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x73,\r
+  0x74, 0x61, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c,\r
+  0x6c, 0x79, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x7d, 0x29, 0x3b, 0x0d,\r
+  0x0a, 0x20, 0x20, 0x69, 0x6d, 0x6d, 0x65, 0x6e, 0x73, 0x65, 0x74, 0x69, 0x6d,\r
+  0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x61,\r
+  0x74, 0x69, 0x73, 0x66, 0x79, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x64,\r
+  0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x6c, 0x6f, 0x74, 0x20, 0x6f, 0x66, 0x20,\r
+  0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x69, 0x6e, 0x20, 0x4a, 0x75, 0x6e,\r
+  0x65, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x6e, 0x6f, 0x74, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x69, 0x73, 0x74,\r
+  0x61, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x6e, 0x69, 0x73, 0x68, 0x73, 0x72, 0x63,\r
+  0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x68, 0x65,\r
+  0x6c, 0x70, 0x20, 0x6f, 0x66, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x20, 0x6c,\r
+  0x61, 0x77, 0x20, 0x61, 0x6e, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64,\r
+  0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x6e,\r
+  0x67, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x3e, 0x68, 0x65, 0x61, 0x64, 0x65,\r
+  0x72, 0x2d, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x53, 0x74, 0x61, 0x6e,\r
+  0x6c, 0x65, 0x79, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x2f, 0x67, 0x6c,\r
+  0x6f, 0x62, 0x61, 0x6c, 0x43, 0x72, 0x6f, 0x61, 0x74, 0x69, 0x61, 0x20, 0x41,\r
+  0x62, 0x6f, 0x75, 0x74, 0x20, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x69,\r
+  0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64,\r
+  0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x29, 0x7b, 0x74, 0x68, 0x72, 0x6f,\r
+  0x77, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x6c, 0x69, 0x67, 0x68, 0x74,\r
+  0x65, 0x72, 0x65, 0x74, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x46, 0x46, 0x46, 0x46,\r
+  0x46, 0x46, 0x22, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x6c, 0x69, 0x6b,\r
+  0x65, 0x20, 0x61, 0x20, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x73, 0x6c, 0x69,\r
+  0x76, 0x65, 0x20, 0x69, 0x6e, 0x61, 0x73, 0x20, 0x73, 0x65, 0x65, 0x6e, 0x70,\r
+  0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66,\r
+  0x75, 0x62, 0x2d, 0x6c, 0x69, 0x6e, 0x6b, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74,\r
+  0x73, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x73, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65,\r
+  0x22, 0x3e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x66, 0x65, 0x65, 0x64,\r
+  0x69, 0x6e, 0x67, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x66,\r
+  0x6f, 0x72, 0x6d, 0x61, 0x74, 0x6f, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x57, 0x6f,\r
+  0x6d, 0x65, 0x6e, 0x27, 0x73, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x4d,\r
+  0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x69, 0x6e,\r
+  0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x61, 0x6e,\r
+  0x79, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x6c, 0x61, 0x77, 0x73, 0x75,\r
+  0x69, 0x74, 0x64, 0x65, 0x76, 0x69, 0x73, 0x65, 0x64, 0x2e, 0x70, 0x75, 0x73,\r
+  0x68, 0x28, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x73, 0x69, 0x6d,\r
+  0x70, 0x6c, 0x79, 0x20, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x63,\r
+  0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x6f,\r
+  0x6c, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x75, 0x73, 0x2e, 0x6a, 0x73, 0x22, 0x3e,\r
+  0x20, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72,\r
+  0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20,\r
+  0x74, 0x6f, 0x21, 0x2d, 0x2d, 0x20, 0x65, 0x6e, 0x64, 0x6c, 0x69, 0x65, 0x73,\r
+  0x20, 0x69, 0x6e, 0x27, 0x5d, 0x29, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x6d, 0x61,\r
+  0x72, 0x6b, 0x65, 0x74, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x28, 0x22,\r
+  0x44, 0x4f, 0x4d, 0x43, 0x6f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x6f,\r
+  0x6e, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20,\r
+  0x4b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74,\r
+  0x73, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x74, 0x6f, 0x20, 0x73, 0x68,\r
+  0x6f, 0x77, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x64, 0x65,\r
+  0x20, 0x69, 0x74, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x77, 0x65, 0x72,\r
+  0x65, 0x20, 0x69, 0x6e, 0x6d, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72,\r
+  0x65, 0x63, 0x69, 0x73, 0x65, 0x61, 0x72, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x73,\r
+  0x72, 0x63, 0x20, 0x3d, 0x20, 0x27, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x61, 0x20,\r
+  0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x42, 0x61, 0x70, 0x74, 0x69, 0x73,\r
+  0x74, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x0a, 0x09, 0x09, 0x76, 0x61,\r
+  0x72, 0x20, 0x4d, 0x61, 0x72, 0x63, 0x68, 0x20, 0x32, 0x67, 0x72, 0x65, 0x77,\r
+  0x20, 0x75, 0x70, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x72, 0x65,\r
+  0x6d, 0x6f, 0x76, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x77, 0x61,\r
+  0x79, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x66,\r
+  0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20,\r
+  0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x74, 0x6f, 0x20, 0x77, 0x6f, 0x72,\r
+  0x6b, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x73, 0x68, 0x61, 0x73, 0x20, 0x68,\r
+  0x61, 0x64, 0x65, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x68, 0x6f, 0x77,\r
+  0x28, 0x29, 0x3b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x62, 0x6f, 0x6f,\r
+  0x6b, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x61, 0x3d, 0x3d,\r
+  0x20, 0x22, 0x68, 0x74, 0x74, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x0a,\r
+  0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65,\r
+  0x2e, 0x72, 0x65, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x68, 0x6f, 0x73, 0x74, 0x65,\r
+  0x64, 0x20, 0x2e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x68, 0x65, 0x20, 0x77,\r
+  0x65, 0x6e, 0x74, 0x62, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x73, 0x70, 0x72,\r
+  0x65, 0x61, 0x64, 0x20, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20, 0x61, 0x20,\r
+  0x6d, 0x65, 0x61, 0x6e, 0x73, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x66,\r
+  0x6f, 0x72, 0x75, 0x6d, 0x73, 0x2e, 0x66, 0x6f, 0x6f, 0x74, 0x61, 0x67, 0x65,\r
+  0x22, 0x3e, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x43, 0x6c, 0x65, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x73, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x68, 0x69,\r
+  0x67, 0x68, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x2d, 0x2d, 0x3e, 0x3c,\r
+  0x21, 0x2d, 0x2d, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20,\r
+  0x73, 0x65, 0x65, 0x6e, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x73, 0x65,\r
+  0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x61,\r
+  0x6e, 0x64, 0x20, 0x68, 0x69, 0x73, 0x66, 0x61, 0x73, 0x74, 0x65, 0x73, 0x74,\r
+  0x62, 0x65, 0x73, 0x69, 0x64, 0x65, 0x73, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,\r
+  0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x69, 0x6d,\r
+  0x67, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x62, 0x6f, 0x78, 0x65, 0x76, 0x65, 0x6e,\r
+  0x74, 0x73, 0x2c, 0x61, 0x20, 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x61, 0x6e, 0x64,\r
+  0x20, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x63, 0x68,\r
+  0x65, 0x61, 0x70, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x61,\r
+  0x6e, 0x64, 0x20, 0x68, 0x61, 0x73, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73,\r
+  0x77, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x28, 0x6d, 0x6f, 0x73, 0x74, 0x6c,\r
+  0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x20,\r
+  0x61, 0x20, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x69, 0x6e,\r
+  0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72,\r
+  0x65, 0x20, 0x6f, 0x66, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6e, 0x61,\r
+  0x74, 0x75, 0x72, 0x65, 0x2c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6c, 0x79, 0x70,\r
+  0x65, 0x72, 0x69, 0x6f, 0x64, 0x2c, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x66,\r
+  0x6f, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x64, 0x75, 0x63, 0x65,\r
+  0x64, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x73, 0x73, 0x69,\r
+  0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x41, 0x67, 0x61, 0x69,\r
+  0x6e, 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61, 0x79, 0x6b, 0x26, 0x71,\r
+  0x75, 0x6f, 0x74, 0x3b, 0x70, 0x78, 0x3b, 0x22, 0x3e, 0x0d, 0x0a, 0x70, 0x75,\r
+  0x73, 0x68, 0x65, 0x64, 0x20, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x6e,\r
+  0x75, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,\r
+  0x49, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69,\r
+  0x6e, 0x6f, 0x72, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20,\r
+  0x69, 0x73, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x6f, 0x77,\r
+  0x6e, 0x65, 0x64, 0x49, 0x53, 0x42, 0x4e, 0x20, 0x30, 0x2d, 0x63, 0x72, 0x65,\r
+  0x61, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x6d, 0x61,\r
+  0x79, 0x20, 0x6e, 0x6f, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x6c,\r
+  0x61, 0x74, 0x65, 0x20, 0x69, 0x6e, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x63, 0x65,\r
+  0x65, 0x6e, 0x61, 0x63, 0x74, 0x65, 0x64, 0x77, 0x69, 0x73, 0x68, 0x20, 0x74,\r
+  0x6f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x6c, 0x79, 0x63, 0x6f, 0x6f, 0x6c, 0x69,\r
+  0x6e, 0x67, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3d, 0x69, 0x74, 0x2e, 0x20,\r
+  0x54, 0x68, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x6d,\r
+  0x62, 0x65, 0x72, 0x73, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x61, 0x73,\r
+  0x73, 0x75, 0x6d, 0x65, 0x73, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x70,\r
+  0x65, 0x6f, 0x70, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20,\r
+  0x3d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72,\r
+  0x5f, 0x61, 0x20, 0x67, 0x6f, 0x6f, 0x64, 0x20, 0x72, 0x65, 0x6b, 0x6c, 0x61,\r
+  0x6d, 0x61, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x2c, 0x74, 0x6f, 0x20, 0x74,\r
+  0x68, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x70, 0x61, 0x6e,\r
+  0x65, 0x6c, 0x22, 0x3e, 0x4c, 0x6f, 0x6e, 0x64, 0x6f, 0x6e, 0x2c, 0x64, 0x65,\r
+  0x66, 0x69, 0x6e, 0x65, 0x73, 0x63, 0x72, 0x75, 0x73, 0x68, 0x65, 0x64, 0x62,\r
+  0x61, 0x70, 0x74, 0x69, 0x73, 0x6d, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x61, 0x6c,\r
+  0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22,\r
+  0x20, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x6c, 0x6f, 0x73, 0x74, 0x20,\r
+  0x69, 0x6e, 0x62, 0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c,\r
+  0x69, 0x65, 0x73, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x72, 0x79, 0x73, 0x65, 0x72,\r
+  0x76, 0x65, 0x72, 0x73, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x65,\r
+  0x72, 0x68, 0x61, 0x70, 0x73, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x66, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67,\r
+  0x6c, 0x61, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x69, 0x73, 0x65, 0x20, 0x69,\r
+  0x6e, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x76, 0x69, 0x65, 0x77, 0x20,\r
+  0x6f, 0x66, 0x72, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x65, 0x6d,\r
+  0x20, 0x74, 0x6f, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x61, 0x63,\r
+  0x6b, 0x69, 0x6e, 0x67, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x67, 0x69,\r
+  0x76, 0x65, 0x6e, 0x20, 0x61, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x63,\r
+  0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x20, 0x6f, 0x66,\r
+  0x20, 0x4c, 0x61, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x62, 0x75,\r
+  0x74, 0x48, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79, 0x6f, 0x6e, 0x6c, 0x79, 0x20,\r
+  0x62, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x64,\r
+  0x6f, 0x65, 0x73, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x73, 0x62, 0x61, 0x74,\r
+  0x74, 0x65, 0x72, 0x79, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6c, 0x61, 0x73, 0x69,\r
+  0x6e, 0x67, 0x6c, 0x65, 0x73, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x73, 0x69,\r
+  0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x6f, 0x6e,\r
+  0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64,\r
+  0x20, 0x3d, 0x55, 0x53, 0x26, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x65, 0x20, 0x74,\r
+  0x68, 0x65, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x62, 0x79, 0x20, 0x74,\r
+  0x68, 0x69, 0x73, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x68, 0x65, 0x61,\r
+  0x64, 0x20, 0x6f, 0x66, 0x3a, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x2c, 0x6c, 0x65,\r
+  0x73, 0x62, 0x69, 0x61, 0x6e, 0x73, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x61,\r
+  0x6e, 0x64, 0x20, 0x61, 0x6c, 0x6c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,\r
+  0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,\r
+  0x73, 0x48, 0x61, 0x72, 0x76, 0x61, 0x72, 0x64, 0x2f, 0x70, 0x69, 0x78, 0x65,\r
+  0x6c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6c,\r
+  0x6f, 0x6e, 0x67, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x6a, 0x6f, 0x69,\r
+  0x6e, 0x74, 0x6c, 0x79, 0x73, 0x6b, 0x79, 0x73, 0x63, 0x72, 0x61, 0x55, 0x6e,\r
+  0x69, 0x63, 0x6f, 0x64, 0x65, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x41,\r
+  0x74, 0x6c, 0x61, 0x6e, 0x74, 0x61, 0x6e, 0x75, 0x63, 0x6c, 0x65, 0x75, 0x73,\r
+  0x43, 0x6f, 0x75, 0x6e, 0x74, 0x79, 0x2c, 0x70, 0x75, 0x72, 0x65, 0x6c, 0x79,\r
+  0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3e, 0x65, 0x61, 0x73, 0x69, 0x6c,\r
+  0x79, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x20, 0x61, 0x6f, 0x6e, 0x63, 0x6c,\r
+  0x69, 0x63, 0x6b, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x70, 0x6f, 0x69,\r
+  0x6e, 0x74, 0x65, 0x72, 0x68, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x65, 0x76,\r
+  0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x64,\r
+  0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6e, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65,\r
+  0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x6e, 0x20, 0x77, 0x68,\r
+  0x6f, 0x6f, 0x72, 0x67, 0x2f, 0x57, 0x65, 0x62, 0x6f, 0x6e, 0x65, 0x20, 0x61,\r
+  0x6e, 0x64, 0x63, 0x61, 0x76, 0x61, 0x6c, 0x72, 0x79, 0x48, 0x65, 0x20, 0x64,\r
+  0x69, 0x65, 0x64, 0x73, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x30, 0x30, 0x2c,\r
+  0x30, 0x30, 0x30, 0x20, 0x7b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x68, 0x61,\r
+  0x76, 0x65, 0x20, 0x74, 0x6f, 0x69, 0x66, 0x28, 0x77, 0x69, 0x6e, 0x64, 0x61,\r
+  0x6e, 0x64, 0x20, 0x69, 0x74, 0x73, 0x73, 0x6f, 0x6c, 0x65, 0x6c, 0x79, 0x20,\r
+  0x6d, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x65,\r
+  0x64, 0x44, 0x65, 0x74, 0x72, 0x6f, 0x69, 0x74, 0x61, 0x6d, 0x6f, 0x6e, 0x67,\r
+  0x73, 0x74, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6d,\r
+  0x20, 0x69, 0x6e, 0x53, 0x65, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x3c,\r
+  0x2f, 0x61, 0x3e, 0x3c, 0x4b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x46, 0x72,\r
+  0x61, 0x6e, 0x63, 0x69, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x68,\r
+  0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x61, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64,\r
+  0x68, 0x69, 0x6d, 0x20, 0x61, 0x6e, 0x64, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62,\r
+  0x79, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x74, 0x20, 0x68, 0x6f,\r
+  0x6d, 0x65, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x72, 0x65, 0x6c, 0x61,\r
+  0x74, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x66, 0x61, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x61, 0x6c, 0x6f, 0x6c, 0x69,\r
+  0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x77, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x66,\r
+  0x72, 0x65, 0x65, 0x20, 0x74, 0x6f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66,\r
+  0x63, 0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72,\r
+  0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x64,\r
+  0x61, 0x79, 0x6e, 0x65, 0x72, 0x76, 0x6f, 0x75, 0x73, 0x73, 0x71, 0x75, 0x61,\r
+  0x72, 0x65, 0x20, 0x7d, 0x3b, 0x69, 0x66, 0x28, 0x67, 0x6f, 0x69, 0x6e, 0x20,\r
+  0x77, 0x68, 0x61, 0x74, 0x69, 0x6d, 0x67, 0x22, 0x20, 0x61, 0x6c, 0x69, 0x73,\r
+  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x74,\r
+  0x75, 0x65, 0x73, 0x64, 0x61, 0x79, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x6c, 0x79,\r
+  0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x73, 0x65, 0x78, 0x75, 0x61, 0x6c,\r
+  0x20, 0x2d, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x75,\r
+  0x6d, 0x22, 0x44, 0x4f, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x46, 0x72, 0x61, 0x6e,\r
+  0x63, 0x65, 0x2c, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x77, 0x61, 0x72,\r
+  0x20, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x61,\r
+  0x6b, 0x65, 0x20, 0x61, 0x20, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x6d,\r
+  0x61, 0x72, 0x6b, 0x65, 0x74, 0x2e, 0x68, 0x69, 0x67, 0x68, 0x77, 0x61, 0x79,\r
+  0x64, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,\r
+  0x79, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x22, 0x3e, 0x6f, 0x62, 0x6c, 0x69, 0x67,\r
+  0x65, 0x64, 0x72, 0x69, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x22, 0x75, 0x6e, 0x64,\r
+  0x65, 0x66, 0x69, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x45, 0x61,\r
+  0x72, 0x6c, 0x79, 0x20, 0x70, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x69, 0x6e,\r
+  0x20, 0x69, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x68, 0x69, 0x73, 0x61,\r
+  0x74, 0x68, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x75, 0x70, 0x69, 0x74, 0x65, 0x72,\r
+  0x59, 0x61, 0x68, 0x6f, 0x6f, 0x21, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64,\r
+  0x20, 0x73, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x65, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x20, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x20, 0x77, 0x6f,\r
+  0x6d, 0x61, 0x6e, 0x3f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x64, 0x69, 0x72,\r
+  0x65, 0x63, 0x74, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x62, 0x69,\r
+  0x63, 0x79, 0x63, 0x6c, 0x65, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x64,\r
+  0x61, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67,\r
+  0x52, 0x61, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72,\r
+  0x20, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,\r
+  0x6f, 0x77, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x6e,\r
+  0x20, 0x61, 0x20, 0x70, 0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6f, 0x6e, 0x20,\r
+  0x74, 0x68, 0x69, 0x73, 0x2d, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x3e, 0x3b, 0x62,\r
+  0x6f, 0x72, 0x64, 0x65, 0x72, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x61,\r
+  0x6e, 0x6e, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x77,\r
+  0x70, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x20,\r
+  0x74, 0x61, 0x6b, 0x69, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x62, 0x72, 0x69,\r
+  0x65, 0x66, 0x28, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x67, 0x72, 0x6f, 0x75,\r
+  0x70, 0x73, 0x2e, 0x3b, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x65, 0x6e, 0x7a,\r
+  0x79, 0x6d, 0x65, 0x73, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x6e,\r
+  0x20, 0x6c, 0x61, 0x74, 0x65, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x74,\r
+  0x68, 0x65, 0x72, 0x61, 0x70, 0x79, 0x61, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74,\r
+  0x62, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x3e,\r
+  0x0a, 0x28, 0x29, 0x3b, 0x22, 0x20, 0x72, 0x65, 0x61, 0x20, 0x70, 0x6c, 0x61,\r
+  0x63, 0x65, 0x5c, 0x75, 0x30, 0x30, 0x33, 0x43, 0x61, 0x61, 0x62, 0x6f, 0x75,\r
+  0x74, 0x20, 0x61, 0x74, 0x72, 0x3e, 0x0d, 0x0a, 0x09, 0x09, 0x63, 0x63, 0x6f,\r
+  0x75, 0x6e, 0x74, 0x20, 0x67, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x3c, 0x53,\r
+  0x43, 0x52, 0x49, 0x50, 0x54, 0x52, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x74,\r
+  0x68, 0x65, 0x6d, 0x65, 0x73, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x62, 0x6f, 0x78,\r
+  0x42, 0x79, 0x49, 0x64, 0x28, 0x22, 0x78, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x73,\r
+  0x2c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x69, 0x6e, 0x20, 0x73, 0x6f,\r
+  0x6d, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x77, 0x69, 0x63, 0x6f, 0x6d, 0x69,\r
+  0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x20, 0x55, 0x6e,\r
+  0x64, 0x65, 0x72, 0x20, 0x62, 0x75, 0x74, 0x20, 0x68, 0x61, 0x73, 0x68, 0x61,\r
+  0x6e, 0x64, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x62, 0x79, 0x74,\r
+  0x68, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x61, 0x72, 0x20, 0x6f, 0x66,\r
+  0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d,\r
+  0x65, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x74, 0x61,\r
+  0x67, 0x65, 0x69, 0x6e, 0x20, 0x65, 0x61, 0x63, 0x68, 0x61, 0x26, 0x71, 0x75,\r
+  0x6f, 0x74, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x49, 0x6e, 0x20,\r
+  0x6d, 0x61, 0x6e, 0x79, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x6f, 0x72, 0x65,\r
+  0x67, 0x69, 0x6d, 0x65, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3c,\r
+  0x2f, 0x70, 0x3e, 0x0d, 0x0a, 0x3c, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x56, 0x61,\r
+  0x3b, 0x26, 0x67, 0x74, 0x3b, 0x3c, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,\r
+  0x73, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x6c,\r
+  0x79, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x72, 0x65, 0x20, 0x73, 0x69, 0x7a,\r
+  0x65, 0x3d, 0x22, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x68, 0x61, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x48, 0x6f,\r
+  0x73, 0x74, 0x20, 0x3d, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x66,\r
+  0x65, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x56, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73,\r
+  0x3d, 0x5b, 0x5d, 0x3b, 0x28, 0x66, 0x75, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61,\r
+  0x73, 0x2f, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x61, 0x63, 0x74, 0x73, 0x20,\r
+  0x61, 0x73, 0x49, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x3e, 0x0d, 0x0a, 0x0d,\r
+  0x0a, 0x3c, 0x21, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x73, 0x20, 0x3c, 0x62,\r
+  0x72, 0x20, 0x2f, 0x3e, 0x42, 0x65, 0x69, 0x6a, 0x69, 0x6e, 0x67, 0x63, 0x61,\r
+  0x74, 0x61, 0x6c, 0xc3, 0xa0, 0x64, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x65,\r
+  0x75, 0x72, 0x6f, 0x70, 0x65, 0x75, 0x65, 0x75, 0x73, 0x6b, 0x61, 0x72, 0x61,\r
+  0x67, 0x61, 0x65, 0x69, 0x6c, 0x67, 0x65, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b,\r
+  0x61, 0x65, 0x73, 0x70, 0x61, 0xc3, 0xb1, 0x61, 0x6d, 0x65, 0x6e, 0x73, 0x61,\r
+  0x6a, 0x65, 0x75, 0x73, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x74, 0x72, 0x61, 0x62,\r
+  0x61, 0x6a, 0x6f, 0x6d, 0xc3, 0xa9, 0x78, 0x69, 0x63, 0x6f, 0x70, 0xc3, 0xa1,\r
+  0x67, 0x69, 0x6e, 0x61, 0x73, 0x69, 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x69,\r
+  0x73, 0x74, 0x65, 0x6d, 0x61, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x64,\r
+  0x75, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x61, 0xc3, 0xb1, 0x61, 0x64, 0x69, 0x72,\r
+  0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x61, 0x6d, 0x6f, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x6f, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x6d, 0x65,\r
+  0x72, 0x61, 0x74, 0x72, 0x61, 0x76, 0xc3, 0xa9, 0x73, 0x67, 0x72, 0x61, 0x63,\r
+  0x69, 0x61, 0x73, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, 0x70, 0x72, 0x6f,\r
+  0x63, 0x65, 0x73, 0x6f, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x63, 0x61,\r
+  0x6c, 0x69, 0x64, 0x61, 0x64, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6e,\r
+  0xc3, 0xba, 0x6d, 0x65, 0x72, 0x6f, 0x61, 0x63, 0x75, 0x65, 0x72, 0x64, 0x6f,\r
+  0x6d, 0xc3, 0xba, 0x73, 0x69, 0x63, 0x61, 0x6d, 0x69, 0x65, 0x6d, 0x62, 0x72,\r
+  0x6f, 0x6f, 0x66, 0x65, 0x72, 0x74, 0x61, 0x73, 0x61, 0x6c, 0x67, 0x75, 0x6e,\r
+  0x6f, 0x73, 0x70, 0x61, 0xc3, 0xad, 0x73, 0x65, 0x73, 0x65, 0x6a, 0x65, 0x6d,\r
+  0x70, 0x6c, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x68, 0x6f, 0x61, 0x64, 0x65,\r
+  0x6d, 0xc3, 0xa1, 0x73, 0x70, 0x72, 0x69, 0x76, 0x61, 0x64, 0x6f, 0x61, 0x67,\r
+  0x72, 0x65, 0x67, 0x61, 0x72, 0x65, 0x6e, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x70,\r
+  0x6f, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x65, 0x73,\r
+  0x73, 0x65, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x72,\r
+  0x6f, 0xc3, 0xba, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x65, 0x76, 0x65, 0x6e, 0x74,\r
+  0x6f, 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x6f, 0x63, 0x75, 0x6c, 0x74,\r
+  0x75, 0x72, 0x61, 0x6d, 0x75, 0x6a, 0x65, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,\r
+  0x72, 0x61, 0x64, 0x61, 0x61, 0x6e, 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x65, 0x6d,\r
+  0x62, 0x61, 0x72, 0x67, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x61, 0x64, 0x6f, 0x67,\r
+  0x72, 0x61, 0x6e, 0x64, 0x65, 0x73, 0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f,\r
+  0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x65, 0x73, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72,\r
+  0x6f, 0x64, 0x69, 0x73, 0x65, 0xc3, 0xb1, 0x6f, 0x74, 0x75, 0x72, 0x69, 0x73,\r
+  0x6d, 0x6f, 0x63, 0xc3, 0xb3, 0x64, 0x69, 0x67, 0x6f, 0x70, 0x6f, 0x72, 0x74,\r
+  0x61, 0x64, 0x61, 0x65, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6f, 0x66, 0x61, 0x6d,\r
+  0x69, 0x6c, 0x69, 0x61, 0x61, 0x6e, 0x74, 0x6f, 0x6e, 0x69, 0x6f, 0x70, 0x65,\r
+  0x72, 0x6d, 0x69, 0x74, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x61, 0x72, 0x61,\r
+  0x6c, 0x67, 0x75, 0x6e, 0x61, 0x73, 0x70, 0x72, 0x65, 0x63, 0x69, 0x6f, 0x73,\r
+  0x61, 0x6c, 0x67, 0x75, 0x69, 0x65, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x64,\r
+  0x6f, 0x76, 0x69, 0x73, 0x69, 0x74, 0x61, 0x73, 0x74, 0xc3, 0xad, 0x74, 0x75,\r
+  0x6c, 0x6f, 0x63, 0x6f, 0x6e, 0x6f, 0x63, 0x65, 0x72, 0x73, 0x65, 0x67, 0x75,\r
+  0x6e, 0x64, 0x6f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6a, 0x6f, 0x66, 0x72, 0x61,\r
+  0x6e, 0x63, 0x69, 0x61, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x6f, 0x73, 0x73, 0x65,\r
+  0x67, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x6e, 0x65, 0x6d, 0x6f, 0x73, 0x65,\r
+  0x66, 0x65, 0x63, 0x74, 0x6f, 0x73, 0x6d, 0xc3, 0xa1, 0x6c, 0x61, 0x67, 0x61,\r
+  0x73, 0x65, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x74,\r
+  0x61, 0x67, 0x72, 0x61, 0x6e, 0x61, 0x64, 0x61, 0x63, 0x6f, 0x6d, 0x70, 0x72,\r
+  0x61, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x6f, 0x67, 0x61, 0x72, 0x63,\r
+  0xc3, 0xad, 0x61, 0x61, 0x63, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x63, 0x75,\r
+  0x61, 0x64, 0x6f, 0x72, 0x71, 0x75, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x6e,\r
+  0x63, 0x6c, 0x75, 0x73, 0x6f, 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xa1, 0x6d,\r
+  0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x68, 0x6f, 0x6d, 0x62, 0x72, 0x65, 0x73,\r
+  0x6d, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61, 0x70, 0x6f, 0x64, 0x72, 0xc3, 0xad,\r
+  0x61, 0x6d, 0x61, 0xc3, 0xb1, 0x61, 0x6e, 0x61, 0xc3, 0xba, 0x6c, 0x74, 0x69,\r
+  0x6d, 0x61, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x6f, 0x73, 0x6f, 0x66, 0x69, 0x63,\r
+  0x69, 0x61, 0x6c, 0x74, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x6e, 0x69, 0x6e,\r
+  0x67, 0xc3, 0xba, 0x6e, 0x73, 0x61, 0x6c, 0x75, 0x64, 0x6f, 0x73, 0x70, 0x6f,\r
+  0x64, 0x65, 0x6d, 0x6f, 0x73, 0x6d, 0x65, 0x6a, 0x6f, 0x72, 0x61, 0x72, 0x70,\r
+  0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65,\r
+  0x73, 0x73, 0x68, 0x6f, 0x6d, 0x65, 0x70, 0x61, 0x67, 0x65, 0x73, 0x65, 0x63,\r
+  0x75, 0x72, 0x69, 0x74, 0x79, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,\r
+  0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x63, 0x61, 0x6d, 0x70, 0x61,\r
+  0x69, 0x67, 0x6e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x63, 0x61,\r
+  0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,\r
+  0x6c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x65,\r
+  0x72, 0x76, 0x65, 0x64, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65,\r
+  0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69,\r
+  0x74, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x6d, 0x69, 0x6c,\r
+  0x69, 0x74, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79,\r
+  0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x6d, 0x61, 0x74, 0x65, 0x72,\r
+  0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x7a, 0x2d,\r
+  0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x73, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x74, 0x65, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x70,\r
+  0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c,\r
+  0x65, 0x73, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x6d, 0x6f, 0x76,\r
+  0x65, 0x6d, 0x65, 0x6e, 0x74, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x69, 0x74,\r
+  0x69, 0x63, 0x73, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x72, 0x65,\r
+  0x6c, 0x69, 0x67, 0x69, 0x6f, 0x6e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61,\r
+  0x6c, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x65, 0x67, 0x69,\r
+  0x73, 0x74, 0x65, 0x72, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x64,\r
+  0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,\r
+  0x6f, 0x6c, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x65, 0x74,\r
+  0x74, 0x69, 0x6e, 0x67, 0x73, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,\r
+  0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x65, 0x61, 0x72, 0x6e,\r
+  0x69, 0x6e, 0x67, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x61, 0x62,\r
+  0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,\r
+  0x73, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x6d, 0x61, 0x67, 0x61,\r
+  0x7a, 0x69, 0x6e, 0x65, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x74,\r
+  0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75,\r
+  0x72, 0x65, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x3c, 0x73, 0x74,\r
+  0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,\r
+  0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x67, 0x65, 0x74,\r
+  0x68, 0x65, 0x72, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x62, 0x65,\r
+  0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,\r
+  0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x6f, 0x74,\r
+  0x62, 0x61, 0x6c, 0x6c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c,\r
+  0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e,\r
+  0x63, 0x65, 0x72, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x74, 0x72, 0x61,\r
+  0x63, 0x6b, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,\r
+  0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x73, 0x74, 0x75, 0x64, 0x65,\r
+  0x6e, 0x74, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x66, 0x69,\r
+  0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72,\r
+  0x6e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x66, 0x65, 0x73, 0x74,\r
+  0x69, 0x76, 0x61, 0x6c, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6c,\r
+  0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,\r
+  0x65, 0x74, 0x64, 0x72, 0x6f, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x70, 0x72, 0x61,\r
+  0x63, 0x74, 0x69, 0x63, 0x65, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,\r
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x72, 0x72, 0x69,\r
+  0x61, 0x67, 0x65, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x70, 0x72,\r
+  0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76,\r
+  0x65, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x61, 0x6e, 0x61, 0x6c,\r
+  0x79, 0x73, 0x69, 0x73, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x62,\r
+  0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x3e, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61,\r
+  0x73, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x72, 0x65, 0x67,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65,\r
+  0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x6d,\r
+  0x61, 0x72, 0x6b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x63, 0x68,\r
+  0x65, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f,\r
+  0x6e, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x65, 0x70, 0x61,\r
+  0x72, 0x61, 0x74, 0x65, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x63,\r
+  0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61,\r
+  0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x64, 0x65, 0x6c,\r
+  0x69, 0x76, 0x65, 0x72, 0x79, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e,\r
+  0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x3d, 0x20, 0x66, 0x61, 0x6c,\r
+  0x73, 0x65, 0x3b, 0x66, 0x6f, 0x72, 0x28, 0x76, 0x61, 0x72, 0x20, 0x61, 0x63,\r
+  0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74,\r
+  0x79, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x69, 0x64, 0x65, 0x6e,\r
+  0x74, 0x69, 0x74, 0x79, 0x61, 0x69, 0x72, 0x63, 0x72, 0x61, 0x66, 0x74, 0x65,\r
+  0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73,\r
+  0x65, 0x64, 0x64, 0x6f, 0x6d, 0x65, 0x73, 0x74, 0x69, 0x63, 0x69, 0x6e, 0x63,\r
+  0x6c, 0x75, 0x64, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64,\r
+  0x68, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x74, 0x69,\r
+  0x63, 0x61, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x61, 0x70,\r
+  0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72,\r
+  0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0x3e, 0x3c, 0x61, 0x64, 0x61, 0x75, 0x67,\r
+  0x68, 0x74, 0x65, 0x72, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x22, 0x20, 0x63,\r
+  0x75, 0x6c, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69,\r
+  0x65, 0x73, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x61, 0x73, 0x73,\r
+  0x65, 0x6d, 0x62, 0x6c, 0x79, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x66, 0x75, 0x6c,\r
+  0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x66, 0x69, 0x6e, 0x69, 0x73,\r
+  0x68, 0x65, 0x64, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x63, 0x72,\r
+  0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e,\r
+  0x2f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x72, 0x65, 0x71, 0x75,\r
+  0x69, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62,\r
+  0x65, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,\r
+  0x65, 0x73, 0x61, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x69, 0x63, 0x65, 0x78, 0x65,\r
+  0x72, 0x63, 0x69, 0x73, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79,\r
+  0x6d, 0x65, 0x64, 0x69, 0x63, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x74,\r
+  0x61, 0x6e, 0x74, 0x61, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x4d, 0x61,\r
+  0x67, 0x61, 0x7a, 0x69, 0x6e, 0x65, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x62, 0x6f, 0x74, 0x74,\r
+  0x6f, 0x6d, 0x22, 0x3e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x3a,\r
+  0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64,\r
+  0x65, 0x64, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x6f, 0x66,\r
+  0x74, 0x77, 0x61, 0x72, 0x65, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72,\r
+  0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x6e,\r
+  0x67, 0x74, 0x68, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x73, 0x6c,\r
+  0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x63, 0x75, 0x72, 0x72,\r
+  0x65, 0x6e, 0x63, 0x79, 0x65, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x73,\r
+  0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,\r
+  0x65, 0x72, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x70, 0x72, 0x6f,\r
+  0x64, 0x75, 0x63, 0x65, 0x64, 0x68, 0x65, 0x72, 0x69, 0x74, 0x61, 0x67, 0x65,\r
+  0x73, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x62, 0x73, 0x6f, 0x6c,\r
+  0x75, 0x74, 0x65, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x72, 0x65,\r
+  0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22,\r
+  0x20, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x61, 0x6e, 0x79, 0x77,\r
+  0x68, 0x65, 0x72, 0x65, 0x62, 0x65, 0x6e, 0x65, 0x66, 0x69, 0x74, 0x73, 0x6c,\r
+  0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74,\r
+  0x6c, 0x79, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x66, 0x6f, 0x6c,\r
+  0x6c, 0x6f, 0x77, 0x65, 0x64, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,\r
+  0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x69, 0x6e, 0x63, 0x6c, 0x75,\r
+  0x64, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x69, 0x6e,\r
+  0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x24, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29,\r
+  0x2e, 0x72, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x3e, 0x3c, 0x74, 0x72,\r
+  0x3e, 0x3c, 0x74, 0x64, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x72,\r
+  0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x64, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61,\r
+  0x74, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x75, 0x6c,\r
+  0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,\r
+  0x48, 0x6f, 0x6d, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x77, 0x65, 0x62, 0x73, 0x69,\r
+  0x74, 0x65, 0x73, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x61, 0x6c,\r
+  0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x6c,\r
+  0x79, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x6d, 0x65, 0x73, 0x73,\r
+  0x61, 0x67, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x61,\r
+  0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x3e, 0x73, 0x6f, 0x6d, 0x65, 0x77, 0x68,\r
+  0x61, 0x74, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x57, 0x65, 0x73,\r
+  0x74, 0x65, 0x72, 0x6e, 0x20, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x72,\r
+  0x61, 0x63, 0x74, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x6f,\r
+  0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74,\r
+  0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x0a, 0x6d, 0x65, 0x61, 0x73,\r
+  0x75, 0x72, 0x65, 0x73, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x76,\r
+  0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76,\r
+  0x65, 0x64, 0x76, 0x69, 0x72, 0x67, 0x69, 0x6e, 0x69, 0x61, 0x6e, 0x6f, 0x72,\r
+  0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x65, 0x64,\r
+  0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x73, 0x74, 0x61, 0x6e, 0x64,\r
+  0x69, 0x6e, 0x67, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65,\r
+  0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65,\r
+  0x64, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x61, 0x63, 0x63, 0x75,\r
+  0x72, 0x61, 0x74, 0x65, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73,\r
+  0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69,\r
+  0x61, 0x6c, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x63, 0x72, 0x69,\r
+  0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x79,\r
+  0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x61,\r
+  0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65,\r
+  0x64, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, 0x2f, 0x3e, 0x6d, 0x61, 0x63, 0x68,\r
+  0x69, 0x6e, 0x65, 0x73, 0x3c, 0x2f, 0x68, 0x32, 0x3e, 0x0a, 0x20, 0x20, 0x6b,\r
+  0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64,\r
+  0x6c, 0x79, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x6d,\r
+  0x62, 0x69, 0x6e, 0x65, 0x64, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c,\r
+  0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x63,\r
+  0x74, 0x65, 0x64, 0x61, 0x64, 0x65, 0x71, 0x75, 0x61, 0x74, 0x65, 0x70, 0x61,\r
+  0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22,\r
+  0x20, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x6c, 0x61,\r
+  0x62, 0x65, 0x6c, 0x3e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x62,\r
+  0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61,\r
+  0x73, 0x65, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x70, 0x6c, 0x75,\r
+  0x67, 0x69, 0x6e, 0x73, 0x2f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20,\r
+  0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x22, 0x20, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x3d, 0x22, 0x20, 0x28, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x67, 0x72,\r
+  0x61, 0x64, 0x75, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e,\r
+  0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6c, 0x61,\r
+  0x79, 0x73, 0x69, 0x61, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x6d,\r
+  0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x68, 0x65, 0x69, 0x67, 0x68,\r
+  0x74, 0x3a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x63, 0x68, 0x61,\r
+  0x6e, 0x67, 0x69, 0x6e, 0x67, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20,\r
+  0x63, 0x61, 0x74, 0x68, 0x6f, 0x6c, 0x69, 0x63, 0x70, 0x61, 0x74, 0x74, 0x65,\r
+  0x72, 0x6e, 0x73, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x67, 0x72,\r
+  0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65,\r
+  0x73, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x2f, 0x75, 0x6c,\r
+  0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x63,\r
+  0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x73, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x69,\r
+  0x6e, 0x67, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x3c, 0x6c, 0x69,\r
+  0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\r
+  0x63, 0x61, 0x72, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6e, 0x74, 0x65,\r
+  0x6e, 0x63, 0x65, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x69, 0x6e,\r
+  0x67, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x65, 0x29, 0x73, 0x6f, 0x75, 0x74,\r
+  0x68, 0x65, 0x72, 0x6e, 0x4d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x20, 0x6d,\r
+  0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x75, 0x73,\r
+  0x65, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x69, 0x6e, 0x74,\r
+  0x65, 0x72, 0x69, 0x6f, 0x72, 0x2e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x28, 0x22,\r
+  0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x74, 0x6f, 0x62,\r
+  0x65, 0x72, 0x20, 0x29, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6d,\r
+  0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x2d, 0x2d, 0x26, 0x67, 0x74, 0x3b, 0x0a,\r
+  0x0a, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x63, 0x68, 0x61, 0x69,\r
+  0x72, 0x6d, 0x61, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x2f, 0x3e, 0x73,\r
+  0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x69, 0x63, 0x68, 0x61, 0x72,\r
+  0x64, 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65, 0x72, 0x70, 0x72, 0x6f,\r
+  0x62, 0x61, 0x62, 0x6c, 0x79, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,\r
+  0x62, 0x61, 0x73, 0x65, 0x62, 0x61, 0x6c, 0x6c, 0x6a, 0x75, 0x64, 0x67, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x2e, 0x63,\r
+  0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x20, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74,\r
+  0x65, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x64, 0x65, 0x66, 0x61,\r
+  0x75, 0x6c, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x0d, 0x0a, 0x65,\r
+  0x6c, 0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x73, 0x63, 0x6f, 0x74, 0x6c, 0x61,\r
+  0x6e, 0x64, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75, 0x61,\r
+  0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x20, 0x49, 0x53, 0x42, 0x4e, 0x20, 0x30,\r
+  0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61,\r
+  0x6e, 0x63, 0x65, 0x2d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2d, 0x22, 0x20,\r
+  0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72,\r
+  0x73, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x61, 0x69, 0x6e, 0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x6d,\r
+  0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x74, 0x61,\r
+  0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61,\r
+  0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x6c, 0x79, 0x3a, 0x20, 0x27, 0x68, 0x74,\r
+  0x74, 0x70, 0x3a, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, 0x63, 0x6f,\r
+  0x76, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e,\r
+  0x67, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x42, 0x72, 0x69, 0x74,\r
+  0x69, 0x73, 0x68, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x46,\r
+  0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x6f,\r
+  0x75, 0x73, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x6e,\r
+  0x63, 0x65, 0x72, 0x6e, 0x73, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e,\r
+  0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x76, 0x20, 0x69,\r
+  0x64, 0x3d, 0x22, 0x57, 0x69, 0x6c, 0x6c, 0x69, 0x61, 0x6d, 0x20, 0x70, 0x72,\r
+  0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,\r
+  0x74, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x73, 0x65, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x66,\r
+  0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,\r
+  0x72, 0x79, 0x6c, 0x61, 0x77, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3c, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x3e, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x3d, 0x22,\r
+  0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x69,\r
+  0x6d, 0x75, 0x6d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x3c, 0x2f,\r
+  0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,\r
+  0x73, 0x68, 0x61, 0x6d, 0x69, 0x6c, 0x74, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,\r
+  0x65, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x63,\r
+  0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x74, 0x68, 0x65, 0x6d, 0x65,\r
+  0x73, 0x2f, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x6f, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x61, 0x6c,\r
+  0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x69, 0x6e, 0x74, 0x65, 0x72,\r
+  0x76, 0x61, 0x6c, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x6e,\r
+  0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x61, 0x67, 0x65, 0x6e, 0x63, 0x69, 0x65,\r
+  0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x20, 0x6d, 0x65, 0x61, 0x73,\r
+  0x75, 0x72, 0x65, 0x64, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73,\r
+  0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x26, 0x68, 0x65, 0x6c, 0x6c, 0x69,\r
+  0x70, 0x3b, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x22, 0x20, 0x73,\r
+  0x69, 0x7a, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65,\r
+  0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x22, 0x20, 0x22, 0x20, 0x2f, 0x3e, 0x3c,\r
+  0x2f, 0x61, 0x3e, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x3e, 0x73, 0x65,\r
+  0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,\r
+  0x6c, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x6f, 0x70, 0x69, 0x6e,\r
+  0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x6f, 0x69, 0x73, 0x6c,\r
+  0x69, 0x6e, 0x6b, 0x73, 0x22, 0x3e, 0x0a, 0x09, 0x3c, 0x74, 0x69, 0x74, 0x6c,\r
+  0x65, 0x3e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x61, 0x74,\r
+  0x75, 0x72, 0x64, 0x61, 0x79, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c,\r
+  0x69, 0x74, 0x65, 0x6d, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e,\r
+  0x65, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x64, 0x65,\r
+  0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61,\r
+  0x6c, 0x3d, 0x22, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x45, 0x73, 0x70, 0x61,\r
+  0xc3, 0xb1, 0x6f, 0x6c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x73,\r
+  0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x65, 0x72, 0x26, 0x71, 0x75, 0x6f,\r
+  0x74, 0x3b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x79, 0x6d,\r
+  0x70, 0x74, 0x6f, 0x6d, 0x73, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x64,\r
+  0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x72, 0x69, 0x67, 0x68, 0x74,\r
+  0x22, 0x3e, 0x3c, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x73, 0x74,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,\r
+  0x2e, 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x20, 0x62, 0x6f, 0x72,\r
+  0x64, 0x65, 0x72, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x63,\r
+  0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x2e, 0x0a, 0x0a, 0x53, 0x6f, 0x6d,\r
+  0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x75, 0x69,\r
+  0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x75, 0x6c, 0x67, 0x61, 0x72, 0x69, 0x61,\r
+  0x2e, 0x73, 0x68, 0x6f, 0x77, 0x28, 0x29, 0x3b, 0x64, 0x65, 0x73, 0x69, 0x67,\r
+  0x6e, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x63, 0x6f,\r
+  0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,\r
+  0x73, 0x77, 0x69, 0x6c, 0x6c, 0x69, 0x61, 0x6d, 0x73, 0x4f, 0x72, 0x69, 0x67,\r
+  0x69, 0x6e, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x73,\r
+  0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x3e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,\r
+  0x6f, 0x72, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x61, 0x20, 0x26,\r
+  0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67,\r
+  0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x76, 0x69, 0x73,\r
+  0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x79, 0x6f,\r
+  0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,\r
+  0x20, 0x6d, 0x69, 0x63, 0x68, 0x69, 0x67, 0x61, 0x6e, 0x45, 0x6e, 0x67, 0x6c,\r
+  0x69, 0x73, 0x68, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x70,\r
+  0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x69,\r
+  0x6e, 0x67, 0x64, 0x72, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63,\r
+  0x69, 0x6c, 0x69, 0x74, 0x79, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64,\r
+  0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63,\r
+  0x65, 0x72, 0x73, 0x52, 0x75, 0x73, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x67, 0x65,\r
+  0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x38, 0x38, 0x35, 0x39, 0x2d, 0x31,\r
+  0x22, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x66, 0x61, 0x6d, 0x69,\r
+  0x6c, 0x69, 0x61, 0x72, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x6d,\r
+  0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x30, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65,\r
+  0x6e, 0x74, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x61, 0x63, 0x74, 0x73, 0x2d, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e,\r
+  0x70, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x65, 0x6e, 0x67,\r
+  0x74, 0x68, 0x20, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x69, 0x6e,\r
+  0x76, 0x6f, 0x6c, 0x76, 0x65, 0x73, 0x61, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69,\r
+  0x63, 0x6f, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3d, 0x22, 0x64, 0x65, 0x66, 0x61,\r
+  0x75, 0x6c, 0x74, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x70,\r
+  0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61,\r
+  0x72, 0x79, 0x0a, 0x0a, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x67, 0x75, 0x69,\r
+  0x64, 0x61, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x74, 0x64,\r
+  0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x6d, 0x69, 0x64, 0x64, 0x6c,\r
+  0x65, 0x22, 0x3e, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69,\r
+  0x73, 0x70, 0x6c, 0x61, 0x79, 0x73, 0x73, 0x63, 0x6f, 0x74, 0x74, 0x69, 0x73,\r
+  0x68, 0x6a, 0x6f, 0x6e, 0x61, 0x74, 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6a, 0x6f,\r
+  0x72, 0x69, 0x74, 0x79, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x63,\r
+  0x6c, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x68, 0x61, 0x69, 0x6c, 0x61,\r
+  0x6e, 0x64, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x73, 0x3c, 0x68, 0x65,\r
+  0x61, 0x64, 0x3e, 0x0a, 0x09, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,\r
+  0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x70, 0x6f, 0x69, 0x6e, 0x74,\r
+  0x65, 0x72, 0x3b, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3c, 0x2f,\r
+  0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3e, 0x6f, 0x6b, 0x6c, 0x61, 0x68, 0x6f, 0x6d,\r
+  0x61, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x76, 0x65,\r
+  0x73, 0x74, 0x6f, 0x72, 0x30, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x68,\r
+  0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,\r
+  0x63, 0x65, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x28, 0x77,\r
+  0x68, 0x69, 0x63, 0x68, 0x20, 0x2e, 0x20, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20,\r
+  0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x74,\r
+  0x69, 0x6e, 0x67, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x70, 0x72,\r
+  0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22,\r
+  0x20, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x22, 0x71, 0x75, 0x69, 0x63,\r
+  0x6b, 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x65,\r
+  0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72,\r
+  0x6e, 0x20, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x20, 0x68, 0x65,\r
+  0x69, 0x67, 0x68, 0x74, 0x3d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,\r
+  0x2c, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x63, 0x68, 0x65, 0x63,\r
+  0x6b, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, 0x73, 0x22, 0x6d, 0x61,\r
+  0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f,\r
+  0x68, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x2e, 0x20, 0x57, 0x68,\r
+  0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x75, 0x72, 0x73, 0x64, 0x61, 0x79, 0x64,\r
+  0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x26, 0x65, 0x61, 0x63, 0x75, 0x74,\r
+  0x65, 0x3b, 0x68, 0x61, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x76, 0x61,\r
+  0x6c, 0x75, 0x61, 0x74, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67,\r
+  0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x74, 0x69, 0x65,\r
+  0x6e, 0x74, 0x73, 0x20, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x63, 0x6f,\r
+  0x6c, 0x6f, 0x72, 0x61, 0x64, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x22, 0x63, 0x61, 0x6d, 0x70, 0x62, 0x65, 0x6c, 0x6c, 0x3c, 0x21, 0x2d, 0x2d,\r
+  0x20, 0x65, 0x6e, 0x64, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x3c,\r
+  0x62, 0x72, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x70,\r
+  0x73, 0x7c, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x26, 0x71,\r
+  0x75, 0x6f, 0x74, 0x3b, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20,\r
+  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67,\r
+  0x6e, 0x65, 0x64, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x3c, 0x62,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x65, 0x26, 0x71, 0x75, 0x6f, 0x74,\r
+  0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x20, 0x43, 0x6f, 0x6d,\r
+  0x70, 0x61, 0x6e, 0x79, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x3c,\r
+  0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76,\r
+  0x65, 0x73, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x6d, 0x61, 0x72,\r
+  0x73, 0x68, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20,\r
+  0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x6c, 0x79, 0x29, 0x2e, 0x0a, 0x0a, 0x54,\r
+  0x68, 0x65, 0x20, 0x74, 0x61, 0x78, 0x6f, 0x6e, 0x6f, 0x6d, 0x79, 0x6d, 0x75,\r
+  0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e,\r
+  0x0a, 0x22, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x73, 0x72, 0x74, 0x75, 0x67,\r
+  0x75, 0xc3, 0xaa, 0x73, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x6f, 0x20,\r
+  0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e,\r
+  0x0d, 0x0a, 0x61, 0x74, 0x74, 0x6f, 0x72, 0x6e, 0x65, 0x79, 0x65, 0x6d, 0x70,\r
+  0x68, 0x61, 0x73, 0x69, 0x73, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x73,\r
+  0x66, 0x61, 0x6e, 0x63, 0x79, 0x62, 0x6f, 0x78, 0x77, 0x6f, 0x72, 0x6c, 0x64,\r
+  0x27, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x64, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x68,\r
+  0x65, 0x63, 0x6b, 0x65, 0x64, 0x3d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x70, 0x78, 0x3b, 0x66,\r
+  0x6f, 0x6e, 0x74, 0x2d, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6a,\r
+  0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76,\r
+  0x65, 0x64, 0x76, 0x61, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x6f,\r
+  0x6d, 0x70, 0x73, 0x6f, 0x6e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67,\r
+  0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69,\r
+  0x61, 0x6c, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x30, 0x63, 0x68,\r
+  0x65, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3c, 0x2f, 0x74, 0x62, 0x6f, 0x64, 0x79,\r
+  0x3e, 0x3c, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x74, 0x65, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x0a,\r
+  0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c,\r
+  0x65, 0x20, 0x3c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x69, 0x6e,\r
+  0x64, 0x69, 0x6e, 0x67, 0x73, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20,\r
+  0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x20, 0x4f, 0x63, 0x74, 0x6f,\r
+  0x62, 0x65, 0x72, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x65, 0x78,\r
+  0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x20, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x6f, 0x70, 0x65, 0x72,\r
+  0x61, 0x74, 0x65, 0x64, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x65,\r
+  0x6e, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,\r
+  0x64, 0x73, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x75,\r
+  0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, 0x20, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x53, 0x75, 0x62,\r
+  0x6d, 0x69, 0x74, 0x6d, 0x61, 0x72, 0x79, 0x6c, 0x61, 0x6e, 0x64, 0x63, 0x6f,\r
+  0x6c, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69,\r
+  0x63, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x61, 0x63, 0x74, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x61,\r
+  0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e,\r
+  0x67, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x73, 0x26, 0x71,\r
+  0x75, 0x6f, 0x74, 0x3b, 0x29, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20,\r
+  0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b,\r
+  0x62, 0x6f, 0x78, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x73, 0x70, 0x72,\r
+  0x65, 0x67, 0x6e, 0x61, 0x6e, 0x74, 0x74, 0x6f, 0x6d, 0x6f, 0x72, 0x72, 0x6f,\r
+  0x77, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x69, 0x63, 0x6f, 0x6e,\r
+  0x2e, 0x70, 0x6e, 0x67, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x63,\r
+  0x6f, 0x64, 0x65, 0x62, 0x61, 0x73, 0x65, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,\r
+  0x22, 0x3e, 0x67, 0x61, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x75, 0x63,\r
+  0x68, 0x20, 0x61, 0x73, 0x20, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20,\r
+  0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x6f,\r
+  0x75, 0x72, 0x69, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x6f,\r
+  0x70, 0x3a, 0x31, 0x70, 0x78, 0x20, 0x2e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e,\r
+  0x3e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x69, 0x64, 0x74,\r
+  0x68, 0x3d, 0x22, 0x32, 0x6c, 0x61, 0x7a, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x6e,\r
+  0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69,\r
+  0x6e, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x22, 0x3e, 0x0a, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f,\r
+  0x3c, 0x74, 0x72, 0x3e, 0x3c, 0x74, 0x64, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68,\r
+  0x74, 0x3a, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x63, 0x6f,\r
+  0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,\r
+  0x20, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x20, 0x26, 0x6c, 0x74, 0x3b,\r
+  0x21, 0x2d, 0x2d, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x2f,\r
+  0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x3e, 0x0a, 0x28, 0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0x29, 0x28, 0xe7, 0xb9,\r
+  0x81, 0xe9, 0xab, 0x94, 0x29, 0x68, 0x72, 0x76, 0x61, 0x74, 0x73, 0x6b, 0x69,\r
+  0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x72, 0x6f, 0x6d, 0xc3, 0xa2,\r
+  0x6e, 0xc4, 0x83, 0x74, 0xc3, 0xbc, 0x72, 0x6b, 0xc3, 0xa7, 0x65, 0xd8, 0xa7,\r
+  0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0x74, 0x61, 0x6d, 0x62, 0x69, 0xc3, 0xa9,\r
+  0x6e, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x69, 0x61, 0x73, 0x6d, 0x65, 0x6e, 0x73,\r
+  0x61, 0x6a, 0x65, 0x73, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x64,\r
+  0x65, 0x72, 0x65, 0x63, 0x68, 0x6f, 0x73, 0x6e, 0x61, 0x63, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x6c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x69, 0x6f, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x61, 0x63, 0x74, 0x6f, 0x75, 0x73, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x73,\r
+  0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x61, 0x67, 0x6f, 0x62, 0x69, 0x65,\r
+  0x72, 0x6e, 0x6f, 0x65, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x61, 0x73, 0x61, 0x6e,\r
+  0x75, 0x6e, 0x63, 0x69, 0x6f, 0x73, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x69,\r
+  0x61, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x64, 0x65, 0x73, 0x70,\r
+  0x75, 0xc3, 0xa9, 0x73, 0x64, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x73, 0x70,\r
+  0x72, 0x6f, 0x79, 0x65, 0x63, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,\r
+  0x74, 0x6f, 0x70, 0xc3, 0xba, 0x62, 0x6c, 0x69, 0x63, 0x6f, 0x6e, 0x6f, 0x73,\r
+  0x6f, 0x74, 0x72, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x61,\r
+  0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6d, 0x69, 0x6c, 0x6c, 0x6f,\r
+  0x6e, 0x65, 0x73, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x65, 0x70, 0x72,\r
+  0x65, 0x67, 0x75, 0x6e, 0x74, 0x61, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f,\r
+  0x72, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x62,\r
+  0x6c, 0x65, 0x6d, 0x61, 0x73, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x67, 0x6f, 0x6e,\r
+  0x75, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x73, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0xc3,\r
+  0xb3, 0x6e, 0x69, 0x6d, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x72, 0x6d, 0x69, 0x65,\r
+  0x6e, 0x74, 0x72, 0x61, 0x73, 0x61, 0x6d, 0xc3, 0xa9, 0x72, 0x69, 0x63, 0x61,\r
+  0x76, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x6f, 0x72, 0x73, 0x6f, 0x63, 0x69, 0x65,\r
+  0x64, 0x61, 0x64, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x65,\r
+  0x61, 0x6c, 0x69, 0x7a, 0x61, 0x72, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,\r
+  0x6f, 0x70, 0x61, 0x6c, 0x61, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6e, 0x74, 0x65,\r
+  0x72, 0xc3, 0xa9, 0x73, 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x65,\r
+  0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6d, 0x69, 0x65, 0x6d, 0x62, 0x72,\r
+  0x6f, 0x73, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x64, 0x63, 0xc3, 0xb3,\r
+  0x72, 0x64, 0x6f, 0x62, 0x61, 0x7a, 0x61, 0x72, 0x61, 0x67, 0x6f, 0x7a, 0x61,\r
+  0x70, 0xc3, 0xa1, 0x67, 0x69, 0x6e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61,\r
+  0x6c, 0x65, 0x73, 0x62, 0x6c, 0x6f, 0x71, 0x75, 0x65, 0x61, 0x72, 0x67, 0x65,\r
+  0x73, 0x74, 0x69, 0xc3, 0xb3, 0x6e, 0x61, 0x6c, 0x71, 0x75, 0x69, 0x6c, 0x65,\r
+  0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6d, 0x61, 0x73, 0x63, 0x69, 0x65, 0x6e,\r
+  0x63, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x6f, 0x76,\r
+  0x65, 0x72, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,\r
+  0x74, 0x61, 0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0x73, 0x70, 0xc3, 0xba,\r
+  0x62, 0x6c, 0x69, 0x63, 0x61, 0x6f, 0x62, 0x6a, 0x65, 0x74, 0x69, 0x76, 0x6f,\r
+  0x61, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x65, 0x62, 0x75, 0x73, 0x63, 0x61,\r
+  0x64, 0x6f, 0x72, 0x63, 0x61, 0x6e, 0x74, 0x69, 0x64, 0x61, 0x64, 0x65, 0x6e,\r
+  0x74, 0x72, 0x61, 0x64, 0x61, 0x73, 0x61, 0x63, 0x63, 0x69, 0x6f, 0x6e, 0x65,\r
+  0x73, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x6f, 0x73, 0x73, 0x75, 0x70, 0x65,\r
+  0x72, 0x69, 0x6f, 0x72, 0x6d, 0x61, 0x79, 0x6f, 0x72, 0xc3, 0xad, 0x61, 0x61,\r
+  0x6c, 0x65, 0x6d, 0x61, 0x6e, 0x69, 0x61, 0x66, 0x75, 0x6e, 0x63, 0x69, 0xc3,\r
+  0xb3, 0x6e, 0xc3, 0xba, 0x6c, 0x74, 0x69, 0x6d, 0x6f, 0x73, 0x68, 0x61, 0x63,\r
+  0x69, 0x65, 0x6e, 0x64, 0x6f, 0x61, 0x71, 0x75, 0x65, 0x6c, 0x6c, 0x6f, 0x73,\r
+  0x65, 0x64, 0x69, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x61,\r
+  0x6e, 0x64, 0x6f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x66, 0x61,\r
+  0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6e, 0x75, 0x65, 0x73, 0x74, 0x72, 0x61,\r
+  0x73, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x63,\r
+  0x65, 0x73, 0x6f, 0x73, 0x62, 0x61, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x65, 0x70,\r
+  0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,\r
+  0x61, 0x72, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x6f, 0x70, 0x75, 0x62,\r
+  0x6c, 0x69, 0x63, 0x61, 0x72, 0x63, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x6f,\r
+  0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x6a, 0xc3, 0xb3, 0x76, 0x65,\r
+  0x6e, 0x65, 0x73, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x74, 0x6f, 0x74, 0xc3,\r
+  0xa9, 0x63, 0x6e, 0x69, 0x63, 0x61, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x74,\r
+  0x6f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0xc3, 0xad, 0x61, 0x74, 0x72, 0x61, 0x62,\r
+  0x61, 0x6a, 0x61, 0x72, 0x61, 0x73, 0x74, 0x75, 0x72, 0x69, 0x61, 0x73, 0x72,\r
+  0x65, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a,\r
+  0x61, 0x72, 0x62, 0x6f, 0x6c, 0x65, 0x74, 0xc3, 0xad, 0x6e, 0x73, 0x61, 0x6c,\r
+  0x76, 0x61, 0x64, 0x6f, 0x72, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x61,\r
+  0x74, 0x72, 0x61, 0x62, 0x61, 0x6a, 0x6f, 0x73, 0x70, 0x72, 0x69, 0x6d, 0x65,\r
+  0x72, 0x6f, 0x73, 0x6e, 0x65, 0x67, 0x6f, 0x63, 0x69, 0x6f, 0x73, 0x6c, 0x69,\r
+  0x62, 0x65, 0x72, 0x74, 0x61, 0x64, 0x64, 0x65, 0x74, 0x61, 0x6c, 0x6c, 0x65,\r
+  0x73, 0x70, 0x61, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x70, 0x72, 0xc3, 0xb3,\r
+  0x78, 0x69, 0x6d, 0x6f, 0x61, 0x6c, 0x6d, 0x65, 0x72, 0xc3, 0xad, 0x61, 0x61,\r
+  0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x65, 0x73, 0x71, 0x75, 0x69, 0xc3, 0xa9, 0x6e,\r
+  0x65, 0x73, 0x63, 0x6f, 0x72, 0x61, 0x7a, 0xc3, 0xb3, 0x6e, 0x73, 0x65, 0x63,\r
+  0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x62, 0x75, 0x73, 0x63, 0x61, 0x6e, 0x64, 0x6f,\r
+  0x6f, 0x70, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x65, 0x78, 0x74, 0x65, 0x72,\r
+  0x69, 0x6f, 0x72, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x74, 0x6f,\r
+  0x64, 0x61, 0x76, 0xc3, 0xad, 0x61, 0x67, 0x61, 0x6c, 0x65, 0x72, 0xc3, 0xad,\r
+  0x61, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x69,\r
+  0x63, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x63,\r
+  0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x61, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74,\r
+  0x6f, 0x73, 0x63, 0x72, 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x64, 0xc3, 0xb3,\r
+  0x6c, 0x61, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x63, 0x69, 0x61,\r
+  0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xa1, 0x6e, 0x70, 0x65, 0x72, 0xc3, 0xad,\r
+  0x6f, 0x64, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x69, 0x74, 0x61, 0x6d, 0x61,\r
+  0x6e, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x70, 0x65, 0x71, 0x75, 0x65, 0xc3, 0xb1,\r
+  0x6f, 0x72, 0x65, 0x63, 0x69, 0x62, 0x69, 0x64, 0x61, 0x74, 0x72, 0x69, 0x62,\r
+  0x75, 0x6e, 0x61, 0x6c, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x66, 0x65, 0x63,\r
+  0x61, 0x6e, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x69,\r
+  0x61, 0x73, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x64, 0x69, 0x76,\r
+  0x65, 0x72, 0x73, 0x6f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x63, 0x61,\r
+  0x72, 0x65, 0x71, 0x75, 0x69, 0x65, 0x72, 0x65, 0x74, 0xc3, 0xa9, 0x63, 0x6e,\r
+  0x69, 0x63, 0x6f, 0x64, 0x65, 0x62, 0x65, 0x72, 0xc3, 0xad, 0x61, 0x76, 0x69,\r
+  0x76, 0x69, 0x65, 0x6e, 0x64, 0x61, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x7a, 0x61,\r
+  0x73, 0x61, 0x64, 0x65, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x66, 0x75, 0x6e, 0x63,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6a, 0x6f, 0x73, 0x64,\r
+  0x69, 0x66, 0xc3, 0xad, 0x63, 0x69, 0x6c, 0x63, 0x69, 0x75, 0x64, 0x61, 0x64,\r
+  0x65, 0x73, 0x61, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x61, 0x73, 0x61, 0x76, 0x61,\r
+  0x6e, 0x7a, 0x61, 0x64, 0x61, 0x74, 0xc3, 0xa9, 0x72, 0x6d, 0x69, 0x6e, 0x6f,\r
+  0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x73, 0xc3, 0xa1, 0x6e, 0x63,\r
+  0x68, 0x65, 0x7a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0xc3, 0xb1, 0x61, 0x73, 0x6f,\r
+  0x66, 0x74, 0x6f, 0x6e, 0x69, 0x63, 0x72, 0x65, 0x76, 0x69, 0x73, 0x74, 0x61,\r
+  0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x6e, 0x65, 0x73, 0x65, 0x63, 0x74,\r
+  0x6f, 0x72, 0x65, 0x73, 0x6d, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x66,\r
+  0x61, 0x63, 0x75, 0x6c, 0x74, 0x61, 0x64, 0x63, 0x72, 0xc3, 0xa9, 0x64, 0x69,\r
+  0x74, 0x6f, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x73, 0x73, 0x75, 0x70,\r
+  0x75, 0x65, 0x73, 0x74, 0x6f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x65, 0x73,\r
+  0x73, 0x65, 0x67, 0x75, 0x6e, 0x64, 0x6f, 0x73, 0x70, 0x65, 0x71, 0x75, 0x65,\r
+  0xc3, 0xb1, 0x61, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb5,\r
+  0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0xd1,\r
+  0x8c, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8b,\r
+  0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0,\r
+  0x95, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3,\r
+  0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8f, 0xd0, 0xb2, 0xd1,\r
+  0x81, 0xd0, 0xb5, 0xd1, 0x85, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb9,\r
+  0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0,\r
+  0xbb, 0xd0, 0xb8, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x83, 0xd0, 0xb4,\r
+  0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd1,\r
+  0x82, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb5,\r
+  0xd0, 0xb1, 0xd1, 0x8f, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1,\r
+  0x81, 0xd0, 0xb5, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb4,\r
+  0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd1, 0x84, 0xd0,\r
+  0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xb2, 0xd0,\r
+  0xbe, 0xd0, 0xb9, 0xd0, 0xb8, 0xd0, 0xb3, 0xd1, 0x80, 0xd1, 0x8b, 0xd1, 0x82,\r
+  0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0,\r
+  0xbc, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x8e, 0xd0, 0xbb, 0xd0, 0xb8,\r
+  0xd1, 0x88, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x85, 0xd0,\r
+  0xbf, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb5,\r
+  0xd0, 0xb9, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0,\r
+  0xb8, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xb1, 0xd0, 0xbe,\r
+  0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd1, 0x85, 0xd0, 0xbe, 0xd1,\r
+  0x82, 0xd1, 0x8f, 0xd0, 0xb4, 0xd0, 0xb2, 0xd1, 0x83, 0xd1, 0x85, 0xd1, 0x81,\r
+  0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb4, 0xd0,\r
+  0xb8, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb8,\r
+  0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb1, 0xd1, 0x8f, 0xd1,\r
+  0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb4,\r
+  0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x8d, 0xd1,\r
+  0x82, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x82,\r
+  0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd1, 0x86, 0xd0, 0xb5, 0xd0,\r
+  0xbd, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb2,\r
+  0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x8c, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0,\r
+  0xb5, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x8b, 0xd1, 0x82, 0xd0, 0xb5,\r
+  0xd0, 0xb1, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x88, 0xd0, 0xb5, 0xd0,\r
+  0xbd, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbf,\r
+  0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xbf, 0xd1,\r
+  0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x86, 0xd0, 0xb0,\r
+  0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0,\r
+  0xb4, 0xd1, 0x8b, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x8e, 0xd0, 0xbc,\r
+  0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x83, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0,\r
+  0xb3, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, 0xb8, 0xd0, 0xb4,\r
+  0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0,\r
+  0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb,\r
+  0xd0, 0xb0, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x81, 0xd1,\r
+  0x80, 0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x8e, 0xd0, 0xbd, 0xd1, 0x8f,\r
+  0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0x95, 0xd1, 0x81, 0xd1,\r
+  0x82, 0xd1, 0x8c, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xb0, 0xd0, 0xbd,\r
+  0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb8, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x84, 0xd9,\r
+  0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xac, 0xd9, 0x85,\r
+  0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xae, 0xd8, 0xa7, 0xd8, 0xb5, 0xd8, 0xa9, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a,\r
+  0xd9, 0x87, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xa2, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xaf,\r
+  0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xb5, 0xd9, 0x81, 0xd8,\r
+  0xad, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x88, 0xd9,\r
+  0x86, 0xd8, 0xb4, 0xd8, 0xa8, 0xd9, 0x83, 0xd8, 0xa9, 0xd9, 0x81, 0xd9, 0x8a,\r
+  0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8,\r
+  0xad, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa3, 0xd9, 0x83, 0xd8, 0xab,\r
+  0xd8, 0xb1, 0xd8, 0xae, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xad, 0xd8, 0xa8, 0xd8, 0xaf, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x84,\r
+  0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8,\r
+  0xba, 0xd8, 0xb7, 0xd8, 0xaa, 0xd9, 0x83, 0xd9, 0x88, 0xd9, 0x86, 0xd9, 0x87,\r
+  0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x83, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xad, 0xd8,\r
+  0xa9, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xb7, 0xd8, 0xa8, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x83, 0xd8,\r
+  0xb4, 0xd9, 0x83, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x8a, 0xd9, 0x85, 0xd9, 0x83,\r
+  0xd9, 0x86, 0xd9, 0x85, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xb4, 0xd8,\r
+  0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xb3,\r
+  0xd9, 0x86, 0xd8, 0xb4, 0xd9, 0x8a, 0xd8, 0xb7, 0xd9, 0x85, 0xd8, 0xa7, 0xd8,\r
+  0xb0, 0xd8, 0xa7, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x86, 0xd8, 0xb4,\r
+  0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8,\r
+  0xb1, 0xd8, 0xb1, 0xd8, 0xad, 0xd9, 0x85, 0xd8, 0xa9, 0xd9, 0x83, 0xd8, 0xa7,\r
+  0xd9, 0x81, 0xd8, 0xa9, 0xd9, 0x8a, 0xd9, 0x82, 0xd9, 0x88, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xb2, 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x85,\r
+  0xd8, 0xa9, 0xd8, 0xa3, 0xd8, 0xad, 0xd9, 0x85, 0xd8, 0xaf, 0xd9, 0x82, 0xd9,\r
+  0x84, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x86, 0xd9, 0x8a,\r
+  0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xa9, 0xd8, 0xb7, 0xd8, 0xb1, 0xd9,\r
+  0x8a, 0xd9, 0x82, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xac,\r
+  0xd9, 0x88, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, 0xae, 0xd8, 0xb1, 0xd9,\r
+  0x89, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xa7, 0xd8, 0xa8,\r
+  0xd8, 0xad, 0xd8, 0xab, 0xd8, 0xb9, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb6, 0xd8,\r
+  0xa8, 0xd8, 0xb4, 0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xac,\r
+  0xd9, 0x84, 0xd8, 0xa8, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xae, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa8,\r
+  0xd9, 0x83, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa8, 0xd8, 0xaf, 0xd9,\r
+  0x88, 0xd9, 0x86, 0xd8, 0xa3, 0xd9, 0x8a, 0xd8, 0xb6, 0xd8, 0xa7, 0xd9, 0x8a,\r
+  0xd9, 0x88, 0xd8, 0xac, 0xd8, 0xaf, 0xd9, 0x81, 0xd8, 0xb1, 0xd9, 0x8a, 0xd9,\r
+  0x82, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xa3, 0xd9, 0x81,\r
+  0xd8, 0xb6, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb7, 0xd8, 0xa8, 0xd8, 0xae, 0xd8,\r
+  0xa7, 0xd9, 0x83, 0xd8, 0xab, 0xd8, 0xb1, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1,\r
+  0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x81, 0xd8, 0xb6, 0xd9, 0x84, 0xd8, 0xa7, 0xd8,\r
+  0xad, 0xd9, 0x84, 0xd9, 0x89, 0xd9, 0x86, 0xd9, 0x81, 0xd8, 0xb3, 0xd9, 0x87,\r
+  0xd8, 0xa3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9,\r
+  0x88, 0xd8, 0xaf, 0xd8, 0xa3, 0xd9, 0x86, 0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xaf,\r
+  0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9,\r
+  0x86, 0xd9, 0x85, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xb6, 0xd8, 0xaa, 0xd8, 0xb9,\r
+  0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xae, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd9, 0x85, 0xd9, 0x83, 0xd9, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
+  0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02,\r
+  0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00,\r
+  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03,\r
+  0x02, 0x01, 0x00, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x0e,\r
+  0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\r
+  0x17, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x18, 0x19, 0x1a, 0x1b,\r
+  0x1c, 0x1d, 0x1e, 0x1f, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0xff,\r
+  0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,\r
+  0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,\r
+  0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,\r
+  0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00,\r
+  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00,\r
+  0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00,\r
+  0x07, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x75,\r
+  0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f,\r
+  0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61,\r
+  0x62, 0x6c, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44,\r
+  0x54, 0x44, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x6d, 0x61, 0x72, 0x6b, 0x65,\r
+  0x74, 0x69, 0x6e, 0x67, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65,\r
+  0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x61, 0x64, 0x76,\r
+  0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,\r
+  0x65, 0x72, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x3c, 0x2f,\r
+  0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x3e, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61,\r
+  0x6c, 0x69, 0x61, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73,\r
+  0x69, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f,\r
+  0x72, 0x69, 0x74, 0x79, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67,\r
+  0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x6f, 0x70, 0x65, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,\r
+  0x65, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x61, 0x6e, 0x6f,\r
+  0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,\r
+  0x75, 0x72, 0x65, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22,\r
+  0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x74, 0x65, 0x6e,\r
+  0x74, 0x69, 0x61, 0x6c, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x73, 0x65, 0x63, 0x6f,\r
+  0x6e, 0x64, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68,\r
+  0x74, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x65, 0x78, 0x63,\r
+  0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0d, 0x0a, 0x73, 0x74,\r
+  0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x42, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x7d,\r
+  0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x73, 0x6f, 0x6c, 0x75, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x73, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x74, 0x65, 0x6d, 0x70,\r
+  0x6c, 0x61, 0x74, 0x65, 0x73, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x6f, 0x75,\r
+  0x73, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x64, 0x6f, 0x63,\r
+  0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,\r
+  0x65, 0x72, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x72,\r
+  0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65,\r
+  0x6e, 0x63, 0x65, 0x26, 0x72, 0x61, 0x71, 0x75, 0x6f, 0x3b, 0x3c, 0x2f, 0x65,\r
+  0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72,\r
+  0x61, 0x6c, 0x6c, 0x79, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x62, 0x65, 0x61, 0x75, 0x74, 0x69, 0x66, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x6e,\r
+  0x73, 0x70, 0x6f, 0x72, 0x74, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x65,\r
+  0x64, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x70, 0x72, 0x6f,\r
+  0x6d, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x4e, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73,\r
+  0x28, 0x29, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d,\r
+  0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x75,\r
+  0x6e, 0x63, 0x65, 0x64, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x0a,\r
+  0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x73, 0x73,\r
+  0x20, 0x74, 0x68, 0x61, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76,\r
+  0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x72, 0x61,\r
+  0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6f,\r
+  0x72, 0x79, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x75,\r
+  0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e,\r
+  0x61, 0x6d, 0x65, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x69, 0x73, 0x6d, 0x74,\r
+  0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6c, 0x73, 0x65, 0x77,\r
+  0x68, 0x65, 0x72, 0x65, 0x41, 0x6c, 0x65, 0x78, 0x61, 0x6e, 0x64, 0x65, 0x72,\r
+  0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x74, 0x65,\r
+  0x72, 0x69, 0x61, 0x6c, 0x73, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73,\r
+  0x74, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x66, 0x66,\r
+  0x69, 0x6c, 0x69, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x3e, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x69,\r
+  0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75,\r
+  0x6c, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x6f,\r
+  0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x62, 0x69, 0x6f, 0x67, 0x72,\r
+  0x61, 0x70, 0x68, 0x79, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65,\r
+  0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6e,\r
+  0xc3, 0xa7, 0x61, 0x69, 0x73, 0x48, 0x6f, 0x6c, 0x6c, 0x79, 0x77, 0x6f, 0x6f,\r
+  0x64, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x61,\r
+  0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65,\r
+  0x3e, 0x0a, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,\r
+  0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72,\r
+  0x72, 0x65, 0x64, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x6f,\r
+  0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e,\r
+  0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x3e, 0x0a, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x70, 0x72, 0x65, 0x73,\r
+  0x65, 0x6e, 0x74, 0x65, 0x64, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x65,\r
+  0x64, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x77, 0x6f, 0x72,\r
+  0x6c, 0x64, 0x77, 0x69, 0x64, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,\r
+  0x63, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6e, 0x65,\r
+  0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c,\r
+  0x65, 0x3e, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x6c,\r
+  0x69, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x73, 0x73, 0x65, 0x6e,\r
+  0x74, 0x69, 0x61, 0x6c, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c,\r
+  0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65,\r
+  0x64, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x61, 0x72,\r
+  0x73, 0x65, 0x49, 0x6e, 0x74, 0x28, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69,\r
+  0x74, 0x79, 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x3c, 0x2f,\r
+  0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65,\r
+  0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x65, 0x72, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x65, 0x64, 0x74, 0x77, 0x6f, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73,\r
+  0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x66, 0x6f, 0x72, 0x65, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22,\r
+  0x3e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x63,\r
+  0x72, 0x65, 0x61, 0x73, 0x65, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x20,\r
+  0x6f, 0x66, 0x70, 0x65, 0x72, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x74, 0x72,\r
+  0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73,\r
+  0x61, 0x72, 0x79, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x79, 0x65, 0x64, 0x65,\r
+  0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6c, 0x69, 0x7a, 0x61,\r
+  0x62, 0x65, 0x74, 0x68, 0x3c, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x3e,\r
+  0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x73, 0x75,\r
+  0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,\r
+  0x3b, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x47, 0x65, 0x6f,\r
+  0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,\r
+  0x74, 0x65, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x6f,\r
+  0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,\r
+  0x65, 0x73, 0x2e, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x65, 0x64, 0x3c,\r
+  0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x43, 0x6f, 0x6d, 0x6d, 0x75,\r
+  0x6e, 0x69, 0x74, 0x79, 0x72, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x75, 0x73,\r
+  0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x6d,\r
+  0x69, 0x74, 0x74, 0x65, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67,\r
+  0x73, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x6f, 0x20,\r
+  0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69,\r
+  0x6e, 0x67, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x61,\r
+  0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65,\r
+  0x6e, 0x63, 0x79, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x69,\r
+  0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,\r
+  0x69, 0x76, 0x65, 0x3b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67,\r
+  0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x69, 0x74,\r
+  0x69, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75,\r
+  0x65, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x69, 0x74, 0x20,\r
+  0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e,\r
+  0x63, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x74, 0x68,\r
+  0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68,\r
+  0x6f, 0x6e, 0x65, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x70,\r
+  0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x73, 0x61, 0x64, 0x76, 0x61, 0x6e,\r
+  0x74, 0x61, 0x67, 0x65, 0x29, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,\r
+  0x46, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76,\r
+  0x69, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x6d, 0x6f, 0x63, 0x72, 0x61, 0x63,\r
+  0x79, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74,\r
+  0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x73, 0x75, 0x66, 0x66, 0x65, 0x72, 0x69,\r
+  0x6e, 0x67, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x73,\r
+  0x61, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x74, 0x20, 0x6d, 0x61,\r
+  0x79, 0x20, 0x62, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x3c, 0x2f,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65,\r
+  0x64, 0x75, 0x6c, 0x65, 0x64, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,\r
+  0x73, 0x3c, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3e, 0x0a, 0x73, 0x75, 0x73,\r
+  0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a,\r
+  0x20, 0x30, 0x73, 0x70, 0x69, 0x72, 0x69, 0x74, 0x75, 0x61, 0x6c, 0x3c, 0x2f,\r
+  0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73,\r
+  0x6f, 0x66, 0x74, 0x67, 0x72, 0x61, 0x64, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x64,\r
+  0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x65, 0x64, 0x68, 0x65, 0x20, 0x62, 0x65,\r
+  0x63, 0x61, 0x6d, 0x65, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65,\r
+  0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6a, 0x73, 0x68, 0x6f, 0x75, 0x73,\r
+  0x65, 0x68, 0x6f, 0x6c, 0x64, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65,\r
+  0x64, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x6c, 0x69, 0x74,\r
+  0x65, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79,\r
+  0x65, 0x64, 0x75, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x76, 0x61,\r
+  0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,\r
+  0x69, 0x6e, 0x67, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x63,\r
+  0x65, 0x6e, 0x74, 0x75, 0x72, 0x69, 0x65, 0x73, 0x4a, 0x61, 0x70, 0x61, 0x6e,\r
+  0x65, 0x73, 0x65, 0x20, 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,\r
+  0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x61, 0x6c, 0x67, 0x6f,\r
+  0x72, 0x69, 0x74, 0x68, 0x6d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74,\r
+  0x73, 0x72, 0x65, 0x62, 0x65, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x75, 0x6e, 0x64,\r
+  0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x72, 0x61,\r
+  0x67, 0x65, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e,\r
+  0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74,\r
+  0x69, 0x76, 0x65, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x70,\r
+  0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x6c, 0x74, 0x68,\r
+  0x6f, 0x75, 0x67, 0x68, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x69, 0x6e, 0x67,\r
+  0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x65, 0x64, 0x29, 0x2c, 0x20, 0x77,\r
+  0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65,\r
+  0x64, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x46, 0x65, 0x62,\r
+  0x72, 0x75, 0x61, 0x72, 0x79, 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x6f, 0x75,\r
+  0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x73, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x6e, 0x74, 0x63,\r
+  0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x3d, 0x22, 0x74, 0x65, 0x63, 0x68, 0x6e,\r
+  0x69, 0x63, 0x61, 0x6c, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72,\r
+  0x63, 0x65, 0x20, 0x6f, 0x66, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65,\r
+  0x64, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x46, 0x61,\r
+  0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c,\r
+  0x65, 0x20, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x65, 0x6c,\r
+  0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x66, 0x66, 0x65, 0x6e, 0x73,\r
+  0x69, 0x76, 0x65, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x09, 0x73,\r
+  0x70, 0x6f, 0x6e, 0x73, 0x6f, 0x72, 0x65, 0x64, 0x64, 0x6f, 0x63, 0x75, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x2e, 0x6f, 0x72, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b,\r
+  0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x74, 0x68, 0x6f, 0x73,\r
+  0x65, 0x20, 0x77, 0x68, 0x6f, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x73, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x64, 0x69, 0x66,\r
+  0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74,\r
+  0x65, 0x64, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x63, 0x6f,\r
+  0x6e, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74,\r
+  0x69, 0x6e, 0x67, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x2e,\r
+  0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x69, 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x64, 0x65, 0x63, 0x69,\r
+  0x73, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e,\r
+  0x74, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x65, 0x76, 0x6f,\r
+  0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,\r
+  0x72, 0x22, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x6f, 0x61, 0x6c,\r
+  0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65,\r
+  0x72, 0x65, 0x64, 0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x41,\r
+  0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65,\r
+  0x63, 0x74, 0x65, 0x64, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20,\r
+  0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x66, 0x75, 0x72, 0x6e,\r
+  0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,\r
+  0x20, 0x20, 0x6f, 0x6e, 0x62, 0x6c, 0x75, 0x72, 0x3d, 0x22, 0x73, 0x75, 0x73,\r
+  0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65,\r
+  0x6e, 0x74, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x4d, 0x6f,\r
+  0x72, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x2c, 0x61, 0x62, 0x6f, 0x6c, 0x69, 0x73,\r
+  0x68, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x77,\r
+  0x65, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x65, 0x6d, 0x6f, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79,\r
+  0x6e, 0x61, 0x72, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x61, 0x64, 0x76, 0x6f,\r
+  0x63, 0x61, 0x74, 0x65, 0x73, 0x70, 0x78, 0x3b, 0x62, 0x6f, 0x72, 0x64, 0x65,\r
+  0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x64, 0x69, 0x72,\r
+  0x3d, 0x22, 0x6c, 0x74, 0x72, 0x22, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65,\r
+  0x65, 0x73, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x20, 0x73,\r
+  0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,\r
+  0x73, 0x6f, 0x72, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x73, 0x64,\r
+  0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x53, 0x65, 0x70, 0x74, 0x65,\r
+  0x6d, 0x62, 0x65, 0x72, 0x61, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28,\r
+  0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x20, 0x73, 0x75, 0x67, 0x67,\r
+  0x65, 0x73, 0x74, 0x65, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65,\r
+  0x72, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x6c, 0x61,\r
+  0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d,\r
+  0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x63, 0x65,\r
+  0x72, 0x74, 0x61, 0x69, 0x6e, 0x6c, 0x79, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c,\r
+  0x6c, 0x65, 0x64, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x4a,\r
+  0x65, 0x72, 0x75, 0x73, 0x61, 0x6c, 0x65, 0x6d, 0x74, 0x68, 0x65, 0x79, 0x20,\r
+  0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67,\r
+  0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x76,\r
+  0x69, 0x6e, 0x63, 0x65, 0x73, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65,\r
+  0x65, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x72, 0x65, 0x63,\r
+  0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x70, 0x78, 0x3b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x74, 0x68,\r
+  0x65, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,\r
+  0x6f, 0x75, 0x72, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x65,\r
+  0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x62, 0x65, 0x67, 0x61, 0x6e,\r
+  0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65,\r
+  0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x6d, 0x75, 0x73, 0x74,\r
+  0x20, 0x68, 0x61, 0x76, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61,\r
+  0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x65, 0x78, 0x74,\r
+  0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x61,\r
+  0x72, 0x79, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x6f, 0x63,\r
+  0x63, 0x75, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62,\r
+  0x6c, 0x65, 0x73, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70,\r
+  0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x3c, 0x2f, 0x6c, 0x61, 0x62,\r
+  0x65, 0x6c, 0x3e, 0x3c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x6b, 0x69, 0x6e, 0x64,\r
+  0x73, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x69, 0x65,\r
+  0x73, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x69, 0x64, 0x65, 0x20, 0x2d, 0x2d,\r
+  0x26, 0x67, 0x74, 0x3b, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x77, 0x65,\r
+  0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x72, 0x61,\r
+  0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61,\r
+  0x76, 0x65, 0x20, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x28, 0x73,\r
+  0x70, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65,\r
+  0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65,\r
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72,\r
+  0x79, 0x62, 0x75, 0x72, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x61, 0x20, 0x73,\r
+  0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x65,\r
+  0x72, 0x65, 0x3c, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x3e, 0x3c, 0x2f, 0x4e, 0x6f,\r
+  0x72, 0x77, 0x65, 0x67, 0x69, 0x61, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66,\r
+  0x69, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x70,\r
+  0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x28, 0x6e, 0x65, 0x77, 0x20,\r
+  0x44, 0x61, 0x74, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79,\r
+  0x66, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x66, 0x74, 0x65,\r
+  0x72, 0x20, 0x74, 0x68, 0x65, 0x65, 0x71, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x72, 0x65, 0x67,\r
+  0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70,\r
+  0x65, 0x72, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x69,\r
+  0x6e, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x68, 0x65, 0x6e, 0x6f, 0x6d,\r
+  0x65, 0x6e, 0x61, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x6f, 0x66, 0x74,\r
+  0x6f, 0x6f, 0x6c, 0x74, 0x69, 0x70, 0x22, 0x3e, 0x73, 0x75, 0x62, 0x73, 0x74,\r
+  0x61, 0x6e, 0x63, 0x65, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63,\r
+  0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x41, 0x6d, 0x6f, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65,\r
+  0x64, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x41, 0x69, 0x72,\r
+  0x20, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20,\r
+  0x6f, 0x66, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x69, 0x6d,\r
+  0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67,\r
+  0x20, 0x69, 0x74, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x63,\r
+  0x6f, 0x6e, 0x71, 0x75, 0x65, 0x72, 0x65, 0x64, 0x61, 0x72, 0x65, 0x20, 0x73,\r
+  0x74, 0x69, 0x6c, 0x6c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65,\r
+  0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x61, 0x64,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e,\r
+  0x20, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x6d, 0x6f, 0x6c,\r
+  0x65, 0x63, 0x75, 0x6c, 0x65, 0x73, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69,\r
+  0x73, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74,\r
+  0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x68,\r
+  0x6f, 0x6f, 0x64, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x64, 0x64,\r
+  0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x73, 0x69, 0x6e, 0x67, 0x61,\r
+  0x70, 0x6f, 0x72, 0x65, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x66,\r
+  0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x66,\r
+  0x6c, 0x69, 0x63, 0x74, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x70, 0x3e,\r
+  0x0a, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x77, 0x65, 0x72,\r
+  0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68,\r
+  0x61, 0x74, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x78,\r
+  0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x6d,\r
+  0x6f, 0x72, 0x65, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x63,\r
+  0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x74,\r
+  0x69, 0x63, 0x61, 0x6c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x73,\r
+  0x64, 0x65, 0x6c, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x70, 0x72, 0x69, 0x73,\r
+  0x6f, 0x6e, 0x65, 0x72, 0x73, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x6f,\r
+  0x66, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x21, 0x5b,\r
+  0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, 0x22, 0x3e, 0x43, 0x6f, 0x6e, 0x74, 0x61,\r
+  0x63, 0x74, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x20, 0x62, 0x67,\r
+  0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,\r
+  0x20, 0x6f, 0x66, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x69,\r
+  0x6e, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69,\r
+  0x74, 0x74, 0x65, 0x64, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e,\r
+  0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x6f, 0x66, 0x66, 0x69,\r
+  0x63, 0x69, 0x61, 0x6c, 0x73, 0x73, 0x65, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x6c,\r
+  0x79, 0x2d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x69, 0x6e, 0x69,\r
+  0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x69,\r
+  0x6e, 0x67, 0x6c, 0x6f, 0x6e, 0x67, 0x2d, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e,\r
+  0x66, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x63, 0x68, 0x20, 0x74,\r
+  0x68, 0x61, 0x74, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x6d,\r
+  0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x62, 0x79, 0x3c, 0x2f, 0x62, 0x75, 0x74,\r
+  0x74, 0x6f, 0x6e, 0x3e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x69, 0x6e, 0x63, 0x72,\r
+  0x65, 0x61, 0x73, 0x65, 0x73, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x70,\r
+  0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x21, 0x2d,\r
+  0x2d, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x57, 0x69,\r
+  0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73,\r
+  0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x77,\r
+  0x61, 0x73, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x56, 0x65, 0x6e, 0x65, 0x7a,\r
+  0x75, 0x65, 0x6c, 0x61, 0x28, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79,\r
+  0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x70, 0x65, 0x72, 0x73,\r
+  0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69,\r
+  0x63, 0x66, 0x61, 0x76, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x76,\r
+  0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6b, 0x69, 0x70, 0x65, 0x64,\r
+  0x69, 0x61, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x76, 0x69,\r
+  0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20,\r
+  0x77, 0x61, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x43,\r
+  0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74,\r
+  0x69, 0x63, 0x61, 0x6c, 0x73, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x61, 0x74,\r
+  0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x61, 0x77, 0x61, 0x79,\r
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x6f, 0x6c, 0x65, 0x63, 0x75, 0x6c, 0x61,\r
+  0x72, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, 0x6c, 0x79, 0x64, 0x69, 0x73,\r
+  0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74,\r
+  0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x3e, 0x26,\r
+  0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x77,\r
+  0x69, 0x6c, 0x6c, 0x20, 0x68, 0x61, 0x76, 0x65, 0x6f, 0x72, 0x67, 0x61, 0x6e,\r
+  0x69, 0x73, 0x6d, 0x73, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65,\r
+  0x46, 0x72, 0x69, 0x65, 0x64, 0x72, 0x69, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20,\r
+  0x66, 0x69, 0x72, 0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,\r
+  0x20, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x66, 0x6f, 0x72,\r
+  0x6d, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64, 0x69,\r
+  0x6e, 0x67, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x68,\r
+  0x79, 0x73, 0x69, 0x63, 0x69, 0x73, 0x74, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73,\r
+  0x20, 0x69, 0x6e, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73,\r
+  0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x73, 0x70, 0x61, 0x6e, 0x20,\r
+  0x69, 0x64, 0x3d, 0x22, 0x73, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20, 0x74, 0x6f,\r
+  0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x72, 0x76,\r
+  0x69, 0x76, 0x69, 0x6e, 0x67, 0x7d, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65,\r
+  0x3e, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x61, 0x74, 0x68, 0x61, 0x73, 0x20,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x65, 0x78,\r
+  0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x61,\r
+  0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x6c, 0x65, 0x76, 0x65, 0x6c,\r
+  0x73, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66,\r
+  0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x73, 0x6d,\r
+  0x69, 0x73, 0x73, 0x65, 0x64, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73,\r
+  0x74, 0x72, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x73, 0x64, 0x75, 0x70,\r
+  0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69,\r
+  0x76, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x61, 0x6c,\r
+  0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,\r
+  0x69, 0x65, 0x73, 0x7b, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x70,\r
+  0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x67, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x6f, 0x66, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,\r
+  0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x69, 0x6d, 0x67, 0x20,\r
+  0x61, 0x6c, 0x74, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x72,\r
+  0x6e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x6d, 0x65, 0x74,\r
+  0x68, 0x6f, 0x64, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69,\r
+  0x6e, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x6e, 0x65,\r
+  0x65, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x47, 0x72,\r
+  0x65, 0x61, 0x74, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73,\r
+  0x65, 0x65, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x76, 0x69, 0x65, 0x77, 0x65,\r
+  0x64, 0x20, 0x61, 0x73, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x6f, 0x6e,\r
+  0x69, 0x64, 0x65, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x68, 0x65, 0x20,\r
+  0x57, 0x6f, 0x72, 0x6c, 0x64, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6f,\r
+  0x66, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x65,\r
+  0x73, 0x65, 0x20, 0x61, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,\r
+  0x22, 0x3e, 0x63, 0x61, 0x72, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x6d, 0x61,\r
+  0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,\r
+  0x20, 0x6f, 0x66, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x61,\r
+  0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x70, 0x72, 0x65, 0x64, 0x69,\r
+  0x63, 0x74, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68,\r
+  0x74, 0x22, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63,\r
+  0x65, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x74,\r
+  0x65, 0x6e, 0x20, 0x20, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0d, 0x0a, 0x70, 0x72,\r
+  0x6f, 0x62, 0x61, 0x62, 0x6c, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73,\r
+  0x73, 0x6f, 0x72, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x72,\r
+  0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x73, 0x61, 0x79, 0x73, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x68, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65,\r
+  0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x48, 0x75, 0x6e, 0x67,\r
+  0x61, 0x72, 0x69, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f,\r
+  0x66, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x61, 0x73, 0x55, 0x6e, 0x69,\r
+  0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x66, 0x6f,\r
+  0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x66, 0x65, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x68,\r
+  0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c,\r
+  0x61, 0x72, 0x22, 0x3e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x6f, 0x6e,\r
+  0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x63,\r
+  0x74, 0x6f, 0x72, 0x61, 0x6c, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x20, 0x6f,\r
+  0x66, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x74,\r
+  0x75, 0x72, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65,\r
+  0x63, 0x74, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x70, 0x72,\r
+  0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67,\r
+  0x20, 0x69, 0x6e, 0x65, 0x61, 0x73, 0x69, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x70,\r
+  0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x0a, 0x26, 0x6c, 0x74, 0x3b,\r
+  0x21, 0x2d, 0x2d, 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66,\r
+  0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x77, 0x61, 0x73, 0x20,\r
+  0x74, 0x61, 0x6b, 0x65, 0x6e, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68,\r
+  0x65, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x62, 0x65, 0x6c,\r
+  0x69, 0x65, 0x66, 0x20, 0x69, 0x6e, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x61,\r
+  0x6e, 0x73, 0x61, 0x73, 0x20, 0x66, 0x61, 0x72, 0x20, 0x61, 0x73, 0x70, 0x72,\r
+  0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x77,\r
+  0x69, 0x74, 0x68, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x3c,\r
+  0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x43, 0x68, 0x72, 0x69, 0x73,\r
+  0x74, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64,\r
+  0x0a, 0x0a, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b,\r
+  0x20, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x61, 0x73,\r
+  0x74, 0x6d, 0x61, 0x67, 0x61, 0x7a, 0x69, 0x6e, 0x65, 0x73, 0x3e, 0x3c, 0x73,\r
+  0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74,\r
+  0x65, 0x65, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x67, 0x72,\r
+  0x6f, 0x75, 0x70, 0x73, 0x20, 0x6f, 0x66, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64,\r
+  0x20, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x61,\r
+  0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x73, 0x20, 0x66,\r
+  0x69, 0x72, 0x73, 0x74, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6f, 0x77, 0x6e,\r
+  0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x61, 0x6e, 0x20, 0x6f,\r
+  0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x61, 0x72, 0x69, 0x62, 0x62, 0x65, 0x61,\r
+  0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x73,\r
+  0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x77, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73,\r
+  0x69, 0x6e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x3b, 0x20,\r
+  0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69,\r
+  0x74, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x4a,\r
+  0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x20, 0x31, 0x3c, 0x2f, 0x66, 0x6f, 0x6f,\r
+  0x74, 0x65, 0x72, 0x3e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x6c, 0x79,\r
+  0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20,\r
+  0x73, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\r
+  0x20, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x54, 0x68, 0x65,\r
+  0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,\r
+  0x3b, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x65,\r
+  0x61, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20,\r
+  0x74, 0x68, 0x65, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x63,\r
+  0x6f, 0x6e, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x69, 0x6e, 0x64, 0x65, 0x78,\r
+  0x2e, 0x70, 0x68, 0x70, 0x61, 0x73, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b,\r
+  0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x20, 0x69, 0x6e, 0x72, 0x65, 0x63, 0x65,\r
+  0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x66, 0x65, 0x77, 0x20, 0x79, 0x65, 0x61, 0x72,\r
+  0x73, 0x77, 0x65, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x0a, 0x3c, 0x68,\r
+  0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x63, 0x69,\r
+  0x74, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,\r
+  0x6b, 0x65, 0x79, 0x63, 0x6f, 0x6e, 0x64, 0x65, 0x6d, 0x6e, 0x65, 0x64, 0x61,\r
+  0x6c, 0x73, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x73, 0x65, 0x72, 0x76, 0x69,\r
+  0x63, 0x65, 0x73, 0x2c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20, 0x6f, 0x66,\r
+  0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x76,\r
+  0x65, 0x72, 0x74, 0x65, 0x64, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x6d, 0x69, 0x6e,\r
+  0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63,\r
+  0x74, 0x3e, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20,\r
+  0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,\r
+  0x63, 0x65, 0x73, 0x61, 0x64, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x54,\r
+  0x68, 0x65, 0x79, 0x20, 0x77, 0x65, 0x72, 0x65, 0x61, 0x6e, 0x79, 0x20, 0x6f,\r
+  0x74, 0x68, 0x65, 0x72, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d,\r
+  0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x75, 0x63, 0x68,\r
+  0x20, 0x6d, 0x6f, 0x72, 0x65, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x65,\r
+  0x64, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x6f, 0x72, 0x69,\r
+  0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x74, 0x79, 0x70, 0x69, 0x63,\r
+  0x61, 0x6c, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x79, 0x65, 0x6e,\r
+  0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20,\r
+  0x6e, 0x6f, 0x74, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x77,\r
+  0x65, 0x64, 0x6e, 0x65, 0x73, 0x64, 0x61, 0x79, 0x74, 0x68, 0x65, 0x20, 0x74,\r
+  0x68, 0x69, 0x72, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73,\r
+  0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x79, 0x20, 0x32, 0x77, 0x68, 0x61, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x79, 0x61, 0x20, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69,\r
+  0x6e, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x72, 0x6f,\r
+  0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x68,\r
+  0x69, 0x73, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x64,\r
+  0x65, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x73, 0x65, 0x61, 0x72, 0x63,\r
+  0x68, 0x22, 0x3e, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x66,\r
+  0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x65,\r
+  0x72, 0x65, 0x6e, 0x63, 0x65, 0x74, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x65,\r
+  0x65, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68, 0x61, 0x73, 0x20, 0x76, 0x65,\r
+  0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e,\r
+  0x20, 0x3c, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3e, 0x67, 0x69,\r
+  0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72,\r
+  0x69, 0x61, 0x6e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x3e, 0x70,\r
+  0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x30, 0x76, 0x69, 0x65, 0x77, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x2c,\r
+  0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20,\r
+  0x66, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x20, 0x6f,\r
+  0x66, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x20, 0x6f, 0x6e, 0x63, 0x68, 0x69,\r
+  0x6c, 0x64, 0x72, 0x65, 0x6e, 0x2c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20,\r
+  0x6f, 0x66, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x6f,\r
+  0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x65,\r
+  0x64, 0x6c, 0x79, 0x43, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x77,\r
+  0x61, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x61,\r
+  0x66, 0x74, 0x65, 0x72, 0x61, 0x72, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e,\r
+  0x77, 0x61, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x6f,\r
+  0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x75, 0x63,\r
+  0x68, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61,\r
+  0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x2c, 0x20,\r
+  0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x75, 0x73, 0x65, 0x75, 0x6d,\r
+  0x20, 0x6f, 0x66, 0x6c, 0x6f, 0x75, 0x69, 0x73, 0x69, 0x61, 0x6e, 0x61, 0x28,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x69, 0x6e, 0x6e, 0x65,\r
+  0x73, 0x6f, 0x74, 0x61, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73,\r
+  0x61, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x6f, 0x6d, 0x69,\r
+  0x6e, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x20, 0x6f,\r
+  0x66, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x66,\r
+  0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x30, 0x30, 0x70, 0x78, 0x7c, 0x72, 0x69,\r
+  0x67, 0x68, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x6f,\r
+  0x75, 0x73, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x28,\r
+  0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69,\r
+  0x6e, 0x75, 0x65, 0x73, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x69, 0x73, 0x63, 0x6f,\r
+  0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68,\r
+  0x6f, 0x75, 0x74, 0x20, 0x61, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x6f, 0x6d,\r
+  0x65, 0x77, 0x68, 0x6f, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x20, 0x66,\r
+  0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20,\r
+  0x6f, 0x66, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x74, 0x6b, 0x6e,\r
+  0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69,\r
+  0x63, 0x65, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61,\r
+  0x6e, 0x64, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x6d, 0x65, 0x61, 0x73, 0x75,\r
+  0x72, 0x69, 0x6e, 0x67, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73,\r
+  0x70, 0x61, 0x70, 0x65, 0x72, 0x62, 0x61, 0x63, 0x6b, 0x76, 0x61, 0x6c, 0x75,\r
+  0x65, 0x73, 0x20, 0x6f, 0x66, 0x0d, 0x0a, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65,\r
+  0x3e, 0x3d, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x64, 0x65, 0x74,\r
+  0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x26, 0x71, 0x75, 0x6f, 0x74,\r
+  0x3b, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x6e,\r
+  0x64, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74,\r
+  0x65, 0x72, 0x3e, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x74,\r
+  0x68, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, 0x70, 0x6f, 0x77, 0x65, 0x72,\r
+  0x20, 0x61, 0x6e, 0x64, 0x6f, 0x66, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b,\r
+  0x69, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x54, 0x4d, 0x4c, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,\r
+  0x3b, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65,\r
+  0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x76, 0x65, 0x72, 0x79, 0x20, 0x68, 0x69,\r
+  0x67, 0x68, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x2d, 0x68,\r
+  0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,\r
+  0x74, 0x3d, 0x22, 0x2f, 0x63, 0x67, 0x69, 0x2d, 0x62, 0x69, 0x6e, 0x2f, 0x74,\r
+  0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x61, 0x66, 0x72, 0x69, 0x6b,\r
+  0x61, 0x61, 0x6e, 0x73, 0x65, 0x73, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x74, 0x6f,\r
+  0x66, 0x72, 0x61, 0x6e, 0xc3, 0xa7, 0x61, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x76,\r
+  0x69, 0x65, 0xc5, 0xa1, 0x75, 0x6c, 0x69, 0x65, 0x74, 0x75, 0x76, 0x69, 0xc5,\r
+  0xb3, 0xc4, 0x8c, 0x65, 0xc5, 0xa1, 0x74, 0x69, 0x6e, 0x61, 0xc4, 0x8d, 0x65,\r
+  0xc5, 0xa1, 0x74, 0x69, 0x6e, 0x61, 0xe0, 0xb9, 0x84, 0xe0, 0xb8, 0x97, 0xe0,\r
+  0xb8, 0xa2, 0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe8, 0xaa, 0x9e, 0xe7, 0xae,\r
+  0x80, 0xe4, 0xbd, 0x93, 0xe5, 0xad, 0x97, 0xe7, 0xb9, 0x81, 0xe9, 0xab, 0x94,\r
+  0xe5, 0xad, 0x97, 0xed, 0x95, 0x9c, 0xea, 0xb5, 0xad, 0xec, 0x96, 0xb4, 0xe4,\r
+  0xb8, 0xba, 0xe4, 0xbb, 0x80, 0xe4, 0xb9, 0x88, 0xe8, 0xae, 0xa1, 0xe7, 0xae,\r
+  0x97, 0xe6, 0x9c, 0xba, 0xe7, 0xac, 0x94, 0xe8, 0xae, 0xb0, 0xe6, 0x9c, 0xac,\r
+  0xe8, 0xa8, 0x8e, 0xe8, 0xab, 0x96, 0xe5, 0x8d, 0x80, 0xe6, 0x9c, 0x8d, 0xe5,\r
+  0x8a, 0xa1, 0xe5, 0x99, 0xa8, 0xe4, 0xba, 0x92, 0xe8, 0x81, 0x94, 0xe7, 0xbd,\r
+  0x91, 0xe6, 0x88, 0xbf, 0xe5, 0x9c, 0xb0, 0xe4, 0xba, 0xa7, 0xe4, 0xbf, 0xb1,\r
+  0xe4, 0xb9, 0x90, 0xe9, 0x83, 0xa8, 0xe5, 0x87, 0xba, 0xe7, 0x89, 0x88, 0xe7,\r
+  0xa4, 0xbe, 0xe6, 0x8e, 0x92, 0xe8, 0xa1, 0x8c, 0xe6, 0xa6, 0x9c, 0xe9, 0x83,\r
+  0xa8, 0xe8, 0x90, 0xbd, 0xe6, 0xa0, 0xbc, 0xe8, 0xbf, 0x9b, 0xe4, 0xb8, 0x80,\r
+  0xe6, 0xad, 0xa5, 0xe6, 0x94, 0xaf, 0xe4, 0xbb, 0x98, 0xe5, 0xae, 0x9d, 0xe9,\r
+  0xaa, 0x8c, 0xe8, 0xaf, 0x81, 0xe7, 0xa0, 0x81, 0xe5, 0xa7, 0x94, 0xe5, 0x91,\r
+  0x98, 0xe4, 0xbc, 0x9a, 0xe6, 0x95, 0xb0, 0xe6, 0x8d, 0xae, 0xe5, 0xba, 0x93,\r
+  0xe6, 0xb6, 0x88, 0xe8, 0xb4, 0xb9, 0xe8, 0x80, 0x85, 0xe5, 0x8a, 0x9e, 0xe5,\r
+  0x85, 0xac, 0xe5, 0xae, 0xa4, 0xe8, 0xae, 0xa8, 0xe8, 0xae, 0xba, 0xe5, 0x8c,\r
+  0xba, 0xe6, 0xb7, 0xb1, 0xe5, 0x9c, 0xb3, 0xe5, 0xb8, 0x82, 0xe6, 0x92, 0xad,\r
+  0xe6, 0x94, 0xbe, 0xe5, 0x99, 0xa8, 0xe5, 0x8c, 0x97, 0xe4, 0xba, 0xac, 0xe5,\r
+  0xb8, 0x82, 0xe5, 0xa4, 0xa7, 0xe5, 0xad, 0xa6, 0xe7, 0x94, 0x9f, 0xe8, 0xb6,\r
+  0x8a, 0xe6, 0x9d, 0xa5, 0xe8, 0xb6, 0x8a, 0xe7, 0xae, 0xa1, 0xe7, 0x90, 0x86,\r
+  0xe5, 0x91, 0x98, 0xe4, 0xbf, 0xa1, 0xe6, 0x81, 0xaf, 0xe7, 0xbd, 0x91, 0x73,\r
+  0x65, 0x72, 0x76, 0x69, 0x63, 0x69, 0x6f, 0x73, 0x61, 0x72, 0x74, 0xc3, 0xad,\r
+  0x63, 0x75, 0x6c, 0x6f, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61,\r
+  0x62, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x6f, 0x6e, 0x61, 0x63, 0x75, 0x61, 0x6c,\r
+  0x71, 0x75, 0x69, 0x65, 0x72, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x64,\r
+  0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x73, 0x70, 0x6f, 0x6c,\r
+  0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x72, 0x65, 0x73, 0x70, 0x75, 0x65, 0x73,\r
+  0x74, 0x61, 0x77, 0x69, 0x6b, 0x69, 0x70, 0x65, 0x64, 0x69, 0x61, 0x73, 0x69,\r
+  0x67, 0x75, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x62, 0xc3, 0xba, 0x73, 0x71, 0x75,\r
+  0x65, 0x64, 0x61, 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x73,\r
+  0x65, 0x67, 0x75, 0x72, 0x69, 0x64, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6e, 0x63,\r
+  0x69, 0x70, 0x61, 0x6c, 0x70, 0x72, 0x65, 0x67, 0x75, 0x6e, 0x74, 0x61, 0x73,\r
+  0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x69, 0x64, 0x6f, 0x72, 0x65, 0x73, 0x70,\r
+  0x6f, 0x6e, 0x64, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c,\r
+  0x61, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x61, 0x73, 0x64, 0x69, 0x63,\r
+  0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x72, 0x65, 0x6c, 0x61, 0x63, 0x69, 0xc3,\r
+  0xb3, 0x6e, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x73, 0x69,\r
+  0x6d, 0x69, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x79, 0x65, 0x63,\r
+  0x74, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x61, 0x73, 0x69,\r
+  0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76,\r
+  0x69, 0x64, 0x61, 0x64, 0x65, 0x6e, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x72, 0x61,\r
+  0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0xc3, 0xad, 0x61, 0x69, 0x6d, 0xc3, 0xa1,\r
+  0x67, 0x65, 0x6e, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x61,\r
+  0x72, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x72, 0x6e, 0x65, 0x63,\r
+  0x65, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0xc3,\r
+  0xb3, 0x6e, 0x74, 0x65, 0x6c, 0xc3, 0xa9, 0x66, 0x6f, 0x6e, 0x6f, 0x63, 0x6f,\r
+  0x6d, 0x69, 0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x61, 0x6e, 0x63, 0x69, 0x6f,\r
+  0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x64, 0x61, 0x64, 0x65,\r
+  0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x72, 0x61, 0x6e, 0xc3, 0xa1, 0x6c,\r
+  0x69, 0x73, 0x69, 0x73, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x6f, 0x73,\r
+  0x74, 0xc3, 0xa9, 0x72, 0x6d, 0x69, 0x6e, 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x76,\r
+  0x69, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x74, 0x69, 0x71, 0x75, 0x65, 0x74, 0x61,\r
+  0x73, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x66, 0x75, 0x6e,\r
+  0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x61,\r
+  0x64, 0x6f, 0x63, 0x61, 0x72, 0xc3, 0xa1, 0x63, 0x74, 0x65, 0x72, 0x70, 0x72,\r
+  0x6f, 0x70, 0x69, 0x65, 0x64, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69,\r
+  0x70, 0x69, 0x6f, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x69, 0x64, 0x61, 0x64, 0x6d,\r
+  0x75, 0x6e, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x63, 0x72, 0x65, 0x61, 0x63,\r
+  0x69, 0xc3, 0xb3, 0x6e, 0x64, 0x65, 0x73, 0x63, 0x61, 0x72, 0x67, 0x61, 0x73,\r
+  0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x63, 0x6f, 0x6d, 0x65,\r
+  0x72, 0x63, 0x69, 0x61, 0x6c, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x6f, 0x6e, 0x65,\r
+  0x73, 0x65, 0x6a, 0x65, 0x72, 0x63, 0x69, 0x63, 0x69, 0x6f, 0x65, 0x64, 0x69,\r
+  0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x61, 0x6c, 0x61, 0x6d, 0x61, 0x6e,\r
+  0x63, 0x61, 0x67, 0x6f, 0x6e, 0x7a, 0xc3, 0xa1, 0x6c, 0x65, 0x7a, 0x64, 0x6f,\r
+  0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x70, 0x65, 0x6c, 0xc3, 0xad, 0x63,\r
+  0x75, 0x6c, 0x61, 0x72, 0x65, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x67,\r
+  0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x61, 0x72, 0x72, 0x61,\r
+  0x67, 0x6f, 0x6e, 0x61, 0x70, 0x72, 0xc3, 0xa1, 0x63, 0x74, 0x69, 0x63, 0x61,\r
+  0x6e, 0x6f, 0x76, 0x65, 0x64, 0x61, 0x64, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x70,\r
+  0x75, 0x65, 0x73, 0x74, 0x61, 0x70, 0x61, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x65,\r
+  0x73, 0x74, 0xc3, 0xa9, 0x63, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x6f, 0x62, 0x6a,\r
+  0x65, 0x74, 0x69, 0x76, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,\r
+  0x6f, 0x73, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x88,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4,\r
+  0xb5, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa5, 0x81, 0xe0, 0xa4, 0x9b, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x95,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0,\r
+  0xa5, 0x80, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x88,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0x64, 0x69, 0x70, 0x6c, 0x6f,\r
+  0x64, 0x6f, 0x63, 0x73, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaf,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x94,\r
+  0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x96, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xae,\r
+  0xe0, 0xa5, 0x8c, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb2, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4,\r
+  0x9c, 0xe0, 0xa5, 0x89, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa6,\r
+  0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0x97,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xae, 0xe0,\r
+  0xa4, 0x96, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x80,\r
+  0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0,\r
+  0xa5, 0x81, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4,\r
+  0x9f, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85,\r
+  0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x90, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x8a, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x90, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa6, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4,\r
+  0xa6, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9,\r
+  0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x96, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4,\r
+  0xac, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0x86, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb2,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x89, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xad, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0,\r
+  0xa4, 0x95, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa0, 0xe0, 0xa5,\r
+  0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81,\r
+  0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xa4, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x86,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x95, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8c, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x96, 0xe0, 0xa5,\r
+  0x81, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x80,\r
+  0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x65, 0x78, 0x70,\r
+  0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c,\r
+  0x65, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74,\r
+  0x20, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x63, 0x6f,\r
+  0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x79,\r
+  0x74, 0x68, 0x69, 0x6e, 0x67, 0x3c, 0x70, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x62,\r
+  0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x61, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x26, 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x20, 0x32, 0x30, 0x31,\r
+  0x6a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x63, 0x68, 0x61,\r
+  0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x62, 0x72, 0x65, 0x61, 0x64, 0x63,\r
+  0x72, 0x75, 0x6d, 0x62, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65,\r
+  0x73, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x67, 0x6f,\r
+  0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x69, 0x66,\r
+  0x6f, 0x72, 0x6e, 0x69, 0x61, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69,\r
+  0x65, 0x73, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x4e,\r
+  0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e,\r
+  0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x3c, 0x2f, 0x74,\r
+  0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x6d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x62,\r
+  0x6f, 0x78, 0x22, 0x20, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, 0x65,\r
+  0x73, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x70,\r
+  0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, 0x73, 0x20, 0x77, 0x65,\r
+  0x6c, 0x6c, 0x20, 0x61, 0x73, 0x75, 0x6e, 0x74, 0x27, 0x2c, 0x20, 0x27, 0x55,\r
+  0x41, 0x2d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x6f,\r
+  0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x65,\r
+  0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61,\r
+  0x74, 0x65, 0x64, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e,\r
+  0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x20, 0x3d, 0x20,\r
+  0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73,\r
+  0x73, 0x69, 0x6f, 0x6e, 0x26, 0x6c, 0x74, 0x3b, 0x62, 0x72, 0x26, 0x67, 0x74,\r
+  0x3b, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x70, 0x6f,\r
+  0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x67, 0x63, 0x6f, 0x6c,\r
+  0x6f, 0x72, 0x3d, 0x22, 0x23, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,\r
+  0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x70,\r
+  0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x65, 0x77, 0x73,\r
+  0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,\r
+  0x69, 0x65, 0x73, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54, 0x65, 0x63,\r
+  0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x50, 0x61, 0x72, 0x6c, 0x69, 0x61,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f,\r
+  0x6e, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x2e, 0x69,\r
+  0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x28, 0x22, 0x63, 0x6f, 0x6e, 0x63, 0x6c,\r
+  0x75, 0x73, 0x69, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x62,\r
+  0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x76, 0x6f,\r
+  0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,\r
+  0x6e, 0x65, 0x72, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x6f, 0x64,\r
+  0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x70, 0x65, 0x72,\r
+  0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f,\r
+  0x74, 0x68, 0x65, 0x72, 0x61, 0x74, 0x6d, 0x6f, 0x73, 0x70, 0x68, 0x65, 0x72,\r
+  0x65, 0x20, 0x6f, 0x6e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x3d, 0x22, 0x3c, 0x66,\r
+  0x6f, 0x72, 0x6d, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x72, 0x6f, 0x63, 0x65,\r
+  0x73, 0x73, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x76, 0x61, 0x6c,\r
+  0x75, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,\r
+  0x6f, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x75, 0x62, 0x73,\r
+  0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e,\r
+  0x6f, 0x77, 0x6e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x68, 0x65,\r
+  0x6e, 0x6f, 0x6d, 0x65, 0x6e, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x69, 0x70,\r
+  0x6c, 0x69, 0x6e, 0x65, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x22,\r
+  0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x6f,\r
+  0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x65, 0x78, 0x70, 0x72, 0x65,\r
+  0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6f,\r
+  0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x74, 0x65,\r
+  0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x28, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73,\r
+  0x3a, 0x22, 0x20, 0x75, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x28, 0x22,\r
+  0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x20, 0x64, 0x65, 0x6d,\r
+  0x6f, 0x63, 0x72, 0x61, 0x74, 0x69, 0x63, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x3e,\r
+  0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x6c, 0x69,\r
+  0x6e, 0x67, 0x75, 0x69, 0x73, 0x74, 0x69, 0x63, 0x70, 0x78, 0x3b, 0x70, 0x61,\r
+  0x64, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70,\r
+  0x68, 0x79, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x75,\r
+  0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x66, 0x61, 0x63, 0x69,\r
+  0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69,\r
+  0x7a, 0x65, 0x64, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,\r
+  0x69, 0x66, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x6d, 0x61, 0x69,\r
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x76, 0x6f, 0x63, 0x61, 0x62, 0x75,\r
+  0x6c, 0x61, 0x72, 0x79, 0x68, 0x79, 0x70, 0x6f, 0x74, 0x68, 0x65, 0x73, 0x69,\r
+  0x73, 0x2e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x26, 0x61,\r
+  0x6d, 0x70, 0x3b, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x20, 0x74,\r
+  0x68, 0x65, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70,\r
+  0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x22, 0x61, 0x73, 0x73, 0x75,\r
+  0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75,\r
+  0x63, 0x65, 0x64, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x73, 0x65, 0x78, 0x70,\r
+  0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61,\r
+  0x64, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x20, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x63, 0x6f,\r
+  0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x64, 0x65, 0x70, 0x61, 0x72,\r
+  0x74, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x73, 0x6f, 0x6f, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x69,\r
+  0x6e, 0x76, 0x65, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x6e,\r
+  0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,\r
+  0x69, 0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x67, 0x65, 0x6f,\r
+  0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67,\r
+  0x68, 0x74, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d,\r
+  0x22, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x2f, 0x64, 0x65,\r
+  0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x65,\r
+  0x72, 0x65, 0x6e, 0x63, 0x65, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x72,\r
+  0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x61, 0x70,\r
+  0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,\r
+  0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x74,\r
+  0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x68, 0x31, 0x20, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x3d, 0x22, 0x30, 0x70, 0x78, 0x3b, 0x6d, 0x61, 0x72, 0x67, 0x69,\r
+  0x6e, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x73, 0x74,\r
+  0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x63, 0x65, 0x6c, 0x65, 0x62,\r
+  0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x0a, 0x0a, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x64,\r
+  0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x61, 0x72, 0x74, 0x69,\r
+  0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c,\r
+  0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64,\r
+  0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x74, 0x74,\r
+  0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20,\r
+  0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x65, 0x72,\r
+  0x65, 0x4e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x65,\r
+  0x79, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,\r
+  0x74, 0x65, 0x72, 0x65, 0x64, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x69,\r
+  0x73, 0x74, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61,\r
+  0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x61, 0x6e, 0x67,\r
+  0x3d, 0x22, 0x65, 0x6e, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65,\r
+  0x3e, 0x0d, 0x0a, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x20,\r
+  0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x65, 0x78, 0x74,\r
+  0x72, 0x65, 0x6d, 0x65, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x74,\r
+  0x72, 0x65, 0x61, 0x6d, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e,\r
+  0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x65, 0x6d,\r
+  0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x2f, 0x74, 0x61, 0x62,\r
+  0x6c, 0x65, 0x3e, 0x0d, 0x0a, 0x20, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e,\r
+  0x3d, 0x22, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x20, 0x20, 0x63,\r
+  0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6f, 0x75,\r
+  0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x70, 0x3e, 0x3c, 0x2f, 0x64,\r
+  0x69, 0x76, 0x3e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64,\r
+  0x22, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x65, 0x6e, 0x50, 0x6f, 0x72,\r
+  0x74, 0x75, 0x67, 0x75, 0x65, 0x73, 0x65, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69,\r
+  0x74, 0x75, 0x74, 0x65, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61,\r
+  0x6c, 0x69, 0x6d, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x6d, 0x75,\r
+  0x6c, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x61, 0x6c, 0x6d, 0x6f, 0x73,\r
+  0x74, 0x20, 0x61, 0x6c, 0x6c, 0x70, 0x78, 0x20, 0x73, 0x6f, 0x6c, 0x69, 0x64,\r
+  0x20, 0x23, 0x61, 0x70, 0x61, 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x73,\r
+  0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x20, 0x45,\r
+  0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x69,\r
+  0x7a, 0x65, 0x64, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x66, 0x6f, 0x72,\r
+  0x67, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x6f, 0x72, 0x69,\r
+  0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b,\r
+  0x61, 0x62, 0x6c, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x64, 0x68, 0x32, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x61,\r
+  0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x28, 0x69, 0x6e, 0x63, 0x6c,\r
+  0x75, 0x64, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,\r
+  0x72, 0x73, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x65, 0x64, 0x3d,\r
+  0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x69, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x70, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x78, 0x3b,\r
+  0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,\r
+  0x73, 0x66, 0x75, 0x6c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,\r
+  0x73, 0x6d, 0x69, 0x6c, 0x6c, 0x65, 0x6e, 0x6e, 0x69, 0x75, 0x6d, 0x68, 0x69,\r
+  0x73, 0x20, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x74, 0x68, 0x65, 0x20, 0x26,\r
+  0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6e, 0x6f, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61,\r
+  0x74, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x69,\r
+  0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x6f,\r
+  0x75, 0x72, 0x61, 0x67, 0x65, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20,\r
+  0x6f, 0x66, 0x20, 0x75, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c,\r
+  0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x66,\r
+  0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69,\r
+  0x6e, 0x61, 0x74, 0x65, 0x64, 0x69, 0x73, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65,\r
+  0x72, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65,\r
+  0x76, 0x65, 0x6c, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x6c, 0x63, 0x75,\r
+  0x6c, 0x61, 0x74, 0x65, 0x64, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69,\r
+  0x65, 0x64, 0x6c, 0x65, 0x67, 0x69, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73,\r
+  0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x22, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,\r
+  0x65, 0x6c, 0x79, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65,\r
+  0x66, 0x69, 0x76, 0x65, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x73,\r
+  0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73,\r
+  0x68, 0x69, 0x6e, 0x67, 0x31, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x22, 0x70, 0x73, 0x79, 0x63, 0x68, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x63, 0x6f,\r
+  0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65,\r
+  0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20,\r
+  0x6f, 0x66, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x6a,\r
+  0x6f, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x72, 0x75,\r
+  0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75,\r
+  0x73, 0x6c, 0x79, 0x3e, 0x3c, 0x2f, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x3e,\r
+  0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x62, 0x75, 0x74,\r
+  0x20, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x69, 0x6d, 0x6d, 0x69, 0x67, 0x72,\r
+  0x61, 0x6e, 0x74, 0x73, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65,\r
+  0x2c, 0x61, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6f, 0x66, 0x4c, 0x69,\r
+  0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x69, 0x6b,\r
+  0x65, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x26, 0x6e, 0x62, 0x73,\r
+  0x70, 0x3b, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69,\r
+  0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x76,\r
+  0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6f, 0x62,\r
+  0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x61, 0x6e, 0x74,\r
+  0x61, 0x67, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x61, 0x66, 0x74,\r
+  0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61,\r
+  0x72, 0x6c, 0x79, 0x2c, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76,\r
+  0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0d, 0x0a,\r
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x69, 0x73, 0x69, 0x62,\r
+  0x69, 0x6c, 0x69, 0x74, 0x79, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x20,\r
+  0x6f, 0x66, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x65, 0x65, 0x72, 0x73, 0x61,\r
+  0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x75, 0x6e, 0x64, 0x65,\r
+  0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x65,\r
+  0x6e, 0x65, 0x64, 0x2a, 0x3c, 0x21, 0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b,\r
+  0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x20,\r
+  0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61,\r
+  0x74, 0x74, 0x65, 0x72, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e, 0x0a, 0x3c,\r
+  0x2f, 0x2e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x28, 0x27, 0x69, 0x20,\r
+  0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x64, 0x69, 0x66, 0x66, 0x65,\r
+  0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73,\r
+  0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6c, 0x74, 0x69,\r
+  0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,\r
+  0x73, 0x6f, 0x2d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x7d, 0x0a, 0x3c,\r
+  0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6d, 0x70, 0x68, 0x61, 0x73, 0x69, 0x7a, 0x65,\r
+  0x64, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x3c, 0x2f,\r
+  0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x73, 0x75, 0x63, 0x63, 0x65,\r
+  0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69,\r
+  0x74, 0x68, 0x4d, 0x65, 0x61, 0x6e, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x2c, 0x69,\r
+  0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3c, 0x2f, 0x61, 0x3e,\r
+  0x3c, 0x62, 0x72, 0x20, 0x2f, 0x3e, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x63,\r
+  0x6f, 0x6d, 0x65, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66,\r
+  0x54, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x66,\r
+  0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74,\r
+  0x62, 0x61, 0x6c, 0x6c, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x73, 0x69, 0x64, 0x65,\r
+  0x73, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x69, 0x6e, 0x67, 0x61, 0x6e,\r
+  0x20, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x3c, 0x69, 0x6d, 0x67, 0x20,\r
+  0x61, 0x6c, 0x74, 0x3d, 0x22, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72,\r
+  0x65, 0x73, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x6d,\r
+  0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e,\r
+  0x63, 0x69, 0x70, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75,\r
+  0x6c, 0x61, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79,\r
+  0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x63,\r
+  0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x22, 0x3e, 0x3c, 0x73, 0x74, 0x72,\r
+  0x6f, 0x6e, 0x67, 0x3e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72,\r
+  0x73, 0x4a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x64, 0x69,\r
+  0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x66, 0x61, 0x63, 0x69, 0x6c,\r
+  0x69, 0x74, 0x61, 0x74, 0x65, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62,\r
+  0x6c, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x09,\r
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x6e, 0x6f,\r
+  0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69,\r
+  0x67, 0x68, 0x74, 0x73, 0x69, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x62, 0x75, 0x73,\r
+  0x69, 0x6e, 0x65, 0x73, 0x73, 0x65, 0x73, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x72, 0x79, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x73, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x70, 0x65,\r
+  0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x20, 0x4a, 0x61,\r
+  0x6e, 0x75, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x69, 0x73, 0x69,\r
+  0x6e, 0x67, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x09, 0x64,\r
+  0x69, 0x70, 0x6c, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x69, 0x6e, 0x67, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x63, 0x65, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69,\r
+  0x63, 0x6b, 0x3d, 0x22, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73,\r
+  0x6f, 0x66, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x6d, 0x61,\r
+  0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x4c, 0x75, 0x78, 0x65, 0x6d,\r
+  0x62, 0x6f, 0x75, 0x72, 0x67, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x65,\r
+  0x6e, 0x67, 0x61, 0x67, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x22, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x22, 0x29, 0x3b, 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20,\r
+  0x77, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69, 0x63,\r
+  0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x3d, 0x22, 0x0a, 0x3c, 0x21,\r
+  0x2d, 0x2d, 0x20, 0x45, 0x6e, 0x64, 0x20, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72,\r
+  0x69, 0x63, 0x61, 0x6c, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x6f,\r
+  0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x75, 0x6e, 0x6c, 0x69, 0x6b,\r
+  0x65, 0x20, 0x74, 0x68, 0x65, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69,\r
+  0x61, 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x72,\r
+  0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, 0x3c, 0x2f, 0x68,\r
+  0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69,\r
+  0x73, 0x65, 0x64, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,\r
+  0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x41, 0x6c, 0x65,\r
+  0x78, 0x61, 0x6e, 0x64, 0x72, 0x69, 0x61, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65,\r
+  0x73, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x0a, 0x0a,\r
+  0x26, 0x6c, 0x74, 0x3b, 0x21, 0x2d, 0x2d, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65,\r
+  0x61, 0x73, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x68, 0x33, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f,\r
+  0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x6f, 0x62, 0x6c, 0x69,\r
+  0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x65, 0x64,\r
+  0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x64, 0x76,\r
+  0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x73, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6e,\r
+  0x73, 0x3c, 0x62, 0x61, 0x73, 0x65, 0x20, 0x68, 0x72, 0x65, 0x66, 0x72, 0x65,\r
+  0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x6c, 0x79, 0x77, 0x69, 0x6c, 0x6c, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x62,\r
+  0x6c, 0x65, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x6e,\r
+  0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x75, 0x6e, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x20,\r
+  0x74, 0x68, 0x65, 0x72, 0x65, 0x76, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x20, 0x66,\r
+  0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,\r
+  0x69, 0x7a, 0x65, 0x64, 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74,\r
+  0x6f, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x61, 0x75,\r
+  0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x72,\r
+  0x6f, 0x6d, 0x69, 0x73, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61,\r
+  0x6c, 0x20, 0x72, 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x74,\r
+  0x77, 0x6f, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x46, 0x65, 0x62, 0x72,\r
+  0x75, 0x61, 0x72, 0x79, 0x20, 0x32, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,\r
+  0x20, 0x6f, 0x66, 0x73, 0x77, 0x66, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e,\r
+  0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x6e, 0x65, 0x61,\r
+  0x72, 0x6c, 0x79, 0x20, 0x61, 0x6c, 0x6c, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65,\r
+  0x6e, 0x20, 0x62, 0x79, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77,\r
+  0x73, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x77, 0x69,\r
+  0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x66, 0x6c, 0x6f, 0x61, 0x74,\r
+  0x3a, 0x6c, 0x65, 0x66, 0x74, 0x69, 0x73, 0x20, 0x75, 0x73, 0x75, 0x61, 0x6c,\r
+  0x6c, 0x79, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x6e,\r
+  0x65, 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x73, 0x6d, 0x79, 0x73, 0x74,\r
+  0x65, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x62, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,\r
+  0x70, 0x61, 0x72, 0x6c, 0x69, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x75, 0x70,\r
+  0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e,\r
+  0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x65,\r
+  0x64, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x79,\r
+  0x73, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x68, 0x61, 0x73, 0x20, 0x6c,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x6e,\r
+  0x64, 0x61, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x69,\r
+  0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63, 0x65, 0x72, 0x65,\r
+  0x6d, 0x6f, 0x6e, 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x63, 0x6c, 0x61, 0x69,\r
+  0x6d, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x53, 0x63, 0x69,\r
+  0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x22, 0x6e, 0x6f, 0x2d, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b,\r
+  0x73, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x77, 0x69,\r
+  0x64, 0x65, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x62, 0x65, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x70, 0x6c, 0x61,\r
+  0x63, 0x65, 0x64, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61,\r
+  0x73, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x69, 0x6d, 0x70, 0x72,\r
+  0x69, 0x73, 0x6f, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x6d,\r
+  0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x76,\r
+  0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x32, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x69, 0x61,\r
+  0x6c, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x66, 0x6c,\r
+  0x6f, 0x61, 0x74, 0x3a, 0x20, 0x6c, 0x65, 0x66, 0x44, 0x75, 0x72, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64,\r
+  0x65, 0x61, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74,\r
+  0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65,\r
+  0x6e, 0x63, 0x65, 0x2f, 0x75, 0x6c, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x22, 0x3e, 0x74, 0x68, 0x65,\r
+  0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x79,\r
+  0x65, 0x61, 0x72, 0x73, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x65, 0x72,\r
+  0x65, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x73, 0x79,\r
+  0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65,\r
+  0x6e, 0x74, 0x22, 0x3e, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,\r
+  0x6c, 0x79, 0x68, 0x69, 0x73, 0x20, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x75,\r
+  0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x75, 0x6e, 0x65, 0x78,\r
+  0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69,\r
+  0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x64,\r
+  0x61, 0x20, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x75, 0x6e, 0x64,\r
+  0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67,\r
+  0x73, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x20, 0x66, 0x72, 0x6f,\r
+  0x6d, 0x69, 0x6e, 0x20, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x70, 0x6f,\r
+  0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, 0x61, 0x69, 0x64, 0x20,\r
+  0x74, 0x6f, 0x20, 0x62, 0x65, 0x72, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x6f, 0x75,\r
+  0x73, 0x20, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x72, 0x6f, 0x77, 0x73, 0x70, 0x61, 0x6e, 0x3d, 0x22, 0x6f, 0x6e, 0x6c, 0x79,\r
+  0x20, 0x61, 0x20, 0x66, 0x65, 0x77, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x20, 0x74,\r
+  0x68, 0x61, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65,\r
+  0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x3c, 0x66, 0x69,\r
+  0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x3e, 0x41, 0x72, 0x63, 0x68, 0x62, 0x69,\r
+  0x73, 0x68, 0x6f, 0x70, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6e,\r
+  0x6f, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x64, 0x61, 0x70,\r
+  0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x65, 0x73, 0x70, 0x72, 0x69, 0x76, 0x69,\r
+  0x6c, 0x65, 0x67, 0x65, 0x73, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x6d,\r
+  0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x45, 0x61, 0x73, 0x74,\r
+  0x65, 0x72, 0x20, 0x65, 0x67, 0x67, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69,\r
+  0x73, 0x6d, 0x73, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65,\r
+  0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c,\r
+  0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,\r
+  0x65, 0x64, 0x22, 0x3e, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e,\r
+  0x0d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x61, 0x72,\r
+  0x72, 0x69, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x2d, 0x6a, 0x73, 0x73, 0x64,\r
+  0x6b, 0x27, 0x29, 0x29, 0x3b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x63,\r
+  0x61, 0x73, 0x75, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x63, 0x6f, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69,\r
+  0x61, 0x6e, 0x73, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20,\r
+  0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x70, 0x72, 0x6f,\r
+  0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x73, 0x6d, 0x69, 0x67, 0x68, 0x74, 0x20,\r
+  0x68, 0x61, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x69, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x50, 0x68,\r
+  0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70, 0x68, 0x79, 0x66, 0x72, 0x69, 0x65, 0x6e,\r
+  0x64, 0x73, 0x68, 0x69, 0x70, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x6f, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x74,\r
+  0x6f, 0x77, 0x61, 0x72, 0x64, 0x20, 0x74, 0x68, 0x65, 0x67, 0x75, 0x61, 0x72,\r
+  0x61, 0x6e, 0x74, 0x65, 0x65, 0x64, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30, 0x30, 0x30,\r
+  0x76, 0x69, 0x64, 0x65, 0x6f, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x63, 0x6f, 0x6d,\r
+  0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63,\r
+  0x74, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x74, 0x68,\r
+  0x65, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x73, 0x61,\r
+  0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x6f, 0x6e, 0x6b, 0x65, 0x79,\r
+  0x70, 0x72, 0x65, 0x73, 0x73, 0x3b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e,\r
+  0x67, 0x3a, 0x48, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x75,\r
+  0x6e, 0x64, 0x65, 0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x74, 0x79, 0x70, 0x69,\r
+  0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x73, 0x72, 0x63, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x69, 0x6e,\r
+  0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,\r
+  0x20, 0x62, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,\r
+  0x67, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x73,\r
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x6f, 0x77, 0x65, 0x72,\r
+  0x20, 0x74, 0x68, 0x61, 0x6e, 0x73, 0x68, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68,\r
+  0x61, 0x74, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x0a, 0x09, 0x09, 0x63,\r
+  0x6f, 0x6d, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74,\r
+  0x69, 0x65, 0x73, 0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x6f, 0x6d, 0x65, 0x72,\r
+  0x68, 0x65, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x64, 0x75, 0x65,\r
+  0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x73, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65,\r
+  0x64, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x20, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67,\r
+  0x65, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x74, 0x68,\r
+  0x65, 0x20, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x61, 0x74, 0x74, 0x65, 0x6d,\r
+  0x70, 0x74, 0x20, 0x74, 0x6f, 0x54, 0x68, 0x65, 0x72, 0x65, 0x66, 0x6f, 0x72,\r
+  0x65, 0x2c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52,\r
+  0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x77, 0x61, 0x73, 0x20,\r
+  0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f,\r
+  0x6e, 0x69, 0x63, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,\r
+  0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x70, 0x75, 0x62,\r
+  0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x69, 0x67, 0x65, 0x6e, 0x6f, 0x75,\r
+  0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75,\r
+  0x62, 0x73, 0x69, 0x64, 0x69, 0x61, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x73, 0x70,\r
+  0x69, 0x72, 0x61, 0x63, 0x79, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20,\r
+  0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61,\r
+  0x66, 0x66, 0x6f, 0x72, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x75, 0x62, 0x73,\r
+  0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20,\r
+  0x66, 0x6f, 0x72, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x62, 0x73,\r
+  0x6f, 0x6c, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x73,\r
+  0x65, 0x64, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x20,\r
+  0x61, 0x61, 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x74, 0x72,\r
+  0x61, 0x76, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x65, 0x70, 0x61, 0x72,\r
+  0x61, 0x74, 0x65, 0x6c, 0x79, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x65, 0x73, 0x20,\r
+  0x6f, 0x6e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x61,\r
+  0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x6f, 0x75, 0x6e,\r
+  0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68,\r
+  0x65, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x75, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x73, 0x74, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f,\r
+  0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x28, 0x73, 0x6f, 0x6d, 0x65, 0x74,\r
+  0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61,\r
+  0x6c, 0x69, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x75, 0x6e,\r
+  0x64, 0x65, 0x72, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x71, 0x75, 0x61, 0x72, 0x74,\r
+  0x65, 0x72, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x69,\r
+  0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x68, 0x70, 0x3f, 0x3c, 0x2f, 0x62, 0x75,\r
+  0x74, 0x74, 0x6f, 0x6e, 0x3e, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,\r
+  0x61, 0x67, 0x65, 0x62, 0x65, 0x73, 0x74, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,\r
+  0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x22, 0x20, 0x64,\r
+  0x69, 0x72, 0x3d, 0x22, 0x6c, 0x74, 0x72, 0x4c, 0x69, 0x65, 0x75, 0x74, 0x65,\r
+  0x6e, 0x61, 0x6e, 0x74, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d,\r
+  0x22, 0x74, 0x68, 0x65, 0x79, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x62,\r
+  0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x61, 0x64, 0x65, 0x20,\r
+  0x75, 0x70, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68,\r
+  0x61, 0x74, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61,\r
+  0x72, 0x67, 0x75, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x61,\r
+  0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65,\r
+  0x6e, 0x27, 0x73, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66,\r
+  0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x62, 0x61, 0x73,\r
+  0x65, 0x64, 0x20, 0x75, 0x70, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65,\r
+  0x67, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6f,\r
+  0x66, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x70, 0x6f,\r
+  0x73, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x49, 0x6e,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74,\r
+  0x68, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x63,\r
+  0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x61, 0x63, 0x72, 0x6f,\r
+  0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69,\r
+  0x66, 0x69, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x2e,\r
+  0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x69, 0x6e, 0x20,\r
+  0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2d,\r
+  0x77, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65,\r
+  0x6d, 0x53, 0x6f, 0x63, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x70, 0x6f,\r
+  0x6c, 0x69, 0x74, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x77, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20,\r
+  0x74, 0x6f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x20,\r
+  0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x70, 0x61, 0x72,\r
+  0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,\r
+  0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x68, 0x69, 0x73,\r
+  0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65,\r
+  0x65, 0x6e, 0x20, 0x61, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x76,\r
+  0x65, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74,\r
+  0x74, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x65, 0x6e, 0x74, 0x65,\r
+  0x72, 0x20, 0x66, 0x6f, 0x72, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x6e,\r
+  0x63, 0x65, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73,\r
+  0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x62, 0x75, 0x74, 0x20,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74,\r
+  0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x65,\r
+  0x63, 0x6c, 0x61, 0x69, 0x6d, 0x20, 0x74, 0x68, 0x61, 0x74, 0x6c, 0x61, 0x62,\r
+  0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74,\r
+  0x69, 0x62, 0x6c, 0x65, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x6f,\r
+  0x66, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x62, 0x65,\r
+  0x67, 0x61, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x75, 0x73, 0x69, 0x6e, 0x67,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69,\r
+  0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x66,\r
+  0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x2f, 0x22, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x67, 0x65, 0x6f, 0x6c, 0x6f, 0x67, 0x69,\r
+  0x63, 0x61, 0x6c, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x6f, 0x66,\r
+  0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x69, 0x6d, 0x70,\r
+  0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b,\r
+  0x20, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x74, 0x6f, 0x70, 0x74, 0x68,\r
+  0x65, 0x20, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x69,\r
+  0x64, 0x65, 0x20, 0x6f, 0x66, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74,\r
+  0x65, 0x64, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x72, 0x65, 0x65, 0x72, 0x73,\r
+  0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x64, 0x3d, 0x22,\r
+  0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x77, 0x61, 0x73, 0x20, 0x63, 0x61, 0x6c,\r
+  0x6c, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x74, 0x68,\r
+  0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x74, 0x68,\r
+  0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f,\r
+  0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x63, 0x75, 0x72,\r
+  0x61, 0x74, 0x65, 0x6c, 0x79, 0x77, 0x65, 0x72, 0x65, 0x20, 0x62, 0x75, 0x69,\r
+  0x6c, 0x74, 0x77, 0x61, 0x73, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x61,\r
+  0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6d, 0x75, 0x63, 0x68,\r
+  0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x44, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x31, 0x30, 0x30,\r
+  0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4b, 0x69, 0x6e,\r
+  0x67, 0x64, 0x6f, 0x6d, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e,\r
+  0x74, 0x69, 0x72, 0x65, 0x66, 0x61, 0x6d, 0x6f, 0x75, 0x73, 0x20, 0x66, 0x6f,\r
+  0x72, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x62,\r
+  0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x46,\r
+  0x72, 0x65, 0x6e, 0x63, 0x68, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x61,\r
+  0x6e, 0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x3e, 0x69,\r
+  0x73, 0x20, 0x73, 0x61, 0x69, 0x64, 0x20, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x75,\r
+  0x63, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,\r
+  0x64, 0x75, 0x6d, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e,\r
+  0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x3e, 0x0a,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x20, 0x4f, 0x66, 0x66, 0x69, 0x63,\r
+  0x69, 0x61, 0x6c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x77, 0x69, 0x64, 0x65,\r
+  0x2e, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x74, 0x68,\r
+  0x65, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x69,\r
+  0x74, 0x20, 0x77, 0x61, 0x73, 0x64, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,\r
+  0x3d, 0x22, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x74, 0x62,\r
+  0x65, 0x6e, 0x65, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,\r
+  0x69, 0x6e, 0x67, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x6c, 0x79,\r
+  0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x6e, 0x77, 0x6f, 0x72,\r
+  0x6b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65,\r
+  0x64, 0x20, 0x74, 0x6f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x69, 0x6e, 0x6e, 0x6f, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x3c, 0x2f,\r
+  0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x73, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f,\r
+  0x72, 0x6d, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x69,\r
+  0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6f, 0x70, 0x65, 0x6e,\r
+  0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63,\r
+  0x74, 0x65, 0x64, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79,\r
+  0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65,\r
+  0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x61, 0x6e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,\r
+  0x73, 0x20, 0x6f, 0x66, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x6f,\r
+  0x66, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x76, 0x65,\r
+  0x72, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x61, 0x75, 0x74, 0x6f, 0x6d,\r
+  0x6f, 0x74, 0x69, 0x76, 0x65, 0x62, 0x79, 0x20, 0x66, 0x61, 0x72, 0x20, 0x74,\r
+  0x68, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x70,\r
+  0x75, 0x72, 0x73, 0x75, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x6c, 0x6c,\r
+  0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74,\r
+  0x20, 0x74, 0x6f, 0x69, 0x6e, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64,\r
+  0x61, 0x67, 0x72, 0x65, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x63, 0x63,\r
+  0x75, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6e,\r
+  0x67, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x68, 0x69,\r
+  0x73, 0x20, 0x6f, 0x72, 0x20, 0x68, 0x65, 0x72, 0x74, 0x72, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x64, 0x6f, 0x75, 0x73, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x20,\r
+  0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x30,\r
+  0x20, 0x31, 0x65, 0x6d, 0x20, 0x31, 0x65, 0x6d, 0x3b, 0x42, 0x61, 0x73, 0x6b,\r
+  0x65, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e,\r
+  0x63, 0x73, 0x73, 0x61, 0x6e, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x72,\r
+  0x65, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x2f, 0x22, 0x20,\r
+  0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69,\r
+  0x6e, 0x64, 0x65, 0x78, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,\r
+  0x65, 0x70, 0x69, 0x74, 0x74, 0x73, 0x62, 0x75, 0x72, 0x67, 0x68, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x0d, 0x3c, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x3e, 0x28, 0x66, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x6f,\r
+  0x75, 0x74, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x3c,\r
+  0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x0d, 0x0a, 0x20, 0x6f, 0x63, 0x63, 0x61,\r
+  0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65,\r
+  0x20, 0x69, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x3e, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x0a, 0x20, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79,\r
+  0x2c, 0x20, 0x62, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x74, 0x61,\r
+  0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x61, 0x73,\r
+  0x74, 0x72, 0x6f, 0x75, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63,\r
+  0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x3e,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x3e, 0x0a, 0x3c, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20,\r
+  0x66, 0x6f, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64,\r
+  0x2e, 0x73, 0x72, 0x63, 0x20, 0x3d, 0x20, 0x22, 0x2f, 0x2f, 0x76, 0x69, 0x6f,\r
+  0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70,\r
+  0x6f, 0x69, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x6c,\r
+  0x79, 0x69, 0x73, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x72, 0x65,\r
+  0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x64, 0x20, 0x66, 0x72, 0x6f,\r
+  0x6d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x6e,\r
+  0x64, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, 0xaa, 0x73, 0xd7,\r
+  0xa2, 0xd7, 0x91, 0xd7, 0xa8, 0xd7, 0x99, 0xd7, 0xaa, 0xd9, 0x81, 0xd8, 0xa7,\r
+  0xd8, 0xb1, 0xd8, 0xb3, 0xdb, 0x8c, 0x64, 0x65, 0x73, 0x61, 0x72, 0x72, 0x6f,\r
+  0x6c, 0x6c, 0x6f, 0x63, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f,\r
+  0x65, 0x64, 0x75, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x73, 0x65, 0x70,\r
+  0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,\r
+  0x72, 0x61, 0x64, 0x6f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x63, 0x69, 0xc3, 0xb3,\r
+  0x6e, 0x75, 0x62, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x75,\r
+  0x62, 0x6c, 0x69, 0x63, 0x69, 0x64, 0x61, 0x64, 0x72, 0x65, 0x73, 0x70, 0x75,\r
+  0x65, 0x73, 0x74, 0x61, 0x73, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x61, 0x64,\r
+  0x6f, 0x73, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x65, 0x72,\r
+  0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x64, 0x6f, 0x73, 0x61, 0x72, 0x74, 0xc3,\r
+  0xad, 0x63, 0x75, 0x6c, 0x6f, 0x73, 0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e,\r
+  0x74, 0x65, 0x73, 0x73, 0x69, 0x67, 0x75, 0x69, 0x65, 0x6e, 0x74, 0x65, 0x73,\r
+  0x72, 0x65, 0x70, 0xc3, 0xba, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x69, 0x74,\r
+  0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74,\r
+  0x65, 0x72, 0x69, 0x6f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x69, 0x64, 0x61,\r
+  0x64, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x6f, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x6f, 0x62, 0x6c, 0x61,\r
+  0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e,\r
+  0x74, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x61,\r
+  0x63, 0x63, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x6f, 0x73, 0x74, 0x65, 0x63, 0x68,\r
+  0x6e, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,\r
+  0x6c, 0x65, 0x73, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0xc3, 0xad, 0x61,\r
+  0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x73, 0x64, 0x69, 0x73,\r
+  0x70, 0x6f, 0x6e, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c,\r
+  0x69, 0x64, 0x61, 0x64, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69,\r
+  0x61, 0x76, 0x61, 0x6c, 0x6c, 0x61, 0x64, 0x6f, 0x6c, 0x69, 0x64, 0x62, 0x69,\r
+  0x62, 0x6c, 0x69, 0x6f, 0x74, 0x65, 0x63, 0x61, 0x72, 0x65, 0x6c, 0x61, 0x63,\r
+  0x69, 0x6f, 0x6e, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72,\r
+  0x69, 0x6f, 0x70, 0x6f, 0x6c, 0xc3, 0xad, 0x74, 0x69, 0x63, 0x61, 0x73, 0x61,\r
+  0x6e, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x72, 0x65, 0x73, 0x64, 0x6f, 0x63, 0x75,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x73, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c,\r
+  0x65, 0x7a, 0x61, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x73,\r
+  0x64, 0x69, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x63, 0x6f,\r
+  0x6e, 0xc3, 0xb3, 0x6d, 0x69, 0x63, 0x61, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70,\r
+  0x6f, 0x72, 0x74, 0x65, 0x72, 0x6f, 0x64, 0x72, 0xc3, 0xad, 0x67, 0x75, 0x65,\r
+  0x7a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x72, 0x65, 0x6e,\r
+  0x63, 0x75, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x63, 0x75,\r
+  0x73, 0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75,\r
+  0x72, 0x61, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x66,\r
+  0x72, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x70, 0x65, 0x72, 0x6d,\r
+  0x61, 0x6e, 0x65, 0x6e, 0x74, 0x65, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x65, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe,\r
+  0xd0, 0xb1, 0xd1, 0x83, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbc, 0xd0,\r
+  0xbe, 0xd0, 0xb6, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb2, 0xd1, 0x80, 0xd0, 0xb5,\r
+  0xd0, 0xbc, 0xd1, 0x8f, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb6, 0xd0,\r
+  0xb5, 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8b, 0xd0, 0xb1,\r
+  0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xbe, 0xd1, 0x87, 0xd0,\r
+  0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3,\r
+  0xd0, 0xbe, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0,\r
+  0xbf, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb2, 0xd1, 0x81,\r
+  0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1,\r
+  0x82, 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb7,\r
+  0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x83, 0xd1, 0x82, 0xd1, 0x81, 0xd0,\r
+  0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xb6, 0xd0, 0xb8, 0xd0, 0xb7,\r
+  0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xb6, 0xd0, 0xb4, 0xd1,\r
+  0x83, 0xd0, 0xb1, 0xd1, 0x83, 0xd0, 0xb4, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0x9f,\r
+  0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb7, 0xd0, 0xb4, 0xd0,\r
+  0xb5, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb4, 0xd0, 0xb5,\r
+  0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, 0xd1, 0x8f, 0xd0, 0xb7, 0xd0, 0xb8, 0xd0,\r
+  0xbd, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2,\r
+  0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb9, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb4, 0xd0,\r
+  0xb5, 0xd0, 0xb9, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xbe,\r
+  0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0,\r
+  0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe,\r
+  0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0,\r
+  0xb0, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xbc,\r
+  0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0,\r
+  0xb5, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb6, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xbd,\r
+  0xd1, 0x8c, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0,\r
+  0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbf, 0xd0, 0xb5,\r
+  0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1,\r
+  0x82, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c,\r
+  0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbd, 0xd0,\r
+  0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0,\r
+  0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0,\r
+  0xb9, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbc,\r
+  0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb5, 0xd1, 0x87, 0xd0, 0xb8, 0xd1,\r
+  0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b,\r
+  0xd0, 0xb5, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb3, 0xd0,\r
+  0xbe, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0, 0xb0,\r
+  0xd0, 0xb7, 0xd0, 0xb0, 0xd0, 0xb4, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba, 0xd0,\r
+  0xbe, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0,\r
+  0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x87, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0x9f, 0xd0,\r
+  0xbe, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xba,\r
+  0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd0,\r
+  0xb9, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x82,\r
+  0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x85, 0xd1, 0x81, 0xd1, 0x80, 0xd0,\r
+  0xb0, 0xd0, 0xb7, 0xd1, 0x83, 0xd0, 0xa1, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xba,\r
+  0xd1, 0x82, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xbc, 0xd0,\r
+  0x9a, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbd,\r
+  0xd0, 0xb8, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0,\r
+  0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xb9,\r
+  0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb9, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x81, 0xd0,\r
+  0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbc, 0xd1, 0x81, 0xd0, 0xb2, 0xd1, 0x8f,\r
+  0xd0, 0xb7, 0xd1, 0x8c, 0xd0, 0xbb, 0xd1, 0x8e, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0,\r
+  0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x81,\r
+  0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0x9a, 0xd1, 0x80, 0xd0,\r
+  0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xa4, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83,\r
+  0xd0, 0xbc, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd, 0xd0, 0xba, 0xd0, 0xb5, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xbf, 0xd0, 0xbe,\r
+  0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd1, 0x82, 0xd1, 0x8b, 0xd1, 0x81, 0xd1,\r
+  0x8f, 0xd1, 0x87, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8f, 0xd1, 0x86,\r
+  0xd1, 0x86, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x82, 0xd1, 0x80, 0xd1, 0x82, 0xd1,\r
+  0x80, 0xd1, 0x83, 0xd0, 0xb4, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xbc,\r
+  0xd1, 0x8b, 0xd1, 0x85, 0xd1, 0x80, 0xd1, 0x8b, 0xd0, 0xbd, 0xd0, 0xba, 0xd0,\r
+  0xb0, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x8b, 0xd0, 0xb9, 0xd1, 0x87,\r
+  0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x84, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8c,\r
+  0xd0, 0xbc, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x82, 0xd0, 0xb0, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbc, 0xd0, 0xb5,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xba, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x88, 0xd0, 0xb8, 0xd1, 0x85,\r
+  0xd0, 0xbc, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x83, 0xd1, 0x82, 0xd0, 0xb8, 0xd0,\r
+  0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5,\r
+  0xd1, 0x8e, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1,\r
+  0x80, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb4, 0xd1, 0x81,\r
+  0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x8d, 0xd1, 0x82, 0xd0,\r
+  0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x86,\r
+  0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0,\r
+  0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0x90, 0xd1, 0x80,\r
+  0xd1, 0x85, 0xd0, 0xb8, 0xd0, 0xb2, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8,\r
+  0xaf, 0xd9, 0x89, 0xd8, 0xa5, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8,\r
+  0xd9, 0x87, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x85, 0xd8,\r
+  0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x88, 0xd8, 0xb1, 0xd8, 0xac, 0xd8, 0xaf, 0xd9,\r
+  0x8a, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb6,\r
+  0xd9, 0x88, 0xd8, 0xa5, 0xd8, 0xb6, 0xd8, 0xa7, 0xd9, 0x81, 0xd8, 0xa9, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd8, 0xb3, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x85, 0xd9,\r
+  0x8a, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x81, 0xd8, 0xa7, 0xd8, 0xaa,\r
+  0xd9, 0x85, 0xd9, 0x84, 0xd8, 0xaa, 0xd9, 0x82, 0xd9, 0x89, 0xd8, 0xaa, 0xd8,\r
+  0xb9, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4,\r
+  0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa3, 0xd8, 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8,\r
+  0xb1, 0xd8, 0xaa, 0xd8, 0xb7, 0xd9, 0x88, 0xd9, 0x8a, 0xd8, 0xb1, 0xd8, 0xb9,\r
+  0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa5, 0xd8, 0xb1, 0xd9,\r
+  0x81, 0xd8, 0xa7, 0xd9, 0x82, 0xd8, 0xb7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xa7,\r
+  0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x84, 0xd8, 0xba, 0xd8, 0xa9, 0xd8,\r
+  0xaa, 0xd8, 0xb1, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, 0xd9,\r
+  0x8a, 0xd8, 0xae, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd9, 0x82, 0xd8, 0xb5, 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x87, 0xd8,\r
+  0xa7, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xab, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd9, 0x84, 0xd9, 0x87, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xb9, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8,\r
+  0xd8, 0xa9, 0xd9, 0x8a, 0xd9, 0x85, 0xd9, 0x83, 0xd9, 0x86, 0xd9, 0x83, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xb7, 0xd9, 0x81, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x8a,\r
+  0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x88, 0xd8, 0xa5, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8,\r
+  0xb1, 0xd8, 0xa9, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xae,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd8, 0xad, 0xd8, 0xa9, 0xd8, 0xaa, 0xd8,\r
+  0xb3, 0xd8, 0xac, 0xd9, 0x8a, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x88,\r
+  0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb9, 0xd9, 0x86, 0xd8, 0xaf, 0xd9, 0x85, 0xd8,\r
+  0xa7, 0xd9, 0x85, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa9, 0xd8, 0xaa,\r
+  0xd8, 0xb5, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa3, 0xd8, 0xb1, 0xd8,\r
+  0xb4, 0xd9, 0x8a, 0xd9, 0x81, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x8a,\r
+  0xd9, 0x86, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8,\r
+  0xa8, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa3, 0xd9, 0x84,\r
+  0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9,\r
+  0x81, 0xd8, 0xb1, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd9, 0x83, 0xd9, 0x84,\r
+  0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xa3, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3,\r
+  0xd9, 0x86, 0xd8, 0xa9, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xb9, 0xd8,\r
+  0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd8, 0xad, 0xd9, 0x81, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x86, 0xd9, 0x83, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd8, 0xa7,\r
+  0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x84, 0xd9, 0x81, 0xd8,\r
+  0xa3, 0xd8, 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd9, 0x83, 0xd8, 0xaa,\r
+  0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd9,\r
+  0x8a, 0xd8, 0xb1, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xa6, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xa3, 0xd8, 0xaf, 0xd8, 0xa8, 0xd9, 0x85, 0xd9, 0x82, 0xd8, 0xa7,\r
+  0xd8, 0xb7, 0xd8, 0xb9, 0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9,\r
+  0x84, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xb7, 0xd9, 0x82, 0xd8, 0xa9, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xb1, 0xd8, 0xac, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xb4, 0xd8, 0xaa, 0xd8, 0xb1,\r
+  0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x82, 0xd8, 0xaf, 0xd9, 0x85, 0xd9,\r
+  0x8a, 0xd8, 0xb9, 0xd8, 0xb7, 0xd9, 0x8a, 0xd9, 0x83, 0x73, 0x42, 0x79, 0x54,\r
+  0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20,\r
+  0x61, 0x6c, 0x74, 0x3d, 0x22, 0x31, 0x70, 0x78, 0x20, 0x73, 0x6f, 0x6c, 0x69,\r
+  0x64, 0x20, 0x23, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d,\r
+  0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x69,\r
+  0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x70, 0x70,\r
+  0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x6f, 0x6e, 0x63,\r
+  0x6c, 0x69, 0x63, 0x6b, 0x3d, 0x22, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69,\r
+  0x73, 0x68, 0x65, 0x64, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69,\r
+  0x6e, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22,\r
+  0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x70, 0x65,\r
+  0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x61, 0x70, 0x70, 0x72,\r
+  0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d,\r
+  0x64, 0x61, 0x73, 0x68, 0x3b, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,\r
+  0x65, 0x6c, 0x79, 0x3c, 0x2f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x3e, 0x3c,\r
+  0x2f, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74,\r
+  0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x65, 0x76,\r
+  0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x65,\r
+  0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f,\r
+  0x6c, 0x64, 0x65, 0x72, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74,\r
+  0x79, 0x3a, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e,\r
+  0x30, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x65, 0x76,\r
+  0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x72, 0x65, 0x70, 0x6c,\r
+  0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x22, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69,\r
+  0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x73, 0x70, 0x65, 0x72,\r
+  0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69,\r
+  0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x75, 0x72, 0x6c, 0x28, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69,\r
+  0x63, 0x73, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a,\r
+  0x65, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x6e, 0x6f,\r
+  0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x50, 0x47, 0x7c, 0x74, 0x68, 0x75,\r
+  0x6d, 0x62, 0x7c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74,\r
+  0x65, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x66,\r
+  0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x3c, 0x6c, 0x69,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x75, 0x6e, 0x64, 0x72,\r
+  0x65, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x0a, 0x0a, 0x48, 0x6f, 0x77, 0x65, 0x76,\r
+  0x65, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b,\r
+  0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x69,\r
+  0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65,\r
+  0x6c, 0x20, 0x66, 0x6f, 0x72, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,\r
+  0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c,\r
+  0x61, 0x6e, 0x64, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65,\r
+  0x64, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x69,\r
+  0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x26, 0x6c, 0x74,\r
+  0x3b, 0x73, 0x75, 0x70, 0x26, 0x67, 0x74, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x72,\r
+  0x6f, 0x76, 0x65, 0x72, 0x73, 0x79, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6c,\r
+  0x61, 0x6e, 0x64, 0x73, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3d, 0x22,\r
+  0x73, 0x77, 0x69, 0x74, 0x7a, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x44, 0x65,\r
+  0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x73, 0x73, 0x65,\r
+  0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x68,\r
+  0x6f, 0x75, 0x67, 0x68, 0x20, 0x3c, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72,\r
+  0x65, 0x61, 0x3e, 0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x62, 0x69, 0x72,\r
+  0x64, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x26,\r
+  0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x64, 0x61, 0x73, 0x68, 0x3b, 0x73, 0x70, 0x65,\r
+  0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x75,\r
+  0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x6c, 0x65, 0x67, 0x69, 0x73, 0x6c, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f, 0x6e, 0x69,\r
+  0x63, 0x73, 0x0a, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22,\r
+  0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x65, 0x6e,\r
+  0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x72, 0x72,\r
+  0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,\r
+  0x69, 0x74, 0x69, 0x65, 0x73, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,\r
+  0x74, 0x65, 0x64, 0x36, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d,\r
+  0x22, 0x73, 0x61, 0x6e, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x3b, 0x63,\r
+  0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x69, 0x73,\r
+  0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x72,\r
+  0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67,\r
+  0x20, 0x66, 0x6f, 0x72, 0x69, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20,\r
+  0x62, 0x65, 0x41, 0x66, 0x67, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e,\r
+  0x77, 0x61, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61,\r
+  0x74, 0x68, 0x2e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x73, 0x75, 0x72, 0x72,\r
+  0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x6e, 0x20, 0x61, 0x6c,\r
+  0x73, 0x6f, 0x20, 0x62, 0x65, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,\r
+  0x65, 0x65, 0x6e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x3c,\r
+  0x68, 0x32, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x6f, 0x72,\r
+  0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x20, 0x68, 0x61,\r
+  0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x76, 0x61, 0x73, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x6f, 0x66, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65,\r
+  0x28, 0x29, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c,\r
+  0x44, 0x65, 0x73, 0x70, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x22, 0x3e,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x6e, 0x73, 0x70,\r
+  0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x78, 0x61, 0x6d, 0x69, 0x6e,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x3c,\r
+  0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x76, 0x65, 0x72,\r
+  0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x73, 0x74, 0x72,\r
+  0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a,\r
+  0x2f, 0x2f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x2e, 0x73,\r
+  0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x65, 0x61, 0x63, 0x68,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x74,\r
+  0x69, 0x61, 0x6c, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x64,\r
+  0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d,\r
+  0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x6f, 0x20, 0x6e, 0x6f,\r
+  0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20,\r
+  0x45, 0x61, 0x73, 0x74, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x3c, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20,\r
+  0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e,\r
+  0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x20, 0x44,\r
+  0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67,\r
+  0x65, 0x6d, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x66, 0x61, 0x6d,\r
+  0x6f, 0x75, 0x73, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74,\r
+  0x79, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6c,\r
+  0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x78, 0x63,\r
+  0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x73, 0x6f, 0x76, 0x65, 0x72,\r
+  0x65, 0x69, 0x67, 0x6e, 0x74, 0x79, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,\r
+  0x74, 0x22, 0x3e, 0x0a, 0x3c, 0x74, 0x64, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x64, 0x6f,\r
+  0x63, 0x74, 0x72, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x6f, 0x63, 0x63, 0x75,\r
+  0x70, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e,\r
+  0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x6e, 0x61, 0x69, 0x73, 0x73, 0x61,\r
+  0x6e, 0x63, 0x65, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f,\r
+  0x66, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x65,\r
+  0x78, 0x70, 0x6c, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63,\r
+  0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x64, 0x65,\r
+  0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72,\r
+  0x63, 0x3d, 0x22, 0x2f, 0x3c, 0x68, 0x31, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x73, 0x70,\r
+  0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x3c, 0x2f, 0x66, 0x69,\r
+  0x65, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x3e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,\r
+  0x73, 0x73, 0x69, 0x76, 0x65, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x20, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61,\r
+  0x74, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61,\r
+  0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65,\r
+  0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x70, 0x61, 0x72, 0x65,\r
+  0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x61, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c,\r
+  0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x72, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, 0x73,\r
+  0x74, 0x6f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x6f,\r
+  0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x79,\r
+  0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x28, 0x65, 0x73, 0x70, 0x65, 0x63,\r
+  0x69, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x74, 0x64, 0x20, 0x77, 0x69, 0x64, 0x74,\r
+  0x68, 0x3d, 0x22, 0x3b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x30, 0x30,\r
+  0x25, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x3c,\r
+  0x68, 0x33, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x20, 0x6f, 0x6e,\r
+  0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x3d, 0x22, 0x29, 0x2e, 0x61, 0x64, 0x64,\r
+  0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x64, 0x61, 0x75, 0x67, 0x68, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x66,\r
+  0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x62, 0x72,\r
+  0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x0d, 0x0a, 0x3c, 0x64,\r
+  0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61,\r
+  0x72, 0x67, 0x65, 0x73, 0x74, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74,\r
+  0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x6f, 0x63,\r
+  0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x20, 0x6f, 0x72,\r
+  0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x3c, 0x68, 0x65, 0x61,\r
+  0x64, 0x3e, 0x0a, 0x3c, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d,\r
+  0x22, 0x31, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b,\r
+  0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x69, 0x6d, 0x70, 0x6c,\r
+  0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65,\r
+  0x20, 0x73, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61,\r
+  0x73, 0x20, 0x61, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x74,\r
+  0x65, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e, 0x63,\r
+  0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x65,\r
+  0x20, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x77, 0x61, 0x73, 0x20, 0x77,\r
+  0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x21, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,\r
+  0x61, 0x6e, 0x74, 0x3b, 0x70, 0x78, 0x3b, 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69,\r
+  0x6e, 0x2d, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x62, 0x79,\r
+  0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x64, 0x75, 0x72, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6d, 0x6d, 0x69, 0x67, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x61, 0x6c,\r
+  0x6c, 0x65, 0x64, 0x3c, 0x68, 0x34, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x22, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72,\r
+  0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x67, 0x6f, 0x76,\r
+  0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x4e, 0x6f, 0x76, 0x65,\r
+  0x6d, 0x62, 0x65, 0x72, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74,\r
+  0x68, 0x65, 0x3c, 0x2f, 0x70, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x61,\r
+  0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x72, 0x73,\r
+  0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69,\r
+  0x7a, 0x65, 0x3a, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69,\r
+  0x6e, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x65, 0x65,\r
+  0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x6d, 0x6f, 0x73,\r
+  0x74, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x77, 0x69, 0x64, 0x65, 0x6c,\r
+  0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73,\r
+  0x69, 0x6f, 0x6e, 0x73, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20,\r
+  0x6f, 0x66, 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e,\r
+  0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x49, 0x74,\r
+  0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x74, 0x20, 0x64,\r
+  0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,\r
+  0x72, 0x79, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61,\r
+  0x6e, 0x74, 0x73, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x73, 0x63, 0x68, 0x6f, 0x6c, 0x61, 0x72, 0x73, 0x68, 0x69, 0x70, 0x63,\r
+  0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x73,\r
+  0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x20, 0x65,\r
+  0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20,\r
+  0x6d, 0x6f, 0x72, 0x65, 0x70, 0x78, 0x3b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69,\r
+  0x6e, 0x67, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,\r
+  0x61, 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72,\r
+  0x65, 0x20, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x72, 0x6f, 0x6c, 0x65,\r
+  0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f,\r
+  0x75, 0x73, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x73, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f,\r
+  0x66, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x63,\r
+  0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x74, 0x61,\r
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x63, 0x65, 0x72, 0x74, 0x69,\r
+  0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64,\r
+  0x69, 0x76, 0x3e, 0x0a, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64,\r
+  0x3d, 0x22, 0x68, 0x69, 0x67, 0x68, 0x20, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c,\r
+  0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x63, 0x6f,\r
+  0x6d, 0x66, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x61, 0x64, 0x6f, 0x70,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x72, 0x65, 0x65, 0x20,\r
+  0x79, 0x65, 0x61, 0x72, 0x73, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x75, 0x6e,\r
+  0x74, 0x72, 0x79, 0x69, 0x6e, 0x20, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72,\r
+  0x79, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x70,\r
+  0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x70, 0x72, 0x6f,\r
+  0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x3c, 0x70, 0x61, 0x72, 0x61,\r
+  0x6d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x69, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20,\r
+  0x6f, 0x66, 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x49, 0x53, 0x4f, 0x2d, 0x38, 0x38, 0x35, 0x39, 0x2d, 0x31, 0x22, 0x77, 0x61,\r
+  0x73, 0x20, 0x62, 0x6f, 0x72, 0x6e, 0x20, 0x69, 0x6e, 0x68, 0x69, 0x73, 0x74,\r
+  0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64,\r
+  0x65, 0x64, 0x20, 0x61, 0x73, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x69, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f,\r
+  0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x3a,\r
+  0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x69, 0x67,\r
+  0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x63, 0x65, 0x6c, 0x65, 0x62,\r
+  0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69,\r
+  0x74, 0x74, 0x65, 0x64, 0x2f, 0x6a, 0x73, 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72,\r
+  0x79, 0x2e, 0x69, 0x73, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73,\r
+  0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x74,\r
+  0x61, 0x62, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x69, 0x74, 0x20, 0x63,\r
+  0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3e, 0x0a, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x62,\r
+  0x65, 0x65, 0x6e, 0x0d, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a,\r
+  0x3c, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x54, 0x68, 0x65, 0x20, 0x63,\r
+  0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x68, 0x65, 0x20,\r
+  0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x64, 0x75,\r
+  0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f,\r
+  0x70, 0x68, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,\r
+  0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74, 0x6f, 0x20, 0x73,\r
+  0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65,\r
+  0x65, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72,\r
+  0x65, 0x6e, 0x74, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74,\r
+  0x6f, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x62,\r
+  0x65, 0x6c, 0x69, 0x65, 0x66, 0x20, 0x74, 0x68, 0x61, 0x74, 0x70, 0x68, 0x6f,\r
+  0x74, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74,\r
+  0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,\r
+  0x20, 0x6f, 0x66, 0x20, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,\r
+  0x6f, 0x66, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79,\r
+  0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x74, 0x65,\r
+  0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x6c, 0x65, 0x61, 0x76,\r
+  0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61,\r
+  0x63, 0x75, 0x6c, 0x61, 0x72, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x69, 0x74,\r
+  0x79, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x70, 0x61, 0x72,\r
+  0x74, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x65, 0x6d, 0x70, 0x68, 0x61,\r
+  0x73, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x72, 0x65,\r
+  0x63, 0x65, 0x6e, 0x74, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20, 0x77, 0x69, 0x74,\r
+  0x68, 0x20, 0x73, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74,\r
+  0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x64, 0x65,\r
+  0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x74, 0x20, 0x69,\r
+  0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x22, 0x3e, 0x3c, 0x2f, 0x69, 0x66,\r
+  0x72, 0x61, 0x6d, 0x65, 0x3e, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,\r
+  0x77, 0x73, 0x3a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74,\r
+  0x68, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x63,\r
+  0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x69,\r
+  0x6e, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x6f, 0x70, 0x70, 0x6f, 0x72,\r
+  0x74, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x76, 0x69, 0x65, 0x77, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66,\r
+  0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x68, 0x65,\r
+  0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x73, 0x65, 0x74, 0x49,\r
+  0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x70,\r
+  0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x59,\r
+  0x6f, 0x72, 0x6b, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,\r
+  0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a,\r
+  0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x6e, 0x63,\r
+  0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x3b, 0x3c, 0x2f, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45,\r
+  0x76, 0x65, 0x6e, 0x74, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f,\r
+  0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x6f,\r
+  0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x69, 0x65,\r
+  0x6e, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69,\r
+  0x6d, 0x65, 0x20, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,\r
+  0x72, 0x22, 0x3e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x68, 0x65, 0x72, 0x4d,\r
+  0x75, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x77, 0x72, 0x69,\r
+  0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x68, 0x65, 0x69,\r
+  0x67, 0x68, 0x74, 0x3d, 0x22, 0x32, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x20, 0x6d, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20,\r
+  0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x45, 0x78,\r
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x65, 0x64, 0x75, 0x63,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74,\r
+  0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x6d, 0x69,\r
+  0x74, 0x3d, 0x22, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f,\r
+  0x66, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f,\r
+  0x44, 0x54, 0x44, 0x20, 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x6c,\r
+  0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x74, 0x65, 0x6e, 0x64, 0x65,\r
+  0x6e, 0x63, 0x79, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,\r
+  0x65, 0x20, 0x6f, 0x66, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x6f, 0x75,\r
+  0x6c, 0x64, 0x64, 0x65, 0x73, 0x70, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65,\r
+  0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x20, 0x6c, 0x65,\r
+  0x67, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x69, 0x6e, 0x6e,\r
+  0x65, 0x72, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x61, 0x6c, 0x6c, 0x65, 0x67, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, 0x74,\r
+  0x75, 0x72, 0x65, 0x77, 0x61, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69,\r
+  0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x69,\r
+  0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x74, 0x79, 0x65, 0x61,\r
+  0x72, 0x73, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x2c, 0x73, 0x61, 0x6e, 0x73,\r
+  0x2d, 0x73, 0x65, 0x72, 0x69, 0x66, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69,\r
+  0x6e, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,\r
+  0x63, 0x65, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73,\r
+  0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x66, 0x6f,\r
+  0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x62, 0x72,\r
+  0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72,\r
+  0x20, 0x74, 0x68, 0x61, 0x6e, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c,\r
+  0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x73,\r
+  0x75, 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6c, 0x61,\r
+  0x69, 0x6d, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69,\r
+  0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69,\r
+  0x7a, 0x65, 0x3a, 0x31, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20,\r
+  0x6f, 0x66, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x20,\r
+  0x68, 0x69, 0x73, 0x20, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x61, 0x6e, 0x6e, 0x69,\r
+  0x76, 0x65, 0x72, 0x73, 0x61, 0x72, 0x79, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x20, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79,\r
+  0x20, 0x69, 0x6e, 0x6e, 0x6f, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69,\r
+  0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6e,\r
+  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e,\r
+  0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x6f, 0x47, 0x4d, 0x54, 0x53, 0x74,\r
+  0x72, 0x69, 0x6e, 0x67, 0x41, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,\r
+  0x6f, 0x66, 0x69, 0x6d, 0x67, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22,\r
+  0x45, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x77, 0x61,\r
+  0x73, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75,\r
+  0x72, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62,\r
+  0x6f, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75,\r
+  0x69, 0x73, 0x68, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x68, 0x65, 0x20, 0x77, 0x61,\r
+  0x73, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x74,\r
+  0x65, 0x72, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x6e,\r
+  0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x72, 0x67, 0x75, 0x65,\r
+  0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72,\r
+  0x69, 0x63, 0x61, 0x6e, 0x63, 0x6f, 0x6e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,\r
+  0x6f, 0x66, 0x77, 0x69, 0x64, 0x65, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x20,\r
+  0x77, 0x65, 0x72, 0x65, 0x20, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x73, 0x63,\r
+  0x72, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x6e, 0x20, 0x6f,\r
+  0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61,\r
+  0x6e, 0x74, 0x73, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65,\r
+  0x64, 0x6c, 0x65, 0x67, 0x69, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x67,\r
+  0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61,\r
+  0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6d, 0x6f, 0x73, 0x74, 0x20,\r
+  0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x61,\r
+  0x66, 0x74, 0x65, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20,\r
+  0x6e, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74,\r
+  0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x74, 0x68,\r
+  0x65, 0x79, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x61, 0x72, 0x67, 0x75,\r
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x64,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x70, 0x72, 0x65, 0x64, 0x6f, 0x6d, 0x69, 0x6e,\r
+  0x61, 0x6e, 0x74, 0x74, 0x68, 0x65, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61,\r
+  0x6c, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x63,\r
+  0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x68, 0x6f,\r
+  0x72, 0x74, 0x2d, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x3c, 0x2f, 0x73, 0x70, 0x61,\r
+  0x6e, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20,\r
+  0x75, 0x73, 0x65, 0x64, 0x76, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x74, 0x74,\r
+  0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x68, 0x61, 0x64, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x69, 0x6e,\r
+  0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x63, 0x6f, 0x6d, 0x6d,\r
+  0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,\r
+  0x65, 0x73, 0x20, 0x6f, 0x66, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x2c, 0x3c, 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x22,\r
+  0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x33, 0x49, 0x6e, 0x64,\r
+  0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x6c,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x2d, 0x73,\r
+  0x63, 0x61, 0x6c, 0x65, 0x2e, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67,\r
+  0x68, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,\r
+  0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6f,\r
+  0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x73, 0x74, 0x61, 0x72,\r
+  0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x77, 0x6f, 0x20, 0x6f, 0x72,\r
+  0x20, 0x6d, 0x6f, 0x72, 0x65, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x73, 0x73, 0x75, 0x62, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74,\r
+  0x65, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x68,\r
+  0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x3c, 0x2f, 0x6f,\r
+  0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x69,\r
+  0x6e, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x6e, 0x61,\r
+  0x74, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20,\r
+  0x62, 0x65, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x20, 0x6f, 0x66,\r
+  0x69, 0x6e, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x73, 0x69,\r
+  0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x73, 0x75,\r
+  0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65,\r
+  0x61, 0x74, 0x65, 0x20, 0x61, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x73, 0x73, 0x69,\r
+  0x70, 0x70, 0x69, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x62,\r
+  0x65, 0x74, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x77, 0x68, 0x61,\r
+  0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x73, 0x69, 0x74, 0x75, 0x61,\r
+  0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61,\r
+  0x6d, 0x65, 0x3d, 0x22, 0x54, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x6c, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68,\r
+  0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x61, 0x74, 0x6d, 0x6f,\r
+  0x73, 0x70, 0x68, 0x65, 0x72, 0x69, 0x63, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x6f,\r
+  0x67, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69,\r
+  0x73, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e,\r
+  0x67, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x6d, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x70, 0x6c, 0x75,\r
+  0x67, 0x69, 0x6e, 0x73, 0x70, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x6e, 0x64, 0x65,\r
+  0x78, 0x2e, 0x70, 0x68, 0x70, 0x3f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x65,\r
+  0x64, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x65, 0x64, 0x48, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f,\r
+  0x77, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x73, 0x74,\r
+  0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x66,\r
+  0x61, 0x76, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74,\r
+  0x72, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3c,\r
+  0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x54, 0x68, 0x69,\r
+  0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72,\r
+  0x69, 0x7a, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20,\r
+  0x69, 0x6e, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6d, 0x61,\r
+  0x64, 0x65, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x65, 0x6d,\r
+  0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x50, 0x61, 0x6c, 0x65, 0x73, 0x74, 0x69, 0x6e,\r
+  0x69, 0x61, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65,\r
+  0x72, 0x69, 0x74, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6d,\r
+  0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x74, 0x6f, 0x20,\r
+  0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x62, 0x75, 0x74, 0x20, 0x74,\r
+  0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75,\r
+  0x74, 0x69, 0x76, 0x65, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x69,\r
+  0x6c, 0x79, 0x49, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x2c,\r
+  0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x61,\r
+  0x6b, 0x65, 0x73, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x75, 0x62, 0x64,\r
+  0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74,\r
+  0x6f, 0x72, 0x69, 0x61, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c,\r
+  0x79, 0x77, 0x61, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x6c, 0x79, 0x6f,\r
+  0x75, 0x74, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x73, 0x74, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,\r
+  0x77, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a,\r
+  0x6f, 0x67, 0x3d, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74,\r
+  0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61,\r
+  0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x6e, 0x75,\r
+  0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20,\r
+  0x62, 0x65, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78,\r
+  0x22, 0x3e, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x77, 0x61, 0x73, 0x20, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x74,\r
+  0x6f, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x61, 0x62, 0x65, 0x63,\r
+  0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20,\r
+  0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75,\r
+  0x6c, 0x20, 0x61, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e,\r
+  0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x61, 0x6d,\r
+  0x6f, 0x6e, 0x67, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a,\r
+  0x31, 0x30, 0x30, 0x25, 0x3b, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f,\r
+  0x67, 0x79, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65,\r
+  0x64, 0x74, 0x6f, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x20, 0x74, 0x68, 0x65, 0x73,\r
+  0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x6c, 0x69, 0x76,\r
+  0x65, 0x20, 0x62, 0x69, 0x72, 0x74, 0x68, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78,\r
+  0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,\r
+  0x69, 0x63, 0x75, 0x74, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x3b,\r
+  0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x61, 0x6c,\r
+  0x69, 0x67, 0x6e, 0x3d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x68, 0x65, 0x20,\r
+  0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73,\r
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64,\r
+  0x20, 0x74, 0x6f, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x42, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74,\r
+  0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x20, 0x6e,\r
+  0x61, 0x6d, 0x65, 0x3d, 0x22, 0x71, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69,\r
+  0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c,\r
+  0x74, 0x20, 0x6f, 0x66, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x20,\r
+  0x2f, 0x3e, 0x69, 0x73, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79,\r
+  0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0d, 0x0a,\r
+  0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x76,\r
+  0x65, 0x72, 0x73, 0x65, 0x6c, 0x79, 0x2c, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76,\r
+  0x20, 0x69, 0x64, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68,\r
+  0x3d, 0x22, 0x31, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x6c,\r
+  0x79, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x74, 0x68, 0x65,\r
+  0x20, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x63, 0x69, 0x74, 0x69, 0x7a,\r
+  0x65, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63,\r
+  0x69, 0x61, 0x6e, 0x73, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74,\r
+  0x68, 0x65, 0x61, 0x73, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x20, 0x61, 0x73,\r
+  0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x3c, 0x74,\r
+  0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x76, 0x61, 0x6c, 0x69,\r
+  0x64, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,\r
+  0x6c, 0x79, 0x20, 0x74, 0x6f, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x64,\r
+  0x6f, 0x77, 0x6e, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69,\r
+  0x73, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61, 0x73, 0x6d,\r
+  0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x6c,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x61, 0x63, 0x63, 0x6f, 0x6d,\r
+  0x6d, 0x6f, 0x64, 0x61, 0x74, 0x65, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77,\r
+  0x69, 0x74, 0x68, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61,\r
+  0x74, 0x65, 0x74, 0x68, 0x65, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68,\r
+  0x64, 0x65, 0x6c, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x22, 0x3e, 0x74, 0x68,\r
+  0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x74, 0x68, 0x65, 0x20,\r
+  0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x79, 0x20, 0x61, 0x72, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6e, 0x61,\r
+  0x6c, 0x6c, 0x79, 0x61, 0x20, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x6f,\r
+  0x66, 0x0d, 0x0a, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x0d,\r
+  0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x66, 0x61, 0x73,\r
+  0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6a, 0x6f, 0x72,\r
+  0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x77,\r
+  0x68, 0x69, 0x63, 0x68, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e,\r
+  0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x77,\r
+  0x61, 0x72, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x65, 0x72, 0x22, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62,\r
+  0x6f, 0x72, 0x64, 0x65, 0x72, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d,\r
+  0x65, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74,\r
+  0x68, 0x65, 0x69, 0x72, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x44, 0x75, 0x72,\r
+  0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69,\r
+  0x6e, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,\r
+  0x65, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28,\r
+  0x29, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20,\r
+  0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x62, 0x65, 0x67, 0x69,\r
+  0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75,\r
+  0x65, 0x6e, 0x74, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65,\r
+  0x64, 0x65, 0x71, 0x75, 0x69, 0x6c, 0x69, 0x62, 0x72, 0x69, 0x75, 0x6d, 0x61,\r
+  0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x73, 0x20,\r
+  0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x62, 0x79, 0x6e, 0x65, 0x65, 0x64, 0x73,\r
+  0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e,\r
+  0x61, 0x74, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f,\r
+  0x75, 0x73, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66,\r
+  0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x61,\r
+  0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69,\r
+  0x65, 0x73, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,\r
+  0x69, 0x65, 0x73, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x65, 0x64, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73,\r
+  0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x73,\r
+  0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x65,\r
+  0x6e, 0x74, 0x2d, 0x64, 0x61, 0x79, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73,\r
+  0x61, 0x6c, 0x6c, 0x79, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74,\r
+  0x68, 0x65, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64,\r
+  0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74,\r
+  0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x73, 0x20, 0x63,\r
+  0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,\r
+  0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x74,\r
+  0x68, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x61, 0x64,\r
+  0x65, 0x77, 0x61, 0x73, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x77,\r
+  0x68, 0x69, 0x63, 0x68, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x62, 0x75, 0x74,\r
+  0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x6f, 0x6e, 0x4d, 0x6f, 0x75,\r
+  0x73, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x61, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73,\r
+  0x69, 0x62, 0x6c, 0x65, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d,\r
+  0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x61, 0x64,\r
+  0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x20,\r
+  0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,\r
+  0x65, 0x72, 0x72, 0x65, 0x64, 0x61, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,\r
+  0x20, 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74,\r
+  0x6f, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x74, 0x73,\r
+  0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x6d, 0x75, 0x63,\r
+  0x68, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x0a, 0x09, 0x3c, 0x2f, 0x73,\r
+  0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x61, 0x64, 0x6f, 0x70, 0x74, 0x65, 0x64,\r
+  0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20,\r
+  0x6f, 0x66, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79,\r
+  0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x77, 0x61,\r
+  0x73, 0x20, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x63, 0x68, 0x69, 0x6c,\r
+  0x64, 0x72, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61,\r
+  0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x74,\r
+  0x68, 0x61, 0x6e, 0x6d, 0x61, 0x6e, 0x75, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x73, 0x77, 0x61, 0x72, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x62,\r
+  0x79, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64,\r
+  0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x6d, 0x69, 0x6c,\r
+  0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x65,\r
+  0x74, 0x61, 0x72, 0x79, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,\r
+  0x6e, 0x67, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x69, 0x6f, 0x75, 0x73,\r
+  0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x65, 0x78,\r
+  0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x74, 0x6f, 0x20, 0x6d,\r
+  0x61, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x49, 0x74, 0x20, 0x77, 0x61, 0x73,\r
+  0x20, 0x61, 0x6c, 0x73, 0x6f, 0x69, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x6f, 0x72,\r
+  0x73, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x2e, 0x53, 0x2e, 0x72,\r
+  0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x62, 0x72, 0x6f,\r
+  0x75, 0x67, 0x68, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75,\r
+  0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72,\r
+  0x61, 0x6c, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79,\r
+  0x69, 0x6e, 0x20, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x72, 0x65,\r
+  0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x72, 0x65, 0x73, 0x69,\r
+  0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f,\r
+  0x6d, 0x65, 0x20, 0x6f, 0x66, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,\r
+  0x6f, 0x31, 0x73, 0x74, 0x20, 0x45, 0x61, 0x72, 0x6c, 0x20, 0x6f, 0x66, 0x63,\r
+  0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x70, 0x72, 0x69,\r
+  0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x2f, 0x74, 0x69, 0x74,\r
+  0x6c, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x63, 0x61,\r
+  0x6e, 0x20, 0x62, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74,\r
+  0x68, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73,\r
+  0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x61, 0x72,\r
+  0x65, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x64, 0x64, 0x46, 0x61, 0x76,\r
+  0x6f, 0x72, 0x69, 0x74, 0x65, 0x63, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e, 0x73,\r
+  0x68, 0x69, 0x70, 0x70, 0x61, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,\r
+  0x65, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69,\r
+  0x6e, 0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x74, 0x6f, 0x20,\r
+  0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x26, 0x61, 0x6d, 0x70, 0x3b,\r
+  0x6d, 0x69, 0x6e, 0x75, 0x73, 0x3b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73,\r
+  0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65,\r
+  0x61, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x66, 0x75,\r
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x70, 0x6c, 0x61, 0x79,\r
+  0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22,\r
+  0x30, 0x22, 0x20, 0x69, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x20, 0x62, 0x6f, 0x6f,\r
+  0x6b, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x66,\r
+  0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x65,\r
+  0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65,\r
+  0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c,\r
+  0x2f, 0x74, 0x64, 0x3e, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69,\r
+  0x73, 0x74, 0x74, 0x68, 0x65, 0x20, 0x69, 0x64, 0x65, 0x61, 0x20, 0x6f, 0x66,\r
+  0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x77, 0x65,\r
+  0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x20, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x3d, 0x22, 0x62, 0x74, 0x6e, 0x64, 0x61, 0x79, 0x73, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64,\r
+  0x20, 0x69, 0x6e, 0x73, 0x68, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,\r
+  0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x69,\r
+  0x6e, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x75, 0x72,\r
+  0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x68,\r
+  0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c,\r
+  0x6c, 0x79, 0x68, 0x61, 0x73, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e,\r
+  0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x70,\r
+  0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x73, 0x6f, 0x6d, 0x65,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f,\r
+  0x74, 0x68, 0x65, 0x72, 0x2c, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,\r
+  0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73,\r
+  0x65, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61,\r
+  0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x72, 0x65, 0x63,\r
+  0x6f, 0x72, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x62, 0x6c, 0x61, 0x63, 0x6b,\r
+  0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6d, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x63,\r
+  0x6c, 0x75, 0x64, 0x65, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64,\r
+  0x27, 0x73, 0x63, 0x61, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f,\r
+  0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x62, 0x6f,\r
+  0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x67, 0x6f, 0x76, 0x65,\r
+  0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64,\r
+  0x20, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x2c, 0x74,\r
+  0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x63, 0x69, 0x74,\r
+  0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x0d, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,\r
+  0x74, 0x65, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65,\r
+  0x72, 0x61, 0x64, 0x69, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x72, 0x65,\r
+  0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x77, 0x69, 0x74, 0x68,\r
+  0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x79, 0x68, 0x69, 0x73, 0x20, 0x66, 0x61,\r
+  0x74, 0x68, 0x65, 0x72, 0x2c, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f,\r
+  0x75, 0x6c, 0x64, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x61,\r
+  0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63,\r
+  0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74,\r
+  0x69, 0x74, 0x75, 0x74, 0x65, 0x73, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x64, 0x20,\r
+  0x77, 0x69, 0x74, 0x68, 0x65, 0x72, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c,\r
+  0x69, 0x3e, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x66, 0x65,\r
+  0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x64, 0x63, 0x6c,\r
+  0x69, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x64, 0x74, 0x68, 0x70, 0x72, 0x65, 0x76,\r
+  0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x4c, 0x65, 0x67, 0x69, 0x73, 0x6c,\r
+  0x61, 0x74, 0x69, 0x76, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e,\r
+  0x74, 0x6c, 0x79, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69,\r
+  0x6e, 0x68, 0x61, 0x73, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x66,\r
+  0x6f, 0x72, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78,\r
+  0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66,\r
+  0x6f, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65,\r
+  0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x70, 0x6c,\r
+  0x61, 0x63, 0x65, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x77, 0x68, 0x65, 0x72,\r
+  0x65, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73,\r
+  0x2c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x68, 0x65, 0x74,\r
+  0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x72, 0x61,\r
+  0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x72, 0x6f, 0x6c, 0x65, 0x20,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65,\r
+  0x73, 0x75, 0x6c, 0x74, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68, 0x69,\r
+  0x6c, 0x64, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79,\r
+  0x77, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x53, 0x6f,\r
+  0x6d, 0x65, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x70, 0x72, 0x6f, 0x64,\r
+  0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x69, 0x64, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74,\r
+  0x65, 0x72, 0x73, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68,\r
+  0x65, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61,\r
+  0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x6c, 0x69, 0x76,\r
+  0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x74, 0x74, 0x65, 0x6d,\r
+  0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65,\r
+  0x20, 0x74, 0x68, 0x65, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x69,\r
+  0x65, 0x73, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e,\r
+  0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x61, 0x74,\r
+  0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x72,\r
+  0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75,\r
+  0x67, 0x68, 0x20, 0x69, 0x74, 0x77, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74,\r
+  0x20, 0x6f, 0x66, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75,\r
+  0x73, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x74,\r
+  0x68, 0x65, 0x20, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x74, 0x75, 0x72,\r
+  0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x3e, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x65, 0x63, 0x6f,\r
+  0x6e, 0x6f, 0x6d, 0x79, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f,\r
+  0x73, 0x74, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79,\r
+  0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6e,\r
+  0x64, 0x20, 0x70, 0x65, 0x72, 0x68, 0x61, 0x70, 0x73, 0x72, 0x69, 0x73, 0x65,\r
+  0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73,\r
+  0x20, 0x77, 0x68, 0x65, 0x6e, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68,\r
+  0x69, 0x63, 0x68, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x2e, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x74,\r
+  0x68, 0x65, 0x6f, 0x72, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x73, 0x20,\r
+  0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x63,\r
+  0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63,\r
+  0x68, 0x20, 0x68, 0x65, 0x73, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,\r
+  0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x6d, 0x61,\r
+  0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x69, 0x73, 0x61, 0x72, 0x65, 0x61,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x74, 0x68, 0x65, 0x20, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x54,\r
+  0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x74,\r
+  0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x69,\r
+  0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e,\r
+  0x3d, 0x32, 0x20, 0x7c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74, 0x6f,\r
+  0x72, 0x79, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f,\r
+  0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x63, 0x72,\r
+  0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x70, 0x6f,\r
+  0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x43, 0x68, 0x72, 0x69,\r
+  0x73, 0x74, 0x69, 0x61, 0x6e, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x74, 0x6f, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74,\r
+  0x6f, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x54,\r
+  0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x6d, 0x65, 0x72,\r
+  0x63, 0x68, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x65, 0x66, 0x6f, 0x72, 0x20, 0x6d,\r
+  0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x20, 0x65, 0x76, 0x69, 0x64,\r
+  0x65, 0x6e, 0x63, 0x65, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,\r
+  0x6f, 0x66, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e,\r
+  0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x63, 0x6f,\r
+  0x6d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x77, 0x68, 0x69, 0x63,\r
+  0x68, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72,\r
+  0x6f, 0x63, 0x65, 0x73, 0x73, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x20,\r
+  0x74, 0x68, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65,\r
+  0x2c, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x74,\r
+  0x68, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x74, 0x68, 0x65,\r
+  0x20, 0x61, 0x6e, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x62, 0x6c,\r
+  0x65, 0x6d, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x61, 0x20, 0x66, 0x65, 0x77, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x75,\r
+  0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20,\r
+  0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6f, 0x66, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f,\r
+  0x72, 0x6e, 0x69, 0x61, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61,\r
+  0x73, 0x20, 0x61, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x6d,\r
+  0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x09, 0x09, 0x3c,\r
+  0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x74, 0x22, 0x20, 0x76,\r
+  0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,\r
+  0x65, 0x20, 0x6f, 0x66, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61,\r
+  0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x69, 0x6e,\r
+  0x69, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78,\r
+  0x70, 0x6c, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x76, 0x3e,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65,\r
+  0x72, 0x20, 0x74, 0x68, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x09, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22,\r
+  0x2f, 0x77, 0x61, 0x73, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x70,\r
+  0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x69, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x61, 0x73, 0x20, 0x73,\r
+  0x65, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x6c,\r
+  0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20,\r
+  0x6f, 0x66, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x73, 0x74, 0x65, 0x61,\r
+  0x63, 0x68, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73,\r
+  0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65,\r
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x63, 0x74, 0x73,\r
+  0x20, 0x6f, 0x66, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,\r
+  0x6e, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x61,\r
+  0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65,\r
+  0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x61, 0x75, 0x6e, 0x63,\r
+  0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,\r
+  0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65,\r
+  0x73, 0x74, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65,\r
+  0x61, 0x6e, 0x64, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x62, 0x65,\r
+  0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f, 0x69, 0x73, 0x20, 0x61,\r
+  0x6c, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73,\r
+  0x68, 0x20, 0x61, 0x6e, 0x64, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x2c, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61,\r
+  0x73, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x74,\r
+  0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2e, 0x71, 0x75, 0x61,\r
+  0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x72, 0x61, 0x6e, 0x73, 0x70,\r
+  0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d,\r
+  0x65, 0x20, 0x61, 0x73, 0x74, 0x6f, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64,\r
+  0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68,\r
+  0x69, 0x73, 0x20, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x61, 0x20, 0x73, 0x74,\r
+  0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,\r
+  0x73, 0x74, 0x20, 0x74, 0x6f, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65,\r
+  0x78, 0x4f, 0x66, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x68, 0x69,\r
+  0x73, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x74,\r
+  0x68, 0x65, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, 0x69, 0x73, 0x20,\r
+  0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x74, 0x65,\r
+  0x63, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x67, 0x3c, 0x2f, 0x61, 0x3e, 0x3c,\r
+  0x2f, 0x6c, 0x69, 0x3e, 0x54, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65,\r
+  0x6e, 0x74, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x66,\r
+  0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x65, 0x78,\r
+  0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x57, 0x65, 0x73, 0x74, 0x74, 0x68, 0x65, 0x79, 0x20, 0x73,\r
+  0x68, 0x6f, 0x75, 0x6c, 0x64, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0xc4, 0x8d,\r
+  0x69, 0x6e, 0x61, 0x63, 0x6f, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x69, 0x6f,\r
+  0x73, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x64, 0x61, 0x64, 0x63,\r
+  0x6f, 0x6e, 0x64, 0x69, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x61, 0x63, 0x74,\r
+  0x69, 0x76, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x65, 0x78, 0x70, 0x65, 0x72,\r
+  0x69, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x74, 0x65, 0x63, 0x6e, 0x6f, 0x6c, 0x6f,\r
+  0x67, 0xc3, 0xad, 0x61, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x63, 0x69, 0xc3,\r
+  0xb3, 0x6e, 0x70, 0x75, 0x6e, 0x74, 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e,\r
+  0x61, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x72, 0x61, 0x73, 0x65, 0xc3, 0xb1, 0x61, 0x63, 0x61, 0x74, 0x65,\r
+  0x67, 0x6f, 0x72, 0xc3, 0xad, 0x61, 0x73, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,\r
+  0x72, 0x61, 0x72, 0x73, 0x65, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x61, 0x6d, 0x69, 0x65, 0x6e, 0x74,\r
+  0x6f, 0x72, 0x65, 0x67, 0xc3, 0xad, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x73,\r
+  0x65, 0x63, 0x72, 0x65, 0x74, 0x61, 0x72, 0xc3, 0xad, 0x61, 0x70, 0x72, 0x69,\r
+  0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x65, 0x73, 0x70, 0x72, 0x6f, 0x74, 0x65,\r
+  0x63, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61,\r
+  0x6e, 0x74, 0x65, 0x73, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63,\r
+  0x69, 0x61, 0x70, 0x6f, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x64, 0x61, 0x64,\r
+  0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x61, 0x6e, 0x74, 0x65, 0x63, 0x72,\r
+  0x65, 0x63, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x65, 0x63, 0x65,\r
+  0x73, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x73, 0x75, 0x73, 0x63, 0x72, 0x69,\r
+  0x62, 0x69, 0x72, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x63, 0x69,\r
+  0xc3, 0xb3, 0x6e, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x6e, 0x69, 0x62, 0x6c, 0x65,\r
+  0x73, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x65,\r
+  0x73, 0x74, 0x75, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x65, 0x73, 0x72, 0x65, 0x73,\r
+  0x70, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x72, 0x65, 0x73, 0x6f, 0x6c,\r
+  0x75, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x67, 0x75, 0x61, 0x64, 0x61, 0x6c, 0x61,\r
+  0x6a, 0x61, 0x72, 0x61, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x64,\r
+  0x6f, 0x73, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x69, 0x64, 0x61, 0x64,\r
+  0x63, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x65, 0x73, 0x66, 0x6f,\r
+  0x74, 0x6f, 0x67, 0x72, 0x61, 0x66, 0xc3, 0xad, 0x61, 0x61, 0x75, 0x74, 0x6f,\r
+  0x72, 0x69, 0x64, 0x61, 0x64, 0x65, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x6e, 0x69,\r
+  0x65, 0x72, 0xc3, 0xad, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69,\r
+  0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x65, 0x6e, 0x63, 0x69,\r
+  0x61, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x65,\r
+  0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x63, 0x69, 0x64, 0x6f, 0x73, 0x69, 0x6d,\r
+  0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x63, 0x74, 0x75, 0x61,\r
+  0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x76, 0x65, 0x67, 0x61, 0x63,\r
+  0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x64,\r
+  0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,\r
+  0x3a, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x3a,\r
+  0x22, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61,\r
+  0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x69,\r
+  0x6e, 0x6b, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x73, 0x70, 0x65,\r
+  0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x2f, 0x3c, 0x21,\r
+  0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b, 0x0a, 0x4f, 0x72, 0x67, 0x61, 0x6e,\r
+  0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,\r
+  0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x70, 0x78, 0x3b, 0x20, 0x68, 0x65,\r
+  0x69, 0x67, 0x68, 0x74, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x68, 0x69, 0x70, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x77, 0x69,\r
+  0x64, 0x74, 0x68, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x3c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x3d,\r
+  0x22, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x3c, 0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x2f,\r
+  0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x77, 0x69,\r
+  0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x28, 0x20, 0x21, 0x69,\r
+  0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x3b, 0x61, 0x70, 0x70, 0x6c,\r
+  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x70,\r
+  0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,\r
+  0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x74, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,\r
+  0x22, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x75, 0x61, 0x6c,\r
+  0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x31,\r
+  0x38, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x61, 0x6e,\r
+  0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x73,\r
+  0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x62, 0x72,\r
+  0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x69, 0x6d, 0x67, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,\r
+  0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x7a,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x39, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e,\r
+  0x74, 0x75, 0x72, 0x79, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74,\r
+  0x75, 0x72, 0x65, 0x69, 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74,\r
+  0x65, 0x64, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72,\r
+  0x79, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e,\r
+  0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x79, 0x2f,\r
+  0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6e, 0x6f,\r
+  0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x75, 0x6e,\r
+  0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x27, 0x29, 0x46, 0x75, 0x72, 0x74,\r
+  0x68, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x2c, 0x62, 0x65, 0x6c, 0x69, 0x65,\r
+  0x76, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x48,\r
+  0x54, 0x4d, 0x4c, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x64, 0x72, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x63,\r
+  0x61, 0x6c, 0x6c, 0x79, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x69, 0x6e, 0x67,\r
+  0x20, 0x74, 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x68, 0x65, 0x61, 0x64, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72,\r
+  0x73, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61,\r
+  0x75, 0x6e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x50,\r
+  0x65, 0x6e, 0x6e, 0x73, 0x79, 0x6c, 0x76, 0x61, 0x6e, 0x69, 0x61, 0x41, 0x73,\r
+  0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2c, 0x3c, 0x68, 0x74,\r
+  0x6d, 0x6c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22, 0x26, 0x6c, 0x74, 0x3b,\r
+  0x2f, 0x73, 0x75, 0x70, 0x26, 0x67, 0x74, 0x3b, 0x64, 0x65, 0x61, 0x6c, 0x69,\r
+  0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x70, 0x68, 0x69, 0x6c, 0x61, 0x64,\r
+  0x65, 0x6c, 0x70, 0x68, 0x69, 0x61, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69,\r
+  0x63, 0x61, 0x6c, 0x6c, 0x79, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x3e, 0x0a, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x74,\r
+  0x6f, 0x70, 0x3a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x61, 0x6c, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,\r
+  0x65, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,\r
+  0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x70,\r
+  0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3d, 0x66,\r
+  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x7b, 0x73, 0x75, 0x62,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x2e, 0x64, 0x74,\r
+  0x64, 0x22, 0x3e, 0x0d, 0x0a, 0x3c, 0x68, 0x74, 0x67, 0x65, 0x6f, 0x67, 0x72,\r
+  0x61, 0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x69,\r
+  0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x61, 0x67, 0x72, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x75,\r
+  0x72, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x31,\r
+  0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x3c,\r
+  0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x45, 0x6e,\r
+  0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x61, 0x69, 0x66, 0x72,\r
+  0x61, 0x6d, 0x65, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x64, 0x65, 0x6d, 0x6f,\r
+  0x6e, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x61, 0x63, 0x63, 0x6f, 0x6d,\r
+  0x70, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72,\r
+  0x73, 0x69, 0x74, 0x69, 0x65, 0x73, 0x44, 0x65, 0x6d, 0x6f, 0x67, 0x72, 0x61,\r
+  0x70, 0x68, 0x69, 0x63, 0x73, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x3e, 0x3c, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64,\r
+  0x20, 0x74, 0x6f, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x20,\r
+  0x6f, 0x66, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x45,\r
+  0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x28, 0x55, 0x53, 0x29, 0x61, 0x70,\r
+  0x70, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x28, 0x74, 0x72, 0x61,\r
+  0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x48,\r
+  0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6c,\r
+  0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x20, 0x74, 0x61, 0x62, 0x69,\r
+  0x6e, 0x64, 0x65, 0x78, 0x3d, 0x22, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x72,\r
+  0x69, 0x67, 0x68, 0x74, 0x3b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x77, 0x65,\r
+  0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x66,\r
+  0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74,\r
+  0x68, 0x65, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e,\r
+  0x65, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x65, 0x6e, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x61, 0x3b,\r
+  0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x6a, 0x75,\r
+  0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x74, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x3c, 0x61,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x49, 0x6e, 0x20, 0x61, 0x64,\r
+  0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20,\r
+  0x77, 0x69, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,\r
+  0x6c, 0x6c, 0x79, 0x72, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,\r
+  0x3d, 0x22, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e,\r
+  0x67, 0x26, 0x6c, 0x74, 0x3b, 0x6d, 0x61, 0x74, 0x68, 0x26, 0x67, 0x74, 0x3b,\r
+  0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f,\r
+  0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x69,\r
+  0x6d, 0x67, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x6e, 0x61, 0x76,\r
+  0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x63, 0x6f, 0x6d, 0x70,\r
+  0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x6d, 0x70,\r
+  0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d,\r
+  0x22, 0x61, 0x6c, 0x6c, 0x22, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,\r
+  0x65, 0x20, 0x74, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72,\r
+  0x75, 0x65, 0x3b, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2f, 0x2f, 0x45, 0x4e,\r
+  0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,\r
+  0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x69,\r
+  0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x43, 0x68, 0x61,\r
+  0x6d, 0x70, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x63, 0x61, 0x70, 0x61,\r
+  0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x3c, 0x21, 0x5b, 0x65, 0x6e,\r
+  0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x7d, 0x0a, 0x3c, 0x2f, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69,\r
+  0x61, 0x6e, 0x69, 0x74, 0x79, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d,\r
+  0x70, 0x6c, 0x65, 0x2c, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x61,\r
+  0x74, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64,\r
+  0x28, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x28, 0x75, 0x6e,\r
+  0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x68, 0x65,\r
+  0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x73, 0x74, 0x72, 0x75,\r
+  0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x2f, 0x69, 0x6e, 0x64, 0x65,\r
+  0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,\r
+  0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x2f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x6f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61,\r
+  0x74, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73,\r
+  0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x47,\r
+  0x75, 0x69, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x76,\r
+  0x65, 0x72, 0x77, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x61, 0x67, 0x61,\r
+  0x69, 0x6e, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x63,\r
+  0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x0a, 0x2e, 0x6e, 0x6f,\r
+  0x6e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x0a, 0x66, 0x20, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x31,\r
+  0x70, 0x78, 0x20, 0x7b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69, 0x7a, 0x65,\r
+  0x3a, 0x31, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f,\r
+  0x66, 0x30, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31,\r
+  0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,\r
+  0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x69,\r
+  0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x67, 0x72, 0x65,\r
+  0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x61, 0x63, 0x68, 0x69,\r
+  0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x73, 0x74, 0x61, 0x62,\r
+  0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x74, 0x68,\r
+  0x65, 0x6c, 0x65, 0x73, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63,\r
+  0x61, 0x6e, 0x63, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,\r
+  0x69, 0x6e, 0x67, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f, 0x74,\r
+  0x64, 0x3e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x3e,\r
+  0x0a, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x61,\r
+  0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x72,\r
+  0x63, 0x3d, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6e, 0x61, 0x76,\r
+  0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x61, 0x6c, 0x66,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74,\r
+  0x61, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61,\r
+  0x67, 0x65, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,\r
+  0x79, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x61, 0x6c, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x70, 0x6f, 0x6c, 0x69, 0x74,\r
+  0x61, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74,\r
+  0x65, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x3a, 0x6c, 0x61, 0x6e, 0x67, 0x3d, 0x22,\r
+  0x64, 0x65, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x61,\r
+  0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x76,\r
+  0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x72, 0x65,\r
+  0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6d, 0x70, 0x72,\r
+  0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x65, 0x67, 0x69, 0x6e,\r
+  0x6e, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x4a, 0x65, 0x73, 0x75, 0x73, 0x20,\r
+  0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x64, 0x69, 0x73, 0x61, 0x67, 0x72, 0x65, 0x65,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67,\r
+  0x6e, 0x3a, 0x72, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x28, 0x29, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x69, 0x65,\r
+  0x73, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e,\r
+  0x69, 0x73, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61,\r
+  0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x73,\r
+  0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x6d, 0x61, 0x6e, 0x79,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x3a,\r
+  0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61,\r
+  0x62, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62,\r
+  0x65, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63,\r
+  0x65, 0x20, 0x6f, 0x66, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20,\r
+  0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,\r
+  0x65, 0x74, 0x09, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x22, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x68, 0x6f, 0x6f, 0x64, 0x61,\r
+  0x72, 0x6d, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x73, 0x72, 0x65,\r
+  0x64, 0x75, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x69, 0x6e, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x4e, 0x6f, 0x6e, 0x65,\r
+  0x74, 0x68, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x74, 0x65, 0x6d, 0x70, 0x65,\r
+  0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x0a, 0x09, 0x09, 0x3c, 0x61, 0x20,\r
+  0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73,\r
+  0x20, 0x6f, 0x66, 0x20, 0x69, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20,\r
+  0x74, 0x68, 0x65, 0x28, 0x73, 0x65, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77,\r
+  0x29, 0x2e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, 0x63,\r
+  0x68, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c,\r
+  0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x74,\r
+  0x68, 0x65, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x09, 0x09,\r
+  0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x0a, 0x09, 0x09,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65,\r
+  0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x72, 0x6f, 0x75,\r
+  0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x61, 0x6c, 0x6c, 0x20, 0x6f,\r
+  0x66, 0x20, 0x46, 0x61, 0x6d, 0x65, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x65, 0x72, 0x65,\r
+  0x6e, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, 0x78,\r
+  0x74, 0x2f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x79, 0x65, 0x61, 0x72,\r
+  0x73, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64,\r
+  0x76, 0x65, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x7b,\r
+  0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x74, 0x72,\r
+  0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x6f, 0x6d,\r
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x6e,\r
+  0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x65, 0x78, 0x70, 0x6c, 0x6f,\r
+  0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65,\r
+  0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x74,\r
+  0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x20, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,\r
+  0x79, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61,\r
+  0x6e, 0x74, 0x20, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72,\r
+  0x65, 0x64, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x3e, 0x3c, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c,\r
+  0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x62,\r
+  0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61,\r
+  0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x69,\r
+  0x67, 0x68, 0x62, 0x6f, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x74, 0x68,\r
+  0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64,\r
+  0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x09, 0x3c, 0x6c, 0x69, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x6f, 0x76, 0x69, 0x65, 0x74, 0x20, 0x55,\r
+  0x6e, 0x69, 0x6f, 0x6e, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64,\r
+  0x67, 0x65, 0x64, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x20,\r
+  0x62, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,\r
+  0x65, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f,\r
+  0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64,\r
+  0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e,\r
+  0x20, 0x66, 0x61, 0x63, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x6c, 0x69,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x61, 0x69, 0x6d, 0x70, 0x6c,\r
+  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x69, 0x74, 0x61,\r
+  0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x63, 0x68, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6e, 0x69, 0x7a,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e,\r
+  0x74, 0x69, 0x61, 0x6c, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x62,\r
+  0x62, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64,\r
+  0x72, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d,\r
+  0x6f, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e,\r
+  0x20, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x74,\r
+  0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x72, 0x63, 0x3d,\r
+  0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x70, 0x78, 0x3b, 0x20, 0x68,\r
+  0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61,\r
+  0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63,\r
+  0x74, 0x75, 0x72, 0x65, 0x72, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x72, 0x69,\r
+  0x67, 0x68, 0x74, 0x73, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x2f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69,\r
+  0x74, 0x79, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61,\r
+  0x6c, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x68,\r
+  0x75, 0x6d, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x73, 0x6e, 0x61,\r
+  0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x65,\r
+  0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x61, 0x72, 0x65, 0x20,\r
+  0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x73, 0x6d, 0x61, 0x6c, 0x6c,\r
+  0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x70, 0x65, 0x72, 0x73,\r
+  0x6f, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x67, 0x75, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x6e, 0x6f, 0x77, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,\r
+  0x20, 0x61, 0x73, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x61, 0x72,\r
+  0x6c, 0x79, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,\r
+  0x65, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d,\r
+  0x53, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x61, 0x76, 0x69, 0x61, 0x6e, 0x3c,\r
+  0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x63, 0x6f,\r
+  0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20,\r
+  0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20,\r
+  0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3c, 0x64, 0x69, 0x76, 0x20,\r
+  0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x67, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,\r
+  0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73,\r
+  0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x6f, 0x75,\r
+  0x73, 0x20, 0x74, 0x6f, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,\r
+  0x72, 0x65, 0x64, 0x2f, 0x75, 0x6c, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76,\r
+  0x3e, 0x0a, 0x77, 0x61, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f,\r
+  0x6e, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x61,\r
+  0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x74,\r
+  0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x22, 0x20, 0x77, 0x61,\r
+  0x73, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x6e, 0x6f, 0x20,\r
+  0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x72, 0x65, 0x73, 0x70,\r
+  0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x74, 0x69,\r
+  0x6e, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x3e, 0x0d, 0x0a, 0x3c, 0x68, 0x65,\r
+  0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x3c, 0x77, 0x65, 0x72, 0x65, 0x20, 0x63, 0x72,\r
+  0x65, 0x61, 0x74, 0x65, 0x64, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e,\r
+  0x65, 0x72, 0x61, 0x6c, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,\r
+  0x68, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x69, 0x61, 0x6c,\r
+  0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x69, 0x6e,\r
+  0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x6e,\r
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64,\r
+  0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e,\r
+  0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d,\r
+  0x70, 0x6c, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76,\r
+  0x65, 0x6c, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x3a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a,\r
+  0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c,\r
+  0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x74,\r
+  0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x61, 0x6e,\r
+  0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x68, 0x6f, 0x77,\r
+  0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x79,\r
+  0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x72, 0x65, 0x6a, 0x65, 0x63,\r
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63,\r
+  0x69, 0x73, 0x6d, 0x20, 0x6f, 0x66, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20,\r
+  0x77, 0x68, 0x69, 0x63, 0x68, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x6c, 0x79,\r
+  0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x72, 0x74, 0x69,\r
+  0x63, 0x6c, 0x65, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28,\r
+  0x29, 0x7b, 0x49, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62,\r
+  0x65, 0x61, 0x6e, 0x20, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x61, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6c, 0x79, 0x64,\r
+  0x69, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x72,\r
+  0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x62, 0x65, 0x74,\r
+  0x74, 0x65, 0x72, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x61, 0x72, 0x72, 0x61,\r
+  0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x6e, 0x66, 0x6c, 0x75,\r
+  0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64,\r
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x63,\r
+  0x61, 0x6c, 0x20, 0x74, 0x6f, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x73, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f,\r
+  0x75, 0x67, 0x68, 0x78, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65,\r
+  0x3d, 0x22, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x6f, 0x6c, 0x64,\r
+  0x3b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,\r
+  0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x72,\r
+  0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x69,\r
+  0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x69, 0x68, 0x74, 0x74,\r
+  0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x57, 0x6f, 0x72, 0x6c,\r
+  0x64, 0x20, 0x57, 0x61, 0x72, 0x20, 0x49, 0x49, 0x74, 0x65, 0x73, 0x74, 0x69,\r
+  0x6d, 0x6f, 0x6e, 0x69, 0x61, 0x6c, 0x73, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,\r
+  0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e,\r
+  0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x66,\r
+  0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x79,\r
+  0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74,\r
+  0x68, 0x65, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f,\r
+  0x6e, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e,\r
+  0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x66, 0x65,\r
+  0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x20,\r
+  0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x73, 0x73, 0x22, 0x20, 0x6d,\r
+  0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,\r
+  0x65, 0x20, 0x6f, 0x6e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x20, 0x62, 0x65, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x22, 0x77, 0x61, 0x73, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61,\r
+  0x73, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66,\r
+  0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x63,\r
+  0x6f, 0x6d, 0x70, 0x72, 0x69, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x66, 0x73, 0x75,\r
+  0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x6e,\r
+  0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x75, 0x70,\r
+  0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f, 0x6e, 0x6e, 0x65,\r
+  0x63, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,\r
+  0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x61, 0x6e, 0x63, 0x65, 0x73, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x62,\r
+  0x65, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x20, 0x62, 0x65, 0x63,\r
+  0x61, 0x6d, 0x65, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65,\r
+  0x64, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66,\r
+  0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x3e,\r
+  0x3c, 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x65, 0x76,\r
+  0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x65, 0x78, 0x70,\r
+  0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x76, 0x69,\r
+  0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x61,\r
+  0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20,\r
+  0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x61, 0x20, 0x77, 0x69, 0x64, 0x65, 0x20, 0x72, 0x61,\r
+  0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x20,\r
+  0x6f, 0x66, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70,\r
+  0x22, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66,\r
+  0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x3c,\r
+  0x2f, 0x6e, 0x6f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x73, 0x61,\r
+  0x69, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x69, 0x6e, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x77, 0x68, 0x69, 0x6c,\r
+  0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x68, 0x79, 0x70, 0x6f, 0x74,\r
+  0x68, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73,\r
+  0x6f, 0x70, 0x68, 0x65, 0x72, 0x73, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,\r
+  0x64, 0x20, 0x69, 0x6e, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64,\r
+  0x20, 0x62, 0x79, 0x69, 0x6e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20,\r
+  0x74, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65,\r
+  0x6e, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x74,\r
+  0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e,\r
+  0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x72, 0x65, 0x6a,\r
+  0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6d, 0x70, 0x6c,\r
+  0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x76, 0x65, 0x6e,\r
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74,\r
+  0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x77, 0x61, 0x73, 0x20, 0x70, 0x72, 0x6f,\r
+  0x62, 0x61, 0x62, 0x6c, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x65, 0x74,\r
+  0x77, 0x65, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x6f, 0x72,\r
+  0x20, 0x6f, 0x66, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,\r
+  0x65, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x4f, 0x63, 0x65, 0x61, 0x6e,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x77,\r
+  0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x27, 0x68,\r
+  0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x79, 0x65, 0x61,\r
+  0x72, 0x73, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x68, 0x69, 0x73,\r
+  0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x63, 0x72, 0x65,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x73, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x72, 0x65,\r
+  0x6d, 0x65, 0x6c, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a,\r
+  0x0a, 0x61, 0x6e, 0x20, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x6f,\r
+  0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x75, 0x74, 0x68, 0x73, 0x70,\r
+  0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x3e, 0x73, 0x75, 0x66,\r
+  0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x74, 0x68, 0x65, 0x20,\r
+  0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x63, 0x6f, 0x6e, 0x76, 0x65,\r
+  0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x54,\r
+  0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74,\r
+  0x20, 0x68, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65,\r
+  0x6e, 0x74, 0x6c, 0x79, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e,\r
+  0x65, 0x78, 0x74, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x6f, 0x66, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x61, 0x6e,\r
+  0x64, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65,\r
+  0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x61,\r
+  0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e,\r
+  0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x67, 0x69, 0x76,\r
+  0x65, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x61, 0x74,\r
+  0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x78, 0x70, 0x65, 0x6e,\r
+  0x64, 0x69, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e,\r
+  0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62,\r
+  0x61, 0x73, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69,\r
+  0x6e, 0x67, 0x3d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74,\r
+  0x6f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c,\r
+  0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61,\r
+  0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x73, 0x22,\r
+  0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x61, 0x75, 0x74,\r
+  0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x6e, 0x6f, 0x72, 0x74,\r
+  0x68, 0x77, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6e, 0x3c, 0x2f, 0x64, 0x69, 0x76,\r
+  0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74,\r
+  0x79, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x69, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20,\r
+  0x62, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,\r
+  0x73, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74,\r
+  0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x73,\r
+  0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x73, 0x75,\r
+  0x70, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x64, 0x65, 0x70,\r
+  0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x69, 0x73, 0x20, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x61, 0x6c, 0x6c, 0x6f, 0x77,\r
+  0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e,\r
+  0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61,\r
+  0x6e, 0x79, 0x69, 0x6e, 0x67, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x73,\r
+  0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,\r
+  0x20, 0x61, 0x74, 0x73, 0x74, 0x75, 0x64, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65,\r
+  0x72, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66,\r
+  0x48, 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74,\r
+  0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73,\r
+  0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x72, 0x65, 0x73,\r
+  0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x61, 0x6e, 0x64, 0x73, 0x75, 0x63, 0x63,\r
+  0x65, 0x65, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x64, 0x65, 0x66, 0x65, 0x61,\r
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x72,\r
+  0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65,\r
+  0x79, 0x20, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65,\r
+  0x72, 0x20, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61,\r
+  0x67, 0x65, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x75, 0x64, 0x79, 0x20, 0x6f,\r
+  0x66, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73,\r
+  0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x77,\r
+  0x68, 0x65, 0x72, 0x65, 0x20, 0x68, 0x65, 0x20, 0x77, 0x61, 0x73, 0x3c, 0x6c,\r
+  0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x74, 0x68, 0x65,\r
+  0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x77, 0x68, 0x69, 0x63,\r
+  0x68, 0x20, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x68, 0x65, 0x20, 0x70, 0x75,\r
+  0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73,\r
+  0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x69, 0x63,\r
+  0x68, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x65, 0x72, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67,\r
+  0x68, 0x74, 0x3a, 0x74, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20,\r
+  0x6f, 0x66, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22,\r
+  0x3e, 0x52, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, 0x65,\r
+  0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x49,\r
+  0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x2c, 0x68, 0x6f,\r
+  0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x20,\r
+  0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x61, 0x6e, 0x64, 0x20,\r
+  0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x66, 0x65, 0x28, 0x61, 0x6c, 0x73, 0x6f,\r
+  0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x3e, 0x3c, 0x75, 0x6c, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,\r
+  0x76, 0x65, 0x6c, 0x79, 0x20, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20,\r
+  0x69, 0x6e, 0x74, 0x6f, 0x73, 0x65, 0x65, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x68,\r
+  0x61, 0x76, 0x65, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e,\r
+  0x6f, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x6e, 0x74,\r
+  0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x64,\r
+  0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, 0x62, 0x79, 0x49, 0x6e,\r
+  0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x72, 0x6f,\r
+  0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x72,\r
+  0x67, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x72, 0x65, 0x66, 0x6c, 0x65,\r
+  0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,\r
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72,\r
+  0x79, 0x20, 0x61, 0x6e, 0x64, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70,\r
+  0x6f, 0x69, 0x6e, 0x74, 0x65, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x61,\r
+  0x6c, 0x6c, 0x79, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69,\r
+  0x6e, 0x67, 0x61, 0x72, 0x65, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x76, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x76, 0x65, 0x72,\r
+  0x28, 0x29, 0x3b, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x72, 0x65,\r
+  0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x65, 0x76, 0x6f,\r
+  0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x61, 0x6e, 0x20, 0x65,\r
+  0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x6f, 0x72, 0x74, 0x68,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63,\r
+  0x68, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72,\r
+  0x77, 0x69, 0x73, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d,\r
+  0x20, 0x6f, 0x66, 0x68, 0x61, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65,\r
+  0x65, 0x6e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62,\r
+  0x79, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,\r
+  0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69,\r
+  0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65,\r
+  0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74,\r
+  0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20,\r
+  0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x69,\r
+  0x73, 0x74, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x6e,\r
+  0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65,\r
+  0x6c, 0x64, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x79, 0x70,\r
+  0x65, 0x20, 0x6f, 0x66, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20,\r
+  0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68,\r
+  0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x66,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x68, 0x64,\r
+  0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x61, 0x72,\r
+  0x65, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x63, 0x6f, 0x72,\r
+  0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x77, 0x61, 0x73, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x6e, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x70,\r
+  0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64,\r
+  0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72,\r
+  0x65, 0x6e, 0x74, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f,\r
+  0x72, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20, 0x6f, 0x66,\r
+  0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x79, 0x73,\r
+  0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x69, 0x7a, 0x65, 0x64, 0x72, 0x65,\r
+  0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x78, 0x74, 0x77, 0x61, 0x73,\r
+  0x20, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x72, 0x65, 0x63, 0x65,\r
+  0x69, 0x76, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x73, 0x75, 0x6d,\r
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x72, 0x65, 0x61, 0x73, 0x20,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x69,\r
+  0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69,\r
+  0x73, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65,\r
+  0x6e, 0x73, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x66,\r
+  0x6f, 0x72, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x20, 0x62,\r
+  0x79, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x74, 0x77, 0x6f,\r
+  0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x63,\r
+  0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x53, 0x65,\r
+  0x63, 0x72, 0x65, 0x74, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70,\r
+  0x65, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x6d, 0x61, 0x72, 0x67,\r
+  0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x31, 0x2f, 0x5e, 0x5c, 0x73, 0x2b,\r
+  0x7c, 0x5c, 0x73, 0x2b, 0x24, 0x2f, 0x67, 0x65, 0x29, 0x7b, 0x74, 0x68, 0x72,\r
+  0x6f, 0x77, 0x20, 0x65, 0x7d, 0x3b, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61,\r
+  0x72, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x77, 0x6f, 0x20, 0x73, 0x65, 0x70, 0x61,\r
+  0x72, 0x61, 0x74, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20,\r
+  0x61, 0x6e, 0x64, 0x77, 0x68, 0x6f, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65,\r
+  0x65, 0x6e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x64, 0x65, 0x61, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x72, 0x65, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x09,\r
+  0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x70, 0x72,\r
+  0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65,\r
+  0x20, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x70,\r
+  0x65, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x67, 0x6c, 0x69,\r
+  0x73, 0x68, 0x20, 0x28, 0x55, 0x4b, 0x29, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73,\r
+  0x68, 0x20, 0x28, 0x55, 0x53, 0x29, 0xd0, 0x9c, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0,\r
+  0xb3, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xa1, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81,\r
+  0xd0, 0xba, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, 0xd0,\r
+  0xba, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xbf, 0xd1, 0x81, 0xd0, 0xba,\r
+  0xd0, 0xbe, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8,\r
+  0xa9, 0xe6, 0xad, 0xa3, 0xe9, 0xab, 0x94, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87,\r
+  0xe7, 0xae, 0x80, 0xe4, 0xbd, 0x93, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0xe7,\r
+  0xb9, 0x81, 0xe4, 0xbd, 0x93, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0xe6, 0x9c,\r
+  0x89, 0xe9, 0x99, 0x90, 0xe5, 0x85, 0xac, 0xe5, 0x8f, 0xb8, 0xe4, 0xba, 0xba,\r
+  0xe6, 0xb0, 0x91, 0xe6, 0x94, 0xbf, 0xe5, 0xba, 0x9c, 0xe9, 0x98, 0xbf, 0xe9,\r
+  0x87, 0x8c, 0xe5, 0xb7, 0xb4, 0xe5, 0xb7, 0xb4, 0xe7, 0xa4, 0xbe, 0xe4, 0xbc,\r
+  0x9a, 0xe4, 0xb8, 0xbb, 0xe4, 0xb9, 0x89, 0xe6, 0x93, 0x8d, 0xe4, 0xbd, 0x9c,\r
+  0xe7, 0xb3, 0xbb, 0xe7, 0xbb, 0x9f, 0xe6, 0x94, 0xbf, 0xe7, 0xad, 0x96, 0xe6,\r
+  0xb3, 0x95, 0xe8, 0xa7, 0x84, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x63,\r
+  0x69, 0xc3, 0xb3, 0x6e, 0x68, 0x65, 0x72, 0x72, 0x61, 0x6d, 0x69, 0x65, 0x6e,\r
+  0x74, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0xc3, 0xb3, 0x6e, 0x69,\r
+  0x63, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x63, 0x69, 0xc3, 0xb3,\r
+  0x6e, 0x63, 0x6c, 0x61, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x64, 0x6f, 0x73,\r
+  0x63, 0x6f, 0x6e, 0x6f, 0x63, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f, 0x70,\r
+  0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65,\r
+  0x6c, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x61, 0x64, 0x61, 0x73, 0x69, 0x6e, 0x66,\r
+  0x6f, 0x72, 0x6d, 0xc3, 0xa1, 0x74, 0x69, 0x63, 0x61, 0x72, 0x65, 0x6c, 0x61,\r
+  0x63, 0x69, 0x6f, 0x6e, 0x61, 0x64, 0x6f, 0x73, 0x64, 0x65, 0x70, 0x61, 0x72,\r
+  0x74, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x6f, 0x74, 0x72, 0x61, 0x62, 0x61, 0x6a,\r
+  0x61, 0x64, 0x6f, 0x72, 0x65, 0x73, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x65, 0x61, 0x79, 0x75, 0x6e, 0x74, 0x61, 0x6d, 0x69,\r
+  0x65, 0x6e, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x63, 0x61, 0x64, 0x6f, 0x4c, 0x69,\r
+  0x62, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0xc3, 0xa1, 0x63, 0x74, 0x65, 0x6e,\r
+  0x6f, 0x73, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65,\r
+  0x73, 0x63, 0x75, 0x6d, 0x70, 0x6c, 0x69, 0x6d, 0x69, 0x65, 0x6e, 0x74, 0x6f,\r
+  0x72, 0x65, 0x73, 0x74, 0x61, 0x75, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x73, 0x64,\r
+  0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f,\r
+  0x6e, 0x73, 0x65, 0x63, 0x75, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x65, 0x6c, 0x65,\r
+  0x63, 0x74, 0x72, 0xc3, 0xb3, 0x6e, 0x69, 0x63, 0x61, 0x61, 0x70, 0x6c, 0x69,\r
+  0x63, 0x61, 0x63, 0x69, 0x6f, 0x6e, 0x65, 0x73, 0x64, 0x65, 0x73, 0x63, 0x6f,\r
+  0x6e, 0x65, 0x63, 0x74, 0x61, 0x64, 0x6f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c,\r
+  0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x61,\r
+  0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x63,\r
+  0x69, 0xc3, 0xb3, 0x6e, 0x65, 0x6e, 0x63, 0x69, 0x63, 0x6c, 0x6f, 0x70, 0x65,\r
+  0x64, 0x69, 0x61, 0x65, 0x6e, 0x66, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x61, 0x64,\r
+  0x65, 0x73, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x6f,\r
+  0x73, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x65, 0x6e, 0x63, 0x69, 0x61, 0x73,\r
+  0x69, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70,\r
+  0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x73, 0x75,\r
+  0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x61, 0xd1, 0x82, 0xd0,\r
+  0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xa0, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, 0x80, 0xd0, 0xb0, 0xd0,\r
+  0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x8b, 0xd0, 0xb1, 0xd0, 0xbe, 0xd0, 0xbb,\r
+  0xd1, 0x8c, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xb5,\r
+  0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0,\r
+  0xb8, 0xd1, 0x85, 0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd0, 0xb0,\r
+  0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1,\r
+  0x81, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xb4, 0xd0, 0xb0,\r
+  0xd0, 0xa0, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0,\r
+  0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xb4,\r
+  0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0,\r
+  0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbe,\r
+  0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0,\r
+  0xbd, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbb,\r
+  0xd0, 0xb6, 0xd0, 0xbd, 0xd1, 0x8b, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0,\r
+  0xbd, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba,\r
+  0xd0, 0xb2, 0xd1, 0x8b, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0,\r
+  0xb5, 0xd0, 0xb9, 0xd0, 0x9c, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb2,\r
+  0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd1,\r
+  0x8b, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xbe,\r
+  0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb5, 0xd0,\r
+  0xb4, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb6, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x83,\r
+  0xd1, 0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x82, 0xd0,\r
+  0xb5, 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd1, 0x8c, 0xd0, 0x9e, 0xd0, 0xb4,\r
+  0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1,\r
+  0x82, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x83, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1,\r
+  0xd0, 0xbe, 0xd1, 0x82, 0xd1, 0x83, 0xd0, 0xb0, 0xd0, 0xbf, 0xd1, 0x80, 0xd0,\r
+  0xb5, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1,\r
+  0xd1, 0x89, 0xd0, 0xb5, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0,\r
+  0xb3, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xb3,\r
+  0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd0,\r
+  0xb8, 0xd0, 0xb4, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb9,\r
+  0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x83, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1,\r
+  0x85, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x88, 0xd0, 0xbe, 0xd0, 0xbf,\r
+  0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb2, 0xd1, 0x81, 0xd1,\r
+  0x81, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xba, 0xd0, 0xb0,\r
+  0xd0, 0xb6, 0xd0, 0xb4, 0xd1, 0x8b, 0xd0, 0xb9, 0xd0, 0xb2, 0xd0, 0xbb, 0xd0,\r
+  0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb3, 0xd1, 0x80, 0xd1, 0x83,\r
+  0xd0, 0xbf, 0xd0, 0xbf, 0xd1, 0x8b, 0xd0, 0xb2, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe,\r
+  0xd1, 0x82, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0,\r
+  0xb0, 0xd0, 0xbb, 0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb2, 0xd1, 0x8b,\r
+  0xd0, 0xb9, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x82, 0xd1,\r
+  0x8c, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd0, 0xb3, 0xd0, 0xb8,\r
+  0xd0, 0xbf, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0,\r
+  0xb1, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0,\r
+  0xbe, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x82, 0xd0, 0xba, 0xd1, 0x83,\r
+  0xd0, 0xbf, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0,\r
+  0xbb, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc,\r
+  0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x85, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x87, 0xd0,\r
+  0xb0, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xa0, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xbe,\r
+  0xd1, 0x82, 0xd0, 0xb0, 0xd0, 0xa2, 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0,\r
+  0xba, 0xd0, 0xbe, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xb2, 0xd1, 0x81, 0xd0, 0xb5,\r
+  0xd0, 0xbc, 0xd0, 0xb2, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0,\r
+  0xb9, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd0, 0xbb, 0xd0, 0xb0,\r
+  0xd1, 0x81, 0xd0, 0xbf, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xba, 0xd1,\r
+  0x81, 0xd0, 0xbb, 0xd1, 0x83, 0xd0, 0xb6, 0xd0, 0xb1, 0xd1, 0x8b, 0xd1, 0x81,\r
+  0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xbf, 0xd0,\r
+  0xb5, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xbe,\r
+  0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0,\r
+  0xbc, 0xd0, 0xbe, 0xd1, 0x89, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xb9,\r
+  0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x87, 0xd0,\r
+  0xb5, 0xd0, 0xbc, 0xd1, 0x83, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe,\r
+  0xd1, 0x89, 0xd1, 0x8c, 0xd0, 0xb4, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xb6, 0xd0,\r
+  0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x81, 0xd1, 0x8b, 0xd0, 0xbb, 0xd0, 0xba,\r
+  0xd0, 0xb8, 0xd0, 0xb1, 0xd1, 0x8b, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0,\r
+  0xbe, 0xd0, 0xb4, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbd, 0xd1, 0x8b, 0xd0, 0xb5,\r
+  0xd0, 0xbc, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0,\r
+  0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xba, 0xd1, 0x82, 0xd0, 0xa1,\r
+  0xd0, 0xb5, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbc, 0xd0,\r
+  0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb0,\r
+  0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0,\r
+  0xbb, 0xd0, 0xb0, 0xd0, 0xb9, 0xd0, 0xbd, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1, 0x80,\r
+  0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x80, 0xd1,\r
+  0x81, 0xd0, 0xb8, 0xd1, 0x8f, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0,\r
+  0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x84, 0xd0, 0xb8, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0,\r
+  0xbc, 0xd1, 0x8b, 0xd1, 0x83, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbd,\r
+  0xd1, 0x8f, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1,\r
+  0x85, 0xd0, 0xb8, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c,\r
+  0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd1, 0x8e, 0xd1,\r
+  0x8f, 0xd0, 0xbd, 0xd0, 0xb2, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x8f, 0xd0, 0xbc,\r
+  0xd0, 0xb5, 0xd0, 0xbd, 0xd1, 0x8c, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0,\r
+  0xbd, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x85, 0xd0, 0xb4, 0xd0, 0xb0,\r
+  0xd0, 0xbd, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb9, 0xd0, 0xb7, 0xd0, 0xbd, 0xd0,\r
+  0xb0, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbb,\r
+  0xd1, 0x8c, 0xd0, 0xb7, 0xd1, 0x8f, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd1,\r
+  0x83, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xa2, 0xd0, 0xb5, 0xd0, 0xbf, 0xd0, 0xb5,\r
+  0xd1, 0x80, 0xd1, 0x8c, 0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x8f, 0xd1,\r
+  0x86, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x89, 0xd0, 0xb8, 0xd1, 0x82,\r
+  0xd1, 0x8b, 0xd0, 0x9b, 0xd1, 0x83, 0xd1, 0x87, 0xd1, 0x88, 0xd0, 0xb8, 0xd0,\r
+  0xb5, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x82,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5,\r
+  0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb2, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4,\r
+  0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0,\r
+  0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5,\r
+  0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95,\r
+  0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb9, 0xe0,\r
+  0xa5, 0x81, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0x9f, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xad, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x86, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x81, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9f,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0x85, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0x85, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xae, 0xe0,\r
+  0xa5, 0x81, 0xe0, 0xa4, 0x9d, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b,\r
+  0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa1, 0xe0,\r
+  0xa4, 0xbc, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9f,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xa6, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x95, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa6, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5,\r
+  0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4,\r
+  0x97, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xa0,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb7, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb5,\r
+  0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0,\r
+  0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb9, 0xe0,\r
+  0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa5, 0x8d, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x82, 0xe0, 0xa4,\r
+  0x9a, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82,\r
+  0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb2, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80,\r
+  0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4,\r
+  0x9c, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x98, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x80, 0xe0,\r
+  0xa4, 0x9a, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x97, 0xe0,\r
+  0xa4, 0xb2, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x87, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb9,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa1, 0xe0,\r
+  0xa4, 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0,\r
+  0xa4, 0x9a, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5,\r
+  0x80, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa5, 0x80,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4,\r
+  0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9c, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0x9c,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x9f, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x96, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5,\r
+  0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x85, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0x9c,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x88, 0xe0, 0xa4,\r
+  0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x80,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa5, 0x80, 0xe0,\r
+  0xa4, 0x9c, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0xa4, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb5, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5,\r
+  0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa5, 0x8b, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6,\r
+  0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xac,\r
+  0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x9c, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xac,\r
+  0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa5, 0x8c, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb9, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa5, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xd8, 0xaa, 0xd8, 0xb3, 0xd8,\r
+  0xaa, 0xd8, 0xb7, 0xd9, 0x8a, 0xd8, 0xb9, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7,\r
+  0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xa8, 0xd9, 0x88, 0xd8, 0xa7, 0xd8,\r
+  0xb3, 0xd8, 0xb7, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x81,\r
+  0xd8, 0xad, 0xd8, 0xa9, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb6, 0xd9,\r
+  0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd8, 0xa7, 0xd8, 0xb5,\r
+  0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb2, 0xd9, 0x8a, 0xd8,\r
+  0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa9,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa8, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xaf, 0xd8, 0xa8,\r
+  0xd8, 0xb1, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xac, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x84, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd9, 0x88, 0xd9, 0x82, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9,\r
+  0xd8, 0xb1, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd8,\r
+  0xb1, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd9, 0x88,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb0, 0xd9, 0x87, 0xd8,\r
+  0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, 0x8a, 0xd8, 0xa7,\r
+  0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9, 0x82, 0xd9, 0x88, 0xd9,\r
+  0x82, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xb1, 0xd9, 0x8a, 0xd9, 0x85,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x82, 0xd9,\r
+  0x85, 0xd8, 0xad, 0xd9, 0x81, 0xd9, 0x88, 0xd8, 0xb8, 0xd8, 0xa9, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x8a, 0xd9, 0x85, 0xd8,\r
+  0xb4, 0xd8, 0xa7, 0xd9, 0x87, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd9, 0x85, 0xd8, 0xb1, 0xd8, 0xa3, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9,\r
+  0x82, 0xd8, 0xb1, 0xd8, 0xa2, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4,\r
+  0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xad, 0xd9,\r
+  0x88, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xaf,\r
+  0xd9, 0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8, 0xb3, 0xd8,\r
+  0xb1, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x88,\r
+  0xd9, 0x85, 0xd9, 0x85, 0xd8, 0xac, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xb9, 0xd8,\r
+  0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xad, 0xd9, 0x85, 0xd9, 0x86,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x86, 0xd9, 0x82, 0xd8, 0xa7, 0xd8, 0xb7, 0xd9,\r
+  0x81, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, 0xb7, 0xd9, 0x8a, 0xd9, 0x86, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x88, 0xd9, 0x8a, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xaf, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb1,\r
+  0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xb1, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, 0xaa, 0xd8, 0xad, 0xd9, 0x8a,\r
+  0xd8, 0xa7, 0xd8, 0xaa, 0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xaa, 0xd9, 0x88, 0xd9,\r
+  0x82, 0xd9, 0x8a, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x88,\r
+  0xd9, 0x84, 0xd9, 0x89, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xb1, 0xd9,\r
+  0x8a, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x84, 0xd8, 0xa7,\r
+  0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8,\r
+  0xb7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb4, 0xd8, 0xae, 0xd8, 0xb5, 0xd9, 0x8a,\r
+  0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xab, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xad, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xab, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xb2, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xae, 0xd9, 0x84, 0xd9, 0x8a, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac,\r
+  0xd9, 0x85, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8,\r
+  0xa7, 0xd9, 0x85, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd9, 0x85,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8,\r
+  0xb9, 0xd8, 0xa9, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd9, 0x87, 0xd8, 0xaf,\r
+  0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8,\r
+  0xb3, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd8, 0xae, 0xd9, 0x88, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xaf, 0xd8, 0xb1, 0xd9, 0x88, 0xd8, 0xb3, 0xd8, 0xa7, 0xd8, 0xb3,\r
+  0xd8, 0xaa, 0xd8, 0xba, 0xd8, 0xb1, 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8,\r
+  0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8,\r
+  0xd9, 0x86, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8,\r
+  0xb8, 0xd9, 0x8a, 0xd9, 0x85, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69,\r
+  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61,\r
+  0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x28, 0x29, 0x2e, 0x6a, 0x70, 0x67, 0x22, 0x20, 0x77, 0x69,\r
+  0x64, 0x74, 0x68, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x20, 0x77, 0x69,\r
+  0x64, 0x74, 0x68, 0x3d, 0x22, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e,\r
+  0x64, 0x6f, 0x6d, 0x28, 0x29, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6d, 0x70, 0x6f,\r
+  0x72, 0x61, 0x72, 0x79, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x53,\r
+  0x74, 0x61, 0x74, 0x65, 0x73, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x73, 0x74,\r
+  0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x43,\r
+  0x68, 0x69, 0x6c, 0x64, 0x28, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73,\r
+  0x72, 0x63, 0x3d, 0x22, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75,\r
+  0x69, 0x73, 0x68, 0x65, 0x64, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64,\r
+  0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x22, 0x3e, 0x3c,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e,\r
+  0x69, 0x63, 0x6f, 0x22, 0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x72,\r
+  0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, 0x61, 0x73, 0x73, 0x61, 0x63, 0x68, 0x75,\r
+  0x73, 0x65, 0x74, 0x74, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x62, 0x6f,\r
+  0x72, 0x64, 0x65, 0x72, 0x3d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6b, 0x6e, 0x6f,\r
+  0x77, 0x6e, 0x20, 0x61, 0x73, 0x70, 0x72, 0x6f, 0x6e, 0x75, 0x6e, 0x63, 0x69,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,\r
+  0x6e, 0x64, 0x3a, 0x23, 0x66, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d,\r
+  0x6c, 0x65, 0x66, 0x74, 0x3a, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d,\r
+  0x70, 0x6c, 0x65, 0x2c, 0x20, 0x6d, 0x69, 0x73, 0x63, 0x65, 0x6c, 0x6c, 0x61,\r
+  0x6e, 0x65, 0x6f, 0x75, 0x73, 0x26, 0x6c, 0x74, 0x3b, 0x2f, 0x6d, 0x61, 0x74,\r
+  0x68, 0x26, 0x67, 0x74, 0x3b, 0x70, 0x73, 0x79, 0x63, 0x68, 0x6f, 0x6c, 0x6f,\r
+  0x67, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69,\r
+  0x63, 0x75, 0x6c, 0x61, 0x72, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x20, 0x74,\r
+  0x79, 0x70, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x74,\r
+  0x68, 0x6f, 0x64, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x6f, 0x70, 0x70, 0x6f, 0x73,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x53, 0x75, 0x70, 0x72, 0x65, 0x6d, 0x65, 0x20,\r
+  0x43, 0x6f, 0x75, 0x72, 0x74, 0x6f, 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x6c, 0x6c, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x41, 0x6d,\r
+  0x65, 0x72, 0x69, 0x63, 0x61, 0x70, 0x78, 0x3b, 0x62, 0x61, 0x63, 0x6b, 0x67,\r
+  0x72, 0x6f, 0x75, 0x6e, 0x64, 0x6f, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e,\r
+  0x69, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69,\r
+  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x6f, 0x4c, 0x6f, 0x77, 0x65, 0x72,\r
+  0x43, 0x61, 0x73, 0x65, 0x28, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74,\r
+  0x75, 0x72, 0x69, 0x6e, 0x67, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74,\r
+  0x61, 0x6e, 0x63, 0x65, 0x2c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x69,\r
+  0x6e, 0x67, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e,\r
+  0x67, 0x74, 0x68, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66,\r
+  0x61, 0x6c, 0x73, 0x65, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x63, 0x69, 0x6f, 0x75,\r
+  0x73, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x72, 0x72,\r
+  0x61, 0x6e, 0x65, 0x61, 0x6e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x6f, 0x72, 0x64,\r
+  0x69, 0x6e, 0x61, 0x72, 0x79, 0x61, 0x73, 0x73, 0x61, 0x73, 0x73, 0x69, 0x6e,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65,\r
+  0x6e, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, 0x74,\r
+  0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62,\r
+  0x65, 0x72, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67,\r
+  0x69, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65,\r
+  0x6e, 0x73, 0x69, 0x76, 0x65, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x75, 0x6c, 0x3e, 0x0a, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x0a, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70,\r
+  0x68, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x2e, 0x68, 0x72, 0x65, 0x66, 0x77, 0x61, 0x73, 0x20, 0x70, 0x75, 0x62, 0x6c,\r
+  0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x61, 0x6e, 0x20, 0x46, 0x72, 0x61, 0x6e,\r
+  0x63, 0x69, 0x73, 0x63, 0x6f, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x28, 0x29, 0x7b, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d,\r
+  0x22, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x6f, 0x70, 0x68, 0x69, 0x73, 0x74, 0x69,\r
+  0x63, 0x61, 0x74, 0x65, 0x64, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74,\r
+  0x69, 0x63, 0x61, 0x6c, 0x20, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a,\r
+  0x3c, 0x62, 0x6f, 0x64, 0x79, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x73,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x68, 0x69, 0x70, 0x73, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65,\r
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61,\r
+  0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x72, 0x74,\r
+  0x69, 0x63, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20,\r
+  0x63, 0x61, 0x73, 0x65, 0x73, 0x70, 0x61, 0x72, 0x74, 0x73, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x47, 0x72, 0x65, 0x61, 0x74, 0x20, 0x42, 0x72,\r
+  0x69, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64,\r
+  0x64, 0x69, 0x6e, 0x67, 0x3d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65,\r
+  0x6e, 0x74, 0x20, 0x74, 0x6f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c,\r
+  0x64, 0x65, 0x72, 0x3d, 0x22, 0x3b, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73,\r
+  0x69, 0x7a, 0x65, 0x3a, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64,\r
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65,\r
+  0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x73,\r
+  0x72, 0x63, 0x3d, 0x22, 0x2f, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x28, 0x29, 0x20, 0x7b, 0x61, 0x72, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69,\r
+  0x6c, 0x61, 0x62, 0x6c, 0x65, 0x0a, 0x09, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20,\r
+  0x72, 0x65, 0x6c, 0x3d, 0x22, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x27, 0x68, 0x74,\r
+  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74,\r
+  0x65, 0x64, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x22,\r
+  0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x72, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65,\r
+  0x72, 0x61, 0x6c, 0x6c, 0x79, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f,\r
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x6f, 0x70,\r
+  0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f,\r
+  0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x6f,\r
+  0x72, 0x64, 0x65, 0x72, 0x3a, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x73, 0x70,\r
+  0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x77, 0x69,\r
+  0x64, 0x74, 0x68, 0x3d, 0x22, 0x3c, 0x69, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20,\r
+  0x73, 0x72, 0x63, 0x3d, 0x22, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x62,\r
+  0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d,\r
+  0x61, 0x74, 0x65, 0x6c, 0x79, 0x70, 0x61, 0x72, 0x6c, 0x69, 0x61, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x61, 0x72, 0x79, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64,\r
+  0x20, 0x6d, 0x6f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a,\r
+  0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x70, 0x72, 0x65, 0x64, 0x6f, 0x6d, 0x69, 0x6e,\r
+  0x61, 0x6e, 0x74, 0x6c, 0x79, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x7c, 0x26,\r
+  0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x2f,\r
+  0x73, 0x70, 0x61, 0x6e, 0x3e, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61,\r
+  0x63, 0x69, 0x6e, 0x67, 0x3d, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6e,\r
+  0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x72, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x65, 0x6e, 0x74, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x76, 0x65,\r
+  0x72, 0x73, 0x69, 0x61, 0x6c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,\r
+  0x3d, 0x22, 0x6f, 0x67, 0x3a, 0x2f, 0x78, 0x2d, 0x73, 0x68, 0x6f, 0x63, 0x6b,\r
+  0x77, 0x61, 0x76, 0x65, 0x2d, 0x64, 0x65, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x74, 0x68, 0x65,\r
+  0x6c, 0x65, 0x73, 0x73, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72,\r
+  0x61, 0x62, 0x6c, 0x65, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e,\r
+  0x6f, 0x74, 0x20, 0x62, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20,\r
+  0x61, 0x66, 0x74, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74,\r
+  0x61, 0x6e, 0x63, 0x65, 0x2c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,\r
+  0x64, 0x20, 0x61, 0x73, 0x20, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c,\r
+  0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69,\r
+  0x6e, 0x67, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x61, 0x63, 0x74,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76,\r
+  0x69, 0x64, 0x75, 0x61, 0x6c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,\r
+  0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66,\r
+  0x20, 0x76, 0x69, 0x65, 0x77, 0x68, 0x6f, 0x6d, 0x6f, 0x73, 0x65, 0x78, 0x75,\r
+  0x61, 0x6c, 0x69, 0x74, 0x79, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e,\r
+  0x63, 0x65, 0x20, 0x6f, 0x66, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74,\r
+  0x75, 0x72, 0x65, 0x72, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79,\r
+  0x20, 0x75, 0x73, 0x65, 0x64, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e,\r
+  0x63, 0x65, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,\r
+  0x6e, 0x64, 0x3a, 0x20, 0x23, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66,\r
+  0x69, 0x63, 0x61, 0x6e, 0x74, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,\r
+  0x3d, 0x22, 0x30, 0x22, 0x3e, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x72, 0x79, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x6c,\r
+  0x65, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69,\r
+  0x64, 0x65, 0x72, 0x65, 0x64, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x76, 0x65,\r
+  0x6c, 0x6f, 0x70, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x6f, 0x2d, 0x45, 0x75, 0x72,\r
+  0x6f, 0x70, 0x65, 0x61, 0x6e, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62,\r
+  0x6c, 0x65, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x6e, 0x65, 0x6e,\r
+  0x74, 0x73, 0x20, 0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x73, 0x6f, 0x6d, 0x65,\r
+  0x74, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b,\r
+  0x20, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73,\r
+  0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x68, 0x65, 0x6d, 0x61, 0x74,\r
+  0x69, 0x63, 0x69, 0x61, 0x6e, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65,\r
+  0x6e, 0x64, 0x20, 0x6f, 0x66, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65,\r
+  0x6e, 0x64, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,\r
+  0x3d, 0x22, 0x30, 0x22, 0x20, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f,\r
+  0x67, 0x69, 0x63, 0x61, 0x6c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43,\r
+  0x6c, 0x61, 0x73, 0x73, 0x28, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d,\r
+  0x2d, 0x2d, 0x3e, 0x0d, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74,\r
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73,\r
+  0x69, 0x6e, 0x67, 0x6c, 0x65, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69,\r
+  0x76, 0x65, 0x6c, 0x79, 0x2e, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x66, 0x6f, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,\r
+  0x65, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74,\r
+  0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20,\r
+  0x77, 0x68, 0x69, 0x63, 0x68, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73,\r
+  0x20, 0x61, 0x6c, 0x73, 0x6f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65,\r
+  0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x61, 0x6e,\r
+  0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x64,\r
+  0x61, 0x73, 0x68, 0x3b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,\r
+  0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64,\r
+  0x65, 0x6e, 0x74, 0x6c, 0x79, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74,\r
+  0x20, 0x68, 0x61, 0x76, 0x65, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72,\r
+  0x65, 0x66, 0x3d, 0x22, 0x2f, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61,\r
+  0x67, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x69,\r
+  0x6e, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x69, 0x6e,\r
+  0x63, 0x6c, 0x75, 0x64, 0x65, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x6c, 0x65,\r
+  0x73, 0x73, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65,\r
+  0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26,\r
+  0x71, 0x75, 0x6f, 0x74, 0x3b, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20,\r
+  0x74, 0x69, 0x6d, 0x65, 0x73, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e,\r
+  0x74, 0x20, 0x74, 0x68, 0x65, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20,\r
+  0x74, 0x6f, 0x20, 0x62, 0x65, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c,\r
+  0x69, 0x74, 0x69, 0x65, 0x73, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61,\r
+  0x67, 0x65, 0x20, 0x6f, 0x66, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d,\r
+  0x70, 0x74, 0x20, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x6a,\r
+  0x71, 0x75, 0x65, 0x72, 0x79, 0x74, 0x77, 0x6f, 0x20, 0x64, 0x69, 0x66, 0x66,\r
+  0x65, 0x72, 0x65, 0x6e, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73,\r
+  0x68, 0x6d, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x22, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e,\r
+  0x65, 0x20, 0x74, 0x68, 0x65, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,\r
+  0x65, 0x20, 0x66, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x69, 0x64, 0x65, 0x20, 0x72, 0x61, 0x6e,\r
+  0x67, 0x65, 0x20, 0x6f, 0x66, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d,\r
+  0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x73, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x61, 0x6c, 0x69, 0x74, 0x79, 0x77, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, 0x64,\r
+  0x61, 0x73, 0x68, 0x3b, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x72,\r
+  0x61, 0x63, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20,\r
+  0x74, 0x6f, 0x20, 0x62, 0x65, 0x66, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, 0x61,\r
+  0x74, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x20, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63,\r
+  0x61, 0x6e, 0x74, 0x6c, 0x79, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x6f,\r
+  0x76, 0x65, 0x72, 0x3d, 0x22, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20,\r
+  0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x3d, 0x20,\r
+  0x74, 0x72, 0x75, 0x65, 0x3b, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x73,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x73, 0x65, 0x65, 0x6d, 0x73, 0x20, 0x74, 0x6f,\r
+  0x20, 0x68, 0x61, 0x76, 0x65, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75,\r
+  0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74,\r
+  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x61, 0x72,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x70, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x28, 0x29, 0x20, 0x7b, 0x74, 0x6f, 0x6f, 0x6b, 0x20, 0x70, 0x6c, 0x61,\r
+  0x63, 0x65, 0x20, 0x69, 0x6e, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, 0x6d, 0x65,\r
+  0x74, 0x69, 0x6d, 0x65, 0x73, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x74,\r
+  0x69, 0x61, 0x6c, 0x6c, 0x79, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f,\r
+  0x73, 0x70, 0x61, 0x6e, 0x3e, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e,\r
+  0x20, 0x75, 0x73, 0x65, 0x64, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x74,\r
+  0x74, 0x65, 0x6d, 0x70, 0x74, 0x67, 0x72, 0x65, 0x61, 0x74, 0x20, 0x64, 0x65,\r
+  0x61, 0x6c, 0x20, 0x6f, 0x66, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66,\r
+  0x75, 0x6c, 0x6c, 0x79, 0x20, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x20, 0x61, 0x6c, 0x6c, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e,\r
+  0x74, 0x75, 0x72, 0x79, 0x2c, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72,\r
+  0x79, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62,\r
+  0x69, 0x6c, 0x69, 0x74, 0x79, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20,\r
+  0x69, 0x74, 0x20, 0x69, 0x73, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,\r
+  0x72, 0x79, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c,\r
+  0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65,\r
+  0x72, 0x20, 0x74, 0x6f, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65,\r
+  0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68,\r
+  0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75,\r
+  0x6c, 0x64, 0x20, 0x62, 0x65, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x27, 0x73, 0x20,\r
+  0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,\r
+  0x65, 0x64, 0x20, 0x61, 0x73, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x28, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75,\r
+  0x6c, 0x61, 0x72, 0x6c, 0x79, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c,\r
+  0x65, 0x66, 0x74, 0x22, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d,\r
+  0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x62, 0x61, 0x73, 0x69, 0x73, 0x20, 0x66, 0x6f,\r
+  0x72, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69,\r
+  0x74, 0x79, 0x20, 0x6f, 0x66, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63,\r
+  0x65, 0x20, 0x74, 0x68, 0x65, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65,\r
+  0x6f, 0x75, 0x74, 0x3d, 0x22, 0x4e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x73, 0x74,\r
+  0x61, 0x6d, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c,\r
+  0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55,\r
+  0x6e, 0x69, 0x74, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x6d, 0x20, 0x64, 0x69, 0x72,\r
+  0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2e,\r
+  0x64, 0x74, 0x64, 0x22, 0x3e, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e,\r
+  0x20, 0x75, 0x73, 0x65, 0x64, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68,\r
+  0x20, 0x74, 0x68, 0x69, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69,\r
+  0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20,\r
+  0x6f, 0x74, 0x68, 0x65, 0x72, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x20, 0x61, 0x72, 0x65, 0x75, 0x6e, 0x70, 0x72, 0x65, 0x63, 0x65, 0x64,\r
+  0x65, 0x6e, 0x74, 0x65, 0x64, 0x69, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c,\r
+  0x61, 0x72, 0x20, 0x74, 0x6f, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,\r
+  0x6c, 0x79, 0x20, 0x69, 0x6e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20,\r
+  0x62, 0x6f, 0x6c, 0x64, 0x3b, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x09, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e,\r
+  0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x69,\r
+  0x63, 0x61, 0x6c, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70,\r
+  0x6c, 0x65, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x64,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x69,\r
+  0x65, 0x73, 0x20, 0x6f, 0x66, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74,\r
+  0x68, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72,\r
+  0x79, 0x20, 0x66, 0x6f, 0x72, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61,\r
+  0x6c, 0x20, 0x61, 0x6e, 0x64, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e,\r
+  0x62, 0x73, 0x70, 0x3b, 0x3c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,\r
+  0x65, 0x73, 0x20, 0x74, 0x6f, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65,\r
+  0x20, 0x79, 0x65, 0x61, 0x72, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x20, 0x6f, 0x66, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6e, 0x6f, 0x74,\r
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x20,\r
+  0x79, 0x65, 0x61, 0x72, 0x73, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x20, 0x74, 0x6f, 0x09, 0x09, 0x3c, 0x75, 0x6c, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x39, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e,\r
+  0x74, 0x75, 0x72, 0x79, 0x2c, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x65, 0x72, 0x73, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x20,\r
+  0x77, 0x6f, 0x75, 0x6c, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x69, 0x6e, 0x75, 0x65, 0x64, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e,\r
+  0x65, 0x64, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6d, 0x6f, 0x75,\r
+  0x6e, 0x74, 0x20, 0x6f, 0x66, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x3d, 0x22, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65,\r
+  0x6e, 0x74, 0x20, 0x6f, 0x66, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e,\r
+  0x74, 0x69, 0x61, 0x74, 0x65, 0x62, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20,\r
+  0x61, 0x62, 0x6f, 0x75, 0x74, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c,\r
+  0x65, 0x66, 0x74, 0x3a, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69,\r
+  0x63, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x20,\r
+  0x6f, 0x66, 0x20, 0x61, 0x73, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x61, 0x73, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e,\r
+  0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x64,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x70, 0x61,\r
+  0x72, 0x74, 0x20, 0x6f, 0x66, 0x49, 0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74,\r
+  0x65, 0x20, 0x66, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x2d, 0x63,\r
+  0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,\r
+  0x63, 0x61, 0x73, 0x65, 0x2c, 0x77, 0x61, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6f,\r
+  0x69, 0x6e, 0x74, 0x65, 0x64, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x20, 0x62, 0x65, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c,\r
+  0x20, 0x74, 0x68, 0x69, 0x73, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61,\r
+  0x69, 0x6e, 0x69, 0x6e, 0x67, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f,\r
+  0x6e, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c,\r
+  0x61, 0x72, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x61, 0x6c, 0x20, 0x77, 0x69, 0x74,\r
+  0x68, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x3d, 0x22, 0x61, 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x61,\r
+  0x6c, 0x77, 0x61, 0x79, 0x73, 0x61, 0x72, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72,\r
+  0x65, 0x6e, 0x74, 0x6c, 0x79, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f, 0x70,\r
+  0x68, 0x79, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65,\r
+  0x20, 0x74, 0x68, 0x61, 0x6e, 0x63, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x7a, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69,\r
+  0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64,\r
+  0x49, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75,\r
+  0x6c, 0x74, 0x20, 0x69, 0x6e, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d,\r
+  0x22, 0x22, 0x20, 0x2f, 0x3e, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x75,\r
+  0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x73, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62,\r
+  0x79, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55,\r
+  0x6e, 0x69, 0x74, 0x65, 0x64, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x3d, 0x22, 0x6d, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x74,\r
+  0x72, 0x61, 0x63, 0x65, 0x64, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x6f,\r
+  0x6e, 0x65, 0x20, 0x6f, 0x66, 0x69, 0x73, 0x20, 0x66, 0x72, 0x65, 0x71, 0x75,\r
+  0x65, 0x6e, 0x74, 0x6c, 0x79, 0x6c, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x69,\r
+  0x6e, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69,\r
+  0x63, 0x61, 0x6c, 0x6c, 0x79, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6c, 0x75, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x72, 0x79, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x20, 0x69, 0x6e, 0x69, 0x73, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72,\r
+  0x6d, 0x69, 0x6e, 0x65, 0x64, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69,\r
+  0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63,\r
+  0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65,\r
+  0x6e, 0x74, 0x20, 0x74, 0x6f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x74,\r
+  0x6f, 0x72, 0x69, 0x65, 0x73, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x61, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68,\r
+  0x65, 0x74, 0x68, 0x65, 0x72, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x6f,\r
+  0x72, 0x20, 0x69, 0x74, 0x73, 0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74,\r
+  0x69, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a,\r
+  0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78,\r
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6e,\r
+  0x63, 0x69, 0x70, 0x61, 0x6c, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73,\r
+  0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a,\r
+  0x65, 0x64, 0x20, 0x61, 0x73, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61,\r
+  0x6e, 0x74, 0x69, 0x61, 0x6c, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72,\r
+  0x75, 0x63, 0x74, 0x65, 0x64, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20,\r
+  0x73, 0x74, 0x61, 0x74, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e,\r
+  0x63, 0x65, 0x20, 0x74, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x61,\r
+  0x64, 0x75, 0x61, 0x74, 0x65, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72,\r
+  0x65, 0x20, 0x74, 0x77, 0x6f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63,\r
+  0x72, 0x69, 0x62, 0x65, 0x64, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x61,\r
+  0x73, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68,\r
+  0x65, 0x61, 0x64, 0x65, 0x72, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x61, 0x6c, 0x6c, 0x79, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65,\r
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x63,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69,\r
+  0x76, 0x65, 0x6c, 0x79, 0x2c, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69,\r
+  0x74, 0x69, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f,\r
+  0x72, 0x74, 0x20, 0x6f, 0x66, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x69,\r
+  0x6e, 0x20, 0x74, 0x68, 0x65, 0x32, 0x30, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e,\r
+  0x74, 0x75, 0x72, 0x79, 0x2e, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x75, 0x62, 0x6c,\r
+  0x69, 0x73, 0x68, 0x65, 0x64, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x68, 0x61, 0x72,\r
+  0x74, 0x62, 0x65, 0x61, 0x74, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72,\r
+  0x73, 0x74, 0x61, 0x6e, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x73,\r
+  0x74, 0x61, 0x74, 0x65, 0x73, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x61, 0x6c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x68, 0x61,\r
+  0x6c, 0x66, 0x20, 0x6f, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65,\r
+  0x73, 0x20, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63,\r
+  0x74, 0x75, 0x72, 0x61, 0x6c, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69,\r
+  0x64, 0x65, 0x72, 0x65, 0x64, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,\r
+  0x72, 0x69, 0x7a, 0x65, 0x64, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x74,\r
+  0x65, 0x72, 0x76, 0x61, 0x6c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,\r
+  0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x77, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, 0x63,\r
+  0x65, 0x65, 0x64, 0x65, 0x64, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72,\r
+  0x65, 0x20, 0x61, 0x72, 0x65, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x71,\r
+  0x75, 0x65, 0x6e, 0x63, 0x65, 0x74, 0x68, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73,\r
+  0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x63,\r
+  0x6c, 0x75, 0x64, 0x65, 0x64, 0x66, 0x72, 0x65, 0x65, 0x20, 0x73, 0x6f, 0x66,\r
+  0x74, 0x77, 0x61, 0x72, 0x65, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x74,\r
+  0x72, 0x6f, 0x79, 0x65, 0x64, 0x61, 0x77, 0x61, 0x79, 0x20, 0x66, 0x72, 0x6f,\r
+  0x6d, 0x20, 0x74, 0x68, 0x65, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68,\r
+  0x20, 0x74, 0x68, 0x65, 0x79, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,\r
+  0x20, 0x62, 0x79, 0x20, 0x61, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x77,\r
+  0x65, 0x72, 0x66, 0x75, 0x6c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64,\r
+  0x20, 0x69, 0x6e, 0x20, 0x61, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69,\r
+  0x74, 0x79, 0x20, 0x6f, 0x66, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c,\r
+  0x20, 0x6d, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73,\r
+  0x69, 0x64, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c,\r
+  0x20, 0x73, 0x6f, 0x6d, 0x65, 0x69, 0x73, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67,\r
+  0x68, 0x74, 0x20, 0x74, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x65, 0x6e, 0x64, 0x77, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f,\r
+  0x75, 0x6e, 0x63, 0x65, 0x64, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6f,\r
+  0x72, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x69, 0x6e, 0x63,\r
+  0x6c, 0x75, 0x64, 0x65, 0x73, 0x3e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20,\r
+  0x74, 0x79, 0x70, 0x65, 0x3d, 0x74, 0x68, 0x65, 0x20, 0x63, 0x65, 0x6e, 0x74,\r
+  0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x44, 0x4f, 0x20, 0x4e, 0x4f, 0x54, 0x20,\r
+  0x41, 0x4c, 0x54, 0x45, 0x52, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,\r
+  0x72, 0x65, 0x66, 0x65, 0x72, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x2f, 0x3f,\r
+  0x73, 0x6f, 0x72, 0x74, 0x3d, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x64,\r
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69,\r
+  0x73, 0x20, 0x66, 0x6f, 0x72, 0x68, 0x61, 0x73, 0x20, 0x64, 0x65, 0x76, 0x65,\r
+  0x6c, 0x6f, 0x70, 0x65, 0x64, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73,\r
+  0x75, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74,\r
+  0x69, 0x76, 0x65, 0x6c, 0x79, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20,\r
+  0x74, 0x68, 0x6f, 0x73, 0x65, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75,\r
+  0x6c, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x73,\r
+  0x73, 0x69, 0x62, 0x6c, 0x65, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20,\r
+  0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66,\r
+  0x72, 0x69, 0x63, 0x61, 0x6e, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x73, 0x61, 0x6d, 0x65, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,\r
+  0x65, 0x6e, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68,\r
+  0x20, 0x63, 0x61, 0x73, 0x65, 0x3b, 0x20, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61,\r
+  0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72,\r
+  0x65, 0x20, 0x61, 0x6e, 0x64, 0x3b, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72,\r
+  0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20,\r
+  0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d,\r
+  0x61, 0x72, 0x67, 0x69, 0x6e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e,\r
+  0x67, 0x20, 0x74, 0x68, 0x65, 0x62, 0x61, 0x68, 0x61, 0x73, 0x61, 0x20, 0x4d,\r
+  0x65, 0x6c, 0x61, 0x79, 0x75, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x62, 0x6f,\r
+  0x6b, 0x6d, 0xc3, 0xa5, 0x6c, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x6e, 0x79,\r
+  0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0xc5, 0xa1,\r
+  0xc4, 0x8d, 0x69, 0x6e, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x63,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x63, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x63, 0x61,\r
+  0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61,\r
+  0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63,\r
+  0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x22, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69,\r
+  0x67, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,\r
+  0x4e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x64, 0x6d, 0x69, 0x6e,\r
+  0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6d, 0x75,\r
+  0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x74, 0x72, 0x61,\r
+  0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,\r
+  0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6d,\r
+  0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a,\r
+  0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74,\r
+  0x79, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e,\r
+  0x0a, 0x3c, 0x2f, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x3d, 0x22, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75,\r
+  0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e,\r
+  0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d,\r
+  0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64,\r
+  0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3d, 0x68, 0x74, 0x74, 0x70,\r
+  0x25, 0x33, 0x41, 0x25, 0x32, 0x46, 0x25, 0x32, 0x46, 0x3c, 0x66, 0x6f, 0x72,\r
+  0x6d, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x6d, 0x65, 0x74,\r
+  0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x2f, 0x66,\r
+  0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x7d,\r
+  0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a,\r
+  0x2e, 0x73, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,\r
+  0x28, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x41, 0x72, 0x72, 0x61, 0x79,\r
+  0x28, 0x29, 0x3b, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d,\r
+  0x2d, 0x3e, 0x0d, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x62,\r
+  0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x55, 0x6e, 0x66, 0x6f, 0x72, 0x74, 0x75, 0x6e,\r
+  0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x22, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70,\r
+  0x3b, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x2f, 0x66, 0x61, 0x76, 0x69, 0x63,\r
+  0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x3e, 0x3d, 0x27, 0x73, 0x74, 0x79,\r
+  0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x27, 0x20, 0x69, 0x64, 0x65, 0x6e,\r
+  0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x66,\r
+  0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x3c, 0x6c,\r
+  0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x2f, 0x61,\r
+  0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,\r
+  0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f,\r
+  0x66, 0x70, 0x74, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69,\r
+  0x74, 0x22, 0x20, 0x0a, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x28, 0x29, 0x20, 0x7b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x73,\r
+  0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x41, 0x63, 0x63,\r
+  0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x64,\r
+  0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6c,\r
+  0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x64,\r
+  0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2e,\r
+  0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79,\r
+  0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x3d, 0x22, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x26, 0x71,\r
+  0x75, 0x6f, 0x74, 0x3b, 0x2d, 0x2d, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69,\r
+  0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x20, 0x4d, 0x69,\r
+  0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,\r
+  0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x3c,\r
+  0x61, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x74, 0x68, 0x65, 0x20, 0x68,\r
+  0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x6d,\r
+  0x6f, 0x75, 0x73, 0x65, 0x6f, 0x76, 0x65, 0x72, 0x3d, 0x22, 0x74, 0x68, 0x65,\r
+  0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x68, 0x72,\r
+  0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,\r
+  0x61, 0x73, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79,\r
+  0x77, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65,\r
+  0x64, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74,\r
+  0x69, 0x76, 0x65, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64,\r
+  0x65, 0x72, 0x65, 0x64, 0x3c, 0x21, 0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d,\r
+  0x2d, 0x2d, 0x3e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20,\r
+  0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73,\r
+  0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x72, 0x61, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, 0x61, 0x63,\r
+  0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x74,\r
+  0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f,\r
+  0x6e, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x73,\r
+  0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d,\r
+  0x3a, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20,\r
+  0x7b, 0x42, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x2e, 0x64, 0x74, 0x64,\r
+  0x22, 0x3e, 0x0a, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x2f, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70,\r
+  0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x61,\r
+  0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x73, 0x29, 0x3b,\r
+  0x20, 0x6a, 0x73, 0x2e, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x69, 0x64, 0x22, 0x20,\r
+  0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x25, 0x22, 0x72,\r
+  0x65, 0x67, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x52, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x43, 0x61, 0x74, 0x68, 0x6f, 0x6c, 0x69,\r
+  0x63, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65,\r
+  0x6e, 0x74, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74,\r
+  0x68, 0x3d, 0x22, 0x31, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,\r
+  0x77, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69,\r
+  0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x61, 0x65, 0x6f,\r
+  0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x20,\r
+  0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x6a, 0x73, 0x22, 0x3e,\r
+  0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x63, 0x6f, 0x6d, 0x62,\r
+  0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61,\r
+  0x72, 0x67, 0x69, 0x6e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x63, 0x72,\r
+  0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x77,\r
+  0x2e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x28,\r
+  0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72,\r
+  0x3e, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,\r
+  0x2f, 0x61, 0x49, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c,\r
+  0x61, 0x72, 0x2c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x6c, 0x65,\r
+  0x66, 0x74, 0x22, 0x20, 0x43, 0x7a, 0x65, 0x63, 0x68, 0x20, 0x52, 0x65, 0x70,\r
+  0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b,\r
+  0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70,\r
+  0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75,\r
+  0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c,\r
+  0x22, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3d, 0x22, 0x28, 0x66, 0x75, 0x6e,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x29, 0x20, 0x7b, 0x63, 0x6f, 0x6d,\r
+  0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x61, 0x70,\r
+  0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x3c,\r
+  0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73,\r
+  0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62,\r
+  0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70,\r
+  0x74, 0x27, 0x3c, 0x2f, 0x61, 0x3e, 0x0a, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x0a,\r
+  0x3c, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65,\r
+  0x72, 0x65, 0x6e, 0x74, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76,\r
+  0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x28, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x6b,\r
+  0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x09, 0x3c, 0x6c, 0x69, 0x3e, 0x3c,\r
+  0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x70,\r
+  0x75, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x65, 0x70, 0x61,\r
+  0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x72, 0x65, 0x66,\r
+  0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, 0x76,\r
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x22, 0x3e, 0x66,\r
+  0x6f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f,\r
+  0x20, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x20, 0x64, 0x69, 0x6f, 0x78, 0x69,\r
+  0x64, 0x65, 0x0a, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73,\r
+  0x73, 0x3d, 0x22, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x65, 0x61,\r
+  0x72, 0x63, 0x68, 0x2d, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x6f, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x6e,\r
+  0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,\r
+  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64,\r
+  0x3e, 0x0d, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x54, 0x69, 0xe1, 0xba,\r
+  0xbf, 0x6e, 0x67, 0x20, 0x56, 0x69, 0xe1, 0xbb, 0x87, 0x74, 0x63, 0x68, 0x61,\r
+  0x6e, 0x67, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x62, 0x6f,\r
+  0x72, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30,\r
+  0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20,\r
+  0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x3c, 0x77, 0x61, 0x73, 0x20, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,\r
+  0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78,\r
+  0x74, 0x22, 0x20, 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70,\r
+  0x74, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x63, 0x63, 0x6c, 0x65, 0x73, 0x69, 0x61,\r
+  0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x68,\r
+  0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,\r
+  0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x3c, 0x2f, 0x62, 0x6f, 0x64,\r
+  0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x68, 0x61, 0x73, 0x20,\r
+  0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65,\r
+  0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x69, 0x6e,\r
+  0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x61,\r
+  0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20,\r
+  0x69, 0x77, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72,\r
+  0x65, 0x64, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x65,\r
+  0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,\r
+  0x2d, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x74, 0x6f, 0x20, 0x62, 0x65,\r
+  0x20, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62,\r
+  0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x64,\r
+  0x64, 0x69, 0x6e, 0x67, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x74, 0x72,\r
+  0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69,\r
+  0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,\r
+  0x2f, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e,\r
+  0x6f, 0x74, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61,\r
+  0x6c, 0x73, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20,\r
+  0x6d, 0x61, 0x6e, 0x79, 0x61, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x6e,\r
+  0x75, 0x6d, 0x62, 0x65, 0x72, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61,\r
+  0x72, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x69, 0x6d, 0x70, 0x6f, 0x73, 0x73, 0x69,\r
+  0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x6c, 0x6f, 0x63, 0x61, 0x74,\r
+  0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x20, 0x48, 0x6f,\r
+  0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x61, 0x6e, 0x64,\r
+  0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x41, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x62,\r
+  0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x73,\r
+  0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68,\r
+  0x65, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x3d, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f,\r
+  0x73, 0x74, 0x22, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73,\r
+  0x69, 0x62, 0x6c, 0x65, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6c, 0x69, 0x6b, 0x65,\r
+  0x6c, 0x79, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65,\r
+  0x61, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c,\r
+  0x73, 0x6f, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73,\r
+  0x70, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x61, 0x6e, 0x6e, 0x6f, 0x75,\r
+  0x6e, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x6c, 0x69, 0x67,\r
+  0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x6d, 0x61, 0x6e,\r
+  0x79, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x66, 0x6f,\r
+  0x72, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x65,\r
+  0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,\r
+  0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x77, 0x61,\r
+  0x73, 0x70, 0x74, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x0d, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f,\r
+  0x70, 0x22, 0x20, 0x69, 0x6e, 0x68, 0x61, 0x62, 0x69, 0x74, 0x61, 0x6e, 0x74,\r
+  0x73, 0x20, 0x6f, 0x66, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67,\r
+  0x20, 0x79, 0x65, 0x61, 0x72, 0x0d, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,\r
+  0x76, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65,\r
+  0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x61, 0x72, 0x67, 0x75,\r
+  0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x67, 0x6f, 0x76,\r
+  0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x61, 0x20,\r
+  0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x74,\r
+  0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6c, 0x6f,\r
+  0x72, 0x3a, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68,\r
+  0x65, 0x72, 0x65, 0x62, 0x65, 0x73, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,\r
+  0x20, 0x66, 0x6f, 0x72, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x6e,\r
+  0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69,\r
+  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68,\r
+  0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e,\r
+  0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x63,\r
+  0x69, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x65, 0x64, 0x69, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x20, 0x3c,\r
+  0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x45, 0x6e,\r
+  0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61,\r
+  0x77, 0x61, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x3b, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74,\r
+  0x3a, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20,\r
+  0x6f, 0x66, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20,\r
+  0x77, 0x69, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20,\r
+  0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68,\r
+  0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69,\r
+  0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x3c, 0x73, 0x70, 0x61, 0x6e,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x63, 0x65,\r
+  0x6e, 0x64, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61,\r
+  0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x20, 0x61, 0x6c,\r
+  0x69, 0x67, 0x6e, 0x3d, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3c, 0x2f,\r
+  0x68, 0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x61,\r
+  0x73, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x68, 0x61, 0x73, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x65,\r
+  0x6e, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x20, 0x55, 0x6e, 0x69,\r
+  0x6f, 0x6e, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x63, 0x65, 0x6e, 0x74,\r
+  0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x69,\r
+  0x63, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x63, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73,\r
+  0x69, 0x64, 0x65, 0x6e, 0x74, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20,\r
+  0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69,\r
+  0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x66, 0x6f, 0x6e, 0x74, 0x2d,\r
+  0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x31, 0x70, 0x78, 0x65, 0x78, 0x70, 0x6c,\r
+  0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65,\r
+  0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x20, 0x6f, 0x66, 0x77, 0x72,\r
+  0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x09,\r
+  0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22,\r
+  0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x72, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x20,\r
+  0x74, 0x6f, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75,\r
+  0x6e, 0x64, 0x73, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x61, 0x69, 0x6e, 0x73, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20,\r
+  0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x69,\r
+  0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x70, 0x70,\r
+  0x6f, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x69, 0x6e,\r
+  0x70, 0x75, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x73,\r
+  0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x28,\r
+  0x4d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x29,\r
+  0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x6e,\r
+  0x74, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x6f,\r
+  0x70, 0x6c, 0x65, 0x77, 0x65, 0x72, 0x65, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69,\r
+  0x73, 0x68, 0x65, 0x64, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73,\r
+  0x73, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x31, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67,\r
+  0x68, 0x74, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x69,\r
+  0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x77, 0x68, 0x69, 0x63, 0x68,\r
+  0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x77, 0x68, 0x69, 0x63,\r
+  0x68, 0x20, 0x68, 0x61, 0x64, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x64, 0x65, 0x73,\r
+  0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x74, 0x68,\r
+  0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a,\r
+  0x09, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22,\r
+  0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x6f,\r
+  0x66, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x20, 0x75, 0x73,\r
+  0x65, 0x64, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x68,\r
+  0x61, 0x76, 0x65, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20,\r
+  0x74, 0x6f, 0x20, 0x62, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20,\r
+  0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x77, 0x61, 0x73, 0x20, 0x66,\r
+  0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65,\r
+  0x72, 0x76, 0x69, 0x65, 0x77, 0x20, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64,\r
+  0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x63, 0x61,\r
+  0x70, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0d,\r
+  0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73,\r
+  0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68,\r
+  0x61, 0x74, 0x78, 0x4d, 0x4c, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75,\r
+  0x65, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71,\r
+  0x75, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x6c, 0x61,\r
+  0x72, 0x67, 0x65, 0x73, 0x74, 0x76, 0x65, 0x72, 0x79, 0x20, 0x69, 0x6d, 0x70,\r
+  0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,\r
+  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63,\r
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x61, 0x70, 0x70, 0x6c, 0x69,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x72, 0x65,\r
+  0x69, 0x67, 0x6e, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x65,\r
+  0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x65, 0x73,\r
+  0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x69,\r
+  0x73, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x49, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,\r
+  0x6f, 0x6d, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x69, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x66,\r
+  0x74, 0x65, 0x72, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73,\r
+  0x65, 0x6e, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x66,\r
+  0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,\r
+  0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72,\r
+  0x20, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x20, 0x72,\r
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x3c, 0x73, 0x70,\r
+  0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x70, 0x65,\r
+  0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x28,\r
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0d,\r
+  0x69, 0x66, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69,\r
+  0x66, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,\r
+  0x77, 0x69, 0x74, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4e, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x68,\r
+  0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74,\r
+  0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x41, 0x73, 0x73, 0x6f, 0x63,\r
+  0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x0a, 0x3c, 0x2f, 0x68,\r
+  0x65, 0x61, 0x64, 0x3e, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x6c, 0x6f, 0x63,\r
+  0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73,\r
+  0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x28,\r
+  0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,\r
+  0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75,\r
+  0x61, 0x6c, 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d,\r
+  0x6f, 0x73, 0x74, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f,\r
+  0x74, 0x68, 0x65, 0x72, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20,\r
+  0x72, 0x65, 0x6c, 0x3d, 0x22, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,\r
+  0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72,\r
+  0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62,\r
+  0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,\r
+  0x72, 0x3a, 0x23, 0x66, 0x66, 0x66, 0x7d, 0x0a, 0x2e, 0x0a, 0x3c, 0x73, 0x70,\r
+  0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x68, 0x65,\r
+  0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x64, 0x65,\r
+  0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x3e,\r
+  0x0d, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22,\r
+  0x63, 0x6c, 0x61, 0x69, 0x6d, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68,\r
+  0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70,\r
+  0x65, 0x64, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74,\r
+  0x68, 0x3d, 0x22, 0x63, 0x65, 0x6c, 0x65, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x6f, 0x66, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x74, 0x69,\r
+  0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x62, 0x74, 0x61, 0x6b, 0x65, 0x73, 0x20,\r
+  0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x75, 0x6e, 0x64, 0x65, 0x72,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x6f, 0x74, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x3e, 0x3c, 0x21,\r
+  0x5b, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x2d, 0x2d, 0x3e, 0x0a, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x69,\r
+  0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68,\r
+  0x65, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20,\r
+  0x6f, 0x66, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x68, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,\r
+  0x73, 0x20, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,\r
+  0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64,\r
+  0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x77, 0x61, 0x73, 0x20, 0x65, 0x76,\r
+  0x65, 0x6e, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x68, 0x72, 0x6f, 0x75,\r
+  0x67, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x69, 0x73, 0x74, 0x68, 0x65, 0x20,\r
+  0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x6f, 0x6d,\r
+  0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x70,\r
+  0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x2f, 0x73,\r
+  0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x6c, 0x79, 0x20,\r
+  0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x0d,\r
+  0x0a, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61,\r
+  0x6c, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20,\r
+  0x74, 0x68, 0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20,\r
+  0x75, 0x73, 0x65, 0x64, 0x65, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x20, 0x66, 0x6f, 0x72, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61,\r
+  0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x65, 0x73, 0x73, 0x65,\r
+  0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x65, 0x72, 0x65, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x69, 0x73, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x74, 0x68, 0x61, 0x76, 0x65,\r
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x22, 0x20, 0x73,\r
+  0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6e,\r
+  0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x73,\r
+  0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x66,\r
+  0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22,\r
+  0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20,\r
+  0x6f, 0x66, 0x49, 0x49, 0x2c, 0x20, 0x48, 0x6f, 0x6c, 0x79, 0x20, 0x52, 0x6f,\r
+  0x6d, 0x61, 0x6e, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65,\r
+  0x64, 0x20, 0x74, 0x6f, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x69,\r
+  0x72, 0x20, 0x6f, 0x77, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20,\r
+  0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x74, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64,\r
+  0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x20, 0x6f,\r
+  0x66, 0x74, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x74, 0x6f, 0x20, 0x65,\r
+  0x6e, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x67, 0x72,\r
+  0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x61,\r
+  0x72, 0x65, 0x20, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79,\r
+  0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,\r
+  0x6e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74,\r
+  0x68, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69,\r
+  0x6e, 0x20, 0x61, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c,\r
+  0x2f, 0x75, 0x6c, 0x3e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66,\r
+  0x6f, 0x6f, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x73, 0x70, 0x65,\r
+  0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62,\r
+  0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e,\r
+  0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x77, 0x68, 0x69, 0x63, 0x68,\r
+  0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x3e, 0x0a, 0x3c, 0x6d,\r
+  0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6e,\r
+  0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x63, 0x61,\r
+  0x72, 0x72, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x62, 0x79, 0x48,\r
+  0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73,\r
+  0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f,\r
+  0x66, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x74, 0x6f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x69, 0x6e, 0x20,\r
+  0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61,\r
+  0x6c, 0x20, 0x6f, 0x66, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x66, 0x66, 0x69, 0x63,\r
+  0x69, 0x61, 0x6c, 0x6c, 0x79, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68, 0x61,\r
+  0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x74, 0x68, 0x65, 0x20, 0x48, 0x69, 0x73,\r
+  0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e,\r
+  0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x64, 0x69, 0x66, 0x66, 0x65,\r
+  0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x74, 0x6f, 0x20, 0x73,\r
+  0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x75, 0x67,\r
+  0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20,\r
+  0x20, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22,\r
+  0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x68,\r
+  0x69, 0x73, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77,\r
+  0x69, 0x74, 0x68, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x76, 0x65, 0x72,\r
+  0x73, 0x69, 0x74, 0x79, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x65, 0x78, 0x74, 0x20, 0x6f, 0x66, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x70, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20,\r
+  0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x71, 0x22, 0x09, 0x09, 0x3c, 0x64, 0x69,\r
+  0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x74, 0x68, 0x65, 0x20,\r
+  0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x72, 0x65, 0x70,\r
+  0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x6d, 0x61,\r
+  0x74, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x69, 0x61, 0x6e, 0x73, 0x65,\r
+  0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65,\r
+  0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65,\r
+  0x6e, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x22, 0x63, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, 0x61,\r
+  0x64, 0x65, 0x72, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75,\r
+  0x6c, 0x61, 0x72, 0x2c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64,\r
+  0x20, 0x69, 0x6e, 0x74, 0x6f, 0x29, 0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x70, 0x68, 0x69, 0x6c, 0x6f, 0x73, 0x6f,\r
+  0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x6f,\r
+  0x68, 0x72, 0x76, 0x61, 0x74, 0x73, 0x6b, 0x69, 0x74, 0x69, 0xe1, 0xba, 0xbf,\r
+  0x6e, 0x67, 0x20, 0x56, 0x69, 0xe1, 0xbb, 0x87, 0x74, 0xd0, 0xa0, 0xd1, 0x83,\r
+  0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb9, 0xd1, 0x80, 0xd1,\r
+  0x83, 0xd1, 0x81, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb9, 0x69, 0x6e,\r
+  0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x70,\r
+  0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e,\r
+  0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd1, 0x8b, 0xd0,\r
+  0xb5, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82,\r
+  0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd1,\r
+  0x8b, 0xd0, 0xb9, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb2,\r
+  0xd0, 0xb5, 0xd0, 0xba, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0,\r
+  0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd0, 0x9d, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0,\r
+  0xbe, 0xd1, 0x80, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xbb,\r
+  0xd0, 0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb2, 0xd1, 0x80, 0xd0,\r
+  0xb5, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe,\r
+  0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x8f, 0xd1, 0x81, 0xd0,\r
+  0xb5, 0xd0, 0xb3, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xbd, 0xd1, 0x8f, 0xd1, 0x81,\r
+  0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd0,\r
+  0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8,\r
+  0xd0, 0xa3, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1,\r
+  0x8b, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd1, 0x81,\r
+  0xd1, 0x8b, 0xd0, 0xba, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0,\r
+  0xbe, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xb4, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xb0,\r
+  0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xbe, 0xd1,\r
+  0x89, 0xd1, 0x8c, 0xd1, 0x8e, 0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x80, 0xd0,\r
+  0xb0, 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xbc, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe,\r
+  0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x83, 0xd1, 0x87, 0xd0,\r
+  0xb0, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb5,\r
+  0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0x93, 0xd0,\r
+  0xbb, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x8f, 0xd0, 0xb8,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1,\r
+  0x81, 0xd0, 0xb8, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbc, 0xd0, 0xb0,\r
+  0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x88, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1,\r
+  0x8f, 0xd0, 0xa1, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb0, 0xd1, 0x82,\r
+  0xd1, 0x8c, 0xd0, 0xbf, 0xd0, 0xbe, 0xd1, 0x8d, 0xd1, 0x82, 0xd0, 0xbe, 0xd0,\r
+  0xbc, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x83,\r
+  0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0,\r
+  0xb0, 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x82, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb0,\r
+  0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbd, 0xd0,\r
+  0xb5, 0xd1, 0x87, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb5, 0xd1, 0x88,\r
+  0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbe, 0xd1,\r
+  0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbe, 0xd1, 0x80,\r
+  0xd0, 0xb3, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xba, 0xd0,\r
+  0xbe, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xbc, 0xd0, 0xa0,\r
+  0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbb, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xb0, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x89,\r
+  0xd9, 0x85, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8,\r
+  0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xb6, 0xd9, 0x88,\r
+  0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa8, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9,\r
+  0x85, 0xd8, 0xac, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7,\r
+  0xd9, 0x82, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8, 0xb3, 0xd8,\r
+  0xa7, 0xd8, 0xa6, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1,\r
+  0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8,\r
+  0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1,\r
+  0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xb6, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xaa, 0xd8, 0xb5, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd8, 0xb9, 0xd8, 0xb6, 0xd8, 0xa7, 0xd8, 0xa1, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xa6, 0xd8, 0xac, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb3, 0xd8, 0xac, 0xd9, 0x8a, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd9, 0x82, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9,\r
+  0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb6, 0xd8, 0xba, 0xd8, 0xb7, 0xd8, 0xa7,\r
+  0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x8a, 0xd8, 0xaf, 0xd9,\r
+  0x8a, 0xd9, 0x88, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xad,\r
+  0xd9, 0x8a, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xaf, 0xd9,\r
+  0x8a, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb9,\r
+  0xd9, 0x84, 0xd9, 0x8a, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8,\r
+  0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7,\r
+  0xd9, 0x81, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xa3, 0xd9, 0x81, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xaa, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x8a, 0xd8, 0xae, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xaa, 0xd9, 0x82, 0xd9, 0x86, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd8, 0xa8, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xae, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xb7, 0xd8, 0xb1,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xac, 0xd8, 0xaa, 0xd9, 0x85, 0xd8,\r
+  0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaf, 0xd9, 0x8a, 0xd9, 0x83, 0xd9, 0x88,\r
+  0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8,\r
+  0xad, 0xd8, 0xa9, 0xd8, 0xb9, 0xd8, 0xa8, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd9, 0x84, 0xd9, 0x87, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8,\r
+  0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd9, 0x88,\r
+  0xd8, 0xa7, 0xd8, 0xa8, 0xd8, 0xb7, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa3, 0xd8,\r
+  0xaf, 0xd8, 0xa8, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7,\r
+  0xd8, 0xae, 0xd8, 0xa8, 0xd8, 0xa7, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd8, 0xaa, 0xd8, 0xad, 0xd8, 0xaf, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd8, 0xba, 0xd8, 0xa7, 0xd9, 0x86, 0xd9, 0x8a, 0x63, 0x75, 0x72,\r
+  0x73, 0x6f, 0x72, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x3c,\r
+  0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61,\r
+  0x20, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x3a, 0x2f, 0x2f, 0x22, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c,\r
+  0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x20,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,\r
+  0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74,\r
+  0x69, 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x2f, 0x61,\r
+  0x3e, 0x20, 0x7c, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22,\r
+  0x3c, 0x21, 0x64, 0x6f, 0x63, 0x74, 0x79, 0x70, 0x65, 0x20, 0x68, 0x74, 0x6d,\r
+  0x6c, 0x3e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x73, 0x63, 0x72, 0x65,\r
+  0x65, 0x6e, 0x22, 0x20, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76,\r
+  0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e,\r
+  0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x64,\r
+  0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x68, 0x61,\r
+  0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22,\r
+  0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, 0x22,\r
+  0x20, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d,\r
+  0x6c, 0x3e, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69,\r
+  0x63, 0x6f, 0x6e, 0x22, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e,\r
+  0x67, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x3a, 0x72, 0x65, 0x70, 0x72,\r
+  0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x73, 0x75,\r
+  0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22,\r
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72,\r
+  0x22, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6f, 0x75, 0x74, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x66,\r
+  0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x3c, 0x64, 0x69, 0x76,\r
+  0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69,\r
+  0x74, 0x22, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6f, 0x6e, 0x65,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20,\r
+  0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x22, 0x3e,\r
+  0x3c, 0x77, 0x61, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73,\r
+  0x68, 0x65, 0x64, 0x29, 0x3b, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66,\r
+  0x61, 0x6c, 0x73, 0x65, 0x3b, 0x22, 0x3e, 0x29, 0x2e, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x65, 0x63, 0x61,\r
+  0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f,\r
+  0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65,\r
+  0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d,\r
+  0x22, 0x2f, 0x7d, 0x62, 0x6f, 0x64, 0x79, 0x7b, 0x6d, 0x61, 0x72, 0x67, 0x69,\r
+  0x6e, 0x3a, 0x30, 0x3b, 0x45, 0x6e, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x70, 0x65,\r
+  0x64, 0x69, 0x61, 0x20, 0x6f, 0x66, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x2e, 0x63, 0x72, 0x65, 0x61,\r
+  0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x3c,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a,\r
+  0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x20, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x20,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x70,\r
+  0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x72, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73,\r
+  0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74,\r
+  0x72, 0x69, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e,\r
+  0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x49, 0x6e, 0x20, 0x6f, 0x74,\r
+  0x68, 0x65, 0x72, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2c, 0x64, 0x69, 0x73,\r
+  0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x2f, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e,\r
+  0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x20,\r
+  0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x63,\r
+  0x65, 0x6e, 0x74, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x0d, 0x0a, 0x09, 0x3c,\r
+  0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a,\r
+  0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c,\r
+  0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20,\r
+  0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x2e, 0x6a, 0x73,\r
+  0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x20,\r
+  0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,\r
+  0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62,\r
+  0x65, 0x65, 0x6e, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x20, 0x6c, 0x61, 0x6e,\r
+  0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,\r
+  0x69, 0x73, 0x74, 0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x63, 0x6f, 0x6e, 0x73,\r
+  0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x62, 0x6f,\r
+  0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c,\r
+  0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,\r
+  0x3d, 0x22, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74,\r
+  0x79, 0x20, 0x6f, 0x66, 0x22, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22,\r
+  0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,\r
+  0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20,\r
+  0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x4f, 0x72, 0x74,\r
+  0x68, 0x6f, 0x64, 0x6f, 0x78, 0x20, 0x43, 0x68, 0x75, 0x72, 0x63, 0x68, 0x73,\r
+  0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c,\r
+  0x3d, 0x22, 0x73, 0x77, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x68, 0x69,\r
+  0x73, 0x20, 0x64, 0x65, 0x61, 0x74, 0x68, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a,\r
+  0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x6f, 0x74, 0x68, 0x65,\r
+  0x72, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65,\r
+  0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6c,\r
+  0x61, 0x6e, 0x64, 0x73, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20,\r
+  0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,\r
+  0x75, 0x6e, 0x64, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x61, 0x72, 0x67, 0x75, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x63, 0x72,\r
+  0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22, 0x20, 0x69,\r
+  0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,\r
+  0x65, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63,\r
+  0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65,\r
+  0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72,\r
+  0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x64, 0x65, 0x76, 0x65,\r
+  0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x72,\r
+  0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64,\r
+  0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x6f, 0x66, 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61,\r
+  0x72, 0x20, 0x74, 0x6f, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x61, 0x6c, 0x69, 0x67, 0x6e,\r
+  0x3d, 0x22, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x77, 0x6f, 0x75,\r
+  0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69,\r
+  0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x3d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66,\r
+  0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76,\r
+  0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x73, 0x20, 0x64,\r
+  0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x6e, 0x61,\r
+  0x6d, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65,\r
+  0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x74, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77,\r
+  0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20,\r
+  0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63,\r
+  0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x6d, 0x6f, 0x73,\r
+  0x74, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x69,\r
+  0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e,\r
+  0x64, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20,\r
+  0x74, 0x68, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61,\r
+  0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x77, 0x61, 0x73, 0x20,\r
+  0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79, 0x61, 0x6e,\r
+  0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,\r
+  0x69, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66,\r
+  0x6f, 0x72, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73,\r
+  0x20, 0x74, 0x68, 0x65, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x75, 0x63, 0x63,\r
+  0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x61,\r
+  0x73, 0x20, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x61, 0x20, 0x63, 0x6f, 0x6d,\r
+  0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x48, 0x69, 0x73,\r
+  0x74, 0x6f, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77,\r
+  0x65, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65,\r
+  0x64, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x55, 0x6e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,\r
+  0x64, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3e, 0x0a, 0x09, 0x3c, 0x64, 0x69,\r
+  0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x73,\r
+  0x69, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74,\r
+  0x6f, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,\r
+  0x79, 0x20, 0x6f, 0x66, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x20, 0x74,\r
+  0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x6f,\r
+  0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x65, 0x6e, 0x61, 0x62, 0x6c,\r
+  0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x28, 0x66, 0x75, 0x6e,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x49,\r
+  0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e,\r
+  0x74, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x2f, 0x64,\r
+  0x69, 0x76, 0x3e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29,\r
+  0x7b, 0x76, 0x61, 0x72, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65,\r
+  0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72,\r
+  0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x46, 0x6f,\r
+  0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x6e,\r
+  0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74,\r
+  0x22, 0x20, 0x77, 0x61, 0x73, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65,\r
+  0x64, 0x20, 0x62, 0x79, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6d, 0x64, 0x61, 0x73,\r
+  0x68, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70,\r
+  0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6a, 0x73, 0x22, 0x3e, 0x3c,\r
+  0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x75, 0x6c, 0x3e,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61,\r
+  0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x61, 0x74,\r
+  0x68, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74,\r
+  0x20, 0x74, 0x6f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x64,\r
+  0x64, 0x69, 0x6e, 0x67, 0x3a, 0x69, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69,\r
+  0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,\r
+  0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x3b, 0x20, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x69, 0x73,\r
+  0x20, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f,\r
+  0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0x20, 0x28, 0xe7, 0xae, 0x80, 0xe4, 0xbd,\r
+  0x93, 0x29, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x61, 0x62, 0x69, 0x6c,\r
+  0x69, 0x64, 0x61, 0x64, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72,\r
+  0x61, 0x63, 0x69, 0xc3, 0xb3, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,\r
+  0x63, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x72, 0x65,\r
+  0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x65, 0xe0, 0xa4, 0x89,\r
+  0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0,\r
+  0xa4, 0xaa, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb5, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0,\r
+  0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x81, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4,\r
+  0xbf, 0xe0, 0xa4, 0x8f, 0xe0, 0xa4, 0xad, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4,\r
+  0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9c,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0,\r
+  0xa4, 0xac, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0,\r
+  0xa5, 0x89, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb9,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0,\r
+  0xa5, 0x83, 0xe0, 0xa4, 0xb7, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa4,\r
+  0xac, 0xe0, 0xa4, 0xa2, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xaa, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4,\r
+  0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x96, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0xb2, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5,\r
+  0x8c, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xae,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xae, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4,\r
+  0xac, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xa6, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9b,\r
+  0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0xb6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x89,\r
+  0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xac, 0xe0, 0xa4,\r
+  0x88, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8b,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xa2, 0xe0, 0xa4,\r
+  0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xab, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa4,\r
+  0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf,\r
+  0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9b, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x9b, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4,\r
+  0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97,\r
+  0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x8f, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4,\r
+  0xbf, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0x98,\r
+  0xe0, 0xa4, 0xa3, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xa6, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8b,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb5, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82,\r
+  0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae,\r
+  0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa6, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xac, 0xe0, 0xa4,\r
+  0xbf, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa,\r
+  0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb7, 0xe0,\r
+  0xa4, 0xb9, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5,\r
+  0x80, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x81, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4,\r
+  0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x83, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4,\r
+  0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0x98, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xb5,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x96, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xae, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0,\r
+  0xa5, 0x88, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0xa4, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa5, 0x87, 0x72, 0x73, 0x73, 0x2b, 0x78, 0x6d, 0x6c, 0x22, 0x20, 0x74, 0x69,\r
+  0x74, 0x6c, 0x65, 0x3d, 0x22, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, 0x65,\r
+  0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x61, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x69, 0x6d,\r
+  0x65, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70,\r
+  0x74, 0x3e, 0x0a, 0x3c, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d,\r
+  0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e,\r
+  0x3e, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x76, 0x65, 0x72,\r
+  0x74, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x74,\r
+  0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a,\r
+  0x73, 0x22, 0x3e, 0x2e, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x28, 0x66, 0x75, 0x6e,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,\r
+  0x22, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x2d, 0x7d, 0x29, 0x28, 0x29,\r
+  0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c,\r
+  0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74,\r
+  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x29, 0x3b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72,\r
+  0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d,\r
+  0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73,\r
+  0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x6e, 0x6f, 0x22,\r
+  0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6c, 0x61,\r
+  0x70, 0x73, 0x65, 0x3a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65,\r
+  0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x42, 0x61, 0x68, 0x61, 0x73, 0x61,\r
+  0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x45, 0x6e, 0x67,\r
+  0x6c, 0x69, 0x73, 0x68, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,\r
+  0x3c, 0x74, 0x65, 0x78, 0x74, 0x20, 0x78, 0x6d, 0x6c, 0x3a, 0x73, 0x70, 0x61,\r
+  0x63, 0x65, 0x3d, 0x2e, 0x67, 0x69, 0x66, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64,\r
+  0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e,\r
+  0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x6f, 0x76, 0x65, 0x72,\r
+  0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3b, 0x69,\r
+  0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a,\r
+  0x2f, 0x2f, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73,\r
+  0x74, 0x65, 0x6e, 0x65, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69,\r
+  0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x2e, 0x6a, 0x73, 0x22,\r
+  0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x2f, 0x66,\r
+  0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x2e, 0x69, 0x63, 0x6f, 0x22, 0x20, 0x2f,\r
+  0x3e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79,\r
+  0x73, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,\r
+  0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x53, 0x74, 0x61,\r
+  0x74, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79,\r
+  0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x6c, 0x65,\r
+  0x66, 0x74, 0x3b, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e,\r
+  0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75,\r
+  0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x6f, 0x75,\r
+  0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x29,\r
+  0x3b, 0x0d, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d,\r
+  0x0a, 0x3c, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x68, 0x65,\r
+  0x69, 0x67, 0x68, 0x74, 0x3a, 0x3b, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f,\r
+  0x77, 0x3a, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x6d, 0x6f, 0x72, 0x65, 0x20,\r
+  0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6e,\r
+  0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61,\r
+  0x6c, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65,\r
+  0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x3c, 0x2f, 0x64,\r
+  0x69, 0x76, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a,\r
+  0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x65,\r
+  0x3b, 0x22, 0x3e, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x6e, 0x6b,\r
+  0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x0a, 0x20, 0x20, 0x28, 0x66, 0x75, 0x6e,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x74, 0x68, 0x65, 0x20,\r
+  0x31, 0x35, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x2e,\r
+  0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c,\r
+  0x74, 0x28, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65,\r
+  0x72, 0x20, 0x6f, 0x66, 0x20, 0x42, 0x79, 0x7a, 0x61, 0x6e, 0x74, 0x69, 0x6e,\r
+  0x65, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72, 0x65, 0x2e, 0x6a, 0x70, 0x67, 0x7c,\r
+  0x74, 0x68, 0x75, 0x6d, 0x62, 0x7c, 0x6c, 0x65, 0x66, 0x74, 0x7c, 0x76, 0x61,\r
+  0x73, 0x74, 0x20, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f,\r
+  0x66, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3d, 0x22, 0x63,\r
+  0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72,\r
+  0x73, 0x69, 0x74, 0x79, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x64, 0x6f, 0x6d,\r
+  0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65,\r
+  0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x20,\r
+  0x57, 0x61, 0x72, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x74, 0x68, 0x65, 0x20,\r
+  0x72, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63,\r
+  0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c,\r
+  0x6c, 0x6f, 0x77, 0x22, 0x3e, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x73, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x72, 0x61, 0x74, 0x68, 0x65,\r
+  0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x20,\r
+  0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,\r
+  0x66, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68,\r
+  0x3a, 0x31, 0x30, 0x30, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x2d, 0x73,\r
+  0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74,\r
+  0x65, 0x72, 0x20, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x62, 0x6f, 0x72,\r
+  0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22,\r
+  0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65,\r
+  0x20, 0x6f, 0x66, 0x44, 0x65, 0x6d, 0x6f, 0x63, 0x72, 0x61, 0x74, 0x69, 0x63,\r
+  0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65,\r
+  0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x46, 0x6f, 0x72, 0x20,\r
+  0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2c, 0x2e,\r
+  0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e,\r
+  0x0a, 0x09, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28,\r
+  0x73, 0x29, 0x5b, 0x30, 0x5d, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x2e, 0x6a, 0x73, 0x22, 0x3e,\r
+  0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x6c, 0x69,\r
+  0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x22,\r
+  0x20, 0x27, 0x20, 0x61, 0x6c, 0x74, 0x3d, 0x27, 0x27, 0x20, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x3d, 0x27, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,\r
+  0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x61,\r
+  0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x2f, 0x70, 0x61, 0x67, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x67,\r
+  0x65, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20,\r
+  0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x62, 0x61, 0x68, 0x61,\r
+  0x73, 0x61, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x65,\r
+  0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x28, 0x73, 0x69, 0x6d, 0x70, 0x6c,\r
+  0x65, 0x29, 0xce, 0x95, 0xce, 0xbb, 0xce, 0xbb, 0xce, 0xb7, 0xce, 0xbd, 0xce,\r
+  0xb9, 0xce, 0xba, 0xce, 0xac, 0xd1, 0x85, 0xd1, 0x80, 0xd0, 0xb2, 0xd0, 0xb0,\r
+  0xd1, 0x82, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xbe, 0xd0,\r
+  0xbc, 0xd0, 0xbf, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb8, 0xd1, 0x8f,\r
+  0xd0, 0xb2, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x81, 0xd1,\r
+  0x8f, 0xd0, 0x94, 0xd0, 0xbe, 0xd0, 0xb1, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xb8,\r
+  0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x87, 0xd0, 0xb5, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0,\r
+  0xb2, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7,\r
+  0xd0, 0xb2, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0x98, 0xd0,\r
+  0xbd, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x82,\r
+  0xd0, 0x9e, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xb8, 0xd1,\r
+  0x82, 0xd1, 0x8c, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb8,\r
+  0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x82, 0xd0,\r
+  0xb5, 0xd1, 0x80, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xba, 0xd0, 0xbe,\r
+  0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd0, 0xbe, 0xd1,\r
+  0x81, 0xd1, 0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x86,\r
+  0xd1, 0x8b, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x81, 0xd1,\r
+  0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x83, 0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xbe,\r
+  0xd0, 0xb2, 0xd0, 0xb8, 0xd1, 0x8f, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0,\r
+  0xbe, 0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbc, 0xd1, 0x8b, 0xd0, 0xbf,\r
+  0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x83, 0xd1, 0x87, 0xd0, 0xb8, 0xd1, 0x82, 0xd1,\r
+  0x8c, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0, 0xbb, 0xd1, 0x8f, 0xd1, 0x8e, 0xd1, 0x82,\r
+  0xd1, 0x81, 0xd1, 0x8f, 0xd0, 0xbd, 0xd0, 0xb0, 0xd0, 0xb8, 0xd0, 0xb1, 0xd0,\r
+  0xbe, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb5, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbc,\r
+  0xd0, 0xbf, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xb2, 0xd0,\r
+  0xbd, 0xd0, 0xb8, 0xd0, 0xbc, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0, 0xb5,\r
+  0xd1, 0x81, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb4, 0xd1, 0x81, 0xd1, 0x82, 0xd0,\r
+  0xb2, 0xd0, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x88, 0xd8, 0xa7,\r
+  0xd8, 0xb6, 0xd9, 0x8a, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1, 0xd8,\r
+  0xa6, 0xd9, 0x8a, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84,\r
+  0xd8, 0xa7, 0xd9, 0x86, 0xd8, 0xaa, 0xd9, 0x82, 0xd8, 0xa7, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa,\r
+  0xd9, 0x83, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb3, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8,\r
+  0xb1, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd9, 0x83,\r
+  0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xa8, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8,\r
+  0xb3, 0xd8, 0xb9, 0xd9, 0x88, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7,\r
+  0xd8, 0xad, 0xd8, 0xb5, 0xd8, 0xa7, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8,\r
+  0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85,\r
+  0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb5, 0xd9, 0x88, 0xd8,\r
+  0xaa, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7,\r
+  0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xb1, 0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd9, 0x85,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9,\r
+  0x85, 0xd9, 0x8a, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7,\r
+  0xd8, 0xb1, 0xd9, 0x83, 0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8,\r
+  0xb1, 0xd8, 0xa6, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0x72, 0x6f, 0x62, 0x6f,\r
+  0x74, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74,\r
+  0x65, 0x72, 0x22, 0x3e, 0x74, 0x68, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65,\r
+  0x64, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x3c, 0x69, 0x6d, 0x67, 0x20,\r
+  0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x2e,\r
+  0x6a, 0x70, 0x67, 0x7c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x7c, 0x74, 0x68, 0x75,\r
+  0x6d, 0x62, 0x7c, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x66, 0x72,\r
+  0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22,\r
+  0x20, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20,\r
+  0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64,\r
+  0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x66, 0x6f, 0x6e,\r
+  0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x6f, 0x6c, 0x64,\r
+  0x3b, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x26,\r
+  0x71, 0x75, 0x6f, 0x74, 0x3b, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e,\r
+  0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x67,\r
+  0x69, 0x6e, 0x3a, 0x30, 0x3b, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3a,\r
+  0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c,\r
+  0x6f, 0x77, 0x22, 0x20, 0x50, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x77, 0x65, 0x6e, 0x74,\r
+  0x69, 0x65, 0x74, 0x68, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x65,\r
+  0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x70,\r
+  0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x45,\r
+  0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x61, 0x2e, 0x61, 0x73, 0x79, 0x6e,\r
+  0x63, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0d, 0x0a, 0x69, 0x6e,\r
+  0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f,\r
+  0x75, 0x74, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65,\r
+  0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x3c, 0x61, 0x20,\r
+  0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,\r
+  0x2f, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x65, 0x6e, 0x74, 0x22, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x64, 0x65, 0x72, 0x69,\r
+  0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x27, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67,\r
+  0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x0a, 0x3c, 0x2f, 0x62, 0x6f,\r
+  0x64, 0x79, 0x3e, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x73,\r
+  0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x73, 0x69,\r
+  0x7a, 0x65, 0x3a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x6c, 0x61, 0x6e,\r
+  0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x41, 0x72, 0x69, 0x61, 0x6c, 0x2c,\r
+  0x20, 0x48, 0x65, 0x6c, 0x76, 0x65, 0x74, 0x69, 0x63, 0x61, 0x2c, 0x3c, 0x2f,\r
+  0x61, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x3d, 0x22, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x3c, 0x73,\r
+  0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63,\r
+  0x61, 0x6c, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x65, 0x73, 0x74, 0x64, 0x3e,\r
+  0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e,\r
+  0x3c, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,\r
+  0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65,\r
+  0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x72, 0x65, 0x6c, 0x3d,\r
+  0x22, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20,\r
+  0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74,\r
+  0x65, 0x28, 0x27, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22,\r
+  0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e,\r
+  0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,\r
+  0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,\r
+  0x74, 0x68, 0x65, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d,\r
+  0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x22, 0x3e, 0x20, 0x74,\r
+  0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b,\r
+  0x22, 0x3e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,\r
+  0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x68, 0x74, 0x74, 0x70, 0x25, 0x33, 0x41,\r
+  0x25, 0x32, 0x46, 0x25, 0x32, 0x46, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x61, 0x6e,\r
+  0x69, 0x66, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f,\r
+  0x66, 0x50, 0x72, 0x69, 0x6d, 0x65, 0x20, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74,\r
+  0x65, 0x72, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6c, 0x61, 0x73,\r
+  0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66, 0x69, 0x78, 0x22, 0x3e,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x0d, 0x0a, 0x0d, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2d, 0x64, 0x69, 0x6d,\r
+  0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x68, 0x75, 0x72, 0x63,\r
+  0x68, 0x20, 0x6f, 0x66, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x61, 0x6e, 0x64, 0x6f,\r
+  0x66, 0x20, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x43, 0x61, 0x72, 0x6f, 0x6c,\r
+  0x69, 0x6e, 0x61, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x20, 0x6b, 0x69, 0x6c,\r
+  0x6f, 0x6d, 0x65, 0x74, 0x72, 0x65, 0x73, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76,\r
+  0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x64, 0x69,\r
+  0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74,\r
+  0x68, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6b, 0x6e,\r
+  0x6f, 0x77, 0x6e, 0x20, 0x61, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x74, 0x69,\r
+  0x63, 0x20, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x64, 0x65, 0x63,\r
+  0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68,\r
+  0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x62,\r
+  0x79, 0x20, 0x74, 0x68, 0x65, 0x42, 0x65, 0x6e, 0x6a, 0x61, 0x6d, 0x69, 0x6e,\r
+  0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x6c, 0x69, 0x6e, 0x72, 0x6f, 0x6c, 0x65,\r
+  0x2d, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x67, 0x61, 0x6d, 0x65,\r
+  0x74, 0x68, 0x65, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74,\r
+  0x79, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72,\r
+  0x6e, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x70, 0x65, 0x72, 0x73, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50,\r
+  0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x47, 0x75, 0x74, 0x65, 0x6e, 0x62,\r
+  0x65, 0x72, 0x67, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x6c, 0x65, 0x73, 0x73,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65,\r
+  0x65, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x74, 0x6f,\r
+  0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74,\r
+  0x68, 0x65, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65,\r
+  0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x6d, 0x69, 0x6e,\r
+  0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c,\r
+  0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3c, 0x69, 0x6d, 0x67,\r
+  0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f,\r
+  0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79,\r
+  0x20, 0x74, 0x68, 0x65, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x20, 0x72,\r
+  0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x63, 0x6c, 0x61, 0x73, 0x73,\r
+  0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x63,\r
+  0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65,\r
+  0x72, 0x65, 0x64, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x20, 0x6d, 0x65,\r
+  0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x73, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x74,\r
+  0x68, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x69,\r
+  0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x61,\r
+  0x67, 0x6f, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0xce, 0x95, 0xce, 0xbb, 0xce, 0xbb, 0xce,\r
+  0xb7, 0xce, 0xbd, 0xce, 0xb9, 0xce, 0xba, 0xce, 0xac, 0x0a, 0x74, 0x61, 0x6b,\r
+  0x65, 0x20, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x20, 0x6f,\r
+  0x66, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x6f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,\r
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x4d, 0x69, 0x63, 0x72,\r
+  0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73,\r
+  0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x63, 0x65, 0x6e,\r
+  0x74, 0x75, 0x72, 0x79, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x64, 0x69, 0x76, 0x20, 0x63,\r
+  0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,\r
+  0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20,\r
+  0x74, 0x68, 0x65, 0x6e, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x78,\r
+  0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x73, 0x65,\r
+  0x76, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,\r
+  0x6e, 0x74, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x77, 0x6f, 0x72, 0x6c, 0x64, 0x2e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x69, 0x6e,\r
+  0x67, 0x20, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, 0x79, 0x69, 0x73, 0x6f,\r
+  0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68,\r
+  0x65, 0x6f, 0x70, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,\r
+  0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x6c, 0x64, 0x20,\r
+  0x54, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x66, 0x72, 0x69,\r
+  0x63, 0x61, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x73,\r
+  0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f,\r
+  0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f,\r
+  0x70, 0x6f, 0x6c, 0x69, 0x74, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x61, 0x6d,\r
+  0x61, 0x6b, 0x65, 0x73, 0x20, 0x69, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69,\r
+  0x62, 0x6c, 0x65, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67,\r
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x72, 0x67, 0x75, 0x61, 0x62,\r
+  0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x74, 0x79,\r
+  0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22,\r
+  0x3e, 0x0a, 0x74, 0x68, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x3d,\r
+  0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e,\r
+  0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x20, 0x77, 0x69, 0x74,\r
+  0x68, 0x20, 0x74, 0x68, 0x65, 0x74, 0x77, 0x6f, 0x2d, 0x74, 0x68, 0x69, 0x72,\r
+  0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x44, 0x75, 0x72, 0x69,\r
+  0x6e, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c,\r
+  0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65,\r
+  0x72, 0x69, 0x6f, 0x64, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x69,\r
+  0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61,\r
+  0x6e, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x6e,\r
+  0x74, 0x6c, 0x79, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x74,\r
+  0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x73, 0x63, 0x69,\r
+  0x6f, 0x75, 0x73, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x66, 0x6f,\r
+  0x72, 0x6d, 0x65, 0x72, 0x6c, 0x79, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20,\r
+  0x61, 0x73, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61,\r
+  0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6f, 0x63, 0x63,\r
+  0x61, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65,\r
+  0x64, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x62, 0x73,\r
+  0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65,\r
+  0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x70, 0x6f,\r
+  0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,\r
+  0x76, 0x65, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e,\r
+  0x3a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x78, 0x2f, 0x6c,\r
+  0x69, 0x62, 0x73, 0x2f, 0x6a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x31, 0x2e,\r
+  0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f,\r
+  0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70,\r
+  0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x6e, 0x67,\r
+  0x75, 0x61, 0x67, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,\r
+  0x3d, 0x22, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d,\r
+  0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63,\r
+  0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x61, 0x3e, 0x65,\r
+  0x28, 0x22, 0x25, 0x33, 0x43, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73,\r
+  0x72, 0x63, 0x3d, 0x27, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d,\r
+  0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x4f, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64,\r
+  0x2c, 0x2e, 0x6a, 0x70, 0x67, 0x7c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x7c, 0x72,\r
+  0x69, 0x67, 0x68, 0x74, 0x7c, 0x32, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c,\r
+  0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x64,\r
+  0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6c, 0x6f,\r
+  0x61, 0x74, 0x3a, 0x6e, 0x69, 0x6e, 0x65, 0x74, 0x65, 0x65, 0x6e, 0x74, 0x68,\r
+  0x20, 0x63, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x79, 0x3c, 0x2f, 0x62, 0x6f, 0x64,\r
+  0x79, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0x0a,\r
+  0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x3b, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c,\r
+  0x69, 0x67, 0x6e, 0x3a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x6f, 0x6e,\r
+  0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x62, 0x6f, 0x6c,\r
+  0x64, 0x3b, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72,\r
+  0x65, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x22,\r
+  0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d,\r
+  0x22, 0x30, 0x22, 0x20, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x6c, 0x69, 0x6e, 0x6b,\r
+  0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,\r
+  0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x34, 0x2f, 0x6c, 0x6f, 0x6f, 0x73, 0x65, 0x2e,\r
+  0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20,\r
+  0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x3c, 0x2f,\r
+  0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74, 0x61, 0x62,\r
+  0x6c, 0x65, 0x3e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65,\r
+  0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x66, 0x6f, 0x72, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65,\r
+  0x3b, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a,\r
+  0x62, 0x6f, 0x6c, 0x64, 0x3b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79,\r
+  0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x3c, 0x73, 0x70,\r
+  0x61, 0x6e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e,\r
+  0x74, 0x2d, 0x6f, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x73, 0x74, 0x61, 0x74,\r
+  0x65, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x09, 0x3c, 0x64, 0x69, 0x76, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x64,\r
+  0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d,\r
+  0x70, 0x6c, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x20, 0x77, 0x69,\r
+  0x64, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x65, 0x74, 0x79, 0x20, 0x6f, 0x66,\r
+  0x20, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74,\r
+  0x6d, 0x6c, 0x3e, 0x0d, 0x0a, 0x3c, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26,\r
+  0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x22, 0x3e,\r
+  0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x3a, 0x2f, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6c, 0x6f,\r
+  0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6e, 0x63, 0x65,\r
+  0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65,\r
+  0x3d, 0x68, 0x74, 0x74, 0x70, 0x25, 0x33, 0x41, 0x25, 0x32, 0x46, 0x25, 0x32,\r
+  0x46, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c,\r
+  0x61, 0x72, 0x20, 0x63, 0x75, 0x6c, 0x74, 0x75, 0x72, 0x65, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20,\r
+  0x2f, 0x3e, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69,\r
+  0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x48, 0x61, 0x72, 0x76, 0x61, 0x72,\r
+  0x64, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x74,\r
+  0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20,\r
+  0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4f, 0x78, 0x66, 0x6f,\r
+  0x72, 0x64, 0x20, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79,\r
+  0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6b, 0x65, 0x79, 0x77, 0x6f,\r
+  0x72, 0x64, 0x73, 0x22, 0x20, 0x63, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22,\r
+  0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x74, 0x68,\r
+  0x65, 0x20, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, 0x69, 0x6e, 0x67,\r
+  0x64, 0x6f, 0x6d, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x67, 0x6f,\r
+  0x76, 0x65, 0x72, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x3c, 0x64, 0x69, 0x76, 0x20,\r
+  0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e,\r
+  0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e,\r
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x64, 0x69,\r
+  0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x68, 0x65, 0x61, 0x64,\r
+  0x65, 0x72, 0x2e, 0x6d, 0x69, 0x6e, 0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x64, 0x65, 0x73, 0x74, 0x72, 0x75,\r
+  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x73,\r
+  0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65,\r
+  0x72, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64,\r
+  0x61, 0x6e, 0x63, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x74, 0x65, 0x6c, 0x65,\r
+  0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x73, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68,\r
+  0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79,\r
+  0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x65, 0x73,\r
+  0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x20, 0x63,\r
+  0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x48, 0x6f, 0x77, 0x65, 0x76,\r
+  0x65, 0x72, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65,\r
+  0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73,\r
+  0x74, 0x61, 0x74, 0x69, 0x63, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65,\r
+  0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x22, 0x20, 0x73,\r
+  0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77,\r
+  0x77, 0x2e, 0x61, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d,\r
+  0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x54, 0x65, 0x6c, 0x65, 0x63, 0x6f,\r
+  0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,\r
+  0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x6e, 0x6f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,\r
+  0x77, 0x22, 0x20, 0x74, 0x48, 0x6f, 0x6c, 0x79, 0x20, 0x52, 0x6f, 0x6d, 0x61,\r
+  0x6e, 0x20, 0x45, 0x6d, 0x70, 0x65, 0x72, 0x6f, 0x72, 0x61, 0x6c, 0x6d, 0x6f,\r
+  0x73, 0x74, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c,\r
+  0x79, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x3d, 0x22, 0x30, 0x22,\r
+  0x20, 0x61, 0x6c, 0x74, 0x3d, 0x22, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x61,\r
+  0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x63, 0x75,\r
+  0x6c, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20,\r
+  0x74, 0x68, 0x65, 0x43, 0x49, 0x41, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x20,\r
+  0x46, 0x61, 0x63, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x74, 0x68, 0x65, 0x20, 0x6d,\r
+  0x6f, 0x73, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74,\r
+  0x61, 0x6e, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x72, 0x79, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62,\r
+  0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x3c, 0x6c, 0x69,\r
+  0x3e, 0x3c, 0x65, 0x6d, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d,\r
+  0x22, 0x2f, 0x74, 0x68, 0x65, 0x20, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69,\r
+  0x63, 0x20, 0x4f, 0x63, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,\r
+  0x6c, 0x79, 0x20, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2c, 0x73,\r
+  0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65,\r
+  0x20, 0x74, 0x68, 0x65, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74,\r
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x68, 0x65, 0x20,\r
+  0x4f, 0x74, 0x74, 0x6f, 0x6d, 0x61, 0x6e, 0x20, 0x45, 0x6d, 0x70, 0x69, 0x72,\r
+  0x65, 0x3e, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68,\r
+  0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x41, 0x6e, 0x20, 0x49, 0x6e, 0x74, 0x72,\r
+  0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x63, 0x6f,\r
+  0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20,\r
+  0x74, 0x68, 0x65, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x65,\r
+  0x64, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73,\r
+  0x69, 0x6e, 0x64, 0x69, 0x67, 0x65, 0x6e, 0x6f, 0x75, 0x73, 0x20, 0x70, 0x65,\r
+  0x6f, 0x70, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x65, 0x64, 0x69,\r
+  0x6e, 0x67, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6e, 0x66,\r
+  0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x20, 0x68, 0x61,\r
+  0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76,\r
+  0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x64,\r
+  0x69, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74,\r
+  0x68, 0x72, 0x65, 0x65, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x74, 0x20,\r
+  0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x69, 0x73, 0x20, 0x72,\r
+  0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f,\r
+  0x72, 0x64, 0x69, 0x73, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20,\r
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f,\r
+  0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x77, 0x69,\r
+  0x64, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x67, 0x61, 0x72, 0x64, 0x65, 0x64,\r
+  0x20, 0x61, 0x73, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6d,\r
+  0x70, 0x6f, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x66, 0x6f, 0x75, 0x6e, 0x64,\r
+  0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,\r
+  0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x65, 0x70,\r
+  0x75, 0x62, 0x6c, 0x69, 0x63, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x74, 0x68, 0x65,\r
+  0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20,\r
+  0x6f, 0x66, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x76,\r
+  0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20,\r
+  0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x72,\r
+  0x65, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72,\r
+  0x61, 0x6c, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x69, 0x73, 0x20, 0x61,\r
+  0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x6c,\r
+  0x79, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75,\r
+  0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65,\r
+  0x6e, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x63, 0x6f,\r
+  0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x69,\r
+  0x64, 0x65, 0x6f, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x69, 0x63, 0x20, 0x6c,\r
+  0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, 0x63, 0x63, 0x6f,\r
+  0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20,\r
+  0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f,\r
+  0x6d, 0x20, 0x74, 0x68, 0x65, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x6c, 0x79, 0x20,\r
+  0x61, 0x66, 0x74, 0x65, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,\r
+  0x77, 0x2e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x76, 0x65,\r
+  0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20,\r
+  0x6f, 0x66, 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x3c,\r
+  0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x73, 0x65,\r
+  0x61, 0x72, 0x63, 0x68, 0x7c, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x49, 0x6e, 0x20, 0x70,\r
+  0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x2c, 0x20, 0x74, 0x68,\r
+  0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x6f,\r
+  0x74, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65,\r
+  0x72, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x74, 0x68,\r
+  0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x79, 0x65,\r
+  0x61, 0x72, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x3c, 0x2f, 0x64, 0x69, 0x76,\r
+  0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a,\r
+  0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x69, 0x6e, 0x64, 0x65,\r
+  0x78, 0x2e, 0x70, 0x68, 0x70, 0x77, 0x61, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61,\r
+  0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x6d, 0x69, 0x6e,\r
+  0x2e, 0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x3e, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65,\r
+  0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x61, 0x20, 0x73, 0x74, 0x72, 0x6f,\r
+  0x6e, 0x67, 0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73,\r
+  0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d,\r
+  0x74, 0x6f, 0x70, 0x3a, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,\r
+  0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x67, 0x72, 0x61, 0x64,\r
+  0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68,\r
+  0x65, 0x54, 0x72, 0x61, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c,\r
+  0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x28, 0x22, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x29, 0x3b, 0x48, 0x6f,\r
+  0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20,\r
+  0x74, 0x68, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x3b,\r
+  0x20, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3a,\r
+  0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x67,\r
+  0x61, 0x69, 0x6e, 0x73, 0x74, 0x30, 0x3b, 0x20, 0x76, 0x65, 0x72, 0x74, 0x69,\r
+  0x63, 0x61, 0x6c, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x55, 0x6e, 0x66,\r
+  0x6f, 0x72, 0x74, 0x75, 0x6e, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c, 0x20, 0x74,\r
+  0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65,\r
+  0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a,\r
+  0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x66,\r
+  0x69, 0x78, 0x22, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73,\r
+  0x73, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x09, 0x09, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x0a, 0x09, 0x09, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x0a, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70,\r
+  0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0xd0, 0x91, 0xd1, 0x8a, 0xd0, 0xbb, 0xd0,\r
+  0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xb1,\r
+  0xd1, 0x8a, 0xd0, 0xbb, 0xd0, 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0,\r
+  0xba, 0xd0, 0xb8, 0xd0, 0xa4, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x80,\r
+  0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbd, 0xd0, 0xb5, 0xd1,\r
+  0x81, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x89, 0xd0, 0xb5, 0xd0,\r
+  0xbd, 0xd0, 0xb8, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd0, 0xb1,\r
+  0xd1, 0x89, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xbf, 0xd1,\r
+  0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0, 0xbc,\r
+  0xd1, 0x8b, 0xd0, 0x9e, 0xd1, 0x82, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0,\r
+  0xb2, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xb1, 0xd0, 0xb5, 0xd1, 0x81,\r
+  0xd0, 0xbf, 0xd0, 0xbb, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbd, 0xd0, 0xbe, 0xd0,\r
+  0xbc, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb0,\r
+  0xd0, 0xbb, 0xd1, 0x8b, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xb7, 0xd0, 0xb2, 0xd0,\r
+  0xbe, 0xd0, 0xbb, 0xd1, 0x8f, 0xd0, 0xb5, 0xd1, 0x82, 0xd0, 0xbf, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xb4, 0xd0, 0xbd, 0xd0, 0xb8, 0xd0,\r
+  0xb5, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb7, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x87,\r
+  0xd0, 0xbd, 0xd1, 0x8b, 0xd1, 0x85, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xbe, 0xd0,\r
+  0xb4, 0xd1, 0x83, 0xd0, 0xba, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbf,\r
+  0xd1, 0x80, 0xd0, 0xbe, 0xd0, 0xb3, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbc, 0xd0,\r
+  0xbc, 0xd0, 0xb0, 0xd0, 0xbf, 0xd0, 0xbe, 0xd0, 0xbb, 0xd0, 0xbd, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd1, 0x8e, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1,\r
+  0x85, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd1, 0x82, 0xd1, 0x81, 0xd1, 0x8f,\r
+  0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xb1, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0,\r
+  0xbd, 0xd0, 0xbe, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xb5,\r
+  0xd0, 0xbb, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xb8, 0xd0,\r
+  0xb7, 0xd0, 0xbc, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8,\r
+  0xd1, 0x8f, 0xd0, 0xba, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0,\r
+  0xbe, 0xd1, 0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0x90, 0xd0, 0xbb, 0xd0, 0xb5,\r
+  0xd0, 0xba, 0xd1, 0x81, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb4, 0xd1, 0x80, 0xe0,\r
+  0xa4, 0xa6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xaa, 0xe0,\r
+  0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa4,\r
+  0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa5, 0x81, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa6,\r
+  0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa1, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4,\r
+  0xbf, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x80,\r
+  0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x9a,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x9a, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0x82,\r
+  0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0xa6, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0x85, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0x91, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0xb6, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8b,\r
+  0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xab, 0xe0, 0xa4,\r
+  0xbc, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x88, 0xe0, 0xa4, 0xb6,\r
+  0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0,\r
+  0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xaa,\r
+  0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xaf, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4,\r
+  0xa6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0x89, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x9a, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xa1, 0xe0,\r
+  0xa4, 0xbc, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x85, 0xe0, 0xa4,\r
+  0xa8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa6,\r
+  0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xa3, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa5,\r
+  0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb9, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0,\r
+  0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x82, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0x9a, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x89, 0xe0,\r
+  0xa4, 0xaa, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xa7, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0,\r
+  0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x95, 0xe0, 0xa4,\r
+  0x89, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x80,\r
+  0xe0, 0xa4, 0xa6, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa7, 0xe0,\r
+  0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xac, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa6, 0xe0,\r
+  0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x80, 0xe0, 0xa4,\r
+  0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x86,\r
+  0xe0, 0xa4, 0x88, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x8f, 0xe0,\r
+  0xa4, 0xb2, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xac, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0x87, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82,\r
+  0xe0, 0xa4, 0x96, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x86, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0, 0xa4,\r
+  0xb6, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x85, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x81,\r
+  0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xac, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbc, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa4, 0xae, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x96, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb6, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5,\r
+  0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xa5, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x86, 0xe0, 0xa4, 0xaf, 0xe0, 0xa5,\r
+  0x8b, 0xe0, 0xa4, 0x9c, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb0, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8, 0xa7, 0xd8,\r
+  0xb1, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85,\r
+  0xd9, 0x86, 0xd8, 0xaa, 0xd8, 0xaf, 0xd9, 0x8a, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd9, 0x83, 0xd9, 0x85, 0xd8, 0xa8, 0xd9, 0x8a, 0xd9, 0x88,\r
+  0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb4, 0xd8,\r
+  0xa7, 0xd9, 0x87, 0xd8, 0xaf, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xb9, 0xd8, 0xaf,\r
+  0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb2, 0xd9, 0x88, 0xd8, 0xa7, 0xd8,\r
+  0xb1, 0xd8, 0xb9, 0xd8, 0xaf, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xb1,\r
+  0xd8, 0xaf, 0xd9, 0x88, 0xd8, 0xaf, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa5, 0xd8,\r
+  0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a, 0xd8, 0xa9, 0xd8, 0xa7,\r
+  0xd9, 0x84, 0xd9, 0x81, 0xd9, 0x88, 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xb4, 0xd9,\r
+  0x88, 0xd8, 0xa8, 0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd8, 0xa7,\r
+  0xd8, 0xa8, 0xd9, 0x82, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd9,\r
+  0x85, 0xd8, 0xb9, 0xd9, 0x84, 0xd9, 0x88, 0xd9, 0x85, 0xd8, 0xa7, 0xd8, 0xaa,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xb3, 0xd9,\r
+  0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xac, 0xd8, 0xb1,\r
+  0xd8, 0xa7, 0xd9, 0x81, 0xd9, 0x8a, 0xd9, 0x83, 0xd8, 0xb3, 0xd8, 0xa7, 0xd9,\r
+  0x84, 0xd8, 0xa7, 0xd8, 0xb3, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x85, 0xd9, 0x8a,\r
+  0xd8, 0xa9, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0xd8, 0xb5, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8, 0xaa, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,\r
+  0x64, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22,\r
+  0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67,\r
+  0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x74,\r
+  0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61,\r
+  0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,\r
+  0x3d, 0x22, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x74, 0x61,\r
+  0x62, 0x6c, 0x65, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69,\r
+  0x6e, 0x67, 0x3d, 0x22, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d, 0x70, 0x6c,\r
+  0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, 0x20, 0x74, 0x65, 0x78,\r
+  0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a, 0x20, 0x63, 0x65, 0x6e, 0x74,\r
+  0x65, 0x72, 0x3b, 0x74, 0x6f, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x76, 0x65,\r
+  0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x62, 0x61, 0x63, 0x6b,\r
+  0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a,\r
+  0x20, 0x23, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x2f, 0x64, 0x69, 0x76, 0x3e,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64,\r
+  0x3d, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x23, 0x22, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67,\r
+  0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,\r
+  0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68,\r
+  0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70,\r
+  0x74, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x2f,\r
+  0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,\r
+  0x77, 0x77, 0x77, 0x2e, 0x77, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x52,\r
+  0x49, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x28, 0x22, 0x20,\r
+  0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73,\r
+  0x73, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x64, 0x6f, 0x63,\r
+  0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x27,\r
+  0x3c, 0x73, 0x63, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,\r
+  0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x3b, 0x73, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a,\r
+  0x2f, 0x2f, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72,\r
+  0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x3a, 0x2e, 0x6d, 0x69, 0x6e, 0x2e,\r
+  0x6a, 0x73, 0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e,\r
+  0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67,\r
+  0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20,\r
+  0x0a, 0x0d, 0x0a, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x3c,\r
+  0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x2f,\r
+  0x22, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22, 0x5f, 0x62, 0x6c,\r
+  0x61, 0x6e, 0x6b, 0x22, 0x3e, 0x3c, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x68, 0x72,\r
+  0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x65, 0x6e,\r
+  0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38,\r
+  0x22, 0x3f, 0x3e, 0x0a, 0x77, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e,\r
+  0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x3f, 0x61, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77,\r
+  0x77, 0x77, 0x2e, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20, 0x73, 0x74, 0x79,\r
+  0x6c, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,\r
+  0x64, 0x3a, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f,\r
+  0x63, 0x73, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x20,\r
+  0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3d, 0x22, 0x6f, 0x67, 0x3a,\r
+  0x74, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,\r
+  0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65,\r
+  0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x3a,\r
+  0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65,\r
+  0x65, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x68,\r
+  0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d,\r
+  0x75, 0x74, 0x66, 0x2d, 0x38, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69,\r
+  0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x74, 0x61,\r
+  0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30,\r
+  0x30, 0x25, 0x22, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,\r
+  0x73, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x64, 0x65, 0x76, 0x65,\r
+  0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72,\r
+  0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x3c, 0x2f, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3e, 0x0a, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74,\r
+  0x2d, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x31, 0x3e, 0x3c, 0x2f, 0x73, 0x70, 0x61,\r
+  0x6e, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x69, 0x64, 0x3d, 0x67, 0x62,\r
+  0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x43, 0x6f,\r
+  0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x3c, 0x69, 0x6d, 0x67, 0x20, 0x73, 0x72,\r
+  0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x69, 0x6d, 0x45,\r
+  0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x20,\r
+  0x6f, 0x66, 0x20, 0x53, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x64, 0x69,\r
+  0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70,\r
+  0x6c, 0x61, 0x79, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x2e, 0x67, 0x65,\r
+  0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x28,\r
+  0x69, 0x64, 0x29, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27, 0x29,\r
+  0x3b, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65,\r
+  0x72, 0x74, 0x79, 0x3d, 0x22, 0x6f, 0x67, 0x3a, 0xd0, 0x91, 0xd1, 0x8a, 0xd0,\r
+  0xbb, 0xd0, 0xb3, 0xd0, 0xb0, 0xd1, 0x80, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xb8,\r
+  0x0a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22,\r
+  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x3e, 0x50, 0x72, 0x69, 0x76, 0x61,\r
+  0x63, 0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3c, 0x2f, 0x61, 0x3e,\r
+  0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20,\r
+  0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53,\r
+  0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,\r
+  0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, 0x71, 0x75, 0x6f, 0x74, 0x3b, 0x6d, 0x61,\r
+  0x72, 0x67, 0x69, 0x6e, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x3e, 0x3c,\r
+  0x69, 0x6d, 0x67, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x3a, 0x2f, 0x2f, 0x69, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x26, 0x71,\r
+  0x75, 0x6f, 0x74, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x72, 0x65, 0x66,\r
+  0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20, 0x74,\r
+  0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x70, 0x75,\r
+  0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x6e, 0x20, 0x57,\r
+  0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x2c, 0x20, 0x44, 0x2e,\r
+  0x43, 0x2e, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63,\r
+  0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x61, 0x6d, 0x6f, 0x6e, 0x67,\r
+  0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73,\r
+  0x2c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,\r
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,\r
+  0x69, 0x70, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,\r
+  0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,\r
+  0x69, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x66,\r
+  0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x61, 0x72,\r
+  0x61, 0x63, 0x74, 0x65, 0x72, 0x20, 0x4f, 0x78, 0x66, 0x6f, 0x72, 0x64, 0x20,\r
+  0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x20, 0x6d, 0x69,\r
+  0x73, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e,\r
+  0x67, 0x20, 0x6f, 0x66, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65,\r
+  0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x73, 0x74, 0x79,\r
+  0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x2f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x20, 0x55,\r
+  0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x65, 0x78, 0x70, 0x61,\r
+  0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75,\r
+  0x64, 0x65, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x66,\r
+  0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x69, 0x6e, 0x64, 0x69, 0x63,\r
+  0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68,\r
+  0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74,\r
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x61, 0x66, 0x66, 0x69, 0x6c, 0x69,\r
+  0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65,\r
+  0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62,\r
+  0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,\r
+  0x6f, 0x66, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x3e,\r
+  0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f, 0x74,\r
+  0x61, 0x62, 0x6c, 0x65, 0x3e, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,\r
+  0x20, 0x6f, 0x66, 0x20, 0x49, 0x72, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x0a, 0x3c,\r
+  0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65,\r
+  0x20, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20,\r
+  0x74, 0x68, 0x65, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x77,\r
+  0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x68, 0x65, 0x61, 0x64,\r
+  0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74,\r
+  0x68, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x61, 0x72,\r
+  0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x6d, 0x70, 0x6c, 0x69,\r
+  0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64, 0x65,\r
+  0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x64, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61,\r
+  0x6c, 0x20, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x6f, 0x66,\r
+  0x62, 0x65, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61,\r
+  0x73, 0x69, 0x6e, 0x67, 0x6c, 0x79, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,\r
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x4e,\r
+  0x6f, 0x74, 0x65, 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c,\r
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20,\r
+  0x74, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61,\r
+  0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66,\r
+  0x20, 0x74, 0x68, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x61, 0x6e, 0x63,\r
+  0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x72,\r
+  0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20,\r
+  0x74, 0x68, 0x65, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x65,\r
+  0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x75, 0x6e, 0x64, 0x65,\r
+  0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x69, 0x73, 0x20, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x63, 0x6f,\r
+  0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x68, 0x69, 0x73, 0x20, 0x79,\r
+  0x6f, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x62, 0x72, 0x6f, 0x74, 0x68, 0x65,\r
+  0x72, 0x3c, 0x2f, 0x74, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x72, 0x3e, 0x3c, 0x2f,\r
+  0x74, 0x61, 0x62, 0x6c, 0x65, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70,\r
+  0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x58, 0x2d, 0x55, 0x41, 0x2d,\r
+  0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x72, 0x6f, 0x70,\r
+  0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x6f, 0x66, 0x20, 0x42, 0x72, 0x69, 0x74,\r
+  0x69, 0x73, 0x68, 0x20, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x61, 0x68,\r
+  0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x63, 0x72, 0x69, 0x74, 0x69,\r
+  0x63, 0x69, 0x7a, 0x65, 0x64, 0x28, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x71, 0x75,\r
+  0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74,\r
+  0x20, 0x74, 0x68, 0x65, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74,\r
+  0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68, 0x65, 0x30, 0x22, 0x20,\r
+  0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22,\r
+  0x30, 0x22, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x73, 0x20,\r
+  0x6f, 0x66, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x72, 0x65, 0x64, 0x69,\r
+  0x72, 0x65, 0x63, 0x74, 0x73, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x20, 0x46,\r
+  0x6f, 0x72, 0x68, 0x61, 0x76, 0x65, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72,\r
+  0x65, 0x6e, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x25, 0x33, 0x45, 0x25, 0x33,\r
+  0x43, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x25, 0x33, 0x45, 0x22, 0x29,\r
+  0x29, 0x3b, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74,\r
+  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x3c, 0x6c, 0x69, 0x3e,\r
+  0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x3a, 0x2f, 0x2f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22,\r
+  0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x65, 0x78,\r
+  0x74, 0x2d, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a,\r
+  0x6e, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69,\r
+  0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x6d,\r
+  0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69,\r
+  0x76, 0x3d, 0x22, 0x58, 0x2d, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65,\r
+  0x28, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x20,\r
+  0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78,\r
+  0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e,\r
+  0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22,\r
+  0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76,\r
+  0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,\r
+  0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x72, 0x65,\r
+  0x66, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x6a, 0x61, 0x76,\r
+  0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, 0x2d, 0x2d, 0x3e, 0x0d, 0x0a,\r
+  0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,\r
+  0x22, 0x74, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x27, 0x68, 0x74,\r
+  0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x68, 0x6f, 0x72, 0x74,\r
+  0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x72, 0x65,\r
+  0x66, 0x3d, 0x22, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0d, 0x0a, 0x3c, 0x64,\r
+  0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x3c, 0x73, 0x63,\r
+  0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x74, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20,\r
+  0x74, 0x79, 0x70, 0x65, 0x3d, 0x2f, 0x61, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x20,\r
+  0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72,\r
+  0x65, 0x6e, 0x63, 0x79, 0x3d, 0x22, 0x58, 0x2d, 0x55, 0x41, 0x2d, 0x43, 0x6f,\r
+  0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e,\r
+  0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x20,\r
+  0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x20, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x2f, 0x75,\r
+  0x6c, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x61, 0x73, 0x73, 0x6f, 0x63,\r
+  0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67,\r
+  0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3c, 0x2f, 0x61, 0x3e,\r
+  0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x3a, 0x2f, 0x2f, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c,\r
+  0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x66, 0x6f, 0x72,\r
+  0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x74, 0x79,\r
+  0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d,\r
+  0x65, 0x3d, 0x22, 0x71, 0x22, 0x3c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77,\r
+  0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x25, 0x22, 0x20, 0x62,\r
+  0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x70, 0x6f, 0x73,\r
+  0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x22, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65,\r
+  0x72, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22,\r
+  0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74,\r
+  0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20, 0x68, 0x36, 0x3e, 0x3c, 0x75, 0x6c,\r
+  0x3e, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d,\r
+  0x22, 0x20, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70,\r
+  0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x63, 0x73, 0x73, 0x22, 0x20,\r
+  0x6d, 0x65, 0x64, 0x69, 0x61, 0x3d, 0x22, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e,\r
+  0x22, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65,\r
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x22, 0x20, 0x74, 0x79,\r
+  0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x2f, 0x22, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x62,\r
+  0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x68, 0x74, 0x6d,\r
+  0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74,\r
+  0x66, 0x2d, 0x38, 0x22, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x74, 0x72, 0x61,\r
+  0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x3d, 0x22, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x74, 0x65, 0x0d, 0x0a, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20,\r
+  0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x3e,\r
+  0x3c, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x3e, 0x3c, 0x73, 0x70, 0x61, 0x6e, 0x20,\r
+  0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c,\r
+  0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x3e,\r
+  0x3b, 0x0a, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x69,\r
+  0x6d, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x68,\r
+  0x65, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x65, 0x63,\r
+  0x65, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x20, 0x6d,\r
+  0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69,\r
+  0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x3c, 0x21, 0x44, 0x4f,\r
+  0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c, 0x68,\r
+  0x74, 0x6d, 0x6c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72,\r
+  0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61,\r
+  0x6d, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70,\r
+  0x74, 0x3a, 0x76, 0x6f, 0x69, 0x64, 0x28, 0x30, 0x29, 0x3b, 0x22, 0x65, 0x66,\r
+  0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x6f,\r
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6f, 0x6d,\r
+  0x70, 0x6c, 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22, 0x20, 0x67,\r
+  0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x73,\r
+  0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x3e, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74,\r
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20,\r
+  0x22, 0x3e, 0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3e, 0x0d, 0x0a,\r
+  0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67,\r
+  0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c,\r
+  0x64, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x6d, 0x69, 0x73, 0x63, 0x6f,\r
+  0x6e, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x73, 0x73, 0x6f, 0x63,\r
+  0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74,\r
+  0x68, 0x65, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x64, 0x75, 0x72, 0x69,\r
+  0x6e, 0x67, 0x20, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69,\r
+  0x6d, 0x65, 0x2c, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64,\r
+  0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63,\r
+  0x6f, 0x6e, 0x22, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61,\r
+  0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x64, 0x69,\r
+  0x70, 0x6c, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x20, 0x72, 0x65, 0x6c, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x74, 0x65,\r
+  0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x6d,\r
+  0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22,\r
+  0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74,\r
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20,\r
+  0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c,\r
+  0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x22, 0x3e, 0x3c, 0x69, 0x6d, 0x67,\r
+  0x20, 0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,\r
+  0x69, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x74, 0x68, 0x65, 0x20, 0x65,\r
+  0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x20,\r
+  0x6f, 0x66, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x64, 0x69,\r
+  0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x26, 0x61, 0x6d, 0x70,\r
+  0x3b, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x26, 0x61, 0x6d, 0x70, 0x3b, 0x6e, 0x62,\r
+  0x73, 0x70, 0x3b, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69,\r
+  0x6e, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x71, 0x75, 0x69,\r
+  0x74, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20,\r
+  0x66, 0x72, 0x6f, 0x6d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x69,\r
+  0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65,\r
+  0x6e, 0x20, 0x74, 0x68, 0x65, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x63,\r
+  0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65,\r
+  0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x77, 0x69, 0x64, 0x65, 0x6c, 0x79, 0x20,\r
+  0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f,\r
+  0x77, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,\r
+  0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x77, 0x69, 0x74, 0x68, 0x20, 0x76,\r
+  0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65,\r
+  0x73, 0x68, 0x61, 0x76, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61,\r
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x28, 0x64, 0x6f, 0x63, 0x75,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69,\r
+  0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x69, 0x67,\r
+  0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f,\r
+  0x70, 0x65, 0x64, 0x65, 0x74, 0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65,\r
+  0x74, 0x3d, 0x22, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x3e, 0x20, 0x74, 0x79,\r
+  0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22,\r
+  0x20, 0x2f, 0x3e, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e,\r
+  0x67, 0x65, 0x61, 0x62, 0x6c, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6d, 0x6f,\r
+  0x72, 0x65, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x6c, 0x79, 0x20, 0x72, 0x65,\r
+  0x6c, 0x61, 0x74, 0x65, 0x64, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x61,\r
+  0x6e, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x74,\r
+  0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x74, 0x68,\r
+  0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x70, 0x65, 0x72, 0x70, 0x65, 0x6e, 0x64,\r
+  0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65,\r
+  0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74,\r
+  0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,\r
+  0x22, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x72, 0x65, 0x73,\r
+  0x69, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x76, 0x65, 0x6c,\r
+  0x6f, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69,\r
+  0x65, 0x73, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x20, 0x70, 0x72,\r
+  0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x65, 0x63, 0x6f, 0x6e,\r
+  0x6f, 0x6d, 0x69, 0x63, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x66, 0x6f, 0x72,\r
+  0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,\r
+  0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x76, 0x65, 0x72, 0x61,\r
+  0x6c, 0x20, 0x6f, 0x63, 0x63, 0x61, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x6f,\r
+  0x72, 0x74, 0x75, 0x67, 0x75, 0xc3, 0xaa, 0x73, 0x20, 0x28, 0x45, 0x75, 0x72,\r
+  0x6f, 0x70, 0x65, 0x75, 0x29, 0xd0, 0xa3, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0,\r
+  0xd1, 0x97, 0xd0, 0xbd, 0xd1, 0x81, 0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xb0, 0xd1,\r
+  0x83, 0xd0, 0xba, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x97, 0xd0, 0xbd, 0xd1, 0x81,\r
+  0xd1, 0x8c, 0xd0, 0xba, 0xd0, 0xb0, 0xd0, 0xa0, 0xd0, 0xbe, 0xd1, 0x81, 0xd1,\r
+  0x81, 0xd0, 0xb8, 0xd0, 0xb9, 0xd1, 0x81, 0xd0, 0xba, 0xd0, 0xbe, 0xd0, 0xb9,\r
+  0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd1, 0x80, 0xd0, 0xb8, 0xd0,\r
+  0xb0, 0xd0, 0xbb, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84,\r
+  0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0,\r
+  0xb8, 0xd1, 0x83, 0xd0, 0xbf, 0xd1, 0x80, 0xd0, 0xb0, 0xd0, 0xb2, 0xd0, 0xbb,\r
+  0xd0, 0xb5, 0xd0, 0xbd, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0xbd, 0xd0, 0xb5, 0xd0,\r
+  0xbe, 0xd0, 0xb1, 0xd1, 0x85, 0xd0, 0xbe, 0xd0, 0xb4, 0xd0, 0xb8, 0xd0, 0xbc,\r
+  0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd0,\r
+  0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd1, 0x8f, 0xd0, 0x98, 0xd0, 0xbd,\r
+  0xd1, 0x84, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0,\r
+  0xb8, 0xd1, 0x8f, 0xd0, 0xa0, 0xd0, 0xb5, 0xd1, 0x81, 0xd0, 0xbf, 0xd1, 0x83,\r
+  0xd0, 0xb1, 0xd0, 0xbb, 0xd0, 0xb8, 0xd0, 0xba, 0xd0, 0xb8, 0xd0, 0xba, 0xd0,\r
+  0xbe, 0xd0, 0xbb, 0xd0, 0xb8, 0xd1, 0x87, 0xd0, 0xb5, 0xd1, 0x81, 0xd1, 0x82,\r
+  0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xbd, 0xd1, 0x84, 0xd0, 0xbe, 0xd1,\r
+  0x80, 0xd0, 0xbc, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd1, 0x8e, 0xd1, 0x82,\r
+  0xd0, 0xb5, 0xd1, 0x80, 0xd1, 0x80, 0xd0, 0xb8, 0xd1, 0x82, 0xd0, 0xbe, 0xd1,\r
+  0x80, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb4, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82,\r
+  0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xbe, 0xd1, 0x87, 0xd0, 0xbd, 0xd0, 0xbe, 0xd8,\r
+  0xa7, 0xd9, 0x84, 0xd9, 0x85, 0xd8, 0xaa, 0xd9, 0x88, 0xd8, 0xa7, 0xd8, 0xac,\r
+  0xd8, 0xaf, 0xd9, 0x88, 0xd9, 0x86, 0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd8,\r
+  0xb4, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8, 0xa7, 0xd9, 0x83, 0xd8, 0xa7, 0xd8, 0xaa,\r
+  0xd8, 0xa7, 0xd9, 0x84, 0xd8, 0xa7, 0xd9, 0x82, 0xd8, 0xaa, 0xd8, 0xb1, 0xd8,\r
+  0xa7, 0xd8, 0xad, 0xd8, 0xa7, 0xd8, 0xaa, 0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20,\r
+  0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x55, 0x54, 0x46, 0x2d, 0x38,\r
+  0x22, 0x20, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28,\r
+  0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x64, 0x69, 0x73,\r
+  0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x62,\r
+  0x6c, 0x6f, 0x63, 0x6b, 0x3b, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74,\r
+  0x79, 0x70, 0x65, 0x3d, 0x22, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x20,\r
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x2f,\r
+  0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x3c, 0x69, 0x6d, 0x67, 0x20,\r
+  0x73, 0x72, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77,\r
+  0x77, 0x77, 0x2e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,\r
+  0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x73, 0x68,\r
+  0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x20,\r
+  0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x63,\r
+  0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x22,\r
+  0x20, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64,\r
+  0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x3c, 0x2f, 0x61, 0x3e,\r
+  0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x0a, 0x3c, 0x6c, 0x69, 0x20, 0x63, 0x6c, 0x61,\r
+  0x73, 0x73, 0x3d, 0x22, 0x63, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,\r
+  0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x3c,\r
+  0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22,\r
+  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73,\r
+  0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a,\r
+  0x2f, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x61,\r
+  0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x22, 0x20, 0x0d, 0x0a, 0x3c,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x74, 0x65, 0x78, 0x74, 0x2f, 0x20, 0x6f, 0x6e, 0x63, 0x6c, 0x69, 0x63, 0x6b,\r
+  0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a,\r
+  0x28, 0x6e, 0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x67, 0x65,\r
+  0x74, 0x54, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x7d, 0x68, 0x65, 0x69, 0x67, 0x68,\r
+  0x74, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22,\r
+  0x31, 0x22, 0x20, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x27, 0x73, 0x20, 0x52,\r
+  0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x20, 0x3c,\r
+  0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a,\r
+  0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x2d, 0x64, 0x65,\r
+  0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x75, 0x6e, 0x64, 0x65,\r
+  0x72, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e,\r
+  0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x0a, 0x3c, 0x2f, 0x64,\r
+  0x69, 0x76, 0x3e, 0x0a, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68,\r
+  0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x3c,\r
+  0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f,\r
+  0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x23, 0x76, 0x69, 0x65, 0x77, 0x70,\r
+  0x6f, 0x72, 0x74, 0x7b, 0x6d, 0x69, 0x6e, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68,\r
+  0x74, 0x3a, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72,\r
+  0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76,\r
+  0x61, 0x6c, 0x75, 0x65, 0x3d, 0x6f, 0x66, 0x74, 0x65, 0x6e, 0x20, 0x72, 0x65,\r
+  0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x20,\r
+  0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3e, 0x0a, 0x3c, 0x6f, 0x70, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x3c, 0x21, 0x44, 0x4f, 0x43,\r
+  0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0a, 0x3c, 0x21,\r
+  0x2d, 0x2d, 0x5b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x61, 0x6c, 0x20, 0x41, 0x69, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x3e, 0x0a,\r
+  0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70,\r
+  0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x3c, 0x2f, 0x61, 0x3e, 0x3c, 0x61, 0x20,\r
+  0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,\r
+  0x77, 0xe0, 0xb8, 0xa0, 0xe0, 0xb8, 0xb2, 0xe0, 0xb8, 0xa9, 0xe0, 0xb8, 0xb2,\r
+  0xe0, 0xb9, 0x84, 0xe0, 0xb8, 0x97, 0xe0, 0xb8, 0xa2, 0xe1, 0x83, 0xa5, 0xe1,\r
+  0x83, 0x90, 0xe1, 0x83, 0xa0, 0xe1, 0x83, 0x97, 0xe1, 0x83, 0xa3, 0xe1, 0x83,\r
+  0x9a, 0xe1, 0x83, 0x98, 0xe6, 0xad, 0xa3, 0xe9, 0xab, 0x94, 0xe4, 0xb8, 0xad,\r
+  0xe6, 0x96, 0x87, 0x20, 0x28, 0xe7, 0xb9, 0x81, 0xe9, 0xab, 0x94, 0x29, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xa6, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb6, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xb2, 0xe0, 0xa5, 0x8b, 0xe0,\r
+  0xa4, 0xa1, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa5,\r
+  0x87, 0xe0, 0xa4, 0xa4, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x9c,\r
+  0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4,\r
+  0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4,\r
+  0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa5, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xaa, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5,\r
+  0x8d, 0xe0, 0xa4, 0xb5, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa5, 0x8d, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4,\r
+  0xb8, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x9a, 0xe0, 0xa4, 0xbf, 0xe0,\r
+  0xa4, 0x9f, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa0, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4,\r
+  0x82, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9c, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0x9e, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x85, 0xe0,\r
+  0xa4, 0xae, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xad,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0x97, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xa1, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0xaf, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xaf, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x95, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0xb8, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb7, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa,\r
+  0xe0, 0xa4, 0xb9, 0xe0, 0xa5, 0x81, 0xe0, 0xa4, 0x81, 0xe0, 0xa4, 0x9a, 0xe0,\r
+  0xa4, 0xa4, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb0, 0xe0, 0xa4, 0xac, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xa8,\r
+  0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0,\r
+  0xa4, 0xaa, 0xe0, 0xa4, 0xa3, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0x95, 0xe0, 0xa5,\r
+  0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xad, 0xe0, 0xa4,\r
+  0xaa, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa,\r
+  0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xae, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4,\r
+  0x82, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xab, 0xe0, 0xa4, 0xbc, 0xe0, 0xa5, 0x8d,\r
+  0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xa8, 0xe0,\r
+  0xa4, 0xbf, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xae, 0xe0, 0xa4,\r
+  0xbe, 0xe0, 0xa4, 0xa3, 0xe0, 0xa4, 0xb2, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xae,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x9f, 0xe0, 0xa5, 0x87, 0xe0, 0xa4, 0xa1, 0x64,\r
+  0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x63,\r
+  0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d,\r
+  0x65, 0x6e, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,\r
+  0x70, 0x72, 0x6f, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28,\r
+  0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x74, 0x6d,\r
+  0x6c, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x3c, 0x6d, 0x65, 0x74,\r
+  0x61, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x75, 0x74,\r
+  0x66, 0x2d, 0x38, 0x22, 0x3e, 0x3a, 0x75, 0x72, 0x6c, 0x22, 0x20, 0x63, 0x6f,\r
+  0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,\r
+  0x2f, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73,\r
+  0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x73, 0x74, 0x79,\r
+  0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74,\r
+  0x2f, 0x63, 0x73, 0x73, 0x22, 0x3e, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74,\r
+  0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66,\r
+  0x3d, 0x22, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39,\r
+  0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x20, 0x78, 0x6d, 0x6c, 0x74, 0x79,\r
+  0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f,\r
+  0x64, 0x3d, 0x22, 0x67, 0x65, 0x74, 0x22, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f,\r
+  0x6e, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22,\r
+  0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x20,\r
+  0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65,\r
+  0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x74, 0x79, 0x70, 0x65, 0x3d,\r
+  0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x78, 0x2d, 0x69, 0x63, 0x6f, 0x6e,\r
+  0x22, 0x20, 0x2f, 0x3e, 0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x64, 0x69,\r
+  0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70,\r
+  0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74,\r
+  0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x3c, 0x2f, 0x61, 0x3e,\r
+  0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d,\r
+  0x22, 0x31, 0x22, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31,\r
+  0x22, 0x22, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68,\r
+  0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x74, 0x79,\r
+  0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e,\r
+  0x6f, 0x6e, 0x65, 0x3b, 0x22, 0x3e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61,\r
+  0x74, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70,\r
+  0x6c, 0x69, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, 0x2f, 0x44, 0x54, 0x44,\r
+  0x20, 0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x65, 0x6c,\r
+  0x6c, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20,\r
+  0x63, 0x65, 0x6c, 0x6c, 0x70, 0x61, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,\r
+  0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75,\r
+  0x65, 0x3d, 0x22, 0x2f, 0x61, 0x3e, 0x26, 0x6e, 0x62, 0x73, 0x70, 0x3b, 0x3c,\r
+  0x73, 0x70, 0x61, 0x6e, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x0a,\r
+  0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75,\r
+  0x61, 0x67, 0x65, 0x3d, 0x22, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69,\r
+  0x70, 0x74, 0x22, 0x20, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42,\r
+  0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70, 0x61,\r
+  0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x79, 0x70, 0x65, 0x3d,\r
+  0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x6d, 0x65,\r
+  0x64, 0x69, 0x61, 0x3d, 0x22, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65,\r
+  0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x27, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x63,\r
+  0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x79, 0x70, 0x65,\r
+  0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72,\r
+  0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,\r
+  0x3d, 0x22, 0x31, 0x22, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31,\r
+  0x22, 0x20, 0x3d, 0x27, 0x2b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x55, 0x52,\r
+  0x49, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x28, 0x3c, 0x6c,\r
+  0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x61, 0x6c, 0x74, 0x65,\r
+  0x72, 0x6e, 0x61, 0x74, 0x65, 0x22, 0x20, 0x0a, 0x62, 0x6f, 0x64, 0x79, 0x2c,\r
+  0x20, 0x74, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x74,\r
+  0x65, 0x78, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,\r
+  0x22, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x6d,\r
+  0x65, 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x20,\r
+  0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x3e, 0x0a, 0x3c, 0x61, 0x20,\r
+  0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,\r
+  0x77, 0x77, 0x77, 0x2e, 0x63, 0x73, 0x73, 0x22, 0x20, 0x72, 0x65, 0x6c, 0x3d,\r
+  0x22, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20,\r
+  0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c,\r
+  0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6c, 0x61, 0x6e, 0x67,\r
+  0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x22, 0x3e, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, 0x69, 0x64,\r
+  0x64, 0x65, 0x6e, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, 0x3e, 0xc2, 0xb7,\r
+  0x3c, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x6c, 0x3d, 0x30,\r
+  0x3b, 0x7d, 0x29, 0x28, 0x29, 0x3b, 0x0a, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x28, 0x29, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,\r
+  0x75, 0x6e, 0x64, 0x2d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x75, 0x72,\r
+  0x6c, 0x28, 0x2f, 0x61, 0x3e, 0x3c, 0x2f, 0x6c, 0x69, 0x3e, 0x3c, 0x6c, 0x69,\r
+  0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x09, 0x09,\r
+  0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22,\r
+  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20,\r
+  0x61, 0x72, 0x69, 0x61, 0x2d, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x3d, 0x22,\r
+  0x74, 0x72, 0x75, 0x3e, 0x20, 0x3c, 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d,\r
+  0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6c,\r
+  0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3d, 0x22, 0x6a, 0x61, 0x76, 0x61,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x20, 0x2f, 0x6f, 0x70, 0x74, 0x69,\r
+  0x6f, 0x6e, 0x3e, 0x0a, 0x3c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76,\r
+  0x61, 0x6c, 0x75, 0x65, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x2f, 0x64, 0x69,\r
+  0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d,\r
+  0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x61, 0x72, 0x69, 0x61, 0x2d, 0x68,\r
+  0x69, 0x64, 0x64, 0x65, 0x6e, 0x3d, 0x22, 0x74, 0x72, 0x65, 0x3d, 0x28, 0x6e,\r
+  0x65, 0x77, 0x20, 0x44, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x67, 0x65, 0x74, 0x54,\r
+  0x69, 0x6d, 0x65, 0x28, 0x29, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xc3,\r
+  0xaa, 0x73, 0x20, 0x28, 0x64, 0x6f, 0x20, 0x42, 0x72, 0x61, 0x73, 0x69, 0x6c,\r
+  0x29, 0xd0, 0xbe, 0xd1, 0x80, 0xd0, 0xb3, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8,\r
+  0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb2, 0xd0,\r
+  0xbe, 0xd0, 0xb7, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd1, 0x8c, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x80, 0xd0,\r
+  0xb0, 0xd0, 0xb7, 0xd0, 0xbe, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xbd, 0xd0, 0xb8,\r
+  0xd1, 0x8f, 0xd1, 0x80, 0xd0, 0xb5, 0xd0, 0xb3, 0xd0, 0xb8, 0xd1, 0x81, 0xd1,\r
+  0x82, 0xd1, 0x80, 0xd0, 0xb0, 0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xb2,\r
+  0xd0, 0xbe, 0xd0, 0xb7, 0xd0, 0xbc, 0xd0, 0xbe, 0xd0, 0xb6, 0xd0, 0xbd, 0xd0,\r
+  0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd0, 0xbe, 0xd0, 0xb1, 0xd1, 0x8f,\r
+  0xd0, 0xb7, 0xd0, 0xb0, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbb, 0xd1, 0x8c, 0xd0,\r
+  0xbd, 0xd0, 0xb0, 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x22,\r
+  0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x65, 0x6e, 0x74, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x3c, 0x6d, 0x65,\r
+  0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76,\r
+  0x3d, 0x22, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,\r
+  0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68,\r
+  0x74, 0x74, 0x70, 0x3a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c,\r
+  0x6e, 0x73, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77,\r
+  0x77, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20,\r
+  0x58, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x54, 0x44, 0x54,\r
+  0x44, 0x2f, 0x78, 0x68, 0x74, 0x6d, 0x6c, 0x31, 0x2d, 0x74, 0x72, 0x61, 0x6e,\r
+  0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x2f, 0x77, 0x77, 0x77,\r
+  0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x54, 0x52, 0x2f, 0x78, 0x68,\r
+  0x74, 0x6d, 0x6c, 0x31, 0x2f, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x27, 0x74, 0x65,\r
+  0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x27, 0x3b, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,\r
+  0x22, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x70,\r
+  0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x69, 0x6e, 0x73,\r
+  0x65, 0x72, 0x74, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x3c, 0x69, 0x6e, 0x70,\r
+  0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x69, 0x64, 0x64,\r
+  0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6a, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70,\r
+  0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73,\r
+  0x63, 0x72, 0x69, 0x28, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x29,\r
+  0x2e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,\r
+  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x69, 0x6d, 0x61,\r
+  0x67, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x22,\r
+  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x55, 0x41, 0x2d, 0x43, 0x6f, 0x6d,\r
+  0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x20, 0x63, 0x6f, 0x6e, 0x74,\r
+  0x65, 0x6e, 0x74, 0x3d, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72,\r
+  0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e,\r
+  0x0a, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x68,\r
+  0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x6e, 0x3c, 0x6c,\r
+  0x69, 0x6e, 0x6b, 0x20, 0x72, 0x65, 0x6c, 0x3d, 0x22, 0x73, 0x74, 0x79, 0x6c,\r
+  0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x22, 0x20, 0x3c, 0x2f, 0x73, 0x63, 0x72,\r
+  0x69, 0x70, 0x74, 0x3e, 0x0a, 0x3c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20,\r
+  0x74, 0x79, 0x70, 0x65, 0x3d, 0x3d, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d,\r
+  0x65, 0x6e, 0x3c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3d, 0x22,\r
+  0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d,\r
+  0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74,\r
+  0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x69, 0x6e, 0x70, 0x75,\r
+  0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22,\r
+  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20,\r
+  0x3d, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73,\r
+  0x63, 0x72, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,\r
+  0x22, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65,\r
+  0x68, 0x74, 0x6d, 0x6c, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74,\r
+  0x3d, 0x75, 0x74, 0x66, 0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x64, 0x74, 0x64,\r
+  0x22, 0x3e, 0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, 0x6e,\r
+  0x73, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x2f, 0x2f, 0x57, 0x33, 0x43,\r
+  0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x34, 0x2e,\r
+  0x30, 0x31, 0x20, 0x54, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x79, 0x54, 0x61, 0x67,\r
+  0x4e, 0x61, 0x6d, 0x65, 0x28, 0x27, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27,\r
+  0x29, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x3c, 0x73,\r
+  0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74,\r
+  0x65, 0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x22, 0x20, 0x73, 0x74,\r
+  0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a,\r
+  0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x22, 0x3e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,\r
+  0x42, 0x79, 0x49, 0x64, 0x28, 0x3d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,\r
+  0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65,\r
+  0x6e, 0x74, 0x28, 0x27, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65,\r
+  0x78, 0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,\r
+  0x27, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,\r
+  0x74, 0x65, 0x78, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64,\r
+  0x2e, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42,\r
+  0x79, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x73, 0x6e, 0x69, 0x63,\r
+  0x61, 0x6c, 0x22, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74,\r
+  0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x43, 0x2f, 0x2f, 0x44, 0x54,\r
+  0x44, 0x20, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x34, 0x2e, 0x30, 0x31, 0x20, 0x54,\r
+  0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20,\r
+  0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73,\r
+  0x73, 0x22, 0x3e, 0x0a, 0x0a, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x74,\r
+  0x79, 0x70, 0x65, 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x63, 0x73, 0x73,\r
+  0x22, 0x3e, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e,\r
+  0x0a, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3d,\r
+  0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x22, 0x43,\r
+  0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x64, 0x69,\r
+  0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x70,\r
+  0x61, 0x63, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x30, 0x22, 0x68, 0x74, 0x6d, 0x6c,\r
+  0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65, 0x74, 0x3d, 0x75, 0x74, 0x66,\r
+  0x2d, 0x38, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65,\r
+  0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e,\r
+  0x65, 0x3b, 0x22, 0x3e, 0x3c, 0x3c, 0x6c, 0x69, 0x3e, 0x3c, 0x61, 0x20, 0x68,\r
+  0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77,\r
+  0x77, 0x77, 0x2e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x27, 0x74, 0x65, 0x78,\r
+  0x74, 0x2f, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x27,\r
+  0x3e, 0xd0, 0xb4, 0xd0, 0xb5, 0xd1, 0x8f, 0xd1, 0x82, 0xd0, 0xb5, 0xd0, 0xbb,\r
+  0xd1, 0x8c, 0xd0, 0xbd, 0xd0, 0xbe, 0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xd1,\r
+  0x81, 0xd0, 0xbe, 0xd0, 0xbe, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1, 0x82,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb8, 0xd0, 0xb8, 0xd0, 0xbf, 0xd1,\r
+  0x80, 0xd0, 0xbe, 0xd0, 0xb8, 0xd0, 0xb7, 0xd0, 0xb2, 0xd0, 0xbe, 0xd0, 0xb4,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb2, 0xd0, 0xb0, 0xd0, 0xb1, 0xd0, 0xb5, 0xd0,\r
+  0xb7, 0xd0, 0xbe, 0xd0, 0xbf, 0xd0, 0xb0, 0xd1, 0x81, 0xd0, 0xbd, 0xd0, 0xbe,\r
+  0xd1, 0x81, 0xd1, 0x82, 0xd0, 0xb8, 0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x81, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0x82,\r
+  0xe0, 0xa4, 0x97, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa5, 0x87, 0xe0,\r
+  0xa4, 0xb8, 0xe0, 0xa4, 0x89, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb9, 0xe0, 0xa5, 0x8b, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0xa8, 0xe0, 0xa5, 0x87,\r
+  0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa7, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0xa8, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0xad, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0xab, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb8,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0x82, 0xe0, 0xa4, 0x97, 0xe0, 0xa4, 0xb8, 0xe0,\r
+  0xa5, 0x81, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4,\r
+  0xb7, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x89,\r
+  0xe0, 0xa4, 0xaa, 0xe0, 0xa5, 0x80, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xbe, 0xe0,\r
+  0xa4, 0x87, 0xe0, 0xa4, 0x9f, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbf, 0xe0, 0xa4,\r
+  0x9c, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0x9e, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xaa,\r
+  0xe0, 0xa4, 0xa8, 0xe0, 0xa4, 0x95, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4, 0xb0, 0xe0,\r
+  0xa5, 0x8d, 0xe0, 0xa4, 0xb0, 0xe0, 0xa4, 0xb5, 0xe0, 0xa4, 0xbe, 0xe0, 0xa4,\r
+  0x88, 0xe0, 0xa4, 0xb8, 0xe0, 0xa4, 0x95, 0xe0, 0xa5, 0x8d, 0xe0, 0xa4, 0xb0,\r
+  0xe0, 0xa4, 0xbf, 0xe0, 0xa4, 0xaf, 0xe0, 0xa4, 0xa4, 0xe0, 0xa4, 0xbe,\r
+};\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/common/dictionary.h b/BaseTools/Source/C/BrotliCompress/common/dictionary.h
new file mode 100644 (file)
index 0000000..d8cfe1c
--- /dev/null
@@ -0,0 +1,29 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Collection of static dictionary words. */\r
+\r
+#ifndef BROTLI_COMMON_DICTIONARY_H_\r
+#define BROTLI_COMMON_DICTIONARY_H_\r
+\r
+#include "./types.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+extern const uint8_t kBrotliDictionary[122784];\r
+extern const uint32_t kBrotliDictionaryOffsetsByLength[25];\r
+extern const uint8_t kBrotliDictionarySizeBitsByLength[25];\r
+\r
+#define kBrotliMinDictionaryWordLength 4\r
+#define kBrotliMaxDictionaryWordLength 24\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_COMMON_DICTIONARY_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/common/port.h b/BaseTools/Source/C/BrotliCompress/common/port.h
new file mode 100644 (file)
index 0000000..641bd38
--- /dev/null
@@ -0,0 +1,107 @@
+/* Copyright 2016 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Macros for compiler / platform specific features and build options. */\r
+\r
+#ifndef BROTLI_COMMON_PORT_H_\r
+#define BROTLI_COMMON_PORT_H_\r
+\r
+/* Compatibility with non-clang compilers. */\r
+#ifndef __has_builtin\r
+#define __has_builtin(x) 0\r
+#endif\r
+\r
+#ifndef __has_attribute\r
+#define __has_attribute(x) 0\r
+#endif\r
+\r
+#ifndef __has_feature\r
+#define __has_feature(x) 0\r
+#endif\r
+\r
+#if defined(__GNUC__) && defined(__GNUC_MINOR__)\r
+#define BROTLI_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)\r
+#else\r
+#define BROTLI_GCC_VERSION 0\r
+#endif\r
+\r
+#if defined(__ICC)\r
+#define BROTLI_ICC_VERSION __ICC\r
+#else\r
+#define BROTLI_ICC_VERSION 0\r
+#endif\r
+\r
+#if defined(BROTLI_BUILD_MODERN_COMPILER)\r
+#define BROTLI_MODERN_COMPILER 1\r
+#elif BROTLI_GCC_VERSION > 300 || BROTLI_ICC_VERSION >= 1600\r
+#define BROTLI_MODERN_COMPILER 1\r
+#else\r
+#define BROTLI_MODERN_COMPILER 0\r
+#endif\r
+\r
+/* Define "PREDICT_TRUE" and "PREDICT_FALSE" macros for capable compilers.\r
+\r
+To apply compiler hint, enclose the branching condition into macros, like this:\r
+\r
+  if (PREDICT_TRUE(zero == 0)) {\r
+    // main execution path\r
+  } else {\r
+    // compiler should place this code outside of main execution path\r
+  }\r
+\r
+OR:\r
+\r
+  if (PREDICT_FALSE(something_rare_or_unexpected_happens)) {\r
+    // compiler should place this code outside of main execution path\r
+  }\r
+\r
+*/\r
+#if BROTLI_MODERN_COMPILER || __has_builtin(__builtin_expect)\r
+#define PREDICT_TRUE(x) (__builtin_expect(!!(x), 1))\r
+#define PREDICT_FALSE(x) (__builtin_expect(x, 0))\r
+#else\r
+#define PREDICT_FALSE(x) (x)\r
+#define PREDICT_TRUE(x) (x)\r
+#endif\r
+\r
+#if BROTLI_MODERN_COMPILER || __has_attribute(always_inline)\r
+#define ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline))\r
+#else\r
+#define ATTRIBUTE_ALWAYS_INLINE\r
+#endif\r
+\r
+#if defined(_WIN32) || defined(__CYGWIN__)\r
+#define ATTRIBUTE_VISIBILITY_HIDDEN\r
+#elif BROTLI_MODERN_COMPILER || __has_attribute(visibility)\r
+#define ATTRIBUTE_VISIBILITY_HIDDEN __attribute__ ((visibility ("hidden")))\r
+#else\r
+#define ATTRIBUTE_VISIBILITY_HIDDEN\r
+#endif\r
+\r
+#ifndef BROTLI_INTERNAL\r
+#define BROTLI_INTERNAL ATTRIBUTE_VISIBILITY_HIDDEN\r
+#endif\r
+\r
+#ifndef _MSC_VER\r
+#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \\r
+    __STDC_VERSION__ >= 199901L\r
+#define BROTLI_INLINE inline ATTRIBUTE_ALWAYS_INLINE\r
+#else\r
+#define BROTLI_INLINE\r
+#endif\r
+#else  /* _MSC_VER */\r
+#define BROTLI_INLINE __forceinline\r
+#endif  /* _MSC_VER */\r
+\r
+#if BROTLI_MODERN_COMPILER || __has_attribute(noinline)\r
+#define BROTLI_NOINLINE __attribute__((noinline))\r
+#else\r
+#define BROTLI_NOINLINE\r
+#endif\r
+\r
+#define BROTLI_UNUSED(X) (void)(X)\r
+\r
+#endif  /* BROTLI_COMMON_PORT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/common/types.h b/BaseTools/Source/C/BrotliCompress/common/types.h
new file mode 100644 (file)
index 0000000..c6a37a6
--- /dev/null
@@ -0,0 +1,58 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Common types */\r
+\r
+#ifndef BROTLI_COMMON_TYPES_H_\r
+#define BROTLI_COMMON_TYPES_H_\r
+\r
+#include <stddef.h>  /* for size_t */\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER < 1600)\r
+typedef __int8 int8_t;\r
+typedef unsigned __int8 uint8_t;\r
+typedef __int16 int16_t;\r
+typedef unsigned __int16 uint16_t;\r
+typedef __int32 int32_t;\r
+typedef unsigned __int32 uint32_t;\r
+typedef unsigned __int64 uint64_t;\r
+typedef __int64 int64_t;\r
+#else\r
+#include <stdint.h>\r
+#endif  /* defined(_MSC_VER) && (_MSC_VER < 1600) */\r
+\r
+#if (!defined(_MSC_VER) || (_MSC_VER >= 1800)) && \\r
+  (defined(__cplusplus) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L))\r
+#include <stdbool.h>\r
+#define BROTLI_BOOL bool\r
+#define BROTLI_TRUE true\r
+#define BROTLI_FALSE false\r
+#define TO_BROTLI_BOOL(X) (!!(X))\r
+#else\r
+typedef enum {\r
+  BROTLI_FALSE = 0,\r
+  BROTLI_TRUE = !BROTLI_FALSE\r
+} BROTLI_BOOL;\r
+#define TO_BROTLI_BOOL(X) (!!(X) ? BROTLI_TRUE : BROTLI_FALSE)\r
+#endif\r
+\r
+#define MAKE_UINT64_T(high, low) ((((uint64_t)(high)) << 32) | low)\r
+\r
+#define BROTLI_UINT32_MAX (~((uint32_t)0))\r
+#define BROTLI_SIZE_MAX (~((size_t)0))\r
+\r
+/* Allocating function pointer. Function MUST return 0 in the case of failure.\r
+   Otherwise it MUST return a valid pointer to a memory region of at least\r
+   size length. Neither items nor size are allowed to be 0.\r
+   opaque argument is a pointer provided by client and could be used to bind\r
+   function to specific object (memory pool). */\r
+typedef void* (*brotli_alloc_func)(void* opaque, size_t size);\r
+\r
+/* Deallocating function pointer. Function SHOULD be no-op in the case the\r
+   address is 0. */\r
+typedef void (*brotli_free_func)(void* opaque, void* address);\r
+\r
+#endif  /* BROTLI_COMMON_TYPES_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/bit_reader.c b/BaseTools/Source/C/BrotliCompress/dec/bit_reader.c
new file mode 100644 (file)
index 0000000..83dcc36
--- /dev/null
@@ -0,0 +1,48 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Bit reading helpers */\r
+\r
+#include "./bit_reader.h"\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+void BrotliInitBitReader(BrotliBitReader* const br) {\r
+  br->val_ = 0;\r
+  br->bit_pos_ = sizeof(br->val_) << 3;\r
+}\r
+\r
+BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br) {\r
+  size_t aligned_read_mask = (sizeof(br->val_) >> 1) - 1;\r
+  /* Fixing alignment after unaligned BrotliFillWindow would result accumulator\r
+     overflow. If unalignment is caused by BrotliSafeReadBits, then there is\r
+     enough space in accumulator to fix aligment. */\r
+  if (!BROTLI_ALIGNED_READ) {\r
+    aligned_read_mask = 0;\r
+  }\r
+  if (BrotliGetAvailableBits(br) == 0) {\r
+    if (!BrotliPullByte(br)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+  }\r
+\r
+  while ((((size_t)br->next_in) & aligned_read_mask) != 0) {\r
+    if (!BrotliPullByte(br)) {\r
+      /* If we consumed all the input, we don't care about the alignment. */\r
+      return BROTLI_TRUE;\r
+    }\r
+  }\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/bit_reader.h b/BaseTools/Source/C/BrotliCompress/dec/bit_reader.h
new file mode 100644 (file)
index 0000000..c0f6d1b
--- /dev/null
@@ -0,0 +1,383 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Bit reading helpers */\r
+\r
+#ifndef BROTLI_DEC_BIT_READER_H_\r
+#define BROTLI_DEC_BIT_READER_H_\r
+\r
+#include <string.h>  /* memcpy */\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#if (BROTLI_64_BITS)\r
+#define BROTLI_SHORT_FILL_BIT_WINDOW_READ 4\r
+typedef uint64_t reg_t;\r
+#else\r
+#define BROTLI_SHORT_FILL_BIT_WINDOW_READ 2\r
+typedef uint32_t reg_t;\r
+#endif\r
+\r
+static const uint32_t kBitMask[33] = { 0x0000,\r
+    0x00000001, 0x00000003, 0x00000007, 0x0000000F,\r
+    0x0000001F, 0x0000003F, 0x0000007F, 0x000000FF,\r
+    0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF,\r
+    0x00001FFF, 0x00003FFF, 0x00007FFF, 0x0000FFFF,\r
+    0x0001FFFF, 0x0003FFFF, 0x0007FFFF, 0x000FFFFF,\r
+    0x001FFFFF, 0x003FFFFF, 0x007FFFFF, 0x00FFFFFF,\r
+    0x01FFFFFF, 0x03FFFFFF, 0x07FFFFFF, 0x0FFFFFFF,\r
+    0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF\r
+};\r
+\r
+static BROTLI_INLINE uint32_t BitMask(uint32_t n) {\r
+  if (IS_CONSTANT(n) || BROTLI_HAS_UBFX) {\r
+    /* Masking with this expression turns to a single\r
+       "Unsigned Bit Field Extract" UBFX instruction on ARM. */\r
+    return ~((0xffffffffU) << n);\r
+  } else {\r
+    return kBitMask[n];\r
+  }\r
+}\r
+\r
+typedef struct {\r
+  reg_t val_;              /* pre-fetched bits */\r
+  uint32_t bit_pos_;       /* current bit-reading position in val_ */\r
+  const uint8_t* next_in;  /* the byte we're reading from */\r
+  size_t avail_in;\r
+} BrotliBitReader;\r
+\r
+typedef struct {\r
+  reg_t val_;\r
+  uint32_t bit_pos_;\r
+  const uint8_t* next_in;\r
+  size_t avail_in;\r
+} BrotliBitReaderState;\r
+\r
+/* Initializes the bitreader fields. */\r
+BROTLI_INTERNAL void BrotliInitBitReader(BrotliBitReader* const br);\r
+\r
+/* Ensures that accumulator is not empty. May consume one byte of input.\r
+   Returns 0 if data is required but there is no input available.\r
+   For BROTLI_ALIGNED_READ this function also prepares bit reader for aligned\r
+   reading. */\r
+BROTLI_INTERNAL BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br);\r
+\r
+static BROTLI_INLINE void BrotliBitReaderSaveState(\r
+    BrotliBitReader* const from, BrotliBitReaderState* to) {\r
+  to->val_ = from->val_;\r
+  to->bit_pos_ = from->bit_pos_;\r
+  to->next_in = from->next_in;\r
+  to->avail_in = from->avail_in;\r
+}\r
+\r
+static BROTLI_INLINE void BrotliBitReaderRestoreState(\r
+    BrotliBitReader* const to, BrotliBitReaderState* from) {\r
+  to->val_ = from->val_;\r
+  to->bit_pos_ = from->bit_pos_;\r
+  to->next_in = from->next_in;\r
+  to->avail_in = from->avail_in;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t BrotliGetAvailableBits(\r
+    const BrotliBitReader* br) {\r
+  return (BROTLI_64_BITS ? 64 : 32) - br->bit_pos_;\r
+}\r
+\r
+/* Returns amount of unread bytes the bit reader still has buffered from the\r
+   BrotliInput, including whole bytes in br->val_. */\r
+static BROTLI_INLINE size_t BrotliGetRemainingBytes(BrotliBitReader* br) {\r
+  return br->avail_in + (BrotliGetAvailableBits(br) >> 3);\r
+}\r
+\r
+/* Checks if there is at least num bytes left in the input ringbuffer (excluding\r
+   the bits remaining in br->val_). */\r
+static BROTLI_INLINE BROTLI_BOOL BrotliCheckInputAmount(\r
+    BrotliBitReader* const br, size_t num) {\r
+  return TO_BROTLI_BOOL(br->avail_in >= num);\r
+}\r
+\r
+static BROTLI_INLINE uint16_t BrotliLoad16LE(const uint8_t* in) {\r
+  if (BROTLI_LITTLE_ENDIAN) {\r
+    return *((const uint16_t*)in);\r
+  } else if (BROTLI_BIG_ENDIAN) {\r
+    uint16_t value = *((const uint16_t*)in);\r
+    return (uint16_t)(((value & 0xFFU) << 8) | ((value & 0xFF00U) >> 8));\r
+  } else {\r
+    return (uint16_t)(in[0] | (in[1] << 8));\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE uint32_t BrotliLoad32LE(const uint8_t* in) {\r
+  if (BROTLI_LITTLE_ENDIAN) {\r
+    return *((const uint32_t*)in);\r
+  } else if (BROTLI_BIG_ENDIAN) {\r
+    uint32_t value = *((const uint32_t*)in);\r
+    return ((value & 0xFFU) << 24) | ((value & 0xFF00U) << 8) |\r
+        ((value & 0xFF0000U) >> 8) | ((value & 0xFF000000U) >> 24);\r
+  } else {\r
+    uint32_t value = (uint32_t)(*(in++));\r
+    value |= (uint32_t)(*(in++)) << 8;\r
+    value |= (uint32_t)(*(in++)) << 16;\r
+    value |= (uint32_t)(*(in++)) << 24;\r
+    return value;\r
+  }\r
+}\r
+\r
+#if (BROTLI_64_BITS)\r
+static BROTLI_INLINE uint64_t BrotliLoad64LE(const uint8_t* in) {\r
+  if (BROTLI_LITTLE_ENDIAN) {\r
+    return *((const uint64_t*)in);\r
+  } else if (BROTLI_BIG_ENDIAN) {\r
+    uint64_t value = *((const uint64_t*)in);\r
+    return\r
+        ((value & 0xFFU) << 56) |\r
+        ((value & 0xFF00U) << 40) |\r
+        ((value & 0xFF0000U) << 24) |\r
+        ((value & 0xFF000000U) << 8) |\r
+        ((value & 0xFF00000000U) >> 8) |\r
+        ((value & 0xFF0000000000U) >> 24) |\r
+        ((value & 0xFF000000000000U) >> 40) |\r
+        ((value & 0xFF00000000000000U) >> 56);\r
+  } else {\r
+    uint64_t value = (uint64_t)(*(in++));\r
+    value |= (uint64_t)(*(in++)) << 8;\r
+    value |= (uint64_t)(*(in++)) << 16;\r
+    value |= (uint64_t)(*(in++)) << 24;\r
+    value |= (uint64_t)(*(in++)) << 32;\r
+    value |= (uint64_t)(*(in++)) << 40;\r
+    value |= (uint64_t)(*(in++)) << 48;\r
+    value |= (uint64_t)(*(in++)) << 56;\r
+    return value;\r
+  }\r
+}\r
+#endif\r
+\r
+/* Guarantees that there are at least n_bits + 1 bits in accumulator.\r
+   Precondition: accumulator contains at least 1 bit.\r
+   n_bits should be in the range [1..24] for regular build. For portable\r
+   non-64-bit little endian build only 16 bits are safe to request. */\r
+static BROTLI_INLINE void BrotliFillBitWindow(\r
+    BrotliBitReader* const br, uint32_t n_bits) {\r
+#if (BROTLI_64_BITS)\r
+  if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 8)) {\r
+    if (br->bit_pos_ >= 56) {\r
+      br->val_ >>= 56;\r
+      br->bit_pos_ ^= 56;  /* here same as -= 56 because of the if condition */\r
+      br->val_ |= BrotliLoad64LE(br->next_in) << 8;\r
+      br->avail_in -= 7;\r
+      br->next_in += 7;\r
+    }\r
+  } else if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 16)) {\r
+    if (br->bit_pos_ >= 48) {\r
+      br->val_ >>= 48;\r
+      br->bit_pos_ ^= 48;  /* here same as -= 48 because of the if condition */\r
+      br->val_ |= BrotliLoad64LE(br->next_in) << 16;\r
+      br->avail_in -= 6;\r
+      br->next_in += 6;\r
+    }\r
+  } else {\r
+    if (br->bit_pos_ >= 32) {\r
+      br->val_ >>= 32;\r
+      br->bit_pos_ ^= 32;  /* here same as -= 32 because of the if condition */\r
+      br->val_ |= ((uint64_t)BrotliLoad32LE(br->next_in)) << 32;\r
+      br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ;\r
+      br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ;\r
+    }\r
+  }\r
+#else\r
+  if (!BROTLI_ALIGNED_READ && IS_CONSTANT(n_bits) && (n_bits <= 8)) {\r
+    if (br->bit_pos_ >= 24) {\r
+      br->val_ >>= 24;\r
+      br->bit_pos_ ^= 24;  /* here same as -= 24 because of the if condition */\r
+      br->val_ |= BrotliLoad32LE(br->next_in) << 8;\r
+      br->avail_in -= 3;\r
+      br->next_in += 3;\r
+    }\r
+  } else {\r
+    if (br->bit_pos_ >= 16) {\r
+      br->val_ >>= 16;\r
+      br->bit_pos_ ^= 16;  /* here same as -= 16 because of the if condition */\r
+      br->val_ |= ((uint32_t)BrotliLoad16LE(br->next_in)) << 16;\r
+      br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ;\r
+      br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ;\r
+    }\r
+  }\r
+#endif\r
+}\r
+\r
+/* Mosltly like BrotliFillBitWindow, but guarantees only 16 bits and reads no\r
+   more than BROTLI_SHORT_FILL_BIT_WINDOW_READ bytes of input. */\r
+static BROTLI_INLINE void BrotliFillBitWindow16(BrotliBitReader* const br) {\r
+  BrotliFillBitWindow(br, 17);\r
+}\r
+\r
+/* Pulls one byte of input to accumulator. */\r
+static BROTLI_INLINE BROTLI_BOOL BrotliPullByte(BrotliBitReader* const br) {\r
+  if (br->avail_in == 0) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  br->val_ >>= 8;\r
+#if (BROTLI_64_BITS)\r
+  br->val_ |= ((uint64_t)*br->next_in) << 56;\r
+#else\r
+  br->val_ |= ((uint32_t)*br->next_in) << 24;\r
+#endif\r
+  br->bit_pos_ -= 8;\r
+  --br->avail_in;\r
+  ++br->next_in;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+/* Returns currently available bits.\r
+   The number of valid bits could be calclulated by BrotliGetAvailableBits. */\r
+static BROTLI_INLINE reg_t BrotliGetBitsUnmasked(BrotliBitReader* const br) {\r
+  return br->val_ >> br->bit_pos_;\r
+}\r
+\r
+/* Like BrotliGetBits, but does not mask the result.\r
+   The result contains at least 16 valid bits. */\r
+static BROTLI_INLINE uint32_t BrotliGet16BitsUnmasked(\r
+    BrotliBitReader* const br) {\r
+  BrotliFillBitWindow(br, 16);\r
+  return (uint32_t)BrotliGetBitsUnmasked(br);\r
+}\r
+\r
+/* Returns the specified number of bits from br without advancing bit pos. */\r
+static BROTLI_INLINE uint32_t BrotliGetBits(\r
+    BrotliBitReader* const br, uint32_t n_bits) {\r
+  BrotliFillBitWindow(br, n_bits);\r
+  return (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits);\r
+}\r
+\r
+/* Tries to peek the specified amount of bits. Returns 0, if there is not\r
+   enough input. */\r
+static BROTLI_INLINE BROTLI_BOOL BrotliSafeGetBits(\r
+    BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {\r
+  while (BrotliGetAvailableBits(br) < n_bits) {\r
+    if (!BrotliPullByte(br)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+  }\r
+  *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits);\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+/* Advances the bit pos by n_bits. */\r
+static BROTLI_INLINE void BrotliDropBits(\r
+    BrotliBitReader* const br, uint32_t n_bits) {\r
+  br->bit_pos_ += n_bits;\r
+}\r
+\r
+static BROTLI_INLINE void BrotliBitReaderUnload(BrotliBitReader* br) {\r
+  uint32_t unused_bytes = BrotliGetAvailableBits(br) >> 3;\r
+  uint32_t unused_bits = unused_bytes << 3;\r
+  br->avail_in += unused_bytes;\r
+  br->next_in -= unused_bytes;\r
+  if (unused_bits == sizeof(br->val_) << 3) {\r
+    br->val_ = 0;\r
+  } else {\r
+    br->val_ <<= unused_bits;\r
+  }\r
+  br->bit_pos_ += unused_bits;\r
+}\r
+\r
+/* Reads the specified number of bits from br and advances the bit pos.\r
+   Precondition: accumulator MUST contain at least n_bits. */\r
+static BROTLI_INLINE void BrotliTakeBits(\r
+  BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {\r
+  *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits);\r
+  BROTLI_LOG(("[BrotliReadBits]  %d %d %d val: %6x\n",\r
+      (int)br->avail_in, (int)br->bit_pos_, n_bits, (int)*val));\r
+  BrotliDropBits(br, n_bits);\r
+}\r
+\r
+/* Reads the specified number of bits from br and advances the bit pos.\r
+   Assumes that there is enough input to perform BrotliFillBitWindow. */\r
+static BROTLI_INLINE uint32_t BrotliReadBits(\r
+    BrotliBitReader* const br, uint32_t n_bits) {\r
+  if (BROTLI_64_BITS || (n_bits <= 16)) {\r
+    uint32_t val;\r
+    BrotliFillBitWindow(br, n_bits);\r
+    BrotliTakeBits(br, n_bits, &val);\r
+    return val;\r
+  } else {\r
+    uint32_t low_val;\r
+    uint32_t high_val;\r
+    BrotliFillBitWindow(br, 16);\r
+    BrotliTakeBits(br, 16, &low_val);\r
+    BrotliFillBitWindow(br, 8);\r
+    BrotliTakeBits(br, n_bits - 16, &high_val);\r
+    return low_val | (high_val << 16);\r
+  }\r
+}\r
+\r
+/* Tries to read the specified amount of bits. Returns 0, if there is not\r
+   enough input. n_bits MUST be positive. */\r
+static BROTLI_INLINE BROTLI_BOOL BrotliSafeReadBits(\r
+    BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {\r
+  while (BrotliGetAvailableBits(br) < n_bits) {\r
+    if (!BrotliPullByte(br)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+  }\r
+  BrotliTakeBits(br, n_bits, val);\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+/* Advances the bit reader position to the next byte boundary and verifies\r
+   that any skipped bits are set to zero. */\r
+static BROTLI_INLINE BROTLI_BOOL BrotliJumpToByteBoundary(BrotliBitReader* br) {\r
+  uint32_t pad_bits_count = BrotliGetAvailableBits(br) & 0x7;\r
+  uint32_t pad_bits = 0;\r
+  if (pad_bits_count != 0) {\r
+    BrotliTakeBits(br, pad_bits_count, &pad_bits);\r
+  }\r
+  return TO_BROTLI_BOOL(pad_bits == 0);\r
+}\r
+\r
+/* Peeks a byte at specified offset.\r
+   Precondition: bit reader is parked to a byte boundary.\r
+   Returns -1 if operation is not feasible. */\r
+static BROTLI_INLINE int BrotliPeekByte(BrotliBitReader* br, size_t offset) {\r
+  uint32_t available_bits = BrotliGetAvailableBits(br);\r
+  size_t bytes_left = available_bits >> 3;\r
+  BROTLI_DCHECK((available_bits & 7) == 0);\r
+  if (offset < bytes_left) {\r
+    return (BrotliGetBitsUnmasked(br) >> (unsigned)(offset << 3)) & 0xFF;\r
+  }\r
+  offset -= bytes_left;\r
+  if (offset < br->avail_in) {\r
+    return br->next_in[offset];\r
+  }\r
+  return -1;\r
+}\r
+\r
+/* Copies remaining input bytes stored in the bit reader to the output. Value\r
+   num may not be larger than BrotliGetRemainingBytes. The bit reader must be\r
+   warmed up again after this. */\r
+static BROTLI_INLINE void BrotliCopyBytes(uint8_t* dest,\r
+                                          BrotliBitReader* br, size_t num) {\r
+  while (BrotliGetAvailableBits(br) >= 8 && num > 0) {\r
+    *dest = (uint8_t)BrotliGetBitsUnmasked(br);\r
+    BrotliDropBits(br, 8);\r
+    ++dest;\r
+    --num;\r
+  }\r
+  memcpy(dest, br->next_in, num);\r
+  br->avail_in -= num;\r
+  br->next_in += num;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_DEC_BIT_READER_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/context.h b/BaseTools/Source/C/BrotliCompress/dec/context.h
new file mode 100644 (file)
index 0000000..d4e7d86
--- /dev/null
@@ -0,0 +1,251 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Lookup table to map the previous two bytes to a context id.\r
+\r
+   There are four different context modeling modes defined here:\r
+     CONTEXT_LSB6: context id is the least significant 6 bits of the last byte,\r
+     CONTEXT_MSB6: context id is the most significant 6 bits of the last byte,\r
+     CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text,\r
+     CONTEXT_SIGNED: second-order context model tuned for signed integers.\r
+\r
+   The context id for the UTF8 context model is calculated as follows. If p1\r
+   and p2 are the previous two bytes, we calculate the context as\r
+\r
+     context = kContextLookup[p1] | kContextLookup[p2 + 256].\r
+\r
+   If the previous two bytes are ASCII characters (i.e. < 128), this will be\r
+   equivalent to\r
+\r
+     context = 4 * context1(p1) + context2(p2),\r
+\r
+   where context1 is based on the previous byte in the following way:\r
+\r
+     0  : non-ASCII control\r
+     1  : \t, \n, \r\r
+     2  : space\r
+     3  : other punctuation\r
+     4  : " '\r
+     5  : %\r
+     6  : ( < [ {\r
+     7  : ) > ] }\r
+     8  : , ; :\r
+     9  : .\r
+     10 : =\r
+     11 : number\r
+     12 : upper-case vowel\r
+     13 : upper-case consonant\r
+     14 : lower-case vowel\r
+     15 : lower-case consonant\r
+\r
+   and context2 is based on the second last byte:\r
+\r
+     0 : control, space\r
+     1 : punctuation\r
+     2 : upper-case letter, number\r
+     3 : lower-case letter\r
+\r
+   If the last byte is ASCII, and the second last byte is not (in a valid UTF8\r
+   stream it will be a continuation byte, value between 128 and 191), the\r
+   context is the same as if the second last byte was an ASCII control or space.\r
+\r
+   If the last byte is a UTF8 lead byte (value >= 192), then the next byte will\r
+   be a continuation byte and the context id is 2 or 3 depending on the LSB of\r
+   the last byte and to a lesser extent on the second last byte if it is ASCII.\r
+\r
+   If the last byte is a UTF8 continuation byte, the second last byte can be:\r
+     - continuation byte: the next byte is probably ASCII or lead byte (assuming\r
+       4-byte UTF8 characters are rare) and the context id is 0 or 1.\r
+     - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1\r
+     - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3\r
+\r
+   The possible value combinations of the previous two bytes, the range of\r
+   context ids and the type of the next byte is summarized in the table below:\r
+\r
+   |--------\-----------------------------------------------------------------|\r
+   |         \                         Last byte                              |\r
+   | Second   \---------------------------------------------------------------|\r
+   | last byte \    ASCII            |   cont. byte        |   lead byte      |\r
+   |            \   (0-127)          |   (128-191)         |   (192-)         |\r
+   |=============|===================|=====================|==================|\r
+   |  ASCII      | next: ASCII/lead  |  not valid          |  next: cont.     |\r
+   |  (0-127)    | context: 4 - 63   |                     |  context: 2 - 3  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+   |  cont. byte | next: ASCII/lead  |  next: ASCII/lead   |  next: cont.     |\r
+   |  (128-191)  | context: 4 - 63   |  context: 0 - 1     |  context: 2 - 3  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+   |  lead byte  | not valid         |  next: ASCII/lead   |  not valid       |\r
+   |  (192-207)  |                   |  context: 0 - 1     |                  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+   |  lead byte  | not valid         |  next: cont.        |  not valid       |\r
+   |  (208-)     |                   |  context: 2 - 3     |                  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+\r
+   The context id for the signed context mode is calculated as:\r
+\r
+     context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2].\r
+\r
+   For any context modeling modes, the context ids can be calculated by |-ing\r
+   together two lookups from one table using context model dependent offsets:\r
+\r
+     context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2].\r
+\r
+   where offset1 and offset2 are dependent on the context mode.\r
+*/\r
+\r
+#ifndef BROTLI_DEC_CONTEXT_H_\r
+#define BROTLI_DEC_CONTEXT_H_\r
+\r
+#include "../common/types.h"\r
+\r
+enum ContextType {\r
+  CONTEXT_LSB6 = 0,\r
+  CONTEXT_MSB6 = 1,\r
+  CONTEXT_UTF8 = 2,\r
+  CONTEXT_SIGNED = 3\r
+};\r
+\r
+/* Common context lookup table for all context modes. */\r
+static const uint8_t kContextLookup[1792] = {\r
+  /* CONTEXT_UTF8, last byte. */\r
+  /* ASCII range. */\r
+   0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  4,  0,  0,  4,  0,  0,\r
+   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\r
+   8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,\r
+  44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,\r
+  12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,\r
+  52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,\r
+  12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,\r
+  60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12,  0,\r
+  /* UTF8 continuation byte range. */\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  /* UTF8 lead byte range. */\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  /* CONTEXT_UTF8 second last byte. */\r
+  /* ASCII range. */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,\r
+  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,\r
+  1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,\r
+  /* UTF8 continuation byte range. */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  /* UTF8 lead byte range. */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  /* CONTEXT_SIGNED, second last byte. */\r
+  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\r
+  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\r
+  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\r
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,\r
+  /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */\r
+   0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\r
+  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\r
+  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\r
+  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\r
+  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\r
+  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\r
+  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\r
+  40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\r
+  40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\r
+  40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\r
+  48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56,\r
+  /* CONTEXT_LSB6, last byte. */\r
+   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\r
+  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\r
+  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\r
+  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\r
+   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\r
+  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\r
+  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\r
+  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\r
+   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\r
+  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\r
+  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\r
+  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\r
+   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\r
+  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\r
+  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\r
+  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\r
+  /* CONTEXT_MSB6, last byte. */\r
+   0,  0,  0,  0,  1,  1,  1,  1,  2,  2,  2,  2,  3,  3,  3,  3,\r
+   4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,\r
+   8,  8,  8,  8,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11, 11,\r
+  12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,\r
+  16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,\r
+  20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,\r
+  24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27,\r
+  28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31,\r
+  32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35,\r
+  36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,\r
+  40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43,\r
+  44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,\r
+  48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51,\r
+  52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,\r
+  56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,\r
+  60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63,\r
+  /* CONTEXT_{M,L}SB6, second last byte, */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+};\r
+\r
+static const int kContextLookupOffsets[8] = {\r
+  /* CONTEXT_LSB6 */\r
+  1024, 1536,\r
+  /* CONTEXT_MSB6 */\r
+  1280, 1536,\r
+  /* CONTEXT_UTF8 */\r
+  0, 256,\r
+  /* CONTEXT_SIGNED */\r
+  768, 512,\r
+};\r
+\r
+#endif  /* BROTLI_DEC_CONTEXT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/decode.c b/BaseTools/Source/C/BrotliCompress/dec/decode.c
new file mode 100644 (file)
index 0000000..0b3eca3
--- /dev/null
@@ -0,0 +1,2347 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+#include "./decode.h"\r
+\r
+#ifdef __ARM_NEON__\r
+#include <arm_neon.h>\r
+#endif\r
+\r
+#include <stdlib.h>  /* free, malloc */\r
+#include <string.h>  /* memcpy, memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/dictionary.h"\r
+#include "./bit_reader.h"\r
+#include "./context.h"\r
+#include "./huffman.h"\r
+#include "./port.h"\r
+#include "./prefix.h"\r
+#include "./state.h"\r
+#include "./transform.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define BROTLI_FAILURE(CODE) (BROTLI_DUMP(), CODE)\r
+\r
+#define BROTLI_LOG_UINT(name)                                       \\r
+  BROTLI_LOG(("[%s] %s = %lu\n", __func__, #name, (unsigned long)(name)))\r
+#define BROTLI_LOG_ARRAY_INDEX(array_name, idx)                     \\r
+  BROTLI_LOG(("[%s] %s[%lu] = %lu\n", __func__, #array_name,        \\r
+         (unsigned long)(idx), (unsigned long)array_name[idx]))\r
+\r
+#define HUFFMAN_TABLE_BITS 8U\r
+#define HUFFMAN_TABLE_MASK 0xff\r
+\r
+static const uint8_t kCodeLengthCodeOrder[BROTLI_CODE_LENGTH_CODES] = {\r
+  1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15,\r
+};\r
+\r
+/* Static prefix code for the complex code length code lengths. */\r
+static const uint8_t kCodeLengthPrefixLength[16] = {\r
+  2, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 2, 4,\r
+};\r
+\r
+static const uint8_t kCodeLengthPrefixValue[16] = {\r
+  0, 4, 3, 2, 0, 4, 3, 1, 0, 4, 3, 2, 0, 4, 3, 5,\r
+};\r
+\r
+BrotliDecoderState* BrotliDecoderCreateInstance(\r
+    brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) {\r
+  BrotliDecoderState* state = 0;\r
+  if (!alloc_func && !free_func) {\r
+    state = (BrotliDecoderState*)malloc(sizeof(BrotliDecoderState));\r
+  } else if (alloc_func && free_func) {\r
+    state = (BrotliDecoderState*)alloc_func(opaque, sizeof(BrotliDecoderState));\r
+  }\r
+  if (state == 0) {\r
+    BROTLI_DUMP();\r
+    return 0;\r
+  }\r
+  BrotliDecoderStateInitWithCustomAllocators(\r
+      state, alloc_func, free_func, opaque);\r
+  state->error_code = BROTLI_DECODER_NO_ERROR;\r
+  return state;\r
+}\r
+\r
+/* Deinitializes and frees BrotliDecoderState instance. */\r
+void BrotliDecoderDestroyInstance(BrotliDecoderState* state) {\r
+  if (!state) {\r
+    return;\r
+  } else {\r
+    brotli_free_func free_func = state->free_func;\r
+    void* opaque = state->memory_manager_opaque;\r
+    BrotliDecoderStateCleanup(state);\r
+    free_func(opaque, state);\r
+  }\r
+}\r
+\r
+/* Saves error code and converts it to BrotliDecoderResult */\r
+static BROTLI_NOINLINE BrotliDecoderResult SaveErrorCode(\r
+    BrotliDecoderState* s, BrotliDecoderErrorCode e) {\r
+  s->error_code = (int)e;\r
+  switch (e) {\r
+    case BROTLI_DECODER_SUCCESS:\r
+      return BROTLI_DECODER_RESULT_SUCCESS;\r
+    case BROTLI_DECODER_NEEDS_MORE_INPUT:\r
+      return BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT;\r
+    case BROTLI_DECODER_NEEDS_MORE_OUTPUT:\r
+      return BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT;\r
+    default:\r
+      return BROTLI_DECODER_RESULT_ERROR;\r
+  }\r
+}\r
+\r
+/* Decodes a number in the range [9..24], by reading 1 - 7 bits.\r
+   Precondition: bit-reader accumulator has at least 7 bits. */\r
+static uint32_t DecodeWindowBits(BrotliBitReader* br) {\r
+  uint32_t n;\r
+  BrotliTakeBits(br, 1, &n);\r
+  if (n == 0) {\r
+    return 16;\r
+  }\r
+  BrotliTakeBits(br, 3, &n);\r
+  if (n != 0) {\r
+    return 17 + n;\r
+  }\r
+  BrotliTakeBits(br, 3, &n);\r
+  if (n != 0) {\r
+    return 8 + n;\r
+  }\r
+  return 17;\r
+}\r
+\r
+static BROTLI_INLINE void memmove16(uint8_t* dst, uint8_t* src) {\r
+#if defined(__ARM_NEON__)\r
+  vst1q_u8(dst, vld1q_u8(src));\r
+#else\r
+  uint32_t buffer[4];\r
+  memcpy(buffer, src, 16);\r
+  memcpy(dst, buffer, 16);\r
+#endif\r
+}\r
+\r
+/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */\r
+static BROTLI_NOINLINE BrotliDecoderErrorCode DecodeVarLenUint8(\r
+    BrotliDecoderState* s, BrotliBitReader* br, uint32_t* value) {\r
+  uint32_t bits;\r
+  switch (s->substate_decode_uint8) {\r
+    case BROTLI_STATE_DECODE_UINT8_NONE:\r
+      if (PREDICT_FALSE(!BrotliSafeReadBits(br, 1, &bits))) {\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      if (bits == 0) {\r
+        *value = 0;\r
+        return BROTLI_DECODER_SUCCESS;\r
+      }\r
+      /* No break, transit to the next state. */\r
+\r
+    case BROTLI_STATE_DECODE_UINT8_SHORT:\r
+      if (PREDICT_FALSE(!BrotliSafeReadBits(br, 3, &bits))) {\r
+        s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_SHORT;\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      if (bits == 0) {\r
+        *value = 1;\r
+        s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE;\r
+        return BROTLI_DECODER_SUCCESS;\r
+      }\r
+      /* Use output value as a temporary storage. It MUST be persisted. */\r
+      *value = bits;\r
+      /* No break, transit to the next state. */\r
+\r
+    case BROTLI_STATE_DECODE_UINT8_LONG:\r
+      if (PREDICT_FALSE(!BrotliSafeReadBits(br, *value, &bits))) {\r
+        s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_LONG;\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      *value = (1U << *value) + bits;\r
+      s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE;\r
+      return BROTLI_DECODER_SUCCESS;\r
+\r
+    default:\r
+      return\r
+          BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);\r
+  }\r
+}\r
+\r
+/* Decodes a metablock length and flags by reading 2 - 31 bits. */\r
+static BrotliDecoderErrorCode BROTLI_NOINLINE DecodeMetaBlockLength(\r
+    BrotliDecoderState* s, BrotliBitReader* br) {\r
+  uint32_t bits;\r
+  int i;\r
+  for (;;) {\r
+    switch (s->substate_metablock_header) {\r
+      case BROTLI_STATE_METABLOCK_HEADER_NONE:\r
+        if (!BrotliSafeReadBits(br, 1, &bits)) {\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        s->is_last_metablock = (uint8_t)bits;\r
+        s->meta_block_remaining_len = 0;\r
+        s->is_uncompressed = 0;\r
+        s->is_metadata = 0;\r
+        if (!s->is_last_metablock) {\r
+          s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES;\r
+          break;\r
+        }\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_EMPTY;\r
+        /* No break, transit to the next state. */\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_EMPTY:\r
+        if (!BrotliSafeReadBits(br, 1, &bits)) {\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        if (bits) {\r
+          s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;\r
+          return BROTLI_DECODER_SUCCESS;\r
+        }\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES;\r
+        /* No break, transit to the next state. */\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_NIBBLES:\r
+        if (!BrotliSafeReadBits(br, 2, &bits)) {\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        s->size_nibbles = (uint8_t)(bits + 4);\r
+        s->loop_counter = 0;\r
+        if (bits == 3) {\r
+          s->is_metadata = 1;\r
+          s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_RESERVED;\r
+          break;\r
+        }\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_SIZE;\r
+        /* No break, transit to the next state. */\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_SIZE:\r
+        i = s->loop_counter;\r
+        for (; i < s->size_nibbles; ++i) {\r
+          if (!BrotliSafeReadBits(br, 4, &bits)) {\r
+            s->loop_counter = i;\r
+            return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          }\r
+          if (i + 1 == s->size_nibbles && s->size_nibbles > 4 && bits == 0) {\r
+            return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE);\r
+          }\r
+          s->meta_block_remaining_len |= (int)(bits << (i * 4));\r
+        }\r
+        s->substate_metablock_header =\r
+            BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED;\r
+        /* No break, transit to the next state. */\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED:\r
+        if (!s->is_last_metablock) {\r
+          if (!BrotliSafeReadBits(br, 1, &bits)) {\r
+            return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          }\r
+          s->is_uncompressed = (uint8_t)bits;\r
+        }\r
+        ++s->meta_block_remaining_len;\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;\r
+        return BROTLI_DECODER_SUCCESS;\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_RESERVED:\r
+        if (!BrotliSafeReadBits(br, 1, &bits)) {\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        if (bits != 0) {\r
+          return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_RESERVED);\r
+        }\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_BYTES;\r
+        /* No break, transit to the next state. */\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_BYTES:\r
+        if (!BrotliSafeReadBits(br, 2, &bits)) {\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        if (bits == 0) {\r
+          s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;\r
+          return BROTLI_DECODER_SUCCESS;\r
+        }\r
+        s->size_nibbles = (uint8_t)bits;\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_METADATA;\r
+        /* No break, transit to the next state. */\r
+\r
+      case BROTLI_STATE_METABLOCK_HEADER_METADATA:\r
+        i = s->loop_counter;\r
+        for (; i < s->size_nibbles; ++i) {\r
+          if (!BrotliSafeReadBits(br, 8, &bits)) {\r
+            s->loop_counter = i;\r
+            return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          }\r
+          if (i + 1 == s->size_nibbles && s->size_nibbles > 1 && bits == 0) {\r
+            return BROTLI_FAILURE(\r
+                BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE);\r
+          }\r
+          s->meta_block_remaining_len |= (int)(bits << (i * 8));\r
+        }\r
+        ++s->meta_block_remaining_len;\r
+        s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;\r
+        return BROTLI_DECODER_SUCCESS;\r
+\r
+      default:\r
+        return\r
+            BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);\r
+    }\r
+  }\r
+}\r
+\r
+/* Decodes the Huffman code.\r
+   This method doesn't read data from the bit reader, BUT drops the amount of\r
+   bits that correspond to the decoded symbol.\r
+   bits MUST contain at least 15 (BROTLI_HUFFMAN_MAX_CODE_LENGTH) valid bits. */\r
+static BROTLI_INLINE uint32_t DecodeSymbol(uint32_t bits,\r
+                                           const HuffmanCode* table,\r
+                                           BrotliBitReader* br) {\r
+  table += bits & HUFFMAN_TABLE_MASK;\r
+  if (table->bits > HUFFMAN_TABLE_BITS) {\r
+    uint32_t nbits = table->bits - HUFFMAN_TABLE_BITS;\r
+    BrotliDropBits(br, HUFFMAN_TABLE_BITS);\r
+    table += table->value;\r
+    table += (bits >> HUFFMAN_TABLE_BITS) & BitMask(nbits);\r
+  }\r
+  BrotliDropBits(br, table->bits);\r
+  return table->value;\r
+}\r
+\r
+/* Reads and decodes the next Huffman code from bit-stream.\r
+   This method peeks 16 bits of input and drops 0 - 15 of them. */\r
+static BROTLI_INLINE uint32_t ReadSymbol(const HuffmanCode* table,\r
+                                         BrotliBitReader* br) {\r
+  return DecodeSymbol(BrotliGet16BitsUnmasked(br), table, br);\r
+}\r
+\r
+/* Same as DecodeSymbol, but it is known that there is less than 15 bits of\r
+   input are currently available. */\r
+static BROTLI_NOINLINE BROTLI_BOOL SafeDecodeSymbol(\r
+    const HuffmanCode* table, BrotliBitReader* br, uint32_t* result) {\r
+  uint32_t val;\r
+  uint32_t available_bits = BrotliGetAvailableBits(br);\r
+  if (available_bits == 0) {\r
+    if (table->bits == 0) {\r
+      *result = table->value;\r
+      return BROTLI_TRUE;\r
+    }\r
+    return BROTLI_FALSE; /* No valid bits at all. */\r
+  }\r
+  val = (uint32_t)BrotliGetBitsUnmasked(br);\r
+  table += val & HUFFMAN_TABLE_MASK;\r
+  if (table->bits <= HUFFMAN_TABLE_BITS) {\r
+    if (table->bits <= available_bits) {\r
+      BrotliDropBits(br, table->bits);\r
+      *result = table->value;\r
+      return BROTLI_TRUE;\r
+    } else {\r
+      return BROTLI_FALSE; /* Not enough bits for the first level. */\r
+    }\r
+  }\r
+  if (available_bits <= HUFFMAN_TABLE_BITS) {\r
+    return BROTLI_FALSE; /* Not enough bits to move to the second level. */\r
+  }\r
+\r
+  /* Speculatively drop HUFFMAN_TABLE_BITS. */\r
+  val = (val & BitMask(table->bits)) >> HUFFMAN_TABLE_BITS;\r
+  available_bits -= HUFFMAN_TABLE_BITS;\r
+  table += table->value + val;\r
+  if (available_bits < table->bits) {\r
+    return BROTLI_FALSE; /* Not enough bits for the second level. */\r
+  }\r
+\r
+  BrotliDropBits(br, HUFFMAN_TABLE_BITS + table->bits);\r
+  *result = table->value;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL SafeReadSymbol(\r
+    const HuffmanCode* table, BrotliBitReader* br, uint32_t* result) {\r
+  uint32_t val;\r
+  if (PREDICT_TRUE(BrotliSafeGetBits(br, 15, &val))) {\r
+    *result = DecodeSymbol(val, table, br);\r
+    return BROTLI_TRUE;\r
+  }\r
+  return SafeDecodeSymbol(table, br, result);\r
+}\r
+\r
+/* Makes a look-up in first level Huffman table. Peeks 8 bits. */\r
+static BROTLI_INLINE void PreloadSymbol(int safe,\r
+                                        const HuffmanCode* table,\r
+                                        BrotliBitReader* br,\r
+                                        uint32_t* bits,\r
+                                        uint32_t* value) {\r
+  if (safe) {\r
+    return;\r
+  }\r
+  table += BrotliGetBits(br, HUFFMAN_TABLE_BITS);\r
+  *bits = table->bits;\r
+  *value = table->value;\r
+}\r
+\r
+/* Decodes the next Huffman code using data prepared by PreloadSymbol.\r
+   Reads 0 - 15 bits. Also peeks 8 following bits. */\r
+static BROTLI_INLINE uint32_t ReadPreloadedSymbol(const HuffmanCode* table,\r
+                                                  BrotliBitReader* br,\r
+                                                  uint32_t* bits,\r
+                                                  uint32_t* value) {\r
+  uint32_t result = *value;\r
+  if (PREDICT_FALSE(*bits > HUFFMAN_TABLE_BITS)) {\r
+    uint32_t val = BrotliGet16BitsUnmasked(br);\r
+    const HuffmanCode* ext = table + (val & HUFFMAN_TABLE_MASK) + *value;\r
+    uint32_t mask = BitMask((*bits - HUFFMAN_TABLE_BITS));\r
+    BrotliDropBits(br, HUFFMAN_TABLE_BITS);\r
+    ext += (val >> HUFFMAN_TABLE_BITS) & mask;\r
+    BrotliDropBits(br, ext->bits);\r
+    result = ext->value;\r
+  } else {\r
+    BrotliDropBits(br, *bits);\r
+  }\r
+  PreloadSymbol(0, table, br, bits, value);\r
+  return result;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t Log2Floor(uint32_t x) {\r
+  uint32_t result = 0;\r
+  while (x) {\r
+    x >>= 1;\r
+    ++result;\r
+  }\r
+  return result;\r
+}\r
+\r
+/* Reads (s->symbol + 1) symbols.\r
+   Totally 1..4 symbols are read, 1..10 bits each.\r
+   The list of symbols MUST NOT contain duplicates.\r
+ */\r
+static BrotliDecoderErrorCode ReadSimpleHuffmanSymbols(\r
+    uint32_t alphabet_size, BrotliDecoderState* s) {\r
+  /* max_bits == 1..10; symbol == 0..3; 1..40 bits will be read. */\r
+  BrotliBitReader* br = &s->br;\r
+  uint32_t max_bits = Log2Floor(alphabet_size - 1);\r
+  uint32_t i = s->sub_loop_counter;\r
+  uint32_t num_symbols = s->symbol;\r
+  while (i <= num_symbols) {\r
+    uint32_t v;\r
+    if (PREDICT_FALSE(!BrotliSafeReadBits(br, max_bits, &v))) {\r
+      s->sub_loop_counter = i;\r
+      s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_READ;\r
+      return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    }\r
+    if (v >= alphabet_size) {\r
+      return\r
+          BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET);\r
+    }\r
+    s->symbols_lists_array[i] = (uint16_t)v;\r
+    BROTLI_LOG_UINT(s->symbols_lists_array[i]);\r
+    ++i;\r
+  }\r
+\r
+  for (i = 0; i < num_symbols; ++i) {\r
+    uint32_t k = i + 1;\r
+    for (; k <= num_symbols; ++k) {\r
+      if (s->symbols_lists_array[i] == s->symbols_lists_array[k]) {\r
+        return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME);\r
+      }\r
+    }\r
+  }\r
+\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+/* Process single decoded symbol code length:\r
+    A) reset the repeat variable\r
+    B) remember code length (if it is not 0)\r
+    C) extend corredponding index-chain\r
+    D) reduce the huffman space\r
+    E) update the histogram\r
+ */\r
+static BROTLI_INLINE void ProcessSingleCodeLength(uint32_t code_len,\r
+    uint32_t* symbol, uint32_t* repeat, uint32_t* space,\r
+    uint32_t* prev_code_len, uint16_t* symbol_lists,\r
+    uint16_t* code_length_histo, int* next_symbol) {\r
+  *repeat = 0;\r
+  if (code_len != 0) { /* code_len == 1..15 */\r
+    symbol_lists[next_symbol[code_len]] = (uint16_t)(*symbol);\r
+    next_symbol[code_len] = (int)(*symbol);\r
+    *prev_code_len = code_len;\r
+    *space -= 32768U >> code_len;\r
+    code_length_histo[code_len]++;\r
+    BROTLI_LOG(("[ReadHuffmanCode] code_length[%d] = %d\n", *symbol, code_len));\r
+  }\r
+  (*symbol)++;\r
+}\r
+\r
+/* Process repeated symbol code length.\r
+    A) Check if it is the extension of previous repeat sequence; if the decoded\r
+       value is not BROTLI_REPEAT_PREVIOUS_CODE_LENGTH, then it is a new\r
+       symbol-skip\r
+    B) Update repeat variable\r
+    C) Check if operation is feasible (fits alphapet)\r
+    D) For each symbol do the same operations as in ProcessSingleCodeLength\r
+\r
+   PRECONDITION: code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH or\r
+                 code_len == BROTLI_REPEAT_ZERO_CODE_LENGTH\r
+ */\r
+static BROTLI_INLINE void ProcessRepeatedCodeLength(uint32_t code_len,\r
+    uint32_t repeat_delta, uint32_t alphabet_size, uint32_t* symbol,\r
+    uint32_t* repeat, uint32_t* space, uint32_t* prev_code_len,\r
+    uint32_t* repeat_code_len, uint16_t* symbol_lists,\r
+    uint16_t* code_length_histo, int* next_symbol) {\r
+  uint32_t old_repeat;\r
+  uint32_t extra_bits = 3;  /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */\r
+  uint32_t new_len = 0;  /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */\r
+  if (code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) {\r
+    new_len = *prev_code_len;\r
+    extra_bits = 2;\r
+  }\r
+  if (*repeat_code_len != new_len) {\r
+    *repeat = 0;\r
+    *repeat_code_len = new_len;\r
+  }\r
+  old_repeat = *repeat;\r
+  if (*repeat > 0) {\r
+    *repeat -= 2;\r
+    *repeat <<= extra_bits;\r
+  }\r
+  *repeat += repeat_delta + 3U;\r
+  repeat_delta = *repeat - old_repeat;\r
+  if (*symbol + repeat_delta > alphabet_size) {\r
+    BROTLI_DUMP();\r
+    *symbol = alphabet_size;\r
+    *space = 0xFFFFF;\r
+    return;\r
+  }\r
+  BROTLI_LOG(("[ReadHuffmanCode] code_length[%d..%d] = %d\n",\r
+              *symbol, *symbol + repeat_delta - 1, *repeat_code_len));\r
+  if (*repeat_code_len != 0) {\r
+    unsigned last = *symbol + repeat_delta;\r
+    int next = next_symbol[*repeat_code_len];\r
+    do {\r
+      symbol_lists[next] = (uint16_t)*symbol;\r
+      next = (int)*symbol;\r
+    } while (++(*symbol) != last);\r
+    next_symbol[*repeat_code_len] = next;\r
+    *space -= repeat_delta << (15 - *repeat_code_len);\r
+    code_length_histo[*repeat_code_len] =\r
+        (uint16_t)(code_length_histo[*repeat_code_len] + repeat_delta);\r
+  } else {\r
+    *symbol += repeat_delta;\r
+  }\r
+}\r
+\r
+/* Reads and decodes symbol codelengths. */\r
+static BrotliDecoderErrorCode ReadSymbolCodeLengths(\r
+    uint32_t alphabet_size, BrotliDecoderState* s) {\r
+  BrotliBitReader* br = &s->br;\r
+  uint32_t symbol = s->symbol;\r
+  uint32_t repeat = s->repeat;\r
+  uint32_t space = s->space;\r
+  uint32_t prev_code_len = s->prev_code_len;\r
+  uint32_t repeat_code_len = s->repeat_code_len;\r
+  uint16_t* symbol_lists = s->symbol_lists;\r
+  uint16_t* code_length_histo = s->code_length_histo;\r
+  int* next_symbol = s->next_symbol;\r
+  if (!BrotliWarmupBitReader(br)) {\r
+    return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+  }\r
+  while (symbol < alphabet_size && space > 0) {\r
+    const HuffmanCode* p = s->table;\r
+    uint32_t code_len;\r
+    if (!BrotliCheckInputAmount(br, BROTLI_SHORT_FILL_BIT_WINDOW_READ)) {\r
+      s->symbol = symbol;\r
+      s->repeat = repeat;\r
+      s->prev_code_len = prev_code_len;\r
+      s->repeat_code_len = repeat_code_len;\r
+      s->space = space;\r
+      return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    }\r
+    BrotliFillBitWindow16(br);\r
+    p += BrotliGetBitsUnmasked(br) &\r
+        BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH);\r
+    BrotliDropBits(br, p->bits);  /* Use 1..5 bits */\r
+    code_len = p->value;  /* code_len == 0..17 */\r
+    if (code_len < BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) {\r
+      ProcessSingleCodeLength(code_len, &symbol, &repeat, &space,\r
+          &prev_code_len, symbol_lists, code_length_histo, next_symbol);\r
+    } else { /* code_len == 16..17, extra_bits == 2..3 */\r
+      uint32_t extra_bits =\r
+          (code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) ? 2 : 3;\r
+      uint32_t repeat_delta =\r
+          (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(extra_bits);\r
+      BrotliDropBits(br, extra_bits);\r
+      ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size,\r
+          &symbol, &repeat, &space, &prev_code_len, &repeat_code_len,\r
+          symbol_lists, code_length_histo, next_symbol);\r
+    }\r
+  }\r
+  s->space = space;\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+static BrotliDecoderErrorCode SafeReadSymbolCodeLengths(\r
+    uint32_t alphabet_size, BrotliDecoderState* s) {\r
+  BrotliBitReader* br = &s->br;\r
+  while (s->symbol < alphabet_size && s->space > 0) {\r
+    const HuffmanCode* p = s->table;\r
+    uint32_t code_len;\r
+    uint32_t bits = 0;\r
+    uint32_t available_bits = BrotliGetAvailableBits(br);\r
+    if (available_bits != 0) {\r
+      bits = (uint32_t)BrotliGetBitsUnmasked(br);\r
+    }\r
+    p += bits & BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH);\r
+    if (p->bits > available_bits) goto pullMoreInput;\r
+    code_len = p->value; /* code_len == 0..17 */\r
+    if (code_len < BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) {\r
+      BrotliDropBits(br, p->bits);\r
+      ProcessSingleCodeLength(code_len, &s->symbol, &s->repeat, &s->space,\r
+          &s->prev_code_len, s->symbol_lists, s->code_length_histo,\r
+          s->next_symbol);\r
+    } else { /* code_len == 16..17, extra_bits == 2..3 */\r
+      uint32_t extra_bits = code_len - 14U;\r
+      uint32_t repeat_delta = (bits >> p->bits) & BitMask(extra_bits);\r
+      if (available_bits < p->bits + extra_bits) goto pullMoreInput;\r
+      BrotliDropBits(br, p->bits + extra_bits);\r
+      ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size,\r
+          &s->symbol, &s->repeat, &s->space, &s->prev_code_len,\r
+          &s->repeat_code_len, s->symbol_lists, s->code_length_histo,\r
+          s->next_symbol);\r
+    }\r
+    continue;\r
+\r
+pullMoreInput:\r
+    if (!BrotliPullByte(br)) {\r
+      return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    }\r
+  }\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+/* Reads and decodes 15..18 codes using static prefix code.\r
+   Each code is 2..4 bits long. In total 30..72 bits are used. */\r
+static BrotliDecoderErrorCode ReadCodeLengthCodeLengths(BrotliDecoderState* s) {\r
+  BrotliBitReader* br = &s->br;\r
+  uint32_t num_codes = s->repeat;\r
+  unsigned space = s->space;\r
+  uint32_t i = s->sub_loop_counter;\r
+  for (; i < BROTLI_CODE_LENGTH_CODES; ++i) {\r
+    const uint8_t code_len_idx = kCodeLengthCodeOrder[i];\r
+    uint32_t ix;\r
+    uint32_t v;\r
+    if (PREDICT_FALSE(!BrotliSafeGetBits(br, 4, &ix))) {\r
+      uint32_t available_bits = BrotliGetAvailableBits(br);\r
+      if (available_bits != 0) {\r
+        ix = BrotliGetBitsUnmasked(br) & 0xF;\r
+      } else {\r
+        ix = 0;\r
+      }\r
+      if (kCodeLengthPrefixLength[ix] > available_bits) {\r
+        s->sub_loop_counter = i;\r
+        s->repeat = num_codes;\r
+        s->space = space;\r
+        s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX;\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+    }\r
+    v = kCodeLengthPrefixValue[ix];\r
+    BrotliDropBits(br, kCodeLengthPrefixLength[ix]);\r
+    s->code_length_code_lengths[code_len_idx] = (uint8_t)v;\r
+    BROTLI_LOG_ARRAY_INDEX(s->code_length_code_lengths, code_len_idx);\r
+    if (v != 0) {\r
+      space = space - (32U >> v);\r
+      ++num_codes;\r
+      ++s->code_length_histo[v];\r
+      if (space - 1U >= 32U) {\r
+        /* space is 0 or wrapped around */\r
+        break;\r
+      }\r
+    }\r
+  }\r
+  if (!(num_codes == 1 || space == 0)) {\r
+    return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CL_SPACE);\r
+  }\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+/* Decodes the Huffman tables.\r
+   There are 2 scenarios:\r
+    A) Huffman code contains only few symbols (1..4). Those symbols are read\r
+       directly; their code lengths are defined by the number of symbols.\r
+       For this scenario 4 - 45 bits will be read.\r
+\r
+    B) 2-phase decoding:\r
+    B.1) Small Huffman table is decoded; it is specified with code lengths\r
+         encoded with predefined entropy code. 32 - 74 bits are used.\r
+    B.2) Decoded table is used to decode code lengths of symbols in resulting\r
+         Huffman table. In worst case 3520 bits are read.\r
+*/\r
+static BrotliDecoderErrorCode ReadHuffmanCode(uint32_t alphabet_size,\r
+                                              HuffmanCode* table,\r
+                                              uint32_t* opt_table_size,\r
+                                              BrotliDecoderState* s) {\r
+  BrotliBitReader* br = &s->br;\r
+  /* Unnecessary masking, but might be good for safety. */\r
+  alphabet_size &= 0x3ff;\r
+  /* State machine */\r
+  switch (s->substate_huffman) {\r
+    case BROTLI_STATE_HUFFMAN_NONE:\r
+      if (!BrotliSafeReadBits(br, 2, &s->sub_loop_counter)) {\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      BROTLI_LOG_UINT(s->sub_loop_counter);\r
+      /* The value is used as follows:\r
+         1 for simple code;\r
+         0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */\r
+      if (s->sub_loop_counter != 1) {\r
+        s->space = 32;\r
+        s->repeat = 0; /* num_codes */\r
+        memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo[0]) *\r
+            (BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1));\r
+        memset(&s->code_length_code_lengths[0], 0,\r
+            sizeof(s->code_length_code_lengths));\r
+        s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX;\r
+        goto Complex;\r
+      }\r
+      /* No break, transit to the next state. */\r
+\r
+    case BROTLI_STATE_HUFFMAN_SIMPLE_SIZE:\r
+      /* Read symbols, codes & code lengths directly. */\r
+      if (!BrotliSafeReadBits(br, 2, &s->symbol)) { /* num_symbols */\r
+        s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_SIZE;\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      s->sub_loop_counter = 0;\r
+      /* No break, transit to the next state. */\r
+    case BROTLI_STATE_HUFFMAN_SIMPLE_READ: {\r
+      BrotliDecoderErrorCode result =\r
+          ReadSimpleHuffmanSymbols(alphabet_size, s);\r
+      if (result != BROTLI_DECODER_SUCCESS) {\r
+        return result;\r
+      }\r
+      /* No break, transit to the next state. */\r
+    }\r
+    case BROTLI_STATE_HUFFMAN_SIMPLE_BUILD: {\r
+      uint32_t table_size;\r
+      if (s->symbol == 3) {\r
+        uint32_t bits;\r
+        if (!BrotliSafeReadBits(br, 1, &bits)) {\r
+          s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_BUILD;\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        s->symbol += bits;\r
+      }\r
+      BROTLI_LOG_UINT(s->symbol);\r
+      table_size = BrotliBuildSimpleHuffmanTable(\r
+          table, HUFFMAN_TABLE_BITS, s->symbols_lists_array, s->symbol);\r
+      if (opt_table_size) {\r
+        *opt_table_size = table_size;\r
+      }\r
+      s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE;\r
+      return BROTLI_DECODER_SUCCESS;\r
+    }\r
+\r
+Complex: /* Decode Huffman-coded code lengths. */\r
+    case BROTLI_STATE_HUFFMAN_COMPLEX: {\r
+      uint32_t i;\r
+      BrotliDecoderErrorCode result = ReadCodeLengthCodeLengths(s);\r
+      if (result != BROTLI_DECODER_SUCCESS) {\r
+        return result;\r
+      }\r
+      BrotliBuildCodeLengthsHuffmanTable(s->table,\r
+                                         s->code_length_code_lengths,\r
+                                         s->code_length_histo);\r
+      memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo));\r
+      for (i = 0; i <= BROTLI_HUFFMAN_MAX_CODE_LENGTH; ++i) {\r
+        s->next_symbol[i] = (int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1);\r
+        s->symbol_lists[(int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1)] = 0xFFFF;\r
+      }\r
+\r
+      s->symbol = 0;\r
+      s->prev_code_len = BROTLI_INITIAL_REPEATED_CODE_LENGTH;\r
+      s->repeat = 0;\r
+      s->repeat_code_len = 0;\r
+      s->space = 32768;\r
+      s->substate_huffman = BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS;\r
+      /* No break, transit to the next state. */\r
+    }\r
+    case BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS: {\r
+      uint32_t table_size;\r
+      BrotliDecoderErrorCode result = ReadSymbolCodeLengths(alphabet_size, s);\r
+      if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) {\r
+        result = SafeReadSymbolCodeLengths(alphabet_size, s);\r
+      }\r
+      if (result != BROTLI_DECODER_SUCCESS) {\r
+        return result;\r
+      }\r
+\r
+      if (s->space != 0) {\r
+        BROTLI_LOG(("[ReadHuffmanCode] space = %d\n", s->space));\r
+        return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE);\r
+      }\r
+      table_size = BrotliBuildHuffmanTable(\r
+          table, HUFFMAN_TABLE_BITS, s->symbol_lists, s->code_length_histo);\r
+      if (opt_table_size) {\r
+        *opt_table_size = table_size;\r
+      }\r
+      s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE;\r
+      return BROTLI_DECODER_SUCCESS;\r
+    }\r
+\r
+    default:\r
+      return\r
+          BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);\r
+  }\r
+}\r
+\r
+/* Decodes a block length by reading 3..39 bits. */\r
+static BROTLI_INLINE uint32_t ReadBlockLength(const HuffmanCode* table,\r
+                                              BrotliBitReader* br) {\r
+  uint32_t code;\r
+  uint32_t nbits;\r
+  code = ReadSymbol(table, br);\r
+  nbits = kBlockLengthPrefixCode[code].nbits; /* nbits == 2..24 */\r
+  return kBlockLengthPrefixCode[code].offset + BrotliReadBits(br, nbits);\r
+}\r
+\r
+/* WARNING: if state is not BROTLI_STATE_READ_BLOCK_LENGTH_NONE, then\r
+   reading can't be continued with ReadBlockLength. */\r
+static BROTLI_INLINE BROTLI_BOOL SafeReadBlockLength(\r
+    BrotliDecoderState* s, uint32_t* result, const HuffmanCode* table,\r
+    BrotliBitReader* br) {\r
+  uint32_t index;\r
+  if (s->substate_read_block_length == BROTLI_STATE_READ_BLOCK_LENGTH_NONE) {\r
+    if (!SafeReadSymbol(table, br, &index)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+  } else {\r
+    index = s->block_length_index;\r
+  }\r
+  {\r
+    uint32_t bits;\r
+    uint32_t nbits = kBlockLengthPrefixCode[index].nbits; /* nbits == 2..24 */\r
+    if (!BrotliSafeReadBits(br, nbits, &bits)) {\r
+      s->block_length_index = index;\r
+      s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX;\r
+      return BROTLI_FALSE;\r
+    }\r
+    *result = kBlockLengthPrefixCode[index].offset + bits;\r
+    s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE;\r
+    return BROTLI_TRUE;\r
+  }\r
+}\r
+\r
+/* Transform:\r
+    1) initialize list L with values 0, 1,... 255\r
+    2) For each input element X:\r
+    2.1) let Y = L[X]\r
+    2.2) remove X-th element from L\r
+    2.3) prepend Y to L\r
+    2.4) append Y to output\r
+\r
+   In most cases max(Y) <= 7, so most of L remains intact.\r
+   To reduce the cost of initialization, we reuse L, remember the upper bound\r
+   of Y values, and reinitialize only first elements in L.\r
+\r
+   Most of input values are 0 and 1. To reduce number of branches, we replace\r
+   inner for loop with do-while.\r
+ */\r
+static BROTLI_NOINLINE void InverseMoveToFrontTransform(\r
+    uint8_t* v, uint32_t v_len, BrotliDecoderState* state) {\r
+  /* Reinitialize elements that could have been changed. */\r
+  uint32_t i = 4;\r
+  uint32_t upper_bound = state->mtf_upper_bound;\r
+  uint8_t* mtf = &state->mtf[4];  /* Make mtf[-1] addressable. */\r
+  /* Load endian-aware constant. */\r
+  const uint8_t b0123[4] = {0, 1, 2, 3};\r
+  uint32_t pattern;\r
+  memcpy(&pattern, &b0123, 4);\r
+\r
+  /* Initialize list using 4 consequent values pattern. */\r
+  *(uint32_t*)mtf = pattern;\r
+  do {\r
+    pattern += 0x04040404; /* Advance all 4 values by 4. */\r
+    *(uint32_t*)(mtf + i) = pattern;\r
+    i += 4;\r
+  } while (i <= upper_bound);\r
+\r
+  /* Transform the input. */\r
+  upper_bound = 0;\r
+  for (i = 0; i < v_len; ++i) {\r
+    int index = v[i];\r
+    uint8_t value = mtf[index];\r
+    upper_bound |= v[i];\r
+    v[i] = value;\r
+    mtf[-1] = value;\r
+    do {\r
+      index--;\r
+      mtf[index + 1] = mtf[index];\r
+    } while (index >= 0);\r
+  }\r
+  /* Remember amount of elements to be reinitialized. */\r
+  state->mtf_upper_bound = upper_bound;\r
+}\r
+\r
+/* Decodes a series of Huffman table using ReadHuffmanCode function. */\r
+static BrotliDecoderErrorCode HuffmanTreeGroupDecode(\r
+    HuffmanTreeGroup* group, BrotliDecoderState* s) {\r
+  if (s->substate_tree_group != BROTLI_STATE_TREE_GROUP_LOOP) {\r
+    s->next = group->codes;\r
+    s->htree_index = 0;\r
+    s->substate_tree_group = BROTLI_STATE_TREE_GROUP_LOOP;\r
+  }\r
+  while (s->htree_index < group->num_htrees) {\r
+    uint32_t table_size;\r
+    BrotliDecoderErrorCode result =\r
+        ReadHuffmanCode(group->alphabet_size, s->next, &table_size, s);\r
+    if (result != BROTLI_DECODER_SUCCESS) return result;\r
+    group->htrees[s->htree_index] = s->next;\r
+    s->next += table_size;\r
+    ++s->htree_index;\r
+  }\r
+  s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE;\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+/* Decodes a context map.\r
+   Decoding is done in 4 phases:\r
+    1) Read auxiliary information (6..16 bits) and allocate memory.\r
+       In case of trivial context map, decoding is finished at this phase.\r
+    2) Decode Huffman table using ReadHuffmanCode function.\r
+       This table will be used for reading context map items.\r
+    3) Read context map items; "0" values could be run-length encoded.\r
+    4) Optionally, apply InverseMoveToFront transform to the resulting map.\r
+ */\r
+static BrotliDecoderErrorCode DecodeContextMap(uint32_t context_map_size,\r
+                                               uint32_t* num_htrees,\r
+                                               uint8_t** context_map_arg,\r
+                                               BrotliDecoderState* s) {\r
+  BrotliBitReader* br = &s->br;\r
+  BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS;\r
+\r
+  switch ((int)s->substate_context_map) {\r
+    case BROTLI_STATE_CONTEXT_MAP_NONE:\r
+      result = DecodeVarLenUint8(s, br, num_htrees);\r
+      if (result != BROTLI_DECODER_SUCCESS) {\r
+        return result;\r
+      }\r
+      (*num_htrees)++;\r
+      s->context_index = 0;\r
+      BROTLI_LOG_UINT(context_map_size);\r
+      BROTLI_LOG_UINT(*num_htrees);\r
+      *context_map_arg = (uint8_t*)BROTLI_ALLOC(s, (size_t)context_map_size);\r
+      if (*context_map_arg == 0) {\r
+        return BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP);\r
+      }\r
+      if (*num_htrees <= 1) {\r
+        memset(*context_map_arg, 0, (size_t)context_map_size);\r
+        return BROTLI_DECODER_SUCCESS;\r
+      }\r
+      s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_READ_PREFIX;\r
+      /* No break, continue to next state. */\r
+    case BROTLI_STATE_CONTEXT_MAP_READ_PREFIX: {\r
+      uint32_t bits;\r
+      /* In next stage ReadHuffmanCode uses at least 4 bits, so it is safe\r
+         to peek 4 bits ahead. */\r
+      if (!BrotliSafeGetBits(br, 5, &bits)) {\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      if ((bits & 1) != 0) { /* Use RLE for zeroes. */\r
+        s->max_run_length_prefix = (bits >> 1) + 1;\r
+        BrotliDropBits(br, 5);\r
+      } else {\r
+        s->max_run_length_prefix = 0;\r
+        BrotliDropBits(br, 1);\r
+      }\r
+      BROTLI_LOG_UINT(s->max_run_length_prefix);\r
+      s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_HUFFMAN;\r
+      /* No break, continue to next state. */\r
+    }\r
+    case BROTLI_STATE_CONTEXT_MAP_HUFFMAN:\r
+      result = ReadHuffmanCode(*num_htrees + s->max_run_length_prefix,\r
+                               s->context_map_table, NULL, s);\r
+      if (result != BROTLI_DECODER_SUCCESS) return result;\r
+      s->code = 0xFFFF;\r
+      s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_DECODE;\r
+      /* No break, continue to next state. */\r
+    case BROTLI_STATE_CONTEXT_MAP_DECODE: {\r
+      uint32_t context_index = s->context_index;\r
+      uint32_t max_run_length_prefix = s->max_run_length_prefix;\r
+      uint8_t* context_map = *context_map_arg;\r
+      uint32_t code = s->code;\r
+      if (code != 0xFFFF) {\r
+        goto rleCode;\r
+      }\r
+      while (context_index < context_map_size) {\r
+        if (!SafeReadSymbol(s->context_map_table, br, &code)) {\r
+          s->code = 0xFFFF;\r
+          s->context_index = context_index;\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        BROTLI_LOG_UINT(code);\r
+\r
+        if (code == 0) {\r
+          context_map[context_index++] = 0;\r
+          continue;\r
+        }\r
+        if (code > max_run_length_prefix) {\r
+          context_map[context_index++] =\r
+              (uint8_t)(code - max_run_length_prefix);\r
+          continue;\r
+        }\r
+rleCode:\r
+        {\r
+          uint32_t reps;\r
+          if (!BrotliSafeReadBits(br, code, &reps)) {\r
+            s->code = code;\r
+            s->context_index = context_index;\r
+            return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          }\r
+          reps += 1U << code;\r
+          BROTLI_LOG_UINT(reps);\r
+          if (context_index + reps > context_map_size) {\r
+            return\r
+                BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT);\r
+          }\r
+          do {\r
+            context_map[context_index++] = 0;\r
+          } while (--reps);\r
+        }\r
+      }\r
+      /* No break, continue to next state. */\r
+    }\r
+    case BROTLI_STATE_CONTEXT_MAP_TRANSFORM: {\r
+      uint32_t bits;\r
+      if (!BrotliSafeReadBits(br, 1, &bits)) {\r
+        s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_TRANSFORM;\r
+        return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+      }\r
+      if (bits != 0) {\r
+        InverseMoveToFrontTransform(*context_map_arg, context_map_size, s);\r
+      }\r
+      s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE;\r
+      return BROTLI_DECODER_SUCCESS;\r
+    }\r
+    default:\r
+      return\r
+          BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);\r
+  }\r
+}\r
+\r
+/* Decodes a command or literal and updates block type ringbuffer.\r
+   Reads 3..54 bits. */\r
+static BROTLI_INLINE BROTLI_BOOL DecodeBlockTypeAndLength(\r
+    int safe, BrotliDecoderState* s, int tree_type) {\r
+  uint32_t max_block_type = s->num_block_types[tree_type];\r
+  const HuffmanCode* type_tree = &s->block_type_trees[\r
+      tree_type * BROTLI_HUFFMAN_MAX_SIZE_258];\r
+  const HuffmanCode* len_tree = &s->block_len_trees[\r
+      tree_type * BROTLI_HUFFMAN_MAX_SIZE_26];\r
+  BrotliBitReader* br = &s->br;\r
+  uint32_t* ringbuffer = &s->block_type_rb[tree_type * 2];\r
+  uint32_t block_type;\r
+\r
+  /* Read 0..15 + 3..39 bits */\r
+  if (!safe) {\r
+    block_type = ReadSymbol(type_tree, br);\r
+    s->block_length[tree_type] = ReadBlockLength(len_tree, br);\r
+  } else {\r
+    BrotliBitReaderState memento;\r
+    BrotliBitReaderSaveState(br, &memento);\r
+    if (!SafeReadSymbol(type_tree, br, &block_type)) return BROTLI_FALSE;\r
+    if (!SafeReadBlockLength(s, &s->block_length[tree_type], len_tree, br)) {\r
+      s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE;\r
+      BrotliBitReaderRestoreState(br, &memento);\r
+      return BROTLI_FALSE;\r
+    }\r
+  }\r
+\r
+  if (block_type == 1) {\r
+    block_type = ringbuffer[1] + 1;\r
+  } else if (block_type == 0) {\r
+    block_type = ringbuffer[0];\r
+  } else {\r
+    block_type -= 2;\r
+  }\r
+  if (block_type >= max_block_type) {\r
+    block_type -= max_block_type;\r
+  }\r
+  ringbuffer[0] = ringbuffer[1];\r
+  ringbuffer[1] = block_type;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static BROTLI_INLINE void DetectTrivialLiteralBlockTypes(\r
+    BrotliDecoderState* s) {\r
+  size_t i;\r
+  for (i = 0; i < 8; ++i) s->trivial_literal_contexts[i] = 0;\r
+  for (i = 0; i < s->num_block_types[0]; i++) {\r
+    size_t offset = i << BROTLI_LITERAL_CONTEXT_BITS;\r
+    size_t error = 0;\r
+    size_t sample = s->context_map[offset];\r
+    size_t j;\r
+    for (j = 0; j < (1u << BROTLI_LITERAL_CONTEXT_BITS);) {\r
+      BROTLI_REPEAT(4, error |= s->context_map[offset + j++] ^ sample;)\r
+    }\r
+    if (error == 0) {\r
+      s->trivial_literal_contexts[i >> 5] |= 1u << (i & 31);\r
+    }\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void PrepareLiteralDecoding(BrotliDecoderState* s) {\r
+  uint8_t context_mode;\r
+  size_t trivial;\r
+  uint32_t block_type = s->block_type_rb[1];\r
+  uint32_t context_offset = block_type << BROTLI_LITERAL_CONTEXT_BITS;\r
+  s->context_map_slice = s->context_map + context_offset;\r
+  trivial = s->trivial_literal_contexts[block_type >> 5];\r
+  s->trivial_literal_context = (trivial >> (block_type & 31)) & 1;\r
+  s->literal_htree = s->literal_hgroup.htrees[s->context_map_slice[0]];\r
+  context_mode = s->context_modes[block_type];\r
+  s->context_lookup1 = &kContextLookup[kContextLookupOffsets[context_mode]];\r
+  s->context_lookup2 = &kContextLookup[kContextLookupOffsets[context_mode + 1]];\r
+}\r
+\r
+/* Decodes the block type and updates the state for literal context.\r
+   Reads 3..54 bits. */\r
+static BROTLI_INLINE BROTLI_BOOL DecodeLiteralBlockSwitchInternal(\r
+    int safe, BrotliDecoderState* s) {\r
+  if (!DecodeBlockTypeAndLength(safe, s, 0)) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  PrepareLiteralDecoding(s);\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static void BROTLI_NOINLINE DecodeLiteralBlockSwitch(BrotliDecoderState* s) {\r
+  DecodeLiteralBlockSwitchInternal(0, s);\r
+}\r
+\r
+static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeLiteralBlockSwitch(\r
+    BrotliDecoderState* s) {\r
+  return DecodeLiteralBlockSwitchInternal(1, s);\r
+}\r
+\r
+/* Block switch for insert/copy length.\r
+   Reads 3..54 bits. */\r
+static BROTLI_INLINE BROTLI_BOOL DecodeCommandBlockSwitchInternal(\r
+    int safe, BrotliDecoderState* s) {\r
+  if (!DecodeBlockTypeAndLength(safe, s, 1)) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  s->htree_command = s->insert_copy_hgroup.htrees[s->block_type_rb[3]];\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static void BROTLI_NOINLINE DecodeCommandBlockSwitch(BrotliDecoderState* s) {\r
+  DecodeCommandBlockSwitchInternal(0, s);\r
+}\r
+static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeCommandBlockSwitch(\r
+    BrotliDecoderState* s) {\r
+  return DecodeCommandBlockSwitchInternal(1, s);\r
+}\r
+\r
+/* Block switch for distance codes.\r
+   Reads 3..54 bits. */\r
+static BROTLI_INLINE BROTLI_BOOL DecodeDistanceBlockSwitchInternal(\r
+    int safe, BrotliDecoderState* s) {\r
+  if (!DecodeBlockTypeAndLength(safe, s, 2)) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  s->dist_context_map_slice = s->dist_context_map +\r
+      (s->block_type_rb[5] << BROTLI_DISTANCE_CONTEXT_BITS);\r
+  s->dist_htree_index = s->dist_context_map_slice[s->distance_context];\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static void BROTLI_NOINLINE DecodeDistanceBlockSwitch(BrotliDecoderState* s) {\r
+  DecodeDistanceBlockSwitchInternal(0, s);\r
+}\r
+\r
+static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeDistanceBlockSwitch(\r
+    BrotliDecoderState* s) {\r
+  return DecodeDistanceBlockSwitchInternal(1, s);\r
+}\r
+\r
+static size_t UnwrittenBytes(const BrotliDecoderState* s, BROTLI_BOOL wrap) {\r
+  size_t pos = wrap && s->pos > s->ringbuffer_size ?\r
+      (size_t)s->ringbuffer_size : (size_t)(s->pos);\r
+  size_t partial_pos_rb = (s->rb_roundtrips * (size_t)s->ringbuffer_size) + pos;\r
+  return partial_pos_rb - s->partial_pos_out;\r
+}\r
+\r
+static BrotliDecoderErrorCode BROTLI_NOINLINE WriteRingBuffer(\r
+    BrotliDecoderState* s, size_t* available_out, uint8_t** next_out,\r
+    size_t* total_out) {\r
+  uint8_t* start =\r
+      s->ringbuffer + (s->partial_pos_out & (size_t)s->ringbuffer_mask);\r
+  size_t to_write = UnwrittenBytes(s, BROTLI_TRUE);\r
+  size_t num_written = *available_out;\r
+  if (num_written > to_write) {\r
+    num_written = to_write;\r
+  }\r
+  if (s->meta_block_remaining_len < 0) {\r
+    return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1);\r
+  }\r
+  memcpy(*next_out, start, num_written);\r
+  *next_out += num_written;\r
+  *available_out -= num_written;\r
+  BROTLI_LOG_UINT(to_write);\r
+  BROTLI_LOG_UINT(num_written);\r
+  s->partial_pos_out += num_written;\r
+  if (total_out) *total_out = s->partial_pos_out;\r
+  if (num_written < to_write) {\r
+    return BROTLI_DECODER_NEEDS_MORE_OUTPUT;\r
+  }\r
+\r
+  if (s->pos >= s->ringbuffer_size) {\r
+    s->pos -= s->ringbuffer_size;\r
+    s->rb_roundtrips++;\r
+  }\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+/* Allocates ringbuffer.\r
+\r
+  s->ringbuffer_size MUST be updated by BrotliCalculateRingBufferSize before\r
+  this function is called.\r
+\r
+   Last two bytes of ringbuffer are initialized to 0, so context calculation\r
+   could be done uniformly for the first two and all other positions.\r
+\r
+   Custom dictionary, if any, is copied to the end of ringbuffer.\r
+*/\r
+static BROTLI_BOOL BROTLI_NOINLINE BrotliAllocateRingBuffer(\r
+    BrotliDecoderState* s) {\r
+  /* We need the slack region for the following reasons:\r
+      - doing up to two 16-byte copies for fast backward copying\r
+      - inserting transformed dictionary word (5 prefix + 24 base + 8 suffix) */\r
+  static const int kRingBufferWriteAheadSlack = 42;\r
+  s->ringbuffer = (uint8_t*)BROTLI_ALLOC(s, (size_t)(s->ringbuffer_size +\r
+      kRingBufferWriteAheadSlack));\r
+  if (s->ringbuffer == 0) {\r
+    return BROTLI_FALSE;\r
+  }\r
+\r
+  s->ringbuffer_end = s->ringbuffer + s->ringbuffer_size;\r
+\r
+  s->ringbuffer[s->ringbuffer_size - 2] = 0;\r
+  s->ringbuffer[s->ringbuffer_size - 1] = 0;\r
+\r
+  if (s->custom_dict) {\r
+    memcpy(&s->ringbuffer[(-s->custom_dict_size) & s->ringbuffer_mask],\r
+           s->custom_dict, (size_t)s->custom_dict_size);\r
+  }\r
+\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static BrotliDecoderErrorCode BROTLI_NOINLINE CopyUncompressedBlockToOutput(\r
+    size_t* available_out, uint8_t** next_out, size_t* total_out,\r
+    BrotliDecoderState* s) {\r
+  /* TODO: avoid allocation for single uncompressed block. */\r
+  if (!s->ringbuffer && !BrotliAllocateRingBuffer(s)) {\r
+    return BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1);\r
+  }\r
+\r
+  /* State machine */\r
+  for (;;) {\r
+    switch (s->substate_uncompressed) {\r
+      case BROTLI_STATE_UNCOMPRESSED_NONE: {\r
+        int nbytes = (int)BrotliGetRemainingBytes(&s->br);\r
+        if (nbytes > s->meta_block_remaining_len) {\r
+          nbytes = s->meta_block_remaining_len;\r
+        }\r
+        if (s->pos + nbytes > s->ringbuffer_size) {\r
+          nbytes = s->ringbuffer_size - s->pos;\r
+        }\r
+        /* Copy remaining bytes from s->br.buf_ to ringbuffer. */\r
+        BrotliCopyBytes(&s->ringbuffer[s->pos], &s->br, (size_t)nbytes);\r
+        s->pos += nbytes;\r
+        s->meta_block_remaining_len -= nbytes;\r
+        if (s->pos < s->ringbuffer_size) {\r
+          if (s->meta_block_remaining_len == 0) {\r
+            return BROTLI_DECODER_SUCCESS;\r
+          }\r
+          return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        }\r
+        s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_WRITE;\r
+        /* No break, continue to next state */\r
+      }\r
+      case BROTLI_STATE_UNCOMPRESSED_WRITE: {\r
+        BrotliDecoderErrorCode result =\r
+            WriteRingBuffer(s, available_out, next_out, total_out);\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          return result;\r
+        }\r
+        s->max_distance = s->max_backward_distance;\r
+        s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE;\r
+        break;\r
+      }\r
+    }\r
+  }\r
+  BROTLI_DCHECK(0);  /* Unreachable */\r
+}\r
+\r
+BROTLI_BOOL BrotliDecompressedSize(size_t encoded_size,\r
+                                   const uint8_t* encoded_buffer,\r
+                                   size_t* decoded_size) {\r
+  size_t total_size = 0;\r
+  BrotliDecoderState s;\r
+  BrotliBitReader* br;\r
+  BrotliDecoderStateInit(&s);\r
+  br = &s.br;\r
+  *decoded_size = 0;\r
+  br->next_in = encoded_buffer;\r
+  br->avail_in = encoded_size;\r
+  if (!BrotliWarmupBitReader(br)) return BROTLI_FALSE;\r
+  DecodeWindowBits(br);\r
+  while (1) {\r
+    size_t block_size;\r
+    if (DecodeMetaBlockLength(&s, br) != BROTLI_DECODER_SUCCESS) {\r
+      return BROTLI_FALSE;\r
+    }\r
+    block_size = (size_t)s.meta_block_remaining_len;\r
+    if (!s.is_metadata) {\r
+      if ((block_size + total_size) < total_size) return BROTLI_FALSE;\r
+      total_size += block_size;\r
+    }\r
+    if (s.is_last_metablock) {\r
+      *decoded_size = total_size;\r
+      return BROTLI_TRUE;\r
+    }\r
+    if (!s.is_uncompressed && !s.is_metadata) return BROTLI_FALSE;\r
+    if (!BrotliJumpToByteBoundary(br)) return BROTLI_FALSE;\r
+    BrotliBitReaderUnload(br);\r
+    if (br->avail_in < block_size) return BROTLI_FALSE;\r
+    br->avail_in -= block_size;\r
+    br->next_in += block_size;\r
+    if (!BrotliWarmupBitReader(br)) return BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+/* Calculates the smallest feasible ring buffer.\r
+\r
+   If we know the data size is small, do not allocate more ringbuffer\r
+   size than needed to reduce memory usage.\r
+\r
+   When this method is called, metablock size and flags MUST be decoded.\r
+*/\r
+static void BROTLI_NOINLINE BrotliCalculateRingBufferSize(\r
+    BrotliDecoderState* s, BrotliBitReader* br) {\r
+  BROTLI_BOOL is_last = TO_BROTLI_BOOL(s->is_last_metablock);\r
+  int window_size = 1 << s->window_bits;\r
+  s->ringbuffer_size = window_size;\r
+\r
+  if (s->is_uncompressed) {\r
+    int next_block_header =\r
+        BrotliPeekByte(br, (size_t)s->meta_block_remaining_len);\r
+    if (next_block_header != -1) {  /* Peek succeeded */\r
+      if ((next_block_header & 3) == 3) {  /* ISLAST and ISEMPTY */\r
+        is_last = BROTLI_TRUE;\r
+      }\r
+    }\r
+  }\r
+\r
+  /* We need at least 2 bytes of ring buffer size to get the last two\r
+     bytes for context from there */\r
+  if (is_last) {\r
+    int min_size_x2 = (s->meta_block_remaining_len + s->custom_dict_size) * 2;\r
+    while (s->ringbuffer_size >= min_size_x2 && s->ringbuffer_size > 32) {\r
+      s->ringbuffer_size >>= 1;\r
+    }\r
+  }\r
+\r
+  s->ringbuffer_mask = s->ringbuffer_size - 1;\r
+}\r
+\r
+/* Reads 1..256 2-bit context modes. */\r
+static BrotliDecoderErrorCode ReadContextModes(BrotliDecoderState* s) {\r
+  BrotliBitReader* br = &s->br;\r
+  int i = s->loop_counter;\r
+\r
+  while (i < (int)s->num_block_types[0]) {\r
+    uint32_t bits;\r
+    if (!BrotliSafeReadBits(br, 2, &bits)) {\r
+      s->loop_counter = i;\r
+      return BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    }\r
+    s->context_modes[i] = (uint8_t)(bits << 1);\r
+    BROTLI_LOG_ARRAY_INDEX(s->context_modes, i);\r
+    i++;\r
+  }\r
+  return BROTLI_DECODER_SUCCESS;\r
+}\r
+\r
+static BROTLI_INLINE void TakeDistanceFromRingBuffer(BrotliDecoderState* s) {\r
+  if (s->distance_code == 0) {\r
+    --s->dist_rb_idx;\r
+    s->distance_code = s->dist_rb[s->dist_rb_idx & 3];\r
+  } else {\r
+    int distance_code = s->distance_code << 1;\r
+    /* kDistanceShortCodeIndexOffset has 2-bit values from LSB: */\r
+    /* 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 */\r
+    const uint32_t kDistanceShortCodeIndexOffset = 0xaaafff1b;\r
+    /* kDistanceShortCodeValueOffset has 2-bit values from LSB: */\r
+    /*-0, 0,-0, 0,-1, 1,-2, 2,-3, 3,-1, 1,-2, 2,-3, 3 */\r
+    const uint32_t kDistanceShortCodeValueOffset = 0xfa5fa500;\r
+    int v = (s->dist_rb_idx +\r
+        (int)(kDistanceShortCodeIndexOffset >> distance_code)) & 0x3;\r
+    s->distance_code = s->dist_rb[v];\r
+    v = (int)(kDistanceShortCodeValueOffset >> distance_code) & 0x3;\r
+    if ((distance_code & 0x3) != 0) {\r
+      s->distance_code += v;\r
+    } else {\r
+      s->distance_code -= v;\r
+      if (s->distance_code <= 0) {\r
+        /* A huge distance will cause a BROTLI_FAILURE() soon. */\r
+        /* This is a little faster than failing here. */\r
+        s->distance_code = 0x0fffffff;\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL SafeReadBits(\r
+    BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {\r
+  if (n_bits != 0) {\r
+    return BrotliSafeReadBits(br, n_bits, val);\r
+  } else {\r
+    *val = 0;\r
+    return BROTLI_TRUE;\r
+  }\r
+}\r
+\r
+/* Precondition: s->distance_code < 0 */\r
+static BROTLI_INLINE BROTLI_BOOL ReadDistanceInternal(\r
+    int safe, BrotliDecoderState* s, BrotliBitReader* br) {\r
+  int distval;\r
+  BrotliBitReaderState memento;\r
+  HuffmanCode* distance_tree = s->distance_hgroup.htrees[s->dist_htree_index];\r
+  if (!safe) {\r
+    s->distance_code = (int)ReadSymbol(distance_tree, br);\r
+  } else {\r
+    uint32_t code;\r
+    BrotliBitReaderSaveState(br, &memento);\r
+    if (!SafeReadSymbol(distance_tree, br, &code)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+    s->distance_code = (int)code;\r
+  }\r
+  /* Convert the distance code to the actual distance by possibly */\r
+  /* looking up past distances from the s->ringbuffer. */\r
+  if ((s->distance_code & ~0xf) == 0) {\r
+    TakeDistanceFromRingBuffer(s);\r
+    --s->block_length[2];\r
+    return BROTLI_TRUE;\r
+  }\r
+  distval = s->distance_code - (int)s->num_direct_distance_codes;\r
+  if (distval >= 0) {\r
+    uint32_t nbits;\r
+    int postfix;\r
+    int offset;\r
+    if (!safe && (s->distance_postfix_bits == 0)) {\r
+      nbits = ((uint32_t)distval >> 1) + 1;\r
+      offset = ((2 + (distval & 1)) << nbits) - 4;\r
+      s->distance_code = (int)s->num_direct_distance_codes + offset +\r
+                         (int)BrotliReadBits(br, nbits);\r
+    } else {\r
+      /* This branch also works well when s->distance_postfix_bits == 0 */\r
+      uint32_t bits;\r
+      postfix = distval & s->distance_postfix_mask;\r
+      distval >>= s->distance_postfix_bits;\r
+      nbits = ((uint32_t)distval >> 1) + 1;\r
+      if (safe) {\r
+        if (!SafeReadBits(br, nbits, &bits)) {\r
+          s->distance_code = -1; /* Restore precondition. */\r
+          BrotliBitReaderRestoreState(br, &memento);\r
+          return BROTLI_FALSE;\r
+        }\r
+      } else {\r
+        bits = BrotliReadBits(br, nbits);\r
+      }\r
+      offset = ((2 + (distval & 1)) << nbits) - 4;\r
+      s->distance_code = (int)s->num_direct_distance_codes +\r
+          ((offset + (int)bits) << s->distance_postfix_bits) + postfix;\r
+    }\r
+  }\r
+  s->distance_code = s->distance_code - BROTLI_NUM_DISTANCE_SHORT_CODES + 1;\r
+  --s->block_length[2];\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static BROTLI_INLINE void ReadDistance(\r
+    BrotliDecoderState* s, BrotliBitReader* br) {\r
+  ReadDistanceInternal(0, s, br);\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL SafeReadDistance(\r
+    BrotliDecoderState* s, BrotliBitReader* br) {\r
+  return ReadDistanceInternal(1, s, br);\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL ReadCommandInternal(\r
+    int safe, BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) {\r
+  uint32_t cmd_code;\r
+  uint32_t insert_len_extra = 0;\r
+  uint32_t copy_length;\r
+  CmdLutElement v;\r
+  BrotliBitReaderState memento;\r
+  if (!safe) {\r
+    cmd_code = ReadSymbol(s->htree_command, br);\r
+  } else {\r
+    BrotliBitReaderSaveState(br, &memento);\r
+    if (!SafeReadSymbol(s->htree_command, br, &cmd_code)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+  }\r
+  v = kCmdLut[cmd_code];\r
+  s->distance_code = v.distance_code;\r
+  s->distance_context = v.context;\r
+  s->dist_htree_index = s->dist_context_map_slice[s->distance_context];\r
+  *insert_length = v.insert_len_offset;\r
+  if (!safe) {\r
+    if (PREDICT_FALSE(v.insert_len_extra_bits != 0)) {\r
+      insert_len_extra = BrotliReadBits(br, v.insert_len_extra_bits);\r
+    }\r
+    copy_length = BrotliReadBits(br, v.copy_len_extra_bits);\r
+  } else {\r
+    if (!SafeReadBits(br, v.insert_len_extra_bits, &insert_len_extra) ||\r
+        !SafeReadBits(br, v.copy_len_extra_bits, &copy_length)) {\r
+      BrotliBitReaderRestoreState(br, &memento);\r
+      return BROTLI_FALSE;\r
+    }\r
+  }\r
+  s->copy_length = (int)copy_length + v.copy_len_offset;\r
+  --s->block_length[1];\r
+  *insert_length += (int)insert_len_extra;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static BROTLI_INLINE void ReadCommand(\r
+    BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) {\r
+  ReadCommandInternal(0, s, br, insert_length);\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL SafeReadCommand(\r
+    BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) {\r
+  return ReadCommandInternal(1, s, br, insert_length);\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL CheckInputAmount(\r
+    int safe, BrotliBitReader* const br, size_t num) {\r
+  if (safe) {\r
+    return BROTLI_TRUE;\r
+  }\r
+  return BrotliCheckInputAmount(br, num);\r
+}\r
+\r
+#define BROTLI_SAFE(METHOD)                       \\r
+  {                                               \\r
+    if (safe) {                                   \\r
+      if (!Safe##METHOD) {                        \\r
+        result = BROTLI_DECODER_NEEDS_MORE_INPUT; \\r
+        goto saveStateAndReturn;                  \\r
+      }                                           \\r
+    } else {                                      \\r
+      METHOD;                                     \\r
+    }                                             \\r
+  }\r
+\r
+static BROTLI_INLINE BrotliDecoderErrorCode ProcessCommandsInternal(\r
+    int safe, BrotliDecoderState* s) {\r
+  int pos = s->pos;\r
+  int i = s->loop_counter;\r
+  BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS;\r
+  BrotliBitReader* br = &s->br;\r
+\r
+  if (!CheckInputAmount(safe, br, 28)) {\r
+    result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    goto saveStateAndReturn;\r
+  }\r
+  if (!safe) {\r
+    BROTLI_UNUSED(BrotliWarmupBitReader(br));\r
+  }\r
+\r
+  /* Jump into state machine. */\r
+  if (s->state == BROTLI_STATE_COMMAND_BEGIN) {\r
+    goto CommandBegin;\r
+  } else if (s->state == BROTLI_STATE_COMMAND_INNER) {\r
+    goto CommandInner;\r
+  } else if (s->state == BROTLI_STATE_COMMAND_POST_DECODE_LITERALS) {\r
+    goto CommandPostDecodeLiterals;\r
+  } else if (s->state == BROTLI_STATE_COMMAND_POST_WRAP_COPY) {\r
+    goto CommandPostWrapCopy;\r
+  } else {\r
+    return BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);\r
+  }\r
+\r
+CommandBegin:\r
+  if (safe) {\r
+    s->state = BROTLI_STATE_COMMAND_BEGIN;\r
+  }\r
+  if (!CheckInputAmount(safe, br, 28)) { /* 156 bits + 7 bytes */\r
+    s->state = BROTLI_STATE_COMMAND_BEGIN;\r
+    result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    goto saveStateAndReturn;\r
+  }\r
+  if (PREDICT_FALSE(s->block_length[1] == 0)) {\r
+    BROTLI_SAFE(DecodeCommandBlockSwitch(s));\r
+    goto CommandBegin;\r
+  }\r
+  /* Read the insert/copy length in the command */\r
+  BROTLI_SAFE(ReadCommand(s, br, &i));\r
+  BROTLI_LOG(("[ProcessCommandsInternal] pos = %d insert = %d copy = %d\n",\r
+              pos, i, s->copy_length));\r
+  if (i == 0) {\r
+    goto CommandPostDecodeLiterals;\r
+  }\r
+  s->meta_block_remaining_len -= i;\r
+\r
+CommandInner:\r
+  if (safe) {\r
+    s->state = BROTLI_STATE_COMMAND_INNER;\r
+  }\r
+  /* Read the literals in the command */\r
+  if (s->trivial_literal_context) {\r
+    uint32_t bits;\r
+    uint32_t value;\r
+    PreloadSymbol(safe, s->literal_htree, br, &bits, &value);\r
+    do {\r
+      if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */\r
+        s->state = BROTLI_STATE_COMMAND_INNER;\r
+        result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        goto saveStateAndReturn;\r
+      }\r
+      if (PREDICT_FALSE(s->block_length[0] == 0)) {\r
+        BROTLI_SAFE(DecodeLiteralBlockSwitch(s));\r
+        PreloadSymbol(safe, s->literal_htree, br, &bits, &value);\r
+        if (!s->trivial_literal_context) goto CommandInner;\r
+      }\r
+      if (!safe) {\r
+        s->ringbuffer[pos] =\r
+            (uint8_t)ReadPreloadedSymbol(s->literal_htree, br, &bits, &value);\r
+      } else {\r
+        uint32_t literal;\r
+        if (!SafeReadSymbol(s->literal_htree, br, &literal)) {\r
+          result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          goto saveStateAndReturn;\r
+        }\r
+        s->ringbuffer[pos] = (uint8_t)literal;\r
+      }\r
+      --s->block_length[0];\r
+      BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos);\r
+      ++pos;\r
+      if (PREDICT_FALSE(pos == s->ringbuffer_size)) {\r
+        s->state = BROTLI_STATE_COMMAND_INNER_WRITE;\r
+        --i;\r
+        goto saveStateAndReturn;\r
+      }\r
+    } while (--i != 0);\r
+  } else {\r
+    uint8_t p1 = s->ringbuffer[(pos - 1) & s->ringbuffer_mask];\r
+    uint8_t p2 = s->ringbuffer[(pos - 2) & s->ringbuffer_mask];\r
+    do {\r
+      const HuffmanCode* hc;\r
+      uint8_t context;\r
+      if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */\r
+        s->state = BROTLI_STATE_COMMAND_INNER;\r
+        result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+        goto saveStateAndReturn;\r
+      }\r
+      if (PREDICT_FALSE(s->block_length[0] == 0)) {\r
+        BROTLI_SAFE(DecodeLiteralBlockSwitch(s));\r
+        if (s->trivial_literal_context) goto CommandInner;\r
+      }\r
+      context = s->context_lookup1[p1] | s->context_lookup2[p2];\r
+      BROTLI_LOG_UINT(context);\r
+      hc = s->literal_hgroup.htrees[s->context_map_slice[context]];\r
+      p2 = p1;\r
+      if (!safe) {\r
+        p1 = (uint8_t)ReadSymbol(hc, br);\r
+      } else {\r
+        uint32_t literal;\r
+        if (!SafeReadSymbol(hc, br, &literal)) {\r
+          result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          goto saveStateAndReturn;\r
+        }\r
+        p1 = (uint8_t)literal;\r
+      }\r
+      s->ringbuffer[pos] = p1;\r
+      --s->block_length[0];\r
+      BROTLI_LOG_UINT(s->context_map_slice[context]);\r
+      BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos & s->ringbuffer_mask);\r
+      ++pos;\r
+      if (PREDICT_FALSE(pos == s->ringbuffer_size)) {\r
+        s->state = BROTLI_STATE_COMMAND_INNER_WRITE;\r
+        --i;\r
+        goto saveStateAndReturn;\r
+      }\r
+    } while (--i != 0);\r
+  }\r
+  BROTLI_LOG_UINT(s->meta_block_remaining_len);\r
+  if (PREDICT_FALSE(s->meta_block_remaining_len <= 0)) {\r
+    s->state = BROTLI_STATE_METABLOCK_DONE;\r
+    goto saveStateAndReturn;\r
+  }\r
+\r
+CommandPostDecodeLiterals:\r
+  if (safe) {\r
+    s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS;\r
+  }\r
+  if (s->distance_code >= 0) {\r
+    --s->dist_rb_idx;\r
+    s->distance_code = s->dist_rb[s->dist_rb_idx & 3];\r
+    goto postReadDistance;  /* We already have the implicit distance */\r
+  }\r
+  /* Read distance code in the command, unless it was implicitly zero. */\r
+  if (PREDICT_FALSE(s->block_length[2] == 0)) {\r
+    BROTLI_SAFE(DecodeDistanceBlockSwitch(s));\r
+  }\r
+  BROTLI_SAFE(ReadDistance(s, br));\r
+postReadDistance:\r
+  BROTLI_LOG(("[ProcessCommandsInternal] pos = %d distance = %d\n",\r
+              pos, s->distance_code));\r
+  if (s->max_distance != s->max_backward_distance) {\r
+    if (pos < s->max_backward_distance_minus_custom_dict_size) {\r
+      s->max_distance = pos + s->custom_dict_size;\r
+    } else {\r
+      s->max_distance = s->max_backward_distance;\r
+    }\r
+  }\r
+  i = s->copy_length;\r
+  /* Apply copy of LZ77 back-reference, or static dictionary reference if\r
+  the distance is larger than the max LZ77 distance */\r
+  if (s->distance_code > s->max_distance) {\r
+    if (i >= kBrotliMinDictionaryWordLength &&\r
+        i <= kBrotliMaxDictionaryWordLength) {\r
+      int offset = (int)kBrotliDictionaryOffsetsByLength[i];\r
+      int word_id = s->distance_code - s->max_distance - 1;\r
+      uint32_t shift = kBrotliDictionarySizeBitsByLength[i];\r
+      int mask = (int)BitMask(shift);\r
+      int word_idx = word_id & mask;\r
+      int transform_idx = word_id >> shift;\r
+      offset += word_idx * i;\r
+      if (transform_idx < kNumTransforms) {\r
+        const uint8_t* word = &kBrotliDictionary[offset];\r
+        int len = i;\r
+        if (transform_idx == 0) {\r
+          memcpy(&s->ringbuffer[pos], word, (size_t)len);\r
+        } else {\r
+          len = TransformDictionaryWord(\r
+              &s->ringbuffer[pos], word, len, transform_idx);\r
+        }\r
+        pos += len;\r
+        s->meta_block_remaining_len -= len;\r
+        if (pos >= s->ringbuffer_size) {\r
+          /*s->partial_pos_rb += (size_t)s->ringbuffer_size;*/\r
+          s->state = BROTLI_STATE_COMMAND_POST_WRITE_1;\r
+          goto saveStateAndReturn;\r
+        }\r
+      } else {\r
+        BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d "\r
+            "len: %d bytes left: %d\n",\r
+            pos, s->distance_code, i, s->meta_block_remaining_len));\r
+        return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_TRANSFORM);\r
+      }\r
+    } else {\r
+      BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d "\r
+          "len: %d bytes left: %d\n",\r
+          pos, s->distance_code, i, s->meta_block_remaining_len));\r
+      return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_DICTIONARY);\r
+    }\r
+  } else {\r
+    int src_start = (pos - s->distance_code) & s->ringbuffer_mask;\r
+    uint8_t* copy_dst = &s->ringbuffer[pos];\r
+    uint8_t* copy_src = &s->ringbuffer[src_start];\r
+    int dst_end = pos + i;\r
+    int src_end = src_start + i;\r
+    /* update the recent distances cache */\r
+    s->dist_rb[s->dist_rb_idx & 3] = s->distance_code;\r
+    ++s->dist_rb_idx;\r
+    s->meta_block_remaining_len -= i;\r
+    /* There are 32+ bytes of slack in the ringbuffer allocation.\r
+       Also, we have 16 short codes, that make these 16 bytes irrelevant\r
+       in the ringbuffer. Let's copy over them as a first guess.\r
+     */\r
+    memmove16(copy_dst, copy_src);\r
+    if (src_end > pos && dst_end > src_start) {\r
+      /* Regions intersect. */\r
+      goto CommandPostWrapCopy;\r
+    }\r
+    if (dst_end >= s->ringbuffer_size || src_end >= s->ringbuffer_size) {\r
+      /* At least one region wraps. */\r
+      goto CommandPostWrapCopy;\r
+    }\r
+    pos += i;\r
+    if (i > 16) {\r
+      if (i > 32) {\r
+        memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16));\r
+      } else {\r
+        /* This branch covers about 45% cases.\r
+           Fixed size short copy allows more compiler optimizations. */\r
+        memmove16(copy_dst + 16, copy_src + 16);\r
+      }\r
+    }\r
+  }\r
+  BROTLI_LOG_UINT(s->meta_block_remaining_len);\r
+  if (s->meta_block_remaining_len <= 0) {\r
+    /* Next metablock, if any */\r
+    s->state = BROTLI_STATE_METABLOCK_DONE;\r
+    goto saveStateAndReturn;\r
+  } else {\r
+    goto CommandBegin;\r
+  }\r
+CommandPostWrapCopy:\r
+  {\r
+    int wrap_guard = s->ringbuffer_size - pos;\r
+    while (--i >= 0) {\r
+      s->ringbuffer[pos] =\r
+          s->ringbuffer[(pos - s->distance_code) & s->ringbuffer_mask];\r
+      ++pos;\r
+      if (PREDICT_FALSE(--wrap_guard == 0)) {\r
+        s->state = BROTLI_STATE_COMMAND_POST_WRITE_2;\r
+        goto saveStateAndReturn;\r
+      }\r
+    }\r
+  }\r
+  if (s->meta_block_remaining_len <= 0) {\r
+    /* Next metablock, if any */\r
+    s->state = BROTLI_STATE_METABLOCK_DONE;\r
+    goto saveStateAndReturn;\r
+  } else {\r
+    goto CommandBegin;\r
+  }\r
+\r
+saveStateAndReturn:\r
+  s->pos = pos;\r
+  s->loop_counter = i;\r
+  return result;\r
+}\r
+\r
+#undef BROTLI_SAFE\r
+\r
+static BROTLI_NOINLINE BrotliDecoderErrorCode ProcessCommands(\r
+    BrotliDecoderState* s) {\r
+  return ProcessCommandsInternal(0, s);\r
+}\r
+\r
+static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(\r
+    BrotliDecoderState* s) {\r
+  return ProcessCommandsInternal(1, s);\r
+}\r
+\r
+BrotliDecoderResult BrotliDecoderDecompress(\r
+    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,\r
+    uint8_t* decoded_buffer) {\r
+  BrotliDecoderState s;\r
+  BrotliDecoderResult result;\r
+  size_t total_out = 0;\r
+  size_t available_in = encoded_size;\r
+  const uint8_t* next_in = encoded_buffer;\r
+  size_t available_out = *decoded_size;\r
+  uint8_t* next_out = decoded_buffer;\r
+  BrotliDecoderStateInit(&s);\r
+  result = BrotliDecoderDecompressStream(\r
+      &s, &available_in, &next_in, &available_out, &next_out, &total_out);\r
+  *decoded_size = total_out;\r
+  BrotliDecoderStateCleanup(&s);\r
+  if (result != BROTLI_DECODER_RESULT_SUCCESS) {\r
+    result = BROTLI_DECODER_RESULT_ERROR;\r
+  }\r
+  return result;\r
+}\r
+\r
+/* Invariant: input stream is never overconsumed:\r
+    * invalid input implies that the whole stream is invalid -> any amount of\r
+      input could be read and discarded\r
+    * when result is "needs more input", then at leat one more byte is REQUIRED\r
+      to complete decoding; all input data MUST be consumed by decoder, so\r
+      client could swap the input buffer\r
+    * when result is "needs more output" decoder MUST ensure that it doesn't\r
+      hold more than 7 bits in bit reader; this saves client from swapping input\r
+      buffer ahead of time\r
+    * when result is "success" decoder MUST return all unused data back to input\r
+      buffer; this is possible because the invariant is hold on enter\r
+*/\r
+BrotliDecoderResult BrotliDecoderDecompressStream(\r
+    BrotliDecoderState* s, size_t* available_in, const uint8_t** next_in,\r
+    size_t* available_out, uint8_t** next_out, size_t* total_out) {\r
+  BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS;\r
+  BrotliBitReader* br = &s->br;\r
+  if (s->buffer_length == 0) { /* Just connect bit reader to input stream. */\r
+    br->avail_in = *available_in;\r
+    br->next_in = *next_in;\r
+  } else {\r
+    /* At least one byte of input is required. More than one byte of input may\r
+       be required to complete the transaction -> reading more data must be\r
+       done in a loop -> do it in a main loop. */\r
+    result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+    br->next_in = &s->buffer.u8[0];\r
+  }\r
+  /* State machine */\r
+  for (;;) {\r
+    if (result != BROTLI_DECODER_SUCCESS) { /* Error, needs more input/output */\r
+      if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) {\r
+        if (s->ringbuffer != 0) { /* Proactively push output. */\r
+          WriteRingBuffer(s, available_out, next_out, total_out);\r
+        }\r
+        if (s->buffer_length != 0) { /* Used with internal buffer. */\r
+          if (br->avail_in == 0) { /* Successfully finished read transaction. */\r
+            /* Accamulator contains less than 8 bits, because internal buffer\r
+               is expanded byte-by-byte until it is enough to complete read. */\r
+            s->buffer_length = 0;\r
+            /* Switch to input stream and restart. */\r
+            result = BROTLI_DECODER_SUCCESS;\r
+            br->avail_in = *available_in;\r
+            br->next_in = *next_in;\r
+            continue;\r
+          } else if (*available_in != 0) {\r
+            /* Not enough data in buffer, but can take one more byte from\r
+               input stream. */\r
+            result = BROTLI_DECODER_SUCCESS;\r
+            s->buffer.u8[s->buffer_length] = **next_in;\r
+            s->buffer_length++;\r
+            br->avail_in = s->buffer_length;\r
+            (*next_in)++;\r
+            (*available_in)--;\r
+            /* Retry with more data in buffer. */\r
+            continue;\r
+          }\r
+          /* Can't finish reading and no more input.*/\r
+          break;\r
+        } else { /* Input stream doesn't contain enough input. */\r
+          /* Copy tail to internal buffer and return. */\r
+          *next_in = br->next_in;\r
+          *available_in = br->avail_in;\r
+          while (*available_in) {\r
+            s->buffer.u8[s->buffer_length] = **next_in;\r
+            s->buffer_length++;\r
+            (*next_in)++;\r
+            (*available_in)--;\r
+          }\r
+          break;\r
+        }\r
+        /* Unreachable. */\r
+      }\r
+\r
+      /* Fail or needs more output. */\r
+\r
+      if (s->buffer_length != 0) {\r
+        /* Just consumed the buffered input and produced some output. Otherwise\r
+           it would result in "needs more input". Reset internal buffer.*/\r
+        s->buffer_length = 0;\r
+      } else {\r
+        /* Using input stream in last iteration. When decoder switches to input\r
+           stream it has less than 8 bits in accamulator, so it is safe to\r
+           return unused accamulator bits there. */\r
+        BrotliBitReaderUnload(br);\r
+        *available_in = br->avail_in;\r
+        *next_in = br->next_in;\r
+      }\r
+      break;\r
+    }\r
+    switch (s->state) {\r
+      case BROTLI_STATE_UNINITED:\r
+        /* Prepare to the first read. */\r
+        if (!BrotliWarmupBitReader(br)) {\r
+          result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          break;\r
+        }\r
+        /* Decode window size. */\r
+        s->window_bits = DecodeWindowBits(br); /* Reads 1..7 bits. */\r
+        BROTLI_LOG_UINT(s->window_bits);\r
+        if (s->window_bits == 9) {\r
+          /* Value 9 is reserved for future use. */\r
+          result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS);\r
+          break;\r
+        }\r
+        /* Maximum distance, see section 9.1. of the spec. */\r
+        s->max_backward_distance = (1 << s->window_bits) - 16;\r
+        /* Limit custom dictionary size. */\r
+        if (s->custom_dict_size >= s->max_backward_distance) {\r
+          s->custom_dict += s->custom_dict_size - s->max_backward_distance;\r
+          s->custom_dict_size = s->max_backward_distance;\r
+        }\r
+        s->max_backward_distance_minus_custom_dict_size =\r
+            s->max_backward_distance - s->custom_dict_size;\r
+\r
+        /* Allocate memory for both block_type_trees and block_len_trees. */\r
+        s->block_type_trees = (HuffmanCode*)BROTLI_ALLOC(s,\r
+            sizeof(HuffmanCode) * 3 *\r
+                (BROTLI_HUFFMAN_MAX_SIZE_258 + BROTLI_HUFFMAN_MAX_SIZE_26));\r
+        if (s->block_type_trees == 0) {\r
+          result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES);\r
+          break;\r
+        }\r
+        s->block_len_trees =\r
+            s->block_type_trees + 3 * BROTLI_HUFFMAN_MAX_SIZE_258;\r
+\r
+        s->state = BROTLI_STATE_METABLOCK_BEGIN;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_METABLOCK_BEGIN:\r
+        BrotliDecoderStateMetablockBegin(s);\r
+        BROTLI_LOG_UINT(s->pos);\r
+        s->state = BROTLI_STATE_METABLOCK_HEADER;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_METABLOCK_HEADER:\r
+        result = DecodeMetaBlockLength(s, br); /* Reads 2 - 31 bits. */\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          break;\r
+        }\r
+        BROTLI_LOG_UINT(s->is_last_metablock);\r
+        BROTLI_LOG_UINT(s->meta_block_remaining_len);\r
+        BROTLI_LOG_UINT(s->is_metadata);\r
+        BROTLI_LOG_UINT(s->is_uncompressed);\r
+        if (s->is_metadata || s->is_uncompressed) {\r
+          if (!BrotliJumpToByteBoundary(br)) {\r
+            result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_PADDING_1);\r
+            break;\r
+          }\r
+        }\r
+        if (s->is_metadata) {\r
+          s->state = BROTLI_STATE_METADATA;\r
+          break;\r
+        }\r
+        if (s->meta_block_remaining_len == 0) {\r
+          s->state = BROTLI_STATE_METABLOCK_DONE;\r
+          break;\r
+        }\r
+        if (!s->ringbuffer) {\r
+          BrotliCalculateRingBufferSize(s, br);\r
+        }\r
+        if (s->is_uncompressed) {\r
+          s->state = BROTLI_STATE_UNCOMPRESSED;\r
+          break;\r
+        }\r
+        s->loop_counter = 0;\r
+        s->state = BROTLI_STATE_HUFFMAN_CODE_0;\r
+        break;\r
+      case BROTLI_STATE_UNCOMPRESSED: {\r
+        int bytes_copied = s->meta_block_remaining_len;\r
+        result = CopyUncompressedBlockToOutput(\r
+            available_out, next_out, total_out, s);\r
+        bytes_copied -= s->meta_block_remaining_len;\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          break;\r
+        }\r
+        s->state = BROTLI_STATE_METABLOCK_DONE;\r
+        break;\r
+      }\r
+      case BROTLI_STATE_METADATA:\r
+        for (; s->meta_block_remaining_len > 0; --s->meta_block_remaining_len) {\r
+          uint32_t bits;\r
+          /* Read one byte and ignore it. */\r
+          if (!BrotliSafeReadBits(br, 8, &bits)) {\r
+            result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+            break;\r
+          }\r
+        }\r
+        if (result == BROTLI_DECODER_SUCCESS) {\r
+          s->state = BROTLI_STATE_METABLOCK_DONE;\r
+        }\r
+        break;\r
+      case BROTLI_STATE_HUFFMAN_CODE_0:\r
+        if (s->loop_counter >= 3) {\r
+          s->state = BROTLI_STATE_METABLOCK_HEADER_2;\r
+          break;\r
+        }\r
+        /* Reads 1..11 bits. */\r
+        result = DecodeVarLenUint8(s, br, &s->num_block_types[s->loop_counter]);\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          break;\r
+        }\r
+        s->num_block_types[s->loop_counter]++;\r
+        BROTLI_LOG_UINT(s->num_block_types[s->loop_counter]);\r
+        if (s->num_block_types[s->loop_counter] < 2) {\r
+          s->loop_counter++;\r
+          break;\r
+        }\r
+        s->state = BROTLI_STATE_HUFFMAN_CODE_1;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_HUFFMAN_CODE_1: {\r
+        int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_258;\r
+        result = ReadHuffmanCode(s->num_block_types[s->loop_counter] + 2,\r
+            &s->block_type_trees[tree_offset], NULL, s);\r
+        if (result != BROTLI_DECODER_SUCCESS) break;\r
+        s->state = BROTLI_STATE_HUFFMAN_CODE_2;\r
+        /* No break, continue to next state */\r
+      }\r
+      case BROTLI_STATE_HUFFMAN_CODE_2: {\r
+        int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_26;\r
+        result = ReadHuffmanCode(BROTLI_NUM_BLOCK_LEN_SYMBOLS,\r
+            &s->block_len_trees[tree_offset], NULL, s);\r
+        if (result != BROTLI_DECODER_SUCCESS) break;\r
+        s->state = BROTLI_STATE_HUFFMAN_CODE_3;\r
+        /* No break, continue to next state */\r
+      }\r
+      case BROTLI_STATE_HUFFMAN_CODE_3: {\r
+        int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_26;\r
+        if (!SafeReadBlockLength(s, &s->block_length[s->loop_counter],\r
+            &s->block_len_trees[tree_offset], br)) {\r
+          result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          break;\r
+        }\r
+        BROTLI_LOG_UINT(s->block_length[s->loop_counter]);\r
+        s->loop_counter++;\r
+        s->state = BROTLI_STATE_HUFFMAN_CODE_0;\r
+        break;\r
+      }\r
+      case BROTLI_STATE_METABLOCK_HEADER_2: {\r
+        uint32_t bits;\r
+        if (!BrotliSafeReadBits(br, 6, &bits)) {\r
+          result = BROTLI_DECODER_NEEDS_MORE_INPUT;\r
+          break;\r
+        }\r
+        s->distance_postfix_bits = bits & BitMask(2);\r
+        bits >>= 2;\r
+        s->num_direct_distance_codes = BROTLI_NUM_DISTANCE_SHORT_CODES +\r
+            (bits << s->distance_postfix_bits);\r
+        BROTLI_LOG_UINT(s->num_direct_distance_codes);\r
+        BROTLI_LOG_UINT(s->distance_postfix_bits);\r
+        s->distance_postfix_mask = (int)BitMask(s->distance_postfix_bits);\r
+        s->context_modes =\r
+            (uint8_t*)BROTLI_ALLOC(s, (size_t)s->num_block_types[0]);\r
+        if (s->context_modes == 0) {\r
+          result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES);\r
+          break;\r
+        }\r
+        s->loop_counter = 0;\r
+        s->state = BROTLI_STATE_CONTEXT_MODES;\r
+        /* No break, continue to next state */\r
+      }\r
+      case BROTLI_STATE_CONTEXT_MODES:\r
+        result = ReadContextModes(s);\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          break;\r
+        }\r
+        s->state = BROTLI_STATE_CONTEXT_MAP_1;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_CONTEXT_MAP_1:\r
+        result = DecodeContextMap(\r
+            s->num_block_types[0] << BROTLI_LITERAL_CONTEXT_BITS,\r
+            &s->num_literal_htrees, &s->context_map, s);\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          break;\r
+        }\r
+        DetectTrivialLiteralBlockTypes(s);\r
+        s->state = BROTLI_STATE_CONTEXT_MAP_2;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_CONTEXT_MAP_2:\r
+        {\r
+          uint32_t num_distance_codes =\r
+              s->num_direct_distance_codes + (48U << s->distance_postfix_bits);\r
+          result = DecodeContextMap(\r
+              s->num_block_types[2] << BROTLI_DISTANCE_CONTEXT_BITS,\r
+              &s->num_dist_htrees, &s->dist_context_map, s);\r
+          if (result != BROTLI_DECODER_SUCCESS) {\r
+            break;\r
+          }\r
+          BrotliDecoderHuffmanTreeGroupInit(\r
+              s, &s->literal_hgroup, BROTLI_NUM_LITERAL_SYMBOLS,\r
+              s->num_literal_htrees);\r
+          BrotliDecoderHuffmanTreeGroupInit(\r
+              s, &s->insert_copy_hgroup, BROTLI_NUM_COMMAND_SYMBOLS,\r
+              s->num_block_types[1]);\r
+          BrotliDecoderHuffmanTreeGroupInit(\r
+              s, &s->distance_hgroup, num_distance_codes,\r
+              s->num_dist_htrees);\r
+          if (s->literal_hgroup.codes == 0 ||\r
+              s->insert_copy_hgroup.codes == 0 ||\r
+              s->distance_hgroup.codes == 0) {\r
+            return SaveErrorCode(s,\r
+                BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS));\r
+          }\r
+        }\r
+        s->loop_counter = 0;\r
+        s->state = BROTLI_STATE_TREE_GROUP;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_TREE_GROUP:\r
+        {\r
+          HuffmanTreeGroup* hgroup = NULL;\r
+          switch (s->loop_counter) {\r
+            case 0:\r
+              hgroup = &s->literal_hgroup;\r
+              break;\r
+            case 1:\r
+              hgroup = &s->insert_copy_hgroup;\r
+              break;\r
+            case 2:\r
+              hgroup = &s->distance_hgroup;\r
+              break;\r
+            default:\r
+              return SaveErrorCode(s, BROTLI_FAILURE(\r
+                  BROTLI_DECODER_ERROR_UNREACHABLE));\r
+          }\r
+          result = HuffmanTreeGroupDecode(hgroup, s);\r
+        }\r
+        if (result != BROTLI_DECODER_SUCCESS) break;\r
+        s->loop_counter++;\r
+        if (s->loop_counter >= 3) {\r
+          PrepareLiteralDecoding(s);\r
+          s->dist_context_map_slice = s->dist_context_map;\r
+          s->htree_command = s->insert_copy_hgroup.htrees[0];\r
+          if (!s->ringbuffer && !BrotliAllocateRingBuffer(s)) {\r
+            result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2);\r
+            break;\r
+          }\r
+          s->state = BROTLI_STATE_COMMAND_BEGIN;\r
+        }\r
+        break;\r
+      case BROTLI_STATE_COMMAND_BEGIN:\r
+      case BROTLI_STATE_COMMAND_INNER:\r
+      case BROTLI_STATE_COMMAND_POST_DECODE_LITERALS:\r
+      case BROTLI_STATE_COMMAND_POST_WRAP_COPY:\r
+        result = ProcessCommands(s);\r
+        if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) {\r
+          result = SafeProcessCommands(s);\r
+        }\r
+        break;\r
+      case BROTLI_STATE_COMMAND_INNER_WRITE:\r
+      case BROTLI_STATE_COMMAND_POST_WRITE_1:\r
+      case BROTLI_STATE_COMMAND_POST_WRITE_2:\r
+        result = WriteRingBuffer(s, available_out, next_out, total_out);\r
+        if (result != BROTLI_DECODER_SUCCESS) {\r
+          break;\r
+        }\r
+        s->max_distance = s->max_backward_distance;\r
+        if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_1) {\r
+          memcpy(s->ringbuffer, s->ringbuffer_end, (size_t)s->pos);\r
+          if (s->meta_block_remaining_len == 0) {\r
+            /* Next metablock, if any */\r
+            s->state = BROTLI_STATE_METABLOCK_DONE;\r
+          } else {\r
+            s->state = BROTLI_STATE_COMMAND_BEGIN;\r
+          }\r
+          break;\r
+        } else if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_2) {\r
+          s->state = BROTLI_STATE_COMMAND_POST_WRAP_COPY;\r
+        } else {  /* BROTLI_STATE_COMMAND_INNER_WRITE */\r
+          if (s->loop_counter == 0) {\r
+            if (s->meta_block_remaining_len == 0) {\r
+              s->state = BROTLI_STATE_METABLOCK_DONE;\r
+            } else {\r
+              s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS;\r
+            }\r
+            break;\r
+          }\r
+          s->state = BROTLI_STATE_COMMAND_INNER;\r
+        }\r
+        break;\r
+      case BROTLI_STATE_METABLOCK_DONE:\r
+        if (s->meta_block_remaining_len < 0) {\r
+          result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2);\r
+          break;\r
+        }\r
+        BrotliDecoderStateCleanupAfterMetablock(s);\r
+        if (!s->is_last_metablock) {\r
+          s->state = BROTLI_STATE_METABLOCK_BEGIN;\r
+          break;\r
+        }\r
+        if (!BrotliJumpToByteBoundary(br)) {\r
+          result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_PADDING_2);\r
+          break;\r
+        }\r
+        if (s->buffer_length == 0) {\r
+          BrotliBitReaderUnload(br);\r
+          *available_in = br->avail_in;\r
+          *next_in = br->next_in;\r
+        }\r
+        s->state = BROTLI_STATE_DONE;\r
+        /* No break, continue to next state */\r
+      case BROTLI_STATE_DONE:\r
+        if (s->ringbuffer != 0) {\r
+          result = WriteRingBuffer(s, available_out, next_out, total_out);\r
+          if (result != BROTLI_DECODER_SUCCESS) {\r
+            break;\r
+          }\r
+        }\r
+        return SaveErrorCode(s, result);\r
+    }\r
+  }\r
+  return SaveErrorCode(s, result);\r
+}\r
+\r
+void BrotliDecoderSetCustomDictionary(\r
+    BrotliDecoderState* s, size_t size, const uint8_t* dict) {\r
+  if (size > (1u << 24)) {\r
+    return;\r
+  }\r
+  s->custom_dict = dict;\r
+  s->custom_dict_size = (int)size;\r
+}\r
+\r
+BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s) {\r
+  return TO_BROTLI_BOOL(\r
+      s->ringbuffer != 0 && UnwrittenBytes(s, BROTLI_FALSE) != 0);\r
+}\r
+\r
+BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* s) {\r
+  return TO_BROTLI_BOOL(s->state != BROTLI_STATE_UNINITED ||\r
+      BrotliGetAvailableBits(&s->br) != 0);\r
+}\r
+\r
+BROTLI_BOOL BrotliDecoderIsFinished(const BrotliDecoderState* s) {\r
+  return TO_BROTLI_BOOL(s->state == BROTLI_STATE_DONE);\r
+}\r
+\r
+BrotliDecoderErrorCode BrotliDecoderGetErrorCode(const BrotliDecoderState* s) {\r
+  return (BrotliDecoderErrorCode)s->error_code;\r
+}\r
+\r
+const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c) {\r
+  switch (c) {\r
+#define _BROTLI_ERROR_CODE_CASE(PREFIX, NAME, CODE) \\r
+    case BROTLI_DECODER ## PREFIX ## NAME: return #NAME;\r
+#define _BROTLI_NOTHING\r
+    BROTLI_DECODER_ERROR_CODES_LIST(_BROTLI_ERROR_CODE_CASE, _BROTLI_NOTHING)\r
+#undef _BROTLI_ERROR_CODE_CASE\r
+#undef _BROTLI_NOTHING\r
+    default: return "INVALID";\r
+  }\r
+}\r
+\r
+/* DEPRECATED >>> */\r
+BrotliState* BrotliCreateState(\r
+    brotli_alloc_func alloc, brotli_free_func free, void* opaque) {\r
+  return (BrotliState*)BrotliDecoderCreateInstance(alloc, free, opaque);\r
+}\r
+void BrotliDestroyState(BrotliState* state) {\r
+  BrotliDecoderDestroyInstance((BrotliDecoderState*)state);\r
+}\r
+BrotliResult BrotliDecompressBuffer(\r
+    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,\r
+    uint8_t* decoded_buffer) {\r
+  return (BrotliResult)BrotliDecoderDecompress(\r
+      encoded_size, encoded_buffer, decoded_size, decoded_buffer);\r
+}\r
+BrotliResult BrotliDecompressStream(\r
+    size_t* available_in, const uint8_t** next_in, size_t* available_out,\r
+    uint8_t** next_out, size_t* total_out, BrotliState* s) {\r
+  return (BrotliResult)BrotliDecoderDecompressStream((BrotliDecoderState*)s,\r
+      available_in, next_in, available_out, next_out, total_out);\r
+}\r
+void BrotliSetCustomDictionary(\r
+    size_t size, const uint8_t* dict, BrotliState* s) {\r
+  BrotliDecoderSetCustomDictionary((BrotliDecoderState*)s, size, dict);\r
+}\r
+BROTLI_BOOL BrotliStateIsStreamStart(const BrotliState* s) {\r
+  return !BrotliDecoderIsUsed((const BrotliDecoderState*)s);\r
+}\r
+BROTLI_BOOL BrotliStateIsStreamEnd(const BrotliState* s) {\r
+  return BrotliDecoderIsFinished((const BrotliDecoderState*)s);\r
+}\r
+BrotliErrorCode BrotliGetErrorCode(const BrotliState* s) {\r
+  return (BrotliErrorCode)BrotliDecoderGetErrorCode(\r
+      (const BrotliDecoderState*)s);\r
+}\r
+const char* BrotliErrorString(BrotliErrorCode c) {\r
+  return BrotliDecoderErrorString((BrotliDecoderErrorCode)c);\r
+}\r
+/* <<< DEPRECATED */\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/decode.h b/BaseTools/Source/C/BrotliCompress/dec/decode.h
new file mode 100644 (file)
index 0000000..4a2fa2e
--- /dev/null
@@ -0,0 +1,188 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* API for Brotli decompression */\r
+\r
+#ifndef BROTLI_DEC_DECODE_H_\r
+#define BROTLI_DEC_DECODE_H_\r
+\r
+#include "../common/types.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct BrotliDecoderStateStruct BrotliDecoderState;\r
+\r
+typedef enum {\r
+  /* Decoding error, e.g. corrupt input or memory allocation problem */\r
+  BROTLI_DECODER_RESULT_ERROR = 0,\r
+  /* Decoding successfully completed */\r
+  BROTLI_DECODER_RESULT_SUCCESS = 1,\r
+  /* Partially done; should be called again with more input */\r
+  BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT = 2,\r
+  /* Partially done; should be called again with more output */\r
+  BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT = 3\r
+} BrotliDecoderResult;\r
+\r
+#define BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE, SEPARATOR)      \\r
+  BROTLI_ERROR_CODE(_, NO_ERROR, 0) SEPARATOR                              \\r
+  /* Same as BrotliDecoderResult values */                                 \\r
+  BROTLI_ERROR_CODE(_, SUCCESS, 1) SEPARATOR                               \\r
+  BROTLI_ERROR_CODE(_, NEEDS_MORE_INPUT, 2) SEPARATOR                      \\r
+  BROTLI_ERROR_CODE(_, NEEDS_MORE_OUTPUT, 3) SEPARATOR                     \\r
+                                                                           \\r
+  /* Errors caused by invalid input */                                     \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_NIBBLE, -1) SEPARATOR        \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, RESERVED, -2) SEPARATOR                \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_META_NIBBLE, -3) SEPARATOR   \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_ALPHABET, -4) SEPARATOR \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_SAME, -5) SEPARATOR     \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, CL_SPACE, -6) SEPARATOR                \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, HUFFMAN_SPACE, -7) SEPARATOR           \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, CONTEXT_MAP_REPEAT, -8) SEPARATOR      \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_1, -9) SEPARATOR          \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_2, -10) SEPARATOR         \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, TRANSFORM, -11) SEPARATOR              \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, DICTIONARY, -12) SEPARATOR             \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, WINDOW_BITS, -13) SEPARATOR            \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_1, -14) SEPARATOR              \\r
+  BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_2, -15) SEPARATOR              \\r
+                                                                           \\r
+  /* -16..-20 codes are reserved */                                        \\r
+                                                                           \\r
+  /* Memory allocation problems */                                         \\r
+  BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MODES, -21) SEPARATOR           \\r
+  /* Literal, insert and distance trees together */                        \\r
+  BROTLI_ERROR_CODE(_ERROR_ALLOC_, TREE_GROUPS, -22) SEPARATOR             \\r
+  /* -23..-24 codes are reserved for distinct tree groups */               \\r
+  BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MAP, -25) SEPARATOR             \\r
+  BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_1, -26) SEPARATOR           \\r
+  BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_2, -27) SEPARATOR           \\r
+  /* -28..-29 codes are reserved for dynamic ringbuffer allocation */      \\r
+  BROTLI_ERROR_CODE(_ERROR_ALLOC_, BLOCK_TYPE_TREES, -30) SEPARATOR        \\r
+                                                                           \\r
+  /* "Impossible" states */                                                \\r
+  BROTLI_ERROR_CODE(_ERROR_, UNREACHABLE, -31)\r
+\r
+typedef enum {\r
+#define _BROTLI_COMMA ,\r
+#define _BROTLI_ERROR_CODE_ENUM_ITEM(PREFIX, NAME, CODE) \\r
+    BROTLI_DECODER ## PREFIX ## NAME = CODE\r
+  BROTLI_DECODER_ERROR_CODES_LIST(_BROTLI_ERROR_CODE_ENUM_ITEM, _BROTLI_COMMA)\r
+#undef _BROTLI_ERROR_CODE_ENUM_ITEM\r
+#undef _BROTLI_COMMA\r
+} BrotliDecoderErrorCode;\r
+\r
+#define BROTLI_LAST_ERROR_CODE BROTLI_DECODER_ERROR_UNREACHABLE\r
+\r
+/* Creates the instance of BrotliDecoderState and initializes it. |alloc_func|\r
+   and |free_func| MUST be both zero or both non-zero. In the case they are both\r
+   zero, default memory allocators are used. |opaque| is passed to |alloc_func|\r
+   and |free_func| when they are called. */\r
+BrotliDecoderState* BrotliDecoderCreateInstance(\r
+    brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque);\r
+\r
+/* Deinitializes and frees BrotliDecoderState instance. */\r
+void BrotliDecoderDestroyInstance(BrotliDecoderState* state);\r
+\r
+/* Decompresses the data in |encoded_buffer| into |decoded_buffer|, and sets\r
+   |*decoded_size| to the decompressed length. */\r
+BrotliDecoderResult BrotliDecoderDecompress(\r
+    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,\r
+    uint8_t* decoded_buffer);\r
+\r
+/* Decompresses the data. Supports partial input and output.\r
+\r
+   Must be called with an allocated input buffer in |*next_in| and an allocated\r
+   output buffer in |*next_out|. The values |*available_in| and |*available_out|\r
+   must specify the allocated size in |*next_in| and |*next_out| respectively.\r
+\r
+   After each call, |*available_in| will be decremented by the amount of input\r
+   bytes consumed, and the |*next_in| pointer will be incremented by that\r
+   amount. Similarly, |*available_out| will be decremented by the amount of\r
+   output bytes written, and the |*next_out| pointer will be incremented by that\r
+   amount. |total_out|, if it is not a null-pointer, will be set to the number\r
+   of bytes decompressed since the last state initialization.\r
+\r
+   Input is never overconsumed, so |next_in| and |available_in| could be passed\r
+   to the next consumer after decoding is complete. */\r
+BrotliDecoderResult BrotliDecoderDecompressStream(\r
+  BrotliDecoderState* s, size_t* available_in, const uint8_t** next_in,\r
+  size_t* available_out, uint8_t** next_out, size_t* total_out);\r
+\r
+/* Fills the new state with a dictionary for LZ77, warming up the ringbuffer,\r
+   e.g. for custom static dictionaries for data formats.\r
+   Not to be confused with the built-in transformable dictionary of Brotli.\r
+   |size| should be less or equal to 2^24 (16MiB), otherwise the dictionary will\r
+   be ignored. The dictionary must exist in memory until decoding is done and\r
+   is owned by the caller. To use:\r
+    1) Allocate and initialize state with BrotliCreateInstance\r
+    2) Use BrotliSetCustomDictionary\r
+    3) Use BrotliDecompressStream\r
+    4) Clean up and free state with BrotliDestroyState\r
+*/\r
+void BrotliDecoderSetCustomDictionary(\r
+    BrotliDecoderState* s, size_t size, const uint8_t* dict);\r
+\r
+/* Returns true, if decoder has some unconsumed output.\r
+   Otherwise returns false. */\r
+BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s);\r
+\r
+/* Returns true, if decoder has already received some input bytes.\r
+   Otherwise returns false. */\r
+BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* s);\r
+\r
+/* Returns true, if decoder is in a state where we reached the end of the input\r
+   and produced all of the output; returns false otherwise. */\r
+BROTLI_BOOL BrotliDecoderIsFinished(const BrotliDecoderState* s);\r
+\r
+/* Returns detailed error code after BrotliDecompressStream returns\r
+   BROTLI_DECODER_RESULT_ERROR. */\r
+BrotliDecoderErrorCode BrotliDecoderGetErrorCode(const BrotliDecoderState* s);\r
+\r
+const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c);\r
+\r
+/* DEPRECATED >>> */\r
+typedef enum {\r
+  BROTLI_RESULT_ERROR = 0,\r
+  BROTLI_RESULT_SUCCESS = 1,\r
+  BROTLI_RESULT_NEEDS_MORE_INPUT = 2,\r
+  BROTLI_RESULT_NEEDS_MORE_OUTPUT = 3\r
+} BrotliResult;\r
+typedef enum {\r
+#define _BROTLI_COMMA ,\r
+#define _BROTLI_ERROR_CODE_ENUM_ITEM(PREFIX, NAME, CODE) \\r
+    BROTLI ## PREFIX ## NAME = CODE\r
+  BROTLI_DECODER_ERROR_CODES_LIST(_BROTLI_ERROR_CODE_ENUM_ITEM, _BROTLI_COMMA)\r
+#undef _BROTLI_ERROR_CODE_ENUM_ITEM\r
+#undef _BROTLI_COMMA\r
+} BrotliErrorCode;\r
+typedef struct BrotliStateStruct BrotliState;\r
+BrotliState* BrotliCreateState(\r
+    brotli_alloc_func alloc, brotli_free_func free, void* opaque);\r
+void BrotliDestroyState(BrotliState* state);\r
+BROTLI_BOOL BrotliDecompressedSize(\r
+    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size);\r
+BrotliResult BrotliDecompressBuffer(\r
+    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,\r
+    uint8_t* decoded_buffer);\r
+BrotliResult BrotliDecompressStream(\r
+    size_t* available_in, const uint8_t** next_in, size_t* available_out,\r
+    uint8_t** next_out, size_t* total_out, BrotliState* s);\r
+void BrotliSetCustomDictionary(\r
+    size_t size, const uint8_t* dict, BrotliState* s);\r
+BROTLI_BOOL BrotliStateIsStreamStart(const BrotliState* s);\r
+BROTLI_BOOL BrotliStateIsStreamEnd(const BrotliState* s);\r
+BrotliErrorCode BrotliGetErrorCode(const BrotliState* s);\r
+const char* BrotliErrorString(BrotliErrorCode c);\r
+/* <<< DEPRECATED */\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+} /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_DEC_DECODE_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/huffman.c b/BaseTools/Source/C/BrotliCompress/dec/huffman.c
new file mode 100644 (file)
index 0000000..09a3c30
--- /dev/null
@@ -0,0 +1,357 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Utilities for building Huffman decoding tables. */\r
+\r
+#include "./huffman.h"\r
+\r
+#include <string.h>  /* memcpy, memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define BROTLI_REVERSE_BITS_MAX 8\r
+\r
+#ifdef BROTLI_RBIT\r
+#define BROTLI_REVERSE_BITS_BASE (32 - BROTLI_REVERSE_BITS_MAX)\r
+#else\r
+#define BROTLI_REVERSE_BITS_BASE 0\r
+static uint8_t kReverseBits[1 << BROTLI_REVERSE_BITS_MAX] = {\r
+  0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,\r
+  0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,\r
+  0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,\r
+  0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,\r
+  0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,\r
+  0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,\r
+  0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,\r
+  0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,\r
+  0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,\r
+  0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,\r
+  0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,\r
+  0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,\r
+  0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,\r
+  0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,\r
+  0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,\r
+  0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,\r
+  0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,\r
+  0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,\r
+  0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,\r
+  0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,\r
+  0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,\r
+  0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,\r
+  0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,\r
+  0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,\r
+  0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,\r
+  0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,\r
+  0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,\r
+  0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,\r
+  0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,\r
+  0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,\r
+  0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,\r
+  0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF\r
+};\r
+#endif  /* BROTLI_RBIT */\r
+\r
+#define BROTLI_REVERSE_BITS_LOWEST \\r
+  (1U << (BROTLI_REVERSE_BITS_MAX - 1 + BROTLI_REVERSE_BITS_BASE))\r
+\r
+/* Returns reverse(num >> BROTLI_REVERSE_BITS_BASE, BROTLI_REVERSE_BITS_MAX),\r
+   where reverse(value, len) is the bit-wise reversal of the len least\r
+   significant bits of value. */\r
+static BROTLI_INLINE uint32_t BrotliReverseBits(uint32_t num) {\r
+#ifdef BROTLI_RBIT\r
+  return BROTLI_RBIT(num);\r
+#else\r
+  return kReverseBits[num];\r
+#endif\r
+}\r
+\r
+/* Stores code in table[0], table[step], table[2*step], ..., table[end] */\r
+/* Assumes that end is an integer multiple of step */\r
+static BROTLI_INLINE void ReplicateValue(HuffmanCode* table,\r
+                                         int step, int end,\r
+                                         HuffmanCode code) {\r
+  do {\r
+    end -= step;\r
+    table[end] = code;\r
+  } while (end > 0);\r
+}\r
+\r
+/* Returns the table width of the next 2nd level table. count is the histogram\r
+   of bit lengths for the remaining symbols, len is the code length of the next\r
+   processed symbol */\r
+static BROTLI_INLINE int NextTableBitSize(const uint16_t* const count,\r
+                                          int len, int root_bits) {\r
+  int left = 1 << (len - root_bits);\r
+  while (len < BROTLI_HUFFMAN_MAX_CODE_LENGTH) {\r
+    left -= count[len];\r
+    if (left <= 0) break;\r
+    ++len;\r
+    left <<= 1;\r
+  }\r
+  return len - root_bits;\r
+}\r
+\r
+void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* table,\r
+                                        const uint8_t* const code_lengths,\r
+                                        uint16_t* count) {\r
+  HuffmanCode code;   /* current table entry */\r
+  int symbol;         /* symbol index in original or sorted table */\r
+  uint32_t key;       /* prefix code */\r
+  uint32_t key_step;  /* prefix code addend */\r
+  int step;           /* step size to replicate values in current table */\r
+  int table_size;     /* size of current table */\r
+  int sorted[BROTLI_CODE_LENGTH_CODES];  /* symbols sorted by code length */\r
+  /* offsets in sorted table for each length */\r
+  int offset[BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1];\r
+  int bits;\r
+  int bits_count;\r
+  BROTLI_DCHECK(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH <=\r
+                BROTLI_REVERSE_BITS_MAX);\r
+\r
+  /* generate offsets into sorted symbol table by code length */\r
+  symbol = -1;\r
+  bits = 1;\r
+  BROTLI_REPEAT(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH, {\r
+    symbol += count[bits];\r
+    offset[bits] = symbol;\r
+    bits++;\r
+  });\r
+  /* Symbols with code length 0 are placed after all other symbols. */\r
+  offset[0] = BROTLI_CODE_LENGTH_CODES - 1;\r
+\r
+  /* sort symbols by length, by symbol order within each length */\r
+  symbol = BROTLI_CODE_LENGTH_CODES;\r
+  do {\r
+    BROTLI_REPEAT(6, {\r
+      symbol--;\r
+      sorted[offset[code_lengths[symbol]]--] = symbol;\r
+    });\r
+  } while (symbol != 0);\r
+\r
+  table_size = 1 << BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH;\r
+\r
+  /* Special case: all symbols but one have 0 code length. */\r
+  if (offset[0] == 0) {\r
+    code.bits = 0;\r
+    code.value = (uint16_t)sorted[0];\r
+    for (key = 0; key < (uint32_t)table_size; ++key) {\r
+      table[key] = code;\r
+    }\r
+    return;\r
+  }\r
+\r
+  /* fill in table */\r
+  key = 0;\r
+  key_step = BROTLI_REVERSE_BITS_LOWEST;\r
+  symbol = 0;\r
+  bits = 1;\r
+  step = 2;\r
+  do {\r
+    code.bits = (uint8_t)bits;\r
+    for (bits_count = count[bits]; bits_count != 0; --bits_count) {\r
+      code.value = (uint16_t)sorted[symbol++];\r
+      ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code);\r
+      key += key_step;\r
+    }\r
+    step <<= 1;\r
+    key_step >>= 1;\r
+  } while (++bits <= BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH);\r
+}\r
+\r
+uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table,\r
+                                 int root_bits,\r
+                                 const uint16_t* const symbol_lists,\r
+                                 uint16_t* count) {\r
+  HuffmanCode code;       /* current table entry */\r
+  HuffmanCode* table;     /* next available space in table */\r
+  int len;                /* current code length */\r
+  int symbol;             /* symbol index in original or sorted table */\r
+  uint32_t key;           /* prefix code */\r
+  uint32_t key_step;      /* prefix code addend */\r
+  uint32_t sub_key;       /* 2nd level table prefix code */\r
+  uint32_t sub_key_step;  /* 2nd level table prefix code addend */\r
+  int step;               /* step size to replicate values in current table */\r
+  int table_bits;         /* key length of current table */\r
+  int table_size;         /* size of current table */\r
+  int total_size;         /* sum of root table size and 2nd level table sizes */\r
+  int max_length = -1;\r
+  int bits;\r
+  int bits_count;\r
+\r
+  BROTLI_DCHECK(root_bits <= BROTLI_REVERSE_BITS_MAX);\r
+  BROTLI_DCHECK(BROTLI_HUFFMAN_MAX_CODE_LENGTH - root_bits <=\r
+                BROTLI_REVERSE_BITS_MAX);\r
+\r
+  while (symbol_lists[max_length] == 0xFFFF) max_length--;\r
+  max_length += BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1;\r
+\r
+  table = root_table;\r
+  table_bits = root_bits;\r
+  table_size = 1 << table_bits;\r
+  total_size = table_size;\r
+\r
+  /* fill in root table */\r
+  /* let's reduce the table size to a smaller size if possible, and */\r
+  /* create the repetitions by memcpy if possible in the coming loop */\r
+  if (table_bits > max_length) {\r
+    table_bits = max_length;\r
+    table_size = 1 << table_bits;\r
+  }\r
+  key = 0;\r
+  key_step = BROTLI_REVERSE_BITS_LOWEST;\r
+  bits = 1;\r
+  step = 2;\r
+  do {\r
+    code.bits = (uint8_t)bits;\r
+    symbol = bits - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1);\r
+    for (bits_count = count[bits]; bits_count != 0; --bits_count) {\r
+      symbol = symbol_lists[symbol];\r
+      code.value = (uint16_t)symbol;\r
+      ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code);\r
+      key += key_step;\r
+    }\r
+    step <<= 1;\r
+    key_step >>= 1;\r
+  } while (++bits <= table_bits);\r
+\r
+  /* if root_bits != table_bits we only created one fraction of the */\r
+  /* table, and we need to replicate it now. */\r
+  while (total_size != table_size) {\r
+    memcpy(&table[table_size], &table[0],\r
+           (size_t)table_size * sizeof(table[0]));\r
+    table_size <<= 1;\r
+  }\r
+\r
+  /* fill in 2nd level tables and add pointers to root table */\r
+  key_step = BROTLI_REVERSE_BITS_LOWEST >> (root_bits - 1);\r
+  sub_key = (BROTLI_REVERSE_BITS_LOWEST << 1);\r
+  sub_key_step = BROTLI_REVERSE_BITS_LOWEST;\r
+  for (len = root_bits + 1, step = 2; len <= max_length; ++len) {\r
+    symbol = len - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1);\r
+    for (; count[len] != 0; --count[len]) {\r
+      if (sub_key == (BROTLI_REVERSE_BITS_LOWEST << 1U)) {\r
+        table += table_size;\r
+        table_bits = NextTableBitSize(count, len, root_bits);\r
+        table_size = 1 << table_bits;\r
+        total_size += table_size;\r
+        sub_key = BrotliReverseBits(key);\r
+        key += key_step;\r
+        root_table[sub_key].bits = (uint8_t)(table_bits + root_bits);\r
+        root_table[sub_key].value =\r
+            (uint16_t)(((size_t)(table - root_table)) - sub_key);\r
+        sub_key = 0;\r
+      }\r
+      code.bits = (uint8_t)(len - root_bits);\r
+      symbol = symbol_lists[symbol];\r
+      code.value = (uint16_t)symbol;\r
+      ReplicateValue(\r
+          &table[BrotliReverseBits(sub_key)], step, table_size, code);\r
+      sub_key += sub_key_step;\r
+    }\r
+    step <<= 1;\r
+    sub_key_step >>= 1;\r
+  }\r
+  return (uint32_t)total_size;\r
+}\r
+\r
+uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table,\r
+                                       int root_bits,\r
+                                       uint16_t* val,\r
+                                       uint32_t num_symbols) {\r
+  uint32_t table_size = 1;\r
+  const uint32_t goal_size = 1U << root_bits;\r
+  switch (num_symbols) {\r
+    case 0:\r
+      table[0].bits = 0;\r
+      table[0].value = val[0];\r
+      break;\r
+    case 1:\r
+      table[0].bits = 1;\r
+      table[1].bits = 1;\r
+      if (val[1] > val[0]) {\r
+        table[0].value = val[0];\r
+        table[1].value = val[1];\r
+      } else {\r
+        table[0].value = val[1];\r
+        table[1].value = val[0];\r
+      }\r
+      table_size = 2;\r
+      break;\r
+    case 2:\r
+      table[0].bits = 1;\r
+      table[0].value = val[0];\r
+      table[2].bits = 1;\r
+      table[2].value = val[0];\r
+      if (val[2] > val[1]) {\r
+        table[1].value = val[1];\r
+        table[3].value = val[2];\r
+      } else {\r
+        table[1].value = val[2];\r
+        table[3].value = val[1];\r
+      }\r
+      table[1].bits = 2;\r
+      table[3].bits = 2;\r
+      table_size = 4;\r
+      break;\r
+    case 3: {\r
+      int i, k;\r
+      for (i = 0; i < 3; ++i) {\r
+        for (k = i + 1; k < 4; ++k) {\r
+          if (val[k] < val[i]) {\r
+            uint16_t t = val[k];\r
+            val[k] = val[i];\r
+            val[i] = t;\r
+          }\r
+        }\r
+      }\r
+      for (i = 0; i < 4; ++i) {\r
+        table[i].bits = 2;\r
+      }\r
+      table[0].value = val[0];\r
+      table[2].value = val[1];\r
+      table[1].value = val[2];\r
+      table[3].value = val[3];\r
+      table_size = 4;\r
+      break;\r
+    }\r
+    case 4: {\r
+      int i;\r
+      if (val[3] < val[2]) {\r
+        uint16_t t = val[3];\r
+        val[3] = val[2];\r
+        val[2] = t;\r
+      }\r
+      for (i = 0; i < 7; ++i) {\r
+        table[i].value = val[0];\r
+        table[i].bits = (uint8_t)(1 + (i & 1));\r
+      }\r
+      table[1].value = val[1];\r
+      table[3].value = val[2];\r
+      table[5].value = val[1];\r
+      table[7].value = val[3];\r
+      table[3].bits = 3;\r
+      table[7].bits = 3;\r
+      table_size = 8;\r
+      break;\r
+    }\r
+  }\r
+  while (table_size != goal_size) {\r
+    memcpy(&table[table_size], &table[0],\r
+           (size_t)table_size * sizeof(table[0]));\r
+    table_size <<= 1;\r
+  }\r
+  return goal_size;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/huffman.h b/BaseTools/Source/C/BrotliCompress/dec/huffman.h
new file mode 100644 (file)
index 0000000..ead502d
--- /dev/null
@@ -0,0 +1,68 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Utilities for building Huffman decoding tables. */\r
+\r
+#ifndef BROTLI_DEC_HUFFMAN_H_\r
+#define BROTLI_DEC_HUFFMAN_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define BROTLI_HUFFMAN_MAX_CODE_LENGTH 15\r
+\r
+/* Maximum possible Huffman table size for an alphabet size of (index * 32),\r
+ * max code length 15 and root table bits 8. */\r
+static const uint16_t kMaxHuffmanTableSize[] = {\r
+  256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822,\r
+  854, 886, 920, 952, 984, 1016, 1048, 1080};\r
+/* BROTLI_NUM_BLOCK_LEN_SYMBOLS == 26 */\r
+#define BROTLI_HUFFMAN_MAX_SIZE_26 396\r
+/* BROTLI_MAX_BLOCK_TYPE_SYMBOLS == 258 */\r
+#define BROTLI_HUFFMAN_MAX_SIZE_258 632\r
+/* BROTLI_MAX_CONTEXT_MAP_SYMBOLS == 272 */\r
+#define BROTLI_HUFFMAN_MAX_SIZE_272 646\r
+\r
+#define BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH 5\r
+\r
+typedef struct {\r
+  uint8_t bits;    /* number of bits used for this symbol */\r
+  uint16_t value;  /* symbol value or table offset */\r
+} HuffmanCode;\r
+\r
+/* Builds Huffman lookup table assuming code lengths are in symbol order. */\r
+BROTLI_INTERNAL void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* root_table,\r
+    const uint8_t* const code_lengths, uint16_t* count);\r
+\r
+/* Builds Huffman lookup table assuming code lengths are in symbol order. */\r
+/* Returns size of resulting table. */\r
+BROTLI_INTERNAL uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table,\r
+    int root_bits, const uint16_t* const symbol_lists, uint16_t* count_arg);\r
+\r
+/* Builds a simple Huffman table. The num_symbols parameter is to be */\r
+/* interpreted as follows: 0 means 1 symbol, 1 means 2 symbols, 2 means 3 */\r
+/* symbols, 3 means 4 symbols with lengths 2,2,2,2, 4 means 4 symbols with */\r
+/* lengths 1,2,3,3. */\r
+BROTLI_INTERNAL uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table,\r
+    int root_bits, uint16_t* symbols, uint32_t num_symbols);\r
+\r
+/* Contains a collection of Huffman trees with the same alphabet size. */\r
+typedef struct {\r
+  HuffmanCode** htrees;\r
+  HuffmanCode* codes;\r
+  uint16_t alphabet_size;\r
+  uint16_t num_htrees;\r
+} HuffmanTreeGroup;\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_DEC_HUFFMAN_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/port.h b/BaseTools/Source/C/BrotliCompress/dec/port.h
new file mode 100644 (file)
index 0000000..866965b
--- /dev/null
@@ -0,0 +1,159 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Macros for compiler / platform specific features and build options.\r
+\r
+   Build options are:\r
+    * BROTLI_BUILD_32_BIT disables 64-bit optimizations\r
+    * BROTLI_BUILD_64_BIT forces to use 64-bit optimizations\r
+    * BROTLI_BUILD_BIG_ENDIAN forces to use big-endian optimizations\r
+    * BROTLI_BUILD_ENDIAN_NEUTRAL disables endian-aware optimizations\r
+    * BROTLI_BUILD_LITTLE_ENDIAN forces to use little-endian optimizations\r
+    * BROTLI_BUILD_MODERN_COMPILER forces to use modern compilers built-ins,\r
+      features and attributes\r
+    * BROTLI_BUILD_PORTABLE disables dangerous optimizations, like unaligned\r
+      read and overlapping memcpy; this reduces decompression speed by 5%\r
+    * BROTLI_DEBUG dumps file name and line number when decoder detects stream\r
+      or memory error\r
+    * BROTLI_ENABLE_LOG enables asserts and dumps various state information\r
+ */\r
+\r
+#ifndef BROTLI_DEC_PORT_H_\r
+#define BROTLI_DEC_PORT_H_\r
+\r
+#if defined(BROTLI_ENABLE_LOG) || defined(BROTLI_DEBUG)\r
+#include <assert.h>\r
+#include <stdio.h>\r
+#endif\r
+\r
+#include "../common/port.h"\r
+\r
+#if defined(__arm__) || defined(__thumb__) || \\r
+    defined(_M_ARM) || defined(_M_ARMT)\r
+#define BROTLI_TARGET_ARM\r
+#if (defined(__ARM_ARCH) && (__ARM_ARCH >= 7)) || \\r
+    (defined(M_ARM) && (M_ARM >= 7))\r
+#define BROTLI_TARGET_ARMV7\r
+#endif  /* ARMv7 */\r
+#if defined(__aarch64__)\r
+#define BROTLI_TARGET_ARMV8\r
+#endif  /* ARMv8 */\r
+#endif  /* ARM */\r
+\r
+#if defined(__i386) || defined(_M_IX86)\r
+#define BROTLI_TARGET_X86\r
+#endif\r
+\r
+#if defined(__x86_64__) || defined(_M_X64)\r
+#define BROTLI_TARGET_X64\r
+#endif\r
+\r
+#if defined(__PPC64__)\r
+#define BROTLI_TARGET_POWERPC64\r
+#endif\r
+\r
+#ifdef BROTLI_BUILD_PORTABLE\r
+#define BROTLI_ALIGNED_READ (!!1)\r
+#elif defined(BROTLI_TARGET_X86) || defined(BROTLI_TARGET_X64) || \\r
+     defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8)\r
+/* Allow unaligned read only for whitelisted CPUs. */\r
+#define BROTLI_ALIGNED_READ (!!0)\r
+#else\r
+#define BROTLI_ALIGNED_READ (!!1)\r
+#endif\r
+\r
+/* IS_CONSTANT macros returns true for compile-time constant expressions. */\r
+#if BROTLI_MODERN_COMPILER || __has_builtin(__builtin_constant_p)\r
+#define IS_CONSTANT(x) (!!__builtin_constant_p(x))\r
+#else\r
+#define IS_CONSTANT(x) (!!0)\r
+#endif\r
+\r
+#ifdef BROTLI_ENABLE_LOG\r
+#define BROTLI_DCHECK(x) assert(x)\r
+#define BROTLI_LOG(x) printf x\r
+#else\r
+#define BROTLI_DCHECK(x)\r
+#define BROTLI_LOG(x)\r
+#endif\r
+\r
+#if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG)\r
+static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* fn) {\r
+  fprintf(stderr, "%s:%d (%s)\n", f, l, fn);\r
+  fflush(stderr);\r
+}\r
+#define BROTLI_DUMP() BrotliDump(__FILE__, __LINE__, __FUNCTION__)\r
+#else\r
+#define BROTLI_DUMP() (void)(0)\r
+#endif\r
+\r
+#if defined(BROTLI_BUILD_64_BIT)\r
+#define BROTLI_64_BITS 1\r
+#elif defined(BROTLI_BUILD_32_BIT)\r
+#define BROTLI_64_BITS 0\r
+#elif defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8) || \\r
+    defined(BROTLI_TARGET_POWERPC64)\r
+#define BROTLI_64_BITS 1\r
+#else\r
+#define BROTLI_64_BITS 0\r
+#endif\r
+\r
+#if defined(BROTLI_BUILD_BIG_ENDIAN)\r
+#define BROTLI_LITTLE_ENDIAN 0\r
+#define BROTLI_BIG_ENDIAN 1\r
+#elif defined(BROTLI_BUILD_LITTLE_ENDIAN)\r
+#define BROTLI_LITTLE_ENDIAN 1\r
+#define BROTLI_BIG_ENDIAN 0\r
+#elif defined(BROTLI_BUILD_ENDIAN_NEUTRAL)\r
+#define BROTLI_LITTLE_ENDIAN 0\r
+#define BROTLI_BIG_ENDIAN 0\r
+#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)\r
+#define BROTLI_LITTLE_ENDIAN 1\r
+#define BROTLI_BIG_ENDIAN 0\r
+#elif defined(_WIN32)\r
+/* Win32 can currently always be assumed to be little endian */\r
+#define BROTLI_LITTLE_ENDIAN 1\r
+#define BROTLI_BIG_ENDIAN 0\r
+#else\r
+#if (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))\r
+#define BROTLI_BIG_ENDIAN 1\r
+#else\r
+#define BROTLI_BIG_ENDIAN 0\r
+#endif\r
+#define BROTLI_LITTLE_ENDIAN 0\r
+#endif\r
+\r
+#define BROTLI_REPEAT(N, X) {     \\r
+  if ((N & 1) != 0) {X;}          \\r
+  if ((N & 2) != 0) {X; X;}       \\r
+  if ((N & 4) != 0) {X; X; X; X;} \\r
+}\r
+\r
+#if BROTLI_MODERN_COMPILER || defined(__llvm__)\r
+#if defined(BROTLI_TARGET_ARMV7)\r
+static BROTLI_INLINE unsigned BrotliRBit(unsigned input) {\r
+  unsigned output;\r
+  __asm__("rbit %0, %1\n" : "=r"(output) : "r"(input));\r
+  return output;\r
+}\r
+#define BROTLI_RBIT(x) BrotliRBit(x)\r
+#endif  /* armv7 */\r
+#endif  /* gcc || clang */\r
+\r
+#if defined(BROTLI_TARGET_ARM)\r
+#define BROTLI_HAS_UBFX (!!1)\r
+#else\r
+#define BROTLI_HAS_UBFX (!!0)\r
+#endif\r
+\r
+#define BROTLI_ALLOC(S, L) S->alloc_func(S->memory_manager_opaque, L)\r
+\r
+#define BROTLI_FREE(S, X) {                  \\r
+  S->free_func(S->memory_manager_opaque, X); \\r
+  X = NULL;                                  \\r
+}\r
+\r
+#endif  /* BROTLI_DEC_PORT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/prefix.h b/BaseTools/Source/C/BrotliCompress/dec/prefix.h
new file mode 100644 (file)
index 0000000..6006496
--- /dev/null
@@ -0,0 +1,751 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Lookup tables to map prefix codes to value ranges. This is used during\r
+   decoding of the block lengths, literal insertion lengths and copy lengths.\r
+*/\r
+\r
+#ifndef BROTLI_DEC_PREFIX_H_\r
+#define BROTLI_DEC_PREFIX_H_\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+\r
+/* Represents the range of values belonging to a prefix code: */\r
+/* [offset, offset + 2^nbits) */\r
+struct PrefixCodeRange {\r
+  uint16_t offset;\r
+  uint8_t nbits;\r
+};\r
+\r
+static const struct PrefixCodeRange\r
+    kBlockLengthPrefixCode[BROTLI_NUM_BLOCK_LEN_SYMBOLS] = {\r
+  {   1,  2}, {    5,  2}, {  9,   2}, {  13,  2},\r
+  {  17,  3}, {   25,  3}, {  33,  3}, {  41,  3},\r
+  {  49,  4}, {   65,  4}, {  81,  4}, {  97,  4},\r
+  { 113,  5}, {  145,  5}, { 177,  5}, { 209,  5},\r
+  { 241,  6}, {  305,  6}, { 369,  7}, { 497,  8},\r
+  { 753,  9}, { 1265, 10}, {2289, 11}, {4337, 12},\r
+  {8433, 13}, {16625, 24}\r
+};\r
+\r
+typedef struct CmdLutElement {\r
+  uint8_t insert_len_extra_bits;\r
+  uint8_t copy_len_extra_bits;\r
+  int8_t distance_code;\r
+  uint8_t context;\r
+  uint16_t insert_len_offset;\r
+  uint16_t copy_len_offset;\r
+} CmdLutElement;\r
+\r
+static const CmdLutElement kCmdLut[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+  { 0x00, 0x00, 0, 0x00, 0x0000, 0x0002 },\r
+  { 0x00, 0x00, 0, 0x01, 0x0000, 0x0003 },\r
+  { 0x00, 0x00, 0, 0x02, 0x0000, 0x0004 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0000, 0x0005 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0000, 0x0006 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0000, 0x0007 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0000, 0x0008 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0000, 0x0009 },\r
+  { 0x00, 0x00, 0, 0x00, 0x0001, 0x0002 },\r
+  { 0x00, 0x00, 0, 0x01, 0x0001, 0x0003 },\r
+  { 0x00, 0x00, 0, 0x02, 0x0001, 0x0004 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0001, 0x0005 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0001, 0x0006 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0001, 0x0007 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0001, 0x0008 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0001, 0x0009 },\r
+  { 0x00, 0x00, 0, 0x00, 0x0002, 0x0002 },\r
+  { 0x00, 0x00, 0, 0x01, 0x0002, 0x0003 },\r
+  { 0x00, 0x00, 0, 0x02, 0x0002, 0x0004 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0002, 0x0005 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0002, 0x0006 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0002, 0x0007 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0002, 0x0008 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0002, 0x0009 },\r
+  { 0x00, 0x00, 0, 0x00, 0x0003, 0x0002 },\r
+  { 0x00, 0x00, 0, 0x01, 0x0003, 0x0003 },\r
+  { 0x00, 0x00, 0, 0x02, 0x0003, 0x0004 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0003, 0x0005 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0003, 0x0006 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0003, 0x0007 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0003, 0x0008 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0003, 0x0009 },\r
+  { 0x00, 0x00, 0, 0x00, 0x0004, 0x0002 },\r
+  { 0x00, 0x00, 0, 0x01, 0x0004, 0x0003 },\r
+  { 0x00, 0x00, 0, 0x02, 0x0004, 0x0004 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0004, 0x0005 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0004, 0x0006 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0004, 0x0007 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0004, 0x0008 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0004, 0x0009 },\r
+  { 0x00, 0x00, 0, 0x00, 0x0005, 0x0002 },\r
+  { 0x00, 0x00, 0, 0x01, 0x0005, 0x0003 },\r
+  { 0x00, 0x00, 0, 0x02, 0x0005, 0x0004 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0005, 0x0005 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0005, 0x0006 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0005, 0x0007 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0005, 0x0008 },\r
+  { 0x00, 0x00, 0, 0x03, 0x0005, 0x0009 },\r
+  { 0x01, 0x00, 0, 0x00, 0x0006, 0x0002 },\r
+  { 0x01, 0x00, 0, 0x01, 0x0006, 0x0003 },\r
+  { 0x01, 0x00, 0, 0x02, 0x0006, 0x0004 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0006, 0x0005 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0006, 0x0006 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0006, 0x0007 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0006, 0x0008 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0006, 0x0009 },\r
+  { 0x01, 0x00, 0, 0x00, 0x0008, 0x0002 },\r
+  { 0x01, 0x00, 0, 0x01, 0x0008, 0x0003 },\r
+  { 0x01, 0x00, 0, 0x02, 0x0008, 0x0004 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0008, 0x0005 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0008, 0x0006 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0008, 0x0007 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0008, 0x0008 },\r
+  { 0x01, 0x00, 0, 0x03, 0x0008, 0x0009 },\r
+  { 0x00, 0x01, 0, 0x03, 0x0000, 0x000a },\r
+  { 0x00, 0x01, 0, 0x03, 0x0000, 0x000c },\r
+  { 0x00, 0x02, 0, 0x03, 0x0000, 0x000e },\r
+  { 0x00, 0x02, 0, 0x03, 0x0000, 0x0012 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0000, 0x0016 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0000, 0x001e },\r
+  { 0x00, 0x04, 0, 0x03, 0x0000, 0x0026 },\r
+  { 0x00, 0x04, 0, 0x03, 0x0000, 0x0036 },\r
+  { 0x00, 0x01, 0, 0x03, 0x0001, 0x000a },\r
+  { 0x00, 0x01, 0, 0x03, 0x0001, 0x000c },\r
+  { 0x00, 0x02, 0, 0x03, 0x0001, 0x000e },\r
+  { 0x00, 0x02, 0, 0x03, 0x0001, 0x0012 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0001, 0x0016 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0001, 0x001e },\r
+  { 0x00, 0x04, 0, 0x03, 0x0001, 0x0026 },\r
+  { 0x00, 0x04, 0, 0x03, 0x0001, 0x0036 },\r
+  { 0x00, 0x01, 0, 0x03, 0x0002, 0x000a },\r
+  { 0x00, 0x01, 0, 0x03, 0x0002, 0x000c },\r
+  { 0x00, 0x02, 0, 0x03, 0x0002, 0x000e },\r
+  { 0x00, 0x02, 0, 0x03, 0x0002, 0x0012 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0002, 0x0016 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0002, 0x001e },\r
+  { 0x00, 0x04, 0, 0x03, 0x0002, 0x0026 },\r
+  { 0x00, 0x04, 0, 0x03, 0x0002, 0x0036 },\r
+  { 0x00, 0x01, 0, 0x03, 0x0003, 0x000a },\r
+  { 0x00, 0x01, 0, 0x03, 0x0003, 0x000c },\r
+  { 0x00, 0x02, 0, 0x03, 0x0003, 0x000e },\r
+  { 0x00, 0x02, 0, 0x03, 0x0003, 0x0012 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0003, 0x0016 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0003, 0x001e },\r
+  { 0x00, 0x04, 0, 0x03, 0x0003, 0x0026 },\r
+  { 0x00, 0x04, 0, 0x03, 0x0003, 0x0036 },\r
+  { 0x00, 0x01, 0, 0x03, 0x0004, 0x000a },\r
+  { 0x00, 0x01, 0, 0x03, 0x0004, 0x000c },\r
+  { 0x00, 0x02, 0, 0x03, 0x0004, 0x000e },\r
+  { 0x00, 0x02, 0, 0x03, 0x0004, 0x0012 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0004, 0x0016 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0004, 0x001e },\r
+  { 0x00, 0x04, 0, 0x03, 0x0004, 0x0026 },\r
+  { 0x00, 0x04, 0, 0x03, 0x0004, 0x0036 },\r
+  { 0x00, 0x01, 0, 0x03, 0x0005, 0x000a },\r
+  { 0x00, 0x01, 0, 0x03, 0x0005, 0x000c },\r
+  { 0x00, 0x02, 0, 0x03, 0x0005, 0x000e },\r
+  { 0x00, 0x02, 0, 0x03, 0x0005, 0x0012 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0005, 0x0016 },\r
+  { 0x00, 0x03, 0, 0x03, 0x0005, 0x001e },\r
+  { 0x00, 0x04, 0, 0x03, 0x0005, 0x0026 },\r
+  { 0x00, 0x04, 0, 0x03, 0x0005, 0x0036 },\r
+  { 0x01, 0x01, 0, 0x03, 0x0006, 0x000a },\r
+  { 0x01, 0x01, 0, 0x03, 0x0006, 0x000c },\r
+  { 0x01, 0x02, 0, 0x03, 0x0006, 0x000e },\r
+  { 0x01, 0x02, 0, 0x03, 0x0006, 0x0012 },\r
+  { 0x01, 0x03, 0, 0x03, 0x0006, 0x0016 },\r
+  { 0x01, 0x03, 0, 0x03, 0x0006, 0x001e },\r
+  { 0x01, 0x04, 0, 0x03, 0x0006, 0x0026 },\r
+  { 0x01, 0x04, 0, 0x03, 0x0006, 0x0036 },\r
+  { 0x01, 0x01, 0, 0x03, 0x0008, 0x000a },\r
+  { 0x01, 0x01, 0, 0x03, 0x0008, 0x000c },\r
+  { 0x01, 0x02, 0, 0x03, 0x0008, 0x000e },\r
+  { 0x01, 0x02, 0, 0x03, 0x0008, 0x0012 },\r
+  { 0x01, 0x03, 0, 0x03, 0x0008, 0x0016 },\r
+  { 0x01, 0x03, 0, 0x03, 0x0008, 0x001e },\r
+  { 0x01, 0x04, 0, 0x03, 0x0008, 0x0026 },\r
+  { 0x01, 0x04, 0, 0x03, 0x0008, 0x0036 },\r
+  { 0x00, 0x00, -1, 0x00, 0x0000, 0x0002 },\r
+  { 0x00, 0x00, -1, 0x01, 0x0000, 0x0003 },\r
+  { 0x00, 0x00, -1, 0x02, 0x0000, 0x0004 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0000, 0x0005 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0000, 0x0006 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0000, 0x0007 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0000, 0x0008 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0000, 0x0009 },\r
+  { 0x00, 0x00, -1, 0x00, 0x0001, 0x0002 },\r
+  { 0x00, 0x00, -1, 0x01, 0x0001, 0x0003 },\r
+  { 0x00, 0x00, -1, 0x02, 0x0001, 0x0004 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0001, 0x0005 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0001, 0x0006 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0001, 0x0007 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0001, 0x0008 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0001, 0x0009 },\r
+  { 0x00, 0x00, -1, 0x00, 0x0002, 0x0002 },\r
+  { 0x00, 0x00, -1, 0x01, 0x0002, 0x0003 },\r
+  { 0x00, 0x00, -1, 0x02, 0x0002, 0x0004 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0002, 0x0005 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0002, 0x0006 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0002, 0x0007 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0002, 0x0008 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0002, 0x0009 },\r
+  { 0x00, 0x00, -1, 0x00, 0x0003, 0x0002 },\r
+  { 0x00, 0x00, -1, 0x01, 0x0003, 0x0003 },\r
+  { 0x00, 0x00, -1, 0x02, 0x0003, 0x0004 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0003, 0x0005 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0003, 0x0006 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0003, 0x0007 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0003, 0x0008 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0003, 0x0009 },\r
+  { 0x00, 0x00, -1, 0x00, 0x0004, 0x0002 },\r
+  { 0x00, 0x00, -1, 0x01, 0x0004, 0x0003 },\r
+  { 0x00, 0x00, -1, 0x02, 0x0004, 0x0004 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0004, 0x0005 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0004, 0x0006 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0004, 0x0007 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0004, 0x0008 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0004, 0x0009 },\r
+  { 0x00, 0x00, -1, 0x00, 0x0005, 0x0002 },\r
+  { 0x00, 0x00, -1, 0x01, 0x0005, 0x0003 },\r
+  { 0x00, 0x00, -1, 0x02, 0x0005, 0x0004 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0005, 0x0005 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0005, 0x0006 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0005, 0x0007 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0005, 0x0008 },\r
+  { 0x00, 0x00, -1, 0x03, 0x0005, 0x0009 },\r
+  { 0x01, 0x00, -1, 0x00, 0x0006, 0x0002 },\r
+  { 0x01, 0x00, -1, 0x01, 0x0006, 0x0003 },\r
+  { 0x01, 0x00, -1, 0x02, 0x0006, 0x0004 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0006, 0x0005 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0006, 0x0006 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0006, 0x0007 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0006, 0x0008 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0006, 0x0009 },\r
+  { 0x01, 0x00, -1, 0x00, 0x0008, 0x0002 },\r
+  { 0x01, 0x00, -1, 0x01, 0x0008, 0x0003 },\r
+  { 0x01, 0x00, -1, 0x02, 0x0008, 0x0004 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0008, 0x0005 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0008, 0x0006 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0008, 0x0007 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0008, 0x0008 },\r
+  { 0x01, 0x00, -1, 0x03, 0x0008, 0x0009 },\r
+  { 0x00, 0x01, -1, 0x03, 0x0000, 0x000a },\r
+  { 0x00, 0x01, -1, 0x03, 0x0000, 0x000c },\r
+  { 0x00, 0x02, -1, 0x03, 0x0000, 0x000e },\r
+  { 0x00, 0x02, -1, 0x03, 0x0000, 0x0012 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0000, 0x0016 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0000, 0x001e },\r
+  { 0x00, 0x04, -1, 0x03, 0x0000, 0x0026 },\r
+  { 0x00, 0x04, -1, 0x03, 0x0000, 0x0036 },\r
+  { 0x00, 0x01, -1, 0x03, 0x0001, 0x000a },\r
+  { 0x00, 0x01, -1, 0x03, 0x0001, 0x000c },\r
+  { 0x00, 0x02, -1, 0x03, 0x0001, 0x000e },\r
+  { 0x00, 0x02, -1, 0x03, 0x0001, 0x0012 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0001, 0x0016 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0001, 0x001e },\r
+  { 0x00, 0x04, -1, 0x03, 0x0001, 0x0026 },\r
+  { 0x00, 0x04, -1, 0x03, 0x0001, 0x0036 },\r
+  { 0x00, 0x01, -1, 0x03, 0x0002, 0x000a },\r
+  { 0x00, 0x01, -1, 0x03, 0x0002, 0x000c },\r
+  { 0x00, 0x02, -1, 0x03, 0x0002, 0x000e },\r
+  { 0x00, 0x02, -1, 0x03, 0x0002, 0x0012 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0002, 0x0016 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0002, 0x001e },\r
+  { 0x00, 0x04, -1, 0x03, 0x0002, 0x0026 },\r
+  { 0x00, 0x04, -1, 0x03, 0x0002, 0x0036 },\r
+  { 0x00, 0x01, -1, 0x03, 0x0003, 0x000a },\r
+  { 0x00, 0x01, -1, 0x03, 0x0003, 0x000c },\r
+  { 0x00, 0x02, -1, 0x03, 0x0003, 0x000e },\r
+  { 0x00, 0x02, -1, 0x03, 0x0003, 0x0012 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0003, 0x0016 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0003, 0x001e },\r
+  { 0x00, 0x04, -1, 0x03, 0x0003, 0x0026 },\r
+  { 0x00, 0x04, -1, 0x03, 0x0003, 0x0036 },\r
+  { 0x00, 0x01, -1, 0x03, 0x0004, 0x000a },\r
+  { 0x00, 0x01, -1, 0x03, 0x0004, 0x000c },\r
+  { 0x00, 0x02, -1, 0x03, 0x0004, 0x000e },\r
+  { 0x00, 0x02, -1, 0x03, 0x0004, 0x0012 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0004, 0x0016 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0004, 0x001e },\r
+  { 0x00, 0x04, -1, 0x03, 0x0004, 0x0026 },\r
+  { 0x00, 0x04, -1, 0x03, 0x0004, 0x0036 },\r
+  { 0x00, 0x01, -1, 0x03, 0x0005, 0x000a },\r
+  { 0x00, 0x01, -1, 0x03, 0x0005, 0x000c },\r
+  { 0x00, 0x02, -1, 0x03, 0x0005, 0x000e },\r
+  { 0x00, 0x02, -1, 0x03, 0x0005, 0x0012 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0005, 0x0016 },\r
+  { 0x00, 0x03, -1, 0x03, 0x0005, 0x001e },\r
+  { 0x00, 0x04, -1, 0x03, 0x0005, 0x0026 },\r
+  { 0x00, 0x04, -1, 0x03, 0x0005, 0x0036 },\r
+  { 0x01, 0x01, -1, 0x03, 0x0006, 0x000a },\r
+  { 0x01, 0x01, -1, 0x03, 0x0006, 0x000c },\r
+  { 0x01, 0x02, -1, 0x03, 0x0006, 0x000e },\r
+  { 0x01, 0x02, -1, 0x03, 0x0006, 0x0012 },\r
+  { 0x01, 0x03, -1, 0x03, 0x0006, 0x0016 },\r
+  { 0x01, 0x03, -1, 0x03, 0x0006, 0x001e },\r
+  { 0x01, 0x04, -1, 0x03, 0x0006, 0x0026 },\r
+  { 0x01, 0x04, -1, 0x03, 0x0006, 0x0036 },\r
+  { 0x01, 0x01, -1, 0x03, 0x0008, 0x000a },\r
+  { 0x01, 0x01, -1, 0x03, 0x0008, 0x000c },\r
+  { 0x01, 0x02, -1, 0x03, 0x0008, 0x000e },\r
+  { 0x01, 0x02, -1, 0x03, 0x0008, 0x0012 },\r
+  { 0x01, 0x03, -1, 0x03, 0x0008, 0x0016 },\r
+  { 0x01, 0x03, -1, 0x03, 0x0008, 0x001e },\r
+  { 0x01, 0x04, -1, 0x03, 0x0008, 0x0026 },\r
+  { 0x01, 0x04, -1, 0x03, 0x0008, 0x0036 },\r
+  { 0x02, 0x00, -1, 0x00, 0x000a, 0x0002 },\r
+  { 0x02, 0x00, -1, 0x01, 0x000a, 0x0003 },\r
+  { 0x02, 0x00, -1, 0x02, 0x000a, 0x0004 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000a, 0x0005 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000a, 0x0006 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000a, 0x0007 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000a, 0x0008 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000a, 0x0009 },\r
+  { 0x02, 0x00, -1, 0x00, 0x000e, 0x0002 },\r
+  { 0x02, 0x00, -1, 0x01, 0x000e, 0x0003 },\r
+  { 0x02, 0x00, -1, 0x02, 0x000e, 0x0004 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000e, 0x0005 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000e, 0x0006 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000e, 0x0007 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000e, 0x0008 },\r
+  { 0x02, 0x00, -1, 0x03, 0x000e, 0x0009 },\r
+  { 0x03, 0x00, -1, 0x00, 0x0012, 0x0002 },\r
+  { 0x03, 0x00, -1, 0x01, 0x0012, 0x0003 },\r
+  { 0x03, 0x00, -1, 0x02, 0x0012, 0x0004 },\r
+  { 0x03, 0x00, -1, 0x03, 0x0012, 0x0005 },\r
+  { 0x03, 0x00, -1, 0x03, 0x0012, 0x0006 },\r
+  { 0x03, 0x00, -1, 0x03, 0x0012, 0x0007 },\r
+  { 0x03, 0x00, -1, 0x03, 0x0012, 0x0008 },\r
+  { 0x03, 0x00, -1, 0x03, 0x0012, 0x0009 },\r
+  { 0x03, 0x00, -1, 0x00, 0x001a, 0x0002 },\r
+  { 0x03, 0x00, -1, 0x01, 0x001a, 0x0003 },\r
+  { 0x03, 0x00, -1, 0x02, 0x001a, 0x0004 },\r
+  { 0x03, 0x00, -1, 0x03, 0x001a, 0x0005 },\r
+  { 0x03, 0x00, -1, 0x03, 0x001a, 0x0006 },\r
+  { 0x03, 0x00, -1, 0x03, 0x001a, 0x0007 },\r
+  { 0x03, 0x00, -1, 0x03, 0x001a, 0x0008 },\r
+  { 0x03, 0x00, -1, 0x03, 0x001a, 0x0009 },\r
+  { 0x04, 0x00, -1, 0x00, 0x0022, 0x0002 },\r
+  { 0x04, 0x00, -1, 0x01, 0x0022, 0x0003 },\r
+  { 0x04, 0x00, -1, 0x02, 0x0022, 0x0004 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0022, 0x0005 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0022, 0x0006 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0022, 0x0007 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0022, 0x0008 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0022, 0x0009 },\r
+  { 0x04, 0x00, -1, 0x00, 0x0032, 0x0002 },\r
+  { 0x04, 0x00, -1, 0x01, 0x0032, 0x0003 },\r
+  { 0x04, 0x00, -1, 0x02, 0x0032, 0x0004 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0032, 0x0005 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0032, 0x0006 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0032, 0x0007 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0032, 0x0008 },\r
+  { 0x04, 0x00, -1, 0x03, 0x0032, 0x0009 },\r
+  { 0x05, 0x00, -1, 0x00, 0x0042, 0x0002 },\r
+  { 0x05, 0x00, -1, 0x01, 0x0042, 0x0003 },\r
+  { 0x05, 0x00, -1, 0x02, 0x0042, 0x0004 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0042, 0x0005 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0042, 0x0006 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0042, 0x0007 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0042, 0x0008 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0042, 0x0009 },\r
+  { 0x05, 0x00, -1, 0x00, 0x0062, 0x0002 },\r
+  { 0x05, 0x00, -1, 0x01, 0x0062, 0x0003 },\r
+  { 0x05, 0x00, -1, 0x02, 0x0062, 0x0004 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0062, 0x0005 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0062, 0x0006 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0062, 0x0007 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0062, 0x0008 },\r
+  { 0x05, 0x00, -1, 0x03, 0x0062, 0x0009 },\r
+  { 0x02, 0x01, -1, 0x03, 0x000a, 0x000a },\r
+  { 0x02, 0x01, -1, 0x03, 0x000a, 0x000c },\r
+  { 0x02, 0x02, -1, 0x03, 0x000a, 0x000e },\r
+  { 0x02, 0x02, -1, 0x03, 0x000a, 0x0012 },\r
+  { 0x02, 0x03, -1, 0x03, 0x000a, 0x0016 },\r
+  { 0x02, 0x03, -1, 0x03, 0x000a, 0x001e },\r
+  { 0x02, 0x04, -1, 0x03, 0x000a, 0x0026 },\r
+  { 0x02, 0x04, -1, 0x03, 0x000a, 0x0036 },\r
+  { 0x02, 0x01, -1, 0x03, 0x000e, 0x000a },\r
+  { 0x02, 0x01, -1, 0x03, 0x000e, 0x000c },\r
+  { 0x02, 0x02, -1, 0x03, 0x000e, 0x000e },\r
+  { 0x02, 0x02, -1, 0x03, 0x000e, 0x0012 },\r
+  { 0x02, 0x03, -1, 0x03, 0x000e, 0x0016 },\r
+  { 0x02, 0x03, -1, 0x03, 0x000e, 0x001e },\r
+  { 0x02, 0x04, -1, 0x03, 0x000e, 0x0026 },\r
+  { 0x02, 0x04, -1, 0x03, 0x000e, 0x0036 },\r
+  { 0x03, 0x01, -1, 0x03, 0x0012, 0x000a },\r
+  { 0x03, 0x01, -1, 0x03, 0x0012, 0x000c },\r
+  { 0x03, 0x02, -1, 0x03, 0x0012, 0x000e },\r
+  { 0x03, 0x02, -1, 0x03, 0x0012, 0x0012 },\r
+  { 0x03, 0x03, -1, 0x03, 0x0012, 0x0016 },\r
+  { 0x03, 0x03, -1, 0x03, 0x0012, 0x001e },\r
+  { 0x03, 0x04, -1, 0x03, 0x0012, 0x0026 },\r
+  { 0x03, 0x04, -1, 0x03, 0x0012, 0x0036 },\r
+  { 0x03, 0x01, -1, 0x03, 0x001a, 0x000a },\r
+  { 0x03, 0x01, -1, 0x03, 0x001a, 0x000c },\r
+  { 0x03, 0x02, -1, 0x03, 0x001a, 0x000e },\r
+  { 0x03, 0x02, -1, 0x03, 0x001a, 0x0012 },\r
+  { 0x03, 0x03, -1, 0x03, 0x001a, 0x0016 },\r
+  { 0x03, 0x03, -1, 0x03, 0x001a, 0x001e },\r
+  { 0x03, 0x04, -1, 0x03, 0x001a, 0x0026 },\r
+  { 0x03, 0x04, -1, 0x03, 0x001a, 0x0036 },\r
+  { 0x04, 0x01, -1, 0x03, 0x0022, 0x000a },\r
+  { 0x04, 0x01, -1, 0x03, 0x0022, 0x000c },\r
+  { 0x04, 0x02, -1, 0x03, 0x0022, 0x000e },\r
+  { 0x04, 0x02, -1, 0x03, 0x0022, 0x0012 },\r
+  { 0x04, 0x03, -1, 0x03, 0x0022, 0x0016 },\r
+  { 0x04, 0x03, -1, 0x03, 0x0022, 0x001e },\r
+  { 0x04, 0x04, -1, 0x03, 0x0022, 0x0026 },\r
+  { 0x04, 0x04, -1, 0x03, 0x0022, 0x0036 },\r
+  { 0x04, 0x01, -1, 0x03, 0x0032, 0x000a },\r
+  { 0x04, 0x01, -1, 0x03, 0x0032, 0x000c },\r
+  { 0x04, 0x02, -1, 0x03, 0x0032, 0x000e },\r
+  { 0x04, 0x02, -1, 0x03, 0x0032, 0x0012 },\r
+  { 0x04, 0x03, -1, 0x03, 0x0032, 0x0016 },\r
+  { 0x04, 0x03, -1, 0x03, 0x0032, 0x001e },\r
+  { 0x04, 0x04, -1, 0x03, 0x0032, 0x0026 },\r
+  { 0x04, 0x04, -1, 0x03, 0x0032, 0x0036 },\r
+  { 0x05, 0x01, -1, 0x03, 0x0042, 0x000a },\r
+  { 0x05, 0x01, -1, 0x03, 0x0042, 0x000c },\r
+  { 0x05, 0x02, -1, 0x03, 0x0042, 0x000e },\r
+  { 0x05, 0x02, -1, 0x03, 0x0042, 0x0012 },\r
+  { 0x05, 0x03, -1, 0x03, 0x0042, 0x0016 },\r
+  { 0x05, 0x03, -1, 0x03, 0x0042, 0x001e },\r
+  { 0x05, 0x04, -1, 0x03, 0x0042, 0x0026 },\r
+  { 0x05, 0x04, -1, 0x03, 0x0042, 0x0036 },\r
+  { 0x05, 0x01, -1, 0x03, 0x0062, 0x000a },\r
+  { 0x05, 0x01, -1, 0x03, 0x0062, 0x000c },\r
+  { 0x05, 0x02, -1, 0x03, 0x0062, 0x000e },\r
+  { 0x05, 0x02, -1, 0x03, 0x0062, 0x0012 },\r
+  { 0x05, 0x03, -1, 0x03, 0x0062, 0x0016 },\r
+  { 0x05, 0x03, -1, 0x03, 0x0062, 0x001e },\r
+  { 0x05, 0x04, -1, 0x03, 0x0062, 0x0026 },\r
+  { 0x05, 0x04, -1, 0x03, 0x0062, 0x0036 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0000, 0x0046 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0000, 0x0066 },\r
+  { 0x00, 0x06, -1, 0x03, 0x0000, 0x0086 },\r
+  { 0x00, 0x07, -1, 0x03, 0x0000, 0x00c6 },\r
+  { 0x00, 0x08, -1, 0x03, 0x0000, 0x0146 },\r
+  { 0x00, 0x09, -1, 0x03, 0x0000, 0x0246 },\r
+  { 0x00, 0x0a, -1, 0x03, 0x0000, 0x0446 },\r
+  { 0x00, 0x18, -1, 0x03, 0x0000, 0x0846 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0001, 0x0046 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0001, 0x0066 },\r
+  { 0x00, 0x06, -1, 0x03, 0x0001, 0x0086 },\r
+  { 0x00, 0x07, -1, 0x03, 0x0001, 0x00c6 },\r
+  { 0x00, 0x08, -1, 0x03, 0x0001, 0x0146 },\r
+  { 0x00, 0x09, -1, 0x03, 0x0001, 0x0246 },\r
+  { 0x00, 0x0a, -1, 0x03, 0x0001, 0x0446 },\r
+  { 0x00, 0x18, -1, 0x03, 0x0001, 0x0846 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0002, 0x0046 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0002, 0x0066 },\r
+  { 0x00, 0x06, -1, 0x03, 0x0002, 0x0086 },\r
+  { 0x00, 0x07, -1, 0x03, 0x0002, 0x00c6 },\r
+  { 0x00, 0x08, -1, 0x03, 0x0002, 0x0146 },\r
+  { 0x00, 0x09, -1, 0x03, 0x0002, 0x0246 },\r
+  { 0x00, 0x0a, -1, 0x03, 0x0002, 0x0446 },\r
+  { 0x00, 0x18, -1, 0x03, 0x0002, 0x0846 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0003, 0x0046 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0003, 0x0066 },\r
+  { 0x00, 0x06, -1, 0x03, 0x0003, 0x0086 },\r
+  { 0x00, 0x07, -1, 0x03, 0x0003, 0x00c6 },\r
+  { 0x00, 0x08, -1, 0x03, 0x0003, 0x0146 },\r
+  { 0x00, 0x09, -1, 0x03, 0x0003, 0x0246 },\r
+  { 0x00, 0x0a, -1, 0x03, 0x0003, 0x0446 },\r
+  { 0x00, 0x18, -1, 0x03, 0x0003, 0x0846 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0004, 0x0046 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0004, 0x0066 },\r
+  { 0x00, 0x06, -1, 0x03, 0x0004, 0x0086 },\r
+  { 0x00, 0x07, -1, 0x03, 0x0004, 0x00c6 },\r
+  { 0x00, 0x08, -1, 0x03, 0x0004, 0x0146 },\r
+  { 0x00, 0x09, -1, 0x03, 0x0004, 0x0246 },\r
+  { 0x00, 0x0a, -1, 0x03, 0x0004, 0x0446 },\r
+  { 0x00, 0x18, -1, 0x03, 0x0004, 0x0846 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0005, 0x0046 },\r
+  { 0x00, 0x05, -1, 0x03, 0x0005, 0x0066 },\r
+  { 0x00, 0x06, -1, 0x03, 0x0005, 0x0086 },\r
+  { 0x00, 0x07, -1, 0x03, 0x0005, 0x00c6 },\r
+  { 0x00, 0x08, -1, 0x03, 0x0005, 0x0146 },\r
+  { 0x00, 0x09, -1, 0x03, 0x0005, 0x0246 },\r
+  { 0x00, 0x0a, -1, 0x03, 0x0005, 0x0446 },\r
+  { 0x00, 0x18, -1, 0x03, 0x0005, 0x0846 },\r
+  { 0x01, 0x05, -1, 0x03, 0x0006, 0x0046 },\r
+  { 0x01, 0x05, -1, 0x03, 0x0006, 0x0066 },\r
+  { 0x01, 0x06, -1, 0x03, 0x0006, 0x0086 },\r
+  { 0x01, 0x07, -1, 0x03, 0x0006, 0x00c6 },\r
+  { 0x01, 0x08, -1, 0x03, 0x0006, 0x0146 },\r
+  { 0x01, 0x09, -1, 0x03, 0x0006, 0x0246 },\r
+  { 0x01, 0x0a, -1, 0x03, 0x0006, 0x0446 },\r
+  { 0x01, 0x18, -1, 0x03, 0x0006, 0x0846 },\r
+  { 0x01, 0x05, -1, 0x03, 0x0008, 0x0046 },\r
+  { 0x01, 0x05, -1, 0x03, 0x0008, 0x0066 },\r
+  { 0x01, 0x06, -1, 0x03, 0x0008, 0x0086 },\r
+  { 0x01, 0x07, -1, 0x03, 0x0008, 0x00c6 },\r
+  { 0x01, 0x08, -1, 0x03, 0x0008, 0x0146 },\r
+  { 0x01, 0x09, -1, 0x03, 0x0008, 0x0246 },\r
+  { 0x01, 0x0a, -1, 0x03, 0x0008, 0x0446 },\r
+  { 0x01, 0x18, -1, 0x03, 0x0008, 0x0846 },\r
+  { 0x06, 0x00, -1, 0x00, 0x0082, 0x0002 },\r
+  { 0x06, 0x00, -1, 0x01, 0x0082, 0x0003 },\r
+  { 0x06, 0x00, -1, 0x02, 0x0082, 0x0004 },\r
+  { 0x06, 0x00, -1, 0x03, 0x0082, 0x0005 },\r
+  { 0x06, 0x00, -1, 0x03, 0x0082, 0x0006 },\r
+  { 0x06, 0x00, -1, 0x03, 0x0082, 0x0007 },\r
+  { 0x06, 0x00, -1, 0x03, 0x0082, 0x0008 },\r
+  { 0x06, 0x00, -1, 0x03, 0x0082, 0x0009 },\r
+  { 0x07, 0x00, -1, 0x00, 0x00c2, 0x0002 },\r
+  { 0x07, 0x00, -1, 0x01, 0x00c2, 0x0003 },\r
+  { 0x07, 0x00, -1, 0x02, 0x00c2, 0x0004 },\r
+  { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0005 },\r
+  { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0006 },\r
+  { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0007 },\r
+  { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0008 },\r
+  { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0009 },\r
+  { 0x08, 0x00, -1, 0x00, 0x0142, 0x0002 },\r
+  { 0x08, 0x00, -1, 0x01, 0x0142, 0x0003 },\r
+  { 0x08, 0x00, -1, 0x02, 0x0142, 0x0004 },\r
+  { 0x08, 0x00, -1, 0x03, 0x0142, 0x0005 },\r
+  { 0x08, 0x00, -1, 0x03, 0x0142, 0x0006 },\r
+  { 0x08, 0x00, -1, 0x03, 0x0142, 0x0007 },\r
+  { 0x08, 0x00, -1, 0x03, 0x0142, 0x0008 },\r
+  { 0x08, 0x00, -1, 0x03, 0x0142, 0x0009 },\r
+  { 0x09, 0x00, -1, 0x00, 0x0242, 0x0002 },\r
+  { 0x09, 0x00, -1, 0x01, 0x0242, 0x0003 },\r
+  { 0x09, 0x00, -1, 0x02, 0x0242, 0x0004 },\r
+  { 0x09, 0x00, -1, 0x03, 0x0242, 0x0005 },\r
+  { 0x09, 0x00, -1, 0x03, 0x0242, 0x0006 },\r
+  { 0x09, 0x00, -1, 0x03, 0x0242, 0x0007 },\r
+  { 0x09, 0x00, -1, 0x03, 0x0242, 0x0008 },\r
+  { 0x09, 0x00, -1, 0x03, 0x0242, 0x0009 },\r
+  { 0x0a, 0x00, -1, 0x00, 0x0442, 0x0002 },\r
+  { 0x0a, 0x00, -1, 0x01, 0x0442, 0x0003 },\r
+  { 0x0a, 0x00, -1, 0x02, 0x0442, 0x0004 },\r
+  { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0005 },\r
+  { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0006 },\r
+  { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0007 },\r
+  { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0008 },\r
+  { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0009 },\r
+  { 0x0c, 0x00, -1, 0x00, 0x0842, 0x0002 },\r
+  { 0x0c, 0x00, -1, 0x01, 0x0842, 0x0003 },\r
+  { 0x0c, 0x00, -1, 0x02, 0x0842, 0x0004 },\r
+  { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0005 },\r
+  { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0006 },\r
+  { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0007 },\r
+  { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0008 },\r
+  { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0009 },\r
+  { 0x0e, 0x00, -1, 0x00, 0x1842, 0x0002 },\r
+  { 0x0e, 0x00, -1, 0x01, 0x1842, 0x0003 },\r
+  { 0x0e, 0x00, -1, 0x02, 0x1842, 0x0004 },\r
+  { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0005 },\r
+  { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0006 },\r
+  { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0007 },\r
+  { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0008 },\r
+  { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0009 },\r
+  { 0x18, 0x00, -1, 0x00, 0x5842, 0x0002 },\r
+  { 0x18, 0x00, -1, 0x01, 0x5842, 0x0003 },\r
+  { 0x18, 0x00, -1, 0x02, 0x5842, 0x0004 },\r
+  { 0x18, 0x00, -1, 0x03, 0x5842, 0x0005 },\r
+  { 0x18, 0x00, -1, 0x03, 0x5842, 0x0006 },\r
+  { 0x18, 0x00, -1, 0x03, 0x5842, 0x0007 },\r
+  { 0x18, 0x00, -1, 0x03, 0x5842, 0x0008 },\r
+  { 0x18, 0x00, -1, 0x03, 0x5842, 0x0009 },\r
+  { 0x02, 0x05, -1, 0x03, 0x000a, 0x0046 },\r
+  { 0x02, 0x05, -1, 0x03, 0x000a, 0x0066 },\r
+  { 0x02, 0x06, -1, 0x03, 0x000a, 0x0086 },\r
+  { 0x02, 0x07, -1, 0x03, 0x000a, 0x00c6 },\r
+  { 0x02, 0x08, -1, 0x03, 0x000a, 0x0146 },\r
+  { 0x02, 0x09, -1, 0x03, 0x000a, 0x0246 },\r
+  { 0x02, 0x0a, -1, 0x03, 0x000a, 0x0446 },\r
+  { 0x02, 0x18, -1, 0x03, 0x000a, 0x0846 },\r
+  { 0x02, 0x05, -1, 0x03, 0x000e, 0x0046 },\r
+  { 0x02, 0x05, -1, 0x03, 0x000e, 0x0066 },\r
+  { 0x02, 0x06, -1, 0x03, 0x000e, 0x0086 },\r
+  { 0x02, 0x07, -1, 0x03, 0x000e, 0x00c6 },\r
+  { 0x02, 0x08, -1, 0x03, 0x000e, 0x0146 },\r
+  { 0x02, 0x09, -1, 0x03, 0x000e, 0x0246 },\r
+  { 0x02, 0x0a, -1, 0x03, 0x000e, 0x0446 },\r
+  { 0x02, 0x18, -1, 0x03, 0x000e, 0x0846 },\r
+  { 0x03, 0x05, -1, 0x03, 0x0012, 0x0046 },\r
+  { 0x03, 0x05, -1, 0x03, 0x0012, 0x0066 },\r
+  { 0x03, 0x06, -1, 0x03, 0x0012, 0x0086 },\r
+  { 0x03, 0x07, -1, 0x03, 0x0012, 0x00c6 },\r
+  { 0x03, 0x08, -1, 0x03, 0x0012, 0x0146 },\r
+  { 0x03, 0x09, -1, 0x03, 0x0012, 0x0246 },\r
+  { 0x03, 0x0a, -1, 0x03, 0x0012, 0x0446 },\r
+  { 0x03, 0x18, -1, 0x03, 0x0012, 0x0846 },\r
+  { 0x03, 0x05, -1, 0x03, 0x001a, 0x0046 },\r
+  { 0x03, 0x05, -1, 0x03, 0x001a, 0x0066 },\r
+  { 0x03, 0x06, -1, 0x03, 0x001a, 0x0086 },\r
+  { 0x03, 0x07, -1, 0x03, 0x001a, 0x00c6 },\r
+  { 0x03, 0x08, -1, 0x03, 0x001a, 0x0146 },\r
+  { 0x03, 0x09, -1, 0x03, 0x001a, 0x0246 },\r
+  { 0x03, 0x0a, -1, 0x03, 0x001a, 0x0446 },\r
+  { 0x03, 0x18, -1, 0x03, 0x001a, 0x0846 },\r
+  { 0x04, 0x05, -1, 0x03, 0x0022, 0x0046 },\r
+  { 0x04, 0x05, -1, 0x03, 0x0022, 0x0066 },\r
+  { 0x04, 0x06, -1, 0x03, 0x0022, 0x0086 },\r
+  { 0x04, 0x07, -1, 0x03, 0x0022, 0x00c6 },\r
+  { 0x04, 0x08, -1, 0x03, 0x0022, 0x0146 },\r
+  { 0x04, 0x09, -1, 0x03, 0x0022, 0x0246 },\r
+  { 0x04, 0x0a, -1, 0x03, 0x0022, 0x0446 },\r
+  { 0x04, 0x18, -1, 0x03, 0x0022, 0x0846 },\r
+  { 0x04, 0x05, -1, 0x03, 0x0032, 0x0046 },\r
+  { 0x04, 0x05, -1, 0x03, 0x0032, 0x0066 },\r
+  { 0x04, 0x06, -1, 0x03, 0x0032, 0x0086 },\r
+  { 0x04, 0x07, -1, 0x03, 0x0032, 0x00c6 },\r
+  { 0x04, 0x08, -1, 0x03, 0x0032, 0x0146 },\r
+  { 0x04, 0x09, -1, 0x03, 0x0032, 0x0246 },\r
+  { 0x04, 0x0a, -1, 0x03, 0x0032, 0x0446 },\r
+  { 0x04, 0x18, -1, 0x03, 0x0032, 0x0846 },\r
+  { 0x05, 0x05, -1, 0x03, 0x0042, 0x0046 },\r
+  { 0x05, 0x05, -1, 0x03, 0x0042, 0x0066 },\r
+  { 0x05, 0x06, -1, 0x03, 0x0042, 0x0086 },\r
+  { 0x05, 0x07, -1, 0x03, 0x0042, 0x00c6 },\r
+  { 0x05, 0x08, -1, 0x03, 0x0042, 0x0146 },\r
+  { 0x05, 0x09, -1, 0x03, 0x0042, 0x0246 },\r
+  { 0x05, 0x0a, -1, 0x03, 0x0042, 0x0446 },\r
+  { 0x05, 0x18, -1, 0x03, 0x0042, 0x0846 },\r
+  { 0x05, 0x05, -1, 0x03, 0x0062, 0x0046 },\r
+  { 0x05, 0x05, -1, 0x03, 0x0062, 0x0066 },\r
+  { 0x05, 0x06, -1, 0x03, 0x0062, 0x0086 },\r
+  { 0x05, 0x07, -1, 0x03, 0x0062, 0x00c6 },\r
+  { 0x05, 0x08, -1, 0x03, 0x0062, 0x0146 },\r
+  { 0x05, 0x09, -1, 0x03, 0x0062, 0x0246 },\r
+  { 0x05, 0x0a, -1, 0x03, 0x0062, 0x0446 },\r
+  { 0x05, 0x18, -1, 0x03, 0x0062, 0x0846 },\r
+  { 0x06, 0x01, -1, 0x03, 0x0082, 0x000a },\r
+  { 0x06, 0x01, -1, 0x03, 0x0082, 0x000c },\r
+  { 0x06, 0x02, -1, 0x03, 0x0082, 0x000e },\r
+  { 0x06, 0x02, -1, 0x03, 0x0082, 0x0012 },\r
+  { 0x06, 0x03, -1, 0x03, 0x0082, 0x0016 },\r
+  { 0x06, 0x03, -1, 0x03, 0x0082, 0x001e },\r
+  { 0x06, 0x04, -1, 0x03, 0x0082, 0x0026 },\r
+  { 0x06, 0x04, -1, 0x03, 0x0082, 0x0036 },\r
+  { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000a },\r
+  { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000c },\r
+  { 0x07, 0x02, -1, 0x03, 0x00c2, 0x000e },\r
+  { 0x07, 0x02, -1, 0x03, 0x00c2, 0x0012 },\r
+  { 0x07, 0x03, -1, 0x03, 0x00c2, 0x0016 },\r
+  { 0x07, 0x03, -1, 0x03, 0x00c2, 0x001e },\r
+  { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0026 },\r
+  { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0036 },\r
+  { 0x08, 0x01, -1, 0x03, 0x0142, 0x000a },\r
+  { 0x08, 0x01, -1, 0x03, 0x0142, 0x000c },\r
+  { 0x08, 0x02, -1, 0x03, 0x0142, 0x000e },\r
+  { 0x08, 0x02, -1, 0x03, 0x0142, 0x0012 },\r
+  { 0x08, 0x03, -1, 0x03, 0x0142, 0x0016 },\r
+  { 0x08, 0x03, -1, 0x03, 0x0142, 0x001e },\r
+  { 0x08, 0x04, -1, 0x03, 0x0142, 0x0026 },\r
+  { 0x08, 0x04, -1, 0x03, 0x0142, 0x0036 },\r
+  { 0x09, 0x01, -1, 0x03, 0x0242, 0x000a },\r
+  { 0x09, 0x01, -1, 0x03, 0x0242, 0x000c },\r
+  { 0x09, 0x02, -1, 0x03, 0x0242, 0x000e },\r
+  { 0x09, 0x02, -1, 0x03, 0x0242, 0x0012 },\r
+  { 0x09, 0x03, -1, 0x03, 0x0242, 0x0016 },\r
+  { 0x09, 0x03, -1, 0x03, 0x0242, 0x001e },\r
+  { 0x09, 0x04, -1, 0x03, 0x0242, 0x0026 },\r
+  { 0x09, 0x04, -1, 0x03, 0x0242, 0x0036 },\r
+  { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000a },\r
+  { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000c },\r
+  { 0x0a, 0x02, -1, 0x03, 0x0442, 0x000e },\r
+  { 0x0a, 0x02, -1, 0x03, 0x0442, 0x0012 },\r
+  { 0x0a, 0x03, -1, 0x03, 0x0442, 0x0016 },\r
+  { 0x0a, 0x03, -1, 0x03, 0x0442, 0x001e },\r
+  { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0026 },\r
+  { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0036 },\r
+  { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000a },\r
+  { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000c },\r
+  { 0x0c, 0x02, -1, 0x03, 0x0842, 0x000e },\r
+  { 0x0c, 0x02, -1, 0x03, 0x0842, 0x0012 },\r
+  { 0x0c, 0x03, -1, 0x03, 0x0842, 0x0016 },\r
+  { 0x0c, 0x03, -1, 0x03, 0x0842, 0x001e },\r
+  { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0026 },\r
+  { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0036 },\r
+  { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000a },\r
+  { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000c },\r
+  { 0x0e, 0x02, -1, 0x03, 0x1842, 0x000e },\r
+  { 0x0e, 0x02, -1, 0x03, 0x1842, 0x0012 },\r
+  { 0x0e, 0x03, -1, 0x03, 0x1842, 0x0016 },\r
+  { 0x0e, 0x03, -1, 0x03, 0x1842, 0x001e },\r
+  { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0026 },\r
+  { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0036 },\r
+  { 0x18, 0x01, -1, 0x03, 0x5842, 0x000a },\r
+  { 0x18, 0x01, -1, 0x03, 0x5842, 0x000c },\r
+  { 0x18, 0x02, -1, 0x03, 0x5842, 0x000e },\r
+  { 0x18, 0x02, -1, 0x03, 0x5842, 0x0012 },\r
+  { 0x18, 0x03, -1, 0x03, 0x5842, 0x0016 },\r
+  { 0x18, 0x03, -1, 0x03, 0x5842, 0x001e },\r
+  { 0x18, 0x04, -1, 0x03, 0x5842, 0x0026 },\r
+  { 0x18, 0x04, -1, 0x03, 0x5842, 0x0036 },\r
+  { 0x06, 0x05, -1, 0x03, 0x0082, 0x0046 },\r
+  { 0x06, 0x05, -1, 0x03, 0x0082, 0x0066 },\r
+  { 0x06, 0x06, -1, 0x03, 0x0082, 0x0086 },\r
+  { 0x06, 0x07, -1, 0x03, 0x0082, 0x00c6 },\r
+  { 0x06, 0x08, -1, 0x03, 0x0082, 0x0146 },\r
+  { 0x06, 0x09, -1, 0x03, 0x0082, 0x0246 },\r
+  { 0x06, 0x0a, -1, 0x03, 0x0082, 0x0446 },\r
+  { 0x06, 0x18, -1, 0x03, 0x0082, 0x0846 },\r
+  { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0046 },\r
+  { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0066 },\r
+  { 0x07, 0x06, -1, 0x03, 0x00c2, 0x0086 },\r
+  { 0x07, 0x07, -1, 0x03, 0x00c2, 0x00c6 },\r
+  { 0x07, 0x08, -1, 0x03, 0x00c2, 0x0146 },\r
+  { 0x07, 0x09, -1, 0x03, 0x00c2, 0x0246 },\r
+  { 0x07, 0x0a, -1, 0x03, 0x00c2, 0x0446 },\r
+  { 0x07, 0x18, -1, 0x03, 0x00c2, 0x0846 },\r
+  { 0x08, 0x05, -1, 0x03, 0x0142, 0x0046 },\r
+  { 0x08, 0x05, -1, 0x03, 0x0142, 0x0066 },\r
+  { 0x08, 0x06, -1, 0x03, 0x0142, 0x0086 },\r
+  { 0x08, 0x07, -1, 0x03, 0x0142, 0x00c6 },\r
+  { 0x08, 0x08, -1, 0x03, 0x0142, 0x0146 },\r
+  { 0x08, 0x09, -1, 0x03, 0x0142, 0x0246 },\r
+  { 0x08, 0x0a, -1, 0x03, 0x0142, 0x0446 },\r
+  { 0x08, 0x18, -1, 0x03, 0x0142, 0x0846 },\r
+  { 0x09, 0x05, -1, 0x03, 0x0242, 0x0046 },\r
+  { 0x09, 0x05, -1, 0x03, 0x0242, 0x0066 },\r
+  { 0x09, 0x06, -1, 0x03, 0x0242, 0x0086 },\r
+  { 0x09, 0x07, -1, 0x03, 0x0242, 0x00c6 },\r
+  { 0x09, 0x08, -1, 0x03, 0x0242, 0x0146 },\r
+  { 0x09, 0x09, -1, 0x03, 0x0242, 0x0246 },\r
+  { 0x09, 0x0a, -1, 0x03, 0x0242, 0x0446 },\r
+  { 0x09, 0x18, -1, 0x03, 0x0242, 0x0846 },\r
+  { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0046 },\r
+  { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0066 },\r
+  { 0x0a, 0x06, -1, 0x03, 0x0442, 0x0086 },\r
+  { 0x0a, 0x07, -1, 0x03, 0x0442, 0x00c6 },\r
+  { 0x0a, 0x08, -1, 0x03, 0x0442, 0x0146 },\r
+  { 0x0a, 0x09, -1, 0x03, 0x0442, 0x0246 },\r
+  { 0x0a, 0x0a, -1, 0x03, 0x0442, 0x0446 },\r
+  { 0x0a, 0x18, -1, 0x03, 0x0442, 0x0846 },\r
+  { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0046 },\r
+  { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0066 },\r
+  { 0x0c, 0x06, -1, 0x03, 0x0842, 0x0086 },\r
+  { 0x0c, 0x07, -1, 0x03, 0x0842, 0x00c6 },\r
+  { 0x0c, 0x08, -1, 0x03, 0x0842, 0x0146 },\r
+  { 0x0c, 0x09, -1, 0x03, 0x0842, 0x0246 },\r
+  { 0x0c, 0x0a, -1, 0x03, 0x0842, 0x0446 },\r
+  { 0x0c, 0x18, -1, 0x03, 0x0842, 0x0846 },\r
+  { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0046 },\r
+  { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0066 },\r
+  { 0x0e, 0x06, -1, 0x03, 0x1842, 0x0086 },\r
+  { 0x0e, 0x07, -1, 0x03, 0x1842, 0x00c6 },\r
+  { 0x0e, 0x08, -1, 0x03, 0x1842, 0x0146 },\r
+  { 0x0e, 0x09, -1, 0x03, 0x1842, 0x0246 },\r
+  { 0x0e, 0x0a, -1, 0x03, 0x1842, 0x0446 },\r
+  { 0x0e, 0x18, -1, 0x03, 0x1842, 0x0846 },\r
+  { 0x18, 0x05, -1, 0x03, 0x5842, 0x0046 },\r
+  { 0x18, 0x05, -1, 0x03, 0x5842, 0x0066 },\r
+  { 0x18, 0x06, -1, 0x03, 0x5842, 0x0086 },\r
+  { 0x18, 0x07, -1, 0x03, 0x5842, 0x00c6 },\r
+  { 0x18, 0x08, -1, 0x03, 0x5842, 0x0146 },\r
+  { 0x18, 0x09, -1, 0x03, 0x5842, 0x0246 },\r
+  { 0x18, 0x0a, -1, 0x03, 0x5842, 0x0446 },\r
+  { 0x18, 0x18, -1, 0x03, 0x5842, 0x0846 },\r
+};\r
+\r
+#endif  /* BROTLI_DEC_PREFIX_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/state.c b/BaseTools/Source/C/BrotliCompress/dec/state.c
new file mode 100644 (file)
index 0000000..940abaa
--- /dev/null
@@ -0,0 +1,168 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+#include "./state.h"\r
+\r
+#include <stdlib.h>  /* free, malloc */\r
+\r
+#include "../common/types.h"\r
+#include "./huffman.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static void* DefaultAllocFunc(void* opaque, size_t size) {\r
+  BROTLI_UNUSED(opaque);\r
+  return malloc(size);\r
+}\r
+\r
+static void DefaultFreeFunc(void* opaque, void* address) {\r
+  BROTLI_UNUSED(opaque);\r
+  free(address);\r
+}\r
+\r
+void BrotliDecoderStateInit(BrotliDecoderState* s) {\r
+  BrotliDecoderStateInitWithCustomAllocators(s, 0, 0, 0);\r
+}\r
+\r
+void BrotliDecoderStateInitWithCustomAllocators(BrotliDecoderState* s,\r
+    brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) {\r
+  if (!alloc_func) {\r
+    s->alloc_func = DefaultAllocFunc;\r
+    s->free_func = DefaultFreeFunc;\r
+    s->memory_manager_opaque = 0;\r
+  } else {\r
+    s->alloc_func = alloc_func;\r
+    s->free_func = free_func;\r
+    s->memory_manager_opaque = opaque;\r
+  }\r
+\r
+  BrotliInitBitReader(&s->br);\r
+  s->state = BROTLI_STATE_UNINITED;\r
+  s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;\r
+  s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE;\r
+  s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE;\r
+  s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE;\r
+  s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE;\r
+  s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE;\r
+  s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE;\r
+\r
+  s->buffer_length = 0;\r
+  s->loop_counter = 0;\r
+  s->pos = 0;\r
+  s->rb_roundtrips = 0;\r
+  s->partial_pos_out = 0;\r
+\r
+  s->block_type_trees = NULL;\r
+  s->block_len_trees = NULL;\r
+  s->ringbuffer = NULL;\r
+\r
+  s->context_map = NULL;\r
+  s->context_modes = NULL;\r
+  s->dist_context_map = NULL;\r
+  s->context_map_slice = NULL;\r
+  s->dist_context_map_slice = NULL;\r
+\r
+  s->sub_loop_counter = 0;\r
+\r
+  s->literal_hgroup.codes = NULL;\r
+  s->literal_hgroup.htrees = NULL;\r
+  s->insert_copy_hgroup.codes = NULL;\r
+  s->insert_copy_hgroup.htrees = NULL;\r
+  s->distance_hgroup.codes = NULL;\r
+  s->distance_hgroup.htrees = NULL;\r
+\r
+  s->custom_dict = NULL;\r
+  s->custom_dict_size = 0;\r
+\r
+  s->is_last_metablock = 0;\r
+  s->window_bits = 0;\r
+  s->max_distance = 0;\r
+  s->dist_rb[0] = 16;\r
+  s->dist_rb[1] = 15;\r
+  s->dist_rb[2] = 11;\r
+  s->dist_rb[3] = 4;\r
+  s->dist_rb_idx = 0;\r
+  s->block_type_trees = NULL;\r
+  s->block_len_trees = NULL;\r
+\r
+  /* Make small negative indexes addressable. */\r
+  s->symbol_lists = &s->symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1];\r
+\r
+  s->mtf_upper_bound = 255;\r
+}\r
+\r
+void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s) {\r
+  s->meta_block_remaining_len = 0;\r
+  s->block_length[0] = 1U << 28;\r
+  s->block_length[1] = 1U << 28;\r
+  s->block_length[2] = 1U << 28;\r
+  s->num_block_types[0] = 1;\r
+  s->num_block_types[1] = 1;\r
+  s->num_block_types[2] = 1;\r
+  s->block_type_rb[0] = 1;\r
+  s->block_type_rb[1] = 0;\r
+  s->block_type_rb[2] = 1;\r
+  s->block_type_rb[3] = 0;\r
+  s->block_type_rb[4] = 1;\r
+  s->block_type_rb[5] = 0;\r
+  s->context_map = NULL;\r
+  s->context_modes = NULL;\r
+  s->dist_context_map = NULL;\r
+  s->context_map_slice = NULL;\r
+  s->literal_htree = NULL;\r
+  s->dist_context_map_slice = NULL;\r
+  s->dist_htree_index = 0;\r
+  s->context_lookup1 = NULL;\r
+  s->context_lookup2 = NULL;\r
+  s->literal_hgroup.codes = NULL;\r
+  s->literal_hgroup.htrees = NULL;\r
+  s->insert_copy_hgroup.codes = NULL;\r
+  s->insert_copy_hgroup.htrees = NULL;\r
+  s->distance_hgroup.codes = NULL;\r
+  s->distance_hgroup.htrees = NULL;\r
+}\r
+\r
+void BrotliDecoderStateCleanupAfterMetablock(BrotliDecoderState* s) {\r
+  BROTLI_FREE(s, s->context_modes);\r
+  BROTLI_FREE(s, s->context_map);\r
+  BROTLI_FREE(s, s->dist_context_map);\r
+\r
+  BrotliDecoderHuffmanTreeGroupRelease(s, &s->literal_hgroup);\r
+  BrotliDecoderHuffmanTreeGroupRelease(s, &s->insert_copy_hgroup);\r
+  BrotliDecoderHuffmanTreeGroupRelease(s, &s->distance_hgroup);\r
+}\r
+\r
+void BrotliDecoderStateCleanup(BrotliDecoderState* s) {\r
+  BrotliDecoderStateCleanupAfterMetablock(s);\r
+\r
+  BROTLI_FREE(s, s->ringbuffer);\r
+  BROTLI_FREE(s, s->block_type_trees);\r
+}\r
+\r
+void BrotliDecoderHuffmanTreeGroupInit(BrotliDecoderState* s,\r
+    HuffmanTreeGroup* group, uint32_t alphabet_size, uint32_t ntrees) {\r
+  /* Pack two allocations into one */\r
+  const size_t max_table_size = kMaxHuffmanTableSize[(alphabet_size + 31) >> 5];\r
+  const size_t code_size = sizeof(HuffmanCode) * ntrees * max_table_size;\r
+  const size_t htree_size = sizeof(HuffmanCode*) * ntrees;\r
+  char* p = (char*)BROTLI_ALLOC(s, code_size + htree_size);\r
+  group->alphabet_size = (uint16_t)alphabet_size;\r
+  group->num_htrees = (uint16_t)ntrees;\r
+  group->codes = (HuffmanCode*)p;\r
+  group->htrees = (HuffmanCode**)(p + code_size);\r
+}\r
+\r
+void BrotliDecoderHuffmanTreeGroupRelease(\r
+    BrotliDecoderState* s, HuffmanTreeGroup* group) {\r
+  BROTLI_FREE(s, group->codes);\r
+  group->htrees = NULL;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/state.h b/BaseTools/Source/C/BrotliCompress/dec/state.h
new file mode 100644 (file)
index 0000000..22681cb
--- /dev/null
@@ -0,0 +1,246 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Brotli state for partial streaming decoding. */\r
+\r
+#ifndef BROTLI_DEC_STATE_H_\r
+#define BROTLI_DEC_STATE_H_\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./bit_reader.h"\r
+#include "./huffman.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef enum {\r
+  BROTLI_STATE_UNINITED,\r
+  BROTLI_STATE_METABLOCK_BEGIN,\r
+  BROTLI_STATE_METABLOCK_HEADER,\r
+  BROTLI_STATE_METABLOCK_HEADER_2,\r
+  BROTLI_STATE_CONTEXT_MODES,\r
+  BROTLI_STATE_COMMAND_BEGIN,\r
+  BROTLI_STATE_COMMAND_INNER,\r
+  BROTLI_STATE_COMMAND_POST_DECODE_LITERALS,\r
+  BROTLI_STATE_COMMAND_POST_WRAP_COPY,\r
+  BROTLI_STATE_UNCOMPRESSED,\r
+  BROTLI_STATE_METADATA,\r
+  BROTLI_STATE_COMMAND_INNER_WRITE,\r
+  BROTLI_STATE_METABLOCK_DONE,\r
+  BROTLI_STATE_COMMAND_POST_WRITE_1,\r
+  BROTLI_STATE_COMMAND_POST_WRITE_2,\r
+  BROTLI_STATE_HUFFMAN_CODE_0,\r
+  BROTLI_STATE_HUFFMAN_CODE_1,\r
+  BROTLI_STATE_HUFFMAN_CODE_2,\r
+  BROTLI_STATE_HUFFMAN_CODE_3,\r
+  BROTLI_STATE_CONTEXT_MAP_1,\r
+  BROTLI_STATE_CONTEXT_MAP_2,\r
+  BROTLI_STATE_TREE_GROUP,\r
+  BROTLI_STATE_DONE\r
+} BrotliRunningState;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_METABLOCK_HEADER_NONE,\r
+  BROTLI_STATE_METABLOCK_HEADER_EMPTY,\r
+  BROTLI_STATE_METABLOCK_HEADER_NIBBLES,\r
+  BROTLI_STATE_METABLOCK_HEADER_SIZE,\r
+  BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED,\r
+  BROTLI_STATE_METABLOCK_HEADER_RESERVED,\r
+  BROTLI_STATE_METABLOCK_HEADER_BYTES,\r
+  BROTLI_STATE_METABLOCK_HEADER_METADATA\r
+} BrotliRunningMetablockHeaderState;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_UNCOMPRESSED_NONE,\r
+  BROTLI_STATE_UNCOMPRESSED_WRITE\r
+} BrotliRunningUncompressedState;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_TREE_GROUP_NONE,\r
+  BROTLI_STATE_TREE_GROUP_LOOP\r
+} BrotliRunningTreeGroupState;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_CONTEXT_MAP_NONE,\r
+  BROTLI_STATE_CONTEXT_MAP_READ_PREFIX,\r
+  BROTLI_STATE_CONTEXT_MAP_HUFFMAN,\r
+  BROTLI_STATE_CONTEXT_MAP_DECODE,\r
+  BROTLI_STATE_CONTEXT_MAP_TRANSFORM\r
+} BrotliRunningContextMapState;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_HUFFMAN_NONE,\r
+  BROTLI_STATE_HUFFMAN_SIMPLE_SIZE,\r
+  BROTLI_STATE_HUFFMAN_SIMPLE_READ,\r
+  BROTLI_STATE_HUFFMAN_SIMPLE_BUILD,\r
+  BROTLI_STATE_HUFFMAN_COMPLEX,\r
+  BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS\r
+} BrotliRunningHuffmanState;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_DECODE_UINT8_NONE,\r
+  BROTLI_STATE_DECODE_UINT8_SHORT,\r
+  BROTLI_STATE_DECODE_UINT8_LONG\r
+} BrotliRunningDecodeUint8State;\r
+\r
+typedef enum {\r
+  BROTLI_STATE_READ_BLOCK_LENGTH_NONE,\r
+  BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX\r
+} BrotliRunningReadBlockLengthState;\r
+\r
+struct BrotliDecoderStateStruct {\r
+  BrotliRunningState state;\r
+\r
+  /* This counter is reused for several disjoint loops. */\r
+  int loop_counter;\r
+\r
+  BrotliBitReader br;\r
+\r
+  brotli_alloc_func alloc_func;\r
+  brotli_free_func free_func;\r
+  void* memory_manager_opaque;\r
+\r
+  /* Temporary storage for remaining input. */\r
+  union {\r
+    uint64_t u64;\r
+    uint8_t u8[8];\r
+  } buffer;\r
+  uint32_t buffer_length;\r
+\r
+  int pos;\r
+  int max_backward_distance;\r
+  int max_backward_distance_minus_custom_dict_size;\r
+  int max_distance;\r
+  int ringbuffer_size;\r
+  int ringbuffer_mask;\r
+  int dist_rb_idx;\r
+  int dist_rb[4];\r
+  int error_code;\r
+  uint32_t sub_loop_counter;\r
+  uint8_t* ringbuffer;\r
+  uint8_t* ringbuffer_end;\r
+  HuffmanCode* htree_command;\r
+  const uint8_t* context_lookup1;\r
+  const uint8_t* context_lookup2;\r
+  uint8_t* context_map_slice;\r
+  uint8_t* dist_context_map_slice;\r
+\r
+  /* This ring buffer holds a few past copy distances that will be used by */\r
+  /* some special distance codes. */\r
+  HuffmanTreeGroup literal_hgroup;\r
+  HuffmanTreeGroup insert_copy_hgroup;\r
+  HuffmanTreeGroup distance_hgroup;\r
+  HuffmanCode* block_type_trees;\r
+  HuffmanCode* block_len_trees;\r
+  /* This is true if the literal context map histogram type always matches the\r
+  block type. It is then not needed to keep the context (faster decoding). */\r
+  int trivial_literal_context;\r
+  int distance_context;\r
+  int meta_block_remaining_len;\r
+  uint32_t block_length_index;\r
+  uint32_t block_length[3];\r
+  uint32_t num_block_types[3];\r
+  uint32_t block_type_rb[6];\r
+  uint32_t distance_postfix_bits;\r
+  uint32_t num_direct_distance_codes;\r
+  int distance_postfix_mask;\r
+  uint32_t num_dist_htrees;\r
+  uint8_t* dist_context_map;\r
+  HuffmanCode* literal_htree;\r
+  uint8_t dist_htree_index;\r
+  uint32_t repeat_code_len;\r
+  uint32_t prev_code_len;\r
+\r
+  int copy_length;\r
+  int distance_code;\r
+\r
+  /* For partial write operations */\r
+  size_t rb_roundtrips;  /* How many times we went around the ringbuffer */\r
+  size_t partial_pos_out;  /* How much output to the user in total (<= rb) */\r
+\r
+  /* For ReadHuffmanCode */\r
+  uint32_t symbol;\r
+  uint32_t repeat;\r
+  uint32_t space;\r
+\r
+  HuffmanCode table[32];\r
+  /* List of of symbol chains. */\r
+  uint16_t* symbol_lists;\r
+  /* Storage from symbol_lists. */\r
+  uint16_t symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1 +\r
+                               BROTLI_NUM_COMMAND_SYMBOLS];\r
+  /* Tails of symbol chains. */\r
+  int next_symbol[32];\r
+  uint8_t code_length_code_lengths[BROTLI_CODE_LENGTH_CODES];\r
+  /* Population counts for the code lengths */\r
+  uint16_t code_length_histo[16];\r
+\r
+  /* For HuffmanTreeGroupDecode */\r
+  int htree_index;\r
+  HuffmanCode* next;\r
+\r
+  /* For DecodeContextMap */\r
+  uint32_t context_index;\r
+  uint32_t max_run_length_prefix;\r
+  uint32_t code;\r
+  HuffmanCode context_map_table[BROTLI_HUFFMAN_MAX_SIZE_272];\r
+\r
+  /* For InverseMoveToFrontTransform */\r
+  uint32_t mtf_upper_bound;\r
+  uint8_t mtf[256 + 4];\r
+\r
+  /* For custom dictionaries */\r
+  const uint8_t* custom_dict;\r
+  int custom_dict_size;\r
+\r
+  /* less used attributes are in the end of this struct */\r
+  /* States inside function calls */\r
+  BrotliRunningMetablockHeaderState substate_metablock_header;\r
+  BrotliRunningTreeGroupState substate_tree_group;\r
+  BrotliRunningContextMapState substate_context_map;\r
+  BrotliRunningUncompressedState substate_uncompressed;\r
+  BrotliRunningHuffmanState substate_huffman;\r
+  BrotliRunningDecodeUint8State substate_decode_uint8;\r
+  BrotliRunningReadBlockLengthState substate_read_block_length;\r
+\r
+  uint8_t is_last_metablock;\r
+  uint8_t is_uncompressed;\r
+  uint8_t is_metadata;\r
+  uint8_t size_nibbles;\r
+  uint32_t window_bits;\r
+\r
+  uint32_t num_literal_htrees;\r
+  uint8_t* context_map;\r
+  uint8_t* context_modes;\r
+\r
+  uint32_t trivial_literal_contexts[8];  /* 256 bits */\r
+};\r
+\r
+typedef struct BrotliDecoderStateStruct BrotliDecoderStateInternal;\r
+#define BrotliDecoderState BrotliDecoderStateInternal\r
+\r
+BROTLI_INTERNAL void BrotliDecoderStateInit(BrotliDecoderState* s);\r
+BROTLI_INTERNAL void BrotliDecoderStateInitWithCustomAllocators(\r
+    BrotliDecoderState* s, brotli_alloc_func alloc_func,\r
+    brotli_free_func free_func, void* opaque);\r
+BROTLI_INTERNAL void BrotliDecoderStateCleanup(BrotliDecoderState* s);\r
+BROTLI_INTERNAL void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s);\r
+BROTLI_INTERNAL void BrotliDecoderStateCleanupAfterMetablock(\r
+    BrotliDecoderState* s);\r
+BROTLI_INTERNAL void BrotliDecoderHuffmanTreeGroupInit(\r
+    BrotliDecoderState* s, HuffmanTreeGroup* group, uint32_t alphabet_size,\r
+    uint32_t ntrees);\r
+BROTLI_INTERNAL void BrotliDecoderHuffmanTreeGroupRelease(\r
+    BrotliDecoderState* s, HuffmanTreeGroup* group);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_DEC_STATE_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/dec/transform.h b/BaseTools/Source/C/BrotliCompress/dec/transform.h
new file mode 100644 (file)
index 0000000..9d6501a
--- /dev/null
@@ -0,0 +1,300 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Transformations on dictionary words. */\r
+\r
+#ifndef BROTLI_DEC_TRANSFORM_H_\r
+#define BROTLI_DEC_TRANSFORM_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+enum WordTransformType {\r
+  kIdentity = 0,\r
+  kOmitLast1 = 1,\r
+  kOmitLast2 = 2,\r
+  kOmitLast3 = 3,\r
+  kOmitLast4 = 4,\r
+  kOmitLast5 = 5,\r
+  kOmitLast6 = 6,\r
+  kOmitLast7 = 7,\r
+  kOmitLast8 = 8,\r
+  kOmitLast9 = 9,\r
+  kUppercaseFirst = 10,\r
+  kUppercaseAll = 11,\r
+  kOmitFirst1 = 12,\r
+  kOmitFirst2 = 13,\r
+  kOmitFirst3 = 14,\r
+  kOmitFirst4 = 15,\r
+  kOmitFirst5 = 16,\r
+  kOmitFirst6 = 17,\r
+  kOmitFirst7 = 18,\r
+  kOmitFirst8 = 19,\r
+  kOmitFirst9 = 20\r
+};\r
+\r
+typedef struct {\r
+  const uint8_t prefix_id;\r
+  const uint8_t transform;\r
+  const uint8_t suffix_id;\r
+} Transform;\r
+\r
+static const char kPrefixSuffix[208] =\r
+    "\0 \0, \0 of the \0 of \0s \0.\0 and \0 in \0\"\0 to \0\">\0\n\0. \0]\0"\r
+    " for \0 a \0 that \0\'\0 with \0 from \0 by \0(\0. The \0 on \0 as \0"\r
+    " is \0ing \0\n\t\0:\0ed \0=\"\0 at \0ly \0,\0=\'\0.com/\0. This \0"\r
+    " not \0er \0al \0ful \0ive \0less \0est \0ize \0\xc2\xa0\0ous ";\r
+\r
+enum {\r
+  /* EMPTY = ""\r
+     SP = " "\r
+     DQUOT = "\""\r
+     SQUOT = "'"\r
+     CLOSEBR = "]"\r
+     OPEN = "("\r
+     SLASH = "/"\r
+     NBSP = non-breaking space "\0xc2\xa0"\r
+  */\r
+  kPFix_EMPTY = 0,\r
+  kPFix_SP = 1,\r
+  kPFix_COMMASP = 3,\r
+  kPFix_SPofSPtheSP = 6,\r
+  kPFix_SPtheSP = 9,\r
+  kPFix_eSP = 12,\r
+  kPFix_SPofSP = 15,\r
+  kPFix_sSP = 20,\r
+  kPFix_DOT = 23,\r
+  kPFix_SPandSP = 25,\r
+  kPFix_SPinSP = 31,\r
+  kPFix_DQUOT = 36,\r
+  kPFix_SPtoSP = 38,\r
+  kPFix_DQUOTGT = 43,\r
+  kPFix_NEWLINE = 46,\r
+  kPFix_DOTSP = 48,\r
+  kPFix_CLOSEBR = 51,\r
+  kPFix_SPforSP = 53,\r
+  kPFix_SPaSP = 59,\r
+  kPFix_SPthatSP = 63,\r
+  kPFix_SQUOT = 70,\r
+  kPFix_SPwithSP = 72,\r
+  kPFix_SPfromSP = 79,\r
+  kPFix_SPbySP = 86,\r
+  kPFix_OPEN = 91,\r
+  kPFix_DOTSPTheSP = 93,\r
+  kPFix_SPonSP = 100,\r
+  kPFix_SPasSP = 105,\r
+  kPFix_SPisSP = 110,\r
+  kPFix_ingSP = 115,\r
+  kPFix_NEWLINETAB = 120,\r
+  kPFix_COLON = 123,\r
+  kPFix_edSP = 125,\r
+  kPFix_EQDQUOT = 129,\r
+  kPFix_SPatSP = 132,\r
+  kPFix_lySP = 137,\r
+  kPFix_COMMA = 141,\r
+  kPFix_EQSQUOT = 143,\r
+  kPFix_DOTcomSLASH = 146,\r
+  kPFix_DOTSPThisSP = 152,\r
+  kPFix_SPnotSP = 160,\r
+  kPFix_erSP = 166,\r
+  kPFix_alSP = 170,\r
+  kPFix_fulSP = 174,\r
+  kPFix_iveSP = 179,\r
+  kPFix_lessSP = 184,\r
+  kPFix_estSP = 190,\r
+  kPFix_izeSP = 195,\r
+  kPFix_NBSP = 200,\r
+  kPFix_ousSP = 203\r
+};\r
+\r
+static const Transform kTransforms[] = {\r
+  { kPFix_EMPTY, kIdentity, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SP },\r
+  { kPFix_SP, kIdentity, kPFix_SP },\r
+  { kPFix_EMPTY, kOmitFirst1, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_SP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPtheSP },\r
+  { kPFix_SP, kIdentity, kPFix_EMPTY },\r
+  { kPFix_sSP, kIdentity, kPFix_SP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPofSP },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPandSP },\r
+  { kPFix_EMPTY, kOmitFirst2, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitLast1, kPFix_EMPTY },\r
+  { kPFix_COMMASP, kIdentity, kPFix_SP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_COMMASP },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_SP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPinSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPtoSP },\r
+  { kPFix_eSP, kIdentity, kPFix_SP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_DQUOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_DOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_DQUOTGT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_NEWLINE },\r
+  { kPFix_EMPTY, kOmitLast3, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_CLOSEBR },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPforSP },\r
+  { kPFix_EMPTY, kOmitFirst3, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitLast2, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPaSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPthatSP },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_DOTSP },\r
+  { kPFix_DOT, kIdentity, kPFix_EMPTY },\r
+  { kPFix_SP, kIdentity, kPFix_COMMASP },\r
+  { kPFix_EMPTY, kOmitFirst4, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPwithSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SQUOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPfromSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPbySP },\r
+  { kPFix_EMPTY, kOmitFirst5, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitFirst6, kPFix_EMPTY },\r
+  { kPFix_SPtheSP, kIdentity, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitLast4, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_DOTSPTheSP },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPonSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPasSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPisSP },\r
+  { kPFix_EMPTY, kOmitLast7, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitLast1, kPFix_ingSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_NEWLINETAB },\r
+  { kPFix_EMPTY, kIdentity, kPFix_COLON },\r
+  { kPFix_SP, kIdentity, kPFix_DOTSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_edSP },\r
+  { kPFix_EMPTY, kOmitFirst9, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitFirst7, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitLast6, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_OPEN },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_COMMASP },\r
+  { kPFix_EMPTY, kOmitLast8, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPatSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_lySP },\r
+  { kPFix_SPtheSP, kIdentity, kPFix_SPofSP },\r
+  { kPFix_EMPTY, kOmitLast5, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kOmitLast9, kPFix_EMPTY },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_COMMASP },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_DQUOT },\r
+  { kPFix_DOT, kIdentity, kPFix_OPEN },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_SP },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_DQUOTGT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_EQDQUOT },\r
+  { kPFix_SP, kIdentity, kPFix_DOT },\r
+  { kPFix_DOTcomSLASH, kIdentity, kPFix_EMPTY },\r
+  { kPFix_SPtheSP, kIdentity, kPFix_SPofSPtheSP },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_SQUOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_DOTSPThisSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_COMMA },\r
+  { kPFix_DOT, kIdentity, kPFix_SP },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_OPEN },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_DOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_SPnotSP },\r
+  { kPFix_SP, kIdentity, kPFix_EQDQUOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_erSP },\r
+  { kPFix_SP, kUppercaseAll, kPFix_SP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_alSP },\r
+  { kPFix_SP, kUppercaseAll, kPFix_EMPTY },\r
+  { kPFix_EMPTY, kIdentity, kPFix_EQSQUOT },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_DQUOT },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_DOTSP },\r
+  { kPFix_SP, kIdentity, kPFix_OPEN },\r
+  { kPFix_EMPTY, kIdentity, kPFix_fulSP },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_DOTSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_iveSP },\r
+  { kPFix_EMPTY, kIdentity, kPFix_lessSP },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_SQUOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_estSP },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_DOT },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_DQUOTGT },\r
+  { kPFix_SP, kIdentity, kPFix_EQSQUOT },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_COMMA },\r
+  { kPFix_EMPTY, kIdentity, kPFix_izeSP },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_DOT },\r
+  { kPFix_NBSP, kIdentity, kPFix_EMPTY },\r
+  { kPFix_SP, kIdentity, kPFix_COMMA },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_EQDQUOT },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_EQDQUOT },\r
+  { kPFix_EMPTY, kIdentity, kPFix_ousSP },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_COMMASP },\r
+  { kPFix_EMPTY, kUppercaseFirst, kPFix_EQSQUOT },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_COMMA },\r
+  { kPFix_SP, kUppercaseAll, kPFix_EQDQUOT },\r
+  { kPFix_SP, kUppercaseAll, kPFix_COMMASP },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_COMMA },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_OPEN },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_DOTSP },\r
+  { kPFix_SP, kUppercaseAll, kPFix_DOT },\r
+  { kPFix_EMPTY, kUppercaseAll, kPFix_EQSQUOT },\r
+  { kPFix_SP, kUppercaseAll, kPFix_DOTSP },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_EQDQUOT },\r
+  { kPFix_SP, kUppercaseAll, kPFix_EQSQUOT },\r
+  { kPFix_SP, kUppercaseFirst, kPFix_EQSQUOT },\r
+};\r
+\r
+static const int kNumTransforms = sizeof(kTransforms) / sizeof(kTransforms[0]);\r
+\r
+static int ToUpperCase(uint8_t* p) {\r
+  if (p[0] < 0xc0) {\r
+    if (p[0] >= 'a' && p[0] <= 'z') {\r
+      p[0] ^= 32;\r
+    }\r
+    return 1;\r
+  }\r
+  /* An overly simplified uppercasing model for utf-8. */\r
+  if (p[0] < 0xe0) {\r
+    p[1] ^= 32;\r
+    return 2;\r
+  }\r
+  /* An arbitrary transform for three byte characters. */\r
+  p[2] ^= 5;\r
+  return 3;\r
+}\r
+\r
+static BROTLI_NOINLINE int TransformDictionaryWord(\r
+    uint8_t* dst, const uint8_t* word, int len, int transform) {\r
+  int idx = 0;\r
+  {\r
+    const char* prefix = &kPrefixSuffix[kTransforms[transform].prefix_id];\r
+    while (*prefix) { dst[idx++] = (uint8_t)*prefix++; }\r
+  }\r
+  {\r
+    const int t = kTransforms[transform].transform;\r
+    int i = 0;\r
+    int skip = t - (kOmitFirst1 - 1);\r
+    if (skip > 0) {\r
+      word += skip;\r
+      len -= skip;\r
+    } else if (t <= kOmitLast9) {\r
+      len -= t;\r
+    }\r
+    while (i < len) { dst[idx++] = word[i++]; }\r
+    if (t == kUppercaseFirst) {\r
+      ToUpperCase(&dst[idx - len]);\r
+    } else if (t == kUppercaseAll) {\r
+      uint8_t* uppercase = &dst[idx - len];\r
+      while (len > 0) {\r
+        int step = ToUpperCase(uppercase);\r
+        uppercase += step;\r
+        len -= step;\r
+      }\r
+    }\r
+  }\r
+  {\r
+    const char* suffix = &kPrefixSuffix[kTransforms[transform].suffix_id];\r
+    while (*suffix) { dst[idx++] = (uint8_t)*suffix++; }\r
+    return idx;\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_DEC_TRANSFORM_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf b/BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf
new file mode 100644 (file)
index 0000000..040f179
Binary files /dev/null and b/BaseTools/Source/C/BrotliCompress/docs/brotli-comparison-study-2015-09-22.pdf differ
diff --git a/BaseTools/Source/C/BrotliCompress/enc/backward_references.c b/BaseTools/Source/C/BrotliCompress/enc/backward_references.c
new file mode 100644 (file)
index 0000000..82e2930
--- /dev/null
@@ -0,0 +1,892 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function to find backward reference copies. */\r
+\r
+#include "./backward_references.h"\r
+\r
+#include <math.h>  /* INFINITY */\r
+#include <string.h>  /* memcpy, memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./command.h"\r
+#include "./fast_log.h"\r
+#include "./find_match_length.h"\r
+#include "./literal_cost.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./prefix.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#ifdef INFINITY\r
+static const float kInfinity = INFINITY;\r
+#else\r
+static const float kInfinity = 3.4028e38f;\r
+#endif\r
+\r
+void BrotliInitZopfliNodes(ZopfliNode* array, size_t length) {\r
+  ZopfliNode stub;\r
+  size_t i;\r
+  stub.length = 1;\r
+  stub.distance = 0;\r
+  stub.insert_length = 0;\r
+  stub.u.cost = kInfinity;\r
+  for (i = 0; i < length; ++i) array[i] = stub;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t ZopfliNodeCopyLength(const ZopfliNode* self) {\r
+  return self->length & 0xffffff;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t ZopfliNodeLengthCode(const ZopfliNode* self) {\r
+  const uint32_t modifier = self->length >> 24;\r
+  return ZopfliNodeCopyLength(self) + 9u - modifier;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t ZopfliNodeCopyDistance(const ZopfliNode* self) {\r
+  return self->distance & 0x1ffffff;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t ZopfliNodeDistanceCode(const ZopfliNode* self) {\r
+  const uint32_t short_code = self->distance >> 25;\r
+  return short_code == 0 ? ZopfliNodeCopyDistance(self) + 15 : short_code - 1;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t ZopfliNodeCommandLength(const ZopfliNode* self) {\r
+  return ZopfliNodeCopyLength(self) + self->insert_length;\r
+}\r
+\r
+/* Histogram based cost model for zopflification. */\r
+typedef struct ZopfliCostModel {\r
+  /* The insert and copy length symbols. */\r
+  float cost_cmd_[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  float cost_dist_[BROTLI_NUM_DISTANCE_SYMBOLS];\r
+  /* Cumulative costs of literals per position in the stream. */\r
+  float* literal_costs_;\r
+  float min_cost_cmd_;\r
+  size_t num_bytes_;\r
+} ZopfliCostModel;\r
+\r
+static void InitZopfliCostModel(\r
+    MemoryManager* m, ZopfliCostModel* self, size_t num_bytes) {\r
+  self->num_bytes_ = num_bytes;\r
+  self->literal_costs_ = BROTLI_ALLOC(m, float, num_bytes + 2);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+}\r
+\r
+static void CleanupZopfliCostModel(MemoryManager* m, ZopfliCostModel* self) {\r
+  BROTLI_FREE(m, self->literal_costs_);\r
+}\r
+\r
+static void SetCost(const uint32_t* histogram, size_t histogram_size,\r
+                    float* cost) {\r
+  size_t sum = 0;\r
+  float log2sum;\r
+  size_t i;\r
+  for (i = 0; i < histogram_size; i++) {\r
+    sum += histogram[i];\r
+  }\r
+  log2sum = (float)FastLog2(sum);\r
+  for (i = 0; i < histogram_size; i++) {\r
+    if (histogram[i] == 0) {\r
+      cost[i] = log2sum + 2;\r
+      continue;\r
+    }\r
+\r
+    /* Shannon bits for this symbol. */\r
+    cost[i] = log2sum - (float)FastLog2(histogram[i]);\r
+\r
+    /* Cannot be coded with less than 1 bit */\r
+    if (cost[i] < 1) cost[i] = 1;\r
+  }\r
+}\r
+\r
+static void ZopfliCostModelSetFromCommands(ZopfliCostModel* self,\r
+                                           size_t position,\r
+                                           const uint8_t* ringbuffer,\r
+                                           size_t ringbuffer_mask,\r
+                                           const Command* commands,\r
+                                           size_t num_commands,\r
+                                           size_t last_insert_len) {\r
+  uint32_t histogram_literal[BROTLI_NUM_LITERAL_SYMBOLS];\r
+  uint32_t histogram_cmd[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  uint32_t histogram_dist[BROTLI_NUM_DISTANCE_SYMBOLS];\r
+  float cost_literal[BROTLI_NUM_LITERAL_SYMBOLS];\r
+  size_t pos = position - last_insert_len;\r
+  float min_cost_cmd = kInfinity;\r
+  size_t i;\r
+  float* cost_cmd = self->cost_cmd_;\r
+\r
+  memset(histogram_literal, 0, sizeof(histogram_literal));\r
+  memset(histogram_cmd, 0, sizeof(histogram_cmd));\r
+  memset(histogram_dist, 0, sizeof(histogram_dist));\r
+\r
+  for (i = 0; i < num_commands; i++) {\r
+    size_t inslength = commands[i].insert_len_;\r
+    size_t copylength = CommandCopyLen(&commands[i]);\r
+    size_t distcode = commands[i].dist_prefix_;\r
+    size_t cmdcode = commands[i].cmd_prefix_;\r
+    size_t j;\r
+\r
+    histogram_cmd[cmdcode]++;\r
+    if (cmdcode >= 128) histogram_dist[distcode]++;\r
+\r
+    for (j = 0; j < inslength; j++) {\r
+      histogram_literal[ringbuffer[(pos + j) & ringbuffer_mask]]++;\r
+    }\r
+\r
+    pos += inslength + copylength;\r
+  }\r
+\r
+  SetCost(histogram_literal, BROTLI_NUM_LITERAL_SYMBOLS, cost_literal);\r
+  SetCost(histogram_cmd, BROTLI_NUM_COMMAND_SYMBOLS, cost_cmd);\r
+  SetCost(histogram_dist, BROTLI_NUM_DISTANCE_SYMBOLS, self->cost_dist_);\r
+\r
+  for (i = 0; i < BROTLI_NUM_COMMAND_SYMBOLS; ++i) {\r
+    min_cost_cmd = BROTLI_MIN(float, min_cost_cmd, cost_cmd[i]);\r
+  }\r
+  self->min_cost_cmd_ = min_cost_cmd;\r
+\r
+  {\r
+    float* literal_costs = self->literal_costs_;\r
+    size_t num_bytes = self->num_bytes_;\r
+    literal_costs[0] = 0.0;\r
+    for (i = 0; i < num_bytes; ++i) {\r
+      literal_costs[i + 1] = literal_costs[i] +\r
+          cost_literal[ringbuffer[(position + i) & ringbuffer_mask]];\r
+    }\r
+  }\r
+}\r
+\r
+static void ZopfliCostModelSetFromLiteralCosts(ZopfliCostModel* self,\r
+                                               size_t position,\r
+                                               const uint8_t* ringbuffer,\r
+                                               size_t ringbuffer_mask) {\r
+  float* literal_costs = self->literal_costs_;\r
+  float* cost_dist = self->cost_dist_;\r
+  float* cost_cmd = self->cost_cmd_;\r
+  size_t num_bytes = self->num_bytes_;\r
+  size_t i;\r
+  BrotliEstimateBitCostsForLiterals(position, num_bytes, ringbuffer_mask,\r
+                                    ringbuffer, &literal_costs[1]);\r
+  literal_costs[0] = 0.0;\r
+  for (i = 0; i < num_bytes; ++i) {\r
+    literal_costs[i + 1] += literal_costs[i];\r
+  }\r
+  for (i = 0; i < BROTLI_NUM_COMMAND_SYMBOLS; ++i) {\r
+    cost_cmd[i] = (float)FastLog2(11 + (uint32_t)i);\r
+  }\r
+  for (i = 0; i < BROTLI_NUM_DISTANCE_SYMBOLS; ++i) {\r
+    cost_dist[i] = (float)FastLog2(20 + (uint32_t)i);\r
+  }\r
+  self->min_cost_cmd_ = (float)FastLog2(11);\r
+}\r
+\r
+static BROTLI_INLINE float ZopfliCostModelGetCommandCost(\r
+    const ZopfliCostModel* self, uint16_t cmdcode) {\r
+  return self->cost_cmd_[cmdcode];\r
+}\r
+\r
+static BROTLI_INLINE float ZopfliCostModelGetDistanceCost(\r
+    const ZopfliCostModel* self, size_t distcode) {\r
+  return self->cost_dist_[distcode];\r
+}\r
+\r
+static BROTLI_INLINE float ZopfliCostModelGetLiteralCosts(\r
+    const ZopfliCostModel* self, size_t from, size_t to) {\r
+  return self->literal_costs_[to] - self->literal_costs_[from];\r
+}\r
+\r
+static BROTLI_INLINE float ZopfliCostModelGetMinCostCmd(\r
+    const ZopfliCostModel* self) {\r
+  return self->min_cost_cmd_;\r
+}\r
+\r
+static BROTLI_INLINE size_t ComputeDistanceCode(size_t distance,\r
+                                                size_t max_distance,\r
+                                                const int* dist_cache) {\r
+  if (distance <= max_distance) {\r
+    size_t distance_plus_3 = distance + 3;\r
+    size_t offset0 = distance_plus_3 - (size_t)dist_cache[0];\r
+    size_t offset1 = distance_plus_3 - (size_t)dist_cache[1];\r
+    if (distance == (size_t)dist_cache[0]) {\r
+      return 0;\r
+    } else if (distance == (size_t)dist_cache[1]) {\r
+      return 1;\r
+    } else if (offset0 < 7) {\r
+      return (0x9750468 >> (4 * offset0)) & 0xF;\r
+    } else if (offset1 < 7) {\r
+      return (0xFDB1ACE >> (4 * offset1)) & 0xF;\r
+    } else if (distance == (size_t)dist_cache[2]) {\r
+      return 2;\r
+    } else if (distance == (size_t)dist_cache[3]) {\r
+      return 3;\r
+    }\r
+  }\r
+  return distance + 15;\r
+}\r
+\r
+/* REQUIRES: len >= 2, start_pos <= pos */\r
+/* REQUIRES: cost < kInfinity, nodes[start_pos].cost < kInfinity */\r
+/* Maintains the "ZopfliNode array invariant". */\r
+static BROTLI_INLINE void UpdateZopfliNode(ZopfliNode* nodes, size_t pos,\r
+    size_t start_pos, size_t len, size_t len_code, size_t dist,\r
+    size_t short_code, float cost) {\r
+  ZopfliNode* next = &nodes[pos + len];\r
+  next->length = (uint32_t)(len | ((len + 9u - len_code) << 24));\r
+  next->distance = (uint32_t)(dist | (short_code << 25));\r
+  next->insert_length = (uint32_t)(pos - start_pos);\r
+  next->u.cost = cost;\r
+}\r
+\r
+typedef struct PosData {\r
+  size_t pos;\r
+  int distance_cache[4];\r
+  float costdiff;\r
+  float cost;\r
+} PosData;\r
+\r
+/* Maintains the smallest 8 cost difference together with their positions */\r
+typedef struct StartPosQueue {\r
+  PosData q_[8];\r
+  size_t idx_;\r
+} StartPosQueue;\r
+\r
+static BROTLI_INLINE void InitStartPosQueue(StartPosQueue* self) {\r
+  self->idx_ = 0;\r
+}\r
+\r
+static size_t StartPosQueueSize(const StartPosQueue* self) {\r
+  return BROTLI_MIN(size_t, self->idx_, 8);\r
+}\r
+\r
+static void StartPosQueuePush(StartPosQueue* self, const PosData* posdata) {\r
+  size_t offset = ~(self->idx_++) & 7;\r
+  size_t len = StartPosQueueSize(self);\r
+  size_t i;\r
+  PosData* q = self->q_;\r
+  q[offset] = *posdata;\r
+  /* Restore the sorted order. In the list of |len| items at most |len - 1|\r
+     adjacent element comparisons / swaps are required. */\r
+  for (i = 1; i < len; ++i) {\r
+    if (q[offset & 7].costdiff > q[(offset + 1) & 7].costdiff) {\r
+      BROTLI_SWAP(PosData, q, offset & 7, (offset + 1) & 7);\r
+    }\r
+    ++offset;\r
+  }\r
+}\r
+\r
+static const PosData* StartPosQueueAt(const StartPosQueue* self, size_t k) {\r
+  return &self->q_[(k - self->idx_) & 7];\r
+}\r
+\r
+/* Returns the minimum possible copy length that can improve the cost of any */\r
+/* future position. */\r
+static size_t ComputeMinimumCopyLength(const float start_cost,\r
+                                       const ZopfliNode* nodes,\r
+                                       const size_t num_bytes,\r
+                                       const size_t pos) {\r
+  /* Compute the minimum possible cost of reaching any future position. */\r
+  float min_cost = start_cost;\r
+  size_t len = 2;\r
+  size_t next_len_bucket = 4;\r
+  size_t next_len_offset = 10;\r
+  while (pos + len <= num_bytes && nodes[pos + len].u.cost <= min_cost) {\r
+    /* We already reached (pos + len) with no more cost than the minimum\r
+       possible cost of reaching anything from this pos, so there is no point in\r
+       looking for lengths <= len. */\r
+    ++len;\r
+    if (len == next_len_offset) {\r
+      /* We reached the next copy length code bucket, so we add one more\r
+         extra bit to the minimum cost. */\r
+      min_cost += 1.0f;\r
+      next_len_offset += next_len_bucket;\r
+      next_len_bucket *= 2;\r
+    }\r
+  }\r
+  return len;\r
+}\r
+\r
+/* REQUIRES: nodes[pos].cost < kInfinity\r
+   REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */\r
+static uint32_t ComputeDistanceShortcut(const size_t block_start,\r
+                                        const size_t pos,\r
+                                        const size_t max_backward,\r
+                                        const ZopfliNode* nodes) {\r
+  const size_t clen = ZopfliNodeCopyLength(&nodes[pos]);\r
+  const size_t ilen = nodes[pos].insert_length;\r
+  const size_t dist = ZopfliNodeCopyDistance(&nodes[pos]);\r
+  /* Since |block_start + pos| is the end position of the command, the copy part\r
+     starts from |block_start + pos - clen|. Distances that are greater than\r
+     this or greater than |max_backward| are static dictionary references, and\r
+     do not update the last distances. Also distance code 0 (last distance)\r
+     does not update the last distances. */\r
+  if (pos == 0) {\r
+    return 0;\r
+  } else if (dist + clen <= block_start + pos &&\r
+             dist <= max_backward &&\r
+             ZopfliNodeDistanceCode(&nodes[pos]) > 0) {\r
+    return (uint32_t)pos;\r
+  } else {\r
+    return nodes[pos - clen - ilen].u.shortcut;\r
+  }\r
+}\r
+\r
+/* Fills in dist_cache[0..3] with the last four distances (as defined by\r
+   Section 4. of the Spec) that would be used at (block_start + pos) if we\r
+   used the shortest path of commands from block_start, computed from\r
+   nodes[0..pos]. The last four distances at block_start are in\r
+   starting_dist_cach[0..3].\r
+   REQUIRES: nodes[pos].cost < kInfinity\r
+   REQUIRES: nodes[0..pos] satisfies that "ZopfliNode array invariant". */\r
+static void ComputeDistanceCache(const size_t pos,\r
+                                 const int* starting_dist_cache,\r
+                                 const ZopfliNode* nodes,\r
+                                 int* dist_cache) {\r
+  int idx = 0;\r
+  size_t p = nodes[pos].u.shortcut;\r
+  while (idx < 4 && p > 0) {\r
+    const size_t ilen = nodes[p].insert_length;\r
+    const size_t clen = ZopfliNodeCopyLength(&nodes[p]);\r
+    const size_t dist = ZopfliNodeCopyDistance(&nodes[p]);\r
+    dist_cache[idx++] = (int)dist;\r
+    /* Because of prerequisite, p >= clen + ilen >= 2. */\r
+    p = nodes[p - clen - ilen].u.shortcut;\r
+  }\r
+  for (; idx < 4; ++idx) {\r
+    dist_cache[idx] = *starting_dist_cache++;\r
+  }\r
+}\r
+\r
+static void UpdateNodes(const size_t num_bytes,\r
+                        const size_t block_start,\r
+                        const size_t pos,\r
+                        const uint8_t* ringbuffer,\r
+                        const size_t ringbuffer_mask,\r
+                        const BrotliEncoderParams* params,\r
+                        const size_t max_backward_limit,\r
+                        const int* starting_dist_cache,\r
+                        const size_t num_matches,\r
+                        const BackwardMatch* matches,\r
+                        const ZopfliCostModel* model,\r
+                        StartPosQueue* queue,\r
+                        ZopfliNode* nodes) {\r
+  const size_t cur_ix = block_start + pos;\r
+  const size_t cur_ix_masked = cur_ix & ringbuffer_mask;\r
+  const size_t max_distance = BROTLI_MIN(size_t, cur_ix, max_backward_limit);\r
+  const size_t max_len = num_bytes - pos;\r
+  const size_t max_zopfli_len = MaxZopfliLen(params);\r
+  const size_t max_iters = MaxZopfliCandidates(params);\r
+  size_t min_len;\r
+  size_t k;\r
+\r
+  {\r
+    /* Save cost, because ComputeDistanceCache invalidates it. */\r
+    float node_cost = nodes[pos].u.cost;\r
+    nodes[pos].u.shortcut = ComputeDistanceShortcut(\r
+        block_start, pos, max_backward_limit, nodes);\r
+    if (node_cost <= ZopfliCostModelGetLiteralCosts(model, 0, pos)) {\r
+      PosData posdata;\r
+      posdata.pos = pos;\r
+      posdata.cost = node_cost;\r
+      posdata.costdiff = node_cost -\r
+        ZopfliCostModelGetLiteralCosts(model, 0, pos);\r
+      ComputeDistanceCache(\r
+          pos, starting_dist_cache, nodes, posdata.distance_cache);\r
+      StartPosQueuePush(queue, &posdata);\r
+    }\r
+  }\r
+\r
+  {\r
+    const PosData* posdata = StartPosQueueAt(queue, 0);\r
+    float min_cost = (posdata->cost + ZopfliCostModelGetMinCostCmd(model) +\r
+        ZopfliCostModelGetLiteralCosts(model, posdata->pos, pos));\r
+    min_len = ComputeMinimumCopyLength(min_cost, nodes, num_bytes, pos);\r
+  }\r
+\r
+  /* Go over the command starting positions in order of increasing cost\r
+     difference. */\r
+  for (k = 0; k < max_iters && k < StartPosQueueSize(queue); ++k) {\r
+    const PosData* posdata = StartPosQueueAt(queue, k);\r
+    const size_t start = posdata->pos;\r
+    const uint16_t inscode = GetInsertLengthCode(pos - start);\r
+    const float start_costdiff = posdata->costdiff;\r
+    const float base_cost = start_costdiff + (float)GetInsertExtra(inscode) +\r
+        ZopfliCostModelGetLiteralCosts(model, 0, pos);\r
+\r
+    /* Look for last distance matches using the distance cache from this\r
+       starting position. */\r
+    size_t best_len = min_len - 1;\r
+    size_t j = 0;\r
+    for (; j < BROTLI_NUM_DISTANCE_SHORT_CODES && best_len < max_len; ++j) {\r
+      const size_t idx = kDistanceCacheIndex[j];\r
+      const size_t backward =\r
+          (size_t)(posdata->distance_cache[idx] + kDistanceCacheOffset[j]);\r
+      size_t prev_ix = cur_ix - backward;\r
+      if (prev_ix >= cur_ix) {\r
+        continue;\r
+      }\r
+      if (PREDICT_FALSE(backward > max_distance)) {\r
+        continue;\r
+      }\r
+      prev_ix &= ringbuffer_mask;\r
+\r
+      if (cur_ix_masked + best_len > ringbuffer_mask ||\r
+          prev_ix + best_len > ringbuffer_mask ||\r
+          ringbuffer[cur_ix_masked + best_len] !=\r
+              ringbuffer[prev_ix + best_len]) {\r
+        continue;\r
+      }\r
+      {\r
+        const size_t len =\r
+            FindMatchLengthWithLimit(&ringbuffer[prev_ix],\r
+                                     &ringbuffer[cur_ix_masked],\r
+                                     max_len);\r
+        const float dist_cost = base_cost +\r
+            ZopfliCostModelGetDistanceCost(model, j);\r
+        size_t l;\r
+        for (l = best_len + 1; l <= len; ++l) {\r
+          const uint16_t copycode = GetCopyLengthCode(l);\r
+          const uint16_t cmdcode =\r
+              CombineLengthCodes(inscode, copycode, j == 0);\r
+          const float cost = (cmdcode < 128 ? base_cost : dist_cost) +\r
+              (float)GetCopyExtra(copycode) +\r
+              ZopfliCostModelGetCommandCost(model, cmdcode);\r
+          if (cost < nodes[pos + l].u.cost) {\r
+            UpdateZopfliNode(nodes, pos, start, l, l, backward, j + 1, cost);\r
+          }\r
+          best_len = l;\r
+        }\r
+      }\r
+    }\r
+\r
+    /* At higher iterations look only for new last distance matches, since\r
+       looking only for new command start positions with the same distances\r
+       does not help much. */\r
+    if (k >= 2) continue;\r
+\r
+    {\r
+      /* Loop through all possible copy lengths at this position. */\r
+      size_t len = min_len;\r
+      for (j = 0; j < num_matches; ++j) {\r
+        BackwardMatch match = matches[j];\r
+        size_t dist = match.distance;\r
+        BROTLI_BOOL is_dictionary_match = TO_BROTLI_BOOL(dist > max_distance);\r
+        /* We already tried all possible last distance matches, so we can use\r
+           normal distance code here. */\r
+        size_t dist_code = dist + 15;\r
+        uint16_t dist_symbol;\r
+        uint32_t distextra;\r
+        uint32_t distnumextra;\r
+        float dist_cost;\r
+        size_t max_match_len;\r
+        PrefixEncodeCopyDistance(dist_code, 0, 0, &dist_symbol, &distextra);\r
+        distnumextra = distextra >> 24;\r
+        dist_cost = base_cost + (float)distnumextra +\r
+            ZopfliCostModelGetDistanceCost(model, dist_symbol);\r
+\r
+        /* Try all copy lengths up until the maximum copy length corresponding\r
+           to this distance. If the distance refers to the static dictionary, or\r
+           the maximum length is long enough, try only one maximum length. */\r
+        max_match_len = BackwardMatchLength(&match);\r
+        if (len < max_match_len &&\r
+            (is_dictionary_match || max_match_len > max_zopfli_len)) {\r
+          len = max_match_len;\r
+        }\r
+        for (; len <= max_match_len; ++len) {\r
+          const size_t len_code =\r
+              is_dictionary_match ? BackwardMatchLengthCode(&match) : len;\r
+          const uint16_t copycode = GetCopyLengthCode(len_code);\r
+          const uint16_t cmdcode = CombineLengthCodes(inscode, copycode, 0);\r
+          const float cost = dist_cost + (float)GetCopyExtra(copycode) +\r
+              ZopfliCostModelGetCommandCost(model, cmdcode);\r
+          if (cost < nodes[pos + len].u.cost) {\r
+            UpdateZopfliNode(nodes, pos, start, len, len_code, dist, 0, cost);\r
+          }\r
+        }\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+static size_t ComputeShortestPathFromNodes(size_t num_bytes,\r
+    ZopfliNode* nodes) {\r
+  size_t index = num_bytes;\r
+  size_t num_commands = 0;\r
+  while (nodes[index].insert_length == 0 && nodes[index].length == 1) --index;\r
+  nodes[index].u.next = BROTLI_UINT32_MAX;\r
+  while (index != 0) {\r
+    size_t len = ZopfliNodeCommandLength(&nodes[index]);\r
+    index -= len;\r
+    nodes[index].u.next = (uint32_t)len;\r
+    num_commands++;\r
+  }\r
+  return num_commands;\r
+}\r
+\r
+void BrotliZopfliCreateCommands(const size_t num_bytes,\r
+                                const size_t block_start,\r
+                                const size_t max_backward_limit,\r
+                                const ZopfliNode* nodes,\r
+                                int* dist_cache,\r
+                                size_t* last_insert_len,\r
+                                Command* commands,\r
+                                size_t* num_literals) {\r
+  size_t pos = 0;\r
+  uint32_t offset = nodes[0].u.next;\r
+  size_t i;\r
+  for (i = 0; offset != BROTLI_UINT32_MAX; i++) {\r
+    const ZopfliNode* next = &nodes[pos + offset];\r
+    size_t copy_length = ZopfliNodeCopyLength(next);\r
+    size_t insert_length = next->insert_length;\r
+    pos += insert_length;\r
+    offset = next->u.next;\r
+    if (i == 0) {\r
+      insert_length += *last_insert_len;\r
+      *last_insert_len = 0;\r
+    }\r
+    {\r
+      size_t distance = ZopfliNodeCopyDistance(next);\r
+      size_t len_code = ZopfliNodeLengthCode(next);\r
+      size_t max_distance =\r
+          BROTLI_MIN(size_t, block_start + pos, max_backward_limit);\r
+      BROTLI_BOOL is_dictionary = TO_BROTLI_BOOL(distance > max_distance);\r
+      size_t dist_code = ZopfliNodeDistanceCode(next);\r
+\r
+      InitCommand(\r
+          &commands[i], insert_length, copy_length, len_code, dist_code);\r
+\r
+      if (!is_dictionary && dist_code > 0) {\r
+        dist_cache[3] = dist_cache[2];\r
+        dist_cache[2] = dist_cache[1];\r
+        dist_cache[1] = dist_cache[0];\r
+        dist_cache[0] = (int)distance;\r
+      }\r
+    }\r
+\r
+    *num_literals += insert_length;\r
+    pos += copy_length;\r
+  }\r
+  *last_insert_len += num_bytes - pos;\r
+}\r
+\r
+static size_t ZopfliIterate(size_t num_bytes,\r
+                            size_t position,\r
+                            const uint8_t* ringbuffer,\r
+                            size_t ringbuffer_mask,\r
+                            const BrotliEncoderParams* params,\r
+                            const size_t max_backward_limit,\r
+                            const int* dist_cache,\r
+                            const ZopfliCostModel* model,\r
+                            const uint32_t* num_matches,\r
+                            const BackwardMatch* matches,\r
+                            ZopfliNode* nodes) {\r
+  const size_t max_zopfli_len = MaxZopfliLen(params);\r
+  StartPosQueue queue;\r
+  size_t cur_match_pos = 0;\r
+  size_t i;\r
+  nodes[0].length = 0;\r
+  nodes[0].u.cost = 0;\r
+  InitStartPosQueue(&queue);\r
+  for (i = 0; i + 3 < num_bytes; i++) {\r
+    UpdateNodes(num_bytes, position, i, ringbuffer, ringbuffer_mask,\r
+                params, max_backward_limit, dist_cache, num_matches[i],\r
+                &matches[cur_match_pos], model, &queue, nodes);\r
+    cur_match_pos += num_matches[i];\r
+    /* The zopflification can be too slow in case of very long lengths, so in\r
+       such case skip it all, it does not cost a lot of compression ratio. */\r
+    if (num_matches[i] == 1 &&\r
+        BackwardMatchLength(&matches[cur_match_pos - 1]) > max_zopfli_len) {\r
+      i += BackwardMatchLength(&matches[cur_match_pos - 1]) - 1;\r
+      InitStartPosQueue(&queue);\r
+    }\r
+  }\r
+  return ComputeShortestPathFromNodes(num_bytes, nodes);\r
+}\r
+\r
+\r
+size_t BrotliZopfliComputeShortestPath(MemoryManager* m,\r
+                                       size_t num_bytes,\r
+                                       size_t position,\r
+                                       const uint8_t* ringbuffer,\r
+                                       size_t ringbuffer_mask,\r
+                                       const BrotliEncoderParams* params,\r
+                                       const size_t max_backward_limit,\r
+                                       const int* dist_cache,\r
+                                       H10* hasher,\r
+                                       ZopfliNode* nodes) {\r
+  const size_t max_zopfli_len = MaxZopfliLen(params);\r
+  ZopfliCostModel model;\r
+  StartPosQueue queue;\r
+  BackwardMatch matches[MAX_NUM_MATCHES_H10];\r
+  const size_t store_end = num_bytes >= StoreLookaheadH10() ?\r
+      position + num_bytes - StoreLookaheadH10() + 1 : position;\r
+  size_t i;\r
+  nodes[0].length = 0;\r
+  nodes[0].u.cost = 0;\r
+  InitZopfliCostModel(m, &model, num_bytes);\r
+  if (BROTLI_IS_OOM(m)) return 0;\r
+  ZopfliCostModelSetFromLiteralCosts(\r
+      &model, position, ringbuffer, ringbuffer_mask);\r
+  InitStartPosQueue(&queue);\r
+  for (i = 0; i + HashTypeLengthH10() - 1 < num_bytes; i++) {\r
+    const size_t pos = position + i;\r
+    const size_t max_distance = BROTLI_MIN(size_t, pos, max_backward_limit);\r
+    size_t num_matches = FindAllMatchesH10(hasher, ringbuffer, ringbuffer_mask,\r
+        pos, num_bytes - i, max_distance, params, matches);\r
+    if (num_matches > 0 &&\r
+        BackwardMatchLength(&matches[num_matches - 1]) > max_zopfli_len) {\r
+      matches[0] = matches[num_matches - 1];\r
+      num_matches = 1;\r
+    }\r
+    UpdateNodes(num_bytes, position, i, ringbuffer, ringbuffer_mask,\r
+                params, max_backward_limit, dist_cache, num_matches, matches,\r
+                &model, &queue, nodes);\r
+    if (num_matches == 1 && BackwardMatchLength(&matches[0]) > max_zopfli_len) {\r
+      /* Add the tail of the copy to the hasher. */\r
+      StoreRangeH10(hasher, ringbuffer, ringbuffer_mask, pos + 1, BROTLI_MIN(\r
+          size_t, pos + BackwardMatchLength(&matches[0]), store_end));\r
+      i += BackwardMatchLength(&matches[0]) - 1;\r
+      InitStartPosQueue(&queue);\r
+    }\r
+  }\r
+  CleanupZopfliCostModel(m, &model);\r
+  return ComputeShortestPathFromNodes(num_bytes, nodes);\r
+}\r
+\r
+#define EXPAND_CAT(a, b) CAT(a, b)\r
+#define CAT(a, b) a ## b\r
+#define FN(X) EXPAND_CAT(X, HASHER())\r
+\r
+#define HASHER() H2\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H3\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H4\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H5\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H6\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H7\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H8\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H9\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H40\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H41\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#define HASHER() H42\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./backward_references_inc.h"\r
+#undef HASHER\r
+\r
+#undef FN\r
+#undef CAT\r
+#undef EXPAND_CAT\r
+\r
+static BROTLI_NOINLINE void CreateZopfliBackwardReferences(\r
+    MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last,\r
+    const uint8_t* ringbuffer, size_t ringbuffer_mask,\r
+    const BrotliEncoderParams* params, H10* hasher, int* dist_cache,\r
+    size_t* last_insert_len, Command* commands, size_t* num_commands,\r
+    size_t* num_literals) {\r
+  const size_t max_backward_limit = MaxBackwardLimit(params->lgwin);\r
+  ZopfliNode* nodes;\r
+  InitH10(m, hasher, ringbuffer, params, position, num_bytes, is_last);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  StitchToPreviousBlockH10(hasher, num_bytes, position,\r
+                           ringbuffer, ringbuffer_mask);\r
+  nodes = BROTLI_ALLOC(m, ZopfliNode, num_bytes + 1);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BrotliInitZopfliNodes(nodes, num_bytes + 1);\r
+  *num_commands += BrotliZopfliComputeShortestPath(m, num_bytes, position,\r
+      ringbuffer, ringbuffer_mask, params, max_backward_limit,\r
+      dist_cache, hasher, nodes);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BrotliZopfliCreateCommands(num_bytes, position, max_backward_limit, nodes,\r
+      dist_cache, last_insert_len, commands, num_literals);\r
+  BROTLI_FREE(m, nodes);\r
+}\r
+\r
+static BROTLI_NOINLINE void CreateHqZopfliBackwardReferences(\r
+    MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last,\r
+    const uint8_t* ringbuffer, size_t ringbuffer_mask,\r
+    const BrotliEncoderParams* params, H10* hasher, int* dist_cache,\r
+    size_t* last_insert_len, Command* commands, size_t* num_commands,\r
+    size_t* num_literals) {\r
+  const size_t max_backward_limit = MaxBackwardLimit(params->lgwin);\r
+  uint32_t* num_matches = BROTLI_ALLOC(m, uint32_t, num_bytes);\r
+  size_t matches_size = 4 * num_bytes;\r
+  const size_t store_end = num_bytes >= StoreLookaheadH10() ?\r
+      position + num_bytes - StoreLookaheadH10() + 1 : position;\r
+  size_t cur_match_pos = 0;\r
+  size_t i;\r
+  size_t orig_num_literals;\r
+  size_t orig_last_insert_len;\r
+  int orig_dist_cache[4];\r
+  size_t orig_num_commands;\r
+  ZopfliCostModel model;\r
+  ZopfliNode* nodes;\r
+  BackwardMatch* matches = BROTLI_ALLOC(m, BackwardMatch, matches_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitH10(m, hasher, ringbuffer, params, position, num_bytes, is_last);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  StitchToPreviousBlockH10(hasher, num_bytes, position,\r
+                           ringbuffer, ringbuffer_mask);\r
+  for (i = 0; i + HashTypeLengthH10() - 1 < num_bytes; ++i) {\r
+    const size_t pos = position + i;\r
+    size_t max_distance = BROTLI_MIN(size_t, pos, max_backward_limit);\r
+    size_t max_length = num_bytes - i;\r
+    size_t num_found_matches;\r
+    size_t cur_match_end;\r
+    size_t j;\r
+    /* Ensure that we have enough free slots. */\r
+    BROTLI_ENSURE_CAPACITY(m, BackwardMatch, matches, matches_size,\r
+        cur_match_pos + MAX_NUM_MATCHES_H10);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    num_found_matches = FindAllMatchesH10(hasher, ringbuffer, ringbuffer_mask,\r
+        pos, max_length, max_distance, params, &matches[cur_match_pos]);\r
+    cur_match_end = cur_match_pos + num_found_matches;\r
+    for (j = cur_match_pos; j + 1 < cur_match_end; ++j) {\r
+      assert(BackwardMatchLength(&matches[j]) <\r
+          BackwardMatchLength(&matches[j + 1]));\r
+      assert(matches[j].distance > max_distance ||\r
+             matches[j].distance <= matches[j + 1].distance);\r
+    }\r
+    num_matches[i] = (uint32_t)num_found_matches;\r
+    if (num_found_matches > 0) {\r
+      const size_t match_len = BackwardMatchLength(&matches[cur_match_end - 1]);\r
+      if (match_len > MAX_ZOPFLI_LEN_QUALITY_11) {\r
+        const size_t skip = match_len - 1;\r
+        matches[cur_match_pos++] = matches[cur_match_end - 1];\r
+        num_matches[i] = 1;\r
+        /* Add the tail of the copy to the hasher. */\r
+        StoreRangeH10(hasher, ringbuffer, ringbuffer_mask, pos + 1,\r
+                      BROTLI_MIN(size_t, pos + match_len, store_end));\r
+        memset(&num_matches[i + 1], 0, skip * sizeof(num_matches[0]));\r
+        i += skip;\r
+      } else {\r
+        cur_match_pos = cur_match_end;\r
+      }\r
+    }\r
+  }\r
+  orig_num_literals = *num_literals;\r
+  orig_last_insert_len = *last_insert_len;\r
+  memcpy(orig_dist_cache, dist_cache, 4 * sizeof(dist_cache[0]));\r
+  orig_num_commands = *num_commands;\r
+  nodes = BROTLI_ALLOC(m, ZopfliNode, num_bytes + 1);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitZopfliCostModel(m, &model, num_bytes);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  for (i = 0; i < 2; i++) {\r
+    BrotliInitZopfliNodes(nodes, num_bytes + 1);\r
+    if (i == 0) {\r
+      ZopfliCostModelSetFromLiteralCosts(\r
+          &model, position, ringbuffer, ringbuffer_mask);\r
+    } else {\r
+      ZopfliCostModelSetFromCommands(&model, position, ringbuffer,\r
+          ringbuffer_mask, commands, *num_commands - orig_num_commands,\r
+          orig_last_insert_len);\r
+    }\r
+    *num_commands = orig_num_commands;\r
+    *num_literals = orig_num_literals;\r
+    *last_insert_len = orig_last_insert_len;\r
+    memcpy(dist_cache, orig_dist_cache, 4 * sizeof(dist_cache[0]));\r
+    *num_commands += ZopfliIterate(num_bytes, position, ringbuffer,\r
+        ringbuffer_mask, params, max_backward_limit, dist_cache,\r
+        &model, num_matches, matches, nodes);\r
+    BrotliZopfliCreateCommands(num_bytes, position, max_backward_limit,\r
+        nodes, dist_cache, last_insert_len, commands, num_literals);\r
+  }\r
+  CleanupZopfliCostModel(m, &model);\r
+  BROTLI_FREE(m, nodes);\r
+  BROTLI_FREE(m, matches);\r
+  BROTLI_FREE(m, num_matches);\r
+}\r
+\r
+void BrotliCreateBackwardReferences(MemoryManager* m,\r
+                                    size_t num_bytes,\r
+                                    size_t position,\r
+                                    BROTLI_BOOL is_last,\r
+                                    const uint8_t* ringbuffer,\r
+                                    size_t ringbuffer_mask,\r
+                                    const BrotliEncoderParams* params,\r
+                                    Hashers* hashers,\r
+                                    int* dist_cache,\r
+                                    size_t* last_insert_len,\r
+                                    Command* commands,\r
+                                    size_t* num_commands,\r
+                                    size_t* num_literals) {\r
+  if (params->quality == ZOPFLIFICATION_QUALITY) {\r
+    CreateZopfliBackwardReferences(\r
+        m, num_bytes, position, is_last, ringbuffer, ringbuffer_mask,\r
+        params, hashers->h10, dist_cache,\r
+        last_insert_len, commands, num_commands, num_literals);\r
+    return;\r
+  } else if (params->quality == HQ_ZOPFLIFICATION_QUALITY) {\r
+    CreateHqZopfliBackwardReferences(\r
+        m, num_bytes, position, is_last, ringbuffer, ringbuffer_mask,\r
+        params, hashers->h10, dist_cache,\r
+        last_insert_len, commands, num_commands, num_literals);\r
+    return;\r
+  }\r
+\r
+  switch (ChooseHasher(params)) {\r
+#define _CASE(N)                                                            \\r
+    case N:                                                                 \\r
+      CreateBackwardReferencesH ## N(m, num_bytes, position, is_last,       \\r
+          ringbuffer, ringbuffer_mask, params, hashers->h ## N, dist_cache, \\r
+          last_insert_len, commands, num_commands, num_literals);           \\r
+      break;\r
+    FOR_GENERIC_HASHERS(_CASE)\r
+#undef _CASE\r
+    default:\r
+      break;\r
+  }\r
+  if (BROTLI_IS_OOM(m)) return;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/backward_references.h b/BaseTools/Source/C/BrotliCompress/enc/backward_references.h
new file mode 100644 (file)
index 0000000..8c73b69
--- /dev/null
@@ -0,0 +1,99 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function to find backward reference copies. */\r
+\r
+#ifndef BROTLI_ENC_BACKWARD_REFERENCES_H_\r
+#define BROTLI_ENC_BACKWARD_REFERENCES_H_\r
+\r
+#include "../common/types.h"\r
+#include "./command.h"\r
+#include "./hash.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* "commands" points to the next output command to write to, "*num_commands" is\r
+   initially the total amount of commands output by previous\r
+   CreateBackwardReferences calls, and must be incremented by the amount written\r
+   by this call. */\r
+BROTLI_INTERNAL void BrotliCreateBackwardReferences(\r
+    MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last,\r
+    const uint8_t* ringbuffer, size_t ringbuffer_mask,\r
+    const BrotliEncoderParams* params, Hashers* hashers, int* dist_cache,\r
+    size_t* last_insert_len, Command* commands, size_t* num_commands,\r
+    size_t* num_literals);\r
+\r
+typedef struct ZopfliNode {\r
+  /* best length to get up to this byte (not including this byte itself)\r
+     highest 8 bit is used to reconstruct the length code */\r
+  uint32_t length;\r
+  /* distance associated with the length\r
+     highest 7 bit contains distance short code + 1 (or zero if no short code)\r
+  */\r
+  uint32_t distance;\r
+  /* number of literal inserts before this copy */\r
+  uint32_t insert_length;\r
+\r
+  /* This union holds information used by dynamic-programming. During forward\r
+     pass |cost| it used to store the goal function. When node is processed its\r
+     |cost| is invalidated in favor of |shortcut|. On path backtracing pass\r
+     |next| is assigned the offset to next node on the path. */\r
+  union {\r
+    /* Smallest cost to get to this byte from the beginning, as found so far. */\r
+    float cost;\r
+    /* Offset to the next node on the path. Equals to command_length() of the\r
+       next node on the path. For last node equals to BROTLI_UINT32_MAX */\r
+    uint32_t next;\r
+    /* Node position that provides next distance for distance cache. */\r
+    uint32_t shortcut;\r
+  } u;\r
+} ZopfliNode;\r
+\r
+BROTLI_INTERNAL void BrotliInitZopfliNodes(ZopfliNode* array, size_t length);\r
+\r
+/* Computes the shortest path of commands from position to at most\r
+   position + num_bytes.\r
+\r
+   On return, path->size() is the number of commands found and path[i] is the\r
+   length of the ith command (copy length plus insert length).\r
+   Note that the sum of the lengths of all commands can be less than num_bytes.\r
+\r
+   On return, the nodes[0..num_bytes] array will have the following\r
+   "ZopfliNode array invariant":\r
+   For each i in [1..num_bytes], if nodes[i].cost < kInfinity, then\r
+     (1) nodes[i].copy_length() >= 2\r
+     (2) nodes[i].command_length() <= i and\r
+     (3) nodes[i - nodes[i].command_length()].cost < kInfinity */\r
+BROTLI_INTERNAL size_t BrotliZopfliComputeShortestPath(\r
+    MemoryManager* m, size_t num_bytes, size_t position,\r
+    const uint8_t* ringbuffer, size_t ringbuffer_mask,\r
+    const BrotliEncoderParams* params, const size_t max_backward_limit,\r
+    const int* dist_cache, H10* hasher, ZopfliNode* nodes);\r
+\r
+BROTLI_INTERNAL void BrotliZopfliCreateCommands(const size_t num_bytes,\r
+                                                const size_t block_start,\r
+                                                const size_t max_backward_limit,\r
+                                                const ZopfliNode* nodes,\r
+                                                int* dist_cache,\r
+                                                size_t* last_insert_len,\r
+                                                Command* commands,\r
+                                                size_t* num_literals);\r
+\r
+/* Maximum distance, see section 9.1. of the spec. */\r
+static BROTLI_INLINE size_t MaxBackwardLimit(int lgwin) {\r
+  return (1u << lgwin) - 16;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_BACKWARD_REFERENCES_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h b/BaseTools/Source/C/BrotliCompress/enc/backward_references_inc.h
new file mode 100644 (file)
index 0000000..8ff2a36
--- /dev/null
@@ -0,0 +1,147 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN */\r
+\r
+#define Hasher HASHER()\r
+\r
+static BROTLI_NOINLINE void FN(CreateBackwardReferences)(\r
+    MemoryManager* m, size_t num_bytes, size_t position, BROTLI_BOOL is_last,\r
+    const uint8_t* ringbuffer, size_t ringbuffer_mask,\r
+    const BrotliEncoderParams* params, Hasher* hasher, int* dist_cache,\r
+    size_t* last_insert_len, Command* commands, size_t* num_commands,\r
+    size_t* num_literals) {\r
+  /* Set maximum distance, see section 9.1. of the spec. */\r
+  const size_t max_backward_limit = MaxBackwardLimit(params->lgwin);\r
+\r
+  const Command* const orig_commands = commands;\r
+  size_t insert_length = *last_insert_len;\r
+  const size_t pos_end = position + num_bytes;\r
+  const size_t store_end = num_bytes >= FN(StoreLookahead)() ?\r
+      position + num_bytes - FN(StoreLookahead)() + 1 : position;\r
+\r
+  /* For speed up heuristics for random data. */\r
+  const size_t random_heuristics_window_size =\r
+      LiteralSpreeLengthForSparseSearch(params);\r
+  size_t apply_random_heuristics = position + random_heuristics_window_size;\r
+\r
+  /* Minimum score to accept a backward reference. */\r
+  const score_t kMinScore = BROTLI_SCORE_BASE + 400;\r
+\r
+  FN(Init)(m, hasher, ringbuffer, params, position, num_bytes, is_last);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  FN(StitchToPreviousBlock)(hasher, num_bytes, position,\r
+                            ringbuffer, ringbuffer_mask);\r
+\r
+  while (position + FN(HashTypeLength)() < pos_end) {\r
+    size_t max_length = pos_end - position;\r
+    size_t max_distance = BROTLI_MIN(size_t, position, max_backward_limit);\r
+    HasherSearchResult sr;\r
+    sr.len = 0;\r
+    sr.len_x_code = 0;\r
+    sr.distance = 0;\r
+    sr.score = kMinScore;\r
+    if (FN(FindLongestMatch)(hasher, ringbuffer, ringbuffer_mask, dist_cache,\r
+                             position, max_length, max_distance, &sr)) {\r
+      /* Found a match. Let's look for something even better ahead. */\r
+      int delayed_backward_references_in_row = 0;\r
+      --max_length;\r
+      for (;; --max_length) {\r
+        const score_t cost_diff_lazy = 700;\r
+        BROTLI_BOOL is_match_found;\r
+        HasherSearchResult sr2;\r
+        sr2.len = params->quality < MIN_QUALITY_FOR_EXTENSIVE_REFERENCE_SEARCH ?\r
+            BROTLI_MIN(size_t, sr.len - 1, max_length) : 0;\r
+        sr2.len_x_code = 0;\r
+        sr2.distance = 0;\r
+        sr2.score = kMinScore;\r
+        max_distance = BROTLI_MIN(size_t, position + 1, max_backward_limit);\r
+        is_match_found = FN(FindLongestMatch)(hasher, ringbuffer,\r
+            ringbuffer_mask, dist_cache, position + 1, max_length, max_distance,\r
+            &sr2);\r
+        if (is_match_found && sr2.score >= sr.score + cost_diff_lazy) {\r
+          /* Ok, let's just write one byte for now and start a match from the\r
+             next byte. */\r
+          ++position;\r
+          ++insert_length;\r
+          sr = sr2;\r
+          if (++delayed_backward_references_in_row < 4 &&\r
+              position + FN(HashTypeLength)() < pos_end) {\r
+            continue;\r
+          }\r
+        }\r
+        break;\r
+      }\r
+      apply_random_heuristics =\r
+          position + 2 * sr.len + random_heuristics_window_size;\r
+      max_distance = BROTLI_MIN(size_t, position, max_backward_limit);\r
+      {\r
+        /* The first 16 codes are special shortcodes,\r
+           and the minimum offset is 1. */\r
+        size_t distance_code =\r
+            ComputeDistanceCode(sr.distance, max_distance, dist_cache);\r
+        if (sr.distance <= max_distance && distance_code > 0) {\r
+          dist_cache[3] = dist_cache[2];\r
+          dist_cache[2] = dist_cache[1];\r
+          dist_cache[1] = dist_cache[0];\r
+          dist_cache[0] = (int)sr.distance;\r
+        }\r
+        InitCommand(commands++, insert_length, sr.len, sr.len ^ sr.len_x_code,\r
+            distance_code);\r
+      }\r
+      *num_literals += insert_length;\r
+      insert_length = 0;\r
+      /* Put the hash keys into the table, if there are enough bytes left.\r
+         Depending on the hasher implementation, it can push all positions\r
+         in the given range or only a subset of them. */\r
+      FN(StoreRange)(hasher, ringbuffer, ringbuffer_mask, position + 2,\r
+                     BROTLI_MIN(size_t, position + sr.len, store_end));\r
+      position += sr.len;\r
+    } else {\r
+      ++insert_length;\r
+      ++position;\r
+      /* If we have not seen matches for a long time, we can skip some\r
+         match lookups. Unsuccessful match lookups are very very expensive\r
+         and this kind of a heuristic speeds up compression quite\r
+         a lot. */\r
+      if (position > apply_random_heuristics) {\r
+        /* Going through uncompressible data, jump. */\r
+        if (position >\r
+            apply_random_heuristics + 4 * random_heuristics_window_size) {\r
+          /* It is quite a long time since we saw a copy, so we assume\r
+             that this data is not compressible, and store hashes less\r
+             often. Hashes of non compressible data are less likely to\r
+             turn out to be useful in the future, too, so we store less of\r
+             them to not to flood out the hash table of good compressible\r
+             data. */\r
+          const size_t kMargin =\r
+              BROTLI_MAX(size_t, FN(StoreLookahead)() - 1, 4);\r
+          size_t pos_jump =\r
+              BROTLI_MIN(size_t, position + 16, pos_end - kMargin);\r
+          for (; position < pos_jump; position += 4) {\r
+            FN(Store)(hasher, ringbuffer, ringbuffer_mask, position);\r
+            insert_length += 4;\r
+          }\r
+        } else {\r
+          const size_t kMargin =\r
+              BROTLI_MAX(size_t, FN(StoreLookahead)() - 1, 2);\r
+          size_t pos_jump =\r
+              BROTLI_MIN(size_t, position + 8, pos_end - kMargin);\r
+          for (; position < pos_jump; position += 2) {\r
+            FN(Store)(hasher, ringbuffer, ringbuffer_mask, position);\r
+            insert_length += 2;\r
+          }\r
+        }\r
+      }\r
+    }\r
+  }\r
+  insert_length += pos_end - position;\r
+  *last_insert_len = insert_length;\r
+  *num_commands += (size_t)(commands - orig_commands);\r
+}\r
+\r
+#undef Hasher\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/bit_cost.c b/BaseTools/Source/C/BrotliCompress/enc/bit_cost.c
new file mode 100644 (file)
index 0000000..614246c
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions to estimate the bit cost of Huffman trees. */\r
+\r
+#include "./bit_cost.h"\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./fast_log.h"\r
+#include "./histogram.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define FN(X) X ## Literal\r
+#include "./bit_cost_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+#include "./bit_cost_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+#include "./bit_cost_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/bit_cost.h b/BaseTools/Source/C/BrotliCompress/enc/bit_cost.h
new file mode 100644 (file)
index 0000000..2bf90b2
--- /dev/null
@@ -0,0 +1,63 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions to estimate the bit cost of Huffman trees. */\r
+\r
+#ifndef BROTLI_ENC_BIT_COST_H_\r
+#define BROTLI_ENC_BIT_COST_H_\r
+\r
+#include "../common/types.h"\r
+#include "./fast_log.h"\r
+#include "./histogram.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static BROTLI_INLINE double ShannonEntropy(const uint32_t *population,\r
+                                           size_t size, size_t *total) {\r
+  size_t sum = 0;\r
+  double retval = 0;\r
+  const uint32_t *population_end = population + size;\r
+  size_t p;\r
+  if (size & 1) {\r
+    goto odd_number_of_elements_left;\r
+  }\r
+  while (population < population_end) {\r
+    p = *population++;\r
+    sum += p;\r
+    retval -= (double)p * FastLog2(p);\r
+ odd_number_of_elements_left:\r
+    p = *population++;\r
+    sum += p;\r
+    retval -= (double)p * FastLog2(p);\r
+  }\r
+  if (sum) retval += (double)sum * FastLog2(sum);\r
+  *total = sum;\r
+  return retval;\r
+}\r
+\r
+static BROTLI_INLINE double BitsEntropy(\r
+    const uint32_t *population, size_t size) {\r
+  size_t sum;\r
+  double retval = ShannonEntropy(population, size, &sum);\r
+  if (retval < sum) {\r
+    /* At least one bit per literal is needed. */\r
+    retval = (double)sum;\r
+  }\r
+  return retval;\r
+}\r
+\r
+BROTLI_INTERNAL double BrotliPopulationCostLiteral(const HistogramLiteral*);\r
+BROTLI_INTERNAL double BrotliPopulationCostCommand(const HistogramCommand*);\r
+BROTLI_INTERNAL double BrotliPopulationCostDistance(const HistogramDistance*);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_BIT_COST_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h b/BaseTools/Source/C/BrotliCompress/enc/bit_cost_inc.h
new file mode 100644 (file)
index 0000000..c96bdda
--- /dev/null
@@ -0,0 +1,127 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN */\r
+\r
+#define HistogramType FN(Histogram)\r
+\r
+double FN(BrotliPopulationCost)(const HistogramType* histogram) {\r
+  static const double kOneSymbolHistogramCost = 12;\r
+  static const double kTwoSymbolHistogramCost = 20;\r
+  static const double kThreeSymbolHistogramCost = 28;\r
+  static const double kFourSymbolHistogramCost = 37;\r
+  const size_t data_size = FN(HistogramDataSize)();\r
+  int count = 0;\r
+  size_t s[5];\r
+  double bits = 0.0;\r
+  size_t i;\r
+  if (histogram->total_count_ == 0) {\r
+    return kOneSymbolHistogramCost;\r
+  }\r
+  for (i = 0; i < data_size; ++i) {\r
+    if (histogram->data_[i] > 0) {\r
+      s[count] = i;\r
+      ++count;\r
+      if (count > 4) break;\r
+    }\r
+  }\r
+  if (count == 1) {\r
+    return kOneSymbolHistogramCost;\r
+  }\r
+  if (count == 2) {\r
+    return (kTwoSymbolHistogramCost + (double)histogram->total_count_);\r
+  }\r
+  if (count == 3) {\r
+    const uint32_t histo0 = histogram->data_[s[0]];\r
+    const uint32_t histo1 = histogram->data_[s[1]];\r
+    const uint32_t histo2 = histogram->data_[s[2]];\r
+    const uint32_t histomax =\r
+        BROTLI_MAX(uint32_t, histo0, BROTLI_MAX(uint32_t, histo1, histo2));\r
+    return (kThreeSymbolHistogramCost +\r
+            2 * (histo0 + histo1 + histo2) - histomax);\r
+  }\r
+  if (count == 4) {\r
+    uint32_t histo[4];\r
+    uint32_t h23;\r
+    uint32_t histomax;\r
+    for (i = 0; i < 4; ++i) {\r
+      histo[i] = histogram->data_[s[i]];\r
+    }\r
+    /* Sort */\r
+    for (i = 0; i < 4; ++i) {\r
+      size_t j;\r
+      for (j = i + 1; j < 4; ++j) {\r
+        if (histo[j] > histo[i]) {\r
+          BROTLI_SWAP(uint32_t, histo, j, i);\r
+        }\r
+      }\r
+    }\r
+    h23 = histo[2] + histo[3];\r
+    histomax = BROTLI_MAX(uint32_t, h23, histo[0]);\r
+    return (kFourSymbolHistogramCost +\r
+            3 * h23 + 2 * (histo[0] + histo[1]) - histomax);\r
+  }\r
+\r
+  {\r
+    /* In this loop we compute the entropy of the histogram and simultaneously\r
+       build a simplified histogram of the code length codes where we use the\r
+       zero repeat code 17, but we don't use the non-zero repeat code 16. */\r
+    size_t max_depth = 1;\r
+    uint32_t depth_histo[BROTLI_CODE_LENGTH_CODES] = { 0 };\r
+    const double log2total = FastLog2(histogram->total_count_);\r
+    for (i = 0; i < data_size;) {\r
+      if (histogram->data_[i] > 0) {\r
+        /* Compute -log2(P(symbol)) = -log2(count(symbol)/total_count) =\r
+                                    = log2(total_count) - log2(count(symbol)) */\r
+        double log2p = log2total - FastLog2(histogram->data_[i]);\r
+        /* Approximate the bit depth by round(-log2(P(symbol))) */\r
+        size_t depth = (size_t)(log2p + 0.5);\r
+        bits += histogram->data_[i] * log2p;\r
+        if (depth > 15) {\r
+          depth = 15;\r
+        }\r
+        if (depth > max_depth) {\r
+          max_depth = depth;\r
+        }\r
+        ++depth_histo[depth];\r
+        ++i;\r
+      } else {\r
+        /* Compute the run length of zeros and add the appropriate number of 0\r
+           and 17 code length codes to the code length code histogram. */\r
+        uint32_t reps = 1;\r
+        size_t k;\r
+        for (k = i + 1; k < data_size && histogram->data_[k] == 0; ++k) {\r
+          ++reps;\r
+        }\r
+        i += reps;\r
+        if (i == data_size) {\r
+          /* Don't add any cost for the last zero run, since these are encoded\r
+             only implicitly. */\r
+          break;\r
+        }\r
+        if (reps < 3) {\r
+          depth_histo[0] += reps;\r
+        } else {\r
+          reps -= 2;\r
+          while (reps > 0) {\r
+            ++depth_histo[BROTLI_REPEAT_ZERO_CODE_LENGTH];\r
+            /* Add the 3 extra bits for the 17 code length code. */\r
+            bits += 3;\r
+            reps >>= 3;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    /* Add the estimated encoding cost of the code length code histogram. */\r
+    bits += (double)(18 + 2 * max_depth);\r
+    /* Add the entropy of the code length code histogram. */\r
+    bits += BitsEntropy(depth_histo, BROTLI_CODE_LENGTH_CODES);\r
+  }\r
+  return bits;\r
+}\r
+\r
+#undef HistogramType\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h b/BaseTools/Source/C/BrotliCompress/enc/block_encoder_inc.h
new file mode 100644 (file)
index 0000000..5040062
--- /dev/null
@@ -0,0 +1,33 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2014 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN */\r
+\r
+#define HistogramType FN(Histogram)\r
+\r
+/* Creates entropy codes for all block types and stores them to the bit\r
+   stream. */\r
+static void FN(BuildAndStoreEntropyCodes)(MemoryManager* m, BlockEncoder* self,\r
+    const HistogramType* histograms, const size_t histograms_size,\r
+    HuffmanTree* tree, size_t* storage_ix, uint8_t* storage) {\r
+  const size_t alphabet_size = self->alphabet_size_;\r
+  const size_t table_size = histograms_size * alphabet_size;\r
+  self->depths_ = BROTLI_ALLOC(m, uint8_t, table_size);\r
+  self->bits_ = BROTLI_ALLOC(m, uint16_t, table_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  {\r
+    size_t i;\r
+    for (i = 0; i < histograms_size; ++i) {\r
+      size_t ix = i * alphabet_size;\r
+      BuildAndStoreHuffmanTree(&histograms[i].data_[0], alphabet_size, tree,\r
+          &self->depths_[ix], &self->bits_[ix], storage_ix, storage);\r
+    }\r
+  }\r
+}\r
+\r
+#undef HistogramType\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_splitter.c b/BaseTools/Source/C/BrotliCompress/enc/block_splitter.c
new file mode 100644 (file)
index 0000000..ee31608
--- /dev/null
@@ -0,0 +1,197 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Block split point selection utilities. */\r
+\r
+#include "./block_splitter.h"\r
+\r
+#include <assert.h>\r
+#include <string.h>  /* memcpy, memset */\r
+\r
+#include "./bit_cost.h"\r
+#include "./cluster.h"\r
+#include "./command.h"\r
+#include "./fast_log.h"\r
+#include "./histogram.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const size_t kMaxLiteralHistograms = 100;\r
+static const size_t kMaxCommandHistograms = 50;\r
+static const double kLiteralBlockSwitchCost = 28.1;\r
+static const double kCommandBlockSwitchCost = 13.5;\r
+static const double kDistanceBlockSwitchCost = 14.6;\r
+static const size_t kLiteralStrideLength = 70;\r
+static const size_t kCommandStrideLength = 40;\r
+static const size_t kSymbolsPerLiteralHistogram = 544;\r
+static const size_t kSymbolsPerCommandHistogram = 530;\r
+static const size_t kSymbolsPerDistanceHistogram = 544;\r
+static const size_t kMinLengthForBlockSplitting = 128;\r
+static const size_t kIterMulForRefining = 2;\r
+static const size_t kMinItersForRefining = 100;\r
+\r
+static size_t CountLiterals(const Command* cmds, const size_t num_commands) {\r
+  /* Count how many we have. */\r
+  size_t total_length = 0;\r
+  size_t i;\r
+  for (i = 0; i < num_commands; ++i) {\r
+    total_length += cmds[i].insert_len_;\r
+  }\r
+  return total_length;\r
+}\r
+\r
+static void CopyLiteralsToByteArray(const Command* cmds,\r
+                                    const size_t num_commands,\r
+                                    const uint8_t* data,\r
+                                    const size_t offset,\r
+                                    const size_t mask,\r
+                                    uint8_t* literals) {\r
+  size_t pos = 0;\r
+  size_t from_pos = offset & mask;\r
+  size_t i;\r
+  for (i = 0; i < num_commands; ++i) {\r
+    size_t insert_len = cmds[i].insert_len_;\r
+    if (from_pos + insert_len > mask) {\r
+      size_t head_size = mask + 1 - from_pos;\r
+      memcpy(literals + pos, data + from_pos, head_size);\r
+      from_pos = 0;\r
+      pos += head_size;\r
+      insert_len -= head_size;\r
+    }\r
+    if (insert_len > 0) {\r
+      memcpy(literals + pos, data + from_pos, insert_len);\r
+      pos += insert_len;\r
+    }\r
+    from_pos = (from_pos + insert_len + CommandCopyLen(&cmds[i])) & mask;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE unsigned int MyRand(unsigned int* seed) {\r
+  *seed *= 16807U;\r
+  if (*seed == 0) {\r
+    *seed = 1;\r
+  }\r
+  return *seed;\r
+}\r
+\r
+static BROTLI_INLINE double BitCost(size_t count) {\r
+  return count == 0 ? -2.0 : FastLog2(count);\r
+}\r
+\r
+#define HISTOGRAMS_PER_BATCH 64\r
+#define CLUSTERS_PER_BATCH 16\r
+\r
+#define FN(X) X ## Literal\r
+#define DataType uint8_t\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./block_splitter_inc.h"\r
+#undef DataType\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+#define DataType uint16_t\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./block_splitter_inc.h"\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./block_splitter_inc.h"\r
+#undef DataType\r
+#undef FN\r
+\r
+void BrotliInitBlockSplit(BlockSplit* self) {\r
+  self->num_types = 0;\r
+  self->num_blocks = 0;\r
+  self->types = 0;\r
+  self->lengths = 0;\r
+  self->types_alloc_size = 0;\r
+  self->lengths_alloc_size = 0;\r
+}\r
+\r
+void BrotliDestroyBlockSplit(MemoryManager* m, BlockSplit* self) {\r
+  BROTLI_FREE(m, self->types);\r
+  BROTLI_FREE(m, self->lengths);\r
+}\r
+\r
+void BrotliSplitBlock(MemoryManager* m,\r
+                      const Command* cmds,\r
+                      const size_t num_commands,\r
+                      const uint8_t* data,\r
+                      const size_t pos,\r
+                      const size_t mask,\r
+                      const BrotliEncoderParams* params,\r
+                      BlockSplit* literal_split,\r
+                      BlockSplit* insert_and_copy_split,\r
+                      BlockSplit* dist_split) {\r
+  {\r
+    size_t literals_count = CountLiterals(cmds, num_commands);\r
+    uint8_t* literals = BROTLI_ALLOC(m, uint8_t, literals_count);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    /* Create a continuous array of literals. */\r
+    CopyLiteralsToByteArray(cmds, num_commands, data, pos, mask, literals);\r
+    /* Create the block split on the array of literals.\r
+       Literal histograms have alphabet size 256. */\r
+    SplitByteVectorLiteral(\r
+        m, literals, literals_count,\r
+        kSymbolsPerLiteralHistogram, kMaxLiteralHistograms,\r
+        kLiteralStrideLength, kLiteralBlockSwitchCost, params,\r
+        literal_split);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    BROTLI_FREE(m, literals);\r
+  }\r
+\r
+  {\r
+    /* Compute prefix codes for commands. */\r
+    uint16_t* insert_and_copy_codes = BROTLI_ALLOC(m, uint16_t, num_commands);\r
+    size_t i;\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    for (i = 0; i < num_commands; ++i) {\r
+      insert_and_copy_codes[i] = cmds[i].cmd_prefix_;\r
+    }\r
+    /* Create the block split on the array of command prefixes. */\r
+    SplitByteVectorCommand(\r
+        m, insert_and_copy_codes, num_commands,\r
+        kSymbolsPerCommandHistogram, kMaxCommandHistograms,\r
+        kCommandStrideLength, kCommandBlockSwitchCost, params,\r
+        insert_and_copy_split);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    /* TODO: reuse for distances? */\r
+    BROTLI_FREE(m, insert_and_copy_codes);\r
+  }\r
+\r
+  {\r
+    /* Create a continuous array of distance prefixes. */\r
+    uint16_t* distance_prefixes = BROTLI_ALLOC(m, uint16_t, num_commands);\r
+    size_t j = 0;\r
+    size_t i;\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    for (i = 0; i < num_commands; ++i) {\r
+      const Command* cmd = &cmds[i];\r
+      if (CommandCopyLen(cmd) && cmd->cmd_prefix_ >= 128) {\r
+        distance_prefixes[j++] = cmd->dist_prefix_;\r
+      }\r
+    }\r
+    /* Create the block split on the array of distance prefixes. */\r
+    SplitByteVectorDistance(\r
+        m, distance_prefixes, j,\r
+        kSymbolsPerDistanceHistogram, kMaxCommandHistograms,\r
+        kCommandStrideLength, kDistanceBlockSwitchCost, params,\r
+        dist_split);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    BROTLI_FREE(m, distance_prefixes);\r
+  }\r
+}\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_splitter.h b/BaseTools/Source/C/BrotliCompress/enc/block_splitter.h
new file mode 100644 (file)
index 0000000..ebe46c0
--- /dev/null
@@ -0,0 +1,51 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Block split point selection utilities. */\r
+\r
+#ifndef BROTLI_ENC_BLOCK_SPLITTER_H_\r
+#define BROTLI_ENC_BLOCK_SPLITTER_H_\r
+\r
+#include "../common/types.h"\r
+#include "./command.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct BlockSplit {\r
+  size_t num_types;  /* Amount of distinct types */\r
+  size_t num_blocks;  /* Amount of values in types and length */\r
+  uint8_t* types;\r
+  uint32_t* lengths;\r
+\r
+  size_t types_alloc_size;\r
+  size_t lengths_alloc_size;\r
+} BlockSplit;\r
+\r
+BROTLI_INTERNAL void BrotliInitBlockSplit(BlockSplit* self);\r
+BROTLI_INTERNAL void BrotliDestroyBlockSplit(MemoryManager* m,\r
+                                             BlockSplit* self);\r
+\r
+BROTLI_INTERNAL void BrotliSplitBlock(MemoryManager* m,\r
+                                      const Command* cmds,\r
+                                      const size_t num_commands,\r
+                                      const uint8_t* data,\r
+                                      const size_t offset,\r
+                                      const size_t mask,\r
+                                      const BrotliEncoderParams* params,\r
+                                      BlockSplit* literal_split,\r
+                                      BlockSplit* insert_and_copy_split,\r
+                                      BlockSplit* dist_split);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_BLOCK_SPLITTER_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h b/BaseTools/Source/C/BrotliCompress/enc/block_splitter_inc.h
new file mode 100644 (file)
index 0000000..ffb5fc2
--- /dev/null
@@ -0,0 +1,432 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN, DataType */\r
+\r
+#define HistogramType FN(Histogram)\r
+\r
+static void FN(InitialEntropyCodes)(const DataType* data, size_t length,\r
+                                    size_t stride,\r
+                                    size_t num_histograms,\r
+                                    HistogramType* histograms) {\r
+  unsigned int seed = 7;\r
+  size_t block_length = length / num_histograms;\r
+  size_t i;\r
+  FN(ClearHistograms)(histograms, num_histograms);\r
+  for (i = 0; i < num_histograms; ++i) {\r
+    size_t pos = length * i / num_histograms;\r
+    if (i != 0) {\r
+      pos += MyRand(&seed) % block_length;\r
+    }\r
+    if (pos + stride >= length) {\r
+      pos = length - stride - 1;\r
+    }\r
+    FN(HistogramAddVector)(&histograms[i], data + pos, stride);\r
+  }\r
+}\r
+\r
+static void FN(RandomSample)(unsigned int* seed,\r
+                             const DataType* data,\r
+                             size_t length,\r
+                             size_t stride,\r
+                             HistogramType* sample) {\r
+  size_t pos = 0;\r
+  if (stride >= length) {\r
+    pos = 0;\r
+    stride = length;\r
+  } else {\r
+    pos = MyRand(seed) % (length - stride + 1);\r
+  }\r
+  FN(HistogramAddVector)(sample, data + pos, stride);\r
+}\r
+\r
+static void FN(RefineEntropyCodes)(const DataType* data, size_t length,\r
+                                   size_t stride,\r
+                                   size_t num_histograms,\r
+                                   HistogramType* histograms) {\r
+  size_t iters =\r
+      kIterMulForRefining * length / stride + kMinItersForRefining;\r
+  unsigned int seed = 7;\r
+  size_t iter;\r
+  iters = ((iters + num_histograms - 1) / num_histograms) * num_histograms;\r
+  for (iter = 0; iter < iters; ++iter) {\r
+    HistogramType sample;\r
+    FN(HistogramClear)(&sample);\r
+    FN(RandomSample)(&seed, data, length, stride, &sample);\r
+    FN(HistogramAddHistogram)(&histograms[iter % num_histograms], &sample);\r
+  }\r
+}\r
+\r
+/* Assigns a block id from the range [0, vec.size()) to each data element\r
+   in data[0..length) and fills in block_id[0..length) with the assigned values.\r
+   Returns the number of blocks, i.e. one plus the number of block switches. */\r
+static size_t FN(FindBlocks)(const DataType* data, const size_t length,\r
+                             const double block_switch_bitcost,\r
+                             const size_t num_histograms,\r
+                             const HistogramType* histograms,\r
+                             double* insert_cost,\r
+                             double* cost,\r
+                             uint8_t* switch_signal,\r
+                             uint8_t *block_id) {\r
+  const size_t data_size = FN(HistogramDataSize)();\r
+  const size_t bitmaplen = (num_histograms + 7) >> 3;\r
+  size_t num_blocks = 1;\r
+  size_t i;\r
+  size_t j;\r
+  assert(num_histograms <= 256);\r
+  if (num_histograms <= 1) {\r
+    for (i = 0; i < length; ++i) {\r
+      block_id[i] = 0;\r
+    }\r
+    return 1;\r
+  }\r
+  memset(insert_cost, 0, sizeof(insert_cost[0]) * data_size * num_histograms);\r
+  for (i = 0; i < num_histograms; ++i) {\r
+    insert_cost[i] = FastLog2((uint32_t)histograms[i].total_count_);\r
+  }\r
+  for (i = data_size; i != 0;) {\r
+    --i;\r
+    for (j = 0; j < num_histograms; ++j) {\r
+      insert_cost[i * num_histograms + j] =\r
+          insert_cost[j] - BitCost(histograms[j].data_[i]);\r
+    }\r
+  }\r
+  memset(cost, 0, sizeof(cost[0]) * num_histograms);\r
+  memset(switch_signal, 0, sizeof(switch_signal[0]) * length * bitmaplen);\r
+  /* After each iteration of this loop, cost[k] will contain the difference\r
+     between the minimum cost of arriving at the current byte position using\r
+     entropy code k, and the minimum cost of arriving at the current byte\r
+     position. This difference is capped at the block switch cost, and if it\r
+     reaches block switch cost, it means that when we trace back from the last\r
+     position, we need to switch here. */\r
+  for (i = 0; i < length; ++i) {\r
+    const size_t byte_ix = i;\r
+    size_t ix = byte_ix * bitmaplen;\r
+    size_t insert_cost_ix = data[byte_ix] * num_histograms;\r
+    double min_cost = 1e99;\r
+    double block_switch_cost = block_switch_bitcost;\r
+    size_t k;\r
+    for (k = 0; k < num_histograms; ++k) {\r
+      /* We are coding the symbol in data[byte_ix] with entropy code k. */\r
+      cost[k] += insert_cost[insert_cost_ix + k];\r
+      if (cost[k] < min_cost) {\r
+        min_cost = cost[k];\r
+        block_id[byte_ix] = (uint8_t)k;\r
+      }\r
+    }\r
+    /* More blocks for the beginning. */\r
+    if (byte_ix < 2000) {\r
+      block_switch_cost *= 0.77 + 0.07 * (double)byte_ix / 2000;\r
+    }\r
+    for (k = 0; k < num_histograms; ++k) {\r
+      cost[k] -= min_cost;\r
+      if (cost[k] >= block_switch_cost) {\r
+        const uint8_t mask = (uint8_t)(1u << (k & 7));\r
+        cost[k] = block_switch_cost;\r
+        assert((k >> 3) < bitmaplen);\r
+        switch_signal[ix + (k >> 3)] |= mask;\r
+      }\r
+    }\r
+  }\r
+  {  /* Trace back from the last position and switch at the marked places. */\r
+    size_t byte_ix = length - 1;\r
+    size_t ix = byte_ix * bitmaplen;\r
+    uint8_t cur_id = block_id[byte_ix];\r
+    while (byte_ix > 0) {\r
+      const uint8_t mask = (uint8_t)(1u << (cur_id & 7));\r
+      assert(((size_t)cur_id >> 3) < bitmaplen);\r
+      --byte_ix;\r
+      ix -= bitmaplen;\r
+      if (switch_signal[ix + (cur_id >> 3)] & mask) {\r
+        if (cur_id != block_id[byte_ix]) {\r
+          cur_id = block_id[byte_ix];\r
+          ++num_blocks;\r
+        }\r
+      }\r
+      block_id[byte_ix] = cur_id;\r
+    }\r
+  }\r
+  return num_blocks;\r
+}\r
+\r
+static size_t FN(RemapBlockIds)(uint8_t* block_ids, const size_t length,\r
+                                uint16_t* new_id, const size_t num_histograms) {\r
+  static const uint16_t kInvalidId = 256;\r
+  uint16_t next_id = 0;\r
+  size_t i;\r
+  for (i = 0; i < num_histograms; ++i) {\r
+    new_id[i] = kInvalidId;\r
+  }\r
+  for (i = 0; i < length; ++i) {\r
+    assert(block_ids[i] < num_histograms);\r
+    if (new_id[block_ids[i]] == kInvalidId) {\r
+      new_id[block_ids[i]] = next_id++;\r
+    }\r
+  }\r
+  for (i = 0; i < length; ++i) {\r
+    block_ids[i] = (uint8_t)new_id[block_ids[i]];\r
+    assert(block_ids[i] < num_histograms);\r
+  }\r
+  assert(next_id <= num_histograms);\r
+  return next_id;\r
+}\r
+\r
+static void FN(BuildBlockHistograms)(const DataType* data, const size_t length,\r
+                                     const uint8_t* block_ids,\r
+                                     const size_t num_histograms,\r
+                                     HistogramType* histograms) {\r
+  size_t i;\r
+  FN(ClearHistograms)(histograms, num_histograms);\r
+  for (i = 0; i < length; ++i) {\r
+    FN(HistogramAdd)(&histograms[block_ids[i]], data[i]);\r
+  }\r
+}\r
+\r
+static void FN(ClusterBlocks)(MemoryManager* m,\r
+                              const DataType* data, const size_t length,\r
+                              const size_t num_blocks,\r
+                              uint8_t* block_ids,\r
+                              BlockSplit* split) {\r
+  uint32_t* histogram_symbols = BROTLI_ALLOC(m, uint32_t, num_blocks);\r
+  uint32_t* block_lengths = BROTLI_ALLOC(m, uint32_t, num_blocks);\r
+  const size_t expected_num_clusters = CLUSTERS_PER_BATCH *\r
+      (num_blocks + HISTOGRAMS_PER_BATCH - 1) / HISTOGRAMS_PER_BATCH;\r
+  size_t all_histograms_size = 0;\r
+  size_t all_histograms_capacity = expected_num_clusters;\r
+  HistogramType* all_histograms =\r
+      BROTLI_ALLOC(m, HistogramType, all_histograms_capacity);\r
+  size_t cluster_size_size = 0;\r
+  size_t cluster_size_capacity = expected_num_clusters;\r
+  uint32_t* cluster_size = BROTLI_ALLOC(m, uint32_t, cluster_size_capacity);\r
+  size_t num_clusters = 0;\r
+  HistogramType* histograms = BROTLI_ALLOC(m, HistogramType,\r
+      BROTLI_MIN(size_t, num_blocks, HISTOGRAMS_PER_BATCH));\r
+  size_t max_num_pairs =\r
+      HISTOGRAMS_PER_BATCH * HISTOGRAMS_PER_BATCH / 2;\r
+  size_t pairs_capacity = max_num_pairs + 1;\r
+  HistogramPair* pairs = BROTLI_ALLOC(m, HistogramPair, pairs_capacity);\r
+  size_t pos = 0;\r
+  uint32_t* clusters;\r
+  size_t num_final_clusters;\r
+  static const uint32_t kInvalidIndex = BROTLI_UINT32_MAX;\r
+  uint32_t* new_index;\r
+  uint8_t max_type = 0;\r
+  size_t i;\r
+  uint32_t sizes[HISTOGRAMS_PER_BATCH] = { 0 };\r
+  uint32_t new_clusters[HISTOGRAMS_PER_BATCH] = { 0 };\r
+  uint32_t symbols[HISTOGRAMS_PER_BATCH] = { 0 };\r
+  uint32_t remap[HISTOGRAMS_PER_BATCH] = { 0 };\r
+\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  memset(block_lengths, 0, num_blocks * sizeof(uint32_t));\r
+\r
+  {\r
+    size_t block_idx = 0;\r
+    for (i = 0; i < length; ++i) {\r
+      assert(block_idx < num_blocks);\r
+      ++block_lengths[block_idx];\r
+      if (i + 1 == length || block_ids[i] != block_ids[i + 1]) {\r
+        ++block_idx;\r
+      }\r
+    }\r
+    assert(block_idx == num_blocks);\r
+  }\r
+\r
+  for (i = 0; i < num_blocks; i += HISTOGRAMS_PER_BATCH) {\r
+    const size_t num_to_combine =\r
+        BROTLI_MIN(size_t, num_blocks - i, HISTOGRAMS_PER_BATCH);\r
+    size_t num_new_clusters;\r
+    size_t j;\r
+    for (j = 0; j < num_to_combine; ++j) {\r
+      size_t k;\r
+      FN(HistogramClear)(&histograms[j]);\r
+      for (k = 0; k < block_lengths[i + j]; ++k) {\r
+        FN(HistogramAdd)(&histograms[j], data[pos++]);\r
+      }\r
+      histograms[j].bit_cost_ = FN(BrotliPopulationCost)(&histograms[j]);\r
+      new_clusters[j] = (uint32_t)j;\r
+      symbols[j] = (uint32_t)j;\r
+      sizes[j] = 1;\r
+    }\r
+    num_new_clusters = FN(BrotliHistogramCombine)(\r
+        histograms, sizes, symbols, new_clusters, pairs, num_to_combine,\r
+        num_to_combine, HISTOGRAMS_PER_BATCH, max_num_pairs);\r
+    BROTLI_ENSURE_CAPACITY(m, HistogramType, all_histograms,\r
+        all_histograms_capacity, all_histograms_size + num_new_clusters);\r
+    BROTLI_ENSURE_CAPACITY(m, uint32_t, cluster_size,\r
+        cluster_size_capacity, cluster_size_size + num_new_clusters);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    for (j = 0; j < num_new_clusters; ++j) {\r
+      all_histograms[all_histograms_size++] = histograms[new_clusters[j]];\r
+      cluster_size[cluster_size_size++] = sizes[new_clusters[j]];\r
+      remap[new_clusters[j]] = (uint32_t)j;\r
+    }\r
+    for (j = 0; j < num_to_combine; ++j) {\r
+      histogram_symbols[i + j] = (uint32_t)num_clusters + remap[symbols[j]];\r
+    }\r
+    num_clusters += num_new_clusters;\r
+    assert(num_clusters == cluster_size_size);\r
+    assert(num_clusters == all_histograms_size);\r
+  }\r
+  BROTLI_FREE(m, histograms);\r
+\r
+  max_num_pairs =\r
+      BROTLI_MIN(size_t, 64 * num_clusters, (num_clusters / 2) * num_clusters);\r
+  if (pairs_capacity < max_num_pairs + 1) {\r
+    BROTLI_FREE(m, pairs);\r
+    pairs = BROTLI_ALLOC(m, HistogramPair, max_num_pairs + 1);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+  }\r
+\r
+  clusters = BROTLI_ALLOC(m, uint32_t, num_clusters);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  for (i = 0; i < num_clusters; ++i) {\r
+    clusters[i] = (uint32_t)i;\r
+  }\r
+  num_final_clusters = FN(BrotliHistogramCombine)(\r
+      all_histograms, cluster_size, histogram_symbols, clusters, pairs,\r
+      num_clusters, num_blocks, BROTLI_MAX_NUMBER_OF_BLOCK_TYPES,\r
+      max_num_pairs);\r
+  BROTLI_FREE(m, pairs);\r
+  BROTLI_FREE(m, cluster_size);\r
+\r
+  new_index = BROTLI_ALLOC(m, uint32_t, num_clusters);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  for (i = 0; i < num_clusters; ++i) new_index[i] = kInvalidIndex;\r
+  pos = 0;\r
+  {\r
+    uint32_t next_index = 0;\r
+    for (i = 0; i < num_blocks; ++i) {\r
+      HistogramType histo;\r
+      size_t j;\r
+      uint32_t best_out;\r
+      double best_bits;\r
+      FN(HistogramClear)(&histo);\r
+      for (j = 0; j < block_lengths[i]; ++j) {\r
+        FN(HistogramAdd)(&histo, data[pos++]);\r
+      }\r
+      best_out = (i == 0) ? histogram_symbols[0] : histogram_symbols[i - 1];\r
+      best_bits =\r
+          FN(BrotliHistogramBitCostDistance)(&histo, &all_histograms[best_out]);\r
+      for (j = 0; j < num_final_clusters; ++j) {\r
+        const double cur_bits = FN(BrotliHistogramBitCostDistance)(\r
+            &histo, &all_histograms[clusters[j]]);\r
+        if (cur_bits < best_bits) {\r
+          best_bits = cur_bits;\r
+          best_out = clusters[j];\r
+        }\r
+      }\r
+      histogram_symbols[i] = best_out;\r
+      if (new_index[best_out] == kInvalidIndex) {\r
+        new_index[best_out] = next_index++;\r
+      }\r
+    }\r
+  }\r
+  BROTLI_FREE(m, clusters);\r
+  BROTLI_FREE(m, all_histograms);\r
+  BROTLI_ENSURE_CAPACITY(\r
+      m, uint8_t, split->types, split->types_alloc_size, num_blocks);\r
+  BROTLI_ENSURE_CAPACITY(\r
+      m, uint32_t, split->lengths, split->lengths_alloc_size, num_blocks);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  {\r
+    uint32_t cur_length = 0;\r
+    size_t block_idx = 0;\r
+    for (i = 0; i < num_blocks; ++i) {\r
+      cur_length += block_lengths[i];\r
+      if (i + 1 == num_blocks ||\r
+          histogram_symbols[i] != histogram_symbols[i + 1]) {\r
+        const uint8_t id = (uint8_t)new_index[histogram_symbols[i]];\r
+        split->types[block_idx] = id;\r
+        split->lengths[block_idx] = cur_length;\r
+        max_type = BROTLI_MAX(uint8_t, max_type, id);\r
+        cur_length = 0;\r
+        ++block_idx;\r
+      }\r
+    }\r
+    split->num_blocks = block_idx;\r
+    split->num_types = (size_t)max_type + 1;\r
+  }\r
+  BROTLI_FREE(m, new_index);\r
+  BROTLI_FREE(m, block_lengths);\r
+  BROTLI_FREE(m, histogram_symbols);\r
+}\r
+\r
+static void FN(SplitByteVector)(MemoryManager* m,\r
+                                const DataType* data, const size_t length,\r
+                                const size_t literals_per_histogram,\r
+                                const size_t max_histograms,\r
+                                const size_t sampling_stride_length,\r
+                                const double block_switch_cost,\r
+                                const BrotliEncoderParams* params,\r
+                                BlockSplit* split) {\r
+  const size_t data_size = FN(HistogramDataSize)();\r
+  size_t num_histograms = length / literals_per_histogram + 1;\r
+  HistogramType* histograms;\r
+  if (num_histograms > max_histograms) {\r
+    num_histograms = max_histograms;\r
+  }\r
+  if (length == 0) {\r
+    split->num_types = 1;\r
+    return;\r
+  } else if (length < kMinLengthForBlockSplitting) {\r
+    BROTLI_ENSURE_CAPACITY(m, uint8_t,\r
+        split->types, split->types_alloc_size, split->num_blocks + 1);\r
+    BROTLI_ENSURE_CAPACITY(m, uint32_t,\r
+        split->lengths, split->lengths_alloc_size, split->num_blocks + 1);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    split->num_types = 1;\r
+    split->types[split->num_blocks] = 0;\r
+    split->lengths[split->num_blocks] = (uint32_t)length;\r
+    split->num_blocks++;\r
+    return;\r
+  }\r
+  histograms = BROTLI_ALLOC(m, HistogramType, num_histograms);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  /* Find good entropy codes. */\r
+  FN(InitialEntropyCodes)(data, length,\r
+                          sampling_stride_length,\r
+                          num_histograms, histograms);\r
+  FN(RefineEntropyCodes)(data, length,\r
+                         sampling_stride_length,\r
+                         num_histograms, histograms);\r
+  {\r
+    /* Find a good path through literals with the good entropy codes. */\r
+    uint8_t* block_ids = BROTLI_ALLOC(m, uint8_t, length);\r
+    size_t num_blocks;\r
+    const size_t bitmaplen = (num_histograms + 7) >> 3;\r
+    double* insert_cost = BROTLI_ALLOC(m, double, data_size * num_histograms);\r
+    double* cost = BROTLI_ALLOC(m, double, num_histograms);\r
+    uint8_t* switch_signal = BROTLI_ALLOC(m, uint8_t, length * bitmaplen);\r
+    uint16_t* new_id = BROTLI_ALLOC(m, uint16_t, num_histograms);\r
+    const size_t iters = params->quality < HQ_ZOPFLIFICATION_QUALITY ? 3 : 10;\r
+    size_t i;\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    for (i = 0; i < iters; ++i) {\r
+      num_blocks = FN(FindBlocks)(data, length,\r
+                                  block_switch_cost,\r
+                                  num_histograms, histograms,\r
+                                  insert_cost, cost, switch_signal,\r
+                                  block_ids);\r
+      num_histograms = FN(RemapBlockIds)(block_ids, length,\r
+                                         new_id, num_histograms);\r
+      FN(BuildBlockHistograms)(data, length, block_ids,\r
+                               num_histograms, histograms);\r
+    }\r
+    BROTLI_FREE(m, insert_cost);\r
+    BROTLI_FREE(m, cost);\r
+    BROTLI_FREE(m, switch_signal);\r
+    BROTLI_FREE(m, new_id);\r
+    BROTLI_FREE(m, histograms);\r
+    FN(ClusterBlocks)(m, data, length, num_blocks, block_ids, split);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    BROTLI_FREE(m, block_ids);\r
+  }\r
+}\r
+\r
+#undef HistogramType\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c b/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.c
new file mode 100644 (file)
index 0000000..f77a2a6
--- /dev/null
@@ -0,0 +1,1334 @@
+/* Copyright 2014 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Brotli bit stream functions to support the low level format. There are no\r
+   compression algorithms here, just the right ordering of bits to match the\r
+   specs. */\r
+\r
+#include "./brotli_bit_stream.h"\r
+\r
+#include <string.h>  /* memcpy, memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./context.h"\r
+#include "./entropy_encode.h"\r
+#include "./entropy_encode_static.h"\r
+#include "./fast_log.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./write_bits.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define MAX_HUFFMAN_TREE_SIZE (2 * BROTLI_NUM_COMMAND_SYMBOLS + 1)\r
+\r
+/* Represents the range of values belonging to a prefix code:\r
+   [offset, offset + 2^nbits) */\r
+typedef struct PrefixCodeRange {\r
+  uint32_t offset;\r
+  uint32_t nbits;\r
+} PrefixCodeRange;\r
+\r
+static const PrefixCodeRange\r
+    kBlockLengthPrefixCode[BROTLI_NUM_BLOCK_LEN_SYMBOLS] = {\r
+  { 1, 2}, { 5, 2}, { 9, 2}, {13, 2}, {17, 3}, { 25, 3}, { 33, 3},\r
+  {41, 3}, {49, 4}, {65, 4}, {81, 4}, {97, 4}, {113, 5}, {145, 5},\r
+  {177, 5}, { 209,  5}, { 241,  6}, { 305,  6}, { 369,  7}, {  497,  8},\r
+  {753, 9}, {1265, 10}, {2289, 11}, {4337, 12}, {8433, 13}, {16625, 24}\r
+};\r
+\r
+static BROTLI_INLINE uint32_t BlockLengthPrefixCode(uint32_t len) {\r
+  uint32_t code = (len >= 177) ? (len >= 753 ? 20 : 14) : (len >= 41 ? 7 : 0);\r
+  while (code < (BROTLI_NUM_BLOCK_LEN_SYMBOLS - 1) &&\r
+      len >= kBlockLengthPrefixCode[code + 1].offset) ++code;\r
+  return code;\r
+}\r
+\r
+static BROTLI_INLINE void GetBlockLengthPrefixCode(uint32_t len, size_t* code,\r
+    uint32_t* n_extra, uint32_t* extra) {\r
+  *code = BlockLengthPrefixCode(len);\r
+  *n_extra = kBlockLengthPrefixCode[*code].nbits;\r
+  *extra = len - kBlockLengthPrefixCode[*code].offset;\r
+}\r
+\r
+typedef struct BlockTypeCodeCalculator {\r
+  size_t last_type;\r
+  size_t second_last_type;\r
+} BlockTypeCodeCalculator;\r
+\r
+static void InitBlockTypeCodeCalculator(BlockTypeCodeCalculator* self) {\r
+  self->last_type = 1;\r
+  self->second_last_type = 0;\r
+}\r
+\r
+static BROTLI_INLINE size_t NextBlockTypeCode(\r
+    BlockTypeCodeCalculator* calculator, uint8_t type) {\r
+  size_t type_code = (type == calculator->last_type + 1) ? 1u :\r
+      (type == calculator->second_last_type) ? 0u : type + 2u;\r
+  calculator->second_last_type = calculator->last_type;\r
+  calculator->last_type = type;\r
+  return type_code;\r
+}\r
+\r
+/* nibblesbits represents the 2 bits to encode MNIBBLES (0-3)\r
+   REQUIRES: length > 0\r
+   REQUIRES: length <= (1 << 24) */\r
+static void BrotliEncodeMlen(size_t length, uint64_t* bits,\r
+                             size_t* numbits, uint64_t* nibblesbits) {\r
+  size_t lg = (length == 1) ? 1 : Log2FloorNonZero((uint32_t)(length - 1)) + 1;\r
+  size_t mnibbles = (lg < 16 ? 16 : (lg + 3)) / 4;\r
+  assert(length > 0);\r
+  assert(length <= (1 << 24));\r
+  assert(lg <= 24);\r
+  *nibblesbits = mnibbles - 4;\r
+  *numbits = mnibbles * 4;\r
+  *bits = length - 1;\r
+}\r
+\r
+static BROTLI_INLINE void StoreCommandExtra(\r
+    const Command* cmd, size_t* storage_ix, uint8_t* storage) {\r
+  uint32_t copylen_code = CommandCopyLenCode(cmd);\r
+  uint16_t inscode = GetInsertLengthCode(cmd->insert_len_);\r
+  uint16_t copycode = GetCopyLengthCode(copylen_code);\r
+  uint32_t insnumextra = GetInsertExtra(inscode);\r
+  uint64_t insextraval = cmd->insert_len_ - GetInsertBase(inscode);\r
+  uint64_t copyextraval = copylen_code - GetCopyBase(copycode);\r
+  uint64_t bits = (copyextraval << insnumextra) | insextraval;\r
+  BrotliWriteBits(\r
+      insnumextra + GetCopyExtra(copycode), bits, storage_ix, storage);\r
+}\r
+\r
+/* Data structure that stores almost everything that is needed to encode each\r
+   block switch command. */\r
+typedef struct BlockSplitCode {\r
+  BlockTypeCodeCalculator type_code_calculator;\r
+  uint8_t type_depths[BROTLI_MAX_BLOCK_TYPE_SYMBOLS];\r
+  uint16_t type_bits[BROTLI_MAX_BLOCK_TYPE_SYMBOLS];\r
+  uint8_t length_depths[BROTLI_NUM_BLOCK_LEN_SYMBOLS];\r
+  uint16_t length_bits[BROTLI_NUM_BLOCK_LEN_SYMBOLS];\r
+} BlockSplitCode;\r
+\r
+/* Stores a number between 0 and 255. */\r
+static void StoreVarLenUint8(size_t n, size_t* storage_ix, uint8_t* storage) {\r
+  if (n == 0) {\r
+    BrotliWriteBits(1, 0, storage_ix, storage);\r
+  } else {\r
+    size_t nbits = Log2FloorNonZero(n);\r
+    BrotliWriteBits(1, 1, storage_ix, storage);\r
+    BrotliWriteBits(3, nbits, storage_ix, storage);\r
+    BrotliWriteBits(nbits, n - ((size_t)1 << nbits), storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* Stores the compressed meta-block header.\r
+   REQUIRES: length > 0\r
+   REQUIRES: length <= (1 << 24) */\r
+static void StoreCompressedMetaBlockHeader(BROTLI_BOOL is_final_block,\r
+                                           size_t length,\r
+                                           size_t* storage_ix,\r
+                                           uint8_t* storage) {\r
+  uint64_t lenbits;\r
+  size_t nlenbits;\r
+  uint64_t nibblesbits;\r
+\r
+  /* Write ISLAST bit. */\r
+  BrotliWriteBits(1, (uint64_t)is_final_block, storage_ix, storage);\r
+  /* Write ISEMPTY bit. */\r
+  if (is_final_block) {\r
+    BrotliWriteBits(1, 0, storage_ix, storage);\r
+  }\r
+\r
+  BrotliEncodeMlen(length, &lenbits, &nlenbits, &nibblesbits);\r
+  BrotliWriteBits(2, nibblesbits, storage_ix, storage);\r
+  BrotliWriteBits(nlenbits, lenbits, storage_ix, storage);\r
+\r
+  if (!is_final_block) {\r
+    /* Write ISUNCOMPRESSED bit. */\r
+    BrotliWriteBits(1, 0, storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* Stores the uncompressed meta-block header.\r
+   REQUIRES: length > 0\r
+   REQUIRES: length <= (1 << 24) */\r
+static void BrotliStoreUncompressedMetaBlockHeader(size_t length,\r
+                                                   size_t* storage_ix,\r
+                                                   uint8_t* storage) {\r
+  uint64_t lenbits;\r
+  size_t nlenbits;\r
+  uint64_t nibblesbits;\r
+\r
+  /* Write ISLAST bit.\r
+     Uncompressed block cannot be the last one, so set to 0. */\r
+  BrotliWriteBits(1, 0, storage_ix, storage);\r
+  BrotliEncodeMlen(length, &lenbits, &nlenbits, &nibblesbits);\r
+  BrotliWriteBits(2, nibblesbits, storage_ix, storage);\r
+  BrotliWriteBits(nlenbits, lenbits, storage_ix, storage);\r
+  /* Write ISUNCOMPRESSED bit. */\r
+  BrotliWriteBits(1, 1, storage_ix, storage);\r
+}\r
+\r
+static void BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask(\r
+    const int num_codes, const uint8_t* code_length_bitdepth,\r
+    size_t* storage_ix, uint8_t* storage) {\r
+  static const uint8_t kStorageOrder[BROTLI_CODE_LENGTH_CODES] = {\r
+    1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15\r
+  };\r
+  /* The bit lengths of the Huffman code over the code length alphabet\r
+     are compressed with the following static Huffman code:\r
+       Symbol   Code\r
+       ------   ----\r
+       0          00\r
+       1        1110\r
+       2         110\r
+       3          01\r
+       4          10\r
+       5        1111 */\r
+  static const uint8_t kHuffmanBitLengthHuffmanCodeSymbols[6] = {\r
+     0, 7, 3, 2, 1, 15\r
+  };\r
+  static const uint8_t kHuffmanBitLengthHuffmanCodeBitLengths[6] = {\r
+    2, 4, 3, 2, 2, 4\r
+  };\r
+\r
+  size_t skip_some = 0;  /* skips none. */\r
+\r
+  /* Throw away trailing zeros: */\r
+  size_t codes_to_store = BROTLI_CODE_LENGTH_CODES;\r
+  if (num_codes > 1) {\r
+    for (; codes_to_store > 0; --codes_to_store) {\r
+      if (code_length_bitdepth[kStorageOrder[codes_to_store - 1]] != 0) {\r
+        break;\r
+      }\r
+    }\r
+  }\r
+  if (code_length_bitdepth[kStorageOrder[0]] == 0 &&\r
+      code_length_bitdepth[kStorageOrder[1]] == 0) {\r
+    skip_some = 2;  /* skips two. */\r
+    if (code_length_bitdepth[kStorageOrder[2]] == 0) {\r
+      skip_some = 3;  /* skips three. */\r
+    }\r
+  }\r
+  BrotliWriteBits(2, skip_some, storage_ix, storage);\r
+  {\r
+    size_t i;\r
+    for (i = skip_some; i < codes_to_store; ++i) {\r
+      size_t l = code_length_bitdepth[kStorageOrder[i]];\r
+      BrotliWriteBits(kHuffmanBitLengthHuffmanCodeBitLengths[l],\r
+          kHuffmanBitLengthHuffmanCodeSymbols[l], storage_ix, storage);\r
+    }\r
+  }\r
+}\r
+\r
+static void BrotliStoreHuffmanTreeToBitMask(\r
+    const size_t huffman_tree_size, const uint8_t* huffman_tree,\r
+    const uint8_t* huffman_tree_extra_bits, const uint8_t* code_length_bitdepth,\r
+    const uint16_t* code_length_bitdepth_symbols,\r
+    size_t* BROTLI_RESTRICT storage_ix, uint8_t* BROTLI_RESTRICT storage) {\r
+  size_t i;\r
+  for (i = 0; i < huffman_tree_size; ++i) {\r
+    size_t ix = huffman_tree[i];\r
+    BrotliWriteBits(code_length_bitdepth[ix], code_length_bitdepth_symbols[ix],\r
+                    storage_ix, storage);\r
+    /* Extra bits */\r
+    switch (ix) {\r
+      case BROTLI_REPEAT_PREVIOUS_CODE_LENGTH:\r
+        BrotliWriteBits(2, huffman_tree_extra_bits[i], storage_ix, storage);\r
+        break;\r
+      case BROTLI_REPEAT_ZERO_CODE_LENGTH:\r
+        BrotliWriteBits(3, huffman_tree_extra_bits[i], storage_ix, storage);\r
+        break;\r
+    }\r
+  }\r
+}\r
+\r
+static void StoreSimpleHuffmanTree(const uint8_t* depths,\r
+                                   size_t symbols[4],\r
+                                   size_t num_symbols,\r
+                                   size_t max_bits,\r
+                                   size_t *storage_ix, uint8_t *storage) {\r
+  /* value of 1 indicates a simple Huffman code */\r
+  BrotliWriteBits(2, 1, storage_ix, storage);\r
+  BrotliWriteBits(2, num_symbols - 1, storage_ix, storage);  /* NSYM - 1 */\r
+\r
+  {\r
+    /* Sort */\r
+    size_t i;\r
+    for (i = 0; i < num_symbols; i++) {\r
+      size_t j;\r
+      for (j = i + 1; j < num_symbols; j++) {\r
+        if (depths[symbols[j]] < depths[symbols[i]]) {\r
+          BROTLI_SWAP(size_t, symbols, j, i);\r
+        }\r
+      }\r
+    }\r
+  }\r
+\r
+  if (num_symbols == 2) {\r
+    BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[1], storage_ix, storage);\r
+  } else if (num_symbols == 3) {\r
+    BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[1], storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[2], storage_ix, storage);\r
+  } else {\r
+    BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[1], storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[2], storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[3], storage_ix, storage);\r
+    /* tree-select */\r
+    BrotliWriteBits(1, depths[symbols[0]] == 1 ? 1 : 0, storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* num = alphabet size\r
+   depths = symbol depths */\r
+void BrotliStoreHuffmanTree(const uint8_t* depths, size_t num,\r
+                            HuffmanTree* tree,\r
+                            size_t *storage_ix, uint8_t *storage) {\r
+  /* Write the Huffman tree into the brotli-representation.\r
+     The command alphabet is the largest, so this allocation will fit all\r
+     alphabets. */\r
+  uint8_t huffman_tree[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  uint8_t huffman_tree_extra_bits[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  size_t huffman_tree_size = 0;\r
+  uint8_t code_length_bitdepth[BROTLI_CODE_LENGTH_CODES] = { 0 };\r
+  uint16_t code_length_bitdepth_symbols[BROTLI_CODE_LENGTH_CODES];\r
+  uint32_t huffman_tree_histogram[BROTLI_CODE_LENGTH_CODES] = { 0 };\r
+  size_t i;\r
+  int num_codes = 0;\r
+  size_t code = 0;\r
+\r
+  assert(num <= BROTLI_NUM_COMMAND_SYMBOLS);\r
+\r
+  BrotliWriteHuffmanTree(depths, num, &huffman_tree_size, huffman_tree,\r
+                         huffman_tree_extra_bits);\r
+\r
+  /* Calculate the statistics of the Huffman tree in brotli-representation. */\r
+  for (i = 0; i < huffman_tree_size; ++i) {\r
+    ++huffman_tree_histogram[huffman_tree[i]];\r
+  }\r
+\r
+  for (i = 0; i < BROTLI_CODE_LENGTH_CODES; ++i) {\r
+    if (huffman_tree_histogram[i]) {\r
+      if (num_codes == 0) {\r
+        code = i;\r
+        num_codes = 1;\r
+      } else if (num_codes == 1) {\r
+        num_codes = 2;\r
+        break;\r
+      }\r
+    }\r
+  }\r
+\r
+  /* Calculate another Huffman tree to use for compressing both the\r
+     earlier Huffman tree with. */\r
+  BrotliCreateHuffmanTree(huffman_tree_histogram, BROTLI_CODE_LENGTH_CODES,\r
+                          5, tree, code_length_bitdepth);\r
+  BrotliConvertBitDepthsToSymbols(code_length_bitdepth,\r
+                                  BROTLI_CODE_LENGTH_CODES,\r
+                                  code_length_bitdepth_symbols);\r
+\r
+  /* Now, we have all the data, let's start storing it */\r
+  BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask(num_codes, code_length_bitdepth,\r
+                                               storage_ix, storage);\r
+\r
+  if (num_codes == 1) {\r
+    code_length_bitdepth[code] = 0;\r
+  }\r
+\r
+  /* Store the real huffman tree now. */\r
+  BrotliStoreHuffmanTreeToBitMask(huffman_tree_size,\r
+                                  huffman_tree,\r
+                                  huffman_tree_extra_bits,\r
+                                  code_length_bitdepth,\r
+                                  code_length_bitdepth_symbols,\r
+                                  storage_ix, storage);\r
+}\r
+\r
+/* Builds a Huffman tree from histogram[0:length] into depth[0:length] and\r
+   bits[0:length] and stores the encoded tree to the bit stream. */\r
+static void BuildAndStoreHuffmanTree(const uint32_t *histogram,\r
+                                     const size_t length,\r
+                                     HuffmanTree* tree,\r
+                                     uint8_t* depth,\r
+                                     uint16_t* bits,\r
+                                     size_t* storage_ix,\r
+                                     uint8_t* storage) {\r
+  size_t count = 0;\r
+  size_t s4[4] = { 0 };\r
+  size_t i;\r
+  size_t max_bits = 0;\r
+  for (i = 0; i < length; i++) {\r
+    if (histogram[i]) {\r
+      if (count < 4) {\r
+        s4[count] = i;\r
+      } else if (count > 4) {\r
+        break;\r
+      }\r
+      count++;\r
+    }\r
+  }\r
+\r
+  {\r
+    size_t max_bits_counter = length - 1;\r
+    while (max_bits_counter) {\r
+      max_bits_counter >>= 1;\r
+      ++max_bits;\r
+    }\r
+  }\r
+\r
+  if (count <= 1) {\r
+    BrotliWriteBits(4, 1, storage_ix, storage);\r
+    BrotliWriteBits(max_bits, s4[0], storage_ix, storage);\r
+    depth[s4[0]] = 0;\r
+    bits[s4[0]] = 0;\r
+    return;\r
+  }\r
+\r
+  memset(depth, 0, length * sizeof(depth[0]));\r
+  BrotliCreateHuffmanTree(histogram, length, 15, tree, depth);\r
+  BrotliConvertBitDepthsToSymbols(depth, length, bits);\r
+\r
+  if (count <= 4) {\r
+    StoreSimpleHuffmanTree(depth, s4, count, max_bits, storage_ix, storage);\r
+  } else {\r
+    BrotliStoreHuffmanTree(depth, length, tree, storage_ix, storage);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL SortHuffmanTree(\r
+    const HuffmanTree* v0, const HuffmanTree* v1) {\r
+  return TO_BROTLI_BOOL(v0->total_count_ < v1->total_count_);\r
+}\r
+\r
+void BrotliBuildAndStoreHuffmanTreeFast(MemoryManager* m,\r
+                                        const uint32_t* histogram,\r
+                                        const size_t histogram_total,\r
+                                        const size_t max_bits,\r
+                                        uint8_t* depth, uint16_t* bits,\r
+                                        size_t* storage_ix,\r
+                                        uint8_t* storage) {\r
+  size_t count = 0;\r
+  size_t symbols[4] = { 0 };\r
+  size_t length = 0;\r
+  size_t total = histogram_total;\r
+  while (total != 0) {\r
+    if (histogram[length]) {\r
+      if (count < 4) {\r
+        symbols[count] = length;\r
+      }\r
+      ++count;\r
+      total -= histogram[length];\r
+    }\r
+    ++length;\r
+  }\r
+\r
+  if (count <= 1) {\r
+    BrotliWriteBits(4, 1, storage_ix, storage);\r
+    BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+    depth[symbols[0]] = 0;\r
+    bits[symbols[0]] = 0;\r
+    return;\r
+  }\r
+\r
+  memset(depth, 0, length * sizeof(depth[0]));\r
+  {\r
+    const size_t max_tree_size = 2 * length + 1;\r
+    HuffmanTree* tree = BROTLI_ALLOC(m, HuffmanTree, max_tree_size);\r
+    uint32_t count_limit;\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    for (count_limit = 1; ; count_limit *= 2) {\r
+      HuffmanTree* node = tree;\r
+      size_t l;\r
+      for (l = length; l != 0;) {\r
+        --l;\r
+        if (histogram[l]) {\r
+          if (PREDICT_TRUE(histogram[l] >= count_limit)) {\r
+            InitHuffmanTree(node, histogram[l], -1, (int16_t)l);\r
+          } else {\r
+            InitHuffmanTree(node, count_limit, -1, (int16_t)l);\r
+          }\r
+          ++node;\r
+        }\r
+      }\r
+      {\r
+        const int n = (int)(node - tree);\r
+        HuffmanTree sentinel;\r
+        int i = 0;      /* Points to the next leaf node. */\r
+        int j = n + 1;  /* Points to the next non-leaf node. */\r
+        int k;\r
+\r
+        SortHuffmanTreeItems(tree, (size_t)n, SortHuffmanTree);\r
+        /* The nodes are:\r
+           [0, n): the sorted leaf nodes that we start with.\r
+           [n]: we add a sentinel here.\r
+           [n + 1, 2n): new parent nodes are added here, starting from\r
+                        (n+1). These are naturally in ascending order.\r
+           [2n]: we add a sentinel at the end as well.\r
+           There will be (2n+1) elements at the end. */\r
+        InitHuffmanTree(&sentinel, BROTLI_UINT32_MAX, -1, -1);\r
+        *node++ = sentinel;\r
+        *node++ = sentinel;\r
+\r
+        for (k = n - 1; k > 0; --k) {\r
+          int left, right;\r
+          if (tree[i].total_count_ <= tree[j].total_count_) {\r
+            left = i;\r
+            ++i;\r
+          } else {\r
+            left = j;\r
+            ++j;\r
+          }\r
+          if (tree[i].total_count_ <= tree[j].total_count_) {\r
+            right = i;\r
+            ++i;\r
+          } else {\r
+            right = j;\r
+            ++j;\r
+          }\r
+          /* The sentinel node becomes the parent node. */\r
+          node[-1].total_count_ =\r
+              tree[left].total_count_ + tree[right].total_count_;\r
+          node[-1].index_left_ = (int16_t)left;\r
+          node[-1].index_right_or_value_ = (int16_t)right;\r
+          /* Add back the last sentinel node. */\r
+          *node++ = sentinel;\r
+        }\r
+        if (BrotliSetDepth(2 * n - 1, tree, depth, 14)) {\r
+          /* We need to pack the Huffman tree in 14 bits. If this was not\r
+             successful, add fake entities to the lowest values and retry. */\r
+          break;\r
+        }\r
+      }\r
+    }\r
+    BROTLI_FREE(m, tree);\r
+  }\r
+  BrotliConvertBitDepthsToSymbols(depth, length, bits);\r
+  if (count <= 4) {\r
+    size_t i;\r
+    /* value of 1 indicates a simple Huffman code */\r
+    BrotliWriteBits(2, 1, storage_ix, storage);\r
+    BrotliWriteBits(2, count - 1, storage_ix, storage);  /* NSYM - 1 */\r
+\r
+    /* Sort */\r
+    for (i = 0; i < count; i++) {\r
+      size_t j;\r
+      for (j = i + 1; j < count; j++) {\r
+        if (depth[symbols[j]] < depth[symbols[i]]) {\r
+          BROTLI_SWAP(size_t, symbols, j, i);\r
+        }\r
+      }\r
+    }\r
+\r
+    if (count == 2) {\r
+      BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+      BrotliWriteBits(max_bits, symbols[1], storage_ix, storage);\r
+    } else if (count == 3) {\r
+      BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+      BrotliWriteBits(max_bits, symbols[1], storage_ix, storage);\r
+      BrotliWriteBits(max_bits, symbols[2], storage_ix, storage);\r
+    } else {\r
+      BrotliWriteBits(max_bits, symbols[0], storage_ix, storage);\r
+      BrotliWriteBits(max_bits, symbols[1], storage_ix, storage);\r
+      BrotliWriteBits(max_bits, symbols[2], storage_ix, storage);\r
+      BrotliWriteBits(max_bits, symbols[3], storage_ix, storage);\r
+      /* tree-select */\r
+      BrotliWriteBits(1, depth[symbols[0]] == 1 ? 1 : 0, storage_ix, storage);\r
+    }\r
+  } else {\r
+    uint8_t previous_value = 8;\r
+    size_t i;\r
+    /* Complex Huffman Tree */\r
+    StoreStaticCodeLengthCode(storage_ix, storage);\r
+\r
+    /* Actual rle coding. */\r
+    for (i = 0; i < length;) {\r
+      const uint8_t value = depth[i];\r
+      size_t reps = 1;\r
+      size_t k;\r
+      for (k = i + 1; k < length && depth[k] == value; ++k) {\r
+        ++reps;\r
+      }\r
+      i += reps;\r
+      if (value == 0) {\r
+        BrotliWriteBits(kZeroRepsDepth[reps], kZeroRepsBits[reps],\r
+                        storage_ix, storage);\r
+      } else {\r
+        if (previous_value != value) {\r
+          BrotliWriteBits(kCodeLengthDepth[value], kCodeLengthBits[value],\r
+                          storage_ix, storage);\r
+          --reps;\r
+        }\r
+        if (reps < 3) {\r
+          while (reps != 0) {\r
+            reps--;\r
+            BrotliWriteBits(kCodeLengthDepth[value], kCodeLengthBits[value],\r
+                            storage_ix, storage);\r
+          }\r
+        } else {\r
+          reps -= 3;\r
+          BrotliWriteBits(kNonZeroRepsDepth[reps], kNonZeroRepsBits[reps],\r
+                          storage_ix, storage);\r
+        }\r
+        previous_value = value;\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+static size_t IndexOf(const uint8_t* v, size_t v_size, uint8_t value) {\r
+  size_t i = 0;\r
+  for (; i < v_size; ++i) {\r
+    if (v[i] == value) return i;\r
+  }\r
+  return i;\r
+}\r
+\r
+static void MoveToFront(uint8_t* v, size_t index) {\r
+  uint8_t value = v[index];\r
+  size_t i;\r
+  for (i = index; i != 0; --i) {\r
+    v[i] = v[i - 1];\r
+  }\r
+  v[0] = value;\r
+}\r
+\r
+static void MoveToFrontTransform(const uint32_t* BROTLI_RESTRICT v_in,\r
+                                 const size_t v_size,\r
+                                 uint32_t* v_out) {\r
+  size_t i;\r
+  uint8_t mtf[256];\r
+  uint32_t max_value;\r
+  if (v_size == 0) {\r
+    return;\r
+  }\r
+  max_value = v_in[0];\r
+  for (i = 1; i < v_size; ++i) {\r
+    if (v_in[i] > max_value) max_value = v_in[i];\r
+  }\r
+  assert(max_value < 256u);\r
+  for (i = 0; i <= max_value; ++i) {\r
+    mtf[i] = (uint8_t)i;\r
+  }\r
+  {\r
+    size_t mtf_size = max_value + 1;\r
+    for (i = 0; i < v_size; ++i) {\r
+      size_t index = IndexOf(mtf, mtf_size, (uint8_t)v_in[i]);\r
+      assert(index < mtf_size);\r
+      v_out[i] = (uint32_t)index;\r
+      MoveToFront(mtf, index);\r
+    }\r
+  }\r
+}\r
+\r
+/* Finds runs of zeros in v[0..in_size) and replaces them with a prefix code of\r
+   the run length plus extra bits (lower 9 bits is the prefix code and the rest\r
+   are the extra bits). Non-zero values in v[] are shifted by\r
+   *max_length_prefix. Will not create prefix codes bigger than the initial\r
+   value of *max_run_length_prefix. The prefix code of run length L is simply\r
+   Log2Floor(L) and the number of extra bits is the same as the prefix code. */\r
+static void RunLengthCodeZeros(const size_t in_size,\r
+    uint32_t* BROTLI_RESTRICT v, size_t* BROTLI_RESTRICT out_size,\r
+    uint32_t* BROTLI_RESTRICT max_run_length_prefix) {\r
+  uint32_t max_reps = 0;\r
+  size_t i;\r
+  uint32_t max_prefix;\r
+  for (i = 0; i < in_size;) {\r
+    uint32_t reps = 0;\r
+    for (; i < in_size && v[i] != 0; ++i) ;\r
+    for (; i < in_size && v[i] == 0; ++i) {\r
+      ++reps;\r
+    }\r
+    max_reps = BROTLI_MAX(uint32_t, reps, max_reps);\r
+  }\r
+  max_prefix = max_reps > 0 ? Log2FloorNonZero(max_reps) : 0;\r
+  max_prefix = BROTLI_MIN(uint32_t, max_prefix, *max_run_length_prefix);\r
+  *max_run_length_prefix = max_prefix;\r
+  *out_size = 0;\r
+  for (i = 0; i < in_size;) {\r
+    assert(*out_size <= i);\r
+    if (v[i] != 0) {\r
+      v[*out_size] = v[i] + *max_run_length_prefix;\r
+      ++i;\r
+      ++(*out_size);\r
+    } else {\r
+      uint32_t reps = 1;\r
+      size_t k;\r
+      for (k = i + 1; k < in_size && v[k] == 0; ++k) {\r
+        ++reps;\r
+      }\r
+      i += reps;\r
+      while (reps != 0) {\r
+        if (reps < (2u << max_prefix)) {\r
+          uint32_t run_length_prefix = Log2FloorNonZero(reps);\r
+          const uint32_t extra_bits = reps - (1u << run_length_prefix);\r
+          v[*out_size] = run_length_prefix + (extra_bits << 9);\r
+          ++(*out_size);\r
+          break;\r
+        } else {\r
+          const uint32_t extra_bits = (1u << max_prefix) - 1u;\r
+          v[*out_size] = max_prefix + (extra_bits << 9);\r
+          reps -= (2u << max_prefix) - 1u;\r
+          ++(*out_size);\r
+        }\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+#define SYMBOL_BITS 9\r
+\r
+static void EncodeContextMap(MemoryManager* m,\r
+                             const uint32_t* context_map,\r
+                             size_t context_map_size,\r
+                             size_t num_clusters,\r
+                             HuffmanTree* tree,\r
+                             size_t* storage_ix, uint8_t* storage) {\r
+  size_t i;\r
+  uint32_t* rle_symbols;\r
+  uint32_t max_run_length_prefix = 6;\r
+  size_t num_rle_symbols = 0;\r
+  uint32_t histogram[BROTLI_MAX_CONTEXT_MAP_SYMBOLS];\r
+  static const uint32_t kSymbolMask = (1u << SYMBOL_BITS) - 1u;\r
+  uint8_t depths[BROTLI_MAX_CONTEXT_MAP_SYMBOLS];\r
+  uint16_t bits[BROTLI_MAX_CONTEXT_MAP_SYMBOLS];\r
+\r
+  StoreVarLenUint8(num_clusters - 1, storage_ix, storage);\r
+\r
+  if (num_clusters == 1) {\r
+    return;\r
+  }\r
+\r
+  rle_symbols = BROTLI_ALLOC(m, uint32_t, context_map_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  MoveToFrontTransform(context_map, context_map_size, rle_symbols);\r
+  RunLengthCodeZeros(context_map_size, rle_symbols,\r
+                     &num_rle_symbols, &max_run_length_prefix);\r
+  memset(histogram, 0, sizeof(histogram));\r
+  for (i = 0; i < num_rle_symbols; ++i) {\r
+    ++histogram[rle_symbols[i] & kSymbolMask];\r
+  }\r
+  {\r
+    BROTLI_BOOL use_rle = TO_BROTLI_BOOL(max_run_length_prefix > 0);\r
+    BrotliWriteBits(1, (uint64_t)use_rle, storage_ix, storage);\r
+    if (use_rle) {\r
+      BrotliWriteBits(4, max_run_length_prefix - 1, storage_ix, storage);\r
+    }\r
+  }\r
+  BuildAndStoreHuffmanTree(histogram, num_clusters + max_run_length_prefix,\r
+                           tree, depths, bits, storage_ix, storage);\r
+  for (i = 0; i < num_rle_symbols; ++i) {\r
+    const uint32_t rle_symbol = rle_symbols[i] & kSymbolMask;\r
+    const uint32_t extra_bits_val = rle_symbols[i] >> SYMBOL_BITS;\r
+    BrotliWriteBits(depths[rle_symbol], bits[rle_symbol], storage_ix, storage);\r
+    if (rle_symbol > 0 && rle_symbol <= max_run_length_prefix) {\r
+      BrotliWriteBits(rle_symbol, extra_bits_val, storage_ix, storage);\r
+    }\r
+  }\r
+  BrotliWriteBits(1, 1, storage_ix, storage);  /* use move-to-front */\r
+  BROTLI_FREE(m, rle_symbols);\r
+}\r
+\r
+/* Stores the block switch command with index block_ix to the bit stream. */\r
+static BROTLI_INLINE void StoreBlockSwitch(BlockSplitCode* code,\r
+                                           const uint32_t block_len,\r
+                                           const uint8_t block_type,\r
+                                           BROTLI_BOOL is_first_block,\r
+                                           size_t* storage_ix,\r
+                                           uint8_t* storage) {\r
+  size_t typecode = NextBlockTypeCode(&code->type_code_calculator, block_type);\r
+  size_t lencode;\r
+  uint32_t len_nextra;\r
+  uint32_t len_extra;\r
+  if (!is_first_block) {\r
+    BrotliWriteBits(code->type_depths[typecode], code->type_bits[typecode],\r
+                    storage_ix, storage);\r
+  }\r
+  GetBlockLengthPrefixCode(block_len, &lencode, &len_nextra, &len_extra);\r
+\r
+  BrotliWriteBits(code->length_depths[lencode], code->length_bits[lencode],\r
+                  storage_ix, storage);\r
+  BrotliWriteBits(len_nextra, len_extra, storage_ix, storage);\r
+}\r
+\r
+/* Builds a BlockSplitCode data structure from the block split given by the\r
+   vector of block types and block lengths and stores it to the bit stream. */\r
+static void BuildAndStoreBlockSplitCode(const uint8_t* types,\r
+                                        const uint32_t* lengths,\r
+                                        const size_t num_blocks,\r
+                                        const size_t num_types,\r
+                                        HuffmanTree* tree,\r
+                                        BlockSplitCode* code,\r
+                                        size_t* storage_ix,\r
+                                        uint8_t* storage) {\r
+  uint32_t type_histo[BROTLI_MAX_BLOCK_TYPE_SYMBOLS];\r
+  uint32_t length_histo[BROTLI_NUM_BLOCK_LEN_SYMBOLS];\r
+  size_t i;\r
+  BlockTypeCodeCalculator type_code_calculator;\r
+  memset(type_histo, 0, (num_types + 2) * sizeof(type_histo[0]));\r
+  memset(length_histo, 0, sizeof(length_histo));\r
+  InitBlockTypeCodeCalculator(&type_code_calculator);\r
+  for (i = 0; i < num_blocks; ++i) {\r
+    size_t type_code = NextBlockTypeCode(&type_code_calculator, types[i]);\r
+    if (i != 0) ++type_histo[type_code];\r
+    ++length_histo[BlockLengthPrefixCode(lengths[i])];\r
+  }\r
+  StoreVarLenUint8(num_types - 1, storage_ix, storage);\r
+  if (num_types > 1) {  /* TODO: else? could StoreBlockSwitch occur? */\r
+    BuildAndStoreHuffmanTree(&type_histo[0], num_types + 2, tree,\r
+                             &code->type_depths[0], &code->type_bits[0],\r
+                             storage_ix, storage);\r
+    BuildAndStoreHuffmanTree(&length_histo[0], BROTLI_NUM_BLOCK_LEN_SYMBOLS,\r
+                             tree, &code->length_depths[0],\r
+                             &code->length_bits[0], storage_ix, storage);\r
+    StoreBlockSwitch(code, lengths[0], types[0], 1, storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* Stores a context map where the histogram type is always the block type. */\r
+static void StoreTrivialContextMap(size_t num_types,\r
+                                   size_t context_bits,\r
+                                   HuffmanTree* tree,\r
+                                   size_t* storage_ix,\r
+                                   uint8_t* storage) {\r
+  StoreVarLenUint8(num_types - 1, storage_ix, storage);\r
+  if (num_types > 1) {\r
+    size_t repeat_code = context_bits - 1u;\r
+    size_t repeat_bits = (1u << repeat_code) - 1u;\r
+    size_t alphabet_size = num_types + repeat_code;\r
+    uint32_t histogram[BROTLI_MAX_CONTEXT_MAP_SYMBOLS];\r
+    uint8_t depths[BROTLI_MAX_CONTEXT_MAP_SYMBOLS];\r
+    uint16_t bits[BROTLI_MAX_CONTEXT_MAP_SYMBOLS];\r
+    size_t i;\r
+    memset(histogram, 0, alphabet_size * sizeof(histogram[0]));\r
+    /* Write RLEMAX. */\r
+    BrotliWriteBits(1, 1, storage_ix, storage);\r
+    BrotliWriteBits(4, repeat_code - 1, storage_ix, storage);\r
+    histogram[repeat_code] = (uint32_t)num_types;\r
+    histogram[0] = 1;\r
+    for (i = context_bits; i < alphabet_size; ++i) {\r
+      histogram[i] = 1;\r
+    }\r
+    BuildAndStoreHuffmanTree(histogram, alphabet_size, tree,\r
+                             depths, bits, storage_ix, storage);\r
+    for (i = 0; i < num_types; ++i) {\r
+      size_t code = (i == 0 ? 0 : i + context_bits - 1);\r
+      BrotliWriteBits(depths[code], bits[code], storage_ix, storage);\r
+      BrotliWriteBits(\r
+          depths[repeat_code], bits[repeat_code], storage_ix, storage);\r
+      BrotliWriteBits(repeat_code, repeat_bits, storage_ix, storage);\r
+    }\r
+    /* Write IMTF (inverse-move-to-front) bit. */\r
+    BrotliWriteBits(1, 1, storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* Manages the encoding of one block category (literal, command or distance). */\r
+typedef struct BlockEncoder {\r
+  size_t alphabet_size_;\r
+  size_t num_block_types_;\r
+  const uint8_t* block_types_;  /* Not owned. */\r
+  const uint32_t* block_lengths_;  /* Not owned. */\r
+  size_t num_blocks_;\r
+  BlockSplitCode block_split_code_;\r
+  size_t block_ix_;\r
+  size_t block_len_;\r
+  size_t entropy_ix_;\r
+  uint8_t* depths_;\r
+  uint16_t* bits_;\r
+} BlockEncoder;\r
+\r
+static void InitBlockEncoder(BlockEncoder* self, size_t alphabet_size,\r
+    size_t num_block_types, const uint8_t* block_types,\r
+    const uint32_t* block_lengths, const size_t num_blocks) {\r
+  self->alphabet_size_ = alphabet_size;\r
+  self->num_block_types_ = num_block_types;\r
+  self->block_types_ = block_types;\r
+  self->block_lengths_ = block_lengths;\r
+  self->num_blocks_ = num_blocks;\r
+  InitBlockTypeCodeCalculator(&self->block_split_code_.type_code_calculator);\r
+  self->block_ix_ = 0;\r
+  self->block_len_ = num_blocks == 0 ? 0 : block_lengths[0];\r
+  self->entropy_ix_ = 0;\r
+  self->depths_ = 0;\r
+  self->bits_ = 0;\r
+}\r
+\r
+static void CleanupBlockEncoder(MemoryManager* m, BlockEncoder* self) {\r
+  BROTLI_FREE(m, self->depths_);\r
+  BROTLI_FREE(m, self->bits_);\r
+}\r
+\r
+/* Creates entropy codes of block lengths and block types and stores them\r
+   to the bit stream. */\r
+static void BuildAndStoreBlockSwitchEntropyCodes(BlockEncoder* self,\r
+    HuffmanTree* tree, size_t* storage_ix, uint8_t* storage) {\r
+  BuildAndStoreBlockSplitCode(self->block_types_, self->block_lengths_,\r
+      self->num_blocks_, self->num_block_types_, tree, &self->block_split_code_,\r
+      storage_ix, storage);\r
+}\r
+\r
+/* Stores the next symbol with the entropy code of the current block type.\r
+   Updates the block type and block length at block boundaries. */\r
+static void StoreSymbol(BlockEncoder* self, size_t symbol, size_t* storage_ix,\r
+    uint8_t* storage) {\r
+  if (self->block_len_ == 0) {\r
+    size_t block_ix = ++self->block_ix_;\r
+    uint32_t block_len = self->block_lengths_[block_ix];\r
+    uint8_t block_type = self->block_types_[block_ix];\r
+    self->block_len_ = block_len;\r
+    self->entropy_ix_ = block_type * self->alphabet_size_;\r
+    StoreBlockSwitch(&self->block_split_code_, block_len, block_type, 0,\r
+        storage_ix, storage);\r
+  }\r
+  --self->block_len_;\r
+  {\r
+    size_t ix = self->entropy_ix_ + symbol;\r
+    BrotliWriteBits(self->depths_[ix], self->bits_[ix], storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* Stores the next symbol with the entropy code of the current block type and\r
+   context value.\r
+   Updates the block type and block length at block boundaries. */\r
+static void StoreSymbolWithContext(BlockEncoder* self, size_t symbol,\r
+    size_t context, const uint32_t* context_map, size_t* storage_ix,\r
+    uint8_t* storage, const size_t context_bits) {\r
+  if (self->block_len_ == 0) {\r
+    size_t block_ix = ++self->block_ix_;\r
+    uint32_t block_len = self->block_lengths_[block_ix];\r
+    uint8_t block_type = self->block_types_[block_ix];\r
+    self->block_len_ = block_len;\r
+    self->entropy_ix_ = (size_t)block_type << context_bits;\r
+    StoreBlockSwitch(&self->block_split_code_, block_len, block_type, 0,\r
+        storage_ix, storage);\r
+  }\r
+  --self->block_len_;\r
+  {\r
+    size_t histo_ix = context_map[self->entropy_ix_ + context];\r
+    size_t ix = histo_ix * self->alphabet_size_ + symbol;\r
+    BrotliWriteBits(self->depths_[ix], self->bits_[ix], storage_ix, storage);\r
+  }\r
+}\r
+\r
+#define FN(X) X ## Literal\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./block_encoder_inc.h"\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./block_encoder_inc.h"\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+/* NOLINTNEXTLINE(build/include) */\r
+#include "./block_encoder_inc.h"\r
+#undef FN\r
+\r
+static void JumpToByteBoundary(size_t* storage_ix, uint8_t* storage) {\r
+  *storage_ix = (*storage_ix + 7u) & ~7u;\r
+  storage[*storage_ix >> 3] = 0;\r
+}\r
+\r
+void BrotliStoreMetaBlock(MemoryManager* m,\r
+                          const uint8_t* input,\r
+                          size_t start_pos,\r
+                          size_t length,\r
+                          size_t mask,\r
+                          uint8_t prev_byte,\r
+                          uint8_t prev_byte2,\r
+                          BROTLI_BOOL is_last,\r
+                          uint32_t num_direct_distance_codes,\r
+                          uint32_t distance_postfix_bits,\r
+                          ContextType literal_context_mode,\r
+                          const Command *commands,\r
+                          size_t n_commands,\r
+                          const MetaBlockSplit* mb,\r
+                          size_t *storage_ix,\r
+                          uint8_t *storage) {\r
+  size_t pos = start_pos;\r
+  size_t i;\r
+  size_t num_distance_codes =\r
+      BROTLI_NUM_DISTANCE_SHORT_CODES + num_direct_distance_codes +\r
+      (48u << distance_postfix_bits);\r
+  HuffmanTree* tree;\r
+  BlockEncoder literal_enc;\r
+  BlockEncoder command_enc;\r
+  BlockEncoder distance_enc;\r
+\r
+  StoreCompressedMetaBlockHeader(is_last, length, storage_ix, storage);\r
+\r
+  tree = BROTLI_ALLOC(m, HuffmanTree, MAX_HUFFMAN_TREE_SIZE);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitBlockEncoder(&literal_enc, 256, mb->literal_split.num_types,\r
+      mb->literal_split.types, mb->literal_split.lengths,\r
+      mb->literal_split.num_blocks);\r
+  InitBlockEncoder(&command_enc, BROTLI_NUM_COMMAND_SYMBOLS,\r
+      mb->command_split.num_types, mb->command_split.types,\r
+      mb->command_split.lengths, mb->command_split.num_blocks);\r
+  InitBlockEncoder(&distance_enc, num_distance_codes,\r
+      mb->distance_split.num_types, mb->distance_split.types,\r
+      mb->distance_split.lengths, mb->distance_split.num_blocks);\r
+\r
+  BuildAndStoreBlockSwitchEntropyCodes(&literal_enc, tree, storage_ix, storage);\r
+  BuildAndStoreBlockSwitchEntropyCodes(&command_enc, tree, storage_ix, storage);\r
+  BuildAndStoreBlockSwitchEntropyCodes(\r
+      &distance_enc, tree, storage_ix, storage);\r
+\r
+  BrotliWriteBits(2, distance_postfix_bits, storage_ix, storage);\r
+  BrotliWriteBits(4, num_direct_distance_codes >> distance_postfix_bits,\r
+                  storage_ix, storage);\r
+  for (i = 0; i < mb->literal_split.num_types; ++i) {\r
+    BrotliWriteBits(2, literal_context_mode, storage_ix, storage);\r
+  }\r
+\r
+  if (mb->literal_context_map_size == 0) {\r
+    StoreTrivialContextMap(mb->literal_histograms_size,\r
+        BROTLI_LITERAL_CONTEXT_BITS, tree, storage_ix, storage);\r
+  } else {\r
+    EncodeContextMap(m,\r
+        mb->literal_context_map, mb->literal_context_map_size,\r
+        mb->literal_histograms_size, tree, storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+  }\r
+\r
+  if (mb->distance_context_map_size == 0) {\r
+    StoreTrivialContextMap(mb->distance_histograms_size,\r
+        BROTLI_DISTANCE_CONTEXT_BITS, tree, storage_ix, storage);\r
+  } else {\r
+    EncodeContextMap(m,\r
+        mb->distance_context_map, mb->distance_context_map_size,\r
+        mb->distance_histograms_size, tree, storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+  }\r
+\r
+  BuildAndStoreEntropyCodesLiteral(m, &literal_enc, mb->literal_histograms,\r
+      mb->literal_histograms_size, tree, storage_ix, storage);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BuildAndStoreEntropyCodesCommand(m, &command_enc, mb->command_histograms,\r
+      mb->command_histograms_size, tree, storage_ix, storage);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BuildAndStoreEntropyCodesDistance(m, &distance_enc, mb->distance_histograms,\r
+      mb->distance_histograms_size, tree, storage_ix, storage);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BROTLI_FREE(m, tree);\r
+\r
+  for (i = 0; i < n_commands; ++i) {\r
+    const Command cmd = commands[i];\r
+    size_t cmd_code = cmd.cmd_prefix_;\r
+    StoreSymbol(&command_enc, cmd_code, storage_ix, storage);\r
+    StoreCommandExtra(&cmd, storage_ix, storage);\r
+    if (mb->literal_context_map_size == 0) {\r
+      size_t j;\r
+      for (j = cmd.insert_len_; j != 0; --j) {\r
+        StoreSymbol(&literal_enc, input[pos & mask], storage_ix, storage);\r
+        ++pos;\r
+      }\r
+    } else {\r
+      size_t j;\r
+      for (j = cmd.insert_len_; j != 0; --j) {\r
+        size_t context = Context(prev_byte, prev_byte2, literal_context_mode);\r
+        uint8_t literal = input[pos & mask];\r
+        StoreSymbolWithContext(&literal_enc, literal, context,\r
+            mb->literal_context_map, storage_ix, storage,\r
+            BROTLI_LITERAL_CONTEXT_BITS);\r
+        prev_byte2 = prev_byte;\r
+        prev_byte = literal;\r
+        ++pos;\r
+      }\r
+    }\r
+    pos += CommandCopyLen(&cmd);\r
+    if (CommandCopyLen(&cmd)) {\r
+      prev_byte2 = input[(pos - 2) & mask];\r
+      prev_byte = input[(pos - 1) & mask];\r
+      if (cmd.cmd_prefix_ >= 128) {\r
+        size_t dist_code = cmd.dist_prefix_;\r
+        uint32_t distnumextra = cmd.dist_extra_ >> 24;\r
+        uint64_t distextra = cmd.dist_extra_ & 0xffffff;\r
+        if (mb->distance_context_map_size == 0) {\r
+          StoreSymbol(&distance_enc, dist_code, storage_ix, storage);\r
+        } else {\r
+          size_t context = CommandDistanceContext(&cmd);\r
+          StoreSymbolWithContext(&distance_enc, dist_code, context,\r
+              mb->distance_context_map, storage_ix, storage,\r
+              BROTLI_DISTANCE_CONTEXT_BITS);\r
+        }\r
+        BrotliWriteBits(distnumextra, distextra, storage_ix, storage);\r
+      }\r
+    }\r
+  }\r
+  CleanupBlockEncoder(m, &distance_enc);\r
+  CleanupBlockEncoder(m, &command_enc);\r
+  CleanupBlockEncoder(m, &literal_enc);\r
+  if (is_last) {\r
+    JumpToByteBoundary(storage_ix, storage);\r
+  }\r
+}\r
+\r
+static void BuildHistograms(const uint8_t* input,\r
+                            size_t start_pos,\r
+                            size_t mask,\r
+                            const Command *commands,\r
+                            size_t n_commands,\r
+                            HistogramLiteral* lit_histo,\r
+                            HistogramCommand* cmd_histo,\r
+                            HistogramDistance* dist_histo) {\r
+  size_t pos = start_pos;\r
+  size_t i;\r
+  for (i = 0; i < n_commands; ++i) {\r
+    const Command cmd = commands[i];\r
+    size_t j;\r
+    HistogramAddCommand(cmd_histo, cmd.cmd_prefix_);\r
+    for (j = cmd.insert_len_; j != 0; --j) {\r
+      HistogramAddLiteral(lit_histo, input[pos & mask]);\r
+      ++pos;\r
+    }\r
+    pos += CommandCopyLen(&cmd);\r
+    if (CommandCopyLen(&cmd) && cmd.cmd_prefix_ >= 128) {\r
+      HistogramAddDistance(dist_histo, cmd.dist_prefix_);\r
+    }\r
+  }\r
+}\r
+\r
+static void StoreDataWithHuffmanCodes(const uint8_t* input,\r
+                                      size_t start_pos,\r
+                                      size_t mask,\r
+                                      const Command *commands,\r
+                                      size_t n_commands,\r
+                                      const uint8_t* lit_depth,\r
+                                      const uint16_t* lit_bits,\r
+                                      const uint8_t* cmd_depth,\r
+                                      const uint16_t* cmd_bits,\r
+                                      const uint8_t* dist_depth,\r
+                                      const uint16_t* dist_bits,\r
+                                      size_t* storage_ix,\r
+                                      uint8_t* storage) {\r
+  size_t pos = start_pos;\r
+  size_t i;\r
+  for (i = 0; i < n_commands; ++i) {\r
+    const Command cmd = commands[i];\r
+    const size_t cmd_code = cmd.cmd_prefix_;\r
+    size_t j;\r
+    BrotliWriteBits(\r
+        cmd_depth[cmd_code], cmd_bits[cmd_code], storage_ix, storage);\r
+    StoreCommandExtra(&cmd, storage_ix, storage);\r
+    for (j = cmd.insert_len_; j != 0; --j) {\r
+      const uint8_t literal = input[pos & mask];\r
+      BrotliWriteBits(\r
+          lit_depth[literal], lit_bits[literal], storage_ix, storage);\r
+      ++pos;\r
+    }\r
+    pos += CommandCopyLen(&cmd);\r
+    if (CommandCopyLen(&cmd) && cmd.cmd_prefix_ >= 128) {\r
+      const size_t dist_code = cmd.dist_prefix_;\r
+      const uint32_t distnumextra = cmd.dist_extra_ >> 24;\r
+      const uint32_t distextra = cmd.dist_extra_ & 0xffffff;\r
+      BrotliWriteBits(dist_depth[dist_code], dist_bits[dist_code],\r
+                      storage_ix, storage);\r
+      BrotliWriteBits(distnumextra, distextra, storage_ix, storage);\r
+    }\r
+  }\r
+}\r
+\r
+void BrotliStoreMetaBlockTrivial(MemoryManager* m,\r
+                                 const uint8_t* input,\r
+                                 size_t start_pos,\r
+                                 size_t length,\r
+                                 size_t mask,\r
+                                 BROTLI_BOOL is_last,\r
+                                 const Command *commands,\r
+                                 size_t n_commands,\r
+                                 size_t *storage_ix,\r
+                                 uint8_t *storage) {\r
+  HistogramLiteral lit_histo;\r
+  HistogramCommand cmd_histo;\r
+  HistogramDistance dist_histo;\r
+  uint8_t lit_depth[256];\r
+  uint16_t lit_bits[256];\r
+  uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  uint16_t cmd_bits[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  uint8_t dist_depth[64];\r
+  uint16_t dist_bits[64];\r
+  HuffmanTree* tree;\r
+\r
+  StoreCompressedMetaBlockHeader(is_last, length, storage_ix, storage);\r
+\r
+  HistogramClearLiteral(&lit_histo);\r
+  HistogramClearCommand(&cmd_histo);\r
+  HistogramClearDistance(&dist_histo);\r
+\r
+  BuildHistograms(input, start_pos, mask, commands, n_commands,\r
+                  &lit_histo, &cmd_histo, &dist_histo);\r
+\r
+  BrotliWriteBits(13, 0, storage_ix, storage);\r
+\r
+  tree = BROTLI_ALLOC(m, HuffmanTree, MAX_HUFFMAN_TREE_SIZE);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BuildAndStoreHuffmanTree(lit_histo.data_, 256, tree,\r
+                           lit_depth, lit_bits,\r
+                           storage_ix, storage);\r
+  BuildAndStoreHuffmanTree(cmd_histo.data_, BROTLI_NUM_COMMAND_SYMBOLS, tree,\r
+                           cmd_depth, cmd_bits,\r
+                           storage_ix, storage);\r
+  BuildAndStoreHuffmanTree(dist_histo.data_, 64, tree,\r
+                           dist_depth, dist_bits,\r
+                           storage_ix, storage);\r
+  BROTLI_FREE(m, tree);\r
+  StoreDataWithHuffmanCodes(input, start_pos, mask, commands,\r
+                            n_commands, lit_depth, lit_bits,\r
+                            cmd_depth, cmd_bits,\r
+                            dist_depth, dist_bits,\r
+                            storage_ix, storage);\r
+  if (is_last) {\r
+    JumpToByteBoundary(storage_ix, storage);\r
+  }\r
+}\r
+\r
+void BrotliStoreMetaBlockFast(MemoryManager* m,\r
+                              const uint8_t* input,\r
+                              size_t start_pos,\r
+                              size_t length,\r
+                              size_t mask,\r
+                              BROTLI_BOOL is_last,\r
+                              const Command *commands,\r
+                              size_t n_commands,\r
+                              size_t *storage_ix,\r
+                              uint8_t *storage) {\r
+  StoreCompressedMetaBlockHeader(is_last, length, storage_ix, storage);\r
+\r
+  BrotliWriteBits(13, 0, storage_ix, storage);\r
+\r
+  if (n_commands <= 128) {\r
+    uint32_t histogram[BROTLI_NUM_LITERAL_SYMBOLS] = { 0 };\r
+    size_t pos = start_pos;\r
+    size_t num_literals = 0;\r
+    size_t i;\r
+    uint8_t lit_depth[BROTLI_NUM_LITERAL_SYMBOLS];\r
+    uint16_t lit_bits[BROTLI_NUM_LITERAL_SYMBOLS];\r
+    for (i = 0; i < n_commands; ++i) {\r
+      const Command cmd = commands[i];\r
+      size_t j;\r
+      for (j = cmd.insert_len_; j != 0; --j) {\r
+        ++histogram[input[pos & mask]];\r
+        ++pos;\r
+      }\r
+      num_literals += cmd.insert_len_;\r
+      pos += CommandCopyLen(&cmd);\r
+    }\r
+    BrotliBuildAndStoreHuffmanTreeFast(m, histogram, num_literals,\r
+                                       /* max_bits = */ 8,\r
+                                       lit_depth, lit_bits,\r
+                                       storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    StoreStaticCommandHuffmanTree(storage_ix, storage);\r
+    StoreStaticDistanceHuffmanTree(storage_ix, storage);\r
+    StoreDataWithHuffmanCodes(input, start_pos, mask, commands,\r
+                              n_commands, lit_depth, lit_bits,\r
+                              kStaticCommandCodeDepth,\r
+                              kStaticCommandCodeBits,\r
+                              kStaticDistanceCodeDepth,\r
+                              kStaticDistanceCodeBits,\r
+                              storage_ix, storage);\r
+  } else {\r
+    HistogramLiteral lit_histo;\r
+    HistogramCommand cmd_histo;\r
+    HistogramDistance dist_histo;\r
+    uint8_t lit_depth[BROTLI_NUM_LITERAL_SYMBOLS];\r
+    uint16_t lit_bits[BROTLI_NUM_LITERAL_SYMBOLS];\r
+    uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS];\r
+    uint16_t cmd_bits[BROTLI_NUM_COMMAND_SYMBOLS];\r
+    uint8_t dist_depth[64];\r
+    uint16_t dist_bits[64];\r
+    HistogramClearLiteral(&lit_histo);\r
+    HistogramClearCommand(&cmd_histo);\r
+    HistogramClearDistance(&dist_histo);\r
+    BuildHistograms(input, start_pos, mask, commands, n_commands,\r
+                    &lit_histo, &cmd_histo, &dist_histo);\r
+    BrotliBuildAndStoreHuffmanTreeFast(m, lit_histo.data_,\r
+                                       lit_histo.total_count_,\r
+                                       /* max_bits = */ 8,\r
+                                       lit_depth, lit_bits,\r
+                                       storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    BrotliBuildAndStoreHuffmanTreeFast(m, cmd_histo.data_,\r
+                                       cmd_histo.total_count_,\r
+                                       /* max_bits = */ 10,\r
+                                       cmd_depth, cmd_bits,\r
+                                       storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    BrotliBuildAndStoreHuffmanTreeFast(m, dist_histo.data_,\r
+                                       dist_histo.total_count_,\r
+                                       /* max_bits = */ 6,\r
+                                       dist_depth, dist_bits,\r
+                                       storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    StoreDataWithHuffmanCodes(input, start_pos, mask, commands,\r
+                              n_commands, lit_depth, lit_bits,\r
+                              cmd_depth, cmd_bits,\r
+                              dist_depth, dist_bits,\r
+                              storage_ix, storage);\r
+  }\r
+\r
+  if (is_last) {\r
+    JumpToByteBoundary(storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* This is for storing uncompressed blocks (simple raw storage of\r
+   bytes-as-bytes). */\r
+void BrotliStoreUncompressedMetaBlock(BROTLI_BOOL is_final_block,\r
+                                      const uint8_t * BROTLI_RESTRICT input,\r
+                                      size_t position, size_t mask,\r
+                                      size_t len,\r
+                                      size_t * BROTLI_RESTRICT storage_ix,\r
+                                      uint8_t * BROTLI_RESTRICT storage) {\r
+  size_t masked_pos = position & mask;\r
+  BrotliStoreUncompressedMetaBlockHeader(len, storage_ix, storage);\r
+  JumpToByteBoundary(storage_ix, storage);\r
+\r
+  if (masked_pos + len > mask + 1) {\r
+    size_t len1 = mask + 1 - masked_pos;\r
+    memcpy(&storage[*storage_ix >> 3], &input[masked_pos], len1);\r
+    *storage_ix += len1 << 3;\r
+    len -= len1;\r
+    masked_pos = 0;\r
+  }\r
+  memcpy(&storage[*storage_ix >> 3], &input[masked_pos], len);\r
+  *storage_ix += len << 3;\r
+\r
+  /* We need to clear the next 4 bytes to continue to be\r
+     compatible with BrotliWriteBits. */\r
+  BrotliWriteBitsPrepareStorage(*storage_ix, storage);\r
+\r
+  /* Since the uncompressed block itself may not be the final block, add an\r
+     empty one after this. */\r
+  if (is_final_block) {\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* islast */\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* isempty */\r
+    JumpToByteBoundary(storage_ix, storage);\r
+  }\r
+}\r
+\r
+void BrotliStoreSyncMetaBlock(size_t* BROTLI_RESTRICT storage_ix,\r
+                              uint8_t* BROTLI_RESTRICT storage) {\r
+  /* Empty metadata meta-block bit pattern:\r
+       1 bit:  is_last (0)\r
+       2 bits: num nibbles (3)\r
+       1 bit:  reserved (0)\r
+       2 bits: metadata length bytes (0) */\r
+  BrotliWriteBits(6, 6, storage_ix, storage);\r
+  JumpToByteBoundary(storage_ix, storage);\r
+}\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h b/BaseTools/Source/C/BrotliCompress/enc/brotli_bit_stream.h
new file mode 100644 (file)
index 0000000..6f6a00c
--- /dev/null
@@ -0,0 +1,107 @@
+/* Copyright 2014 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions to convert brotli-related data structures into the\r
+   brotli bit stream. The functions here operate under\r
+   assumption that there is enough space in the storage, i.e., there are\r
+   no out-of-range checks anywhere.\r
+\r
+   These functions do bit addressing into a byte array. The byte array\r
+   is called "storage" and the index to the bit is called storage_ix\r
+   in function arguments. */\r
+\r
+#ifndef BROTLI_ENC_BROTLI_BIT_STREAM_H_\r
+#define BROTLI_ENC_BROTLI_BIT_STREAM_H_\r
+\r
+#include "../common/types.h"\r
+#include "./command.h"\r
+#include "./context.h"\r
+#include "./entropy_encode.h"\r
+#include "./memory.h"\r
+#include "./metablock.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* All Store functions here will use a storage_ix, which is always the bit\r
+   position for the current storage. */\r
+\r
+BROTLI_INTERNAL void BrotliStoreHuffmanTree(const uint8_t* depths, size_t num,\r
+    HuffmanTree* tree, size_t *storage_ix, uint8_t *storage);\r
+\r
+BROTLI_INTERNAL void BrotliBuildAndStoreHuffmanTreeFast(\r
+    MemoryManager* m, const uint32_t* histogram, const size_t histogram_total,\r
+    const size_t max_bits, uint8_t* depth, uint16_t* bits, size_t* storage_ix,\r
+    uint8_t* storage);\r
+\r
+/* REQUIRES: length > 0 */\r
+/* REQUIRES: length <= (1 << 24) */\r
+BROTLI_INTERNAL void BrotliStoreMetaBlock(MemoryManager* m,\r
+                                          const uint8_t* input,\r
+                                          size_t start_pos,\r
+                                          size_t length,\r
+                                          size_t mask,\r
+                                          uint8_t prev_byte,\r
+                                          uint8_t prev_byte2,\r
+                                          BROTLI_BOOL is_final_block,\r
+                                          uint32_t num_direct_distance_codes,\r
+                                          uint32_t distance_postfix_bits,\r
+                                          ContextType literal_context_mode,\r
+                                          const Command* commands,\r
+                                          size_t n_commands,\r
+                                          const MetaBlockSplit* mb,\r
+                                          size_t* storage_ix,\r
+                                          uint8_t* storage);\r
+\r
+/* Stores the meta-block without doing any block splitting, just collects\r
+   one histogram per block category and uses that for entropy coding.\r
+   REQUIRES: length > 0\r
+   REQUIRES: length <= (1 << 24) */\r
+BROTLI_INTERNAL void BrotliStoreMetaBlockTrivial(MemoryManager* m,\r
+                                                 const uint8_t* input,\r
+                                                 size_t start_pos,\r
+                                                 size_t length,\r
+                                                 size_t mask,\r
+                                                 BROTLI_BOOL is_last,\r
+                                                 const Command *commands,\r
+                                                 size_t n_commands,\r
+                                                 size_t* storage_ix,\r
+                                                 uint8_t* storage);\r
+\r
+/* Same as above, but uses static prefix codes for histograms with a only a few\r
+   symbols, and uses static code length prefix codes for all other histograms.\r
+   REQUIRES: length > 0\r
+   REQUIRES: length <= (1 << 24) */\r
+BROTLI_INTERNAL void BrotliStoreMetaBlockFast(MemoryManager* m,\r
+                                              const uint8_t* input,\r
+                                              size_t start_pos,\r
+                                              size_t length,\r
+                                              size_t mask,\r
+                                              BROTLI_BOOL is_last,\r
+                                              const Command *commands,\r
+                                              size_t n_commands,\r
+                                              size_t* storage_ix,\r
+                                              uint8_t* storage);\r
+\r
+/* This is for storing uncompressed blocks (simple raw storage of\r
+   bytes-as-bytes).\r
+   REQUIRES: length > 0\r
+   REQUIRES: length <= (1 << 24) */\r
+BROTLI_INTERNAL void BrotliStoreUncompressedMetaBlock(\r
+    BROTLI_BOOL is_final_block, const uint8_t* input, size_t position,\r
+    size_t mask, size_t len, size_t* storage_ix, uint8_t* storage);\r
+\r
+/* Stores an empty metadata meta-block and syncs to a byte boundary. */\r
+BROTLI_INTERNAL void BrotliStoreSyncMetaBlock(size_t* storage_ix,\r
+                                              uint8_t* storage);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_BROTLI_BIT_STREAM_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/cluster.c b/BaseTools/Source/C/BrotliCompress/enc/cluster.c
new file mode 100644 (file)
index 0000000..46cdda5
--- /dev/null
@@ -0,0 +1,56 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions for clustering similar histograms together. */\r
+\r
+#include "./cluster.h"\r
+\r
+#include "../common/types.h"\r
+#include "./bit_cost.h"  /* BrotliPopulationCost */\r
+#include "./fast_log.h"\r
+#include "./histogram.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static BROTLI_INLINE BROTLI_BOOL HistogramPairIsLess(\r
+    const HistogramPair* p1, const HistogramPair* p2) {\r
+  if (p1->cost_diff != p2->cost_diff) {\r
+    return TO_BROTLI_BOOL(p1->cost_diff > p2->cost_diff);\r
+  }\r
+  return TO_BROTLI_BOOL((p1->idx2 - p1->idx1) > (p2->idx2 - p2->idx1));\r
+}\r
+\r
+/* Returns entropy reduction of the context map when we combine two clusters. */\r
+static BROTLI_INLINE double ClusterCostDiff(size_t size_a, size_t size_b) {\r
+  size_t size_c = size_a + size_b;\r
+  return (double)size_a * FastLog2(size_a) +\r
+    (double)size_b * FastLog2(size_b) -\r
+    (double)size_c * FastLog2(size_c);\r
+}\r
+\r
+#define CODE(X) X\r
+\r
+#define FN(X) X ## Literal\r
+#include "./cluster_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+#include "./cluster_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+#include "./cluster_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#undef CODE\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/cluster.h b/BaseTools/Source/C/BrotliCompress/enc/cluster.h
new file mode 100644 (file)
index 0000000..048660e
--- /dev/null
@@ -0,0 +1,48 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions for clustering similar histograms together. */\r
+\r
+#ifndef BROTLI_ENC_CLUSTER_H_\r
+#define BROTLI_ENC_CLUSTER_H_\r
+\r
+#include "../common/types.h"\r
+#include "./histogram.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct HistogramPair {\r
+  uint32_t idx1;\r
+  uint32_t idx2;\r
+  double cost_combo;\r
+  double cost_diff;\r
+} HistogramPair;\r
+\r
+#define CODE(X) /* Declaration */;\r
+\r
+#define FN(X) X ## Literal\r
+#include "./cluster_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+#include "./cluster_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+#include "./cluster_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#undef CODE\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_CLUSTER_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h b/BaseTools/Source/C/BrotliCompress/enc/cluster_inc.h
new file mode 100644 (file)
index 0000000..c4689c4
--- /dev/null
@@ -0,0 +1,315 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN, CODE */\r
+\r
+#define HistogramType FN(Histogram)\r
+\r
+/* Computes the bit cost reduction by combining out[idx1] and out[idx2] and if\r
+   it is below a threshold, stores the pair (idx1, idx2) in the *pairs queue. */\r
+BROTLI_INTERNAL void FN(BrotliCompareAndPushToQueue)(\r
+    const HistogramType* out, const uint32_t* cluster_size, uint32_t idx1,\r
+    uint32_t idx2, size_t max_num_pairs, HistogramPair* pairs,\r
+    size_t* num_pairs) CODE({\r
+  BROTLI_BOOL is_good_pair = BROTLI_FALSE;\r
+  HistogramPair p;\r
+  if (idx1 == idx2) {\r
+    return;\r
+  }\r
+  if (idx2 < idx1) {\r
+    uint32_t t = idx2;\r
+    idx2 = idx1;\r
+    idx1 = t;\r
+  }\r
+  p.idx1 = idx1;\r
+  p.idx2 = idx2;\r
+  p.cost_diff = 0.5 * ClusterCostDiff(cluster_size[idx1], cluster_size[idx2]);\r
+  p.cost_diff -= out[idx1].bit_cost_;\r
+  p.cost_diff -= out[idx2].bit_cost_;\r
+\r
+  if (out[idx1].total_count_ == 0) {\r
+    p.cost_combo = out[idx2].bit_cost_;\r
+    is_good_pair = BROTLI_TRUE;\r
+  } else if (out[idx2].total_count_ == 0) {\r
+    p.cost_combo = out[idx1].bit_cost_;\r
+    is_good_pair = BROTLI_TRUE;\r
+  } else {\r
+    double threshold = *num_pairs == 0 ? 1e99 :\r
+        BROTLI_MAX(double, 0.0, pairs[0].cost_diff);\r
+    HistogramType combo = out[idx1];\r
+    double cost_combo;\r
+    FN(HistogramAddHistogram)(&combo, &out[idx2]);\r
+    cost_combo = FN(BrotliPopulationCost)(&combo);\r
+    if (cost_combo < threshold - p.cost_diff) {\r
+      p.cost_combo = cost_combo;\r
+      is_good_pair = BROTLI_TRUE;\r
+    }\r
+  }\r
+  if (is_good_pair) {\r
+    p.cost_diff += p.cost_combo;\r
+    if (*num_pairs > 0 && HistogramPairIsLess(&pairs[0], &p)) {\r
+      /* Replace the top of the queue if needed. */\r
+      if (*num_pairs < max_num_pairs) {\r
+        pairs[*num_pairs] = pairs[0];\r
+        ++(*num_pairs);\r
+      }\r
+      pairs[0] = p;\r
+    } else if (*num_pairs < max_num_pairs) {\r
+      pairs[*num_pairs] = p;\r
+      ++(*num_pairs);\r
+    }\r
+  }\r
+})\r
+\r
+BROTLI_INTERNAL size_t FN(BrotliHistogramCombine)(HistogramType* out,\r
+                                                  uint32_t* cluster_size,\r
+                                                  uint32_t* symbols,\r
+                                                  uint32_t* clusters,\r
+                                                  HistogramPair* pairs,\r
+                                                  size_t num_clusters,\r
+                                                  size_t symbols_size,\r
+                                                  size_t max_clusters,\r
+                                                  size_t max_num_pairs) CODE({\r
+  double cost_diff_threshold = 0.0;\r
+  size_t min_cluster_size = 1;\r
+  size_t num_pairs = 0;\r
+\r
+  {\r
+    /* We maintain a vector of histogram pairs, with the property that the pair\r
+       with the maximum bit cost reduction is the first. */\r
+    size_t idx1;\r
+    for (idx1 = 0; idx1 < num_clusters; ++idx1) {\r
+      size_t idx2;\r
+      for (idx2 = idx1 + 1; idx2 < num_clusters; ++idx2) {\r
+        FN(BrotliCompareAndPushToQueue)(out, cluster_size, clusters[idx1],\r
+            clusters[idx2], max_num_pairs, &pairs[0], &num_pairs);\r
+      }\r
+    }\r
+  }\r
+\r
+  while (num_clusters > min_cluster_size) {\r
+    uint32_t best_idx1;\r
+    uint32_t best_idx2;\r
+    size_t i;\r
+    if (pairs[0].cost_diff >= cost_diff_threshold) {\r
+      cost_diff_threshold = 1e99;\r
+      min_cluster_size = max_clusters;\r
+      continue;\r
+    }\r
+    /* Take the best pair from the top of heap. */\r
+    best_idx1 = pairs[0].idx1;\r
+    best_idx2 = pairs[0].idx2;\r
+    FN(HistogramAddHistogram)(&out[best_idx1], &out[best_idx2]);\r
+    out[best_idx1].bit_cost_ = pairs[0].cost_combo;\r
+    cluster_size[best_idx1] += cluster_size[best_idx2];\r
+    for (i = 0; i < symbols_size; ++i) {\r
+      if (symbols[i] == best_idx2) {\r
+        symbols[i] = best_idx1;\r
+      }\r
+    }\r
+    for (i = 0; i < num_clusters; ++i) {\r
+      if (clusters[i] == best_idx2) {\r
+        memmove(&clusters[i], &clusters[i + 1],\r
+                (num_clusters - i - 1) * sizeof(clusters[0]));\r
+        break;\r
+      }\r
+    }\r
+    --num_clusters;\r
+    {\r
+      /* Remove pairs intersecting the just combined best pair. */\r
+      size_t copy_to_idx = 0;\r
+      for (i = 0; i < num_pairs; ++i) {\r
+        HistogramPair* p = &pairs[i];\r
+        if (p->idx1 == best_idx1 || p->idx2 == best_idx1 ||\r
+            p->idx1 == best_idx2 || p->idx2 == best_idx2) {\r
+          /* Remove invalid pair from the queue. */\r
+          continue;\r
+        }\r
+        if (HistogramPairIsLess(&pairs[0], p)) {\r
+          /* Replace the top of the queue if needed. */\r
+          HistogramPair front = pairs[0];\r
+          pairs[0] = *p;\r
+          pairs[copy_to_idx] = front;\r
+        } else {\r
+          pairs[copy_to_idx] = *p;\r
+        }\r
+        ++copy_to_idx;\r
+      }\r
+      num_pairs = copy_to_idx;\r
+    }\r
+\r
+    /* Push new pairs formed with the combined histogram to the heap. */\r
+    for (i = 0; i < num_clusters; ++i) {\r
+      FN(BrotliCompareAndPushToQueue)(out, cluster_size, best_idx1, clusters[i],\r
+                                      max_num_pairs, &pairs[0], &num_pairs);\r
+    }\r
+  }\r
+  return num_clusters;\r
+})\r
+\r
+/* What is the bit cost of moving histogram from cur_symbol to candidate. */\r
+BROTLI_INTERNAL double FN(BrotliHistogramBitCostDistance)(\r
+    const HistogramType* histogram, const HistogramType* candidate) CODE({\r
+  if (histogram->total_count_ == 0) {\r
+    return 0.0;\r
+  } else {\r
+    HistogramType tmp = *histogram;\r
+    FN(HistogramAddHistogram)(&tmp, candidate);\r
+    return FN(BrotliPopulationCost)(&tmp) - candidate->bit_cost_;\r
+  }\r
+})\r
+\r
+/* Find the best 'out' histogram for each of the 'in' histograms.\r
+   When called, clusters[0..num_clusters) contains the unique values from\r
+   symbols[0..in_size), but this property is not preserved in this function.\r
+   Note: we assume that out[]->bit_cost_ is already up-to-date. */\r
+BROTLI_INTERNAL void FN(BrotliHistogramRemap)(const HistogramType* in,\r
+    size_t in_size, const uint32_t* clusters, size_t num_clusters,\r
+    HistogramType* out, uint32_t* symbols) CODE({\r
+  size_t i;\r
+  for (i = 0; i < in_size; ++i) {\r
+    uint32_t best_out = i == 0 ? symbols[0] : symbols[i - 1];\r
+    double best_bits =\r
+        FN(BrotliHistogramBitCostDistance)(&in[i], &out[best_out]);\r
+    size_t j;\r
+    for (j = 0; j < num_clusters; ++j) {\r
+      const double cur_bits =\r
+          FN(BrotliHistogramBitCostDistance)(&in[i], &out[clusters[j]]);\r
+      if (cur_bits < best_bits) {\r
+        best_bits = cur_bits;\r
+        best_out = clusters[j];\r
+      }\r
+    }\r
+    symbols[i] = best_out;\r
+  }\r
+\r
+  /* Recompute each out based on raw and symbols. */\r
+  for (i = 0; i < num_clusters; ++i) {\r
+    FN(HistogramClear)(&out[clusters[i]]);\r
+  }\r
+  for (i = 0; i < in_size; ++i) {\r
+    FN(HistogramAddHistogram)(&out[symbols[i]], &in[i]);\r
+  }\r
+})\r
+\r
+/* Reorders elements of the out[0..length) array and changes values in\r
+   symbols[0..length) array in the following way:\r
+     * when called, symbols[] contains indexes into out[], and has N unique\r
+       values (possibly N < length)\r
+     * on return, symbols'[i] = f(symbols[i]) and\r
+                  out'[symbols'[i]] = out[symbols[i]], for each 0 <= i < length,\r
+       where f is a bijection between the range of symbols[] and [0..N), and\r
+       the first occurrences of values in symbols'[i] come in consecutive\r
+       increasing order.\r
+   Returns N, the number of unique values in symbols[]. */\r
+BROTLI_INTERNAL size_t FN(BrotliHistogramReindex)(MemoryManager* m,\r
+    HistogramType* out, uint32_t* symbols, size_t length) CODE({\r
+  static const uint32_t kInvalidIndex = BROTLI_UINT32_MAX;\r
+  uint32_t* new_index = BROTLI_ALLOC(m, uint32_t, length);\r
+  uint32_t next_index;\r
+  HistogramType* tmp;\r
+  size_t i;\r
+  if (BROTLI_IS_OOM(m)) return 0;\r
+  for (i = 0; i < length; ++i) {\r
+      new_index[i] = kInvalidIndex;\r
+  }\r
+  next_index = 0;\r
+  for (i = 0; i < length; ++i) {\r
+    if (new_index[symbols[i]] == kInvalidIndex) {\r
+      new_index[symbols[i]] = next_index;\r
+      ++next_index;\r
+    }\r
+  }\r
+  /* TODO: by using idea of "cycle-sort" we can avoid allocation of\r
+     tmp and reduce the number of copying by the factor of 2. */\r
+  tmp = BROTLI_ALLOC(m, HistogramType, next_index);\r
+  if (BROTLI_IS_OOM(m)) return 0;\r
+  next_index = 0;\r
+  for (i = 0; i < length; ++i) {\r
+    if (new_index[symbols[i]] == next_index) {\r
+      tmp[next_index] = out[symbols[i]];\r
+      ++next_index;\r
+    }\r
+    symbols[i] = new_index[symbols[i]];\r
+  }\r
+  BROTLI_FREE(m, new_index);\r
+  for (i = 0; i < next_index; ++i) {\r
+    out[i] = tmp[i];\r
+  }\r
+  BROTLI_FREE(m, tmp);\r
+  return next_index;\r
+})\r
+\r
+BROTLI_INTERNAL void FN(BrotliClusterHistograms)(\r
+    MemoryManager* m, const HistogramType* in, const size_t in_size,\r
+    size_t max_histograms, HistogramType* out, size_t* out_size,\r
+    uint32_t* histogram_symbols) CODE({\r
+  uint32_t* cluster_size = BROTLI_ALLOC(m, uint32_t, in_size);\r
+  uint32_t* clusters = BROTLI_ALLOC(m, uint32_t, in_size);\r
+  size_t num_clusters = 0;\r
+  const size_t max_input_histograms = 64;\r
+  size_t pairs_capacity = max_input_histograms * max_input_histograms / 2;\r
+  /* For the first pass of clustering, we allow all pairs. */\r
+  HistogramPair* pairs = BROTLI_ALLOC(m, HistogramPair, pairs_capacity + 1);\r
+  size_t i;\r
+\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  for (i = 0; i < in_size; ++i) {\r
+    cluster_size[i] = 1;\r
+  }\r
+\r
+  for (i = 0; i < in_size; ++i) {\r
+    out[i] = in[i];\r
+    out[i].bit_cost_ = FN(BrotliPopulationCost)(&in[i]);\r
+    histogram_symbols[i] = (uint32_t)i;\r
+  }\r
+\r
+  for (i = 0; i < in_size; i += max_input_histograms) {\r
+    size_t num_to_combine =\r
+        BROTLI_MIN(size_t, in_size - i, max_input_histograms);\r
+    size_t num_new_clusters;\r
+    size_t j;\r
+    for (j = 0; j < num_to_combine; ++j) {\r
+      clusters[num_clusters + j] = (uint32_t)(i + j);\r
+    }\r
+    num_new_clusters =\r
+        FN(BrotliHistogramCombine)(out, cluster_size,\r
+                                   &histogram_symbols[i],\r
+                                   &clusters[num_clusters], pairs,\r
+                                   num_to_combine, num_to_combine,\r
+                                   max_histograms, pairs_capacity);\r
+    num_clusters += num_new_clusters;\r
+  }\r
+\r
+  {\r
+    /* For the second pass, we limit the total number of histogram pairs.\r
+       After this limit is reached, we only keep searching for the best pair. */\r
+    size_t max_num_pairs = BROTLI_MIN(size_t,\r
+        64 * num_clusters, (num_clusters / 2) * num_clusters);\r
+    BROTLI_ENSURE_CAPACITY(\r
+        m, HistogramPair, pairs, pairs_capacity, max_num_pairs + 1);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+\r
+    /* Collapse similar histograms. */\r
+    num_clusters = FN(BrotliHistogramCombine)(out, cluster_size,\r
+                                              histogram_symbols, clusters,\r
+                                              pairs, num_clusters, in_size,\r
+                                              max_histograms, max_num_pairs);\r
+  }\r
+  BROTLI_FREE(m, pairs);\r
+  BROTLI_FREE(m, cluster_size);\r
+  /* Find the optimal map from original histograms to the final ones. */\r
+  FN(BrotliHistogramRemap)(in, in_size, clusters, num_clusters,\r
+                           out, histogram_symbols);\r
+  BROTLI_FREE(m, clusters);\r
+  /* Convert the context map to a canonical form. */\r
+  *out_size = FN(BrotliHistogramReindex)(m, out, histogram_symbols, in_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+})\r
+\r
+#undef HistogramType\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/command.h b/BaseTools/Source/C/BrotliCompress/enc/command.h
new file mode 100644 (file)
index 0000000..d12f87e
--- /dev/null
@@ -0,0 +1,163 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* This class models a sequence of literals and a backward reference copy. */\r
+\r
+#ifndef BROTLI_ENC_COMMAND_H_\r
+#define BROTLI_ENC_COMMAND_H_\r
+\r
+#include "../common/types.h"\r
+#include "../common/port.h"\r
+#include "./fast_log.h"\r
+#include "./prefix.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static uint32_t kInsBase[] =   { 0, 1, 2, 3, 4, 5, 6, 8, 10, 14, 18, 26, 34, 50,\r
+    66, 98, 130, 194, 322, 578, 1090, 2114, 6210, 22594 };\r
+static uint32_t kInsExtra[] =  { 0, 0, 0, 0, 0, 0, 1, 1,  2,  2,  3,  3,  4,  4,\r
+    5,   5,   6,   7,   8,   9,   10,   12,   14,    24 };\r
+static uint32_t kCopyBase[] =  { 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 18, 22, 30,\r
+    38, 54,  70, 102, 134, 198, 326,   582, 1094,  2118 };\r
+static uint32_t kCopyExtra[] = { 0, 0, 0, 0, 0, 0, 0, 0,  1,  1,  2,  2,  3,  3,\r
+     4,  4,   5,   5,   6,   7,   8,     9,   10,    24 };\r
+\r
+static BROTLI_INLINE uint16_t GetInsertLengthCode(size_t insertlen) {\r
+  if (insertlen < 6) {\r
+    return (uint16_t)insertlen;\r
+  } else if (insertlen < 130) {\r
+    uint32_t nbits = Log2FloorNonZero(insertlen - 2) - 1u;\r
+    return (uint16_t)((nbits << 1) + ((insertlen - 2) >> nbits) + 2);\r
+  } else if (insertlen < 2114) {\r
+    return (uint16_t)(Log2FloorNonZero(insertlen - 66) + 10);\r
+  } else if (insertlen < 6210) {\r
+    return 21u;\r
+  } else if (insertlen < 22594) {\r
+    return 22u;\r
+  } else {\r
+    return 23u;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE uint16_t GetCopyLengthCode(size_t copylen) {\r
+  if (copylen < 10) {\r
+    return (uint16_t)(copylen - 2);\r
+  } else if (copylen < 134) {\r
+    uint32_t nbits = Log2FloorNonZero(copylen - 6) - 1u;\r
+    return (uint16_t)((nbits << 1) + ((copylen - 6) >> nbits) + 4);\r
+  } else if (copylen < 2118) {\r
+    return (uint16_t)(Log2FloorNonZero(copylen - 70) + 12);\r
+  } else {\r
+    return 23u;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE uint16_t CombineLengthCodes(\r
+    uint16_t inscode, uint16_t copycode, BROTLI_BOOL use_last_distance) {\r
+  uint16_t bits64 =\r
+      (uint16_t)((copycode & 0x7u) | ((inscode & 0x7u) << 3));\r
+  if (use_last_distance && inscode < 8 && copycode < 16) {\r
+    return (copycode < 8) ? bits64 : (bits64 | 64);\r
+  } else {\r
+    /* "To convert an insert-and-copy length code to an insert length code and\r
+       a copy length code, the following table can be used" */\r
+    static const uint16_t cells[9] = { 128u, 192u, 384u, 256u, 320u, 512u,\r
+                                       448u, 576u, 640u };\r
+    return cells[(copycode >> 3) + 3 * (inscode >> 3)] | bits64;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void GetLengthCode(size_t insertlen, size_t copylen,\r
+                                        BROTLI_BOOL use_last_distance,\r
+                                        uint16_t* code) {\r
+  uint16_t inscode = GetInsertLengthCode(insertlen);\r
+  uint16_t copycode = GetCopyLengthCode(copylen);\r
+  *code = CombineLengthCodes(inscode, copycode, use_last_distance);\r
+}\r
+\r
+static BROTLI_INLINE uint32_t GetInsertBase(uint16_t inscode) {\r
+  return kInsBase[inscode];\r
+}\r
+\r
+static BROTLI_INLINE uint32_t GetInsertExtra(uint16_t inscode) {\r
+  return kInsExtra[inscode];\r
+}\r
+\r
+static BROTLI_INLINE uint32_t GetCopyBase(uint16_t copycode) {\r
+  return kCopyBase[copycode];\r
+}\r
+\r
+static BROTLI_INLINE uint32_t GetCopyExtra(uint16_t copycode) {\r
+  return kCopyExtra[copycode];\r
+}\r
+\r
+typedef struct Command {\r
+  uint32_t insert_len_;\r
+  /* Stores copy_len in low 24 bits and copy_len XOR copy_code in high 8 bit. */\r
+  uint32_t copy_len_;\r
+  uint32_t dist_extra_;\r
+  uint16_t cmd_prefix_;\r
+  uint16_t dist_prefix_;\r
+} Command;\r
+\r
+/* distance_code is e.g. 0 for same-as-last short code, or 16 for offset 1. */\r
+static BROTLI_INLINE void InitCommand(Command* self, size_t insertlen,\r
+    size_t copylen, size_t copylen_code, size_t distance_code) {\r
+  self->insert_len_ = (uint32_t)insertlen;\r
+  self->copy_len_ = (uint32_t)(copylen | ((copylen_code ^ copylen) << 24));\r
+  /* The distance prefix and extra bits are stored in this Command as if\r
+     npostfix and ndirect were 0, they are only recomputed later after the\r
+     clustering if needed. */\r
+  PrefixEncodeCopyDistance(\r
+      distance_code, 0, 0, &self->dist_prefix_, &self->dist_extra_);\r
+  GetLengthCode(\r
+      insertlen, copylen_code, TO_BROTLI_BOOL(self->dist_prefix_ == 0),\r
+      &self->cmd_prefix_);\r
+}\r
+\r
+static BROTLI_INLINE void InitInsertCommand(Command* self, size_t insertlen) {\r
+  self->insert_len_ = (uint32_t)insertlen;\r
+  self->copy_len_ = 4 << 24;\r
+  self->dist_extra_ = 0;\r
+  self->dist_prefix_ = 16;\r
+  GetLengthCode(insertlen, 4, BROTLI_FALSE, &self->cmd_prefix_);\r
+}\r
+\r
+static BROTLI_INLINE uint32_t CommandDistanceCode(const Command* self) {\r
+  if (self->dist_prefix_ < 16) {\r
+    return self->dist_prefix_;\r
+  } else {\r
+    uint32_t nbits = self->dist_extra_ >> 24;\r
+    uint32_t extra = self->dist_extra_ & 0xffffff;\r
+    uint32_t prefix = self->dist_prefix_ - 12u - 2u * nbits;\r
+    return (prefix << nbits) + extra + 12;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE uint32_t CommandDistanceContext(const Command* self) {\r
+  uint32_t r = self->cmd_prefix_ >> 6;\r
+  uint32_t c = self->cmd_prefix_ & 7;\r
+  if ((r == 0 || r == 2 || r == 4 || r == 7) && (c <= 2)) {\r
+    return c;\r
+  }\r
+  return 3;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t CommandCopyLen(const Command* self) {\r
+  return self->copy_len_ & 0xFFFFFF;\r
+}\r
+\r
+static BROTLI_INLINE uint32_t CommandCopyLenCode(const Command* self) {\r
+  return (self->copy_len_ & 0xFFFFFF) ^ (self->copy_len_ >> 24);\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_COMMAND_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.c
new file mode 100644 (file)
index 0000000..ef1480b
--- /dev/null
@@ -0,0 +1,747 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function for fast encoding of an input fragment, independently from the input\r
+   history. This function uses one-pass processing: when we find a backward\r
+   match, we immediately emit the corresponding command and literal codes to\r
+   the bit stream.\r
+\r
+   Adapted from the CompressFragment() function in\r
+   https://github.com/google/snappy/blob/master/snappy.cc */\r
+\r
+#include "./compress_fragment.h"\r
+\r
+#include <string.h>  /* memcmp, memcpy, memset */\r
+\r
+#include "../common/types.h"\r
+#include "./brotli_bit_stream.h"\r
+#include "./entropy_encode.h"\r
+#include "./fast_log.h"\r
+#include "./find_match_length.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./write_bits.h"\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* kHashMul32 multiplier has these properties:\r
+   * The multiplier must be odd. Otherwise we may lose the highest bit.\r
+   * No long streaks of 1s or 0s.\r
+   * There is no effort to ensure that it is a prime, the oddity is enough\r
+     for this use.\r
+   * The number has been tuned heuristically against compression benchmarks. */\r
+static const uint32_t kHashMul32 = 0x1e35a7bd;\r
+\r
+static BROTLI_INLINE uint32_t Hash(const uint8_t* p, size_t shift) {\r
+  const uint64_t h = (BROTLI_UNALIGNED_LOAD64(p) << 24) * kHashMul32;\r
+  return (uint32_t)(h >> shift);\r
+}\r
+\r
+static BROTLI_INLINE uint32_t HashBytesAtOffset(\r
+    uint64_t v, int offset, size_t shift) {\r
+  assert(offset >= 0);\r
+  assert(offset <= 3);\r
+  {\r
+    const uint64_t h = ((v >> (8 * offset)) << 24) * kHashMul32;\r
+    return (uint32_t)(h >> shift);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL IsMatch(const uint8_t* p1, const uint8_t* p2) {\r
+  return TO_BROTLI_BOOL(\r
+      BROTLI_UNALIGNED_LOAD32(p1) == BROTLI_UNALIGNED_LOAD32(p2) &&\r
+      p1[4] == p2[4]);\r
+}\r
+\r
+/* Builds a literal prefix code into "depths" and "bits" based on the statistics\r
+   of the "input" string and stores it into the bit stream.\r
+   Note that the prefix code here is built from the pre-LZ77 input, therefore\r
+   we can only approximate the statistics of the actual literal stream.\r
+   Moreover, for long inputs we build a histogram from a sample of the input\r
+   and thus have to assign a non-zero depth for each literal.\r
+   Returns estimated compression ratio millibytes/char for encoding given input\r
+   with generated code. */\r
+static size_t BuildAndStoreLiteralPrefixCode(MemoryManager* m,\r
+                                             const uint8_t* input,\r
+                                             const size_t input_size,\r
+                                             uint8_t depths[256],\r
+                                             uint16_t bits[256],\r
+                                             size_t* storage_ix,\r
+                                             uint8_t* storage) {\r
+  uint32_t histogram[256] = { 0 };\r
+  size_t histogram_total;\r
+  size_t i;\r
+  if (input_size < (1 << 15)) {\r
+    for (i = 0; i < input_size; ++i) {\r
+      ++histogram[input[i]];\r
+    }\r
+    histogram_total = input_size;\r
+    for (i = 0; i < 256; ++i) {\r
+      /* We weigh the first 11 samples with weight 3 to account for the\r
+         balancing effect of the LZ77 phase on the histogram. */\r
+      const uint32_t adjust = 2 * BROTLI_MIN(uint32_t, histogram[i], 11u);\r
+      histogram[i] += adjust;\r
+      histogram_total += adjust;\r
+    }\r
+  } else {\r
+    static const size_t kSampleRate = 29;\r
+    for (i = 0; i < input_size; i += kSampleRate) {\r
+      ++histogram[input[i]];\r
+    }\r
+    histogram_total = (input_size + kSampleRate - 1) / kSampleRate;\r
+    for (i = 0; i < 256; ++i) {\r
+      /* We add 1 to each population count to avoid 0 bit depths (since this is\r
+         only a sample and we don't know if the symbol appears or not), and we\r
+         weigh the first 11 samples with weight 3 to account for the balancing\r
+         effect of the LZ77 phase on the histogram (more frequent symbols are\r
+         more likely to be in backward references instead as literals). */\r
+      const uint32_t adjust = 1 + 2 * BROTLI_MIN(uint32_t, histogram[i], 11u);\r
+      histogram[i] += adjust;\r
+      histogram_total += adjust;\r
+    }\r
+  }\r
+  BrotliBuildAndStoreHuffmanTreeFast(m, histogram, histogram_total,\r
+                                     /* max_bits = */ 8,\r
+                                     depths, bits, storage_ix, storage);\r
+  if (BROTLI_IS_OOM(m)) return 0;\r
+  {\r
+    size_t literal_ratio = 0;\r
+    for (i = 0; i < 256; ++i) {\r
+      if (histogram[i]) literal_ratio += histogram[i] * depths[i];\r
+    }\r
+    /* Estimated encoding ratio, millibytes per symbol. */\r
+    return (literal_ratio * 125) / histogram_total;\r
+  }\r
+}\r
+\r
+/* Builds a command and distance prefix code (each 64 symbols) into "depth" and\r
+   "bits" based on "histogram" and stores it into the bit stream. */\r
+static void BuildAndStoreCommandPrefixCode(const uint32_t histogram[128],\r
+    uint8_t depth[128], uint16_t bits[128], size_t* storage_ix,\r
+    uint8_t* storage) {\r
+  /* Tree size for building a tree over 64 symbols is 2 * 64 + 1. */\r
+  HuffmanTree tree[129];\r
+  uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS] = { 0 };\r
+  uint16_t cmd_bits[64];\r
+\r
+  BrotliCreateHuffmanTree(histogram, 64, 15, tree, depth);\r
+  BrotliCreateHuffmanTree(&histogram[64], 64, 14, tree, &depth[64]);\r
+  /* We have to jump through a few hoopes here in order to compute\r
+     the command bits because the symbols are in a different order than in\r
+     the full alphabet. This looks complicated, but having the symbols\r
+     in this order in the command bits saves a few branches in the Emit*\r
+     functions. */\r
+  memcpy(cmd_depth, depth, 24);\r
+  memcpy(cmd_depth + 24, depth + 40, 8);\r
+  memcpy(cmd_depth + 32, depth + 24, 8);\r
+  memcpy(cmd_depth + 40, depth + 48, 8);\r
+  memcpy(cmd_depth + 48, depth + 32, 8);\r
+  memcpy(cmd_depth + 56, depth + 56, 8);\r
+  BrotliConvertBitDepthsToSymbols(cmd_depth, 64, cmd_bits);\r
+  memcpy(bits, cmd_bits, 48);\r
+  memcpy(bits + 24, cmd_bits + 32, 16);\r
+  memcpy(bits + 32, cmd_bits + 48, 16);\r
+  memcpy(bits + 40, cmd_bits + 24, 16);\r
+  memcpy(bits + 48, cmd_bits + 40, 16);\r
+  memcpy(bits + 56, cmd_bits + 56, 16);\r
+  BrotliConvertBitDepthsToSymbols(&depth[64], 64, &bits[64]);\r
+  {\r
+    /* Create the bit length array for the full command alphabet. */\r
+    size_t i;\r
+    memset(cmd_depth, 0, 64);  /* only 64 first values were used */\r
+    memcpy(cmd_depth, depth, 8);\r
+    memcpy(cmd_depth + 64, depth + 8, 8);\r
+    memcpy(cmd_depth + 128, depth + 16, 8);\r
+    memcpy(cmd_depth + 192, depth + 24, 8);\r
+    memcpy(cmd_depth + 384, depth + 32, 8);\r
+    for (i = 0; i < 8; ++i) {\r
+      cmd_depth[128 + 8 * i] = depth[40 + i];\r
+      cmd_depth[256 + 8 * i] = depth[48 + i];\r
+      cmd_depth[448 + 8 * i] = depth[56 + i];\r
+    }\r
+    BrotliStoreHuffmanTree(\r
+        cmd_depth, BROTLI_NUM_COMMAND_SYMBOLS, tree, storage_ix, storage);\r
+  }\r
+  BrotliStoreHuffmanTree(&depth[64], 64, tree, storage_ix, storage);\r
+}\r
+\r
+/* REQUIRES: insertlen < 6210 */\r
+static BROTLI_INLINE void EmitInsertLen(size_t insertlen,\r
+                                        const uint8_t depth[128],\r
+                                        const uint16_t bits[128],\r
+                                        uint32_t histo[128],\r
+                                        size_t* storage_ix,\r
+                                        uint8_t* storage) {\r
+  if (insertlen < 6) {\r
+    const size_t code = insertlen + 40;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    ++histo[code];\r
+  } else if (insertlen < 130) {\r
+    const size_t tail = insertlen - 2;\r
+    const uint32_t nbits = Log2FloorNonZero(tail) - 1u;\r
+    const size_t prefix = tail >> nbits;\r
+    const size_t inscode = (nbits << 1) + prefix + 42;\r
+    BrotliWriteBits(depth[inscode], bits[inscode], storage_ix, storage);\r
+    BrotliWriteBits(nbits, tail - (prefix << nbits), storage_ix, storage);\r
+    ++histo[inscode];\r
+  } else if (insertlen < 2114) {\r
+    const size_t tail = insertlen - 66;\r
+    const uint32_t nbits = Log2FloorNonZero(tail);\r
+    const size_t code = nbits + 50;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    BrotliWriteBits(nbits, tail - ((size_t)1 << nbits), storage_ix, storage);\r
+    ++histo[code];\r
+  } else {\r
+    BrotliWriteBits(depth[61], bits[61], storage_ix, storage);\r
+    BrotliWriteBits(12, insertlen - 2114, storage_ix, storage);\r
+    ++histo[21];\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void EmitLongInsertLen(size_t insertlen,\r
+                                            const uint8_t depth[128],\r
+                                            const uint16_t bits[128],\r
+                                            uint32_t histo[128],\r
+                                            size_t* storage_ix,\r
+                                            uint8_t* storage) {\r
+  if (insertlen < 22594) {\r
+    BrotliWriteBits(depth[62], bits[62], storage_ix, storage);\r
+    BrotliWriteBits(14, insertlen - 6210, storage_ix, storage);\r
+    ++histo[22];\r
+  } else {\r
+    BrotliWriteBits(depth[63], bits[63], storage_ix, storage);\r
+    BrotliWriteBits(24, insertlen - 22594, storage_ix, storage);\r
+    ++histo[23];\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void EmitCopyLen(size_t copylen,\r
+                                      const uint8_t depth[128],\r
+                                      const uint16_t bits[128],\r
+                                      uint32_t histo[128],\r
+                                      size_t* storage_ix,\r
+                                      uint8_t* storage) {\r
+  if (copylen < 10) {\r
+    BrotliWriteBits(\r
+        depth[copylen + 14], bits[copylen + 14], storage_ix, storage);\r
+    ++histo[copylen + 14];\r
+  } else if (copylen < 134) {\r
+    const size_t tail = copylen - 6;\r
+    const uint32_t nbits = Log2FloorNonZero(tail) - 1u;\r
+    const size_t prefix = tail >> nbits;\r
+    const size_t code = (nbits << 1) + prefix + 20;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    BrotliWriteBits(nbits, tail - (prefix << nbits), storage_ix, storage);\r
+    ++histo[code];\r
+  } else if (copylen < 2118) {\r
+    const size_t tail = copylen - 70;\r
+    const uint32_t nbits = Log2FloorNonZero(tail);\r
+    const size_t code = nbits + 28;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    BrotliWriteBits(nbits, tail - ((size_t)1 << nbits), storage_ix, storage);\r
+    ++histo[code];\r
+  } else {\r
+    BrotliWriteBits(depth[39], bits[39], storage_ix, storage);\r
+    BrotliWriteBits(24, copylen - 2118, storage_ix, storage);\r
+    ++histo[47];\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void EmitCopyLenLastDistance(size_t copylen,\r
+                                                  const uint8_t depth[128],\r
+                                                  const uint16_t bits[128],\r
+                                                  uint32_t histo[128],\r
+                                                  size_t* storage_ix,\r
+                                                  uint8_t* storage) {\r
+  if (copylen < 12) {\r
+    BrotliWriteBits(depth[copylen - 4], bits[copylen - 4], storage_ix, storage);\r
+    ++histo[copylen - 4];\r
+  } else if (copylen < 72) {\r
+    const size_t tail = copylen - 8;\r
+    const uint32_t nbits = Log2FloorNonZero(tail) - 1;\r
+    const size_t prefix = tail >> nbits;\r
+    const size_t code = (nbits << 1) + prefix + 4;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    BrotliWriteBits(nbits, tail - (prefix << nbits), storage_ix, storage);\r
+    ++histo[code];\r
+  } else if (copylen < 136) {\r
+    const size_t tail = copylen - 8;\r
+    const size_t code = (tail >> 5) + 30;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    BrotliWriteBits(5, tail & 31, storage_ix, storage);\r
+    BrotliWriteBits(depth[64], bits[64], storage_ix, storage);\r
+    ++histo[code];\r
+    ++histo[64];\r
+  } else if (copylen < 2120) {\r
+    const size_t tail = copylen - 72;\r
+    const uint32_t nbits = Log2FloorNonZero(tail);\r
+    const size_t code = nbits + 28;\r
+    BrotliWriteBits(depth[code], bits[code], storage_ix, storage);\r
+    BrotliWriteBits(nbits, tail - ((size_t)1 << nbits), storage_ix, storage);\r
+    BrotliWriteBits(depth[64], bits[64], storage_ix, storage);\r
+    ++histo[code];\r
+    ++histo[64];\r
+  } else {\r
+    BrotliWriteBits(depth[39], bits[39], storage_ix, storage);\r
+    BrotliWriteBits(24, copylen - 2120, storage_ix, storage);\r
+    BrotliWriteBits(depth[64], bits[64], storage_ix, storage);\r
+    ++histo[47];\r
+    ++histo[64];\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void EmitDistance(size_t distance,\r
+                                       const uint8_t depth[128],\r
+                                       const uint16_t bits[128],\r
+                                       uint32_t histo[128],\r
+                                       size_t* storage_ix, uint8_t* storage) {\r
+  const size_t d = distance + 3;\r
+  const uint32_t nbits = Log2FloorNonZero(d) - 1u;\r
+  const size_t prefix = (d >> nbits) & 1;\r
+  const size_t offset = (2 + prefix) << nbits;\r
+  const size_t distcode = 2 * (nbits - 1) + prefix + 80;\r
+  BrotliWriteBits(depth[distcode], bits[distcode], storage_ix, storage);\r
+  BrotliWriteBits(nbits, d - offset, storage_ix, storage);\r
+  ++histo[distcode];\r
+}\r
+\r
+static BROTLI_INLINE void EmitLiterals(const uint8_t* input, const size_t len,\r
+                                       const uint8_t depth[256],\r
+                                       const uint16_t bits[256],\r
+                                       size_t* storage_ix, uint8_t* storage) {\r
+  size_t j;\r
+  for (j = 0; j < len; j++) {\r
+    const uint8_t lit = input[j];\r
+    BrotliWriteBits(depth[lit], bits[lit], storage_ix, storage);\r
+  }\r
+}\r
+\r
+/* REQUIRES: len <= 1 << 20. */\r
+static void BrotliStoreMetaBlockHeader(\r
+    size_t len, BROTLI_BOOL is_uncompressed, size_t* storage_ix,\r
+    uint8_t* storage) {\r
+  /* ISLAST */\r
+  BrotliWriteBits(1, 0, storage_ix, storage);\r
+  if (len <= (1U << 16)) {\r
+    /* MNIBBLES is 4 */\r
+    BrotliWriteBits(2, 0, storage_ix, storage);\r
+    BrotliWriteBits(16, len - 1, storage_ix, storage);\r
+  } else {\r
+    /* MNIBBLES is 5 */\r
+    BrotliWriteBits(2, 1, storage_ix, storage);\r
+    BrotliWriteBits(20, len - 1, storage_ix, storage);\r
+  }\r
+  /* ISUNCOMPRESSED */\r
+  BrotliWriteBits(1, (uint64_t)is_uncompressed, storage_ix, storage);\r
+}\r
+\r
+static void UpdateBits(size_t n_bits, uint32_t bits, size_t pos,\r
+    uint8_t *array) {\r
+  while (n_bits > 0) {\r
+    size_t byte_pos = pos >> 3;\r
+    size_t n_unchanged_bits = pos & 7;\r
+    size_t n_changed_bits = BROTLI_MIN(size_t, n_bits, 8 - n_unchanged_bits);\r
+    size_t total_bits = n_unchanged_bits + n_changed_bits;\r
+    uint32_t mask =\r
+        (~((1u << total_bits) - 1u)) | ((1u << n_unchanged_bits) - 1u);\r
+    uint32_t unchanged_bits = array[byte_pos] & mask;\r
+    uint32_t changed_bits = bits & ((1u << n_changed_bits) - 1u);\r
+    array[byte_pos] =\r
+        (uint8_t)((changed_bits << n_unchanged_bits) | unchanged_bits);\r
+    n_bits -= n_changed_bits;\r
+    bits >>= n_changed_bits;\r
+    pos += n_changed_bits;\r
+  }\r
+}\r
+\r
+static void RewindBitPosition(const size_t new_storage_ix,\r
+                              size_t* storage_ix, uint8_t* storage) {\r
+  const size_t bitpos = new_storage_ix & 7;\r
+  const size_t mask = (1u << bitpos) - 1;\r
+  storage[new_storage_ix >> 3] &= (uint8_t)mask;\r
+  *storage_ix = new_storage_ix;\r
+}\r
+\r
+static BROTLI_BOOL ShouldMergeBlock(\r
+    const uint8_t* data, size_t len, const uint8_t* depths) {\r
+  size_t histo[256] = { 0 };\r
+  static const size_t kSampleRate = 43;\r
+  size_t i;\r
+  for (i = 0; i < len; i += kSampleRate) {\r
+    ++histo[data[i]];\r
+  }\r
+  {\r
+    const size_t total = (len + kSampleRate - 1) / kSampleRate;\r
+    double r = (FastLog2(total) + 0.5) * (double)total + 200;\r
+    for (i = 0; i < 256; ++i) {\r
+      r -= (double)histo[i] * (depths[i] + FastLog2(histo[i]));\r
+    }\r
+    return TO_BROTLI_BOOL(r >= 0.0);\r
+  }\r
+}\r
+\r
+/* Acceptable loss for uncompressible speedup is 2% */\r
+#define MIN_RATIO 980\r
+\r
+static BROTLI_INLINE BROTLI_BOOL ShouldUseUncompressedMode(\r
+    const uint8_t* metablock_start, const uint8_t* next_emit,\r
+    const size_t insertlen, const size_t literal_ratio) {\r
+  const size_t compressed = (size_t)(next_emit - metablock_start);\r
+  if (compressed * 50 > insertlen) {\r
+    return BROTLI_FALSE;\r
+  } else {\r
+    return TO_BROTLI_BOOL(literal_ratio > MIN_RATIO);\r
+  }\r
+}\r
+\r
+static void EmitUncompressedMetaBlock(const uint8_t* begin, const uint8_t* end,\r
+                                      const size_t storage_ix_start,\r
+                                      size_t* storage_ix, uint8_t* storage) {\r
+  const size_t len = (size_t)(end - begin);\r
+  RewindBitPosition(storage_ix_start, storage_ix, storage);\r
+  BrotliStoreMetaBlockHeader(len, 1, storage_ix, storage);\r
+  *storage_ix = (*storage_ix + 7u) & ~7u;\r
+  memcpy(&storage[*storage_ix >> 3], begin, len);\r
+  *storage_ix += len << 3;\r
+  storage[*storage_ix >> 3] = 0;\r
+}\r
+\r
+static uint32_t kCmdHistoSeed[128] = {\r
+  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1,\r
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,\r
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\r
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\r
+  1, 1, 1, 1, 0, 0, 0, 0,\r
+};\r
+\r
+void BrotliCompressFragmentFast(MemoryManager* m,\r
+                                const uint8_t* input, size_t input_size,\r
+                                BROTLI_BOOL is_last,\r
+                                int* table, size_t table_size,\r
+                                uint8_t cmd_depth[128], uint16_t cmd_bits[128],\r
+                                size_t* cmd_code_numbits, uint8_t* cmd_code,\r
+                                size_t* storage_ix, uint8_t* storage) {\r
+  uint32_t cmd_histo[128];\r
+  const uint8_t* ip_end;\r
+\r
+  /* "next_emit" is a pointer to the first byte that is not covered by a\r
+     previous copy. Bytes between "next_emit" and the start of the next copy or\r
+     the end of the input will be emitted as literal bytes. */\r
+  const uint8_t* next_emit = input;\r
+  /* Save the start of the first block for position and distance computations.\r
+  */\r
+  const uint8_t* base_ip = input;\r
+\r
+  static const size_t kFirstBlockSize = 3 << 15;\r
+  static const size_t kMergeBlockSize = 1 << 16;\r
+\r
+  const size_t kInputMarginBytes = 16;\r
+  const size_t kMinMatchLen = 5;\r
+\r
+  const uint8_t* metablock_start = input;\r
+  size_t block_size = BROTLI_MIN(size_t, input_size, kFirstBlockSize);\r
+  size_t total_block_size = block_size;\r
+  /* Save the bit position of the MLEN field of the meta-block header, so that\r
+     we can update it later if we decide to extend this meta-block. */\r
+  size_t mlen_storage_ix = *storage_ix + 3;\r
+\r
+  uint8_t lit_depth[256];\r
+  uint16_t lit_bits[256];\r
+\r
+  size_t literal_ratio;\r
+\r
+  const uint8_t* ip;\r
+  int last_distance;\r
+\r
+  const size_t shift = 64u - Log2FloorNonZero(table_size);\r
+  assert(table_size);\r
+  assert(table_size <= (1u << 31));\r
+  /* table must be power of two */\r
+  assert((table_size & (table_size - 1)) == 0);\r
+  assert(table_size - 1 ==\r
+      (size_t)(MAKE_UINT64_T(0xFFFFFFFF, 0xFFFFFF) >> shift));\r
+\r
+  if (input_size == 0) {\r
+    assert(is_last);\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* islast */\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* isempty */\r
+    *storage_ix = (*storage_ix + 7u) & ~7u;\r
+    return;\r
+  }\r
+\r
+  BrotliStoreMetaBlockHeader(block_size, 0, storage_ix, storage);\r
+  /* No block splits, no contexts. */\r
+  BrotliWriteBits(13, 0, storage_ix, storage);\r
+\r
+  literal_ratio = BuildAndStoreLiteralPrefixCode(\r
+      m, input, block_size, lit_depth, lit_bits, storage_ix, storage);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  {\r
+    /* Store the pre-compressed command and distance prefix codes. */\r
+    size_t i;\r
+    for (i = 0; i + 7 < *cmd_code_numbits; i += 8) {\r
+      BrotliWriteBits(8, cmd_code[i >> 3], storage_ix, storage);\r
+    }\r
+  }\r
+  BrotliWriteBits(*cmd_code_numbits & 7, cmd_code[*cmd_code_numbits >> 3],\r
+                  storage_ix, storage);\r
+\r
+ emit_commands:\r
+  /* Initialize the command and distance histograms. We will gather\r
+     statistics of command and distance codes during the processing\r
+     of this block and use it to update the command and distance\r
+     prefix codes for the next block. */\r
+  memcpy(cmd_histo, kCmdHistoSeed, sizeof(kCmdHistoSeed));\r
+\r
+  /* "ip" is the input pointer. */\r
+  ip = input;\r
+  last_distance = -1;\r
+  ip_end = input + block_size;\r
+\r
+  if (PREDICT_TRUE(block_size >= kInputMarginBytes)) {\r
+    /* For the last block, we need to keep a 16 bytes margin so that we can be\r
+       sure that all distances are at most window size - 16.\r
+       For all other blocks, we only need to keep a margin of 5 bytes so that\r
+       we don't go over the block size with a copy. */\r
+    const size_t len_limit = BROTLI_MIN(size_t, block_size - kMinMatchLen,\r
+                                        input_size - kInputMarginBytes);\r
+    const uint8_t* ip_limit = input + len_limit;\r
+\r
+    uint32_t next_hash;\r
+    for (next_hash = Hash(++ip, shift); ; ) {\r
+      /* Step 1: Scan forward in the input looking for a 5-byte-long match.\r
+         If we get close to exhausting the input then goto emit_remainder.\r
+\r
+         Heuristic match skipping: If 32 bytes are scanned with no matches\r
+         found, start looking only at every other byte. If 32 more bytes are\r
+         scanned, look at every third byte, etc.. When a match is found,\r
+         immediately go back to looking at every byte. This is a small loss\r
+         (~5% performance, ~0.1% density) for compressible data due to more\r
+         bookkeeping, but for non-compressible data (such as JPEG) it's a huge\r
+         win since the compressor quickly "realizes" the data is incompressible\r
+         and doesn't bother looking for matches everywhere.\r
+\r
+         The "skip" variable keeps track of how many bytes there are since the\r
+         last match; dividing it by 32 (ie. right-shifting by five) gives the\r
+         number of bytes to move ahead for each iteration. */\r
+      uint32_t skip = 32;\r
+\r
+      const uint8_t* next_ip = ip;\r
+      const uint8_t* candidate;\r
+      assert(next_emit < ip);\r
+\r
+      do {\r
+        uint32_t hash = next_hash;\r
+        uint32_t bytes_between_hash_lookups = skip++ >> 5;\r
+        assert(hash == Hash(next_ip, shift));\r
+        ip = next_ip;\r
+        next_ip = ip + bytes_between_hash_lookups;\r
+        if (PREDICT_FALSE(next_ip > ip_limit)) {\r
+          goto emit_remainder;\r
+        }\r
+        next_hash = Hash(next_ip, shift);\r
+        candidate = ip - last_distance;\r
+        if (IsMatch(ip, candidate)) {\r
+          if (PREDICT_TRUE(candidate < ip)) {\r
+            table[hash] = (int)(ip - base_ip);\r
+            break;\r
+          }\r
+        }\r
+        candidate = base_ip + table[hash];\r
+        assert(candidate >= base_ip);\r
+        assert(candidate < ip);\r
+\r
+        table[hash] = (int)(ip - base_ip);\r
+      } while (PREDICT_TRUE(!IsMatch(ip, candidate)));\r
+\r
+      /* Step 2: Emit the found match together with the literal bytes from\r
+         "next_emit" to the bit stream, and then see if we can find a next macth\r
+         immediately afterwards. Repeat until we find no match for the input\r
+         without emitting some literal bytes. */\r
+\r
+      {\r
+        /* We have a 5-byte match at ip, and we need to emit bytes in\r
+           [next_emit, ip). */\r
+        const uint8_t* base = ip;\r
+        size_t matched = 5 + FindMatchLengthWithLimit(\r
+            candidate + 5, ip + 5, (size_t)(ip_end - ip) - 5);\r
+        int distance = (int)(base - candidate);  /* > 0 */\r
+        size_t insert = (size_t)(base - next_emit);\r
+        ip += matched;\r
+        assert(0 == memcmp(base, candidate, matched));\r
+        if (PREDICT_TRUE(insert < 6210)) {\r
+          EmitInsertLen(insert, cmd_depth, cmd_bits, cmd_histo,\r
+                        storage_ix, storage);\r
+        } else if (ShouldUseUncompressedMode(metablock_start, next_emit, insert,\r
+                                             literal_ratio)) {\r
+          EmitUncompressedMetaBlock(metablock_start, base, mlen_storage_ix - 3,\r
+                                    storage_ix, storage);\r
+          input_size -= (size_t)(base - input);\r
+          input = base;\r
+          next_emit = input;\r
+          goto next_block;\r
+        } else {\r
+          EmitLongInsertLen(insert, cmd_depth, cmd_bits, cmd_histo,\r
+                            storage_ix, storage);\r
+        }\r
+        EmitLiterals(next_emit, insert, lit_depth, lit_bits,\r
+                     storage_ix, storage);\r
+        if (distance == last_distance) {\r
+          BrotliWriteBits(cmd_depth[64], cmd_bits[64], storage_ix, storage);\r
+          ++cmd_histo[64];\r
+        } else {\r
+          EmitDistance((size_t)distance, cmd_depth, cmd_bits,\r
+                       cmd_histo, storage_ix, storage);\r
+          last_distance = distance;\r
+        }\r
+        EmitCopyLenLastDistance(matched, cmd_depth, cmd_bits, cmd_histo,\r
+                                storage_ix, storage);\r
+\r
+        next_emit = ip;\r
+        if (PREDICT_FALSE(ip >= ip_limit)) {\r
+          goto emit_remainder;\r
+        }\r
+        /* We could immediately start working at ip now, but to improve\r
+           compression we first update "table" with the hashes of some positions\r
+           within the last copy. */\r
+        {\r
+          uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 3);\r
+          uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift);\r
+          uint32_t cur_hash = HashBytesAtOffset(input_bytes, 3, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 3);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 1, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 2);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 2, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 1);\r
+\r
+          candidate = base_ip + table[cur_hash];\r
+          table[cur_hash] = (int)(ip - base_ip);\r
+        }\r
+      }\r
+\r
+      while (IsMatch(ip, candidate)) {\r
+        /* We have a 5-byte match at ip, and no need to emit any literal bytes\r
+           prior to ip. */\r
+        const uint8_t* base = ip;\r
+        size_t matched = 5 + FindMatchLengthWithLimit(\r
+            candidate + 5, ip + 5, (size_t)(ip_end - ip) - 5);\r
+        ip += matched;\r
+        last_distance = (int)(base - candidate);  /* > 0 */\r
+        assert(0 == memcmp(base, candidate, matched));\r
+        EmitCopyLen(matched, cmd_depth, cmd_bits, cmd_histo,\r
+                    storage_ix, storage);\r
+        EmitDistance((size_t)last_distance, cmd_depth, cmd_bits,\r
+                     cmd_histo, storage_ix, storage);\r
+\r
+        next_emit = ip;\r
+        if (PREDICT_FALSE(ip >= ip_limit)) {\r
+          goto emit_remainder;\r
+        }\r
+        /* We could immediately start working at ip now, but to improve\r
+           compression we first update "table" with the hashes of some positions\r
+           within the last copy. */\r
+        {\r
+          uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 3);\r
+          uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift);\r
+          uint32_t cur_hash = HashBytesAtOffset(input_bytes, 3, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 3);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 1, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 2);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 2, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 1);\r
+\r
+          candidate = base_ip + table[cur_hash];\r
+          table[cur_hash] = (int)(ip - base_ip);\r
+        }\r
+      }\r
+\r
+      next_hash = Hash(++ip, shift);\r
+    }\r
+  }\r
+\r
+ emit_remainder:\r
+  assert(next_emit <= ip_end);\r
+  input += block_size;\r
+  input_size -= block_size;\r
+  block_size = BROTLI_MIN(size_t, input_size, kMergeBlockSize);\r
+\r
+  /* Decide if we want to continue this meta-block instead of emitting the\r
+     last insert-only command. */\r
+  if (input_size > 0 &&\r
+      total_block_size + block_size <= (1 << 20) &&\r
+      ShouldMergeBlock(input, block_size, lit_depth)) {\r
+    assert(total_block_size > (1 << 16));\r
+    /* Update the size of the current meta-block and continue emitting commands.\r
+       We can do this because the current size and the new size both have 5\r
+       nibbles. */\r
+    total_block_size += block_size;\r
+    UpdateBits(20, (uint32_t)(total_block_size - 1), mlen_storage_ix, storage);\r
+    goto emit_commands;\r
+  }\r
+\r
+  /* Emit the remaining bytes as literals. */\r
+  if (next_emit < ip_end) {\r
+    const size_t insert = (size_t)(ip_end - next_emit);\r
+    if (PREDICT_TRUE(insert < 6210)) {\r
+      EmitInsertLen(insert, cmd_depth, cmd_bits, cmd_histo,\r
+                    storage_ix, storage);\r
+      EmitLiterals(next_emit, insert, lit_depth, lit_bits, storage_ix, storage);\r
+    } else if (ShouldUseUncompressedMode(metablock_start, next_emit, insert,\r
+                                         literal_ratio)) {\r
+      EmitUncompressedMetaBlock(metablock_start, ip_end, mlen_storage_ix - 3,\r
+                                storage_ix, storage);\r
+    } else {\r
+      EmitLongInsertLen(insert, cmd_depth, cmd_bits, cmd_histo,\r
+                        storage_ix, storage);\r
+      EmitLiterals(next_emit, insert, lit_depth, lit_bits,\r
+                   storage_ix, storage);\r
+    }\r
+  }\r
+  next_emit = ip_end;\r
+\r
+next_block:\r
+  /* If we have more data, write a new meta-block header and prefix codes and\r
+     then continue emitting commands. */\r
+  if (input_size > 0) {\r
+    metablock_start = input;\r
+    block_size = BROTLI_MIN(size_t, input_size, kFirstBlockSize);\r
+    total_block_size = block_size;\r
+    /* Save the bit position of the MLEN field of the meta-block header, so that\r
+       we can update it later if we decide to extend this meta-block. */\r
+    mlen_storage_ix = *storage_ix + 3;\r
+    BrotliStoreMetaBlockHeader(block_size, 0, storage_ix, storage);\r
+    /* No block splits, no contexts. */\r
+    BrotliWriteBits(13, 0, storage_ix, storage);\r
+    literal_ratio = BuildAndStoreLiteralPrefixCode(\r
+        m, input, block_size, lit_depth, lit_bits, storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    BuildAndStoreCommandPrefixCode(cmd_histo, cmd_depth, cmd_bits,\r
+                                   storage_ix, storage);\r
+    goto emit_commands;\r
+  }\r
+\r
+  if (is_last) {\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* islast */\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* isempty */\r
+    *storage_ix = (*storage_ix + 7u) & ~7u;\r
+  } else {\r
+    /* If this is not the last block, update the command and distance prefix\r
+       codes for the next block and store the compressed forms. */\r
+    cmd_code[0] = 0;\r
+    *cmd_code_numbits = 0;\r
+    BuildAndStoreCommandPrefixCode(cmd_histo, cmd_depth, cmd_bits,\r
+                                   cmd_code_numbits, cmd_code);\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment.h
new file mode 100644 (file)
index 0000000..6bd7e11
--- /dev/null
@@ -0,0 +1,58 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function for fast encoding of an input fragment, independently from the input\r
+   history. This function uses one-pass processing: when we find a backward\r
+   match, we immediately emit the corresponding command and literal codes to\r
+   the bit stream. */\r
+\r
+#ifndef BROTLI_ENC_COMPRESS_FRAGMENT_H_\r
+#define BROTLI_ENC_COMPRESS_FRAGMENT_H_\r
+\r
+#include "../common/types.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* Compresses "input" string to the "*storage" buffer as one or more complete\r
+   meta-blocks, and updates the "*storage_ix" bit position.\r
+\r
+   If "is_last" is 1, emits an additional empty last meta-block.\r
+\r
+   "cmd_depth" and "cmd_bits" contain the command and distance prefix codes\r
+   (see comment in encode.h) used for the encoding of this input fragment.\r
+   If "is_last" is 0, they are updated to reflect the statistics\r
+   of this input fragment, to be used for the encoding of the next fragment.\r
+\r
+   "*cmd_code_numbits" is the number of bits of the compressed representation\r
+   of the command and distance prefix codes, and "cmd_code" is an array of\r
+   at least "(*cmd_code_numbits + 7) >> 3" size that contains the compressed\r
+   command and distance prefix codes. If "is_last" is 0, these are also\r
+   updated to represent the updated "cmd_depth" and "cmd_bits".\r
+\r
+   REQUIRES: "input_size" is greater than zero, or "is_last" is 1.\r
+   REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero.\r
+   REQUIRES: "table_size" is a power of two */\r
+BROTLI_INTERNAL void BrotliCompressFragmentFast(MemoryManager* m,\r
+                                                const uint8_t* input,\r
+                                                size_t input_size,\r
+                                                BROTLI_BOOL is_last,\r
+                                                int* table, size_t table_size,\r
+                                                uint8_t cmd_depth[128],\r
+                                                uint16_t cmd_bits[128],\r
+                                                size_t* cmd_code_numbits,\r
+                                                uint8_t* cmd_code,\r
+                                                size_t* storage_ix,\r
+                                                uint8_t* storage);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_COMPRESS_FRAGMENT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.c
new file mode 100644 (file)
index 0000000..ea23958
--- /dev/null
@@ -0,0 +1,557 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function for fast encoding of an input fragment, independently from the input\r
+   history. This function uses two-pass processing: in the first pass we save\r
+   the found backward matches and literal bytes into a buffer, and in the\r
+   second pass we emit them into the bit stream using prefix codes built based\r
+   on the actual command and literal byte histograms. */\r
+\r
+#include "./compress_fragment_two_pass.h"\r
+\r
+#include <string.h>  /* memcmp, memcpy, memset */\r
+\r
+#include "../common/types.h"\r
+#include "./bit_cost.h"\r
+#include "./brotli_bit_stream.h"\r
+#include "./entropy_encode.h"\r
+#include "./fast_log.h"\r
+#include "./find_match_length.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./write_bits.h"\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* kHashMul32 multiplier has these properties:\r
+   * The multiplier must be odd. Otherwise we may lose the highest bit.\r
+   * No long streaks of 1s or 0s.\r
+   * There is no effort to ensure that it is a prime, the oddity is enough\r
+     for this use.\r
+   * The number has been tuned heuristically against compression benchmarks. */\r
+static const uint32_t kHashMul32 = 0x1e35a7bd;\r
+\r
+static BROTLI_INLINE uint32_t Hash(const uint8_t* p, size_t shift) {\r
+  const uint64_t h = (BROTLI_UNALIGNED_LOAD64(p) << 16) * kHashMul32;\r
+  return (uint32_t)(h >> shift);\r
+}\r
+\r
+static BROTLI_INLINE uint32_t HashBytesAtOffset(\r
+    uint64_t v, int offset, size_t shift) {\r
+  assert(offset >= 0);\r
+  assert(offset <= 2);\r
+  {\r
+    const uint64_t h = ((v >> (8 * offset)) << 16) * kHashMul32;\r
+    return (uint32_t)(h >> shift);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL IsMatch(const uint8_t* p1, const uint8_t* p2) {\r
+  return TO_BROTLI_BOOL(\r
+      BROTLI_UNALIGNED_LOAD32(p1) == BROTLI_UNALIGNED_LOAD32(p2) &&\r
+      p1[4] == p2[4] &&\r
+      p1[5] == p2[5]);\r
+}\r
+\r
+/* Builds a command and distance prefix code (each 64 symbols) into "depth" and\r
+   "bits" based on "histogram" and stores it into the bit stream. */\r
+static void BuildAndStoreCommandPrefixCode(\r
+    const uint32_t histogram[128],\r
+    uint8_t depth[128], uint16_t bits[128],\r
+    size_t* storage_ix, uint8_t* storage) {\r
+  /* Tree size for building a tree over 64 symbols is 2 * 64 + 1. */\r
+  HuffmanTree tree[129];\r
+  uint8_t cmd_depth[BROTLI_NUM_COMMAND_SYMBOLS] = { 0 };\r
+  uint16_t cmd_bits[64];\r
+  BrotliCreateHuffmanTree(histogram, 64, 15, tree, depth);\r
+  BrotliCreateHuffmanTree(&histogram[64], 64, 14, tree, &depth[64]);\r
+  /* We have to jump through a few hoopes here in order to compute\r
+     the command bits because the symbols are in a different order than in\r
+     the full alphabet. This looks complicated, but having the symbols\r
+     in this order in the command bits saves a few branches in the Emit*\r
+     functions. */\r
+  memcpy(cmd_depth, depth + 24, 24);\r
+  memcpy(cmd_depth + 24, depth, 8);\r
+  memcpy(cmd_depth + 32, depth + 48, 8);\r
+  memcpy(cmd_depth + 40, depth + 8, 8);\r
+  memcpy(cmd_depth + 48, depth + 56, 8);\r
+  memcpy(cmd_depth + 56, depth + 16, 8);\r
+  BrotliConvertBitDepthsToSymbols(cmd_depth, 64, cmd_bits);\r
+  memcpy(bits, cmd_bits + 24, 16);\r
+  memcpy(bits + 8, cmd_bits + 40, 16);\r
+  memcpy(bits + 16, cmd_bits + 56, 16);\r
+  memcpy(bits + 24, cmd_bits, 48);\r
+  memcpy(bits + 48, cmd_bits + 32, 16);\r
+  memcpy(bits + 56, cmd_bits + 48, 16);\r
+  BrotliConvertBitDepthsToSymbols(&depth[64], 64, &bits[64]);\r
+  {\r
+    /* Create the bit length array for the full command alphabet. */\r
+    size_t i;\r
+    memset(cmd_depth, 0, 64);  /* only 64 first values were used */\r
+    memcpy(cmd_depth, depth + 24, 8);\r
+    memcpy(cmd_depth + 64, depth + 32, 8);\r
+    memcpy(cmd_depth + 128, depth + 40, 8);\r
+    memcpy(cmd_depth + 192, depth + 48, 8);\r
+    memcpy(cmd_depth + 384, depth + 56, 8);\r
+    for (i = 0; i < 8; ++i) {\r
+      cmd_depth[128 + 8 * i] = depth[i];\r
+      cmd_depth[256 + 8 * i] = depth[8 + i];\r
+      cmd_depth[448 + 8 * i] = depth[16 + i];\r
+    }\r
+    BrotliStoreHuffmanTree(\r
+        cmd_depth, BROTLI_NUM_COMMAND_SYMBOLS, tree, storage_ix, storage);\r
+  }\r
+  BrotliStoreHuffmanTree(&depth[64], 64, tree, storage_ix, storage);\r
+}\r
+\r
+static BROTLI_INLINE void EmitInsertLen(\r
+    uint32_t insertlen, uint32_t** commands) {\r
+  if (insertlen < 6) {\r
+    **commands = insertlen;\r
+  } else if (insertlen < 130) {\r
+    const uint32_t tail = insertlen - 2;\r
+    const uint32_t nbits = Log2FloorNonZero(tail) - 1u;\r
+    const uint32_t prefix = tail >> nbits;\r
+    const uint32_t inscode = (nbits << 1) + prefix + 2;\r
+    const uint32_t extra = tail - (prefix << nbits);\r
+    **commands = inscode | (extra << 8);\r
+  } else if (insertlen < 2114) {\r
+    const uint32_t tail = insertlen - 66;\r
+    const uint32_t nbits = Log2FloorNonZero(tail);\r
+    const uint32_t code = nbits + 10;\r
+    const uint32_t extra = tail - (1u << nbits);\r
+    **commands = code | (extra << 8);\r
+  } else if (insertlen < 6210) {\r
+    const uint32_t extra = insertlen - 2114;\r
+    **commands = 21 | (extra << 8);\r
+  } else if (insertlen < 22594) {\r
+    const uint32_t extra = insertlen - 6210;\r
+    **commands = 22 | (extra << 8);\r
+  } else {\r
+    const uint32_t extra = insertlen - 22594;\r
+    **commands = 23 | (extra << 8);\r
+  }\r
+  ++(*commands);\r
+}\r
+\r
+static BROTLI_INLINE void EmitCopyLen(size_t copylen, uint32_t** commands) {\r
+  if (copylen < 10) {\r
+    **commands = (uint32_t)(copylen + 38);\r
+  } else if (copylen < 134) {\r
+    const size_t tail = copylen - 6;\r
+    const size_t nbits = Log2FloorNonZero(tail) - 1;\r
+    const size_t prefix = tail >> nbits;\r
+    const size_t code = (nbits << 1) + prefix + 44;\r
+    const size_t extra = tail - (prefix << nbits);\r
+    **commands = (uint32_t)(code | (extra << 8));\r
+  } else if (copylen < 2118) {\r
+    const size_t tail = copylen - 70;\r
+    const size_t nbits = Log2FloorNonZero(tail);\r
+    const size_t code = nbits + 52;\r
+    const size_t extra = tail - ((size_t)1 << nbits);\r
+    **commands = (uint32_t)(code | (extra << 8));\r
+  } else {\r
+    const size_t extra = copylen - 2118;\r
+    **commands = (uint32_t)(63 | (extra << 8));\r
+  }\r
+  ++(*commands);\r
+}\r
+\r
+static BROTLI_INLINE void EmitCopyLenLastDistance(\r
+    size_t copylen, uint32_t** commands) {\r
+  if (copylen < 12) {\r
+    **commands = (uint32_t)(copylen + 20);\r
+    ++(*commands);\r
+  } else if (copylen < 72) {\r
+    const size_t tail = copylen - 8;\r
+    const size_t nbits = Log2FloorNonZero(tail) - 1;\r
+    const size_t prefix = tail >> nbits;\r
+    const size_t code = (nbits << 1) + prefix + 28;\r
+    const size_t extra = tail - (prefix << nbits);\r
+    **commands = (uint32_t)(code | (extra << 8));\r
+    ++(*commands);\r
+  } else if (copylen < 136) {\r
+    const size_t tail = copylen - 8;\r
+    const size_t code = (tail >> 5) + 54;\r
+    const size_t extra = tail & 31;\r
+    **commands = (uint32_t)(code | (extra << 8));\r
+    ++(*commands);\r
+    **commands = 64;\r
+    ++(*commands);\r
+  } else if (copylen < 2120) {\r
+    const size_t tail = copylen - 72;\r
+    const size_t nbits = Log2FloorNonZero(tail);\r
+    const size_t code = nbits + 52;\r
+    const size_t extra = tail - ((size_t)1 << nbits);\r
+    **commands = (uint32_t)(code | (extra << 8));\r
+    ++(*commands);\r
+    **commands = 64;\r
+    ++(*commands);\r
+  } else {\r
+    const size_t extra = copylen - 2120;\r
+    **commands = (uint32_t)(63 | (extra << 8));\r
+    ++(*commands);\r
+    **commands = 64;\r
+    ++(*commands);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void EmitDistance(uint32_t distance, uint32_t** commands) {\r
+  uint32_t d = distance + 3;\r
+  uint32_t nbits = Log2FloorNonZero(d) - 1;\r
+  const uint32_t prefix = (d >> nbits) & 1;\r
+  const uint32_t offset = (2 + prefix) << nbits;\r
+  const uint32_t distcode = 2 * (nbits - 1) + prefix + 80;\r
+  uint32_t extra = d - offset;\r
+  **commands = distcode | (extra << 8);\r
+  ++(*commands);\r
+}\r
+\r
+/* REQUIRES: len <= 1 << 20. */\r
+static void BrotliStoreMetaBlockHeader(\r
+    size_t len, BROTLI_BOOL is_uncompressed, size_t* storage_ix,\r
+    uint8_t* storage) {\r
+  /* ISLAST */\r
+  BrotliWriteBits(1, 0, storage_ix, storage);\r
+  if (len <= (1U << 16)) {\r
+    /* MNIBBLES is 4 */\r
+    BrotliWriteBits(2, 0, storage_ix, storage);\r
+    BrotliWriteBits(16, len - 1, storage_ix, storage);\r
+  } else {\r
+    /* MNIBBLES is 5 */\r
+    BrotliWriteBits(2, 1, storage_ix, storage);\r
+    BrotliWriteBits(20, len - 1, storage_ix, storage);\r
+  }\r
+  /* ISUNCOMPRESSED */\r
+  BrotliWriteBits(1, (uint64_t)is_uncompressed, storage_ix, storage);\r
+}\r
+\r
+static void CreateCommands(const uint8_t* input, size_t block_size,\r
+    size_t input_size, const uint8_t* base_ip, int* table, size_t table_size,\r
+    uint8_t** literals, uint32_t** commands) {\r
+  /* "ip" is the input pointer. */\r
+  const uint8_t* ip = input;\r
+  const size_t shift = 64u - Log2FloorNonZero(table_size);\r
+  const uint8_t* ip_end = input + block_size;\r
+  /* "next_emit" is a pointer to the first byte that is not covered by a\r
+     previous copy. Bytes between "next_emit" and the start of the next copy or\r
+     the end of the input will be emitted as literal bytes. */\r
+  const uint8_t* next_emit = input;\r
+\r
+  int last_distance = -1;\r
+  const size_t kInputMarginBytes = 16;\r
+  const size_t kMinMatchLen = 6;\r
+\r
+  assert(table_size);\r
+  assert(table_size <= (1u << 31));\r
+  /* table must be power of two */\r
+  assert((table_size & (table_size - 1)) == 0);\r
+  assert(table_size - 1 ==\r
+      (size_t)(MAKE_UINT64_T(0xFFFFFFFF, 0xFFFFFF) >> shift));\r
+\r
+  if (PREDICT_TRUE(block_size >= kInputMarginBytes)) {\r
+    /* For the last block, we need to keep a 16 bytes margin so that we can be\r
+       sure that all distances are at most window size - 16.\r
+       For all other blocks, we only need to keep a margin of 5 bytes so that\r
+       we don't go over the block size with a copy. */\r
+    const size_t len_limit = BROTLI_MIN(size_t, block_size - kMinMatchLen,\r
+                                        input_size - kInputMarginBytes);\r
+    const uint8_t* ip_limit = input + len_limit;\r
+\r
+    uint32_t next_hash;\r
+    for (next_hash = Hash(++ip, shift); ; ) {\r
+      /* Step 1: Scan forward in the input looking for a 6-byte-long match.\r
+         If we get close to exhausting the input then goto emit_remainder.\r
+\r
+         Heuristic match skipping: If 32 bytes are scanned with no matches\r
+         found, start looking only at every other byte. If 32 more bytes are\r
+         scanned, look at every third byte, etc.. When a match is found,\r
+         immediately go back to looking at every byte. This is a small loss\r
+         (~5% performance, ~0.1% density) for compressible data due to more\r
+         bookkeeping, but for non-compressible data (such as JPEG) it's a huge\r
+         win since the compressor quickly "realizes" the data is incompressible\r
+         and doesn't bother looking for matches everywhere.\r
+\r
+         The "skip" variable keeps track of how many bytes there are since the\r
+         last match; dividing it by 32 (ie. right-shifting by five) gives the\r
+         number of bytes to move ahead for each iteration. */\r
+      uint32_t skip = 32;\r
+\r
+      const uint8_t* next_ip = ip;\r
+      const uint8_t* candidate;\r
+\r
+      assert(next_emit < ip);\r
+\r
+      do {\r
+        uint32_t hash = next_hash;\r
+        uint32_t bytes_between_hash_lookups = skip++ >> 5;\r
+        ip = next_ip;\r
+        assert(hash == Hash(ip, shift));\r
+        next_ip = ip + bytes_between_hash_lookups;\r
+        if (PREDICT_FALSE(next_ip > ip_limit)) {\r
+          goto emit_remainder;\r
+        }\r
+        next_hash = Hash(next_ip, shift);\r
+        candidate = ip - last_distance;\r
+        if (IsMatch(ip, candidate)) {\r
+          if (PREDICT_TRUE(candidate < ip)) {\r
+            table[hash] = (int)(ip - base_ip);\r
+            break;\r
+          }\r
+        }\r
+        candidate = base_ip + table[hash];\r
+        assert(candidate >= base_ip);\r
+        assert(candidate < ip);\r
+\r
+        table[hash] = (int)(ip - base_ip);\r
+      } while (PREDICT_TRUE(!IsMatch(ip, candidate)));\r
+\r
+      /* Step 2: Emit the found match together with the literal bytes from\r
+         "next_emit", and then see if we can find a next macth immediately\r
+         afterwards. Repeat until we find no match for the input\r
+         without emitting some literal bytes. */\r
+\r
+      {\r
+        /* We have a 6-byte match at ip, and we need to emit bytes in\r
+           [next_emit, ip). */\r
+        const uint8_t* base = ip;\r
+        size_t matched = 6 + FindMatchLengthWithLimit(\r
+            candidate + 6, ip + 6, (size_t)(ip_end - ip) - 6);\r
+        int distance = (int)(base - candidate);  /* > 0 */\r
+        int insert = (int)(base - next_emit);\r
+        ip += matched;\r
+        assert(0 == memcmp(base, candidate, matched));\r
+        EmitInsertLen((uint32_t)insert, commands);\r
+        memcpy(*literals, next_emit, (size_t)insert);\r
+        *literals += insert;\r
+        if (distance == last_distance) {\r
+          **commands = 64;\r
+          ++(*commands);\r
+        } else {\r
+          EmitDistance((uint32_t)distance, commands);\r
+          last_distance = distance;\r
+        }\r
+        EmitCopyLenLastDistance(matched, commands);\r
+\r
+        next_emit = ip;\r
+        if (PREDICT_FALSE(ip >= ip_limit)) {\r
+          goto emit_remainder;\r
+        }\r
+        {\r
+          /* We could immediately start working at ip now, but to improve\r
+             compression we first update "table" with the hashes of some\r
+             positions within the last copy. */\r
+          uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 5);\r
+          uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift);\r
+          uint32_t cur_hash;\r
+          table[prev_hash] = (int)(ip - base_ip - 5);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 1, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 4);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 2, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 3);\r
+          input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 2);\r
+          cur_hash = HashBytesAtOffset(input_bytes, 2, shift);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 0, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 2);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 1, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 1);\r
+\r
+          candidate = base_ip + table[cur_hash];\r
+          table[cur_hash] = (int)(ip - base_ip);\r
+        }\r
+      }\r
+\r
+      while (IsMatch(ip, candidate)) {\r
+        /* We have a 6-byte match at ip, and no need to emit any\r
+           literal bytes prior to ip. */\r
+        const uint8_t* base = ip;\r
+        size_t matched = 6 + FindMatchLengthWithLimit(\r
+            candidate + 6, ip + 6, (size_t)(ip_end - ip) - 6);\r
+        ip += matched;\r
+        last_distance = (int)(base - candidate);  /* > 0 */\r
+        assert(0 == memcmp(base, candidate, matched));\r
+        EmitCopyLen(matched, commands);\r
+        EmitDistance((uint32_t)last_distance, commands);\r
+\r
+        next_emit = ip;\r
+        if (PREDICT_FALSE(ip >= ip_limit)) {\r
+          goto emit_remainder;\r
+        }\r
+        {\r
+          /* We could immediately start working at ip now, but to improve\r
+             compression we first update "table" with the hashes of some\r
+             positions within the last copy. */\r
+          uint64_t input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 5);\r
+          uint32_t prev_hash = HashBytesAtOffset(input_bytes, 0, shift);\r
+          uint32_t cur_hash;\r
+          table[prev_hash] = (int)(ip - base_ip - 5);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 1, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 4);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 2, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 3);\r
+          input_bytes = BROTLI_UNALIGNED_LOAD64(ip - 2);\r
+          cur_hash = HashBytesAtOffset(input_bytes, 2, shift);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 0, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 2);\r
+          prev_hash = HashBytesAtOffset(input_bytes, 1, shift);\r
+          table[prev_hash] = (int)(ip - base_ip - 1);\r
+\r
+          candidate = base_ip + table[cur_hash];\r
+          table[cur_hash] = (int)(ip - base_ip);\r
+        }\r
+      }\r
+\r
+      next_hash = Hash(++ip, shift);\r
+    }\r
+  }\r
+\r
+emit_remainder:\r
+  assert(next_emit <= ip_end);\r
+  /* Emit the remaining bytes as literals. */\r
+  if (next_emit < ip_end) {\r
+    const uint32_t insert = (uint32_t)(ip_end - next_emit);\r
+    EmitInsertLen(insert, commands);\r
+    memcpy(*literals, next_emit, insert);\r
+    *literals += insert;\r
+  }\r
+}\r
+\r
+static void StoreCommands(MemoryManager* m,\r
+                          const uint8_t* literals, const size_t num_literals,\r
+                          const uint32_t* commands, const size_t num_commands,\r
+                          size_t* storage_ix, uint8_t* storage) {\r
+  static const uint32_t kNumExtraBits[128] = {\r
+    0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 12, 14, 24,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 24,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,\r
+    9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16,\r
+    17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24,\r
+  };\r
+  static const uint32_t kInsertOffset[24] = {\r
+    0, 1, 2, 3, 4, 5, 6, 8, 10, 14, 18, 26, 34, 50, 66, 98, 130, 194, 322, 578,\r
+    1090, 2114, 6210, 22594,\r
+  };\r
+\r
+  uint8_t lit_depths[256];\r
+  uint16_t lit_bits[256];\r
+  uint32_t lit_histo[256] = { 0 };\r
+  uint8_t cmd_depths[128] = { 0 };\r
+  uint16_t cmd_bits[128] = { 0 };\r
+  uint32_t cmd_histo[128] = { 0 };\r
+  size_t i;\r
+  for (i = 0; i < num_literals; ++i) {\r
+    ++lit_histo[literals[i]];\r
+  }\r
+  BrotliBuildAndStoreHuffmanTreeFast(m, lit_histo, num_literals,\r
+                                     /* max_bits = */ 8,\r
+                                     lit_depths, lit_bits,\r
+                                     storage_ix, storage);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  for (i = 0; i < num_commands; ++i) {\r
+    ++cmd_histo[commands[i] & 0xff];\r
+  }\r
+  cmd_histo[1] += 1;\r
+  cmd_histo[2] += 1;\r
+  cmd_histo[64] += 1;\r
+  cmd_histo[84] += 1;\r
+  BuildAndStoreCommandPrefixCode(cmd_histo, cmd_depths, cmd_bits,\r
+                                 storage_ix, storage);\r
+\r
+  for (i = 0; i < num_commands; ++i) {\r
+    const uint32_t cmd = commands[i];\r
+    const uint32_t code = cmd & 0xff;\r
+    const uint32_t extra = cmd >> 8;\r
+    BrotliWriteBits(cmd_depths[code], cmd_bits[code], storage_ix, storage);\r
+    BrotliWriteBits(kNumExtraBits[code], extra, storage_ix, storage);\r
+    if (code < 24) {\r
+      const uint32_t insert = kInsertOffset[code] + extra;\r
+      uint32_t j;\r
+      for (j = 0; j < insert; ++j) {\r
+        const uint8_t lit = *literals;\r
+        BrotliWriteBits(lit_depths[lit], lit_bits[lit], storage_ix, storage);\r
+        ++literals;\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+/* Acceptable loss for uncompressible speedup is 2% */\r
+#define MIN_RATIO 0.98\r
+#define SAMPLE_RATE 43\r
+\r
+static BROTLI_BOOL ShouldCompress(\r
+    const uint8_t* input, size_t input_size, size_t num_literals) {\r
+  double corpus_size = (double)input_size;\r
+  if (num_literals < MIN_RATIO * corpus_size) {\r
+    return BROTLI_TRUE;\r
+  } else {\r
+    uint32_t literal_histo[256] = { 0 };\r
+    const double max_total_bit_cost = corpus_size * 8 * MIN_RATIO / SAMPLE_RATE;\r
+    size_t i;\r
+    for (i = 0; i < input_size; i += SAMPLE_RATE) {\r
+      ++literal_histo[input[i]];\r
+    }\r
+    return TO_BROTLI_BOOL(BitsEntropy(literal_histo, 256) < max_total_bit_cost);\r
+  }\r
+}\r
+\r
+void BrotliCompressFragmentTwoPass(MemoryManager* m,\r
+                                   const uint8_t* input, size_t input_size,\r
+                                   BROTLI_BOOL is_last,\r
+                                   uint32_t* command_buf, uint8_t* literal_buf,\r
+                                   int* table, size_t table_size,\r
+                                   size_t* storage_ix, uint8_t* storage) {\r
+  /* Save the start of the first block for position and distance computations.\r
+  */\r
+  const uint8_t* base_ip = input;\r
+\r
+  while (input_size > 0) {\r
+    size_t block_size =\r
+        BROTLI_MIN(size_t, input_size, kCompressFragmentTwoPassBlockSize);\r
+    uint32_t* commands = command_buf;\r
+    uint8_t* literals = literal_buf;\r
+    size_t num_literals;\r
+    CreateCommands(input, block_size, input_size, base_ip, table, table_size,\r
+                   &literals, &commands);\r
+    num_literals = (size_t)(literals - literal_buf);\r
+    if (ShouldCompress(input, block_size, num_literals)) {\r
+      const size_t num_commands = (size_t)(commands - command_buf);\r
+      BrotliStoreMetaBlockHeader(block_size, 0, storage_ix, storage);\r
+      /* No block splits, no contexts. */\r
+      BrotliWriteBits(13, 0, storage_ix, storage);\r
+      StoreCommands(m, literal_buf, num_literals, command_buf, num_commands,\r
+                    storage_ix, storage);\r
+      if (BROTLI_IS_OOM(m)) return;\r
+    } else {\r
+      /* Since we did not find many backward references and the entropy of\r
+         the data is close to 8 bits, we can simply emit an uncompressed block.\r
+         This makes compression speed of uncompressible data about 3x faster. */\r
+      BrotliStoreMetaBlockHeader(block_size, 1, storage_ix, storage);\r
+      *storage_ix = (*storage_ix + 7u) & ~7u;\r
+      memcpy(&storage[*storage_ix >> 3], input, block_size);\r
+      *storage_ix += block_size << 3;\r
+      storage[*storage_ix >> 3] = 0;\r
+    }\r
+    input += block_size;\r
+    input_size -= block_size;\r
+  }\r
+\r
+  if (is_last) {\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* islast */\r
+    BrotliWriteBits(1, 1, storage_ix, storage);  /* isempty */\r
+    *storage_ix = (*storage_ix + 7u) & ~7u;\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h b/BaseTools/Source/C/BrotliCompress/enc/compress_fragment_two_pass.h
new file mode 100644 (file)
index 0000000..42d9e29
--- /dev/null
@@ -0,0 +1,51 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function for fast encoding of an input fragment, independently from the input\r
+   history. This function uses two-pass processing: in the first pass we save\r
+   the found backward matches and literal bytes into a buffer, and in the\r
+   second pass we emit them into the bit stream using prefix codes built based\r
+   on the actual command and literal byte histograms. */\r
+\r
+#ifndef BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_\r
+#define BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_\r
+\r
+#include "../common/types.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const size_t kCompressFragmentTwoPassBlockSize = 1 << 17;\r
+\r
+/* Compresses "input" string to the "*storage" buffer as one or more complete\r
+   meta-blocks, and updates the "*storage_ix" bit position.\r
+\r
+   If "is_last" is 1, emits an additional empty last meta-block.\r
+\r
+   REQUIRES: "input_size" is greater than zero, or "is_last" is 1.\r
+   REQUIRES: "command_buf" and "literal_buf" point to at least\r
+              kCompressFragmentTwoPassBlockSize long arrays.\r
+   REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero.\r
+   REQUIRES: "table_size" is a power of two */\r
+BROTLI_INTERNAL void BrotliCompressFragmentTwoPass(MemoryManager* m,\r
+                                                   const uint8_t* input,\r
+                                                   size_t input_size,\r
+                                                   BROTLI_BOOL is_last,\r
+                                                   uint32_t* command_buf,\r
+                                                   uint8_t* literal_buf,\r
+                                                   int* table,\r
+                                                   size_t table_size,\r
+                                                   size_t* storage_ix,\r
+                                                   uint8_t* storage);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/compressor.h b/BaseTools/Source/C/BrotliCompress/enc/compressor.h
new file mode 100644 (file)
index 0000000..665a48a
--- /dev/null
@@ -0,0 +1,161 @@
+/* Copyright 2016 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* C++ API for Brotli compression. */\r
+\r
+#ifndef BROTLI_ENC_COMPRESSOR_H_\r
+#define BROTLI_ENC_COMPRESSOR_H_\r
+\r
+#include "./encode.h"\r
+#include "./streams.h"\r
+\r
+namespace brotli {\r
+\r
+static const int kMinWindowBits = kBrotliMinWindowBits;\r
+static const int kMaxWindowBits = kBrotliMaxWindowBits;\r
+static const int kMinInputBlockBits = kBrotliMinInputBlockBits;\r
+static const int kMaxInputBlockBits = kBrotliMaxInputBlockBits;\r
+\r
+struct BrotliParams {\r
+  BrotliParams(void)\r
+      : mode(MODE_GENERIC),\r
+        quality(11),\r
+        lgwin(22),\r
+        lgblock(0),\r
+        enable_dictionary(true),\r
+        enable_transforms(false),\r
+        greedy_block_split(false),\r
+        enable_context_modeling(true) {}\r
+\r
+  enum Mode {\r
+    /* Default compression mode. The compressor does not know anything in\r
+       advance about the properties of the input. */\r
+    MODE_GENERIC = 0,\r
+    /* Compression mode for UTF-8 format text input. */\r
+    MODE_TEXT = 1,\r
+    /* Compression mode used in WOFF 2.0. */\r
+    MODE_FONT = 2\r
+  };\r
+  Mode mode;\r
+\r
+  /* Controls the compression-speed vs compression-density tradeoffs. The higher\r
+     the |quality|, the slower the compression. Range is 0 to 11. */\r
+  int quality;\r
+  /* Base 2 logarithm of the sliding window size. Range is 10 to 24. */\r
+  int lgwin;\r
+  /* Base 2 logarithm of the maximum input block size. Range is 16 to 24.\r
+     If set to 0, the value will be set based on the quality. */\r
+  int lgblock;\r
+\r
+  /* These settings are deprecated and will be ignored.\r
+     All speed vs. size compromises are controlled by the |quality| param. */\r
+  bool enable_dictionary;\r
+  bool enable_transforms;\r
+  bool greedy_block_split;\r
+  bool enable_context_modeling;\r
+};\r
+\r
+/* An instance can not be reused for multiple brotli streams. */\r
+class BrotliCompressor {\r
+ public:\r
+  explicit BrotliCompressor(BrotliParams params);\r
+  ~BrotliCompressor(void);\r
+\r
+  /* The maximum input size that can be processed at once. */\r
+  size_t input_block_size(void) const {\r
+    return BrotliEncoderInputBlockSize(state_);\r
+  }\r
+\r
+  /* Encodes the data in |input_buffer| as a meta-block and writes it to\r
+     |encoded_buffer| (|*encoded_size should| be set to the size of\r
+     |encoded_buffer|) and sets |*encoded_size| to the number of bytes that\r
+     was written. The |input_size| must not be greater than input_block_size().\r
+     Returns false if there was an error and true otherwise. */\r
+  bool WriteMetaBlock(const size_t input_size,\r
+                      const uint8_t* input_buffer,\r
+                      const bool is_last,\r
+                      size_t* encoded_size,\r
+                      uint8_t* encoded_buffer);\r
+\r
+  /* Writes a metadata meta-block containing the given input to encoded_buffer.\r
+     |*encoded_size| should be set to the size of the encoded_buffer.\r
+     Sets |*encoded_size| to the number of bytes that was written.\r
+     Note that the given input data will not be part of the sliding window and\r
+     thus no backward references can be made to this data from subsequent\r
+     metablocks. |input_size| must not be greater than 2^24 and provided\r
+     |*encoded_size| must not be less than |input_size| + 6.\r
+     Returns false if there was an error and true otherwise. */\r
+  bool WriteMetadata(const size_t input_size,\r
+                     const uint8_t* input_buffer,\r
+                     const bool is_last,\r
+                     size_t* encoded_size,\r
+                     uint8_t* encoded_buffer);\r
+\r
+  /* Writes a zero-length meta-block with end-of-input bit set to the\r
+     internal output buffer and copies the output buffer to |encoded_buffer|\r
+     (|*encoded_size| should be set to the size of |encoded_buffer|) and sets\r
+     |*encoded_size| to the number of bytes written.\r
+     Returns false if there was an error and true otherwise. */\r
+  bool FinishStream(size_t* encoded_size, uint8_t* encoded_buffer);\r
+\r
+  /* Copies the given input data to the internal ring buffer of the compressor.\r
+     No processing of the data occurs at this time and this function can be\r
+     called multiple times before calling WriteBrotliData() to process the\r
+     accumulated input. At most input_block_size() bytes of input data can be\r
+     copied to the ring buffer, otherwise the next WriteBrotliData() will fail.\r
+   */\r
+  void CopyInputToRingBuffer(const size_t input_size,\r
+                             const uint8_t* input_buffer);\r
+\r
+  /* Processes the accumulated input data and sets |*out_size| to the length of\r
+     the new output meta-block, or to zero if no new output meta-block has been\r
+     created (in this case the processed input data is buffered internally).\r
+     If |*out_size| is positive, |*output| points to the start of the output\r
+     data. If |is_last| or |force_flush| is true, an output meta-block is always\r
+     created. However, until |is_last| is true encoder may retain up to 7 bits\r
+     of the last byte of output. To force encoder to dump the remaining bits\r
+     use WriteMetadata() to append an empty meta-data block.\r
+     Returns false if the size of the input data is larger than\r
+     input_block_size(). */\r
+  bool WriteBrotliData(const bool is_last, const bool force_flush,\r
+                       size_t* out_size, uint8_t** output);\r
+\r
+  /* Fills the new state with a dictionary for LZ77, warming up the ringbuffer,\r
+     e.g. for custom static dictionaries for data formats.\r
+     Not to be confused with the built-in transformable dictionary of Brotli.\r
+     To decode, use BrotliSetCustomDictionary() of the decoder with the same\r
+     dictionary. */\r
+  void BrotliSetCustomDictionary(size_t size, const uint8_t* dict);\r
+\r
+  /* No-op, but we keep it here for API backward-compatibility. */\r
+  void WriteStreamHeader(void) {}\r
+\r
+ private:\r
+  BrotliEncoderState* state_;\r
+};\r
+\r
+/* Compresses the data in |input_buffer| into |encoded_buffer|, and sets\r
+   |*encoded_size| to the compressed length.\r
+   Returns 0 if there was an error and 1 otherwise. */\r
+int BrotliCompressBuffer(BrotliParams params,\r
+                         size_t input_size,\r
+                         const uint8_t* input_buffer,\r
+                         size_t* encoded_size,\r
+                         uint8_t* encoded_buffer);\r
+\r
+/* Same as above, but uses the specified input and output classes instead\r
+   of reading from and writing to pre-allocated memory buffers. */\r
+int BrotliCompress(BrotliParams params, BrotliIn* in, BrotliOut* out);\r
+\r
+/* Before compressing the data, sets a custom LZ77 dictionary with\r
+   BrotliCompressor::BrotliSetCustomDictionary. */\r
+int BrotliCompressWithCustomDictionary(size_t dictsize, const uint8_t* dict,\r
+                                       BrotliParams params,\r
+                                       BrotliIn* in, BrotliOut* out);\r
+\r
+}  /* namespace brotli */\r
+\r
+#endif  /* BROTLI_ENC_COMPRESSOR_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/context.h b/BaseTools/Source/C/BrotliCompress/enc/context.h
new file mode 100644 (file)
index 0000000..06c0813
--- /dev/null
@@ -0,0 +1,184 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions to map previous bytes into a context id. */\r
+\r
+#ifndef BROTLI_ENC_CONTEXT_H_\r
+#define BROTLI_ENC_CONTEXT_H_\r
+\r
+#include "../common/types.h"\r
+#include "../common/port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* Second-order context lookup table for UTF8 byte streams.\r
+\r
+   If p1 and p2 are the previous two bytes, we calculate the context as\r
+\r
+     context = kUTF8ContextLookup[p1] | kUTF8ContextLookup[p2 + 256].\r
+\r
+   If the previous two bytes are ASCII characters (i.e. < 128), this will be\r
+   equivalent to\r
+\r
+     context = 4 * context1(p1) + context2(p2),\r
+\r
+   where context1 is based on the previous byte in the following way:\r
+\r
+     0  : non-ASCII control\r
+     1  : \t, \n, \r\r
+     2  : space\r
+     3  : other punctuation\r
+     4  : " '\r
+     5  : %\r
+     6  : ( < [ {\r
+     7  : ) > ] }\r
+     8  : , ; :\r
+     9  : .\r
+     10 : =\r
+     11 : number\r
+     12 : upper-case vowel\r
+     13 : upper-case consonant\r
+     14 : lower-case vowel\r
+     15 : lower-case consonant\r
+\r
+   and context2 is based on the second last byte:\r
+\r
+     0 : control, space\r
+     1 : punctuation\r
+     2 : upper-case letter, number\r
+     3 : lower-case letter\r
+\r
+   If the last byte is ASCII, and the second last byte is not (in a valid UTF8\r
+   stream it will be a continuation byte, value between 128 and 191), the\r
+   context is the same as if the second last byte was an ASCII control or space.\r
+\r
+   If the last byte is a UTF8 lead byte (value >= 192), then the next byte will\r
+   be a continuation byte and the context id is 2 or 3 depending on the LSB of\r
+   the last byte and to a lesser extent on the second last byte if it is ASCII.\r
+\r
+   If the last byte is a UTF8 continuation byte, the second last byte can be:\r
+     - continuation byte: the next byte is probably ASCII or lead byte (assuming\r
+       4-byte UTF8 characters are rare) and the context id is 0 or 1.\r
+     - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1\r
+     - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3\r
+\r
+   The possible value combinations of the previous two bytes, the range of\r
+   context ids and the type of the next byte is summarized in the table below:\r
+\r
+   |--------\-----------------------------------------------------------------|\r
+   |         \                         Last byte                              |\r
+   | Second   \---------------------------------------------------------------|\r
+   | last byte \    ASCII            |   cont. byte        |   lead byte      |\r
+   |            \   (0-127)          |   (128-191)         |   (192-)         |\r
+   |=============|===================|=====================|==================|\r
+   |  ASCII      | next: ASCII/lead  |  not valid          |  next: cont.     |\r
+   |  (0-127)    | context: 4 - 63   |                     |  context: 2 - 3  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+   |  cont. byte | next: ASCII/lead  |  next: ASCII/lead   |  next: cont.     |\r
+   |  (128-191)  | context: 4 - 63   |  context: 0 - 1     |  context: 2 - 3  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+   |  lead byte  | not valid         |  next: ASCII/lead   |  not valid       |\r
+   |  (192-207)  |                   |  context: 0 - 1     |                  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+   |  lead byte  | not valid         |  next: cont.        |  not valid       |\r
+   |  (208-)     |                   |  context: 2 - 3     |                  |\r
+   |-------------|-------------------|---------------------|------------------|\r
+*/\r
+static const uint8_t kUTF8ContextLookup[512] = {\r
+  /* Last byte. */\r
+  /* */\r
+  /* ASCII range. */\r
+   0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  4,  0,  0,  4,  0,  0,\r
+   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\r
+   8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,\r
+  44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,\r
+  12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,\r
+  52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,\r
+  12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,\r
+  60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12,  0,\r
+  /* UTF8 continuation byte range. */\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\r
+  /* UTF8 lead byte range. */\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\r
+  /* Second last byte. */\r
+  /* */\r
+  /* ASCII range. */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,\r
+  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,\r
+  1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,\r
+  /* UTF8 continuation byte range. */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  /* UTF8 lead byte range. */\r
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+};\r
+\r
+/* Context lookup table for small signed integers. */\r
+static const uint8_t kSigned3BitContextLookup[] = {\r
+  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\r
+  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\r
+  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\r
+  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\r
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,\r
+};\r
+\r
+typedef enum ContextType {\r
+  CONTEXT_LSB6         = 0,\r
+  CONTEXT_MSB6         = 1,\r
+  CONTEXT_UTF8         = 2,\r
+  CONTEXT_SIGNED       = 3\r
+} ContextType;\r
+\r
+static BROTLI_INLINE uint8_t Context(uint8_t p1, uint8_t p2, ContextType mode) {\r
+  switch (mode) {\r
+    case CONTEXT_LSB6:\r
+      return p1 & 0x3f;\r
+    case CONTEXT_MSB6:\r
+      return (uint8_t)(p1 >> 2);\r
+    case CONTEXT_UTF8:\r
+      return kUTF8ContextLookup[p1] | kUTF8ContextLookup[p2 + 256];\r
+    case CONTEXT_SIGNED:\r
+      return (uint8_t)((kSigned3BitContextLookup[p1] << 3) +\r
+                       kSigned3BitContextLookup[p2]);\r
+    default:\r
+      return 0;\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_CONTEXT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h b/BaseTools/Source/C/BrotliCompress/enc/dictionary_hash.h
new file mode 100644 (file)
index 0000000..65455ba
--- /dev/null
@@ -0,0 +1,4121 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Hash table on the 4-byte prefixes of static dictionary words. */\r
+\r
+#ifndef BROTLI_ENC_DICTIONARY_HASH_H_\r
+#define BROTLI_ENC_DICTIONARY_HASH_H_\r
+\r
+#include "../common/types.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const uint16_t kStaticDictionaryHash[] = {\r
+  0x7d48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5564, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9e26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x050c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1364, 0x0116, 0x5ca5, 0x0000, 0x4e04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x084e, 0x3ee6, 0x0000, 0x0000,\r
+  0x0000, 0x3865, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6867, 0x08cd, 0x0000, 0x0000, 0x4364, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x59c8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4107, 0x0000, 0x85c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xbd66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x09cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4c4c, 0x0000, 0x0000, 0x5dc4,\r
+  0x0000, 0x0000, 0x0000, 0x2664, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7885, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ce6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50aa, 0x0964,\r
+  0x0000, 0x5125, 0x068d, 0x2347, 0x0000, 0x1904, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xcaa7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1a69, 0x1c26, 0x0000, 0x0000, 0x55e8, 0x59c7, 0x0000, 0x0000,\r
+  0x0dc9, 0x0000, 0x0748, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2b26, 0x0000, 0x0000, 0x25a9, 0x0000, 0x0000, 0x0000,\r
+  0x196b, 0x0000, 0x0000, 0x9046, 0x5448, 0xf3a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2066,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9f67,\r
+  0x0000, 0x0000, 0x0000, 0x99e6, 0x1fc8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x22ab, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1f05, 0x0000, 0x0000, 0x6409, 0x0000, 0x0000, 0x0000,\r
+  0x03a8, 0x0e84, 0x0c8d, 0x3d47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xcd27, 0x0000, 0x43e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0528, 0x16a5, 0x0000, 0x5225, 0x0000, 0x0000, 0x1948, 0x0327,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x34e9, 0x0000, 0x0000, 0x0000, 0x0e28, 0x0000,\r
+  0x0000, 0x0000, 0x73ea, 0x7864, 0x0000, 0x7a05, 0x0000, 0x19c4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xfa46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5706, 0x0000, 0x9246,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1c48, 0x01a7, 0x0000, 0x6024,\r
+  0x54c9, 0x44e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0729, 0x0000, 0x0000, 0x0000, 0x0148, 0x1785, 0x0000, 0x0000,\r
+  0x0000, 0x4e06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf2a7, 0x1052, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2f44, 0x21a9, 0x0000, 0x0000, 0x4204, 0x0000, 0x8f46,\r
+  0x0000, 0x0000, 0x0000, 0x8a26, 0x0000, 0xca06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5206, 0x0000, 0xf286,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x15a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3925, 0x2ac8, 0x6547, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x78e8, 0x0be6, 0x37ea, 0x32c6, 0x0000, 0x0000, 0x0000, 0x3ba4,\r
+  0x0000, 0x9e86, 0x7608, 0xf2a6, 0x0000, 0x0000, 0x0000, 0x4ea4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ee5, 0x0000, 0x0000,\r
+  0x0000, 0xcc86, 0x0000, 0x0000, 0x0000, 0x0000, 0x60ca, 0x0000,\r
+  0x002c, 0x8147, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6704,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ec5, 0x0000, 0x0000,\r
+  0x4608, 0x2507, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7e29, 0x6fc5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb846, 0x2dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x09e8, 0xd767, 0x0000, 0x0000,\r
+  0x190a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xdbe6, 0x2e8a, 0x0000, 0x0211, 0x0000, 0x75e8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2045, 0x0000, 0x0000, 0x7088, 0xe5e6, 0x5869, 0x03c5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xfa87, 0x0000, 0x0000, 0x014b, 0x0e64,\r
+  0x0000, 0x0645, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x410a, 0x0025, 0x0000, 0x5c46,\r
+  0x0c48, 0x3c45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x57ab, 0x0045, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45a8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2b69, 0x0000, 0x0000, 0x0000, 0x0000, 0x4785, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6806,\r
+  0x0000, 0x0000, 0x63a8, 0x6527, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4205,\r
+  0x0000, 0x0000, 0x0000, 0x6ba6, 0x0000, 0x0000, 0x24ca, 0x0000,\r
+  0x0000, 0x0000, 0x0db4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9466, 0x2449, 0x2145, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x062a, 0x0644, 0x5d88, 0x0000, 0x0000, 0x3a44,\r
+  0x31ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2f49, 0x0000, 0x40e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5364,\r
+  0x2be8, 0x70c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x168c, 0x0000, 0x0000, 0x6ca4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2084,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x416c, 0x0485, 0x0000, 0x0000, 0x496a, 0x3fc4,\r
+  0x652a, 0x03a7, 0x208d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4746, 0x0000, 0x46a6, 0x0000, 0xb706,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0153, 0x0000,\r
+  0x0000, 0x6264, 0x31ec, 0x2f86, 0x1909, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4084, 0x0000, 0x6984, 0x6eeb, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x058c, 0x0000, 0x0000, 0x0000,\r
+  0x2628, 0xcee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x624b, 0x0144, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xfde6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5585, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb906,\r
+  0x0000, 0x0000, 0x0000, 0x0366, 0x0000, 0x0000, 0x0000, 0x3166,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x65a4, 0x3fe8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0711, 0x0000, 0x0000, 0x0000,\r
+  0x19c9, 0x3e06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71a4,\r
+  0x0000, 0x6f64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x55e4, 0x0000, 0x0000, 0x0000, 0xa7c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x140d, 0x0526, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6c6,\r
+  0x6148, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xc946, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0e65, 0x0000, 0x0000, 0x0000, 0x0000, 0x274e, 0x24c4,\r
+  0x0000, 0x0000, 0x0000, 0x7ae4, 0x164c, 0x1825, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x15c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6a08, 0xe086, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1bac, 0x0000, 0x55e9, 0xcf86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x20cd, 0x0000, 0x0000, 0x1665, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0844, 0x0000, 0x60a6, 0x0000, 0x2c07,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x046d, 0x0000, 0x1309, 0x0000, 0x0000, 0x95a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x460c, 0x0000, 0x0000, 0x4685, 0x0000, 0x0000,\r
+  0x0000, 0x63a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4586, 0x0000, 0x6666, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x59e8, 0x4407, 0x4fa8, 0x00a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0ca7, 0x0000, 0xb427, 0x0000, 0x0000,\r
+  0x0000, 0x6fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1dc5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa206, 0x0000, 0x0000, 0x7928, 0xd826,\r
+  0x2748, 0x0784, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8f06,\r
+  0x0000, 0x8f67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x36aa, 0xe7a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6785, 0x0000, 0x1607,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3649, 0x04e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13e7, 0x0000, 0x0000,\r
+  0x0000, 0x70c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x21c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6429, 0x4584, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3404, 0x026c, 0x18a5, 0x2e2b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0388, 0x0447,\r
+  0x0000, 0x5ea5, 0x0000, 0x0000, 0x7048, 0xc227, 0x0000, 0x5a25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7e88, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x89c7, 0x0000, 0x7044, 0x16ea, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1109, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1eed, 0x22a5, 0x0000, 0x0000, 0x0000, 0x3664, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa3e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1a6e, 0x36a5, 0x0000, 0x0000, 0x0000, 0x0387,\r
+  0x0000, 0x0000, 0x5dca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfb86,\r
+  0x0000, 0x57c4, 0x0000, 0x6505, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5c68, 0x14c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x59e9, 0x1545, 0x3e89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xbb86, 0x28e9, 0x0000, 0x0000, 0x3844,\r
+  0x0000, 0x0000, 0x0000, 0xa4c7, 0x0000, 0x0000, 0x0000, 0xc846,\r
+  0x0000, 0x0000, 0x296a, 0x5e44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xab06, 0x0000, 0x0000, 0x45aa, 0x0000, 0x0000, 0x0000,\r
+  0x63e8, 0x6a45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x718a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0272, 0x07c4, 0x396c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe146,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xaea6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f08, 0x1dc7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa586, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4b48, 0x1924, 0x0000, 0x0000,\r
+  0x1488, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ce5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9b67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6e46, 0x0000, 0x0000, 0x0000, 0x7164, 0x292a, 0x0c85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1604, 0x0348, 0x0127, 0x0000, 0x0000,\r
+  0x2128, 0x2006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5064, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fea, 0x4c46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x79a8, 0xfa26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x414c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x452a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc5c6,\r
+  0x0000, 0xc547, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6366, 0x0000, 0x0000,\r
+  0x0000, 0x3607, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0a88, 0x0fc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x62c8, 0x0000,\r
+  0x2f2c, 0x0806, 0x0000, 0xbf26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4249, 0xe827, 0x436b, 0x8a07, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7a2b, 0x0000, 0x0000, 0x0000, 0x0449, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0308, 0x0347, 0x0000, 0x0000, 0x72ca, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x16e8, 0x2f66, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6305, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf007,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6066, 0x0000, 0x0000, 0x0000, 0xf767, 0x0000, 0x70a4,\r
+  0x1fce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x118e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3708, 0x04a4, 0x0000, 0x3f84, 0x0000, 0x0000,\r
+  0x0000, 0x4025, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0114, 0x0000, 0x0000, 0x42a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e0c, 0x7305,\r
+  0x0000, 0x8307, 0x0000, 0x1325, 0x0000, 0x0000, 0x30ea, 0x0000,\r
+  0x0000, 0xf407, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0fce, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5006, 0x0000, 0x3c64, 0x08a9, 0xca07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5bc7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3c0a, 0x0000, 0x3de9, 0x0000, 0x3b09, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d44,\r
+  0x1ca9, 0x0000, 0x0000, 0x0000, 0x0000, 0x7686, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7e2b, 0x5d84,\r
+  0x0000, 0x4566, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1828, 0x0000, 0x51a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b04, 0x0000, 0x0000,\r
+  0x0000, 0x1585, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0a6d, 0xc406, 0x0000, 0x0000, 0x300b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1489, 0x6e07,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2de6, 0x0f32, 0x0000, 0x0000, 0x6784,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc0a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ae5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4629, 0x0727, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x73c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x6769, 0x0000,\r
+  0x1848, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x700b, 0x9c27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc9c6,\r
+  0x0000, 0x0000, 0x0000, 0x6b87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x788b, 0x0cc4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7064, 0x0000, 0x4724,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6368, 0xffa6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0d09, 0x0686, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4b84, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6168, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0413, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dc6, 0x0000, 0x54a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7ec6, 0x0000, 0x77a6, 0x0000, 0x0000, 0x4eca, 0x26c6,\r
+  0x0000, 0x0000, 0x0000, 0x4747, 0x0000, 0x0000, 0x3828, 0x0000,\r
+  0x0808, 0x4327, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1e84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x57ca, 0xce46, 0x0634, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2a49, 0x0000, 0x0000, 0x0000, 0x0000, 0x9fe6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7005, 0x0000, 0x0000,\r
+  0x1652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6509, 0x56e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4368, 0x8ba7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x202c, 0x0000,\r
+  0x7d6c, 0x0000, 0x0000, 0x0000, 0x002b, 0x3806, 0x0000, 0x4085,\r
+  0x0000, 0x0000, 0x780c, 0x0000, 0x0fac, 0x0085, 0x0000, 0x9e87,\r
+  0x03cb, 0x5d86, 0x0000, 0x0000, 0x6a8b, 0x0000, 0x0000, 0x0000,\r
+  0x00cc, 0x0000, 0x0000, 0x6a04, 0x1d8c, 0xad27, 0x6bc8, 0xe266,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5748, 0x6465, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c44, 0x7c0b, 0x0000,\r
+  0x0000, 0x6dc6, 0x0000, 0xe6e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2fe5, 0x0000, 0xaf86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7b48, 0x0000, 0x2b6a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4a09, 0x4787, 0x0000, 0xb067, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x080b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe4a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x578b, 0x5d87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2daa, 0x0000, 0x0000, 0x0fe5, 0x0000, 0x0000,\r
+  0x0a6c, 0x18c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6c0a, 0x06e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ac8, 0xdb06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8547, 0x0000, 0x5f85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x556b, 0x0000, 0x44ca, 0x26a6,\r
+  0x0000, 0x0000, 0x6d48, 0x9786, 0x0000, 0x0000, 0x0000, 0xaa86,\r
+  0x0000, 0x7b47, 0x2faa, 0x5a66, 0x0000, 0x0000, 0x0000, 0xc4a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8026, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc2e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x3daa, 0x10a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x128a, 0x0ee6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4328, 0x01c5, 0x43ab, 0x0000,\r
+  0x4f68, 0x0fc4, 0x0000, 0x0000, 0x0000, 0x3de4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6ba9, 0x7cc4, 0x7e28, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2ceb, 0x2e06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x260a, 0xc527, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8a66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7426,\r
+  0x0000, 0x0000, 0x0000, 0x8ec7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2429, 0x15e6, 0x0000, 0x3605, 0x0000, 0x1b67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6227, 0x0000, 0x0000, 0x4a6b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0a0c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7465, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa566,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x244d, 0x0000, 0x45e8, 0xdae6,\r
+  0x0fed, 0x0000, 0x0000, 0x0000, 0x74cb, 0x91e7, 0x0000, 0x7867,\r
+  0x0000, 0x2086, 0x0000, 0x0000, 0x0000, 0x47a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4889, 0xd326,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9186, 0x0000, 0x0000, 0x7ac9, 0xf046, 0x0000, 0x07e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6325, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0865, 0x62c9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30e4,\r
+  0x3769, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x21e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2a89, 0x2587, 0x0000, 0x7027, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6f4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x6645, 0x282b, 0x06a5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3a84, 0x0000, 0x1e67, 0x0000, 0x6cc6, 0x0000, 0x0000,\r
+  0x0000, 0xdca6, 0x0f34, 0x0000, 0x0000, 0x0000, 0x168a, 0x40c7,\r
+  0x0000, 0x66c5, 0x346e, 0x4f44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7046, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x38c8, 0x0486, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x64c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa5c6, 0x0000, 0x0d04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2087, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x43c9, 0x05a7,\r
+  0x0000, 0x0000, 0x20eb, 0xbd86, 0x054f, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3a8a, 0x0000, 0x7da8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x240e, 0x0ae7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3ec9, 0x7b87, 0x10ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x11a7, 0x0000, 0x0000, 0x6d08, 0xe646, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20a9, 0x4d64,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x17a8, 0x1ec5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x54c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23a8, 0x0465,\r
+  0x0000, 0x40a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x438c, 0x1ac6, 0x5368, 0x0000,\r
+  0x094c, 0x0000, 0x0000, 0x0fa7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5f25, 0x106a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x29a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa747, 0x0bce, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3825, 0x0000, 0x50c5, 0x0ce8, 0x0ac7,\r
+  0x502a, 0xfd87, 0x0000, 0x0000, 0x0000, 0x0026, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6ca6, 0x0af2, 0x22a6, 0x0eae, 0x04e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x754b, 0x2526,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x45c8, 0x3a07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5b6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc906,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2a6,\r
+  0x0000, 0x0000, 0x5bab, 0x7e47, 0x0000, 0x0000, 0x2a4a, 0xcf07,\r
+  0x0000, 0x0000, 0x0000, 0x81c6, 0x7a68, 0xfb46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7da6, 0x0000, 0x0000,\r
+  0x0f33, 0x0000, 0x0000, 0x0000, 0x1b69, 0x0285, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6d0b, 0xb407, 0x0000, 0x0000,\r
+  0x0000, 0x5567, 0x0000, 0x85c6, 0x0000, 0x0000, 0x414b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x36e4, 0x53a8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ba6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9846, 0x0000, 0x0000, 0x4468, 0x1d24,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3c44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6ec4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6365, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4dc7, 0x0000, 0x4e27,\r
+  0x0000, 0x0000, 0x0000, 0x2a67, 0x03af, 0x0000, 0x0000, 0x2a45,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x104a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x266c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xff87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2689, 0x6046, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9e47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3204, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x564b, 0x5c67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bc6, 0x0000, 0x0000,\r
+  0x0000, 0xe4e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ca4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f65, 0x0000, 0x6dc4,\r
+  0x0000, 0x0000, 0x0000, 0x7a24, 0x0000, 0x0c84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4deb, 0x27c6, 0x0000, 0x0000,\r
+  0x2508, 0x39e5, 0x112e, 0x0000, 0x0000, 0x38c4, 0x0000, 0x0000,\r
+  0x0000, 0xbee7, 0x0751, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x024d, 0x0605, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5b25, 0x0000, 0x0000, 0x0000, 0x3745, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0510, 0x3826, 0x0000, 0x6aa4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1c6c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xba66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x142c, 0x06e5,\r
+  0x0000, 0x3845, 0x0000, 0x92c6, 0x07ca, 0x0000, 0x19ec, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ca7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0a08, 0x1aa4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2c48, 0x6687, 0x0000, 0x0000, 0x5d68, 0x0000, 0x0000, 0x0000,\r
+  0x7748, 0x0000, 0x0000, 0x8626, 0x0000, 0x4587, 0x0000, 0x0000,\r
+  0x0000, 0x5685, 0x0000, 0x17e6, 0x0000, 0x6484, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67e8, 0x1446,\r
+  0x0000, 0x0000, 0x0476, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9a67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9a46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0c0d, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x12b2, 0x0000, 0x0000, 0x0000,\r
+  0x70c9, 0x1984, 0x0000, 0x0000, 0x6828, 0x0000, 0x23e9, 0x2dc7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7c08, 0xfc86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2c85, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6206, 0x0000, 0x0000, 0x46e9, 0x4ec7,\r
+  0x0000, 0x0000, 0x0000, 0x4366, 0x0000, 0x0000, 0x036e, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5e66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x65cb, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7b68, 0x0000, 0x0000, 0x1fe7,\r
+  0x5f2a, 0x1844, 0x0000, 0x87c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7f08, 0x0000, 0x0000, 0xae87, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4645, 0x21e9, 0x7226, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x280b, 0x1326, 0x05ac, 0x3b67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5926,\r
+  0x0000, 0x28e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4b89, 0x4506, 0x006b, 0x2ce6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6aa9, 0x0a05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xfc06, 0x00c8, 0x6ee5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x79e8, 0x0000, 0x782a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7289, 0xec66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c89, 0x0ca5,\r
+  0x30ca, 0x5887, 0x0000, 0x0000, 0x0000, 0x4965, 0x7ae8, 0x4007,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x50a6, 0x0000, 0x0000, 0x0000, 0x6a66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e44, 0x1188, 0x1b27,\r
+  0x0000, 0x0000, 0x0000, 0xb506, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7125, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5068, 0x0d27, 0x0000, 0x6306,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0716, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e45, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0b71, 0x0000, 0x0000, 0xc3a6, 0x0000, 0x0b66,\r
+  0x630c, 0x7564, 0x0073, 0x2e46, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0bf0, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e7, 0x00ef, 0x4d67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8fc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f04, 0x2e0a, 0x12a4,\r
+  0x0000, 0x0000, 0x0d28, 0x8dc7, 0x0000, 0x7ae7, 0x0000, 0x0000,\r
+  0x3949, 0x03e4, 0x0000, 0x5066, 0x0000, 0x0000, 0x0000, 0x2704,\r
+  0x0000, 0x5c85, 0x0000, 0x0000, 0x0000, 0xcd47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0767, 0x088a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6c6b, 0x6367, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x794c, 0xf726, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8f86, 0x0000, 0x60e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7948, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x532a, 0x08e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x676b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3be4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0c68, 0x4be7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf506, 0x0000, 0x0000, 0x0000, 0x6324,\r
+  0x0000, 0x0000, 0x6ceb, 0x0524, 0x0000, 0x0000, 0x1e2c, 0x0bc7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1a29, 0x0000, 0x0000, 0xbb26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0c45, 0x0000, 0x0000, 0x0000, 0x39e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x246e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b05, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x19a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x19a9, 0x0544, 0x0000, 0x6426, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4f64, 0x0000, 0x0000, 0x42ab, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e64, 0x0000, 0xa046,\r
+  0x0000, 0x0000, 0x0000, 0x6725, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ca7, 0x6de9, 0x3a66,\r
+  0x0000, 0x27a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7386, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a28, 0xe066,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6fea, 0xe0e6, 0x056b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe387, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x41a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0dc6,\r
+  0x0000, 0x3da5, 0x0000, 0x15c4, 0x3428, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x48e9, 0x5ba7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3c2d, 0x1ae5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3ba8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2685, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2528, 0x0fc5, 0x0000, 0x0000, 0x2d2b, 0xc1e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ce8, 0xe1e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa367, 0x0000, 0x55a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63a5,\r
+  0x0000, 0x6b46, 0x0000, 0x46a5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x364a, 0x1f84, 0x6749, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x62e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x3faa, 0x1ce5,\r
+  0x164a, 0x4b27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0570, 0xc6e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd267, 0x0000, 0x0000, 0x0000, 0x0000, 0x05ab, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8c07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4589, 0x3dc5, 0x0000, 0x31c4,\r
+  0x0000, 0x0000, 0x0000, 0x80c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x150d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79a7, 0x0000, 0x5044,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc9e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2f4d, 0x4a47, 0x0000, 0x88a7, 0x0000, 0x54e4,\r
+  0x0e10, 0x0000, 0x0000, 0x0000, 0x0000, 0xba86, 0x4388, 0xabc7,\r
+  0x5949, 0xb9c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x6728, 0xbce6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7706, 0x0000, 0x0000,\r
+  0x5c08, 0x11e5, 0x0000, 0x5784, 0x0000, 0xc086, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc2a7, 0x0000, 0x0000, 0x0000, 0x6b85, 0x7bcb, 0x0007,\r
+  0x0000, 0x0000, 0x64eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1069, 0x4065, 0x0000, 0x50c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0ea9, 0x5b07, 0x3f88, 0x0f26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2caa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1da5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xdf07, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5924,\r
+  0x2b8a, 0xc006, 0x0000, 0x5c47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3645, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2dca, 0xeaa7, 0x04ea, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4884, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6d29, 0x0000, 0x0000, 0x0000, 0x0000, 0x1567,\r
+  0x0000, 0x4e26, 0x44c8, 0x0d67, 0x2aec, 0x75e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6005, 0x000e, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63e4, 0x0000, 0x0000,\r
+  0x0000, 0x6fc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xd127, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8386,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2206,\r
+  0x0000, 0x3724, 0x0000, 0x0000, 0x0074, 0x0124, 0x0000, 0x0000,\r
+  0x0000, 0x93c7, 0x0000, 0xa846, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5548, 0x0000, 0x0000, 0x7d86,\r
+  0x030f, 0x0000, 0x0000, 0x7906, 0x0000, 0x0000, 0x0000, 0x0044,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x172c, 0x0000,\r
+  0x0000, 0x0000, 0x4849, 0x3b47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e2e, 0x4245, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4585, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0208, 0xa4a6, 0x0000, 0x0000, 0x0c32, 0x0000, 0x0000, 0x0000,\r
+  0x57ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6f86, 0x0000, 0x0000, 0x0000, 0xc466, 0x0000, 0x0000,\r
+  0x3549, 0x1746, 0x0000, 0x89a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7529, 0x4924, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x508b, 0x2467,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5da9, 0x0000, 0x1449, 0x0000,\r
+  0x0000, 0x2fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5f46, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4e89, 0x02a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72eb, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4f2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x2987, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xba27,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6804, 0x31c8, 0x0000, 0x50a8, 0x0000, 0x0000, 0x0000,\r
+  0x01b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0286, 0x0000, 0x6404, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf926, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6028, 0x0000, 0x0000, 0x0000, 0x532b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb246,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x078b, 0x0000, 0x0000, 0x0000,\r
+  0x5029, 0xea47, 0x0000, 0x5086, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xdba7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7527, 0x0000, 0xce87, 0x0000, 0x51c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1c45, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb9c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa826, 0x0000, 0x0000,\r
+  0x0b72, 0x0000, 0x3288, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79a5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9307,\r
+  0x0000, 0x44a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7a08, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x02b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0670, 0x0000, 0x0000, 0x0000, 0x0000, 0x2747, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0092, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x18c9, 0x00c7, 0x0000, 0x88a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xde07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbf06,\r
+  0x0000, 0x3464, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0989, 0x1144, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4fcc, 0x03a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb147, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd5c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x428c, 0x02e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6bc5, 0x0000, 0x0000, 0x764a, 0x4a06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x08c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6589, 0x0000, 0x0000, 0x0000,\r
+  0x098b, 0x0000, 0x0000, 0x7b86, 0x0000, 0x3746, 0x0000, 0x0000,\r
+  0x0000, 0x7007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3c68, 0x0000, 0x0000, 0x0000, 0x0000, 0xd5a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0ef3, 0x0000, 0x0000, 0x0000,\r
+  0x0eac, 0x0000, 0x26a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4a8a, 0x7a07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6004, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x40c4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6be9, 0x0000,\r
+  0x0000, 0x0000, 0x0310, 0x1227, 0x7f8c, 0x0000, 0x0000, 0xf806,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5246,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0d4c, 0xe466, 0x0000, 0x7e45, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x48ca, 0x0ae5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2164,\r
+  0x0000, 0x0000, 0x0000, 0x57e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3e09, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c27,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1f2a, 0x4624, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5f04, 0x0000, 0x0000, 0x1349, 0x0000,\r
+  0x0000, 0x0000, 0x1fe8, 0x0000, 0x346c, 0x2864, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2e04, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4148, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e8, 0x4647,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0b89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x238c, 0x41a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x77cb, 0x0000, 0x0000, 0x4a45,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00cd, 0x3be6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b1, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6688, 0xcd26,\r
+  0x0000, 0xc286, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x25c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1286,\r
+  0x0000, 0x0000, 0x5489, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd146, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x164b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0bca, 0x30a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b68, 0x0106,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d66, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0307, 0x0000, 0xa906, 0x13ca, 0xbf47,\r
+  0x0000, 0x0000, 0x59ca, 0x1045, 0x230b, 0xaf26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf347, 0x0110, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc8e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6e4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3425, 0x0000, 0x0000,\r
+  0x0000, 0xc7a7, 0x4f29, 0x3625, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0249, 0x1d46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5508, 0xf3c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f2b, 0x00a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9806, 0x0000, 0xdda6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3fa8, 0x1687, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7d44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7464, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5d6c, 0x75e7, 0x0000, 0xe5a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5026, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2309, 0x0000, 0x0000, 0x0000, 0x00b7, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x090a, 0x4425, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc4,\r
+  0x0000, 0x0000, 0x1fcb, 0x12e7, 0x6d0a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7326, 0x0000, 0x0000, 0x40a8, 0x6827, 0x0000, 0xd207,\r
+  0x0000, 0x0000, 0x3688, 0x1f67, 0x4908, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x030e, 0x3e85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1872, 0xdde6, 0x4048, 0x30a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ce4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x248b, 0x0000, 0x0000, 0x0000,\r
+  0x1c69, 0xa067, 0x60cc, 0xe1a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0eec, 0x0a25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7229, 0xeec6,\r
+  0x0000, 0x0000, 0x0000, 0xe447, 0x3d4b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9146, 0x5788, 0x03c7,\r
+  0x0000, 0x0000, 0x0000, 0x5a26, 0x68ea, 0x0000, 0x0000, 0x0000,\r
+  0x4d29, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1528, 0x3586, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xce06, 0x4faa, 0x96a7, 0x0000, 0x0000, 0x0000, 0xc787,\r
+  0x0000, 0x0000, 0x0088, 0x2144, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bc4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0213, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x22e8, 0x13a7, 0x30e8, 0x4b86,\r
+  0x0000, 0x0000, 0x592b, 0x7627, 0x6daa, 0x79a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6b69, 0x46e4, 0x4e88, 0xe6c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5f45, 0x0000, 0x0000, 0x17ed, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2545, 0x0000, 0x0000, 0x5fe9, 0x71a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6364, 0x0000, 0x0000,\r
+  0x25ab, 0x0000, 0x0000, 0xf647, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9a86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x508c, 0x2e27, 0x01f3, 0x0000,\r
+  0x1408, 0x08e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb4e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5bea, 0x9ce6, 0x0988, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x692a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6886, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xcac7, 0x0000, 0x0000, 0x5bec, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc826, 0x6489, 0xadc6, 0x314e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0c06, 0x0000, 0x2425, 0x0000, 0x0000,\r
+  0x0468, 0x5607, 0x0000, 0x0000, 0x0000, 0x5366, 0x0000, 0x4024,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfe46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5804, 0x0000, 0xbe86,\r
+  0x0000, 0x86c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2645, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x35e5, 0x0000, 0x9587, 0x0000, 0x0000, 0x06ca, 0x0000,\r
+  0x01e9, 0xb507, 0x0000, 0xb146, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7166, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x184c, 0xdce6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6905, 0x0000, 0x7086, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb386, 0x0000, 0x0000, 0x0000, 0x0000, 0x5049, 0xc307,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bcb, 0x3046,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x67cb, 0x3407, 0x0000, 0x0000, 0x028d, 0x5b67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x572c, 0x0000, 0x0000, 0x52c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ba4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ce6, 0x53eb, 0x6c05,\r
+  0x0000, 0x7405, 0x00ed, 0x0000, 0x2988, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x83e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7b4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0588, 0x0987,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x258b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x15eb, 0x40c5, 0x67e9, 0x8a86, 0x0000, 0x0000,\r
+  0x0000, 0x6884, 0x0000, 0xe787, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6968, 0xe186,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1eca, 0x0000, 0x0000, 0x0000, 0x4c48, 0x1945, 0x0000, 0x0000,\r
+  0x0489, 0x0000, 0x0000, 0x0000, 0x1e08, 0x51c7, 0x01a9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30e7,\r
+  0x0000, 0x3266, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x096b, 0x0000, 0x2dcd, 0x65e6,\r
+  0x0000, 0x0000, 0x4ee9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2b25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7707, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5425,\r
+  0x0475, 0x52c6, 0x0000, 0x23e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x00b8, 0x0445, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x12ea, 0x0000, 0x3568, 0x0000,\r
+  0x0000, 0x2fc6, 0x0000, 0x0000, 0x0000, 0x2924, 0x0000, 0x0000,\r
+  0x22e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7144, 0x0000, 0x0000, 0x2dc8, 0x6966,\r
+  0x0000, 0xb466, 0x0000, 0xab87, 0x7c0a, 0x0000, 0x0488, 0x0f64,\r
+  0x0000, 0x5124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fe5,\r
+  0x0000, 0x7f46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7c65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0906, 0x2e0c, 0x0000, 0x0000, 0xa827,\r
+  0x0000, 0x0000, 0x0000, 0x49a5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf886, 0x0000, 0x0000,\r
+  0x1b88, 0x43a6, 0x0000, 0x0000, 0x0000, 0x55c5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x040f, 0x1887,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fa5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb586,\r
+  0x0000, 0x0000, 0x0018, 0x4d07, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x99a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5369, 0x0f06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8f47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c04, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x24a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x74e6, 0x0000, 0x8346, 0x0000, 0x1264, 0x0b0c, 0x0000,\r
+  0x0000, 0x7367, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x74c5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0e4f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2aa8, 0x1bc7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x24a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fa4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x90e6, 0x0000, 0x0000,\r
+  0x0000, 0x69e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5569, 0x0000, 0x6c69, 0x7606, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe227, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3168, 0x1546, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4d48, 0x42e4, 0x0000, 0xcb27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x02f6, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6144,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05c4, 0x0000, 0xfe07,\r
+  0x0000, 0x0000, 0x04b5, 0xb647, 0x0000, 0x7547, 0x2d69, 0x0446,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f27, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x39c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x41a8, 0x0000,\r
+  0x0000, 0x02e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5484, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3e48, 0x5aa7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00f7, 0x0000, 0x0000, 0x0000, 0x0000, 0x60a7, 0x0000, 0x0000,\r
+  0x0000, 0x1484, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7509, 0x48e4, 0x526b, 0xb6c7, 0x0000, 0x1b85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x646b, 0x0000, 0x0000, 0x4404,\r
+  0x0ef4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x16ab, 0x1605, 0x0000, 0x9507,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xeac7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0355, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7607, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2225, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6ae6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00ab, 0x0fe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5e09, 0x1cc6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0888, 0x1445,\r
+  0x0000, 0x51c4, 0x0609, 0x1384, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e04, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x18a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x786a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6b47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5488, 0xf747,\r
+  0x0000, 0x0000, 0x0ccb, 0x7987, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2d24, 0x0000, 0x39a4, 0x0000, 0x0000,\r
+  0x0000, 0x3b04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5d6a, 0x7126, 0x0000, 0x0000, 0x0000, 0x1365, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x27e8, 0x1467, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6a06, 0x0000, 0x0000, 0x0495, 0x4ee6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdd26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1204, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e2e, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4569, 0x1ee6,\r
+  0x0000, 0x0000, 0x7c88, 0x0000, 0x0000, 0x17a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x230a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x41c8, 0x5d47, 0x0000, 0x0000,\r
+  0x2b2b, 0x0000, 0x0000, 0x0000, 0x7f28, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x516a, 0x3585, 0x0000, 0x0000,\r
+  0x0000, 0x9147, 0x1ccd, 0x28e7, 0x444a, 0x6304, 0x0000, 0x0000,\r
+  0x0000, 0x9666, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5405, 0x17aa, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0c65, 0x0000, 0x0000, 0x0000, 0x2547,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4568, 0x31a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x90a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x31cc, 0xbe67, 0x0000, 0x2dc6, 0x0000, 0x0000, 0x626a, 0x0000,\r
+  0x0000, 0x0000, 0x2349, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x13a4, 0x0000, 0x75a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xa707, 0x0000, 0x0000, 0x0e88, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6266, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x154a, 0x1405,\r
+  0x0000, 0xe2e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c44,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5624, 0x0000, 0x0000, 0x0000, 0x0000, 0x6689, 0x0000,\r
+  0x3e4b, 0x0d84, 0x0000, 0x0000, 0x0000, 0x8be6, 0x0000, 0x0000,\r
+  0x0000, 0x1e85, 0x4c2c, 0x7da7, 0x0000, 0x48a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6fe4, 0x0000, 0x0000, 0x0000, 0xed47,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4344, 0x3e0d, 0x24c6, 0x25aa, 0x0000,\r
+  0x0000, 0x0000, 0x0251, 0x0000, 0x0000, 0x5ea4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9de6, 0x0000, 0x6684, 0x0000, 0x5a45,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xfd86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0f8b, 0xea67, 0x0000, 0x0000, 0x0000, 0x6e27, 0x0000, 0x0000,\r
+  0x0000, 0xa886, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x71e6, 0x0000, 0x7744, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x33c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x40a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6604, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5929, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0429, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4a29, 0x12c5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4526, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0d8c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3487, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xde27, 0x0000, 0x0000,\r
+  0x06f0, 0x3da4, 0x0000, 0x0000, 0x0a2b, 0x0000, 0x2828, 0x7a86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d48, 0x0e07,\r
+  0x0000, 0x0944, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4e24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2f28, 0x0206, 0x0000, 0x0000, 0x07a8, 0x2327, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1c0a, 0x80e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0669, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1a6c, 0x26a5, 0x01ea, 0x0fa5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x62aa, 0x15a5, 0x0000, 0x36e5, 0x0132, 0x5107, 0x0000, 0x0000,\r
+  0x24ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2ec9, 0x0104, 0x0000, 0x8967, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x47e5, 0x0000, 0x0000, 0x0000, 0x40c6,\r
+  0x0000, 0x0000, 0x0000, 0x57c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0ae8, 0x0000, 0x0000, 0x0000, 0x36ca, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3a0a, 0x0f45, 0x0000, 0x0000, 0x0000, 0xe147, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3e6b, 0x0000, 0x0000, 0x0000,\r
+  0x0aea, 0x3b87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6904, 0x236e, 0x0000, 0x0000, 0x0000, 0x0000, 0xca86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c2b, 0x9107,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b05,\r
+  0x286e, 0x2e86, 0x0000, 0x0000, 0x0000, 0x0000, 0x3aeb, 0x5a44,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3baa, 0xa307, 0x0000, 0xddc6,\r
+  0x0000, 0x0000, 0x0b09, 0x0000, 0x36c9, 0x0185, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53ea, 0x7ca6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fe8, 0x02c6,\r
+  0x0000, 0x0000, 0x61c8, 0x5525, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7eab, 0x5304,\r
+  0x0000, 0x75c6, 0x0000, 0xa8a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2c8b, 0x0000, 0x0000, 0x0405, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1aec, 0x2424, 0x0000, 0xf6e6, 0x0da8, 0x3846,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5828, 0x0000, 0x0000, 0x5305, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ac7, 0x0000, 0x0000,\r
+  0x27cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7809, 0xea06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ce9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1dec, 0x6127, 0x0000, 0x0346, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2eed, 0x33c4, 0x0000, 0x0227, 0x0000, 0x0000, 0x0000, 0xa8c7,\r
+  0x0000, 0x7767, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6eea, 0x7804, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5889, 0x58c5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x72e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x3eca, 0x2306,\r
+  0x00f5, 0x05a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x6128, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3344, 0x0000, 0x8ac7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x33cb, 0x2aa5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6267, 0x0000, 0x0000, 0x0000, 0x3684, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd567, 0x4ca9, 0x2f26,\r
+  0x0c0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x3864, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5506, 0x0000, 0x3c67, 0x728a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7526, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c65,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0a53, 0x0000, 0x0000, 0x52e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x87e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3ee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0129, 0x0e24, 0x0d0a, 0x2884, 0x0000, 0x3987, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x74e4, 0x57c9, 0x3647,\r
+  0x3ca9, 0x7ec7, 0x76aa, 0x34e4, 0x0000, 0x7087, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfc46, 0x47cc, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x96c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x04d4, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7fc6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x11ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfda7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4168, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4e25, 0x0000, 0x0000, 0x3528, 0x04a7,\r
+  0x0000, 0x0000, 0x0000, 0xf2e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x44eb, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1504, 0x0000, 0x0000, 0x7e48, 0x0000, 0x0000, 0xf946,\r
+  0x0000, 0x0000, 0x0000, 0x0b67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x428a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xeb87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1e0a, 0x01e6, 0x0000, 0x0000, 0x0000, 0x9966, 0x0000, 0xbfc6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x310b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x51e7, 0x4649, 0x3167, 0x0000, 0x0000,\r
+  0x0000, 0x3ea4, 0x7f68, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa6,\r
+  0x216b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8966, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x768a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x39cd, 0x0e44, 0x0000, 0x0000,\r
+  0x204c, 0x3286, 0x0000, 0xd6a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0a48, 0x84a7, 0x0000, 0x5a87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8da6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7fac, 0x6926, 0x0000, 0x7fa4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d09, 0x2ea7,\r
+  0x04b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x4684, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4026, 0x0000, 0x0000, 0x0000, 0x6724,\r
+  0x0000, 0x0000, 0x7069, 0x0000, 0x0000, 0x6146, 0x0000, 0x0000,\r
+  0x0198, 0xb127, 0x0000, 0x8b87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e4a, 0x4426, 0x0000, 0x00a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1807, 0x0000, 0x0000,\r
+  0x5f68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5e6a, 0x5ee5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2e47, 0x0000, 0x9aa7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x254d, 0x0ae4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x03f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x65c7, 0x7bec, 0x0000, 0x5ea9, 0x0724, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4384,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4c08, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ec4, 0x0000, 0x0000,\r
+  0x0000, 0x70c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x4528, 0xd087,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x45e4, 0x0792, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3fea, 0x0000, 0x0000, 0x5465, 0x0000, 0x0000, 0x138b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58a5, 0x0000, 0x5746,\r
+  0x0000, 0x0000, 0x0000, 0xda26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5945, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19c8, 0x0107,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6104,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9f07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8466,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32c8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7664, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x150a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6cc4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x454c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6205, 0x7188, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3188, 0x2cc6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0054, 0x1c87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x69a4, 0x01c9, 0x0000, 0x598c, 0xe386,\r
+  0x4a48, 0x0000, 0x0a2e, 0xb287, 0x0000, 0x1425, 0x0000, 0x61c4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0811, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7cca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8266,\r
+  0x0000, 0xbb06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x61ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6629, 0x8b46, 0x0000, 0xe2c7, 0x77cc, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6584, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1168, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1d88, 0x5067, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9286, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa746,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x06c5, 0x0000, 0x0000, 0x0000, 0x2004,\r
+  0x0000, 0x0000, 0x2be9, 0x0000, 0x776c, 0xeba6, 0x0000, 0x3aa5,\r
+  0x0000, 0x0000, 0x0000, 0x9ec6, 0x0000, 0x5d04, 0x0000, 0x2726,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x324a, 0x7927, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0648, 0x0000, 0x0000, 0x0000, 0x0000, 0x4784, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x69ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1f08, 0x0566, 0x0000, 0x2e25, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5fc5, 0x0000, 0x2d65, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x54c6, 0x0000, 0x0000, 0x332c, 0x2046, 0x0a54, 0x1f25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0409, 0x3125, 0x0000, 0x6285,\r
+  0x0000, 0x0000, 0x0000, 0xa026, 0x3fad, 0xf607, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x04ef, 0x2466, 0x0000, 0x0000, 0x0000, 0x49a6,\r
+  0x0000, 0x0000, 0x06cd, 0x8467, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7da5, 0x0000, 0xc7c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x068a, 0x1086,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2906, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x15a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0833, 0xb066, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x374d, 0x0000, 0x694b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x42c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69aa, 0x1a46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6f8a, 0x0000, 0x0000, 0x1be6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4228, 0x0000, 0x0000, 0x0000, 0x64e9, 0x0000, 0x112f, 0x1b44,\r
+  0x0000, 0xb486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2986,\r
+  0x52ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x098e, 0xbda7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3445, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c28, 0x2f67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12a6, 0x024a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc7,\r
+  0x2608, 0x11c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x63e9, 0x73a7, 0x186a, 0x0665, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5608, 0x0000, 0x0000, 0x0000, 0x0000, 0x5724, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9226, 0x5dec, 0x0000,\r
+  0x0000, 0x0000, 0x388a, 0x7427, 0x0000, 0x1ba5, 0x0000, 0xb3a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7768, 0x9c67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1806, 0x0000, 0x1084, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6c27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5fe4, 0x5409, 0x0546, 0x0000, 0x0000,\r
+  0x0000, 0x8347, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2e08, 0x0586, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4744, 0x03ac, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1c66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4145, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xbf27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5c6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd066, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x108c, 0x3fe6, 0x0000, 0x1146, 0x1a09, 0x7f84, 0x0000, 0x0000,\r
+  0x02e8, 0x46a4, 0x0000, 0x2b06, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7344, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1e06, 0x0000, 0x0000, 0x33e9, 0x1566, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3248, 0x0000, 0x0000, 0x5e46, 0x03ed, 0x5984, 0x0000, 0x7ac5,\r
+  0x5b68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6f08, 0x0000, 0x0000, 0x0000, 0x646a, 0x69e5, 0x0000, 0x0000,\r
+  0x66e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6226,\r
+  0x0000, 0x0000, 0x0058, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4288, 0x0000, 0x0000, 0x5527, 0x0000, 0x0000,\r
+  0x274c, 0x0000, 0x3008, 0x5584, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5129, 0x37e7,\r
+  0x0000, 0xe346, 0x7de8, 0x0000, 0x282a, 0x0000, 0x0849, 0x2d07,\r
+  0x0000, 0x0000, 0x0000, 0x3025, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7084, 0x0928, 0x1fc5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5568, 0xf4e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0ad3, 0x0000, 0x0000, 0x5aa4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1886, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5a68, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7c48, 0x4e66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f88, 0x0846,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x19aa, 0x0484, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76c6, 0x0000, 0x0000,\r
+  0x0000, 0x6ee4, 0x0df4, 0x0000, 0x0000, 0x67e7, 0x308a, 0x14a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1367, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x618a, 0x5e67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7049, 0x1246, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x05a4, 0x00ec, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4be4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x082c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b0b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4da9, 0x4b04, 0x0000, 0x2de5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4626,\r
+  0x0000, 0x45e6, 0x0000, 0x4926, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5406,\r
+  0x13a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x5947, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3906, 0x0000, 0x73a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0269, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xb826, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e2b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x08b1, 0x39e7, 0x0000, 0x0000,\r
+  0x0a4d, 0x1826, 0x004e, 0x3ae6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4f28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8f87,\r
+  0x102c, 0xae07, 0x43c8, 0x6467, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x36c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d64,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1da4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0827, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x466c, 0x0000, 0x0000, 0x0000, 0x012c, 0x3784, 0x0000, 0x0000,\r
+  0x056a, 0x9d87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x796a, 0x0000, 0x0000, 0x5766, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8b86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67a4,\r
+  0x1e4c, 0x0000, 0x0000, 0x4a26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1928, 0x0487, 0x1c0c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2c6, 0x0000, 0xe1c6,\r
+  0x0000, 0x4164, 0x0000, 0x0000, 0x1a92, 0xec26, 0x0000, 0x0000,\r
+  0x0000, 0x6766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff66,\r
+  0x110a, 0x1e46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2388, 0x1287, 0x014e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9c26, 0x0000, 0x0000, 0x0000, 0x64e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0bd3, 0x0000, 0x0000, 0x0000, 0x3dc8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbcc7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3f28, 0xa347, 0x0000, 0x0000, 0x5f8a, 0x2185, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3004, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd4e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x13e9, 0x7884, 0x48e8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4064, 0x0000, 0x0000, 0x6ac9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8c66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1104, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xdec6, 0x0000, 0x0000, 0x0589, 0xa0e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5b85, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2728, 0x54e7, 0x0000, 0x0000, 0x278e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4a66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5e29, 0x1266, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x112a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x33c5, 0x0000, 0xdc47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ae6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xdaa6, 0x0000, 0x0000, 0x0000, 0xcb66, 0x0000, 0x3d04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a64, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x548c, 0x0000, 0x0000, 0xcce7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c2c, 0x0000,\r
+  0x01d0, 0x87a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x61ab, 0x3087, 0x0000, 0x6a24, 0x0768, 0x1ca7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8b66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0d90, 0x0000, 0x0000, 0x0000, 0x0000, 0x5786, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb0c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5284, 0x5c2a, 0x8167,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x412c, 0x5647,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x220a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x100d, 0x5ba4,\r
+  0x0000, 0x0000, 0x22aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0093, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7508, 0xf7a6, 0x0516, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x60e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2647,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a65,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c65, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1645, 0x0000, 0x0000, 0x0000, 0xf626,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5306,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30c4,\r
+  0x0000, 0x0000, 0x0000, 0xbcc6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3da7,\r
+  0x0000, 0x0000, 0x04b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c0e, 0xc027,\r
+  0x0000, 0x0000, 0x150b, 0x3b25, 0x0000, 0x0000, 0x0000, 0x0d25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4e6c, 0x36c5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0178, 0x9d06, 0x0000, 0x0000, 0x0000, 0xcb47, 0x0000, 0x6164,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0328, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2684, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5ca7, 0x0000, 0x53e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5128, 0x12c7, 0x0000, 0x0000, 0x0c69, 0x4126, 0x0000, 0x0000,\r
+  0x006e, 0x2a65, 0x0000, 0x0000, 0x0000, 0x43e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa9c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d4c, 0x1366,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcb86,\r
+  0x0000, 0x5fc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67a7,\r
+  0x0000, 0x0000, 0x0000, 0xb4a7, 0x0000, 0x0000, 0x0000, 0x3cc5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x004c, 0xcc67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x45ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb6a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4ae5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xac06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0ba9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37e6,\r
+  0x0000, 0x0000, 0x084d, 0xb307, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x266e, 0x0000, 0x33ab, 0x4c24, 0x0000, 0x0000,\r
+  0x0000, 0x7444, 0x0000, 0x0000, 0x0000, 0x0000, 0x02ae, 0x7565,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7845, 0x008b, 0x5165,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x01f6, 0x4865, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4aa7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7aa4, 0x0000, 0x0000, 0x0000, 0x4424, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc2c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x640a, 0x0226, 0x0000, 0x0000,\r
+  0x0231, 0x0000, 0x716a, 0x0000, 0x0000, 0x0000, 0x0dc8, 0x0000,\r
+  0x0000, 0x0000, 0x06b3, 0x3945, 0x0012, 0xf7e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x376a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x738a, 0xe686, 0x0000, 0x9a06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x08ca, 0x40e4, 0x0000, 0x7c24,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01ce, 0x4247,\r
+  0x0000, 0x7165, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ba6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x06e8, 0x0000, 0x1789, 0x4266, 0x070c, 0x0000, 0x0000, 0xd3a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x372c, 0x0000, 0x180a, 0x7406, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1e24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbea7, 0x0000, 0x2064,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4005, 0x172d, 0x0000, 0x3a09, 0xc867,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8b27, 0x2389, 0x5a07, 0x0000, 0x0000,\r
+  0x5a48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01b6, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0097, 0x2426,\r
+  0x056e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd3c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x182b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3327, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x268a, 0x0000,\r
+  0x0000, 0xe8e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x62c6, 0x0000, 0x0000, 0x5d28, 0x7d45,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2427, 0x088b, 0x3ba6, 0x01b5, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2de4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4206,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x56c4, 0x0749, 0x4487, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x55ec, 0x0000, 0x0000, 0x0000, 0x0000, 0xdaa7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7d8a, 0x52a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x37a9, 0x0000, 0x0000, 0x0000, 0x0954, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1aa7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6846,\r
+  0x0000, 0x0000, 0x17ab, 0xd107, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xc186, 0x180f, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x040c, 0x5de4, 0x0000, 0x09c5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x440b, 0xc847, 0x0d31, 0x3b26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x138f, 0xf3a6,\r
+  0x0000, 0xde67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f66, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ae, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6e67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3d06, 0x0000, 0x4d25, 0x0000, 0x0000, 0x064b, 0x0000,\r
+  0x56cb, 0xbdc7, 0x6229, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4444,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x02d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f06,\r
+  0x0000, 0x0000, 0x0000, 0x4825, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1708, 0x74e7, 0x0e49, 0x5a06, 0x0000, 0x0000,\r
+  0x0c8e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0070, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0be8, 0x01c7, 0x0000, 0x7924, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5ae6, 0x0000, 0x7fa5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x94c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1324, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x63c5, 0x0000, 0x4964, 0x0000, 0x0000,\r
+  0x56e8, 0x0547, 0x0000, 0xf126, 0x11ac, 0x77a5, 0x0000, 0x3a27,\r
+  0x00f2, 0x7187, 0x0000, 0x0000, 0x3848, 0x1285, 0x0000, 0x0000,\r
+  0x0000, 0x91c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1faa, 0x0000,\r
+  0x7d6b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x05c9, 0x0000, 0x0000, 0x6de4,\r
+  0x0000, 0x64c6, 0x0000, 0xe987, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe6c6, 0x0000, 0x0000, 0x0000, 0x5b46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x78a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3f48, 0x0000, 0x0000, 0x0000, 0x014f, 0x0000,\r
+  0x0000, 0x0000, 0x02ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x780a, 0x2506, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4966, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0297, 0x0000, 0x0000, 0x0000, 0x040a, 0x7ac7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x75a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x3665,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08e8, 0x3466,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x560c, 0x5c87,\r
+  0x0bc9, 0x2b27, 0x0000, 0x0000, 0x54ea, 0x48c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7626, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4369, 0x0000, 0x5588, 0xf927, 0x0000, 0x0000,\r
+  0x0000, 0x5266, 0x0000, 0x48e6, 0x0000, 0x6464, 0x0000, 0x5805,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c5, 0x16a8, 0x2b67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3c27, 0x32aa, 0x1965, 0x0000, 0x0000,\r
+  0x0c6b, 0x6746, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3d86, 0x0000, 0x3306, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008e, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5324, 0x2ba9, 0x1127, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4c8b, 0x9ec7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2e65, 0x0000, 0x0000, 0x0000, 0x6747, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x02b7, 0xbfe6, 0x6b4b, 0x2ec4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x26e9, 0x0000, 0x0000, 0x0000,\r
+  0x7bea, 0xf606, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dc9, 0xcde6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6026, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5046, 0x0000, 0x0000, 0x13aa, 0x0f66, 0x0000, 0x0000,\r
+  0x0000, 0xb367, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x09f4, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xb226, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0d4d, 0x3126, 0x3ccb, 0xd347, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5e8a, 0x1705, 0x0000, 0x0000, 0x0000, 0xacc6,\r
+  0x0000, 0x0000, 0x0000, 0x15e5, 0x0000, 0xbaa6, 0x0000, 0x7de6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1b66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4068, 0x0c67, 0x0000, 0x6a65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9fc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7d04, 0x7aca, 0x0000, 0x5f48, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71ca, 0xe366,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x714a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd846, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9426, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x050a, 0x0000,\r
+  0x0000, 0x0000, 0x1269, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x514c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x070b, 0x03c6, 0x0000, 0x4524, 0x0000, 0x0000, 0x028e, 0x4aa5,\r
+  0x0000, 0xc9c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28e6,\r
+  0x0630, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x09ca, 0x0000, 0x0000, 0x6247, 0x10cf, 0x0000, 0x0000, 0x0000,\r
+  0x018b, 0x3e07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0548, 0x1987, 0x0000, 0x4cc4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1272, 0x1ee5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x75c8, 0x0000, 0x0000, 0xfce6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0869, 0x23a5,\r
+  0x0000, 0x0000, 0x0117, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa3a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0530, 0x4286,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd387,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x06ef, 0xd507, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7b88, 0x0000, 0x0000, 0x0000, 0x1bee, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0730, 0x8c67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdc87, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfbe6,\r
+  0x0000, 0x0000, 0x0000, 0xc7e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1026, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x000c, 0x3f06, 0x4dab, 0x9c07, 0x2829, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xaea7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x372d, 0x0967, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6929, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56ac, 0x0000,\r
+  0x514a, 0x2745, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7224,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e0a, 0x0000,\r
+  0x3b68, 0x0000, 0x0000, 0x7f05, 0x1668, 0x4b47, 0x0dea, 0x2926,\r
+  0x0000, 0x0000, 0x0000, 0xe907, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x69cc, 0xec06, 0x0000, 0x0000, 0x6189, 0x0000, 0x0000, 0x0000,\r
+  0x0a4c, 0x0000, 0x0000, 0x0000, 0x0000, 0x66a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7784, 0x0e0a, 0x0000, 0x0000, 0x0000, 0x20aa, 0x38e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a29, 0x3026,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1712, 0xe926,\r
+  0x0000, 0x0000, 0x5a29, 0x0205, 0x0000, 0x3cc4, 0x0000, 0x0000,\r
+  0x0000, 0x2126, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4da5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d49, 0x0000,\r
+  0x0000, 0x65e5, 0x0000, 0x0000, 0x5ce8, 0xf867, 0x19a8, 0x18a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2746, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1b6a, 0x3886, 0x49aa, 0x0000, 0x1609, 0x29a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ac6, 0x05eb, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6c08, 0x0000, 0x0000, 0x2586, 0x0000, 0x9aa6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xd2a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x00e8, 0x10e7, 0x3169, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4ee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x686a, 0x0000, 0x0000, 0x0000, 0x4bc8, 0x3967, 0x0000, 0x7a66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c85, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13c8, 0x2e84,\r
+  0x0000, 0x6ac5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xba87, 0x0000, 0x0000, 0x0000, 0x6826, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd967, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1865, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5b48, 0xf9a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b6, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2148, 0x5de5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66a7,\r
+  0x0000, 0x0000, 0x0000, 0x5966, 0x0000, 0x0000, 0x0000, 0x6c86,\r
+  0x0000, 0x77e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x83a7, 0x0000, 0x0000,\r
+  0x0000, 0x76c5, 0x0000, 0x8726, 0x0000, 0xc767, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0774, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05e7, 0x5589, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8c6, 0x0000, 0x6126,\r
+  0x0000, 0x7f87, 0x0000, 0x0000, 0x0000, 0x88c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bc4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1e4e, 0xe287, 0x0000, 0x0000,\r
+  0x0000, 0x78e5, 0x0000, 0x0000, 0x0016, 0x3b24, 0x23ca, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63c4, 0x4ea8, 0x1bc4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x402b, 0x2a25, 0x264d, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1248, 0x0000,\r
+  0x0000, 0xcdc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a24,\r
+  0x0000, 0x0000, 0x0000, 0x41a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x256a, 0x14a7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8506, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4a84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1dcb, 0xd9a7, 0x0000, 0x9a27, 0x386e, 0xe406, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5ba9, 0x3de5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9686, 0x0000, 0x0000, 0x0000, 0x45e5, 0x2aaa, 0x0000,\r
+  0x1c08, 0x02a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0c29, 0xb4c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5b26, 0x0000, 0x0000, 0x46a8, 0x5ae4,\r
+  0x0000, 0xf386, 0x0000, 0x0000, 0x0000, 0x40e5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9526,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62cc, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2868, 0x0047, 0x192e, 0x0000, 0x0000, 0x0765, 0x0000, 0x0000,\r
+  0x0452, 0x0000, 0x7008, 0x7824, 0x0000, 0xa0a6, 0x0000, 0x0000,\r
+  0x05d4, 0x0000, 0x3bed, 0x0000, 0x0000, 0x0000, 0x0000, 0x44a7,\r
+  0x0000, 0x52e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e4,\r
+  0x0828, 0x5544, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0166,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4144, 0x0000, 0x0000,\r
+  0x0000, 0x0684, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fe4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0fee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a9, 0x1847,\r
+  0x0000, 0x0000, 0x4f69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0e94, 0x0000, 0x066e, 0x0000, 0x0000, 0x6b44, 0x0000, 0x8666,\r
+  0x42e8, 0x3805, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c47,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x17e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2167,\r
+  0x542a, 0x27e4, 0x0bcc, 0x0b87, 0x0000, 0x44e6, 0x0000, 0x0000,\r
+  0x1b49, 0xafc7, 0x08aa, 0x2005, 0x0000, 0x0000, 0x7708, 0xf786,\r
+  0x0000, 0x6824, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04f1, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a32, 0x0000,\r
+  0x0000, 0x0000, 0x2c0e, 0x4f47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4d44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0931, 0x2a64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x152d, 0x5ee4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8667,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c48, 0x5126,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3048, 0x2a05, 0x0000, 0x0000, 0x0000, 0x8166, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7385, 0x0000, 0x0927, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xf667, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa807, 0x0000, 0x3ea6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05c8, 0x63e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2287,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6045,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xb306, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0337, 0x0000,\r
+  0x0000, 0xfa27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bc4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b6c, 0xb6a7,\r
+  0x1a68, 0x4b44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8586, 0x0000, 0x0000, 0x0f89, 0x46e5,\r
+  0x0000, 0x0000, 0x0000, 0x7dc7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5be4, 0x658a, 0x0000,\r
+  0x0000, 0x2867, 0x0000, 0x0000, 0x0000, 0x2605, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1284,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4165, 0x0000, 0x0000, 0x1212, 0x5b47, 0x0000, 0x0000,\r
+  0x7aa8, 0x0000, 0x0000, 0x0de5, 0x0000, 0x0000, 0x108a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3785, 0x0000, 0xdf67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0xff26, 0x7488, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7525, 0x0000, 0x7c66, 0x0000, 0x0000, 0x1fea, 0x0000,\r
+  0x0000, 0x1145, 0x6bea, 0x78a4, 0x0000, 0x0000, 0x4eec, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xae46, 0x0216, 0x5184, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7026, 0x0000, 0x2825, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7347, 0x0000, 0x4d65, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x698c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xcf66, 0x0000, 0x8987, 0x0000, 0x0000, 0x0000, 0x92a6,\r
+  0x0000, 0xf146, 0x2188, 0x1f65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30c8, 0x58e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e05,\r
+  0x0000, 0x0000, 0x0000, 0xf9c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ca6,\r
+  0x0000, 0x0000, 0x0000, 0x4a44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2184,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4665,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0050, 0x04e6, 0x0000, 0x0000, 0x0000, 0xa686, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x084c, 0x6387,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x41e9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0c46, 0x0000, 0x0000, 0x480b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0f4d, 0x0000, 0x2289, 0x04a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2444, 0x0000, 0x0000, 0x5f4a, 0xa187, 0x0000, 0x0000,\r
+  0x0000, 0xa467, 0x0000, 0xf466, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a48, 0x1067,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x63ab, 0x0000, 0x04cf, 0x0000,\r
+  0x0176, 0x3d07, 0x0000, 0x7504, 0x0000, 0x3726, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4a67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7be6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a4,\r
+  0x0000, 0x4167, 0x0000, 0x0000, 0x0000, 0x70e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0a12, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x360e, 0x0000, 0x0000, 0x2744,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1d08, 0xab07, 0x42c9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0369, 0x0000, 0x0000, 0x0000,\r
+  0x018e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x210b, 0x5c07, 0x0000, 0xcf26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8ba6, 0x0000, 0x0fe7,\r
+  0x0000, 0x0000, 0x0000, 0x9706, 0x0000, 0xa1c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2d88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0fab, 0xa6c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6309, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6a29, 0x5764, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7904,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb4c6, 0x0f88, 0x31a7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5025,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0fe8, 0x2b46, 0x0000, 0x0000,\r
+  0x40a9, 0x0965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0a6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x80e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb7c6, 0x0000, 0x7745, 0x0000, 0x0000, 0x2b2a, 0x2606,\r
+  0x3349, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xe3c6, 0x0000, 0x0000, 0x0000, 0xe0c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x142b, 0xe927, 0x08ac, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7346, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x43a4, 0x0000, 0x4e65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59a5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b08, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51c5, 0x0000, 0x0000,\r
+  0x178a, 0x2226, 0x0000, 0x0000, 0x0000, 0x43e4, 0x0000, 0x3347,\r
+  0x0aed, 0x0000, 0x0000, 0x75a4, 0x0000, 0x0000, 0x174b, 0x1f44,\r
+  0x0000, 0xdf26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa766,\r
+  0x39c8, 0x7827, 0x0000, 0x6184, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4225, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3b48, 0x9f87, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0314, 0x7685, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x522c, 0x5e26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x75ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5845, 0x7b2b, 0x68a5, 0x0000, 0xe8a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2488, 0x74a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5fe7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5024, 0x0000, 0x0000, 0x0000, 0x9a26, 0x0e51, 0x0000,\r
+  0x6e69, 0x0000, 0x224a, 0xfb06, 0x0000, 0xe046, 0x23ac, 0x0000,\r
+  0x0000, 0x4764, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x66e8, 0x7805, 0x020c, 0x4d27,\r
+  0x0000, 0x35e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x46eb, 0x0000, 0x3229, 0x0000,\r
+  0x004a, 0x61a6, 0x350b, 0x0425, 0x0000, 0xfac7, 0x0000, 0x0000,\r
+  0x2248, 0x0000, 0x0000, 0xeb47, 0x0000, 0x6344, 0x0000, 0x0000,\r
+  0x0000, 0xe707, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3808, 0x05e6, 0x0000, 0x0000, 0x0000, 0x95e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3429, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x24e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7f65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3a0b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1a06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x374a, 0x0000, 0x744a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4088, 0x0886, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8d06, 0x0d0c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6265, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3d68, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x58e6, 0x0000, 0x0000, 0x0130, 0x0000,\r
+  0x0cab, 0x3725, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x140a, 0x3187, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x54e5, 0x28c9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8d07,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c26, 0x0000, 0xe087,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2a48, 0x47c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8906, 0x3d6a, 0x32a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8727, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd187, 0x0000, 0x96e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7929, 0x2c45, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4ac8, 0x0000, 0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xdd87, 0x5dea, 0x0000, 0x04ad, 0x0000,\r
+  0x0000, 0xe486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2026, 0x17e9, 0x48c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x62ca, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x05ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x382a, 0x2646, 0x7e6b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2569, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x68a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x014a, 0x2925, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa506,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13d2, 0x5224,\r
+  0x0000, 0x94e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00f8, 0x0000, 0x79c8, 0xf266, 0x0000, 0xd027, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x010f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2408, 0x0845, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dca, 0x15e7,\r
+  0x0000, 0xcd66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4748, 0x5dc5, 0x59ea, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x01ab, 0x0000, 0x0000, 0x9be6, 0x0000, 0x0000,\r
+  0x1ba8, 0x2c87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x56cc, 0xe226, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3364, 0x0000, 0x0585,\r
+  0x03ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a7, 0x0000, 0x5427,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xa2e6, 0x580a, 0x2565, 0x0000, 0x0000, 0x0000, 0x2266,\r
+  0x0000, 0x0000, 0x1b08, 0xdc27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa4e7,\r
+  0x0000, 0x0000, 0x358c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4045, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x062e, 0x06e4, 0x0cd2, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d85, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2f6b, 0x0000, 0x732a, 0x7964, 0x0689, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9d46, 0x0000, 0x0000,\r
+  0x0000, 0x8446, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5204,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1207, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xaba7, 0x014d, 0x4ba7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x68c5, 0x0000, 0x7e85, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1348, 0x2da7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6546, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3deb, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20a8, 0x0000,\r
+  0x42ea, 0x1f06, 0x0000, 0x2cc4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x46e6, 0x37a8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5726, 0x0000, 0x0000, 0x0000, 0xa706, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72aa, 0x15c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7985, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2be4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x23c4, 0x0000, 0x0000, 0x0709, 0x36c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf3c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c44, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x792a, 0xffe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6646, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6c45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7984,\r
+  0x0000, 0x2c66, 0x0000, 0x0000, 0x0000, 0x0e85, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2168, 0x17a6, 0x0d0b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xc9a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0e86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6ec6, 0x0000, 0x0ac4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x05b6, 0x0000, 0x0000, 0x6be6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf426, 0x384a, 0xdda7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2fae, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8ec6, 0x0000, 0x94a6, 0x0000, 0x0000, 0x0000, 0x52e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69c5,\r
+  0x0000, 0x0000, 0x420a, 0x0000, 0x312b, 0x2f45, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x28ae, 0x7067, 0x5509, 0xeb07,\r
+  0x0000, 0xdd46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5104,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x172b, 0x14e7,\r
+  0x0000, 0xffc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1f29, 0xcda7, 0x0000, 0x1304, 0x0000, 0x0000, 0x0000, 0xd8a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7dc5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3485, 0x0000, 0x0000, 0x0000, 0x6807,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2be5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x00d1, 0x0505, 0x0000, 0x0000, 0x0788, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa946, 0x5d29, 0x5a84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6088, 0xf3e7,\r
+  0x226b, 0x0d87, 0x4fe9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3e88, 0xdbc7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xebc6, 0x58e9, 0x19a5, 0x0000, 0x0000, 0x78a8, 0x6c26,\r
+  0x0000, 0x0000, 0x0000, 0x42c5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5669, 0x0000, 0x0000, 0x0000, 0x1da9, 0x3766, 0x0000, 0x6dc7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb046, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7c64, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4844, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e2a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66c4,\r
+  0x0000, 0x7365, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7384, 0x0000, 0x0000,\r
+  0x0000, 0x5325, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xeda7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76c7, 0x3e4d, 0x0ba5,\r
+  0x0000, 0x0000, 0x0000, 0xb567, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5d67, 0x6789, 0x6286, 0x320b, 0x1707, 0x0000, 0x18c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7c47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4ce8, 0x2805, 0x0000, 0x0000,\r
+  0x0000, 0x7a45, 0x6969, 0x7124, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6a48, 0x79c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x00d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2227,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1926, 0x0000, 0x0000,\r
+  0x0000, 0x8227, 0x0000, 0x0000, 0x0000, 0x8206, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56a5,\r
+  0x1d4b, 0x60c6, 0x0000, 0x2a04, 0x0000, 0xaee7, 0x02d4, 0x0000,\r
+  0x64a8, 0x6445, 0x6129, 0x14e5, 0x62a9, 0x0000, 0x0000, 0xd526,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0147, 0x01b7, 0x0165, 0x0000, 0x0000,\r
+  0x1988, 0x2104, 0x0000, 0x0000, 0x070a, 0x0000, 0x0000, 0xefa6,\r
+  0x0000, 0x3ac5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x95c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7eeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5965,\r
+  0x0000, 0x0000, 0x7d49, 0x0000, 0x0000, 0x0000, 0x254a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c64,\r
+  0x0000, 0x0000, 0x5a88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6007,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8546, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x086e, 0x0000, 0x15d2, 0x7684, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5f84, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0969, 0x1126, 0x0000, 0x5e84, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7e08, 0x6944, 0x506b, 0x0000, 0x0000, 0x0000,\r
+  0x086b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x10e8, 0x66a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c0c, 0x0000,\r
+  0x30aa, 0x2c67, 0x0000, 0x0000, 0x624a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xff86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x80c6, 0x0000, 0x0000, 0x0000, 0x8766, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9946, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2c88, 0x27e6, 0x010a, 0x30a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b45,\r
+  0x0000, 0x0000, 0x0000, 0x3564, 0x0000, 0x33a6, 0x0000, 0x5b44,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ea5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63e7,\r
+  0x0000, 0x0000, 0x0000, 0xe027, 0x0000, 0x0000, 0x0000, 0x2844,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0b31, 0x2447, 0x004b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5404, 0x576c, 0xe886, 0x0000, 0x0000, 0x0000, 0x5c25,\r
+  0x0000, 0x0000, 0x0000, 0xc986, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1225,\r
+  0x0f8c, 0x6e87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3064,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x54e6, 0x0000, 0x44c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa327, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4804, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55c6, 0x0000, 0x4be6,\r
+  0x0000, 0x0000, 0x04b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0ca8, 0xd7c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x77c4, 0x0000, 0x0000, 0x0000, 0x70e5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x126c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2dea, 0x0000, 0x0000, 0x0000, 0x0000, 0x5646, 0x0000, 0x5824,\r
+  0x222d, 0x0000, 0x0000, 0x6ee7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7186,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9da6,\r
+  0x0000, 0x0000, 0x3e2c, 0x9a66, 0x0000, 0x35a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x710a, 0x0000, 0x0197, 0x0fa6, 0x0000, 0x0000,\r
+  0x0000, 0x6924, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b86,\r
+  0x7648, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x600a, 0x0000, 0x6049, 0x1406, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x21ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x59eb, 0x0000, 0x5769, 0x48a7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bc9, 0x2607,\r
+  0x0000, 0x4ee4, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e08, 0xbd27,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7aa7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3644, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x44c6, 0x0000, 0x0000, 0x3b8a, 0x7447,\r
+  0x670a, 0x4525, 0x0000, 0x0000, 0x3888, 0x0000, 0x12e8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6084, 0x0000, 0x2485,\r
+  0x10ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3f09, 0x0000, 0x0000, 0x8826, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19cb, 0x3127,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1d09, 0x7204, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a26,\r
+  0x0000, 0x0000, 0x5988, 0x0c47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5ba5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x026a, 0x0000, 0x0000, 0x0000, 0x0000, 0x5385,\r
+  0x0000, 0x2d04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x520c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0138, 0x5ac7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0909, 0x0000,\r
+  0x0000, 0x9ea6, 0x0000, 0x0000, 0x39e9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xb5c7, 0x0000, 0xa0e6, 0x1ead, 0x0000,\r
+  0x7ba8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0d69, 0x1487, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x84a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0048, 0x3c85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8ce6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3984, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7484,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4986,\r
+  0x4e28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0986, 0x0b88, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0d0e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5f64, 0x0000, 0x4dc4, 0x0000, 0x0000,\r
+  0x0000, 0x1fa5, 0x0000, 0x4447, 0x0000, 0x0000, 0x0dca, 0x0000,\r
+  0x200a, 0x7287, 0x0000, 0x0000, 0x046c, 0x1a85, 0x0000, 0x0000,\r
+  0x5d49, 0x0000, 0x0000, 0x0000, 0x12ca, 0x0000, 0x0000, 0xb746,\r
+  0x0000, 0x0000, 0x0000, 0xa266, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdc6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x99a6, 0x0000, 0x0000, 0x0000, 0x6605,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13ec, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5bc8, 0x6ca5, 0x0fcd, 0xd686,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1949, 0x1d04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1a88, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0de8, 0x7d67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd606,\r
+  0x0000, 0x0000, 0x1b0e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4086,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5146, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0731, 0x0c66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x258c, 0x47c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x7fe8, 0x0000,\r
+  0x0000, 0x25c7, 0x0000, 0xe9e7, 0x0000, 0x5b04, 0x1f89, 0x0000,\r
+  0x0000, 0x39a6, 0x0000, 0x0000, 0x0000, 0x2866, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x60e8, 0x39a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x158b, 0x0000, 0x0000, 0x3a04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0932, 0x5ae7, 0x0000, 0x7fe4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4828, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x81a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x230c, 0x54a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x63e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x13e8, 0x0000,\r
+  0x37cb, 0xd847, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3164, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x122b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0295, 0x0000, 0x0000, 0x3546, 0x4c0a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7a29, 0x0000, 0x1f4a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0c8b, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b85, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4a4a, 0x0985, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x37e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x41c4, 0x0000, 0x0000,\r
+  0x01d7, 0x8c87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1787, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d49, 0x25a7,\r
+  0x0000, 0x0000, 0x0000, 0xd9e7, 0x0000, 0x1644, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d04,\r
+  0x0000, 0x67e6, 0x0000, 0x0000, 0x1a0b, 0x1946, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf446, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x408a, 0x6d07, 0x0000, 0x0000, 0x2729, 0x1c04,\r
+  0x0000, 0x0000, 0x030b, 0x0000, 0x0168, 0x4445, 0x0000, 0x0000,\r
+  0x0000, 0xf227, 0x1e48, 0x1e25, 0x05d6, 0x0000, 0x0000, 0x0000,\r
+  0x67c9, 0x9f26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6726, 0x28ea, 0x7dc4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc587, 0x4089, 0x2dc4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf1e6, 0x0000, 0x6744,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x116b, 0x2966, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2407, 0x0000, 0x7286, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xec07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb7e6, 0x0000, 0xc446, 0x0000, 0x3144, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf167, 0x0000, 0xd6e7,\r
+  0x0000, 0x5244, 0x1c8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2ec8, 0x0000, 0x0000, 0x0000, 0x0000, 0x5be7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x286b, 0x3e46, 0x0000, 0x84e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1369, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7145, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8e66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d8a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4d04, 0x70c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5688, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66e6,\r
+  0x0000, 0x0000, 0x0000, 0x2624, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5526, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x000d, 0x1ac5, 0x7d88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x02ee, 0x0000, 0x0000, 0xd4e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb467,\r
+  0x0000, 0x0000, 0x0271, 0x5946, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x080d, 0x5c24, 0x0000, 0x0000, 0x2b29, 0xdbc6, 0x0000, 0x0000,\r
+  0x486a, 0x05e5, 0x0000, 0x0000, 0x436a, 0x1165, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x308d, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fa6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f8a, 0x0000,\r
+  0x5d2c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3f08, 0x0d64, 0x0000, 0x6ce4,\r
+  0x0000, 0x0000, 0x0000, 0x1ca4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x70e4, 0x0000, 0x0000, 0x08ec, 0x0000, 0x0000, 0x44a5,\r
+  0x00c9, 0x05e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7a85, 0x6c28, 0x5825, 0x0000, 0x0000,\r
+  0x0000, 0x1427, 0x0000, 0x0000, 0x0000, 0x0000, 0x11e8, 0xa667,\r
+  0x0000, 0x0000, 0x0000, 0xad86, 0x042c, 0x5a85, 0x0000, 0x0000,\r
+  0x0000, 0x0265, 0x0000, 0x0000, 0x0000, 0x3165, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x69c4, 0x1a4c, 0x0000, 0x0000, 0x0000,\r
+  0x0f49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x56e4, 0x7528, 0x3e27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x59c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc5a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1429, 0x0626, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4aa4, 0x0000, 0x0000, 0x0000, 0x88c6,\r
+  0x0000, 0x0000, 0x0000, 0x6564, 0x718b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb7e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x054c, 0xf1e7, 0x0000, 0x0000, 0x0000, 0xfbc7,\r
+  0x084a, 0xfae7, 0x0000, 0x0000, 0x494b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x038b, 0x86a7,\r
+  0x0000, 0x0000, 0x0000, 0x98a6, 0x0000, 0x0000, 0x07cb, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xdcc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0336, 0x0000,\r
+  0x3e6a, 0xad87, 0x0000, 0x0000, 0x0c28, 0x0145, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3c25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04a9, 0x10c6,\r
+  0x1368, 0x3cc7, 0x0000, 0xb446, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x49e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x26c8, 0x92a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x3329, 0x9087,\r
+  0x0000, 0x0000, 0x0000, 0x3c46, 0x0000, 0x0000, 0x20e8, 0x73c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6486, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9e27, 0x0000, 0x33e4, 0x0000, 0x2b85,\r
+  0x0000, 0x0000, 0x0000, 0x7e84, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x14b2, 0xe166, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3304, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2029, 0xa526, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e46,\r
+  0x0000, 0x0000, 0x0000, 0x1f24, 0x0000, 0x0000, 0x0000, 0x4805,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1cee, 0x0000, 0x0000, 0x0000,\r
+  0x2409, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3629, 0xb9e7, 0x472c, 0xd1c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0aec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x616c, 0x4347, 0x0000, 0x0000, 0x0000, 0x33a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3de8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x17ea, 0x06c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4248, 0x46e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x65e9, 0x4c26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7089, 0x0000, 0x0000, 0x0000, 0x0000, 0xa6e7,\r
+  0x0000, 0xd786, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5005, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe4e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b44,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x89e6, 0x0000, 0xbc07, 0x51ec, 0x8146, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2625, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9a87, 0x0000, 0x0000,\r
+  0x35a8, 0x1b26, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c6a, 0x22c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5886,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe606, 0x1d2c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfc26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xba06, 0x0000, 0x0000,\r
+  0x0000, 0xc6c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe106,\r
+  0x0390, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x05a9, 0x0000, 0x0491, 0x0000, 0x02ce, 0xb447,\r
+  0x2f48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbc66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x04eb, 0x0000, 0x0000, 0x83c6, 0x5aa8, 0xf467,\r
+  0x0000, 0xfe86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x700c, 0xe9e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x64a9, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x022b, 0x5905, 0x0000, 0x4d24, 0x06e9, 0x2806,\r
+  0x21e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x37aa, 0x0000, 0x170b, 0x0ce7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5269, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5486, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2a2b, 0x0000, 0x0000, 0x0000,\r
+  0x3f4c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x696a, 0x09a5,\r
+  0x0000, 0x3944, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb187,\r
+  0x2fca, 0x0da6, 0x11cb, 0x2946, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0af1, 0x0000, 0x0000, 0x0000, 0x3d8b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ae6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a6b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8326, 0x0000, 0x2827, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf827, 0x0000, 0x0000, 0x0f48, 0x0000,\r
+  0x0000, 0x1d44, 0x0000, 0x0000, 0x0000, 0x8946, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x44a8, 0x1fa7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4149, 0x1066,\r
+  0x0000, 0x0000, 0x12ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3f64, 0x0000, 0x0000, 0x0000, 0x0000, 0x6569, 0x4ec6,\r
+  0x0000, 0x0000, 0x0000, 0x2ae4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3804, 0x49ea, 0x38e7, 0x0000, 0xaca7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x47e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x92e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a6, 0x0000, 0x0000,\r
+  0x0000, 0xdc26, 0x0000, 0x95c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x252a, 0x8ce7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x54c4, 0x0000, 0x0000, 0x1492, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x046e, 0x0000, 0x05ad, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0f2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0fa4, 0x0000, 0x0000, 0x0000, 0xcac6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a24, 0x1228, 0x0000,\r
+  0x0000, 0x0000, 0x794b, 0x6307, 0x0000, 0x0000, 0x0000, 0x5964,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf9e7, 0x0000, 0x0000,\r
+  0x0948, 0x4265, 0x0000, 0x0000, 0x0830, 0x0000, 0x0000, 0x0000,\r
+  0x0d2d, 0x1b86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7806, 0x0000, 0x0000, 0x0000, 0x0000, 0x0014, 0x0000,\r
+  0x358b, 0x0266, 0x0000, 0x0000, 0x3228, 0x0c07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xc766, 0x0e91, 0x0000, 0x7fa8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5dc8, 0xf527, 0x0000, 0x0000,\r
+  0x1289, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x096e, 0x0000,\r
+  0x0000, 0xace6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6169, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4ac4, 0x0000, 0x3507, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x98c6, 0x0000, 0x0000, 0x0000, 0x6d84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x10a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x1768, 0x0000,\r
+  0x0108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x35ab, 0x0000, 0x55a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1088, 0x3b06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7546, 0x0000, 0x0000, 0x6d49, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x60c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0b92, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67c4,\r
+  0x57a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3548, 0x2bc5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b69, 0x0766,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x24ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3727, 0x1468, 0x0087, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1d2e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xf947, 0x0000, 0xd966, 0x0000, 0x0000, 0x3128, 0x0000,\r
+  0x05f4, 0x81c7, 0x0000, 0x0000, 0x0000, 0x26a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2d68, 0x0000, 0x0000, 0x0000,\r
+  0x15ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5348, 0x0000, 0x0000, 0xd167, 0x0000, 0xc806, 0x0000, 0x0000,\r
+  0x0000, 0x6507, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2304, 0x06cc, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1f27, 0x0000, 0x0000, 0x0cea, 0x1fc6,\r
+  0x0000, 0x20c5, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x64a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcbc6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x53e5, 0x7988, 0x7ba4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f24, 0x0000, 0x0000,\r
+  0x0000, 0xacc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x60e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x308c, 0x1947, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x020d, 0x4606, 0x0000, 0x0000, 0x0000, 0x6927,\r
+  0x0000, 0x0000, 0x46c8, 0x0000, 0x0000, 0x0000, 0x7548, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7205, 0x0000, 0x0000, 0x0000, 0xaa27, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4d4b, 0x1d85, 0x0000, 0xe7c6,\r
+  0x0000, 0x0000, 0x27c8, 0x17c5, 0x0000, 0xac07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ba7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x76e8, 0xf686, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2b09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6a44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x026e, 0x0000,\r
+  0x146a, 0x0aa7, 0x0000, 0x3ce4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x122a, 0x0000, 0x0a73, 0x0000, 0x0000, 0x7ea4,\r
+  0x0000, 0x0000, 0x0000, 0xf047, 0x0000, 0x0000, 0x152b, 0x45a5,\r
+  0x084b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9527,\r
+  0x0a50, 0x0000, 0x2c0a, 0x38c5, 0x0732, 0x0000, 0x0000, 0xa6a7,\r
+  0x3189, 0x0d66, 0x0000, 0x2e45, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1985, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xd546, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3148, 0x9687, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7de5,\r
+  0x0000, 0x0000, 0x0000, 0xd407, 0x0000, 0xbde6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7aa9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8606, 0x0000, 0x0000, 0x0000, 0x5904, 0x0000, 0xcba6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9ee6, 0x0000, 0x0000, 0x0000, 0xc907,\r
+  0x0217, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ca5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1328, 0x0365, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf8e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x068e, 0x0000, 0x02b4, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6668, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ab, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6207, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x10ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38ca, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6a89, 0xd6e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7704, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x470a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3809, 0x0000, 0x0000, 0x0000, 0x0868, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xe446, 0x522a, 0x0000, 0x5b2b, 0x5346,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3245,\r
+  0x0000, 0x0000, 0x130b, 0x0000, 0x0000, 0x0000, 0x0000, 0x7207,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0668, 0x2807,\r
+  0x0000, 0x37a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x268b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x304b, 0x0000, 0x0000, 0x1de5,\r
+  0x0000, 0x0000, 0x1048, 0x0a67, 0x0000, 0x11e4, 0x0000, 0x2b87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x77c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a44, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35c4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x00ea, 0x1aa5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6427, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7506, 0x0000, 0x0d85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6ea4, 0x496b, 0x1b65, 0x31ca, 0x2d87, 0x0000, 0x91a7,\r
+  0x0000, 0x0000, 0x2ac9, 0x1e26, 0x25e9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1fc9, 0x4644, 0x0000, 0x6244, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3da8, 0x1b06, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b6b, 0x2aa7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x104b, 0xd8c7, 0x134c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x57a8, 0x4b85,\r
+  0x0000, 0x0000, 0x6de8, 0x0000, 0x1869, 0x5345, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd0a6, 0x0000, 0x0000, 0x0000, 0xdfe6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x9987, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4de4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0a8a, 0x0f47, 0x0000, 0x0000,\r
+  0x0000, 0x68a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7ea8, 0x0000, 0x0000, 0x4826, 0x0000, 0x0000, 0x0000, 0x3986,\r
+  0x748a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x03e8, 0x1065, 0x0000, 0x0000,\r
+  0x0000, 0x4ba6, 0x0000, 0x0000, 0x0000, 0x9bc6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0889, 0x22c5, 0x14a8, 0x2665, 0x61a8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0426, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8b26, 0x0000, 0x0000, 0x5a08, 0xf427, 0x196a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3529, 0x28c6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1e2b, 0xa487, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3405, 0x0000, 0x0000, 0x0000, 0xa286, 0x0000, 0x69e7,\r
+  0x0000, 0x0000, 0x52ca, 0x2cc5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x68e8, 0xe3e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x51cc, 0xbe46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x146b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274d, 0x7a44,\r
+  0x0000, 0x0000, 0x0000, 0x4b24, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7645, 0x3648, 0x0000, 0x0000, 0x0000, 0x324c, 0x3367,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x01ac, 0xb767, 0x334e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3c66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x54a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08c9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xafa7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d65,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x088e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3f24, 0x0000, 0x28c5, 0x0000, 0x0000,\r
+  0x148f, 0x4e86, 0x51ca, 0x0000, 0x0000, 0x0000, 0x04a8, 0x0406,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5389, 0x1306, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x48a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x058e, 0x0fc6,\r
+  0x0b2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xbf66, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x196c, 0x91e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4269, 0x9a07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x75e6, 0x0000, 0x53c5, 0x1ceb, 0x6e04,\r
+  0x0000, 0xca26, 0x0000, 0x0000, 0x0000, 0xf4a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1e47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x34a5, 0x0000, 0x0000, 0x01c8, 0x6845,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3a2a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6849, 0x5606, 0x33a9, 0x6ae4, 0x0000, 0x0000,\r
+  0x0000, 0x49c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05a8, 0x1525,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x18c4, 0x0000, 0x0000, 0x46ab, 0x4925,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5666, 0x0000, 0x0000,\r
+  0x0000, 0x4a25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7227, 0x0e8c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xaa06, 0x0000, 0x0000, 0x0000, 0x6444, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5429, 0x2686, 0x0000, 0x58a4,\r
+  0x7dc9, 0xece6, 0x0000, 0x1c84, 0x0000, 0x0000, 0x0000, 0xe607,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4c04, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc4a6, 0x0000, 0xfee7,\r
+  0x1108, 0x4386, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7024, 0x0000, 0x0000, 0x7549, 0xeac6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb7a6,\r
+  0x0000, 0x7ce5, 0x0000, 0x2564, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4845, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3905, 0x0000, 0x0000, 0x0000, 0xd1e7, 0x146c, 0x56a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0612, 0x5e64,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2a4b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8866, 0x0000, 0x0000, 0x0000, 0x0000, 0x56ec, 0x0000,\r
+  0x0000, 0xb707, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79e7,\r
+  0x0000, 0x0000, 0x29ed, 0x0000, 0x0000, 0xf766, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x21a8, 0xc3c7, 0x4ec9, 0x3186, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe2e7, 0x4f4a, 0x0005, 0x0000, 0x0000, 0x78c8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0128, 0x3386,\r
+  0x0000, 0x77c7, 0x0000, 0x0000, 0x4868, 0x2fc4, 0x0000, 0x1a84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x78aa, 0x5524, 0x0000, 0x0000,\r
+  0x020e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51e5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0871, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5de6, 0x0000, 0x0000, 0x0000, 0x0000, 0x34e8, 0x1ce6,\r
+  0x0000, 0x0000, 0x7f0a, 0x2585, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0c88, 0x1da6, 0x0000, 0x0000, 0x0000, 0xab46, 0x0000, 0x0000,\r
+  0x0000, 0x9707, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9866,\r
+  0x102e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e5,\r
+  0x0000, 0x0000, 0x356c, 0x0000, 0x0000, 0x0000, 0x0000, 0x76a6,\r
+  0x5328, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5907, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9446, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x24ec, 0x2706,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12e9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4984, 0x0098, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x33cc, 0x0d06, 0x0000, 0x0000, 0x5eaa, 0x20e6,\r
+  0x0000, 0x4625, 0x0000, 0x0000, 0x0000, 0x2804, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1c24, 0x0000, 0x0000, 0x0000, 0x0000, 0x04b1, 0x6627,\r
+  0x0000, 0x79c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfd46,\r
+  0x106b, 0x1d65, 0x0209, 0x0000, 0x49c8, 0x90a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1baa, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x118a, 0x30c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8f07, 0x0000, 0x0000, 0x0000, 0x3a06,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x198b, 0x32e5, 0x25e8, 0x9847,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x00a8, 0x28a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x018a, 0x6407, 0x0000, 0xdee7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3f0d, 0x4da6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7306, 0x0000, 0x2f04, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1b46, 0x488c, 0x0000, 0x6008, 0x38c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0010, 0x0000, 0x548a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1486, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0656, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0f0d, 0x23a6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1c49, 0x2ae6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x03b6, 0x0000, 0x0000, 0xe286,\r
+  0x0000, 0x0000, 0x0115, 0x0000, 0x0000, 0x0000, 0x02b6, 0x8ca7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa5e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x47e9, 0xc7c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6fe6, 0x0000, 0x0000,\r
+  0x0000, 0x77e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdbe7,\r
+  0x15a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x2146, 0x20ae, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb266, 0x0000, 0x0000, 0x2588, 0x8126, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0688, 0x5bc5,\r
+  0x0000, 0x0000, 0x1b2b, 0x1de7, 0x0000, 0x8d26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b88, 0x0287,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3446, 0x0000, 0x0000, 0x0000, 0x4ca5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4f04, 0x0000, 0x0000, 0x0aa8, 0x7b07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x71a8, 0x56c5, 0x00eb, 0x8aa7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14e4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2308, 0x07c5, 0x0000, 0x0000, 0x042a, 0x0000,\r
+  0x0000, 0x2ce4, 0x174d, 0x7a87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4927,\r
+  0x0000, 0x0000, 0x0000, 0x1a65, 0x0000, 0x0000, 0x2a0d, 0x1226,\r
+  0x0000, 0x8d46, 0x0000, 0x6d27, 0x0000, 0x0000, 0x6908, 0x20e4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7284, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x136f, 0x0000, 0x0000, 0x0000,\r
+  0x39aa, 0x0c27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa987,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a24,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0fd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x9366,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1444, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5fa6, 0x0000, 0x1765, 0x0000, 0xa0c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4f66, 0x0000, 0x0000, 0x02eb, 0x1ae4, 0x0000, 0x0000,\r
+  0x0000, 0xa346, 0x0000, 0x0000, 0x0c2d, 0x5987, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2566, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x10ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x524c, 0x8746,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfa47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x682b, 0x1f07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xcec6, 0x0000, 0x0000, 0x426a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6aa5,\r
+  0x47ab, 0x1f26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x41ea, 0x0000, 0x0000, 0x0000, 0x0000, 0xb166,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0288, 0x0627,\r
+  0x0000, 0x0000, 0x0000, 0x7c05, 0x0000, 0x0000, 0x0000, 0x5b05,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3e28, 0xc567, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x07c9, 0x2186, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9626, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3dea, 0x1827, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d4a, 0x0000,\r
+  0x0000, 0x6b66, 0x0000, 0x0000, 0x02ed, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x65a9, 0x73a6, 0x0000, 0x0000,\r
+  0x1be8, 0x4ca6, 0x7728, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5344, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53c4, 0x0000, 0x0000,\r
+  0x0509, 0x1b07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x206b, 0x0000, 0x0000, 0x0000, 0x370a, 0x8b47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0949, 0x3b66,\r
+  0x0000, 0x0000, 0x178c, 0x1164, 0x0000, 0x63a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc486, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x04f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc746,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2446,\r
+  0x0000, 0x1d05, 0x0000, 0x0000, 0x6ee9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4128, 0x01c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca6,\r
+  0x0000, 0x0000, 0x0000, 0x7c06, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0df0, 0x0000, 0x0000, 0x3524,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62a7, 0x0000, 0x0000,\r
+  0x0000, 0xc726, 0x0000, 0xdd06, 0x0000, 0x0000, 0x1d2b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x75e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7764, 0x1c28, 0x1ea5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1e2e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xf2e6, 0x0000, 0x0000, 0x0000, 0xa086, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4548, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc386, 0x0000, 0x0000,\r
+  0x0000, 0x3764, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x230e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5b24, 0x0000, 0x0000, 0x0000, 0x2b84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ec6, 0x6a09, 0x2544,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67a9, 0xb1c6,\r
+  0x17ae, 0x0f27, 0x0000, 0x0000, 0x4f09, 0x6587, 0x0000, 0x0000,\r
+  0x458b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x368a, 0x1584,\r
+  0x424b, 0x6985, 0x1d0d, 0x7b06, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x126a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4325,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b64, 0x0000, 0x0000,\r
+  0x6949, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa167, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb946,\r
+  0x4c8c, 0x3105, 0x0000, 0x0000, 0x0000, 0x20c6, 0x03ee, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5e24, 0x44a9, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5705, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6844, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6064,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7325, 0x0000, 0x0000,\r
+  0x0000, 0x5445, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2688, 0x3786, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x64ab, 0x1686, 0x0000, 0x0000,\r
+  0x22cd, 0x21e7, 0x0000, 0x0000, 0x1acd, 0x3f26, 0x0000, 0x97e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3068, 0x21e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcda6, 0x054a, 0x0b86,\r
+  0x0000, 0x3964, 0x0000, 0x0000, 0x294c, 0xc2a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e2a, 0x0246,\r
+  0x0000, 0x0000, 0x0000, 0xd9c6, 0x0000, 0x0000, 0x0000, 0x78a5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16c6, 0x0000, 0x0000,\r
+  0x082a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2907, 0x0000, 0x0000, 0x4989, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xdf46, 0x0000, 0x0000, 0x7848, 0xf826, 0x0000, 0x0000,\r
+  0x0000, 0x2687, 0x3f8b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4988, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4cc5, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x244c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6388, 0x59e7, 0x0000, 0x0000, 0x28c8, 0x1a45, 0x0000, 0x0000,\r
+  0x0000, 0x57a4, 0x5ec9, 0x3b05, 0x0000, 0x0000, 0x0000, 0xf367,\r
+  0x22ca, 0x86e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3e29, 0x0527, 0x0000, 0x0000, 0x4f48, 0x05c5, 0x7828, 0x0000,\r
+  0x6548, 0x4184, 0x0000, 0x0000, 0x042d, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4285, 0x0000, 0x7ca5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa2a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa246, 0x0000, 0x53e6, 0x0000, 0x0000,\r
+  0x0000, 0x2644, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x56ab, 0xe3e7, 0x0000, 0x0000,\r
+  0x0000, 0x5ee7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf187,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b11, 0x16c5,\r
+  0x0000, 0x0000, 0x0000, 0xf587, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4124,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3509, 0x6b27,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x53e8, 0x2905, 0x0000, 0x4224,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5986, 0x0000, 0xbca6,\r
+  0x0a0e, 0x0866, 0x0000, 0x0000, 0x0000, 0x0000, 0x0769, 0x11a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbb46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2aee, 0x35c7, 0x6469, 0x93e7,\r
+  0x54a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa9a6, 0x06b0, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x49c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2927, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3aa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x398e, 0x0000, 0x0000, 0xd9e6,\r
+  0x0000, 0x0000, 0x7868, 0x2a86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc866, 0x0000, 0x0000, 0x1f4c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x50c8, 0x1b45, 0x0000, 0xe047, 0x000b, 0x0000,\r
+  0x0000, 0x4765, 0x0000, 0x38e4, 0x0000, 0x0000, 0x0000, 0x7e86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4aa9, 0x1426, 0x0000, 0x2ba4,\r
+  0x0000, 0x4186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x284b, 0x3606,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28aa, 0x1be5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x46c4, 0x0000, 0x0000,\r
+  0x0000, 0xae47, 0x3c2b, 0x3686, 0x0000, 0x0604, 0x3928, 0x4c45,\r
+  0x5e89, 0x4d45, 0x0000, 0x0000, 0x0000, 0x5e65, 0x0000, 0x9827,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4408, 0x3d85, 0x0d6e, 0x33c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7de4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00b0, 0x0000, 0x0000, 0xc586, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5424, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe666, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x14a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6529, 0x6ea6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3e49, 0x0000, 0x0000, 0x0000,\r
+  0x264c, 0x0125, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x36a4, 0x5a2a, 0x1245, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1626,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xac26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1905, 0x0000, 0x77e4,\r
+  0x0000, 0x0000, 0x0000, 0xf106, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xb366, 0x0000, 0x3c26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x11ca, 0x0a84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7ee5, 0x0000, 0x0000, 0x0000, 0x2764,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ee9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5906,\r
+  0x0000, 0x0000, 0x0000, 0xd746, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1bc8, 0x0000, 0x7b2a, 0xb0c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9f27,\r
+  0x434a, 0x5847, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e6f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdea7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x35e7, 0x0c2a, 0x5327, 0x0549, 0x1da7,\r
+  0x0000, 0x0000, 0x0000, 0x2107, 0x0000, 0x0000, 0x1aa8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38e9, 0x0000,\r
+  0x0000, 0x0000, 0x7148, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4e0b, 0x0000, 0x47c8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2c44, 0x0000, 0x0000, 0x0000, 0xc2c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x088f, 0x1d67, 0x5a6c, 0xe2a6,\r
+  0x0000, 0x0000, 0x0000, 0x77a7, 0x0000, 0x67c5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x02f2, 0x0000, 0x0000, 0x3e05, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4466, 0x1de9, 0x0b05,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xa3c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0a09, 0x8687, 0x0000, 0x0000, 0x0ece, 0x0000,\r
+  0x0000, 0x0000, 0x3beb, 0x2247, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e24,\r
+  0x0000, 0x0000, 0x53ab, 0x20a7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x01a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62e6,\r
+  0x1f48, 0x5047, 0x0000, 0x0000, 0x0000, 0xb2a7, 0x756a, 0x76a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6644, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7ac8, 0x2947, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x442a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7666,\r
+  0x0000, 0x9486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7104,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xab86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x56a4, 0x2f2b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x56e7, 0x0000, 0x0000, 0x592a, 0x3047, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1009, 0xc4e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x350d, 0x6fa7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4509, 0x2846,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0389, 0xe206, 0x062c, 0x0000, 0x0000, 0x0000, 0x0000, 0xe506,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x34a7, 0x0000, 0x0000, 0x3749, 0x33e6, 0x0000, 0x0000,\r
+  0x242b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19ce, 0x0dc4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0277, 0xc067,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa786, 0x0000, 0x9547,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x44ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x27e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0e14, 0x9387, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x78e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf287,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5be8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x702b, 0x1085, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x04ca, 0x68c4, 0x0000, 0x0000, 0x0000, 0x2f65, 0x1b48, 0x0105,\r
+  0x528a, 0x7f24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0ded, 0x3066, 0x50e9, 0x6da7, 0x0000, 0x0000, 0x06aa, 0x62c7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x394e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7746,\r
+  0x0000, 0x0000, 0x0000, 0x3147, 0x0000, 0xaae6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e44, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb027, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04c8, 0x0f87,\r
+  0x2aca, 0x18e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5a8c, 0x4e84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6488, 0x2147, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1a07, 0x0000, 0x09e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5ca8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc6,\r
+  0x0000, 0xbac6, 0x66a9, 0xc226, 0x0000, 0x0000, 0x10ec, 0x32a5,\r
+  0x0000, 0x0000, 0x1648, 0x0c86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3c24, 0x0000, 0x0000, 0x0000, 0xac46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x62e5, 0x0428, 0x9967, 0x6b29, 0x0000,\r
+  0x3a68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x37e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0acb, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4968, 0x0000, 0x0000, 0x0000, 0x568a, 0x7f47, 0x0000, 0x1864,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc146,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5586, 0x0000, 0x0000, 0x2b28, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2da5, 0x0000, 0xd266,\r
+  0x0000, 0x0000, 0x3b0a, 0x0000, 0x362e, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0397, 0x0000, 0x0000, 0x0000,\r
+  0x7cac, 0x0000, 0x582a, 0x0065, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ca5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0cc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c46,\r
+  0x7fc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x06f6, 0x0000, 0x0e68, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x74a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x57c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd806, 0x0352, 0x3c84, 0x0000, 0x0000, 0x0000, 0x1727,\r
+  0x4d4a, 0x3426, 0x0000, 0x6466, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9dc6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f24, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3be7, 0x20ca, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x67c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x034b, 0x08c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1b2f, 0x0000, 0x5008, 0x0666, 0x0000, 0x0000,\r
+  0x2d0d, 0xc647, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5187,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fc7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2548, 0x5c27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51e9, 0x1bc5,\r
+  0x7149, 0x0000, 0x0000, 0x7ea6, 0x7be8, 0xfb26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3eea, 0x0000, 0x0000, 0x0000, 0x1b12, 0x1345,\r
+  0x0000, 0x0000, 0x0000, 0x5985, 0x0000, 0x6987, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4da8, 0x1f86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0cee, 0x0000, 0x0057, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4807, 0x0000, 0x0000,\r
+  0x0000, 0x5106, 0x0000, 0x0000, 0x0000, 0x2965, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4f0c, 0x0000, 0x0000, 0x0000, 0x40c8, 0x0d65,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f04, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x00f4, 0x6e65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7345, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0b69, 0x7c25, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1908, 0x1064, 0x0158, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2da9, 0xb327, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x038a, 0x0ce5, 0x0000, 0x0000, 0x63c8, 0x7ea5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x04ec, 0xf0a7, 0x0000, 0x6aa6, 0x0000, 0x0000, 0x21ea, 0x40e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2a4e, 0x0000, 0x0000, 0x2584,\r
+  0x3ac9, 0x3465, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6889, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf226,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3124, 0x0000, 0x0000,\r
+  0x2ca8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x57eb, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3065, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0968, 0x5885, 0x38ab, 0xa8e7,\r
+  0x0000, 0x25e4, 0x0000, 0x0000, 0x608a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5da4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8526, 0x0000, 0x0000, 0x59ab, 0x1c46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f45, 0x35ee, 0x4e46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x584a, 0x0000, 0x0000, 0x0000,\r
+  0x066d, 0x5744, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6786, 0x0000, 0x0000,\r
+  0x022a, 0x0000, 0x0000, 0x0000, 0x0000, 0xf127, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0373, 0x6ce7,\r
+  0x3e4c, 0x0000, 0x0caa, 0xe026, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x366a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x78ca, 0x0000, 0x1029, 0xcd87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7ca7, 0x3ec8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66e4,\r
+  0x0000, 0xf0e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c49, 0xdb87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0118, 0x0000, 0x140b, 0x82c7,\r
+  0x0000, 0x3d87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1028, 0x05a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2c28, 0x45c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6225,\r
+  0x0000, 0x0000, 0x0000, 0x8f26, 0x17a9, 0x0000, 0x0000, 0x0000,\r
+  0x0357, 0x2c25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfd06,\r
+  0x0000, 0x0000, 0x0000, 0x4bc5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0410, 0x6ae7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xfb66, 0x0000, 0x0000, 0x00b2, 0x0084,\r
+  0x0000, 0x0000, 0x39ab, 0x5f87, 0x0000, 0x0000, 0x0000, 0xb526,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb4a6,\r
+  0x0000, 0x0000, 0x0000, 0x9206, 0x0000, 0x0000, 0x0000, 0x1d26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1fe6, 0x0000, 0x0000, 0x1b09, 0x0000, 0x0000, 0x0000,\r
+  0x23cb, 0x0000, 0x0000, 0x0000, 0x0077, 0x0000, 0x0000, 0x0000,\r
+  0x5a6a, 0x4304, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23a7,\r
+  0x0000, 0x0000, 0x0000, 0x4607, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5644, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9bc7,\r
+  0x0000, 0x0000, 0x07f3, 0x0000, 0x042b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x410c, 0xe8c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4ecb, 0x0000, 0x0000, 0x0000, 0x0000, 0x4545, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7d25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x37c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xa426, 0x0000, 0x0000, 0x68a9, 0x4f86, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22cb, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7e4a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x99e7, 0x0000, 0x2604, 0x0000, 0x3f47,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0356, 0x0000,\r
+  0x0ba8, 0xb007, 0x634a, 0x6964, 0x580b, 0x0000, 0x23ad, 0x0e45,\r
+  0x3ca8, 0x7047, 0x1229, 0x0000, 0x0268, 0xfe67, 0x0000, 0x0000,\r
+  0x0000, 0xf1a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xd807, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5d48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7c68, 0xf586, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc1c6,\r
+  0x0000, 0x6d46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f44,\r
+  0x0000, 0x0000, 0x0000, 0x65c4, 0x0fcb, 0x0000, 0x0000, 0x9e06,\r
+  0x0000, 0x0000, 0x65c8, 0x7765, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7aa6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7268, 0x0705, 0x0000, 0x0000,\r
+  0x0c94, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4fcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c45,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5ec5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8b07, 0x0000, 0x0000, 0x1ace, 0x0000,\r
+  0x0000, 0x0000, 0x10a9, 0x0000, 0x188d, 0x1507, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9006, 0x0000, 0x9ba7, 0x0000, 0x0000,\r
+  0x4348, 0x1526, 0x6cea, 0xe306, 0x0000, 0x0000, 0x33a8, 0x10a6,\r
+  0x0000, 0x0000, 0x0000, 0x7a46, 0x0000, 0x0000, 0x056c, 0x0ba6,\r
+  0x2e69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41c5,\r
+  0x0329, 0x0000, 0x5e4c, 0x29e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x16cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x04e8, 0x4b25, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16a4, 0x2e48, 0x0000,\r
+  0x0000, 0xce86, 0x2cc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x160d, 0x23c6, 0x0000, 0x6287,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x98e6, 0x6188, 0x1fc7,\r
+  0x7d68, 0x7006, 0x0000, 0x0000, 0x0000, 0xb4e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5d0c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fd2, 0x0000,\r
+  0x052b, 0x6284, 0x0000, 0x0000, 0x0000, 0x4ea5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x24a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3484, 0x04ae, 0xed86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x43cc, 0xc447, 0x77a8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ea8, 0x03e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0faa, 0x28a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x286a, 0x0000, 0x0000, 0xc166,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9807, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x18cf, 0xee26, 0x4ea9, 0x01e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x028f, 0x0966,\r
+  0x43eb, 0xa927, 0x0000, 0x0000, 0x0000, 0x42a7, 0x0000, 0x0000,\r
+  0x00d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4345,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2a44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0171, 0x0006, 0x0000, 0x0000, 0x238a, 0x5265, 0x0000, 0x7ba5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6a07, 0x0000, 0x0000, 0x3f6a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1784, 0x7beb, 0x6e85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0790, 0x77e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xcea6, 0x0000, 0x0000, 0x7348, 0x2a27,\r
+  0x0000, 0x4fc4, 0x0000, 0x0000, 0x3e8a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x14cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3447, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5f08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9fa6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6048, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1e6a, 0x0b24, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae86, 0x0000, 0x4605,\r
+  0x0000, 0x0000, 0x0069, 0xcf46, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x494a, 0x0000, 0x0000, 0x9ee7,\r
+  0x0000, 0x0000, 0x0000, 0x3f25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4fa6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf366, 0x052a, 0x37a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0728, 0x17a4, 0x0000, 0x0000, 0x2e6a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4504, 0x0000, 0x6e66, 0x0000, 0x7366, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6d67, 0x0000, 0x0000, 0x0000, 0xdf87, 0x0631, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x52aa, 0x0000, 0x0000, 0xf327, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6346, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8de6, 0x0000, 0x0000, 0x0000, 0x5d25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a85,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3345,\r
+  0x0000, 0x7a04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x57e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x176a, 0x2845,\r
+  0x0000, 0x0000, 0x0000, 0x1c65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4609, 0x0000, 0x03f3, 0xae67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3a47, 0x0000, 0x0000, 0x0000, 0x0000, 0x506a, 0x14e6,\r
+  0x0000, 0x0000, 0x0000, 0xb286, 0x0000, 0x3385, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8bc6,\r
+  0x4648, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x200b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdd66, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x94c7, 0x1089, 0x0000, 0x084f, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x27a4, 0x0000, 0x0000, 0x0000, 0x07e5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb866, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2404, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4c09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x9926, 0x0000, 0x94a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb786, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5626, 0x0f0a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0037, 0x0000, 0x292e, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1c47, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe7e7, 0x0000, 0x0000, 0x39a9, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xa847, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aa6,\r
+  0x0000, 0x0000, 0x256e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9266, 0x0000, 0x0000,\r
+  0x0000, 0x7a84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4fa9, 0x22e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x24a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x4209, 0x0225,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x00b6, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0616, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b2a, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6165, 0x0000, 0x1884,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa546, 0x5c2b, 0x5e04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3387,\r
+  0x180e, 0x0a07, 0x0000, 0x0000, 0x010c, 0xb7c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d24,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6866, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2008, 0x04c6, 0x7b4a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b6a, 0x2027,\r
+  0x22c8, 0x71e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5da8, 0x12e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7baa, 0x0000, 0x0000, 0x7bc5, 0x0000, 0x0000, 0x0b49, 0x1845,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3525, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x60c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50cc, 0x6764,\r
+  0x5e0b, 0x0000, 0x0000, 0x0000, 0x52c9, 0x0000, 0x02cb, 0x02a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bea, 0x1de6,\r
+  0x0000, 0x0000, 0x0000, 0x35e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x000f, 0x6d45, 0x0000, 0x0000, 0x212b, 0x0826, 0x0000, 0x0000,\r
+  0x0000, 0xa8c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xebe7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6524, 0x0000, 0x5704,\r
+  0x0000, 0x8646, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ec5, 0x0000, 0x0000,\r
+  0x6448, 0x0000, 0x0000, 0x0000, 0x0713, 0x6107, 0x0000, 0x7944,\r
+  0x0000, 0x0000, 0x63a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x320a, 0x0000, 0x0000, 0xf3e6, 0x0000, 0x0000, 0x052d, 0x0000,\r
+  0x016c, 0x0ec6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1f6a, 0x4ce7, 0x0000, 0x0000, 0x0000, 0x8287,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1c25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e44, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0d0d, 0x0607, 0x1a2a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7446, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa0c6, 0x0000, 0x5ee6,\r
+  0x0000, 0x0f04, 0x3029, 0x0000, 0x0000, 0x0000, 0x35aa, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6685,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18ea, 0x0000,\r
+  0x0157, 0x12e6, 0x0000, 0x0000, 0x0000, 0x5f26, 0x2da8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x05d1, 0x87c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x016b, 0xcb06,\r
+  0x0756, 0x2b05, 0x0000, 0x0000, 0x7e09, 0xe986, 0x0000, 0x0000,\r
+  0x0000, 0x6f05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x58e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7249, 0xef26, 0x0000, 0x77c5, 0x0000, 0x6ea7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x69e4, 0x228b, 0x0000, 0x25c9, 0x0824,\r
+  0x0000, 0x0000, 0x0000, 0x3fc7, 0x0000, 0xbd47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x130c, 0x2464, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x234b, 0x49a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1044, 0x0000, 0x0000, 0x39eb, 0x0545, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2e85, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5505, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a28, 0xf9a6,\r
+  0x0000, 0x0000, 0x0000, 0x6544, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xadc7, 0x0000, 0x0000,\r
+  0x0000, 0x5084, 0x0000, 0x0000, 0x6c6a, 0x7ac4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4387, 0x0000, 0x0f67,\r
+  0x0000, 0x0000, 0x0000, 0xf746, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x62a8, 0x4de6, 0x0000, 0xd766, 0x0000, 0x9886, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6f06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2568, 0xf967,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x628a, 0x1666,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35e9, 0x1385,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xaba6, 0x04f6, 0x0a06, 0x188c, 0x0000,\r
+  0x0000, 0x3f66, 0x0000, 0x0000, 0x0000, 0x50c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x97c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x73cb, 0x0000, 0x0000, 0x0000, 0x0029, 0x0e47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x37c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d46,\r
+  0x0000, 0x0000, 0x0000, 0x3d66, 0x0000, 0xc606, 0x0000, 0x0000,\r
+  0x3f68, 0x1f47, 0x0000, 0x0000, 0x0000, 0x13c4, 0x0149, 0x2d47,\r
+  0x0033, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3309, 0x1c86, 0x6b8a, 0x3c06, 0x0000, 0x6166,\r
+  0x0000, 0x0000, 0x0000, 0x45a4, 0x0000, 0x0000, 0x11c8, 0x18a7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xba46, 0x0170, 0x2f47, 0x278a, 0x8426,\r
+  0x0000, 0x0000, 0x0257, 0x4866, 0x256b, 0xc147, 0x0000, 0x1624,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3365, 0x0000, 0x0000, 0x0000, 0x0000, 0x5aea, 0x36e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbf07, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x074f, 0x0000, 0x3c4a, 0x0000,\r
+  0x0000, 0x0000, 0x3f2e, 0xf406, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e45,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7725,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x644b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2445,\r
+  0x0000, 0x0000, 0x62eb, 0x0685, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e04,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8086, 0x0000, 0x0000,\r
+  0x114a, 0x0000, 0x0000, 0x0000, 0x0000, 0xe267, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x74ca, 0xe3a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2e68, 0x04c4, 0x0000, 0x0000, 0x0000, 0xa207,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a65,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa646, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9ce7, 0x250c, 0x0da5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5286, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x21c9, 0x49e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8846, 0x0a29, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x30e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f28, 0x2847,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb086,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x41ca, 0x4f05, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1d68, 0x1206, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7586, 0x0000, 0x0000, 0x0000, 0x0687, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x26a8, 0x1885, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xef07, 0x0000, 0xa147, 0x0000, 0x55c4,\r
+  0x0000, 0x0000, 0x4e2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x338b, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0565, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x016d, 0x78e7, 0x5ecc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x1b84, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6d28, 0x0167, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6f47, 0x0000, 0x0000, 0x004d, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xddc7,\r
+  0x312a, 0x20e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6649, 0x3907, 0x0000, 0x0000, 0x1f68, 0x1646, 0x3129, 0x0c25,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5446, 0x150c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13f2, 0xcce6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0773, 0x74c7, 0x0000, 0x17e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2b49, 0x14a5, 0x0000, 0x6da5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xa227, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x148e, 0x0000, 0x0000, 0x0000, 0x01f7, 0x1087, 0x1e28, 0x8627,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1c88, 0x2886, 0x06b6, 0x0000, 0x0000, 0x71c7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc9, 0x5827,\r
+  0x1b28, 0x0924, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4f88, 0x30a5, 0x0000, 0xb026, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6fa6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a2c, 0x0000,\r
+  0x0000, 0x0000, 0x77e8, 0x0000, 0x0000, 0x0000, 0x0000, 0xb326,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x15cc, 0x17a5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x02c8, 0x0046, 0x0000, 0x0000, 0x65eb, 0x2c47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x352c, 0x0000, 0x3368, 0x0786, 0x01b3, 0xc967,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb8c6, 0x4a8b, 0x0000,\r
+  0x0000, 0x31c6, 0x0000, 0x0647, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x180b, 0x90e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a04, 0x1bea, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ea8, 0x0807,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x22ce, 0x0000, 0x4b88, 0x0000,\r
+  0x0000, 0xbbc6, 0x212a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x26cc, 0xdc67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1025, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3f2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7d0b, 0x0000, 0x0000, 0x78c6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x68e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4fa5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x49c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x2305, 0x0000, 0x0000,\r
+  0x0000, 0xad46, 0x0000, 0x0000, 0x0000, 0x2325, 0x0000, 0x8507,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72a6, 0x0000, 0x0000,\r
+  0x01f5, 0x4567, 0x0000, 0x0000, 0x7ec9, 0xeb66, 0x0000, 0x0000,\r
+  0x0000, 0x78a6, 0x0000, 0x0000, 0x0ead, 0x0427, 0x0000, 0x0000,\r
+  0x0000, 0x6425, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6da4,\r
+  0x0000, 0x6706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2da4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x60cb, 0x00e5, 0x0000, 0x35c6,\r
+  0x0000, 0x0000, 0x1cea, 0x2d05, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x66c9, 0x5c86, 0x0000, 0x0000,\r
+  0x7428, 0xb9a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0229, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7d26, 0x0000, 0x0000, 0x0000, 0x0000, 0x046f, 0x67e4,\r
+  0x0000, 0x0000, 0x300c, 0x3927, 0x0000, 0x0000, 0x0000, 0xa8e6,\r
+  0x0000, 0x0367, 0x0000, 0x0000, 0x7b08, 0x0000, 0x2109, 0x4505,\r
+  0x0000, 0x3224, 0x0000, 0x0000, 0x0000, 0x58c6, 0x0000, 0x9766,\r
+  0x0000, 0x0000, 0x0177, 0x19a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00aa, 0x4867, 0x0000, 0x59a4, 0x0000, 0x0000, 0x7e68, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64a4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3d24, 0x0000, 0x0000, 0x0000, 0x8006, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f87,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3b29, 0x0000, 0x0000, 0x0000,\r
+  0x526c, 0x6c06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x130a, 0x6667, 0x0000, 0x0667, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1049, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1ca8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5444, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6044, 0x068b, 0x09e5, 0x0000, 0x0000,\r
+  0x0000, 0xd046, 0x0000, 0x3326, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1866, 0x0000, 0x5604, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6f25, 0x15c8, 0x1404, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6d06, 0x0000, 0x72c6, 0x4728, 0x2187, 0x0000, 0x0000,\r
+  0x0000, 0x9906, 0x0000, 0xaa26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ec5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5b65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x17cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x194a, 0x3f45, 0x3789, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6868, 0x0000, 0x0237, 0xbec7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3ba7, 0x0000, 0x0000, 0x7c4a, 0xabc6, 0x0992, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c68, 0x23e7,\r
+  0x0000, 0xada6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x38e8, 0x3005, 0x0000, 0x0000, 0x0000, 0x2105, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7d28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0386,\r
+  0x0000, 0x0000, 0x0000, 0x6a64, 0x15ec, 0x2ce7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x23ea, 0x5c84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6b26, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6669, 0xaf46, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x15cd, 0x1c05, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xce27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51e8, 0x47a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x100b, 0x2be7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72c5, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x55e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xbea6, 0x0000, 0x0000, 0x0000, 0x7e24,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6baa, 0x0000, 0x160b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c11, 0x7b25,\r
+  0x0000, 0x4ce4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xefe7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8d66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ee4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0368, 0x02e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04cd, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7ee4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8806, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc626,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1c6a, 0x0000, 0x0000, 0x0000,\r
+  0x3bc8, 0x2d06, 0x0000, 0x0000, 0x0000, 0x0be7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5768, 0x0000, 0x0000, 0x0000,\r
+  0x034e, 0x0000, 0x0000, 0x0000, 0x0000, 0x8be7, 0x0000, 0x0000,\r
+  0x0000, 0x5c64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5ca9, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3a08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x054e, 0x0000, 0x0c0a, 0x0000, 0x0000, 0x0000, 0x0350, 0x2ac5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1968, 0x0000,\r
+  0x0000, 0x3824, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2009, 0x26e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5eca, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6765, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x48ac, 0x0805, 0x0000, 0x82e7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2406, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xabe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa3a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f0c, 0x0186,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1347, 0x0000, 0xbe06,\r
+  0x0000, 0xdb26, 0x0bec, 0x3ec6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x21a4, 0x2468, 0x95a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x01f4, 0x0000, 0x0000, 0x0000, 0x0000, 0xa7a6, 0x0000, 0x7f26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6b2a, 0xe246, 0x42a8, 0x0000, 0x0000, 0xb5a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6888, 0x1a64, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0270, 0x0000, 0x1388, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7e25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6686, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0017, 0x1c85, 0x0000, 0x0000, 0x0000, 0x8d67,\r
+  0x0000, 0x9f86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a2a, 0xe006,\r
+  0x0000, 0x0000, 0x30a9, 0x2465, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41aa, 0x0000,\r
+  0x0000, 0x0000, 0x38ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x5347,\r
+  0x0000, 0x0000, 0x0000, 0x34c4, 0x0011, 0x2c65, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x14ab, 0x0000, 0x2089, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c25, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xcb26, 0x0000, 0x0000,\r
+  0x0000, 0x1d45, 0x0000, 0xace7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2648, 0x0000, 0x0000, 0x0000,\r
+  0x644c, 0xf026, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x168d, 0x0000, 0x0000, 0x0000, 0x0000, 0xa407, 0x65c9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5865, 0x0000, 0x0000, 0x0000, 0xbaa7, 0x016a, 0x07a7,\r
+  0x5bac, 0x0000, 0x0000, 0x0000, 0x2aa9, 0x0000, 0x0000, 0x0000,\r
+  0x0c4e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7ec8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x11cf, 0x0cc6, 0x0000, 0x0000,\r
+  0x03d7, 0x0000, 0x0000, 0x66e7, 0x0000, 0x82a6, 0x0000, 0x0000,\r
+  0x0000, 0xf147, 0x0000, 0xbd06, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0ae6, 0x0000, 0x9b66, 0x1ea9, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0608, 0x0887,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0fc8, 0x09a7, 0x4e29, 0x7544, 0x0000, 0x0000, 0x2bea, 0x0000,\r
+  0x0000, 0x0000, 0x15ca, 0xd086, 0x0000, 0x5867, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3265, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d7, 0x0000,\r
+  0x0000, 0x2346, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0109, 0x0584, 0x0000, 0x0000, 0x2d6a, 0x0e67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4429, 0x5f27, 0x0000, 0x0000, 0x6869, 0x9cc6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7448, 0xf206, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51ac, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x2b08, 0x0000, 0x0000, 0xb966,\r
+  0x542b, 0x1726, 0x0000, 0x0000, 0x3988, 0x0ba7, 0x5e28, 0x3bc5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f85, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ce4, 0x0000, 0x0000,\r
+  0x0000, 0x3e64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x19ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c04,\r
+  0x0000, 0x7907, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x006a, 0x0000, 0x0000, 0x0000, 0x0000, 0x31e7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1c09, 0x4666, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5806, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc2e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6ba8, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x7646, 0x29ac, 0x5d45, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x71c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x5186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae26, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbd46, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x192a, 0x0000, 0x3fca, 0x59a7, 0x0000, 0x0000,\r
+  0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0284, 0x0000, 0x0000,\r
+  0x0000, 0x9c66, 0x0000, 0x0000, 0x0000, 0x9166, 0x0000, 0x0000,\r
+  0x0000, 0x2666, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8867,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x35a5, 0x0000, 0x0000, 0x0000, 0x6e24,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4da4, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c06, 0x0000, 0x2b86,\r
+  0x0000, 0x6c85, 0x0000, 0x0000, 0x0000, 0x0000, 0x3628, 0x0000,\r
+  0x0000, 0x0000, 0x606a, 0xbae7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1aea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f8d, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x06ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e13, 0x07c7, 0x0000, 0x6b04, 0x21cc, 0x0000,\r
+  0x4788, 0x0000, 0x0000, 0x0000, 0x0000, 0x7566, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c06, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0152, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1b8a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3a0e, 0x0000, 0x0000, 0x0da4, 0x0000, 0x0000,\r
+  0x0000, 0xda46, 0x0000, 0x0000, 0x0000, 0x4066, 0x0000, 0x0000,\r
+  0x0000, 0x46c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x086a, 0x0504, 0x0000, 0x0000, 0x5a49, 0x7c07, 0x0000, 0x0000,\r
+  0x736b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8f27,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4707, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1ee9, 0x0000, 0x0000, 0x0000, 0x0000, 0x50a4,\r
+  0x0000, 0x0000, 0x290c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa006, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x00f6, 0x0385, 0x2d09, 0x1447, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f86,\r
+  0x0000, 0x0000, 0x6829, 0x6bc6, 0x0000, 0x6b05, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5c0a, 0x0b85, 0x0000, 0x0000,\r
+  0x7688, 0xf306, 0x0000, 0xb8e6, 0x07ea, 0x49c5, 0x0000, 0x0000,\r
+  0x0000, 0xbe26, 0x0000, 0x0000, 0x0000, 0x58a6, 0x0000, 0x0000,\r
+  0x07b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3c69, 0x0000, 0x0000, 0x0000, 0x0000, 0x97a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x03b1, 0x7fc4, 0x0000, 0xd607,\r
+  0x0000, 0x3a46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b64,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x156e, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1e2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x7888, 0xfaa6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8986, 0x0000, 0x0000,\r
+  0x0000, 0x7747, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xf4c7, 0x0000, 0x0000, 0x0448, 0x44a6,\r
+  0x7c4c, 0x0000, 0x0000, 0x3827, 0x1132, 0x6a47, 0x0000, 0x0000,\r
+  0x53c8, 0x1244, 0x0000, 0x0000, 0x0000, 0x0000, 0x40c9, 0x13e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x12ed, 0x0000, 0x0000, 0x8066, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7aea, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7c27, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x11aa, 0x3ea7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3885, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1d28, 0x12a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x48cc, 0x0000, 0x0000, 0x0000, 0x6428, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08c4, 0x0000, 0x0000,\r
+  0x2e2a, 0x0000, 0x0490, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x198c, 0x5a27, 0x35ca, 0x1e27, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xe326, 0x0210, 0x86c6, 0x7faa, 0x0000, 0x0000, 0x32c5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xe4c7, 0x0000, 0x0000, 0x0000, 0x6707,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6745, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6609, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7d05, 0x59a8, 0xe6a7,\r
+  0x0000, 0x34e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3fc8, 0x0000, 0x0000, 0x8306, 0x0000, 0x0000,\r
+  0x0000, 0x4d46, 0x0000, 0x0000, 0x0000, 0x4104, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7bc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2824, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8de7, 0x0000, 0x0000, 0x7328, 0x0000,\r
+  0x0000, 0x0000, 0x0309, 0x31a5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6b06, 0x0000, 0x0000, 0x0000, 0x1167,\r
+  0x234d, 0x7aa5, 0x0000, 0x2405, 0x0000, 0x0000, 0x0000, 0xec47,\r
+  0x5168, 0x0704, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x20ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d28, 0xaf66,\r
+  0x0000, 0x96a6, 0x0000, 0x0000, 0x466b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2e24, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4dc6, 0x0000, 0x0000,\r
+  0x0000, 0xafe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e0a, 0x1407,\r
+  0x0000, 0x2d64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4d69, 0x0000, 0x15cb, 0x2486,\r
+  0x0000, 0x0000, 0x520a, 0x4d06, 0x0000, 0x0000, 0x0000, 0x55a6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e7, 0x0000, 0x0000,\r
+  0x0000, 0x4ee5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9e66, 0x0000, 0x0000,\r
+  0x0000, 0xe0a6, 0x0000, 0x0000, 0x0000, 0xd287, 0x0000, 0x0000,\r
+  0x3aa9, 0x0000, 0x4268, 0x99c7, 0x092b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x218c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0cc9, 0x45c6, 0x0daa, 0x0825,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x4a68, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x2eca, 0xe507, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x020b, 0x0000, 0x32a9, 0x00c6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e25,\r
+  0x0000, 0xbae6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x11c5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02af, 0x3a45,\r
+  0x02ec, 0x2025, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x09ac, 0x3287, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6b88, 0xe706, 0x0000, 0x0000, 0x518c, 0x4ea6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x01b8, 0x2f24, 0x0000, 0xe647,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xbba6, 0x0000, 0x0000, 0x0000, 0xee47, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x3d64, 0x1d4a, 0x1564, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4eea, 0x9447, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x7469, 0x0000, 0x154b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc666, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3505, 0x0000, 0x0000,\r
+  0x5948, 0x0000, 0x0000, 0x0000, 0x0000, 0x55a7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x23aa, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x35a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08ea, 0x0247,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0e8e, 0x6787, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x242a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5464, 0x0000, 0x0000, 0x0000, 0xb206,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e6, 0x0000, 0x0000,\r
+  0x0000, 0xa6c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x048b, 0x1a26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2ac4, 0x0000, 0x0000, 0x0000, 0x7404, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xe5c7, 0x0ed4, 0x6b07, 0x51cb, 0x27c4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0013, 0x7267,\r
+  0x6fe9, 0x38c6, 0x0000, 0x0000, 0x402c, 0xb227, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x62ea, 0x0000, 0x132c, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6384, 0x71a9, 0x37a6,\r
+  0x2b2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4846, 0x0000, 0x0000, 0x0000, 0xad66, 0x0000, 0x0000,\r
+  0x0000, 0x4565, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5fc8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x43a7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6e06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbc46,\r
+  0x0000, 0x0000, 0x7aeb, 0x0000, 0x6009, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x5c2c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x1c44, 0x03c8, 0x3545, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0eb3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x39c7, 0x0000, 0x0000, 0x0000, 0x3024, 0x0000, 0x31c5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x2b64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fa9, 0x9d67,\r
+  0x5088, 0x1105, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3aa7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaae7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x59e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb1e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5da6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4448, 0x50a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x22ac, 0x0000, 0x0000, 0x9f66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x38a6, 0x4308, 0x4564, 0x0000, 0x0000,\r
+  0x7b6a, 0x8a67, 0x0000, 0x0000, 0x0b4a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2024, 0x0000, 0xdd07,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x85e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a66,\r
+  0x0000, 0x6864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xfac6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0be9, 0xd6c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0345, 0x0000, 0x44c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x70a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x66c8, 0x0000, 0x0000, 0x0f46, 0x0000, 0x0000, 0x0000, 0x64e6,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20c7, 0x0000, 0x4d85,\r
+  0x4b28, 0x0444, 0x0000, 0x0000, 0x1549, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4324, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2985, 0x0000, 0x0000, 0x1a0f, 0xeea6,\r
+  0x16c8, 0x20a6, 0x0000, 0x0000, 0x0000, 0xd726, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x74a4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc926, 0x0000, 0x6fe7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6585,\r
+  0x0000, 0x0000, 0x75c9, 0xef86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6147, 0x0000, 0x0000, 0x0000, 0x1124,\r
+  0x0000, 0xa446, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xcfa6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xc6e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x668b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1729, 0x0b25,\r
+  0x0000, 0x9106, 0x1ccc, 0x00c5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x07eb, 0x03a6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xd986, 0x0000, 0x0000, 0x1628, 0x1547,\r
+  0x0000, 0xf526, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b6b, 0x0000,\r
+  0x022c, 0x0587, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x21c5, 0x0000, 0x2505, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbe66, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5eab, 0x00e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x424a, 0x4987, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6246,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4887, 0x4e68, 0x0b07,\r
+  0x37e9, 0x0726, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x69a8, 0x5be6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x03e5, 0x01ec, 0x0000, 0x398a, 0x4125, 0x018c, 0x3506,\r
+  0x0000, 0x0000, 0x0000, 0xa2c7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4a65, 0x0000, 0x0000, 0x0000, 0x01a5,\r
+  0x4489, 0x0c26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb807, 0x388b, 0xdce7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e71, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc0e6, 0x0000, 0x8ae7,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x0000, 0x2ce8, 0x3d05,\r
+  0x0000, 0x2166, 0x0000, 0x0000, 0x0000, 0xf7e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9066, 0x0000, 0xc4e6,\r
+  0x0000, 0xb3c6, 0x03e9, 0x0000, 0x0000, 0x2f25, 0x0cb1, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3b89, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xfce7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xe587, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0470, 0x6965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4544, 0x0000, 0x0000, 0x0000, 0x4305, 0x4e2b, 0x19e5,\r
+  0x0000, 0xab67, 0x0000, 0x0000, 0x0000, 0x3504, 0x6228, 0x2a07,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x7004, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x036b, 0x5dc7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1dcc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x2fec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x4b64, 0x5aaa, 0x0164, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b84, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xc206, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5504, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x366b, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb2e7, 0x0000, 0x0000,\r
+  0x01b4, 0x0e05, 0x0000, 0x0000, 0x2c8a, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf566,\r
+  0x0000, 0x0000, 0x0000, 0x9b86, 0x024c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6c66, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0649, 0x5884, 0x092a, 0x4a07, 0x0000, 0x3ec4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x142a, 0x2b66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x3ac8, 0x0424, 0x0000, 0x1ec7,\r
+  0x4768, 0x0146, 0x0000, 0x3a26, 0x4cc8, 0x0000, 0x1daa, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x030d, 0x0245, 0x0000, 0x3f46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0436, 0x26a4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1189, 0x0000, 0x0000, 0x0000, 0x0000, 0x8406,\r
+  0x0000, 0x0000, 0x0000, 0xd506, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x8186, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa466, 0x360a, 0x0ac5,\r
+  0x2108, 0x4185, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0d6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0f6a, 0x73e4, 0x0000, 0x0000, 0x77aa, 0x8fa7, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6145, 0x0000, 0x3ec5, 0x1888, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xa406, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6ae5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05aa, 0xaf07,\r
+  0x0000, 0x0000, 0x0000, 0x7d64, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x8926, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x4428, 0x4c87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x06cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x1587, 0x0000, 0x0000,\r
+  0x0000, 0x80a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x4704, 0x0000, 0x0000, 0x0000, 0x5b84,\r
+  0x4d2a, 0x0000, 0x0000, 0x79c6, 0x0bcd, 0x7ba7, 0x5ba8, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdfa7, 0x0000, 0x0000,\r
+  0x532c, 0xfbe7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x64ca, 0x23e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc066,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x16cd, 0xc367, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c87, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0xcae6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6dc8, 0xe526, 0x0000, 0xc426,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0bac, 0x0000, 0x5968, 0x7c44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x07e4, 0x0000, 0x49e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x5da5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x446c, 0x2dc5, 0x0000, 0x0000, 0x0000, 0xda67, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b27, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb6e6,\r
+  0x0000, 0x6086, 0x6faa, 0x0000, 0x0000, 0x0000, 0x0614, 0x0000,\r
+  0x0000, 0x75a5, 0x0000, 0x0000, 0x564a, 0xdf27, 0x0d4b, 0x3707,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0411, 0x0000, 0x2989, 0x1b04, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a85, 0x0000, 0x0000,\r
+  0x340a, 0x4687, 0x0000, 0x72c4, 0x0000, 0xdc86, 0x0000, 0x0000,\r
+  0x0078, 0x0000, 0x0000, 0x2245, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x3ea8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x6a6a, 0x5ce5, 0x0000, 0x0624, 0x0000, 0x6de6, 0x0000, 0x0000,\r
+  0x05e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c24,\r
+  0x0000, 0x9646, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x05e9, 0x2205, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6f69, 0xeee7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f24, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32e4,\r
+  0x0000, 0x16e7, 0x0000, 0x0000, 0x3d4d, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x046b, 0x5b66, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6664, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x47e4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x05b1, 0x6647, 0x0000, 0x0000, 0x09ab, 0x1bc6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x6a2c, 0xeb06, 0x0000, 0x0000, 0x0000, 0x4f26,\r
+  0x0000, 0xa386, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0aca, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6624, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e45, 0x0000, 0x0000,\r
+  0x0000, 0x7246, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x6c2a, 0x0000, 0x0000, 0x3544,\r
+  0x31e8, 0x0746, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4349, 0x0cc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x6d87, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x1169, 0x46c5, 0x0000, 0x07e7,\r
+  0x0192, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0068, 0x0e46,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x4808, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x74a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5686, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5e0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x2ee4, 0x0000, 0x7e66, 0x0000, 0x0000,\r
+  0x0c09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x128d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a28, 0x0707,\r
+  0x534a, 0x0000, 0x1ec8, 0x3145, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x36a9, 0x0000, 0x0000, 0x0000,\r
+  0x3f4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x7d66, 0x0000, 0x9167,\r
+  0x0000, 0x2904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x7d08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5d08, 0x0ca4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ac5,\r
+  0x0000, 0x0000, 0x160a, 0x0000, 0x124c, 0x0126, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x68e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x1bec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x1ed2, 0xf166, 0x03ab, 0x0000, 0x0000, 0xdd67,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69c6, 0x00ca, 0x13a5,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x6d65, 0x0000, 0x0000, 0x3ba9, 0x60a5, 0x162c, 0x4fe4,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xda66,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x13cd, 0x6d26, 0x0000, 0x5264,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x30e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x5388, 0x6e64, 0x0000, 0x09c6, 0x4e8c, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0xb686, 0x0000, 0x7846, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x3985, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x044b, 0x18e4, 0x0000, 0x0000, 0x0000, 0x3086, 0x3b4e, 0x0000,\r
+  0x21eb, 0x0000, 0x29a9, 0x4c06, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0636, 0x0000, 0x7b8c, 0x0000, 0x5868, 0x4d26,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e86,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc5e6, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x23ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b07,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x406a, 0xd5a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3289, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e84,\r
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0885, 0x1b0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x3d08, 0x2c26, 0x0000, 0x0000, 0x1629, 0x1d87,\r
+  0x0000, 0x0000, 0x394c, 0x3d44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+  0x0000, 0x0000, 0x5e8c, 0xbc06, 0x0000, 0x5ea6, 0x0000, 0xd8e7,\r
+  0x0000, 0x0000, 0x0d88, 0x4ac5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+};\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_DICTIONARY_HASH_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/encode.c b/BaseTools/Source/C/BrotliCompress/enc/encode.c
new file mode 100644 (file)
index 0000000..ce18d82
--- /dev/null
@@ -0,0 +1,1562 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Implementation of Brotli compressor. */\r
+\r
+#include "./encode.h"\r
+\r
+#include <stdlib.h>  /* free, malloc */\r
+#include <string.h>  /* memcpy, memset */\r
+\r
+#include "./backward_references.h"\r
+#include "./bit_cost.h"\r
+#include "./brotli_bit_stream.h"\r
+#include "./compress_fragment.h"\r
+#include "./compress_fragment_two_pass.h"\r
+#include "./context.h"\r
+#include "./entropy_encode.h"\r
+#include "./fast_log.h"\r
+#include "./hash.h"\r
+#include "./histogram.h"\r
+#include "./memory.h"\r
+#include "./metablock.h"\r
+#include "./port.h"\r
+#include "./prefix.h"\r
+#include "./quality.h"\r
+#include "./ringbuffer.h"\r
+#include "./utf8_util.h"\r
+#include "./write_bits.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define COPY_ARRAY(dst, src) memcpy(dst, src, sizeof(src));\r
+\r
+typedef enum BrotliEncoderStreamState {\r
+  /* Default state. */\r
+  BROTLI_STREAM_PROCESSING = 0,\r
+  /* Intermediate state; after next block is emitted, byte-padding should be\r
+     performed before getting back to default state. */\r
+  BROTLI_STREAM_FLUSH_REQUESTED = 1,\r
+  /* Last metablock was produced; no more input is acceptable. */\r
+  BROTLI_STREAM_FINISHED = 2\r
+} BrotliEncoderStreamState;\r
+\r
+typedef struct BrotliEncoderStateStruct {\r
+  BrotliEncoderParams params;\r
+\r
+  MemoryManager memory_manager_;\r
+\r
+  Hashers hashers_;\r
+  uint64_t input_pos_;\r
+  RingBuffer ringbuffer_;\r
+  size_t cmd_alloc_size_;\r
+  Command* commands_;\r
+  size_t num_commands_;\r
+  size_t num_literals_;\r
+  size_t last_insert_len_;\r
+  uint64_t last_flush_pos_;\r
+  uint64_t last_processed_pos_;\r
+  int dist_cache_[4];\r
+  int saved_dist_cache_[4];\r
+  uint8_t last_byte_;\r
+  uint8_t last_byte_bits_;\r
+  uint8_t prev_byte_;\r
+  uint8_t prev_byte2_;\r
+  size_t storage_size_;\r
+  uint8_t* storage_;\r
+  /* Hash table for FAST_ONE_PASS_COMPRESSION_QUALITY mode. */\r
+  int small_table_[1 << 10];  /* 4KiB */\r
+  int* large_table_;          /* Allocated only when needed */\r
+  size_t large_table_size_;\r
+  /* Command and distance prefix codes (each 64 symbols, stored back-to-back)\r
+     used for the next block in FAST_ONE_PASS_COMPRESSION_QUALITY. The command\r
+     prefix code is over a smaller alphabet with the following 64 symbols:\r
+        0 - 15: insert length code 0, copy length code 0 - 15, same distance\r
+       16 - 39: insert length code 0, copy length code 0 - 23\r
+       40 - 63: insert length code 0 - 23, copy length code 0\r
+     Note that symbols 16 and 40 represent the same code in the full alphabet,\r
+     but we do not use either of them in FAST_ONE_PASS_COMPRESSION_QUALITY. */\r
+  uint8_t cmd_depths_[128];\r
+  uint16_t cmd_bits_[128];\r
+  /* The compressed form of the command and distance prefix codes for the next\r
+     block in FAST_ONE_PASS_COMPRESSION_QUALITY. */\r
+  uint8_t cmd_code_[512];\r
+  size_t cmd_code_numbits_;\r
+  /* Command and literal buffers for FAST_TWO_PASS_COMPRESSION_QUALITY. */\r
+  uint32_t* command_buf_;\r
+  uint8_t* literal_buf_;\r
+\r
+  uint8_t* next_out_;\r
+  size_t available_out_;\r
+  size_t total_out_;\r
+  uint8_t flush_buf_[2];\r
+  BrotliEncoderStreamState stream_state_;\r
+\r
+  BROTLI_BOOL is_last_block_emitted_;\r
+  BROTLI_BOOL is_initialized_;\r
+} BrotliEncoderStateStruct;\r
+\r
+static BROTLI_BOOL EnsureInitialized(BrotliEncoderState* s);\r
+\r
+size_t BrotliEncoderInputBlockSize(BrotliEncoderState* s) {\r
+  if (!EnsureInitialized(s)) return 0;\r
+  return (size_t)1 << s->params.lgblock;\r
+}\r
+\r
+static uint64_t UnprocessedInputSize(BrotliEncoderState* s) {\r
+  return s->input_pos_ - s->last_processed_pos_;\r
+}\r
+\r
+static size_t RemainingInputBlockSize(BrotliEncoderState* s) {\r
+  const uint64_t delta = UnprocessedInputSize(s);\r
+  size_t block_size = BrotliEncoderInputBlockSize(s);\r
+  if (delta >= block_size) return 0;\r
+  return block_size - (size_t)delta;\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderSetParameter(\r
+    BrotliEncoderState* state, BrotliEncoderParameter p, uint32_t value) {\r
+  /* Changing parameters on the fly is not implemented yet. */\r
+  if (state->is_initialized_) return BROTLI_FALSE;\r
+  /* TODO: Validate/clamp params here. */\r
+  switch (p) {\r
+    case BROTLI_PARAM_MODE:\r
+      state->params.mode = (BrotliEncoderMode)value;\r
+      return BROTLI_TRUE;\r
+\r
+    case BROTLI_PARAM_QUALITY:\r
+      state->params.quality = (int)value;\r
+      return BROTLI_TRUE;\r
+\r
+    case BROTLI_PARAM_LGWIN:\r
+      state->params.lgwin = (int)value;\r
+      return BROTLI_TRUE;\r
+\r
+    case BROTLI_PARAM_LGBLOCK:\r
+      state->params.lgblock = (int)value;\r
+      return BROTLI_TRUE;\r
+\r
+    default: return BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void RecomputeDistancePrefixes(Command* cmds,\r
+                                      size_t num_commands,\r
+                                      uint32_t num_direct_distance_codes,\r
+                                      uint32_t distance_postfix_bits) {\r
+  size_t i;\r
+  if (num_direct_distance_codes == 0 && distance_postfix_bits == 0) {\r
+    return;\r
+  }\r
+  for (i = 0; i < num_commands; ++i) {\r
+    Command* cmd = &cmds[i];\r
+    if (CommandCopyLen(cmd) && cmd->cmd_prefix_ >= 128) {\r
+      PrefixEncodeCopyDistance(CommandDistanceCode(cmd),\r
+                               num_direct_distance_codes,\r
+                               distance_postfix_bits,\r
+                               &cmd->dist_prefix_,\r
+                               &cmd->dist_extra_);\r
+    }\r
+  }\r
+}\r
+\r
+/* Wraps 64-bit input position to 32-bit ringbuffer position preserving\r
+   "not-a-first-lap" feature. */\r
+static uint32_t WrapPosition(uint64_t position) {\r
+  uint32_t result = (uint32_t)position;\r
+  uint64_t gb = position >> 30;\r
+  if (gb > 2) {\r
+    /* Wrap every 2GiB; The first 3GB are continous. */\r
+    result = (result & ((1u << 30) - 1)) | ((uint32_t)((gb - 1) & 1) + 1) << 30;\r
+  }\r
+  return result;\r
+}\r
+\r
+static uint8_t* GetBrotliStorage(BrotliEncoderState* s, size_t size) {\r
+  MemoryManager* m = &s->memory_manager_;\r
+  if (s->storage_size_ < size) {\r
+    BROTLI_FREE(m, s->storage_);\r
+    s->storage_ = BROTLI_ALLOC(m, uint8_t, size);\r
+    if (BROTLI_IS_OOM(m)) return NULL;\r
+    s->storage_size_ = size;\r
+  }\r
+  return s->storage_;\r
+}\r
+\r
+static size_t HashTableSize(size_t max_table_size, size_t input_size) {\r
+  size_t htsize = 256;\r
+  while (htsize < max_table_size && htsize < input_size) {\r
+    htsize <<= 1;\r
+  }\r
+  return htsize;\r
+}\r
+\r
+static int* GetHashTable(BrotliEncoderState* s, int quality,\r
+                         size_t input_size, size_t* table_size) {\r
+  /* Use smaller hash table when input.size() is smaller, since we\r
+     fill the table, incurring O(hash table size) overhead for\r
+     compression, and if the input is short, we won't need that\r
+     many hash table entries anyway. */\r
+  MemoryManager* m = &s->memory_manager_;\r
+  const size_t max_table_size = MaxHashTableSize(quality);\r
+  size_t htsize = HashTableSize(max_table_size, input_size);\r
+  int* table;\r
+  assert(max_table_size >= 256);\r
+\r
+  if (htsize <= sizeof(s->small_table_) / sizeof(s->small_table_[0])) {\r
+    table = s->small_table_;\r
+  } else {\r
+    if (htsize > s->large_table_size_) {\r
+      s->large_table_size_ = htsize;\r
+      BROTLI_FREE(m, s->large_table_);\r
+      s->large_table_ = BROTLI_ALLOC(m, int, htsize);\r
+      if (BROTLI_IS_OOM(m)) return 0;\r
+    }\r
+    table = s->large_table_;\r
+  }\r
+\r
+  *table_size = htsize;\r
+  memset(table, 0, htsize * sizeof(*table));\r
+  return table;\r
+}\r
+\r
+static void EncodeWindowBits(int lgwin, uint8_t* last_byte,\r
+    uint8_t* last_byte_bits) {\r
+  if (lgwin == 16) {\r
+    *last_byte = 0;\r
+    *last_byte_bits = 1;\r
+  } else if (lgwin == 17) {\r
+    *last_byte = 1;\r
+    *last_byte_bits = 7;\r
+  } else if (lgwin > 17) {\r
+    *last_byte = (uint8_t)(((lgwin - 17) << 1) | 1);\r
+    *last_byte_bits = 4;\r
+  } else {\r
+    *last_byte = (uint8_t)(((lgwin - 8) << 4) | 1);\r
+    *last_byte_bits = 7;\r
+  }\r
+}\r
+\r
+/* Initializes the command and distance prefix codes for the first block. */\r
+static void InitCommandPrefixCodes(uint8_t cmd_depths[128],\r
+                                   uint16_t cmd_bits[128],\r
+                                   uint8_t cmd_code[512],\r
+                                   size_t* cmd_code_numbits) {\r
+  static const uint8_t kDefaultCommandDepths[128] = {\r
+    0, 4, 4, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,\r
+    0, 0, 0, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7,\r
+    7, 7, 10, 10, 10, 10, 10, 10, 0, 4, 4, 5, 5, 5, 6, 6,\r
+    7, 8, 8, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\r
+    5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4,\r
+    4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 10,\r
+    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\r
+  };\r
+  static const uint16_t kDefaultCommandBits[128] = {\r
+    0,   0,   8,   9,   3,  35,   7,   71,\r
+    39, 103,  23,  47, 175, 111, 239,   31,\r
+    0,   0,   0,   4,  12,   2,  10,    6,\r
+    13,  29,  11,  43,  27,  59,  87,   55,\r
+    15,  79, 319, 831, 191, 703, 447,  959,\r
+    0,  14,   1,  25,   5,  21,  19,   51,\r
+    119, 159,  95, 223, 479, 991,  63,  575,\r
+    127, 639, 383, 895, 255, 767, 511, 1023,\r
+    14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    27, 59, 7, 39, 23, 55, 30, 1, 17, 9, 25, 5, 0, 8, 4, 12,\r
+    2, 10, 6, 21, 13, 29, 3, 19, 11, 15, 47, 31, 95, 63, 127, 255,\r
+    767, 2815, 1791, 3839, 511, 2559, 1535, 3583, 1023, 3071, 2047, 4095,\r
+  };\r
+  static const uint8_t kDefaultCommandCode[] = {\r
+    0xff, 0x77, 0xd5, 0xbf, 0xe7, 0xde, 0xea, 0x9e, 0x51, 0x5d, 0xde, 0xc6,\r
+    0x70, 0x57, 0xbc, 0x58, 0x58, 0x58, 0xd8, 0xd8, 0x58, 0xd5, 0xcb, 0x8c,\r
+    0xea, 0xe0, 0xc3, 0x87, 0x1f, 0x83, 0xc1, 0x60, 0x1c, 0x67, 0xb2, 0xaa,\r
+    0x06, 0x83, 0xc1, 0x60, 0x30, 0x18, 0xcc, 0xa1, 0xce, 0x88, 0x54, 0x94,\r
+    0x46, 0xe1, 0xb0, 0xd0, 0x4e, 0xb2, 0xf7, 0x04, 0x00,\r
+  };\r
+  static const size_t kDefaultCommandCodeNumBits = 448;\r
+  COPY_ARRAY(cmd_depths, kDefaultCommandDepths);\r
+  COPY_ARRAY(cmd_bits, kDefaultCommandBits);\r
+\r
+  /* Initialize the pre-compressed form of the command and distance prefix\r
+     codes. */\r
+  COPY_ARRAY(cmd_code, kDefaultCommandCode);\r
+  *cmd_code_numbits = kDefaultCommandCodeNumBits;\r
+}\r
+\r
+/* Decide about the context map based on the ability of the prediction\r
+   ability of the previous byte UTF8-prefix on the next byte. The\r
+   prediction ability is calculated as shannon entropy. Here we need\r
+   shannon entropy instead of 'BitsEntropy' since the prefix will be\r
+   encoded with the remaining 6 bits of the following byte, and\r
+   BitsEntropy will assume that symbol to be stored alone using Huffman\r
+   coding. */\r
+static void ChooseContextMap(int quality,\r
+                             uint32_t* bigram_histo,\r
+                             size_t* num_literal_contexts,\r
+                             const uint32_t** literal_context_map) {\r
+  static const uint32_t kStaticContextMapContinuation[64] = {\r
+    1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  };\r
+  static const uint32_t kStaticContextMapSimpleUTF8[64] = {\r
+    0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\r
+  };\r
+\r
+  uint32_t monogram_histo[3] = { 0 };\r
+  uint32_t two_prefix_histo[6] = { 0 };\r
+  size_t total = 0;\r
+  size_t i;\r
+  size_t dummy;\r
+  double entropy[4];\r
+  for (i = 0; i < 9; ++i) {\r
+    size_t j = i;\r
+    total += bigram_histo[i];\r
+    monogram_histo[i % 3] += bigram_histo[i];\r
+    if (j >= 6) {\r
+      j -= 6;\r
+    }\r
+    two_prefix_histo[j] += bigram_histo[i];\r
+  }\r
+  entropy[1] = ShannonEntropy(monogram_histo, 3, &dummy);\r
+  entropy[2] = (ShannonEntropy(two_prefix_histo, 3, &dummy) +\r
+                ShannonEntropy(two_prefix_histo + 3, 3, &dummy));\r
+  entropy[3] = 0;\r
+  for (i = 0; i < 3; ++i) {\r
+    entropy[3] += ShannonEntropy(bigram_histo + 3 * i, 3, &dummy);\r
+  }\r
+\r
+  assert(total != 0);\r
+  entropy[0] = 1.0 / (double)total;\r
+  entropy[1] *= entropy[0];\r
+  entropy[2] *= entropy[0];\r
+  entropy[3] *= entropy[0];\r
+\r
+  if (quality < MIN_QUALITY_FOR_HQ_CONTEXT_MODELING) {\r
+    /* 3 context models is a bit slower, don't use it at lower qualities. */\r
+    entropy[3] = entropy[1] * 10;\r
+  }\r
+  /* If expected savings by symbol are less than 0.2 bits, skip the\r
+     context modeling -- in exchange for faster decoding speed. */\r
+  if (entropy[1] - entropy[2] < 0.2 &&\r
+      entropy[1] - entropy[3] < 0.2) {\r
+    *num_literal_contexts = 1;\r
+  } else if (entropy[2] - entropy[3] < 0.02) {\r
+    *num_literal_contexts = 2;\r
+    *literal_context_map = kStaticContextMapSimpleUTF8;\r
+  } else {\r
+    *num_literal_contexts = 3;\r
+    *literal_context_map = kStaticContextMapContinuation;\r
+  }\r
+}\r
+\r
+static void DecideOverLiteralContextModeling(const uint8_t* input,\r
+    size_t start_pos, size_t length, size_t mask, int quality,\r
+    ContextType* literal_context_mode, size_t* num_literal_contexts,\r
+    const uint32_t** literal_context_map) {\r
+  if (quality < MIN_QUALITY_FOR_CONTEXT_MODELING || length < 64) {\r
+    return;\r
+  } else {\r
+    /* Gather bigram data of the UTF8 byte prefixes. To make the analysis of\r
+       UTF8 data faster we only examine 64 byte long strides at every 4kB\r
+       intervals. */\r
+    const size_t end_pos = start_pos + length;\r
+    uint32_t bigram_prefix_histo[9] = { 0 };\r
+    for (; start_pos + 64 <= end_pos; start_pos += 4096) {\r
+      static const int lut[4] = { 0, 0, 1, 2 };\r
+      const size_t stride_end_pos = start_pos + 64;\r
+      int prev = lut[input[start_pos & mask] >> 6] * 3;\r
+      size_t pos;\r
+      for (pos = start_pos + 1; pos < stride_end_pos; ++pos) {\r
+        const uint8_t literal = input[pos & mask];\r
+        ++bigram_prefix_histo[prev + lut[literal >> 6]];\r
+        prev = lut[literal >> 6] * 3;\r
+      }\r
+    }\r
+    *literal_context_mode = CONTEXT_UTF8;\r
+    ChooseContextMap(quality, &bigram_prefix_histo[0], num_literal_contexts,\r
+                     literal_context_map);\r
+  }\r
+}\r
+\r
+static BROTLI_BOOL ShouldCompress(\r
+    const uint8_t* data, const size_t mask, const uint64_t last_flush_pos,\r
+    const size_t bytes, const size_t num_literals, const size_t num_commands) {\r
+  if (num_commands < (bytes >> 8) + 2) {\r
+    if (num_literals > 0.99 * (double)bytes) {\r
+      uint32_t literal_histo[256] = { 0 };\r
+      static const uint32_t kSampleRate = 13;\r
+      static const double kMinEntropy = 7.92;\r
+      const double bit_cost_threshold =\r
+          (double)bytes * kMinEntropy / kSampleRate;\r
+      size_t t = (bytes + kSampleRate - 1) / kSampleRate;\r
+      uint32_t pos = (uint32_t)last_flush_pos;\r
+      size_t i;\r
+      for (i = 0; i < t; i++) {\r
+        ++literal_histo[data[pos & mask]];\r
+        pos += kSampleRate;\r
+      }\r
+      if (BitsEntropy(literal_histo, 256) > bit_cost_threshold) {\r
+        return BROTLI_FALSE;\r
+      }\r
+    }\r
+  }\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static void WriteMetaBlockInternal(MemoryManager* m,\r
+                                   const uint8_t* data,\r
+                                   const size_t mask,\r
+                                   const uint64_t last_flush_pos,\r
+                                   const size_t bytes,\r
+                                   const BROTLI_BOOL is_last,\r
+                                   const BrotliEncoderParams* params,\r
+                                   const uint8_t prev_byte,\r
+                                   const uint8_t prev_byte2,\r
+                                   const size_t num_literals,\r
+                                   const size_t num_commands,\r
+                                   Command* commands,\r
+                                   const int* saved_dist_cache,\r
+                                   int* dist_cache,\r
+                                   size_t* storage_ix,\r
+                                   uint8_t* storage) {\r
+  const uint32_t wrapped_last_flush_pos = WrapPosition(last_flush_pos);\r
+  uint8_t last_byte;\r
+  uint8_t last_byte_bits;\r
+  uint32_t num_direct_distance_codes = 0;\r
+  uint32_t distance_postfix_bits = 0;\r
+\r
+  if (bytes == 0) {\r
+    /* Write the ISLAST and ISEMPTY bits. */\r
+    BrotliWriteBits(2, 3, storage_ix, storage);\r
+    *storage_ix = (*storage_ix + 7u) & ~7u;\r
+    return;\r
+  }\r
+\r
+  if (!ShouldCompress(data, mask, last_flush_pos, bytes,\r
+                      num_literals, num_commands)) {\r
+    /* Restore the distance cache, as its last update by\r
+       CreateBackwardReferences is now unused. */\r
+    memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0]));\r
+    BrotliStoreUncompressedMetaBlock(is_last, data,\r
+                                     wrapped_last_flush_pos, mask, bytes,\r
+                                     storage_ix, storage);\r
+    return;\r
+  }\r
+\r
+  last_byte = storage[0];\r
+  last_byte_bits = (uint8_t)(*storage_ix & 0xff);\r
+  if (params->quality >= MIN_QUALITY_FOR_RECOMPUTE_DISTANCE_PREFIXES &&\r
+      params->mode == BROTLI_MODE_FONT) {\r
+    num_direct_distance_codes = 12;\r
+    distance_postfix_bits = 1;\r
+    RecomputeDistancePrefixes(commands,\r
+                              num_commands,\r
+                              num_direct_distance_codes,\r
+                              distance_postfix_bits);\r
+  }\r
+  if (params->quality <= MAX_QUALITY_FOR_STATIC_ENRTOPY_CODES) {\r
+    BrotliStoreMetaBlockFast(m, data, wrapped_last_flush_pos,\r
+                             bytes, mask, is_last,\r
+                             commands, num_commands,\r
+                             storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+  } else if (params->quality < MIN_QUALITY_FOR_BLOCK_SPLIT) {\r
+    BrotliStoreMetaBlockTrivial(m, data, wrapped_last_flush_pos,\r
+                                bytes, mask, is_last,\r
+                                commands, num_commands,\r
+                                storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+  } else {\r
+    ContextType literal_context_mode = CONTEXT_UTF8;\r
+    MetaBlockSplit mb;\r
+    InitMetaBlockSplit(&mb);\r
+    if (params->quality < MIN_QUALITY_FOR_HQ_BLOCK_SPLITTING) {\r
+      size_t num_literal_contexts = 1;\r
+      const uint32_t* literal_context_map = NULL;\r
+      DecideOverLiteralContextModeling(data, wrapped_last_flush_pos,\r
+                                       bytes, mask,\r
+                                       params->quality,\r
+                                       &literal_context_mode,\r
+                                       &num_literal_contexts,\r
+                                       &literal_context_map);\r
+      if (literal_context_map == NULL) {\r
+        BrotliBuildMetaBlockGreedy(m, data, wrapped_last_flush_pos, mask,\r
+                                   commands, num_commands, &mb);\r
+        if (BROTLI_IS_OOM(m)) return;\r
+      } else {\r
+        BrotliBuildMetaBlockGreedyWithContexts(m, data,\r
+                                               wrapped_last_flush_pos,\r
+                                               mask,\r
+                                               prev_byte, prev_byte2,\r
+                                               literal_context_mode,\r
+                                               num_literal_contexts,\r
+                                               literal_context_map,\r
+                                               commands, num_commands,\r
+                                               &mb);\r
+        if (BROTLI_IS_OOM(m)) return;\r
+      }\r
+    } else {\r
+      if (!BrotliIsMostlyUTF8(data, wrapped_last_flush_pos, mask, bytes,\r
+                              kMinUTF8Ratio)) {\r
+        literal_context_mode = CONTEXT_SIGNED;\r
+      }\r
+      BrotliBuildMetaBlock(m, data, wrapped_last_flush_pos, mask, params,\r
+                           prev_byte, prev_byte2,\r
+                           commands, num_commands,\r
+                           literal_context_mode,\r
+                           &mb);\r
+      if (BROTLI_IS_OOM(m)) return;\r
+    }\r
+    if (params->quality >= MIN_QUALITY_FOR_OPTIMIZE_HISTOGRAMS) {\r
+      BrotliOptimizeHistograms(num_direct_distance_codes,\r
+                               distance_postfix_bits,\r
+                               &mb);\r
+    }\r
+    BrotliStoreMetaBlock(m, data, wrapped_last_flush_pos, bytes, mask,\r
+                         prev_byte, prev_byte2,\r
+                         is_last,\r
+                         num_direct_distance_codes,\r
+                         distance_postfix_bits,\r
+                         literal_context_mode,\r
+                         commands, num_commands,\r
+                         &mb,\r
+                         storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    DestroyMetaBlockSplit(m, &mb);\r
+  }\r
+  if (bytes + 4 < (*storage_ix >> 3)) {\r
+    /* Restore the distance cache and last byte. */\r
+    memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0]));\r
+    storage[0] = last_byte;\r
+    *storage_ix = last_byte_bits;\r
+    BrotliStoreUncompressedMetaBlock(is_last, data,\r
+                                     wrapped_last_flush_pos, mask,\r
+                                     bytes, storage_ix, storage);\r
+  }\r
+}\r
+\r
+static BROTLI_BOOL EnsureInitialized(BrotliEncoderState* s) {\r
+  if (BROTLI_IS_OOM(&s->memory_manager_)) return BROTLI_FALSE;\r
+  if (s->is_initialized_) return BROTLI_TRUE;\r
+\r
+  SanitizeParams(&s->params);\r
+  s->params.lgblock = ComputeLgBlock(&s->params);\r
+\r
+  RingBufferSetup(&s->params, &s->ringbuffer_);\r
+\r
+  /* Initialize last byte with stream header. */\r
+  EncodeWindowBits(s->params.lgwin, &s->last_byte_, &s->last_byte_bits_);\r
+\r
+  if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY) {\r
+    InitCommandPrefixCodes(s->cmd_depths_, s->cmd_bits_,\r
+                           s->cmd_code_, &s->cmd_code_numbits_);\r
+  }\r
+\r
+  /* Initialize hashers. */\r
+  HashersSetup(&s->memory_manager_, &s->hashers_, ChooseHasher(&s->params));\r
+  if (BROTLI_IS_OOM(&s->memory_manager_)) return BROTLI_FALSE;\r
+\r
+  s->is_initialized_ = BROTLI_TRUE;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static void BrotliEncoderInitState(BrotliEncoderState* s) {\r
+  s->params.mode = BROTLI_DEFAULT_MODE;\r
+  s->params.quality = BROTLI_DEFAULT_QUALITY;\r
+  s->params.lgwin = BROTLI_DEFAULT_WINDOW;\r
+  s->params.lgblock = 0;\r
+\r
+  s->input_pos_ = 0;\r
+  s->num_commands_ = 0;\r
+  s->num_literals_ = 0;\r
+  s->last_insert_len_ = 0;\r
+  s->last_flush_pos_ = 0;\r
+  s->last_processed_pos_ = 0;\r
+  s->prev_byte_ = 0;\r
+  s->prev_byte2_ = 0;\r
+  s->storage_size_ = 0;\r
+  s->storage_ = 0;\r
+  s->large_table_ = NULL;\r
+  s->large_table_size_ = 0;\r
+  s->cmd_code_numbits_ = 0;\r
+  s->command_buf_ = NULL;\r
+  s->literal_buf_ = NULL;\r
+  s->next_out_ = NULL;\r
+  s->available_out_ = 0;\r
+  s->total_out_ = 0;\r
+  s->stream_state_ = BROTLI_STREAM_PROCESSING;\r
+  s->is_last_block_emitted_ = BROTLI_FALSE;\r
+  s->is_initialized_ = BROTLI_FALSE;\r
+\r
+  InitHashers(&s->hashers_);\r
+\r
+  RingBufferInit(&s->ringbuffer_);\r
+\r
+  s->commands_ = 0;\r
+  s->cmd_alloc_size_ = 0;\r
+\r
+  /* Initialize distance cache. */\r
+  s->dist_cache_[0] = 4;\r
+  s->dist_cache_[1] = 11;\r
+  s->dist_cache_[2] = 15;\r
+  s->dist_cache_[3] = 16;\r
+  /* Save the state of the distance cache in case we need to restore it for\r
+     emitting an uncompressed block. */\r
+  memcpy(s->saved_dist_cache_, s->dist_cache_, sizeof(s->dist_cache_));\r
+}\r
+\r
+BrotliEncoderState* BrotliEncoderCreateInstance(brotli_alloc_func alloc_func,\r
+                                                brotli_free_func free_func,\r
+                                                void* opaque) {\r
+  BrotliEncoderState* state = 0;\r
+  if (!alloc_func && !free_func) {\r
+    state = (BrotliEncoderState*)malloc(sizeof(BrotliEncoderState));\r
+  } else if (alloc_func && free_func) {\r
+    state = (BrotliEncoderState*)alloc_func(opaque, sizeof(BrotliEncoderState));\r
+  }\r
+  if (state == 0) {\r
+    /* BROTLI_DUMP(); */\r
+    return 0;\r
+  }\r
+  BrotliInitMemoryManager(\r
+      &state->memory_manager_, alloc_func, free_func, opaque);\r
+  BrotliEncoderInitState(state);\r
+  return state;\r
+}\r
+\r
+static void BrotliEncoderCleanupState(BrotliEncoderState* s) {\r
+  MemoryManager* m = &s->memory_manager_;\r
+  if (BROTLI_IS_OOM(m)) {\r
+    BrotliWipeOutMemoryManager(m);\r
+    return;\r
+  }\r
+  BROTLI_FREE(m, s->storage_);\r
+  BROTLI_FREE(m, s->commands_);\r
+  RingBufferFree(m, &s->ringbuffer_);\r
+  DestroyHashers(m, &s->hashers_);\r
+  BROTLI_FREE(m, s->large_table_);\r
+  BROTLI_FREE(m, s->command_buf_);\r
+  BROTLI_FREE(m, s->literal_buf_);\r
+}\r
+\r
+/* Deinitializes and frees BrotliEncoderState instance. */\r
+void BrotliEncoderDestroyInstance(BrotliEncoderState* state) {\r
+  if (!state) {\r
+    return;\r
+  } else {\r
+    MemoryManager* m = &state->memory_manager_;\r
+    brotli_free_func free_func = m->free_func;\r
+    void* opaque = m->opaque;\r
+    BrotliEncoderCleanupState(state);\r
+    free_func(opaque, state);\r
+  }\r
+}\r
+\r
+void BrotliEncoderCopyInputToRingBuffer(BrotliEncoderState* s,\r
+                                        const size_t input_size,\r
+                                        const uint8_t* input_buffer) {\r
+  RingBuffer* ringbuffer_ = &s->ringbuffer_;\r
+  MemoryManager* m = &s->memory_manager_;\r
+  if (!EnsureInitialized(s)) return;\r
+  RingBufferWrite(m, input_buffer, input_size, ringbuffer_);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  s->input_pos_ += input_size;\r
+\r
+  /* TL;DR: If needed, initialize 7 more bytes in the ring buffer to make the\r
+     hashing not depend on uninitialized data. This makes compression\r
+     deterministic and it prevents uninitialized memory warnings in Valgrind.\r
+     Even without erasing, the output would be valid (but nondeterministic).\r
+\r
+     Background information: The compressor stores short (at most 8 bytes)\r
+     substrings of the input already read in a hash table, and detects\r
+     repetitions by looking up such substrings in the hash table. If it\r
+     can find a substring, it checks whether the substring is really there\r
+     in the ring buffer (or it's just a hash collision). Should the hash\r
+     table become corrupt, this check makes sure that the output is\r
+     still valid, albeit the compression ratio would be bad.\r
+\r
+     The compressor populates the hash table from the ring buffer as it's\r
+     reading new bytes from the input. However, at the last few indexes of\r
+     the ring buffer, there are not enough bytes to build full-length\r
+     substrings from. Since the hash table always contains full-length\r
+     substrings, we erase with dummy 0s here to make sure that those\r
+     substrings will contain 0s at the end instead of uninitialized\r
+     data.\r
+\r
+     Please note that erasing is not necessary (because the\r
+     memory region is already initialized since he ring buffer\r
+     has a `tail' that holds a copy of the beginning,) so we\r
+     skip erasing if we have already gone around at least once in\r
+     the ring buffer.\r
+\r
+     Only clear during the first round of ringbuffer writes. On\r
+     subsequent rounds data in the ringbuffer would be affected. */\r
+  if (ringbuffer_->pos_ <= ringbuffer_->mask_) {\r
+    /* This is the first time when the ring buffer is being written.\r
+       We clear 7 bytes just after the bytes that have been copied from\r
+       the input buffer.\r
+\r
+       The ringbuffer has a "tail" that holds a copy of the beginning,\r
+       but only once the ring buffer has been fully written once, i.e.,\r
+       pos <= mask. For the first time, we need to write values\r
+       in this tail (where index may be larger than mask), so that\r
+       we have exactly defined behavior and don't read un-initialized\r
+       memory. Due to performance reasons, hashing reads data using a\r
+       LOAD64, which can go 7 bytes beyond the bytes written in the\r
+       ringbuffer. */\r
+    memset(ringbuffer_->buffer_ + ringbuffer_->pos_, 0, 7);\r
+  }\r
+}\r
+\r
+void BrotliEncoderSetCustomDictionary(BrotliEncoderState* s, size_t size,\r
+                                      const uint8_t* dict) {\r
+  size_t max_dict_size = MaxBackwardLimit(s->params.lgwin);\r
+  size_t dict_size = size;\r
+  MemoryManager* m = &s->memory_manager_;\r
+\r
+  if (!EnsureInitialized(s)) return;\r
+\r
+  if (dict_size == 0 ||\r
+      s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY ||\r
+      s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) {\r
+    return;\r
+  }\r
+  if (size > max_dict_size) {\r
+    dict += size - max_dict_size;\r
+    dict_size = max_dict_size;\r
+  }\r
+  BrotliEncoderCopyInputToRingBuffer(s, dict_size, dict);\r
+  s->last_flush_pos_ = dict_size;\r
+  s->last_processed_pos_ = dict_size;\r
+  if (dict_size > 0) {\r
+    s->prev_byte_ = dict[dict_size - 1];\r
+  }\r
+  if (dict_size > 1) {\r
+    s->prev_byte2_ = dict[dict_size - 2];\r
+  }\r
+  HashersPrependCustomDictionary(m, &s->hashers_, &s->params, dict_size, dict);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+}\r
+\r
+/* Marks all input as processed.\r
+   Returns true if position wrapping occurs. */\r
+static BROTLI_BOOL UpdateLastProcessedPos(BrotliEncoderState* s) {\r
+  uint32_t wrapped_last_processed_pos = WrapPosition(s->last_processed_pos_);\r
+  uint32_t wrapped_input_pos = WrapPosition(s->input_pos_);\r
+  s->last_processed_pos_ = s->input_pos_;\r
+  return TO_BROTLI_BOOL(wrapped_input_pos < wrapped_last_processed_pos);\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderWriteData(\r
+    BrotliEncoderState* s, const BROTLI_BOOL is_last,\r
+    const BROTLI_BOOL force_flush, size_t* out_size, uint8_t** output) {\r
+  const uint64_t delta = UnprocessedInputSize(s);\r
+  const uint32_t bytes = (uint32_t)delta;\r
+  const uint32_t wrapped_last_processed_pos =\r
+      WrapPosition(s->last_processed_pos_);\r
+  uint8_t* data;\r
+  uint32_t mask;\r
+  MemoryManager* m = &s->memory_manager_;\r
+\r
+  if (!EnsureInitialized(s)) return BROTLI_FALSE;\r
+  data = s->ringbuffer_.buffer_;\r
+  mask = s->ringbuffer_.mask_;\r
+\r
+  /* Adding more blocks after "last" block is forbidden. */\r
+  if (s->is_last_block_emitted_) return BROTLI_FALSE;\r
+  if (is_last) s->is_last_block_emitted_ = BROTLI_TRUE;\r
+\r
+  if (delta > BrotliEncoderInputBlockSize(s)) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  if (s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY &&\r
+      !s->command_buf_) {\r
+    s->command_buf_ =\r
+        BROTLI_ALLOC(m, uint32_t, kCompressFragmentTwoPassBlockSize);\r
+    s->literal_buf_ =\r
+        BROTLI_ALLOC(m, uint8_t, kCompressFragmentTwoPassBlockSize);\r
+    if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+  }\r
+\r
+  if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY ||\r
+      s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) {\r
+    uint8_t* storage;\r
+    size_t storage_ix = s->last_byte_bits_;\r
+    size_t table_size;\r
+    int* table;\r
+\r
+    if (delta == 0 && !is_last) {\r
+      /* We have no new input data and we don't have to finish the stream, so\r
+         nothing to do. */\r
+      *out_size = 0;\r
+      return BROTLI_TRUE;\r
+    }\r
+    storage = GetBrotliStorage(s, 2 * bytes + 500);\r
+    if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    storage[0] = s->last_byte_;\r
+    table = GetHashTable(s, s->params.quality, bytes, &table_size);\r
+    if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY) {\r
+      BrotliCompressFragmentFast(\r
+          m, &data[wrapped_last_processed_pos & mask],\r
+          bytes, is_last,\r
+          table, table_size,\r
+          s->cmd_depths_, s->cmd_bits_,\r
+          &s->cmd_code_numbits_, s->cmd_code_,\r
+          &storage_ix, storage);\r
+      if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    } else {\r
+      BrotliCompressFragmentTwoPass(\r
+          m, &data[wrapped_last_processed_pos & mask],\r
+          bytes, is_last,\r
+          s->command_buf_, s->literal_buf_,\r
+          table, table_size,\r
+          &storage_ix, storage);\r
+      if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    }\r
+    s->last_byte_ = storage[storage_ix >> 3];\r
+    s->last_byte_bits_ = storage_ix & 7u;\r
+    UpdateLastProcessedPos(s);\r
+    *output = &storage[0];\r
+    *out_size = storage_ix >> 3;\r
+    return BROTLI_TRUE;\r
+  }\r
+\r
+  {\r
+    /* Theoretical max number of commands is 1 per 2 bytes. */\r
+    size_t newsize = s->num_commands_ + bytes / 2 + 1;\r
+    if (newsize > s->cmd_alloc_size_) {\r
+      Command* new_commands;\r
+      /* Reserve a bit more memory to allow merging with a next block\r
+         without realloc: that would impact speed. */\r
+      newsize += (bytes / 4) + 16;\r
+      s->cmd_alloc_size_ = newsize;\r
+      new_commands = BROTLI_ALLOC(m, Command, newsize);\r
+      if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+      if (s->commands_) {\r
+        memcpy(new_commands, s->commands_, sizeof(Command) * s->num_commands_);\r
+        BROTLI_FREE(m, s->commands_);\r
+      }\r
+      s->commands_ = new_commands;\r
+    }\r
+  }\r
+\r
+  BrotliCreateBackwardReferences(m, bytes, wrapped_last_processed_pos,\r
+                                 is_last, data, mask,\r
+                                 &s->params,\r
+                                 &s->hashers_,\r
+                                 s->dist_cache_,\r
+                                 &s->last_insert_len_,\r
+                                 &s->commands_[s->num_commands_],\r
+                                 &s->num_commands_,\r
+                                 &s->num_literals_);\r
+  if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+\r
+  {\r
+    const size_t max_length = MaxMetablockSize(&s->params);\r
+    const size_t max_literals = max_length / 8;\r
+    const size_t max_commands = max_length / 8;\r
+    const size_t processed_bytes = (size_t)(s->input_pos_ - s->last_flush_pos_);\r
+    /* If maximal possible additional block doesn't fit metablock, flush now. */\r
+    /* TODO: Postpone decision until next block arrives? */\r
+    const BROTLI_BOOL next_input_fits_metablock = TO_BROTLI_BOOL(\r
+        processed_bytes + BrotliEncoderInputBlockSize(s) <= max_length);\r
+    /* If block splitting is not used, then flush as soon as there is some\r
+       amount of commands / literals produced. */\r
+    const BROTLI_BOOL should_flush = TO_BROTLI_BOOL(\r
+        s->params.quality < MIN_QUALITY_FOR_BLOCK_SPLIT &&\r
+        s->num_literals_ + s->num_commands_ >= MAX_NUM_DELAYED_SYMBOLS);\r
+    if (!is_last && !force_flush && !should_flush &&\r
+        next_input_fits_metablock &&\r
+        s->num_literals_ < max_literals &&\r
+        s->num_commands_ < max_commands) {\r
+      /* Merge with next input block. Everything will happen later. */\r
+      if (UpdateLastProcessedPos(s)) {\r
+        HashersReset(&s->hashers_, ChooseHasher(&s->params));\r
+      }\r
+      *out_size = 0;\r
+      return BROTLI_TRUE;\r
+    }\r
+  }\r
+\r
+  /* Create the last insert-only command. */\r
+  if (s->last_insert_len_ > 0) {\r
+    InitInsertCommand(&s->commands_[s->num_commands_++], s->last_insert_len_);\r
+    s->num_literals_ += s->last_insert_len_;\r
+    s->last_insert_len_ = 0;\r
+  }\r
+\r
+  if (!is_last && s->input_pos_ == s->last_flush_pos_) {\r
+    /* We have no new input data and we don't have to finish the stream, so\r
+       nothing to do. */\r
+    *out_size = 0;\r
+    return BROTLI_TRUE;\r
+  }\r
+  assert(s->input_pos_ >= s->last_flush_pos_);\r
+  assert(s->input_pos_ > s->last_flush_pos_ || is_last);\r
+  assert(s->input_pos_ - s->last_flush_pos_ <= 1u << 24);\r
+  {\r
+    const uint32_t metablock_size =\r
+        (uint32_t)(s->input_pos_ - s->last_flush_pos_);\r
+    uint8_t* storage = GetBrotliStorage(s, 2 * metablock_size + 500);\r
+    size_t storage_ix = s->last_byte_bits_;\r
+    if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    storage[0] = s->last_byte_;\r
+    WriteMetaBlockInternal(\r
+        m, data, mask, s->last_flush_pos_, metablock_size, is_last,\r
+        &s->params, s->prev_byte_, s->prev_byte2_,\r
+        s->num_literals_, s->num_commands_, s->commands_, s->saved_dist_cache_,\r
+        s->dist_cache_, &storage_ix, storage);\r
+    if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    s->last_byte_ = storage[storage_ix >> 3];\r
+    s->last_byte_bits_ = storage_ix & 7u;\r
+    s->last_flush_pos_ = s->input_pos_;\r
+    if (UpdateLastProcessedPos(s)) {\r
+      HashersReset(&s->hashers_, ChooseHasher(&s->params));\r
+    }\r
+    if (s->last_flush_pos_ > 0) {\r
+      s->prev_byte_ = data[((uint32_t)s->last_flush_pos_ - 1) & mask];\r
+    }\r
+    if (s->last_flush_pos_ > 1) {\r
+      s->prev_byte2_ = data[(uint32_t)(s->last_flush_pos_ - 2) & mask];\r
+    }\r
+    s->num_commands_ = 0;\r
+    s->num_literals_ = 0;\r
+    /* Save the state of the distance cache in case we need to restore it for\r
+       emitting an uncompressed block. */\r
+    memcpy(s->saved_dist_cache_, s->dist_cache_, sizeof(s->dist_cache_));\r
+    *output = &storage[0];\r
+    *out_size = storage_ix >> 3;\r
+    return BROTLI_TRUE;\r
+  }\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderWriteMetaBlock(\r
+    BrotliEncoderState* s, const size_t input_size, const uint8_t* input_buffer,\r
+    const BROTLI_BOOL is_last, size_t* encoded_size, uint8_t* encoded_buffer) {\r
+  size_t out_size = 0;\r
+  uint8_t* output;\r
+  int result;\r
+  if (!EnsureInitialized(s)) return BROTLI_FALSE;\r
+  BrotliEncoderCopyInputToRingBuffer(s, input_size, input_buffer);\r
+  result = BrotliEncoderWriteData(\r
+      s, is_last, /* force_flush */ BROTLI_TRUE, &out_size, &output);\r
+  if (!result || out_size > *encoded_size) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  if (out_size > 0) {\r
+    memcpy(encoded_buffer, output, out_size);\r
+  }\r
+  *encoded_size = out_size;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderWriteMetadata(\r
+    BrotliEncoderState* s, const size_t input_size, const uint8_t* input_buffer,\r
+    const BROTLI_BOOL is_last, size_t* encoded_size, uint8_t* encoded_buffer) {\r
+  uint64_t hdr_buffer_data[2];\r
+  uint8_t* hdr_buffer = (uint8_t*)&hdr_buffer_data[0];\r
+  size_t storage_ix;\r
+  if (!EnsureInitialized(s)) return BROTLI_FALSE;\r
+  if (input_size > (1 << 24) || input_size + 6 > *encoded_size) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  storage_ix = s->last_byte_bits_;\r
+  hdr_buffer[0] = s->last_byte_;\r
+  BrotliWriteBits(1, 0, &storage_ix, hdr_buffer);\r
+  BrotliWriteBits(2, 3, &storage_ix, hdr_buffer);\r
+  BrotliWriteBits(1, 0, &storage_ix, hdr_buffer);\r
+  if (input_size == 0) {\r
+    BrotliWriteBits(2, 0, &storage_ix, hdr_buffer);\r
+    *encoded_size = (storage_ix + 7u) >> 3;\r
+    memcpy(encoded_buffer, hdr_buffer, *encoded_size);\r
+  } else {\r
+    uint32_t nbits = (input_size == 1) ? 0 :\r
+        (Log2FloorNonZero((uint32_t)input_size - 1) + 1);\r
+    uint32_t nbytes = (nbits + 7) / 8;\r
+    size_t hdr_size;\r
+    BrotliWriteBits(2, nbytes, &storage_ix, hdr_buffer);\r
+    BrotliWriteBits(8 * nbytes, input_size - 1, &storage_ix, hdr_buffer);\r
+    hdr_size = (storage_ix + 7u) >> 3;\r
+    memcpy(encoded_buffer, hdr_buffer, hdr_size);\r
+    memcpy(&encoded_buffer[hdr_size], input_buffer, input_size);\r
+    *encoded_size = hdr_size + input_size;\r
+  }\r
+  if (is_last) {\r
+    encoded_buffer[(*encoded_size)++] = 3;\r
+  }\r
+  s->last_byte_ = 0;\r
+  s->last_byte_bits_ = 0;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderFinishStream(\r
+    BrotliEncoderState* s, size_t* encoded_size, uint8_t* encoded_buffer) {\r
+  if (!EnsureInitialized(s)) return BROTLI_FALSE;\r
+  return BrotliEncoderWriteMetaBlock(\r
+      s, 0, NULL, 1, encoded_size, encoded_buffer);\r
+}\r
+\r
+static BROTLI_BOOL BrotliCompressBufferQuality10(\r
+    int lgwin, size_t input_size, const uint8_t* input_buffer,\r
+    size_t* encoded_size, uint8_t* encoded_buffer) {\r
+  MemoryManager memory_manager;\r
+  MemoryManager* m = &memory_manager;\r
+\r
+  const size_t mask = BROTLI_SIZE_MAX >> 1;\r
+  const size_t max_backward_limit = MaxBackwardLimit(lgwin);\r
+  int dist_cache[4] = { 4, 11, 15, 16 };\r
+  int saved_dist_cache[4] = { 4, 11, 15, 16 };\r
+  BROTLI_BOOL ok = BROTLI_TRUE;\r
+  const size_t max_out_size = *encoded_size;\r
+  size_t total_out_size = 0;\r
+  uint8_t last_byte;\r
+  uint8_t last_byte_bits;\r
+  H10* hasher;\r
+\r
+  const size_t hasher_eff_size =\r
+      BROTLI_MIN(size_t, input_size, max_backward_limit + 16);\r
+\r
+  BrotliEncoderParams params;\r
+\r
+  const int lgmetablock = BROTLI_MIN(int, 24, lgwin + 1);\r
+  size_t max_block_size;\r
+  const size_t max_metablock_size = (size_t)1 << lgmetablock;\r
+  const size_t max_literals_per_metablock = max_metablock_size / 8;\r
+  const size_t max_commands_per_metablock = max_metablock_size / 8;\r
+  size_t metablock_start = 0;\r
+  uint8_t prev_byte = 0;\r
+  uint8_t prev_byte2 = 0;\r
+\r
+  params.mode = BROTLI_DEFAULT_MODE;\r
+  params.quality = 10;\r
+  params.lgwin = lgwin;\r
+  params.lgblock = 0;\r
+  SanitizeParams(&params);\r
+  params.lgblock = ComputeLgBlock(&params);\r
+  max_block_size = (size_t)1 << params.lgblock;\r
+\r
+  BrotliInitMemoryManager(m, 0, 0, 0);\r
+\r
+  assert(input_size <= mask + 1);\r
+  EncodeWindowBits(lgwin, &last_byte, &last_byte_bits);\r
+  hasher = BROTLI_ALLOC(m, H10, 1);\r
+  if (BROTLI_IS_OOM(m)) goto oom;\r
+  InitializeH10(hasher);\r
+  InitH10(m, hasher, input_buffer, &params, 0, hasher_eff_size, 1);\r
+  if (BROTLI_IS_OOM(m)) goto oom;\r
+\r
+  while (ok && metablock_start < input_size) {\r
+    const size_t metablock_end =\r
+        BROTLI_MIN(size_t, input_size, metablock_start + max_metablock_size);\r
+    const size_t expected_num_commands =\r
+        (metablock_end - metablock_start) / 12 + 16;\r
+    Command* commands = 0;\r
+    size_t num_commands = 0;\r
+    size_t last_insert_len = 0;\r
+    size_t num_literals = 0;\r
+    size_t metablock_size = 0;\r
+    size_t cmd_alloc_size = 0;\r
+    BROTLI_BOOL is_last;\r
+    uint8_t* storage;\r
+    size_t storage_ix;\r
+\r
+    size_t block_start;\r
+    for (block_start = metablock_start; block_start < metablock_end; ) {\r
+      size_t block_size =\r
+          BROTLI_MIN(size_t, metablock_end - block_start, max_block_size);\r
+      ZopfliNode* nodes = BROTLI_ALLOC(m, ZopfliNode, block_size + 1);\r
+      size_t path_size;\r
+      size_t new_cmd_alloc_size;\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      BrotliInitZopfliNodes(nodes, block_size + 1);\r
+      StitchToPreviousBlockH10(hasher, block_size, block_start,\r
+                               input_buffer, mask);\r
+      path_size = BrotliZopfliComputeShortestPath(\r
+          m, block_size, block_start, input_buffer, mask, &params,\r
+          max_backward_limit, dist_cache, hasher, nodes);\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      /* We allocate a command buffer in the first iteration of this loop that\r
+         will be likely big enough for the whole metablock, so that for most\r
+         inputs we will not have to reallocate in later iterations. We do the\r
+         allocation here and not before the loop, because if the input is small,\r
+         this will be allocated after the zopfli cost model is freed, so this\r
+         will not increase peak memory usage.\r
+         TODO: If the first allocation is too small, increase command\r
+         buffer size exponentially. */\r
+      new_cmd_alloc_size = BROTLI_MAX(size_t, expected_num_commands,\r
+                                      num_commands + path_size + 1);\r
+      if (cmd_alloc_size != new_cmd_alloc_size) {\r
+        Command* new_commands = BROTLI_ALLOC(m, Command, new_cmd_alloc_size);\r
+        if (BROTLI_IS_OOM(m)) goto oom;\r
+        cmd_alloc_size = new_cmd_alloc_size;\r
+        if (commands) {\r
+          memcpy(new_commands, commands, sizeof(Command) * num_commands);\r
+          BROTLI_FREE(m, commands);\r
+        }\r
+        commands = new_commands;\r
+      }\r
+      BrotliZopfliCreateCommands(block_size, block_start, max_backward_limit,\r
+                                 &nodes[0], dist_cache, &last_insert_len,\r
+                                 &commands[num_commands], &num_literals);\r
+      num_commands += path_size;\r
+      block_start += block_size;\r
+      metablock_size += block_size;\r
+      BROTLI_FREE(m, nodes);\r
+      if (num_literals > max_literals_per_metablock ||\r
+          num_commands > max_commands_per_metablock) {\r
+        break;\r
+      }\r
+    }\r
+\r
+    if (last_insert_len > 0) {\r
+      InitInsertCommand(&commands[num_commands++], last_insert_len);\r
+      num_literals += last_insert_len;\r
+    }\r
+\r
+    is_last = TO_BROTLI_BOOL(metablock_start + metablock_size == input_size);\r
+    storage = NULL;\r
+    storage_ix = last_byte_bits;\r
+\r
+    if (metablock_size == 0) {\r
+      /* Write the ISLAST and ISEMPTY bits. */\r
+      storage = BROTLI_ALLOC(m, uint8_t, 16);\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      storage[0] = last_byte;\r
+      BrotliWriteBits(2, 3, &storage_ix, storage);\r
+      storage_ix = (storage_ix + 7u) & ~7u;\r
+    } else if (!ShouldCompress(input_buffer, mask, metablock_start,\r
+                               metablock_size, num_literals, num_commands)) {\r
+      /* Restore the distance cache, as its last update by\r
+         CreateBackwardReferences is now unused. */\r
+      memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0]));\r
+      storage = BROTLI_ALLOC(m, uint8_t, metablock_size + 16);\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      storage[0] = last_byte;\r
+      BrotliStoreUncompressedMetaBlock(is_last, input_buffer,\r
+                                       metablock_start, mask, metablock_size,\r
+                                       &storage_ix, storage);\r
+    } else {\r
+      uint32_t num_direct_distance_codes = 0;\r
+      uint32_t distance_postfix_bits = 0;\r
+      ContextType literal_context_mode = CONTEXT_UTF8;\r
+      MetaBlockSplit mb;\r
+      InitMetaBlockSplit(&mb);\r
+      if (!BrotliIsMostlyUTF8(input_buffer, metablock_start, mask,\r
+                              metablock_size, kMinUTF8Ratio)) {\r
+        literal_context_mode = CONTEXT_SIGNED;\r
+      }\r
+      BrotliBuildMetaBlock(m, input_buffer, metablock_start, mask, &params,\r
+                           prev_byte, prev_byte2,\r
+                           commands, num_commands,\r
+                           literal_context_mode,\r
+                           &mb);\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      BrotliOptimizeHistograms(num_direct_distance_codes,\r
+                               distance_postfix_bits,\r
+                               &mb);\r
+      storage = BROTLI_ALLOC(m, uint8_t, 2 * metablock_size + 500);\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      storage[0] = last_byte;\r
+      BrotliStoreMetaBlock(m, input_buffer, metablock_start, metablock_size,\r
+                           mask, prev_byte, prev_byte2,\r
+                           is_last,\r
+                           num_direct_distance_codes,\r
+                           distance_postfix_bits,\r
+                           literal_context_mode,\r
+                           commands, num_commands,\r
+                           &mb,\r
+                           &storage_ix, storage);\r
+      if (BROTLI_IS_OOM(m)) goto oom;\r
+      if (metablock_size + 4 < (storage_ix >> 3)) {\r
+        /* Restore the distance cache and last byte. */\r
+        memcpy(dist_cache, saved_dist_cache, 4 * sizeof(dist_cache[0]));\r
+        storage[0] = last_byte;\r
+        storage_ix = last_byte_bits;\r
+        BrotliStoreUncompressedMetaBlock(is_last, input_buffer,\r
+                                         metablock_start, mask,\r
+                                         metablock_size, &storage_ix, storage);\r
+      }\r
+      DestroyMetaBlockSplit(m, &mb);\r
+    }\r
+    last_byte = storage[storage_ix >> 3];\r
+    last_byte_bits = storage_ix & 7u;\r
+    metablock_start += metablock_size;\r
+    prev_byte = input_buffer[metablock_start - 1];\r
+    prev_byte2 = input_buffer[metablock_start - 2];\r
+    /* Save the state of the distance cache in case we need to restore it for\r
+       emitting an uncompressed block. */\r
+    memcpy(saved_dist_cache, dist_cache, 4 * sizeof(dist_cache[0]));\r
+\r
+    {\r
+      const size_t out_size = storage_ix >> 3;\r
+      total_out_size += out_size;\r
+      if (total_out_size <= max_out_size) {\r
+        memcpy(encoded_buffer, storage, out_size);\r
+        encoded_buffer += out_size;\r
+      } else {\r
+        ok = BROTLI_FALSE;\r
+      }\r
+    }\r
+    BROTLI_FREE(m, storage);\r
+    BROTLI_FREE(m, commands);\r
+  }\r
+\r
+  *encoded_size = total_out_size;\r
+  CleanupH10(m, hasher);\r
+  BROTLI_FREE(m, hasher);\r
+  return ok;\r
+\r
+oom:\r
+  BrotliWipeOutMemoryManager(m);\r
+  return BROTLI_FALSE;\r
+}\r
+\r
+size_t BrotliEncoderMaxCompressedSize(size_t input_size) {\r
+  /* [window bits / empty metadata] + N * [uncompressed] + [last empty] */\r
+  size_t num_large_blocks = input_size >> 24;\r
+  size_t tail = input_size - (num_large_blocks << 24);\r
+  size_t tail_overhead = (tail > (1 << 20)) ? 4 : 3;\r
+  size_t overhead = 2 + (4 * num_large_blocks) + tail_overhead + 1;\r
+  size_t result = input_size + overhead;\r
+  if (input_size == 0) return 1;\r
+  return (result < input_size) ? 0 : result;\r
+}\r
+\r
+/* Wraps data to uncompressed brotli stream with minimal window size.\r
+   |output| should point at region with at least BrotliEncoderMaxCompressedSize\r
+   addressable bytes.\r
+   Returns the length of stream. */\r
+static size_t MakeUncompressedStream(\r
+    const uint8_t* input, size_t input_size, uint8_t* output) {\r
+  size_t size = input_size;\r
+  size_t result = 0;\r
+  size_t offset = 0;\r
+  if (input_size == 0) {\r
+    output[0] = 6;\r
+    return 1;\r
+  }\r
+  output[result++] = 0x21;  /* window bits = 10, is_last = false */\r
+  output[result++] = 0x03;  /* empty metadata, padding */\r
+  while (size > 0) {\r
+    uint32_t nibbles = 0;\r
+    uint32_t chunk_size;\r
+    uint32_t bits;\r
+    chunk_size = (size > (1u << 24)) ? (1u << 24) : (uint32_t)size;\r
+    if (chunk_size > (1u << 16)) nibbles = (chunk_size > (1u << 20)) ? 2 : 1;\r
+    bits =\r
+        (nibbles << 1) | ((chunk_size - 1) << 3) | (1u << (19 + 4 * nibbles));\r
+    output[result++] = (uint8_t)bits;\r
+    output[result++] = (uint8_t)(bits >> 8);\r
+    output[result++] = (uint8_t)(bits >> 16);\r
+    if (nibbles == 2) output[result++] = (uint8_t)(bits >> 24);\r
+    memcpy(&output[result], &input[offset], chunk_size);\r
+    result += chunk_size;\r
+    offset += chunk_size;\r
+    size -= chunk_size;\r
+  }\r
+  output[result++] = 3;\r
+  return result;\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderCompress(\r
+    int quality, int lgwin, BrotliEncoderMode mode, size_t input_size,\r
+    const uint8_t* input_buffer, size_t* encoded_size,\r
+    uint8_t* encoded_buffer) {\r
+  BrotliEncoderState* s;\r
+  size_t out_size = *encoded_size;\r
+  const uint8_t* input_start = input_buffer;\r
+  uint8_t* output_start = encoded_buffer;\r
+  size_t max_out_size = BrotliEncoderMaxCompressedSize(input_size);\r
+  if (out_size == 0) {\r
+    /* Output buffer needs at least one byte. */\r
+    return BROTLI_FALSE;\r
+  }\r
+  if (input_size == 0) {\r
+    /* Handle the special case of empty input. */\r
+    *encoded_size = 1;\r
+    *encoded_buffer = 6;\r
+    return BROTLI_TRUE;\r
+  }\r
+  if (quality == 10) {\r
+    /* TODO: Implement this direct path for all quality levels. */\r
+    const int lg_win = BROTLI_MIN(int, 24, BROTLI_MAX(int, 16, lgwin));\r
+    int ok = BrotliCompressBufferQuality10(lg_win, input_size, input_buffer,\r
+                                           encoded_size, encoded_buffer);\r
+    if (!ok || (max_out_size && *encoded_size > max_out_size)) {\r
+      goto fallback;\r
+    }\r
+    return BROTLI_TRUE;\r
+  }\r
+\r
+  s = BrotliEncoderCreateInstance(0, 0, 0);\r
+  if (!s) {\r
+    return BROTLI_FALSE;\r
+  } else {\r
+    size_t available_in = input_size;\r
+    const uint8_t* next_in = input_buffer;\r
+    size_t available_out = *encoded_size;\r
+    uint8_t* next_out = encoded_buffer;\r
+    size_t total_out = 0;\r
+    BROTLI_BOOL result = BROTLI_FALSE;\r
+    BrotliEncoderSetParameter(s, BROTLI_PARAM_QUALITY, (uint32_t)quality);\r
+    BrotliEncoderSetParameter(s, BROTLI_PARAM_LGWIN, (uint32_t)lgwin);\r
+    BrotliEncoderSetParameter(s, BROTLI_PARAM_MODE, (uint32_t)mode);\r
+    result = BrotliEncoderCompressStream(s, BROTLI_OPERATION_FINISH,\r
+        &available_in, &next_in, &available_out, &next_out, &total_out);\r
+    if (!BrotliEncoderIsFinished(s)) result = 0;\r
+    *encoded_size = total_out;\r
+    BrotliEncoderDestroyInstance(s);\r
+    if (!result || (max_out_size && *encoded_size > max_out_size)) {\r
+      goto fallback;\r
+    }\r
+    return BROTLI_TRUE;\r
+  }\r
+fallback:\r
+  *encoded_size = 0;\r
+  if (!max_out_size) return BROTLI_FALSE;\r
+  if (out_size >= max_out_size) {\r
+    *encoded_size =\r
+        MakeUncompressedStream(input_start, input_size, output_start);\r
+    return BROTLI_TRUE;\r
+  }\r
+  return BROTLI_FALSE;\r
+}\r
+\r
+static void InjectBytePaddingBlock(BrotliEncoderState* s) {\r
+  uint32_t seal = s->last_byte_;\r
+  size_t seal_bits = s->last_byte_bits_;\r
+  s->last_byte_ = 0;\r
+  s->last_byte_bits_ = 0;\r
+  /* is_last = 0, data_nibbles = 11, reseved = 0, meta_nibbles = 00 */\r
+  seal |= 0x6u << seal_bits;\r
+  seal_bits += 6;\r
+  s->flush_buf_[0] = (uint8_t)seal;\r
+  if (seal_bits > 8) s->flush_buf_[1] = (uint8_t)(seal >> 8);\r
+  s->next_out_ = s->flush_buf_;\r
+  s->available_out_ = (seal_bits + 7) >> 3;\r
+}\r
+\r
+static BROTLI_BOOL BrotliEncoderCompressStreamFast(\r
+    BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in,\r
+    const uint8_t** next_in, size_t* available_out, uint8_t** next_out,\r
+    size_t* total_out) {\r
+  const size_t block_size_limit = (size_t)1 << s->params.lgwin;\r
+  const size_t buf_size = BROTLI_MIN(size_t, kCompressFragmentTwoPassBlockSize,\r
+      BROTLI_MIN(size_t, *available_in, block_size_limit));\r
+  uint32_t* tmp_command_buf = NULL;\r
+  uint32_t* command_buf = NULL;\r
+  uint8_t* tmp_literal_buf = NULL;\r
+  uint8_t* literal_buf = NULL;\r
+  MemoryManager* m = &s->memory_manager_;\r
+  if (s->params.quality != FAST_ONE_PASS_COMPRESSION_QUALITY &&\r
+      s->params.quality != FAST_TWO_PASS_COMPRESSION_QUALITY) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  if (s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) {\r
+    if (!s->command_buf_ && buf_size == kCompressFragmentTwoPassBlockSize) {\r
+      s->command_buf_ =\r
+          BROTLI_ALLOC(m, uint32_t, kCompressFragmentTwoPassBlockSize);\r
+      s->literal_buf_ =\r
+          BROTLI_ALLOC(m, uint8_t, kCompressFragmentTwoPassBlockSize);\r
+      if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+    }\r
+    if (s->command_buf_) {\r
+      command_buf = s->command_buf_;\r
+      literal_buf = s->literal_buf_;\r
+    } else {\r
+      tmp_command_buf = BROTLI_ALLOC(m, uint32_t, buf_size);\r
+      tmp_literal_buf = BROTLI_ALLOC(m, uint8_t, buf_size);\r
+      if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+      command_buf = tmp_command_buf;\r
+      literal_buf = tmp_literal_buf;\r
+    }\r
+  }\r
+\r
+  while (BROTLI_TRUE) {\r
+    if (s->available_out_ == 0 &&\r
+        s->stream_state_ == BROTLI_STREAM_FLUSH_REQUESTED) {\r
+      s->stream_state_ = BROTLI_STREAM_PROCESSING;\r
+      if (s->last_byte_bits_ == 0) break;\r
+      InjectBytePaddingBlock(s);\r
+      continue;\r
+    }\r
+\r
+    if (s->available_out_ != 0 && *available_out != 0) {\r
+      size_t copy_output_size =\r
+          BROTLI_MIN(size_t, s->available_out_, *available_out);\r
+      memcpy(*next_out, s->next_out_, copy_output_size);\r
+      *next_out += copy_output_size;\r
+      *available_out -= copy_output_size;\r
+      s->next_out_ += copy_output_size;\r
+      s->available_out_ -= copy_output_size;\r
+      s->total_out_ += copy_output_size;\r
+      if (total_out) *total_out = s->total_out_;\r
+      continue;\r
+    }\r
+\r
+    /* Compress block only when internal output buffer is empty, stream is not\r
+       finished, there is no pending flush request, and there is either\r
+       additional input or pending operation. */\r
+    if (s->available_out_ == 0 &&\r
+        s->stream_state_ == BROTLI_STREAM_PROCESSING &&\r
+        (*available_in != 0 || op != BROTLI_OPERATION_PROCESS)) {\r
+      size_t block_size = BROTLI_MIN(size_t, block_size_limit, *available_in);\r
+      BROTLI_BOOL is_last =\r
+          (*available_in == block_size) && (op == BROTLI_OPERATION_FINISH);\r
+      BROTLI_BOOL force_flush =\r
+          (*available_in == block_size) && (op == BROTLI_OPERATION_FLUSH);\r
+      size_t max_out_size = 2 * block_size + 500;\r
+      BROTLI_BOOL inplace = BROTLI_TRUE;\r
+      uint8_t* storage = NULL;\r
+      size_t storage_ix = s->last_byte_bits_;\r
+      size_t table_size;\r
+      int* table;\r
+\r
+      if (force_flush && block_size == 0) {\r
+        s->stream_state_ = BROTLI_STREAM_FLUSH_REQUESTED;\r
+        continue;\r
+      }\r
+      if (max_out_size <= *available_out) {\r
+        storage = *next_out;\r
+      } else {\r
+        inplace = 0;\r
+        storage = GetBrotliStorage(s, max_out_size);\r
+        if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+      }\r
+      storage[0] = s->last_byte_;\r
+      table = GetHashTable(s, s->params.quality, block_size, &table_size);\r
+      if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+\r
+      if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY) {\r
+        BrotliCompressFragmentFast(m, *next_in, block_size, is_last, table,\r
+            table_size, s->cmd_depths_, s->cmd_bits_, &s->cmd_code_numbits_,\r
+            s->cmd_code_, &storage_ix, storage);\r
+        if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+      } else {\r
+        BrotliCompressFragmentTwoPass(m, *next_in, block_size, is_last,\r
+            command_buf, literal_buf, table, table_size,\r
+            &storage_ix, storage);\r
+        if (BROTLI_IS_OOM(m)) return BROTLI_FALSE;\r
+      }\r
+      *next_in += block_size;\r
+      *available_in -= block_size;\r
+      if (inplace) {\r
+        size_t out_bytes = storage_ix >> 3;\r
+        assert(out_bytes <= *available_out);\r
+        assert((storage_ix & 7) == 0 || out_bytes < *available_out);\r
+        *next_out += out_bytes;\r
+        *available_out -= out_bytes;\r
+        s->total_out_ += out_bytes;\r
+        if (total_out) *total_out = s->total_out_;\r
+      } else {\r
+        size_t out_bytes = storage_ix >> 3;\r
+        s->next_out_ = storage;\r
+        s->available_out_ = out_bytes;\r
+      }\r
+      s->last_byte_ = storage[storage_ix >> 3];\r
+      s->last_byte_bits_ = storage_ix & 7u;\r
+\r
+      if (force_flush) s->stream_state_ = BROTLI_STREAM_FLUSH_REQUESTED;\r
+      if (is_last) s->stream_state_ = BROTLI_STREAM_FINISHED;\r
+      continue;\r
+    }\r
+    break;\r
+  }\r
+  BROTLI_FREE(m, tmp_command_buf);\r
+  BROTLI_FREE(m, tmp_literal_buf);\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderCompressStream(\r
+    BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in,\r
+    const uint8_t** next_in, size_t* available_out,uint8_t** next_out,\r
+    size_t* total_out) {\r
+  if (!EnsureInitialized(s)) return BROTLI_FALSE;\r
+\r
+  if (s->stream_state_ != BROTLI_STREAM_PROCESSING && *available_in != 0) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  if (s->params.quality == FAST_ONE_PASS_COMPRESSION_QUALITY ||\r
+      s->params.quality == FAST_TWO_PASS_COMPRESSION_QUALITY) {\r
+    return BrotliEncoderCompressStreamFast(s, op, available_in, next_in,\r
+        available_out, next_out, total_out);\r
+  }\r
+  while (BROTLI_TRUE) {\r
+    size_t remaining_block_size = RemainingInputBlockSize(s);\r
+\r
+    if (remaining_block_size != 0 && *available_in != 0) {\r
+      size_t copy_input_size =\r
+          BROTLI_MIN(size_t, remaining_block_size, *available_in);\r
+      BrotliEncoderCopyInputToRingBuffer(s, copy_input_size, *next_in);\r
+      *next_in += copy_input_size;\r
+      *available_in -= copy_input_size;\r
+      continue;\r
+    }\r
+\r
+    if (s->available_out_ == 0 &&\r
+        s->stream_state_ == BROTLI_STREAM_FLUSH_REQUESTED) {\r
+      s->stream_state_ = BROTLI_STREAM_PROCESSING;\r
+      if (s->last_byte_bits_ == 0) break;\r
+      InjectBytePaddingBlock(s);\r
+      continue;\r
+    }\r
+\r
+    if (s->available_out_ != 0 && *available_out != 0) {\r
+      size_t copy_output_size =\r
+          BROTLI_MIN(size_t, s->available_out_, *available_out);\r
+      memcpy(*next_out, s->next_out_, copy_output_size);\r
+      *next_out += copy_output_size;\r
+      *available_out -= copy_output_size;\r
+      s->next_out_ += copy_output_size;\r
+      s->available_out_ -= copy_output_size;\r
+      s->total_out_ += copy_output_size;\r
+      if (total_out) *total_out = s->total_out_;\r
+      continue;\r
+    }\r
+\r
+    /* Compress data only when internal outpuf buffer is empty, stream is not\r
+       finished and there is no pending flush request. */\r
+    if (s->available_out_ == 0 &&\r
+        s->stream_state_ == BROTLI_STREAM_PROCESSING) {\r
+      if (remaining_block_size == 0 || op != BROTLI_OPERATION_PROCESS) {\r
+        BROTLI_BOOL is_last = TO_BROTLI_BOOL(\r
+            (*available_in == 0) && op == BROTLI_OPERATION_FINISH);\r
+        BROTLI_BOOL force_flush = TO_BROTLI_BOOL(\r
+            (*available_in == 0) && op == BROTLI_OPERATION_FLUSH);\r
+        BROTLI_BOOL result = BrotliEncoderWriteData(s, is_last, force_flush,\r
+            &s->available_out_, &s->next_out_);\r
+        if (!result) return BROTLI_FALSE;\r
+        if (force_flush) s->stream_state_ = BROTLI_STREAM_FLUSH_REQUESTED;\r
+        if (is_last) s->stream_state_ = BROTLI_STREAM_FINISHED;\r
+        continue;\r
+      }\r
+    }\r
+    break;\r
+  }\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderIsFinished(BrotliEncoderState* s) {\r
+  return TO_BROTLI_BOOL(s->stream_state_ == BROTLI_STREAM_FINISHED &&\r
+      !BrotliEncoderHasMoreOutput(s));\r
+}\r
+\r
+BROTLI_BOOL BrotliEncoderHasMoreOutput(BrotliEncoderState* s) {\r
+  return TO_BROTLI_BOOL(s->available_out_ != 0);\r
+}\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/encode.h b/BaseTools/Source/C/BrotliCompress/enc/encode.h
new file mode 100644 (file)
index 0000000..be9b5b2
--- /dev/null
@@ -0,0 +1,221 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* API for Brotli compression. */\r
+\r
+#ifndef BROTLI_ENC_ENCODE_H_\r
+#define BROTLI_ENC_ENCODE_H_\r
+\r
+#include "../common/types.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const int kBrotliMaxWindowBits = 24;\r
+static const int kBrotliMinWindowBits = 10;\r
+static const int kBrotliMinInputBlockBits = 16;\r
+static const int kBrotliMaxInputBlockBits = 24;\r
+\r
+#define BROTLI_MIN_QUALITY 0\r
+#define BROTLI_MAX_QUALITY 11\r
+\r
+typedef enum BrotliEncoderMode {\r
+  /* Default compression mode. The compressor does not know anything in\r
+     advance about the properties of the input. */\r
+  BROTLI_MODE_GENERIC = 0,\r
+  /* Compression mode for UTF-8 format text input. */\r
+  BROTLI_MODE_TEXT = 1,\r
+  /* Compression mode used in WOFF 2.0. */\r
+  BROTLI_MODE_FONT = 2\r
+} BrotliEncoderMode;\r
+\r
+#define BROTLI_DEFAULT_QUALITY 11\r
+#define BROTLI_DEFAULT_WINDOW 22\r
+#define BROTLI_DEFAULT_MODE BROTLI_MODE_GENERIC\r
+\r
+typedef enum BrotliEncoderOperation {\r
+  BROTLI_OPERATION_PROCESS = 0,\r
+  /* Request output stream to flush. Performed when input stream is depleted\r
+     and there is enough space in output stream. */\r
+  BROTLI_OPERATION_FLUSH = 1,\r
+  /* Request output stream to finish. Performed when input stream is depleted\r
+     and there is enough space in output stream. */\r
+  BROTLI_OPERATION_FINISH = 2\r
+} BrotliEncoderOperation;\r
+\r
+typedef enum BrotliEncoderParameter {\r
+  BROTLI_PARAM_MODE = 0,\r
+  /* Controls the compression-speed vs compression-density tradeoffs. The higher\r
+     the quality, the slower the compression. Range is 0 to 11. */\r
+  BROTLI_PARAM_QUALITY = 1,\r
+  /* Base 2 logarithm of the sliding window size. Range is 10 to 24. */\r
+  BROTLI_PARAM_LGWIN = 2,\r
+  /* Base 2 logarithm of the maximum input block size. Range is 16 to 24.\r
+     If set to 0, the value will be set based on the quality. */\r
+  BROTLI_PARAM_LGBLOCK = 3\r
+} BrotliEncoderParameter;\r
+\r
+/* A state can not be reused for multiple brotli streams. */\r
+typedef struct BrotliEncoderStateStruct BrotliEncoderState;\r
+\r
+BROTLI_BOOL BrotliEncoderSetParameter(\r
+    BrotliEncoderState* state, BrotliEncoderParameter p, uint32_t value);\r
+\r
+/* Creates the instance of BrotliEncoderState and initializes it.\r
+   |alloc_func| and |free_func| MUST be both zero or both non-zero. In the case\r
+   they are both zero, default memory allocators are used. |opaque| is passed to\r
+   |alloc_func| and |free_func| when they are called. */\r
+BrotliEncoderState* BrotliEncoderCreateInstance(brotli_alloc_func alloc_func,\r
+                                                brotli_free_func free_func,\r
+                                                void* opaque);\r
+\r
+/* Deinitializes and frees BrotliEncoderState instance. */\r
+void BrotliEncoderDestroyInstance(BrotliEncoderState* state);\r
+/* The maximum input size that can be processed at once. */\r
+size_t BrotliEncoderInputBlockSize(BrotliEncoderState* state);\r
+\r
+/* Encodes the data in |input_buffer| as a meta-block and writes it to\r
+   |encoded_buffer| (|*encoded_size should| be set to the size of\r
+   |encoded_buffer|) and sets |*encoded_size| to the number of bytes that\r
+   was written. The |input_size| must not be greater than input_block_size().\r
+   Returns false if there was an error and true otherwise. */\r
+BROTLI_BOOL BrotliEncoderWriteMetaBlock(\r
+    BrotliEncoderState* state, const size_t input_size,\r
+    const uint8_t* input_buffer, const BROTLI_BOOL is_last,\r
+    size_t* encoded_size, uint8_t* encoded_buffer);\r
+\r
+/* Writes a metadata meta-block containing the given input to encoded_buffer.\r
+   |*encoded_size| should be set to the size of the encoded_buffer.\r
+   Sets |*encoded_size| to the number of bytes that was written.\r
+   Note that the given input data will not be part of the sliding window and\r
+   thus no backward references can be made to this data from subsequent\r
+   metablocks. |input_size| must not be greater than 2^24 and provided\r
+   |*encoded_size| must not be less than |input_size| + 6.\r
+   Returns false if there was an error and true otherwise. */\r
+BROTLI_BOOL BrotliEncoderWriteMetadata(\r
+    BrotliEncoderState* state, const size_t input_size,\r
+    const uint8_t* input_buffer, const BROTLI_BOOL is_last,\r
+    size_t* encoded_size, uint8_t* encoded_buffer);\r
+\r
+/* Writes a zero-length meta-block with end-of-input bit set to the\r
+   internal output buffer and copies the output buffer to |encoded_buffer|\r
+   (|*encoded_size| should be set to the size of |encoded_buffer|) and sets\r
+   |*encoded_size| to the number of bytes written.\r
+   Returns false if there was an error and true otherwise. */\r
+BROTLI_BOOL BrotliEncoderFinishStream(\r
+    BrotliEncoderState* state, size_t* encoded_size, uint8_t* encoded_buffer);\r
+\r
+/* Copies the given input data to the internal ring buffer of the compressor.\r
+   No processing of the data occurs at this time and this function can be\r
+   called multiple times before calling WriteBrotliData() to process the\r
+   accumulated input. At most input_block_size() bytes of input data can be\r
+   copied to the ring buffer, otherwise the next WriteBrotliData() will fail.\r
+ */\r
+void BrotliEncoderCopyInputToRingBuffer(BrotliEncoderState* state,\r
+                                        const size_t input_size,\r
+                                        const uint8_t* input_buffer);\r
+\r
+/* Processes the accumulated input data and sets |*out_size| to the length of\r
+   the new output meta-block, or to zero if no new output meta-block has been\r
+   created (in this case the processed input data is buffered internally).\r
+   If |*out_size| is positive, |*output| points to the start of the output\r
+   data. If |is_last| or |force_flush| is 1, an output meta-block is always\r
+   created. However, until |is_last| is 1 encoder may retain up to 7 bits\r
+   of the last byte of output. To force encoder to dump the remaining bits\r
+   use WriteMetadata() to append an empty meta-data block.\r
+   Returns false if the size of the input data is larger than\r
+   input_block_size(). */\r
+BROTLI_BOOL BrotliEncoderWriteData(\r
+    BrotliEncoderState* state, const BROTLI_BOOL is_last,\r
+    const BROTLI_BOOL force_flush, size_t* out_size, uint8_t** output);\r
+\r
+/* Fills the new state with a dictionary for LZ77, warming up the ringbuffer,\r
+   e.g. for custom static dictionaries for data formats.\r
+   Not to be confused with the built-in transformable dictionary of Brotli.\r
+   To decode, use BrotliSetCustomDictionary() of the decoder with the same\r
+   dictionary. */\r
+void BrotliEncoderSetCustomDictionary(BrotliEncoderState* state, size_t size,\r
+                                      const uint8_t* dict);\r
+\r
+/* Returns buffer size that is large enough to contain BrotliEncoderCompress\r
+   output for any input.\r
+   Returns 0 if result does not fit size_t. */\r
+size_t BrotliEncoderMaxCompressedSize(size_t input_size);\r
+\r
+/* Compresses the data in |input_buffer| into |encoded_buffer|, and sets\r
+   |*encoded_size| to the compressed length.\r
+   BROTLI_DEFAULT_QUALITY, BROTLI_DEFAULT_WINDOW and BROTLI_DEFAULT_MODE should\r
+   be used as |quality|, |lgwin| and |mode| if there are no specific\r
+   requirements to encoder speed and compression ratio.\r
+   If compression fails, |*encoded_size| is set to 0.\r
+   If BrotliEncoderMaxCompressedSize(|input_size|) is not zero, then\r
+   |*encoded_size| is never set to the bigger value.\r
+   Returns false if there was an error and true otherwise. */\r
+BROTLI_BOOL BrotliEncoderCompress(\r
+    int quality, int lgwin, BrotliEncoderMode mode, size_t input_size,\r
+    const uint8_t* input_buffer, size_t* encoded_size, uint8_t* encoded_buffer);\r
+\r
+/* Progressively compress input stream and push produced bytes to output stream.\r
+   Internally workflow consists of 3 tasks:\r
+    * (optional) copy input data to internal buffer\r
+    * actually compress data and (optionally) store it to internal buffer\r
+    * (optional) copy compressed bytes from internal buffer to output stream\r
+   Whenever all 3 tasks can't move forward anymore, or error occurs, this\r
+   method returns.\r
+\r
+   |available_in| and |next_in| represent input stream; when X bytes of input\r
+   are consumed, X is subtracted from |available_in| and added to |next_in|.\r
+   |available_out| and |next_out| represent output stream; when Y bytes are\r
+   pushed to output, Y is subtracted from |available_out| and added to\r
+   |next_out|. |total_out|, if it is not a null-pointer, is assigned to the\r
+   total amount of bytes pushed by the instance of encoder to output.\r
+\r
+   |op| is used to perform flush or finish the stream.\r
+\r
+   Flushing the stream means forcing encoding of all input passed to encoder and\r
+   completing the current output block, so it could be fully decoded by stream\r
+   decoder. To perform flush |op| must be set to BROTLI_OPERATION_FLUSH. Under\r
+   some circumstances (e.g. lack of output stream capacity) this operation would\r
+   require several calls to BrotliEncoderCompressStream. The method must be\r
+   called again until both input stream is depleted and encoder has no more\r
+   output (see BrotliEncoderHasMoreOutput) after the method is called.\r
+\r
+   Finishing the stream means encoding of all input passed to encoder and\r
+   adding specific "final" marks, so stream decoder could determine that stream\r
+   is complete. To perform finish |op| must be set to BROTLI_OPERATION_FINISH.\r
+   Under some circumstances (e.g. lack of output stream capacity) this operation\r
+   would require several calls to BrotliEncoderCompressStream. The method must\r
+   be called again until both input stream is depleted and encoder has no more\r
+   output (see BrotliEncoderHasMoreOutput) after the method is called.\r
+\r
+   WARNING: when flushing and finishing, |op| should not change until operation\r
+   is complete; input stream should not be refilled as well.\r
+\r
+   Returns false if there was an error and true otherwise.\r
+*/\r
+BROTLI_BOOL BrotliEncoderCompressStream(\r
+    BrotliEncoderState* s, BrotliEncoderOperation op, size_t* available_in,\r
+    const uint8_t** next_in, size_t* available_out, uint8_t** next_out,\r
+    size_t* total_out);\r
+\r
+/* Check if encoder is in "finished" state, i.e. no more input is acceptable and\r
+   no more output will be produced.\r
+   Works only with BrotliEncoderCompressStream workflow.\r
+   Returns 1 if stream is finished and 0 otherwise. */\r
+BROTLI_BOOL BrotliEncoderIsFinished(BrotliEncoderState* s);\r
+\r
+/* Check if encoder has more output bytes in internal buffer.\r
+   Works only with BrotliEncoderCompressStream workflow.\r
+   Returns 1 if has more output (in internal buffer) and 0 otherwise. */\r
+BROTLI_BOOL BrotliEncoderHasMoreOutput(BrotliEncoderState* s);\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_ENCODE_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h b/BaseTools/Source/C/BrotliCompress/enc/encode_parallel.h
new file mode 100644 (file)
index 0000000..d2a31c5
--- /dev/null
@@ -0,0 +1,27 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* API for parallel Brotli compression\r
+   Note that this is only a proof of concept currently and not part of the\r
+   final API yet. */\r
+\r
+#ifndef BROTLI_ENC_ENCODE_PARALLEL_H_\r
+#define BROTLI_ENC_ENCODE_PARALLEL_H_\r
+\r
+#include "../common/types.h"\r
+#include "./compressor.h"\r
+\r
+namespace brotli {\r
+\r
+int BrotliCompressBufferParallel(BrotliParams params,\r
+                                 size_t input_size,\r
+                                 const uint8_t* input_buffer,\r
+                                 size_t* encoded_size,\r
+                                 uint8_t* encoded_buffer);\r
+\r
+}  /* namespace brotli */\r
+\r
+#endif  /* BROTLI_ENC_ENCODE_PARALLEL_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.c
new file mode 100644 (file)
index 0000000..e2a27ed
--- /dev/null
@@ -0,0 +1,501 @@
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Entropy encoding (Huffman) utilities. */\r
+\r
+#include "./entropy_encode.h"\r
+\r
+#include <string.h>  /* memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+BROTLI_BOOL BrotliSetDepth(\r
+    int p0, HuffmanTree* pool, uint8_t* depth, int max_depth) {\r
+  int stack[16];\r
+  int level = 0;\r
+  int p = p0;\r
+  assert(max_depth <= 15);\r
+  stack[0] = -1;\r
+  while (BROTLI_TRUE) {\r
+    if (pool[p].index_left_ >= 0) {\r
+      level++;\r
+      if (level > max_depth) return BROTLI_FALSE;\r
+      stack[level] = pool[p].index_right_or_value_;\r
+      p = pool[p].index_left_;\r
+      continue;\r
+    } else {\r
+      depth[pool[p].index_right_or_value_] = (uint8_t)level;\r
+    }\r
+    while (level >= 0 && stack[level] == -1) level--;\r
+    if (level < 0) return BROTLI_TRUE;\r
+    p = stack[level];\r
+    stack[level] = -1;\r
+  }\r
+}\r
+\r
+/* Sort the root nodes, least popular first. */\r
+static BROTLI_INLINE BROTLI_BOOL SortHuffmanTree(\r
+    const HuffmanTree* v0, const HuffmanTree* v1) {\r
+  if (v0->total_count_ != v1->total_count_) {\r
+    return TO_BROTLI_BOOL(v0->total_count_ < v1->total_count_);\r
+  }\r
+  return TO_BROTLI_BOOL(v0->index_right_or_value_ > v1->index_right_or_value_);\r
+}\r
+\r
+/* This function will create a Huffman tree.\r
+\r
+   The catch here is that the tree cannot be arbitrarily deep.\r
+   Brotli specifies a maximum depth of 15 bits for "code trees"\r
+   and 7 bits for "code length code trees."\r
+\r
+   count_limit is the value that is to be faked as the minimum value\r
+   and this minimum value is raised until the tree matches the\r
+   maximum length requirement.\r
+\r
+   This algorithm is not of excellent performance for very long data blocks,\r
+   especially when population counts are longer than 2**tree_limit, but\r
+   we are not planning to use this with extremely long blocks.\r
+\r
+   See http://en.wikipedia.org/wiki/Huffman_coding */\r
+void BrotliCreateHuffmanTree(const uint32_t *data,\r
+                             const size_t length,\r
+                             const int tree_limit,\r
+                             HuffmanTree* tree,\r
+                             uint8_t *depth) {\r
+  uint32_t count_limit;\r
+  HuffmanTree sentinel;\r
+  InitHuffmanTree(&sentinel, BROTLI_UINT32_MAX, -1, -1);\r
+  /* For block sizes below 64 kB, we never need to do a second iteration\r
+     of this loop. Probably all of our block sizes will be smaller than\r
+     that, so this loop is mostly of academic interest. If we actually\r
+     would need this, we would be better off with the Katajainen algorithm. */\r
+  for (count_limit = 1; ; count_limit *= 2) {\r
+    size_t n = 0;\r
+    size_t i;\r
+    size_t j;\r
+    size_t k;\r
+    for (i = length; i != 0;) {\r
+      --i;\r
+      if (data[i]) {\r
+        const uint32_t count = BROTLI_MAX(uint32_t, data[i], count_limit);\r
+        InitHuffmanTree(&tree[n++], count, -1, (int16_t)i);\r
+      }\r
+    }\r
+\r
+    if (n == 1) {\r
+      depth[tree[0].index_right_or_value_] = 1;  /* Only one element. */\r
+      break;\r
+    }\r
+\r
+    SortHuffmanTreeItems(tree, n, SortHuffmanTree);\r
+\r
+    /* The nodes are:\r
+       [0, n): the sorted leaf nodes that we start with.\r
+       [n]: we add a sentinel here.\r
+       [n + 1, 2n): new parent nodes are added here, starting from\r
+                    (n+1). These are naturally in ascending order.\r
+       [2n]: we add a sentinel at the end as well.\r
+       There will be (2n+1) elements at the end. */\r
+    tree[n] = sentinel;\r
+    tree[n + 1] = sentinel;\r
+\r
+    i = 0;      /* Points to the next leaf node. */\r
+    j = n + 1;  /* Points to the next non-leaf node. */\r
+    for (k = n - 1; k != 0; --k) {\r
+      size_t left, right;\r
+      if (tree[i].total_count_ <= tree[j].total_count_) {\r
+        left = i;\r
+        ++i;\r
+      } else {\r
+        left = j;\r
+        ++j;\r
+      }\r
+      if (tree[i].total_count_ <= tree[j].total_count_) {\r
+        right = i;\r
+        ++i;\r
+      } else {\r
+        right = j;\r
+        ++j;\r
+      }\r
+\r
+      {\r
+        /* The sentinel node becomes the parent node. */\r
+        size_t j_end = 2 * n - k;\r
+        tree[j_end].total_count_ =\r
+            tree[left].total_count_ + tree[right].total_count_;\r
+        tree[j_end].index_left_ = (int16_t)left;\r
+        tree[j_end].index_right_or_value_ = (int16_t)right;\r
+\r
+        /* Add back the last sentinel node. */\r
+        tree[j_end + 1] = sentinel;\r
+      }\r
+    }\r
+    if (BrotliSetDepth((int)(2 * n - 1), &tree[0], depth, tree_limit)) {\r
+      /* We need to pack the Huffman tree in tree_limit bits. If this was not\r
+         successful, add fake entities to the lowest values and retry. */\r
+      break;\r
+    }\r
+  }\r
+}\r
+\r
+static void Reverse(uint8_t* v, size_t start, size_t end) {\r
+  --end;\r
+  while (start < end) {\r
+    uint8_t tmp = v[start];\r
+    v[start] = v[end];\r
+    v[end] = tmp;\r
+    ++start;\r
+    --end;\r
+  }\r
+}\r
+\r
+static void BrotliWriteHuffmanTreeRepetitions(\r
+    const uint8_t previous_value,\r
+    const uint8_t value,\r
+    size_t repetitions,\r
+    size_t* tree_size,\r
+    uint8_t* tree,\r
+    uint8_t* extra_bits_data) {\r
+  assert(repetitions > 0);\r
+  if (previous_value != value) {\r
+    tree[*tree_size] = value;\r
+    extra_bits_data[*tree_size] = 0;\r
+    ++(*tree_size);\r
+    --repetitions;\r
+  }\r
+  if (repetitions == 7) {\r
+    tree[*tree_size] = value;\r
+    extra_bits_data[*tree_size] = 0;\r
+    ++(*tree_size);\r
+    --repetitions;\r
+  }\r
+  if (repetitions < 3) {\r
+    size_t i;\r
+    for (i = 0; i < repetitions; ++i) {\r
+      tree[*tree_size] = value;\r
+      extra_bits_data[*tree_size] = 0;\r
+      ++(*tree_size);\r
+    }\r
+  } else {\r
+    size_t start = *tree_size;\r
+    repetitions -= 3;\r
+    while (BROTLI_TRUE) {\r
+      tree[*tree_size] = BROTLI_REPEAT_PREVIOUS_CODE_LENGTH;\r
+      extra_bits_data[*tree_size] = repetitions & 0x3;\r
+      ++(*tree_size);\r
+      repetitions >>= 2;\r
+      if (repetitions == 0) {\r
+        break;\r
+      }\r
+      --repetitions;\r
+    }\r
+    Reverse(tree, start, *tree_size);\r
+    Reverse(extra_bits_data, start, *tree_size);\r
+  }\r
+}\r
+\r
+static void BrotliWriteHuffmanTreeRepetitionsZeros(\r
+    size_t repetitions,\r
+    size_t* tree_size,\r
+    uint8_t* tree,\r
+    uint8_t* extra_bits_data) {\r
+  if (repetitions == 11) {\r
+    tree[*tree_size] = 0;\r
+    extra_bits_data[*tree_size] = 0;\r
+    ++(*tree_size);\r
+    --repetitions;\r
+  }\r
+  if (repetitions < 3) {\r
+    size_t i;\r
+    for (i = 0; i < repetitions; ++i) {\r
+      tree[*tree_size] = 0;\r
+      extra_bits_data[*tree_size] = 0;\r
+      ++(*tree_size);\r
+    }\r
+  } else {\r
+    size_t start = *tree_size;\r
+    repetitions -= 3;\r
+    while (BROTLI_TRUE) {\r
+      tree[*tree_size] = BROTLI_REPEAT_ZERO_CODE_LENGTH;\r
+      extra_bits_data[*tree_size] = repetitions & 0x7;\r
+      ++(*tree_size);\r
+      repetitions >>= 3;\r
+      if (repetitions == 0) {\r
+        break;\r
+      }\r
+      --repetitions;\r
+    }\r
+    Reverse(tree, start, *tree_size);\r
+    Reverse(extra_bits_data, start, *tree_size);\r
+  }\r
+}\r
+\r
+void BrotliOptimizeHuffmanCountsForRle(size_t length, uint32_t* counts,\r
+                                       uint8_t* good_for_rle) {\r
+  size_t nonzero_count = 0;\r
+  size_t stride;\r
+  size_t limit;\r
+  size_t sum;\r
+  const size_t streak_limit = 1240;\r
+  /* Let's make the Huffman code more compatible with rle encoding. */\r
+  size_t i;\r
+  for (i = 0; i < length; i++) {\r
+    if (counts[i]) {\r
+      ++nonzero_count;\r
+    }\r
+  }\r
+  if (nonzero_count < 16) {\r
+    return;\r
+  }\r
+  while (length != 0 && counts[length - 1] == 0) {\r
+    --length;\r
+  }\r
+  if (length == 0) {\r
+    return;  /* All zeros. */\r
+  }\r
+  /* Now counts[0..length - 1] does not have trailing zeros. */\r
+  {\r
+    size_t nonzeros = 0;\r
+    uint32_t smallest_nonzero = 1 << 30;\r
+    for (i = 0; i < length; ++i) {\r
+      if (counts[i] != 0) {\r
+        ++nonzeros;\r
+        if (smallest_nonzero > counts[i]) {\r
+          smallest_nonzero = counts[i];\r
+        }\r
+      }\r
+    }\r
+    if (nonzeros < 5) {\r
+      /* Small histogram will model it well. */\r
+      return;\r
+    }\r
+    if (smallest_nonzero < 4) {\r
+      size_t zeros = length - nonzeros;\r
+      if (zeros < 6) {\r
+        for (i = 1; i < length - 1; ++i) {\r
+          if (counts[i - 1] != 0 && counts[i] == 0 && counts[i + 1] != 0) {\r
+            counts[i] = 1;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    if (nonzeros < 28) {\r
+      return;\r
+    }\r
+  }\r
+  /* 2) Let's mark all population counts that already can be encoded\r
+     with an rle code. */\r
+  memset(good_for_rle, 0, length);\r
+  {\r
+    /* Let's not spoil any of the existing good rle codes.\r
+       Mark any seq of 0's that is longer as 5 as a good_for_rle.\r
+       Mark any seq of non-0's that is longer as 7 as a good_for_rle. */\r
+    uint32_t symbol = counts[0];\r
+    size_t step = 0;\r
+    for (i = 0; i <= length; ++i) {\r
+      if (i == length || counts[i] != symbol) {\r
+        if ((symbol == 0 && step >= 5) ||\r
+            (symbol != 0 && step >= 7)) {\r
+          size_t k;\r
+          for (k = 0; k < step; ++k) {\r
+            good_for_rle[i - k - 1] = 1;\r
+          }\r
+        }\r
+        step = 1;\r
+        if (i != length) {\r
+          symbol = counts[i];\r
+        }\r
+      } else {\r
+        ++step;\r
+      }\r
+    }\r
+  }\r
+  /* 3) Let's replace those population counts that lead to more rle codes.\r
+     Math here is in 24.8 fixed point representation. */\r
+  stride = 0;\r
+  limit = 256 * (counts[0] + counts[1] + counts[2]) / 3 + 420;\r
+  sum = 0;\r
+  for (i = 0; i <= length; ++i) {\r
+    if (i == length || good_for_rle[i] ||\r
+        (i != 0 && good_for_rle[i - 1]) ||\r
+        (256 * counts[i] - limit + streak_limit) >= 2 * streak_limit) {\r
+      if (stride >= 4 || (stride >= 3 && sum == 0)) {\r
+        size_t k;\r
+        /* The stride must end, collapse what we have, if we have enough (4). */\r
+        size_t count = (sum + stride / 2) / stride;\r
+        if (count == 0) {\r
+          count = 1;\r
+        }\r
+        if (sum == 0) {\r
+          /* Don't make an all zeros stride to be upgraded to ones. */\r
+          count = 0;\r
+        }\r
+        for (k = 0; k < stride; ++k) {\r
+          /* We don't want to change value at counts[i],\r
+             that is already belonging to the next stride. Thus - 1. */\r
+          counts[i - k - 1] = (uint32_t)count;\r
+        }\r
+      }\r
+      stride = 0;\r
+      sum = 0;\r
+      if (i < length - 2) {\r
+        /* All interesting strides have a count of at least 4, */\r
+        /* at least when non-zeros. */\r
+        limit = 256 * (counts[i] + counts[i + 1] + counts[i + 2]) / 3 + 420;\r
+      } else if (i < length) {\r
+        limit = 256 * counts[i];\r
+      } else {\r
+        limit = 0;\r
+      }\r
+    }\r
+    ++stride;\r
+    if (i != length) {\r
+      sum += counts[i];\r
+      if (stride >= 4) {\r
+        limit = (256 * sum + stride / 2) / stride;\r
+      }\r
+      if (stride == 4) {\r
+        limit += 120;\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+static void DecideOverRleUse(const uint8_t* depth, const size_t length,\r
+                             BROTLI_BOOL *use_rle_for_non_zero,\r
+                             BROTLI_BOOL *use_rle_for_zero) {\r
+  size_t total_reps_zero = 0;\r
+  size_t total_reps_non_zero = 0;\r
+  size_t count_reps_zero = 1;\r
+  size_t count_reps_non_zero = 1;\r
+  size_t i;\r
+  for (i = 0; i < length;) {\r
+    const uint8_t value = depth[i];\r
+    size_t reps = 1;\r
+    size_t k;\r
+    for (k = i + 1; k < length && depth[k] == value; ++k) {\r
+      ++reps;\r
+    }\r
+    if (reps >= 3 && value == 0) {\r
+      total_reps_zero += reps;\r
+      ++count_reps_zero;\r
+    }\r
+    if (reps >= 4 && value != 0) {\r
+      total_reps_non_zero += reps;\r
+      ++count_reps_non_zero;\r
+    }\r
+    i += reps;\r
+  }\r
+  *use_rle_for_non_zero =\r
+      TO_BROTLI_BOOL(total_reps_non_zero > count_reps_non_zero * 2);\r
+  *use_rle_for_zero = TO_BROTLI_BOOL(total_reps_zero > count_reps_zero * 2);\r
+}\r
+\r
+void BrotliWriteHuffmanTree(const uint8_t* depth,\r
+                            size_t length,\r
+                            size_t* tree_size,\r
+                            uint8_t* tree,\r
+                            uint8_t* extra_bits_data) {\r
+  uint8_t previous_value = BROTLI_INITIAL_REPEATED_CODE_LENGTH;\r
+  size_t i;\r
+  BROTLI_BOOL use_rle_for_non_zero = BROTLI_FALSE;\r
+  BROTLI_BOOL use_rle_for_zero = BROTLI_FALSE;\r
+\r
+  /* Throw away trailing zeros. */\r
+  size_t new_length = length;\r
+  for (i = 0; i < length; ++i) {\r
+    if (depth[length - i - 1] == 0) {\r
+      --new_length;\r
+    } else {\r
+      break;\r
+    }\r
+  }\r
+\r
+  /* First gather statistics on if it is a good idea to do rle. */\r
+  if (length > 50) {\r
+    /* Find rle coding for longer codes.\r
+       Shorter codes seem not to benefit from rle. */\r
+    DecideOverRleUse(depth, new_length,\r
+                     &use_rle_for_non_zero, &use_rle_for_zero);\r
+  }\r
+\r
+  /* Actual rle coding. */\r
+  for (i = 0; i < new_length;) {\r
+    const uint8_t value = depth[i];\r
+    size_t reps = 1;\r
+    if ((value != 0 && use_rle_for_non_zero) ||\r
+        (value == 0 && use_rle_for_zero)) {\r
+      size_t k;\r
+      for (k = i + 1; k < new_length && depth[k] == value; ++k) {\r
+        ++reps;\r
+      }\r
+    }\r
+    if (value == 0) {\r
+      BrotliWriteHuffmanTreeRepetitionsZeros(\r
+          reps, tree_size, tree, extra_bits_data);\r
+    } else {\r
+      BrotliWriteHuffmanTreeRepetitions(previous_value,\r
+                                        value, reps, tree_size,\r
+                                        tree, extra_bits_data);\r
+      previous_value = value;\r
+    }\r
+    i += reps;\r
+  }\r
+}\r
+\r
+static uint16_t BrotliReverseBits(size_t num_bits, uint16_t bits) {\r
+  static const size_t kLut[16] = {  /* Pre-reversed 4-bit values. */\r
+    0x0, 0x8, 0x4, 0xc, 0x2, 0xa, 0x6, 0xe,\r
+    0x1, 0x9, 0x5, 0xd, 0x3, 0xb, 0x7, 0xf\r
+  };\r
+  size_t retval = kLut[bits & 0xf];\r
+  size_t i;\r
+  for (i = 4; i < num_bits; i += 4) {\r
+    retval <<= 4;\r
+    bits = (uint16_t)(bits >> 4);\r
+    retval |= kLut[bits & 0xf];\r
+  }\r
+  retval >>= ((0 - num_bits) & 0x3);\r
+  return (uint16_t)retval;\r
+}\r
+\r
+/* 0..15 are values for bits */\r
+#define MAX_HUFFMAN_BITS 16\r
+\r
+void BrotliConvertBitDepthsToSymbols(const uint8_t *depth,\r
+                                     size_t len,\r
+                                     uint16_t *bits) {\r
+  /* In Brotli, all bit depths are [1..15]\r
+     0 bit depth means that the symbol does not exist. */\r
+  uint16_t bl_count[MAX_HUFFMAN_BITS] = { 0 };\r
+  uint16_t next_code[MAX_HUFFMAN_BITS];\r
+  size_t i;\r
+  int code = 0;\r
+  for (i = 0; i < len; ++i) {\r
+    ++bl_count[depth[i]];\r
+  }\r
+  bl_count[0] = 0;\r
+  next_code[0] = 0;\r
+  for (i = 1; i < MAX_HUFFMAN_BITS; ++i) {\r
+    code = (code + bl_count[i - 1]) << 1;\r
+    next_code[i] = (uint16_t)code;\r
+  }\r
+  for (i = 0; i < len; ++i) {\r
+    if (depth[i]) {\r
+      bits[i] = BrotliReverseBits(depth[i], next_code[depth[i]]++);\r
+    }\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode.h
new file mode 100644 (file)
index 0000000..0a9c354
--- /dev/null
@@ -0,0 +1,122 @@
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Entropy encoding (Huffman) utilities. */\r
+\r
+#ifndef BROTLI_ENC_ENTROPY_ENCODE_H_\r
+#define BROTLI_ENC_ENTROPY_ENCODE_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* A node of a Huffman tree. */\r
+typedef struct HuffmanTree {\r
+  uint32_t total_count_;\r
+  int16_t index_left_;\r
+  int16_t index_right_or_value_;\r
+} HuffmanTree;\r
+\r
+static BROTLI_INLINE void InitHuffmanTree(HuffmanTree* self, uint32_t count,\r
+    int16_t left, int16_t right) {\r
+  self->total_count_ = count;\r
+  self->index_left_ = left;\r
+  self->index_right_or_value_ = right;\r
+}\r
+\r
+/* Returns 1 is assignment of depths succeded, otherwise 0. */\r
+BROTLI_INTERNAL BROTLI_BOOL BrotliSetDepth(\r
+    int p, HuffmanTree* pool, uint8_t* depth, int max_depth);\r
+\r
+/* This function will create a Huffman tree.\r
+\r
+   The (data,length) contains the population counts.\r
+   The tree_limit is the maximum bit depth of the Huffman codes.\r
+\r
+   The depth contains the tree, i.e., how many bits are used for\r
+   the symbol.\r
+\r
+   The actual Huffman tree is constructed in the tree[] array, which has to\r
+   be at least 2 * length + 1 long.\r
+\r
+   See http://en.wikipedia.org/wiki/Huffman_coding */\r
+BROTLI_INTERNAL void BrotliCreateHuffmanTree(const uint32_t *data,\r
+                                             const size_t length,\r
+                                             const int tree_limit,\r
+                                             HuffmanTree* tree,\r
+                                             uint8_t *depth);\r
+\r
+/* Change the population counts in a way that the consequent\r
+   Huffman tree compression, especially its rle-part will be more\r
+   likely to compress this data more efficiently.\r
+\r
+   length contains the size of the histogram.\r
+   counts contains the population counts.\r
+   good_for_rle is a buffer of at least length size */\r
+BROTLI_INTERNAL void BrotliOptimizeHuffmanCountsForRle(\r
+    size_t length, uint32_t* counts, uint8_t* good_for_rle);\r
+\r
+/* Write a Huffman tree from bit depths into the bitstream representation\r
+   of a Huffman tree. The generated Huffman tree is to be compressed once\r
+   more using a Huffman tree */\r
+BROTLI_INTERNAL void BrotliWriteHuffmanTree(const uint8_t* depth,\r
+                                            size_t num,\r
+                                            size_t* tree_size,\r
+                                            uint8_t* tree,\r
+                                            uint8_t* extra_bits_data);\r
+\r
+/* Get the actual bit values for a tree of bit depths. */\r
+BROTLI_INTERNAL void BrotliConvertBitDepthsToSymbols(const uint8_t *depth,\r
+                                                     size_t len,\r
+                                                     uint16_t *bits);\r
+\r
+/* Input size optimized Shell sort. */\r
+typedef BROTLI_BOOL (*HuffmanTreeComparator)(\r
+    const HuffmanTree*, const HuffmanTree*);\r
+static BROTLI_INLINE void SortHuffmanTreeItems(HuffmanTree* items,\r
+    const size_t n, HuffmanTreeComparator comparator) {\r
+  static const size_t gaps[] = {132, 57, 23, 10, 4, 1};\r
+  if (n < 13) {\r
+    /* Insertion sort. */\r
+    size_t i;\r
+    for (i = 1; i < n; ++i) {\r
+      HuffmanTree tmp = items[i];\r
+      size_t k = i;\r
+      size_t j = i - 1;\r
+      while (comparator(&tmp, &items[j])) {\r
+        items[k] = items[j];\r
+        k = j;\r
+        if (!j--) break;\r
+      }\r
+      items[k] = tmp;\r
+    }\r
+    return;\r
+  } else {\r
+    /* Shell sort. */\r
+    int g = n < 57 ? 2 : 0;\r
+    for (; g < 6; ++g) {\r
+      size_t gap = gaps[g];\r
+      size_t i;\r
+      for (i = gap; i < n; ++i) {\r
+        size_t j = i;\r
+        HuffmanTree tmp = items[i];\r
+        for (; j >= gap && comparator(&tmp, &items[j - gap]); j -= gap) {\r
+          items[j] = items[j - gap];\r
+        }\r
+        items[j] = tmp;\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_ENTROPY_ENCODE_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h b/BaseTools/Source/C/BrotliCompress/enc/entropy_encode_static.h
new file mode 100644 (file)
index 0000000..160153c
--- /dev/null
@@ -0,0 +1,539 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Static entropy codes used for faster meta-block encoding. */\r
+\r
+#ifndef BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_\r
+#define BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_\r
+\r
+#include "../common/constants.h"\r
+#include "../common/port.h"\r
+#include "../common/types.h"\r
+#include "./write_bits.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const uint8_t kCodeLengthDepth[18] = {\r
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 0, 4, 4,\r
+};\r
+\r
+static const uint8_t kStaticCommandCodeDepth[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+   9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\r
+};\r
+\r
+static const uint8_t kStaticDistanceCodeDepth[64] = {\r
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\r
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\r
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\r
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\r
+};\r
+\r
+static const uint32_t kCodeLengthBits[18] = {\r
+  0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 15, 31, 0, 11, 7,\r
+};\r
+\r
+static BROTLI_INLINE void StoreStaticCodeLengthCode(\r
+    size_t* storage_ix, uint8_t* storage) {\r
+  BrotliWriteBits(\r
+      40, MAKE_UINT64_T(0x0000ffU, 0x55555554U), storage_ix, storage);\r
+}\r
+\r
+static const uint64_t kZeroRepsBits[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+  0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000017, 0x00000027,\r
+  0x00000037, 0x00000047, 0x00000057, 0x00000067, 0x00000077, 0x00000770,\r
+  0x00000b87, 0x00001387, 0x00001b87, 0x00002387, 0x00002b87, 0x00003387,\r
+  0x00003b87, 0x00000397, 0x00000b97, 0x00001397, 0x00001b97, 0x00002397,\r
+  0x00002b97, 0x00003397, 0x00003b97, 0x000003a7, 0x00000ba7, 0x000013a7,\r
+  0x00001ba7, 0x000023a7, 0x00002ba7, 0x000033a7, 0x00003ba7, 0x000003b7,\r
+  0x00000bb7, 0x000013b7, 0x00001bb7, 0x000023b7, 0x00002bb7, 0x000033b7,\r
+  0x00003bb7, 0x000003c7, 0x00000bc7, 0x000013c7, 0x00001bc7, 0x000023c7,\r
+  0x00002bc7, 0x000033c7, 0x00003bc7, 0x000003d7, 0x00000bd7, 0x000013d7,\r
+  0x00001bd7, 0x000023d7, 0x00002bd7, 0x000033d7, 0x00003bd7, 0x000003e7,\r
+  0x00000be7, 0x000013e7, 0x00001be7, 0x000023e7, 0x00002be7, 0x000033e7,\r
+  0x00003be7, 0x000003f7, 0x00000bf7, 0x000013f7, 0x00001bf7, 0x000023f7,\r
+  0x00002bf7, 0x000033f7, 0x00003bf7, 0x0001c387, 0x0005c387, 0x0009c387,\r
+  0x000dc387, 0x0011c387, 0x0015c387, 0x0019c387, 0x001dc387, 0x0001cb87,\r
+  0x0005cb87, 0x0009cb87, 0x000dcb87, 0x0011cb87, 0x0015cb87, 0x0019cb87,\r
+  0x001dcb87, 0x0001d387, 0x0005d387, 0x0009d387, 0x000dd387, 0x0011d387,\r
+  0x0015d387, 0x0019d387, 0x001dd387, 0x0001db87, 0x0005db87, 0x0009db87,\r
+  0x000ddb87, 0x0011db87, 0x0015db87, 0x0019db87, 0x001ddb87, 0x0001e387,\r
+  0x0005e387, 0x0009e387, 0x000de387, 0x0011e387, 0x0015e387, 0x0019e387,\r
+  0x001de387, 0x0001eb87, 0x0005eb87, 0x0009eb87, 0x000deb87, 0x0011eb87,\r
+  0x0015eb87, 0x0019eb87, 0x001deb87, 0x0001f387, 0x0005f387, 0x0009f387,\r
+  0x000df387, 0x0011f387, 0x0015f387, 0x0019f387, 0x001df387, 0x0001fb87,\r
+  0x0005fb87, 0x0009fb87, 0x000dfb87, 0x0011fb87, 0x0015fb87, 0x0019fb87,\r
+  0x001dfb87, 0x0001c397, 0x0005c397, 0x0009c397, 0x000dc397, 0x0011c397,\r
+  0x0015c397, 0x0019c397, 0x001dc397, 0x0001cb97, 0x0005cb97, 0x0009cb97,\r
+  0x000dcb97, 0x0011cb97, 0x0015cb97, 0x0019cb97, 0x001dcb97, 0x0001d397,\r
+  0x0005d397, 0x0009d397, 0x000dd397, 0x0011d397, 0x0015d397, 0x0019d397,\r
+  0x001dd397, 0x0001db97, 0x0005db97, 0x0009db97, 0x000ddb97, 0x0011db97,\r
+  0x0015db97, 0x0019db97, 0x001ddb97, 0x0001e397, 0x0005e397, 0x0009e397,\r
+  0x000de397, 0x0011e397, 0x0015e397, 0x0019e397, 0x001de397, 0x0001eb97,\r
+  0x0005eb97, 0x0009eb97, 0x000deb97, 0x0011eb97, 0x0015eb97, 0x0019eb97,\r
+  0x001deb97, 0x0001f397, 0x0005f397, 0x0009f397, 0x000df397, 0x0011f397,\r
+  0x0015f397, 0x0019f397, 0x001df397, 0x0001fb97, 0x0005fb97, 0x0009fb97,\r
+  0x000dfb97, 0x0011fb97, 0x0015fb97, 0x0019fb97, 0x001dfb97, 0x0001c3a7,\r
+  0x0005c3a7, 0x0009c3a7, 0x000dc3a7, 0x0011c3a7, 0x0015c3a7, 0x0019c3a7,\r
+  0x001dc3a7, 0x0001cba7, 0x0005cba7, 0x0009cba7, 0x000dcba7, 0x0011cba7,\r
+  0x0015cba7, 0x0019cba7, 0x001dcba7, 0x0001d3a7, 0x0005d3a7, 0x0009d3a7,\r
+  0x000dd3a7, 0x0011d3a7, 0x0015d3a7, 0x0019d3a7, 0x001dd3a7, 0x0001dba7,\r
+  0x0005dba7, 0x0009dba7, 0x000ddba7, 0x0011dba7, 0x0015dba7, 0x0019dba7,\r
+  0x001ddba7, 0x0001e3a7, 0x0005e3a7, 0x0009e3a7, 0x000de3a7, 0x0011e3a7,\r
+  0x0015e3a7, 0x0019e3a7, 0x001de3a7, 0x0001eba7, 0x0005eba7, 0x0009eba7,\r
+  0x000deba7, 0x0011eba7, 0x0015eba7, 0x0019eba7, 0x001deba7, 0x0001f3a7,\r
+  0x0005f3a7, 0x0009f3a7, 0x000df3a7, 0x0011f3a7, 0x0015f3a7, 0x0019f3a7,\r
+  0x001df3a7, 0x0001fba7, 0x0005fba7, 0x0009fba7, 0x000dfba7, 0x0011fba7,\r
+  0x0015fba7, 0x0019fba7, 0x001dfba7, 0x0001c3b7, 0x0005c3b7, 0x0009c3b7,\r
+  0x000dc3b7, 0x0011c3b7, 0x0015c3b7, 0x0019c3b7, 0x001dc3b7, 0x0001cbb7,\r
+  0x0005cbb7, 0x0009cbb7, 0x000dcbb7, 0x0011cbb7, 0x0015cbb7, 0x0019cbb7,\r
+  0x001dcbb7, 0x0001d3b7, 0x0005d3b7, 0x0009d3b7, 0x000dd3b7, 0x0011d3b7,\r
+  0x0015d3b7, 0x0019d3b7, 0x001dd3b7, 0x0001dbb7, 0x0005dbb7, 0x0009dbb7,\r
+  0x000ddbb7, 0x0011dbb7, 0x0015dbb7, 0x0019dbb7, 0x001ddbb7, 0x0001e3b7,\r
+  0x0005e3b7, 0x0009e3b7, 0x000de3b7, 0x0011e3b7, 0x0015e3b7, 0x0019e3b7,\r
+  0x001de3b7, 0x0001ebb7, 0x0005ebb7, 0x0009ebb7, 0x000debb7, 0x0011ebb7,\r
+  0x0015ebb7, 0x0019ebb7, 0x001debb7, 0x0001f3b7, 0x0005f3b7, 0x0009f3b7,\r
+  0x000df3b7, 0x0011f3b7, 0x0015f3b7, 0x0019f3b7, 0x001df3b7, 0x0001fbb7,\r
+  0x0005fbb7, 0x0009fbb7, 0x000dfbb7, 0x0011fbb7, 0x0015fbb7, 0x0019fbb7,\r
+  0x001dfbb7, 0x0001c3c7, 0x0005c3c7, 0x0009c3c7, 0x000dc3c7, 0x0011c3c7,\r
+  0x0015c3c7, 0x0019c3c7, 0x001dc3c7, 0x0001cbc7, 0x0005cbc7, 0x0009cbc7,\r
+  0x000dcbc7, 0x0011cbc7, 0x0015cbc7, 0x0019cbc7, 0x001dcbc7, 0x0001d3c7,\r
+  0x0005d3c7, 0x0009d3c7, 0x000dd3c7, 0x0011d3c7, 0x0015d3c7, 0x0019d3c7,\r
+  0x001dd3c7, 0x0001dbc7, 0x0005dbc7, 0x0009dbc7, 0x000ddbc7, 0x0011dbc7,\r
+  0x0015dbc7, 0x0019dbc7, 0x001ddbc7, 0x0001e3c7, 0x0005e3c7, 0x0009e3c7,\r
+  0x000de3c7, 0x0011e3c7, 0x0015e3c7, 0x0019e3c7, 0x001de3c7, 0x0001ebc7,\r
+  0x0005ebc7, 0x0009ebc7, 0x000debc7, 0x0011ebc7, 0x0015ebc7, 0x0019ebc7,\r
+  0x001debc7, 0x0001f3c7, 0x0005f3c7, 0x0009f3c7, 0x000df3c7, 0x0011f3c7,\r
+  0x0015f3c7, 0x0019f3c7, 0x001df3c7, 0x0001fbc7, 0x0005fbc7, 0x0009fbc7,\r
+  0x000dfbc7, 0x0011fbc7, 0x0015fbc7, 0x0019fbc7, 0x001dfbc7, 0x0001c3d7,\r
+  0x0005c3d7, 0x0009c3d7, 0x000dc3d7, 0x0011c3d7, 0x0015c3d7, 0x0019c3d7,\r
+  0x001dc3d7, 0x0001cbd7, 0x0005cbd7, 0x0009cbd7, 0x000dcbd7, 0x0011cbd7,\r
+  0x0015cbd7, 0x0019cbd7, 0x001dcbd7, 0x0001d3d7, 0x0005d3d7, 0x0009d3d7,\r
+  0x000dd3d7, 0x0011d3d7, 0x0015d3d7, 0x0019d3d7, 0x001dd3d7, 0x0001dbd7,\r
+  0x0005dbd7, 0x0009dbd7, 0x000ddbd7, 0x0011dbd7, 0x0015dbd7, 0x0019dbd7,\r
+  0x001ddbd7, 0x0001e3d7, 0x0005e3d7, 0x0009e3d7, 0x000de3d7, 0x0011e3d7,\r
+  0x0015e3d7, 0x0019e3d7, 0x001de3d7, 0x0001ebd7, 0x0005ebd7, 0x0009ebd7,\r
+  0x000debd7, 0x0011ebd7, 0x0015ebd7, 0x0019ebd7, 0x001debd7, 0x0001f3d7,\r
+  0x0005f3d7, 0x0009f3d7, 0x000df3d7, 0x0011f3d7, 0x0015f3d7, 0x0019f3d7,\r
+  0x001df3d7, 0x0001fbd7, 0x0005fbd7, 0x0009fbd7, 0x000dfbd7, 0x0011fbd7,\r
+  0x0015fbd7, 0x0019fbd7, 0x001dfbd7, 0x0001c3e7, 0x0005c3e7, 0x0009c3e7,\r
+  0x000dc3e7, 0x0011c3e7, 0x0015c3e7, 0x0019c3e7, 0x001dc3e7, 0x0001cbe7,\r
+  0x0005cbe7, 0x0009cbe7, 0x000dcbe7, 0x0011cbe7, 0x0015cbe7, 0x0019cbe7,\r
+  0x001dcbe7, 0x0001d3e7, 0x0005d3e7, 0x0009d3e7, 0x000dd3e7, 0x0011d3e7,\r
+  0x0015d3e7, 0x0019d3e7, 0x001dd3e7, 0x0001dbe7, 0x0005dbe7, 0x0009dbe7,\r
+  0x000ddbe7, 0x0011dbe7, 0x0015dbe7, 0x0019dbe7, 0x001ddbe7, 0x0001e3e7,\r
+  0x0005e3e7, 0x0009e3e7, 0x000de3e7, 0x0011e3e7, 0x0015e3e7, 0x0019e3e7,\r
+  0x001de3e7, 0x0001ebe7, 0x0005ebe7, 0x0009ebe7, 0x000debe7, 0x0011ebe7,\r
+  0x0015ebe7, 0x0019ebe7, 0x001debe7, 0x0001f3e7, 0x0005f3e7, 0x0009f3e7,\r
+  0x000df3e7, 0x0011f3e7, 0x0015f3e7, 0x0019f3e7, 0x001df3e7, 0x0001fbe7,\r
+  0x0005fbe7, 0x0009fbe7, 0x000dfbe7, 0x0011fbe7, 0x0015fbe7, 0x0019fbe7,\r
+  0x001dfbe7, 0x0001c3f7, 0x0005c3f7, 0x0009c3f7, 0x000dc3f7, 0x0011c3f7,\r
+  0x0015c3f7, 0x0019c3f7, 0x001dc3f7, 0x0001cbf7, 0x0005cbf7, 0x0009cbf7,\r
+  0x000dcbf7, 0x0011cbf7, 0x0015cbf7, 0x0019cbf7, 0x001dcbf7, 0x0001d3f7,\r
+  0x0005d3f7, 0x0009d3f7, 0x000dd3f7, 0x0011d3f7, 0x0015d3f7, 0x0019d3f7,\r
+  0x001dd3f7, 0x0001dbf7, 0x0005dbf7, 0x0009dbf7, 0x000ddbf7, 0x0011dbf7,\r
+  0x0015dbf7, 0x0019dbf7, 0x001ddbf7, 0x0001e3f7, 0x0005e3f7, 0x0009e3f7,\r
+  0x000de3f7, 0x0011e3f7, 0x0015e3f7, 0x0019e3f7, 0x001de3f7, 0x0001ebf7,\r
+  0x0005ebf7, 0x0009ebf7, 0x000debf7, 0x0011ebf7, 0x0015ebf7, 0x0019ebf7,\r
+  0x001debf7, 0x0001f3f7, 0x0005f3f7, 0x0009f3f7, 0x000df3f7, 0x0011f3f7,\r
+  0x0015f3f7, 0x0019f3f7, 0x001df3f7, 0x0001fbf7, 0x0005fbf7, 0x0009fbf7,\r
+  0x000dfbf7, 0x0011fbf7, 0x0015fbf7, 0x0019fbf7, 0x001dfbf7, 0x00e1c387,\r
+  0x02e1c387, 0x04e1c387, 0x06e1c387, 0x08e1c387, 0x0ae1c387, 0x0ce1c387,\r
+  0x0ee1c387, 0x00e5c387, 0x02e5c387, 0x04e5c387, 0x06e5c387, 0x08e5c387,\r
+  0x0ae5c387, 0x0ce5c387, 0x0ee5c387, 0x00e9c387, 0x02e9c387, 0x04e9c387,\r
+  0x06e9c387, 0x08e9c387, 0x0ae9c387, 0x0ce9c387, 0x0ee9c387, 0x00edc387,\r
+  0x02edc387, 0x04edc387, 0x06edc387, 0x08edc387, 0x0aedc387, 0x0cedc387,\r
+  0x0eedc387, 0x00f1c387, 0x02f1c387, 0x04f1c387, 0x06f1c387, 0x08f1c387,\r
+  0x0af1c387, 0x0cf1c387, 0x0ef1c387, 0x00f5c387, 0x02f5c387, 0x04f5c387,\r
+  0x06f5c387, 0x08f5c387, 0x0af5c387, 0x0cf5c387, 0x0ef5c387, 0x00f9c387,\r
+  0x02f9c387, 0x04f9c387, 0x06f9c387, 0x08f9c387, 0x0af9c387, 0x0cf9c387,\r
+  0x0ef9c387, 0x00fdc387, 0x02fdc387, 0x04fdc387, 0x06fdc387, 0x08fdc387,\r
+  0x0afdc387, 0x0cfdc387, 0x0efdc387, 0x00e1cb87, 0x02e1cb87, 0x04e1cb87,\r
+  0x06e1cb87, 0x08e1cb87, 0x0ae1cb87, 0x0ce1cb87, 0x0ee1cb87, 0x00e5cb87,\r
+  0x02e5cb87, 0x04e5cb87, 0x06e5cb87, 0x08e5cb87, 0x0ae5cb87, 0x0ce5cb87,\r
+  0x0ee5cb87, 0x00e9cb87, 0x02e9cb87, 0x04e9cb87, 0x06e9cb87, 0x08e9cb87,\r
+  0x0ae9cb87, 0x0ce9cb87, 0x0ee9cb87, 0x00edcb87, 0x02edcb87, 0x04edcb87,\r
+  0x06edcb87, 0x08edcb87, 0x0aedcb87, 0x0cedcb87, 0x0eedcb87, 0x00f1cb87,\r
+  0x02f1cb87, 0x04f1cb87, 0x06f1cb87, 0x08f1cb87, 0x0af1cb87, 0x0cf1cb87,\r
+  0x0ef1cb87, 0x00f5cb87, 0x02f5cb87, 0x04f5cb87, 0x06f5cb87, 0x08f5cb87,\r
+  0x0af5cb87, 0x0cf5cb87, 0x0ef5cb87, 0x00f9cb87, 0x02f9cb87, 0x04f9cb87,\r
+  0x06f9cb87, 0x08f9cb87,\r
+};\r
+\r
+static const uint32_t kZeroRepsDepth[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+   0,  4,  8,  7,  7,  7,  7,  7,  7,  7,  7, 11, 14, 14, 14, 14,\r
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\r
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\r
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,\r
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,\r
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,\r
+};\r
+\r
+static const uint64_t kNonZeroRepsBits[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+  0x0000000b, 0x0000001b, 0x0000002b, 0x0000003b, 0x000002cb, 0x000006cb,\r
+  0x00000acb, 0x00000ecb, 0x000002db, 0x000006db, 0x00000adb, 0x00000edb,\r
+  0x000002eb, 0x000006eb, 0x00000aeb, 0x00000eeb, 0x000002fb, 0x000006fb,\r
+  0x00000afb, 0x00000efb, 0x0000b2cb, 0x0001b2cb, 0x0002b2cb, 0x0003b2cb,\r
+  0x0000b6cb, 0x0001b6cb, 0x0002b6cb, 0x0003b6cb, 0x0000bacb, 0x0001bacb,\r
+  0x0002bacb, 0x0003bacb, 0x0000becb, 0x0001becb, 0x0002becb, 0x0003becb,\r
+  0x0000b2db, 0x0001b2db, 0x0002b2db, 0x0003b2db, 0x0000b6db, 0x0001b6db,\r
+  0x0002b6db, 0x0003b6db, 0x0000badb, 0x0001badb, 0x0002badb, 0x0003badb,\r
+  0x0000bedb, 0x0001bedb, 0x0002bedb, 0x0003bedb, 0x0000b2eb, 0x0001b2eb,\r
+  0x0002b2eb, 0x0003b2eb, 0x0000b6eb, 0x0001b6eb, 0x0002b6eb, 0x0003b6eb,\r
+  0x0000baeb, 0x0001baeb, 0x0002baeb, 0x0003baeb, 0x0000beeb, 0x0001beeb,\r
+  0x0002beeb, 0x0003beeb, 0x0000b2fb, 0x0001b2fb, 0x0002b2fb, 0x0003b2fb,\r
+  0x0000b6fb, 0x0001b6fb, 0x0002b6fb, 0x0003b6fb, 0x0000bafb, 0x0001bafb,\r
+  0x0002bafb, 0x0003bafb, 0x0000befb, 0x0001befb, 0x0002befb, 0x0003befb,\r
+  0x002cb2cb, 0x006cb2cb, 0x00acb2cb, 0x00ecb2cb, 0x002db2cb, 0x006db2cb,\r
+  0x00adb2cb, 0x00edb2cb, 0x002eb2cb, 0x006eb2cb, 0x00aeb2cb, 0x00eeb2cb,\r
+  0x002fb2cb, 0x006fb2cb, 0x00afb2cb, 0x00efb2cb, 0x002cb6cb, 0x006cb6cb,\r
+  0x00acb6cb, 0x00ecb6cb, 0x002db6cb, 0x006db6cb, 0x00adb6cb, 0x00edb6cb,\r
+  0x002eb6cb, 0x006eb6cb, 0x00aeb6cb, 0x00eeb6cb, 0x002fb6cb, 0x006fb6cb,\r
+  0x00afb6cb, 0x00efb6cb, 0x002cbacb, 0x006cbacb, 0x00acbacb, 0x00ecbacb,\r
+  0x002dbacb, 0x006dbacb, 0x00adbacb, 0x00edbacb, 0x002ebacb, 0x006ebacb,\r
+  0x00aebacb, 0x00eebacb, 0x002fbacb, 0x006fbacb, 0x00afbacb, 0x00efbacb,\r
+  0x002cbecb, 0x006cbecb, 0x00acbecb, 0x00ecbecb, 0x002dbecb, 0x006dbecb,\r
+  0x00adbecb, 0x00edbecb, 0x002ebecb, 0x006ebecb, 0x00aebecb, 0x00eebecb,\r
+  0x002fbecb, 0x006fbecb, 0x00afbecb, 0x00efbecb, 0x002cb2db, 0x006cb2db,\r
+  0x00acb2db, 0x00ecb2db, 0x002db2db, 0x006db2db, 0x00adb2db, 0x00edb2db,\r
+  0x002eb2db, 0x006eb2db, 0x00aeb2db, 0x00eeb2db, 0x002fb2db, 0x006fb2db,\r
+  0x00afb2db, 0x00efb2db, 0x002cb6db, 0x006cb6db, 0x00acb6db, 0x00ecb6db,\r
+  0x002db6db, 0x006db6db, 0x00adb6db, 0x00edb6db, 0x002eb6db, 0x006eb6db,\r
+  0x00aeb6db, 0x00eeb6db, 0x002fb6db, 0x006fb6db, 0x00afb6db, 0x00efb6db,\r
+  0x002cbadb, 0x006cbadb, 0x00acbadb, 0x00ecbadb, 0x002dbadb, 0x006dbadb,\r
+  0x00adbadb, 0x00edbadb, 0x002ebadb, 0x006ebadb, 0x00aebadb, 0x00eebadb,\r
+  0x002fbadb, 0x006fbadb, 0x00afbadb, 0x00efbadb, 0x002cbedb, 0x006cbedb,\r
+  0x00acbedb, 0x00ecbedb, 0x002dbedb, 0x006dbedb, 0x00adbedb, 0x00edbedb,\r
+  0x002ebedb, 0x006ebedb, 0x00aebedb, 0x00eebedb, 0x002fbedb, 0x006fbedb,\r
+  0x00afbedb, 0x00efbedb, 0x002cb2eb, 0x006cb2eb, 0x00acb2eb, 0x00ecb2eb,\r
+  0x002db2eb, 0x006db2eb, 0x00adb2eb, 0x00edb2eb, 0x002eb2eb, 0x006eb2eb,\r
+  0x00aeb2eb, 0x00eeb2eb, 0x002fb2eb, 0x006fb2eb, 0x00afb2eb, 0x00efb2eb,\r
+  0x002cb6eb, 0x006cb6eb, 0x00acb6eb, 0x00ecb6eb, 0x002db6eb, 0x006db6eb,\r
+  0x00adb6eb, 0x00edb6eb, 0x002eb6eb, 0x006eb6eb, 0x00aeb6eb, 0x00eeb6eb,\r
+  0x002fb6eb, 0x006fb6eb, 0x00afb6eb, 0x00efb6eb, 0x002cbaeb, 0x006cbaeb,\r
+  0x00acbaeb, 0x00ecbaeb, 0x002dbaeb, 0x006dbaeb, 0x00adbaeb, 0x00edbaeb,\r
+  0x002ebaeb, 0x006ebaeb, 0x00aebaeb, 0x00eebaeb, 0x002fbaeb, 0x006fbaeb,\r
+  0x00afbaeb, 0x00efbaeb, 0x002cbeeb, 0x006cbeeb, 0x00acbeeb, 0x00ecbeeb,\r
+  0x002dbeeb, 0x006dbeeb, 0x00adbeeb, 0x00edbeeb, 0x002ebeeb, 0x006ebeeb,\r
+  0x00aebeeb, 0x00eebeeb, 0x002fbeeb, 0x006fbeeb, 0x00afbeeb, 0x00efbeeb,\r
+  0x002cb2fb, 0x006cb2fb, 0x00acb2fb, 0x00ecb2fb, 0x002db2fb, 0x006db2fb,\r
+  0x00adb2fb, 0x00edb2fb, 0x002eb2fb, 0x006eb2fb, 0x00aeb2fb, 0x00eeb2fb,\r
+  0x002fb2fb, 0x006fb2fb, 0x00afb2fb, 0x00efb2fb, 0x002cb6fb, 0x006cb6fb,\r
+  0x00acb6fb, 0x00ecb6fb, 0x002db6fb, 0x006db6fb, 0x00adb6fb, 0x00edb6fb,\r
+  0x002eb6fb, 0x006eb6fb, 0x00aeb6fb, 0x00eeb6fb, 0x002fb6fb, 0x006fb6fb,\r
+  0x00afb6fb, 0x00efb6fb, 0x002cbafb, 0x006cbafb, 0x00acbafb, 0x00ecbafb,\r
+  0x002dbafb, 0x006dbafb, 0x00adbafb, 0x00edbafb, 0x002ebafb, 0x006ebafb,\r
+  0x00aebafb, 0x00eebafb, 0x002fbafb, 0x006fbafb, 0x00afbafb, 0x00efbafb,\r
+  0x002cbefb, 0x006cbefb, 0x00acbefb, 0x00ecbefb, 0x002dbefb, 0x006dbefb,\r
+  0x00adbefb, 0x00edbefb, 0x002ebefb, 0x006ebefb, 0x00aebefb, 0x00eebefb,\r
+  0x002fbefb, 0x006fbefb, 0x00afbefb, 0x00efbefb, 0x0b2cb2cb, 0x1b2cb2cb,\r
+  0x2b2cb2cb, 0x3b2cb2cb, 0x0b6cb2cb, 0x1b6cb2cb, 0x2b6cb2cb, 0x3b6cb2cb,\r
+  0x0bacb2cb, 0x1bacb2cb, 0x2bacb2cb, 0x3bacb2cb, 0x0becb2cb, 0x1becb2cb,\r
+  0x2becb2cb, 0x3becb2cb, 0x0b2db2cb, 0x1b2db2cb, 0x2b2db2cb, 0x3b2db2cb,\r
+  0x0b6db2cb, 0x1b6db2cb, 0x2b6db2cb, 0x3b6db2cb, 0x0badb2cb, 0x1badb2cb,\r
+  0x2badb2cb, 0x3badb2cb, 0x0bedb2cb, 0x1bedb2cb, 0x2bedb2cb, 0x3bedb2cb,\r
+  0x0b2eb2cb, 0x1b2eb2cb, 0x2b2eb2cb, 0x3b2eb2cb, 0x0b6eb2cb, 0x1b6eb2cb,\r
+  0x2b6eb2cb, 0x3b6eb2cb, 0x0baeb2cb, 0x1baeb2cb, 0x2baeb2cb, 0x3baeb2cb,\r
+  0x0beeb2cb, 0x1beeb2cb, 0x2beeb2cb, 0x3beeb2cb, 0x0b2fb2cb, 0x1b2fb2cb,\r
+  0x2b2fb2cb, 0x3b2fb2cb, 0x0b6fb2cb, 0x1b6fb2cb, 0x2b6fb2cb, 0x3b6fb2cb,\r
+  0x0bafb2cb, 0x1bafb2cb, 0x2bafb2cb, 0x3bafb2cb, 0x0befb2cb, 0x1befb2cb,\r
+  0x2befb2cb, 0x3befb2cb, 0x0b2cb6cb, 0x1b2cb6cb, 0x2b2cb6cb, 0x3b2cb6cb,\r
+  0x0b6cb6cb, 0x1b6cb6cb, 0x2b6cb6cb, 0x3b6cb6cb, 0x0bacb6cb, 0x1bacb6cb,\r
+  0x2bacb6cb, 0x3bacb6cb, 0x0becb6cb, 0x1becb6cb, 0x2becb6cb, 0x3becb6cb,\r
+  0x0b2db6cb, 0x1b2db6cb, 0x2b2db6cb, 0x3b2db6cb, 0x0b6db6cb, 0x1b6db6cb,\r
+  0x2b6db6cb, 0x3b6db6cb, 0x0badb6cb, 0x1badb6cb, 0x2badb6cb, 0x3badb6cb,\r
+  0x0bedb6cb, 0x1bedb6cb, 0x2bedb6cb, 0x3bedb6cb, 0x0b2eb6cb, 0x1b2eb6cb,\r
+  0x2b2eb6cb, 0x3b2eb6cb, 0x0b6eb6cb, 0x1b6eb6cb, 0x2b6eb6cb, 0x3b6eb6cb,\r
+  0x0baeb6cb, 0x1baeb6cb, 0x2baeb6cb, 0x3baeb6cb, 0x0beeb6cb, 0x1beeb6cb,\r
+  0x2beeb6cb, 0x3beeb6cb, 0x0b2fb6cb, 0x1b2fb6cb, 0x2b2fb6cb, 0x3b2fb6cb,\r
+  0x0b6fb6cb, 0x1b6fb6cb, 0x2b6fb6cb, 0x3b6fb6cb, 0x0bafb6cb, 0x1bafb6cb,\r
+  0x2bafb6cb, 0x3bafb6cb, 0x0befb6cb, 0x1befb6cb, 0x2befb6cb, 0x3befb6cb,\r
+  0x0b2cbacb, 0x1b2cbacb, 0x2b2cbacb, 0x3b2cbacb, 0x0b6cbacb, 0x1b6cbacb,\r
+  0x2b6cbacb, 0x3b6cbacb, 0x0bacbacb, 0x1bacbacb, 0x2bacbacb, 0x3bacbacb,\r
+  0x0becbacb, 0x1becbacb, 0x2becbacb, 0x3becbacb, 0x0b2dbacb, 0x1b2dbacb,\r
+  0x2b2dbacb, 0x3b2dbacb, 0x0b6dbacb, 0x1b6dbacb, 0x2b6dbacb, 0x3b6dbacb,\r
+  0x0badbacb, 0x1badbacb, 0x2badbacb, 0x3badbacb, 0x0bedbacb, 0x1bedbacb,\r
+  0x2bedbacb, 0x3bedbacb, 0x0b2ebacb, 0x1b2ebacb, 0x2b2ebacb, 0x3b2ebacb,\r
+  0x0b6ebacb, 0x1b6ebacb, 0x2b6ebacb, 0x3b6ebacb, 0x0baebacb, 0x1baebacb,\r
+  0x2baebacb, 0x3baebacb, 0x0beebacb, 0x1beebacb, 0x2beebacb, 0x3beebacb,\r
+  0x0b2fbacb, 0x1b2fbacb, 0x2b2fbacb, 0x3b2fbacb, 0x0b6fbacb, 0x1b6fbacb,\r
+  0x2b6fbacb, 0x3b6fbacb, 0x0bafbacb, 0x1bafbacb, 0x2bafbacb, 0x3bafbacb,\r
+  0x0befbacb, 0x1befbacb, 0x2befbacb, 0x3befbacb, 0x0b2cbecb, 0x1b2cbecb,\r
+  0x2b2cbecb, 0x3b2cbecb, 0x0b6cbecb, 0x1b6cbecb, 0x2b6cbecb, 0x3b6cbecb,\r
+  0x0bacbecb, 0x1bacbecb, 0x2bacbecb, 0x3bacbecb, 0x0becbecb, 0x1becbecb,\r
+  0x2becbecb, 0x3becbecb, 0x0b2dbecb, 0x1b2dbecb, 0x2b2dbecb, 0x3b2dbecb,\r
+  0x0b6dbecb, 0x1b6dbecb, 0x2b6dbecb, 0x3b6dbecb, 0x0badbecb, 0x1badbecb,\r
+  0x2badbecb, 0x3badbecb, 0x0bedbecb, 0x1bedbecb, 0x2bedbecb, 0x3bedbecb,\r
+  0x0b2ebecb, 0x1b2ebecb, 0x2b2ebecb, 0x3b2ebecb, 0x0b6ebecb, 0x1b6ebecb,\r
+  0x2b6ebecb, 0x3b6ebecb, 0x0baebecb, 0x1baebecb, 0x2baebecb, 0x3baebecb,\r
+  0x0beebecb, 0x1beebecb, 0x2beebecb, 0x3beebecb, 0x0b2fbecb, 0x1b2fbecb,\r
+  0x2b2fbecb, 0x3b2fbecb, 0x0b6fbecb, 0x1b6fbecb, 0x2b6fbecb, 0x3b6fbecb,\r
+  0x0bafbecb, 0x1bafbecb, 0x2bafbecb, 0x3bafbecb, 0x0befbecb, 0x1befbecb,\r
+  0x2befbecb, 0x3befbecb, 0x0b2cb2db, 0x1b2cb2db, 0x2b2cb2db, 0x3b2cb2db,\r
+  0x0b6cb2db, 0x1b6cb2db, 0x2b6cb2db, 0x3b6cb2db, 0x0bacb2db, 0x1bacb2db,\r
+  0x2bacb2db, 0x3bacb2db, 0x0becb2db, 0x1becb2db, 0x2becb2db, 0x3becb2db,\r
+  0x0b2db2db, 0x1b2db2db, 0x2b2db2db, 0x3b2db2db, 0x0b6db2db, 0x1b6db2db,\r
+  0x2b6db2db, 0x3b6db2db, 0x0badb2db, 0x1badb2db, 0x2badb2db, 0x3badb2db,\r
+  0x0bedb2db, 0x1bedb2db, 0x2bedb2db, 0x3bedb2db, 0x0b2eb2db, 0x1b2eb2db,\r
+  0x2b2eb2db, 0x3b2eb2db, 0x0b6eb2db, 0x1b6eb2db, 0x2b6eb2db, 0x3b6eb2db,\r
+  0x0baeb2db, 0x1baeb2db, 0x2baeb2db, 0x3baeb2db, 0x0beeb2db, 0x1beeb2db,\r
+  0x2beeb2db, 0x3beeb2db, 0x0b2fb2db, 0x1b2fb2db, 0x2b2fb2db, 0x3b2fb2db,\r
+  0x0b6fb2db, 0x1b6fb2db, 0x2b6fb2db, 0x3b6fb2db, 0x0bafb2db, 0x1bafb2db,\r
+  0x2bafb2db, 0x3bafb2db, 0x0befb2db, 0x1befb2db, 0x2befb2db, 0x3befb2db,\r
+  0x0b2cb6db, 0x1b2cb6db, 0x2b2cb6db, 0x3b2cb6db, 0x0b6cb6db, 0x1b6cb6db,\r
+  0x2b6cb6db, 0x3b6cb6db, 0x0bacb6db, 0x1bacb6db, 0x2bacb6db, 0x3bacb6db,\r
+  0x0becb6db, 0x1becb6db, 0x2becb6db, 0x3becb6db, 0x0b2db6db, 0x1b2db6db,\r
+  0x2b2db6db, 0x3b2db6db, 0x0b6db6db, 0x1b6db6db, 0x2b6db6db, 0x3b6db6db,\r
+  0x0badb6db, 0x1badb6db, 0x2badb6db, 0x3badb6db, 0x0bedb6db, 0x1bedb6db,\r
+  0x2bedb6db, 0x3bedb6db, 0x0b2eb6db, 0x1b2eb6db, 0x2b2eb6db, 0x3b2eb6db,\r
+  0x0b6eb6db, 0x1b6eb6db, 0x2b6eb6db, 0x3b6eb6db, 0x0baeb6db, 0x1baeb6db,\r
+  0x2baeb6db, 0x3baeb6db,\r
+};\r
+\r
+static const uint32_t kNonZeroRepsDepth[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+   6,  6,  6,  6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\r
+  12, 12, 12, 12, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,\r
+  18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,\r
+  18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,\r
+  18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,\r
+  18, 18, 18, 18, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\r
+  24, 24, 24, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,\r
+};\r
+\r
+static const uint16_t kStaticCommandCodeBits[BROTLI_NUM_COMMAND_SYMBOLS] = {\r
+    0,  256,  128,  384,   64,  320,  192,  448,\r
+   32,  288,  160,  416,   96,  352,  224,  480,\r
+   16,  272,  144,  400,   80,  336,  208,  464,\r
+   48,  304,  176,  432,  112,  368,  240,  496,\r
+    8,  264,  136,  392,   72,  328,  200,  456,\r
+   40,  296,  168,  424,  104,  360,  232,  488,\r
+   24,  280,  152,  408,   88,  344,  216,  472,\r
+   56,  312,  184,  440,  120,  376,  248,  504,\r
+    4,  260,  132,  388,   68,  324,  196,  452,\r
+   36,  292,  164,  420,  100,  356,  228,  484,\r
+   20,  276,  148,  404,   84,  340,  212,  468,\r
+   52,  308,  180,  436,  116,  372,  244,  500,\r
+   12,  268,  140,  396,   76,  332,  204,  460,\r
+   44,  300,  172,  428,  108,  364,  236,  492,\r
+   28,  284,  156,  412,   92,  348,  220,  476,\r
+   60,  316,  188,  444,  124,  380,  252,  508,\r
+    2,  258,  130,  386,   66,  322,  194,  450,\r
+   34,  290,  162,  418,   98,  354,  226,  482,\r
+   18,  274,  146,  402,   82,  338,  210,  466,\r
+   50,  306,  178,  434,  114,  370,  242,  498,\r
+   10,  266,  138,  394,   74,  330,  202,  458,\r
+   42,  298,  170,  426,  106,  362,  234,  490,\r
+   26,  282,  154,  410,   90,  346,  218,  474,\r
+   58,  314,  186,  442,  122,  378,  250,  506,\r
+    6,  262,  134,  390,   70,  326,  198,  454,\r
+   38,  294,  166,  422,  102,  358,  230,  486,\r
+   22,  278,  150,  406,   86,  342,  214,  470,\r
+   54,  310,  182,  438,  118,  374,  246,  502,\r
+   14,  270,  142,  398,   78,  334,  206,  462,\r
+   46,  302,  174,  430,  110,  366,  238,  494,\r
+   30,  286,  158,  414,   94,  350,  222,  478,\r
+   62,  318,  190,  446,  126,  382,  254,  510,\r
+    1,  257,  129,  385,   65,  321,  193,  449,\r
+   33,  289,  161,  417,   97,  353,  225,  481,\r
+   17,  273,  145,  401,   81,  337,  209,  465,\r
+   49,  305,  177,  433,  113,  369,  241,  497,\r
+    9,  265,  137,  393,   73,  329,  201,  457,\r
+   41,  297,  169,  425,  105,  361,  233,  489,\r
+   25,  281,  153,  409,   89,  345,  217,  473,\r
+   57,  313,  185,  441,  121,  377,  249,  505,\r
+    5,  261,  133,  389,   69,  325,  197,  453,\r
+   37,  293,  165,  421,  101,  357,  229,  485,\r
+   21,  277,  149,  405,   85,  341,  213,  469,\r
+   53,  309,  181,  437,  117,  373,  245,  501,\r
+   13,  269,  141,  397,   77,  333,  205,  461,\r
+   45,  301,  173,  429,  109,  365,  237,  493,\r
+   29,  285,  157,  413,   93,  349,  221,  477,\r
+   61,  317,  189,  445,  125,  381,  253,  509,\r
+    3,  259,  131,  387,   67,  323,  195,  451,\r
+   35,  291,  163,  419,   99,  355,  227,  483,\r
+   19,  275,  147,  403,   83,  339,  211,  467,\r
+   51,  307,  179,  435,  115,  371,  243,  499,\r
+   11,  267,  139,  395,   75,  331,  203,  459,\r
+   43,  299,  171,  427,  107,  363,  235,  491,\r
+   27,  283,  155,  411,   91,  347,  219,  475,\r
+   59,  315,  187,  443,  123,  379,  251,  507,\r
+    7, 1031,  519, 1543,  263, 1287,  775, 1799,\r
+  135, 1159,  647, 1671,  391, 1415,  903, 1927,\r
+   71, 1095,  583, 1607,  327, 1351,  839, 1863,\r
+  199, 1223,  711, 1735,  455, 1479,  967, 1991,\r
+   39, 1063,  551, 1575,  295, 1319,  807, 1831,\r
+  167, 1191,  679, 1703,  423, 1447,  935, 1959,\r
+  103, 1127,  615, 1639,  359, 1383,  871, 1895,\r
+  231, 1255,  743, 1767,  487, 1511,  999, 2023,\r
+   23, 1047,  535, 1559,  279, 1303,  791, 1815,\r
+  151, 1175,  663, 1687,  407, 1431,  919, 1943,\r
+   87, 1111,  599, 1623,  343, 1367,  855, 1879,\r
+  215, 1239,  727, 1751,  471, 1495,  983, 2007,\r
+   55, 1079,  567, 1591,  311, 1335,  823, 1847,\r
+  183, 1207,  695, 1719,  439, 1463,  951, 1975,\r
+  119, 1143,  631, 1655,  375, 1399,  887, 1911,\r
+  247, 1271,  759, 1783,  503, 1527, 1015, 2039,\r
+   15, 1039,  527, 1551,  271, 1295,  783, 1807,\r
+  143, 1167,  655, 1679,  399, 1423,  911, 1935,\r
+   79, 1103,  591, 1615,  335, 1359,  847, 1871,\r
+  207, 1231,  719, 1743,  463, 1487,  975, 1999,\r
+   47, 1071,  559, 1583,  303, 1327,  815, 1839,\r
+  175, 1199,  687, 1711,  431, 1455,  943, 1967,\r
+  111, 1135,  623, 1647,  367, 1391,  879, 1903,\r
+  239, 1263,  751, 1775,  495, 1519, 1007, 2031,\r
+   31, 1055,  543, 1567,  287, 1311,  799, 1823,\r
+  159, 1183,  671, 1695,  415, 1439,  927, 1951,\r
+   95, 1119,  607, 1631,  351, 1375,  863, 1887,\r
+  223, 1247,  735, 1759,  479, 1503,  991, 2015,\r
+   63, 1087,  575, 1599,  319, 1343,  831, 1855,\r
+  191, 1215,  703, 1727,  447, 1471,  959, 1983,\r
+  127, 1151,  639, 1663,  383, 1407,  895, 1919,\r
+  255, 1279,  767, 1791,  511, 1535, 1023, 2047,\r
+};\r
+\r
+static BROTLI_INLINE void StoreStaticCommandHuffmanTree(\r
+    size_t* storage_ix, uint8_t* storage) {\r
+  BrotliWriteBits(\r
+      56, MAKE_UINT64_T(0x926244U, 0x16307003U), storage_ix, storage);\r
+  BrotliWriteBits(3, 0x00000000U, storage_ix, storage);\r
+}\r
+\r
+static const uint16_t kStaticDistanceCodeBits[64] = {\r
+   0, 32, 16, 48,  8, 40, 24, 56,  4, 36, 20, 52, 12, 44, 28, 60,\r
+   2, 34, 18, 50, 10, 42, 26, 58,  6, 38, 22, 54, 14, 46, 30, 62,\r
+   1, 33, 17, 49,  9, 41, 25, 57,  5, 37, 21, 53, 13, 45, 29, 61,\r
+   3, 35, 19, 51, 11, 43, 27, 59,  7, 39, 23, 55, 15, 47, 31, 63,\r
+};\r
+\r
+static BROTLI_INLINE void StoreStaticDistanceHuffmanTree(\r
+    size_t* storage_ix, uint8_t* storage) {\r
+  BrotliWriteBits(28, 0x0369dc03U, storage_ix, storage);\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/fast_log.h b/BaseTools/Source/C/BrotliCompress/enc/fast_log.h
new file mode 100644 (file)
index 0000000..b59ff7d
--- /dev/null
@@ -0,0 +1,145 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Utilities for fast computation of logarithms. */\r
+\r
+#ifndef BROTLI_ENC_FAST_LOG_H_\r
+#define BROTLI_ENC_FAST_LOG_H_\r
+\r
+#include <math.h>\r
+\r
+#include "../common/types.h"\r
+#include "../common/port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static BROTLI_INLINE uint32_t Log2FloorNonZero(size_t n) {\r
+#ifdef __GNUC__\r
+  return 31u ^ (uint32_t)__builtin_clz((uint32_t)n);\r
+#else\r
+  uint32_t result = 0;\r
+  while (n >>= 1) result++;\r
+  return result;\r
+#endif\r
+}\r
+\r
+/* A lookup table for small values of log2(int) to be used in entropy\r
+   computation.\r
+\r
+   ", ".join(["%.16ff" % x for x in [0.0]+[log2(x) for x in range(1, 256)]]) */\r
+static const float kLog2Table[] = {\r
+  0.0000000000000000f, 0.0000000000000000f, 1.0000000000000000f,\r
+  1.5849625007211563f, 2.0000000000000000f, 2.3219280948873622f,\r
+  2.5849625007211561f, 2.8073549220576042f, 3.0000000000000000f,\r
+  3.1699250014423126f, 3.3219280948873626f, 3.4594316186372978f,\r
+  3.5849625007211565f, 3.7004397181410922f, 3.8073549220576037f,\r
+  3.9068905956085187f, 4.0000000000000000f, 4.0874628412503400f,\r
+  4.1699250014423122f, 4.2479275134435852f, 4.3219280948873626f,\r
+  4.3923174227787607f, 4.4594316186372973f, 4.5235619560570131f,\r
+  4.5849625007211570f, 4.6438561897747244f, 4.7004397181410926f,\r
+  4.7548875021634691f, 4.8073549220576037f, 4.8579809951275728f,\r
+  4.9068905956085187f, 4.9541963103868758f, 5.0000000000000000f,\r
+  5.0443941193584534f, 5.0874628412503400f, 5.1292830169449664f,\r
+  5.1699250014423122f, 5.2094533656289501f, 5.2479275134435852f,\r
+  5.2854022188622487f, 5.3219280948873626f, 5.3575520046180838f,\r
+  5.3923174227787607f, 5.4262647547020979f, 5.4594316186372973f,\r
+  5.4918530963296748f, 5.5235619560570131f, 5.5545888516776376f,\r
+  5.5849625007211570f, 5.6147098441152083f, 5.6438561897747244f,\r
+  5.6724253419714961f, 5.7004397181410926f, 5.7279204545631996f,\r
+  5.7548875021634691f, 5.7813597135246599f, 5.8073549220576046f,\r
+  5.8328900141647422f, 5.8579809951275719f, 5.8826430493618416f,\r
+  5.9068905956085187f, 5.9307373375628867f, 5.9541963103868758f,\r
+  5.9772799234999168f, 6.0000000000000000f, 6.0223678130284544f,\r
+  6.0443941193584534f, 6.0660891904577721f, 6.0874628412503400f,\r
+  6.1085244567781700f, 6.1292830169449672f, 6.1497471195046822f,\r
+  6.1699250014423122f, 6.1898245588800176f, 6.2094533656289510f,\r
+  6.2288186904958804f, 6.2479275134435861f, 6.2667865406949019f,\r
+  6.2854022188622487f, 6.3037807481771031f, 6.3219280948873617f,\r
+  6.3398500028846252f, 6.3575520046180847f, 6.3750394313469254f,\r
+  6.3923174227787598f, 6.4093909361377026f, 6.4262647547020979f,\r
+  6.4429434958487288f, 6.4594316186372982f, 6.4757334309663976f,\r
+  6.4918530963296748f, 6.5077946401986964f, 6.5235619560570131f,\r
+  6.5391588111080319f, 6.5545888516776376f, 6.5698556083309478f,\r
+  6.5849625007211561f, 6.5999128421871278f, 6.6147098441152092f,\r
+  6.6293566200796095f, 6.6438561897747253f, 6.6582114827517955f,\r
+  6.6724253419714952f, 6.6865005271832185f, 6.7004397181410917f,\r
+  6.7142455176661224f, 6.7279204545631988f, 6.7414669864011465f,\r
+  6.7548875021634691f, 6.7681843247769260f, 6.7813597135246599f,\r
+  6.7944158663501062f, 6.8073549220576037f, 6.8201789624151887f,\r
+  6.8328900141647422f, 6.8454900509443757f, 6.8579809951275719f,\r
+  6.8703647195834048f, 6.8826430493618416f, 6.8948177633079437f,\r
+  6.9068905956085187f, 6.9188632372745955f, 6.9307373375628867f,\r
+  6.9425145053392399f, 6.9541963103868758f, 6.9657842846620879f,\r
+  6.9772799234999168f, 6.9886846867721664f, 7.0000000000000000f,\r
+  7.0112272554232540f, 7.0223678130284544f, 7.0334230015374501f,\r
+  7.0443941193584534f, 7.0552824355011898f, 7.0660891904577721f,\r
+  7.0768155970508317f, 7.0874628412503400f, 7.0980320829605272f,\r
+  7.1085244567781700f, 7.1189410727235076f, 7.1292830169449664f,\r
+  7.1395513523987937f, 7.1497471195046822f, 7.1598713367783891f,\r
+  7.1699250014423130f, 7.1799090900149345f, 7.1898245588800176f,\r
+  7.1996723448363644f, 7.2094533656289492f, 7.2191685204621621f,\r
+  7.2288186904958804f, 7.2384047393250794f, 7.2479275134435861f,\r
+  7.2573878426926521f, 7.2667865406949019f, 7.2761244052742384f,\r
+  7.2854022188622487f, 7.2946207488916270f, 7.3037807481771031f,\r
+  7.3128829552843557f, 7.3219280948873617f, 7.3309168781146177f,\r
+  7.3398500028846243f, 7.3487281542310781f, 7.3575520046180847f,\r
+  7.3663222142458151f, 7.3750394313469254f, 7.3837042924740528f,\r
+  7.3923174227787607f, 7.4008794362821844f, 7.4093909361377026f,\r
+  7.4178525148858991f, 7.4262647547020979f, 7.4346282276367255f,\r
+  7.4429434958487288f, 7.4512111118323299f, 7.4594316186372973f,\r
+  7.4676055500829976f, 7.4757334309663976f, 7.4838157772642564f,\r
+  7.4918530963296748f, 7.4998458870832057f, 7.5077946401986964f,\r
+  7.5156998382840436f, 7.5235619560570131f, 7.5313814605163119f,\r
+  7.5391588111080319f, 7.5468944598876373f, 7.5545888516776376f,\r
+  7.5622424242210728f, 7.5698556083309478f, 7.5774288280357487f,\r
+  7.5849625007211561f, 7.5924570372680806f, 7.5999128421871278f,\r
+  7.6073303137496113f, 7.6147098441152075f, 7.6220518194563764f,\r
+  7.6293566200796095f, 7.6366246205436488f, 7.6438561897747244f,\r
+  7.6510516911789290f, 7.6582114827517955f, 7.6653359171851765f,\r
+  7.6724253419714952f, 7.6794800995054464f, 7.6865005271832185f,\r
+  7.6934869574993252f, 7.7004397181410926f, 7.7073591320808825f,\r
+  7.7142455176661224f, 7.7210991887071856f, 7.7279204545631996f,\r
+  7.7347096202258392f, 7.7414669864011465f, 7.7481928495894596f,\r
+  7.7548875021634691f, 7.7615512324444795f, 7.7681843247769260f,\r
+  7.7747870596011737f, 7.7813597135246608f, 7.7879025593914317f,\r
+  7.7944158663501062f, 7.8008998999203047f, 7.8073549220576037f,\r
+  7.8137811912170374f, 7.8201789624151887f, 7.8265484872909159f,\r
+  7.8328900141647422f, 7.8392037880969445f, 7.8454900509443757f,\r
+  7.8517490414160571f, 7.8579809951275719f, 7.8641861446542798f,\r
+  7.8703647195834048f, 7.8765169465650002f, 7.8826430493618425f,\r
+  7.8887432488982601f, 7.8948177633079446f, 7.9008668079807496f,\r
+  7.9068905956085187f, 7.9128893362299619f, 7.9188632372745955f,\r
+  7.9248125036057813f, 7.9307373375628867f, 7.9366379390025719f,\r
+  7.9425145053392399f, 7.9483672315846778f, 7.9541963103868758f,\r
+  7.9600019320680806f, 7.9657842846620870f, 7.9715435539507720f,\r
+  7.9772799234999168f, 7.9829935746943104f, 7.9886846867721664f,\r
+  7.9943534368588578f\r
+};\r
+\r
+#define LOG_2_INV 1.4426950408889634\r
+\r
+/* Faster logarithm for small integers, with the property of log2(0) == 0. */\r
+static BROTLI_INLINE double FastLog2(size_t v) {\r
+  if (v < sizeof(kLog2Table) / sizeof(kLog2Table[0])) {\r
+    return kLog2Table[v];\r
+  }\r
+#if (defined(_MSC_VER) && _MSC_VER <= 1700) || \\r
+    (defined(__ANDROID_API__) && __ANDROID_API__ < 18)\r
+  /* Visual Studio 2012 and Android API levels < 18 do not have the log2()\r
+   * function defined, so we use log() and a multiplication instead. */\r
+  return log((double)v) * LOG_2_INV;\r
+#else\r
+  return log2((double)v);\r
+#endif\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_FAST_LOG_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/find_match_length.h b/BaseTools/Source/C/BrotliCompress/enc/find_match_length.h
new file mode 100644 (file)
index 0000000..0e5bdd2
--- /dev/null
@@ -0,0 +1,80 @@
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Function to find maximal matching prefixes of strings. */\r
+\r
+#ifndef BROTLI_ENC_FIND_MATCH_LENGTH_H_\r
+#define BROTLI_ENC_FIND_MATCH_LENGTH_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* Separate implementation for little-endian 64-bit targets, for speed. */\r
+#if defined(__GNUC__) && defined(_LP64) && defined(IS_LITTLE_ENDIAN)\r
+\r
+static BROTLI_INLINE size_t FindMatchLengthWithLimit(const uint8_t* s1,\r
+                                                     const uint8_t* s2,\r
+                                                     size_t limit) {\r
+  size_t matched = 0;\r
+  size_t limit2 = (limit >> 3) + 1;  /* + 1 is for pre-decrement in while */\r
+  while (PREDICT_TRUE(--limit2)) {\r
+    if (PREDICT_FALSE(BROTLI_UNALIGNED_LOAD64(s2) ==\r
+                      BROTLI_UNALIGNED_LOAD64(s1 + matched))) {\r
+      s2 += 8;\r
+      matched += 8;\r
+    } else {\r
+      uint64_t x =\r
+          BROTLI_UNALIGNED_LOAD64(s2) ^ BROTLI_UNALIGNED_LOAD64(s1 + matched);\r
+      size_t matching_bits = (size_t)__builtin_ctzll(x);\r
+      matched += matching_bits >> 3;\r
+      return matched;\r
+    }\r
+  }\r
+  limit = (limit & 7) + 1;  /* + 1 is for pre-decrement in while */\r
+  while (--limit) {\r
+    if (PREDICT_TRUE(s1[matched] == *s2)) {\r
+      ++s2;\r
+      ++matched;\r
+    } else {\r
+      return matched;\r
+    }\r
+  }\r
+  return matched;\r
+}\r
+#else\r
+static BROTLI_INLINE size_t FindMatchLengthWithLimit(const uint8_t* s1,\r
+                                                     const uint8_t* s2,\r
+                                                     size_t limit) {\r
+  size_t matched = 0;\r
+  const uint8_t* s2_limit = s2 + limit;\r
+  const uint8_t* s2_ptr = s2;\r
+  /* Find out how long the match is. We loop over the data 32 bits at a\r
+     time until we find a 32-bit block that doesn't match; then we find\r
+     the first non-matching bit and use that to calculate the total\r
+     length of the match. */\r
+  while (s2_ptr <= s2_limit - 4 &&\r
+         BROTLI_UNALIGNED_LOAD32(s2_ptr) ==\r
+         BROTLI_UNALIGNED_LOAD32(s1 + matched)) {\r
+    s2_ptr += 4;\r
+    matched += 4;\r
+  }\r
+  while ((s2_ptr < s2_limit) && (s1[matched] == *s2_ptr)) {\r
+    ++s2_ptr;\r
+    ++matched;\r
+  }\r
+  return matched;\r
+}\r
+#endif\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_FIND_MATCH_LENGTH_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash.h b/BaseTools/Source/C/BrotliCompress/enc/hash.h
new file mode 100644 (file)
index 0000000..6756e68
--- /dev/null
@@ -0,0 +1,717 @@
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* A (forgetful) hash table to the data seen by the compressor, to\r
+   help create backward references to previous data. */\r
+\r
+#ifndef BROTLI_ENC_HASH_H_\r
+#define BROTLI_ENC_HASH_H_\r
+\r
+#include <string.h>  /* memcmp, memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/dictionary.h"\r
+#include "../common/types.h"\r
+#include "./dictionary_hash.h"\r
+#include "./fast_log.h"\r
+#include "./find_match_length.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+#include "./static_dict.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define MAX_TREE_SEARCH_DEPTH 64\r
+#define MAX_TREE_COMP_LENGTH 128\r
+#define score_t size_t\r
+\r
+static const uint32_t kDistanceCacheIndex[] = {\r
+  0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,\r
+};\r
+static const int kDistanceCacheOffset[] = {\r
+  0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3\r
+};\r
+\r
+static const uint32_t kCutoffTransformsCount = 10;\r
+static const uint8_t kCutoffTransforms[] = {\r
+  0, 12, 27, 23, 42, 63, 56, 48, 59, 64\r
+};\r
+\r
+typedef struct HasherSearchResult {\r
+  size_t len;\r
+  size_t len_x_code; /* == len ^ len_code */\r
+  size_t distance;\r
+  score_t score;\r
+} HasherSearchResult;\r
+\r
+typedef struct DictionarySearchStatictics {\r
+  size_t num_lookups;\r
+  size_t num_matches;\r
+} DictionarySearchStatictics;\r
+\r
+/* kHashMul32 multiplier has these properties:\r
+   * The multiplier must be odd. Otherwise we may lose the highest bit.\r
+   * No long streaks of 1s or 0s.\r
+   * There is no effort to ensure that it is a prime, the oddity is enough\r
+     for this use.\r
+   * The number has been tuned heuristically against compression benchmarks. */\r
+static const uint32_t kHashMul32 = 0x1e35a7bd;\r
+\r
+static BROTLI_INLINE uint32_t Hash14(const uint8_t* data) {\r
+  uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32;\r
+  /* The higher bits contain more mixture from the multiplication,\r
+     so we take our results from there. */\r
+  return h >> (32 - 14);\r
+}\r
+\r
+#define BROTLI_LITERAL_BYTE_SCORE 540\r
+#define BROTLI_DISTANCE_BIT_PENALTY 120\r
+/* Score must be positive after applying maximal penalty. */\r
+#define BROTLI_SCORE_BASE (BROTLI_DISTANCE_BIT_PENALTY * 8 * sizeof(size_t))\r
+\r
+/* Usually, we always choose the longest backward reference. This function\r
+   allows for the exception of that rule.\r
+\r
+   If we choose a backward reference that is further away, it will\r
+   usually be coded with more bits. We approximate this by assuming\r
+   log2(distance). If the distance can be expressed in terms of the\r
+   last four distances, we use some heuristic constants to estimate\r
+   the bits cost. For the first up to four literals we use the bit\r
+   cost of the literals from the literal cost model, after that we\r
+   use the average bit cost of the cost model.\r
+\r
+   This function is used to sometimes discard a longer backward reference\r
+   when it is not much longer and the bit cost for encoding it is more\r
+   than the saved literals.\r
+\r
+   backward_reference_offset MUST be positive. */\r
+static BROTLI_INLINE score_t BackwardReferenceScore(\r
+    size_t copy_length, size_t backward_reference_offset) {\r
+  return BROTLI_SCORE_BASE + BROTLI_LITERAL_BYTE_SCORE * (score_t)copy_length -\r
+      BROTLI_DISTANCE_BIT_PENALTY * Log2FloorNonZero(backward_reference_offset);\r
+}\r
+\r
+static const score_t kDistanceShortCodeCost[BROTLI_NUM_DISTANCE_SHORT_CODES] = {\r
+  /* Repeat last */\r
+  BROTLI_SCORE_BASE +  60,\r
+  /* 2nd, 3rd, 4th last */\r
+  BROTLI_SCORE_BASE -  95,\r
+  BROTLI_SCORE_BASE - 117,\r
+  BROTLI_SCORE_BASE - 127,\r
+  /* Last with offset */\r
+  BROTLI_SCORE_BASE -  93,\r
+  BROTLI_SCORE_BASE -  93,\r
+  BROTLI_SCORE_BASE -  96,\r
+  BROTLI_SCORE_BASE -  96,\r
+  BROTLI_SCORE_BASE -  99,\r
+  BROTLI_SCORE_BASE -  99,\r
+  /* 2nd last with offset */\r
+  BROTLI_SCORE_BASE - 105,\r
+  BROTLI_SCORE_BASE - 105,\r
+  BROTLI_SCORE_BASE - 115,\r
+  BROTLI_SCORE_BASE - 115,\r
+  BROTLI_SCORE_BASE - 125,\r
+  BROTLI_SCORE_BASE - 125\r
+};\r
+\r
+static BROTLI_INLINE score_t BackwardReferenceScoreUsingLastDistance(\r
+    size_t copy_length, size_t distance_short_code) {\r
+  return BROTLI_LITERAL_BYTE_SCORE * (score_t)copy_length +\r
+      kDistanceShortCodeCost[distance_short_code];\r
+}\r
+\r
+static BROTLI_INLINE void DictionarySearchStaticticsReset(\r
+    DictionarySearchStatictics* self) {\r
+  self->num_lookups = 0;\r
+  self->num_matches = 0;\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL TestStaticDictionaryItem(\r
+    size_t item, const uint8_t* data, size_t max_length, size_t max_backward,\r
+    HasherSearchResult* out) {\r
+  size_t len;\r
+  size_t dist;\r
+  size_t offset;\r
+  size_t matchlen;\r
+  size_t backward;\r
+  score_t score;\r
+  len = item & 31;\r
+  dist = item >> 5;\r
+  offset = kBrotliDictionaryOffsetsByLength[len] + len * dist;\r
+  if (len > max_length) {\r
+    return BROTLI_FALSE;\r
+  }\r
+\r
+  matchlen = FindMatchLengthWithLimit(data, &kBrotliDictionary[offset], len);\r
+  if (matchlen + kCutoffTransformsCount <= len || matchlen == 0) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  {\r
+    size_t transform_id = kCutoffTransforms[len - matchlen];\r
+    backward = max_backward + dist + 1 +\r
+        (transform_id << kBrotliDictionarySizeBitsByLength[len]);\r
+  }\r
+  score = BackwardReferenceScore(matchlen, backward);\r
+  if (score < out->score) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  out->len = matchlen;\r
+  out->len_x_code = len ^ matchlen;\r
+  out->distance = backward;\r
+  out->score = score;\r
+  return BROTLI_TRUE;\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL SearchInStaticDictionary(\r
+    DictionarySearchStatictics* self, const uint8_t* data, size_t max_length,\r
+    size_t max_backward, HasherSearchResult* out, BROTLI_BOOL shallow) {\r
+  size_t key;\r
+  size_t i;\r
+  BROTLI_BOOL is_match_found = BROTLI_FALSE;\r
+  if (self->num_matches < (self->num_lookups >> 7)) {\r
+    return BROTLI_FALSE;\r
+  }\r
+  key = Hash14(data) << 1;\r
+  for (i = 0; i < (shallow ? 1 : 2); ++i, ++key) {\r
+    size_t item = kStaticDictionaryHash[key];\r
+    self->num_lookups++;\r
+    if (item != 0 &&\r
+        TestStaticDictionaryItem(item, data, max_length, max_backward, out)) {\r
+      self->num_matches++;\r
+      is_match_found = BROTLI_TRUE;\r
+    }\r
+  }\r
+  return is_match_found;\r
+}\r
+\r
+typedef struct BackwardMatch {\r
+  uint32_t distance;\r
+  uint32_t length_and_code;\r
+} BackwardMatch;\r
+\r
+static BROTLI_INLINE void InitBackwardMatch(BackwardMatch* self,\r
+    size_t dist, size_t len) {\r
+  self->distance = (uint32_t)dist;\r
+  self->length_and_code = (uint32_t)(len << 5);\r
+}\r
+\r
+static BROTLI_INLINE void InitDictionaryBackwardMatch(BackwardMatch* self,\r
+    size_t dist, size_t len, size_t len_code) {\r
+  self->distance = (uint32_t)dist;\r
+  self->length_and_code =\r
+      (uint32_t)((len << 5) | (len == len_code ? 0 : len_code));\r
+}\r
+\r
+static BROTLI_INLINE size_t BackwardMatchLength(const BackwardMatch* self) {\r
+  return self->length_and_code >> 5;\r
+}\r
+\r
+static BROTLI_INLINE size_t BackwardMatchLengthCode(const BackwardMatch* self) {\r
+  size_t code = self->length_and_code & 31;\r
+  return code ? code : BackwardMatchLength(self);\r
+}\r
+\r
+#define EXPAND_CAT(a, b) CAT(a, b)\r
+#define CAT(a, b) a ## b\r
+#define FN(X) EXPAND_CAT(X, HASHER())\r
+\r
+#define MAX_NUM_MATCHES_H10 (64 + MAX_TREE_SEARCH_DEPTH)\r
+\r
+#define HASHER() H10\r
+#define HashToBinaryTree HASHER()\r
+\r
+#define BUCKET_BITS 17\r
+#define BUCKET_SIZE (1 << BUCKET_BITS)\r
+\r
+static size_t FN(HashTypeLength)(void) { return 4; }\r
+static size_t FN(StoreLookahead)(void) { return MAX_TREE_COMP_LENGTH; }\r
+\r
+static uint32_t FN(HashBytes)(const uint8_t *data) {\r
+  uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32;\r
+  /* The higher bits contain more mixture from the multiplication,\r
+     so we take our results from there. */\r
+  return h >> (32 - BUCKET_BITS);\r
+}\r
+\r
+/* A (forgetful) hash table where each hash bucket contains a binary tree of\r
+   sequences whose first 4 bytes share the same hash code.\r
+   Each sequence is MAX_TREE_COMP_LENGTH long and is identified by its starting\r
+   position in the input data. The binary tree is sorted by the lexicographic\r
+   order of the sequences, and it is also a max-heap with respect to the\r
+   starting positions. */\r
+typedef struct HashToBinaryTree {\r
+  /* The window size minus 1 */\r
+  size_t window_mask_;\r
+\r
+  /* Hash table that maps the 4-byte hashes of the sequence to the last\r
+     position where this hash was found, which is the root of the binary\r
+     tree of sequences that share this hash bucket. */\r
+  uint32_t buckets_[BUCKET_SIZE];\r
+\r
+  /* The union of the binary trees of each hash bucket. The root of the tree\r
+     corresponding to a hash is a sequence starting at buckets_[hash] and\r
+     the left and right children of a sequence starting at pos are\r
+     forest_[2 * pos] and forest_[2 * pos + 1]. */\r
+  uint32_t* forest_;\r
+\r
+  /* A position used to mark a non-existent sequence, i.e. a tree is empty if\r
+     its root is at invalid_pos_ and a node is a leaf if both its children\r
+     are at invalid_pos_. */\r
+  uint32_t invalid_pos_;\r
+\r
+  size_t forest_size_;\r
+  BROTLI_BOOL is_dirty_;\r
+} HashToBinaryTree;\r
+\r
+static void FN(Reset)(HashToBinaryTree* self) {\r
+  self->is_dirty_ = BROTLI_TRUE;\r
+}\r
+\r
+static void FN(Initialize)(HashToBinaryTree* self) {\r
+  self->forest_ = NULL;\r
+  self->forest_size_ = 0;\r
+  FN(Reset)(self);\r
+}\r
+\r
+static void FN(Cleanup)(MemoryManager* m, HashToBinaryTree* self) {\r
+  BROTLI_FREE(m, self->forest_);\r
+}\r
+\r
+static void FN(Init)(\r
+    MemoryManager* m, HashToBinaryTree* self, const uint8_t* data,\r
+    const BrotliEncoderParams* params, size_t position, size_t bytes,\r
+    BROTLI_BOOL is_last) {\r
+  if (self->is_dirty_) {\r
+    uint32_t invalid_pos;\r
+    size_t num_nodes;\r
+    uint32_t i;\r
+    BROTLI_UNUSED(data);\r
+    self->window_mask_ = (1u << params->lgwin) - 1u;\r
+    invalid_pos = (uint32_t)(0 - self->window_mask_);\r
+    self->invalid_pos_ = invalid_pos;\r
+    for (i = 0; i < BUCKET_SIZE; i++) {\r
+      self->buckets_[i] = invalid_pos;\r
+    }\r
+    num_nodes = (position == 0 && is_last) ? bytes : self->window_mask_ + 1;\r
+    if (num_nodes > self->forest_size_) {\r
+      BROTLI_FREE(m, self->forest_);\r
+      self->forest_ = BROTLI_ALLOC(m, uint32_t, 2 * num_nodes);\r
+      if (BROTLI_IS_OOM(m)) return;\r
+      self->forest_size_ = num_nodes;\r
+    }\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE size_t FN(LeftChildIndex)(HashToBinaryTree* self,\r
+    const size_t pos) {\r
+  return 2 * (pos & self->window_mask_);\r
+}\r
+\r
+static BROTLI_INLINE size_t FN(RightChildIndex)(HashToBinaryTree* self,\r
+    const size_t pos) {\r
+  return 2 * (pos & self->window_mask_) + 1;\r
+}\r
+\r
+/* Stores the hash of the next 4 bytes and in a single tree-traversal, the\r
+   hash bucket's binary tree is searched for matches and is re-rooted at the\r
+   current position.\r
+\r
+   If less than MAX_TREE_COMP_LENGTH data is available, the hash bucket of the\r
+   current position is searched for matches, but the state of the hash table\r
+   is not changed, since we can not know the final sorting order of the\r
+   current (incomplete) sequence.\r
+\r
+   This function must be called with increasing cur_ix positions. */\r
+static BROTLI_INLINE BackwardMatch* FN(StoreAndFindMatches)(\r
+    HashToBinaryTree* self, const uint8_t* const BROTLI_RESTRICT data,\r
+    const size_t cur_ix, const size_t ring_buffer_mask, const size_t max_length,\r
+    const size_t max_backward, size_t* const BROTLI_RESTRICT best_len,\r
+    BackwardMatch* BROTLI_RESTRICT matches) {\r
+  const size_t cur_ix_masked = cur_ix & ring_buffer_mask;\r
+  const size_t max_comp_len =\r
+      BROTLI_MIN(size_t, max_length, MAX_TREE_COMP_LENGTH);\r
+  const BROTLI_BOOL should_reroot_tree =\r
+      TO_BROTLI_BOOL(max_length >= MAX_TREE_COMP_LENGTH);\r
+  const uint32_t key = FN(HashBytes)(&data[cur_ix_masked]);\r
+  size_t prev_ix = self->buckets_[key];\r
+  /* The forest index of the rightmost node of the left subtree of the new\r
+     root, updated as we traverse and reroot the tree of the hash bucket. */\r
+  size_t node_left = FN(LeftChildIndex)(self, cur_ix);\r
+  /* The forest index of the leftmost node of the right subtree of the new\r
+     root, updated as we traverse and reroot the tree of the hash bucket. */\r
+  size_t node_right = FN(RightChildIndex)(self, cur_ix);\r
+  /* The match length of the rightmost node of the left subtree of the new\r
+     root, updated as we traverse and reroot the tree of the hash bucket. */\r
+  size_t best_len_left = 0;\r
+  /* The match length of the leftmost node of the right subtree of the new\r
+     root, updated as we traverse and reroot the tree of the hash bucket. */\r
+  size_t best_len_right = 0;\r
+  size_t depth_remaining;\r
+  if (should_reroot_tree) {\r
+    self->buckets_[key] = (uint32_t)cur_ix;\r
+  }\r
+  for (depth_remaining = MAX_TREE_SEARCH_DEPTH; ; --depth_remaining) {\r
+    const size_t backward = cur_ix - prev_ix;\r
+    const size_t prev_ix_masked = prev_ix & ring_buffer_mask;\r
+    if (backward == 0 || backward > max_backward || depth_remaining == 0) {\r
+      if (should_reroot_tree) {\r
+        self->forest_[node_left] = self->invalid_pos_;\r
+        self->forest_[node_right] = self->invalid_pos_;\r
+      }\r
+      break;\r
+    }\r
+    {\r
+      const size_t cur_len = BROTLI_MIN(size_t, best_len_left, best_len_right);\r
+      size_t len;\r
+      assert(cur_len <= MAX_TREE_COMP_LENGTH);\r
+      len = cur_len +\r
+          FindMatchLengthWithLimit(&data[cur_ix_masked + cur_len],\r
+                                   &data[prev_ix_masked + cur_len],\r
+                                   max_length - cur_len);\r
+      assert(0 == memcmp(&data[cur_ix_masked], &data[prev_ix_masked], len));\r
+      if (matches && len > *best_len) {\r
+        *best_len = len;\r
+        InitBackwardMatch(matches++, backward, len);\r
+      }\r
+      if (len >= max_comp_len) {\r
+        if (should_reroot_tree) {\r
+          self->forest_[node_left] =\r
+              self->forest_[FN(LeftChildIndex)(self, prev_ix)];\r
+          self->forest_[node_right] =\r
+              self->forest_[FN(RightChildIndex)(self, prev_ix)];\r
+        }\r
+        break;\r
+      }\r
+      if (data[cur_ix_masked + len] > data[prev_ix_masked + len]) {\r
+        best_len_left = len;\r
+        if (should_reroot_tree) {\r
+          self->forest_[node_left] = (uint32_t)prev_ix;\r
+        }\r
+        node_left = FN(RightChildIndex)(self, prev_ix);\r
+        prev_ix = self->forest_[node_left];\r
+      } else {\r
+        best_len_right = len;\r
+        if (should_reroot_tree) {\r
+          self->forest_[node_right] = (uint32_t)prev_ix;\r
+        }\r
+        node_right = FN(LeftChildIndex)(self, prev_ix);\r
+        prev_ix = self->forest_[node_right];\r
+      }\r
+    }\r
+  }\r
+  return matches;\r
+}\r
+\r
+/* Finds all backward matches of &data[cur_ix & ring_buffer_mask] up to the\r
+   length of max_length and stores the position cur_ix in the hash table.\r
+\r
+   Sets *num_matches to the number of matches found, and stores the found\r
+   matches in matches[0] to matches[*num_matches - 1]. The matches will be\r
+   sorted by strictly increasing length and (non-strictly) increasing\r
+   distance. */\r
+static BROTLI_INLINE size_t FN(FindAllMatches)(HashToBinaryTree* self,\r
+    const uint8_t* data, const size_t ring_buffer_mask, const size_t cur_ix,\r
+    const size_t max_length, const size_t max_backward,\r
+    const BrotliEncoderParams* params, BackwardMatch* matches) {\r
+  BackwardMatch* const orig_matches = matches;\r
+  const size_t cur_ix_masked = cur_ix & ring_buffer_mask;\r
+  size_t best_len = 1;\r
+  const size_t short_match_max_backward =\r
+      params->quality != HQ_ZOPFLIFICATION_QUALITY ? 16 : 64;\r
+  size_t stop = cur_ix - short_match_max_backward;\r
+  uint32_t dict_matches[BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN + 1];\r
+  size_t i;\r
+  if (cur_ix < short_match_max_backward) { stop = 0; }\r
+  for (i = cur_ix - 1; i > stop && best_len <= 2; --i) {\r
+    size_t prev_ix = i;\r
+    const size_t backward = cur_ix - prev_ix;\r
+    if (PREDICT_FALSE(backward > max_backward)) {\r
+      break;\r
+    }\r
+    prev_ix &= ring_buffer_mask;\r
+    if (data[cur_ix_masked] != data[prev_ix] ||\r
+        data[cur_ix_masked + 1] != data[prev_ix + 1]) {\r
+      continue;\r
+    }\r
+    {\r
+      const size_t len =\r
+          FindMatchLengthWithLimit(&data[prev_ix], &data[cur_ix_masked],\r
+                                   max_length);\r
+      if (len > best_len) {\r
+        best_len = len;\r
+        InitBackwardMatch(matches++, backward, len);\r
+      }\r
+    }\r
+  }\r
+  if (best_len < max_length) {\r
+    matches = FN(StoreAndFindMatches)(self, data, cur_ix, ring_buffer_mask,\r
+        max_length, max_backward, &best_len, matches);\r
+  }\r
+  for (i = 0; i <= BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN; ++i) {\r
+    dict_matches[i] = kInvalidMatch;\r
+  }\r
+  {\r
+    size_t minlen = BROTLI_MAX(size_t, 4, best_len + 1);\r
+    if (BrotliFindAllStaticDictionaryMatches(&data[cur_ix_masked], minlen,\r
+                                             max_length, &dict_matches[0])) {\r
+      size_t maxlen = BROTLI_MIN(\r
+          size_t, BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN, max_length);\r
+      size_t l;\r
+      for (l = minlen; l <= maxlen; ++l) {\r
+        uint32_t dict_id = dict_matches[l];\r
+        if (dict_id < kInvalidMatch) {\r
+          InitDictionaryBackwardMatch(matches++,\r
+              max_backward + (dict_id >> 5) + 1, l, dict_id & 31);\r
+        }\r
+      }\r
+    }\r
+  }\r
+  return (size_t)(matches - orig_matches);\r
+}\r
+\r
+/* Stores the hash of the next 4 bytes and re-roots the binary tree at the\r
+   current sequence, without returning any matches.\r
+   REQUIRES: ix + MAX_TREE_COMP_LENGTH <= end-of-current-block */\r
+static BROTLI_INLINE void FN(Store)(HashToBinaryTree* self, const uint8_t *data,\r
+    const size_t mask, const size_t ix) {\r
+  /* Maximum distance is window size - 16, see section 9.1. of the spec. */\r
+  const size_t max_backward = self->window_mask_ - 15;\r
+  FN(StoreAndFindMatches)(self, data, ix, mask, MAX_TREE_COMP_LENGTH,\r
+      max_backward, NULL, NULL);\r
+}\r
+\r
+static BROTLI_INLINE void FN(StoreRange)(HashToBinaryTree* self,\r
+    const uint8_t *data, const size_t mask, const size_t ix_start,\r
+    const size_t ix_end) {\r
+  size_t i = ix_start + 63 <= ix_end ? ix_end - 63 : ix_start;\r
+  for (; i < ix_end; ++i) {\r
+    FN(Store)(self, data, mask, i);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void FN(StitchToPreviousBlock)(HashToBinaryTree* self,\r
+    size_t num_bytes, size_t position, const uint8_t* ringbuffer,\r
+    size_t ringbuffer_mask) {\r
+  if (num_bytes >= FN(HashTypeLength)() - 1 &&\r
+      position >= MAX_TREE_COMP_LENGTH) {\r
+    /* Store the last `MAX_TREE_COMP_LENGTH - 1` positions in the hasher.\r
+       These could not be calculated before, since they require knowledge\r
+       of both the previous and the current block. */\r
+    const size_t i_start = position - MAX_TREE_COMP_LENGTH + 1;\r
+    const size_t i_end = BROTLI_MIN(size_t, position, i_start + num_bytes);\r
+    size_t i;\r
+    for (i = i_start; i < i_end; ++i) {\r
+      /* Maximum distance is window size - 16, see section 9.1. of the spec.\r
+         Furthermore, we have to make sure that we don't look further back\r
+         from the start of the next block than the window size, otherwise we\r
+         could access already overwritten areas of the ringbuffer. */\r
+      const size_t max_backward =\r
+          self->window_mask_ - BROTLI_MAX(size_t, 15, position - i);\r
+      /* We know that i + MAX_TREE_COMP_LENGTH <= position + num_bytes, i.e. the\r
+         end of the current block and that we have at least\r
+         MAX_TREE_COMP_LENGTH tail in the ringbuffer. */\r
+      FN(StoreAndFindMatches)(self, ringbuffer, i, ringbuffer_mask,\r
+          MAX_TREE_COMP_LENGTH, max_backward, NULL, NULL);\r
+    }\r
+  }\r
+}\r
+\r
+#undef BUCKET_SIZE\r
+#undef BUCKET_BITS\r
+\r
+#undef HASHER\r
+\r
+/* For BUCKET_SWEEP == 1, enabling the dictionary lookup makes compression\r
+   a little faster (0.5% - 1%) and it compresses 0.15% better on small text\r
+   and html inputs. */\r
+\r
+#define HASHER() H2\r
+#define BUCKET_BITS 16\r
+#define BUCKET_SWEEP 1\r
+#define USE_DICTIONARY 1\r
+#include "./hash_longest_match_quickly_inc.h"  /* NOLINT(build/include) */\r
+#undef BUCKET_SWEEP\r
+#undef USE_DICTIONARY\r
+#undef HASHER\r
+\r
+#define HASHER() H3\r
+#define BUCKET_SWEEP 2\r
+#define USE_DICTIONARY 0\r
+#include "./hash_longest_match_quickly_inc.h"  /* NOLINT(build/include) */\r
+#undef USE_DICTIONARY\r
+#undef BUCKET_SWEEP\r
+#undef BUCKET_BITS\r
+#undef HASHER\r
+\r
+#define HASHER() H4\r
+#define BUCKET_BITS 17\r
+#define BUCKET_SWEEP 4\r
+#define USE_DICTIONARY 1\r
+#include "./hash_longest_match_quickly_inc.h"  /* NOLINT(build/include) */\r
+#undef USE_DICTIONARY\r
+#undef BUCKET_SWEEP\r
+#undef BUCKET_BITS\r
+#undef HASHER\r
+\r
+#define HASHER() H5\r
+#define BUCKET_BITS 14\r
+#define BLOCK_BITS 4\r
+#define NUM_LAST_DISTANCES_TO_CHECK 4\r
+#include "./hash_longest_match_inc.h"  /* NOLINT(build/include) */\r
+#undef BLOCK_BITS\r
+#undef HASHER\r
+\r
+#define HASHER() H6\r
+#define BLOCK_BITS 5\r
+#include "./hash_longest_match_inc.h"  /* NOLINT(build/include) */\r
+#undef NUM_LAST_DISTANCES_TO_CHECK\r
+#undef BLOCK_BITS\r
+#undef BUCKET_BITS\r
+#undef HASHER\r
+\r
+#define HASHER() H7\r
+#define BUCKET_BITS 15\r
+#define BLOCK_BITS 6\r
+#define NUM_LAST_DISTANCES_TO_CHECK 10\r
+#include "./hash_longest_match_inc.h"  /* NOLINT(build/include) */\r
+#undef BLOCK_BITS\r
+#undef HASHER\r
+\r
+#define HASHER() H8\r
+#define BLOCK_BITS 7\r
+#include "./hash_longest_match_inc.h"  /* NOLINT(build/include) */\r
+#undef NUM_LAST_DISTANCES_TO_CHECK\r
+#undef BLOCK_BITS\r
+#undef HASHER\r
+\r
+#define HASHER() H9\r
+#define BLOCK_BITS 8\r
+#define NUM_LAST_DISTANCES_TO_CHECK 16\r
+#include "./hash_longest_match_inc.h"  /* NOLINT(build/include) */\r
+#undef NUM_LAST_DISTANCES_TO_CHECK\r
+#undef BLOCK_BITS\r
+#undef BUCKET_BITS\r
+#undef HASHER\r
+\r
+#define BUCKET_BITS 15\r
+\r
+#define NUM_LAST_DISTANCES_TO_CHECK 4\r
+#define NUM_BANKS 1\r
+#define BANK_BITS 16\r
+#define HASHER() H40\r
+#include "./hash_forgetful_chain_inc.h"  /* NOLINT(build/include) */\r
+#undef HASHER\r
+#undef NUM_LAST_DISTANCES_TO_CHECK\r
+\r
+#define NUM_LAST_DISTANCES_TO_CHECK 10\r
+#define HASHER() H41\r
+#include "./hash_forgetful_chain_inc.h"  /* NOLINT(build/include) */\r
+#undef HASHER\r
+#undef NUM_LAST_DISTANCES_TO_CHECK\r
+#undef NUM_BANKS\r
+#undef BANK_BITS\r
+\r
+#define NUM_LAST_DISTANCES_TO_CHECK 16\r
+#define NUM_BANKS 512\r
+#define BANK_BITS 9\r
+#define HASHER() H42\r
+#include "./hash_forgetful_chain_inc.h"  /* NOLINT(build/include) */\r
+#undef HASHER\r
+#undef NUM_LAST_DISTANCES_TO_CHECK\r
+#undef NUM_BANKS\r
+#undef BANK_BITS\r
+\r
+#undef BUCKET_BITS\r
+\r
+#undef FN\r
+#undef CAT\r
+#undef EXPAND_CAT\r
+\r
+#define FOR_GENERIC_HASHERS(H) H(2) H(3) H(4) H(5) H(6) H(7) H(8) H(9) \\r
+                               H(40) H(41) H(42)\r
+#define FOR_ALL_HASHERS(H) FOR_GENERIC_HASHERS(H) H(10)\r
+\r
+typedef struct Hashers {\r
+#define _MEMBER(N) H ## N* h ## N;\r
+  FOR_ALL_HASHERS(_MEMBER)\r
+#undef _MEMBER\r
+} Hashers;\r
+\r
+static BROTLI_INLINE void InitHashers(Hashers* self) {\r
+#define _INIT(N) self->h ## N = 0;\r
+  FOR_ALL_HASHERS(_INIT)\r
+#undef _INIT\r
+}\r
+\r
+static BROTLI_INLINE void DestroyHashers(MemoryManager* m, Hashers* self) {\r
+  if (self->h10) CleanupH10(m, self->h10);\r
+#define _CLEANUP(N) BROTLI_FREE(m, self->h ## N)\r
+  FOR_ALL_HASHERS(_CLEANUP)\r
+#undef _CLEANUP\r
+}\r
+\r
+static BROTLI_INLINE void HashersReset(Hashers* self, int type) {\r
+  switch (type) {\r
+#define _RESET(N) case N: ResetH ## N(self->h ## N); break;\r
+    FOR_ALL_HASHERS(_RESET)\r
+#undef _RESET\r
+    default: break;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void HashersSetup(\r
+    MemoryManager* m, Hashers* self, int type) {\r
+  switch (type) {\r
+#define _SETUP(N) case N: self->h ## N = BROTLI_ALLOC(m, H ## N, 1); break;\r
+    FOR_ALL_HASHERS(_SETUP)\r
+#undef _SETUP\r
+    default: break;\r
+  }\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  if (type == 10) InitializeH10(self->h10);\r
+  HashersReset(self, type);\r
+}\r
+\r
+#define _WARMUP_HASH(N)                                                        \\r
+static BROTLI_INLINE void WarmupHashH ## N(MemoryManager* m,                   \\r
+    const BrotliEncoderParams* params, const size_t size, const uint8_t* dict, \\r
+    H ## N* hasher) {                                                          \\r
+  size_t overlap = (StoreLookaheadH ## N()) - 1;                               \\r
+  size_t i;                                                                    \\r
+  InitH ## N(m, hasher, dict, params, 0, size, BROTLI_FALSE);                  \\r
+  if (BROTLI_IS_OOM(m)) return;                                                \\r
+  for (i = 0; i + overlap < size; i++) {                                       \\r
+    StoreH ## N(hasher, dict, ~(size_t)0, i);                                  \\r
+  }                                                                            \\r
+}\r
+FOR_ALL_HASHERS(_WARMUP_HASH)\r
+#undef _WARMUP_HASH\r
+\r
+/* Custom LZ77 window. */\r
+static BROTLI_INLINE void HashersPrependCustomDictionary(\r
+    MemoryManager* m, Hashers* self, const BrotliEncoderParams* params,\r
+    const size_t size, const uint8_t* dict) {\r
+  int hasher_type = ChooseHasher(params);\r
+  switch (hasher_type) {\r
+#define _PREPEND(N) \\r
+    case N: WarmupHashH ## N(m, params, size, dict, self->h ## N); break;\r
+    FOR_ALL_HASHERS(_PREPEND)\r
+#undef _PREPEND\r
+    default: break;\r
+  }\r
+  if (BROTLI_IS_OOM(m)) return;\r
+}\r
+\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_HASH_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h b/BaseTools/Source/C/BrotliCompress/enc/hash_forgetful_chain_inc.h
new file mode 100644 (file)
index 0000000..069441c
--- /dev/null
@@ -0,0 +1,249 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2016 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN, BUCKET_BITS, NUM_BANKS, BANK_BITS,\r
+                        NUM_LAST_DISTANCES_TO_CHECK */\r
+\r
+/* A (forgetful) hash table to the data seen by the compressor, to\r
+   help create backward references to previous data.\r
+\r
+   Hashes are stored in chains which are bucketed to groups. Group of chains\r
+   share a storage "bank". When more than "bank size" chain nodes are added,\r
+   oldest nodes are replaced; this way several chains may share a tail. */\r
+\r
+#define HashForgetfulChain HASHER()\r
+\r
+#define BANK_SIZE (1 << BANK_BITS)\r
+\r
+/* Number of hash buckets. */\r
+#define BUCKET_SIZE (1 << BUCKET_BITS)\r
+\r
+#define CAPPED_CHAINS 0\r
+\r
+static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }\r
+static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; }\r
+\r
+/* HashBytes is the function that chooses the bucket to place the address in.*/\r
+static BROTLI_INLINE size_t FN(HashBytes)(const uint8_t *data) {\r
+  const uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32;\r
+  /* The higher bits contain more mixture from the multiplication,\r
+     so we take our results from there. */\r
+  return h >> (32 - BUCKET_BITS);\r
+}\r
+\r
+typedef struct FN(Slot) {\r
+  uint16_t delta;\r
+  uint16_t next;\r
+} FN(Slot);\r
+\r
+typedef struct FN(Bank) {\r
+  FN(Slot) slots[BANK_SIZE];\r
+} FN(Bank);\r
+\r
+typedef struct HashForgetfulChain {\r
+  uint32_t addr[BUCKET_SIZE];\r
+  uint16_t head[BUCKET_SIZE];\r
+  /* Truncated hash used for quick rejection of "distance cache" candidates. */\r
+  uint8_t tiny_hash[65536];\r
+  FN(Bank) banks[NUM_BANKS];\r
+  uint16_t free_slot_idx[NUM_BANKS];\r
+  BROTLI_BOOL is_dirty_;\r
+  DictionarySearchStatictics dict_search_stats_;\r
+  size_t max_hops;\r
+} HashForgetfulChain;\r
+\r
+static void FN(Reset)(HashForgetfulChain* self) {\r
+  self->is_dirty_ = BROTLI_TRUE;\r
+  DictionarySearchStaticticsReset(&self->dict_search_stats_);\r
+}\r
+\r
+static void FN(InitEmpty)(HashForgetfulChain* self) {\r
+  if (self->is_dirty_) {\r
+    /* Fill |addr| array with 0xCCCCCCCC value. Because of wrapping, position\r
+       processed by hasher never reaches 3GB + 64M; this makes all new chains\r
+       to be terminated after the first node. */\r
+    memset(self->addr, 0xCC, sizeof(self->addr));\r
+    memset(self->head, 0, sizeof(self->head));\r
+    memset(self->tiny_hash, 0, sizeof(self->tiny_hash));\r
+    memset(self->free_slot_idx, 0, sizeof(self->free_slot_idx));\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void FN(InitForData)(HashForgetfulChain* self, const uint8_t* data,\r
+    size_t num) {\r
+  size_t i;\r
+  for (i = 0; i < num; ++i) {\r
+    size_t bucket = FN(HashBytes)(&data[i]);\r
+    /* See InitEmpty comment. */\r
+    self->addr[bucket] = 0xCCCCCCCC;\r
+    self->head[bucket] = 0xCCCC;\r
+  }\r
+  memset(self->tiny_hash, 0, sizeof(self->tiny_hash));\r
+  memset(self->free_slot_idx, 0, sizeof(self->free_slot_idx));\r
+  if (num != 0) {\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void FN(Init)(\r
+    MemoryManager* m, HashForgetfulChain* self, const uint8_t* data,\r
+    const BrotliEncoderParams* params, size_t position, size_t bytes,\r
+    BROTLI_BOOL is_last) {\r
+  /* Choose which init method is faster.\r
+     Init() is about 100 times faster than InitForData(). */\r
+  const size_t kMaxBytesForPartialHashInit = BUCKET_SIZE >> 6;\r
+  BROTLI_UNUSED(m);\r
+  self->max_hops = (params->quality > 6 ? 7u : 8u) << (params->quality - 4);\r
+  if (position == 0 && is_last && bytes <= kMaxBytesForPartialHashInit) {\r
+    FN(InitForData)(self, data, bytes);\r
+  } else {\r
+    FN(InitEmpty)(self);\r
+  }\r
+}\r
+\r
+/* Look at 4 bytes at &data[ix & mask]. Compute a hash from these, and prepend\r
+   node to corresponding chain; also update tiny_hash for current position. */\r
+static BROTLI_INLINE void FN(Store)(HashForgetfulChain* BROTLI_RESTRICT self,\r
+    const uint8_t* BROTLI_RESTRICT data, const size_t mask, const size_t ix) {\r
+  const size_t key = FN(HashBytes)(&data[ix & mask]);\r
+  const size_t bank = key & (NUM_BANKS - 1);\r
+  const size_t idx = self->free_slot_idx[bank]++ & (BANK_SIZE - 1);\r
+  size_t delta = ix - self->addr[key];\r
+  self->tiny_hash[(uint16_t)ix] = (uint8_t)key;\r
+  if (delta > 0xFFFF) delta = CAPPED_CHAINS ? 0 : 0xFFFF;\r
+  self->banks[bank].slots[idx].delta = (uint16_t)delta;\r
+  self->banks[bank].slots[idx].next = self->head[key];\r
+  self->addr[key] = (uint32_t)ix;\r
+  self->head[key] = (uint16_t)idx;\r
+}\r
+\r
+static BROTLI_INLINE void FN(StoreRange)(HashForgetfulChain* self,\r
+    const uint8_t *data, const size_t mask, const size_t ix_start,\r
+    const size_t ix_end) {\r
+  size_t i;\r
+  for (i = ix_start; i < ix_end; ++i) {\r
+    FN(Store)(self, data, mask, i);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void FN(StitchToPreviousBlock)(HashForgetfulChain* self,\r
+    size_t num_bytes, size_t position, const uint8_t* ringbuffer,\r
+    size_t ring_buffer_mask) {\r
+  if (num_bytes >= FN(HashTypeLength)() - 1 && position >= 3) {\r
+    /* Prepare the hashes for three last bytes of the last write.\r
+       These could not be calculated before, since they require knowledge\r
+       of both the previous and the current block. */\r
+    FN(Store)(self, ringbuffer, ring_buffer_mask, position - 3);\r
+    FN(Store)(self, ringbuffer, ring_buffer_mask, position - 2);\r
+    FN(Store)(self, ringbuffer, ring_buffer_mask, position - 1);\r
+  }\r
+}\r
+\r
+/* Find a longest backward match of &data[cur_ix] up to the length of\r
+   max_length and stores the position cur_ix in the hash table.\r
+\r
+   Does not look for matches longer than max_length.\r
+   Does not look for matches further away than max_backward.\r
+   Writes the best match into |out|.\r
+   Returns 1 when match is found, otherwise 0. */\r
+static BROTLI_INLINE BROTLI_BOOL FN(FindLongestMatch)(\r
+    HashForgetfulChain* self, const uint8_t* BROTLI_RESTRICT data,\r
+    const size_t ring_buffer_mask, const int* BROTLI_RESTRICT distance_cache,\r
+    const size_t cur_ix, const size_t max_length, const size_t max_backward,\r
+    HasherSearchResult* BROTLI_RESTRICT out) {\r
+  const size_t cur_ix_masked = cur_ix & ring_buffer_mask;\r
+  BROTLI_BOOL is_match_found = BROTLI_FALSE;\r
+  /* Don't accept a short copy from far away. */\r
+  score_t best_score = out->score;\r
+  size_t best_len = out->len;\r
+  size_t i;\r
+  const size_t key = FN(HashBytes)(&data[cur_ix_masked]);\r
+  const uint8_t tiny_hash = (uint8_t)(key);\r
+  out->len = 0;\r
+  out->len_x_code = 0;\r
+  /* Try last distance first. */\r
+  for (i = 0; i < NUM_LAST_DISTANCES_TO_CHECK; ++i) {\r
+    const size_t idx = kDistanceCacheIndex[i];\r
+    const size_t backward =\r
+        (size_t)(distance_cache[idx] + kDistanceCacheOffset[i]);\r
+    size_t prev_ix = (cur_ix - backward);\r
+    if (i > 0 && self->tiny_hash[(uint16_t)prev_ix] != tiny_hash) continue;\r
+    if (prev_ix >= cur_ix || backward > max_backward) {\r
+      continue;\r
+    }\r
+    prev_ix &= ring_buffer_mask;\r
+    {\r
+      const size_t len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                                  &data[cur_ix_masked],\r
+                                                  max_length);\r
+      if (len >= 2) {\r
+        score_t score = BackwardReferenceScoreUsingLastDistance(len, i);\r
+        if (best_score < score) {\r
+          best_score = score;\r
+          best_len = len;\r
+          out->len = best_len;\r
+          out->distance = backward;\r
+          out->score = best_score;\r
+          is_match_found = BROTLI_TRUE;\r
+        }\r
+      }\r
+    }\r
+  }\r
+  {\r
+    const size_t bank = key & (NUM_BANKS - 1);\r
+    size_t backward = 0;\r
+    size_t hops = self->max_hops;\r
+    size_t delta = cur_ix - self->addr[key];\r
+    size_t slot = self->head[key];\r
+    while (hops--) {\r
+      size_t prev_ix;\r
+      size_t last = slot;\r
+      backward += delta;\r
+      if (backward > max_backward || (CAPPED_CHAINS && !delta)) break;\r
+      prev_ix = (cur_ix - backward) & ring_buffer_mask;\r
+      slot = self->banks[bank].slots[last].next;\r
+      delta = self->banks[bank].slots[last].delta;\r
+      if (cur_ix_masked + best_len > ring_buffer_mask ||\r
+          prev_ix + best_len > ring_buffer_mask ||\r
+          data[cur_ix_masked + best_len] != data[prev_ix + best_len]) {\r
+        continue;\r
+      }\r
+      {\r
+        const size_t len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                                    &data[cur_ix_masked],\r
+                                                    max_length);\r
+        if (len >= 4) {\r
+          /* Comparing for >= 3 does not change the semantics, but just saves\r
+             for a few unnecessary binary logarithms in backward reference\r
+             score, since we are not interested in such short matches. */\r
+          score_t score = BackwardReferenceScore(len, backward);\r
+          if (best_score < score) {\r
+            best_score = score;\r
+            best_len = len;\r
+            out->len = best_len;\r
+            out->distance = backward;\r
+            out->score = best_score;\r
+            is_match_found = BROTLI_TRUE;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    FN(Store)(self, data, ring_buffer_mask, cur_ix);\r
+  }\r
+  if (!is_match_found) {\r
+    is_match_found = SearchInStaticDictionary(&self->dict_search_stats_,\r
+        &data[cur_ix_masked], max_length, max_backward, out, BROTLI_FALSE);\r
+  }\r
+  return is_match_found;\r
+}\r
+\r
+#undef BANK_SIZE\r
+#undef BUCKET_SIZE\r
+#undef CAPPED_CHAINS\r
+\r
+#undef HashForgetfulChain\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h b/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_inc.h
new file mode 100644 (file)
index 0000000..4791b6f
--- /dev/null
@@ -0,0 +1,241 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN, BUCKET_BITS, BLOCK_BITS,\r
+                        NUM_LAST_DISTANCES_TO_CHECK */\r
+\r
+/* A (forgetful) hash table to the data seen by the compressor, to\r
+   help create backward references to previous data.\r
+\r
+   This is a hash map of fixed size (BUCKET_SIZE) to a ring buffer of\r
+   fixed size (BLOCK_SIZE). The ring buffer contains the last BLOCK_SIZE\r
+   index positions of the given hash key in the compressed data. */\r
+\r
+#define HashLongestMatch HASHER()\r
+\r
+/* Number of hash buckets. */\r
+#define BUCKET_SIZE (1 << BUCKET_BITS)\r
+\r
+/* Only BLOCK_SIZE newest backward references are kept,\r
+   and the older are forgotten. */\r
+#define BLOCK_SIZE (1u << BLOCK_BITS)\r
+\r
+/* Mask for accessing entries in a block (in a ringbuffer manner). */\r
+#define BLOCK_MASK ((1 << BLOCK_BITS) - 1)\r
+\r
+#define HASH_MAP_SIZE (2 << BUCKET_BITS)\r
+\r
+static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }\r
+static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; }\r
+\r
+/* HashBytes is the function that chooses the bucket to place\r
+   the address in. The HashLongestMatch and HashLongestMatchQuickly\r
+   classes have separate, different implementations of hashing. */\r
+static uint32_t FN(HashBytes)(const uint8_t *data) {\r
+  uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kHashMul32;\r
+  /* The higher bits contain more mixture from the multiplication,\r
+     so we take our results from there. */\r
+  return h >> (32 - BUCKET_BITS);\r
+}\r
+\r
+typedef struct HashLongestMatch {\r
+  /* Number of entries in a particular bucket. */\r
+  uint16_t num_[BUCKET_SIZE];\r
+\r
+  /* Buckets containing BLOCK_SIZE of backward references. */\r
+  uint32_t buckets_[BLOCK_SIZE << BUCKET_BITS];\r
+\r
+  /* True if num_ array needs to be initialized. */\r
+  BROTLI_BOOL is_dirty_;\r
+\r
+  DictionarySearchStatictics dict_search_stats_;\r
+} HashLongestMatch;\r
+\r
+static void FN(Reset)(HashLongestMatch* self) {\r
+  self->is_dirty_ = BROTLI_TRUE;\r
+  DictionarySearchStaticticsReset(&self->dict_search_stats_);\r
+}\r
+\r
+static void FN(InitEmpty)(HashLongestMatch* self) {\r
+  if (self->is_dirty_) {\r
+    memset(self->num_, 0, sizeof(self->num_));\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void FN(InitForData)(HashLongestMatch* self, const uint8_t* data,\r
+    size_t num) {\r
+  size_t i;\r
+  for (i = 0; i < num; ++i) {\r
+    const uint32_t key = FN(HashBytes)(&data[i]);\r
+    self->num_[key] = 0;\r
+  }\r
+  if (num != 0) {\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void FN(Init)(\r
+    MemoryManager* m, HashLongestMatch* self, const uint8_t* data,\r
+    const BrotliEncoderParams* params, size_t position, size_t bytes,\r
+    BROTLI_BOOL is_last) {\r
+  /* Choose which init method is faster.\r
+     Init() is about 100 times faster than InitForData(). */\r
+  const size_t kMaxBytesForPartialHashInit = HASH_MAP_SIZE >> 7;\r
+  BROTLI_UNUSED(m);\r
+  BROTLI_UNUSED(params);\r
+  if (position == 0 && is_last && bytes <= kMaxBytesForPartialHashInit) {\r
+    FN(InitForData)(self, data, bytes);\r
+  } else {\r
+    FN(InitEmpty)(self);\r
+  }\r
+}\r
+\r
+/* Look at 4 bytes at &data[ix & mask].\r
+   Compute a hash from these, and store the value of ix at that position. */\r
+static BROTLI_INLINE void FN(Store)(HashLongestMatch* self, const uint8_t *data,\r
+    const size_t mask, const size_t ix) {\r
+  const uint32_t key = FN(HashBytes)(&data[ix & mask]);\r
+  const size_t minor_ix = self->num_[key] & BLOCK_MASK;\r
+  self->buckets_[minor_ix + (key << BLOCK_BITS)] = (uint32_t)ix;\r
+  ++self->num_[key];\r
+}\r
+\r
+static BROTLI_INLINE void FN(StoreRange)(HashLongestMatch* self,\r
+    const uint8_t *data, const size_t mask, const size_t ix_start,\r
+    const size_t ix_end) {\r
+  size_t i;\r
+  for (i = ix_start; i < ix_end; ++i) {\r
+    FN(Store)(self, data, mask, i);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void FN(StitchToPreviousBlock)(HashLongestMatch* self,\r
+    size_t num_bytes, size_t position, const uint8_t* ringbuffer,\r
+    size_t ringbuffer_mask) {\r
+  if (num_bytes >= FN(HashTypeLength)() - 1 && position >= 3) {\r
+    /* Prepare the hashes for three last bytes of the last write.\r
+       These could not be calculated before, since they require knowledge\r
+       of both the previous and the current block. */\r
+    FN(Store)(self, ringbuffer, ringbuffer_mask, position - 3);\r
+    FN(Store)(self, ringbuffer, ringbuffer_mask, position - 2);\r
+    FN(Store)(self, ringbuffer, ringbuffer_mask, position - 1);\r
+  }\r
+}\r
+\r
+/* Find a longest backward match of &data[cur_ix] up to the length of\r
+   max_length and stores the position cur_ix in the hash table.\r
+\r
+   Does not look for matches longer than max_length.\r
+   Does not look for matches further away than max_backward.\r
+   Writes the best match into |out|.\r
+   Returns true when match is found, otherwise false. */\r
+static BROTLI_INLINE BROTLI_BOOL FN(FindLongestMatch)(HashLongestMatch* self,\r
+    const uint8_t* BROTLI_RESTRICT data, const size_t ring_buffer_mask,\r
+    const int* BROTLI_RESTRICT distance_cache, const size_t cur_ix,\r
+    const size_t max_length, const size_t max_backward,\r
+    HasherSearchResult* BROTLI_RESTRICT out) {\r
+  const size_t cur_ix_masked = cur_ix & ring_buffer_mask;\r
+  BROTLI_BOOL is_match_found = BROTLI_FALSE;\r
+  /* Don't accept a short copy from far away. */\r
+  score_t best_score = out->score;\r
+  size_t best_len = out->len;\r
+  size_t i;\r
+  out->len = 0;\r
+  out->len_x_code = 0;\r
+  /* Try last distance first. */\r
+  for (i = 0; i < NUM_LAST_DISTANCES_TO_CHECK; ++i) {\r
+    const size_t idx = kDistanceCacheIndex[i];\r
+    const size_t backward =\r
+        (size_t)(distance_cache[idx] + kDistanceCacheOffset[i]);\r
+    size_t prev_ix = (size_t)(cur_ix - backward);\r
+    if (prev_ix >= cur_ix) {\r
+      continue;\r
+    }\r
+    if (PREDICT_FALSE(backward > max_backward)) {\r
+      continue;\r
+    }\r
+    prev_ix &= ring_buffer_mask;\r
+\r
+    if (cur_ix_masked + best_len > ring_buffer_mask ||\r
+        prev_ix + best_len > ring_buffer_mask ||\r
+        data[cur_ix_masked + best_len] != data[prev_ix + best_len]) {\r
+      continue;\r
+    }\r
+    {\r
+      const size_t len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                                  &data[cur_ix_masked],\r
+                                                  max_length);\r
+      if (len >= 3 || (len == 2 && i < 2)) {\r
+        /* Comparing for >= 2 does not change the semantics, but just saves for\r
+           a few unnecessary binary logarithms in backward reference score,\r
+           since we are not interested in such short matches. */\r
+        score_t score = BackwardReferenceScoreUsingLastDistance(len, i);\r
+        if (best_score < score) {\r
+          best_score = score;\r
+          best_len = len;\r
+          out->len = best_len;\r
+          out->distance = backward;\r
+          out->score = best_score;\r
+          is_match_found = BROTLI_TRUE;\r
+        }\r
+      }\r
+    }\r
+  }\r
+  {\r
+    const uint32_t key = FN(HashBytes)(&data[cur_ix_masked]);\r
+    uint32_t* BROTLI_RESTRICT bucket = &self->buckets_[key << BLOCK_BITS];\r
+    const size_t down =\r
+        (self->num_[key] > BLOCK_SIZE) ? (self->num_[key] - BLOCK_SIZE) : 0u;\r
+    for (i = self->num_[key]; i > down;) {\r
+      size_t prev_ix = bucket[--i & BLOCK_MASK];\r
+      const size_t backward = cur_ix - prev_ix;\r
+      if (PREDICT_FALSE(backward > max_backward)) {\r
+        break;\r
+      }\r
+      prev_ix &= ring_buffer_mask;\r
+      if (cur_ix_masked + best_len > ring_buffer_mask ||\r
+          prev_ix + best_len > ring_buffer_mask ||\r
+          data[cur_ix_masked + best_len] != data[prev_ix + best_len]) {\r
+        continue;\r
+      }\r
+      {\r
+        const size_t len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                                    &data[cur_ix_masked],\r
+                                                    max_length);\r
+        if (len >= 4) {\r
+          /* Comparing for >= 3 does not change the semantics, but just saves\r
+             for a few unnecessary binary logarithms in backward reference\r
+             score, since we are not interested in such short matches. */\r
+          score_t score = BackwardReferenceScore(len, backward);\r
+          if (best_score < score) {\r
+            best_score = score;\r
+            best_len = len;\r
+            out->len = best_len;\r
+            out->distance = backward;\r
+            out->score = best_score;\r
+            is_match_found = BROTLI_TRUE;\r
+          }\r
+        }\r
+      }\r
+    }\r
+    bucket[self->num_[key] & BLOCK_MASK] = (uint32_t)cur_ix;\r
+    ++self->num_[key];\r
+  }\r
+  if (!is_match_found) {\r
+    is_match_found = SearchInStaticDictionary(&self->dict_search_stats_,\r
+        &data[cur_ix_masked], max_length, max_backward, out, BROTLI_FALSE);\r
+  }\r
+  return is_match_found;\r
+}\r
+\r
+#undef HASH_MAP_SIZE\r
+#undef BLOCK_MASK\r
+#undef BLOCK_SIZE\r
+#undef BUCKET_SIZE\r
+\r
+#undef HashLongestMatch\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h b/BaseTools/Source/C/BrotliCompress/enc/hash_longest_match_quickly_inc.h
new file mode 100644 (file)
index 0000000..49e6795
--- /dev/null
@@ -0,0 +1,230 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN, BUCKET_BITS, BUCKET_SWEEP, USE_DICTIONARY */\r
+\r
+#define HashLongestMatchQuickly HASHER()\r
+\r
+#define BUCKET_SIZE (1 << BUCKET_BITS)\r
+\r
+#define HASH_MAP_SIZE (4 << BUCKET_BITS)\r
+\r
+static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 8; }\r
+static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 8; }\r
+\r
+/* HashBytes is the function that chooses the bucket to place\r
+   the address in. The HashLongestMatch and HashLongestMatchQuickly\r
+   classes have separate, different implementations of hashing. */\r
+static uint32_t FN(HashBytes)(const uint8_t *data) {\r
+  /* Computing a hash based on 5 bytes works much better for\r
+     qualities 1 and 3, where the next hash value is likely to replace */\r
+  uint64_t h = (BROTLI_UNALIGNED_LOAD64(data) << 24) * kHashMul32;\r
+  /* The higher bits contain more mixture from the multiplication,\r
+     so we take our results from there. */\r
+  return (uint32_t)(h >> (64 - BUCKET_BITS));\r
+}\r
+\r
+/* A (forgetful) hash table to the data seen by the compressor, to\r
+   help create backward references to previous data.\r
+\r
+   This is a hash map of fixed size (BUCKET_SIZE). Starting from the\r
+   given index, BUCKET_SWEEP buckets are used to store values of a key. */\r
+typedef struct HashLongestMatchQuickly {\r
+  uint32_t buckets_[BUCKET_SIZE + BUCKET_SWEEP];\r
+  /* True if buckets_ array needs to be initialized. */\r
+  BROTLI_BOOL is_dirty_;\r
+  DictionarySearchStatictics dict_search_stats_;\r
+} HashLongestMatchQuickly;\r
+\r
+static void FN(Reset)(HashLongestMatchQuickly* self) {\r
+  self->is_dirty_ = BROTLI_TRUE;\r
+  DictionarySearchStaticticsReset(&self->dict_search_stats_);\r
+}\r
+\r
+static void FN(InitEmpty)(HashLongestMatchQuickly* self) {\r
+  if (self->is_dirty_) {\r
+    /* It is not strictly necessary to fill this buffer here, but\r
+       not filling will make the results of the compression stochastic\r
+       (but correct). This is because random data would cause the\r
+       system to find accidentally good backward references here and there. */\r
+    memset(&self->buckets_[0], 0, sizeof(self->buckets_));\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void FN(InitForData)(HashLongestMatchQuickly* self, const uint8_t* data,\r
+    size_t num) {\r
+  size_t i;\r
+  for (i = 0; i < num; ++i) {\r
+    const uint32_t key = FN(HashBytes)(&data[i]);\r
+    memset(&self->buckets_[key], 0, BUCKET_SWEEP * sizeof(self->buckets_[0]));\r
+  }\r
+  if (num != 0) {\r
+    self->is_dirty_ = BROTLI_FALSE;\r
+  }\r
+}\r
+\r
+static void FN(Init)(\r
+    MemoryManager* m, HashLongestMatchQuickly* self, const uint8_t* data,\r
+    const BrotliEncoderParams* params, size_t position, size_t bytes,\r
+    BROTLI_BOOL is_last) {\r
+  /* Choose which init method is faster.\r
+     Init() is about 100 times faster than InitForData(). */\r
+  const size_t kMaxBytesForPartialHashInit = HASH_MAP_SIZE >> 7;\r
+  BROTLI_UNUSED(m);\r
+  BROTLI_UNUSED(params);\r
+  if (position == 0 && is_last && bytes <= kMaxBytesForPartialHashInit) {\r
+    FN(InitForData)(self, data, bytes);\r
+  } else {\r
+    FN(InitEmpty)(self);\r
+  }\r
+}\r
+\r
+/* Look at 5 bytes at &data[ix & mask].\r
+   Compute a hash from these, and store the value somewhere within\r
+   [ix .. ix+3]. */\r
+static BROTLI_INLINE void FN(Store)(HashLongestMatchQuickly* self,\r
+    const uint8_t *data, const size_t mask, const size_t ix) {\r
+  const uint32_t key = FN(HashBytes)(&data[ix & mask]);\r
+  /* Wiggle the value with the bucket sweep range. */\r
+  const uint32_t off = (ix >> 3) % BUCKET_SWEEP;\r
+  self->buckets_[key + off] = (uint32_t)ix;\r
+}\r
+\r
+static BROTLI_INLINE void FN(StoreRange)(HashLongestMatchQuickly* self,\r
+    const uint8_t *data, const size_t mask, const size_t ix_start,\r
+    const size_t ix_end) {\r
+  size_t i;\r
+  for (i = ix_start; i < ix_end; ++i) {\r
+    FN(Store)(self, data, mask, i);\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void FN(StitchToPreviousBlock)(\r
+    HashLongestMatchQuickly* self, size_t num_bytes, size_t position,\r
+    const uint8_t* ringbuffer, size_t ringbuffer_mask) {\r
+  if (num_bytes >= FN(HashTypeLength)() - 1 && position >= 3) {\r
+    /* Prepare the hashes for three last bytes of the last write.\r
+       These could not be calculated before, since they require knowledge\r
+       of both the previous and the current block. */\r
+    FN(Store)(self, ringbuffer, ringbuffer_mask, position - 3);\r
+    FN(Store)(self, ringbuffer, ringbuffer_mask, position - 2);\r
+    FN(Store)(self, ringbuffer, ringbuffer_mask, position - 1);\r
+  }\r
+}\r
+\r
+/* Find a longest backward match of &data[cur_ix & ring_buffer_mask]\r
+   up to the length of max_length and stores the position cur_ix in the\r
+   hash table.\r
+\r
+   Does not look for matches longer than max_length.\r
+   Does not look for matches further away than max_backward.\r
+   Writes the best match into |out|.\r
+   Returns true if match is found, otherwise false. */\r
+static BROTLI_INLINE BROTLI_BOOL FN(FindLongestMatch)(\r
+    HashLongestMatchQuickly* self, const uint8_t* BROTLI_RESTRICT data,\r
+    const size_t ring_buffer_mask, const int* BROTLI_RESTRICT distance_cache,\r
+    const size_t cur_ix, const size_t max_length, const size_t max_backward,\r
+    HasherSearchResult* BROTLI_RESTRICT out) {\r
+  const size_t best_len_in = out->len;\r
+  const size_t cur_ix_masked = cur_ix & ring_buffer_mask;\r
+  const uint32_t key = FN(HashBytes)(&data[cur_ix_masked]);\r
+  int compare_char = data[cur_ix_masked + best_len_in];\r
+  score_t best_score = out->score;\r
+  size_t best_len = best_len_in;\r
+  size_t cached_backward = (size_t)distance_cache[0];\r
+  size_t prev_ix = cur_ix - cached_backward;\r
+  BROTLI_BOOL is_match_found = BROTLI_FALSE;\r
+  out->len_x_code = 0;\r
+  if (prev_ix < cur_ix) {\r
+    prev_ix &= (uint32_t)ring_buffer_mask;\r
+    if (compare_char == data[prev_ix + best_len]) {\r
+      size_t len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                            &data[cur_ix_masked],\r
+                                            max_length);\r
+      if (len >= 4) {\r
+        best_score = BackwardReferenceScoreUsingLastDistance(len, 0);\r
+        best_len = len;\r
+        out->len = len;\r
+        out->distance = cached_backward;\r
+        out->score = best_score;\r
+        compare_char = data[cur_ix_masked + best_len];\r
+        if (BUCKET_SWEEP == 1) {\r
+          self->buckets_[key] = (uint32_t)cur_ix;\r
+          return BROTLI_TRUE;\r
+        } else {\r
+          is_match_found = BROTLI_TRUE;\r
+        }\r
+      }\r
+    }\r
+  }\r
+  if (BUCKET_SWEEP == 1) {\r
+    size_t backward;\r
+    size_t len;\r
+    /* Only one to look for, don't bother to prepare for a loop. */\r
+    prev_ix = self->buckets_[key];\r
+    self->buckets_[key] = (uint32_t)cur_ix;\r
+    backward = cur_ix - prev_ix;\r
+    prev_ix &= (uint32_t)ring_buffer_mask;\r
+    if (compare_char != data[prev_ix + best_len_in]) {\r
+      return BROTLI_FALSE;\r
+    }\r
+    if (PREDICT_FALSE(backward == 0 || backward > max_backward)) {\r
+      return BROTLI_FALSE;\r
+    }\r
+    len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                   &data[cur_ix_masked],\r
+                                   max_length);\r
+    if (len >= 4) {\r
+      out->len = len;\r
+      out->distance = backward;\r
+      out->score = BackwardReferenceScore(len, backward);\r
+      return BROTLI_TRUE;\r
+    }\r
+  } else {\r
+    uint32_t *bucket = self->buckets_ + key;\r
+    int i;\r
+    prev_ix = *bucket++;\r
+    for (i = 0; i < BUCKET_SWEEP; ++i, prev_ix = *bucket++) {\r
+      const size_t backward = cur_ix - prev_ix;\r
+      size_t len;\r
+      prev_ix &= (uint32_t)ring_buffer_mask;\r
+      if (compare_char != data[prev_ix + best_len]) {\r
+        continue;\r
+      }\r
+      if (PREDICT_FALSE(backward == 0 || backward > max_backward)) {\r
+        continue;\r
+      }\r
+      len = FindMatchLengthWithLimit(&data[prev_ix],\r
+                                     &data[cur_ix_masked],\r
+                                     max_length);\r
+      if (len >= 4) {\r
+        const score_t score = BackwardReferenceScore(len, backward);\r
+        if (best_score < score) {\r
+          best_score = score;\r
+          best_len = len;\r
+          out->len = best_len;\r
+          out->distance = backward;\r
+          out->score = score;\r
+          compare_char = data[cur_ix_masked + best_len];\r
+          is_match_found = BROTLI_TRUE;\r
+        }\r
+      }\r
+    }\r
+  }\r
+  if (USE_DICTIONARY && !is_match_found) {\r
+    is_match_found = SearchInStaticDictionary(&self->dict_search_stats_,\r
+        &data[cur_ix_masked], max_length, max_backward, out, BROTLI_TRUE);\r
+  }\r
+  self->buckets_[key + ((cur_ix >> 3) % BUCKET_SWEEP)] = (uint32_t)cur_ix;\r
+  return is_match_found;\r
+}\r
+\r
+#undef HASH_MAP_SIZE\r
+#undef BUCKET_SIZE\r
+\r
+#undef HashLongestMatchQuickly\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/histogram.c b/BaseTools/Source/C/BrotliCompress/enc/histogram.c
new file mode 100644 (file)
index 0000000..dc0a12f
--- /dev/null
@@ -0,0 +1,95 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Build per-context histograms of literals, commands and distance codes. */\r
+\r
+#include "./histogram.h"\r
+\r
+#include "./block_splitter.h"\r
+#include "./command.h"\r
+#include "./context.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct BlockSplitIterator {\r
+  const BlockSplit* split_;  /* Not owned. */\r
+  size_t idx_;\r
+  size_t type_;\r
+  size_t length_;\r
+} BlockSplitIterator;\r
+\r
+static void InitBlockSplitIterator(BlockSplitIterator* self,\r
+    const BlockSplit* split) {\r
+  self->split_ = split;\r
+  self->idx_ = 0;\r
+  self->type_ = 0;\r
+  self->length_ = split->lengths ? split->lengths[0] : 0;\r
+}\r
+\r
+static void BlockSplitIteratorNext(BlockSplitIterator* self) {\r
+  if (self->length_ == 0) {\r
+    ++self->idx_;\r
+    self->type_ = self->split_->types[self->idx_];\r
+    self->length_ = self->split_->lengths[self->idx_];\r
+  }\r
+  --self->length_;\r
+}\r
+\r
+void BrotliBuildHistogramsWithContext(\r
+    const Command* cmds, const size_t num_commands,\r
+    const BlockSplit* literal_split, const BlockSplit* insert_and_copy_split,\r
+    const BlockSplit* dist_split, const uint8_t* ringbuffer, size_t start_pos,\r
+    size_t mask, uint8_t prev_byte, uint8_t prev_byte2,\r
+    const ContextType* context_modes, HistogramLiteral* literal_histograms,\r
+    HistogramCommand* insert_and_copy_histograms,\r
+    HistogramDistance* copy_dist_histograms) {\r
+  size_t pos = start_pos;\r
+  BlockSplitIterator literal_it;\r
+  BlockSplitIterator insert_and_copy_it;\r
+  BlockSplitIterator dist_it;\r
+  size_t i;\r
+\r
+  InitBlockSplitIterator(&literal_it, literal_split);\r
+  InitBlockSplitIterator(&insert_and_copy_it, insert_and_copy_split);\r
+  InitBlockSplitIterator(&dist_it, dist_split);\r
+  for (i = 0; i < num_commands; ++i) {\r
+    const Command* cmd = &cmds[i];\r
+    size_t j;\r
+    BlockSplitIteratorNext(&insert_and_copy_it);\r
+    HistogramAddCommand(&insert_and_copy_histograms[insert_and_copy_it.type_],\r
+        cmd->cmd_prefix_);\r
+    for (j = cmd->insert_len_; j != 0; --j) {\r
+      size_t context;\r
+      BlockSplitIteratorNext(&literal_it);\r
+      context = (literal_it.type_ << BROTLI_LITERAL_CONTEXT_BITS) +\r
+          Context(prev_byte, prev_byte2, context_modes[literal_it.type_]);\r
+      HistogramAddLiteral(&literal_histograms[context],\r
+          ringbuffer[pos & mask]);\r
+      prev_byte2 = prev_byte;\r
+      prev_byte = ringbuffer[pos & mask];\r
+      ++pos;\r
+    }\r
+    pos += CommandCopyLen(cmd);\r
+    if (CommandCopyLen(cmd)) {\r
+      prev_byte2 = ringbuffer[(pos - 2) & mask];\r
+      prev_byte = ringbuffer[(pos - 1) & mask];\r
+      if (cmd->cmd_prefix_ >= 128) {\r
+        size_t context;\r
+        BlockSplitIteratorNext(&dist_it);\r
+        context = (dist_it.type_ << BROTLI_DISTANCE_CONTEXT_BITS) +\r
+            CommandDistanceContext(cmd);\r
+        HistogramAddDistance(&copy_dist_histograms[context],\r
+            cmd->dist_prefix_);\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/histogram.h b/BaseTools/Source/C/BrotliCompress/enc/histogram.h
new file mode 100644 (file)
index 0000000..e41b726
--- /dev/null
@@ -0,0 +1,60 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Models the histograms of literals, commands and distance codes. */\r
+\r
+#ifndef BROTLI_ENC_HISTOGRAM_H_\r
+#define BROTLI_ENC_HISTOGRAM_H_\r
+\r
+#include <string.h>  /* memset */\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./block_splitter.h"\r
+#include "./command.h"\r
+#include "./context.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define FN(X) X ## Literal\r
+#define DATA_SIZE BROTLI_NUM_LITERAL_SYMBOLS\r
+#define DataType uint8_t\r
+#include "./histogram_inc.h"  /* NOLINT(build/include) */\r
+#undef DataType\r
+#undef DATA_SIZE\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+#define DataType uint16_t\r
+#define DATA_SIZE BROTLI_NUM_COMMAND_SYMBOLS\r
+#include "./histogram_inc.h"  /* NOLINT(build/include) */\r
+#undef DATA_SIZE\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+#define DATA_SIZE BROTLI_NUM_DISTANCE_SYMBOLS\r
+#include "./histogram_inc.h"  /* NOLINT(build/include) */\r
+#undef DataType\r
+#undef DATA_SIZE\r
+#undef FN\r
+\r
+BROTLI_INTERNAL void BrotliBuildHistogramsWithContext(\r
+    const Command* cmds, const size_t num_commands,\r
+    const BlockSplit* literal_split, const BlockSplit* insert_and_copy_split,\r
+    const BlockSplit* dist_split, const uint8_t* ringbuffer, size_t pos,\r
+    size_t mask, uint8_t prev_byte, uint8_t prev_byte2,\r
+    const ContextType* context_modes, HistogramLiteral* literal_histograms,\r
+    HistogramCommand* insert_and_copy_histograms,\r
+    HistogramDistance* copy_dist_histograms);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_HISTOGRAM_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h b/BaseTools/Source/C/BrotliCompress/enc/histogram_inc.h
new file mode 100644 (file)
index 0000000..76c7544
--- /dev/null
@@ -0,0 +1,51 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: Histogram, DATA_SIZE, DataType */\r
+\r
+/* A simple container for histograms of data in blocks. */\r
+\r
+typedef struct FN(Histogram) {\r
+  uint32_t data_[DATA_SIZE];\r
+  size_t total_count_;\r
+  double bit_cost_;\r
+} FN(Histogram);\r
+\r
+static BROTLI_INLINE void FN(HistogramClear)(FN(Histogram)* self) {\r
+  memset(self->data_, 0, sizeof(self->data_));\r
+  self->total_count_ = 0;\r
+  self->bit_cost_ = HUGE_VAL;\r
+}\r
+\r
+static BROTLI_INLINE void FN(ClearHistograms)(\r
+    FN(Histogram)* array, size_t length) {\r
+  size_t i;\r
+  for (i = 0; i < length; ++i) FN(HistogramClear)(array + i);\r
+}\r
+\r
+static BROTLI_INLINE void FN(HistogramAdd)(FN(Histogram)* self, size_t val) {\r
+  ++self->data_[val];\r
+  ++self->total_count_;\r
+}\r
+\r
+static BROTLI_INLINE void FN(HistogramAddVector)(FN(Histogram)* self,\r
+    const DataType *p, size_t n) {\r
+  self->total_count_ += n;\r
+  n += 1;\r
+  while (--n) ++self->data_[*p++];\r
+}\r
+\r
+static BROTLI_INLINE void FN(HistogramAddHistogram)(FN(Histogram)* self,\r
+    const FN(Histogram)* v) {\r
+  size_t i;\r
+  self->total_count_ += v->total_count_;\r
+  for (i = 0; i < DATA_SIZE; ++i) {\r
+    self->data_[i] += v->data_[i];\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE size_t FN(HistogramDataSize)(void) { return DATA_SIZE; }\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/literal_cost.c b/BaseTools/Source/C/BrotliCompress/enc/literal_cost.c
new file mode 100644 (file)
index 0000000..e40a082
--- /dev/null
@@ -0,0 +1,178 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Literal cost model to allow backward reference replacement to be efficient.\r
+*/\r
+\r
+#include "./literal_cost.h"\r
+\r
+#include "../common/types.h"\r
+#include "./fast_log.h"\r
+#include "./port.h"\r
+#include "./utf8_util.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static size_t UTF8Position(size_t last, size_t c, size_t clamp) {\r
+  if (c < 128) {\r
+    return 0;  /* Next one is the 'Byte 1' again. */\r
+  } else if (c >= 192) {  /* Next one is the 'Byte 2' of utf-8 encoding. */\r
+    return BROTLI_MIN(size_t, 1, clamp);\r
+  } else {\r
+    /* Let's decide over the last byte if this ends the sequence. */\r
+    if (last < 0xe0) {\r
+      return 0;  /* Completed two or three byte coding. */\r
+    } else {  /* Next one is the 'Byte 3' of utf-8 encoding. */\r
+      return BROTLI_MIN(size_t, 2, clamp);\r
+    }\r
+  }\r
+}\r
+\r
+static size_t DecideMultiByteStatsLevel(size_t pos, size_t len, size_t mask,\r
+                                        const uint8_t *data) {\r
+  size_t counts[3] = { 0 };\r
+  size_t max_utf8 = 1;  /* should be 2, but 1 compresses better. */\r
+  size_t last_c = 0;\r
+  size_t utf8_pos = 0;\r
+  size_t i;\r
+  for (i = 0; i < len; ++i) {\r
+    size_t c = data[(pos + i) & mask];\r
+    utf8_pos = UTF8Position(last_c, c, 2);\r
+    ++counts[utf8_pos];\r
+    last_c = c;\r
+  }\r
+  if (counts[2] < 500) {\r
+    max_utf8 = 1;\r
+  }\r
+  if (counts[1] + counts[2] < 25) {\r
+    max_utf8 = 0;\r
+  }\r
+  return max_utf8;\r
+}\r
+\r
+static void EstimateBitCostsForLiteralsUTF8(size_t pos, size_t len, size_t mask,\r
+                                            const uint8_t *data, float *cost) {\r
+  /* max_utf8 is 0 (normal ascii single byte modeling),\r
+     1 (for 2-byte utf-8 modeling), or 2 (for 3-byte utf-8 modeling). */\r
+  const size_t max_utf8 = DecideMultiByteStatsLevel(pos, len, mask, data);\r
+  size_t histogram[3][256] = { { 0 } };\r
+  size_t window_half = 495;\r
+  size_t in_window = BROTLI_MIN(size_t, window_half, len);\r
+  size_t in_window_utf8[3] = { 0 };\r
+\r
+\r
+  size_t i;\r
+  {  /* Bootstrap histograms. */\r
+    size_t last_c = 0;\r
+    size_t utf8_pos = 0;\r
+    for (i = 0; i < in_window; ++i) {\r
+      size_t c = data[(pos + i) & mask];\r
+      ++histogram[utf8_pos][c];\r
+      ++in_window_utf8[utf8_pos];\r
+      utf8_pos = UTF8Position(last_c, c, max_utf8);\r
+      last_c = c;\r
+    }\r
+  }\r
+\r
+  /* Compute bit costs with sliding window. */\r
+  for (i = 0; i < len; ++i) {\r
+    if (i >= window_half) {\r
+      /* Remove a byte in the past. */\r
+      size_t c =\r
+          i < window_half + 1 ? 0 : data[(pos + i - window_half - 1) & mask];\r
+      size_t last_c =\r
+          i < window_half + 2 ? 0 : data[(pos + i - window_half - 2) & mask];\r
+      size_t utf8_pos2 = UTF8Position(last_c, c, max_utf8);\r
+      --histogram[utf8_pos2][data[(pos + i - window_half) & mask]];\r
+      --in_window_utf8[utf8_pos2];\r
+    }\r
+    if (i + window_half < len) {\r
+      /* Add a byte in the future. */\r
+      size_t c = data[(pos + i + window_half - 1) & mask];\r
+      size_t last_c = data[(pos + i + window_half - 2) & mask];\r
+      size_t utf8_pos2 = UTF8Position(last_c, c, max_utf8);\r
+      ++histogram[utf8_pos2][data[(pos + i + window_half) & mask]];\r
+      ++in_window_utf8[utf8_pos2];\r
+    }\r
+    {\r
+      size_t c = i < 1 ? 0 : data[(pos + i - 1) & mask];\r
+      size_t last_c = i < 2 ? 0 : data[(pos + i - 2) & mask];\r
+      size_t utf8_pos = UTF8Position(last_c, c, max_utf8);\r
+      size_t masked_pos = (pos + i) & mask;\r
+      size_t histo = histogram[utf8_pos][data[masked_pos]];\r
+      double lit_cost;\r
+      if (histo == 0) {\r
+        histo = 1;\r
+      }\r
+      lit_cost = FastLog2(in_window_utf8[utf8_pos]) - FastLog2(histo);\r
+      lit_cost += 0.02905;\r
+      if (lit_cost < 1.0) {\r
+        lit_cost *= 0.5;\r
+        lit_cost += 0.5;\r
+      }\r
+      /* Make the first bytes more expensive -- seems to help, not sure why.\r
+         Perhaps because the entropy source is changing its properties\r
+         rapidly in the beginning of the file, perhaps because the beginning\r
+         of the data is a statistical "anomaly". */\r
+      if (i < 2000) {\r
+        lit_cost += 0.7 - ((double)(2000 - i) / 2000.0 * 0.35);\r
+      }\r
+      cost[i] = (float)lit_cost;\r
+    }\r
+  }\r
+}\r
+\r
+void BrotliEstimateBitCostsForLiterals(size_t pos, size_t len, size_t mask,\r
+                                       const uint8_t *data, float *cost) {\r
+  if (BrotliIsMostlyUTF8(data, pos, mask, len, kMinUTF8Ratio)) {\r
+    EstimateBitCostsForLiteralsUTF8(pos, len, mask, data, cost);\r
+    return;\r
+  } else {\r
+    size_t histogram[256] = { 0 };\r
+    size_t window_half = 2000;\r
+    size_t in_window = BROTLI_MIN(size_t, window_half, len);\r
+\r
+    /* Bootstrap histogram. */\r
+    size_t i;\r
+    for (i = 0; i < in_window; ++i) {\r
+      ++histogram[data[(pos + i) & mask]];\r
+    }\r
+\r
+    /* Compute bit costs with sliding window. */\r
+    for (i = 0; i < len; ++i) {\r
+      size_t histo;\r
+      if (i >= window_half) {\r
+        /* Remove a byte in the past. */\r
+        --histogram[data[(pos + i - window_half) & mask]];\r
+        --in_window;\r
+      }\r
+      if (i + window_half < len) {\r
+        /* Add a byte in the future. */\r
+        ++histogram[data[(pos + i + window_half) & mask]];\r
+        ++in_window;\r
+      }\r
+      histo = histogram[data[(pos + i) & mask]];\r
+      if (histo == 0) {\r
+        histo = 1;\r
+      }\r
+      {\r
+        double lit_cost = FastLog2(in_window) - FastLog2(histo);\r
+        lit_cost += 0.029;\r
+        if (lit_cost < 1.0) {\r
+          lit_cost *= 0.5;\r
+          lit_cost += 0.5;\r
+        }\r
+        cost[i] = (float)lit_cost;\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/literal_cost.h b/BaseTools/Source/C/BrotliCompress/enc/literal_cost.h
new file mode 100644 (file)
index 0000000..6573b2d
--- /dev/null
@@ -0,0 +1,30 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Literal cost model to allow backward reference replacement to be efficient.\r
+*/\r
+\r
+#ifndef BROTLI_ENC_LITERAL_COST_H_\r
+#define BROTLI_ENC_LITERAL_COST_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* Estimates how many bits the literals in the interval [pos, pos + len) in the\r
+   ringbuffer (data, mask) will take entropy coded and writes these estimates\r
+   to the cost[0..len) array. */\r
+BROTLI_INTERNAL void BrotliEstimateBitCostsForLiterals(\r
+    size_t pos, size_t len, size_t mask, const uint8_t *data, float *cost);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_LITERAL_COST_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/memory.c b/BaseTools/Source/C/BrotliCompress/enc/memory.c
new file mode 100644 (file)
index 0000000..92ed253
--- /dev/null
@@ -0,0 +1,181 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Algorithms for distributing the literals and commands of a metablock between\r
+   block types and contexts. */\r
+\r
+#include "./memory.h"\r
+\r
+#include <assert.h>\r
+#include <stdlib.h>  /* exit, free, malloc */\r
+#include <string.h>  /* memcpy */\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define MAX_PERM_ALLOCATED 128\r
+#define MAX_NEW_ALLOCATED 64\r
+#define MAX_NEW_FREED 64\r
+\r
+#define PERM_ALLOCATED_OFFSET 0\r
+#define NEW_ALLOCATED_OFFSET MAX_PERM_ALLOCATED\r
+#define NEW_FREED_OFFSET (MAX_PERM_ALLOCATED + MAX_NEW_ALLOCATED)\r
+\r
+static void* DefaultAllocFunc(void* opaque, size_t size) {\r
+  BROTLI_UNUSED(opaque);\r
+  return malloc(size);\r
+}\r
+\r
+static void DefaultFreeFunc(void* opaque, void* address) {\r
+  BROTLI_UNUSED(opaque);\r
+  free(address);\r
+}\r
+\r
+void BrotliInitMemoryManager(\r
+    MemoryManager* m, brotli_alloc_func alloc_func, brotli_free_func free_func,\r
+    void* opaque) {\r
+  if (!alloc_func) {\r
+    m->alloc_func = DefaultAllocFunc;\r
+    m->free_func = DefaultFreeFunc;\r
+    m->opaque = 0;\r
+  } else {\r
+    m->alloc_func = alloc_func;\r
+    m->free_func = free_func;\r
+    m->opaque = opaque;\r
+  }\r
+#if !defined(BROTLI_ENCODER_EXIT_ON_OOM)\r
+  m->is_oom = BROTLI_FALSE;\r
+  m->perm_allocated = 0;\r
+  m->new_allocated = 0;\r
+  m->new_freed = 0;\r
+#endif  /* BROTLI_ENCODER_EXIT_ON_OOM */\r
+}\r
+\r
+#if defined(BROTLI_ENCODER_EXIT_ON_OOM)\r
+\r
+void* BrotliAllocate(MemoryManager* m, size_t n) {\r
+  void* result = m->alloc_func(m->opaque, n);\r
+  if (!result) exit(EXIT_FAILURE);\r
+  return result;\r
+}\r
+\r
+void BrotliFree(MemoryManager* m, void* p) {\r
+  m->free_func(m->opaque, p);\r
+}\r
+\r
+void BrotliWipeOutMemoryManager(MemoryManager* m) {\r
+  BROTLI_UNUSED(m);\r
+}\r
+\r
+#else  /* BROTLI_ENCODER_EXIT_ON_OOM */\r
+\r
+static void SortPointers(void** items, const size_t n) {\r
+  /* Shell sort. */\r
+  static const size_t gaps[] = {23, 10, 4, 1};\r
+  int g = 0;\r
+  for (; g < 4; ++g) {\r
+    size_t gap = gaps[g];\r
+    size_t i;\r
+    for (i = gap; i < n; ++i) {\r
+      size_t j = i;\r
+      void* tmp = items[i];\r
+      for (; j >= gap && tmp < items[j - gap]; j -= gap) {\r
+        items[j] = items[j - gap];\r
+      }\r
+      items[j] = tmp;\r
+    }\r
+  }\r
+}\r
+\r
+static size_t Annihilate(void** a, size_t a_len, void** b, size_t b_len) {\r
+  size_t a_read_index = 0;\r
+  size_t b_read_index = 0;\r
+  size_t a_write_index = 0;\r
+  size_t b_write_index = 0;\r
+  size_t annihilated = 0;\r
+  while (a_read_index < a_len && b_read_index < b_len) {\r
+    if (a[a_read_index] == b[b_read_index]) {\r
+      a_read_index++;\r
+      b_read_index++;\r
+      annihilated++;\r
+    } else if (a[a_read_index] < b[b_read_index]) {\r
+      a[a_write_index++] = a[a_read_index++];\r
+    } else {\r
+      b[b_write_index++] = b[b_read_index++];\r
+    }\r
+  }\r
+  while (a_read_index < a_len) a[a_write_index++] = a[a_read_index++];\r
+  while (b_read_index < b_len) b[b_write_index++] = b[b_read_index++];\r
+  return annihilated;\r
+}\r
+\r
+static void CollectGarbagePointers(MemoryManager* m) {\r
+  size_t annihilated;\r
+  SortPointers(m->pointers + NEW_ALLOCATED_OFFSET, m->new_allocated);\r
+  SortPointers(m->pointers + NEW_FREED_OFFSET, m->new_freed);\r
+  annihilated = Annihilate(\r
+      m->pointers + NEW_ALLOCATED_OFFSET, m->new_allocated,\r
+      m->pointers + NEW_FREED_OFFSET, m->new_freed);\r
+  m->new_allocated -= annihilated;\r
+  m->new_freed -= annihilated;\r
+\r
+  if (m->new_freed != 0) {\r
+    annihilated = Annihilate(\r
+        m->pointers + PERM_ALLOCATED_OFFSET, m->perm_allocated,\r
+        m->pointers + NEW_FREED_OFFSET, m->new_freed);\r
+    m->perm_allocated -= annihilated;\r
+    m->new_freed -= annihilated;\r
+    assert(m->new_freed == 0);\r
+  }\r
+\r
+  if (m->new_allocated != 0) {\r
+    assert(m->perm_allocated + m->new_allocated <= MAX_PERM_ALLOCATED);\r
+    memcpy(m->pointers + PERM_ALLOCATED_OFFSET + m->perm_allocated,\r
+           m->pointers + NEW_ALLOCATED_OFFSET,\r
+           sizeof(void*) * m->new_allocated);\r
+    m->perm_allocated += m->new_allocated;\r
+    m->new_allocated = 0;\r
+    SortPointers(m->pointers + PERM_ALLOCATED_OFFSET, m->perm_allocated);\r
+  }\r
+}\r
+\r
+void* BrotliAllocate(MemoryManager* m, size_t n) {\r
+  void* result = m->alloc_func(m->opaque, n);\r
+  if (!result) {\r
+    m->is_oom = BROTLI_TRUE;\r
+    return NULL;\r
+  }\r
+  if (m->new_allocated == MAX_NEW_ALLOCATED) CollectGarbagePointers(m);\r
+  m->pointers[NEW_ALLOCATED_OFFSET + (m->new_allocated++)] = result;\r
+  return result;\r
+}\r
+\r
+void BrotliFree(MemoryManager* m, void* p) {\r
+  if (!p) return;\r
+  m->free_func(m->opaque, p);\r
+  if (m->new_freed == MAX_NEW_FREED) CollectGarbagePointers(m);\r
+  m->pointers[NEW_FREED_OFFSET + (m->new_freed++)] = p;\r
+}\r
+\r
+void BrotliWipeOutMemoryManager(MemoryManager* m) {\r
+  size_t i;\r
+  CollectGarbagePointers(m);\r
+  /* Now all unfreed pointers are in perm-allocated list. */\r
+  for (i = 0; i < m->perm_allocated; ++i) {\r
+    m->free_func(m->opaque, m->pointers[PERM_ALLOCATED_OFFSET + i]);\r
+  }\r
+  m->perm_allocated = 0;\r
+}\r
+\r
+#endif  /* BROTLI_ENCODER_EXIT_ON_OOM */\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/memory.h b/BaseTools/Source/C/BrotliCompress/enc/memory.h
new file mode 100644 (file)
index 0000000..5ef59fa
--- /dev/null
@@ -0,0 +1,62 @@
+/* Copyright 2016 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Macros for memory management. */\r
+\r
+#ifndef BROTLI_ENC_MEMORY_H_\r
+#define BROTLI_ENC_MEMORY_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#if !defined(BROTLI_ENCODER_CLEANUP_ON_OOM) && \\r
+    !defined(BROTLI_ENCODER_EXIT_ON_OOM)\r
+#define BROTLI_ENCODER_EXIT_ON_OOM\r
+#endif\r
+\r
+typedef struct MemoryManager {\r
+  brotli_alloc_func alloc_func;\r
+  brotli_free_func free_func;\r
+  void* opaque;\r
+#if !defined(BROTLI_ENCODER_EXIT_ON_OOM)\r
+  BROTLI_BOOL is_oom;\r
+  size_t perm_allocated;\r
+  size_t new_allocated;\r
+  size_t new_freed;\r
+  void* pointers[256];\r
+#endif  /* BROTLI_ENCODER_EXIT_ON_OOM */\r
+} MemoryManager;\r
+\r
+BROTLI_INTERNAL void BrotliInitMemoryManager(\r
+    MemoryManager* m, brotli_alloc_func alloc_func, brotli_free_func free_func,\r
+    void* opaque);\r
+\r
+BROTLI_INTERNAL void* BrotliAllocate(MemoryManager* m, size_t n);\r
+#define BROTLI_ALLOC(M, T, N) ((T*)BrotliAllocate((M), (N) * sizeof(T)))\r
+\r
+BROTLI_INTERNAL void BrotliFree(MemoryManager* m, void* p);\r
+#define BROTLI_FREE(M, P) { \\r
+  BrotliFree((M), (P));     \\r
+  P = NULL;                 \\r
+}\r
+\r
+#if defined(BROTLI_ENCODER_EXIT_ON_OOM)\r
+#define BROTLI_IS_OOM(M) (!!0)\r
+#else  /* BROTLI_ENCODER_EXIT_ON_OOM */\r
+#define BROTLI_IS_OOM(M) (!!(M)->is_oom)\r
+#endif  /* BROTLI_ENCODER_EXIT_ON_OOM */\r
+\r
+BROTLI_INTERNAL void BrotliWipeOutMemoryManager(MemoryManager* m);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_MEMORY_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/metablock.c b/BaseTools/Source/C/BrotliCompress/enc/metablock.c
new file mode 100644 (file)
index 0000000..2bffebb
--- /dev/null
@@ -0,0 +1,515 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Algorithms for distributing the literals and commands of a metablock between\r
+   block types and contexts. */\r
+\r
+#include "./metablock.h"\r
+\r
+#include "../common/constants.h"\r
+#include "../common/types.h"\r
+#include "./bit_cost.h"\r
+#include "./block_splitter.h"\r
+#include "./cluster.h"\r
+#include "./context.h"\r
+#include "./entropy_encode.h"\r
+#include "./histogram.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+void BrotliBuildMetaBlock(MemoryManager* m,\r
+                          const uint8_t* ringbuffer,\r
+                          const size_t pos,\r
+                          const size_t mask,\r
+                          const BrotliEncoderParams* params,\r
+                          uint8_t prev_byte,\r
+                          uint8_t prev_byte2,\r
+                          const Command* cmds,\r
+                          size_t num_commands,\r
+                          ContextType literal_context_mode,\r
+                          MetaBlockSplit* mb) {\r
+  /* Histogram ids need to fit in one byte. */\r
+  static const size_t kMaxNumberOfHistograms = 256;\r
+  HistogramDistance* distance_histograms;\r
+  HistogramLiteral* literal_histograms;\r
+  ContextType* literal_context_modes;\r
+  size_t num_literal_contexts;\r
+  size_t num_distance_contexts;\r
+  size_t i;\r
+\r
+  BrotliSplitBlock(m, cmds, num_commands,\r
+                   ringbuffer, pos, mask, params,\r
+                   &mb->literal_split,\r
+                   &mb->command_split,\r
+                   &mb->distance_split);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  literal_context_modes =\r
+      BROTLI_ALLOC(m, ContextType, mb->literal_split.num_types);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  for (i = 0; i < mb->literal_split.num_types; ++i) {\r
+    literal_context_modes[i] = literal_context_mode;\r
+  }\r
+\r
+  num_literal_contexts =\r
+      mb->literal_split.num_types << BROTLI_LITERAL_CONTEXT_BITS;\r
+  num_distance_contexts =\r
+      mb->distance_split.num_types << BROTLI_DISTANCE_CONTEXT_BITS;\r
+  literal_histograms = BROTLI_ALLOC(m, HistogramLiteral, num_literal_contexts);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  ClearHistogramsLiteral(literal_histograms, num_literal_contexts);\r
+\r
+  assert(mb->command_histograms == 0);\r
+  mb->command_histograms_size = mb->command_split.num_types;\r
+  mb->command_histograms =\r
+      BROTLI_ALLOC(m, HistogramCommand, mb->command_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  ClearHistogramsCommand(mb->command_histograms, mb->command_histograms_size);\r
+  distance_histograms =\r
+      BROTLI_ALLOC(m, HistogramDistance, num_distance_contexts);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  ClearHistogramsDistance(distance_histograms, num_distance_contexts);\r
+  BrotliBuildHistogramsWithContext(cmds, num_commands,\r
+      &mb->literal_split, &mb->command_split, &mb->distance_split,\r
+      ringbuffer, pos, mask, prev_byte, prev_byte2, literal_context_modes,\r
+      literal_histograms, mb->command_histograms, distance_histograms);\r
+  BROTLI_FREE(m, literal_context_modes);\r
+\r
+  assert(mb->literal_context_map == 0);\r
+  mb->literal_context_map_size =\r
+      mb->literal_split.num_types << BROTLI_LITERAL_CONTEXT_BITS;\r
+  mb->literal_context_map =\r
+      BROTLI_ALLOC(m, uint32_t, mb->literal_context_map_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  assert(mb->literal_histograms == 0);\r
+  mb->literal_histograms_size = mb->literal_context_map_size;\r
+  mb->literal_histograms =\r
+      BROTLI_ALLOC(m, HistogramLiteral, mb->literal_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BrotliClusterHistogramsLiteral(m, literal_histograms,\r
+                                 mb->literal_context_map_size,\r
+                                 kMaxNumberOfHistograms,\r
+                                 mb->literal_histograms,\r
+                                 &mb->literal_histograms_size,\r
+                                 mb->literal_context_map);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BROTLI_FREE(m, literal_histograms);\r
+\r
+  assert(mb->distance_context_map == 0);\r
+  mb->distance_context_map_size =\r
+      mb->distance_split.num_types << BROTLI_DISTANCE_CONTEXT_BITS;\r
+  mb->distance_context_map =\r
+      BROTLI_ALLOC(m, uint32_t, mb->distance_context_map_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  assert(mb->distance_histograms == 0);\r
+  mb->distance_histograms_size = mb->distance_context_map_size;\r
+  mb->distance_histograms =\r
+      BROTLI_ALLOC(m, HistogramDistance, mb->distance_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BrotliClusterHistogramsDistance(m, distance_histograms,\r
+                                  mb->distance_context_map_size,\r
+                                  kMaxNumberOfHistograms,\r
+                                  mb->distance_histograms,\r
+                                  &mb->distance_histograms_size,\r
+                                  mb->distance_context_map);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  BROTLI_FREE(m, distance_histograms);\r
+}\r
+\r
+#define FN(X) X ## Literal\r
+#include "./metablock_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Command\r
+#include "./metablock_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+#define FN(X) X ## Distance\r
+#include "./metablock_inc.h"  /* NOLINT(build/include) */\r
+#undef FN\r
+\r
+void BrotliBuildMetaBlockGreedy(MemoryManager* m,\r
+                                const uint8_t* ringbuffer,\r
+                                size_t pos,\r
+                                size_t mask,\r
+                                const Command *commands,\r
+                                size_t n_commands,\r
+                                MetaBlockSplit* mb) {\r
+  BlockSplitterLiteral lit_blocks;\r
+  BlockSplitterCommand cmd_blocks;\r
+  BlockSplitterDistance dist_blocks;\r
+  size_t num_literals = 0;\r
+  size_t i;\r
+  for (i = 0; i < n_commands; ++i) {\r
+    num_literals += commands[i].insert_len_;\r
+  }\r
+\r
+  InitBlockSplitterLiteral(m, &lit_blocks, 256, 512, 400.0, num_literals,\r
+      &mb->literal_split, &mb->literal_histograms,\r
+      &mb->literal_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitBlockSplitterCommand(m, &cmd_blocks, BROTLI_NUM_COMMAND_SYMBOLS, 1024,\r
+      500.0, n_commands, &mb->command_split, &mb->command_histograms,\r
+      &mb->command_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitBlockSplitterDistance(m, &dist_blocks, 64, 512, 100.0, n_commands,\r
+      &mb->distance_split, &mb->distance_histograms,\r
+      &mb->distance_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  for (i = 0; i < n_commands; ++i) {\r
+    const Command cmd = commands[i];\r
+    size_t j;\r
+    BlockSplitterAddSymbolCommand(&cmd_blocks, cmd.cmd_prefix_);\r
+    for (j = cmd.insert_len_; j != 0; --j) {\r
+      BlockSplitterAddSymbolLiteral(&lit_blocks, ringbuffer[pos & mask]);\r
+      ++pos;\r
+    }\r
+    pos += CommandCopyLen(&cmd);\r
+    if (CommandCopyLen(&cmd) && cmd.cmd_prefix_ >= 128) {\r
+      BlockSplitterAddSymbolDistance(&dist_blocks, cmd.dist_prefix_);\r
+    }\r
+  }\r
+\r
+  BlockSplitterFinishBlockLiteral(&lit_blocks, /* is_final = */ BROTLI_TRUE);\r
+  BlockSplitterFinishBlockCommand(&cmd_blocks, /* is_final = */ BROTLI_TRUE);\r
+  BlockSplitterFinishBlockDistance(&dist_blocks, /* is_final = */ BROTLI_TRUE);\r
+}\r
+\r
+/* Greedy block splitter for one block category (literal, command or distance).\r
+   Gathers histograms for all context buckets. */\r
+typedef struct ContextBlockSplitter {\r
+  /* Alphabet size of particular block category. */\r
+  size_t alphabet_size_;\r
+  size_t num_contexts_;\r
+  size_t max_block_types_;\r
+  /* We collect at least this many symbols for each block. */\r
+  size_t min_block_size_;\r
+  /* We merge histograms A and B if\r
+       entropy(A+B) < entropy(A) + entropy(B) + split_threshold_,\r
+     where A is the current histogram and B is the histogram of the last or the\r
+     second last block type. */\r
+  double split_threshold_;\r
+\r
+  size_t num_blocks_;\r
+  BlockSplit* split_;  /* not owned */\r
+  HistogramLiteral* histograms_;  /* not owned */\r
+  size_t* histograms_size_;  /* not owned */\r
+\r
+  /* The number of symbols that we want to collect before deciding on whether\r
+     or not to merge the block with a previous one or emit a new block. */\r
+  size_t target_block_size_;\r
+  /* The number of symbols in the current histogram. */\r
+  size_t block_size_;\r
+  /* Offset of the current histogram. */\r
+  size_t curr_histogram_ix_;\r
+  /* Offset of the histograms of the previous two block types. */\r
+  size_t last_histogram_ix_[2];\r
+  /* Entropy of the previous two block types. */\r
+  double* last_entropy_;\r
+  /* The number of times we merged the current block with the last one. */\r
+  size_t merge_last_count_;\r
+} ContextBlockSplitter;\r
+\r
+static void InitContextBlockSplitter(\r
+    MemoryManager* m, ContextBlockSplitter* self, size_t alphabet_size,\r
+    size_t num_contexts, size_t min_block_size, double split_threshold,\r
+    size_t num_symbols, BlockSplit* split, HistogramLiteral** histograms,\r
+    size_t* histograms_size) {\r
+  size_t max_num_blocks = num_symbols / min_block_size + 1;\r
+  size_t max_num_types;\r
+\r
+  self->alphabet_size_ = alphabet_size;\r
+  self->num_contexts_ = num_contexts;\r
+  self->max_block_types_ = BROTLI_MAX_NUMBER_OF_BLOCK_TYPES / num_contexts;\r
+  self->min_block_size_ = min_block_size;\r
+  self->split_threshold_ = split_threshold;\r
+  self->num_blocks_ = 0;\r
+  self->split_ = split;\r
+  self->histograms_size_ = histograms_size;\r
+  self->target_block_size_ = min_block_size;\r
+  self->block_size_ = 0;\r
+  self->curr_histogram_ix_ = 0;\r
+  self->merge_last_count_ = 0;\r
+\r
+  /* We have to allocate one more histogram than the maximum number of block\r
+     types for the current histogram when the meta-block is too big. */\r
+  max_num_types =\r
+      BROTLI_MIN(size_t, max_num_blocks, self->max_block_types_ + 1);\r
+  BROTLI_ENSURE_CAPACITY(m, uint8_t,\r
+      split->types, split->types_alloc_size, max_num_blocks);\r
+  BROTLI_ENSURE_CAPACITY(m, uint32_t,\r
+      split->lengths, split->lengths_alloc_size, max_num_blocks);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  split->num_blocks = max_num_blocks;\r
+  self->last_entropy_ = BROTLI_ALLOC(m, double, 2 * num_contexts);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  assert(*histograms == 0);\r
+  *histograms_size = max_num_types * num_contexts;\r
+  *histograms = BROTLI_ALLOC(m, HistogramLiteral, *histograms_size);\r
+  self->histograms_ = *histograms;\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  /* Clear only current historgram. */\r
+  ClearHistogramsLiteral(&self->histograms_[0], num_contexts);\r
+  self->last_histogram_ix_[0] = self->last_histogram_ix_[1] = 0;\r
+}\r
+\r
+static void CleanupContextBlockSplitter(\r
+    MemoryManager* m, ContextBlockSplitter* self) {\r
+  BROTLI_FREE(m, self->last_entropy_);\r
+}\r
+\r
+/* Does either of three things:\r
+     (1) emits the current block with a new block type;\r
+     (2) emits the current block with the type of the second last block;\r
+     (3) merges the current block with the last block. */\r
+static void ContextBlockSplitterFinishBlock(\r
+    MemoryManager* m, ContextBlockSplitter* self, BROTLI_BOOL is_final) {\r
+  BlockSplit* split = self->split_;\r
+  const size_t num_contexts = self->num_contexts_;\r
+  double* last_entropy = self->last_entropy_;\r
+  HistogramLiteral* histograms = self->histograms_;\r
+\r
+  if (self->block_size_ < self->min_block_size_) {\r
+    self->block_size_ = self->min_block_size_;\r
+  }\r
+  if (self->num_blocks_ == 0) {\r
+    size_t i;\r
+    /* Create first block. */\r
+    split->lengths[0] = (uint32_t)self->block_size_;\r
+    split->types[0] = 0;\r
+\r
+    for (i = 0; i < num_contexts; ++i) {\r
+      last_entropy[i] =\r
+          BitsEntropy(histograms[i].data_, self->alphabet_size_);\r
+      last_entropy[num_contexts + i] = last_entropy[i];\r
+    }\r
+    ++self->num_blocks_;\r
+    ++split->num_types;\r
+    self->curr_histogram_ix_ += num_contexts;\r
+    if (self->curr_histogram_ix_ < *self->histograms_size_) {\r
+      ClearHistogramsLiteral(\r
+          &self->histograms_[self->curr_histogram_ix_], self->num_contexts_);\r
+    }\r
+    self->block_size_ = 0;\r
+  } else if (self->block_size_ > 0) {\r
+    /* Try merging the set of histograms for the current block type with the\r
+       respective set of histograms for the last and second last block types.\r
+       Decide over the split based on the total reduction of entropy across\r
+       all contexts. */\r
+    double* entropy = BROTLI_ALLOC(m, double, num_contexts);\r
+    HistogramLiteral* combined_histo =\r
+        BROTLI_ALLOC(m, HistogramLiteral, 2 * num_contexts);\r
+    double* combined_entropy = BROTLI_ALLOC(m, double, 2 * num_contexts);\r
+    double diff[2] = { 0.0 };\r
+    size_t i;\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    for (i = 0; i < num_contexts; ++i) {\r
+      size_t curr_histo_ix = self->curr_histogram_ix_ + i;\r
+      size_t j;\r
+      entropy[i] = BitsEntropy(histograms[curr_histo_ix].data_,\r
+                               self->alphabet_size_);\r
+      for (j = 0; j < 2; ++j) {\r
+        size_t jx = j * num_contexts + i;\r
+        size_t last_histogram_ix = self->last_histogram_ix_[j] + i;\r
+        combined_histo[jx] = histograms[curr_histo_ix];\r
+        HistogramAddHistogramLiteral(&combined_histo[jx],\r
+            &histograms[last_histogram_ix]);\r
+        combined_entropy[jx] = BitsEntropy(\r
+            &combined_histo[jx].data_[0], self->alphabet_size_);\r
+        diff[j] += combined_entropy[jx] - entropy[i] - last_entropy[jx];\r
+      }\r
+    }\r
+\r
+    if (split->num_types < self->max_block_types_ &&\r
+        diff[0] > self->split_threshold_ &&\r
+        diff[1] > self->split_threshold_) {\r
+      /* Create new block. */\r
+      split->lengths[self->num_blocks_] = (uint32_t)self->block_size_;\r
+      split->types[self->num_blocks_] = (uint8_t)split->num_types;\r
+      self->last_histogram_ix_[1] = self->last_histogram_ix_[0];\r
+      self->last_histogram_ix_[0] = split->num_types * num_contexts;\r
+      for (i = 0; i < num_contexts; ++i) {\r
+        last_entropy[num_contexts + i] = last_entropy[i];\r
+        last_entropy[i] = entropy[i];\r
+      }\r
+      ++self->num_blocks_;\r
+      ++split->num_types;\r
+      self->curr_histogram_ix_ += num_contexts;\r
+      if (self->curr_histogram_ix_ < *self->histograms_size_) {\r
+        ClearHistogramsLiteral(\r
+            &self->histograms_[self->curr_histogram_ix_], self->num_contexts_);\r
+      }\r
+      self->block_size_ = 0;\r
+      self->merge_last_count_ = 0;\r
+      self->target_block_size_ = self->min_block_size_;\r
+    } else if (diff[1] < diff[0] - 20.0) {\r
+      /* Combine this block with second last block. */\r
+      split->lengths[self->num_blocks_] = (uint32_t)self->block_size_;\r
+      split->types[self->num_blocks_] = split->types[self->num_blocks_ - 2];\r
+      BROTLI_SWAP(size_t, self->last_histogram_ix_, 0, 1);\r
+      for (i = 0; i < num_contexts; ++i) {\r
+        histograms[self->last_histogram_ix_[0] + i] =\r
+            combined_histo[num_contexts + i];\r
+        last_entropy[num_contexts + i] = last_entropy[i];\r
+        last_entropy[i] = combined_entropy[num_contexts + i];\r
+        HistogramClearLiteral(&histograms[self->curr_histogram_ix_ + i]);\r
+      }\r
+      ++self->num_blocks_;\r
+      self->block_size_ = 0;\r
+      self->merge_last_count_ = 0;\r
+      self->target_block_size_ = self->min_block_size_;\r
+    } else {\r
+      /* Combine this block with last block. */\r
+      split->lengths[self->num_blocks_ - 1] += (uint32_t)self->block_size_;\r
+      for (i = 0; i < num_contexts; ++i) {\r
+        histograms[self->last_histogram_ix_[0] + i] = combined_histo[i];\r
+        last_entropy[i] = combined_entropy[i];\r
+        if (split->num_types == 1) {\r
+          last_entropy[num_contexts + i] = last_entropy[i];\r
+        }\r
+        HistogramClearLiteral(&histograms[self->curr_histogram_ix_ + i]);\r
+      }\r
+      self->block_size_ = 0;\r
+      if (++self->merge_last_count_ > 1) {\r
+        self->target_block_size_ += self->min_block_size_;\r
+      }\r
+    }\r
+    BROTLI_FREE(m, combined_entropy);\r
+    BROTLI_FREE(m, combined_histo);\r
+    BROTLI_FREE(m, entropy);\r
+  }\r
+  if (is_final) {\r
+    *self->histograms_size_ = split->num_types * num_contexts;\r
+    split->num_blocks = self->num_blocks_;\r
+  }\r
+}\r
+\r
+/* Adds the next symbol to the current block type and context. When the\r
+   current block reaches the target size, decides on merging the block. */\r
+static void ContextBlockSplitterAddSymbol(MemoryManager* m,\r
+    ContextBlockSplitter* self, size_t symbol, size_t context) {\r
+  HistogramAddLiteral(&self->histograms_[self->curr_histogram_ix_ + context],\r
+      symbol);\r
+  ++self->block_size_;\r
+  if (self->block_size_ == self->target_block_size_) {\r
+    ContextBlockSplitterFinishBlock(m, self, /* is_final = */ BROTLI_FALSE);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+  }\r
+}\r
+\r
+void BrotliBuildMetaBlockGreedyWithContexts(MemoryManager* m,\r
+                                            const uint8_t* ringbuffer,\r
+                                            size_t pos,\r
+                                            size_t mask,\r
+                                            uint8_t prev_byte,\r
+                                            uint8_t prev_byte2,\r
+                                            ContextType literal_context_mode,\r
+                                            size_t num_contexts,\r
+                                            const uint32_t* static_context_map,\r
+                                            const Command *commands,\r
+                                            size_t n_commands,\r
+                                            MetaBlockSplit* mb) {\r
+  ContextBlockSplitter lit_blocks;\r
+  BlockSplitterCommand cmd_blocks;\r
+  BlockSplitterDistance dist_blocks;\r
+  size_t num_literals = 0;\r
+  size_t i;\r
+  for (i = 0; i < n_commands; ++i) {\r
+    num_literals += commands[i].insert_len_;\r
+  }\r
+\r
+  InitContextBlockSplitter(m, &lit_blocks, 256, num_contexts, 512, 400.0,\r
+      num_literals, &mb->literal_split, &mb->literal_histograms,\r
+      &mb->literal_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitBlockSplitterCommand(m, &cmd_blocks, BROTLI_NUM_COMMAND_SYMBOLS, 1024,\r
+      500.0, n_commands, &mb->command_split, &mb->command_histograms,\r
+      &mb->command_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  InitBlockSplitterDistance(m, &dist_blocks, 64, 512, 100.0, n_commands,\r
+      &mb->distance_split, &mb->distance_histograms,\r
+      &mb->distance_histograms_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  for (i = 0; i < n_commands; ++i) {\r
+    const Command cmd = commands[i];\r
+    size_t j;\r
+    BlockSplitterAddSymbolCommand(&cmd_blocks, cmd.cmd_prefix_);\r
+    for (j = cmd.insert_len_; j != 0; --j) {\r
+      size_t context = Context(prev_byte, prev_byte2, literal_context_mode);\r
+      uint8_t literal = ringbuffer[pos & mask];\r
+      ContextBlockSplitterAddSymbol(\r
+          m, &lit_blocks, literal, static_context_map[context]);\r
+      prev_byte2 = prev_byte;\r
+      if (BROTLI_IS_OOM(m)) return;\r
+      prev_byte = literal;\r
+      ++pos;\r
+    }\r
+    pos += CommandCopyLen(&cmd);\r
+    if (CommandCopyLen(&cmd)) {\r
+      prev_byte2 = ringbuffer[(pos - 2) & mask];\r
+      prev_byte = ringbuffer[(pos - 1) & mask];\r
+      if (cmd.cmd_prefix_ >= 128) {\r
+        BlockSplitterAddSymbolDistance(&dist_blocks, cmd.dist_prefix_);\r
+      }\r
+    }\r
+  }\r
+\r
+  ContextBlockSplitterFinishBlock(m, &lit_blocks, /* is_final = */ BROTLI_TRUE);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  CleanupContextBlockSplitter(m, &lit_blocks);\r
+  BlockSplitterFinishBlockCommand(&cmd_blocks, /* is_final = */ BROTLI_TRUE);\r
+  BlockSplitterFinishBlockDistance(&dist_blocks, /* is_final = */ BROTLI_TRUE);\r
+\r
+  assert(mb->literal_context_map == 0);\r
+  mb->literal_context_map_size =\r
+      mb->literal_split.num_types << BROTLI_LITERAL_CONTEXT_BITS;\r
+  mb->literal_context_map =\r
+      BROTLI_ALLOC(m, uint32_t, mb->literal_context_map_size);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+\r
+  for (i = 0; i < mb->literal_split.num_types; ++i) {\r
+    size_t j;\r
+    for (j = 0; j < (1u << BROTLI_LITERAL_CONTEXT_BITS); ++j) {\r
+      mb->literal_context_map[(i << BROTLI_LITERAL_CONTEXT_BITS) + j] =\r
+          (uint32_t)(i * num_contexts) + static_context_map[j];\r
+    }\r
+  }\r
+}\r
+\r
+void BrotliOptimizeHistograms(size_t num_direct_distance_codes,\r
+                              size_t distance_postfix_bits,\r
+                              MetaBlockSplit* mb) {\r
+  uint8_t good_for_rle[BROTLI_NUM_COMMAND_SYMBOLS];\r
+  size_t num_distance_codes;\r
+  size_t i;\r
+  for (i = 0; i < mb->literal_histograms_size; ++i) {\r
+    BrotliOptimizeHuffmanCountsForRle(256, mb->literal_histograms[i].data_,\r
+                                      good_for_rle);\r
+  }\r
+  for (i = 0; i < mb->command_histograms_size; ++i) {\r
+    BrotliOptimizeHuffmanCountsForRle(BROTLI_NUM_COMMAND_SYMBOLS,\r
+                                      mb->command_histograms[i].data_,\r
+                                      good_for_rle);\r
+  }\r
+  num_distance_codes = BROTLI_NUM_DISTANCE_SHORT_CODES +\r
+      num_direct_distance_codes + (48u << distance_postfix_bits);\r
+  for (i = 0; i < mb->distance_histograms_size; ++i) {\r
+    BrotliOptimizeHuffmanCountsForRle(num_distance_codes,\r
+                                      mb->distance_histograms[i].data_,\r
+                                      good_for_rle);\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/metablock.h b/BaseTools/Source/C/BrotliCompress/enc/metablock.h
new file mode 100644 (file)
index 0000000..e10c999
--- /dev/null
@@ -0,0 +1,110 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Algorithms for distributing the literals and commands of a metablock between\r
+   block types and contexts. */\r
+\r
+#ifndef BROTLI_ENC_METABLOCK_H_\r
+#define BROTLI_ENC_METABLOCK_H_\r
+\r
+#include "../common/types.h"\r
+#include "./block_splitter.h"\r
+#include "./command.h"\r
+#include "./context.h"\r
+#include "./histogram.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct MetaBlockSplit {\r
+  BlockSplit literal_split;\r
+  BlockSplit command_split;\r
+  BlockSplit distance_split;\r
+  uint32_t* literal_context_map;\r
+  size_t literal_context_map_size;\r
+  uint32_t* distance_context_map;\r
+  size_t distance_context_map_size;\r
+  HistogramLiteral* literal_histograms;\r
+  size_t literal_histograms_size;\r
+  HistogramCommand* command_histograms;\r
+  size_t command_histograms_size;\r
+  HistogramDistance* distance_histograms;\r
+  size_t distance_histograms_size;\r
+} MetaBlockSplit;\r
+\r
+static BROTLI_INLINE void InitMetaBlockSplit(MetaBlockSplit* mb) {\r
+  BrotliInitBlockSplit(&mb->literal_split);\r
+  BrotliInitBlockSplit(&mb->command_split);\r
+  BrotliInitBlockSplit(&mb->distance_split);\r
+  mb->literal_context_map = 0;\r
+  mb->literal_context_map_size = 0;\r
+  mb->distance_context_map = 0;\r
+  mb->distance_context_map_size = 0;\r
+  mb->literal_histograms = 0;\r
+  mb->literal_histograms_size = 0;\r
+  mb->command_histograms = 0;\r
+  mb->command_histograms_size = 0;\r
+  mb->distance_histograms = 0;\r
+  mb->distance_histograms_size = 0;\r
+}\r
+\r
+static BROTLI_INLINE void DestroyMetaBlockSplit(\r
+    MemoryManager* m, MetaBlockSplit* mb) {\r
+  BrotliDestroyBlockSplit(m, &mb->literal_split);\r
+  BrotliDestroyBlockSplit(m, &mb->command_split);\r
+  BrotliDestroyBlockSplit(m, &mb->distance_split);\r
+  BROTLI_FREE(m, mb->literal_context_map);\r
+  BROTLI_FREE(m, mb->distance_context_map);\r
+  BROTLI_FREE(m, mb->literal_histograms);\r
+  BROTLI_FREE(m, mb->command_histograms);\r
+  BROTLI_FREE(m, mb->distance_histograms);\r
+}\r
+\r
+/* Uses the slow shortest-path block splitter and does context clustering. */\r
+BROTLI_INTERNAL void BrotliBuildMetaBlock(MemoryManager* m,\r
+                                          const uint8_t* ringbuffer,\r
+                                          const size_t pos,\r
+                                          const size_t mask,\r
+                                          const BrotliEncoderParams* params,\r
+                                          uint8_t prev_byte,\r
+                                          uint8_t prev_byte2,\r
+                                          const Command* cmds,\r
+                                          size_t num_commands,\r
+                                          ContextType literal_context_mode,\r
+                                          MetaBlockSplit* mb);\r
+\r
+/* Uses a fast greedy block splitter that tries to merge current block with the\r
+   last or the second last block and does not do any context modeling. */\r
+BROTLI_INTERNAL void BrotliBuildMetaBlockGreedy(MemoryManager* m,\r
+                                                const uint8_t* ringbuffer,\r
+                                                size_t pos,\r
+                                                size_t mask,\r
+                                                const Command* commands,\r
+                                                size_t n_commands,\r
+                                                MetaBlockSplit* mb);\r
+\r
+/* Uses a fast greedy block splitter that tries to merge current block with the\r
+   last or the second last block and uses a static context clustering which\r
+   is the same for all block types. */\r
+BROTLI_INTERNAL void BrotliBuildMetaBlockGreedyWithContexts(\r
+    MemoryManager* m, const uint8_t* ringbuffer, size_t pos, size_t mask,\r
+    uint8_t prev_byte, uint8_t prev_byte2, ContextType literal_context_mode,\r
+    size_t num_contexts, const uint32_t* static_context_map,\r
+    const Command* commands, size_t n_commands, MetaBlockSplit* mb);\r
+\r
+BROTLI_INTERNAL void BrotliOptimizeHistograms(size_t num_direct_distance_codes,\r
+                                              size_t distance_postfix_bits,\r
+                                              MetaBlockSplit* mb);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_METABLOCK_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h b/BaseTools/Source/C/BrotliCompress/enc/metablock_inc.h
new file mode 100644 (file)
index 0000000..e561269
--- /dev/null
@@ -0,0 +1,183 @@
+/* NOLINT(build/header_guard) */\r
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* template parameters: FN */\r
+\r
+#define HistogramType FN(Histogram)\r
+\r
+/* Greedy block splitter for one block category (literal, command or distance).\r
+*/\r
+typedef struct FN(BlockSplitter) {\r
+  /* Alphabet size of particular block category. */\r
+  size_t alphabet_size_;\r
+  /* We collect at least this many symbols for each block. */\r
+  size_t min_block_size_;\r
+  /* We merge histograms A and B if\r
+       entropy(A+B) < entropy(A) + entropy(B) + split_threshold_,\r
+     where A is the current histogram and B is the histogram of the last or the\r
+     second last block type. */\r
+  double split_threshold_;\r
+\r
+  size_t num_blocks_;\r
+  BlockSplit* split_;  /* not owned */\r
+  HistogramType* histograms_;  /* not owned */\r
+  size_t* histograms_size_;  /* not owned */\r
+\r
+  /* The number of symbols that we want to collect before deciding on whether\r
+     or not to merge the block with a previous one or emit a new block. */\r
+  size_t target_block_size_;\r
+  /* The number of symbols in the current histogram. */\r
+  size_t block_size_;\r
+  /* Offset of the current histogram. */\r
+  size_t curr_histogram_ix_;\r
+  /* Offset of the histograms of the previous two block types. */\r
+  size_t last_histogram_ix_[2];\r
+  /* Entropy of the previous two block types. */\r
+  double last_entropy_[2];\r
+  /* The number of times we merged the current block with the last one. */\r
+  size_t merge_last_count_;\r
+} FN(BlockSplitter);\r
+\r
+static void FN(InitBlockSplitter)(\r
+    MemoryManager* m, FN(BlockSplitter)* self, size_t alphabet_size,\r
+    size_t min_block_size, double split_threshold, size_t num_symbols,\r
+    BlockSplit* split, HistogramType** histograms, size_t* histograms_size) {\r
+  size_t max_num_blocks = num_symbols / min_block_size + 1;\r
+  /* We have to allocate one more histogram than the maximum number of block\r
+     types for the current histogram when the meta-block is too big. */\r
+  size_t max_num_types =\r
+      BROTLI_MIN(size_t, max_num_blocks, BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + 1);\r
+  self->alphabet_size_ = alphabet_size;\r
+  self->min_block_size_ = min_block_size;\r
+  self->split_threshold_ = split_threshold;\r
+  self->num_blocks_ = 0;\r
+  self->split_ = split;\r
+  self->histograms_size_ = histograms_size;\r
+  self->target_block_size_ = min_block_size;\r
+  self->block_size_ = 0;\r
+  self->curr_histogram_ix_ = 0;\r
+  self->merge_last_count_ = 0;\r
+  BROTLI_ENSURE_CAPACITY(m, uint8_t,\r
+      split->types, split->types_alloc_size, max_num_blocks);\r
+  BROTLI_ENSURE_CAPACITY(m, uint32_t,\r
+      split->lengths, split->lengths_alloc_size, max_num_blocks);\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  self->split_->num_blocks = max_num_blocks;\r
+  assert(*histograms == 0);\r
+  *histograms_size = max_num_types;\r
+  *histograms = BROTLI_ALLOC(m, HistogramType, *histograms_size);\r
+  self->histograms_ = *histograms;\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  /* Clear only current histogram. */\r
+  FN(HistogramClear)(&self->histograms_[0]);\r
+  self->last_histogram_ix_[0] = self->last_histogram_ix_[1] = 0;\r
+}\r
+\r
+/* Does either of three things:\r
+     (1) emits the current block with a new block type;\r
+     (2) emits the current block with the type of the second last block;\r
+     (3) merges the current block with the last block. */\r
+static void FN(BlockSplitterFinishBlock)(\r
+    FN(BlockSplitter)* self, BROTLI_BOOL is_final) {\r
+  BlockSplit* split = self->split_;\r
+  double* last_entropy = self->last_entropy_;\r
+  HistogramType* histograms = self->histograms_;\r
+  self->block_size_ =\r
+      BROTLI_MAX(size_t, self->block_size_, self->min_block_size_);\r
+  if (self->num_blocks_ == 0) {\r
+    /* Create first block. */\r
+    split->lengths[0] = (uint32_t)self->block_size_;\r
+    split->types[0] = 0;\r
+    last_entropy[0] =\r
+        BitsEntropy(histograms[0].data_, self->alphabet_size_);\r
+    last_entropy[1] = last_entropy[0];\r
+    ++self->num_blocks_;\r
+    ++split->num_types;\r
+    ++self->curr_histogram_ix_;\r
+    if (self->curr_histogram_ix_ < *self->histograms_size_)\r
+      FN(HistogramClear)(&histograms[self->curr_histogram_ix_]);\r
+    self->block_size_ = 0;\r
+  } else if (self->block_size_ > 0) {\r
+    double entropy = BitsEntropy(histograms[self->curr_histogram_ix_].data_,\r
+                                 self->alphabet_size_);\r
+    HistogramType combined_histo[2];\r
+    double combined_entropy[2];\r
+    double diff[2];\r
+    size_t j;\r
+    for (j = 0; j < 2; ++j) {\r
+      size_t last_histogram_ix = self->last_histogram_ix_[j];\r
+      combined_histo[j] = histograms[self->curr_histogram_ix_];\r
+      FN(HistogramAddHistogram)(&combined_histo[j],\r
+          &histograms[last_histogram_ix]);\r
+      combined_entropy[j] = BitsEntropy(\r
+          &combined_histo[j].data_[0], self->alphabet_size_);\r
+      diff[j] = combined_entropy[j] - entropy - last_entropy[j];\r
+    }\r
+\r
+    if (split->num_types < BROTLI_MAX_NUMBER_OF_BLOCK_TYPES &&\r
+        diff[0] > self->split_threshold_ &&\r
+        diff[1] > self->split_threshold_) {\r
+      /* Create new block. */\r
+      split->lengths[self->num_blocks_] = (uint32_t)self->block_size_;\r
+      split->types[self->num_blocks_] = (uint8_t)split->num_types;\r
+      self->last_histogram_ix_[1] = self->last_histogram_ix_[0];\r
+      self->last_histogram_ix_[0] = (uint8_t)split->num_types;\r
+      last_entropy[1] = last_entropy[0];\r
+      last_entropy[0] = entropy;\r
+      ++self->num_blocks_;\r
+      ++split->num_types;\r
+      ++self->curr_histogram_ix_;\r
+      if (self->curr_histogram_ix_ < *self->histograms_size_)\r
+        FN(HistogramClear)(&histograms[self->curr_histogram_ix_]);\r
+      self->block_size_ = 0;\r
+      self->merge_last_count_ = 0;\r
+      self->target_block_size_ = self->min_block_size_;\r
+    } else if (diff[1] < diff[0] - 20.0) {\r
+      /* Combine this block with second last block. */\r
+      split->lengths[self->num_blocks_] = (uint32_t)self->block_size_;\r
+      split->types[self->num_blocks_] = split->types[self->num_blocks_ - 2];\r
+      BROTLI_SWAP(size_t, self->last_histogram_ix_, 0, 1);\r
+      histograms[self->last_histogram_ix_[0]] = combined_histo[1];\r
+      last_entropy[1] = last_entropy[0];\r
+      last_entropy[0] = combined_entropy[1];\r
+      ++self->num_blocks_;\r
+      self->block_size_ = 0;\r
+      FN(HistogramClear)(&histograms[self->curr_histogram_ix_]);\r
+      self->merge_last_count_ = 0;\r
+      self->target_block_size_ = self->min_block_size_;\r
+    } else {\r
+      /* Combine this block with last block. */\r
+      split->lengths[self->num_blocks_ - 1] += (uint32_t)self->block_size_;\r
+      histograms[self->last_histogram_ix_[0]] = combined_histo[0];\r
+      last_entropy[0] = combined_entropy[0];\r
+      if (split->num_types == 1) {\r
+        last_entropy[1] = last_entropy[0];\r
+      }\r
+      self->block_size_ = 0;\r
+      FN(HistogramClear)(&histograms[self->curr_histogram_ix_]);\r
+      if (++self->merge_last_count_ > 1) {\r
+        self->target_block_size_ += self->min_block_size_;\r
+      }\r
+    }\r
+  }\r
+  if (is_final) {\r
+    *self->histograms_size_ = split->num_types;\r
+    split->num_blocks = self->num_blocks_;\r
+  }\r
+}\r
+\r
+/* Adds the next symbol to the current histogram. When the current histogram\r
+   reaches the target size, decides on merging the block. */\r
+static void FN(BlockSplitterAddSymbol)(FN(BlockSplitter)* self, size_t symbol) {\r
+  FN(HistogramAdd)(&self->histograms_[self->curr_histogram_ix_], symbol);\r
+  ++self->block_size_;\r
+  if (self->block_size_ == self->target_block_size_) {\r
+    FN(BlockSplitterFinishBlock)(self, /* is_final = */ BROTLI_FALSE);\r
+  }\r
+}\r
+\r
+#undef HistogramType\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/port.h b/BaseTools/Source/C/BrotliCompress/enc/port.h
new file mode 100644 (file)
index 0000000..ef5f54a
--- /dev/null
@@ -0,0 +1,168 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Macros for endianness, branch prediction and unaligned loads and stores. */\r
+\r
+#ifndef BROTLI_ENC_PORT_H_\r
+#define BROTLI_ENC_PORT_H_\r
+\r
+#include <assert.h>\r
+#include <string.h>  /* memcpy */\r
+\r
+#include "../common/port.h"\r
+#include "../common/types.h"\r
+\r
+#if defined OS_LINUX || defined OS_CYGWIN\r
+#include <endian.h>\r
+#elif defined OS_FREEBSD\r
+#include <machine/endian.h>\r
+#elif defined OS_MACOSX\r
+#include <machine/endian.h>\r
+/* Let's try and follow the Linux convention */\r
+#define __BYTE_ORDER  BYTE_ORDER\r
+#define __LITTLE_ENDIAN LITTLE_ENDIAN\r
+#endif\r
+\r
+/* define the macro IS_LITTLE_ENDIAN\r
+   using the above endian definitions from endian.h if\r
+   endian.h was included */\r
+#ifdef __BYTE_ORDER\r
+#if __BYTE_ORDER == __LITTLE_ENDIAN\r
+#define IS_LITTLE_ENDIAN\r
+#endif\r
+\r
+#else\r
+\r
+#if defined(__LITTLE_ENDIAN__)\r
+#define IS_LITTLE_ENDIAN\r
+#endif\r
+#endif  /* __BYTE_ORDER */\r
+\r
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)\r
+#define IS_LITTLE_ENDIAN\r
+#endif\r
+\r
+/* Enable little-endian optimization for x64 architecture on Windows. */\r
+#if (defined(_WIN32) || defined(_WIN64)) && defined(_M_X64)\r
+#define IS_LITTLE_ENDIAN\r
+#endif\r
+\r
+/* Portable handling of unaligned loads, stores, and copies.\r
+   On some platforms, like ARM, the copy functions can be more efficient\r
+   then a load and a store. */\r
+\r
+#if defined(ARCH_PIII) || \\r
+  defined(ARCH_ATHLON) || defined(ARCH_K8) || defined(_ARCH_PPC)\r
+\r
+/* x86 and x86-64 can perform unaligned loads/stores directly;\r
+   modern PowerPC hardware can also do unaligned integer loads and stores;\r
+   but note: the FPU still sends unaligned loads and stores to a trap handler!\r
+*/\r
+\r
+#define BROTLI_UNALIGNED_LOAD32(_p) (*(const uint32_t *)(_p))\r
+#define BROTLI_UNALIGNED_LOAD64(_p) (*(const uint64_t *)(_p))\r
+\r
+#define BROTLI_UNALIGNED_STORE32(_p, _val) \\r
+  (*(uint32_t *)(_p) = (_val))\r
+#define BROTLI_UNALIGNED_STORE64(_p, _val) \\r
+  (*(uint64_t *)(_p) = (_val))\r
+\r
+#elif defined(__arm__) && \\r
+  !defined(__ARM_ARCH_5__) && \\r
+  !defined(__ARM_ARCH_5T__) && \\r
+  !defined(__ARM_ARCH_5TE__) && \\r
+  !defined(__ARM_ARCH_5TEJ__) && \\r
+  !defined(__ARM_ARCH_6__) && \\r
+  !defined(__ARM_ARCH_6J__) && \\r
+  !defined(__ARM_ARCH_6K__) && \\r
+  !defined(__ARM_ARCH_6Z__) && \\r
+  !defined(__ARM_ARCH_6ZK__) && \\r
+  !defined(__ARM_ARCH_6T2__)\r
+\r
+/* ARMv7 and newer support native unaligned accesses, but only of 16-bit\r
+   and 32-bit values (not 64-bit); older versions either raise a fatal signal,\r
+   do an unaligned read and rotate the words around a bit, or do the reads very\r
+   slowly (trip through kernel mode). */\r
+\r
+#define BROTLI_UNALIGNED_LOAD32(_p) (*(const uint32_t *)(_p))\r
+#define BROTLI_UNALIGNED_STORE32(_p, _val) \\r
+  (*(uint32_t *)(_p) = (_val))\r
+\r
+static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64(const void *p) {\r
+  uint64_t t;\r
+  memcpy(&t, p, sizeof t);\r
+  return t;\r
+}\r
+\r
+static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64(void *p, uint64_t v) {\r
+  memcpy(p, &v, sizeof v);\r
+}\r
+\r
+#else\r
+\r
+/* These functions are provided for architectures that don't support */\r
+/* unaligned loads and stores. */\r
+\r
+static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32(const void *p) {\r
+  uint32_t t;\r
+  memcpy(&t, p, sizeof t);\r
+  return t;\r
+}\r
+\r
+static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64(const void *p) {\r
+  uint64_t t;\r
+  memcpy(&t, p, sizeof t);\r
+  return t;\r
+}\r
+\r
+static BROTLI_INLINE void BROTLI_UNALIGNED_STORE32(void *p, uint32_t v) {\r
+  memcpy(p, &v, sizeof v);\r
+}\r
+\r
+static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64(void *p, uint64_t v) {\r
+  memcpy(p, &v, sizeof v);\r
+}\r
+\r
+#endif\r
+\r
+#if !defined(__cplusplus) && !defined(c_plusplus) && __STDC_VERSION__ >= 199901L\r
+#define BROTLI_RESTRICT restrict\r
+#elif BROTLI_GCC_VERSION > 295 || defined(__llvm__)\r
+#define BROTLI_RESTRICT __restrict\r
+#else\r
+#define BROTLI_RESTRICT\r
+#endif\r
+\r
+#define _TEMPLATE(T)                                                           \\r
+  static BROTLI_INLINE T brotli_min_ ## T (T a, T b) { return a < b ? a : b; } \\r
+  static BROTLI_INLINE T brotli_max_ ## T (T a, T b) { return a > b ? a : b; }\r
+_TEMPLATE(double) _TEMPLATE(float) _TEMPLATE(int)\r
+_TEMPLATE(size_t) _TEMPLATE(uint32_t) _TEMPLATE(uint8_t)\r
+#undef _TEMPLATE\r
+#define BROTLI_MIN(T, A, B) (brotli_min_ ## T((A), (B)))\r
+#define BROTLI_MAX(T, A, B) (brotli_max_ ## T((A), (B)))\r
+\r
+#define BROTLI_SWAP(T, A, I, J) { \\r
+  T __brotli_swap_tmp = (A)[(I)]; \\r
+  (A)[(I)] = (A)[(J)];            \\r
+  (A)[(J)] = __brotli_swap_tmp;   \\r
+}\r
+\r
+#define BROTLI_ENSURE_CAPACITY(M, T, A, C, R) {  \\r
+  if (C < (R)) {                                 \\r
+    size_t _new_size = (C == 0) ? (R) : C;       \\r
+    T* new_array;                                \\r
+    while (_new_size < (R)) _new_size *= 2;      \\r
+    new_array = BROTLI_ALLOC((M), T, _new_size); \\r
+    if (!BROTLI_IS_OOM(m) && C != 0)             \\r
+      memcpy(new_array, A, C * sizeof(T));       \\r
+    BROTLI_FREE((M), A);                         \\r
+    A = new_array;                               \\r
+    C = _new_size;                               \\r
+  }                                              \\r
+}\r
+\r
+#endif  /* BROTLI_ENC_PORT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/prefix.h b/BaseTools/Source/C/BrotliCompress/enc/prefix.h
new file mode 100644 (file)
index 0000000..850c21e
--- /dev/null
@@ -0,0 +1,52 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Functions for encoding of integers into prefix codes the amount of extra\r
+   bits, and the actual values of the extra bits. */\r
+\r
+#ifndef BROTLI_ENC_PREFIX_H_\r
+#define BROTLI_ENC_PREFIX_H_\r
+\r
+#include "../common/constants.h"\r
+#include "../common/port.h"\r
+#include "../common/types.h"\r
+#include "./fast_log.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static BROTLI_INLINE void PrefixEncodeCopyDistance(size_t distance_code,\r
+                                                   size_t num_direct_codes,\r
+                                                   size_t postfix_bits,\r
+                                                   uint16_t* code,\r
+                                                   uint32_t* extra_bits) {\r
+  if (distance_code < BROTLI_NUM_DISTANCE_SHORT_CODES + num_direct_codes) {\r
+    *code = (uint16_t)distance_code;\r
+    *extra_bits = 0;\r
+    return;\r
+  } else {\r
+    size_t dist = ((size_t)1 << (postfix_bits + 2u)) +\r
+        (distance_code - BROTLI_NUM_DISTANCE_SHORT_CODES - num_direct_codes);\r
+    size_t bucket = Log2FloorNonZero(dist) - 1;\r
+    size_t postfix_mask = (1u << postfix_bits) - 1;\r
+    size_t postfix = dist & postfix_mask;\r
+    size_t prefix = (dist >> bucket) & 1;\r
+    size_t offset = (2 + prefix) << bucket;\r
+    size_t nbits = bucket - postfix_bits;\r
+    *code = (uint16_t)(\r
+        (BROTLI_NUM_DISTANCE_SHORT_CODES + num_direct_codes +\r
+         ((2 * (nbits - 1) + prefix) << postfix_bits) + postfix));\r
+    *extra_bits = (uint32_t)(\r
+        (nbits << 24) | ((dist - offset) >> postfix_bits));\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_PREFIX_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/quality.h b/BaseTools/Source/C/BrotliCompress/enc/quality.h
new file mode 100644 (file)
index 0000000..a4969ad
--- /dev/null
@@ -0,0 +1,130 @@
+/* Copyright 2016 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Constants and formulas that affect speed-ratio trade-offs and thus define\r
+   quality levels. */\r
+\r
+#ifndef BROTLI_ENC_QUALITY_H_\r
+#define BROTLI_ENC_QUALITY_H_\r
+\r
+#include "./encode.h"\r
+\r
+#define FAST_ONE_PASS_COMPRESSION_QUALITY 0\r
+#define FAST_TWO_PASS_COMPRESSION_QUALITY 1\r
+#define ZOPFLIFICATION_QUALITY 10\r
+#define HQ_ZOPFLIFICATION_QUALITY 11\r
+\r
+#define MAX_QUALITY_FOR_STATIC_ENRTOPY_CODES 2\r
+#define MIN_QUALITY_FOR_BLOCK_SPLIT 4\r
+#define MIN_QUALITY_FOR_OPTIMIZE_HISTOGRAMS 4\r
+#define MIN_QUALITY_FOR_EXTENSIVE_REFERENCE_SEARCH 5\r
+#define MIN_QUALITY_FOR_CONTEXT_MODELING 5\r
+#define MIN_QUALITY_FOR_HQ_CONTEXT_MODELING 7\r
+#define MIN_QUALITY_FOR_HQ_BLOCK_SPLITTING 10\r
+/* Only for "font" mode. */\r
+#define MIN_QUALITY_FOR_RECOMPUTE_DISTANCE_PREFIXES 10\r
+\r
+/* For quality below MIN_QUALITY_FOR_BLOCK_SPLIT there is no block splitting,\r
+   so we buffer at most this much literals and commands. */\r
+#define MAX_NUM_DELAYED_SYMBOLS 0x2fff\r
+\r
+/* Encoding parameters */\r
+typedef struct BrotliEncoderParams {\r
+  BrotliEncoderMode mode;\r
+  int quality;\r
+  int lgwin;\r
+  int lgblock;\r
+} BrotliEncoderParams;\r
+\r
+/* Returns hashtable size for quality levels 0 and 1. */\r
+static BROTLI_INLINE size_t MaxHashTableSize(int quality) {\r
+  return quality == FAST_ONE_PASS_COMPRESSION_QUALITY ? 1 << 15 : 1 << 17;\r
+}\r
+\r
+/* The maximum length for which the zopflification uses distinct distances. */\r
+#define MAX_ZOPFLI_LEN_QUALITY_10 150\r
+#define MAX_ZOPFLI_LEN_QUALITY_11 325\r
+\r
+static BROTLI_INLINE size_t MaxZopfliLen(const BrotliEncoderParams* params) {\r
+  return params->quality <= 10 ?\r
+      MAX_ZOPFLI_LEN_QUALITY_10 :\r
+      MAX_ZOPFLI_LEN_QUALITY_11;\r
+}\r
+\r
+/* Number of best candidates to evaluate to expand zopfli chain. */\r
+static BROTLI_INLINE size_t MaxZopfliCandidates(\r
+  const BrotliEncoderParams* params) {\r
+  return params->quality <= 10 ? 1 : 5;\r
+}\r
+\r
+static BROTLI_INLINE void SanitizeParams(BrotliEncoderParams* params) {\r
+  params->quality = BROTLI_MIN(int, BROTLI_MAX_QUALITY,\r
+      BROTLI_MAX(int, BROTLI_MIN_QUALITY, params->quality));\r
+  if (params->lgwin < kBrotliMinWindowBits) {\r
+    params->lgwin = kBrotliMinWindowBits;\r
+  } else if (params->lgwin > kBrotliMaxWindowBits) {\r
+    params->lgwin = kBrotliMaxWindowBits;\r
+  }\r
+}\r
+\r
+/* Returns optimized lg_block value. */\r
+static BROTLI_INLINE int ComputeLgBlock(const BrotliEncoderParams* params) {\r
+  int lgblock = params->lgblock;\r
+  if (params->quality == FAST_ONE_PASS_COMPRESSION_QUALITY ||\r
+      params->quality == FAST_TWO_PASS_COMPRESSION_QUALITY) {\r
+    lgblock = params->lgwin;\r
+  } else if (params->quality < MIN_QUALITY_FOR_BLOCK_SPLIT) {\r
+    lgblock = 14;\r
+  } else if (lgblock == 0) {\r
+    lgblock = 16;\r
+    if (params->quality >= 9 && params->lgwin > lgblock) {\r
+      lgblock = BROTLI_MIN(int, 18, params->lgwin);\r
+    }\r
+  } else {\r
+    lgblock = BROTLI_MIN(int, kBrotliMaxInputBlockBits,\r
+        BROTLI_MAX(int, kBrotliMinInputBlockBits, lgblock));\r
+  }\r
+  return lgblock;\r
+}\r
+\r
+/* Returns log2 of the size of main ring buffer area.\r
+   Allocate at least lgwin + 1 bits for the ring buffer so that the newly\r
+   added block fits there completely and we still get lgwin bits and at least\r
+   read_block_size_bits + 1 bits because the copy tail length needs to be\r
+   smaller than ringbuffer size. */\r
+static BROTLI_INLINE int ComputeRbBits(const BrotliEncoderParams* params) {\r
+  return 1 + BROTLI_MAX(int, params->lgwin, params->lgblock);\r
+}\r
+\r
+static BROTLI_INLINE size_t MaxMetablockSize(\r
+    const BrotliEncoderParams* params) {\r
+  int bits = BROTLI_MIN(int, ComputeRbBits(params), kBrotliMaxInputBlockBits);\r
+  return (size_t)1 << bits;\r
+}\r
+\r
+/* When searching for backward references and have not seen matches for a long\r
+   time, we can skip some match lookups. Unsuccessful match lookups are very\r
+   expensive and this kind of a heuristic speeds up compression quite a lot.\r
+   At first 8 byte strides are taken and every second byte is put to hasher.\r
+   After 4x more literals stride by 16 bytes, every put 4-th byte to hasher.\r
+   Applied only to qualities 2 to 9. */\r
+static BROTLI_INLINE size_t LiteralSpreeLengthForSparseSearch(\r
+    const BrotliEncoderParams* params) {\r
+  return params->quality < 9 ? 64 : 512;\r
+}\r
+\r
+static BROTLI_INLINE int ChooseHasher(const BrotliEncoderParams* params) {\r
+  if (params->quality > 9) {\r
+    return 10;\r
+  } else if (params->quality < 5) {\r
+    return params->quality;\r
+  } else if (params->lgwin <= 16) {\r
+    return params->quality < 7 ? 40 : params->quality < 9 ? 41 : 42;\r
+  }\r
+  return params->quality;\r
+}\r
+\r
+#endif  /* BROTLI_ENC_QUALITY_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h b/BaseTools/Source/C/BrotliCompress/enc/ringbuffer.h
new file mode 100644 (file)
index 0000000..bf231fa
--- /dev/null
@@ -0,0 +1,160 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Sliding window over the input data. */\r
+\r
+#ifndef BROTLI_ENC_RINGBUFFER_H_\r
+#define BROTLI_ENC_RINGBUFFER_H_\r
+\r
+#include <string.h>  /* memcpy */\r
+\r
+#include "../common/types.h"\r
+#include "./memory.h"\r
+#include "./port.h"\r
+#include "./quality.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/* A RingBuffer(window_bits, tail_bits) contains `1 << window_bits' bytes of\r
+   data in a circular manner: writing a byte writes it to:\r
+     `position() % (1 << window_bits)'.\r
+   For convenience, the RingBuffer array contains another copy of the\r
+   first `1 << tail_bits' bytes:\r
+     buffer_[i] == buffer_[i + (1 << window_bits)], if i < (1 << tail_bits),\r
+   and another copy of the last two bytes:\r
+     buffer_[-1] == buffer_[(1 << window_bits) - 1] and\r
+     buffer_[-2] == buffer_[(1 << window_bits) - 2]. */\r
+typedef struct RingBuffer {\r
+  /* Size of the ringbuffer is (1 << window_bits) + tail_size_. */\r
+  const uint32_t size_;\r
+  const uint32_t mask_;\r
+  const uint32_t tail_size_;\r
+  const uint32_t total_size_;\r
+\r
+  uint32_t cur_size_;\r
+  /* Position to write in the ring buffer. */\r
+  uint32_t pos_;\r
+  /* The actual ring buffer containing the copy of the last two bytes, the data,\r
+     and the copy of the beginning as a tail. */\r
+  uint8_t *data_;\r
+  /* The start of the ringbuffer. */\r
+  uint8_t *buffer_;\r
+} RingBuffer;\r
+\r
+static BROTLI_INLINE void RingBufferInit(RingBuffer* rb) {\r
+  rb->cur_size_ = 0;\r
+  rb->pos_ = 0;\r
+  rb->data_ = 0;\r
+  rb->buffer_ = 0;\r
+}\r
+\r
+static BROTLI_INLINE void RingBufferSetup(\r
+    const BrotliEncoderParams* params, RingBuffer* rb) {\r
+  int window_bits = ComputeRbBits(params);\r
+  int tail_bits = params->lgblock;\r
+  *(uint32_t*)&rb->size_ = 1u << window_bits;\r
+  *(uint32_t*)&rb->mask_ = (1u << window_bits) - 1;\r
+  *(uint32_t*)&rb->tail_size_ = 1u << tail_bits;\r
+  *(uint32_t*)&rb->total_size_ = rb->size_ + rb->tail_size_;\r
+}\r
+\r
+static BROTLI_INLINE void RingBufferFree(MemoryManager* m, RingBuffer* rb) {\r
+  BROTLI_FREE(m, rb->data_);\r
+}\r
+\r
+/* Allocates or re-allocates data_ to the given length + plus some slack\r
+   region before and after. Fills the slack regions with zeros. */\r
+static BROTLI_INLINE void RingBufferInitBuffer(\r
+    MemoryManager* m, const uint32_t buflen, RingBuffer* rb) {\r
+  static const size_t kSlackForEightByteHashingEverywhere = 7;\r
+  uint8_t* new_data = BROTLI_ALLOC(\r
+      m, uint8_t, 2 + buflen + kSlackForEightByteHashingEverywhere);\r
+  size_t i;\r
+  if (BROTLI_IS_OOM(m)) return;\r
+  if (rb->data_) {\r
+    memcpy(new_data, rb->data_,\r
+        2 + rb->cur_size_ + kSlackForEightByteHashingEverywhere);\r
+    BROTLI_FREE(m, rb->data_);\r
+  }\r
+  rb->data_ = new_data;\r
+  rb->cur_size_ = buflen;\r
+  rb->buffer_ = rb->data_ + 2;\r
+  rb->buffer_[-2] = rb->buffer_[-1] = 0;\r
+  for (i = 0; i < kSlackForEightByteHashingEverywhere; ++i) {\r
+    rb->buffer_[rb->cur_size_ + i] = 0;\r
+  }\r
+}\r
+\r
+static BROTLI_INLINE void RingBufferWriteTail(\r
+    const uint8_t *bytes, size_t n, RingBuffer* rb) {\r
+  const size_t masked_pos = rb->pos_ & rb->mask_;\r
+  if (PREDICT_FALSE(masked_pos < rb->tail_size_)) {\r
+    /* Just fill the tail buffer with the beginning data. */\r
+    const size_t p = rb->size_ + masked_pos;\r
+    memcpy(&rb->buffer_[p], bytes,\r
+        BROTLI_MIN(size_t, n, rb->tail_size_ - masked_pos));\r
+  }\r
+}\r
+\r
+/* Push bytes into the ring buffer. */\r
+static BROTLI_INLINE void RingBufferWrite(\r
+    MemoryManager* m, const uint8_t *bytes, size_t n, RingBuffer* rb) {\r
+  if (rb->pos_ == 0 && n < rb->tail_size_) {\r
+    /* Special case for the first write: to process the first block, we don't\r
+       need to allocate the whole ringbuffer and we don't need the tail\r
+       either. However, we do this memory usage optimization only if the\r
+       first write is less than the tail size, which is also the input block\r
+       size, otherwise it is likely that other blocks will follow and we\r
+       will need to reallocate to the full size anyway. */\r
+    rb->pos_ = (uint32_t)n;\r
+    RingBufferInitBuffer(m, rb->pos_, rb);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    memcpy(rb->buffer_, bytes, n);\r
+    return;\r
+  }\r
+  if (rb->cur_size_ < rb->total_size_) {\r
+    /* Lazily allocate the full buffer. */\r
+    RingBufferInitBuffer(m, rb->total_size_, rb);\r
+    if (BROTLI_IS_OOM(m)) return;\r
+    /* Initialize the last two bytes to zero, so that we don't have to worry\r
+       later when we copy the last two bytes to the first two positions. */\r
+    rb->buffer_[rb->size_ - 2] = 0;\r
+    rb->buffer_[rb->size_ - 1] = 0;\r
+  }\r
+  {\r
+    const size_t masked_pos = rb->pos_ & rb->mask_;\r
+    /* The length of the writes is limited so that we do not need to worry\r
+       about a write */\r
+    RingBufferWriteTail(bytes, n, rb);\r
+    if (PREDICT_TRUE(masked_pos + n <= rb->size_)) {\r
+      /* A single write fits. */\r
+      memcpy(&rb->buffer_[masked_pos], bytes, n);\r
+    } else {\r
+      /* Split into two writes.\r
+         Copy into the end of the buffer, including the tail buffer. */\r
+      memcpy(&rb->buffer_[masked_pos], bytes,\r
+             BROTLI_MIN(size_t, n, rb->total_size_ - masked_pos));\r
+      /* Copy into the beginning of the buffer */\r
+      memcpy(&rb->buffer_[0], bytes + (rb->size_ - masked_pos),\r
+             n - (rb->size_ - masked_pos));\r
+    }\r
+  }\r
+  rb->buffer_[-2] = rb->buffer_[rb->size_ - 2];\r
+  rb->buffer_[-1] = rb->buffer_[rb->size_ - 1];\r
+  rb->pos_ += (uint32_t)n;\r
+  if (rb->pos_ > (1u << 30)) {\r
+    /* Wrap, but preserve not-a-first-lap feature. */\r
+    rb->pos_ = (rb->pos_ & ((1u << 30) - 1)) | (1u << 30);\r
+  }\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_RINGBUFFER_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/static_dict.c b/BaseTools/Source/C/BrotliCompress/enc/static_dict.c
new file mode 100644 (file)
index 0000000..099414e
--- /dev/null
@@ -0,0 +1,478 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+#include "./static_dict.h"\r
+\r
+#include "../common/dictionary.h"\r
+#include "./find_match_length.h"\r
+#include "./port.h"\r
+#include "./static_dict_lut.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const uint8_t kUppercaseFirst = 10;\r
+static const uint8_t kOmitLastNTransforms[10] = {\r
+  0, 12, 27, 23, 42, 63, 56, 48, 59, 64,\r
+};\r
+\r
+static BROTLI_INLINE uint32_t Hash(const uint8_t *data) {\r
+  uint32_t h = BROTLI_UNALIGNED_LOAD32(data) * kDictHashMul32;\r
+  /* The higher bits contain more mixture from the multiplication,\r
+     so we take our results from there. */\r
+  return h >> (32 - kDictNumBits);\r
+}\r
+\r
+static BROTLI_INLINE void AddMatch(size_t distance, size_t len, size_t len_code,\r
+                                   uint32_t* matches) {\r
+  uint32_t match = (uint32_t)((distance << 5) + len_code);\r
+  matches[len] = BROTLI_MIN(uint32_t, matches[len], match);\r
+}\r
+\r
+static BROTLI_INLINE size_t DictMatchLength(const uint8_t* data,\r
+                                            size_t id,\r
+                                            size_t len,\r
+                                            size_t maxlen) {\r
+  const size_t offset = kBrotliDictionaryOffsetsByLength[len] + len * id;\r
+  return FindMatchLengthWithLimit(&kBrotliDictionary[offset], data,\r
+                                  BROTLI_MIN(size_t, len, maxlen));\r
+}\r
+\r
+static BROTLI_INLINE BROTLI_BOOL IsMatch(\r
+    DictWord w, const uint8_t* data, size_t max_length) {\r
+  if (w.len > max_length) {\r
+    return BROTLI_FALSE;\r
+  } else {\r
+    const size_t offset = kBrotliDictionaryOffsetsByLength[w.len] +\r
+        (size_t)w.len * (size_t)w.idx;\r
+    const uint8_t* dict = &kBrotliDictionary[offset];\r
+    if (w.transform == 0) {\r
+      /* Match against base dictionary word. */\r
+      return\r
+          TO_BROTLI_BOOL(FindMatchLengthWithLimit(dict, data, w.len) == w.len);\r
+    } else if (w.transform == 10) {\r
+      /* Match against uppercase first transform.\r
+         Note that there are only ASCII uppercase words in the lookup table. */\r
+      return TO_BROTLI_BOOL(dict[0] >= 'a' && dict[0] <= 'z' &&\r
+              (dict[0] ^ 32) == data[0] &&\r
+              FindMatchLengthWithLimit(&dict[1], &data[1], w.len - 1u) ==\r
+              w.len - 1u);\r
+    } else {\r
+      /* Match against uppercase all transform.\r
+         Note that there are only ASCII uppercase words in the lookup table. */\r
+      size_t i;\r
+      for (i = 0; i < w.len; ++i) {\r
+        if (dict[i] >= 'a' && dict[i] <= 'z') {\r
+          if ((dict[i] ^ 32) != data[i]) return BROTLI_FALSE;\r
+        } else {\r
+          if (dict[i] != data[i]) return BROTLI_FALSE;\r
+        }\r
+      }\r
+      return BROTLI_TRUE;\r
+    }\r
+  }\r
+}\r
+\r
+BROTLI_BOOL BrotliFindAllStaticDictionaryMatches(\r
+    const uint8_t* data, size_t min_length, size_t max_length,\r
+    uint32_t* matches) {\r
+  BROTLI_BOOL has_found_match = BROTLI_FALSE;\r
+  {\r
+    size_t offset = kStaticDictionaryBuckets[Hash(data)];\r
+    BROTLI_BOOL end = !offset;\r
+    while (!end) {\r
+      DictWord w = kStaticDictionaryWords[offset++];\r
+      const size_t l = w.len & 0x7F;\r
+      const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l];\r
+      const size_t id = w.idx;\r
+      end = !!(w.len & 0x80);\r
+      w.len = (uint8_t)l;\r
+      if (w.transform == 0) {\r
+        const size_t matchlen = DictMatchLength(data, id, l, max_length);\r
+        const uint8_t* s;\r
+        size_t minlen;\r
+        size_t maxlen;\r
+        size_t len;\r
+        /* Transform "" + kIdentity + "" */\r
+        if (matchlen == l) {\r
+          AddMatch(id, l, l, matches);\r
+          has_found_match = BROTLI_TRUE;\r
+        }\r
+        /* Transforms "" + kOmitLast1 + "" and "" + kOmitLast1 + "ing " */\r
+        if (matchlen >= l - 1) {\r
+          AddMatch(id + 12 * n, l - 1, l, matches);\r
+          if (l + 2 < max_length &&\r
+              data[l - 1] == 'i' && data[l] == 'n' && data[l + 1] == 'g' &&\r
+              data[l + 2] == ' ') {\r
+            AddMatch(id + 49 * n, l + 3, l, matches);\r
+          }\r
+          has_found_match = BROTLI_TRUE;\r
+        }\r
+        /* Transform "" + kOmitLastN + "" (N = 2 .. 9) */\r
+        minlen = min_length;\r
+        if (l > 9) minlen = BROTLI_MAX(size_t, minlen, l - 9);\r
+        maxlen = BROTLI_MIN(size_t, matchlen, l - 2);\r
+        for (len = minlen; len <= maxlen; ++len) {\r
+          AddMatch(id + kOmitLastNTransforms[l - len] * n, len, l, matches);\r
+          has_found_match = BROTLI_TRUE;\r
+        }\r
+        if (matchlen < l || l + 6 >= max_length) {\r
+          continue;\r
+        }\r
+        s = &data[l];\r
+        /* Transforms "" + kIdentity + <suffix> */\r
+        if (s[0] == ' ') {\r
+          AddMatch(id + n, l + 1, l, matches);\r
+          if (s[1] == 'a') {\r
+            if (s[2] == ' ') {\r
+              AddMatch(id + 28 * n, l + 3, l, matches);\r
+            } else if (s[2] == 's') {\r
+              if (s[3] == ' ') AddMatch(id + 46 * n, l + 4, l, matches);\r
+            } else if (s[2] == 't') {\r
+              if (s[3] == ' ') AddMatch(id + 60 * n, l + 4, l, matches);\r
+            } else if (s[2] == 'n') {\r
+              if (s[3] == 'd' && s[4] == ' ') {\r
+                AddMatch(id + 10 * n, l + 5, l, matches);\r
+              }\r
+            }\r
+          } else if (s[1] == 'b') {\r
+            if (s[2] == 'y' && s[3] == ' ') {\r
+              AddMatch(id + 38 * n, l + 4, l, matches);\r
+            }\r
+          } else if (s[1] == 'i') {\r
+            if (s[2] == 'n') {\r
+              if (s[3] == ' ') AddMatch(id + 16 * n, l + 4, l, matches);\r
+            } else if (s[2] == 's') {\r
+              if (s[3] == ' ') AddMatch(id + 47 * n, l + 4, l, matches);\r
+            }\r
+          } else if (s[1] == 'f') {\r
+            if (s[2] == 'o') {\r
+              if (s[3] == 'r' && s[4] == ' ') {\r
+                AddMatch(id + 25 * n, l + 5, l, matches);\r
+              }\r
+            } else if (s[2] == 'r') {\r
+              if (s[3] == 'o' && s[4] == 'm' && s[5] == ' ') {\r
+                AddMatch(id + 37 * n, l + 6, l, matches);\r
+              }\r
+            }\r
+          } else if (s[1] == 'o') {\r
+            if (s[2] == 'f') {\r
+              if (s[3] == ' ') AddMatch(id + 8 * n, l + 4, l, matches);\r
+            } else if (s[2] == 'n') {\r
+              if (s[3] == ' ') AddMatch(id + 45 * n, l + 4, l, matches);\r
+            }\r
+          } else if (s[1] == 'n') {\r
+            if (s[2] == 'o' && s[3] == 't' && s[4] == ' ') {\r
+              AddMatch(id + 80 * n, l + 5, l, matches);\r
+            }\r
+          } else if (s[1] == 't') {\r
+            if (s[2] == 'h') {\r
+              if (s[3] == 'e') {\r
+                if (s[4] == ' ') AddMatch(id + 5 * n, l + 5, l, matches);\r
+              } else if (s[3] == 'a') {\r
+                if (s[4] == 't' && s[5] == ' ') {\r
+                  AddMatch(id + 29 * n, l + 6, l, matches);\r
+                }\r
+              }\r
+            } else if (s[2] == 'o') {\r
+              if (s[3] == ' ') AddMatch(id + 17 * n, l + 4, l, matches);\r
+            }\r
+          } else if (s[1] == 'w') {\r
+            if (s[2] == 'i' && s[3] == 't' && s[4] == 'h' && s[5] == ' ') {\r
+              AddMatch(id + 35 * n, l + 6, l, matches);\r
+            }\r
+          }\r
+        } else if (s[0] == '"') {\r
+          AddMatch(id + 19 * n, l + 1, l, matches);\r
+          if (s[1] == '>') {\r
+            AddMatch(id + 21 * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == '.') {\r
+          AddMatch(id + 20 * n, l + 1, l, matches);\r
+          if (s[1] == ' ') {\r
+            AddMatch(id + 31 * n, l + 2, l, matches);\r
+            if (s[2] == 'T' && s[3] == 'h') {\r
+              if (s[4] == 'e') {\r
+                if (s[5] == ' ') AddMatch(id + 43 * n, l + 6, l, matches);\r
+              } else if (s[4] == 'i') {\r
+                if (s[5] == 's' && s[6] == ' ') {\r
+                  AddMatch(id + 75 * n, l + 7, l, matches);\r
+                }\r
+              }\r
+            }\r
+          }\r
+        } else if (s[0] == ',') {\r
+          AddMatch(id + 76 * n, l + 1, l, matches);\r
+          if (s[1] == ' ') {\r
+            AddMatch(id + 14 * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == '\n') {\r
+          AddMatch(id + 22 * n, l + 1, l, matches);\r
+          if (s[1] == '\t') {\r
+            AddMatch(id + 50 * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == ']') {\r
+          AddMatch(id + 24 * n, l + 1, l, matches);\r
+        } else if (s[0] == '\'') {\r
+          AddMatch(id + 36 * n, l + 1, l, matches);\r
+        } else if (s[0] == ':') {\r
+          AddMatch(id + 51 * n, l + 1, l, matches);\r
+        } else if (s[0] == '(') {\r
+          AddMatch(id + 57 * n, l + 1, l, matches);\r
+        } else if (s[0] == '=') {\r
+          if (s[1] == '"') {\r
+            AddMatch(id + 70 * n, l + 2, l, matches);\r
+          } else if (s[1] == '\'') {\r
+            AddMatch(id + 86 * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == 'a') {\r
+          if (s[1] == 'l' && s[2] == ' ') {\r
+            AddMatch(id + 84 * n, l + 3, l, matches);\r
+          }\r
+        } else if (s[0] == 'e') {\r
+          if (s[1] == 'd') {\r
+            if (s[2] == ' ') AddMatch(id + 53 * n, l + 3, l, matches);\r
+          } else if (s[1] == 'r') {\r
+            if (s[2] == ' ') AddMatch(id + 82 * n, l + 3, l, matches);\r
+          } else if (s[1] == 's') {\r
+            if (s[2] == 't' && s[3] == ' ') {\r
+              AddMatch(id + 95 * n, l + 4, l, matches);\r
+            }\r
+          }\r
+        } else if (s[0] == 'f') {\r
+          if (s[1] == 'u' && s[2] == 'l' && s[3] == ' ') {\r
+            AddMatch(id + 90 * n, l + 4, l, matches);\r
+          }\r
+        } else if (s[0] == 'i') {\r
+          if (s[1] == 'v') {\r
+            if (s[2] == 'e' && s[3] == ' ') {\r
+              AddMatch(id + 92 * n, l + 4, l, matches);\r
+            }\r
+          } else if (s[1] == 'z') {\r
+            if (s[2] == 'e' && s[3] == ' ') {\r
+              AddMatch(id + 100 * n, l + 4, l, matches);\r
+            }\r
+          }\r
+        } else if (s[0] == 'l') {\r
+          if (s[1] == 'e') {\r
+            if (s[2] == 's' && s[3] == 's' && s[4] == ' ') {\r
+              AddMatch(id + 93 * n, l + 5, l, matches);\r
+            }\r
+          } else if (s[1] == 'y') {\r
+            if (s[2] == ' ') AddMatch(id + 61 * n, l + 3, l, matches);\r
+          }\r
+        } else if (s[0] == 'o') {\r
+          if (s[1] == 'u' && s[2] == 's' && s[3] == ' ') {\r
+            AddMatch(id + 106 * n, l + 4, l, matches);\r
+          }\r
+        }\r
+      } else {\r
+        /* Set is_all_caps=0 for kUppercaseFirst and\r
+               is_all_caps=1 otherwise (kUppercaseAll) transform. */\r
+        const BROTLI_BOOL is_all_caps =\r
+            TO_BROTLI_BOOL(w.transform != kUppercaseFirst);\r
+        const uint8_t* s;\r
+        if (!IsMatch(w, data, max_length)) {\r
+          continue;\r
+        }\r
+        /* Transform "" + kUppercase{First,All} + "" */\r
+        AddMatch(id + (is_all_caps ? 44 : 9) * n, l, l, matches);\r
+        has_found_match = BROTLI_TRUE;\r
+        if (l + 1 >= max_length) {\r
+          continue;\r
+        }\r
+        /* Transforms "" + kUppercase{First,All} + <suffix> */\r
+        s = &data[l];\r
+        if (s[0] == ' ') {\r
+          AddMatch(id + (is_all_caps ? 68 : 4) * n, l + 1, l, matches);\r
+        } else if (s[0] == '"') {\r
+          AddMatch(id + (is_all_caps ? 87 : 66) * n, l + 1, l, matches);\r
+          if (s[1] == '>') {\r
+            AddMatch(id + (is_all_caps ? 97 : 69) * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == '.') {\r
+          AddMatch(id + (is_all_caps ? 101 : 79) * n, l + 1, l, matches);\r
+          if (s[1] == ' ') {\r
+            AddMatch(id + (is_all_caps ? 114 : 88) * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == ',') {\r
+          AddMatch(id + (is_all_caps ? 112 : 99) * n, l + 1, l, matches);\r
+          if (s[1] == ' ') {\r
+            AddMatch(id + (is_all_caps ? 107 : 58) * n, l + 2, l, matches);\r
+          }\r
+        } else if (s[0] == '\'') {\r
+          AddMatch(id + (is_all_caps ? 94 : 74) * n, l + 1, l, matches);\r
+        } else if (s[0] == '(') {\r
+          AddMatch(id + (is_all_caps ? 113 : 78) * n, l + 1, l, matches);\r
+        } else if (s[0] == '=') {\r
+          if (s[1] == '"') {\r
+            AddMatch(id + (is_all_caps ? 105 : 104) * n, l + 2, l, matches);\r
+          } else if (s[1] == '\'') {\r
+            AddMatch(id + (is_all_caps ? 116 : 108) * n, l + 2, l, matches);\r
+          }\r
+        }\r
+      }\r
+    }\r
+  }\r
+  /* Transforms with prefixes " " and "." */\r
+  if (max_length >= 5 && (data[0] == ' ' || data[0] == '.')) {\r
+    BROTLI_BOOL is_space = TO_BROTLI_BOOL(data[0] == ' ');\r
+    size_t offset = kStaticDictionaryBuckets[Hash(&data[1])];\r
+    BROTLI_BOOL end = !offset;\r
+    while (!end) {\r
+      DictWord w = kStaticDictionaryWords[offset++];\r
+      const size_t l = w.len & 0x7F;\r
+      const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l];\r
+      const size_t id = w.idx;\r
+      end = !!(w.len & 0x80);\r
+      w.len = (uint8_t)l;\r
+      if (w.transform == 0) {\r
+        const uint8_t* s;\r
+        if (!IsMatch(w, &data[1], max_length - 1)) {\r
+          continue;\r
+        }\r
+        /* Transforms " " + kIdentity + "" and "." + kIdentity + "" */\r
+        AddMatch(id + (is_space ? 6 : 32) * n, l + 1, l, matches);\r
+        has_found_match = BROTLI_TRUE;\r
+        if (l + 2 >= max_length) {\r
+          continue;\r
+        }\r
+        /* Transforms " " + kIdentity + <suffix> and "." + kIdentity + <suffix>\r
+        */\r
+        s = &data[l + 1];\r
+        if (s[0] == ' ') {\r
+          AddMatch(id + (is_space ? 2 : 77) * n, l + 2, l, matches);\r
+        } else if (s[0] == '(') {\r
+          AddMatch(id + (is_space ? 89 : 67) * n, l + 2, l, matches);\r
+        } else if (is_space) {\r
+          if (s[0] == ',') {\r
+            AddMatch(id + 103 * n, l + 2, l, matches);\r
+            if (s[1] == ' ') {\r
+              AddMatch(id + 33 * n, l + 3, l, matches);\r
+            }\r
+          } else if (s[0] == '.') {\r
+            AddMatch(id + 71 * n, l + 2, l, matches);\r
+            if (s[1] == ' ') {\r
+              AddMatch(id + 52 * n, l + 3, l, matches);\r
+            }\r
+          } else if (s[0] == '=') {\r
+            if (s[1] == '"') {\r
+              AddMatch(id + 81 * n, l + 3, l, matches);\r
+            } else if (s[1] == '\'') {\r
+              AddMatch(id + 98 * n, l + 3, l, matches);\r
+            }\r
+          }\r
+        }\r
+      } else if (is_space) {\r
+        /* Set is_all_caps=0 for kUppercaseFirst and\r
+               is_all_caps=1 otherwise (kUppercaseAll) transform. */\r
+        const BROTLI_BOOL is_all_caps =\r
+            TO_BROTLI_BOOL(w.transform != kUppercaseFirst);\r
+        const uint8_t* s;\r
+        if (!IsMatch(w, &data[1], max_length - 1)) {\r
+          continue;\r
+        }\r
+        /* Transforms " " + kUppercase{First,All} + "" */\r
+        AddMatch(id + (is_all_caps ? 85 : 30) * n, l + 1, l, matches);\r
+        has_found_match = BROTLI_TRUE;\r
+        if (l + 2 >= max_length) {\r
+          continue;\r
+        }\r
+        /* Transforms " " + kUppercase{First,All} + <suffix> */\r
+        s = &data[l + 1];\r
+        if (s[0] == ' ') {\r
+          AddMatch(id + (is_all_caps ? 83 : 15) * n, l + 2, l, matches);\r
+        } else if (s[0] == ',') {\r
+          if (!is_all_caps) {\r
+            AddMatch(id + 109 * n, l + 2, l, matches);\r
+          }\r
+          if (s[1] == ' ') {\r
+            AddMatch(id + (is_all_caps ? 111 : 65) * n, l + 3, l, matches);\r
+          }\r
+        } else if (s[0] == '.') {\r
+          AddMatch(id + (is_all_caps ? 115 : 96) * n, l + 2, l, matches);\r
+          if (s[1] == ' ') {\r
+            AddMatch(id + (is_all_caps ? 117 : 91) * n, l + 3, l, matches);\r
+          }\r
+        } else if (s[0] == '=') {\r
+          if (s[1] == '"') {\r
+            AddMatch(id + (is_all_caps ? 110 : 118) * n, l + 3, l, matches);\r
+          } else if (s[1] == '\'') {\r
+            AddMatch(id + (is_all_caps ? 119 : 120) * n, l + 3, l, matches);\r
+          }\r
+        }\r
+      }\r
+    }\r
+  }\r
+  if (max_length >= 6) {\r
+    /* Transforms with prefixes "e ", "s ", ", " and "\xc2\xa0" */\r
+    if ((data[1] == ' ' &&\r
+         (data[0] == 'e' || data[0] == 's' || data[0] == ',')) ||\r
+        (data[0] == 0xc2 && data[1] == 0xa0)) {\r
+      size_t offset = kStaticDictionaryBuckets[Hash(&data[2])];\r
+      BROTLI_BOOL end = !offset;\r
+      while (!end) {\r
+        DictWord w = kStaticDictionaryWords[offset++];\r
+        const size_t l = w.len & 0x7F;\r
+        const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l];\r
+        const size_t id = w.idx;\r
+        end = !!(w.len & 0x80);\r
+        w.len = (uint8_t)l;\r
+        if (w.transform == 0 && IsMatch(w, &data[2], max_length - 2)) {\r
+          if (data[0] == 0xc2) {\r
+            AddMatch(id + 102 * n, l + 2, l, matches);\r
+            has_found_match = BROTLI_TRUE;\r
+          } else if (l + 2 < max_length && data[l + 2] == ' ') {\r
+            size_t t = data[0] == 'e' ? 18 : (data[0] == 's' ? 7 : 13);\r
+            AddMatch(id + t * n, l + 3, l, matches);\r
+            has_found_match = BROTLI_TRUE;\r
+          }\r
+        }\r
+      }\r
+    }\r
+  }\r
+  if (max_length >= 9) {\r
+    /* Transforms with prefixes " the " and ".com/" */\r
+    if ((data[0] == ' ' && data[1] == 't' && data[2] == 'h' &&\r
+         data[3] == 'e' && data[4] == ' ') ||\r
+        (data[0] == '.' && data[1] == 'c' && data[2] == 'o' &&\r
+         data[3] == 'm' && data[4] == '/')) {\r
+      size_t offset = kStaticDictionaryBuckets[Hash(&data[5])];\r
+      BROTLI_BOOL end = !offset;\r
+      while (!end) {\r
+        DictWord w = kStaticDictionaryWords[offset++];\r
+        const size_t l = w.len & 0x7F;\r
+        const size_t n = (size_t)1 << kBrotliDictionarySizeBitsByLength[l];\r
+        const size_t id = w.idx;\r
+        end = !!(w.len & 0x80);\r
+        w.len = (uint8_t)l;\r
+        if (w.transform == 0 && IsMatch(w, &data[5], max_length - 5)) {\r
+          AddMatch(id + (data[0] == ' ' ? 41 : 72) * n, l + 5, l, matches);\r
+          has_found_match = BROTLI_TRUE;\r
+          if (l + 5 < max_length) {\r
+            const uint8_t* s = &data[l + 5];\r
+            if (data[0] == ' ') {\r
+              if (l + 8 < max_length &&\r
+                  s[0] == ' ' && s[1] == 'o' && s[2] == 'f' && s[3] == ' ') {\r
+                AddMatch(id + 62 * n, l + 9, l, matches);\r
+                if (l + 12 < max_length &&\r
+                    s[4] == 't' && s[5] == 'h' && s[6] == 'e' && s[7] == ' ') {\r
+                  AddMatch(id + 73 * n, l + 13, l, matches);\r
+                }\r
+              }\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+  }\r
+  return has_found_match;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/static_dict.h b/BaseTools/Source/C/BrotliCompress/enc/static_dict.h
new file mode 100644 (file)
index 0000000..d21396b
--- /dev/null
@@ -0,0 +1,37 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Class to model the static dictionary. */\r
+\r
+#ifndef BROTLI_ENC_STATIC_DICT_H_\r
+#define BROTLI_ENC_STATIC_DICT_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+#define BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN 37\r
+static const uint32_t kInvalidMatch = 0xfffffff;\r
+\r
+/* Matches data against static dictionary words, and for each length l,\r
+   for which a match is found, updates matches[l] to be the minimum possible\r
+     (distance << 5) + len_code.\r
+   Returns 1 if matches have been found, otherwise 0.\r
+   Prerequisites:\r
+     matches array is at least BROTLI_MAX_STATIC_DICTIONARY_MATCH_LEN + 1 long\r
+     all elements are initialized to kInvalidMatch */\r
+BROTLI_INTERNAL BROTLI_BOOL BrotliFindAllStaticDictionaryMatches(\r
+    const uint8_t* data, size_t min_length, size_t max_length,\r
+    uint32_t* matches);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_STATIC_DICT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h b/BaseTools/Source/C/BrotliCompress/enc/static_dict_lut.h
new file mode 100644 (file)
index 0000000..1733d44
--- /dev/null
@@ -0,0 +1,11241 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Lookup table for static dictionary and transforms. */\r
+\r
+#ifndef BROTLI_ENC_STATIC_DICT_LUT_H_\r
+#define BROTLI_ENC_STATIC_DICT_LUT_H_\r
+\r
+#include "../common/types.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct DictWord {\r
+  /* Highest bit is used to indicate end of bucket. */\r
+  uint8_t len;\r
+  uint8_t transform;\r
+  uint16_t idx;\r
+} DictWord;\r
+\r
+static const int kDictNumBits = 15;\r
+static const uint32_t kDictHashMul32 = 0x1e35a7bd;\r
+\r
+static const uint16_t kStaticDictionaryBuckets[32768] = {\r
+ 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003,\r
+ 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0014, 0x0000, 0x0000, 0x0000,\r
+ 0x0015, 0x0000, 0x0016, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0017, 0x0000, 0x0000, 0x0019, 0x0000, 0x001d, 0x0000, 0x0035, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0037, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x003d, 0x004c, 0x0000, 0x0000, 0x0000, 0x005e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0060, 0x0000, 0x0061, 0x0000, 0x0062, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, 0x0065, 0x006a, 0x006c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x006e, 0x0000, 0x006f, 0x0070, 0x0000,\r
+ 0x0071, 0x0076, 0x007c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x007d, 0x0080,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0081, 0x0000, 0x0000, 0x0083, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0087, 0x0000, 0x0000,\r
+ 0x0000, 0x0089, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008a, 0x008b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008e, 0x008f, 0x0090, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0091, 0x0000, 0x0000, 0x0000, 0x0092, 0x0095,\r
+ 0x0097, 0x0098, 0x0000, 0x0000, 0x0099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x00a0, 0x00b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x00b7, 0x0000, 0x0000, 0x0000, 0x00bc, 0x00bd, 0x0000, 0x0000, 0x00c0, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c5, 0x00ca, 0x00d1, 0x0000, 0x0000, 0x00d2,\r
+ 0x0000, 0x00e0, 0x0000, 0x0000, 0x0000, 0x00e1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e7, 0x0000, 0x0000, 0x0000,\r
+ 0x00e8, 0x0000, 0x00f0, 0x0000, 0x0000, 0x00f2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f4, 0x0000, 0x0000,\r
+ 0x0000, 0x00f6, 0x0000, 0x0000, 0x00f9, 0x00fb, 0x00fd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0102, 0x0000, 0x0000, 0x0105, 0x0107, 0x0000, 0x0000, 0x0000,\r
+ 0x010b, 0x0000, 0x0000, 0x010c, 0x0000, 0x010d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x010f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0110, 0x0000, 0x0111, 0x0000, 0x0115, 0x0000, 0x0116, 0x011e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x011f, 0x0000, 0x0121, 0x0122, 0x0123, 0x0000,\r
+ 0x0000, 0x0000, 0x0127, 0x0000, 0x0000, 0x0128, 0x0129, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x012a, 0x0000, 0x0000,\r
+ 0x0000, 0x012b, 0x0000, 0x0000, 0x0131, 0x0000, 0x0144, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0147, 0x0000, 0x0148, 0x0149, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0150, 0x0000, 0x0000, 0x0154, 0x0000, 0x0155, 0x0156, 0x0157, 0x0000, 0x0000,\r
+ 0x015a, 0x0000, 0x015c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x015d,\r
+ 0x015f, 0x0000, 0x0000, 0x0163, 0x0000, 0x016b, 0x0000, 0x016c, 0x0000, 0x0170,\r
+ 0x0171, 0x0000, 0x0172, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0174, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0175, 0x0000, 0x0177, 0x0000, 0x0000, 0x0000, 0x0000, 0x0178,\r
+ 0x0179, 0x0000, 0x0000, 0x018a, 0x018b, 0x018c, 0x0000, 0x0000, 0x018e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0190, 0x0000, 0x0000, 0x0198, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x01a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a5, 0x0000,\r
+ 0x0000, 0x01a6, 0x01a7, 0x0000, 0x0000, 0x01ad, 0x01b3, 0x01b4, 0x01ba, 0x0000,\r
+ 0x0000, 0x01bb, 0x0000, 0x01bc, 0x01bd, 0x01c5, 0x01c8, 0x0000, 0x01c9, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x01ca, 0x0000, 0x0000, 0x0000, 0x01cb, 0x0000,\r
+ 0x0000, 0x0000, 0x01cc, 0x0000, 0x01ce, 0x01cf, 0x01d1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x01d2, 0x01d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x01d6, 0x0000, 0x0000, 0x0000, 0x01da, 0x0000, 0x01dc, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x01e3, 0x0000, 0x01e5, 0x0000, 0x0000, 0x0000, 0x01e6, 0x0000,\r
+ 0x0000, 0x01e8, 0x01eb, 0x01ec, 0x0000, 0x0000, 0x01f1, 0x01f3, 0x01f4, 0x0000,\r
+ 0x01f5, 0x0000, 0x0000, 0x0000, 0x01f9, 0x0000, 0x0000, 0x01fa, 0x0000, 0x0000,\r
+ 0x0000, 0x01fb, 0x0000, 0x0000, 0x0000, 0x01fd, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x01ff, 0x0200, 0x0207, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0211,\r
+ 0x0212, 0x0000, 0x0000, 0x0000, 0x0216, 0x0000, 0x0000, 0x0000, 0x0000, 0x021f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0229,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x022d, 0x0230, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0231, 0x0000, 0x0234, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0235, 0x0236, 0x0000, 0x023f, 0x0000, 0x026b, 0x0000, 0x026c, 0x0000,\r
+ 0x0000, 0x026f, 0x0270, 0x0000, 0x0000, 0x0000, 0x0271, 0x0000, 0x0000, 0x0272,\r
+ 0x0273, 0x0000, 0x0000, 0x0274, 0x0000, 0x0000, 0x0000, 0x0000, 0x0276, 0x0000,\r
+ 0x0277, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0281, 0x0000, 0x0000, 0x0000, 0x0000, 0x0283, 0x0290, 0x029c, 0x0000, 0x0000,\r
+ 0x0000, 0x02a1, 0x0000, 0x0000, 0x0000, 0x02a2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x02aa, 0x0000, 0x02af, 0x0000, 0x02b2, 0x0000,\r
+ 0x02b5, 0x02bb, 0x02bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02c0,\r
+ 0x02c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x02c3, 0x02c6, 0x0000, 0x02c7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x02d6, 0x0000, 0x0000, 0x02d9, 0x0000, 0x0000, 0x0000,\r
+ 0x02da, 0x02db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02f0, 0x0000, 0x0000,\r
+ 0x0000, 0x02fa, 0x0000, 0x02fb, 0x0000, 0x0000, 0x02ff, 0x0000, 0x0000, 0x0000,\r
+ 0x0302, 0x0306, 0x0000, 0x0000, 0x0307, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0308, 0x0000, 0x0000, 0x0000, 0x0309,\r
+ 0x030f, 0x0000, 0x0000, 0x0000, 0x0311, 0x0314, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0316, 0x0000, 0x0000, 0x0000, 0x0319, 0x0000, 0x0000, 0x0000, 0x0000, 0x031a,\r
+ 0x0000, 0x0000, 0x0324, 0x0333, 0x0335, 0x0000, 0x033b, 0x0000, 0x0000, 0x0000,\r
+ 0x0342, 0x0000, 0x0000, 0x0343, 0x0000, 0x0000, 0x0000, 0x0349, 0x0000, 0x034c,\r
+ 0x0000, 0x0352, 0x0353, 0x035b, 0x0000, 0x035c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x036a, 0x0000, 0x036c, 0x0000, 0x036d, 0x037a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x037d, 0x037e, 0x0382,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0383, 0x0000, 0x0000, 0x0000, 0x0384,\r
+ 0x0388, 0x038a, 0x0000, 0x0000, 0x0000, 0x038b, 0x0000, 0x038c, 0x038d, 0x0000,\r
+ 0x038e, 0x0000, 0x0000, 0x0000, 0x0000, 0x038f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0394, 0x0000, 0x0000, 0x0000, 0x039a, 0x039d, 0x0000, 0x03a2, 0x0000,\r
+ 0x03a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03af, 0x0000, 0x0000, 0x03b0,\r
+ 0x0000, 0x03b9, 0x03ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03bb,\r
+ 0x0000, 0x03c2, 0x03c3, 0x0000, 0x0000, 0x03d0, 0x0000, 0x0000, 0x03d1, 0x03d2,\r
+ 0x03d3, 0x03d4, 0x0000, 0x03d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d8, 0x0000,\r
+ 0x0000, 0x03d9, 0x0000, 0x0000, 0x03db, 0x03dd, 0x03df, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e0, 0x0000, 0x0000, 0x0000,\r
+ 0x03e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03e4, 0x0000, 0x0000,\r
+ 0x0000, 0x03e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03ea, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x03ed, 0x03ef, 0x0000, 0x0000, 0x0000, 0x03f1, 0x0000, 0x0000,\r
+ 0x0000, 0x03f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f3, 0x0000,\r
+ 0x03f4, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f6, 0x03f8, 0x0000, 0x0000, 0x0000,\r
+ 0x03fc, 0x0000, 0x03fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fe, 0x0000, 0x0000,\r
+ 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0401, 0x0000,\r
+ 0x0000, 0x0402, 0x0403, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0407, 0x0000,\r
+ 0x0409, 0x0000, 0x0000, 0x0000, 0x0000, 0x040a, 0x0000, 0x0000, 0x0000, 0x040d,\r
+ 0x0410, 0x0000, 0x0000, 0x0000, 0x0412, 0x0413, 0x0000, 0x0000, 0x041d, 0x0000,\r
+ 0x041e, 0x0000, 0x0000, 0x0421, 0x0000, 0x0000, 0x0000, 0x0422, 0x0000, 0x0000,\r
+ 0x0424, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0425, 0x0000,\r
+ 0x0000, 0x0426, 0x0000, 0x0000, 0x0000, 0x0000, 0x0427, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0428, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0429, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x042a, 0x042b, 0x0000, 0x0000, 0x0000, 0x042d, 0x042e, 0x0430,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0431, 0x0000, 0x0433, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0438, 0x043c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0440, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0446, 0x0000,\r
+ 0x0447, 0x0000, 0x0453, 0x0000, 0x0000, 0x0000, 0x0458, 0x045a, 0x0000, 0x045f,\r
+ 0x0000, 0x0462, 0x0000, 0x0000, 0x0466, 0x0000, 0x0469, 0x0000, 0x046a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x046c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0478, 0x0000, 0x0000, 0x0479, 0x047a, 0x0000, 0x047c, 0x047d, 0x0000,\r
+ 0x0000, 0x047e, 0x047f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000, 0x0481,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0482, 0x0000, 0x048b, 0x0000, 0x0000,\r
+ 0x0000, 0x048c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x048d, 0x0000, 0x048f,\r
+ 0x0000, 0x0492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0493, 0x0494, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0495, 0x0497, 0x0499,\r
+ 0x0000, 0x04a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x04ab, 0x0000, 0x0000, 0x04c5, 0x0000, 0x0000, 0x04c8, 0x0000,\r
+ 0x0000, 0x04cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04cc, 0x04cd, 0x0000,\r
+ 0x0000, 0x04ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x04cf, 0x0000, 0x0000, 0x0000, 0x04d1, 0x0000, 0x0000, 0x04db, 0x04dc,\r
+ 0x04de, 0x04e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x04e6, 0x04e7, 0x04ea, 0x04eb,\r
+ 0x0000, 0x0000, 0x0000, 0x04ec, 0x0000, 0x0000, 0x04ed, 0x0000, 0x0000, 0x0000,\r
+ 0x04ee, 0x04f0, 0x0000, 0x0000, 0x04f1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04f2, 0x0000, 0x04f3,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x04f9, 0x04fa, 0x04fc, 0x0509, 0x0000, 0x0000,\r
+ 0x050b, 0x050c, 0x050d, 0x0000, 0x0000, 0x050e, 0x050f, 0x0510, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0516, 0x0000, 0x0518, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x051f, 0x0520, 0x0000, 0x0522, 0x0000, 0x0524,\r
+ 0x0528, 0x0529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x052a,\r
+ 0x052b, 0x052c, 0x0000, 0x0537, 0x0000, 0x0538, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x053d, 0x053e, 0x0000, 0x0542, 0x0000, 0x054d, 0x0000, 0x0000, 0x0000, 0x054e,\r
+ 0x0550, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0551, 0x0000, 0x0000,\r
+ 0x0000, 0x0552, 0x0555, 0x0000, 0x0556, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0563, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x056a, 0x0000, 0x056c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0573, 0x0000, 0x0000, 0x0000, 0x0000, 0x057b, 0x0000, 0x057d,\r
+ 0x0000, 0x0000, 0x057f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0580, 0x0581,\r
+ 0x0000, 0x0582, 0x0000, 0x0000, 0x0000, 0x0584, 0x0585, 0x0588, 0x0000, 0x0000,\r
+ 0x0595, 0x05ab, 0x0000, 0x0000, 0x05ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x05af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x05b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x05b3, 0x05b4, 0x05b5, 0x05c3, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x05c5, 0x0000, 0x05c8, 0x0000, 0x05c9,\r
+ 0x0000, 0x0000, 0x05ce, 0x0000, 0x0000, 0x05d7, 0x0000, 0x0000, 0x0000, 0x05d8,\r
+ 0x0000, 0x0000, 0x05da, 0x05db, 0x05dd, 0x05f0, 0x05f1, 0x0000, 0x0000, 0x0000,\r
+ 0x05f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x05f8, 0x05f9, 0x0000, 0x05fd, 0x0600,\r
+ 0x0000, 0x0000, 0x0000, 0x0601, 0x0602, 0x060d, 0x0000, 0x060e, 0x0616, 0x0617,\r
+ 0x0624, 0x0000, 0x0625, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0627, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x062b, 0x0000,\r
+ 0x063f, 0x0000, 0x0643, 0x0000, 0x0644, 0x0000, 0x0645, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0648, 0x064a, 0x0000, 0x0000, 0x0000, 0x0000, 0x064b, 0x0000,\r
+ 0x064f, 0x0000, 0x0650, 0x0652, 0x0000, 0x0653, 0x0000, 0x0000, 0x0656, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0662, 0x0000, 0x0000, 0x0000, 0x0663, 0x0000, 0x0000,\r
+ 0x0000, 0x0669, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x066b, 0x0000, 0x0000, 0x0000, 0x0672, 0x0000, 0x0000, 0x0674, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0675, 0x0000, 0x0000, 0x0000, 0x0676, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0677, 0x0000, 0x067e, 0x0000, 0x0000, 0x067f, 0x0680,\r
+ 0x0000, 0x0000, 0x0684, 0x0000, 0x0000, 0x0685, 0x0686, 0x0000, 0x0688, 0x0689,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x068a, 0x0000, 0x0000, 0x0000, 0x068b,\r
+ 0x068c, 0x0690, 0x0000, 0x0692, 0x0000, 0x0000, 0x0697, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x06a8, 0x0000, 0x0000, 0x06a9, 0x0000, 0x0000, 0x06b9, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x06c6, 0x06c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x06c9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x06cb, 0x0000, 0x0000, 0x06cc, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06cd, 0x06cf,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x06d1, 0x0000, 0x0000, 0x0000, 0x06d5, 0x0000,\r
+ 0x0000, 0x0000, 0x06d7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06e0,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x06e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x06f8, 0x0000, 0x06f9, 0x06fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x06fc, 0x06fd,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x06fe, 0x06ff, 0x0701, 0x0000, 0x0706, 0x0707,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0709, 0x0000, 0x070b, 0x070d, 0x0000, 0x0000,\r
+ 0x0000, 0x070e, 0x0713, 0x0000, 0x0714, 0x0716, 0x0000, 0x071d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x071e, 0x0729, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0738, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0741, 0x0000,\r
+ 0x0000, 0x0000, 0x0743, 0x0000, 0x0000, 0x0000, 0x0000, 0x0745, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x074a, 0x0000, 0x0781, 0x0785, 0x0000,\r
+ 0x0000, 0x0000, 0x0789, 0x078a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x078b, 0x0000, 0x0000, 0x0000, 0x0000, 0x078c, 0x0000,\r
+ 0x0000, 0x0000, 0x078e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x079a, 0x0000, 0x0000, 0x079c, 0x0000, 0x0000, 0x0000, 0x0000, 0x079e,\r
+ 0x0000, 0x07a5, 0x0000, 0x07a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07ad,\r
+ 0x07af, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b0, 0x0000, 0x07b1, 0x0000, 0x07b3,\r
+ 0x07b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x07b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x07b8, 0x07bb, 0x0000, 0x07be,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x07c0, 0x07c4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x07c6, 0x07d4, 0x07d8, 0x0000, 0x0000, 0x0000, 0x07dc, 0x07dd, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07df, 0x0000,\r
+ 0x07e0, 0x07e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x07e5, 0x0000, 0x0000, 0x07e9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07ed, 0x07f4, 0x07f8, 0x0000, 0x07fa,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x07fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x07fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07fe, 0x07ff,\r
+ 0x0000, 0x0800, 0x0801, 0x0000, 0x080b, 0x0000, 0x0000, 0x080f, 0x0000, 0x0810,\r
+ 0x0811, 0x0000, 0x0000, 0x0812, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0815, 0x0000, 0x0000, 0x0000, 0x0000, 0x0816, 0x0000, 0x0817, 0x0000, 0x0818,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0822, 0x0823, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0825, 0x0000, 0x0826, 0x0828, 0x0829, 0x0839, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x083b, 0x0000, 0x0000, 0x0844, 0x0845, 0x0000, 0x0848, 0x0000,\r
+ 0x0000, 0x084a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x084b, 0x0000, 0x0000,\r
+ 0x084d, 0x084f, 0x0850, 0x0000, 0x0000, 0x0000, 0x0852, 0x0000, 0x0000, 0x0000,\r
+ 0x0859, 0x085b, 0x085c, 0x085d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0860, 0x0861, 0x0000, 0x0000, 0x0862, 0x0865, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0866, 0x0000, 0x0000, 0x0867, 0x086e, 0x0000, 0x086f,\r
+ 0x0000, 0x0870, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0871, 0x0872,\r
+ 0x0000, 0x0000, 0x0892, 0x089a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x089d, 0x08a9, 0x0000, 0x08ac, 0x0000, 0x08ad, 0x0000, 0x08ae, 0x08b0, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x08bd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08be,\r
+ 0x0000, 0x08bf, 0x08c1, 0x0000, 0x0000, 0x08c2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x08c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08cc, 0x0000,\r
+ 0x0000, 0x08cd, 0x0000, 0x0000, 0x0000, 0x08d1, 0x08d2, 0x0000, 0x0000, 0x0000,\r
+ 0x08d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08d6, 0x0000,\r
+ 0x08d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08dd, 0x08de, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08df, 0x0000, 0x08e1,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x08e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x08e6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x08e7, 0x0000, 0x08e8, 0x0000, 0x08eb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08ef, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08f1, 0x08f2, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x08f3, 0x0000, 0x08f4, 0x0000, 0x0000, 0x0000, 0x08f5, 0x08f7, 0x08f8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08fa, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x08ff, 0x0000, 0x0901, 0x0000, 0x0000, 0x0902, 0x0000,\r
+ 0x0903, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0909, 0x090a, 0x090b, 0x090c, 0x0000, 0x0000, 0x090e,\r
+ 0x0000, 0x090f, 0x0000, 0x0912, 0x0000, 0x0000, 0x0913, 0x0000, 0x0914, 0x0000,\r
+ 0x0916, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x091f, 0x0000,\r
+ 0x0920, 0x0922, 0x0923, 0x0000, 0x0924, 0x0000, 0x0000, 0x0000, 0x0933, 0x0000,\r
+ 0x0947, 0x0000, 0x094e, 0x0952, 0x0000, 0x0953, 0x0000, 0x0000, 0x095a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x095b, 0x0000, 0x095d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x095e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x095f,\r
+ 0x0962, 0x0964, 0x0968, 0x096b, 0x0000, 0x0000, 0x0000, 0x096d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x096f, 0x0000, 0x0000, 0x0970, 0x0971, 0x0973, 0x0000, 0x0974,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0979, 0x0000, 0x0000, 0x0000, 0x097a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x097b, 0x097c, 0x0000, 0x097d, 0x0000, 0x0000, 0x097e, 0x0982,\r
+ 0x0000, 0x0984, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0989, 0x098a,\r
+ 0x0000, 0x098d, 0x0000, 0x0000, 0x098e, 0x0999, 0x0000, 0x099b, 0x0000, 0x0000,\r
+ 0x099e, 0x0000, 0x09a0, 0x0000, 0x09ad, 0x0000, 0x09ae, 0x09b6, 0x0000, 0x0000,\r
+ 0x0000, 0x09bb, 0x0000, 0x0000, 0x09bd, 0x0000, 0x0000, 0x09be, 0x0000, 0x09bf,\r
+ 0x0000, 0x09d1, 0x09db, 0x0000, 0x0000, 0x0000, 0x0000, 0x09dc, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x09e0, 0x09e1, 0x09e2, 0x0000, 0x0000, 0x09e3,\r
+ 0x0000, 0x09e5, 0x0000, 0x0000, 0x09e6, 0x09e7, 0x0000, 0x09e8, 0x09e9, 0x0000,\r
+ 0x09ea, 0x0000, 0x09eb, 0x09ec, 0x0000, 0x0000, 0x0000, 0x09f1, 0x09f2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09f4, 0x0000, 0x0000, 0x09f5,\r
+ 0x0000, 0x09f6, 0x09fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09fd, 0x0000,\r
+ 0x0a00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0a01, 0x0000, 0x0a10, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0a11, 0x0a12, 0x0000, 0x0000, 0x0000, 0x0a13,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a14, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0a15, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a17, 0x0000, 0x0a18,\r
+ 0x0000, 0x0a1c, 0x0a1e, 0x0000, 0x0000, 0x0000, 0x0a1f, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0a21, 0x0a22, 0x0000, 0x0a23, 0x0000, 0x0a29, 0x0a2a, 0x0000, 0x0000,\r
+ 0x0a2b, 0x0000, 0x0a2d, 0x0000, 0x0000, 0x0000, 0x0a2e, 0x0a2f, 0x0a33, 0x0000,\r
+ 0x0a37, 0x0000, 0x0000, 0x0000, 0x0a39, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a3b, 0x0000,\r
+ 0x0000, 0x0a3c, 0x0000, 0x0000, 0x0000, 0x0a3d, 0x0000, 0x0a3f, 0x0000, 0x0a41,\r
+ 0x0000, 0x0000, 0x0a44, 0x0a45, 0x0000, 0x0000, 0x0a4b, 0x0a4c, 0x0a4d, 0x0000,\r
+ 0x0000, 0x0a4f, 0x0000, 0x0000, 0x0000, 0x0a52, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0a53, 0x0000, 0x0a54, 0x0000, 0x0a59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0a5f, 0x0a60, 0x0000, 0x0000, 0x0a61, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0a62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a63, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0a68, 0x0a7d, 0x0000, 0x0a7f, 0x0000, 0x0a80, 0x0000, 0x0000,\r
+ 0x0a81, 0x0000, 0x0000, 0x0a86, 0x0000, 0x0a87, 0x0000, 0x0000, 0x0a8a, 0x0000,\r
+ 0x0a8d, 0x0a92, 0x0000, 0x0000, 0x0000, 0x0a93, 0x0000, 0x0a95, 0x0a96, 0x0a97,\r
+ 0x0000, 0x0000, 0x0000, 0x0aa0, 0x0aaa, 0x0aaf, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0ab2, 0x0ab4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0abb, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0abc, 0x0000, 0x0000, 0x0abd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0abe, 0x0000, 0x0000, 0x0ac0, 0x0ac2, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0ac6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aca, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0acb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0acc, 0x0acf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ad0, 0x0000, 0x0000, 0x0ad2,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ad3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ad4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0ad5, 0x0ad8, 0x0000, 0x0000, 0x0adf, 0x0000, 0x0000,\r
+ 0x0ae0, 0x0000, 0x0ae5, 0x0000, 0x0ae6, 0x0000, 0x0000, 0x0000, 0x0ae8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ae9,\r
+ 0x0aeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aec, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0aed, 0x0aef, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0af3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0af6, 0x0000, 0x0af7, 0x0af8, 0x0b01,\r
+ 0x0b03, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b05, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0b06, 0x0b07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0b08, 0x0000, 0x0000, 0x0b0c, 0x0000, 0x0b12, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0b14, 0x0000, 0x0b16, 0x0000, 0x0000, 0x0b17, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b19, 0x0000, 0x0000, 0x0000, 0x0b1a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b1b, 0x0b1c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0b1e, 0x0000, 0x0000, 0x0b1f, 0x0000, 0x0b21, 0x0000, 0x0b25, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0b29, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b2a,\r
+ 0x0000, 0x0b2b, 0x0000, 0x0000, 0x0b2c, 0x0000, 0x0b2e, 0x0b34, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0b3b, 0x0000, 0x0b3c, 0x0000, 0x0000, 0x0b3d, 0x0b3e, 0x0b44,\r
+ 0x0b49, 0x0b4a, 0x0000, 0x0000, 0x0b4b, 0x0000, 0x0000, 0x0b4c, 0x0000, 0x0000,\r
+ 0x0000, 0x0b5a, 0x0b60, 0x0000, 0x0b61, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0b64, 0x0000, 0x0b76, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0b77, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b7b, 0x0000, 0x0b7c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b7d, 0x0000, 0x0000, 0x0000,\r
+ 0x0b82, 0x0000, 0x0b85, 0x0000, 0x0000, 0x0b86, 0x0b8a, 0x0b8b, 0x0000, 0x0000,\r
+ 0x0000, 0x0b8f, 0x0b91, 0x0000, 0x0000, 0x0b92, 0x0000, 0x0b93, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0b94, 0x0b95, 0x0b96, 0x0b97, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b99, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0b9a, 0x0b9f, 0x0000, 0x0ba6, 0x0ba7, 0x0ba8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0bad, 0x0000, 0x0000, 0x0bae, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0baf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0bb6, 0x0000, 0x0bb8, 0x0bb9, 0x0000, 0x0000, 0x0bba, 0x0000,\r
+ 0x0000, 0x0000, 0x0bbb, 0x0000, 0x0000, 0x0bc4, 0x0000, 0x0000, 0x0bce, 0x0000,\r
+ 0x0000, 0x0bd0, 0x0000, 0x0000, 0x0bd1, 0x0bd3, 0x0000, 0x0000, 0x0000, 0x0bd6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0bda, 0x0bdb, 0x0000, 0x0000, 0x0bdc, 0x0000,\r
+ 0x0bdf, 0x0000, 0x0be9, 0x0000, 0x0000, 0x0bea, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0beb, 0x0000, 0x0bed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0bf1,\r
+ 0x0000, 0x0bf2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0bf7, 0x0000, 0x0000, 0x0c01, 0x0c02, 0x0c06, 0x0c07, 0x0000, 0x0c08, 0x0c0e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c0f, 0x0000,\r
+ 0x0c14, 0x0000, 0x0c17, 0x0000, 0x0c1b, 0x0000, 0x0000, 0x0000, 0x0c1c, 0x0000,\r
+ 0x0c1d, 0x0c1e, 0x0000, 0x0c32, 0x0000, 0x0000, 0x0000, 0x0c34, 0x0000, 0x0c35,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c3c, 0x0c3e, 0x0000, 0x0000,\r
+ 0x0c40, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c4b, 0x0000,\r
+ 0x0000, 0x0c4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c4e, 0x0c4f, 0x0c50,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0c56, 0x0000, 0x0000, 0x0c58, 0x0000, 0x0000,\r
+ 0x0c59, 0x0000, 0x0000, 0x0c5a, 0x0000, 0x0c5b, 0x0c5e, 0x0c60, 0x0000, 0x0000,\r
+ 0x0c61, 0x0c62, 0x0000, 0x0000, 0x0c63, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0c6e, 0x0000, 0x0c70, 0x0000, 0x0000, 0x0c74, 0x0000, 0x0000,\r
+ 0x0c7a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0c84, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0c89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0c90, 0x0c91, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0c93, 0x0000, 0x0000, 0x0c94, 0x0c96, 0x0000, 0x0c97,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0c98, 0x0000, 0x0c99, 0x0c9a, 0x0000, 0x0c9c,\r
+ 0x0ca1, 0x0000, 0x0ca7, 0x0ca9, 0x0caa, 0x0000, 0x0000, 0x0cb3, 0x0cb4, 0x0cb5,\r
+ 0x0cb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cbc,\r
+ 0x0000, 0x0000, 0x0cbd, 0x0000, 0x0000, 0x0000, 0x0cc3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cc7, 0x0000, 0x0000, 0x0000, 0x0cce,\r
+ 0x0000, 0x0cd2, 0x0000, 0x0000, 0x0000, 0x0cd4, 0x0000, 0x0000, 0x0000, 0x0cd5,\r
+ 0x0cd6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cd7, 0x0cdc,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0cde, 0x0ce0, 0x0000, 0x0000, 0x0ce3, 0x0ce4,\r
+ 0x0ce5, 0x0000, 0x0ce6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ce8, 0x0cea,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cec, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cef, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf0, 0x0cf2, 0x0cf3, 0x0000, 0x0cf6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0cf9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0cfa, 0x0000, 0x0000, 0x0cfc, 0x0cfd, 0x0000,\r
+ 0x0000, 0x0cfe, 0x0000, 0x0000, 0x0d00, 0x0d01, 0x0d03, 0x0000, 0x0000, 0x0d07,\r
+ 0x0000, 0x0000, 0x0d09, 0x0000, 0x0d0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d0f,\r
+ 0x0d13, 0x0000, 0x0000, 0x0000, 0x0d14, 0x0000, 0x0000, 0x0d17, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0d1a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d1b, 0x0000, 0x0000, 0x0d25, 0x0d26,\r
+ 0x0d27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d28, 0x0d29, 0x0000,\r
+ 0x0d2a, 0x0000, 0x0000, 0x0d2d, 0x0000, 0x0000, 0x0d30, 0x0000, 0x0000, 0x0d31,\r
+ 0x0000, 0x0d33, 0x0d3b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d3e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d4a, 0x0000, 0x0d4b, 0x0d6c,\r
+ 0x0d6d, 0x0d6f, 0x0000, 0x0000, 0x0d71, 0x0000, 0x0000, 0x0000, 0x0d72, 0x0000,\r
+ 0x0000, 0x0d79, 0x0000, 0x0000, 0x0000, 0x0d7a, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0d7b, 0x0000, 0x0000, 0x0d7c, 0x0000, 0x0d7d, 0x0d80,\r
+ 0x0000, 0x0d81, 0x0000, 0x0000, 0x0d82, 0x0000, 0x0d83, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d84, 0x0000, 0x0000, 0x0d8d,\r
+ 0x0d8e, 0x0000, 0x0000, 0x0d93, 0x0000, 0x0000, 0x0000, 0x0d98, 0x0d9f, 0x0da1,\r
+ 0x0000, 0x0da2, 0x0000, 0x0000, 0x0da3, 0x0dab, 0x0000, 0x0dac, 0x0000, 0x0000,\r
+ 0x0dad, 0x0000, 0x0000, 0x0000, 0x0dae, 0x0000, 0x0dba, 0x0000, 0x0000, 0x0000,\r
+ 0x0dbc, 0x0dbd, 0x0000, 0x0000, 0x0000, 0x0dbe, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0dc0, 0x0dc1, 0x0dc2, 0x0000, 0x0000, 0x0dc6, 0x0dca, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0dd0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0dd3, 0x0dd5, 0x0000, 0x0000, 0x0dd6, 0x0dd8,\r
+ 0x0000, 0x0ddb, 0x0ddc, 0x0000, 0x0000, 0x0dde, 0x0000, 0x0de1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0de2, 0x0000, 0x0de3, 0x0000, 0x0de6,\r
+ 0x0000, 0x0de7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0deb, 0x0000, 0x0dfd, 0x0000, 0x0000, 0x0000, 0x0e0f, 0x0000, 0x0000, 0x0000,\r
+ 0x0e10, 0x0000, 0x0e11, 0x0000, 0x0e12, 0x0e13, 0x0000, 0x0000, 0x0e16, 0x0e18,\r
+ 0x0000, 0x0e1a, 0x0e1b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0e1c, 0x0e20, 0x0e23, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e28, 0x0e2c,\r
+ 0x0000, 0x0e2d, 0x0e32, 0x0e33, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0e34, 0x0000, 0x0e35, 0x0000, 0x0000, 0x0e36, 0x0e43, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0e44, 0x0e45, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e48,\r
+ 0x0e49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e4a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0e4b, 0x0000, 0x0e4d, 0x0e4f, 0x0e50, 0x0000, 0x0e51, 0x0000, 0x0e6c,\r
+ 0x0000, 0x0000, 0x0000, 0x0e6e, 0x0e70, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e72, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0e74, 0x0000, 0x0000, 0x0e75, 0x0000, 0x0000, 0x0000,\r
+ 0x0e7c, 0x0e7d, 0x0000, 0x0000, 0x0000, 0x0e7f, 0x0e80, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0e8b, 0x0000, 0x0e8c, 0x0e8d, 0x0000, 0x0000, 0x0e8e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0e90, 0x0e91, 0x0000, 0x0e96, 0x0e97,\r
+ 0x0e99, 0x0000, 0x0000, 0x0000, 0x0e9f, 0x0000, 0x0ea1, 0x0000, 0x0000, 0x0ea2,\r
+ 0x0000, 0x0000, 0x0ea3, 0x0ea4, 0x0000, 0x0ead, 0x0000, 0x0eaf, 0x0eb6, 0x0eb7,\r
+ 0x0000, 0x0eb8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0eb9, 0x0000, 0x0000, 0x0ebb,\r
+ 0x0000, 0x0ebe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ebf, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ec0, 0x0000, 0x0ec1, 0x0eca, 0x0000,\r
+ 0x0ecc, 0x0ecd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0ecf, 0x0000, 0x0ee3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ee6,\r
+ 0x0ee7, 0x0ee8, 0x0eec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0eed, 0x0000, 0x0000, 0x0ef1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0efb, 0x0000,\r
+ 0x0000, 0x0f08, 0x0f09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0a, 0x0f0b, 0x0f0d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0f13, 0x0000, 0x0f14, 0x0f16, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0f17, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0f21, 0x0000, 0x0f22, 0x0000, 0x0f23, 0x0f2e, 0x0000, 0x0f2f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0f34, 0x0f49, 0x0000, 0x0f4a, 0x0000, 0x0000,\r
+ 0x0000, 0x0f55, 0x0f5b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f5e, 0x0f65, 0x0f66,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0f67, 0x0000, 0x0000, 0x0000, 0x0f68, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0f69, 0x0000, 0x0f6b, 0x0000, 0x0000, 0x0000,\r
+ 0x0f74, 0x0f75, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0f76, 0x0000, 0x0f77, 0x0f7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f7e,\r
+ 0x0000, 0x0000, 0x0000, 0x0f7f, 0x0000, 0x0000, 0x0000, 0x0f80, 0x0f86, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0f87, 0x0f89, 0x0f8a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0f8c, 0x0000, 0x0f91, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0f92, 0x0fab, 0x0000, 0x0000, 0x0fb1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fb2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0fb3, 0x0000, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0fbb,\r
+ 0x0fbc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fbf,\r
+ 0x0fc2, 0x0000, 0x0000, 0x0fc3, 0x0fc5, 0x0fc7, 0x0fc8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0fdb, 0x0000, 0x0fdc, 0x0fdd, 0x0000, 0x0fde, 0x0fdf, 0x0fe2,\r
+ 0x0000, 0x0000, 0x0fe8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ff8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0ffb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ffe, 0x0fff, 0x0000,\r
+ 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1002, 0x1003, 0x0000,\r
+ 0x0000, 0x0000, 0x1005, 0x0000, 0x1008, 0x0000, 0x0000, 0x0000, 0x1009, 0x100c,\r
+ 0x0000, 0x1011, 0x0000, 0x0000, 0x1013, 0x1014, 0x0000, 0x101e, 0x0000, 0x0000,\r
+ 0x101f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1020, 0x1024,\r
+ 0x1025, 0x0000, 0x1026, 0x0000, 0x0000, 0x0000, 0x1029, 0x0000, 0x0000, 0x102d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1030, 0x1032, 0x1033, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1034, 0x0000, 0x0000, 0x10d7, 0x0000, 0x0000, 0x0000, 0x10da, 0x10e9,\r
+ 0x0000, 0x10eb, 0x10ec, 0x0000, 0x10ed, 0x0000, 0x10ee, 0x0000, 0x0000, 0x0000,\r
+ 0x10ef, 0x0000, 0x10f0, 0x0000, 0x0000, 0x0000, 0x10f1, 0x0000, 0x0000, 0x0000,\r
+ 0x10f6, 0x10f9, 0x10fa, 0x10fe, 0x0000, 0x10ff, 0x1100, 0x0000, 0x1102, 0x1103,\r
+ 0x0000, 0x0000, 0x110c, 0x0000, 0x0000, 0x0000, 0x0000, 0x1111, 0x0000, 0x0000,\r
+ 0x0000, 0x1115, 0x0000, 0x1116, 0x0000, 0x0000, 0x0000, 0x0000, 0x1119, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x111a, 0x0000, 0x0000, 0x0000, 0x111c, 0x0000, 0x0000,\r
+ 0x0000, 0x111d, 0x111e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1120, 0x0000, 0x0000, 0x0000, 0x0000, 0x1121, 0x0000, 0x0000, 0x0000, 0x1122,\r
+ 0x0000, 0x0000, 0x0000, 0x1127, 0x112e, 0x0000, 0x0000, 0x0000, 0x0000, 0x1137,\r
+ 0x1139, 0x0000, 0x0000, 0x0000, 0x0000, 0x113a, 0x0000, 0x0000, 0x113b, 0x0000,\r
+ 0x113e, 0x113f, 0x1142, 0x0000, 0x114b, 0x114c, 0x114e, 0x0000, 0x114f, 0x0000,\r
+ 0x1160, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1161, 0x0000, 0x0000, 0x0000,\r
+ 0x1163, 0x1164, 0x0000, 0x1165, 0x1166, 0x0000, 0x1168, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x116b, 0x0000, 0x116f, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1172, 0x0000, 0x1173, 0x0000, 0x1175, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1176, 0x1177, 0x0000, 0x1179, 0x0000, 0x0000, 0x117b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x117d, 0x117e, 0x0000, 0x0000, 0x0000, 0x117f, 0x1181, 0x0000, 0x1182,\r
+ 0x0000, 0x1184, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1186,\r
+ 0x0000, 0x0000, 0x1188, 0x0000, 0x0000, 0x1191, 0x0000, 0x119c, 0x0000, 0x0000,\r
+ 0x119e, 0x119f, 0x0000, 0x11a8, 0x11ab, 0x0000, 0x11ac, 0x0000, 0x11ad, 0x0000,\r
+ 0x11af, 0x0000, 0x0000, 0x11b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x11b2, 0x0000,\r
+ 0x11b3, 0x0000, 0x0000, 0x11b4, 0x0000, 0x0000, 0x0000, 0x11b5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x11b7, 0x0000, 0x0000, 0x0000, 0x11b8, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x11bd, 0x11bf, 0x11c0, 0x11c1, 0x11c3, 0x0000, 0x11c4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x11c6, 0x11c7, 0x0000, 0x11c9, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x11d2, 0x0000, 0x0000, 0x11db, 0x0000, 0x0000, 0x0000, 0x11de,\r
+ 0x0000, 0x0000, 0x0000, 0x11df, 0x0000, 0x11e0, 0x0000, 0x11e1, 0x0000, 0x0000,\r
+ 0x0000, 0x11e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x11e6, 0x0000, 0x0000,\r
+ 0x11ea, 0x0000, 0x0000, 0x0000, 0x11ec, 0x0000, 0x0000, 0x11f5, 0x0000, 0x11f6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1208, 0x1209, 0x0000, 0x120a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x120b, 0x0000, 0x120c, 0x0000, 0x0000, 0x120d, 0x0000, 0x1210,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1211, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1231, 0x0000, 0x1233, 0x0000, 0x123b, 0x0000, 0x0000, 0x0000, 0x123c, 0x123e,\r
+ 0x0000, 0x1240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1241, 0x1244, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x124f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1259, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x125b, 0x0000, 0x125d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x125e, 0x0000, 0x0000, 0x1262, 0x0000, 0x0000, 0x1269, 0x0000, 0x0000, 0x0000,\r
+ 0x126a, 0x126b, 0x126c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x126d, 0x0000, 0x0000, 0x1270, 0x0000,\r
+ 0x1271, 0x1279, 0x127f, 0x0000, 0x0000, 0x0000, 0x1281, 0x0000, 0x0000, 0x0000,\r
+ 0x1283, 0x0000, 0x0000, 0x0000, 0x1284, 0x0000, 0x0000, 0x0000, 0x1285, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1286, 0x0000, 0x1289, 0x128a, 0x128b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x128c, 0x0000, 0x0000,\r
+ 0x0000, 0x128d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x128f, 0x12b2, 0x0000, 0x12b3, 0x0000, 0x12b4, 0x12bc,\r
+ 0x0000, 0x0000, 0x12bd, 0x12be, 0x0000, 0x12bf, 0x12c6, 0x12c7, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x12c9, 0x12ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x12cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12cc, 0x0000, 0x12cd, 0x0000,\r
+ 0x0000, 0x12cf, 0x0000, 0x12d5, 0x12d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x12d7,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x12d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x12da, 0x0000, 0x0000, 0x0000, 0x12dc,\r
+ 0x0000, 0x12dd, 0x0000, 0x0000, 0x0000, 0x12eb, 0x0000, 0x0000, 0x12ef, 0x0000,\r
+ 0x12f5, 0x12f7, 0x12fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x12fb, 0x0000,\r
+ 0x1300, 0x0000, 0x0000, 0x130f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1310, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1311, 0x0000, 0x1312, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1313, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1314, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1316, 0x1317, 0x1318, 0x131e,\r
+ 0x1320, 0x0000, 0x1326, 0x0000, 0x0000, 0x1329, 0x0000, 0x0000, 0x1333, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1334, 0x1335, 0x1337, 0x1339,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x133e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x133f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1341,\r
+ 0x0000, 0x1342, 0x1343, 0x0000, 0x134a, 0x0000, 0x1358, 0x0000, 0x1359, 0x135d,\r
+ 0x1360, 0x1364, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x139b,\r
+ 0x139c, 0x139e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x139f, 0x0000, 0x0000,\r
+ 0x0000, 0x13a0, 0x0000, 0x0000, 0x0000, 0x13a1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x13a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x13a5, 0x13a6, 0x13a7, 0x0000, 0x13a9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13aa,\r
+ 0x13ab, 0x0000, 0x13ac, 0x0000, 0x0000, 0x13ad, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x13ae, 0x0000, 0x0000, 0x13af, 0x0000, 0x0000, 0x0000, 0x13b1, 0x13b2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x13b4, 0x13b9, 0x13be, 0x0000, 0x13bf, 0x0000, 0x13c1,\r
+ 0x0000, 0x0000, 0x0000, 0x13c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13c7,\r
+ 0x0000, 0x13c8, 0x13c9, 0x0000, 0x13cb, 0x0000, 0x0000, 0x0000, 0x13cc, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13d4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13d5, 0x0000, 0x0000,\r
+ 0x13d6, 0x13d8, 0x0000, 0x0000, 0x13db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x13dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x13ea, 0x13eb, 0x13ed, 0x13f1, 0x13f3, 0x0000, 0x13f4, 0x0000, 0x13f5, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x13f6, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x13fd, 0x13fe, 0x0000, 0x1401, 0x0000, 0x1402, 0x0000, 0x0000,\r
+ 0x140a, 0x0000, 0x0000, 0x0000, 0x1411, 0x0000, 0x0000, 0x0000, 0x141c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x141f, 0x1422, 0x0000, 0x0000,\r
+ 0x0000, 0x1423, 0x0000, 0x0000, 0x1424, 0x1427, 0x1429, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x142a, 0x0000, 0x0000, 0x0000, 0x0000, 0x142b, 0x142c, 0x0000, 0x142e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x142f, 0x0000, 0x0000, 0x0000, 0x1434, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x143a, 0x143b, 0x0000, 0x0000, 0x1446, 0x0000, 0x0000, 0x1447, 0x1448,\r
+ 0x144a, 0x0000, 0x0000, 0x144e, 0x1451, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1453, 0x0000, 0x1456, 0x1459, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x145d, 0x0000, 0x145e, 0x1460, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1461,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1462, 0x1463,\r
+ 0x0000, 0x146f, 0x0000, 0x0000, 0x147c, 0x1481, 0x0000, 0x1486, 0x0000, 0x1487,\r
+ 0x0000, 0x0000, 0x1489, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x148a, 0x0000,\r
+ 0x148c, 0x1496, 0x0000, 0x149d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x14a0, 0x14a1, 0x14a2, 0x14a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14a4,\r
+ 0x0000, 0x14a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14a7, 0x14a8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14a9,\r
+ 0x14ab, 0x0000, 0x0000, 0x14ae, 0x0000, 0x0000, 0x14af, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x14b8, 0x0000, 0x0000, 0x14ba, 0x14bb, 0x14bc,\r
+ 0x0000, 0x14bd, 0x0000, 0x0000, 0x14be, 0x0000, 0x0000, 0x0000, 0x0000, 0x14bf,\r
+ 0x14c0, 0x0000, 0x14c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14c4, 0x0000,\r
+ 0x0000, 0x0000, 0x14c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x14cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14ce,\r
+ 0x0000, 0x14cf, 0x14d1, 0x0000, 0x14d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x14da,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14dc, 0x0000,\r
+ 0x0000, 0x14dd, 0x0000, 0x0000, 0x0000, 0x14de, 0x0000, 0x14df, 0x14e0, 0x0000,\r
+ 0x0000, 0x14e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14e3, 0x14e4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x14e5,\r
+ 0x0000, 0x14e6, 0x0000, 0x14ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x14ee, 0x0000,\r
+ 0x0000, 0x14ef, 0x0000, 0x0000, 0x14f1, 0x0000, 0x0000, 0x14f5, 0x0000, 0x14f7,\r
+ 0x0000, 0x14fd, 0x0000, 0x0000, 0x0000, 0x1503, 0x0000, 0x0000, 0x0000, 0x1504,\r
+ 0x0000, 0x0000, 0x0000, 0x1506, 0x0000, 0x1508, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1509, 0x0000, 0x0000, 0x0000, 0x0000, 0x150b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x150c, 0x150e, 0x1511, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1514, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1515, 0x151a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x151b, 0x0000, 0x0000, 0x0000, 0x151c, 0x151d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x151e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1522, 0x0000, 0x0000, 0x1523, 0x0000, 0x1527, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1528, 0x153a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x153e, 0x0000, 0x1540, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1541, 0x1542, 0x0000, 0x0000, 0x0000,\r
+ 0x1543, 0x1544, 0x1547, 0x0000, 0x0000, 0x1548, 0x1549, 0x154b, 0x0000, 0x0000,\r
+ 0x0000, 0x1550, 0x1551, 0x0000, 0x0000, 0x0000, 0x1553, 0x0000, 0x0000, 0x0000,\r
+ 0x1555, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1558, 0x0000, 0x155a, 0x0000, 0x0000,\r
+ 0x155b, 0x0000, 0x155e, 0x0000, 0x0000, 0x1561, 0x0000, 0x0000, 0x1562, 0x0000,\r
+ 0x0000, 0x1564, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1565, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x156c, 0x0000, 0x0000, 0x156d, 0x156e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1570, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1571,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1583, 0x0000, 0x0000, 0x0000, 0x1586,\r
+ 0x0000, 0x1587, 0x0000, 0x0000, 0x1588, 0x0000, 0x0000, 0x0000, 0x1589, 0x0000,\r
+ 0x158b, 0x0000, 0x0000, 0x158c, 0x158d, 0x0000, 0x158e, 0x0000, 0x0000, 0x1592,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x159e, 0x159f, 0x0000, 0x0000, 0x15a0,\r
+ 0x0000, 0x15a2, 0x0000, 0x0000, 0x15a7, 0x0000, 0x15a8, 0x0000, 0x0000, 0x15a9,\r
+ 0x0000, 0x15ab, 0x0000, 0x15b5, 0x0000, 0x0000, 0x15b6, 0x0000, 0x15b8, 0x15bf,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x15c0, 0x0000, 0x0000, 0x0000, 0x15c3, 0x15c5,\r
+ 0x0000, 0x15c6, 0x0000, 0x15c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x15c9, 0x0000,\r
+ 0x0000, 0x15de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x15e0, 0x15e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x15ea, 0x0000, 0x0000,\r
+ 0x15ec, 0x0000, 0x15f8, 0x0000, 0x15f9, 0x0000, 0x0000, 0x0000, 0x15fd, 0x0000,\r
+ 0x1609, 0x0000, 0x160a, 0x160b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1613, 0x0000, 0x0000, 0x0000, 0x1614, 0x1615, 0x0000, 0x161d, 0x161e, 0x162e,\r
+ 0x0000, 0x162f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1635, 0x1636, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x163a, 0x163c, 0x0000, 0x1647, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x164a, 0x0000, 0x0000, 0x0000, 0x0000, 0x164b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x164c, 0x0000, 0x0000, 0x164d, 0x0000, 0x164e,\r
+ 0x0000, 0x0000, 0x0000, 0x1650, 0x0000, 0x1665, 0x0000, 0x1666, 0x1667, 0x0000,\r
+ 0x0000, 0x1670, 0x1677, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1678, 0x0000, 0x167a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x167d, 0x167e, 0x0000, 0x1680, 0x1681, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1683, 0x1684, 0x1685, 0x0000, 0x1686, 0x0000, 0x1687,\r
+ 0x1688, 0x0000, 0x168a, 0x0000, 0x0000, 0x0000, 0x0000, 0x1690, 0x1694, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1696, 0x0000, 0x0000, 0x0000, 0x0000, 0x1698, 0x0000,\r
+ 0x0000, 0x169c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x16a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16a7,\r
+ 0x0000, 0x0000, 0x16a9, 0x0000, 0x0000, 0x0000, 0x16b3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x16b8, 0x0000, 0x0000, 0x16c3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x16c6, 0x16c7, 0x0000, 0x0000, 0x16c8,\r
+ 0x0000, 0x0000, 0x16c9, 0x0000, 0x16cb, 0x16d4, 0x16d5, 0x0000, 0x16d6, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x16da, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x16dc, 0x0000, 0x16df, 0x16e1, 0x0000, 0x0000, 0x16e3, 0x0000, 0x16e5, 0x0000,\r
+ 0x0000, 0x16e7, 0x0000, 0x16e9, 0x0000, 0x0000, 0x0000, 0x16f1, 0x16f3, 0x0000,\r
+ 0x0000, 0x0000, 0x16f5, 0x0000, 0x16f7, 0x0000, 0x0000, 0x0000, 0x1700, 0x0000,\r
+ 0x0000, 0x1701, 0x1703, 0x0000, 0x1706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1707, 0x0000, 0x1709, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1713, 0x0000, 0x1717, 0x0000, 0x0000, 0x1718, 0x0000, 0x1719, 0x1722, 0x1724,\r
+ 0x0000, 0x1727, 0x1728, 0x0000, 0x0000, 0x0000, 0x0000, 0x1729, 0x172a, 0x0000,\r
+ 0x172d, 0x0000, 0x0000, 0x0000, 0x0000, 0x173d, 0x0000, 0x0000, 0x173f, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1741, 0x0000, 0x0000,\r
+ 0x1742, 0x0000, 0x1747, 0x1748, 0x1749, 0x0000, 0x174c, 0x0000, 0x0000, 0x0000,\r
+ 0x1758, 0x175a, 0x1763, 0x1766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1767,\r
+ 0x0000, 0x1768, 0x0000, 0x0000, 0x0000, 0x176a, 0x176b, 0x0000, 0x0000, 0x176c,\r
+ 0x0000, 0x0000, 0x1771, 0x1773, 0x0000, 0x0000, 0x0000, 0x0000, 0x1777, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1778, 0x0000, 0x0000, 0x1779, 0x0000, 0x177a,\r
+ 0x0000, 0x0000, 0x0000, 0x177b, 0x177f, 0x0000, 0x1781, 0x0000, 0x1783, 0x0000,\r
+ 0x1787, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1789, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x178a,\r
+ 0x0000, 0x178e, 0x0000, 0x0000, 0x1790, 0x0000, 0x0000, 0x0000, 0x1791, 0x1796,\r
+ 0x1798, 0x0000, 0x0000, 0x0000, 0x1799, 0x179d, 0x0000, 0x0000, 0x179e, 0x0000,\r
+ 0x0000, 0x17a5, 0x0000, 0x0000, 0x17a6, 0x0000, 0x17a7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x17a9, 0x0000, 0x17af, 0x0000, 0x0000, 0x0000, 0x17b0,\r
+ 0x0000, 0x17b2, 0x17b7, 0x17b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x17bb, 0x17bc, 0x0000, 0x0000, 0x17bd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x17be, 0x17bf, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x17c0, 0x0000, 0x17c3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x17c4, 0x0000, 0x0000, 0x17c8, 0x0000, 0x17c9, 0x0000, 0x0000,\r
+ 0x17cd, 0x17d9, 0x0000, 0x0000, 0x17db, 0x0000, 0x17de, 0x0000, 0x0000, 0x0000,\r
+ 0x17df, 0x17ed, 0x17ee, 0x0000, 0x0000, 0x0000, 0x17f1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x17f2, 0x0000, 0x0000, 0x0000, 0x17f3, 0x17f6, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x17fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1800,\r
+ 0x0000, 0x0000, 0x1802, 0x1807, 0x1809, 0x0000, 0x180c, 0x0000, 0x1813, 0x0000,\r
+ 0x1824, 0x1825, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1826, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1828, 0x1833, 0x0000, 0x0000, 0x183e, 0x0000, 0x1840, 0x0000,\r
+ 0x0000, 0x1844, 0x1845, 0x1846, 0x0000, 0x1847, 0x0000, 0x0000, 0x0000, 0x1854,\r
+ 0x0000, 0x0000, 0x0000, 0x185a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x185b, 0x1860, 0x0000, 0x1862, 0x1863, 0x1864, 0x0000, 0x186a, 0x186f, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1871, 0x0000, 0x0000, 0x0000, 0x1872, 0x1886,\r
+ 0x0000, 0x188c, 0x0000, 0x0000, 0x0000, 0x188d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x188e, 0x0000, 0x0000, 0x0000, 0x18b0, 0x0000,\r
+ 0x0000, 0x18b2, 0x18bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x18be, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18bf,\r
+ 0x0000, 0x0000, 0x18c1, 0x0000, 0x18c2, 0x0000, 0x18c3, 0x18c4, 0x0000, 0x0000,\r
+ 0x18d4, 0x18d5, 0x18e1, 0x0000, 0x0000, 0x0000, 0x18e2, 0x18e3, 0x18e4, 0x0000,\r
+ 0x18e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x18ee, 0x18ef, 0x18f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x18f2,\r
+ 0x0000, 0x18f5, 0x18fd, 0x1900, 0x190b, 0x0000, 0x190e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x190f, 0x1910, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1911, 0x0000, 0x0000, 0x0000, 0x0000, 0x1912, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1914, 0x0000, 0x1915, 0x1917, 0x1919,\r
+ 0x0000, 0x191d, 0x191e, 0x0000, 0x1921, 0x1926, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1927, 0x1928, 0x0000, 0x0000,\r
+ 0x1929, 0x0000, 0x0000, 0x192c, 0x0000, 0x0000, 0x0000, 0x0000, 0x192e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x192f, 0x1930, 0x0000, 0x0000, 0x1932, 0x0000, 0x0000,\r
+ 0x0000, 0x1936, 0x0000, 0x0000, 0x1937, 0x0000, 0x193d, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x193e, 0x0000, 0x0000, 0x193f, 0x0000, 0x1940, 0x0000,\r
+ 0x1941, 0x1943, 0x0000, 0x0000, 0x0000, 0x1944, 0x0000, 0x194f, 0x1950, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1951, 0x0000, 0x0000, 0x1955,\r
+ 0x1957, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x195d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x195e, 0x195f, 0x1960, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1962, 0x0000, 0x0000, 0x0000, 0x196b, 0x196c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x196f, 0x1970, 0x0000, 0x0000, 0x0000, 0x0000, 0x1971, 0x0000, 0x0000, 0x0000,\r
+ 0x1972, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1974, 0x0000, 0x0000, 0x1975,\r
+ 0x1976, 0x0000, 0x0000, 0x0000, 0x1977, 0x1978, 0x1979, 0x0000, 0x197b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x197c, 0x1980, 0x0000, 0x1982, 0x0000, 0x0000, 0x1984,\r
+ 0x0000, 0x19b2, 0x0000, 0x0000, 0x0000, 0x19b7, 0x0000, 0x19b8, 0x0000, 0x0000,\r
+ 0x0000, 0x19bb, 0x0000, 0x0000, 0x0000, 0x19be, 0x0000, 0x19bf, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x19c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x19c1, 0x19c2,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19c7, 0x19c8, 0x0000, 0x0000, 0x19c9,\r
+ 0x19ca, 0x19cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19d0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x19d2, 0x19d3, 0x0000, 0x19d7, 0x0000,\r
+ 0x19d8, 0x19da, 0x19dc, 0x0000, 0x19ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x19ef,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x19f1, 0x0000, 0x19f2, 0x0000, 0x0000, 0x0000,\r
+ 0x19f7, 0x0000, 0x1a04, 0x1a07, 0x0000, 0x1a08, 0x0000, 0x1a0a, 0x1a0d, 0x0000,\r
+ 0x1a13, 0x1a14, 0x1a15, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1a16, 0x0000, 0x0000, 0x0000, 0x1a17, 0x0000, 0x1a18, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a25, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a30, 0x1a31, 0x1a32, 0x0000,\r
+ 0x0000, 0x1a37, 0x1a39, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a3c, 0x0000,\r
+ 0x0000, 0x0000, 0x1a3d, 0x0000, 0x1a3f, 0x1a44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1a45, 0x1a46, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1a48, 0x1a49, 0x1a4f, 0x0000, 0x1a51, 0x1a56, 0x0000, 0x0000, 0x1a57,\r
+ 0x1a5e, 0x0000, 0x1a5f, 0x0000, 0x0000, 0x1a60, 0x1a61, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1a62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a64,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a6b, 0x0000, 0x0000, 0x1a6c,\r
+ 0x1a6d, 0x0000, 0x0000, 0x0000, 0x1a72, 0x0000, 0x0000, 0x0000, 0x1a78, 0x1a7c,\r
+ 0x0000, 0x1a7d, 0x0000, 0x0000, 0x0000, 0x1a7f, 0x0000, 0x1a80, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a81, 0x0000, 0x0000,\r
+ 0x0000, 0x1a88, 0x0000, 0x0000, 0x0000, 0x1a89, 0x0000, 0x0000, 0x1a92, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1a93, 0x0000, 0x0000, 0x0000, 0x1a94, 0x0000,\r
+ 0x0000, 0x0000, 0x1a9c, 0x0000, 0x0000, 0x1aa7, 0x0000, 0x1aa8, 0x1ab7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1ac4, 0x0000, 0x0000, 0x1ac6, 0x0000, 0x1ac8, 0x1ac9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ad3,\r
+ 0x0000, 0x1ad4, 0x1ad6, 0x1ad8, 0x0000, 0x0000, 0x0000, 0x1ad9, 0x1ada, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1adb, 0x0000, 0x0000, 0x1add, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ade, 0x0000, 0x0000, 0x0000, 0x1adf,\r
+ 0x0000, 0x1ae0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1ae7, 0x0000, 0x1ae8, 0x1aeb, 0x1aed, 0x0000, 0x1aef, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1af3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1af5, 0x0000, 0x0000, 0x0000, 0x0000, 0x1afe, 0x0000, 0x1aff,\r
+ 0x0000, 0x0000, 0x1b00, 0x0000, 0x0000, 0x1b01, 0x1b02, 0x0000, 0x0000, 0x0000,\r
+ 0x1b03, 0x0000, 0x0000, 0x0000, 0x1b04, 0x1b07, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1b0c, 0x0000, 0x1b0d, 0x0000, 0x0000, 0x0000, 0x1b0e, 0x1b0f,\r
+ 0x1b10, 0x0000, 0x1b11, 0x0000, 0x1b12, 0x0000, 0x0000, 0x1b13, 0x1b17, 0x0000,\r
+ 0x1b18, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b1b, 0x1b1c, 0x1b1d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1b1e, 0x1b24, 0x1b25, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1b28, 0x1b2a, 0x1b33, 0x1b35, 0x1b36, 0x0000, 0x0000,\r
+ 0x1b37, 0x1b38, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1b39, 0x0000, 0x0000, 0x1b3a, 0x1b43, 0x0000, 0x0000, 0x1b44, 0x0000,\r
+ 0x0000, 0x1b47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b48, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b4c, 0x1b4e, 0x1b50, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b53, 0x0000, 0x0000, 0x0000, 0x1b64,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b6b,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b6d, 0x0000,\r
+ 0x0000, 0x1b6e, 0x1b6f, 0x1b74, 0x0000, 0x1b76, 0x1b79, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1b7e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1b7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1b86, 0x0000, 0x1b87, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1b88, 0x1b8c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1b8e, 0x0000, 0x1b94, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b95, 0x0000,\r
+ 0x1b99, 0x0000, 0x0000, 0x0000, 0x0000, 0x1b9b, 0x1b9d, 0x0000, 0x1b9e, 0x1b9f,\r
+ 0x1ba0, 0x0000, 0x0000, 0x1ba6, 0x0000, 0x1ba8, 0x1ba9, 0x0000, 0x1bab, 0x0000,\r
+ 0x0000, 0x0000, 0x1bac, 0x1baf, 0x1bb0, 0x0000, 0x0000, 0x1bb2, 0x0000, 0x1bb5,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bc3, 0x0000, 0x0000, 0x1bc4, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bc6, 0x0000, 0x1bca,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bcb, 0x0000, 0x1bcc,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bcd, 0x0000, 0x0000, 0x1bce, 0x0000,\r
+ 0x0000, 0x1bd4, 0x0000, 0x1bd5, 0x0000, 0x0000, 0x1bd6, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1bd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bd9, 0x0000, 0x1bda,\r
+ 0x0000, 0x1bdc, 0x1bdd, 0x0000, 0x0000, 0x1bde, 0x0000, 0x0000, 0x1be3, 0x0000,\r
+ 0x1bec, 0x1bee, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bf0, 0x0000, 0x0000, 0x0000,\r
+ 0x1bf1, 0x1bf4, 0x1bf5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bf6, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1bfb,\r
+ 0x1bfd, 0x1c01, 0x0000, 0x1c03, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1c04, 0x0000, 0x1c05, 0x1c0d, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1c0e, 0x1c11, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c13, 0x0000,\r
+ 0x1c21, 0x1c24, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c26, 0x1c27, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1c2b, 0x1c30, 0x0000, 0x1c32, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1c3a, 0x1c3c, 0x1c3e, 0x1c40, 0x1c41, 0x1c43, 0x1c45, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1c46, 0x1c49, 0x0000, 0x1c4a, 0x0000, 0x0000, 0x1c4f, 0x0000,\r
+ 0x0000, 0x0000, 0x1c62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1c79, 0x0000, 0x0000, 0x1c7a, 0x1c7b, 0x0000, 0x0000, 0x1c7c, 0x0000, 0x1c81,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1c84, 0x0000, 0x1c85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c86, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1c89, 0x0000, 0x0000, 0x0000, 0x0000, 0x1c8b, 0x0000, 0x1c8c, 0x0000, 0x1c8e,\r
+ 0x0000, 0x1ca7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ca9,\r
+ 0x0000, 0x1caf, 0x1cb3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cb4, 0x0000,\r
+ 0x1cb5, 0x1cb6, 0x1cb8, 0x1cba, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cbd, 0x0000,\r
+ 0x1cbe, 0x1cc6, 0x0000, 0x1cc7, 0x1cc8, 0x0000, 0x0000, 0x1ccd, 0x0000, 0x0000,\r
+ 0x0000, 0x1cce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cd0,\r
+ 0x0000, 0x0000, 0x0000, 0x1cd1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cd2,\r
+ 0x0000, 0x1cd3, 0x1cd4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1cd7, 0x0000,\r
+ 0x0000, 0x1cda, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ce6, 0x0000, 0x0000, 0x0000,\r
+ 0x1ce7, 0x1ce8, 0x0000, 0x1ce9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1cea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ced, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1cee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1cfd, 0x1d03, 0x1d05, 0x0000, 0x0000, 0x0000, 0x1d0b, 0x0000,\r
+ 0x0000, 0x1d0c, 0x0000, 0x0000, 0x0000, 0x1d0d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1d0e, 0x1d13, 0x0000, 0x1d16, 0x0000, 0x1d18, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d20, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1d21, 0x0000, 0x0000, 0x1d25, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1d26, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d27, 0x1d2a,\r
+ 0x1d30, 0x0000, 0x1d34, 0x0000, 0x0000, 0x1d42, 0x0000, 0x1d43, 0x0000, 0x0000,\r
+ 0x1d45, 0x0000, 0x0000, 0x0000, 0x1d4a, 0x1d4b, 0x0000, 0x0000, 0x1d54, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1d58, 0x0000, 0x0000, 0x0000, 0x1d59, 0x1d5a,\r
+ 0x1d5c, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d5e, 0x0000, 0x0000, 0x1d5f, 0x1d61,\r
+ 0x1d62, 0x0000, 0x0000, 0x0000, 0x1d66, 0x0000, 0x0000, 0x1d69, 0x0000, 0x0000,\r
+ 0x1d6b, 0x0000, 0x1d70, 0x0000, 0x1d72, 0x0000, 0x1d73, 0x0000, 0x0000, 0x1d75,\r
+ 0x1d76, 0x1d7a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d7b, 0x0000, 0x1d7c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1d7e, 0x0000, 0x0000, 0x1d80, 0x1d81,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1d82, 0x1d8b, 0x0000, 0x1d95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1d96, 0x1d98, 0x0000, 0x1d9a, 0x1d9d, 0x1d9f, 0x0000, 0x0000, 0x0000, 0x1da0,\r
+ 0x0000, 0x1da3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1da5, 0x0000, 0x0000,\r
+ 0x0000, 0x1daa, 0x0000, 0x0000, 0x1dab, 0x0000, 0x0000, 0x1db0, 0x1db2, 0x1dba,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1dbc, 0x0000, 0x1dbd, 0x1dbe, 0x0000,\r
+ 0x0000, 0x1dbf, 0x0000, 0x0000, 0x1dc0, 0x0000, 0x1dc4, 0x0000, 0x1dc5, 0x1dc6,\r
+ 0x0000, 0x1dc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x1dca, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1dcb, 0x1dcd, 0x1dcf, 0x0000, 0x0000, 0x1dd1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1dd7, 0x0000, 0x1dd8, 0x1dda, 0x0000, 0x0000, 0x1ddb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1ddc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1ddd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ded, 0x1dee, 0x1def,\r
+ 0x1df1, 0x0000, 0x1df2, 0x0000, 0x1df3, 0x0000, 0x1e04, 0x1e08, 0x1e0a, 0x0000,\r
+ 0x1e0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e0c, 0x0000, 0x0000,\r
+ 0x1e14, 0x0000, 0x1e1b, 0x0000, 0x1e1c, 0x0000, 0x1e1d, 0x0000, 0x1e29, 0x0000,\r
+ 0x0000, 0x0000, 0x1e2a, 0x0000, 0x1e2c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1e31, 0x1e33, 0x0000, 0x1e34, 0x0000, 0x1e35, 0x1e37, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e3b, 0x0000, 0x0000, 0x1e3d, 0x1e41,\r
+ 0x0000, 0x1e44, 0x0000, 0x0000, 0x0000, 0x1e47, 0x0000, 0x0000, 0x0000, 0x1e48,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e49, 0x0000, 0x0000,\r
+ 0x1e4c, 0x0000, 0x1e4d, 0x0000, 0x1e4f, 0x0000, 0x1e50, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1e51, 0x1e58, 0x0000, 0x0000, 0x1e59, 0x0000, 0x0000, 0x1e5a, 0x0000,\r
+ 0x0000, 0x1e5b, 0x0000, 0x0000, 0x1e5c, 0x0000, 0x0000, 0x1e5d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1e62, 0x1e67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1e68, 0x1e69, 0x0000, 0x1e6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e70, 0x0000,\r
+ 0x1e76, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1e77, 0x0000, 0x1e82, 0x0000,\r
+ 0x0000, 0x1e85, 0x0000, 0x1e86, 0x0000, 0x1e88, 0x0000, 0x1e8a, 0x1e90, 0x1e91,\r
+ 0x1e92, 0x0000, 0x1e94, 0x1e96, 0x0000, 0x0000, 0x0000, 0x1ea0, 0x0000, 0x1ea2,\r
+ 0x0000, 0x1ea3, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ea4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1ea6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1eb0, 0x1eb1, 0x1eb2, 0x1eb6, 0x0000, 0x1eb9, 0x0000, 0x0000, 0x1eba, 0x0000,\r
+ 0x0000, 0x1ee9, 0x0000, 0x0000, 0x0000, 0x0000, 0x1eea, 0x0000, 0x0000, 0x1eeb,\r
+ 0x1eed, 0x1eee, 0x1eef, 0x0000, 0x1ef0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1ef1, 0x1ef2, 0x0000, 0x1ef4, 0x0000, 0x0000, 0x1ef5, 0x0000, 0x0000, 0x1ef7,\r
+ 0x0000, 0x1efa, 0x1eff, 0x0000, 0x0000, 0x1f01, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1f03, 0x0000, 0x1f04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1f05, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f09, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1f0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f0e,\r
+ 0x0000, 0x1f11, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f20,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x1f21, 0x1f24, 0x1f38, 0x0000, 0x1f39, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1f3a, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f47, 0x1f48, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f4a,\r
+ 0x0000, 0x0000, 0x0000, 0x1f4c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x1f52, 0x0000, 0x1f5c, 0x1f5d, 0x0000, 0x0000, 0x1f5e, 0x0000,\r
+ 0x0000, 0x1f60, 0x1f61, 0x0000, 0x0000, 0x1f62, 0x1f64, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f65, 0x0000, 0x0000,\r
+ 0x0000, 0x1f6b, 0x1f74, 0x1f7b, 0x1f7c, 0x0000, 0x0000, 0x1f7d, 0x0000, 0x0000,\r
+ 0x0000, 0x1f7e, 0x0000, 0x1f7f, 0x0000, 0x1f80, 0x0000, 0x1f82, 0x1f84, 0x0000,\r
+ 0x0000, 0x0000, 0x1f90, 0x1f91, 0x0000, 0x1f99, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1f9c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1f9d, 0x1fae,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1faf, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1fb0, 0x1fb3, 0x0000, 0x1fb5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1fb8, 0x1fb9, 0x1fba, 0x1fc0, 0x1fc1, 0x1fc2, 0x1fc3,\r
+ 0x0000, 0x0000, 0x1fcb, 0x0000, 0x0000, 0x1fd0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x1fd1, 0x1fd2, 0x1fd9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x1fda, 0x0000, 0x1fdd, 0x1fe0, 0x1fe2, 0x0000, 0x1fe4, 0x1fe5, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x1fe6, 0x1fe7, 0x0000, 0x0000, 0x1ff3, 0x0000, 0x0000,\r
+ 0x0000, 0x1ff9, 0x0000, 0x0000, 0x0000, 0x1ffa, 0x0000, 0x0000, 0x1ffb, 0x0000,\r
+ 0x0000, 0x0000, 0x1ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x200c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2015,\r
+ 0x0000, 0x2016, 0x0000, 0x0000, 0x2017, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x201a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x201b, 0x0000, 0x201d, 0x0000, 0x0000, 0x201e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2021, 0x0000, 0x0000, 0x0000, 0x2029, 0x0000, 0x0000,\r
+ 0x2032, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2037, 0x0000, 0x2038, 0x203c, 0x0000, 0x2040, 0x2041, 0x0000,\r
+ 0x0000, 0x2045, 0x0000, 0x2048, 0x2049, 0x0000, 0x0000, 0x0000, 0x0000, 0x204b,\r
+ 0x0000, 0x0000, 0x0000, 0x204d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x204e, 0x0000, 0x0000, 0x0000, 0x2056, 0x0000, 0x2057,\r
+ 0x205b, 0x0000, 0x0000, 0x205d, 0x205e, 0x2061, 0x2064, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2065, 0x2067, 0x206b, 0x206c, 0x206d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2070, 0x2073, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2081, 0x0000, 0x0000, 0x0000, 0x2082, 0x2083, 0x2085, 0x2086, 0x2087,\r
+ 0x0000, 0x0000, 0x208c, 0x2092, 0x0000, 0x0000, 0x2094, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x209e, 0x0000, 0x0000, 0x209f, 0x0000, 0x20a2, 0x20a3, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x20a8, 0x20b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x20b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x20bc, 0x0000,\r
+ 0x0000, 0x0000, 0x20bf, 0x0000, 0x20c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x20c2,\r
+ 0x20c8, 0x0000, 0x0000, 0x20ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x20cc, 0x20cd, 0x0000, 0x20ce, 0x0000, 0x20cf, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x20d0, 0x0000, 0x20d1, 0x20da, 0x20db, 0x0000, 0x20dc, 0x20dd,\r
+ 0x20e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x20e7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x20e8, 0x0000, 0x0000, 0x20e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x20f9, 0x20fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20fb,\r
+ 0x0000, 0x0000, 0x20fc, 0x0000, 0x20ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x2103,\r
+ 0x0000, 0x210a, 0x0000, 0x210e, 0x0000, 0x0000, 0x2114, 0x0000, 0x2115, 0x0000,\r
+ 0x0000, 0x0000, 0x2116, 0x0000, 0x2119, 0x211f, 0x2120, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2121, 0x2123, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2124, 0x0000, 0x0000, 0x212a, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x212b, 0x212d, 0x212e, 0x0000, 0x2150, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2152, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2156, 0x215a, 0x215c, 0x0000, 0x0000, 0x215d, 0x0000,\r
+ 0x0000, 0x2161, 0x0000, 0x216d, 0x0000, 0x0000, 0x2179, 0x217a, 0x0000, 0x0000,\r
+ 0x217b, 0x217e, 0x217f, 0x2183, 0x0000, 0x2187, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x218f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x219e,\r
+ 0x0000, 0x219f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x21a0, 0x0000, 0x0000, 0x21a1, 0x0000, 0x0000, 0x0000, 0x21a2, 0x0000,\r
+ 0x0000, 0x0000, 0x21a3, 0x0000, 0x0000, 0x21a5, 0x21a9, 0x21ad, 0x0000, 0x0000,\r
+ 0x21ae, 0x0000, 0x21af, 0x0000, 0x21b0, 0x21b1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21bd, 0x21be, 0x21bf, 0x21ca, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x21cc, 0x21ce, 0x21cf, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21d0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x21d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x21d2, 0x0000, 0x0000, 0x21d3, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21d4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x21d5, 0x21d7, 0x21d8, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x21d9, 0x0000, 0x21dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x21df, 0x21e2, 0x0000, 0x21ec, 0x0000, 0x21ee, 0x0000, 0x0000, 0x0000, 0x21f1,\r
+ 0x0000, 0x0000, 0x0000, 0x21f2, 0x0000, 0x2202, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2206, 0x0000, 0x2207,\r
+ 0x2209, 0x220a, 0x2214, 0x2217, 0x2218, 0x221d, 0x2220, 0x0000, 0x2221, 0x2223,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2226, 0x2227, 0x2229, 0x2232, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2234, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2235,\r
+ 0x2238, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x223a, 0x223b, 0x223c, 0x0000,\r
+ 0x223e, 0x2241, 0x2242, 0x2245, 0x0000, 0x2246, 0x0000, 0x224b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x224c, 0x0000, 0x0000, 0x224d, 0x0000, 0x0000, 0x224f, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2250, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2251, 0x0000, 0x0000, 0x0000, 0x0000, 0x2252, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2254, 0x2256, 0x0000, 0x0000, 0x0000, 0x2263, 0x0000, 0x226d, 0x226e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x226f, 0x2270, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2272, 0x0000, 0x0000, 0x0000, 0x0000, 0x2276, 0x227c, 0x227d, 0x0000, 0x227f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2281, 0x0000, 0x0000, 0x0000, 0x2282, 0x0000,\r
+ 0x0000, 0x0000, 0x2283, 0x0000, 0x2284, 0x0000, 0x0000, 0x0000, 0x2285, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2286, 0x2287, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2288, 0x0000,\r
+ 0x0000, 0x0000, 0x2289, 0x0000, 0x228a, 0x0000, 0x0000, 0x0000, 0x228e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x228f, 0x0000, 0x2290, 0x0000,\r
+ 0x0000, 0x22a0, 0x0000, 0x0000, 0x22a2, 0x0000, 0x0000, 0x22a6, 0x22a8, 0x0000,\r
+ 0x0000, 0x22a9, 0x22aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22ab,\r
+ 0x0000, 0x22ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x22c0, 0x22c4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x22c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22c8, 0x0000,\r
+ 0x22cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x22cf, 0x22d0, 0x22d1, 0x0000, 0x0000,\r
+ 0x0000, 0x22d2, 0x0000, 0x22d3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22d4, 0x0000, 0x0000, 0x0000,\r
+ 0x22e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x22e2, 0x0000, 0x22e4, 0x0000, 0x22ef, 0x0000, 0x0000, 0x0000, 0x22f1,\r
+ 0x22f3, 0x0000, 0x0000, 0x0000, 0x0000, 0x22f5, 0x0000, 0x22f6, 0x0000, 0x22fa,\r
+ 0x22fd, 0x0000, 0x0000, 0x230a, 0x0000, 0x0000, 0x0000, 0x0000, 0x230b, 0x0000,\r
+ 0x2324, 0x0000, 0x0000, 0x0000, 0x0000, 0x2325, 0x2328, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2329, 0x232a, 0x0000, 0x232c, 0x2331, 0x2340, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2343,\r
+ 0x237a, 0x0000, 0x0000, 0x237b, 0x2381, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2382, 0x0000, 0x0000, 0x0000, 0x2384, 0x0000, 0x0000, 0x2385, 0x0000,\r
+ 0x2387, 0x0000, 0x0000, 0x2388, 0x2389, 0x238d, 0x238e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2398, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x239a, 0x0000, 0x0000, 0x23a0, 0x0000, 0x23a1, 0x23a2, 0x0000,\r
+ 0x0000, 0x0000, 0x23a3, 0x23a4, 0x0000, 0x0000, 0x23a5, 0x0000, 0x0000, 0x23a6,\r
+ 0x0000, 0x23a7, 0x0000, 0x0000, 0x23a9, 0x23ab, 0x0000, 0x0000, 0x0000, 0x23ac,\r
+ 0x0000, 0x0000, 0x23b0, 0x0000, 0x23b8, 0x0000, 0x0000, 0x23bc, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x23bd, 0x0000, 0x23c0, 0x23cb, 0x0000, 0x0000,\r
+ 0x23cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x23ce, 0x0000, 0x23d1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x23d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x23d4,\r
+ 0x0000, 0x23d6, 0x23d7, 0x23d8, 0x0000, 0x23d9, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x23e2, 0x0000, 0x23e3, 0x0000, 0x0000, 0x0000,\r
+ 0x23e4, 0x23e5, 0x0000, 0x0000, 0x23e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x23e7,\r
+ 0x0000, 0x0000, 0x0000, 0x23e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x23ed, 0x23ee,\r
+ 0x0000, 0x0000, 0x0000, 0x23f8, 0x23fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400,\r
+ 0x2401, 0x0000, 0x2404, 0x0000, 0x0000, 0x0000, 0x0000, 0x2405, 0x2406, 0x2407,\r
+ 0x0000, 0x2408, 0x2409, 0x0000, 0x0000, 0x240b, 0x0000, 0x240c, 0x240d, 0x0000,\r
+ 0x0000, 0x240e, 0x0000, 0x2410, 0x0000, 0x2411, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2412, 0x2413, 0x0000, 0x0000, 0x2415, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2416, 0x2418, 0x0000, 0x0000, 0x2419, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x241c, 0x0000, 0x0000, 0x0000, 0x0000, 0x241f, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2420,\r
+ 0x0000, 0x0000, 0x0000, 0x2421, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2422,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2423, 0x0000, 0x0000, 0x2424, 0x2427, 0x0000,\r
+ 0x0000, 0x0000, 0x2428, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2429, 0x0000, 0x0000, 0x242a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x242b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x242e, 0x242f, 0x0000, 0x0000,\r
+ 0x2431, 0x2432, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2434, 0x2437, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2439, 0x0000, 0x0000, 0x0000, 0x243c, 0x243d, 0x243f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2440, 0x0000, 0x0000, 0x244d, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2451, 0x2455, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x245c, 0x245d, 0x2461,\r
+ 0x2469, 0x246a, 0x0000, 0x246e, 0x246f, 0x0000, 0x0000, 0x2505, 0x0000, 0x2507,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x250a, 0x0000, 0x0000, 0x0000, 0x250b, 0x0000,\r
+ 0x250c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x250d, 0x0000, 0x0000, 0x250e, 0x0000, 0x0000, 0x0000, 0x2511, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2512, 0x2513, 0x0000, 0x0000, 0x0000, 0x0000, 0x2515, 0x0000,\r
+ 0x2517, 0x2518, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x251c, 0x0000, 0x251e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2520, 0x2523,\r
+ 0x0000, 0x2525, 0x0000, 0x2527, 0x0000, 0x0000, 0x2529, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x252b, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x252c, 0x252d, 0x0000, 0x0000, 0x0000, 0x0000, 0x253c, 0x0000,\r
+ 0x0000, 0x253d, 0x0000, 0x0000, 0x2542, 0x0000, 0x2543, 0x2544, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2545, 0x0000, 0x0000, 0x0000, 0x2546, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2548, 0x2549, 0x0000, 0x254a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x254b, 0x254c, 0x0000, 0x0000, 0x0000,\r
+ 0x254e, 0x0000, 0x2555, 0x0000, 0x2556, 0x0000, 0x2559, 0x0000, 0x255b, 0x2562,\r
+ 0x0000, 0x2564, 0x2566, 0x2567, 0x0000, 0x0000, 0x0000, 0x2569, 0x2578, 0x0000,\r
+ 0x0000, 0x257c, 0x0000, 0x0000, 0x0000, 0x257e, 0x0000, 0x2580, 0x0000, 0x2581,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2588, 0x0000, 0x25a6, 0x25a7,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x25a9, 0x0000, 0x0000,\r
+ 0x25ab, 0x25ac, 0x25ad, 0x25ae, 0x0000, 0x0000, 0x0000, 0x25b0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x25b2, 0x25b6, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x25b7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x25b8, 0x0000, 0x25b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x25ba, 0x0000,\r
+ 0x0000, 0x25bb, 0x0000, 0x0000, 0x25c0, 0x0000, 0x0000, 0x25c1, 0x0000, 0x25c3,\r
+ 0x25c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x25c7, 0x0000, 0x25c9, 0x25d1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x25d2, 0x25d3, 0x25d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x25d6, 0x25e2,\r
+ 0x0000, 0x0000, 0x25e4, 0x25e5, 0x25e6, 0x0000, 0x25e7, 0x25f5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x25f6, 0x0000, 0x25fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x25ff,\r
+ 0x0000, 0x0000, 0x0000, 0x2600, 0x0000, 0x260e, 0x0000, 0x2610, 0x0000, 0x0000,\r
+ 0x0000, 0x2616, 0x0000, 0x261a, 0x261b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x261c, 0x0000, 0x261d, 0x2628, 0x0000, 0x2629, 0x0000, 0x0000, 0x0000, 0x262a,\r
+ 0x262b, 0x0000, 0x262d, 0x0000, 0x262e, 0x0000, 0x262f, 0x0000, 0x0000, 0x0000,\r
+ 0x2630, 0x2631, 0x2638, 0x0000, 0x0000, 0x0000, 0x263a, 0x0000, 0x263d, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2641, 0x2642, 0x0000, 0x0000, 0x0000, 0x2650, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2653, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2654, 0x0000, 0x265c,\r
+ 0x0000, 0x265f, 0x0000, 0x2664, 0x0000, 0x0000, 0x0000, 0x0000, 0x2666, 0x0000,\r
+ 0x0000, 0x2669, 0x266c, 0x0000, 0x0000, 0x0000, 0x2670, 0x0000, 0x0000, 0x0000,\r
+ 0x2671, 0x0000, 0x0000, 0x2672, 0x0000, 0x2675, 0x0000, 0x0000, 0x0000, 0x2677,\r
+ 0x2678, 0x0000, 0x0000, 0x267f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2680, 0x2687, 0x2689, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x268a, 0x268b, 0x268c, 0x2691, 0x2693, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2698, 0x0000, 0x269e, 0x0000, 0x0000, 0x0000, 0x269f, 0x0000,\r
+ 0x0000, 0x26a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x26b2,\r
+ 0x26b3, 0x26b4, 0x0000, 0x0000, 0x0000, 0x26b5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x26b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x26b9, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x26ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x26c2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x26c3, 0x26c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x26ca, 0x0000, 0x0000, 0x0000, 0x26cb, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x26cc, 0x0000, 0x26d3, 0x0000, 0x0000, 0x26d4, 0x26ea, 0x26ee, 0x0000,\r
+ 0x26f1, 0x26f2, 0x0000, 0x0000, 0x26f6, 0x0000, 0x26fb, 0x26fd, 0x26fe, 0x0000,\r
+ 0x0000, 0x0000, 0x2701, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2703,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2704, 0x2709, 0x0000,\r
+ 0x0000, 0x270a, 0x0000, 0x0000, 0x0000, 0x270d, 0x0000, 0x2714, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2717, 0x2723, 0x2724, 0x2726, 0x0000, 0x0000, 0x0000,\r
+ 0x272f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2730, 0x0000, 0x0000, 0x2732,\r
+ 0x0000, 0x2734, 0x0000, 0x0000, 0x0000, 0x0000, 0x2736, 0x0000, 0x2737, 0x2738,\r
+ 0x2739, 0x273a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x273b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x273d, 0x2746, 0x0000, 0x0000, 0x0000, 0x0000, 0x2747,\r
+ 0x0000, 0x0000, 0x2749, 0x274a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x274b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x274f, 0x0000, 0x2752, 0x0000,\r
+ 0x0000, 0x0000, 0x2756, 0x0000, 0x2758, 0x0000, 0x0000, 0x275c, 0x275d, 0x0000,\r
+ 0x0000, 0x2764, 0x0000, 0x2767, 0x276a, 0x276b, 0x0000, 0x0000, 0x0000, 0x276e,\r
+ 0x2771, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2772, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2777, 0x0000, 0x2778, 0x0000, 0x277c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2788, 0x0000, 0x0000,\r
+ 0x0000, 0x278a, 0x0000, 0x0000, 0x278d, 0x0000, 0x0000, 0x0000, 0x0000, 0x278f,\r
+ 0x2790, 0x0000, 0x0000, 0x2796, 0x0000, 0x2797, 0x2798, 0x0000, 0x2799, 0x0000,\r
+ 0x0000, 0x27a3, 0x0000, 0x27a5, 0x27a6, 0x0000, 0x0000, 0x27ac, 0x0000, 0x27ae,\r
+ 0x27af, 0x27b0, 0x27b8, 0x0000, 0x0000, 0x27bb, 0x0000, 0x27bd, 0x0000, 0x0000,\r
+ 0x0000, 0x27c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x27c1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x27c2, 0x0000, 0x0000, 0x0000, 0x0000, 0x27d2, 0x0000, 0x27da, 0x0000,\r
+ 0x0000, 0x27db, 0x27dc, 0x0000, 0x27dd, 0x27de, 0x0000, 0x27df, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x27e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x27e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x27e9, 0x0000, 0x27f5,\r
+ 0x0000, 0x27f6, 0x27f7, 0x0000, 0x0000, 0x27f8, 0x0000, 0x0000, 0x27fd, 0x27fe,\r
+ 0x2804, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x280a, 0x0000, 0x280c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x280f, 0x0000, 0x0000, 0x2811, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2812, 0x0000, 0x2813, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2814, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x282c, 0x2830, 0x2831, 0x0000, 0x0000, 0x0000,\r
+ 0x2832, 0x0000, 0x2838, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2839, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x283a, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x283b, 0x283f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2842, 0x0000, 0x0000,\r
+ 0x0000, 0x2843, 0x0000, 0x2844, 0x0000, 0x0000, 0x0000, 0x0000, 0x2847, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x284b, 0x284d, 0x0000, 0x0000,\r
+ 0x0000, 0x284e, 0x284f, 0x0000, 0x2851, 0x0000, 0x2856, 0x0000, 0x2858, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2859, 0x0000, 0x0000, 0x285b, 0x0000, 0x285c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x285e, 0x0000, 0x0000, 0x285f, 0x2862,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2863, 0x286d, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x286f, 0x0000, 0x2871, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x287a, 0x0000, 0x2880, 0x0000, 0x2881, 0x0000, 0x0000, 0x0000,\r
+ 0x2884, 0x2885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2886, 0x0000, 0x0000,\r
+ 0x0000, 0x2887, 0x0000, 0x2888, 0x0000, 0x0000, 0x2892, 0x2894, 0x2896, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2897, 0x0000, 0x0000, 0x2898,\r
+ 0x289a, 0x0000, 0x0000, 0x289c, 0x0000, 0x289d, 0x0000, 0x28a3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28a4, 0x0000, 0x28a5, 0x28aa,\r
+ 0x0000, 0x0000, 0x28ab, 0x0000, 0x28ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x28b5, 0x28b6, 0x28b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x28b9, 0x0000, 0x0000, 0x28bb, 0x0000, 0x0000,\r
+ 0x28be, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28c0, 0x0000, 0x28c1, 0x28c2,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x28c4, 0x28c5, 0x0000, 0x28c6, 0x0000, 0x28c7,\r
+ 0x0000, 0x28cc, 0x28ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28d0, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x28d1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x28d3, 0x0000, 0x28d5, 0x0000, 0x0000, 0x0000, 0x28d6, 0x28d9,\r
+ 0x0000, 0x0000, 0x28db, 0x0000, 0x28e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x28e8, 0x28f1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28f2, 0x28f3, 0x0000,\r
+ 0x28fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2903, 0x0000, 0x0000, 0x0000, 0x2906, 0x0000, 0x0000, 0x290e, 0x0000,\r
+ 0x2919, 0x291c, 0x0000, 0x0000, 0x291d, 0x291e, 0x2920, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2922, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2925, 0x0000, 0x2926, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2927, 0x2928, 0x0000, 0x0000, 0x2930, 0x0000, 0x2939,\r
+ 0x293c, 0x0000, 0x293d, 0x293f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2942,\r
+ 0x2943, 0x2944, 0x0000, 0x2945, 0x0000, 0x0000, 0x0000, 0x2946, 0x0000, 0x2947,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x294f, 0x0000, 0x0000, 0x2950, 0x0000, 0x2952,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2959, 0x295a, 0x295b, 0x295d, 0x0000, 0x295e, 0x0000, 0x0000, 0x2962, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2966, 0x0000, 0x0000, 0x2969, 0x0000, 0x0000,\r
+ 0x0000, 0x296a, 0x0000, 0x296b, 0x0000, 0x296c, 0x0000, 0x296d, 0x0000, 0x0000,\r
+ 0x296f, 0x0000, 0x2982, 0x0000, 0x2983, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2985, 0x2986, 0x2987, 0x0000, 0x0000, 0x0000, 0x2996, 0x0000, 0x0000, 0x0000,\r
+ 0x2997, 0x0000, 0x299a, 0x0000, 0x299b, 0x0000, 0x0000, 0x0000, 0x299c, 0x299d,\r
+ 0x299f, 0x0000, 0x29a2, 0x0000, 0x0000, 0x29a3, 0x0000, 0x29ab, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x29ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x29ae, 0x0000, 0x0000, 0x0000, 0x29af, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x29b0, 0x29b1, 0x0000, 0x29b2, 0x0000, 0x0000, 0x0000, 0x29b4, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29b6, 0x0000, 0x29ba, 0x0000, 0x0000,\r
+ 0x29c4, 0x0000, 0x29c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x29ca, 0x0000, 0x0000,\r
+ 0x0000, 0x29cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29cf, 0x0000, 0x29d0,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29d1, 0x0000, 0x29db,\r
+ 0x29de, 0x29e0, 0x0000, 0x0000, 0x29e2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x29e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x29e6, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x29e7, 0x29ea, 0x29f7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x29f8, 0x0000, 0x0000, 0x29f9, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x29fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x29fe, 0x0000,\r
+ 0x0000, 0x2a00, 0x2a01, 0x0000, 0x0000, 0x0000, 0x2a04, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2a06, 0x0000, 0x0000, 0x0000, 0x2a07, 0x0000, 0x2a11,\r
+ 0x0000, 0x0000, 0x2a14, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a15,\r
+ 0x0000, 0x0000, 0x0000, 0x2a19, 0x0000, 0x0000, 0x2a1b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a1c, 0x2a20, 0x0000, 0x0000, 0x0000,\r
+ 0x2a25, 0x0000, 0x0000, 0x0000, 0x2a27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2a2b, 0x0000, 0x0000, 0x2a2c, 0x0000, 0x2a38,\r
+ 0x0000, 0x2a39, 0x0000, 0x0000, 0x0000, 0x2a3a, 0x0000, 0x0000, 0x0000, 0x2a3c,\r
+ 0x0000, 0x0000, 0x2a3e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2a3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a40, 0x2a41, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2a43, 0x0000, 0x2a44, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2a45, 0x2a46, 0x2a47, 0x0000, 0x2a4a, 0x2a61, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2a62, 0x0000, 0x0000, 0x2a64, 0x0000, 0x2a65, 0x0000, 0x0000, 0x2a68, 0x0000,\r
+ 0x0000, 0x2a69, 0x2a6a, 0x2a6b, 0x2a6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2a6f, 0x0000, 0x2a72, 0x2a73, 0x2a78, 0x2a8a, 0x0000, 0x0000, 0x2a8b,\r
+ 0x2a8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a8d, 0x0000, 0x0000, 0x0000,\r
+ 0x2a90, 0x2a93, 0x0000, 0x0000, 0x2a94, 0x2a96, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2a97, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2a99, 0x0000, 0x2a9a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2a9c, 0x2a9f, 0x0000, 0x2aa0, 0x0000, 0x0000, 0x2aa4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2aa5, 0x0000, 0x2aa6, 0x0000, 0x0000, 0x0000, 0x2aab,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2aac, 0x0000, 0x0000, 0x2ab0, 0x2ab1,\r
+ 0x0000, 0x0000, 0x2ab2, 0x0000, 0x0000, 0x0000, 0x2ab4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2abb, 0x0000, 0x0000, 0x2ac1, 0x0000, 0x0000, 0x0000, 0x2ac3, 0x0000,\r
+ 0x0000, 0x2ac4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2ace, 0x0000, 0x2ad0, 0x2ad2, 0x0000, 0x0000,\r
+ 0x2ad4, 0x0000, 0x0000, 0x0000, 0x2ad6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ad7, 0x0000, 0x0000, 0x0000, 0x2ad8,\r
+ 0x0000, 0x0000, 0x0000, 0x2add, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2adf,\r
+ 0x0000, 0x0000, 0x0000, 0x2ae0, 0x2ae2, 0x0000, 0x0000, 0x2ae6, 0x2ae8, 0x2aeb,\r
+ 0x0000, 0x0000, 0x2aec, 0x0000, 0x2aed, 0x0000, 0x0000, 0x2aef, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2af0, 0x0000, 0x0000, 0x0000, 0x2af1, 0x0000, 0x2af3, 0x0000,\r
+ 0x0000, 0x0000, 0x2af4, 0x2af5, 0x0000, 0x0000, 0x0000, 0x2af6, 0x0000, 0x2af7,\r
+ 0x0000, 0x2af9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b02, 0x2b04,\r
+ 0x0000, 0x2b05, 0x2b08, 0x2b09, 0x0000, 0x0000, 0x2b0b, 0x2b0c, 0x2b0d, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2b0e, 0x0000, 0x0000, 0x2b0f, 0x2b15, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2b17, 0x0000, 0x0000, 0x0000, 0x2b1a, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b2f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b30, 0x2b34, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2b35, 0x0000, 0x0000, 0x2b38, 0x2b39, 0x0000, 0x2b3a,\r
+ 0x0000, 0x2b3d, 0x0000, 0x2b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b4e,\r
+ 0x0000, 0x0000, 0x0000, 0x2b50, 0x0000, 0x0000, 0x0000, 0x2b56, 0x0000, 0x0000,\r
+ 0x0000, 0x2b57, 0x2b58, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b59,\r
+ 0x2b5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b5b, 0x0000, 0x0000,\r
+ 0x2b5e, 0x2b64, 0x0000, 0x0000, 0x0000, 0x2b65, 0x0000, 0x2b6a, 0x2b6f, 0x0000,\r
+ 0x2b7b, 0x0000, 0x0000, 0x0000, 0x2b86, 0x0000, 0x0000, 0x2b87, 0x0000, 0x2b8a,\r
+ 0x0000, 0x2b8b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b8c, 0x0000, 0x2b8d,\r
+ 0x2b90, 0x2b91, 0x2b92, 0x0000, 0x2b94, 0x0000, 0x2b95, 0x0000, 0x0000, 0x0000,\r
+ 0x2b96, 0x0000, 0x0000, 0x2b97, 0x2b98, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2b9b, 0x0000, 0x0000,\r
+ 0x2b9c, 0x2b9e, 0x0000, 0x0000, 0x0000, 0x2ba4, 0x2ba6, 0x0000, 0x0000, 0x0000,\r
+ 0x2ba8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bae, 0x2baf, 0x0000, 0x0000,\r
+ 0x0000, 0x2bb0, 0x2bb3, 0x0000, 0x0000, 0x2bb4, 0x2bb5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2bba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2bc0, 0x2bc2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bc3,\r
+ 0x0000, 0x2bc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2bc5, 0x0000, 0x0000,\r
+ 0x0000, 0x2bc6, 0x0000, 0x2bc7, 0x0000, 0x0000, 0x2bc9, 0x0000, 0x2bcb, 0x0000,\r
+ 0x2bce, 0x0000, 0x0000, 0x2bdf, 0x0000, 0x0000, 0x0000, 0x2c1d, 0x2c1f, 0x0000,\r
+ 0x0000, 0x2c20, 0x2c21, 0x2c26, 0x0000, 0x0000, 0x0000, 0x2c2b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2c2d, 0x2c2e, 0x0000, 0x2c2f, 0x0000, 0x0000, 0x0000, 0x2c31,\r
+ 0x0000, 0x2c32, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c46, 0x0000, 0x2c4a, 0x0000,\r
+ 0x0000, 0x0000, 0x2c4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2c4c, 0x0000,\r
+ 0x2c4d, 0x2c4e, 0x0000, 0x2c50, 0x0000, 0x2c51, 0x0000, 0x0000, 0x0000, 0x2c54,\r
+ 0x2c55, 0x0000, 0x0000, 0x2c56, 0x0000, 0x0000, 0x0000, 0x2c5b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2c5c, 0x0000, 0x2c5d, 0x2c6a, 0x0000, 0x0000,\r
+ 0x2c6b, 0x0000, 0x2c6e, 0x2c70, 0x0000, 0x0000, 0x0000, 0x2c71, 0x0000, 0x0000,\r
+ 0x2c72, 0x2c77, 0x0000, 0x2c7a, 0x2c87, 0x0000, 0x2c88, 0x2c8e, 0x0000, 0x0000,\r
+ 0x0000, 0x2c90, 0x0000, 0x0000, 0x2c91, 0x2c94, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2c99, 0x0000, 0x0000, 0x0000, 0x2c9a, 0x0000, 0x2c9d, 0x0000, 0x2ca2, 0x2ca5,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ca6, 0x0000, 0x2cad, 0x0000, 0x2cae,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cb0, 0x2cbd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2cbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cbf, 0x0000,\r
+ 0x0000, 0x2cc0, 0x2cc4, 0x2cc5, 0x2cc7, 0x0000, 0x2ccd, 0x0000, 0x2cd1, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2cd2, 0x0000, 0x0000, 0x0000, 0x2cd3, 0x0000, 0x2cd4,\r
+ 0x2cd5, 0x2cd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cd9, 0x0000, 0x0000, 0x2cdc,\r
+ 0x0000, 0x0000, 0x2cdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2ce9, 0x0000, 0x0000, 0x2cee, 0x0000, 0x2cf5, 0x0000,\r
+ 0x0000, 0x2cf6, 0x2cf7, 0x2cf9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2cfb, 0x0000, 0x0000, 0x0000, 0x0000, 0x2cfc,\r
+ 0x0000, 0x2d00, 0x2d01, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2d09, 0x2d0a, 0x2d0b, 0x2d0e, 0x0000, 0x0000,\r
+ 0x2d17, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d1b, 0x0000, 0x2d1c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2d20, 0x2d24, 0x0000, 0x2d25, 0x0000, 0x0000,\r
+ 0x2d27, 0x0000, 0x2d28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d29,\r
+ 0x0000, 0x0000, 0x2d2b, 0x2d2c, 0x0000, 0x2d2d, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2d2f, 0x0000, 0x0000, 0x0000, 0x2d31, 0x0000, 0x2d36, 0x0000, 0x2d37, 0x0000,\r
+ 0x0000, 0x0000, 0x2d39, 0x0000, 0x2d3a, 0x0000, 0x0000, 0x0000, 0x2d3c, 0x2d3d,\r
+ 0x0000, 0x0000, 0x0000, 0x2d3e, 0x2d40, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2d43, 0x0000, 0x2d44, 0x2d47, 0x0000, 0x2d4b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d4c, 0x0000, 0x2d4d, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2d4e, 0x2d51, 0x0000, 0x0000, 0x0000, 0x2d52, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d53, 0x2d54, 0x0000,\r
+ 0x2d56, 0x0000, 0x0000, 0x2d58, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d5a, 0x0000,\r
+ 0x0000, 0x2d5b, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d5d, 0x0000, 0x2d66, 0x0000,\r
+ 0x0000, 0x0000, 0x2d67, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d69, 0x0000, 0x0000,\r
+ 0x2d6a, 0x2d6b, 0x2d6c, 0x2d6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2d77, 0x0000, 0x0000, 0x2d7e, 0x0000, 0x2d80, 0x2d81, 0x0000, 0x2d82, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2d83, 0x0000,\r
+ 0x0000, 0x2d84, 0x2d85, 0x2d88, 0x0000, 0x0000, 0x2d9d, 0x2d9f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2da0, 0x0000, 0x0000, 0x2da1, 0x0000, 0x2da5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2da8, 0x0000, 0x0000, 0x0000,\r
+ 0x2dc4, 0x0000, 0x2dc7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2dc9, 0x0000,\r
+ 0x0000, 0x2dcc, 0x2ddf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2de1, 0x2de4, 0x2de6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2de7,\r
+ 0x0000, 0x0000, 0x0000, 0x2de8, 0x2dea, 0x0000, 0x2deb, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2def, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2df0, 0x0000, 0x0000, 0x0000, 0x2df1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2df6, 0x2df7, 0x0000, 0x2dfc, 0x2dfd, 0x0000, 0x2dfe, 0x0000,\r
+ 0x0000, 0x2dff, 0x0000, 0x2e01, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2e02, 0x2e04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2e07, 0x0000, 0x2e08, 0x0000, 0x0000, 0x0000, 0x2e09, 0x0000,\r
+ 0x0000, 0x0000, 0x2e0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e0c, 0x0000, 0x0000,\r
+ 0x2e0d, 0x2e0f, 0x2e10, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e13, 0x2e3a, 0x2e3b,\r
+ 0x2e3c, 0x0000, 0x0000, 0x2e3d, 0x0000, 0x0000, 0x0000, 0x2e3e, 0x0000, 0x0000,\r
+ 0x2e46, 0x2e4b, 0x0000, 0x2e4c, 0x0000, 0x2e5d, 0x0000, 0x0000, 0x0000, 0x2e5f,\r
+ 0x0000, 0x0000, 0x0000, 0x2e60, 0x2e62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2e63, 0x0000, 0x2e64, 0x2e65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2e6b, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2e6c, 0x0000, 0x2e6d, 0x0000, 0x2e6e, 0x0000, 0x0000,\r
+ 0x2e6f, 0x0000, 0x2e76, 0x2e77, 0x2e79, 0x2e85, 0x2e86, 0x0000, 0x2e88, 0x2e8e,\r
+ 0x0000, 0x0000, 0x2e90, 0x0000, 0x2e92, 0x2e94, 0x2e97, 0x2e98, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2e99, 0x0000, 0x2e9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2ea5, 0x2ea7, 0x2ea8, 0x0000, 0x2ea9, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eac,\r
+ 0x2ead, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eb1, 0x0000, 0x2eb2, 0x0000, 0x2eb3,\r
+ 0x0000, 0x2eb4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eb5, 0x0000, 0x0000,\r
+ 0x2eb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eb9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eca, 0x0000, 0x0000, 0x0000, 0x2ecb,\r
+ 0x2ecc, 0x2ed2, 0x2ed3, 0x0000, 0x2ed8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2ed9, 0x0000, 0x0000, 0x0000, 0x2eda, 0x0000, 0x2edf, 0x2ee4, 0x2ee5, 0x2ee6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2eeb, 0x0000, 0x0000, 0x2eec, 0x2eee,\r
+ 0x0000, 0x0000, 0x2eef, 0x0000, 0x0000, 0x2ef3, 0x2efc, 0x0000, 0x0000, 0x2efd,\r
+ 0x0000, 0x0000, 0x2f00, 0x2f01, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f02, 0x0000,\r
+ 0x2f09, 0x2f0b, 0x0000, 0x0000, 0x2f0c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2f0e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2f16, 0x2f17, 0x0000, 0x2f18, 0x0000, 0x0000, 0x0000, 0x2f1c, 0x2f20, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2f21, 0x2f23, 0x2f24, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f2a, 0x0000, 0x0000, 0x0000, 0x2f2b,\r
+ 0x2f2c, 0x0000, 0x0000, 0x0000, 0x2f2f, 0x0000, 0x2f31, 0x2f36, 0x2f37, 0x0000,\r
+ 0x0000, 0x2f38, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f39, 0x0000, 0x2f3c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x2f41, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2f42, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f46, 0x2f47, 0x2f48, 0x2f4f,\r
+ 0x0000, 0x0000, 0x2f52, 0x2f54, 0x0000, 0x0000, 0x0000, 0x2f56, 0x0000, 0x0000,\r
+ 0x0000, 0x2f57, 0x2f58, 0x2f60, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f62, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f63, 0x0000, 0x0000, 0x0000, 0x2f64,\r
+ 0x2f66, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f69, 0x0000, 0x2f6b, 0x0000, 0x2f6d,\r
+ 0x0000, 0x0000, 0x2f6e, 0x0000, 0x0000, 0x0000, 0x2f70, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2f71, 0x0000, 0x2f74, 0x0000, 0x2f79, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2f7a, 0x2f8b, 0x2f8d, 0x0000, 0x0000, 0x0000, 0x2f8f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x2f92, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2f97, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f98,\r
+ 0x0000, 0x0000, 0x0000, 0x2f9a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2f9b,\r
+ 0x2f9c, 0x0000, 0x0000, 0x2f9d, 0x0000, 0x2fa4, 0x0000, 0x2fa5, 0x0000, 0x0000,\r
+ 0x2fa6, 0x0000, 0x2fa9, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fab, 0x0000, 0x2fb1,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2fb2, 0x2fb3, 0x2fb4, 0x2fb5, 0x0000, 0x2fb9,\r
+ 0x2fba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x2fbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fbf, 0x0000,\r
+ 0x0000, 0x2fc5, 0x0000, 0x0000, 0x0000, 0x0000, 0x2fc9, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x2fca, 0x0000, 0x0000, 0x2fcc, 0x2fd2, 0x0000, 0x0000, 0x0000, 0x2fd3,\r
+ 0x0000, 0x0000, 0x0000, 0x2fd4, 0x2fdd, 0x0000, 0x2fde, 0x2fe0, 0x0000, 0x2fe1,\r
+ 0x0000, 0x0000, 0x2ff3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2ff5, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x2ff6, 0x0000, 0x3001, 0x0000, 0x0000, 0x3002,\r
+ 0x0000, 0x3004, 0x3005, 0x0000, 0x0000, 0x3006, 0x0000, 0x3007, 0x0000, 0x0000,\r
+ 0x3008, 0x0000, 0x3009, 0x0000, 0x300a, 0x0000, 0x0000, 0x0000, 0x0000, 0x300d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3015, 0x0000, 0x3032, 0x3034, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3035, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3036, 0x3037, 0x0000, 0x3038, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3039, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x303a, 0x0000, 0x0000, 0x0000, 0x0000, 0x303c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x303e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x303f, 0x0000, 0x3043, 0x3044,\r
+ 0x3045, 0x0000, 0x0000, 0x304f, 0x3052, 0x3053, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3054, 0x3058, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x305b, 0x0000, 0x305e, 0x0000, 0x305f, 0x0000, 0x0000, 0x3060, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3069, 0x0000, 0x0000, 0x306a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x306e, 0x3073, 0x0000, 0x0000, 0x3074, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x307a,\r
+ 0x0000, 0x0000, 0x0000, 0x307b, 0x0000, 0x0000, 0x0000, 0x307c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3084, 0x0000, 0x3085, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3087, 0x0000, 0x3089, 0x308d, 0x0000, 0x0000, 0x0000, 0x308f, 0x3090, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3092, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3093, 0x3094, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3095, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3096, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x309d, 0x0000, 0x0000, 0x0000, 0x30a2, 0x30a3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30a4, 0x30bb, 0x0000, 0x0000,\r
+ 0x30cd, 0x30ce, 0x0000, 0x0000, 0x0000, 0x30cf, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x30d0, 0x30d6, 0x30dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x30de, 0x0000, 0x30e0,\r
+ 0x30e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x30e2, 0x0000, 0x0000, 0x0000, 0x30e3,\r
+ 0x0000, 0x30e8, 0x0000, 0x0000, 0x0000, 0x30ec, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x30ef, 0x0000, 0x0000, 0x0000, 0x30f0, 0x0000, 0x0000, 0x0000,\r
+ 0x30f1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30f2, 0x0000, 0x30f7, 0x0000,\r
+ 0x0000, 0x30f8, 0x0000, 0x30fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30fc, 0x0000, 0x3104, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3106, 0x0000, 0x0000, 0x0000, 0x3107, 0x3108,\r
+ 0x0000, 0x0000, 0x0000, 0x310a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x310b, 0x0000, 0x0000, 0x3112, 0x0000, 0x3115, 0x0000, 0x3116,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3119, 0x0000, 0x0000, 0x0000, 0x311b, 0x311e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3121, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3122, 0x3123, 0x313b, 0x0000, 0x3140, 0x0000, 0x0000,\r
+ 0x3143, 0x0000, 0x3144, 0x0000, 0x3147, 0x0000, 0x3151, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3153, 0x3166, 0x0000, 0x3168, 0x0000, 0x0000, 0x3171, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x317e, 0x0000, 0x0000, 0x317f, 0x0000, 0x3181, 0x3185, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3187, 0x0000, 0x3189, 0x0000, 0x318a, 0x3195, 0x0000, 0x3196, 0x0000, 0x3199,\r
+ 0x0000, 0x319d, 0x0000, 0x0000, 0x0000, 0x319f, 0x31a0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x31a3, 0x31c1, 0x0000, 0x0000, 0x31c3, 0x0000, 0x0000, 0x31c4, 0x0000,\r
+ 0x0000, 0x31c6, 0x31c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x31c9, 0x0000, 0x31ca, 0x31cb, 0x0000, 0x31cc, 0x0000, 0x0000,\r
+ 0x31d7, 0x31df, 0x0000, 0x0000, 0x0000, 0x0000, 0x31e5, 0x0000, 0x31e6, 0x31ea,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31eb, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x31ec, 0x31f9, 0x0000, 0x3218, 0x0000, 0x3219, 0x0000,\r
+ 0x3224, 0x0000, 0x0000, 0x0000, 0x0000, 0x3227, 0x0000, 0x322a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x322b, 0x322d, 0x0000, 0x322e, 0x0000, 0x0000, 0x0000, 0x0000, 0x322f, 0x0000,\r
+ 0x0000, 0x3232, 0x3234, 0x3235, 0x0000, 0x0000, 0x0000, 0x3236, 0x0000, 0x0000,\r
+ 0x0000, 0x3237, 0x0000, 0x3238, 0x0000, 0x323a, 0x0000, 0x0000, 0x323b, 0x0000,\r
+ 0x323e, 0x0000, 0x323f, 0x0000, 0x0000, 0x3242, 0x0000, 0x3245, 0x3248, 0x3249,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x324b,\r
+ 0x0000, 0x324d, 0x0000, 0x0000, 0x324e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3254, 0x3255, 0x3258, 0x0000, 0x3259, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x325d, 0x0000, 0x0000, 0x0000, 0x325f, 0x3260, 0x3262,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3266, 0x0000, 0x326d,\r
+ 0x326e, 0x0000, 0x327e, 0x0000, 0x3280, 0x0000, 0x0000, 0x0000, 0x3281, 0x0000,\r
+ 0x3282, 0x0000, 0x0000, 0x0000, 0x0000, 0x3283, 0x0000, 0x3284, 0x3285, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3286, 0x0000, 0x328e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3290, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3292, 0x0000, 0x0000, 0x3294, 0x0000, 0x0000, 0x3295, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3296, 0x0000, 0x0000, 0x0000, 0x0000, 0x3297, 0x0000, 0x3298,\r
+ 0x0000, 0x3299, 0x0000, 0x0000, 0x0000, 0x329a, 0x329e, 0x329f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x32a0, 0x32a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x32a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32aa,\r
+ 0x0000, 0x32ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32ac, 0x0000,\r
+ 0x0000, 0x32b6, 0x0000, 0x0000, 0x0000, 0x32b8, 0x32b9, 0x0000, 0x32ba, 0x32c4,\r
+ 0x32c5, 0x32c9, 0x32ca, 0x0000, 0x0000, 0x0000, 0x0000, 0x32cc, 0x0000, 0x0000,\r
+ 0x32cd, 0x0000, 0x0000, 0x32cf, 0x32d1, 0x0000, 0x32d9, 0x0000, 0x0000, 0x0000,\r
+ 0x32dc, 0x0000, 0x32dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x32de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x32e0, 0x32e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32e4,\r
+ 0x0000, 0x0000, 0x32e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x32e8, 0x0000, 0x32ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32f0,\r
+ 0x0000, 0x0000, 0x32f1, 0x0000, 0x0000, 0x0000, 0x32f3, 0x32f4, 0x32f6, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x32f7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x32f9, 0x32fe, 0x0000, 0x3300, 0x0000, 0x0000, 0x3304, 0x3305, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x330b, 0x0000, 0x0000, 0x330c, 0x0000, 0x330f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3315, 0x3316, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3317, 0x3318, 0x3319, 0x0000, 0x331a, 0x0000, 0x0000, 0x0000,\r
+ 0x331d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x331e, 0x0000,\r
+ 0x331f, 0x3320, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3326, 0x0000, 0x332b,\r
+ 0x0000, 0x332c, 0x0000, 0x0000, 0x0000, 0x332d, 0x0000, 0x3345, 0x3346, 0x3348,\r
+ 0x3349, 0x0000, 0x0000, 0x334a, 0x0000, 0x334b, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x334e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x335e, 0x0000, 0x3370, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3371, 0x0000, 0x0000, 0x3372,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3376, 0x0000, 0x0000, 0x0000, 0x3378, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3379, 0x0000, 0x337a, 0x337f, 0x3383, 0x0000,\r
+ 0x0000, 0x0000, 0x3385, 0x0000, 0x0000, 0x3386, 0x0000, 0x0000, 0x3387, 0x0000,\r
+ 0x0000, 0x3396, 0x0000, 0x0000, 0x0000, 0x3397, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x339c, 0x0000, 0x0000, 0x33a3,\r
+ 0x33b0, 0x0000, 0x0000, 0x0000, 0x33b9, 0x0000, 0x33c1, 0x33c5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x33c7, 0x33cb, 0x0000, 0x33cc, 0x33cd, 0x0000, 0x33ce,\r
+ 0x0000, 0x33d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x33dc, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x33dd, 0x33f3, 0x0000, 0x0000, 0x33f5, 0x33f6, 0x0000, 0x0000, 0x33f7,\r
+ 0x0000, 0x0000, 0x33f9, 0x0000, 0x33fe, 0x0000, 0x0000, 0x0000, 0x33ff, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x340d, 0x0000, 0x3410, 0x0000, 0x0000, 0x0000, 0x3411,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3412, 0x0000, 0x0000, 0x3413,\r
+ 0x0000, 0x3417, 0x0000, 0x0000, 0x341e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x341f, 0x0000, 0x342a, 0x0000, 0x3432, 0x0000, 0x3436, 0x3437, 0x3439, 0x0000,\r
+ 0x0000, 0x343b, 0x343c, 0x0000, 0x343d, 0x343e, 0x0000, 0x3440, 0x0000, 0x3444,\r
+ 0x3445, 0x344a, 0x0000, 0x344b, 0x344c, 0x0000, 0x344d, 0x344f, 0x3453, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3459, 0x3461, 0x0000, 0x3462, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x346c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x346e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x346f, 0x0000, 0x0000, 0x0000, 0x0000, 0x3471, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3473, 0x0000, 0x0000, 0x0000, 0x3474, 0x0000,\r
+ 0x0000, 0x3476, 0x347e, 0x0000, 0x347f, 0x0000, 0x3485, 0x0000, 0x3488, 0x3489,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x348b, 0x0000, 0x3491, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3492, 0x3493, 0x0000, 0x3494, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3498, 0x3499, 0x349a, 0x349e, 0x0000, 0x349f, 0x34a0, 0x34a2, 0x34a3,\r
+ 0x0000, 0x34a4, 0x0000, 0x0000, 0x34a6, 0x34a7, 0x0000, 0x34a9, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x34af, 0x0000, 0x34b2, 0x0000, 0x34b5, 0x0000, 0x0000, 0x34b6,\r
+ 0x0000, 0x0000, 0x34b7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34b8, 0x34b9, 0x0000,\r
+ 0x34bc, 0x0000, 0x0000, 0x34cc, 0x34d2, 0x0000, 0x0000, 0x34d5, 0x34d8, 0x0000,\r
+ 0x0000, 0x0000, 0x34da, 0x34df, 0x0000, 0x34e1, 0x34e3, 0x0000, 0x34e4, 0x0000,\r
+ 0x34e7, 0x0000, 0x34e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34e9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x34eb, 0x0000, 0x0000, 0x0000,\r
+ 0x34ed, 0x34f3, 0x0000, 0x0000, 0x0000, 0x34f4, 0x34f5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x34f6, 0x0000, 0x34fb, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x34fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x34fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3501, 0x0000, 0x0000,\r
+ 0x3503, 0x0000, 0x0000, 0x0000, 0x0000, 0x3505, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x350a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x350d, 0x0000, 0x3512, 0x0000, 0x351b, 0x0000, 0x3520,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3521, 0x3523,\r
+ 0x0000, 0x3524, 0x3525, 0x3526, 0x3527, 0x0000, 0x0000, 0x3531, 0x3532, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3537, 0x0000, 0x3539, 0x353b,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x353d, 0x0000,\r
+ 0x0000, 0x0000, 0x3542, 0x0000, 0x0000, 0x0000, 0x3546, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3556, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3558, 0x0000, 0x355b, 0x0000,\r
+ 0x0000, 0x355c, 0x0000, 0x0000, 0x355e, 0x0000, 0x0000, 0x0000, 0x355f, 0x0000,\r
+ 0x3560, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3564, 0x0000, 0x3565, 0x3567,\r
+ 0x0000, 0x0000, 0x3568, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x356b,\r
+ 0x3575, 0x0000, 0x3576, 0x0000, 0x0000, 0x0000, 0x3577, 0x0000, 0x0000, 0x0000,\r
+ 0x357c, 0x357e, 0x3581, 0x0000, 0x0000, 0x0000, 0x3586, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3589, 0x0000, 0x0000, 0x0000, 0x0000, 0x358b, 0x0000, 0x0000,\r
+ 0x0000, 0x3592, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3593, 0x0000, 0x3594, 0x3595, 0x0000, 0x0000, 0x3597, 0x359c, 0x35a2,\r
+ 0x35a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35a4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35a6, 0x0000, 0x35a8,\r
+ 0x0000, 0x0000, 0x35a9, 0x35aa, 0x35b3, 0x0000, 0x35b7, 0x0000, 0x0000, 0x35b8,\r
+ 0x0000, 0x0000, 0x0000, 0x35b9, 0x0000, 0x35bd, 0x0000, 0x0000, 0x35c2, 0x35c3,\r
+ 0x0000, 0x35c4, 0x35c5, 0x0000, 0x35c6, 0x0000, 0x0000, 0x35c7, 0x0000, 0x0000,\r
+ 0x0000, 0x35c8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x35c9,\r
+ 0x0000, 0x0000, 0x35cc, 0x0000, 0x35cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x35d0, 0x35d2, 0x35db, 0x0000, 0x0000, 0x0000, 0x35e5,\r
+ 0x0000, 0x35e6, 0x0000, 0x35e9, 0x0000, 0x35ec, 0x35ee, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x35f8, 0x35f9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x360a, 0x0000, 0x360c, 0x0000,\r
+ 0x0000, 0x360e, 0x0000, 0x0000, 0x360f, 0x0000, 0x3610, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3612, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3613, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3615, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3622, 0x0000, 0x0000, 0x3624, 0x0000, 0x0000,\r
+ 0x3625, 0x0000, 0x0000, 0x3626, 0x3627, 0x0000, 0x362c, 0x0000, 0x362d, 0x362e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3630, 0x0000, 0x0000, 0x0000, 0x0000, 0x3631, 0x3636, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x363e, 0x0000, 0x3640,\r
+ 0x3641, 0x3642, 0x0000, 0x0000, 0x3643, 0x3646, 0x0000, 0x3649, 0x364b, 0x364c,\r
+ 0x3650, 0x0000, 0x0000, 0x3652, 0x0000, 0x0000, 0x0000, 0x3655, 0x0000, 0x0000,\r
+ 0x0000, 0x3656, 0x0000, 0x0000, 0x0000, 0x3657, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3658, 0x365d, 0x0000, 0x0000, 0x0000, 0x0000, 0x365e, 0x0000, 0x365f,\r
+ 0x0000, 0x0000, 0x3660, 0x0000, 0x0000, 0x0000, 0x3661, 0x0000, 0x0000, 0x3662,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3664, 0x0000, 0x3667,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x366c, 0x0000, 0x366d, 0x0000, 0x366e,\r
+ 0x0000, 0x0000, 0x366f, 0x0000, 0x3678, 0x0000, 0x0000, 0x0000, 0x3682, 0x0000,\r
+ 0x0000, 0x3683, 0x0000, 0x0000, 0x0000, 0x0000, 0x3684, 0x0000, 0x3685, 0x0000,\r
+ 0x368f, 0x3691, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3692, 0x36a6, 0x0000, 0x36a7, 0x36aa, 0x0000,\r
+ 0x36ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x36ac, 0x0000, 0x0000, 0x36af, 0x0000,\r
+ 0x0000, 0x0000, 0x36c2, 0x0000, 0x36c3, 0x0000, 0x36c5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x36d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x36db, 0x0000, 0x0000, 0x0000, 0x0000, 0x36de, 0x0000, 0x0000,\r
+ 0x0000, 0x36e0, 0x36e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x36e3, 0x0000, 0x0000, 0x36e4, 0x36e8, 0x0000, 0x36ef,\r
+ 0x0000, 0x36f0, 0x36f2, 0x0000, 0x0000, 0x36f3, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x36f4, 0x0000, 0x0000, 0x0000, 0x36f8,\r
+ 0x0000, 0x36fa, 0x36fb, 0x0000, 0x36fc, 0x36ff, 0x3705, 0x3706, 0x3707, 0x370d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x370f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3710, 0x3711, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3712, 0x0000, 0x3716, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3717, 0x0000,\r
+ 0x0000, 0x0000, 0x3718, 0x0000, 0x0000, 0x3719, 0x0000, 0x0000, 0x0000, 0x371b,\r
+ 0x371c, 0x0000, 0x0000, 0x371d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3725, 0x0000, 0x0000, 0x0000, 0x0000, 0x3726, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3727, 0x0000, 0x0000, 0x3728, 0x0000, 0x0000, 0x3729, 0x0000,\r
+ 0x372a, 0x372f, 0x0000, 0x3730, 0x3738, 0x0000, 0x0000, 0x373a, 0x0000, 0x373c,\r
+ 0x0000, 0x0000, 0x0000, 0x373d, 0x373e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3742,\r
+ 0x0000, 0x0000, 0x3745, 0x0000, 0x3747, 0x0000, 0x0000, 0x0000, 0x3748, 0x0000,\r
+ 0x0000, 0x3749, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x374a, 0x0000, 0x374c, 0x374d, 0x0000, 0x0000, 0x374f, 0x0000, 0x3751,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3752, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3753, 0x0000, 0x0000, 0x375d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x375e, 0x0000, 0x0000, 0x3760, 0x0000, 0x0000, 0x3762, 0x0000, 0x0000,\r
+ 0x3763, 0x3765, 0x0000, 0x0000, 0x3766, 0x3769, 0x376b, 0x0000, 0x376e, 0x0000,\r
+ 0x0000, 0x3775, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3776, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3777, 0x3778, 0x0000, 0x0000, 0x0000, 0x377c, 0x0000, 0x0000, 0x3780,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3797, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x379a, 0x0000, 0x0000, 0x379b, 0x0000, 0x0000, 0x0000, 0x37a0, 0x37a1,\r
+ 0x0000, 0x0000, 0x0000, 0x37a6, 0x0000, 0x0000, 0x0000, 0x37a7, 0x0000, 0x37aa,\r
+ 0x0000, 0x0000, 0x37ab, 0x0000, 0x0000, 0x37ae, 0x0000, 0x0000, 0x37b0, 0x0000,\r
+ 0x0000, 0x0000, 0x37b4, 0x0000, 0x37b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x37b6,\r
+ 0x37bb, 0x37bd, 0x0000, 0x0000, 0x37c5, 0x0000, 0x0000, 0x37c6, 0x0000, 0x37c7,\r
+ 0x37ca, 0x0000, 0x0000, 0x0000, 0x37cb, 0x0000, 0x0000, 0x0000, 0x37cc, 0x37cd,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x37ce, 0x0000, 0x0000, 0x0000, 0x37d0, 0x0000,\r
+ 0x0000, 0x0000, 0x37d1, 0x0000, 0x37d2, 0x0000, 0x37d5, 0x37dd, 0x37de, 0x37e0,\r
+ 0x37e1, 0x0000, 0x37e3, 0x0000, 0x37e4, 0x37e5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37e7, 0x37e8, 0x0000,\r
+ 0x0000, 0x37ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37ee,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x37f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x37f1,\r
+ 0x37f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x37f6, 0x37f9, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x37fa, 0x37fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x37fc, 0x0000,\r
+ 0x0000, 0x0000, 0x37fd, 0x0000, 0x0000, 0x3801, 0x3804, 0x0000, 0x3805, 0x0000,\r
+ 0x0000, 0x3806, 0x0000, 0x3809, 0x380a, 0x0000, 0x0000, 0x380b, 0x0000, 0x381a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x381c, 0x381d, 0x3823, 0x0000, 0x3825,\r
+ 0x0000, 0x0000, 0x3826, 0x0000, 0x382b, 0x0000, 0x3840, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3841, 0x0000, 0x0000, 0x3845, 0x0000, 0x3846, 0x0000, 0x3848,\r
+ 0x3849, 0x0000, 0x0000, 0x0000, 0x3851, 0x0000, 0x0000, 0x3858, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x385e, 0x0000, 0x0000,\r
+ 0x0000, 0x385f, 0x0000, 0x0000, 0x3863, 0x0000, 0x3868, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x386a, 0x0000, 0x0000, 0x386b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x386e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3876, 0x0000, 0x3879, 0x0000, 0x387c, 0x0000, 0x0000, 0x3882, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3883, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3885, 0x0000, 0x388d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x388e,\r
+ 0x3892, 0x0000, 0x0000, 0x0000, 0x3893, 0x0000, 0x0000, 0x0000, 0x3895, 0x3896,\r
+ 0x0000, 0x0000, 0x0000, 0x3897, 0x3898, 0x3899, 0x389c, 0x389d, 0x389e, 0x389f,\r
+ 0x38a0, 0x38a1, 0x0000, 0x38a3, 0x0000, 0x38a5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38a6, 0x0000, 0x38ab, 0x38b0,\r
+ 0x38b1, 0x38b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x38b3, 0x38be, 0x38c2, 0x0000, 0x38c9, 0x0000, 0x38d0,\r
+ 0x0000, 0x38d3, 0x0000, 0x0000, 0x38d4, 0x38d6, 0x38d7, 0x0000, 0x0000, 0x38d8,\r
+ 0x0000, 0x0000, 0x0000, 0x38d9, 0x0000, 0x38da, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x38dc, 0x38e4, 0x0000, 0x0000, 0x38e5, 0x38e6, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x38e8, 0x0000, 0x0000, 0x38e9, 0x0000, 0x0000, 0x0000, 0x38eb,\r
+ 0x38f0, 0x0000, 0x0000, 0x38f1, 0x38f2, 0x38f3, 0x0000, 0x0000, 0x38f4, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x38f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x38f7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x38fb, 0x0000, 0x38fc, 0x0000, 0x0000, 0x3908, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3909, 0x0000,\r
+ 0x0000, 0x390c, 0x390d, 0x3913, 0x0000, 0x3915, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3917, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3923, 0x0000, 0x3924,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3927, 0x0000, 0x3929, 0x392a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x392b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x392c, 0x0000, 0x0000, 0x392f, 0x3932, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3934, 0x0000, 0x0000, 0x0000, 0x0000, 0x3935, 0x3936, 0x0000, 0x393d, 0x0000,\r
+ 0x0000, 0x393e, 0x0000, 0x3942, 0x0000, 0x3945, 0x0000, 0x0000, 0x0000, 0x3949,\r
+ 0x0000, 0x0000, 0x0000, 0x394c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x394d, 0x0000, 0x0000, 0x394e, 0x0000, 0x0000, 0x0000,\r
+ 0x3958, 0x0000, 0x0000, 0x3959, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x395a,\r
+ 0x395b, 0x0000, 0x0000, 0x0000, 0x0000, 0x395e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x395f, 0x3969, 0x0000, 0x0000, 0x0000, 0x0000, 0x396b, 0x3971, 0x3977, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3978,\r
+ 0x0000, 0x0000, 0x0000, 0x3979, 0x0000, 0x0000, 0x0000, 0x0000, 0x397f, 0x0000,\r
+ 0x3980, 0x3981, 0x3986, 0x0000, 0x0000, 0x0000, 0x3988, 0x3989, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x398b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x398d, 0x3990, 0x3991, 0x0000, 0x0000, 0x3994, 0x3996, 0x0000, 0x0000, 0x0000,\r
+ 0x3998, 0x39a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x39a3, 0x39a6, 0x39a8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x39a9, 0x39aa, 0x39ad, 0x39b3, 0x0000, 0x39b4,\r
+ 0x0000, 0x39b5, 0x39b6, 0x0000, 0x0000, 0x39b7, 0x0000, 0x0000, 0x39b8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x39b9, 0x0000, 0x39bb, 0x0000, 0x0000, 0x39be, 0x0000,\r
+ 0x0000, 0x39c1, 0x39c2, 0x39c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39cb,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39ce, 0x0000, 0x39d3, 0x39d4,\r
+ 0x39d6, 0x0000, 0x0000, 0x0000, 0x39d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x39da, 0x0000, 0x0000, 0x0000, 0x0000, 0x39db, 0x0000, 0x39dc, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x39df, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x39e0, 0x0000, 0x39e2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x39e3, 0x0000, 0x39e4, 0x0000, 0x39e7, 0x0000, 0x0000, 0x0000,\r
+ 0x39e8, 0x0000, 0x0000, 0x39ea, 0x39eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39ee, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x39f1, 0x0000, 0x39fd, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x39fe, 0x0000, 0x0000, 0x39ff, 0x3a17, 0x0000, 0x3a19, 0x0000, 0x3a1c,\r
+ 0x0000, 0x3a1d, 0x3a1e, 0x3a20, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a21,\r
+ 0x0000, 0x3a22, 0x3a2e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a2f, 0x0000, 0x3a3b,\r
+ 0x0000, 0x3a3c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a3f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3a48, 0x0000, 0x0000, 0x3a53, 0x0000, 0x3a54,\r
+ 0x3a56, 0x3a57, 0x0000, 0x0000, 0x3a58, 0x0000, 0x3a61, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3a63, 0x0000, 0x0000, 0x3a64, 0x3a65, 0x3a67,\r
+ 0x0000, 0x0000, 0x3a68, 0x0000, 0x0000, 0x0000, 0x3a74, 0x3a7d, 0x0000, 0x0000,\r
+ 0x3a8e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a93, 0x0000, 0x0000, 0x3a96, 0x3a99,\r
+ 0x0000, 0x0000, 0x3a9a, 0x3aac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3aad, 0x0000, 0x3aae, 0x0000, 0x0000, 0x0000, 0x0000, 0x3aaf, 0x0000, 0x0000,\r
+ 0x3ab1, 0x3ab5, 0x3ab9, 0x0000, 0x0000, 0x0000, 0x3aba, 0x0000, 0x0000, 0x0000,\r
+ 0x3abb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ac3, 0x3ac4, 0x0000, 0x0000,\r
+ 0x0000, 0x3ac5, 0x3ac6, 0x3ac8, 0x3aca, 0x0000, 0x3ad9, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3ada, 0x0000, 0x0000, 0x3ae3, 0x3aea, 0x3aec, 0x0000, 0x0000, 0x3aed,\r
+ 0x3aee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3af0,\r
+ 0x0000, 0x0000, 0x0000, 0x3af1, 0x0000, 0x0000, 0x0000, 0x0000, 0x3af6, 0x0000,\r
+ 0x3af8, 0x0000, 0x3af9, 0x0000, 0x3afc, 0x0000, 0x0000, 0x3afe, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b01, 0x0000, 0x0000, 0x3b02,\r
+ 0x0000, 0x3b05, 0x3b09, 0x0000, 0x0000, 0x0000, 0x3b0b, 0x0000, 0x3b0e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b0f, 0x0000, 0x0000, 0x3b10, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3b13, 0x3b19, 0x0000, 0x0000, 0x0000, 0x3b1a,\r
+ 0x0000, 0x3b1b, 0x0000, 0x0000, 0x3b1e, 0x0000, 0x3b1f, 0x0000, 0x0000, 0x0000,\r
+ 0x3b21, 0x3b22, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b23, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3b24, 0x0000, 0x0000, 0x3b32, 0x3b3a, 0x0000,\r
+ 0x3b41, 0x3b42, 0x0000, 0x3b47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b49,\r
+ 0x0000, 0x3b4a, 0x3b4b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b4f, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3b51, 0x3b53, 0x0000, 0x3b5a, 0x3b5b, 0x3b5c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3b64, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b66,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b67, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b6d, 0x0000, 0x3b6e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b80, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3b82, 0x0000, 0x3b86, 0x3b88, 0x0000, 0x3b90, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3b92, 0x3b93, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3b94,\r
+ 0x0000, 0x0000, 0x0000, 0x3b97, 0x3b9e, 0x3ba2, 0x0000, 0x0000, 0x0000, 0x3ba3,\r
+ 0x0000, 0x0000, 0x0000, 0x3bad, 0x3baf, 0x0000, 0x0000, 0x0000, 0x3bb0, 0x3bb1,\r
+ 0x3bb2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bb5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3bb9, 0x0000, 0x0000, 0x3bbb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3bc0, 0x3bc1, 0x0000, 0x0000, 0x3bc8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3bca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bcb, 0x3bcc,\r
+ 0x0000, 0x3bcd, 0x0000, 0x0000, 0x3bcf, 0x0000, 0x0000, 0x3bd0, 0x3bd1, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3bd2, 0x3bd5, 0x0000, 0x0000, 0x0000, 0x3bd6, 0x3bd7, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3bd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bd9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bdc, 0x0000, 0x3bdd, 0x3bde, 0x0000,\r
+ 0x3be2, 0x0000, 0x0000, 0x0000, 0x0000, 0x3be6, 0x0000, 0x3be7, 0x0000, 0x3bed,\r
+ 0x0000, 0x0000, 0x3bee, 0x0000, 0x0000, 0x3bef, 0x3bf0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3bf1, 0x0000, 0x0000, 0x0000, 0x0000, 0x3bf3, 0x0000, 0x0000, 0x3bf4,\r
+ 0x3bf5, 0x3bf6, 0x0000, 0x3bfc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3bfd, 0x0000, 0x3bfe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3bff, 0x3c00, 0x3c04, 0x0000, 0x3c14, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3c20, 0x0000, 0x0000, 0x3c21, 0x0000, 0x3c23, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3c24, 0x0000, 0x0000, 0x3c25, 0x3c26, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c27, 0x0000,\r
+ 0x3c28, 0x0000, 0x0000, 0x0000, 0x3c2a, 0x0000, 0x3c2d, 0x3c32, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3c33, 0x0000, 0x0000, 0x0000, 0x3c34, 0x0000, 0x3c38, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c44, 0x0000, 0x3c4b, 0x0000,\r
+ 0x0000, 0x3c4e, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c4f, 0x0000, 0x0000, 0x0000,\r
+ 0x3c50, 0x0000, 0x0000, 0x0000, 0x3c51, 0x3c59, 0x3c5b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3c5c, 0x0000, 0x0000, 0x3c5f, 0x0000, 0x0000,\r
+ 0x0000, 0x3c60, 0x0000, 0x0000, 0x3c62, 0x0000, 0x3c64, 0x3c65, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3c66, 0x3c68, 0x0000, 0x3c69, 0x0000, 0x0000, 0x3c6a,\r
+ 0x0000, 0x0000, 0x3c6b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c6c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3c79, 0x0000, 0x0000, 0x3c7c, 0x0000, 0x3c7d, 0x3c7e,\r
+ 0x0000, 0x0000, 0x0000, 0x3c7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c80,\r
+ 0x0000, 0x3c84, 0x3c8a, 0x0000, 0x0000, 0x0000, 0x3c8b, 0x0000, 0x0000, 0x0000,\r
+ 0x3c8c, 0x0000, 0x3c8d, 0x0000, 0x0000, 0x3c98, 0x0000, 0x3ca2, 0x0000, 0x0000,\r
+ 0x0000, 0x3ca4, 0x0000, 0x3ca5, 0x3ca6, 0x0000, 0x0000, 0x3ca7, 0x0000, 0x0000,\r
+ 0x3cb9, 0x3cba, 0x0000, 0x3cbc, 0x3cc0, 0x0000, 0x3cc1, 0x0000, 0x0000, 0x0000,\r
+ 0x3cc2, 0x0000, 0x3cc3, 0x0000, 0x3cc5, 0x3ccd, 0x3cd5, 0x3cd9, 0x3cda, 0x0000,\r
+ 0x3cde, 0x0000, 0x3cdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ce2, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3ce4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ce5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ce9, 0x3cea, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3ceb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cec, 0x0000,\r
+ 0x0000, 0x0000, 0x3ced, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cf0, 0x0000, 0x0000,\r
+ 0x3cf1, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cf2, 0x3cf3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3cf4, 0x0000, 0x3cf9, 0x0000, 0x0000, 0x3cfc, 0x0000,\r
+ 0x0000, 0x3cfd, 0x0000, 0x0000, 0x3cff, 0x3d01, 0x3d02, 0x0000, 0x0000, 0x3d04,\r
+ 0x0000, 0x3d14, 0x3d15, 0x0000, 0x0000, 0x3d21, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3d22, 0x0000, 0x0000, 0x3d23, 0x0000, 0x0000, 0x0000,\r
+ 0x3d28, 0x0000, 0x3d2a, 0x0000, 0x0000, 0x0000, 0x3d30, 0x0000, 0x0000, 0x3d31,\r
+ 0x0000, 0x0000, 0x3d34, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d35, 0x0000,\r
+ 0x0000, 0x3d3a, 0x0000, 0x0000, 0x3d3b, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d3c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3d3d, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d3e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3d3f, 0x0000, 0x0000, 0x3d41, 0x0000, 0x3d46, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3d47, 0x0000, 0x3d48, 0x0000, 0x0000, 0x3d4a, 0x0000, 0x0000,\r
+ 0x0000, 0x3d51, 0x0000, 0x3d53, 0x3d54, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3d55, 0x0000, 0x3d56, 0x3d57, 0x0000, 0x3d58,\r
+ 0x0000, 0x3d59, 0x0000, 0x3d5b, 0x0000, 0x3d5d, 0x0000, 0x3d60, 0x3d64, 0x0000,\r
+ 0x3d65, 0x0000, 0x3d66, 0x3d68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d6c,\r
+ 0x0000, 0x0000, 0x0000, 0x3d6d, 0x0000, 0x3d6e, 0x0000, 0x0000, 0x0000, 0x3d7c,\r
+ 0x0000, 0x3d81, 0x3d82, 0x0000, 0x0000, 0x3d83, 0x0000, 0x3d84, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3d85, 0x0000, 0x0000, 0x0000, 0x3d88, 0x0000, 0x3d89,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3d8f, 0x0000, 0x0000, 0x0000,\r
+ 0x3d95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3d97, 0x0000, 0x0000, 0x0000, 0x3d9b, 0x0000, 0x0000, 0x3da8, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3da9, 0x3dae, 0x3daf, 0x0000, 0x0000, 0x3db0, 0x0000, 0x0000,\r
+ 0x0000, 0x3dbf, 0x0000, 0x3dc3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dca, 0x0000, 0x0000, 0x0000,\r
+ 0x3dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dcd, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3dce, 0x3dd0, 0x0000, 0x0000, 0x3dd3, 0x0000, 0x0000, 0x3dd5, 0x3dd7,\r
+ 0x0000, 0x3dd8, 0x0000, 0x0000, 0x3dd9, 0x0000, 0x3ddb, 0x3dde, 0x3ddf, 0x3de3,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3de4, 0x0000, 0x0000, 0x0000, 0x0000, 0x3de5, 0x3deb, 0x3df0, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3df2, 0x3df4, 0x0000, 0x3df5,\r
+ 0x0000, 0x0000, 0x0000, 0x3df8, 0x0000, 0x0000, 0x0000, 0x0000, 0x3df9, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3dfa, 0x0000, 0x3e00, 0x0000, 0x0000,\r
+ 0x3e04, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e05, 0x3e06, 0x3e0b, 0x3e0d, 0x0000,\r
+ 0x0000, 0x3e10, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e11, 0x3e12, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e14, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e15, 0x0000, 0x0000, 0x3e16, 0x0000,\r
+ 0x0000, 0x0000, 0x3e17, 0x0000, 0x3e18, 0x3e19, 0x0000, 0x3e1a, 0x3e1d, 0x3e1e,\r
+ 0x0000, 0x3e27, 0x3e2b, 0x0000, 0x3e2c, 0x0000, 0x3e34, 0x3e3f, 0x0000, 0x3e41,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e4e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3e56, 0x0000, 0x0000, 0x0000, 0x3e59, 0x0000, 0x0000,\r
+ 0x3e5e, 0x0000, 0x3e5f, 0x0000, 0x0000, 0x3e69, 0x0000, 0x0000, 0x3e6a, 0x0000,\r
+ 0x0000, 0x3e6d, 0x3e6e, 0x3e6f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3e72, 0x0000, 0x0000, 0x0000, 0x3e76, 0x0000, 0x3e77, 0x3e7b, 0x3e7e,\r
+ 0x0000, 0x3e7f, 0x0000, 0x3e80, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e88, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3e89, 0x3e8b,\r
+ 0x0000, 0x3e8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3e8e, 0x0000, 0x0000, 0x3e8f, 0x3e97, 0x3e98, 0x3e99, 0x0000, 0x0000, 0x3e9a,\r
+ 0x0000, 0x3e9e, 0x0000, 0x3ea0, 0x0000, 0x3ea1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3ea3, 0x3ea4, 0x3ea5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3ea7, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ea9, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x3eab, 0x3eac, 0x0000, 0x0000, 0x3eaf, 0x0000, 0x0000, 0x0000, 0x3eb0,\r
+ 0x0000, 0x0000, 0x3eb1, 0x3eb2, 0x3eb4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3eb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3eb8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3eba, 0x3ebc, 0x3ebd,\r
+ 0x0000, 0x0000, 0x3ebf, 0x0000, 0x0000, 0x3ec0, 0x0000, 0x0000, 0x0000, 0x3ec3,\r
+ 0x3ec4, 0x0000, 0x0000, 0x3ec5, 0x3ece, 0x0000, 0x0000, 0x0000, 0x3ecf, 0x0000,\r
+ 0x0000, 0x0000, 0x3ed0, 0x0000, 0x3ed1, 0x0000, 0x0000, 0x0000, 0x3ed8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3ed9, 0x3edd, 0x0000, 0x3ee1, 0x0000, 0x3ee7, 0x0000, 0x3ee8, 0x3ee9, 0x0000,\r
+ 0x0000, 0x3f80, 0x0000, 0x0000, 0x3f83, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x3f84, 0x3f85, 0x0000, 0x0000, 0x3f86, 0x0000, 0x0000, 0x3f87,\r
+ 0x0000, 0x3f8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3f8d,\r
+ 0x0000, 0x0000, 0x3f8e, 0x3f91, 0x0000, 0x3f92, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3f93, 0x3f94, 0x3f95, 0x3f98, 0x0000, 0x0000, 0x0000, 0x3f99, 0x3f9c, 0x0000,\r
+ 0x0000, 0x0000, 0x3f9e, 0x0000, 0x3fa1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa2, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa3,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fa5, 0x3fa7, 0x3fa9, 0x0000,\r
+ 0x3fae, 0x0000, 0x3fb0, 0x0000, 0x3fb1, 0x0000, 0x3fb2, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fb3,\r
+ 0x3fb4, 0x3fb8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fb9, 0x3fbb,\r
+ 0x0000, 0x3fbe, 0x0000, 0x0000, 0x0000, 0x3fc1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3fc6, 0x3fcd, 0x3fd0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3fd1, 0x3fd4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fd9, 0x0000, 0x0000,\r
+ 0x3fda, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x3fdb, 0x0000, 0x0000, 0x3fdc, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fdd, 0x0000,\r
+ 0x0000, 0x0000, 0x3fde, 0x0000, 0x3fe5, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fe7,\r
+ 0x3fe8, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fea, 0x3feb, 0x3fec, 0x3fed, 0x0000,\r
+ 0x0000, 0x3fee, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fef, 0x3ff0, 0x0000, 0x3ff1,\r
+ 0x3ff6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ff8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x3ffa, 0x3ffb, 0x0000, 0x3ffc, 0x0000, 0x0000, 0x0000,\r
+ 0x3ffd, 0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4006, 0x0000, 0x0000,\r
+ 0x0000, 0x400f, 0x0000, 0x4012, 0x4014, 0x4016, 0x4017, 0x0000, 0x0000, 0x0000,\r
+ 0x4019, 0x401b, 0x0000, 0x0000, 0x0000, 0x0000, 0x401c, 0x0000, 0x401d, 0x401f,\r
+ 0x4027, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4028, 0x0000, 0x0000, 0x0000,\r
+ 0x402c, 0x4032, 0x4033, 0x4041, 0x0000, 0x4042, 0x4043, 0x0000, 0x0000, 0x0000,\r
+ 0x4045, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4046, 0x0000, 0x0000, 0x4048,\r
+ 0x404a, 0x0000, 0x0000, 0x404b, 0x0000, 0x0000, 0x404c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x404e, 0x0000, 0x404f, 0x0000, 0x0000, 0x4052, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x405f, 0x0000, 0x0000, 0x4060, 0x0000, 0x4061, 0x4064, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4065,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4069, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x406b, 0x0000, 0x0000, 0x4072, 0x0000, 0x0000, 0x4077, 0x0000,\r
+ 0x4079, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x407a,\r
+ 0x0000, 0x0000, 0x0000, 0x407c, 0x407d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x407f, 0x4081, 0x0000, 0x0000, 0x0000, 0x4084, 0x0000,\r
+ 0x4085, 0x0000, 0x4087, 0x0000, 0x4091, 0x0000, 0x0000, 0x4093, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4096, 0x0000, 0x0000, 0x409d, 0x409e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x409f, 0x40a3,\r
+ 0x40a4, 0x0000, 0x0000, 0x0000, 0x40a7, 0x0000, 0x40a8, 0x0000, 0x0000, 0x0000,\r
+ 0x40a9, 0x0000, 0x0000, 0x40ae, 0x0000, 0x0000, 0x40b2, 0x40b5, 0x0000, 0x0000,\r
+ 0x0000, 0x40ba, 0x0000, 0x0000, 0x0000, 0x40bd, 0x40c9, 0x0000, 0x0000, 0x0000,\r
+ 0x40ca, 0x40cb, 0x40d3, 0x0000, 0x40d4, 0x0000, 0x40d6, 0x0000, 0x0000, 0x0000,\r
+ 0x40d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x40d9, 0x0000, 0x0000, 0x0000, 0x0000, 0x40db,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x40dc, 0x40e4, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x40e5, 0x0000, 0x40ea, 0x0000, 0x0000, 0x0000, 0x4100,\r
+ 0x0000, 0x0000, 0x4101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4105,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4106, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x410b, 0x0000, 0x0000, 0x0000, 0x0000, 0x410d, 0x410e, 0x0000, 0x0000,\r
+ 0x0000, 0x410f, 0x0000, 0x0000, 0x4110, 0x411b, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x411f, 0x0000, 0x4120, 0x0000, 0x0000, 0x0000, 0x4121, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4124, 0x0000, 0x412e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4131,\r
+ 0x0000, 0x4132, 0x0000, 0x4134, 0x0000, 0x4135, 0x0000, 0x4136, 0x0000, 0x4138,\r
+ 0x0000, 0x0000, 0x0000, 0x4141, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4143, 0x0000, 0x0000, 0x0000, 0x4145, 0x0000, 0x0000, 0x0000, 0x0000, 0x4147,\r
+ 0x0000, 0x4148, 0x4149, 0x0000, 0x0000, 0x0000, 0x414b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x414c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x414e, 0x4154, 0x0000, 0x0000, 0x4156, 0x4157, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4158, 0x0000, 0x4159, 0x0000, 0x0000, 0x415a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x415b, 0x0000, 0x0000, 0x0000, 0x415c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x415e, 0x4162, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4167, 0x0000, 0x0000, 0x4169, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x416d, 0x0000, 0x4170, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4174, 0x0000, 0x0000, 0x4176, 0x0000, 0x4177, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4178, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x417a,\r
+ 0x0000, 0x4181, 0x0000, 0x4182, 0x0000, 0x4184, 0x0000, 0x0000, 0x0000, 0x4189,\r
+ 0x418c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x418d, 0x0000, 0x0000,\r
+ 0x418e, 0x0000, 0x4190, 0x0000, 0x0000, 0x4191, 0x4193, 0x4198, 0x0000, 0x0000,\r
+ 0x419a, 0x0000, 0x0000, 0x0000, 0x419e, 0x0000, 0x0000, 0x41a9, 0x0000, 0x0000,\r
+ 0x41ae, 0x41b0, 0x41b1, 0x0000, 0x41b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41b4, 0x0000, 0x0000, 0x41c4, 0x41c7,\r
+ 0x0000, 0x0000, 0x41c9, 0x41d3, 0x41d9, 0x0000, 0x0000, 0x41da, 0x41db, 0x0000,\r
+ 0x0000, 0x41dc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x41de, 0x0000, 0x41df, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x41e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41ec, 0x0000,\r
+ 0x41f1, 0x41f2, 0x0000, 0x41f5, 0x41f6, 0x0000, 0x41f7, 0x0000, 0x0000, 0x0000,\r
+ 0x41f9, 0x41fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41fe, 0x41ff, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4201, 0x0000, 0x4202, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4211, 0x0000,\r
+ 0x0000, 0x421c, 0x421d, 0x421e, 0x0000, 0x0000, 0x421f, 0x0000, 0x0000, 0x0000,\r
+ 0x4229, 0x422a, 0x0000, 0x0000, 0x0000, 0x422c, 0x422d, 0x0000, 0x0000, 0x0000,\r
+ 0x422e, 0x4231, 0x0000, 0x4232, 0x4235, 0x4236, 0x0000, 0x0000, 0x0000, 0x4238,\r
+ 0x423b, 0x0000, 0x0000, 0x0000, 0x4245, 0x0000, 0x4249, 0x0000, 0x0000, 0x424f,\r
+ 0x0000, 0x0000, 0x4250, 0x0000, 0x0000, 0x0000, 0x0000, 0x4252, 0x0000, 0x0000,\r
+ 0x4255, 0x0000, 0x4257, 0x425d, 0x0000, 0x0000, 0x0000, 0x0000, 0x425e, 0x0000,\r
+ 0x0000, 0x425f, 0x0000, 0x0000, 0x0000, 0x4261, 0x0000, 0x4262, 0x4264, 0x4268,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x426a, 0x426c, 0x0000, 0x426e, 0x0000,\r
+ 0x0000, 0x426f, 0x0000, 0x0000, 0x0000, 0x0000, 0x4270, 0x4275, 0x4276, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x427d, 0x0000,\r
+ 0x4287, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4289, 0x428c, 0x0000, 0x428e,\r
+ 0x0000, 0x0000, 0x428f, 0x0000, 0x4295, 0x0000, 0x0000, 0x4296, 0x4297, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4298, 0x0000, 0x4299, 0x429a, 0x0000, 0x429b, 0x429d,\r
+ 0x0000, 0x429e, 0x0000, 0x429f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42a7,\r
+ 0x0000, 0x0000, 0x42a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x42a9, 0x0000, 0x0000, 0x42ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b0,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b2, 0x0000, 0x42b8, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42b9,\r
+ 0x42bb, 0x42bc, 0x0000, 0x0000, 0x0000, 0x42bd, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x42c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x42c5, 0x0000, 0x42c7, 0x42ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x42cf, 0x0000, 0x0000, 0x42d1, 0x0000, 0x42d3, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x42da, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42db, 0x42e5, 0x42e7, 0x0000,\r
+ 0x0000, 0x42e8, 0x0000, 0x0000, 0x0000, 0x42e9, 0x42ea, 0x0000, 0x42eb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x42ec, 0x42ef, 0x42f9, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42fa, 0x0000, 0x42fb, 0x0000, 0x42fc,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42fd, 0x42fe, 0x0000, 0x42ff,\r
+ 0x4301, 0x0000, 0x4303, 0x0000, 0x0000, 0x0000, 0x0000, 0x430b, 0x4313, 0x0000,\r
+ 0x4316, 0x0000, 0x0000, 0x0000, 0x0000, 0x431b, 0x0000, 0x0000, 0x431e, 0x4321,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4322, 0x0000, 0x0000, 0x4324, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4325, 0x4327, 0x0000, 0x432a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x432b,\r
+ 0x432c, 0x4333, 0x4334, 0x0000, 0x0000, 0x4335, 0x4341, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4342, 0x0000, 0x0000, 0x0000, 0x0000, 0x4343, 0x0000, 0x4344,\r
+ 0x0000, 0x4345, 0x0000, 0x0000, 0x434e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4354, 0x0000, 0x4356, 0x4357, 0x0000, 0x0000, 0x0000, 0x4359, 0x435c, 0x0000,\r
+ 0x0000, 0x435d, 0x0000, 0x4360, 0x0000, 0x0000, 0x4363, 0x0000, 0x4364, 0x0000,\r
+ 0x0000, 0x4370, 0x0000, 0x4372, 0x0000, 0x0000, 0x0000, 0x4374, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4377, 0x4378, 0x0000, 0x4379, 0x0000, 0x438f, 0x0000, 0x4396,\r
+ 0x0000, 0x4399, 0x0000, 0x0000, 0x0000, 0x439a, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x439c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x439d, 0x0000, 0x439e, 0x43a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x43a2, 0x43a3,\r
+ 0x0000, 0x43a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x43a6, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x43a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x43b6, 0x0000, 0x43c0, 0x43c4, 0x0000, 0x0000, 0x0000, 0x43c6, 0x43c7,\r
+ 0x0000, 0x0000, 0x43c9, 0x0000, 0x0000, 0x43ca, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x43cb, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x43cc, 0x43cd, 0x0000, 0x0000, 0x43cf, 0x0000, 0x0000, 0x0000,\r
+ 0x43db, 0x0000, 0x43dc, 0x0000, 0x0000, 0x0000, 0x43f1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x43f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x43f3, 0x0000, 0x0000,\r
+ 0x43f7, 0x0000, 0x0000, 0x0000, 0x43f9, 0x4409, 0x0000, 0x440a, 0x0000, 0x440b,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x440e, 0x440f, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4414, 0x4415,\r
+ 0x4419, 0x0000, 0x0000, 0x0000, 0x441d, 0x0000, 0x0000, 0x4421, 0x0000, 0x0000,\r
+ 0x4422, 0x0000, 0x0000, 0x442d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x442e, 0x4430, 0x4436, 0x0000, 0x0000, 0x443a, 0x0000, 0x0000,\r
+ 0x443c, 0x0000, 0x0000, 0x443d, 0x0000, 0x0000, 0x0000, 0x0000, 0x443e, 0x0000,\r
+ 0x4443, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4447, 0x0000, 0x0000, 0x0000,\r
+ 0x444b, 0x444c, 0x0000, 0x444d, 0x0000, 0x444e, 0x0000, 0x4453, 0x4454, 0x0000,\r
+ 0x0000, 0x4455, 0x0000, 0x4456, 0x4457, 0x0000, 0x0000, 0x0000, 0x4458, 0x0000,\r
+ 0x0000, 0x0000, 0x4459, 0x0000, 0x0000, 0x0000, 0x445e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x445f, 0x0000, 0x4461, 0x0000, 0x4463, 0x0000, 0x0000, 0x0000,\r
+ 0x4468, 0x4469, 0x446a, 0x0000, 0x0000, 0x446b, 0x0000, 0x0000, 0x0000, 0x446f,\r
+ 0x0000, 0x0000, 0x0000, 0x4472, 0x0000, 0x0000, 0x4473, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4477, 0x0000, 0x0000, 0x0000,\r
+ 0x4478, 0x0000, 0x0000, 0x0000, 0x447e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4480,\r
+ 0x0000, 0x0000, 0x0000, 0x4483, 0x0000, 0x4484, 0x4487, 0x448d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4494, 0x0000, 0x0000, 0x4496, 0x0000, 0x4497,\r
+ 0x0000, 0x0000, 0x4498, 0x0000, 0x0000, 0x0000, 0x449b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x449c, 0x0000, 0x0000, 0x449d, 0x449e, 0x0000, 0x449f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44a1, 0x44a2, 0x0000, 0x44a7,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x44ad, 0x0000, 0x0000, 0x0000, 0x44ae, 0x44af, 0x0000, 0x44b2, 0x0000,\r
+ 0x0000, 0x44b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44b4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x44bc, 0x44bd, 0x0000, 0x0000, 0x44be, 0x44c0,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44c1, 0x0000, 0x0000, 0x0000,\r
+ 0x44c4, 0x0000, 0x0000, 0x44c5, 0x0000, 0x0000, 0x44c7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44cc, 0x0000, 0x0000, 0x44d2,\r
+ 0x0000, 0x44d5, 0x44d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x44d7, 0x0000, 0x0000,\r
+ 0x44d8, 0x0000, 0x0000, 0x44de, 0x0000, 0x0000, 0x44df, 0x44e1, 0x44e2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e3, 0x0000, 0x0000, 0x44e4,\r
+ 0x0000, 0x0000, 0x44e5, 0x0000, 0x44e6, 0x0000, 0x44e8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44e9, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x44eb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x44ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x44ee, 0x44fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x44ff, 0x4500, 0x0000, 0x4501, 0x4502, 0x0000, 0x0000,\r
+ 0x0000, 0x4505, 0x4507, 0x4509, 0x0000, 0x450f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4514, 0x0000, 0x0000, 0x0000, 0x4516, 0x0000, 0x4532,\r
+ 0x0000, 0x0000, 0x4538, 0x453a, 0x453e, 0x0000, 0x0000, 0x4540, 0x0000, 0x0000,\r
+ 0x4541, 0x0000, 0x0000, 0x0000, 0x4544, 0x0000, 0x4545, 0x0000, 0x4546, 0x0000,\r
+ 0x0000, 0x0000, 0x4547, 0x0000, 0x0000, 0x0000, 0x0000, 0x4549, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x454b, 0x0000, 0x0000, 0x0000, 0x454d, 0x454e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x454f, 0x4550, 0x4551, 0x0000, 0x0000, 0x0000, 0x4555, 0x0000,\r
+ 0x4556, 0x4557, 0x4558, 0x455a, 0x4561, 0x4562, 0x0000, 0x4563, 0x0000, 0x4566,\r
+ 0x0000, 0x456c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x456f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4570, 0x0000, 0x0000, 0x4571, 0x0000,\r
+ 0x0000, 0x4572, 0x4573, 0x0000, 0x4576, 0x4577, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4578, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x459d, 0x0000, 0x0000, 0x0000, 0x459e, 0x0000,\r
+ 0x0000, 0x0000, 0x459f, 0x45a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45a2,\r
+ 0x45a7, 0x45a8, 0x45a9, 0x0000, 0x0000, 0x45b5, 0x0000, 0x0000, 0x0000, 0x45b6,\r
+ 0x0000, 0x0000, 0x0000, 0x45b8, 0x45ba, 0x45be, 0x0000, 0x45bf, 0x0000, 0x0000,\r
+ 0x45c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45c4, 0x45c5, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45ce, 0x45cf,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x45d0, 0x0000, 0x0000, 0x0000,\r
+ 0x45d7, 0x0000, 0x0000, 0x0000, 0x45d9, 0x45db, 0x0000, 0x45dc, 0x0000, 0x45dd,\r
+ 0x0000, 0x0000, 0x45de, 0x0000, 0x0000, 0x45df, 0x45e3, 0x4621, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4622, 0x0000, 0x0000, 0x4623, 0x0000, 0x4630, 0x0000, 0x0000,\r
+ 0x4634, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4636, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4638, 0x463a, 0x0000, 0x0000, 0x463f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4653, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4657, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4659, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x465a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x465c, 0x0000, 0x0000,\r
+ 0x465e, 0x0000, 0x0000, 0x0000, 0x465f, 0x0000, 0x0000, 0x0000, 0x4660, 0x0000,\r
+ 0x4661, 0x0000, 0x0000, 0x0000, 0x466e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x466f, 0x0000, 0x0000, 0x4674, 0x4675, 0x4676, 0x0000, 0x0000,\r
+ 0x4681, 0x4688, 0x0000, 0x4689, 0x468a, 0x0000, 0x468b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x468e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4690, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4693,\r
+ 0x0000, 0x0000, 0x0000, 0x4694, 0x0000, 0x0000, 0x469b, 0x0000, 0x0000, 0x469e,\r
+ 0x46ad, 0x46ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x46b1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x46b2, 0x46b4, 0x0000, 0x0000,\r
+ 0x0000, 0x46bc, 0x0000, 0x46bf, 0x0000, 0x0000, 0x46c0, 0x0000, 0x46c1, 0x0000,\r
+ 0x0000, 0x46c3, 0x46c4, 0x0000, 0x46c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x46c9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x46cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x46cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x46cd,\r
+ 0x46ce, 0x0000, 0x46cf, 0x0000, 0x0000, 0x46d0, 0x46d7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x46e6, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x46e7, 0x46e8, 0x0000, 0x0000, 0x46ec, 0x46f4, 0x0000, 0x46f6,\r
+ 0x46fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x46fc, 0x4707, 0x0000, 0x4708, 0x0000, 0x0000, 0x0000, 0x0000, 0x4709, 0x0000,\r
+ 0x470b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x470c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x470d, 0x0000, 0x0000, 0x470e, 0x0000,\r
+ 0x0000, 0x470f, 0x4710, 0x0000, 0x0000, 0x4712, 0x4713, 0x4714, 0x0000, 0x0000,\r
+ 0x0000, 0x4715, 0x0000, 0x471b, 0x0000, 0x471c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x471d, 0x0000, 0x0000, 0x0000, 0x471f, 0x4720, 0x0000, 0x0000, 0x4726, 0x0000,\r
+ 0x0000, 0x0000, 0x4727, 0x4728, 0x0000, 0x0000, 0x0000, 0x472c, 0x0000, 0x0000,\r
+ 0x472e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x472f, 0x0000, 0x4731, 0x4737,\r
+ 0x0000, 0x473a, 0x0000, 0x473b, 0x0000, 0x0000, 0x0000, 0x0000, 0x4740, 0x0000,\r
+ 0x0000, 0x4741, 0x4742, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4743, 0x474b,\r
+ 0x0000, 0x474d, 0x0000, 0x474e, 0x0000, 0x0000, 0x0000, 0x475a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x475d, 0x475e, 0x475f, 0x4761, 0x4769, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x476a, 0x0000, 0x476b, 0x0000, 0x476c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x476d, 0x0000, 0x476f, 0x4771, 0x0000, 0x0000, 0x4772, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4784, 0x0000, 0x0000, 0x0000, 0x4786, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4787, 0x0000, 0x4788, 0x4789, 0x0000, 0x478b, 0x0000, 0x0000, 0x478c, 0x4790,\r
+ 0x0000, 0x479b, 0x0000, 0x479c, 0x0000, 0x47a0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x47a1, 0x0000, 0x47a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x47a5, 0x0000, 0x47a8, 0x47a9, 0x0000, 0x47aa, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x47ac, 0x0000, 0x47af, 0x0000, 0x0000, 0x47b4, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x47b5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x47bf, 0x0000, 0x0000, 0x0000, 0x47c0, 0x0000, 0x47c1, 0x0000, 0x47c2,\r
+ 0x47c3, 0x0000, 0x0000, 0x0000, 0x4805, 0x480c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x480d, 0x4812, 0x0000, 0x0000, 0x0000, 0x0000, 0x4813, 0x0000, 0x4814, 0x0000,\r
+ 0x0000, 0x0000, 0x4815, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4817, 0x0000,\r
+ 0x0000, 0x0000, 0x4818, 0x0000, 0x4819, 0x0000, 0x481c, 0x0000, 0x0000, 0x481d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4822, 0x0000,\r
+ 0x0000, 0x4823, 0x0000, 0x0000, 0x0000, 0x0000, 0x4829, 0x0000, 0x0000, 0x0000,\r
+ 0x482c, 0x0000, 0x482d, 0x0000, 0x0000, 0x0000, 0x482e, 0x482f, 0x4830, 0x0000,\r
+ 0x0000, 0x0000, 0x4835, 0x0000, 0x0000, 0x0000, 0x4836, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4838, 0x483a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x483b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x483f, 0x0000, 0x0000,\r
+ 0x4840, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4849, 0x0000, 0x4859,\r
+ 0x0000, 0x485a, 0x485b, 0x0000, 0x0000, 0x0000, 0x485d, 0x485e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x485f, 0x0000, 0x0000, 0x0000, 0x0000, 0x4864, 0x4865,\r
+ 0x0000, 0x4866, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4867, 0x4869,\r
+ 0x0000, 0x486a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x486c, 0x486d,\r
+ 0x486e, 0x486f, 0x0000, 0x4872, 0x0000, 0x0000, 0x0000, 0x0000, 0x4879, 0x487c,\r
+ 0x0000, 0x0000, 0x487e, 0x0000, 0x0000, 0x4889, 0x488b, 0x0000, 0x0000, 0x0000,\r
+ 0x488c, 0x0000, 0x488e, 0x0000, 0x0000, 0x0000, 0x0000, 0x489a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x489c, 0x0000, 0x0000, 0x489d, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x489e, 0x0000, 0x48a0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x48a2, 0x0000, 0x0000, 0x0000, 0x48a4, 0x0000, 0x0000, 0x48a5, 0x48a6, 0x0000,\r
+ 0x0000, 0x48a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x48aa, 0x0000, 0x0000, 0x0000,\r
+ 0x48ab, 0x48ac, 0x0000, 0x48ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x48b0, 0x0000,\r
+ 0x0000, 0x48b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x48b4, 0x0000, 0x48b8, 0x0000, 0x0000, 0x48b9, 0x48bb, 0x0000, 0x0000,\r
+ 0x0000, 0x48c4, 0x0000, 0x0000, 0x0000, 0x48c5, 0x0000, 0x0000, 0x48c6, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x48c7, 0x0000, 0x48c8, 0x0000,\r
+ 0x0000, 0x48cb, 0x48cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x48d1,\r
+ 0x48d3, 0x48d8, 0x0000, 0x48dc, 0x0000, 0x0000, 0x48dd, 0x0000, 0x48df, 0x48e0,\r
+ 0x0000, 0x0000, 0x0000, 0x48e1, 0x0000, 0x0000, 0x48ea, 0x48f2, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x48f5, 0x48fc, 0x48fd, 0x0000, 0x0000, 0x48fe, 0x0000, 0x0000,\r
+ 0x4902, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4907, 0x4908,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4909, 0x0000, 0x0000, 0x490c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x490e, 0x0000, 0x4914, 0x0000, 0x0000, 0x4915, 0x0000, 0x4916, 0x0000, 0x0000,\r
+ 0x4917, 0x0000, 0x491a, 0x0000, 0x0000, 0x491e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x491f, 0x0000, 0x0000, 0x4922, 0x0000, 0x4926, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x492b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4933, 0x4935, 0x0000,\r
+ 0x0000, 0x4936, 0x0000, 0x4937, 0x4938, 0x493a, 0x493c, 0x0000, 0x4940, 0x4941,\r
+ 0x0000, 0x0000, 0x4942, 0x494b, 0x0000, 0x494d, 0x0000, 0x0000, 0x0000, 0x494e,\r
+ 0x0000, 0x0000, 0x0000, 0x4951, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4955,\r
+ 0x495a, 0x495b, 0x495d, 0x0000, 0x0000, 0x4960, 0x4963, 0x0000, 0x4964, 0x0000,\r
+ 0x4969, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x496b, 0x0000, 0x0000,\r
+ 0x4970, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4971, 0x4974, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4976, 0x0000, 0x0000, 0x0000, 0x497b,\r
+ 0x497f, 0x4980, 0x0000, 0x0000, 0x0000, 0x0000, 0x4989, 0x0000, 0x0000, 0x498b,\r
+ 0x498d, 0x0000, 0x0000, 0x498e, 0x0000, 0x0000, 0x0000, 0x0000, 0x498f, 0x0000,\r
+ 0x0000, 0x4990, 0x0000, 0x0000, 0x0000, 0x0000, 0x4991, 0x0000, 0x4998, 0x0000,\r
+ 0x4999, 0x0000, 0x499a, 0x0000, 0x0000, 0x0000, 0x0000, 0x499b, 0x0000, 0x499c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x499d, 0x499e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49a0, 0x0000, 0x0000,\r
+ 0x0000, 0x49a5, 0x49ac, 0x0000, 0x0000, 0x49ae, 0x49b2, 0x0000, 0x0000, 0x49b3,\r
+ 0x49b5, 0x0000, 0x0000, 0x49ba, 0x49c1, 0x49cb, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49cc, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49cf, 0x0000, 0x49d0, 0x0000, 0x0000,\r
+ 0x0000, 0x49d4, 0x0000, 0x0000, 0x0000, 0x49d5, 0x0000, 0x49d6, 0x49e3, 0x49e4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x49e7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x49e8, 0x0000, 0x0000, 0x0000, 0x49e9, 0x49f1,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x49f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x49f4, 0x0000, 0x0000, 0x0000, 0x0000, 0x49f6, 0x49fe, 0x0000, 0x0000,\r
+ 0x0000, 0x4a07, 0x4a0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a0e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4a0f, 0x4a10, 0x0000, 0x0000, 0x4a11, 0x0000, 0x0000, 0x4a12,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4a13, 0x4a14, 0x0000, 0x0000, 0x0000, 0x4a15,\r
+ 0x0000, 0x4a17, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4a18, 0x0000, 0x4a19, 0x0000, 0x4a1a, 0x4a1d, 0x4a20, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4a21, 0x0000, 0x0000, 0x0000, 0x4a25, 0x0000,\r
+ 0x0000, 0x0000, 0x4a2e, 0x0000, 0x4a36, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4a37, 0x4a3b, 0x0000, 0x0000, 0x4a3d, 0x0000, 0x0000, 0x0000, 0x4a3e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a40, 0x4a43, 0x0000, 0x0000, 0x4a4a,\r
+ 0x0000, 0x0000, 0x4a4b, 0x0000, 0x4a50, 0x0000, 0x4a57, 0x4a58, 0x0000, 0x4a5f,\r
+ 0x0000, 0x4a61, 0x4a6a, 0x0000, 0x0000, 0x0000, 0x4a6b, 0x4a6f, 0x4a70, 0x0000,\r
+ 0x4a73, 0x4a77, 0x4a78, 0x0000, 0x0000, 0x4a90, 0x0000, 0x0000, 0x0000, 0x4a95,\r
+ 0x4a96, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a97, 0x0000, 0x4a98, 0x0000, 0x0000,\r
+ 0x0000, 0x4a99, 0x0000, 0x0000, 0x4a9a, 0x0000, 0x4a9b, 0x4a9c, 0x0000, 0x0000,\r
+ 0x4a9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4aa7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4aa8, 0x0000, 0x0000, 0x0000, 0x4aac,\r
+ 0x4aad, 0x0000, 0x4ab1, 0x4ab2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ab3, 0x4ab4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ab5, 0x4ab6, 0x0000, 0x4ab8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ab9,\r
+ 0x4aba, 0x4abb, 0x4abc, 0x0000, 0x0000, 0x4aca, 0x0000, 0x0000, 0x4acb, 0x4ad4,\r
+ 0x4ad6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4aee,\r
+ 0x4af1, 0x0000, 0x0000, 0x4af3, 0x0000, 0x0000, 0x0000, 0x4af9, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4afa, 0x0000, 0x4afd, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4afe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4b02, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b03, 0x0000, 0x4b05, 0x4b0a,\r
+ 0x0000, 0x0000, 0x0000, 0x4b0d, 0x0000, 0x4b12, 0x0000, 0x0000, 0x0000, 0x4b17,\r
+ 0x4b1d, 0x0000, 0x0000, 0x4b1e, 0x0000, 0x0000, 0x4b1f, 0x4b20, 0x4b21, 0x4b27,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b28, 0x0000, 0x4b30, 0x4b31, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4b36, 0x0000, 0x4b38, 0x4b3a, 0x4b3b, 0x0000, 0x0000,\r
+ 0x4b3d, 0x0000, 0x4b42, 0x0000, 0x0000, 0x0000, 0x4b48, 0x0000, 0x4b4e, 0x4b51,\r
+ 0x4b52, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4b53, 0x0000, 0x0000, 0x4b54, 0x0000, 0x0000, 0x4b55,\r
+ 0x4b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b58, 0x4b5b, 0x0000, 0x4b5c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4b61, 0x0000, 0x4b62, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4b66, 0x4b67, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b68, 0x4b69, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4b72, 0x0000, 0x0000, 0x4b73, 0x0000, 0x0000, 0x4b79, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b7a, 0x0000, 0x4b85, 0x0000,\r
+ 0x4b86, 0x4b87, 0x0000, 0x4b88, 0x4b89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b92, 0x0000, 0x0000, 0x4b99,\r
+ 0x0000, 0x4b9a, 0x4ba2, 0x0000, 0x4ba6, 0x4ba7, 0x0000, 0x0000, 0x4ba9, 0x0000,\r
+ 0x4baf, 0x0000, 0x4bb1, 0x4bb4, 0x4bbc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4bbd, 0x4bbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4bca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4bd4, 0x0000, 0x0000, 0x4bd5, 0x4bde, 0x0000, 0x4be0, 0x0000, 0x0000,\r
+ 0x0000, 0x4be1, 0x0000, 0x0000, 0x0000, 0x4be4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4be7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4be8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4bf8, 0x4c03, 0x0000, 0x0000, 0x4c05, 0x0000, 0x4c06, 0x4c07,\r
+ 0x0000, 0x4c0b, 0x4c12, 0x4c1a, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c26, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4c2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4c2e, 0x4c30, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4c31, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c32, 0x4c33,\r
+ 0x0000, 0x0000, 0x0000, 0x4c34, 0x0000, 0x0000, 0x4c37, 0x0000, 0x0000, 0x4c3a,\r
+ 0x0000, 0x4c3b, 0x0000, 0x4c3c, 0x0000, 0x4c3e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4c4a, 0x0000, 0x4c51, 0x4c52, 0x0000, 0x4c57,\r
+ 0x4c5a, 0x0000, 0x4c5b, 0x4c5f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4c60, 0x4c61, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4c63, 0x0000, 0x0000, 0x4c64, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4c68, 0x4c69, 0x0000, 0x0000, 0x4c6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4c6d, 0x4c6f, 0x0000, 0x4c70, 0x0000, 0x0000, 0x0000, 0x4c71, 0x4c72,\r
+ 0x0000, 0x4c7a, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c7c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4c7d, 0x4c80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4c81, 0x4c82, 0x0000, 0x0000, 0x0000, 0x4c83, 0x4c84, 0x0000, 0x4c85, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c88, 0x4c89, 0x4c8f, 0x0000, 0x4c90,\r
+ 0x0000, 0x0000, 0x4c94, 0x0000, 0x0000, 0x4c95, 0x0000, 0x4c96, 0x4c98, 0x4c9a,\r
+ 0x0000, 0x4c9d, 0x4c9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ca0,\r
+ 0x4ca1, 0x0000, 0x0000, 0x4ca2, 0x0000, 0x0000, 0x4ca3, 0x0000, 0x0000, 0x0000,\r
+ 0x4ca4, 0x4ca5, 0x4caf, 0x0000, 0x0000, 0x4cb0, 0x4cb2, 0x4cb4, 0x0000, 0x4cbb,\r
+ 0x0000, 0x0000, 0x4cbc, 0x4cca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4ccb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4cdb, 0x4cdd, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4cdf, 0x0000, 0x4ce3, 0x0000, 0x4ce4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4ce7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4ce8, 0x4ce9, 0x4cec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4cef, 0x4cf1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4cf2,\r
+ 0x4cf3, 0x0000, 0x0000, 0x4cf4, 0x0000, 0x4cf6, 0x0000, 0x0000, 0x4cf7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4cf8, 0x4cfc, 0x0000, 0x4cfe, 0x0000,\r
+ 0x4d01, 0x0000, 0x0000, 0x0000, 0x4d03, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d06,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d08, 0x0000, 0x4d0a,\r
+ 0x0000, 0x0000, 0x4d0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d12, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4d13, 0x0000, 0x4d16, 0x4d17, 0x4d1b, 0x0000, 0x0000, 0x4d1c,\r
+ 0x0000, 0x4d1d, 0x0000, 0x0000, 0x0000, 0x4d22, 0x0000, 0x0000, 0x4d23, 0x0000,\r
+ 0x4d3b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d3c,\r
+ 0x4d3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d42, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4d43, 0x0000, 0x0000, 0x4d44, 0x4d4e, 0x0000, 0x4d4f,\r
+ 0x0000, 0x0000, 0x4d50, 0x0000, 0x0000, 0x0000, 0x4d51, 0x0000, 0x0000, 0x4d54,\r
+ 0x4d55, 0x0000, 0x0000, 0x0000, 0x4d57, 0x0000, 0x0000, 0x0000, 0x4d59, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4d5b, 0x0000, 0x4d5c, 0x0000, 0x4d5d, 0x0000, 0x0000,\r
+ 0x4d5f, 0x0000, 0x0000, 0x0000, 0x4d60, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4d61, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d68,\r
+ 0x0000, 0x4d6d, 0x0000, 0x4d6e, 0x4d76, 0x4d77, 0x0000, 0x0000, 0x0000, 0x4d79,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4d7e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d7f, 0x0000, 0x0000, 0x4d83, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4d85, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d87, 0x0000,\r
+ 0x0000, 0x4d88, 0x0000, 0x4d89, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4d8b, 0x0000, 0x0000, 0x0000, 0x4d8e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d98, 0x0000, 0x4d99, 0x0000, 0x4d9a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4d9c, 0x0000, 0x0000,\r
+ 0x4d9e, 0x0000, 0x0000, 0x4d9f, 0x0000, 0x0000, 0x4da0, 0x4da1, 0x4da3, 0x0000,\r
+ 0x4da8, 0x4daa, 0x4dac, 0x0000, 0x0000, 0x4dad, 0x4dae, 0x4db0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4db2, 0x4db4, 0x4db5, 0x0000, 0x0000, 0x4db6, 0x0000, 0x0000, 0x0000, 0x4db7,\r
+ 0x0000, 0x4db8, 0x4dbe, 0x0000, 0x0000, 0x4dbf, 0x0000, 0x0000, 0x4dc1, 0x0000,\r
+ 0x0000, 0x0000, 0x4dc2, 0x0000, 0x4dc4, 0x0000, 0x4dc5, 0x4dc7, 0x0000, 0x0000,\r
+ 0x0000, 0x4dc9, 0x4dd0, 0x0000, 0x4de2, 0x4de3, 0x4de4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4de6, 0x0000, 0x4de7, 0x0000, 0x4de9, 0x0000,\r
+ 0x0000, 0x0000, 0x4def, 0x4df0, 0x4df2, 0x4df8, 0x0000, 0x4dfd, 0x0000, 0x4e03,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e07, 0x0000, 0x4e08, 0x0000, 0x4e16,\r
+ 0x0000, 0x0000, 0x4e17, 0x0000, 0x4e19, 0x0000, 0x4e1b, 0x0000, 0x0000, 0x0000,\r
+ 0x4e1e, 0x4e1f, 0x4e21, 0x0000, 0x4e23, 0x4e25, 0x0000, 0x4e2b, 0x4e2c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e2e, 0x0000, 0x4e34, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4e35, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e37, 0x4e38,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e39, 0x0000, 0x0000, 0x4e3b, 0x0000,\r
+ 0x0000, 0x4e3d, 0x0000, 0x0000, 0x4e40, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e4c,\r
+ 0x4e4d, 0x0000, 0x4e50, 0x4e51, 0x0000, 0x0000, 0x4e52, 0x0000, 0x4e54, 0x0000,\r
+ 0x0000, 0x4e56, 0x4e59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4e5b, 0x0000, 0x0000, 0x4e5d, 0x0000, 0x4e5e, 0x0000, 0x4e60,\r
+ 0x0000, 0x0000, 0x4e62, 0x0000, 0x0000, 0x4e63, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4e65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e66, 0x4e67, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4e68, 0x0000, 0x0000, 0x4e69, 0x4e6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4e6b, 0x0000, 0x4e6e, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e70, 0x0000, 0x4e71,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e7f, 0x0000, 0x4e82, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e8b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4e90, 0x0000, 0x0000, 0x0000, 0x4e91,\r
+ 0x4e92, 0x0000, 0x0000, 0x0000, 0x4e93, 0x4e9b, 0x4e9c, 0x0000, 0x0000, 0x0000,\r
+ 0x4ea3, 0x4ea5, 0x4ea6, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ea8, 0x0000, 0x0000,\r
+ 0x4ea9, 0x4eaa, 0x4eb6, 0x0000, 0x4eb8, 0x0000, 0x0000, 0x0000, 0x4eb9, 0x0000,\r
+ 0x0000, 0x4eba, 0x0000, 0x0000, 0x0000, 0x4ebe, 0x0000, 0x4ec3, 0x0000, 0x0000,\r
+ 0x4ec4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ec6, 0x0000,\r
+ 0x4ec8, 0x0000, 0x4eca, 0x0000, 0x4ecf, 0x0000, 0x0000, 0x4ed2, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4eff, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f00, 0x0000, 0x4f02,\r
+ 0x0000, 0x0000, 0x4f06, 0x0000, 0x4f07, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f08,\r
+ 0x0000, 0x0000, 0x4f09, 0x4f0a, 0x0000, 0x4f14, 0x0000, 0x4f17, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4f19, 0x0000, 0x0000, 0x0000, 0x4f1a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4f1b, 0x0000, 0x4f1d, 0x0000, 0x4f1e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4f20, 0x0000, 0x0000, 0x4f28, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4f2a, 0x0000, 0x0000, 0x0000, 0x4f36, 0x0000, 0x0000, 0x4f37, 0x4f3a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x4f3b, 0x0000, 0x4f3c, 0x0000, 0x4f3d, 0x0000,\r
+ 0x4f3f, 0x4f42, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f44, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4f45, 0x4f49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f4b,\r
+ 0x0000, 0x4f4c, 0x4f4f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4f53,\r
+ 0x0000, 0x0000, 0x4f54, 0x0000, 0x4f55, 0x0000, 0x4f56, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4f58, 0x0000, 0x0000, 0x0000, 0x4f5a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4f5b, 0x4f5c, 0x0000, 0x4f62, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4f73, 0x0000, 0x0000, 0x0000, 0x4f76, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4f80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x4f8a, 0x0000, 0x0000, 0x4f8d, 0x0000, 0x4f97, 0x4f99, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4f9a, 0x4f9b, 0x0000, 0x4f9c, 0x0000, 0x0000, 0x4f9d, 0x0000, 0x4f9e, 0x0000,\r
+ 0x4f9f, 0x0000, 0x4fa4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fa6, 0x4fa8, 0x4fa9,\r
+ 0x0000, 0x0000, 0x4fab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fac, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fae, 0x4fbf, 0x0000,\r
+ 0x0000, 0x0000, 0x4fc1, 0x0000, 0x0000, 0x4fc4, 0x0000, 0x0000, 0x4fca, 0x4fcc,\r
+ 0x0000, 0x4fcf, 0x0000, 0x0000, 0x4fd0, 0x0000, 0x4fd1, 0x4fd2, 0x4fd3, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4fd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fda,\r
+ 0x0000, 0x4fdb, 0x0000, 0x4fde, 0x0000, 0x0000, 0x0000, 0x0000, 0x4fe0, 0x0000,\r
+ 0x4fe3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x4fe4, 0x4fe5, 0x0000, 0x0000, 0x4fe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x4fe9, 0x0000, 0x4fea, 0x0000, 0x0000, 0x0000, 0x4ff1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x4ff5, 0x0000, 0x0000, 0x0000, 0x4ff9, 0x0000, 0x4ffc,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ffd, 0x0000,\r
+ 0x0000, 0x5005, 0x0000, 0x0000, 0x5006, 0x0000, 0x0000, 0x5007, 0x0000, 0x5010,\r
+ 0x0000, 0x5011, 0x0000, 0x0000, 0x5012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5013, 0x5014, 0x0000, 0x5015, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5028, 0x502f, 0x0000, 0x5031, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x503b, 0x0000, 0x0000, 0x503c, 0x0000, 0x0000, 0x0000, 0x503f,\r
+ 0x0000, 0x0000, 0x0000, 0x5042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5044,\r
+ 0x0000, 0x0000, 0x5053, 0x0000, 0x0000, 0x5054, 0x0000, 0x5056, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x506d, 0x0000, 0x0000, 0x0000, 0x0000, 0x506e, 0x0000,\r
+ 0x0000, 0x5071, 0x5072, 0x0000, 0x0000, 0x0000, 0x0000, 0x5073, 0x0000, 0x5075,\r
+ 0x5076, 0x0000, 0x0000, 0x0000, 0x508a, 0x508c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x508d, 0x0000, 0x0000, 0x0000, 0x0000, 0x5093, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5094, 0x0000, 0x0000, 0x0000, 0x5095, 0x0000, 0x5096, 0x0000, 0x0000,\r
+ 0x509f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x50e3, 0x0000, 0x0000, 0x50e5,\r
+ 0x0000, 0x0000, 0x0000, 0x50e9, 0x50ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x50f4, 0x50f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x50f6, 0x50f8, 0x50f9, 0x0000,\r
+ 0x50fd, 0x0000, 0x50fe, 0x0000, 0x50ff, 0x5100, 0x0000, 0x5101, 0x0000, 0x0000,\r
+ 0x5108, 0x0000, 0x5109, 0x0000, 0x510c, 0x0000, 0x0000, 0x510d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x510e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5112, 0x0000, 0x0000, 0x0000, 0x5119, 0x0000, 0x0000, 0x511b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x511e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x511f, 0x0000, 0x0000, 0x0000, 0x0000, 0x5120, 0x0000, 0x5121, 0x5129,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5131, 0x0000, 0x0000, 0x0000,\r
+ 0x5132, 0x513b, 0x5141, 0x0000, 0x5142, 0x0000, 0x5147, 0x0000, 0x0000, 0x5148,\r
+ 0x0000, 0x0000, 0x514a, 0x0000, 0x0000, 0x514b, 0x0000, 0x514c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x514d, 0x0000, 0x0000, 0x5152, 0x5154, 0x5155, 0x0000,\r
+ 0x0000, 0x0000, 0x5156, 0x0000, 0x5157, 0x0000, 0x0000, 0x0000, 0x515a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x515d, 0x515e, 0x515f, 0x0000,\r
+ 0x5160, 0x5164, 0x0000, 0x0000, 0x5167, 0x0000, 0x0000, 0x5168, 0x516a, 0x0000,\r
+ 0x516b, 0x0000, 0x516c, 0x0000, 0x5176, 0x0000, 0x0000, 0x0000, 0x5177, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5178, 0x0000, 0x0000, 0x0000, 0x5185, 0x0000, 0x0000,\r
+ 0x5187, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5189, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x518c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5190, 0x0000, 0x0000, 0x5192, 0x0000, 0x0000, 0x0000, 0x0000, 0x5193, 0x5194,\r
+ 0x0000, 0x0000, 0x519a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x519b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a9, 0x0000,\r
+ 0x51aa, 0x51ae, 0x0000, 0x0000, 0x51b0, 0x51b3, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x51b4, 0x0000, 0x51b5, 0x0000, 0x51b7, 0x51b8, 0x51ba, 0x0000, 0x51bf,\r
+ 0x0000, 0x51c0, 0x51c1, 0x51c2, 0x0000, 0x0000, 0x51c7, 0x0000, 0x0000, 0x51cb,\r
+ 0x0000, 0x0000, 0x51cd, 0x0000, 0x0000, 0x0000, 0x51cf, 0x0000, 0x0000, 0x0000,\r
+ 0x51d2, 0x51d3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51d6, 0x0000, 0x51da,\r
+ 0x0000, 0x0000, 0x51db, 0x51e4, 0x0000, 0x0000, 0x51e7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x51ed, 0x51ef, 0x0000, 0x0000, 0x0000, 0x51f8, 0x0000, 0x51fb,\r
+ 0x51fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51fd, 0x0000, 0x0000, 0x0000,\r
+ 0x5203, 0x0000, 0x5206, 0x0000, 0x5207, 0x0000, 0x0000, 0x0000, 0x0000, 0x5208,\r
+ 0x5209, 0x0000, 0x0000, 0x0000, 0x0000, 0x5210, 0x0000, 0x5212, 0x0000, 0x5218,\r
+ 0x0000, 0x0000, 0x0000, 0x5219, 0x521a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x521d, 0x5222, 0x5223, 0x5224, 0x0000, 0x0000, 0x5225, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5226, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5227, 0x5228, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x522d, 0x0000, 0x0000, 0x522e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x522f, 0x0000, 0x5231, 0x0000,\r
+ 0x5236, 0x5237, 0x0000, 0x0000, 0x0000, 0x5239, 0x523d, 0x0000, 0x0000, 0x5241,\r
+ 0x5248, 0x5249, 0x0000, 0x0000, 0x524a, 0x524b, 0x0000, 0x0000, 0x0000, 0x524d,\r
+ 0x0000, 0x0000, 0x0000, 0x524f, 0x5250, 0x0000, 0x0000, 0x5251, 0x0000, 0x5252,\r
+ 0x0000, 0x0000, 0x5256, 0x0000, 0x0000, 0x0000, 0x0000, 0x5257, 0x0000, 0x0000,\r
+ 0x5258, 0x5259, 0x0000, 0x0000, 0x525e, 0x525f, 0x0000, 0x5261, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5263, 0x0000, 0x5265, 0x0000, 0x5266,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5267, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5268, 0x0000, 0x526a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x526b, 0x0000, 0x0000, 0x526c, 0x526d, 0x526e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x526f, 0x0000, 0x5270, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5271, 0x5274, 0x5275, 0x0000, 0x0000, 0x5278, 0x5279,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x527b, 0x5282, 0x5283, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5285, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5289, 0x528b, 0x0000, 0x0000, 0x528e, 0x0000, 0x0000,\r
+ 0x0000, 0x5291, 0x5296, 0x0000, 0x5297, 0x0000, 0x0000, 0x5298, 0x0000, 0x5299,\r
+ 0x529a, 0x0000, 0x52a0, 0x52a2, 0x52a3, 0x52a4, 0x0000, 0x0000, 0x0000, 0x52a8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52a9, 0x0000, 0x52ac, 0x0000,\r
+ 0x52ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x52b2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x52b3, 0x0000, 0x0000, 0x52b4, 0x0000, 0x52b6, 0x0000, 0x52b7, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x52b8, 0x52bb, 0x52c4, 0x0000, 0x0000, 0x0000, 0x52c5,\r
+ 0x0000, 0x0000, 0x52c6, 0x0000, 0x0000, 0x0000, 0x52c8, 0x0000, 0x0000, 0x52c9,\r
+ 0x0000, 0x0000, 0x0000, 0x52ce, 0x0000, 0x52dc, 0x0000, 0x0000, 0x52dd, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52df, 0x52e0, 0x0000, 0x0000, 0x52e7,\r
+ 0x52e9, 0x0000, 0x52ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x52eb, 0x52ec, 0x0000,\r
+ 0x0000, 0x52ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x52ee, 0x52f4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x52f5, 0x0000, 0x0000, 0x52f6, 0x52f7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5308, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5309, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x530b, 0x0000, 0x0000, 0x0000, 0x530f, 0x0000,\r
+ 0x5318, 0x0000, 0x531a, 0x0000, 0x5322, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5323, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x532e, 0x0000, 0x0000, 0x5331, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5332, 0x0000, 0x0000, 0x0000, 0x5333, 0x0000, 0x5334, 0x5336, 0x0000, 0x5344,\r
+ 0x0000, 0x5346, 0x534a, 0x534b, 0x0000, 0x534c, 0x0000, 0x534e, 0x0000, 0x0000,\r
+ 0x0000, 0x534f, 0x5350, 0x0000, 0x0000, 0x0000, 0x5368, 0x0000, 0x0000, 0x536a,\r
+ 0x5371, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5372, 0x0000, 0x0000, 0x0000, 0x5373, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5376, 0x0000,\r
+ 0x0000, 0x5377, 0x537c, 0x537e, 0x0000, 0x0000, 0x0000, 0x537f, 0x5381, 0x0000,\r
+ 0x5382, 0x0000, 0x0000, 0x0000, 0x5384, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5385, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5386, 0x0000, 0x5387, 0x0000, 0x0000, 0x5388, 0x0000, 0x0000,\r
+ 0x5389, 0x0000, 0x0000, 0x0000, 0x0000, 0x538d, 0x538e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5395, 0x5396, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5397, 0x0000, 0x5398, 0x0000, 0x0000, 0x0000, 0x0000, 0x539a,\r
+ 0x0000, 0x0000, 0x0000, 0x539b, 0x539c, 0x0000, 0x539d, 0x539e, 0x0000, 0x0000,\r
+ 0x0000, 0x539f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x53a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a1,\r
+ 0x0000, 0x53ad, 0x0000, 0x53ae, 0x0000, 0x0000, 0x0000, 0x53b1, 0x53b4, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x53b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53b9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x53ba, 0x0000, 0x53c3, 0x0000, 0x53c4, 0x53c9, 0x0000, 0x53cc, 0x0000, 0x53cd,\r
+ 0x53ce, 0x0000, 0x0000, 0x0000, 0x53d1, 0x0000, 0x0000, 0x53d2, 0x0000, 0x0000,\r
+ 0x0000, 0x53d4, 0x53d5, 0x0000, 0x0000, 0x53d8, 0x0000, 0x0000, 0x0000, 0x53e1,\r
+ 0x53e6, 0x0000, 0x0000, 0x53e7, 0x0000, 0x0000, 0x53e9, 0x53eb, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53ec, 0x0000, 0x0000, 0x53ed,\r
+ 0x53ee, 0x0000, 0x0000, 0x53f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5413, 0x0000, 0x0000, 0x5415, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5416, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5419, 0x541a,\r
+ 0x0000, 0x0000, 0x541b, 0x0000, 0x0000, 0x541d, 0x0000, 0x0000, 0x5423, 0x543c,\r
+ 0x0000, 0x543f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5447, 0x0000, 0x0000, 0x0000, 0x0000, 0x5449, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5457, 0x0000, 0x0000, 0x5464, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5465, 0x0000, 0x5466, 0x0000, 0x0000, 0x5471,\r
+ 0x5472, 0x5473, 0x5474, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5477, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x547f, 0x0000, 0x5483, 0x0000, 0x0000, 0x0000, 0x0000, 0x5487, 0x548e,\r
+ 0x5495, 0x549e, 0x0000, 0x0000, 0x549f, 0x54a0, 0x0000, 0x54a2, 0x0000, 0x0000,\r
+ 0x54a3, 0x0000, 0x54a6, 0x54a8, 0x54a9, 0x0000, 0x54aa, 0x54b3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x54b4, 0x0000, 0x54be, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x54bf, 0x54c4, 0x0000, 0x54c7, 0x0000, 0x54c8, 0x0000, 0x0000, 0x54cd, 0x0000,\r
+ 0x0000, 0x0000, 0x54ce, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x54cf, 0x0000, 0x0000, 0x0000, 0x54d0, 0x0000, 0x54d5, 0x0000, 0x54e2,\r
+ 0x0000, 0x0000, 0x0000, 0x54e3, 0x54e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x54e9,\r
+ 0x54ed, 0x54ee, 0x0000, 0x54f3, 0x0000, 0x0000, 0x0000, 0x54f5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x54f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x54f8, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x54f9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x54fb,\r
+ 0x54fc, 0x0000, 0x54fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5500,\r
+ 0x0000, 0x0000, 0x5503, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5504, 0x0000, 0x0000, 0x5506, 0x0000, 0x0000, 0x5507, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x550d, 0x0000,\r
+ 0x550e, 0x0000, 0x0000, 0x550f, 0x0000, 0x0000, 0x0000, 0x0000, 0x5510, 0x0000,\r
+ 0x0000, 0x5511, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5514, 0x551b, 0x551c, 0x551f, 0x0000, 0x0000, 0x0000, 0x5525, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x552d, 0x0000, 0x0000, 0x0000, 0x0000, 0x552e,\r
+ 0x0000, 0x552f, 0x5531, 0x0000, 0x5532, 0x5533, 0x0000, 0x5539, 0x553b, 0x553c,\r
+ 0x0000, 0x553f, 0x0000, 0x5540, 0x0000, 0x0000, 0x5541, 0x0000, 0x0000, 0x5542,\r
+ 0x5548, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5549, 0x5558, 0x5559, 0x0000,\r
+ 0x0000, 0x556b, 0x556e, 0x556f, 0x5571, 0x0000, 0x0000, 0x0000, 0x5572, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5573, 0x0000,\r
+ 0x5576, 0x0000, 0x0000, 0x0000, 0x5577, 0x0000, 0x5579, 0x557e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x557f, 0x0000, 0x0000, 0x5580, 0x5586, 0x5587, 0x5589, 0x0000,\r
+ 0x558d, 0x0000, 0x5590, 0x0000, 0x0000, 0x5592, 0x0000, 0x0000, 0x0000, 0x5595,\r
+ 0x5596, 0x5597, 0x0000, 0x0000, 0x5598, 0x0000, 0x0000, 0x5599, 0x559a, 0x559b,\r
+ 0x0000, 0x559f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55a1,\r
+ 0x0000, 0x0000, 0x55a2, 0x55ad, 0x55b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55b8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x55b9, 0x0000, 0x55bb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55bd, 0x0000, 0x0000, 0x0000, 0x55be,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x55bf, 0x0000, 0x55c0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55c2, 0x55c5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x55c6, 0x0000, 0x55c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x55ca, 0x55cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x55cc, 0x55cd, 0x0000, 0x0000, 0x55d1, 0x55d2, 0x0000, 0x0000, 0x0000, 0x55d6,\r
+ 0x0000, 0x0000, 0x55dc, 0x55dd, 0x0000, 0x55de, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x55e1, 0x0000, 0x55e4, 0x0000, 0x55e8, 0x0000, 0x55ef, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x55f1, 0x0000, 0x55f2, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x55f3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x55f4,\r
+ 0x0000, 0x0000, 0x0000, 0x55f8, 0x0000, 0x55f9, 0x55ff, 0x0000, 0x0000, 0x5600,\r
+ 0x0000, 0x0000, 0x0000, 0x5601, 0x5603, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5604, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5605, 0x5615, 0x0000, 0x5617, 0x0000,\r
+ 0x0000, 0x0000, 0x5618, 0x0000, 0x0000, 0x0000, 0x5620, 0x5621, 0x0000, 0x0000,\r
+ 0x5625, 0x5627, 0x5628, 0x562b, 0x0000, 0x0000, 0x562c, 0x562d, 0x0000, 0x0000,\r
+ 0x5630, 0x0000, 0x0000, 0x0000, 0x0000, 0x5632, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5639, 0x0000, 0x0000, 0x0000, 0x563a, 0x563b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x563c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x563d, 0x5644, 0x5653, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5658, 0x0000, 0x0000, 0x565b, 0x0000, 0x565c, 0x0000, 0x565d, 0x0000,\r
+ 0x565e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x565f, 0x5667,\r
+ 0x0000, 0x5668, 0x566a, 0x0000, 0x0000, 0x0000, 0x0000, 0x566d, 0x0000, 0x0000,\r
+ 0x0000, 0x5670, 0x5671, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x567d,\r
+ 0x0000, 0x0000, 0x0000, 0x567e, 0x0000, 0x0000, 0x5680, 0x5682, 0x0000, 0x5684,\r
+ 0x5685, 0x5687, 0x568a, 0x0000, 0x0000, 0x0000, 0x5692, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5694, 0x56a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x56a3, 0x0000, 0x56a6,\r
+ 0x56a7, 0x0000, 0x0000, 0x56a8, 0x56ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x56ae, 0x0000, 0x56b2, 0x56b9, 0x0000, 0x0000, 0x56c0,\r
+ 0x0000, 0x56c1, 0x0000, 0x56c4, 0x0000, 0x0000, 0x56c7, 0x0000, 0x56cf, 0x56d7,\r
+ 0x0000, 0x0000, 0x56d8, 0x0000, 0x56da, 0x0000, 0x0000, 0x56db, 0x56dc, 0x0000,\r
+ 0x56dd, 0x0000, 0x56e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56e1, 0x0000,\r
+ 0x0000, 0x0000, 0x56e2, 0x56e6, 0x56e7, 0x0000, 0x0000, 0x0000, 0x56f3, 0x56fc,\r
+ 0x0000, 0x56fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x56fe,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x56ff, 0x0000, 0x5700, 0x0000, 0x5705, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5706, 0x5708, 0x570b, 0x570e, 0x0000, 0x0000,\r
+ 0x570f, 0x5711, 0x0000, 0x0000, 0x5712, 0x0000, 0x5715, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5717, 0x0000, 0x571d,\r
+ 0x571e, 0x0000, 0x0000, 0x0000, 0x5721, 0x0000, 0x5724, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x572b, 0x0000, 0x0000,\r
+ 0x0000, 0x572d, 0x0000, 0x573e, 0x0000, 0x0000, 0x0000, 0x573f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5740, 0x0000, 0x5742, 0x5748, 0x0000, 0x574b, 0x574d,\r
+ 0x0000, 0x574e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5755,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5756, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5757, 0x5758, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5759, 0x575e, 0x0000, 0x0000,\r
+ 0x5761, 0x0000, 0x5762, 0x5765, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5767,\r
+ 0x0000, 0x5769, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x576a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x576d, 0x0000, 0x0000, 0x0000, 0x0000, 0x576e, 0x0000, 0x576f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5777,\r
+ 0x0000, 0x0000, 0x5778, 0x577b, 0x577c, 0x5782, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5785,\r
+ 0x0000, 0x0000, 0x5786, 0x0000, 0x0000, 0x5788, 0x0000, 0x0000, 0x5789, 0x578a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5798, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x579a, 0x0000, 0x0000, 0x0000, 0x579b, 0x0000, 0x579c, 0x0000, 0x57a0,\r
+ 0x0000, 0x57a3, 0x57aa, 0x57ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x57ac, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x57ae, 0x0000, 0x57b6, 0x0000, 0x57b7, 0x0000,\r
+ 0x0000, 0x0000, 0x57c1, 0x0000, 0x57c6, 0x0000, 0x57c7, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x57c8, 0x57c9, 0x0000, 0x57d7, 0x0000, 0x0000, 0x0000, 0x57d8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x57d9, 0x0000, 0x0000, 0x57e3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x57f2, 0x0000, 0x0000, 0x57f3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x57f4, 0x0000, 0x0000, 0x0000, 0x57f5, 0x57f8,\r
+ 0x0000, 0x0000, 0x0000, 0x5806, 0x0000, 0x0000, 0x5807, 0x0000, 0x0000, 0x5808,\r
+ 0x0000, 0x580c, 0x5819, 0x0000, 0x581b, 0x0000, 0x0000, 0x0000, 0x0000, 0x5821,\r
+ 0x0000, 0x0000, 0x5822, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5826, 0x0000, 0x0000, 0x0000, 0x0000, 0x5827,\r
+ 0x5828, 0x0000, 0x0000, 0x582f, 0x0000, 0x5833, 0x0000, 0x5836, 0x5837, 0x5839,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x583a, 0x0000, 0x0000, 0x583b, 0x0000,\r
+ 0x0000, 0x583e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x583f, 0x0000, 0x5840,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5841, 0x0000, 0x584a, 0x0000, 0x0000,\r
+ 0x584c, 0x0000, 0x0000, 0x5851, 0x0000, 0x0000, 0x585a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x585b, 0x0000, 0x5860, 0x5861, 0x0000, 0x0000, 0x586e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x586f, 0x0000, 0x0000, 0x5870, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5874, 0x0000, 0x5875, 0x5877,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x587c, 0x587d, 0x0000, 0x0000, 0x0000, 0x587e,\r
+ 0x0000, 0x587f, 0x0000, 0x0000, 0x0000, 0x5880, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5891, 0x5893, 0x5894, 0x0000,\r
+ 0x0000, 0x5896, 0x5897, 0x0000, 0x58a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x58a5, 0x0000, 0x0000, 0x58a8, 0x0000, 0x58ab, 0x58b3, 0x58b4,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58be, 0x0000,\r
+ 0x58bf, 0x0000, 0x0000, 0x0000, 0x0000, 0x58c3, 0x0000, 0x0000, 0x0000, 0x58c4,\r
+ 0x58c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58c6, 0x58c8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58c9, 0x0000, 0x0000, 0x58cb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x58cc, 0x58cf, 0x58d0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x58d3, 0x0000, 0x58dd, 0x0000, 0x0000, 0x58df, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58e6, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x58e8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58ec,\r
+ 0x58ed, 0x58ee, 0x0000, 0x58f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58f1,\r
+ 0x58f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x58f3, 0x0000, 0x0000,\r
+ 0x58f4, 0x58f7, 0x0000, 0x58f8, 0x58f9, 0x58fc, 0x0000, 0x0000, 0x58fe, 0x5900,\r
+ 0x0000, 0x5903, 0x0000, 0x5905, 0x590c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x590e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5912, 0x0000, 0x5913,\r
+ 0x5914, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5915, 0x0000, 0x0000, 0x591a, 0x591b, 0x591e, 0x5920, 0x0000, 0x5929,\r
+ 0x592a, 0x0000, 0x592f, 0x5931, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5932, 0x0000, 0x5934, 0x5936, 0x0000, 0x5937, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5938, 0x0000, 0x593f, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5948, 0x5949, 0x0000, 0x594a, 0x594b, 0x0000, 0x0000, 0x594e,\r
+ 0x0000, 0x0000, 0x5950, 0x0000, 0x0000, 0x0000, 0x0000, 0x5951, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5952,\r
+ 0x0000, 0x5953, 0x5954, 0x0000, 0x0000, 0x0000, 0x0000, 0x5955, 0x0000, 0x5957,\r
+ 0x0000, 0x5958, 0x0000, 0x5959, 0x5961, 0x5962, 0x5964, 0x5965, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5966, 0x5967, 0x0000, 0x596e, 0x0000,\r
+ 0x596f, 0x0000, 0x0000, 0x0000, 0x5974, 0x0000, 0x5975, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5978, 0x0000, 0x0000, 0x0000, 0x0000, 0x5979, 0x597b, 0x0000, 0x0000,\r
+ 0x0000, 0x5983, 0x5985, 0x0000, 0x0000, 0x5986, 0x0000, 0x0000, 0x0000, 0x5988,\r
+ 0x0000, 0x0000, 0x0000, 0x5991, 0x5992, 0x0000, 0x0000, 0x0000, 0x599d, 0x599e,\r
+ 0x0000, 0x0000, 0x0000, 0x599f, 0x0000, 0x0000, 0x0000, 0x59a0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59a2, 0x0000, 0x59a3, 0x0000, 0x0000,\r
+ 0x59aa, 0x0000, 0x59ac, 0x0000, 0x0000, 0x59b2, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x59b3, 0x0000, 0x0000, 0x59b4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x59b5, 0x0000, 0x59b8, 0x0000, 0x0000, 0x0000,\r
+ 0x59b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59ba, 0x0000, 0x59bb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x59c2, 0x0000, 0x0000, 0x59c3, 0x0000, 0x59cb,\r
+ 0x0000, 0x0000, 0x59cd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59ce,\r
+ 0x0000, 0x59dd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59de,\r
+ 0x59df, 0x59e0, 0x0000, 0x0000, 0x59ef, 0x59f0, 0x59f5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x59f6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x59f8, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x59fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x59fe, 0x0000,\r
+ 0x0000, 0x0000, 0x5a08, 0x0000, 0x5a09, 0x5a0c, 0x5a0d, 0x5a14, 0x5a15, 0x0000,\r
+ 0x5a17, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a1b, 0x5a1c, 0x0000, 0x0000, 0x0000,\r
+ 0x5a1d, 0x5a21, 0x0000, 0x0000, 0x0000, 0x5a57, 0x0000, 0x5a58, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5a59, 0x0000, 0x5a62, 0x5a65, 0x0000, 0x5a6d, 0x0000,\r
+ 0x0000, 0x5a6e, 0x0000, 0x0000, 0x0000, 0x5a70, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5a72, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a75,\r
+ 0x5a77, 0x5a78, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5a8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a8d,\r
+ 0x0000, 0x0000, 0x5a94, 0x0000, 0x5a95, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5a9b, 0x0000, 0x0000,\r
+ 0x5a9c, 0x5a9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5aa2, 0x0000, 0x5aa4, 0x0000, 0x5aa7, 0x0000, 0x5aa9, 0x5aaa, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5abb, 0x5abd, 0x0000, 0x0000, 0x5abe,\r
+ 0x5ac2, 0x5ac6, 0x0000, 0x0000, 0x0000, 0x5acd, 0x5ace, 0x5ad0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5ad1, 0x5ad6, 0x0000, 0x0000, 0x0000, 0x5ae1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ae4, 0x0000, 0x5aec, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5aed, 0x0000, 0x5b01, 0x0000, 0x5b02, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5b03, 0x0000, 0x5b06, 0x0000, 0x0000, 0x5b07, 0x5b10, 0x0000, 0x0000,\r
+ 0x5b12, 0x0000, 0x5b18, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b1c, 0x0000, 0x5b1d,\r
+ 0x0000, 0x5b20, 0x0000, 0x5b26, 0x0000, 0x0000, 0x0000, 0x5b29, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5b2f, 0x5b30, 0x5b32, 0x0000, 0x5b34, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b39, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5b3b, 0x0000, 0x5b3c, 0x5b3e, 0x0000, 0x0000, 0x0000, 0x5b3f, 0x5b40, 0x0000,\r
+ 0x5b41, 0x0000, 0x5b47, 0x0000, 0x5b49, 0x0000, 0x0000, 0x5b4d, 0x0000, 0x5b52,\r
+ 0x5b53, 0x0000, 0x5b56, 0x5b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b5b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b5c, 0x5b5e, 0x0000, 0x0000, 0x5b61,\r
+ 0x5b66, 0x0000, 0x0000, 0x0000, 0x5b67, 0x0000, 0x0000, 0x0000, 0x5b68, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5b69, 0x0000, 0x0000, 0x0000, 0x5b77, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b78, 0x0000, 0x5b7e, 0x0000,\r
+ 0x5b93, 0x5b94, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b98, 0x0000, 0x5b9e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ba0, 0x0000, 0x0000, 0x5ba2, 0x5ba8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ba9, 0x0000, 0x0000, 0x0000,\r
+ 0x5bae, 0x5baf, 0x0000, 0x0000, 0x5bb0, 0x0000, 0x0000, 0x0000, 0x5bb1, 0x5bc8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc9, 0x0000,\r
+ 0x5bcb, 0x0000, 0x0000, 0x5bce, 0x0000, 0x0000, 0x5bcf, 0x0000, 0x0000, 0x5bd9,\r
+ 0x0000, 0x0000, 0x5bdb, 0x0000, 0x0000, 0x0000, 0x5bdd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5bde, 0x5bdf, 0x5be1, 0x5be4, 0x0000, 0x5be5, 0x5be8, 0x5bf3, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5bf5, 0x0000, 0x0000, 0x5bf8, 0x0000, 0x0000,\r
+ 0x5c04, 0x0000, 0x0000, 0x5c05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c07, 0x0000, 0x5c08,\r
+ 0x0000, 0x0000, 0x5c09, 0x0000, 0x0000, 0x5c0e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5c10, 0x5c11, 0x5c12, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c13, 0x0000,\r
+ 0x5c16, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5c17, 0x0000, 0x5c1b, 0x0000, 0x0000, 0x5c1d, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5c23, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5c2c, 0x5c2e, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c32, 0x5c36,\r
+ 0x0000, 0x0000, 0x5c37, 0x0000, 0x5c38, 0x0000, 0x0000, 0x0000, 0x5c3e, 0x5c40,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c42, 0x0000, 0x0000, 0x5c43, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5c45, 0x5c4a, 0x0000, 0x5c4b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5c4d, 0x0000, 0x5c4e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5c52, 0x0000, 0x5c54, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5c56, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c58, 0x5c73, 0x0000, 0x5c75, 0x0000,\r
+ 0x0000, 0x0000, 0x5c81, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5c82, 0x0000, 0x5c83, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c84, 0x0000,\r
+ 0x0000, 0x0000, 0x5c85, 0x5c89, 0x0000, 0x5c8d, 0x5c8e, 0x5c94, 0x0000, 0x5c96,\r
+ 0x0000, 0x5c9d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca0,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ca2, 0x0000, 0x0000, 0x5ca3, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5ca6, 0x0000, 0x0000, 0x5ca8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5caa, 0x0000, 0x0000, 0x0000, 0x5cae, 0x5cb1, 0x0000, 0x5cbd, 0x5cc2,\r
+ 0x0000, 0x5cc4, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5cc6, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cc7, 0x0000, 0x5cc9,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5ccd, 0x5cd5, 0x0000, 0x0000, 0x0000, 0x5cda,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cdb, 0x0000, 0x5cdc,\r
+ 0x5ce5, 0x0000, 0x0000, 0x5cf4, 0x0000, 0x0000, 0x0000, 0x0000, 0x5cf6, 0x0000,\r
+ 0x5cf7, 0x0000, 0x0000, 0x0000, 0x5cfa, 0x0000, 0x0000, 0x5cfe, 0x0000, 0x5cff,\r
+ 0x0000, 0x0000, 0x5d00, 0x0000, 0x5d01, 0x0000, 0x5d0b, 0x0000, 0x0000, 0x0000,\r
+ 0x5d0d, 0x0000, 0x5d13, 0x0000, 0x0000, 0x0000, 0x5d15, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5d16, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5d18, 0x5d19, 0x5d1a, 0x5d1b, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d1d,\r
+ 0x5d1e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d26, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5d27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d47,\r
+ 0x5d49, 0x0000, 0x0000, 0x5d4a, 0x5d4b, 0x5d57, 0x0000, 0x5d5b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5d5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d5e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5d5f, 0x5d61, 0x0000, 0x5d62, 0x0000,\r
+ 0x5d63, 0x5d6e, 0x5d6f, 0x5d70, 0x0000, 0x5d72, 0x0000, 0x5d74, 0x0000, 0x5d77,\r
+ 0x0000, 0x5d7e, 0x0000, 0x5d81, 0x5d85, 0x0000, 0x5d86, 0x5d8a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5d93, 0x5d94, 0x5d96, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5d97, 0x0000, 0x5d9a, 0x5d9d, 0x0000, 0x5d9e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5d9f, 0x5da0, 0x0000, 0x0000, 0x5da5, 0x0000, 0x0000, 0x5da6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5da7, 0x0000, 0x5da8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5da9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5dac,\r
+ 0x0000, 0x0000, 0x5db0, 0x0000, 0x5db1, 0x0000, 0x0000, 0x5db3, 0x0000, 0x0000,\r
+ 0x5db4, 0x5db6, 0x5db7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5db8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5dba, 0x0000,\r
+ 0x0000, 0x0000, 0x5dbe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5dbf, 0x0000, 0x0000, 0x5dc3, 0x0000, 0x5dc4, 0x0000, 0x5dc6,\r
+ 0x0000, 0x0000, 0x0000, 0x5dc7, 0x0000, 0x0000, 0x5dc8, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5dc9, 0x0000, 0x0000, 0x5dca, 0x0000, 0x0000,\r
+ 0x5dcb, 0x0000, 0x0000, 0x5dcd, 0x5dce, 0x0000, 0x0000, 0x5dcf, 0x5dd0, 0x5ddb,\r
+ 0x0000, 0x5ddc, 0x5ddd, 0x0000, 0x5dde, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5de1, 0x5de2, 0x0000, 0x5de3, 0x0000, 0x0000, 0x5de4, 0x0000, 0x0000, 0x5dec,\r
+ 0x0000, 0x5df0, 0x5df1, 0x5dff, 0x5e03, 0x0000, 0x5e04, 0x5e06, 0x0000, 0x0000,\r
+ 0x5e07, 0x5e0e, 0x5e17, 0x0000, 0x5e1a, 0x0000, 0x0000, 0x0000, 0x5e1f, 0x0000,\r
+ 0x5e22, 0x5e25, 0x5e28, 0x5e2a, 0x0000, 0x5e2b, 0x0000, 0x0000, 0x0000, 0x5e2c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5e2e, 0x5e2f, 0x0000, 0x5e31, 0x0000, 0x0000,\r
+ 0x5e33, 0x5e38, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e3c, 0x0000,\r
+ 0x5e3d, 0x0000, 0x5e3e, 0x0000, 0x5e3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5e47, 0x0000, 0x0000, 0x5e48, 0x0000, 0x5e49, 0x5e4e, 0x0000, 0x0000, 0x0000,\r
+ 0x5e52, 0x0000, 0x0000, 0x5e53, 0x5e55, 0x5e5a, 0x0000, 0x5e63, 0x0000, 0x0000,\r
+ 0x0000, 0x5e65, 0x5e66, 0x5e67, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5e69, 0x5e6a, 0x5e6f, 0x0000, 0x0000, 0x0000,\r
+ 0x5e72, 0x0000, 0x0000, 0x5e73, 0x0000, 0x0000, 0x5e75, 0x0000, 0x5e78, 0x5e85,\r
+ 0x0000, 0x5e89, 0x5e8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e8e,\r
+ 0x5e94, 0x5e9c, 0x0000, 0x0000, 0x0000, 0x5ea0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5ea2, 0x0000, 0x5eaa, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5eab, 0x0000, 0x5eac, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5eaf, 0x5eb0, 0x5eb1, 0x0000, 0x0000, 0x5eb8, 0x0000, 0x0000, 0x5eb9,\r
+ 0x0000, 0x5ebb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ebd, 0x0000,\r
+ 0x5ecc, 0x0000, 0x0000, 0x0000, 0x5ecd, 0x0000, 0x5ecf, 0x5ed0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5ed1, 0x0000, 0x0000, 0x5ed2, 0x0000, 0x0000, 0x5ed7, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ed8, 0x0000, 0x5ee5, 0x5ee6,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5ee8, 0x0000, 0x0000, 0x5f03,\r
+ 0x0000, 0x0000, 0x0000, 0x5f09, 0x5f0a, 0x5f0b, 0x5f13, 0x0000, 0x5f1f, 0x0000,\r
+ 0x0000, 0x5f31, 0x5f32, 0x0000, 0x0000, 0x0000, 0x5f33, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x5f34, 0x5f35, 0x5f36, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f3a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5f3b, 0x0000, 0x5f3d, 0x0000, 0x5f3f, 0x5f45,\r
+ 0x0000, 0x5f46, 0x0000, 0x0000, 0x5f4a, 0x5f4b, 0x5f50, 0x0000, 0x0000, 0x0000,\r
+ 0x5f51, 0x5f52, 0x0000, 0x5f56, 0x0000, 0x0000, 0x0000, 0x5f5b, 0x0000, 0x0000,\r
+ 0x0000, 0x5f5f, 0x0000, 0x5f60, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f61,\r
+ 0x0000, 0x5f63, 0x0000, 0x5f66, 0x0000, 0x5f67, 0x5f6c, 0x0000, 0x5f73, 0x0000,\r
+ 0x0000, 0x0000, 0x5f77, 0x0000, 0x0000, 0x0000, 0x5f78, 0x5f7a, 0x5f7e, 0x0000,\r
+ 0x0000, 0x0000, 0x5f7f, 0x5f80, 0x5f81, 0x5f84, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5f85, 0x5f89, 0x0000, 0x0000, 0x5f8a, 0x5f8b, 0x5f8c, 0x0000, 0x5f91, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f96, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5f97, 0x0000, 0x5f99, 0x5f9a, 0x5f9b,\r
+ 0x5f9c, 0x0000, 0x5f9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa1, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa2,\r
+ 0x5fa5, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fa6, 0x0000, 0x0000, 0x0000, 0x5fa8,\r
+ 0x0000, 0x0000, 0x0000, 0x5fae, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fb1, 0x0000,\r
+ 0x0000, 0x5fb2, 0x0000, 0x0000, 0x0000, 0x5fb3, 0x5fba, 0x0000, 0x0000, 0x0000,\r
+ 0x5fbb, 0x0000, 0x0000, 0x5fbf, 0x0000, 0x0000, 0x5fc1, 0x5fc2, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x5fc5, 0x0000, 0x5fc6, 0x0000, 0x5fc8, 0x0000, 0x5fc9,\r
+ 0x5fcc, 0x5fcd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fcf, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5fd0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5fd9,\r
+ 0x5fdb, 0x0000, 0x5fdc, 0x0000, 0x0000, 0x0000, 0x5fe4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x5fe5, 0x5fe6, 0x0000, 0x0000, 0x0000, 0x5fe9, 0x5fea, 0x0000,\r
+ 0x5feb, 0x0000, 0x5fec, 0x0000, 0x5fee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5ff0, 0x0000, 0x0000, 0x0000, 0x5ff1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5ff2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x5ff7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x5ff9, 0x0000, 0x0000, 0x0000, 0x5ffe, 0x0000, 0x5fff, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6001, 0x6005,\r
+ 0x0000, 0x6008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6009, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x600a, 0x0000, 0x0000, 0x600b, 0x0000, 0x600c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x600e,\r
+ 0x600f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6010, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6014, 0x6015, 0x0000, 0x0000, 0x0000, 0x0000, 0x601a, 0x601b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x601c, 0x0000, 0x0000, 0x601d, 0x0000, 0x6022, 0x0000,\r
+ 0x0000, 0x6023, 0x0000, 0x0000, 0x0000, 0x0000, 0x6024, 0x6027, 0x6028, 0x6030,\r
+ 0x0000, 0x0000, 0x0000, 0x6033, 0x0000, 0x603e, 0x603f, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6040, 0x0000, 0x0000, 0x0000, 0x604f, 0x6050, 0x6051, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6056, 0x0000, 0x6057, 0x6058,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6059, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x605b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x605c, 0x605d, 0x0000,\r
+ 0x605e, 0x6062, 0x0000, 0x0000, 0x0000, 0x6063, 0x0000, 0x6066, 0x0000, 0x0000,\r
+ 0x6067, 0x0000, 0x0000, 0x0000, 0x6069, 0x0000, 0x606b, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x606c, 0x0000, 0x606d, 0x0000, 0x0000, 0x606e, 0x0000, 0x0000, 0x6070,\r
+ 0x6071, 0x0000, 0x0000, 0x0000, 0x0000, 0x6072, 0x6073, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6079, 0x0000, 0x607a, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6085, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6086, 0x0000, 0x6088, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6089, 0x608a, 0x0000, 0x608b, 0x0000, 0x608c, 0x608e, 0x0000, 0x608f, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6090, 0x0000, 0x0000, 0x6095, 0x0000, 0x0000, 0x60a2,\r
+ 0x0000, 0x60ad, 0x60ae, 0x0000, 0x0000, 0x0000, 0x60b0, 0x0000, 0x0000, 0x0000,\r
+ 0x60b1, 0x0000, 0x0000, 0x0000, 0x60b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x60ba, 0x0000, 0x60bb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x60bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x60bd, 0x60bf, 0x60c0, 0x0000,\r
+ 0x60c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x60c5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x60c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x60d1, 0x0000, 0x60d2, 0x60d4,\r
+ 0x0000, 0x0000, 0x0000, 0x60d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x60da, 0x60de,\r
+ 0x0000, 0x60df, 0x60e0, 0x0000, 0x0000, 0x0000, 0x60e3, 0x0000, 0x60e4, 0x60e6,\r
+ 0x0000, 0x60e7, 0x0000, 0x0000, 0x0000, 0x60ea, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x60fb, 0x60fc, 0x0000, 0x6103, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6107, 0x0000,\r
+ 0x610b, 0x610c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x610f, 0x0000, 0x0000, 0x6110, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6111, 0x0000, 0x6112, 0x6113, 0x0000, 0x0000, 0x0000, 0x6114,\r
+ 0x0000, 0x6115, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6116, 0x0000, 0x6117, 0x0000, 0x0000, 0x6124, 0x0000, 0x0000, 0x0000,\r
+ 0x6133, 0x0000, 0x0000, 0x0000, 0x6134, 0x0000, 0x613f, 0x6141, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6143, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6144,\r
+ 0x0000, 0x6151, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6152, 0x0000,\r
+ 0x0000, 0x6155, 0x6162, 0x6163, 0x0000, 0x0000, 0x0000, 0x6164, 0x0000, 0x0000,\r
+ 0x616b, 0x0000, 0x0000, 0x616e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6171, 0x6176, 0x0000, 0x6177, 0x0000, 0x0000, 0x6179,\r
+ 0x0000, 0x0000, 0x0000, 0x617a, 0x0000, 0x617f, 0x0000, 0x0000, 0x0000, 0x6181,\r
+ 0x0000, 0x0000, 0x6182, 0x0000, 0x6184, 0x6188, 0x618a, 0x618c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6190, 0x0000, 0x0000, 0x0000, 0x6191, 0x0000, 0x6196,\r
+ 0x0000, 0x0000, 0x6197, 0x0000, 0x0000, 0x6198, 0x0000, 0x0000, 0x0000, 0x61a1,\r
+ 0x0000, 0x0000, 0x0000, 0x61a2, 0x0000, 0x0000, 0x61a9, 0x0000, 0x0000, 0x0000,\r
+ 0x61ab, 0x0000, 0x0000, 0x61ba, 0x0000, 0x0000, 0x61bf, 0x0000, 0x0000, 0x0000,\r
+ 0x61ca, 0x0000, 0x0000, 0x61cb, 0x61cc, 0x0000, 0x61cd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x61cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x61d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61d2, 0x0000,\r
+ 0x0000, 0x61d3, 0x61d5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61d9,\r
+ 0x0000, 0x0000, 0x61db, 0x0000, 0x61dc, 0x61dd, 0x0000, 0x0000, 0x61de, 0x0000,\r
+ 0x0000, 0x0000, 0x61df, 0x0000, 0x0000, 0x0000, 0x0000, 0x61e1, 0x61e3, 0x0000,\r
+ 0x0000, 0x61e4, 0x61e8, 0x0000, 0x61e9, 0x61ed, 0x61ee, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x61f0, 0x0000, 0x61f1, 0x0000, 0x6202, 0x0000, 0x0000, 0x6204, 0x6205,\r
+ 0x620d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6211, 0x6214, 0x0000,\r
+ 0x0000, 0x6219, 0x0000, 0x0000, 0x621b, 0x621c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x621d, 0x0000, 0x0000, 0x0000, 0x6220, 0x6221, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6225, 0x0000, 0x0000, 0x0000, 0x6226,\r
+ 0x0000, 0x622a, 0x622e, 0x0000, 0x6233, 0x0000, 0x6237, 0x0000, 0x0000, 0x0000,\r
+ 0x623f, 0x0000, 0x6249, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x624b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6256, 0x0000, 0x6257, 0x0000, 0x6277, 0x0000, 0x0000, 0x0000, 0x6279, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x627d, 0x0000, 0x6283, 0x0000, 0x6287, 0x0000, 0x6289,\r
+ 0x0000, 0x0000, 0x0000, 0x628b, 0x0000, 0x0000, 0x0000, 0x628c, 0x0000, 0x0000,\r
+ 0x0000, 0x628d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x628f,\r
+ 0x6291, 0x0000, 0x0000, 0x0000, 0x0000, 0x6295, 0x6297, 0x0000, 0x0000, 0x0000,\r
+ 0x629b, 0x0000, 0x0000, 0x0000, 0x62a4, 0x0000, 0x62a9, 0x62aa, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x62ac, 0x62b1, 0x0000, 0x62b4, 0x0000, 0x0000, 0x62b9, 0x62ec,\r
+ 0x0000, 0x62ed, 0x0000, 0x62ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x62ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62f0, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x62f4, 0x0000, 0x0000, 0x0000, 0x62f5,\r
+ 0x0000, 0x0000, 0x0000, 0x62f8, 0x62f9, 0x62fa, 0x0000, 0x0000, 0x62ff, 0x0000,\r
+ 0x6306, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6308, 0x0000,\r
+ 0x630a, 0x0000, 0x631f, 0x0000, 0x6323, 0x0000, 0x0000, 0x0000, 0x0000, 0x6328,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x632a,\r
+ 0x0000, 0x632c, 0x0000, 0x632e, 0x0000, 0x0000, 0x6337, 0x0000, 0x0000, 0x6339,\r
+ 0x0000, 0x0000, 0x0000, 0x633a, 0x0000, 0x0000, 0x0000, 0x633f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6345,\r
+ 0x6347, 0x0000, 0x0000, 0x6349, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x634b, 0x0000, 0x0000, 0x0000, 0x634d, 0x0000, 0x0000, 0x0000, 0x6350,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6359, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x635b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x635c, 0x0000, 0x0000, 0x0000, 0x635d, 0x0000, 0x0000, 0x6360, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6362, 0x0000, 0x0000, 0x6363, 0x0000,\r
+ 0x6366, 0x0000, 0x0000, 0x6369, 0x0000, 0x0000, 0x0000, 0x636a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x636c, 0x0000, 0x636d, 0x636e, 0x636f, 0x0000, 0x0000, 0x0000,\r
+ 0x6370, 0x0000, 0x6371, 0x0000, 0x0000, 0x0000, 0x6373, 0x0000, 0x6375, 0x0000,\r
+ 0x637c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x637d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x637f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6382, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6383, 0x0000, 0x0000, 0x0000, 0x0000, 0x6385, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x638b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x638c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x638d,\r
+ 0x0000, 0x6399, 0x0000, 0x0000, 0x639a, 0x0000, 0x63a0, 0x0000, 0x63a6, 0x0000,\r
+ 0x63a8, 0x0000, 0x0000, 0x63a9, 0x63aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x63ad, 0x63ae, 0x63af, 0x0000, 0x63b0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x63b1, 0x0000, 0x63b2, 0x63b7, 0x63be, 0x0000, 0x63c0,\r
+ 0x0000, 0x63c1, 0x0000, 0x0000, 0x63cc, 0x63ce, 0x0000, 0x0000, 0x63cf, 0x0000,\r
+ 0x63d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63d2, 0x0000, 0x63d3, 0x0000,\r
+ 0x63d4, 0x63d5, 0x63e0, 0x0000, 0x0000, 0x0000, 0x63e2, 0x63e3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x63e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x63eb,\r
+ 0x0000, 0x0000, 0x0000, 0x63ed, 0x0000, 0x0000, 0x0000, 0x63ee, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x63f4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x63f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x63f6, 0x0000, 0x63f7,\r
+ 0x63f8, 0x63f9, 0x0000, 0x63fa, 0x0000, 0x0000, 0x0000, 0x63fc, 0x0000, 0x63fd,\r
+ 0x640f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6412, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6413, 0x6417, 0x0000, 0x0000, 0x641d, 0x0000, 0x0000, 0x641f, 0x0000,\r
+ 0x0000, 0x0000, 0x6423, 0x6424, 0x0000, 0x0000, 0x6431, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6436, 0x0000, 0x0000, 0x0000, 0x643d, 0x643f, 0x0000, 0x0000, 0x6447,\r
+ 0x0000, 0x0000, 0x644e, 0x6462, 0x0000, 0x6463, 0x6466, 0x6467, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6468, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x646a, 0x0000, 0x0000, 0x646e, 0x0000, 0x646f, 0x0000, 0x6470,\r
+ 0x0000, 0x6473, 0x6474, 0x6475, 0x0000, 0x0000, 0x6476, 0x6480, 0x6484, 0x0000,\r
+ 0x0000, 0x0000, 0x6486, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6489, 0x0000, 0x0000, 0x648b, 0x0000, 0x0000, 0x0000, 0x648c,\r
+ 0x0000, 0x648d, 0x6491, 0x0000, 0x6492, 0x0000, 0x6494, 0x64ac, 0x64b2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x64b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x64b5,\r
+ 0x0000, 0x64b6, 0x64b8, 0x64b9, 0x0000, 0x0000, 0x0000, 0x64bd, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x64c5, 0x64c9, 0x0000, 0x0000, 0x0000, 0x64d0,\r
+ 0x64d1, 0x0000, 0x0000, 0x64d3, 0x64d6, 0x64d7, 0x0000, 0x0000, 0x64d9, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64dc, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x64e8, 0x64e9, 0x0000, 0x0000, 0x0000, 0x64f6, 0x0000, 0x0000,\r
+ 0x0000, 0x64f7, 0x64f8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x64f9, 0x64fa, 0x0000, 0x0000, 0x64fb, 0x0000, 0x0000, 0x64fc,\r
+ 0x0000, 0x6506, 0x0000, 0x0000, 0x0000, 0x6507, 0x6509, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x650b, 0x650c, 0x0000, 0x650d, 0x6512, 0x0000,\r
+ 0x6513, 0x0000, 0x6514, 0x6515, 0x0000, 0x0000, 0x0000, 0x0000, 0x6516, 0x652e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x652f, 0x6530, 0x6531,\r
+ 0x0000, 0x0000, 0x0000, 0x6534, 0x6535, 0x0000, 0x0000, 0x0000, 0x0000, 0x6536,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6538, 0x0000, 0x6539,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x653a, 0x0000,\r
+ 0x0000, 0x653c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x653d, 0x6547, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6548, 0x0000, 0x0000, 0x654a, 0x0000, 0x0000, 0x0000,\r
+ 0x654d, 0x0000, 0x0000, 0x6552, 0x6556, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6559, 0x0000, 0x655e, 0x0000, 0x6564, 0x0000, 0x0000, 0x6569,\r
+ 0x656a, 0x0000, 0x0000, 0x656b, 0x0000, 0x656c, 0x656d, 0x656e, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x656f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6570, 0x0000,\r
+ 0x0000, 0x0000, 0x6571, 0x6573, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6575,\r
+ 0x6577, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x657a, 0x0000,\r
+ 0x657d, 0x0000, 0x0000, 0x0000, 0x657e, 0x0000, 0x0000, 0x0000, 0x6580, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6589, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6592, 0x0000, 0x0000, 0x0000, 0x6595, 0x0000, 0x0000, 0x0000, 0x6596, 0x6597,\r
+ 0x0000, 0x0000, 0x659e, 0x659f, 0x65a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x65a1, 0x65a2, 0x65a4, 0x0000, 0x65a6, 0x65a7, 0x0000, 0x0000, 0x0000,\r
+ 0x65a8, 0x65ac, 0x0000, 0x65ad, 0x65b1, 0x65b2, 0x65bc, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x65be, 0x0000, 0x0000, 0x65bf, 0x0000, 0x0000, 0x65c1, 0x0000,\r
+ 0x65c2, 0x0000, 0x65c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x65c5, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x65c6, 0x65cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x65cc, 0x0000, 0x65d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x65d3, 0x0000, 0x65d5, 0x0000,\r
+ 0x0000, 0x65d7, 0x0000, 0x0000, 0x0000, 0x65d9, 0x0000, 0x65da, 0x65dd, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x65de, 0x0000, 0x0000, 0x0000, 0x65df, 0x0000, 0x65ea,\r
+ 0x0000, 0x0000, 0x65ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x65ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x65f0, 0x65f5, 0x0000, 0x65fb, 0x660a, 0x0000, 0x660c,\r
+ 0x0000, 0x0000, 0x660d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6618,\r
+ 0x661d, 0x662b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6634, 0x6636, 0x0000, 0x0000, 0x0000, 0x6637, 0x0000, 0x663a, 0x663b,\r
+ 0x0000, 0x0000, 0x663c, 0x0000, 0x0000, 0x663e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x663f,\r
+ 0x0000, 0x0000, 0x0000, 0x6640, 0x6641, 0x0000, 0x66d1, 0x66d2, 0x0000, 0x66d3,\r
+ 0x0000, 0x0000, 0x66d4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x66d5, 0x0000, 0x66db, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x66df,\r
+ 0x0000, 0x0000, 0x0000, 0x66ee, 0x0000, 0x0000, 0x0000, 0x670b, 0x0000, 0x0000,\r
+ 0x670e, 0x670f, 0x6711, 0x0000, 0x0000, 0x6718, 0x6726, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x672b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x672c, 0x0000, 0x0000,\r
+ 0x6734, 0x0000, 0x0000, 0x6737, 0x0000, 0x6738, 0x673a, 0x6740, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6743, 0x0000, 0x6744, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6749, 0x0000, 0x674c, 0x0000, 0x0000, 0x0000, 0x674e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x674f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6751, 0x0000,\r
+ 0x6752, 0x6754, 0x0000, 0x6755, 0x6756, 0x0000, 0x0000, 0x0000, 0x6757, 0x0000,\r
+ 0x0000, 0x0000, 0x6758, 0x0000, 0x0000, 0x675a, 0x0000, 0x0000, 0x675c, 0x0000,\r
+ 0x675f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6760,\r
+ 0x6766, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6769, 0x0000, 0x0000, 0x676a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x676b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x676d,\r
+ 0x0000, 0x6775, 0x0000, 0x0000, 0x6776, 0x0000, 0x6777, 0x0000, 0x0000, 0x6778,\r
+ 0x677d, 0x677e, 0x0000, 0x0000, 0x677f, 0x0000, 0x6781, 0x6788, 0x678a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x678b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x678d, 0x0000, 0x0000, 0x678e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6790, 0x0000, 0x6791,\r
+ 0x6793, 0x0000, 0x0000, 0x0000, 0x6796, 0x0000, 0x0000, 0x0000, 0x6797, 0x0000,\r
+ 0x679c, 0x679e, 0x0000, 0x0000, 0x0000, 0x679f, 0x0000, 0x67a4, 0x0000, 0x67a5,\r
+ 0x67a9, 0x67be, 0x0000, 0x0000, 0x0000, 0x67bf, 0x0000, 0x0000, 0x0000, 0x67cb,\r
+ 0x0000, 0x0000, 0x67cd, 0x0000, 0x67dc, 0x0000, 0x67e1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x67eb, 0x0000, 0x67ec, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x67ee, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x67ef, 0x67f1, 0x67f3, 0x67f6, 0x0000, 0x0000,\r
+ 0x0000, 0x67f8, 0x67fc, 0x0000, 0x67fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6803, 0x0000, 0x6805, 0x0000, 0x0000, 0x6806, 0x0000, 0x0000, 0x6808, 0x6813,\r
+ 0x0000, 0x0000, 0x0000, 0x6814, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6816, 0x6817, 0x0000, 0x0000, 0x0000, 0x681a, 0x0000,\r
+ 0x0000, 0x6820, 0x0000, 0x0000, 0x0000, 0x0000, 0x6827, 0x682e, 0x682f, 0x0000,\r
+ 0x0000, 0x0000, 0x683d, 0x683e, 0x683f, 0x0000, 0x6841, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6878, 0x0000, 0x6879, 0x0000, 0x687b, 0x687c, 0x0000, 0x687d, 0x687e,\r
+ 0x687f, 0x0000, 0x0000, 0x0000, 0x0000, 0x6880, 0x6883, 0x0000, 0x0000, 0x0000,\r
+ 0x6884, 0x6891, 0x0000, 0x0000, 0x0000, 0x6896, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6897, 0x0000, 0x6899, 0x689a, 0x0000, 0x68a2, 0x0000, 0x0000, 0x0000,\r
+ 0x68a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x68a4, 0x0000, 0x0000, 0x68a5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x68a7, 0x0000, 0x68a8, 0x68a9, 0x0000, 0x0000, 0x0000,\r
+ 0x68aa, 0x0000, 0x68ad, 0x68ae, 0x0000, 0x0000, 0x0000, 0x68b0, 0x0000, 0x0000,\r
+ 0x68b3, 0x0000, 0x68b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x68b5, 0x0000, 0x0000, 0x68b8, 0x0000, 0x0000, 0x68b9, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x68bc, 0x0000, 0x68c9, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x68ca, 0x0000, 0x0000, 0x68cb,\r
+ 0x68cd, 0x68d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x68d3, 0x0000, 0x0000, 0x68e1,\r
+ 0x0000, 0x68e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x68e4, 0x0000, 0x68e5, 0x68e9, 0x0000, 0x68ea, 0x0000, 0x68eb, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x68fc, 0x0000, 0x68fe, 0x6902,\r
+ 0x6903, 0x0000, 0x0000, 0x0000, 0x0000, 0x690a, 0x690e, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x690f, 0x6910, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6914, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x691f, 0x6921, 0x6922, 0x6923,\r
+ 0x6924, 0x6927, 0x0000, 0x0000, 0x0000, 0x6929, 0x692a, 0x0000, 0x0000, 0x692d,\r
+ 0x0000, 0x0000, 0x0000, 0x6930, 0x0000, 0x0000, 0x6931, 0x6932, 0x0000, 0x0000,\r
+ 0x0000, 0x6933, 0x0000, 0x6934, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6935,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6939, 0x0000, 0x0000, 0x693f,\r
+ 0x0000, 0x0000, 0x6940, 0x0000, 0x0000, 0x0000, 0x6942, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x694c, 0x0000, 0x694e, 0x0000, 0x0000, 0x6953,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6955, 0x0000, 0x6959,\r
+ 0x695a, 0x695c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x695d, 0x0000, 0x695e,\r
+ 0x0000, 0x6962, 0x0000, 0x6964, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6966, 0x0000, 0x696a, 0x696b, 0x0000, 0x696e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x697b, 0x697e, 0x0000, 0x0000, 0x697f, 0x6982, 0x6984, 0x6985, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6986, 0x6987, 0x698a, 0x0000,\r
+ 0x698b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6991, 0x0000, 0x0000, 0x0000,\r
+ 0x6992, 0x0000, 0x0000, 0x0000, 0x0000, 0x6995, 0x6996, 0x6997, 0x699a, 0x0000,\r
+ 0x0000, 0x699c, 0x699d, 0x0000, 0x0000, 0x0000, 0x699e, 0x69a2, 0x0000, 0x0000,\r
+ 0x0000, 0x69a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69a5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x69a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x69a7, 0x69a9, 0x0000, 0x69aa, 0x0000, 0x0000, 0x0000, 0x69ab,\r
+ 0x69ac, 0x0000, 0x69af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x69b0, 0x69b2, 0x69b3, 0x0000, 0x69b5, 0x0000, 0x69b8, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x69bd, 0x0000, 0x0000, 0x69be, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69c0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x69c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x69c6, 0x0000, 0x69c7, 0x0000, 0x0000, 0x0000, 0x69c9, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x69ca, 0x0000, 0x69cb, 0x69ce, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x69cf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69d0, 0x69d2, 0x0000,\r
+ 0x69d6, 0x0000, 0x0000, 0x69d7, 0x0000, 0x69db, 0x69de, 0x0000, 0x0000, 0x0000,\r
+ 0x69df, 0x0000, 0x0000, 0x0000, 0x0000, 0x69e1, 0x0000, 0x0000, 0x0000, 0x69e2,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x69e3, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x69e4, 0x69ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x69ee, 0x0000, 0x0000,\r
+ 0x69f4, 0x0000, 0x69f6, 0x0000, 0x0000, 0x69fa, 0x69fb, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6a0b, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a0c, 0x6a0d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6a0e, 0x6a0f, 0x0000, 0x6a10, 0x0000, 0x6a17,\r
+ 0x0000, 0x0000, 0x0000, 0x6a1c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6a27, 0x0000, 0x6a35, 0x0000, 0x0000, 0x6a37, 0x0000, 0x6a39, 0x0000,\r
+ 0x6a3b, 0x0000, 0x6a3e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a40, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6a42, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a43, 0x0000,\r
+ 0x0000, 0x6a44, 0x0000, 0x0000, 0x6a46, 0x0000, 0x6a47, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6a49, 0x0000, 0x0000, 0x0000, 0x6a4d, 0x0000, 0x0000, 0x6a50, 0x6a53,\r
+ 0x6a54, 0x6a56, 0x6a57, 0x0000, 0x6a58, 0x0000, 0x6a59, 0x6a5a, 0x0000, 0x0000,\r
+ 0x6a61, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a63, 0x0000, 0x6a65, 0x0000, 0x6a66,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6a67, 0x0000, 0x6a6a, 0x6a6b, 0x0000, 0x6a72,\r
+ 0x0000, 0x0000, 0x0000, 0x6a73, 0x0000, 0x6a75, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6a76, 0x6a77, 0x6a7a,\r
+ 0x0000, 0x0000, 0x0000, 0x6a7b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6a83, 0x0000, 0x6a8c, 0x6a8e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6aa0, 0x6aa1, 0x6aa5, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6aa6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ab0,\r
+ 0x6ab1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ab6, 0x0000, 0x6ab8, 0x0000,\r
+ 0x6ac1, 0x0000, 0x6ac2, 0x6ac3, 0x0000, 0x6ac4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6acc, 0x0000, 0x0000, 0x0000, 0x6ad4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6ad6, 0x0000, 0x6ad7, 0x0000, 0x0000, 0x0000, 0x0000, 0x6adb, 0x0000,\r
+ 0x0000, 0x6ade, 0x6adf, 0x6ae1, 0x0000, 0x0000, 0x0000, 0x6ae5, 0x0000, 0x6ae7,\r
+ 0x0000, 0x6af0, 0x6af2, 0x0000, 0x0000, 0x6af3, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6b04, 0x0000, 0x6b05, 0x6b0c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6b10, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b3d, 0x0000, 0x0000, 0x0000,\r
+ 0x6b40, 0x0000, 0x0000, 0x0000, 0x6b42, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6b43, 0x0000, 0x0000, 0x0000, 0x6b44, 0x0000, 0x0000, 0x6b45,\r
+ 0x0000, 0x6b49, 0x6b4b, 0x0000, 0x0000, 0x6b4d, 0x0000, 0x6b4e, 0x0000, 0x6b4f,\r
+ 0x0000, 0x6b55, 0x6b5a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5d, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6b65, 0x0000, 0x6b66, 0x6b6e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b77, 0x6b8c,\r
+ 0x0000, 0x0000, 0x0000, 0x6b8d, 0x6b99, 0x0000, 0x0000, 0x0000, 0x6b9a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b9b,\r
+ 0x0000, 0x0000, 0x6b9d, 0x6b9e, 0x0000, 0x6b9f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6ba3, 0x0000, 0x0000, 0x6bb3, 0x0000, 0x6bb5, 0x6bb6,\r
+ 0x6bb7, 0x6bb9, 0x0000, 0x6bba, 0x0000, 0x0000, 0x6bbb, 0x6bc1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6bc2, 0x0000, 0x0000, 0x6bc4, 0x6bc5, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6bcc, 0x0000, 0x0000, 0x6bd0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bd8, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6bda,\r
+ 0x0000, 0x0000, 0x0000, 0x6be2, 0x0000, 0x0000, 0x6be4, 0x0000, 0x0000, 0x0000,\r
+ 0x6bef, 0x0000, 0x0000, 0x6bf0, 0x6bf2, 0x0000, 0x6bf4, 0x6bf6, 0x0000, 0x0000,\r
+ 0x0000, 0x6bfb, 0x0000, 0x6bfc, 0x6c01, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c03, 0x6c0c,\r
+ 0x0000, 0x6c0d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c0e,\r
+ 0x0000, 0x0000, 0x6c10, 0x0000, 0x6c11, 0x0000, 0x0000, 0x0000, 0x6c15, 0x0000,\r
+ 0x6c17, 0x0000, 0x0000, 0x0000, 0x6c19, 0x6c1a, 0x0000, 0x0000, 0x0000, 0x6c22,\r
+ 0x0000, 0x0000, 0x0000, 0x6c3f, 0x0000, 0x6c40, 0x6c41, 0x6c47, 0x6c48, 0x0000,\r
+ 0x0000, 0x6c50, 0x0000, 0x6c51, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6c53, 0x0000, 0x0000, 0x6c54, 0x0000, 0x6c55, 0x0000,\r
+ 0x6c5a, 0x0000, 0x0000, 0x0000, 0x6c5e, 0x0000, 0x0000, 0x0000, 0x6c5f, 0x6c60,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c61, 0x6c62, 0x0000, 0x0000,\r
+ 0x0000, 0x6c63, 0x6c64, 0x6c67, 0x6c68, 0x0000, 0x0000, 0x0000, 0x6c78, 0x6c7a,\r
+ 0x0000, 0x0000, 0x0000, 0x6c7e, 0x6c7f, 0x0000, 0x6c80, 0x6c81, 0x0000, 0x0000,\r
+ 0x6c85, 0x0000, 0x6c88, 0x0000, 0x6c8a, 0x0000, 0x0000, 0x6c8f, 0x0000, 0x6c90,\r
+ 0x6c91, 0x6c9c, 0x0000, 0x6ca4, 0x6ca5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6ca6, 0x0000, 0x6cb1, 0x0000, 0x6cb3, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6cb4, 0x6cd5, 0x6cd6, 0x0000, 0x0000, 0x0000, 0x6cd8, 0x0000,\r
+ 0x0000, 0x0000, 0x6cd9, 0x6cec, 0x0000, 0x6cf1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6cf2, 0x0000, 0x6cf3, 0x0000, 0x0000, 0x0000, 0x6cf4, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6cf9, 0x6cfa, 0x0000, 0x0000, 0x6cfb, 0x0000, 0x0000,\r
+ 0x0000, 0x6cfd, 0x6d01, 0x0000, 0x0000, 0x6d10, 0x0000, 0x0000, 0x6d11, 0x0000,\r
+ 0x6d12, 0x0000, 0x0000, 0x0000, 0x6d1b, 0x6d1e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d25, 0x0000, 0x6d26, 0x0000,\r
+ 0x6d29, 0x0000, 0x6d2b, 0x6d32, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d38, 0x6d3b,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d3c, 0x6d3d,\r
+ 0x0000, 0x0000, 0x0000, 0x6d3f, 0x0000, 0x6d41, 0x6d47, 0x0000, 0x6d48, 0x6d49,\r
+ 0x0000, 0x6d4d, 0x0000, 0x6d4f, 0x6d93, 0x6d94, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6d98, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d9a, 0x6d9b,\r
+ 0x0000, 0x0000, 0x6d9d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6d9f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6da2, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6da5, 0x6da6, 0x6da8, 0x0000, 0x6da9, 0x0000,\r
+ 0x0000, 0x6daa, 0x0000, 0x0000, 0x0000, 0x0000, 0x6dab, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6dae, 0x0000, 0x0000, 0x0000, 0x0000, 0x6db5,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6db6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6db8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6dba, 0x0000, 0x6dc1, 0x6dd2, 0x6dd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6dd4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6dd6, 0x0000,\r
+ 0x6de1, 0x0000, 0x6de3, 0x0000, 0x0000, 0x6de7, 0x0000, 0x0000, 0x0000, 0x6dec,\r
+ 0x6ded, 0x0000, 0x0000, 0x0000, 0x6df2, 0x0000, 0x0000, 0x0000, 0x0000, 0x6df8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6dfb, 0x6dfd, 0x6e01, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6e06, 0x0000, 0x6e07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e0c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6e0d, 0x0000, 0x0000, 0x6e0f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e12, 0x6e1c, 0x0000, 0x6e1e, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6e1f, 0x0000, 0x6e21, 0x6e2e, 0x0000, 0x0000,\r
+ 0x6e2f, 0x6e31, 0x0000, 0x6e33, 0x0000, 0x6e35, 0x0000, 0x0000, 0x0000, 0x6e37,\r
+ 0x6e38, 0x6e39, 0x0000, 0x6e3e, 0x0000, 0x6e3f, 0x6e41, 0x0000, 0x0000, 0x0000,\r
+ 0x6e42, 0x0000, 0x6e43, 0x6e45, 0x6e48, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6e4b, 0x0000, 0x6e51, 0x0000, 0x0000, 0x6e52,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6e53, 0x0000, 0x0000, 0x0000, 0x6e55, 0x0000,\r
+ 0x0000, 0x0000, 0x6e58, 0x6e5a, 0x0000, 0x6e5b, 0x6e5c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6e5d, 0x0000, 0x0000, 0x6e5e, 0x6e5f, 0x0000, 0x0000,\r
+ 0x6e60, 0x0000, 0x0000, 0x6e62, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e63,\r
+ 0x0000, 0x0000, 0x6e64, 0x0000, 0x0000, 0x6e65, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6e66, 0x6e67, 0x0000, 0x0000, 0x6e68, 0x0000, 0x0000, 0x0000, 0x6e6a, 0x0000,\r
+ 0x6e6c, 0x6e6d, 0x0000, 0x6e6e, 0x6e70, 0x6e72, 0x0000, 0x6e75, 0x6e76, 0x0000,\r
+ 0x0000, 0x0000, 0x6e77, 0x0000, 0x6e78, 0x6e79, 0x6e7b, 0x0000, 0x6e84, 0x0000,\r
+ 0x6e86, 0x0000, 0x6e89, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e8b, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6e8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6e8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e8e, 0x6e8f, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6e90, 0x0000, 0x0000, 0x6e91, 0x0000, 0x6e98, 0x0000, 0x6e99, 0x6e9a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e9b, 0x0000, 0x0000, 0x0000,\r
+ 0x6ea0, 0x6ea1, 0x0000, 0x0000, 0x6ea8, 0x0000, 0x0000, 0x0000, 0x6ea9, 0x6eb2,\r
+ 0x0000, 0x6eb3, 0x0000, 0x0000, 0x6eb8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6ebb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6ebc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6efb, 0x0000,\r
+ 0x6efc, 0x6efd, 0x0000, 0x6f00, 0x0000, 0x0000, 0x0000, 0x6f04, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6f05, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f07, 0x0000,\r
+ 0x0000, 0x0000, 0x6f08, 0x0000, 0x0000, 0x6f0c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6f0d, 0x0000, 0x0000, 0x0000, 0x6f0f, 0x6f12, 0x0000, 0x6f2a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6f30, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f31, 0x0000, 0x6f33, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6f37, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f3a,\r
+ 0x0000, 0x6f40, 0x0000, 0x6f41, 0x0000, 0x0000, 0x6f45, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6f46, 0x6f48, 0x0000, 0x0000, 0x6f49, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6f4c, 0x0000, 0x0000, 0x0000, 0x6f4f, 0x0000, 0x6f51, 0x0000, 0x6f53, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x6f54, 0x0000, 0x0000, 0x6f56, 0x6f57, 0x0000, 0x0000,\r
+ 0x0000, 0x6f5c, 0x0000, 0x0000, 0x0000, 0x6f5e, 0x0000, 0x0000, 0x6f60, 0x6f61,\r
+ 0x6f62, 0x6f69, 0x0000, 0x6f6e, 0x0000, 0x6f6f, 0x6f70, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x6f71, 0x0000, 0x0000, 0x6f74, 0x0000, 0x0000, 0x6f79, 0x6f7a, 0x0000,\r
+ 0x0000, 0x0000, 0x6f7b, 0x0000, 0x6f84, 0x0000, 0x6f89, 0x6f8a, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6f90, 0x6f93, 0x0000, 0x0000, 0x6f94, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f95,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f96, 0x6f98, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f99, 0x0000, 0x0000, 0x0000, 0x6f9a,\r
+ 0x0000, 0x6f9c, 0x6f9d, 0x0000, 0x0000, 0x0000, 0x0000, 0x6f9f, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x6fa0, 0x6fa5, 0x6fac, 0x0000, 0x0000, 0x6fad, 0x0000, 0x0000,\r
+ 0x0000, 0x6fae, 0x6fb3, 0x0000, 0x6fb6, 0x0000, 0x0000, 0x6fb9, 0x0000, 0x0000,\r
+ 0x6fbd, 0x0000, 0x0000, 0x0000, 0x0000, 0x6fc6, 0x6fc7, 0x6fcb, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x6fcc, 0x0000, 0x6fd2, 0x0000, 0x0000, 0x6fd4,\r
+ 0x0000, 0x6fd7, 0x0000, 0x6fd8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x6fdb, 0x0000, 0x0000, 0x0000, 0x6fdd, 0x6fde, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6fdf, 0x0000, 0x6fe3,\r
+ 0x0000, 0x0000, 0x6fec, 0x0000, 0x0000, 0x0000, 0x6ff6, 0x0000, 0x6ffe, 0x6fff,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7000,\r
+ 0x7001, 0x7003, 0x7004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7013, 0x0000, 0x0000, 0x0000, 0x7017, 0x0000, 0x0000, 0x0000, 0x7018, 0x0000,\r
+ 0x7019, 0x701a, 0x0000, 0x7021, 0x0000, 0x7023, 0x7024, 0x7026, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7027, 0x7038, 0x0000, 0x0000, 0x0000,\r
+ 0x7040, 0x0000, 0x0000, 0x0000, 0x7041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7042, 0x0000, 0x7043, 0x0000, 0x7045, 0x0000,\r
+ 0x0000, 0x7046, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7049, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x704d, 0x704e, 0x7050, 0x7052, 0x7054, 0x0000, 0x7055, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7057, 0x7058, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x705a,\r
+ 0x0000, 0x0000, 0x0000, 0x705c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x705e, 0x0000, 0x705f, 0x7060, 0x0000, 0x0000, 0x0000, 0x0000, 0x7061, 0x7062,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7063, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7064,\r
+ 0x0000, 0x7065, 0x0000, 0x706e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7070, 0x0000, 0x7071, 0x0000, 0x7072, 0x0000, 0x0000, 0x0000, 0x7073, 0x0000,\r
+ 0x0000, 0x0000, 0x707d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x707f,\r
+ 0x0000, 0x0000, 0x7081, 0x0000, 0x0000, 0x0000, 0x0000, 0x7082, 0x0000, 0x7085,\r
+ 0x0000, 0x0000, 0x7086, 0x0000, 0x0000, 0x7087, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7088, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x708a,\r
+ 0x708c, 0x0000, 0x0000, 0x7090, 0x7093, 0x0000, 0x0000, 0x7095, 0x0000, 0x709a,\r
+ 0x0000, 0x0000, 0x0000, 0x70aa, 0x70b4, 0x0000, 0x0000, 0x70b5, 0x0000, 0x70b6,\r
+ 0x70b7, 0x0000, 0x0000, 0x0000, 0x70b9, 0x0000, 0x0000, 0x0000, 0x70ba, 0x0000,\r
+ 0x70c3, 0x70c4, 0x70c5, 0x0000, 0x0000, 0x0000, 0x70ca, 0x70d0, 0x70d2, 0x70da,\r
+ 0x70dc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x70df, 0x0000,\r
+ 0x0000, 0x0000, 0x70e2, 0x70e3, 0x0000, 0x0000, 0x0000, 0x70e4, 0x0000, 0x0000,\r
+ 0x70e8, 0x0000, 0x70ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x70eb, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x70ec, 0x0000, 0x0000, 0x0000, 0x70ee, 0x0000,\r
+ 0x70f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x70f3, 0x70f4,\r
+ 0x70f7, 0x0000, 0x0000, 0x70f8, 0x0000, 0x70f9, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x70fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x70fe,\r
+ 0x7101, 0x0000, 0x0000, 0x0000, 0x7102, 0x0000, 0x7108, 0x0000, 0x710b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x710e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x711c, 0x0000, 0x0000, 0x0000, 0x7126, 0x0000, 0x0000, 0x0000, 0x0000, 0x7127,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7128,\r
+ 0x0000, 0x712b, 0x0000, 0x712f, 0x7130, 0x0000, 0x7136, 0x7137, 0x0000, 0x0000,\r
+ 0x7138, 0x713d, 0x7144, 0x7145, 0x7146, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7147, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7148, 0x0000, 0x7149,\r
+ 0x0000, 0x0000, 0x0000, 0x7151, 0x0000, 0x0000, 0x7153, 0x0000, 0x0000, 0x715d,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7160, 0x0000, 0x7161, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7162, 0x0000, 0x0000, 0x0000, 0x716c, 0x0000, 0x0000, 0x0000,\r
+ 0x716d, 0x0000, 0x0000, 0x0000, 0x0000, 0x716e, 0x0000, 0x7175, 0x0000, 0x7177,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x717b,\r
+ 0x0000, 0x0000, 0x0000, 0x717e, 0x7180, 0x7186, 0x0000, 0x718e, 0x719a, 0x0000,\r
+ 0x0000, 0x0000, 0x719b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x719c,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x719d, 0x71a0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x71a2, 0x71a9, 0x0000, 0x0000, 0x0000, 0x71af, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71b1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x71b3, 0x0000, 0x71b5, 0x0000, 0x0000, 0x0000, 0x71bb,\r
+ 0x0000, 0x0000, 0x71c0, 0x0000, 0x0000, 0x71d2, 0x71d4, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x71e0, 0x0000, 0x71e8, 0x71f6,\r
+ 0x0000, 0x71f8, 0x0000, 0x0000, 0x71fc, 0x0000, 0x71fd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x722c, 0x0000, 0x0000, 0x722d, 0x0000,\r
+ 0x0000, 0x722e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7232, 0x0000, 0x0000, 0x0000, 0x7239, 0x0000, 0x723d, 0x0000,\r
+ 0x7240, 0x0000, 0x7242, 0x7248, 0x7260, 0x0000, 0x7262, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7265, 0x0000, 0x0000, 0x7266, 0x726b, 0x726c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x726e, 0x0000, 0x726f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7270, 0x7271, 0x7272, 0x7274, 0x0000, 0x7276, 0x0000, 0x0000, 0x7278, 0x727b,\r
+ 0x0000, 0x7280, 0x0000, 0x0000, 0x0000, 0x728a, 0x0000, 0x0000, 0x728b, 0x0000,\r
+ 0x0000, 0x728c, 0x728e, 0x7290, 0x0000, 0x7297, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x729a, 0x729b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x729d, 0x729f, 0x0000, 0x0000, 0x0000, 0x0000, 0x72a0, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x72a1, 0x0000, 0x0000, 0x0000, 0x0000, 0x72a2, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x72a3, 0x72a4, 0x72a5, 0x0000, 0x0000, 0x72aa,\r
+ 0x0000, 0x0000, 0x72ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x72ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x72b4, 0x0000, 0x72b5, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72b6, 0x0000, 0x0000, 0x72b8,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72c2, 0x0000,\r
+ 0x72c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ca,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72cd, 0x0000, 0x0000, 0x0000,\r
+ 0x72ce, 0x0000, 0x0000, 0x72cf, 0x72d5, 0x0000, 0x72d6, 0x72e4, 0x72e6, 0x72ea,\r
+ 0x72eb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ec, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x72ef, 0x0000, 0x0000, 0x0000,\r
+ 0x72fb, 0x0000, 0x0000, 0x0000, 0x72fd, 0x0000, 0x0000, 0x72ff, 0x0000, 0x7301,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7303, 0x0000, 0x7306, 0x730a, 0x730c, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7310, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7315, 0x0000, 0x0000, 0x0000, 0x7318, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x731c, 0x0000, 0x7321, 0x0000, 0x0000, 0x0000, 0x732e,\r
+ 0x0000, 0x0000, 0x0000, 0x7332, 0x0000, 0x0000, 0x0000, 0x7333, 0x7334, 0x0000,\r
+ 0x0000, 0x7339, 0x0000, 0x0000, 0x0000, 0x733a, 0x0000, 0x733b, 0x0000, 0x733e,\r
+ 0x7341, 0x0000, 0x7345, 0x0000, 0x0000, 0x0000, 0x7346, 0x0000, 0x0000, 0x0000,\r
+ 0x7348, 0x0000, 0x0000, 0x0000, 0x734c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x734e, 0x0000, 0x734f, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7350, 0x7351, 0x7359, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x735a, 0x0000, 0x0000, 0x735b, 0x7362, 0x0000, 0x7364, 0x0000,\r
+ 0x0000, 0x0000, 0x7366, 0x0000, 0x7367, 0x7368, 0x736b, 0x0000, 0x0000, 0x736c,\r
+ 0x0000, 0x0000, 0x0000, 0x736d, 0x0000, 0x0000, 0x0000, 0x736e, 0x0000, 0x0000,\r
+ 0x7370, 0x0000, 0x0000, 0x0000, 0x0000, 0x7376, 0x7379, 0x0000, 0x737a, 0x737c,\r
+ 0x0000, 0x0000, 0x737d, 0x0000, 0x0000, 0x737e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x738a, 0x7390, 0x7392, 0x7397,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7399, 0x739a, 0x0000, 0x0000, 0x739d, 0x0000,\r
+ 0x0000, 0x73ad, 0x0000, 0x73ae, 0x0000, 0x73af, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x73b0, 0x73b1, 0x0000, 0x0000, 0x73b9, 0x0000, 0x0000, 0x0000, 0x73c0, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73c1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x73c2, 0x73c3, 0x73c5, 0x0000, 0x73c6, 0x0000, 0x73c9, 0x73cb,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73cc, 0x0000, 0x73cd, 0x0000,\r
+ 0x73d1, 0x0000, 0x0000, 0x0000, 0x73d2, 0x0000, 0x73d5, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x73d8, 0x73db, 0x0000, 0x0000, 0x73dc, 0x0000, 0x0000, 0x0000, 0x73dd,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73e0, 0x0000, 0x0000, 0x0000, 0x73e7,\r
+ 0x73e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73eb, 0x0000,\r
+ 0x73ed, 0x73ef, 0x0000, 0x0000, 0x73f4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x73f5, 0x0000, 0x0000, 0x0000, 0x73f7, 0x0000, 0x0000, 0x0000, 0x73f8, 0x0000,\r
+ 0x73f9, 0x73fa, 0x7404, 0x0000, 0x7405, 0x0000, 0x0000, 0x0000, 0x7406, 0x0000,\r
+ 0x740a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7418, 0x0000,\r
+ 0x7419, 0x0000, 0x741f, 0x0000, 0x7425, 0x7426, 0x0000, 0x7436, 0x7441, 0x0000,\r
+ 0x7443, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7444, 0x0000, 0x0000, 0x7445,\r
+ 0x0000, 0x0000, 0x0000, 0x744b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x744c, 0x0000, 0x0000, 0x0000,\r
+ 0x744d, 0x744e, 0x744f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x747e, 0x0000, 0x0000, 0x0000, 0x7480, 0x0000,\r
+ 0x7481, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7483, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7485, 0x0000, 0x7488, 0x748a, 0x0000,\r
+ 0x0000, 0x748b, 0x0000, 0x0000, 0x748d, 0x748e, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7493, 0x0000, 0x0000, 0x0000, 0x0000, 0x7494,\r
+ 0x7495, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7499, 0x0000, 0x0000, 0x74ad, 0x74b0, 0x74c2, 0x74d1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x74d3, 0x74e1, 0x0000, 0x74e2, 0x0000, 0x0000, 0x74e3, 0x74e6,\r
+ 0x74f8, 0x74fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x74fb,\r
+ 0x74fc, 0x0000, 0x0000, 0x0000, 0x74ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7501, 0x0000, 0x0000, 0x7504, 0x0000, 0x7505, 0x0000, 0x0000, 0x750a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7513, 0x0000, 0x0000, 0x0000, 0x7514, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x751a, 0x0000, 0x751b, 0x7528, 0x7537, 0x7538, 0x753a,\r
+ 0x0000, 0x0000, 0x0000, 0x753d, 0x0000, 0x0000, 0x0000, 0x0000, 0x753e, 0x7540,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7541, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7547, 0x754f, 0x0000,\r
+ 0x0000, 0x7551, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7552, 0x0000, 0x7556, 0x0000, 0x7557, 0x0000, 0x7558, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7573, 0x7574, 0x0000, 0x0000, 0x0000,\r
+ 0x7575, 0x0000, 0x7578, 0x0000, 0x0000, 0x0000, 0x7579, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x757b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x757f, 0x0000,\r
+ 0x0000, 0x7580, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7582, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7584,\r
+ 0x758a, 0x0000, 0x0000, 0x758b, 0x0000, 0x0000, 0x0000, 0x0000, 0x7592, 0x75a6,\r
+ 0x0000, 0x75a7, 0x0000, 0x75a9, 0x75b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75b3, 0x75b4,\r
+ 0x75b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75b7, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75b8,\r
+ 0x0000, 0x0000, 0x75b9, 0x75ba, 0x0000, 0x0000, 0x0000, 0x75bb, 0x75c2, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x75c3, 0x0000, 0x0000, 0x75c4, 0x75c7, 0x0000,\r
+ 0x0000, 0x0000, 0x75d8, 0x0000, 0x75dc, 0x75dd, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x75e4, 0x75e5, 0x0000, 0x75f0, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x75f2, 0x75f4, 0x0000, 0x0000, 0x75f7,\r
+ 0x0000, 0x0000, 0x75fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x75fb, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7605, 0x0000,\r
+ 0x0000, 0x0000, 0x7608, 0x0000, 0x0000, 0x7609, 0x0000, 0x0000, 0x0000, 0x760a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x760b, 0x0000, 0x760c, 0x0000, 0x760e, 0x7613,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7617, 0x0000, 0x0000, 0x7619, 0x761b,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x761e, 0x0000, 0x7620, 0x7623, 0x7625, 0x0000,\r
+ 0x762a, 0x762c, 0x0000, 0x0000, 0x0000, 0x763d, 0x0000, 0x0000, 0x763f, 0x7640,\r
+ 0x0000, 0x0000, 0x0000, 0x7646, 0x7648, 0x0000, 0x0000, 0x764a, 0x0000, 0x764c,\r
+ 0x0000, 0x7656, 0x0000, 0x0000, 0x0000, 0x0000, 0x7657, 0x7658, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x765a, 0x765b, 0x765e, 0x7660, 0x7662, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x766c, 0x766d, 0x0000, 0x0000, 0x0000, 0x766e,\r
+ 0x0000, 0x0000, 0x0000, 0x766f, 0x0000, 0x7670, 0x7672, 0x7676, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7677, 0x0000, 0x767c, 0x768c, 0x768d, 0x0000, 0x0000,\r
+ 0x7694, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7695,\r
+ 0x0000, 0x7696, 0x0000, 0x7697, 0x7698, 0x0000, 0x0000, 0x769d, 0x769e, 0x76aa,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x76ab, 0x0000, 0x0000, 0x76ad, 0x0000, 0x76b1,\r
+ 0x0000, 0x76b4, 0x76bd, 0x0000, 0x0000, 0x0000, 0x76c1, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x76c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76c4, 0x0000, 0x0000,\r
+ 0x76c5, 0x0000, 0x76c6, 0x76c8, 0x0000, 0x76c9, 0x0000, 0x76ca, 0x0000, 0x0000,\r
+ 0x0000, 0x76d1, 0x0000, 0x0000, 0x76d2, 0x76d3, 0x0000, 0x76d4, 0x0000, 0x76d8,\r
+ 0x0000, 0x0000, 0x0000, 0x76db, 0x76de, 0x76e0, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76e1, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x76e4, 0x0000, 0x76e5, 0x76e6, 0x0000, 0x76e9, 0x76ea,\r
+ 0x0000, 0x0000, 0x0000, 0x76ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x76f4, 0x76f8,\r
+ 0x76f9, 0x0000, 0x0000, 0x0000, 0x76fa, 0x0000, 0x7700, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7703, 0x0000, 0x7705, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x770d, 0x0000, 0x0000, 0x7714, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7715, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7716, 0x7717, 0x7721, 0x7722,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7729, 0x0000, 0x772c, 0x0000, 0x0000, 0x0000, 0x772d, 0x772e, 0x0000, 0x7732,\r
+ 0x7734, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x773b, 0x0000, 0x773c, 0x0000, 0x773d, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7749, 0x0000, 0x0000, 0x774a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7759, 0x0000, 0x0000, 0x775b, 0x775c, 0x775e, 0x775f, 0x7760, 0x0000, 0x0000,\r
+ 0x7761, 0x0000, 0x7762, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7763, 0x776a, 0x776b, 0x0000, 0x777a, 0x777b, 0x0000, 0x0000, 0x777e,\r
+ 0x0000, 0x0000, 0x7782, 0x0000, 0x0000, 0x0000, 0x0000, 0x7793, 0x7794, 0x779f,\r
+ 0x77aa, 0x0000, 0x0000, 0x77ac, 0x77b0, 0x77bf, 0x77c0, 0x0000, 0x77c1, 0x0000,\r
+ 0x0000, 0x77c2, 0x77cd, 0x0000, 0x77ce, 0x0000, 0x77d4, 0x77d6, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x77d7, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x77e7, 0x0000, 0x0000,\r
+ 0x77ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x77ec, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x77ed, 0x0000, 0x77ee, 0x77ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x77f3, 0x0000,\r
+ 0x0000, 0x0000, 0x77f5, 0x0000, 0x0000, 0x77f6, 0x77ff, 0x7809, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x780b, 0x0000, 0x0000,\r
+ 0x780d, 0x0000, 0x0000, 0x0000, 0x780e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7810, 0x7811, 0x0000, 0x0000, 0x0000, 0x7814, 0x0000, 0x0000, 0x0000, 0x7817,\r
+ 0x0000, 0x781a, 0x0000, 0x781b, 0x781c, 0x0000, 0x0000, 0x781f, 0x7820, 0x7821,\r
+ 0x0000, 0x0000, 0x0000, 0x7822, 0x0000, 0x0000, 0x7828, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x782b, 0x0000, 0x782c, 0x0000, 0x0000, 0x782e,\r
+ 0x0000, 0x7831, 0x7832, 0x7833, 0x7836, 0x7839, 0x0000, 0x0000, 0x783b, 0x783c,\r
+ 0x783d, 0x0000, 0x0000, 0x0000, 0x0000, 0x7846, 0x0000, 0x0000, 0x0000, 0x7848,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x785a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x785c, 0x7863, 0x0000, 0x0000, 0x7867, 0x7868, 0x0000, 0x7869,\r
+ 0x0000, 0x786b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x786c, 0x0000,\r
+ 0x0000, 0x786e, 0x0000, 0x0000, 0x0000, 0x7872, 0x0000, 0x7873, 0x0000, 0x7875,\r
+ 0x7876, 0x0000, 0x787d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x787e, 0x787f,\r
+ 0x0000, 0x0000, 0x7881, 0x0000, 0x7883, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7884, 0x788a, 0x0000, 0x0000, 0x788b, 0x0000, 0x7891, 0x0000, 0x0000, 0x7892,\r
+ 0x0000, 0x0000, 0x7894, 0x0000, 0x0000, 0x7895, 0x0000, 0x0000, 0x0000, 0x78a1,\r
+ 0x78a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x78a9, 0x0000, 0x78ab, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x78ae, 0x0000, 0x78af, 0x0000, 0x78b1, 0x0000, 0x78b2,\r
+ 0x0000, 0x0000, 0x0000, 0x78b8, 0x78ba, 0x0000, 0x78bd, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x78be, 0x0000, 0x0000, 0x0000, 0x78c3, 0x78d5, 0x78de,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x78df, 0x0000, 0x0000, 0x78e1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x78e2, 0x0000, 0x0000, 0x78e3, 0x0000, 0x0000,\r
+ 0x78eb, 0x78ec, 0x0000, 0x0000, 0x78f0, 0x0000, 0x0000, 0x78f1, 0x78f2, 0x78f6,\r
+ 0x0000, 0x0000, 0x78f9, 0x78fe, 0x0000, 0x0000, 0x0000, 0x7900, 0x0000, 0x0000,\r
+ 0x7901, 0x0000, 0x7902, 0x7906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7912, 0x7913, 0x7916, 0x0000, 0x7918, 0x0000, 0x0000, 0x7919, 0x0000,\r
+ 0x0000, 0x791b, 0x791d, 0x0000, 0x0000, 0x791e, 0x7923, 0x0000, 0x0000, 0x7926,\r
+ 0x0000, 0x7928, 0x0000, 0x0000, 0x0000, 0x0000, 0x792a, 0x0000, 0x0000, 0x792c,\r
+ 0x792f, 0x7930, 0x7931, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7933, 0x7934, 0x7935,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7938, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x793c, 0x793d,\r
+ 0x793e, 0x0000, 0x0000, 0x0000, 0x7941, 0x7943, 0x7945, 0x0000, 0x7947, 0x0000,\r
+ 0x0000, 0x0000, 0x7948, 0x0000, 0x7949, 0x0000, 0x0000, 0x0000, 0x794d, 0x794e,\r
+ 0x794f, 0x0000, 0x0000, 0x7957, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x795a,\r
+ 0x0000, 0x795c, 0x795f, 0x0000, 0x0000, 0x0000, 0x7960, 0x7961, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7963, 0x0000, 0x0000, 0x7964, 0x0000, 0x0000, 0x0000, 0x7965,\r
+ 0x7967, 0x0000, 0x7968, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x796f, 0x0000, 0x79a6, 0x0000, 0x79a8, 0x0000, 0x0000,\r
+ 0x79a9, 0x79aa, 0x79ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79ad, 0x0000, 0x79af,\r
+ 0x79b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x79ba, 0x79c3,\r
+ 0x79c6, 0x79c7, 0x0000, 0x0000, 0x0000, 0x79c8, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x79cb, 0x0000, 0x0000, 0x0000, 0x79d2, 0x0000, 0x0000,\r
+ 0x0000, 0x79d8, 0x79db, 0x0000, 0x0000, 0x79dc, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x79de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x79df, 0x0000, 0x0000, 0x0000, 0x79e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x79eb,\r
+ 0x79ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x79ff, 0x0000, 0x7a00, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a01, 0x7a04,\r
+ 0x7a15, 0x0000, 0x7a16, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a17,\r
+ 0x0000, 0x0000, 0x7a19, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7a1a, 0x7a1b, 0x0000, 0x0000, 0x7a1c, 0x0000, 0x7a1d, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7a1e, 0x7a1f, 0x0000, 0x0000, 0x7a20, 0x0000,\r
+ 0x7a22, 0x0000, 0x7a23, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a31, 0x0000,\r
+ 0x7a32, 0x0000, 0x7a34, 0x0000, 0x0000, 0x7a35, 0x7a37, 0x7a38, 0x0000, 0x0000,\r
+ 0x7a3a, 0x0000, 0x0000, 0x0000, 0x7a3c, 0x7a3f, 0x0000, 0x7a43, 0x0000, 0x7a44,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a46, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7a47, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a48, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7a49, 0x7a4c, 0x7a4d, 0x7a53, 0x0000, 0x7a55, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7a5b, 0x0000, 0x7a5c, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7a5d, 0x7a5f, 0x0000, 0x0000, 0x7a63, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x7a65, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a68, 0x0000,\r
+ 0x0000, 0x7a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a6a, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7a6b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a6e,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7a71, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7a73, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7a74, 0x0000, 0x0000, 0x7a76, 0x7a77, 0x0000, 0x7a78, 0x0000, 0x0000, 0x7a7a,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7a7b, 0x0000, 0x0000, 0x7a7c, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7a83, 0x0000,\r
+ 0x7a8c, 0x0000, 0x0000, 0x7a8d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7a90, 0x0000, 0x7a9c, 0x0000, 0x7a9d, 0x0000, 0x7aa0,\r
+ 0x0000, 0x7aa9, 0x0000, 0x7aad, 0x7aaf, 0x7ab0, 0x0000, 0x7ab1, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7ab5, 0x7ab7, 0x0000, 0x0000, 0x0000, 0x7ab8,\r
+ 0x7aba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7abe, 0x7abf, 0x0000,\r
+ 0x0000, 0x7ac0, 0x0000, 0x7ac1, 0x7ac8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7ac9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7aca, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7acb, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ace, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7ad2, 0x0000, 0x7ad4, 0x0000, 0x7ad8, 0x0000,\r
+ 0x0000, 0x7adb, 0x0000, 0x0000, 0x0000, 0x0000, 0x7adc, 0x0000, 0x7ae5, 0x7ae9,\r
+ 0x0000, 0x0000, 0x7aea, 0x0000, 0x0000, 0x7aeb, 0x0000, 0x0000, 0x7aec, 0x0000,\r
+ 0x0000, 0x0000, 0x7aed, 0x7af1, 0x0000, 0x7af4, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7b01, 0x7b02, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b04,\r
+ 0x7b05, 0x7b06, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b0d, 0x7b10, 0x7b11, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b15, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7b16, 0x0000, 0x0000, 0x7b17, 0x0000, 0x0000, 0x7b19,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b1a,\r
+ 0x0000, 0x7b22, 0x7b30, 0x7b33, 0x7b34, 0x0000, 0x7b35, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7b3a, 0x7b41, 0x7b47, 0x0000, 0x0000, 0x0000, 0x7b48,\r
+ 0x7b49, 0x7b4a, 0x0000, 0x0000, 0x7b4c, 0x7b4f, 0x0000, 0x7b51, 0x0000, 0x0000,\r
+ 0x0000, 0x7b52, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b53, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x7b54, 0x7b56, 0x7b5c, 0x7b5d, 0x0000, 0x0000, 0x7b5e,\r
+ 0x7b60, 0x7b61, 0x7b62, 0x7b6b, 0x0000, 0x7b6c, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7b6d, 0x0000, 0x7b6f, 0x0000, 0x7b70, 0x7b71, 0x0000, 0x0000, 0x7b73, 0x7b74,\r
+ 0x0000, 0x0000, 0x7b78, 0x7b7a, 0x0000, 0x0000, 0x0000, 0x7b7b, 0x0000, 0x7b7f,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7b80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x7b81, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b82, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7b85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7b86, 0x7b89, 0x0000, 0x0000, 0x0000, 0x0000,\r
+ 0x7b8b, 0x0000, 0x7b99, 0x0000, 0x0000, 0x7b9a, 0x0000, 0x0000, 0x7b9b, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7b9c, 0x0000,\r
+ 0x7b9e, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ba0, 0x0000, 0x0000, 0x0000, 0x7ba4,\r
+ 0x0000, 0x0000, 0x0000, 0x7ba9, 0x0000, 0x0000, 0x7bbc, 0x0000, 0x0000, 0x0000,\r
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x7bc9, 0x7bcb, 0x7bcc, 0x0000, 0x7bce, 0x0000,\r
+ 0x0000, 0x0000, 0x7bd0, 0x0000, 0x7bd6, 0x0000, 0x7bd7, 0x0000};\r
+\r
+static const DictWord kStaticDictionaryWords[31705] = {\r
+  {   0,  0,    0 }, {   8,  0, 1002 }, { 136,  0, 1015 }, {   4,  0,  683 },\r
+  {   4, 10,  325 }, { 138, 10,  125 }, {   7, 11,  572 }, {   9, 11,  592 },\r
+  {  11, 11,  680 }, {  11, 11,  842 }, {  11, 11,  924 }, {  12, 11,  356 },\r
+  {  12, 11,  550 }, {  13, 11,  317 }, {  13, 11,  370 }, {  13, 11,  469 },\r
+  {  13, 11,  471 }, {  14, 11,  397 }, {  18, 11,   69 }, { 146, 11,  145 },\r
+  { 134,  0, 1265 }, { 136, 11,  534 }, { 134,  0, 1431 }, {  11,  0,  138 },\r
+  { 140,  0,   40 }, {   4,  0,  155 }, {   7,  0, 1689 }, {   4, 10,  718 },\r
+  { 135, 10, 1216 }, {   4,  0,  245 }, {   5,  0,  151 }, {   5,  0,  741 },\r
+  {   6,  0, 1147 }, {   7,  0,  498 }, {   7,  0,  870 }, {   7,  0, 1542 },\r
+  {  12,  0,  213 }, {  14,  0,   36 }, {  14,  0,  391 }, {  17,  0,  111 },\r
+  {  18,  0,    6 }, {  18,  0,   46 }, {  18,  0,  151 }, {  19,  0,   36 },\r
+  {  20,  0,   32 }, {  20,  0,   56 }, {  20,  0,   69 }, {  20,  0,  102 },\r
+  {  21,  0,    4 }, {  22,  0,    8 }, {  22,  0,   10 }, {  22,  0,   14 },\r
+  { 150,  0,   31 }, {   4,  0,  624 }, { 135,  0, 1752 }, {   5, 10,  124 },\r
+  {   5, 10,  144 }, {   6, 10,  548 }, {   7, 10,   15 }, {   7, 10,  153 },\r
+  { 137, 10,  629 }, {   6,  0,  503 }, {   9,  0,  586 }, {  13,  0,  468 },\r
+  {  14,  0,   66 }, {  16,  0,   58 }, {   7, 10, 1531 }, {   8, 10,  416 },\r
+  {   9, 10,  275 }, {  10, 10,  100 }, {  11, 10,  658 }, {  11, 10,  979 },\r
+  {  12, 10,   86 }, {  14, 10,  207 }, {  15, 10,   20 }, { 143, 10,   25 },\r
+  {   5,  0,  603 }, {   7,  0, 1212 }, {   9,  0,  565 }, {  14,  0,  301 },\r
+  {   5, 10,  915 }, {   6, 10, 1783 }, {   7, 10,  211 }, {   7, 10, 1353 },\r
+  {   9, 10,   83 }, {  10, 10,  376 }, {  10, 10,  431 }, {  11, 10,  543 },\r
+  {  12, 10,  664 }, {  13, 10,  280 }, {  13, 10,  428 }, {  14, 10,  128 },\r
+  {  17, 10,   52 }, { 145, 10,   81 }, {   4,  0,  492 }, { 133,  0,  451 },\r
+  { 135,  0,  835 }, { 141,  0,   70 }, { 132,  0,  539 }, {   7, 11,  748 },\r
+  { 139, 11,  700 }, {   7, 11, 1517 }, {  11, 11,  597 }, {  14, 11,   76 },\r
+  {  14, 11,  335 }, { 148, 11,   33 }, {   6,  0,  113 }, { 135,  0,  436 },\r
+  {   4, 10,  338 }, { 133, 10,  400 }, { 136,  0,  718 }, { 133, 11,  127 },\r
+  { 133, 11,  418 }, {   6,  0, 1505 }, {   7,  0,  520 }, {   6, 11,  198 },\r
+  {  11, 10,  892 }, { 140, 11,   83 }, {   4, 10,  221 }, {   5, 10,  659 },\r
+  {   5, 10,  989 }, {   7, 10,  697 }, {   7, 10, 1211 }, { 138, 10,  284 },\r
+  { 135,  0, 1070 }, {   5, 11,  276 }, {   6, 11,   55 }, { 135, 11, 1369 },\r
+  { 134,  0, 1515 }, {   6, 11, 1752 }, { 136, 11,  726 }, { 138, 10,  507 },\r
+  {  15,  0,   78 }, {   4, 10,  188 }, { 135, 10,  805 }, {   5, 10,  884 },\r
+  { 139, 10,  991 }, { 133, 11,  764 }, { 134, 10, 1653 }, {   6, 11,  309 },\r
+  {   7, 11,  331 }, { 138, 11,  550 }, { 135, 11, 1861 }, { 132, 11,  348 },\r
+  { 135, 11,  986 }, { 135, 11, 1573 }, {  12,  0,  610 }, {  13,  0,  431 },\r
+  { 144,  0,   59 }, {   9, 11,  799 }, { 140, 10,  166 }, { 134,  0, 1530 },\r
+  { 132,  0,  750 }, { 132,  0,  307 }, { 133,  0,  964 }, {   6, 11,  194 },\r
+  {   7, 11,  133 }, {  10, 11,  493 }, {  10, 11,  570 }, { 139, 11,  664 },\r
+  {   5, 11,   24 }, {   5, 11,  569 }, {   6, 11,    3 }, {   6, 11,  119 },\r
+  {   6, 11,  143 }, {   6, 11,  440 }, {   7, 11,  295 }, {   7, 11,  599 },\r
+  {   7, 11, 1686 }, {   7, 11, 1854 }, {   8, 11,  424 }, {   9, 11,   43 },\r
+  {   9, 11,  584 }, {   9, 11,  760 }, {  10, 11,  148 }, {  10, 11,  328 },\r
+  {  11, 11,  159 }, {  11, 11,  253 }, {  11, 11,  506 }, {  12, 11,  487 },\r
+  {  12, 11,  531 }, { 144, 11,   33 }, { 136, 10,  760 }, {   5, 11,   14 },\r
+  {   5, 11,  892 }, {   6, 11,  283 }, {   7, 11,  234 }, { 136, 11,  537 },\r
+  { 135, 11, 1251 }, {   4, 11,  126 }, {   8, 11,  635 }, { 147, 11,   34 },\r
+  {   4, 11,  316 }, { 135, 11, 1561 }, {   6,  0,  999 }, {   6,  0, 1310 },\r
+  { 137, 11,  861 }, {   4, 11,   64 }, {   5, 11,  352 }, {   5, 11,  720 },\r
+  {   6, 11,  368 }, { 139, 11,  359 }, {   4,  0,   75 }, {   5,  0,  180 },\r
+  {   6,  0,  500 }, {   7,  0,   58 }, {   7,  0,  710 }, {  10,  0,  645 },\r
+  { 136, 10,  770 }, { 133,  0,  649 }, {   6,  0,  276 }, {   7,  0,  282 },\r
+  {   7,  0,  879 }, {   7,  0,  924 }, {   8,  0,  459 }, {   9,  0,  599 },\r
+  {   9,  0,  754 }, {  11,  0,  574 }, {  12,  0,  128 }, {  12,  0,  494 },\r
+  {  13,  0,   52 }, {  13,  0,  301 }, {  15,  0,   30 }, { 143,  0,  132 },\r
+  { 132,  0,  200 }, {   4, 10,   89 }, {   5, 10,  489 }, {   6, 10,  315 },\r
+  {   7, 10,  553 }, {   7, 10, 1745 }, { 138, 10,  243 }, { 135, 11, 1050 },\r
+  {   7,  0, 1621 }, {   6, 10, 1658 }, {   9, 10,    3 }, {  10, 10,  154 },\r
+  {  11, 10,  641 }, {  13, 10,   85 }, {  13, 10,  201 }, { 141, 10,  346 },\r
+  {   6, 11,  175 }, { 137, 11,  289 }, {   5, 11,  432 }, { 133, 11,  913 },\r
+  {   6,  0,  225 }, { 137,  0,  211 }, {   7,  0,  718 }, {   8,  0,  687 },\r
+  { 139,  0,  374 }, {   4, 10,  166 }, { 133, 10,  505 }, {   9,  0,  110 },\r
+  { 134, 10, 1670 }, {   8,  0,   58 }, {   9,  0,  724 }, {  11,  0,  809 },\r
+  {  13,  0,  113 }, { 145,  0,   72 }, {   6,  0,  345 }, {   7,  0, 1247 },\r
+  { 144, 11,   82 }, {   5, 11,  931 }, { 134, 11, 1698 }, {   8,  0,  767 },\r
+  {   8,  0,  803 }, {   9,  0,  301 }, { 137,  0,  903 }, { 139,  0,  203 },\r
+  { 134,  0, 1154 }, {   7,  0, 1949 }, { 136,  0,  674 }, { 134,  0,  259 },\r
+  { 135,  0, 1275 }, {   5, 11,  774 }, {   6, 11, 1637 }, {   6, 11, 1686 },\r
+  { 134, 11, 1751 }, { 134,  0, 1231 }, {   7, 10,  445 }, {   8, 10,  307 },\r
+  {   8, 10,  704 }, {  10, 10,   41 }, {  10, 10,  439 }, {  11, 10,  237 },\r
+  {  11, 10,  622 }, { 140, 10,  201 }, { 136,  0,  254 }, {   6, 11,  260 },\r
+  { 135, 11, 1484 }, { 139,  0,  277 }, { 135, 10, 1977 }, {   4, 10,  189 },\r
+  {   5, 10,  713 }, {   6, 11,  573 }, { 136, 10,   57 }, { 138, 10,  371 },\r
+  { 132, 10,  552 }, { 134, 11,  344 }, { 133,  0,  248 }, {   9,  0,  800 },\r
+  {  10,  0,  693 }, {  11,  0,  482 }, {  11,  0,  734 }, {  11,  0,  789 },\r
+  { 134, 11,  240 }, {   4,  0,  116 }, {   5,  0,   95 }, {   5,  0,  445 },\r
+  {   7,  0, 1688 }, {   8,  0,   29 }, {   9,  0,  272 }, {  11,  0,  509 },\r
+  {  11,  0,  915 }, {   4, 11,  292 }, {   4, 11,  736 }, {   5, 11,  871 },\r
+  {   6, 11,  171 }, {   6, 11, 1689 }, {   7, 11, 1324 }, {   7, 11, 1944 },\r
+  {   9, 11,  415 }, {   9, 11,  580 }, {  14, 11,  230 }, { 146, 11,   68 },\r
+  {   7,  0,  490 }, {  13,  0,  100 }, { 143,  0,   75 }, { 135,  0, 1641 },\r
+  { 133,  0,  543 }, {   7, 11,  209 }, {   8, 11,  661 }, {  10, 11,   42 },\r
+  {  11, 11,   58 }, {  12, 11,   58 }, {  12, 11,  118 }, { 141, 11,   32 },\r
+  {   5,  0,  181 }, {   8,  0,   41 }, {   6, 11,   63 }, { 135, 11,  920 },\r
+  { 133,  0,  657 }, { 133, 11,  793 }, { 138,  0,  709 }, {   7,  0,   25 },\r
+  {   8,  0,  202 }, { 138,  0,  536 }, {   5, 11,  665 }, { 135, 10, 1788 },\r
+  { 145, 10,   49 }, {   9,  0,  423 }, { 140,  0,   89 }, {   5, 11,   67 },\r
+  {   6, 11,   62 }, {   6, 11,  374 }, { 135, 11, 1391 }, {   8,  0,  113 },\r
+  {   9,  0,  877 }, {  10,  0,  554 }, {  11,  0,   83 }, {  12,  0,  136 },\r
+  {  19,  0,  109 }, {   9, 11,  790 }, { 140, 11,   47 }, { 138, 10,  661 },\r
+  {   4,  0,  963 }, {  10,  0,  927 }, {  14,  0,  442 }, { 135, 10, 1945 },\r
+  { 133,  0,  976 }, { 132,  0,  206 }, {   4, 11,  391 }, { 135, 11, 1169 },\r
+  { 134,  0, 2002 }, {   6,  0,  696 }, { 134,  0, 1008 }, { 134,  0, 1170 },\r
+  { 132, 11,  271 }, {   7,  0,   13 }, {   8,  0,  226 }, {  10,  0,  537 },\r
+  {  11,  0,  570 }, {  11,  0,  605 }, {  11,  0,  799 }, {  11,  0,  804 },\r
+  {  12,  0,   85 }, {  12,  0,  516 }, {  12,  0,  623 }, {  13,  0,  112 },\r
+  {  13,  0,  361 }, {  14,  0,   77 }, {  14,  0,   78 }, {  17,  0,   28 },\r
+  {  19,  0,  110 }, { 140, 11,  314 }, { 132,  0,  769 }, { 134,  0, 1544 },\r
+  {   4,  0,  551 }, { 137,  0,  678 }, {   5, 10,   84 }, { 134, 10,  163 },\r
+  {   9,  0,   57 }, {   9,  0,  459 }, {  10,  0,  425 }, {  11,  0,  119 },\r
+  {  12,  0,  184 }, {  12,  0,  371 }, {  13,  0,  358 }, { 145,  0,   51 },\r
+  {   5,  0,  188 }, {   5,  0,  814 }, {   8,  0,   10 }, {   9,  0,  421 },\r
+  {   9,  0,  729 }, {  10,  0,  609 }, {  11,  0,  689 }, {   4, 11,  253 },\r
+  {   5, 10,  410 }, {   5, 11,  544 }, {   7, 11,  300 }, { 137, 11,  340 },\r
+  { 134,  0,  624 }, { 138, 11,  321 }, { 135,  0, 1941 }, {  18,  0,  130 },\r
+  {   5, 10,  322 }, {   8, 10,  186 }, {   9, 10,  262 }, {  10, 10,  187 },\r
+  { 142, 10,  208 }, {   5, 11,   53 }, {   5, 11,  541 }, {   6, 11,   94 },\r
+  {   6, 11,  499 }, {   7, 11,  230 }, { 139, 11,  321 }, { 133, 10,  227 },\r
+  {   4,  0,  378 }, {   4, 11,  920 }, {   5, 11,   25 }, {   5, 11,  790 },\r
+  {   6, 11,  457 }, { 135, 11,  853 }, { 137,  0,  269 }, { 132,  0,  528 },\r
+  { 134,  0, 1146 }, {   7, 10, 1395 }, {   8, 10,  486 }, {   9, 10,  236 },\r
+  {   9, 10,  878 }, {  10, 10,  218 }, {  11, 10,   95 }, {  19, 10,   17 },\r
+  { 147, 10,   31 }, {   7, 10, 2043 }, {   8, 10,  672 }, { 141, 10,  448 },\r
+  { 134,  0, 1105 }, { 134,  0, 1616 }, { 134, 11, 1765 }, { 140, 11,  163 },\r
+  {   5, 10,  412 }, { 133, 11,  822 }, { 132, 11,  634 }, {   6,  0,  656 },\r
+  { 134, 11, 1730 }, { 134,  0, 1940 }, {   5,  0,  104 }, {   6,  0,  173 },\r
+  { 135,  0, 1631 }, { 136, 10,  562 }, {   6, 11,   36 }, {   7, 11,  658 },\r
+  {   8, 11,  454 }, { 147, 11,   86 }, {   5,  0,  457 }, { 134, 10, 1771 },\r
+  {   7,  0,  810 }, {   8,  0,  138 }, {   8,  0,  342 }, {   9,  0,   84 },\r
+  {  10,  0,  193 }, {  11,  0,  883 }, { 140,  0,  359 }, {   9,  0,  620 },\r
+  { 135, 10, 1190 }, { 137, 10,  132 }, {   7, 11,  975 }, { 137, 11,  789 },\r
+  {   6,  0,   95 }, {   6,  0, 1934 }, { 136,  0,  967 }, { 141, 11,  335 },\r
+  {   6,  0,  406 }, {  10,  0,  409 }, {  10,  0,  447 }, {  11,  0,   44 },\r
+  { 140,  0,  100 }, {   4, 10,  317 }, { 135, 10, 1279 }, { 132,  0,  477 },\r
+  { 134,  0, 1268 }, {   6,  0, 1941 }, {   8,  0,  944 }, {   5, 10,   63 },\r
+  { 133, 10,  509 }, { 132,  0,  629 }, { 132, 11,  104 }, {   4,  0,  246 },\r
+  { 133,  0,  375 }, {   6,  0, 1636 }, { 132, 10,  288 }, { 135, 11, 1614 },\r
+  {   9,  0,   49 }, {  10,  0,  774 }, {   8, 10,   89 }, {   8, 10,  620 },\r
+  {  11, 10,  628 }, {  12, 10,  322 }, { 143, 10,  124 }, {   4,  0,  282 },\r
+  {   7,  0, 1034 }, {  11,  0,  398 }, {  11,  0,  634 }, {  12,  0,    1 },\r
+  {  12,  0,   79 }, {  12,  0,  544 }, {  14,  0,  237 }, {  17,  0,   10 },\r
+  { 146,  0,   20 }, { 132,  0,  824 }, {   7, 11,   45 }, {   9, 11,  542 },\r
+  {   9, 11,  566 }, { 138, 11,  728 }, {   5,  0,  118 }, {   5,  0,  499 },\r
+  {   6,  0,  476 }, {   6,  0,  665 }, {   6,  0, 1176 }, {   6,  0, 1196 },\r
+  {   7,  0,  600 }, {   7,  0,  888 }, { 135,  0, 1096 }, {   7,  0,  296 },\r
+  {   7,  0,  596 }, {   8,  0,  560 }, {   8,  0,  586 }, {   9,  0,  612 },\r
+  {  11,  0,  304 }, {  12,  0,   46 }, {  13,  0,   89 }, {  14,  0,  112 },\r
+  { 145,  0,  122 }, {   5,  0,  894 }, {   6,  0, 1772 }, {   9,  0, 1009 },\r
+  { 138, 10,  120 }, {   5, 11,  533 }, {   7, 11,  755 }, { 138, 11,  780 },\r
+  { 151, 10,    1 }, {   6,  0, 1474 }, {   7, 11,   87 }, { 142, 11,  288 },\r
+  { 139,  0,  366 }, { 137, 10,  461 }, {   7, 11,  988 }, {   7, 11, 1939 },\r
+  {   9, 11,   64 }, {   9, 11,  502 }, {  12, 11,    7 }, {  12, 11,   34 },\r
+  {  13, 11,   12 }, {  13, 11,  234 }, { 147, 11,   77 }, {   7,  0, 1599 },\r
+  {   7,  0, 1723 }, {   8,  0,   79 }, {   8,  0,  106 }, {   8,  0,  190 },\r
+  {   8,  0,  302 }, {   8,  0,  383 }, {   8,  0,  713 }, {   9,  0,  119 },\r
+  {   9,  0,  233 }, {   9,  0,  419 }, {   9,  0,  471 }, {  10,  0,  181 },\r
+  {  10,  0,  406 }, {  11,  0,   57 }, {  11,  0,   85 }, {  11,  0,  120 },\r
+  {  11,  0,  177 }, {  11,  0,  296 }, {  11,  0,  382 }, {  11,  0,  454 },\r
+  {  11,  0,  758 }, {  11,  0,  999 }, {  12,  0,   27 }, {  12,  0,   98 },\r
+  {  12,  0,  131 }, {  12,  0,  245 }, {  12,  0,  312 }, {  12,  0,  446 },\r
+  {  12,  0,  454 }, {  13,  0,   25 }, {  13,  0,   98 }, {  13,  0,  426 },\r
+  {  13,  0,  508 }, {  14,  0,   70 }, {  14,  0,  163 }, {  14,  0,  272 },\r
+  {  14,  0,  277 }, {  14,  0,  370 }, {  15,  0,   95 }, {  15,  0,  138 },\r
+  {  15,  0,  167 }, {  17,  0,   38 }, { 148,  0,   96 }, { 135, 10, 1346 },\r
+  {  10,  0,  200 }, {  19,  0,    2 }, { 151,  0,   22 }, { 135, 11,  141 },\r
+  { 134, 10,   85 }, { 134,  0, 1759 }, { 138,  0,  372 }, { 145,  0,   16 },\r
+  {   8,  0,  943 }, { 132, 11,  619 }, { 139, 11,   88 }, {   5, 11,  246 },\r
+  {   8, 11,  189 }, {   9, 11,  355 }, {   9, 11,  512 }, {  10, 11,  124 },\r
+  {  10, 11,  453 }, {  11, 11,  143 }, {  11, 11,  416 }, {  11, 11,  859 },\r
+  { 141, 11,  341 }, {   5,  0,  258 }, { 134,  0,  719 }, {   6,  0, 1798 },\r
+  {   6,  0, 1839 }, {   8,  0,  900 }, {  10,  0,  874 }, {  10,  0,  886 },\r
+  {  12,  0,  698 }, {  12,  0,  732 }, {  12,  0,  770 }, {  16,  0,  106 },\r
+  {  18,  0,  163 }, {  18,  0,  170 }, {  18,  0,  171 }, { 152,  0,   20 },\r
+  {   9,  0,  707 }, {  11,  0,  326 }, {  11,  0,  339 }, {  12,  0,  423 },\r
+  {  12,  0,  502 }, {  20,  0,   62 }, {   9, 11,  707 }, {  11, 11,  326 },\r
+  {  11, 11,  339 }, {  12, 11,  423 }, {  12, 11,  502 }, { 148, 11,   62 },\r
+  {   5,  0,   30 }, {   7,  0,  495 }, {   8,  0,  134 }, {   9,  0,  788 },\r
+  { 140,  0,  438 }, { 133, 11,  678 }, {   5, 10,  279 }, {   6, 10,  235 },\r
+  {   7, 10,  468 }, {   8, 10,  446 }, {   9, 10,  637 }, {  10, 10,  717 },\r
+  {  11, 10,  738 }, { 140, 10,  514 }, {   5, 11,   35 }, {   6, 11,  287 },\r
+  {   7, 11,  862 }, {   7, 11, 1886 }, { 138, 11,  179 }, {   7,  0, 1948 },\r
+  {   7,  0, 2004 }, { 132, 11,  517 }, {   5, 10,   17 }, {   6, 10,  371 },\r
+  { 137, 10,  528 }, {   4,  0,  115 }, {   5,  0,  669 }, {   6,  0,  407 },\r
+  {   8,  0,  311 }, {  11,  0,   10 }, { 141,  0,    5 }, { 137,  0,  381 },\r
+  {   5,  0,   50 }, {   6,  0,  439 }, {   7,  0,  780 }, { 135,  0, 1040 },\r
+  { 136, 11,  667 }, {  11, 11,  403 }, { 146, 11,   83 }, {   5,  0,    1 },\r
+  {   6,  0,   81 }, { 138,  0,  520 }, { 134,  0,  738 }, {   5,  0,  482 },\r
+  {   8,  0,   98 }, {   9,  0,  172 }, {  10,  0,  360 }, {  10,  0,  700 },\r
+  {  10,  0,  822 }, {  11,  0,  302 }, {  11,  0,  778 }, {  12,  0,   50 },\r
+  {  12,  0,  127 }, {  12,  0,  396 }, {  13,  0,   62 }, {  13,  0,  328 },\r
+  {  14,  0,  122 }, { 147,  0,   72 }, {   9, 11,  157 }, {  10, 11,  131 },\r
+  { 140, 11,   72 }, { 135, 11,  714 }, { 135, 11,  539 }, {   5,  0,    2 },\r
+  {   6,  0,  512 }, {   7,  0,  797 }, {   7,  0, 1494 }, {   8,  0,  253 },\r
+  {   8,  0,  589 }, {   9,  0,   77 }, {  10,  0,    1 }, {  10,  0,  129 },\r
+  {  10,  0,  225 }, {  11,  0,  118 }, {  11,  0,  226 }, {  11,  0,  251 },\r
+  {  11,  0,  430 }, {  11,  0,  701 }, {  11,  0,  974 }, {  11,  0,  982 },\r
+  {  12,  0,   64 }, {  12,  0,  260 }, {  12,  0,  488 }, { 140,  0,  690 },\r
+  {   5, 11,  394 }, {   7, 11,  367 }, {   7, 11,  487 }, {   7, 11,  857 },\r
+  {   7, 11, 1713 }, {   8, 11,  246 }, {   9, 11,  537 }, {  10, 11,  165 },\r
+  {  12, 11,  219 }, { 140, 11,  561 }, { 136,  0,  557 }, {   5, 10,  779 },\r
+  {   5, 10,  807 }, {   6, 10, 1655 }, { 134, 10, 1676 }, {   4, 10,  196 },\r
+  {   5, 10,  558 }, { 133, 10,  949 }, {  11, 11,  827 }, {  12, 11,   56 },\r
+  {  14, 11,   34 }, { 143, 11,  148 }, { 137,  0,  347 }, { 133,  0,  572 },\r
+  { 134,  0,  832 }, {   4,  0,   12 }, {   7,  0,  504 }, {   7,  0,  522 },\r
+  {   7,  0,  809 }, {   8,  0,  797 }, { 141,  0,   88 }, {   4, 10,  752 },\r
+  { 133, 11,  449 }, {   7, 11,   86 }, {   8, 11,  103 }, { 145, 11,   69 },\r
+  {   7, 11, 2028 }, { 138, 11,  641 }, {   5,  0,  528 }, {   6, 11,    1 },\r
+  { 142, 11,    2 }, { 134,  0,  861 }, {  10,  0,  294 }, {   4, 10,  227 },\r
+  {   5, 10,  159 }, {   5, 10,  409 }, {   7, 10,   80 }, {  10, 10,  479 },\r
+  {  12, 10,  418 }, {  14, 10,   50 }, {  14, 10,  249 }, { 142, 10,  295 },\r
+  {   7, 10, 1470 }, {   8, 10,   66 }, {   8, 10,  137 }, {   8, 10,  761 },\r
+  {   9, 10,  638 }, {  11, 10,   80 }, {  11, 10,  212 }, {  11, 10,  368 },\r
+  {  11, 10,  418 }, {  12, 10,    8 }, {  13, 10,   15 }, {  16, 10,   61 },\r
+  {  17, 10,   59 }, {  19, 10,   28 }, { 148, 10,   84 }, {  20,  0,  109 },\r
+  { 135, 11, 1148 }, {   6, 11,  277 }, {   7, 11, 1274 }, {   7, 11, 1386 },\r
+  {   7, 11, 1392 }, {  12, 11,  129 }, { 146, 11,   87 }, {   6, 11,  187 },\r
+  {   7, 11,   39 }, {   7, 11, 1203 }, {   8, 11,  380 }, {   8, 11,  542 },\r
+  {  14, 11,  117 }, { 149, 11,   28 }, { 134,  0, 1187 }, {   5,  0,  266 },\r
+  {   9,  0,  290 }, {   9,  0,  364 }, {  10,  0,  293 }, {  11,  0,  606 },\r
+  { 142,  0,   45 }, {   6, 11,  297 }, {   7, 11,  793 }, { 139, 11,  938 },\r
+  {   4,  0,   50 }, {   6,  0,  594 }, {   9,  0,  121 }, {  10,  0,   49 },\r
+  {  10,  0,  412 }, { 139,  0,  834 }, { 136,  0,  748 }, {   7, 11,  464 },\r
+  {   8, 11,  438 }, {  11, 11,  105 }, {  11, 11,  363 }, {  12, 11,  231 },\r
+  {  14, 11,  386 }, {  15, 11,  102 }, { 148, 11,   75 }, { 132,  0,  466 },\r
+  {  13,  0,  399 }, {  14,  0,  337 }, {   6, 10,   38 }, {   7, 10, 1220 },\r
+  {   8, 10,  185 }, {   8, 10,  256 }, {   9, 10,   22 }, {   9, 10,  331 },\r
+  {  10, 10,  738 }, {  11, 10,  205 }, {  11, 10,  540 }, {  11, 10,  746 },\r
+  {  13, 10,  465 }, { 142, 10,  194 }, {   9,  0,  378 }, { 141,  0,  162 },\r
+  { 137,  0,  519 }, {   4, 10,  159 }, {   6, 10,  115 }, {   7, 10,  252 },\r
+  {   7, 10,  257 }, {   7, 10, 1928 }, {   8, 10,   69 }, {   9, 10,  384 },\r
+  {  10, 10,   91 }, {  10, 10,  615 }, {  12, 10,  375 }, {  14, 10,  235 },\r
+  {  18, 10,  117 }, { 147, 10,  123 }, {   5, 11,  604 }, {   5, 10,  911 },\r
+  { 136, 10,  278 }, { 132,  0,  667 }, {   8,  0,  351 }, {   9,  0,  322 },\r
+  {   4, 10,  151 }, { 135, 10, 1567 }, { 134,  0,  902 }, { 133, 10,  990 },\r
+  {  12,  0,  180 }, {   5, 10,  194 }, {   7, 10, 1662 }, { 137, 10,   90 },\r
+  {   4,  0,  869 }, { 134,  0, 1996 }, { 134,  0,  813 }, { 133, 10,  425 },\r
+  { 137, 11,  761 }, { 132,  0,  260 }, { 133, 10,  971 }, {   5, 11,   20 },\r
+  {   6, 11,  298 }, {   7, 11,  659 }, {   7, 11, 1366 }, { 137, 11,  219 },\r
+  {   4,  0,   39 }, {   5,  0,   36 }, {   7,  0, 1843 }, {   8,  0,  407 },\r
+  {  11,  0,  144 }, { 140,  0,  523 }, {   4,  0,  510 }, {  10,  0,  587 },\r
+  { 139, 10,  752 }, {   7,  0,   29 }, {   7,  0,   66 }, {   7,  0, 1980 },\r
+  {  10,  0,  487 }, { 138,  0,  809 }, {  13,  0,  260 }, {  14,  0,   82 },\r
+  {  18,  0,   63 }, { 137, 10,  662 }, {   5, 10,   72 }, {   6, 10,  264 },\r
+  {   7, 10,   21 }, {   7, 10,   46 }, {   7, 10, 2013 }, {   8, 10,  215 },\r
+  {   8, 10,  513 }, {  10, 10,  266 }, { 139, 10,   22 }, { 134,  0,  570 },\r
+  {   6,  0,  565 }, {   7,  0, 1667 }, {   4, 11,  439 }, {  10, 10,   95 },\r
+  {  11, 10,  603 }, {  12, 11,  242 }, {  13, 10,  443 }, {  14, 10,  160 },\r
+  { 143, 10,    4 }, { 134,  0, 1464 }, { 134, 10,  431 }, {   9,  0,  372 },\r
+  {  15,  0,    2 }, {  19,  0,   10 }, {  19,  0,   18 }, {   5, 10,  874 },\r
+  {   6, 10, 1677 }, { 143, 10,    0 }, { 132,  0,  787 }, {   6,  0,  380 },\r
+  {  12,  0,  399 }, {  21,  0,   19 }, {   7, 10,  939 }, {   7, 10, 1172 },\r
+  {   7, 10, 1671 }, {   9, 10,  540 }, {  10, 10,  696 }, {  11, 10,  265 },\r
+  {  11, 10,  732 }, {  11, 10,  928 }, {  11, 10,  937 }, { 141, 10,  438 },\r
+  { 137,  0,  200 }, { 132, 11,  233 }, { 132,  0,  516 }, { 134, 11,  577 },\r
+  { 132,  0,  844 }, {  11,  0,  887 }, {  14,  0,  365 }, { 142,  0,  375 },\r
+  { 132, 11,  482 }, {   8,  0,  821 }, { 140,  0,   44 }, {   7,  0, 1655 },\r
+  { 136,  0,  305 }, {   5, 10,  682 }, { 135, 10, 1887 }, { 135, 11,  346 },\r
+  { 132, 10,  696 }, {   4,  0,   10 }, {   7,  0,  917 }, { 139,  0,  786 },\r
+  {   5, 11,  795 }, {   6, 11, 1741 }, {   8, 11,  417 }, { 137, 11,  782 },\r
+  {   4,  0, 1016 }, { 134,  0, 2031 }, {   5,  0,  684 }, {   4, 10,  726 },\r
+  { 133, 10,  630 }, {   6,  0, 1021 }, { 134,  0, 1480 }, {   8, 10,  802 },\r
+  { 136, 10,  838 }, { 134,  0,   27 }, { 134,  0,  395 }, { 135, 11,  622 },\r
+  {   7, 11,  625 }, { 135, 11, 1750 }, {   4, 11,  203 }, { 135, 11, 1936 },\r
+  {   6, 10,  118 }, {   7, 10,  215 }, {   7, 10, 1521 }, { 140, 10,   11 },\r
+  { 132,  0,  813 }, { 136,  0,  511 }, {   7, 10,  615 }, { 138, 10,  251 },\r
+  { 135, 10, 1044 }, { 145,  0,   56 }, { 133, 10,  225 }, {   6,  0,  342 },\r
+  {   6,  0,  496 }, {   8,  0,  275 }, { 137,  0,  206 }, {   4,  0,  909 },\r
+  { 133,  0,  940 }, { 132,  0,  891 }, {   7, 11,  311 }, {   9, 11,  308 },\r
+  { 140, 11,  255 }, {   4, 10,  370 }, {   5, 10,  756 }, { 135, 10, 1326 },\r
+  {   4,  0,  687 }, { 134,  0, 1596 }, { 134,  0, 1342 }, {   6, 10, 1662 },\r
+  {   7, 10,   48 }, {   8, 10,  771 }, {  10, 10,  116 }, {  13, 10,  104 },\r
+  {  14, 10,  105 }, {  14, 10,  184 }, {  15, 10,  168 }, {  19, 10,   92 },\r
+  { 148, 10,   68 }, { 138, 10,  209 }, {   4, 11,  400 }, {   5, 11,  267 },\r
+  { 135, 11,  232 }, { 151, 11,   12 }, {   6,  0,   41 }, { 141,  0,  160 },\r
+  { 141, 11,  314 }, { 134,  0, 1718 }, { 136,  0,  778 }, { 142, 11,  261 },\r
+  { 134,  0, 1610 }, { 133,  0,  115 }, { 132,  0,  294 }, {  14,  0,  314 },\r
+  { 132, 10,  120 }, { 132,  0,  983 }, {   5,  0,  193 }, { 140,  0,  178 },\r
+  { 138, 10,  429 }, {   5, 10,  820 }, { 135, 10,  931 }, {   6,  0,  994 },\r
+  {   6,  0, 1051 }, {   6,  0, 1439 }, {   7,  0,  174 }, { 133, 11,  732 },\r
+  {   4, 11,  100 }, {   7, 11,  679 }, {   8, 11,  313 }, { 138, 10,  199 },\r
+  {   6, 10,  151 }, {   6, 10, 1675 }, {   7, 10,  383 }, { 151, 10,   10 },\r
+  {   6,  0, 1796 }, {   8,  0,  848 }, {   8,  0,  867 }, {   8,  0,  907 },\r
+  {  10,  0,  855 }, { 140,  0,  703 }, { 140,  0,  221 }, {   4,  0,  122 },\r
+  {   5,  0,  796 }, {   5,  0,  952 }, {   6,  0, 1660 }, {   6,  0, 1671 },\r
+  {   8,  0,  567 }, {   9,  0,  687 }, {   9,  0,  742 }, {  10,  0,  686 },\r
+  {  11,  0,  682 }, {  11,  0,  909 }, { 140,  0,  281 }, {   5, 11,  362 },\r
+  {   5, 11,  443 }, {   6, 11,  318 }, {   7, 11, 1019 }, { 139, 11,  623 },\r
+  {   5, 11,  463 }, { 136, 11,  296 }, {  11,  0,  583 }, {  13,  0,  262 },\r
+  {   6, 10, 1624 }, {  12, 10,  422 }, { 142, 10,  360 }, {   5,  0,  179 },\r
+  {   7,  0, 1095 }, { 135,  0, 1213 }, {   4, 10,   43 }, {   4, 11,  454 },\r
+  {   5, 10,  344 }, { 133, 10,  357 }, {   4,  0,   66 }, {   7,  0,  722 },\r
+  { 135,  0,  904 }, { 134,  0,  773 }, {   7,  0,  352 }, { 133, 10,  888 },\r
+  {   5, 11,   48 }, {   5, 11,  404 }, {   6, 11,  557 }, {   7, 11,  458 },\r
+  {   8, 11,  597 }, {  10, 11,  455 }, {  10, 11,  606 }, {  11, 11,   49 },\r
+  {  11, 11,  548 }, {  12, 11,  476 }, {  13, 11,   18 }, { 141, 11,  450 },\r
+  { 134, 11,  418 }, { 132, 10,  711 }, {   5, 11,  442 }, { 135, 11, 1984 },\r
+  { 141,  0,   35 }, { 137,  0,  152 }, { 134,  0, 1197 }, { 135, 11, 1093 },\r
+  { 137, 11,  203 }, { 137, 10,  440 }, {  10,  0,  592 }, {  10,  0,  753 },\r
+  {  12,  0,  317 }, {  12,  0,  355 }, {  12,  0,  465 }, {  12,  0,  469 },\r
+  {  12,  0,  560 }, {  12,  0,  578 }, { 141,  0,  243 }, { 133,  0,  564 },\r
+  { 134,  0,  797 }, {   5, 10,  958 }, { 133, 10,  987 }, {   5, 11,   55 },\r
+  {   7, 11,  376 }, { 140, 11,  161 }, { 133, 11,  450 }, { 134,  0,  556 },\r
+  { 134,  0,  819 }, {  11, 10,  276 }, { 142, 10,  293 }, {   7,  0,  544 },\r
+  { 138,  0,   61 }, {   8,  0,  719 }, {   4, 10,   65 }, {   5, 10,  479 },\r
+  {   5, 10, 1004 }, {   7, 10, 1913 }, {   8, 10,  317 }, {   9, 10,  302 },\r
+  {  10, 10,  612 }, { 141, 10,   22 }, {   4,  0,    5 }, {   5,  0,  498 },\r
+  {   8,  0,  637 }, {   9,  0,  521 }, {   4, 11,  213 }, {   4, 10,  261 },\r
+  {   7, 11,  223 }, {   7, 10,  510 }, { 136, 11,   80 }, {   5,  0,  927 },\r
+  {   7,  0,  101 }, {   4, 10,  291 }, {   7, 11,  381 }, {   7, 11,  806 },\r
+  {   7, 11,  820 }, {   8, 11,  354 }, {   8, 11,  437 }, {   8, 11,  787 },\r
+  {   9, 10,  515 }, {   9, 11,  657 }, {  10, 11,   58 }, {  10, 11,  339 },\r
+  {  10, 11,  749 }, {  11, 11,  914 }, {  12, 10,  152 }, {  12, 11,  162 },\r
+  {  12, 10,  443 }, {  13, 11,   75 }, {  13, 10,  392 }, {  14, 11,  106 },\r
+  {  14, 11,  198 }, {  14, 11,  320 }, {  14, 10,  357 }, {  14, 11,  413 },\r
+  { 146, 11,   43 }, {   6,  0, 1153 }, {   7,  0, 1441 }, { 136, 11,  747 },\r
+  {   4,  0,  893 }, {   5,  0,  780 }, { 133,  0,  893 }, { 138, 11,  654 },\r
+  { 133, 11,  692 }, { 133,  0,  238 }, { 134, 11,  191 }, {   4, 10,  130 },\r
+  { 135, 10,  843 }, {   6,  0, 1296 }, {   5, 10,   42 }, {   5, 10,  879 },\r
+  {   7, 10,  245 }, {   7, 10,  324 }, {   7, 10, 1532 }, {  11, 10,  463 },\r
+  {  11, 10,  472 }, {  13, 10,  363 }, { 144, 10,   52 }, { 134,  0, 1729 },\r
+  {   6,  0, 1999 }, { 136,  0,  969 }, {   4, 10,  134 }, { 133, 10,  372 },\r
+  {   4,  0,   60 }, {   7,  0,  941 }, {   7,  0, 1800 }, {   8,  0,  314 },\r
+  {   9,  0,  700 }, { 139,  0,  487 }, { 134,  0, 1144 }, {   6, 11,  162 },\r
+  {   7, 11, 1960 }, { 136, 11,  831 }, { 132, 11,  706 }, { 135,  0, 1147 },\r
+  { 138, 11,  426 }, { 138, 11,   89 }, {   7,  0, 1853 }, { 138,  0,  437 },\r
+  { 136,  0,  419 }, { 135, 10, 1634 }, { 133,  0,  828 }, {   5,  0,  806 },\r
+  {   7,  0,  176 }, {   7,  0,  178 }, {   7,  0, 1240 }, {   7,  0, 1976 },\r
+  { 132, 10,  644 }, { 135, 11, 1877 }, {   5, 11,  420 }, { 135, 11, 1449 },\r
+  {   4,  0,   51 }, {   5,  0,   39 }, {   6,  0,    4 }, {   7,  0,  591 },\r
+  {   7,  0,  849 }, {   7,  0,  951 }, {   7,  0, 1613 }, {   7,  0, 1760 },\r
+  {   7,  0, 1988 }, {   9,  0,  434 }, {  10,  0,  754 }, {  11,  0,   25 },\r
+  { 139,  0,   37 }, {  10, 11,   57 }, { 138, 11,  277 }, { 135, 10,  540 },\r
+  { 132, 11,  204 }, { 135,  0,  159 }, { 139, 11,  231 }, { 133,  0,  902 },\r
+  {   7,  0,  928 }, {   7, 11,  366 }, {   9, 11,  287 }, {  12, 11,  199 },\r
+  {  12, 11,  556 }, { 140, 11,  577 }, {   6, 10,  623 }, { 136, 10,  789 },\r
+  {   4, 10,  908 }, {   5, 10,  359 }, {   5, 10,  508 }, {   6, 10, 1723 },\r
+  {   7, 10,  343 }, {   7, 10, 1996 }, { 135, 10, 2026 }, { 134,  0,  270 },\r
+  {   4, 10,  341 }, { 135, 10,  480 }, {   5, 11,  356 }, { 135, 11,  224 },\r
+  {  11, 11,  588 }, {  11, 11,  864 }, {  11, 11,  968 }, { 143, 11,  160 },\r
+  { 132,  0,  556 }, { 137,  0,  801 }, { 132,  0,  416 }, { 142,  0,  372 },\r
+  {   5,  0,  152 }, {   5,  0,  197 }, {   7,  0,  340 }, {   7,  0,  867 },\r
+  {  10,  0,  548 }, {  10,  0,  581 }, {  11,  0,    6 }, {  12,  0,    3 },\r
+  {  12,  0,   19 }, {  14,  0,  110 }, { 142,  0,  289 }, { 139,  0,  369 },\r
+  {   7, 11,  630 }, {   9, 11,  567 }, {  11, 11,  150 }, {  11, 11,  444 },\r
+  { 141, 11,  119 }, { 134, 11,  539 }, {   7, 10, 1995 }, {   8, 10,  299 },\r
+  {  11, 10,  890 }, { 140, 10,  674 }, {   7,  0,   34 }, {   7,  0,  190 },\r
+  {   8,  0,   28 }, {   8,  0,  141 }, {   8,  0,  444 }, {   8,  0,  811 },\r
+  {   9,  0,  468 }, {  11,  0,  334 }, {  12,  0,   24 }, {  12,  0,  386 },\r
+  { 140,  0,  576 }, { 133,  0,  757 }, {   7,  0, 1553 }, { 136,  0,  898 },\r
+  { 133,  0,  721 }, { 136,  0, 1012 }, {   4,  0,  789 }, {   5,  0,  647 },\r
+  { 135,  0, 1102 }, { 132,  0,  898 }, {  10,  0,  183 }, {   4, 10,  238 },\r
+  {   5, 10,  503 }, {   6, 10,  179 }, {   7, 10, 2003 }, {   8, 10,  381 },\r
+  {   8, 10,  473 }, {   9, 10,  149 }, {  10, 10,  788 }, {  15, 10,   45 },\r
+  {  15, 10,   86 }, {  20, 10,  110 }, { 150, 10,   57 }, {   9,  0,  136 },\r
+  {  19,  0,  107 }, {   4, 10,  121 }, {   5, 10,  156 }, {   5, 10,  349 },\r
+  {  10, 10,  605 }, { 142, 10,  342 }, {   4, 11,  235 }, { 135, 11,  255 },\r
+  {   4, 11,  194 }, {   5, 11,  584 }, {   6, 11,  384 }, {   7, 11,  583 },\r
+  {  10, 11,  761 }, {  11, 11,  760 }, { 139, 11,  851 }, {   6, 10,   80 },\r
+  {   6, 10, 1694 }, {   7, 10,  173 }, {   7, 10, 1974 }, {   9, 10,  547 },\r
+  {  10, 10,  730 }, {  14, 10,   18 }, { 150, 10,   39 }, {   4, 10,  923 },\r
+  { 134, 10, 1711 }, {   5,  0,  277 }, { 141,  0,  247 }, { 132,  0,  435 },\r
+  { 133, 11,  562 }, { 134,  0, 1311 }, {   5, 11,  191 }, { 137, 11,  271 },\r
+  { 132, 10,  595 }, {   7, 11, 1537 }, {  14, 11,   96 }, { 143, 11,   73 },\r
+  {   5,  0,  437 }, {   7,  0,  502 }, {   7,  0,  519 }, {   7,  0, 1122 },\r
+  {   7,  0, 1751 }, {  14,  0,  211 }, {   6, 10,  459 }, {   7, 10, 1753 },\r
+  {   7, 10, 1805 }, {   8, 10,  658 }, {   9, 10,    1 }, {  11, 10,  959 },\r
+  { 141, 10,  446 }, {   6,  0,  814 }, {   4, 11,  470 }, {   5, 11,  473 },\r
+  {   6, 11,  153 }, {   7, 11, 1503 }, {   7, 11, 1923 }, {  10, 11,  701 },\r
+  {  11, 11,  132 }, {  11, 11,  168 }, {  11, 11,  227 }, {  11, 11,  320 },\r
+  {  11, 11,  436 }, {  11, 11,  525 }, {  11, 11,  855 }, {  12, 11,   41 },\r
+  {  12, 11,  286 }, {  13, 11,  103 }, {  13, 11,  284 }, {  14, 11,  255 },\r
+  {  14, 11,  262 }, {  15, 11,  117 }, { 143, 11,  127 }, {   5,  0,  265 },\r
+  {   6,  0,  212 }, { 135,  0,   28 }, { 138,  0,  750 }, { 133, 11,  327 },\r
+  {   6, 11,  552 }, {   7, 11, 1754 }, { 137, 11,  604 }, { 134,  0, 2012 },\r
+  { 132,  0,  702 }, {   5, 11,   80 }, {   6, 11,  405 }, {   7, 11,  403 },\r
+  {   7, 11, 1502 }, {   7, 11, 1626 }, {   8, 11,  456 }, {   9, 11,  487 },\r
+  {   9, 11,  853 }, {   9, 11,  889 }, {  10, 11,  309 }, {  11, 11,  721 },\r
+  {  11, 11,  994 }, {  12, 11,  430 }, { 141, 11,  165 }, {   5,  0,  808 },\r
+  { 135,  0, 2045 }, {   5,  0,  166 }, {   8,  0,  739 }, { 140,  0,  511 },\r
+  { 134, 10,  490 }, {   4, 11,  453 }, {   5, 11,  887 }, {   6, 11,  535 },\r
+  {   8, 11,    6 }, { 136, 11,  543 }, {   4,  0,  119 }, {   5,  0,  170 },\r
+  {   5,  0,  447 }, {   7,  0, 1708 }, {   7,  0, 1889 }, {   9,  0,  357 },\r
+  {   9,  0,  719 }, {  12,  0,  486 }, { 140,  0,  596 }, { 137,  0,  500 },\r
+  {   7, 10,  250 }, { 136, 10,  507 }, { 132, 10,  158 }, {   6,  0,  809 },\r
+  { 134,  0, 1500 }, {   9,  0,  327 }, {  11,  0,  350 }, {  11,  0,  831 },\r
+  {  13,  0,  352 }, {   4, 10,  140 }, {   7, 10,  362 }, {   8, 10,  209 },\r
+  {   9, 10,   10 }, {   9, 10,  503 }, {   9, 10,  614 }, {  10, 10,  689 },\r
+  {  11, 10,  327 }, {  11, 10,  725 }, {  12, 10,  252 }, {  12, 10,  583 },\r
+  {  13, 10,  192 }, {  14, 10,  269 }, {  14, 10,  356 }, { 148, 10,   50 },\r
+  { 135, 11,  741 }, {   4,  0,  450 }, {   7,  0, 1158 }, {  19, 10,    1 },\r
+  {  19, 10,   26 }, { 150, 10,    9 }, {   6,  0,  597 }, { 135,  0, 1318 },\r
+  { 134,  0, 1602 }, {   6, 10,  228 }, {   7, 10, 1341 }, {   9, 10,  408 },\r
+  { 138, 10,  343 }, {   7,  0, 1375 }, {   7,  0, 1466 }, { 138,  0,  331 },\r
+  { 132,  0,  754 }, { 132, 10,  557 }, {   5, 11,  101 }, {   6, 11,   88 },\r
+  {   6, 11,  543 }, {   7, 11, 1677 }, {   9, 11,  100 }, {  10, 11,  677 },\r
+  {  14, 11,  169 }, {  14, 11,  302 }, {  14, 11,  313 }, {  15, 11,   48 },\r
+  { 143, 11,   84 }, { 134,  0, 1368 }, {   4, 11,  310 }, {   9, 11,  795 },\r
+  {  10, 11,  733 }, {  11, 11,  451 }, {  12, 11,  249 }, {  14, 11,  115 },\r
+  {  14, 11,  286 }, { 143, 11,  100 }, { 132, 10,  548 }, {  10,  0,  557 },\r
+  {   7, 10,  197 }, {   8, 10,  142 }, {   8, 10,  325 }, {   9, 10,  150 },\r
+  {   9, 10,  596 }, {  10, 10,  353 }, {  11, 10,   74 }, {  11, 10,  315 },\r
+  {  12, 10,  662 }, {  12, 10,  681 }, {  14, 10,  423 }, { 143, 10,  141 },\r
+  { 133, 11,  587 }, {   5,  0,  850 }, { 136,  0,  799 }, {  10,  0,  908 },\r
+  {  12,  0,  701 }, {  12,  0,  757 }, { 142,  0,  466 }, {   4,  0,   62 },\r
+  {   5,  0,  275 }, {  18,  0,   19 }, {   6, 10,  399 }, {   6, 10,  579 },\r
+  {   7, 10,  692 }, {   7, 10,  846 }, {   7, 10, 1015 }, {   7, 10, 1799 },\r
+  {   8, 10,  403 }, {   9, 10,  394 }, {  10, 10,  133 }, {  12, 10,    4 },\r
+  {  12, 10,  297 }, {  12, 10,  452 }, {  16, 10,   81 }, {  18, 10,   25 },\r
+  {  21, 10,   14 }, {  22, 10,   12 }, { 151, 10,   18 }, {  12,  0,  459 },\r
+  {   7, 10, 1546 }, {  11, 10,  299 }, { 142, 10,  407 }, { 132, 10,  177 },\r
+  { 132, 11,  498 }, {   7, 11,  217 }, {   8, 11,  140 }, { 138, 11,  610 },\r
+  {   5, 10,  411 }, { 135, 10,  653 }, { 134,  0, 1802 }, {   7, 10,  439 },\r
+  {  10, 10,  727 }, {  11, 10,  260 }, { 139, 10,  684 }, { 133, 11,  905 },\r
+  {  11, 11,  580 }, { 142, 11,  201 }, { 134,  0, 1397 }, {   5, 10,  208 },\r
+  {   7, 10,  753 }, { 135, 10, 1528 }, {   7,  0,  238 }, {   7,  0, 2033 },\r
+  {   8,  0,  120 }, {   8,  0,  188 }, {   8,  0,  659 }, {   9,  0,  598 },\r
+  {  10,  0,  466 }, {  12,  0,  342 }, {  12,  0,  588 }, {  13,  0,  503 },\r
+  {  14,  0,  246 }, { 143,  0,   92 }, { 135, 11, 1041 }, {   4, 11,  456 },\r
+  {   7, 11,  105 }, {   7, 11,  358 }, {   7, 11, 1637 }, {   8, 11,  643 },\r
+  { 139, 11,  483 }, {   6,  0, 1318 }, { 134,  0, 1324 }, {   4,  0,  201 },\r
+  {   7,  0, 1744 }, {   8,  0,  602 }, {  11,  0,  247 }, {  11,  0,  826 },\r
+  {  17,  0,   65 }, { 133, 10,  242 }, {   8,  0,  164 }, { 146,  0,   62 },\r
+  { 133, 10,  953 }, { 139, 10,  802 }, { 133,  0,  615 }, {   7, 11, 1566 },\r
+  {   8, 11,  269 }, {   9, 11,  212 }, {   9, 11,  718 }, {  14, 11,   15 },\r
+  {  14, 11,  132 }, { 142, 11,  227 }, { 133, 10,  290 }, { 132, 10,  380 },\r
+  {   5, 10,   52 }, {   7, 10,  277 }, {   9, 10,  368 }, { 139, 10,  791 },\r
+  { 135,  0, 1243 }, { 133, 11,  539 }, {  11, 11,  919 }, { 141, 11,  409 },\r
+  { 136,  0,  968 }, { 133, 11,  470 }, { 134,  0,  882 }, { 132,  0,  907 },\r
+  {   5,  0,  100 }, {  10,  0,  329 }, {  12,  0,  416 }, { 149,  0,   29 },\r
+  {  10, 10,  138 }, { 139, 10,  476 }, {   5, 10,  725 }, {   5, 10,  727 },\r
+  {   6, 11,   91 }, {   7, 11,  435 }, { 135, 10, 1811 }, {   4, 11,   16 },\r
+  {   5, 11,  316 }, {   5, 11,  842 }, {   6, 11,  370 }, {   6, 11, 1778 },\r
+  {   8, 11,  166 }, {  11, 11,  812 }, {  12, 11,  206 }, {  12, 11,  351 },\r
+  {  14, 11,  418 }, {  16, 11,   15 }, {  16, 11,   34 }, {  18, 11,    3 },\r
+  {  19, 11,    3 }, {  19, 11,    7 }, {  20, 11,    4 }, { 149, 11,   21 },\r
+  { 132,  0,  176 }, {   5,  0,  636 }, {   5,  0,  998 }, {   7,  0,    9 },\r
+  {   7,  0, 1508 }, {   8,  0,   26 }, {   9,  0,  317 }, {   9,  0,  358 },\r
+  {  10,  0,  210 }, {  10,  0,  292 }, {  10,  0,  533 }, {  11,  0,  555 },\r
+  {  12,  0,  526 }, {  12,  0,  607 }, {  13,  0,  263 }, {  13,  0,  459 },\r
+  { 142,  0,  271 }, {   6,  0,  256 }, {   8,  0,  265 }, {   4, 10,   38 },\r
+  {   7, 10,  307 }, {   7, 10,  999 }, {   7, 10, 1481 }, {   7, 10, 1732 },\r
+  {   7, 10, 1738 }, {   9, 10,  414 }, {  11, 10,  316 }, {  12, 10,   52 },\r
+  {  13, 10,  420 }, { 147, 10,  100 }, { 135, 10, 1296 }, {   4, 11,  611 },\r
+  { 133, 11,  606 }, {   4,  0,  643 }, { 142, 11,   21 }, { 133, 11,  715 },\r
+  { 133, 10,  723 }, {   6,  0,  610 }, { 135, 11,  597 }, {  10,  0,  127 },\r
+  { 141,  0,   27 }, {   6,  0, 1995 }, {   6,  0, 2001 }, {   8,  0,  119 },\r
+  { 136,  0,  973 }, {   4, 11,  149 }, { 138, 11,  368 }, {  12,  0,  522 },\r
+  {   4, 11,  154 }, {   5, 10,  109 }, {   6, 10, 1784 }, {   7, 11, 1134 },\r
+  {   7, 10, 1895 }, {   8, 11,  105 }, {  12, 10,  296 }, { 140, 10,  302 },\r
+  {   4, 11,   31 }, {   6, 11,  429 }, {   7, 11,  962 }, {   9, 11,  458 },\r
+  { 139, 11,  691 }, {  10,  0,  553 }, {  11,  0,  876 }, {  13,  0,  193 },\r
+  {  13,  0,  423 }, {  14,  0,  166 }, {  19,  0,   84 }, {   4, 11,  312 },\r
+  {   5, 10,  216 }, {   7, 10, 1879 }, {   9, 10,  141 }, {   9, 10,  270 },\r
+  {   9, 10,  679 }, {  10, 10,  159 }, {  11, 10,  197 }, {  12, 10,  538 },\r
+  {  12, 10,  559 }, {  14, 10,  144 }, {  14, 10,  167 }, { 143, 10,   67 },\r
+  { 134,  0, 1582 }, {   7,  0, 1578 }, { 135, 11, 1578 }, { 137, 10,   81 },\r
+  { 132, 11,  236 }, { 134, 10,  391 }, { 134,  0,  795 }, {   7, 10,  322 },\r
+  { 136, 10,  249 }, {   5, 11,  836 }, {   5, 11,  857 }, {   6, 11, 1680 },\r
+  {   7, 11,   59 }, { 147, 11,   53 }, { 135,  0,  432 }, {  10, 11,   68 },\r
+  { 139, 11,  494 }, {   4, 11,   81 }, { 139, 11,  867 }, {   7,  0,  126 },\r
+  { 136,  0,   84 }, { 142, 11,  280 }, {   5, 11,  282 }, {   8, 11,  650 },\r
+  {   9, 11,  295 }, {   9, 11,  907 }, { 138, 11,  443 }, { 136,  0,  790 },\r
+  {   5, 10,  632 }, { 138, 10,  526 }, {   6,  0,   64 }, {  12,  0,  377 },\r
+  {  13,  0,  309 }, {  14,  0,  141 }, {  14,  0,  429 }, {  14, 11,  141 },\r
+  { 142, 11,  429 }, { 134,  0, 1529 }, {   6,  0,  321 }, {   7,  0, 1857 },\r
+  {   9,  0,  530 }, {  19,  0,   99 }, {   7, 10,  948 }, {   7, 10, 1042 },\r
+  {   8, 10,  235 }, {   8, 10,  461 }, {   9, 10,  453 }, {  10, 10,  354 },\r
+  { 145, 10,   77 }, {   7,  0, 1104 }, {  11,  0,  269 }, {  11,  0,  539 },\r
+  {  11,  0,  627 }, {  11,  0,  706 }, {  11,  0,  975 }, {  12,  0,  248 },\r
+  {  12,  0,  434 }, {  12,  0,  600 }, {  12,  0,  622 }, {  13,  0,  297 },\r
+  {  13,  0,  485 }, {  14,  0,   69 }, {  14,  0,  409 }, { 143,  0,  108 },\r
+  {   4, 10,  362 }, {   7, 10,   52 }, {   7, 10,  303 }, {  10, 11,   70 },\r
+  {  12, 11,   26 }, {  14, 11,   17 }, {  14, 11,  178 }, {  15, 11,   34 },\r
+  { 149, 11,   12 }, {  11,  0,  977 }, { 141,  0,  507 }, {   9,  0,   34 },\r
+  { 139,  0,  484 }, {   5, 10,  196 }, {   6, 10,  486 }, {   7, 10,  212 },\r
+  {   8, 10,  309 }, { 136, 10,  346 }, {   6,  0, 1700 }, {   7,  0,   26 },\r
+  {   7,  0,  293 }, {   7,  0,  382 }, {   7,  0, 1026 }, {   7,  0, 1087 },\r
+  {   7,  0, 2027 }, {   8,  0,   24 }, {   8,  0,  114 }, {   8,  0,  252 },\r
+  {   8,  0,  727 }, {   8,  0,  729 }, {   9,  0,   30 }, {   9,  0,  199 },\r
+  {   9,  0,  231 }, {   9,  0,  251 }, {   9,  0,  334 }, {   9,  0,  361 },\r
+  {   9,  0,  712 }, {  10,  0,   55 }, {  10,  0,   60 }, {  10,  0,  232 },\r
+  {  10,  0,  332 }, {  10,  0,  384 }, {  10,  0,  396 }, {  10,  0,  504 },\r
+  {  10,  0,  542 }, {  10,  0,  652 }, {  11,  0,   20 }, {  11,  0,   48 },\r
+  {  11,  0,  207 }, {  11,  0,  291 }, {  11,  0,  298 }, {  11,  0,  342 },\r
+  {  11,  0,  365 }, {  11,  0,  394 }, {  11,  0,  620 }, {  11,  0,  705 },\r
+  {  11,  0, 1017 }, {  12,  0,  123 }, {  12,  0,  340 }, {  12,  0,  406 },\r
+  {  12,  0,  643 }, {  13,  0,   61 }, {  13,  0,  269 }, {  13,  0,  311 },\r
+  {  13,  0,  319 }, {  13,  0,  486 }, {  14,  0,  234 }, {  15,  0,   62 },\r
+  {  15,  0,   85 }, {  16,  0,   71 }, {  18,  0,  119 }, {  20,  0,  105 },\r
+  { 135, 10, 1912 }, {   4, 11,   71 }, {   5, 11,  376 }, {   7, 11,  119 },\r
+  { 138, 11,  665 }, {  10,  0,  918 }, {  10,  0,  926 }, {   4, 10,  686 },\r
+  { 136, 11,   55 }, { 138, 10,  625 }, { 136, 10,  706 }, { 132, 11,  479 },\r
+  {   4, 10,   30 }, { 133, 10,   43 }, {   6,  0,  379 }, {   7,  0,  270 },\r
+  {   8,  0,  176 }, {   8,  0,  183 }, {   9,  0,  432 }, {   9,  0,  661 },\r
+  {  12,  0,  247 }, {  12,  0,  617 }, {  18,  0,  125 }, {   7, 11,  607 },\r
+  {   8, 11,   99 }, { 152, 11,    4 }, {   5,  0,  792 }, { 133,  0,  900 },\r
+  {   4, 11,  612 }, { 133, 11,  561 }, {   4, 11,   41 }, {   4, 10,  220 },\r
+  {   5, 11,   74 }, {   7, 10, 1535 }, {   7, 11, 1627 }, {  11, 11,  871 },\r
+  { 140, 11,  619 }, { 135,  0, 1920 }, {   7, 11,   94 }, {  11, 11,  329 },\r
+  {  11, 11,  965 }, {  12, 11,  241 }, {  14, 11,  354 }, {  15, 11,   22 },\r
+  { 148, 11,   63 }, {   9, 11,  209 }, { 137, 11,  300 }, { 134,  0,  771 },\r
+  { 135,  0, 1979 }, {   4,  0,  901 }, { 133,  0,  776 }, { 142,  0,  254 },\r
+  { 133, 11,   98 }, {   9, 11,   16 }, { 141, 11,  386 }, { 133, 11,  984 },\r
+  {   4, 11,  182 }, {   6, 11,  205 }, { 135, 11,  220 }, {   7, 10, 1725 },\r
+  {   7, 10, 1774 }, { 138, 10,  393 }, {   5, 10,  263 }, { 134, 10,  414 },\r
+  {   4, 11,   42 }, {   9, 11,  205 }, {   9, 11,  786 }, { 138, 11,  659 },\r
+  {  14,  0,  140 }, { 148,  0,   41 }, {   8,  0,  440 }, {  10,  0,  359 },\r
+  {   6, 10,  178 }, {   6, 11,  289 }, {   6, 10, 1750 }, {   7, 11, 1670 },\r
+  {   9, 10,  690 }, {  10, 10,  155 }, {  10, 10,  373 }, {  11, 10,  698 },\r
+  {  12, 11,   57 }, {  13, 10,  155 }, {  20, 10,   93 }, { 151, 11,    4 },\r
+  {   4,  0,   37 }, {   5,  0,  334 }, {   7,  0, 1253 }, { 151, 11,   25 },\r
+  {   4,  0,  508 }, {   4, 11,  635 }, {   5, 10,   97 }, { 137, 10,  393 },\r
+  { 139, 11,  533 }, {   4,  0,  640 }, { 133,  0,  513 }, { 134, 10, 1639 },\r
+  { 132, 11,  371 }, {   4, 11,  272 }, {   7, 11,  836 }, {   7, 11, 1651 },\r
+  { 145, 11,   89 }, {   5, 11,  825 }, {   6, 11,  444 }, {   6, 11, 1640 },\r
+  { 136, 11,  308 }, {   4, 10,  191 }, {   7, 10,  934 }, {   8, 10,  647 },\r
+  { 145, 10,   97 }, {  12,  0,  246 }, {  15,  0,  162 }, {  19,  0,   64 },\r
+  {  20,  0,    8 }, {  20,  0,   95 }, {  22,  0,   24 }, { 152,  0,   17 },\r
+  {   4,  0,  533 }, {   5, 10,  165 }, {   9, 10,  346 }, { 138, 10,  655 },\r
+  {   5, 11,  737 }, { 139, 10,  885 }, { 133, 10,  877 }, {   8, 10,  128 },\r
+  { 139, 10,  179 }, { 137, 11,  307 }, { 140,  0,  752 }, { 133,  0,  920 },\r
+  { 135,  0, 1048 }, {   5,  0,  153 }, {   6,  0,  580 }, {   6, 10, 1663 },\r
+  {   7, 10,  132 }, {   7, 10, 1154 }, {   7, 10, 1415 }, {   7, 10, 1507 },\r
+  {  12, 10,  493 }, {  15, 10,  105 }, { 151, 10,   15 }, {   5, 10,  459 },\r
+  {   7, 10, 1073 }, {   8, 10,  241 }, { 136, 10,  334 }, { 138,  0,  391 },\r
+  { 135,  0, 1952 }, { 133, 11,  525 }, {   8, 11,  641 }, {  11, 11,  388 },\r
+  { 140, 11,  580 }, { 142,  0,  126 }, { 134,  0,  640 }, { 132,  0,  483 },\r
+  {   7,  0, 1616 }, {   9,  0,   69 }, {   6, 10,  324 }, {   6, 10,  520 },\r
+  {   7, 10,  338 }, {   7, 10, 1729 }, {   8, 10,  228 }, { 139, 10,  750 },\r
+  {   5, 11,  493 }, { 134, 11,  528 }, { 135,  0,  734 }, {   4, 11,  174 },\r
+  { 135, 11,  911 }, { 138,  0,  480 }, {   9,  0,  495 }, { 146,  0,  104 },\r
+  { 135, 10,  705 }, {   9,  0,  472 }, {   4, 10,   73 }, {   6, 10,  612 },\r
+  {   7, 10,  927 }, {   7, 10, 1330 }, {   7, 10, 1822 }, {   8, 10,  217 },\r
+  {   9, 10,  765 }, {   9, 10,  766 }, {  10, 10,  408 }, {  11, 10,   51 },\r
+  {  11, 10,  793 }, {  12, 10,  266 }, {  15, 10,  158 }, {  20, 10,   89 },\r
+  { 150, 10,   32 }, {   7, 11,  548 }, { 137, 11,   58 }, {   4, 11,   32 },\r
+  {   5, 11,  215 }, {   6, 11,  269 }, {   7, 11, 1782 }, {   7, 11, 1892 },\r
+  {  10, 11,   16 }, {  11, 11,  822 }, {  11, 11,  954 }, { 141, 11,  481 },\r
+  { 132,  0,  874 }, {   9,  0,  229 }, {   5, 10,  389 }, { 136, 10,  636 },\r
+  {   7, 11, 1749 }, { 136, 11,  477 }, { 134,  0,  948 }, {   5, 11,  308 },\r
+  { 135, 11, 1088 }, {   4,  0,  748 }, { 139,  0, 1009 }, { 136, 10,   21 },\r
+  {   6,  0,  555 }, { 135,  0,  485 }, {   5, 11,  126 }, {   8, 11,  297 },\r
+  {   9, 11,  366 }, {   9, 11,  445 }, {  12, 11,   53 }, {  12, 11,  374 },\r
+  { 141, 11,  492 }, {   7, 11, 1551 }, { 139, 11,  361 }, { 136,  0,  193 },\r
+  { 136,  0,  472 }, {   8,  0,  653 }, {  13,  0,   93 }, { 147,  0,   14 },\r
+  { 132,  0,  984 }, { 132, 11,  175 }, {   5,  0,  172 }, {   6,  0, 1971 },\r
+  { 132, 11,  685 }, { 149, 11,    8 }, { 133, 11,  797 }, {  13,  0,   83 },\r
+  {   5, 10,  189 }, {   7, 10,  442 }, {   7, 10,  443 }, {   8, 10,  281 },\r
+  {  12, 10,  174 }, { 141, 10,  261 }, { 134,  0, 1568 }, { 133, 11,  565 },\r
+  { 139,  0,  384 }, { 133,  0,  260 }, {   7,  0,  758 }, {   7,  0,  880 },\r
+  {   7,  0, 1359 }, {   9,  0,  164 }, {   9,  0,  167 }, {  10,  0,  156 },\r
+  {  10,  0,  588 }, {  12,  0,  101 }, {  14,  0,   48 }, {  15,  0,   70 },\r
+  {   6, 10,    2 }, {   7, 10, 1262 }, {   7, 10, 1737 }, {   8, 10,   22 },\r
+  {   8, 10,  270 }, {   8, 10,  612 }, {   9, 10,  312 }, {   9, 10,  436 },\r
+  {  10, 10,  311 }, {  10, 10,  623 }, {  11, 10,   72 }, {  11, 10,  330 },\r
+  {  11, 10,  455 }, {  12, 10,  321 }, {  12, 10,  504 }, {  12, 10,  530 },\r
+  {  12, 10,  543 }, {  13, 10,   17 }, {  13, 10,  156 }, {  13, 10,  334 },\r
+  {  17, 10,   60 }, { 148, 10,   64 }, {   4, 11,  252 }, {   7, 11, 1068 },\r
+  {  10, 11,  434 }, {  11, 11,  228 }, {  11, 11,  426 }, {  13, 11,  231 },\r
+  {  18, 11,  106 }, { 148, 11,   87 }, {   7, 10,  354 }, {  10, 10,  410 },\r
+  { 139, 10,  815 }, {   6,  0,  367 }, {   7, 10,  670 }, {   7, 10, 1327 },\r
+  {   8, 10,  411 }, {   8, 10,  435 }, {   9, 10,  653 }, {   9, 10,  740 },\r
+  {  10, 10,  385 }, {  11, 10,  222 }, {  11, 10,  324 }, {  11, 10,  829 },\r
+  { 140, 10,  611 }, {   7,  0, 1174 }, {   6, 10,  166 }, { 135, 10,  374 },\r
+  { 146,  0,  121 }, { 132,  0,  828 }, {   5, 11,  231 }, { 138, 11,  509 },\r
+  {   7, 11,  601 }, {   9, 11,  277 }, {   9, 11,  674 }, {  10, 11,  178 },\r
+  {  10, 11,  257 }, {  10, 11,  418 }, {  11, 11,  531 }, {  11, 11,  544 },\r
+  {  11, 11,  585 }, {  12, 11,  113 }, {  12, 11,  475 }, {  13, 11,   99 },\r
+  { 142, 11,  428 }, { 134,  0, 1541 }, { 135, 11, 1779 }, {   5,  0,  343 },\r
+  { 134, 10,  398 }, { 135, 10,   50 }, { 135, 11, 1683 }, {   4,  0,  440 },\r
+  {   7,  0,   57 }, {   8,  0,  167 }, {   8,  0,  375 }, {   9,  0,   82 },\r
+  {   9,  0,  561 }, {   9,  0,  744 }, {  10,  0,  620 }, { 137, 11,  744 },\r
+  { 134,  0,  926 }, {   6, 10,  517 }, {   7, 10, 1159 }, {  10, 10,  621 },\r
+  { 139, 10,  192 }, { 137,  0,  827 }, {   8,  0,  194 }, { 136,  0,  756 },\r
+  {  10, 10,  223 }, { 139, 10,  645 }, {   7, 10,   64 }, { 136, 10,  245 },\r
+  {   4, 11,  399 }, {   5, 11,  119 }, {   5, 11,  494 }, {   7, 11,  751 },\r
+  { 137, 11,  556 }, { 132,  0,  808 }, { 135,  0,   22 }, {   7, 10, 1763 },\r
+  { 140, 10,  310 }, {   5,  0,  639 }, {   7,  0, 1249 }, {  11,  0,  896 },\r
+  { 134, 11,  584 }, { 134,  0, 1614 }, { 135,  0,  860 }, { 135, 11, 1121 },\r
+  {   5, 10,  129 }, {   6, 10,   61 }, { 135, 10,  947 }, {   4,  0,  102 },\r
+  {   7,  0,  815 }, {   7,  0, 1699 }, { 139,  0,  964 }, {  13, 10,  505 },\r
+  { 141, 10,  506 }, { 139, 10, 1000 }, { 132, 11,  679 }, { 132,  0,  899 },\r
+  { 132,  0,  569 }, {   5, 11,  694 }, { 137, 11,  714 }, { 136,  0,  795 },\r
+  {   6,  0, 2045 }, { 139, 11,    7 }, {   6,  0,   52 }, {   9,  0,  104 },\r
+  {   9,  0,  559 }, {  12,  0,  308 }, { 147,  0,   87 }, {   4,  0,  301 },\r
+  { 132,  0,  604 }, { 133, 10,  637 }, { 136,  0,  779 }, {   5, 11,  143 },\r
+  {   5, 11,  769 }, {   6, 11, 1760 }, {   7, 11,  682 }, {   7, 11, 1992 },\r
+  { 136, 11,  736 }, { 137, 10,  590 }, { 147,  0,   32 }, { 137, 11,  527 },\r
+  {   5, 10,  280 }, { 135, 10, 1226 }, { 134,  0,  494 }, {   6,  0,  677 },\r
+  {   6,  0,  682 }, { 134,  0, 1044 }, { 133, 10,  281 }, { 135, 10, 1064 },\r
+  {   7,  0,  508 }, { 133, 11,  860 }, {   6, 11,  422 }, {   7, 11,    0 },\r
+  {   7, 11, 1544 }, {   9, 11,  577 }, {  11, 11,  990 }, {  12, 11,  141 },\r
+  {  12, 11,  453 }, {  13, 11,   47 }, { 141, 11,  266 }, { 134,  0, 1014 },\r
+  {   5, 11,  515 }, { 137, 11,  131 }, { 134,  0,  957 }, { 132, 11,  646 },\r
+  {   6,  0,  310 }, {   7,  0, 1849 }, {   8,  0,   72 }, {   8,  0,  272 },\r
+  {   8,  0,  431 }, {   9,  0,   12 }, {   9,  0,  376 }, {  10,  0,  563 },\r
+  {  10,  0,  630 }, {  10,  0,  796 }, {  10,  0,  810 }, {  11,  0,  367 },\r
+  {  11,  0,  599 }, {  11,  0,  686 }, { 140,  0,  672 }, {   7,  0,  570 },\r
+  {   4, 11,  396 }, {   7, 10,  120 }, {   7, 11,  728 }, {   8, 10,  489 },\r
+  {   9, 11,  117 }, {   9, 10,  319 }, {  10, 10,  820 }, {  11, 10, 1004 },\r
+  {  12, 10,  379 }, {  12, 10,  679 }, {  13, 10,  117 }, {  13, 11,  202 },\r
+  {  13, 10,  412 }, {  14, 10,   25 }, {  15, 10,   52 }, {  15, 10,  161 },\r
+  {  16, 10,   47 }, {  20, 11,   51 }, { 149, 10,    2 }, {   6, 11,  121 },\r
+  {   6, 11,  124 }, {   6, 11,  357 }, {   7, 11, 1138 }, {   7, 11, 1295 },\r
+  {   8, 11,  162 }, { 139, 11,  655 }, {   8,  0,  449 }, {   4, 10,  937 },\r
+  {   5, 10,  801 }, { 136, 11,  449 }, { 139, 11,  958 }, {   6,  0,  181 },\r
+  {   7,  0,  537 }, {   8,  0,   64 }, {   9,  0,  127 }, {  10,  0,  496 },\r
+  {  12,  0,  510 }, { 141,  0,  384 }, { 138, 11,  253 }, {   4,  0,  244 },\r
+  { 135,  0,  233 }, { 133, 11,  237 }, { 132, 10,  365 }, {   6,  0, 1650 },\r
+  {  10,  0,  702 }, { 139,  0,  245 }, {   5, 10,    7 }, { 139, 10,  774 },\r
+  {  13,  0,  463 }, {  20,  0,   49 }, {  13, 11,  463 }, { 148, 11,   49 },\r
+  {   4, 10,  734 }, {   5, 10,  662 }, { 134, 10,  430 }, {   4, 10,  746 },\r
+  { 135, 10, 1090 }, {   5, 10,  360 }, { 136, 10,  237 }, { 137,  0,  338 },\r
+  { 143, 11,   10 }, {   7, 11,  571 }, { 138, 11,  366 }, { 134,  0, 1279 },\r
+  {   9, 11,  513 }, {  10, 11,   22 }, {  10, 11,   39 }, {  12, 11,  122 },\r
+  { 140, 11,  187 }, { 133,  0,  896 }, { 146,  0,  178 }, { 134,  0,  695 },\r
+  { 137,  0,  808 }, { 134, 11,  587 }, {   7, 11,  107 }, {   7, 11,  838 },\r
+  {   8, 11,  550 }, { 138, 11,  401 }, {   7,  0, 1117 }, { 136,  0,  539 },\r
+  {   4, 10,  277 }, {   5, 10,  608 }, {   6, 10,  493 }, {   7, 10,  457 },\r
+  { 140, 10,  384 }, { 133, 11,  768 }, {  12,  0,  257 }, {   7, 10,   27 },\r
+  { 135, 10,  316 }, { 140,  0, 1003 }, {   4,  0,  207 }, {   5,  0,  586 },\r
+  {   5,  0,  676 }, {   6,  0,  448 }, {   8,  0,  244 }, {  11,  0,    1 },\r
+  {  13,  0,    3 }, {  16,  0,   54 }, {  17,  0,    4 }, {  18,  0,   13 },\r
+  { 133, 10,  552 }, {   4, 10,  401 }, { 137, 10,  264 }, {   5,  0,  516 },\r
+  {   7,  0, 1883 }, { 135, 11, 1883 }, {  12,  0,  960 }, { 132, 11,  894 },\r
+  {   5,  0,    4 }, {   5,  0,  810 }, {   6,  0,   13 }, {   6,  0,  538 },\r
+  {   6,  0, 1690 }, {   6,  0, 1726 }, {   7,  0,  499 }, {   7,  0, 1819 },\r
+  {   8,  0,  148 }, {   8,  0,  696 }, {   8,  0,  791 }, {  12,  0,  125 },\r
+  { 143,  0,    9 }, { 135,  0, 1268 }, {  11,  0,   30 }, {  14,  0,  315 },\r
+  {   9, 10,  543 }, {  10, 10,  524 }, {  12, 10,  524 }, {  16, 10,   18 },\r
+  {  20, 10,   26 }, { 148, 10,   65 }, {   6,  0,  748 }, {   4, 10,  205 },\r
+  {   5, 10,  623 }, {   7, 10,  104 }, { 136, 10,  519 }, {  11,  0,  542 },\r
+  { 139,  0,  852 }, { 140,  0,    6 }, { 132,  0,  848 }, {   7,  0, 1385 },\r
+  {  11,  0,  582 }, {  11,  0,  650 }, {  11,  0,  901 }, {  11,  0,  949 },\r
+  {  12,  0,  232 }, {  12,  0,  236 }, {  13,  0,  413 }, {  13,  0,  501 },\r
+  {  18,  0,  116 }, {   7, 10,  579 }, {   9, 10,   41 }, {   9, 10,  244 },\r
+  {   9, 10,  669 }, {  10, 10,    5 }, {  11, 10,  861 }, {  11, 10,  951 },\r
+  { 139, 10,  980 }, {   4,  0,  945 }, {   6,  0, 1811 }, {   6,  0, 1845 },\r
+  {   6,  0, 1853 }, {   6,  0, 1858 }, {   8,  0,  862 }, {  12,  0,  782 },\r
+  {  12,  0,  788 }, {  18,  0,  160 }, { 148,  0,  117 }, { 132, 10,  717 },\r
+  {   4,  0,  925 }, {   5,  0,  803 }, {   8,  0,  698 }, { 138,  0,  828 },\r
+  { 134,  0, 1416 }, { 132,  0,  610 }, { 139,  0,  992 }, {   6,  0,  878 },\r
+  { 134,  0, 1477 }, { 135,  0, 1847 }, { 138, 11,  531 }, { 137, 11,  539 },\r
+  { 134, 11,  272 }, { 133,  0,  383 }, { 134,  0, 1404 }, { 132, 10,  489 },\r
+  {   4, 11,    9 }, {   5, 11,  128 }, {   7, 11,  368 }, {  11, 11,  480 },\r
+  { 148, 11,    3 }, { 136,  0,  986 }, {   9,  0,  660 }, { 138,  0,  347 },\r
+  { 135, 10,  892 }, { 136, 11,  682 }, {   7,  0,  572 }, {   9,  0,  592 },\r
+  {  11,  0,  680 }, {  12,  0,  356 }, { 140,  0,  550 }, {   7,  0, 1411 },\r
+  { 138, 11,  527 }, {   4, 11,    2 }, {   7, 11,  545 }, { 135, 11,  894 },\r
+  { 137, 10,  473 }, {  11,  0,   64 }, {   7, 11,  481 }, {   7, 10,  819 },\r
+  {   9, 10,   26 }, {   9, 10,  392 }, {   9, 11,  792 }, {  10, 10,  152 },\r
+  {  10, 10,  226 }, {  12, 10,  276 }, {  12, 10,  426 }, {  12, 10,  589 },\r
+  {  13, 10,  460 }, {  15, 10,   97 }, {  19, 10,   48 }, { 148, 10,  104 },\r
+  { 135, 10,   51 }, { 136, 11,  445 }, { 136, 11,  646 }, { 135,  0,  606 },\r
+  { 132, 10,  674 }, {   6,  0, 1829 }, { 134,  0, 1830 }, { 132, 10,  770 },\r
+  {   5, 10,   79 }, {   7, 10, 1027 }, {   7, 10, 1477 }, { 139, 10,   52 },\r
+  {   5, 11,  530 }, { 142, 11,  113 }, { 134, 10, 1666 }, {   7,  0,  748 },\r
+  { 139,  0,  700 }, { 134, 10,  195 }, { 133, 10,  789 }, {   9,  0,   87 },\r
+  {  10,  0,  365 }, {   4, 10,  251 }, {   4, 10,  688 }, {   7, 10,  513 },\r
+  { 135, 10, 1284 }, { 136, 11,  111 }, { 133,  0,  127 }, {   6,  0,  198 },\r
+  { 140,  0,   83 }, { 133, 11,  556 }, { 133, 10,  889 }, {   4, 10,  160 },\r
+  {   5, 10,  330 }, {   7, 10, 1434 }, { 136, 10,  174 }, {   5,  0,  276 },\r
+  {   6,  0,   55 }, {   7,  0, 1369 }, { 138,  0,  864 }, {   8, 11,   16 },\r
+  { 140, 11,  568 }, {   6,  0, 1752 }, { 136,  0,  726 }, { 135,  0, 1066 },\r
+  { 133,  0,  764 }, {   6, 11,  186 }, { 137, 11,  426 }, {  11,  0,  683 },\r
+  { 139, 11,  683 }, {   6,  0,  309 }, {   7,  0,  331 }, { 138,  0,  550 },\r
+  { 133, 10,  374 }, {   6,  0, 1212 }, {   6,  0, 1852 }, {   7,  0, 1062 },\r
+  {   8,  0,  874 }, {   8,  0,  882 }, { 138,  0,  936 }, { 132, 11,  585 },\r
+  { 134,  0, 1364 }, {   7,  0,  986 }, { 133, 10,  731 }, {   6,  0,  723 },\r
+  {   6,  0, 1408 }, { 138,  0,  381 }, { 135,  0, 1573 }, { 134,  0, 1025 },\r
+  {   4, 10,  626 }, {   5, 10,  642 }, {   6, 10,  425 }, {  10, 10,  202 },\r
+  { 139, 10,  141 }, {   4, 11,   93 }, {   5, 11,  252 }, {   6, 11,  229 },\r
+  {   7, 11,  291 }, {   9, 11,  550 }, { 139, 11,  644 }, { 137, 11,  749 },\r
+  { 137, 11,  162 }, { 132, 11,  381 }, { 135,  0, 1559 }, {   6,  0,  194 },\r
+  {   7,  0,  133 }, {  10,  0,  493 }, {  10,  0,  570 }, { 139,  0,  664 },\r
+  {   5,  0,   24 }, {   5,  0,  569 }, {   6,  0,    3 }, {   6,  0,  119 },\r
+  {   6,  0,  143 }, {   6,  0,  440 }, {   7,  0,  295 }, {   7,  0,  599 },\r
+  {   7,  0, 1686 }, {   7,  0, 1854 }, {   8,  0,  424 }, {   9,  0,   43 },\r
+  {   9,  0,  584 }, {   9,  0,  760 }, {  10,  0,  148 }, {  10,  0,  328 },\r
+  {  11,  0,  159 }, {  11,  0,  253 }, {  11,  0,  506 }, {  12,  0,  487 },\r
+  { 140,  0,  531 }, {   6,  0,  661 }, { 134,  0, 1517 }, { 136, 10,  835 },\r
+  { 151, 10,   17 }, {   5,  0,   14 }, {   5,  0,  892 }, {   6,  0,  283 },\r
+  {   7,  0,  234 }, { 136,  0,  537 }, { 139,  0,  541 }, {   4,  0,  126 },\r
+  {   8,  0,  635 }, { 147,  0,   34 }, {   4,  0,  316 }, {   4,  0,  495 },\r
+  { 135,  0, 1561 }, {   4, 11,  187 }, {   5, 11,  184 }, {   5, 11,  690 },\r
+  {   7, 11, 1869 }, { 138, 11,  756 }, { 139, 11,  783 }, {   4,  0,  998 },\r
+  { 137,  0,  861 }, { 136,  0, 1009 }, { 139, 11,  292 }, {   5, 11,   21 },\r
+  {   6, 11,   77 }, {   6, 11,  157 }, {   7, 11,  974 }, {   7, 11, 1301 },\r
+  {   7, 11, 1339 }, {   7, 11, 1490 }, {   7, 11, 1873 }, { 137, 11,  628 },\r
+  {   7, 11, 1283 }, {   9, 11,  227 }, {   9, 11,  499 }, {  10, 11,  341 },\r
+  {  11, 11,  325 }, {  11, 11,  408 }, {  14, 11,  180 }, {  15, 11,  144 },\r
+  {  18, 11,   47 }, { 147, 11,   49 }, {   4,  0,   64 }, {   5,  0,  352 },\r
+  {   5,  0,  720 }, {   6,  0,  368 }, { 139,  0,  359 }, {   5, 10,  384 },\r
+  {   8, 10,  455 }, { 140, 10,   48 }, {   5, 10,  264 }, { 134, 10,  184 },\r
+  {   7,  0, 1577 }, {  10,  0,  304 }, {  10,  0,  549 }, {  12,  0,  365 },\r
+  {  13,  0,  220 }, {  13,  0,  240 }, { 142,  0,   33 }, { 134,  0, 1107 },\r
+  { 134,  0,  929 }, { 135,  0, 1142 }, {   6,  0,  175 }, { 137,  0,  289 },\r
+  {   5,  0,  432 }, { 133,  0,  913 }, {   6,  0,  279 }, {   7,  0,  219 },\r
+  {   5, 10,  633 }, { 135, 10, 1323 }, {   7,  0,  785 }, {   7, 10,  359 },\r
+  {   8, 10,  243 }, { 140, 10,  175 }, { 139,  0,  595 }, { 132, 10,  105 },\r
+  {   8, 11,  398 }, {   9, 11,  681 }, { 139, 11,  632 }, { 140,  0,   80 },\r
+  {   5,  0,  931 }, { 134,  0, 1698 }, { 142, 11,  241 }, { 134, 11,   20 },\r
+  { 134,  0, 1323 }, {  11,  0,  526 }, {  11,  0,  939 }, { 141,  0,  290 },\r
+  {   5,  0,  774 }, {   6,  0,  780 }, {   6,  0, 1637 }, {   6,  0, 1686 },\r
+  {   6,  0, 1751 }, {   8,  0,  559 }, { 141,  0,  109 }, { 141,  0,  127 },\r
+  {   7,  0, 1167 }, {  11,  0,  934 }, {  13,  0,  391 }, {  17,  0,   76 },\r
+  { 135, 11,  709 }, { 135,  0,  963 }, {   6,  0,  260 }, { 135,  0, 1484 },\r
+  { 134,  0,  573 }, {   4, 10,  758 }, { 139, 11,  941 }, { 135, 10, 1649 },\r
+  { 145, 11,   36 }, {   4,  0,  292 }, { 137,  0,  580 }, {   4,  0,  736 },\r
+  {   5,  0,  871 }, {   6,  0, 1689 }, { 135,  0, 1944 }, {   7, 11,  945 },\r
+  {  11, 11,  713 }, { 139, 11,  744 }, { 134,  0, 1164 }, { 135, 11,  937 },\r
+  {   6,  0, 1922 }, {   9,  0,  982 }, {  15,  0,  173 }, {  15,  0,  178 },\r
+  {  15,  0,  200 }, {  18,  0,  189 }, {  18,  0,  207 }, {  21,  0,   47 },\r
+  { 135, 11, 1652 }, {   7,  0, 1695 }, { 139, 10,  128 }, {   6,  0,   63 },\r
+  { 135,  0,  920 }, { 133,  0,  793 }, { 143, 11,  134 }, { 133, 10,  918 },\r
+  {   5,  0,   67 }, {   6,  0,   62 }, {   6,  0,  374 }, { 135,  0, 1391 },\r
+  {   9,  0,  790 }, {  12,  0,   47 }, {   4, 11,  579 }, {   5, 11,  226 },\r
+  {   5, 11,  323 }, { 135, 11,  960 }, {  10, 11,  784 }, { 141, 11,  191 },\r
+  {   4,  0,  391 }, { 135,  0, 1169 }, { 137,  0,  443 }, {  13, 11,  232 },\r
+  { 146, 11,   35 }, { 132, 10,  340 }, { 132,  0,  271 }, { 137, 11,  313 },\r
+  {   5, 11,  973 }, { 137, 11,  659 }, { 134,  0, 1140 }, {   6, 11,  135 },\r
+  { 135, 11, 1176 }, {   4,  0,  253 }, {   5,  0,  544 }, {   7,  0,  300 },\r
+  { 137,  0,  340 }, {   7,  0,  897 }, {   5, 10,  985 }, {   7, 10,  509 },\r
+  { 145, 10,   96 }, { 138, 11,  735 }, { 135, 10, 1919 }, { 138,  0,  890 },\r
+  {   5,  0,  818 }, { 134,  0, 1122 }, {   5,  0,   53 }, {   5,  0,  541 },\r
+  {   6,  0,   94 }, {   6,  0,  499 }, {   7,  0,  230 }, { 139,  0,  321 },\r
+  {   4,  0,  920 }, {   5,  0,   25 }, {   5,  0,  790 }, {   6,  0,  457 },\r
+  {   7,  0,  853 }, {   8,  0,  788 }, { 142, 11,   31 }, { 132, 10,  247 },\r
+  { 135, 11,  314 }, { 132,  0,  468 }, {   7,  0,  243 }, {   6, 10,  337 },\r
+  {   7, 10,  494 }, {   8, 10,   27 }, {   8, 10,  599 }, { 138, 10,  153 },\r
+  {   4, 10,  184 }, {   5, 10,  390 }, {   7, 10,  618 }, {   7, 10, 1456 },\r
+  { 139, 10,  710 }, { 134,  0,  870 }, { 134,  0, 1238 }, { 134,  0, 1765 },\r
+  {  10,  0,  853 }, {  10,  0,  943 }, {  14,  0,  437 }, {  14,  0,  439 },\r
+  {  14,  0,  443 }, {  14,  0,  446 }, {  14,  0,  452 }, {  14,  0,  469 },\r
+  {  14,  0,  471 }, {  14,  0,  473 }, {  16,  0,   93 }, {  16,  0,  102 },\r
+  {  16,  0,  110 }, { 148,  0,  121 }, {   4,  0,  605 }, {   7,  0,  518 },\r
+  {   7,  0, 1282 }, {   7,  0, 1918 }, {  10,  0,  180 }, { 139,  0,  218 },\r
+  { 133,  0,  822 }, {   4,  0,  634 }, {  11,  0,  916 }, { 142,  0,  419 },\r
+  {   6, 11,  281 }, {   7, 11,    6 }, {   8, 11,  282 }, {   8, 11,  480 },\r
+  {   8, 11,  499 }, {   9, 11,  198 }, {  10, 11,  143 }, {  10, 11,  169 },\r
+  {  10, 11,  211 }, {  10, 11,  417 }, {  10, 11,  574 }, {  11, 11,  147 },\r
+  {  11, 11,  395 }, {  12, 11,   75 }, {  12, 11,  407 }, {  12, 11,  608 },\r
+  {  13, 11,  500 }, { 142, 11,  251 }, { 134,  0,  898 }, {   6,  0,   36 },\r
+  {   7,  0,  658 }, {   8,  0,  454 }, { 150, 11,   48 }, { 133, 11,  674 },\r
+  { 135, 11, 1776 }, {   4, 11,  419 }, {  10, 10,  227 }, {  11, 10,  497 },\r
+  {  11, 10,  709 }, { 140, 10,  415 }, {   6, 10,  360 }, {   7, 10, 1664 },\r
+  { 136, 10,  478 }, { 137,  0,  806 }, {  12, 11,  508 }, {  14, 11,  102 },\r
+  {  14, 11,  226 }, { 144, 11,   57 }, { 135, 11, 1123 }, {   4, 11,  138 },\r
+  {   7, 11, 1012 }, {   7, 11, 1280 }, { 137, 11,   76 }, {   5, 11,   29 },\r
+  { 140, 11,  638 }, { 136, 10,  699 }, { 134,  0, 1326 }, { 132,  0,  104 },\r
+  { 135, 11,  735 }, { 132, 10,  739 }, { 134,  0, 1331 }, {   7,  0,  260 },\r
+  { 135, 11,  260 }, { 135, 11, 1063 }, {   7,  0,   45 }, {   9,  0,  542 },\r
+  {   9,  0,  566 }, {  10,  0,  728 }, { 137, 10,  869 }, {   4, 10,   67 },\r
+  {   5, 10,  422 }, {   7, 10, 1037 }, {   7, 10, 1289 }, {   7, 10, 1555 },\r
+  {   9, 10,  741 }, { 145, 10,  108 }, { 139,  0,  263 }, { 134,  0, 1516 },\r
+  {  14,  0,  146 }, {  15,  0,   42 }, {  16,  0,   23 }, {  17,  0,   86 },\r
+  { 146,  0,   17 }, { 138,  0,  468 }, { 136,  0, 1005 }, {   4, 11,   17 },\r
+  {   5, 11,   23 }, {   7, 11,  995 }, {  11, 11,  383 }, {  11, 11,  437 },\r
+  {  12, 11,  460 }, { 140, 11,  532 }, {   7,  0,   87 }, { 142,  0,  288 },\r
+  { 138, 10,   96 }, { 135, 11,  626 }, { 144, 10,   26 }, {   7,  0,  988 },\r
+  {   7,  0, 1939 }, {   9,  0,   64 }, {   9,  0,  502 }, {  12,  0,   22 },\r
+  {  12,  0,   34 }, {  13,  0,   12 }, {  13,  0,  234 }, { 147,  0,   77 },\r
+  {  13,  0,  133 }, {   8, 10,  203 }, {  11, 10,  823 }, {  11, 10,  846 },\r
+  {  12, 10,  482 }, {  13, 10,  277 }, {  13, 10,  302 }, {  13, 10,  464 },\r
+  {  14, 10,  205 }, { 142, 10,  221 }, {   4, 10,  449 }, { 133, 10,  718 },\r
+  { 135,  0,  141 }, {   6,  0, 1842 }, { 136,  0,  872 }, {   8, 11,   70 },\r
+  {  12, 11,  171 }, { 141, 11,  272 }, {   4, 10,  355 }, {   6, 10,  311 },\r
+  {   9, 10,  256 }, { 138, 10,  404 }, { 132,  0,  619 }, { 137,  0,  261 },\r
+  {  10, 11,  233 }, {  10, 10,  758 }, { 139, 11,   76 }, {   5,  0,  246 },\r
+  {   8,  0,  189 }, {   9,  0,  355 }, {   9,  0,  512 }, {  10,  0,  124 },\r
+  {  10,  0,  453 }, {  11,  0,  143 }, {  11,  0,  416 }, {  11,  0,  859 },\r
+  { 141,  0,  341 }, { 134, 11,  442 }, { 133, 10,  827 }, {   5, 10,   64 },\r
+  { 140, 10,  581 }, {   4, 10,  442 }, {   7, 10, 1047 }, {   7, 10, 1352 },\r
+  { 135, 10, 1643 }, { 134, 11, 1709 }, {   5,  0,  678 }, {   6,  0,  305 },\r
+  {   7,  0,  775 }, {   7,  0, 1065 }, { 133, 10,  977 }, {  11, 11,   69 },\r
+  {  12, 11,  105 }, {  12, 11,  117 }, {  13, 11,  213 }, {  14, 11,   13 },\r
+  {  14, 11,   62 }, {  14, 11,  177 }, {  14, 11,  421 }, {  15, 11,   19 },\r
+  { 146, 11,  141 }, { 137, 11,  309 }, {   5,  0,   35 }, {   7,  0,  862 },\r
+  {   7,  0, 1886 }, { 138,  0,  179 }, { 136,  0,  285 }, { 132,  0,  517 },\r
+  {   7, 11,  976 }, {   9, 11,  146 }, {  10, 11,  206 }, {  10, 11,  596 },\r
+  {  13, 11,  218 }, { 142, 11,  153 }, { 132, 10,  254 }, {   6,  0,  214 },\r
+  {  12,  0,  540 }, {   4, 10,  275 }, {   7, 10, 1219 }, { 140, 10,  376 },\r
+  {   8,  0,  667 }, {  11,  0,  403 }, { 146,  0,   83 }, {  12,  0,   74 },\r
+  {  10, 11,  648 }, {  11, 11,  671 }, { 143, 11,   46 }, { 135,  0,  125 },\r
+  { 134, 10, 1753 }, { 133,  0,  761 }, {   6,  0,  912 }, {   4, 11,  518 },\r
+  {   6, 10,  369 }, {   6, 10,  502 }, {   7, 10, 1036 }, {   7, 11, 1136 },\r
+  {   8, 10,  348 }, {   9, 10,  452 }, {  10, 10,   26 }, {  11, 10,  224 },\r
+  {  11, 10,  387 }, {  11, 10,  772 }, {  12, 10,   95 }, {  12, 10,  629 },\r
+  {  13, 10,  195 }, {  13, 10,  207 }, {  13, 10,  241 }, {  14, 10,  260 },\r
+  {  14, 10,  270 }, { 143, 10,  140 }, {  10,  0,  131 }, { 140,  0,   72 },\r
+  { 132, 10,  269 }, {   5, 10,  480 }, {   7, 10,  532 }, {   7, 10, 1197 },\r
+  {   7, 10, 1358 }, {   8, 10,  291 }, {  11, 10,  349 }, { 142, 10,  396 },\r
+  {   8, 11,  689 }, { 137, 11,  863 }, {   8,  0,  333 }, { 138,  0,  182 },\r
+  {   4, 11,   18 }, {   7, 11,  145 }, {   7, 11,  444 }, {   7, 11, 1278 },\r
+  {   8, 11,   49 }, {   8, 11,  400 }, {   9, 11,   71 }, {   9, 11,  250 },\r
+  {  10, 11,  459 }, {  12, 11,  160 }, { 144, 11,   24 }, {  14, 11,   35 },\r
+  { 142, 11,  191 }, { 135, 11, 1864 }, { 135,  0, 1338 }, { 148, 10,   15 },\r
+  {  14,  0,   94 }, {  15,  0,   65 }, {  16,  0,    4 }, {  16,  0,   77 },\r
+  {  16,  0,   80 }, { 145,  0,    5 }, {  12, 11,   82 }, { 143, 11,   36 },\r
+  { 133, 11, 1010 }, { 133,  0,  449 }, { 133,  0,  646 }, {   7,  0,   86 },\r
+  {   8,  0,  103 }, { 135, 10,  657 }, {   7,  0, 2028 }, { 138,  0,  641 },\r
+  { 136, 10,  533 }, { 134,  0,    1 }, { 139, 11,  970 }, {   5, 11,   87 },\r
+  {   7, 11,  313 }, {   7, 11, 1103 }, {  10, 11,  112 }, {  10, 11,  582 },\r
+  {  11, 11,  389 }, {  11, 11,  813 }, {  12, 11,  385 }, {  13, 11,  286 },\r
+  {  14, 11,  124 }, { 146, 11,  108 }, {   6,  0,  869 }, { 132, 11,  267 },\r
+  {   6,  0,  277 }, {   7,  0, 1274 }, {   7,  0, 1386 }, { 146,  0,   87 },\r
+  {   6,  0,  187 }, {   7,  0,   39 }, {   7,  0, 1203 }, {   8,  0,  380 },\r
+  {  14,  0,  117 }, { 149,  0,   28 }, {   4, 10,  211 }, {   4, 10,  332 },\r
+  {   5, 10,  335 }, {   6, 10,  238 }, {   7, 10,  269 }, {   7, 10,  811 },\r
+  {   7, 10, 1797 }, {   8, 10,  836 }, {   9, 10,  507 }, { 141, 10,  242 },\r
+  {   4,  0,  785 }, {   5,  0,  368 }, {   6,  0,  297 }, {   7,  0,  793 },\r
+  { 139,  0,  938 }, {   7,  0,  464 }, {   8,  0,  558 }, {  11,  0,  105 },\r
+  {  12,  0,  231 }, {  14,  0,  386 }, {  15,  0,  102 }, { 148,  0,   75 },\r
+  { 133, 10, 1009 }, {   8,  0,  877 }, { 140,  0,  731 }, { 139, 11,  289 },\r
+  {  10, 11,  249 }, { 139, 11,  209 }, { 132, 11,  561 }, { 134,  0, 1608 },\r
+  { 132, 11,  760 }, { 134,  0, 1429 }, {   9, 11,  154 }, { 140, 11,  485 },\r
+  {   5, 10,  228 }, {   6, 10,  203 }, {   7, 10,  156 }, {   8, 10,  347 },\r
+  { 137, 10,  265 }, {   7,  0, 1010 }, {  11,  0,  733 }, {  11,  0,  759 },\r
+  {  13,  0,   34 }, {  14,  0,  427 }, { 146,  0,   45 }, {   7, 10, 1131 },\r
+  { 135, 10, 1468 }, { 136, 11,  255 }, {   7,  0, 1656 }, {   9,  0,  369 },\r
+  {  10,  0,  338 }, {  10,  0,  490 }, {  11,  0,  154 }, {  11,  0,  545 },\r
+  {  11,  0,  775 }, {  13,  0,   77 }, { 141,  0,  274 }, { 133, 11,  621 },\r
+  { 134,  0, 1038 }, {   4, 11,  368 }, { 135, 11,  641 }, {   6,  0, 2010 },\r
+  {   8,  0,  979 }, {   8,  0,  985 }, {  10,  0,  951 }, { 138,  0, 1011 },\r
+  { 134,  0, 1005 }, {  19,  0,  121 }, {   5, 10,  291 }, {   5, 10,  318 },\r
+  {   7, 10,  765 }, {   9, 10,  389 }, { 140, 10,  548 }, {   5,  0,   20 },\r
+  {   6,  0,  298 }, {   7,  0,  659 }, { 137,  0,  219 }, {   7,  0, 1440 },\r
+  {  11,  0,  854 }, {  11,  0,  872 }, {  11,  0,  921 }, {  12,  0,  551 },\r
+  {  13,  0,  472 }, { 142,  0,  367 }, {   5,  0,  490 }, {   6,  0,  615 },\r
+  {   6,  0,  620 }, { 135,  0,  683 }, {   6,  0, 1070 }, { 134,  0, 1597 },\r
+  { 139,  0,  522 }, { 132,  0,  439 }, { 136,  0,  669 }, {   6,  0,  766 },\r
+  {   6,  0, 1143 }, {   6,  0, 1245 }, {  10, 10,  525 }, { 139, 10,   82 },\r
+  {   9, 11,   92 }, { 147, 11,   91 }, {   6,  0,  668 }, { 134,  0, 1218 },\r
+  {   6, 11,  525 }, {   9, 11,  876 }, { 140, 11,  284 }, { 132,  0,  233 },\r
+  { 136,  0,  547 }, { 132, 10,  422 }, {   5, 10,  355 }, { 145, 10,    0 },\r
+  {   6, 11,  300 }, { 135, 11, 1515 }, {   4,  0,  482 }, { 137, 10,  905 },\r
+  {   4,  0,  886 }, {   7,  0,  346 }, { 133, 11,  594 }, { 133, 10,  865 },\r
+  {   5, 10,  914 }, { 134, 10, 1625 }, { 135,  0,  334 }, {   5,  0,  795 },\r
+  {   6,  0, 1741 }, { 133, 10,  234 }, { 135, 10, 1383 }, {   6, 11, 1641 },\r
+  { 136, 11,  820 }, { 135,  0,  371 }, {   7, 11, 1313 }, { 138, 11,  660 },\r
+  { 135, 10, 1312 }, { 135,  0,  622 }, {   7,  0,  625 }, { 135,  0, 1750 },\r
+  { 135,  0,  339 }, {   4,  0,  203 }, { 135,  0, 1936 }, {  15,  0,   29 },\r
+  {  16,  0,   38 }, {  15, 11,   29 }, { 144, 11,   38 }, {   5,  0,  338 },\r
+  { 135,  0, 1256 }, { 135, 10, 1493 }, {  10,  0,  130 }, {   6, 10,  421 },\r
+  {   7, 10,   61 }, {   7, 10, 1540 }, { 138, 10,  501 }, {   6, 11,  389 },\r
+  {   7, 11,  149 }, {   9, 11,  142 }, { 138, 11,   94 }, { 137, 10,  341 },\r
+  {  11,  0,  678 }, {  12,  0,  307 }, { 142, 10,   98 }, {   6, 11,    8 },\r
+  {   7, 11, 1881 }, { 136, 11,   91 }, { 135,  0, 2044 }, {   6,  0,  770 },\r
+  {   6,  0,  802 }, {   6,  0,  812 }, {   7,  0,  311 }, {   9,  0,  308 },\r
+  {  12,  0,  255 }, {   6, 10,  102 }, {   7, 10,   72 }, {  15, 10,  142 },\r
+  { 147, 10,   67 }, { 151, 10,   30 }, { 135, 10,  823 }, { 135,  0, 1266 },\r
+  { 135, 11, 1746 }, { 135, 10, 1870 }, {   4,  0,  400 }, {   5,  0,  267 },\r
+  { 135,  0,  232 }, {   7, 11,   24 }, {  11, 11,  542 }, { 139, 11,  852 },\r
+  { 135, 11, 1739 }, {   4, 11,  503 }, { 135, 11, 1661 }, {   5, 11,  130 },\r
+  {   7, 11, 1314 }, {   9, 11,  610 }, {  10, 11,  718 }, {  11, 11,  601 },\r
+  {  11, 11,  819 }, {  11, 11,  946 }, { 140, 11,  536 }, {  10, 11,  149 },\r
+  {  11, 11,  280 }, { 142, 11,  336 }, {   7,  0,  739 }, {  11,  0,  690 },\r
+  {   7, 11, 1946 }, {   8, 10,   48 }, {   8, 10,   88 }, {   8, 10,  582 },\r
+  {   8, 10,  681 }, {   9, 10,  373 }, {   9, 10,  864 }, {  11, 10,  157 },\r
+  {  11, 10,  843 }, { 148, 10,   27 }, { 134,  0,  990 }, {   4, 10,   88 },\r
+  {   5, 10,  137 }, {   5, 10,  174 }, {   5, 10,  777 }, {   6, 10, 1664 },\r
+  {   6, 10, 1725 }, {   7, 10,   77 }, {   7, 10,  426 }, {   7, 10, 1317 },\r
+  {   7, 10, 1355 }, {   8, 10,  126 }, {   8, 10,  563 }, {   9, 10,  523 },\r
+  {   9, 10,  750 }, {  10, 10,  310 }, {  10, 10,  836 }, {  11, 10,   42 },\r
+  {  11, 10,  318 }, {  11, 10,  731 }, {  12, 10,   68 }, {  12, 10,   92 },\r
+  {  12, 10,  507 }, {  12, 10,  692 }, {  13, 10,   81 }, {  13, 10,  238 },\r
+  {  13, 10,  374 }, {  14, 10,  436 }, {  18, 10,  138 }, {  19, 10,   78 },\r
+  {  19, 10,  111 }, {  20, 10,   55 }, {  20, 10,   77 }, { 148, 10,   92 },\r
+  { 141, 10,  418 }, {   7,  0, 1831 }, { 132, 10,  938 }, {   6,  0,  776 },\r
+  { 134,  0,  915 }, { 138, 10,  351 }, {   5, 11,  348 }, {   6, 11,  522 },\r
+  {   6, 10, 1668 }, {   7, 10, 1499 }, {   8, 10,  117 }, {   9, 10,  314 },\r
+  { 138, 10,  174 }, { 135, 10,  707 }, { 132,  0,  613 }, { 133, 10,  403 },\r
+  { 132, 11,  392 }, {   5, 11,  433 }, {   9, 11,  633 }, { 139, 11,  629 },\r
+  { 133,  0,  763 }, { 132,  0,  878 }, { 132,  0,  977 }, { 132,  0,  100 },\r
+  {   6,  0,  463 }, {   4, 10,   44 }, {   5, 10,  311 }, {   7, 10,  639 },\r
+  {   7, 10,  762 }, {   7, 10, 1827 }, {   9, 10,    8 }, {   9, 10,  462 },\r
+  { 148, 10,   83 }, { 134, 11,  234 }, {   4, 10,  346 }, {   7, 10,  115 },\r
+  {   9, 10,  180 }, {   9, 10,  456 }, { 138, 10,  363 }, {   5,  0,  362 },\r
+  {   5,  0,  443 }, {   6,  0,  318 }, {   7,  0, 1019 }, { 139,  0,  623 },\r
+  {   5,  0,  463 }, {   8,  0,  296 }, {   7, 11,  140 }, {   7, 11, 1950 },\r
+  {   8, 11,  680 }, {  11, 11,  817 }, { 147, 11,   88 }, {   7, 11, 1222 },\r
+  { 138, 11,  386 }, { 142,  0,  137 }, { 132,  0,  454 }, {   7,  0, 1914 },\r
+  {   6, 11,    5 }, {   7, 10, 1051 }, {   9, 10,  545 }, {  11, 11,  249 },\r
+  {  12, 11,  313 }, {  16, 11,   66 }, { 145, 11,   26 }, { 135,  0, 1527 },\r
+  { 145,  0,   58 }, { 148, 11,   59 }, {   5,  0,   48 }, {   5,  0,  404 },\r
+  {   6,  0,  557 }, {   7,  0,  458 }, {   8,  0,  597 }, {  10,  0,  455 },\r
+  {  10,  0,  606 }, {  11,  0,   49 }, {  11,  0,  548 }, {  12,  0,  476 },\r
+  {  13,  0,   18 }, { 141,  0,  450 }, {   5, 11,  963 }, { 134, 11, 1773 },\r
+  { 133,  0,  729 }, { 138, 11,  586 }, {   5,  0,  442 }, { 135,  0, 1984 },\r
+  { 134,  0,  449 }, { 144,  0,   40 }, {   4,  0,  853 }, {   7, 11,  180 },\r
+  {   8, 11,  509 }, { 136, 11,  792 }, {   6, 10,  185 }, {   7, 10, 1899 },\r
+  {   9, 10,  875 }, { 139, 10,  673 }, { 134, 11,  524 }, {  12,  0,  227 },\r
+  {   4, 10,  327 }, {   5, 10,  478 }, {   7, 10, 1332 }, { 136, 10,  753 },\r
+  {   6,  0, 1491 }, {   5, 10, 1020 }, { 133, 10, 1022 }, {   4, 10,  103 },\r
+  { 133, 10,  401 }, { 132, 11,  931 }, {   4, 10,  499 }, { 135, 10, 1421 },\r
+  {   5,  0,   55 }, {   7,  0,  376 }, { 140,  0,  161 }, { 133,  0,  450 },\r
+  {   6,  0, 1174 }, { 134,  0, 1562 }, {  10,  0,   62 }, {  13,  0,  400 },\r
+  { 135, 11, 1837 }, { 140,  0,  207 }, { 135,  0,  869 }, {   4, 11,  773 },\r
+  {   5, 11,  618 }, { 137, 11,  756 }, { 132, 10,   96 }, {   4,  0,  213 },\r
+  {   7,  0,  223 }, {   8,  0,   80 }, { 135, 10,  968 }, {   4, 11,   90 },\r
+  {   5, 11,  337 }, {   5, 11,  545 }, {   7, 11,  754 }, {   9, 11,  186 },\r
+  {  10, 11,   72 }, {  10, 11,  782 }, {  11, 11,  513 }, {  11, 11,  577 },\r
+  {  11, 11,  610 }, {  11, 11,  889 }, {  11, 11,  961 }, {  12, 11,  354 },\r
+  {  12, 11,  362 }, {  12, 11,  461 }, {  12, 11,  595 }, {  13, 11,   79 },\r
+  { 143, 11,  121 }, {   7,  0,  381 }, {   7,  0,  806 }, {   7,  0,  820 },\r
+  {   8,  0,  354 }, {   8,  0,  437 }, {   8,  0,  787 }, {   9,  0,  657 },\r
+  {  10,  0,   58 }, {  10,  0,  339 }, {  10,  0,  749 }, {  11,  0,  914 },\r
+  {  12,  0,  162 }, {  13,  0,   75 }, {  14,  0,  106 }, {  14,  0,  198 },\r
+  {  14,  0,  320 }, {  14,  0,  413 }, { 146,  0,   43 }, { 136,  0,  747 },\r
+  { 136,  0,  954 }, { 134,  0, 1073 }, { 135,  0,  556 }, {   7, 11,  151 },\r
+  {   9, 11,  329 }, { 139, 11,  254 }, {   5,  0,  692 }, { 134,  0, 1395 },\r
+  {   6, 10,  563 }, { 137, 10,  224 }, { 134,  0,  191 }, { 132,  0,  804 },\r
+  {   9, 11,  187 }, {  10, 11,   36 }, {  17, 11,   44 }, { 146, 11,   64 },\r
+  {   7, 11,  165 }, {   7, 11,  919 }, { 136, 11,  517 }, {   4, 11,  506 },\r
+  {   5, 11,  295 }, {   7, 11, 1680 }, {  15, 11,   14 }, { 144, 11,    5 },\r
+  {   4,  0,  706 }, {   6,  0,  162 }, {   7,  0, 1960 }, { 136,  0,  831 },\r
+  { 135, 11, 1376 }, {   7, 11,  987 }, {   9, 11,  688 }, {  10, 11,  522 },\r
+  {  11, 11,  788 }, { 140, 11,  566 }, { 150,  0,   35 }, { 138,  0,  426 },\r
+  { 135,  0, 1235 }, { 135, 11, 1741 }, {   7, 11,  389 }, {   7, 11,  700 },\r
+  {   7, 11,  940 }, {   8, 11,  514 }, {   9, 11,  116 }, {   9, 11,  535 },\r
+  {  10, 11,  118 }, {  11, 11,  107 }, {  11, 11,  148 }, {  11, 11,  922 },\r
+  {  12, 11,  254 }, {  12, 11,  421 }, { 142, 11,  238 }, { 134,  0, 1234 },\r
+  { 132, 11,  743 }, {   4, 10,  910 }, {   5, 10,  832 }, { 135, 11, 1335 },\r
+  { 141,  0,   96 }, { 135, 11,  185 }, { 146,  0,  149 }, {   4,  0,  204 },\r
+  { 137,  0,  902 }, {   4, 11,  784 }, { 133, 11,  745 }, { 136,  0,  833 },\r
+  { 136,  0,  949 }, {   7,  0,  366 }, {   9,  0,  287 }, {  12,  0,  199 },\r
+  {  12,  0,  556 }, {  12,  0,  577 }, {   5, 11,   81 }, {   7, 11,  146 },\r
+  {   7, 11, 1342 }, {   7, 11, 1446 }, {   8, 11,   53 }, {   8, 11,  561 },\r
+  {   8, 11,  694 }, {   8, 11,  754 }, {   9, 11,   97 }, {   9, 11,  115 },\r
+  {   9, 11,  894 }, {  10, 11,  462 }, {  10, 11,  813 }, {  11, 11,  230 },\r
+  {  11, 11,  657 }, {  11, 11,  699 }, {  11, 11,  748 }, {  12, 11,  119 },\r
+  {  12, 11,  200 }, {  12, 11,  283 }, {  14, 11,  273 }, { 145, 11,   15 },\r
+  {   5, 11,  408 }, { 137, 11,  747 }, {   9, 11,  498 }, { 140, 11,  181 },\r
+  {   6,  0, 2020 }, { 136,  0,  992 }, {   5,  0,  356 }, { 135,  0,  224 },\r
+  { 134,  0,  784 }, {   7,  0,  630 }, {   9,  0,  567 }, {  11,  0,  150 },\r
+  {  11,  0,  444 }, {  13,  0,  119 }, {   8, 10,  528 }, { 137, 10,  348 },\r
+  { 134,  0,  539 }, {   4, 10,   20 }, { 133, 10,  616 }, { 142,  0,   27 },\r
+  {   7, 11,   30 }, {   8, 11,   86 }, {   8, 11,  315 }, {   8, 11,  700 },\r
+  {   9, 11,  576 }, {   9, 11,  858 }, {  11, 11,  310 }, {  11, 11,  888 },\r
+  {  11, 11,  904 }, {  12, 11,  361 }, { 141, 11,  248 }, { 138, 11,  839 },\r
+  { 134,  0,  755 }, { 134,  0, 1063 }, {   7, 10, 1091 }, { 135, 10, 1765 },\r
+  { 134, 11,  428 }, {   7, 11,  524 }, {   8, 11,  169 }, {   8, 11,  234 },\r
+  {   9, 11,  480 }, { 138, 11,  646 }, { 139,  0,  814 }, {   7, 11, 1462 },\r
+  { 139, 11,  659 }, {   4, 10,   26 }, {   5, 10,  429 }, {   6, 10,  245 },\r
+  {   7, 10,  704 }, {   7, 10, 1379 }, { 135, 10, 1474 }, {   7, 11, 1205 },\r
+  { 138, 11,  637 }, { 139, 11,  803 }, { 132, 10,  621 }, { 136,  0,  987 },\r
+  {   4, 11,  266 }, {   8, 11,    4 }, {   9, 11,   39 }, {  10, 11,  166 },\r
+  {  11, 11,  918 }, {  12, 11,  635 }, {  20, 11,   10 }, {  22, 11,   27 },\r
+  { 150, 11,   43 }, {   4,  0,  235 }, { 135,  0,  255 }, {   4,  0,  194 },\r
+  {   5,  0,  584 }, {   6,  0,  384 }, {   7,  0,  583 }, {  10,  0,  761 },\r
+  {  11,  0,  760 }, { 139,  0,  851 }, { 133, 10,  542 }, { 134,  0, 1086 },\r
+  { 133, 10,  868 }, {   8,  0, 1016 }, { 136,  0, 1018 }, {   7,  0, 1396 },\r
+  {   7, 11, 1396 }, { 136, 10,  433 }, { 135, 10, 1495 }, { 138, 10,  215 },\r
+  { 141, 10,  124 }, {   7, 11,  157 }, {   8, 11,  279 }, {   9, 11,  759 },\r
+  {  16, 11,   31 }, {  16, 11,   39 }, {  16, 11,   75 }, {  18, 11,   24 },\r
+  {  20, 11,   42 }, { 152, 11,    1 }, {   5,  0,  562 }, { 134, 11,  604 },\r
+  { 134,  0,  913 }, {   5,  0,  191 }, { 137,  0,  271 }, {   4,  0,  470 },\r
+  {   6,  0,  153 }, {   7,  0, 1503 }, {   7,  0, 1923 }, {  10,  0,  701 },\r
+  {  11,  0,  132 }, {  11,  0,  227 }, {  11,  0,  320 }, {  11,  0,  436 },\r
+  {  11,  0,  525 }, {  11,  0,  855 }, {  11,  0,  873 }, {  12,  0,   41 },\r
+  {  12,  0,  286 }, {  13,  0,  103 }, {  13,  0,  284 }, {  14,  0,  255 },\r
+  {  14,  0,  262 }, {  15,  0,  117 }, { 143,  0,  127 }, {   7,  0,  475 },\r
+  {  12,  0,   45 }, { 147, 10,  112 }, { 132, 11,  567 }, { 137, 11,  859 },\r
+  {   6,  0,  713 }, {   6,  0,  969 }, {   6,  0, 1290 }, { 134,  0, 1551 },\r
+  { 133,  0,  327 }, {   6,  0,  552 }, {   6,  0, 1292 }, {   7,  0, 1754 },\r
+  { 137,  0,  604 }, {   4,  0,  223 }, {   6,  0,  359 }, {  11,  0,    3 },\r
+  {  13,  0,  108 }, {  14,  0,   89 }, {  16,  0,   22 }, {   5, 11,  762 },\r
+  {   7, 11, 1880 }, {   9, 11,  680 }, { 139, 11,  798 }, {   5,  0,   80 },\r
+  {   6,  0,  405 }, {   7,  0,  403 }, {   7,  0, 1502 }, {   8,  0,  456 },\r
+  {   9,  0,  487 }, {   9,  0,  853 }, {   9,  0,  889 }, {  10,  0,  309 },\r
+  {  11,  0,  721 }, {  11,  0,  994 }, {  12,  0,  430 }, { 141,  0,  165 },\r
+  { 133, 11,  298 }, { 132, 10,  647 }, { 134,  0, 2016 }, {  18, 10,   10 },\r
+  { 146, 11,   10 }, {   4,  0,  453 }, {   5,  0,  887 }, {   6,  0,  535 },\r
+  {   8,  0,    6 }, {   8,  0,  543 }, { 136,  0,  826 }, { 136,  0,  975 },\r
+  {  10,  0,  961 }, { 138,  0,  962 }, { 138, 10,  220 }, {   6,  0, 1891 },\r
+  {   6,  0, 1893 }, {   9,  0,  916 }, {   9,  0,  965 }, {   9,  0,  972 },\r
+  {  12,  0,  801 }, {  12,  0,  859 }, {  12,  0,  883 }, {  15,  0,  226 },\r
+  { 149,  0,   51 }, { 132, 10,  109 }, { 135, 11,  267 }, {   7, 11,   92 },\r
+  {   7, 11,  182 }, {   8, 11,  453 }, {   9, 11,  204 }, {  11, 11,  950 },\r
+  {  12, 11,   94 }, {  12, 11,  644 }, {  16, 11,   20 }, {  16, 11,   70 },\r
+  {  16, 11,   90 }, { 147, 11,   55 }, { 134, 10, 1746 }, {   6, 11,   71 },\r
+  {   7, 11,  845 }, {   7, 11, 1308 }, {   8, 11,  160 }, { 137, 11,  318 },\r
+  {   5,  0,  101 }, {   6,  0,   88 }, {   7,  0,  263 }, {   7,  0,  628 },\r
+  {   7,  0, 1677 }, {   8,  0,  349 }, {   9,  0,  100 }, {  10,  0,  677 },\r
+  {  14,  0,  169 }, {  14,  0,  302 }, {  14,  0,  313 }, {  15,  0,   48 },\r
+  {  15,  0,   84 }, {   7, 11,  237 }, {   8, 11,  664 }, {   9, 11,   42 },\r
+  {   9, 11,  266 }, {   9, 11,  380 }, {   9, 11,  645 }, {  10, 11,  177 },\r
+  { 138, 11,  276 }, { 138, 11,   69 }, {   4,  0,  310 }, {   7,  0,  708 },\r
+  {   7,  0,  996 }, {   9,  0,  795 }, {  10,  0,  390 }, {  10,  0,  733 },\r
+  {  11,  0,  451 }, {  12,  0,  249 }, {  14,  0,  115 }, {  14,  0,  286 },\r
+  { 143,  0,  100 }, {   5,  0,  587 }, {   4, 10,   40 }, {  10, 10,   67 },\r
+  {  11, 10,  117 }, {  11, 10,  768 }, { 139, 10,  935 }, {   6,  0, 1942 },\r
+  {   7,  0,  512 }, { 136,  0,  983 }, {   7, 10,  992 }, {   8, 10,  301 },\r
+  {   9, 10,  722 }, {  12, 10,   63 }, {  13, 10,   29 }, {  14, 10,  161 },\r
+  { 143, 10,   18 }, { 136, 11,   76 }, { 139, 10,  923 }, { 134,  0,  645 },\r
+  { 134,  0,  851 }, {   4,  0,  498 }, { 132, 11,  293 }, {   7,  0,  217 },\r
+  {   8,  0,  140 }, {  10,  0,  610 }, {  14, 11,  352 }, {  17, 11,   53 },\r
+  {  18, 11,  146 }, {  18, 11,  152 }, {  19, 11,   11 }, { 150, 11,   54 },\r
+  { 134,  0, 1448 }, { 138, 11,  841 }, { 133,  0,  905 }, {   4, 11,  605 },\r
+  {   7, 11,  518 }, {   7, 11, 1282 }, {   7, 11, 1918 }, {  10, 11,  180 },\r
+  { 139, 11,  218 }, { 139, 11,  917 }, { 135, 10,  825 }, { 140, 10,  328 },\r
+  {   4,  0,  456 }, {   7,  0,  105 }, {   7,  0,  358 }, {   7,  0, 1637 },\r
+  {   8,  0,  643 }, { 139,  0,  483 }, { 134,  0,  792 }, {   6, 11,   96 },\r
+  { 135, 11, 1426 }, { 137, 11,  691 }, {   4, 11,  651 }, { 133, 11,  289 },\r
+  {   7, 11,  688 }, {   8, 11,   35 }, {   9, 11,  511 }, {  10, 11,  767 },\r
+  { 147, 11,  118 }, { 150,  0,   56 }, {   5,  0,  243 }, {   5,  0,  535 },\r
+  {   6, 10,  204 }, {  10, 10,  320 }, {  10, 10,  583 }, {  13, 10,  502 },\r
+  {  14, 10,   72 }, {  14, 10,  274 }, {  14, 10,  312 }, {  14, 10,  344 },\r
+  {  15, 10,  159 }, {  16, 10,   62 }, {  16, 10,   69 }, {  17, 10,   30 },\r
+  {  18, 10,   42 }, {  18, 10,   53 }, {  18, 10,   84 }, {  18, 10,  140 },\r
+  {  19, 10,   68 }, {  19, 10,   85 }, {  20, 10,    5 }, {  20, 10,   45 },\r
+  {  20, 10,  101 }, {  22, 10,    7 }, { 150, 10,   20 }, {   4, 10,  558 },\r
+  {   6, 10,  390 }, {   7, 10,  162 }, {   7, 10,  689 }, {   9, 10,  360 },\r
+  { 138, 10,  653 }, { 146, 11,   23 }, { 135,  0, 1748 }, {   5, 10,  856 },\r
+  {   6, 10, 1672 }, {   6, 10, 1757 }, { 134, 10, 1781 }, {   5,  0,  539 },\r
+  {   5,  0,  754 }, {   6,  0,  876 }, { 132, 11,  704 }, { 135, 11, 1078 },\r
+  {   5, 10,   92 }, {  10, 10,  736 }, { 140, 10,  102 }, {  17,  0,   91 },\r
+  {   5, 10,  590 }, { 137, 10,  213 }, { 134,  0, 1565 }, {   6,  0,   91 },\r
+  { 135,  0,  435 }, {   4,  0,  939 }, { 140,  0,  792 }, { 134,  0, 1399 },\r
+  {   4,  0,   16 }, {   5,  0,  316 }, {   5,  0,  842 }, {   6,  0,  370 },\r
+  {   6,  0, 1778 }, {   8,  0,  166 }, {  11,  0,  812 }, {  12,  0,  206 },\r
+  {  12,  0,  351 }, {  14,  0,  418 }, {  16,  0,   15 }, {  16,  0,   34 },\r
+  {  18,  0,    3 }, {  19,  0,    3 }, {  19,  0,    7 }, {  20,  0,    4 },\r
+  {  21,  0,   21 }, {   4, 11,  720 }, { 133, 11,  306 }, { 144,  0,   95 },\r
+  { 133, 11,  431 }, { 132, 11,  234 }, { 135,  0,  551 }, {   4,  0,  999 },\r
+  {   6,  0, 1966 }, { 134,  0, 2042 }, {   7,  0,  619 }, {  10,  0,  547 },\r
+  {  11,  0,  122 }, {  12,  0,  601 }, {  15,  0,    7 }, { 148,  0,   20 },\r
+  {   5, 11,  464 }, {   6, 11,  236 }, {   7, 11,  276 }, {   7, 11,  696 },\r
+  {   7, 11,  914 }, {   7, 11, 1108 }, {   7, 11, 1448 }, {   9, 11,   15 },\r
+  {   9, 11,  564 }, {  10, 11,   14 }, {  12, 11,  565 }, {  13, 11,  449 },\r
+  {  14, 11,   53 }, {  15, 11,   13 }, {  16, 11,   64 }, { 145, 11,   41 },\r
+  {   6,  0,  884 }, {   6,  0, 1019 }, { 134,  0, 1150 }, {   6, 11, 1767 },\r
+  {  12, 11,  194 }, { 145, 11,  107 }, { 136, 10,  503 }, { 133, 11,  840 },\r
+  {   7,  0,  671 }, { 134, 10,  466 }, { 132,  0,  888 }, {   4,  0,  149 },\r
+  { 138,  0,  368 }, {   4,  0,  154 }, {   7,  0, 1134 }, { 136,  0,  105 },\r
+  { 135,  0,  983 }, {   9, 11,  642 }, {  11, 11,  236 }, { 142, 11,  193 },\r
+  {   4,  0,   31 }, {   6,  0,  429 }, {   7,  0,  962 }, {   9,  0,  458 },\r
+  { 139,  0,  691 }, {   6,  0,  643 }, { 134,  0, 1102 }, { 132,  0,  312 },\r
+  {   4, 11,   68 }, {   5, 11,  634 }, {   6, 11,  386 }, {   7, 11,  794 },\r
+  {   8, 11,  273 }, {   9, 11,  563 }, {  10, 11,  105 }, {  10, 11,  171 },\r
+  {  11, 11,   94 }, { 139, 11,  354 }, { 133,  0,  740 }, { 135,  0, 1642 },\r
+  {   4, 11,   95 }, {   7, 11,  416 }, {   8, 11,  211 }, { 139, 11,  830 },\r
+  { 132,  0,  236 }, { 138, 10,  241 }, {   7, 11,  731 }, {  13, 11,   20 },\r
+  { 143, 11,   11 }, {   5,  0,  836 }, {   5,  0,  857 }, {   6,  0, 1680 },\r
+  { 135,  0,   59 }, {  10,  0,   68 }, {  11,  0,  494 }, { 152, 11,    6 },\r
+  {   4,  0,   81 }, { 139,  0,  867 }, { 135,  0,  795 }, { 133, 11,  689 },\r
+  {   4,  0, 1001 }, {   5,  0,  282 }, {   6,  0, 1932 }, {   6,  0, 1977 },\r
+  {   6,  0, 1987 }, {   6,  0, 1992 }, {   8,  0,  650 }, {   8,  0,  919 },\r
+  {   8,  0,  920 }, {   8,  0,  923 }, {   8,  0,  926 }, {   8,  0,  927 },\r
+  {   8,  0,  931 }, {   8,  0,  939 }, {   8,  0,  947 }, {   8,  0,  956 },\r
+  {   8,  0,  997 }, {   9,  0,  907 }, {  10,  0,  950 }, {  10,  0,  953 },\r
+  {  10,  0,  954 }, {  10,  0,  956 }, {  10,  0,  958 }, {  10,  0,  959 },\r
+  {  10,  0,  964 }, {  10,  0,  970 }, {  10,  0,  972 }, {  10,  0,  973 },\r
+  {  10,  0,  975 }, {  10,  0,  976 }, {  10,  0,  980 }, {  10,  0,  981 },\r
+  {  10,  0,  984 }, {  10,  0,  988 }, {  10,  0,  990 }, {  10,  0,  995 },\r
+  {  10,  0,  999 }, {  10,  0, 1002 }, {  10,  0, 1003 }, {  10,  0, 1005 },\r
+  {  10,  0, 1006 }, {  10,  0, 1008 }, {  10,  0, 1009 }, {  10,  0, 1012 },\r
+  {  10,  0, 1014 }, {  10,  0, 1015 }, {  10,  0, 1019 }, {  10,  0, 1020 },\r
+  {  10,  0, 1022 }, {  12,  0,  959 }, {  12,  0,  961 }, {  12,  0,  962 },\r
+  {  12,  0,  963 }, {  12,  0,  964 }, {  12,  0,  965 }, {  12,  0,  967 },\r
+  {  12,  0,  968 }, {  12,  0,  969 }, {  12,  0,  970 }, {  12,  0,  971 },\r
+  {  12,  0,  972 }, {  12,  0,  973 }, {  12,  0,  974 }, {  12,  0,  975 },\r
+  {  12,  0,  976 }, {  12,  0,  977 }, {  12,  0,  979 }, {  12,  0,  981 },\r
+  {  12,  0,  982 }, {  12,  0,  983 }, {  12,  0,  984 }, {  12,  0,  985 },\r
+  {  12,  0,  986 }, {  12,  0,  987 }, {  12,  0,  989 }, {  12,  0,  990 },\r
+  {  12,  0,  992 }, {  12,  0,  993 }, {  12,  0,  995 }, {  12,  0,  998 },\r
+  {  12,  0,  999 }, {  12,  0, 1000 }, {  12,  0, 1001 }, {  12,  0, 1002 },\r
+  {  12,  0, 1004 }, {  12,  0, 1005 }, {  12,  0, 1006 }, {  12,  0, 1007 },\r
+  {  12,  0, 1008 }, {  12,  0, 1009 }, {  12,  0, 1010 }, {  12,  0, 1011 },\r
+  {  12,  0, 1012 }, {  12,  0, 1014 }, {  12,  0, 1015 }, {  12,  0, 1016 },\r
+  {  12,  0, 1017 }, {  12,  0, 1018 }, {  12,  0, 1019 }, {  12,  0, 1022 },\r
+  {  12,  0, 1023 }, {  14,  0,  475 }, {  14,  0,  477 }, {  14,  0,  478 },\r
+  {  14,  0,  479 }, {  14,  0,  480 }, {  14,  0,  482 }, {  14,  0,  483 },\r
+  {  14,  0,  484 }, {  14,  0,  485 }, {  14,  0,  486 }, {  14,  0,  487 },\r
+  {  14,  0,  488 }, {  14,  0,  489 }, {  14,  0,  490 }, {  14,  0,  491 },\r
+  {  14,  0,  492 }, {  14,  0,  493 }, {  14,  0,  494 }, {  14,  0,  495 },\r
+  {  14,  0,  496 }, {  14,  0,  497 }, {  14,  0,  498 }, {  14,  0,  499 },\r
+  {  14,  0,  500 }, {  14,  0,  501 }, {  14,  0,  502 }, {  14,  0,  503 },\r
+  {  14,  0,  504 }, {  14,  0,  506 }, {  14,  0,  507 }, {  14,  0,  508 },\r
+  {  14,  0,  509 }, {  14,  0,  510 }, {  14,  0,  511 }, {  16,  0,  113 },\r
+  {  16,  0,  114 }, {  16,  0,  115 }, {  16,  0,  117 }, {  16,  0,  118 },\r
+  {  16,  0,  119 }, {  16,  0,  121 }, {  16,  0,  122 }, {  16,  0,  123 },\r
+  {  16,  0,  124 }, {  16,  0,  125 }, {  16,  0,  126 }, {  16,  0,  127 },\r
+  {  18,  0,  242 }, {  18,  0,  243 }, {  18,  0,  244 }, {  18,  0,  245 },\r
+  {  18,  0,  248 }, {  18,  0,  249 }, {  18,  0,  250 }, {  18,  0,  251 },\r
+  {  18,  0,  252 }, {  18,  0,  253 }, {  18,  0,  254 }, {  18,  0,  255 },\r
+  {  20,  0,  125 }, {  20,  0,  126 }, { 148,  0,  127 }, {   7, 11, 1717 },\r
+  {   7, 11, 1769 }, { 138, 11,  546 }, {   7, 11, 1127 }, {   7, 11, 1572 },\r
+  {  10, 11,  297 }, {  10, 11,  422 }, {  11, 11,  764 }, {  11, 11,  810 },\r
+  {  12, 11,  264 }, {  13, 11,  102 }, {  13, 11,  300 }, {  13, 11,  484 },\r
+  {  14, 11,  147 }, {  14, 11,  229 }, {  17, 11,   71 }, {  18, 11,  118 },\r
+  { 147, 11,  120 }, {   6,  0, 1148 }, { 134,  0, 1586 }, { 132,  0,  775 },\r
+  { 135, 10,  954 }, { 133, 11,  864 }, { 133, 11,  928 }, { 138, 11,  189 },\r
+  { 135, 10, 1958 }, {   6, 10,  549 }, {   8, 10,   34 }, {   8, 10,  283 },\r
+  {   9, 10,  165 }, { 138, 10,  475 }, {   5, 10,  652 }, {   5, 10,  701 },\r
+  { 135, 10,  449 }, { 135, 11,  695 }, {   4, 10,  655 }, {   7, 10,  850 },\r
+  {  17, 10,   75 }, { 146, 10,  137 }, { 140, 11,  682 }, { 133, 11,  523 },\r
+  {   8,  0,  970 }, { 136, 10,  670 }, { 136, 11,  555 }, {   7, 11,   76 },\r
+  {   8, 11,   44 }, {   9, 11,  884 }, {  10, 11,  580 }, {  11, 11,  399 },\r
+  {  11, 11,  894 }, {  15, 11,  122 }, {  18, 11,  144 }, { 147, 11,   61 },\r
+  {   6, 10,  159 }, {   6, 10,  364 }, {   7, 10,  516 }, {   7, 10, 1439 },\r
+  { 137, 10,  518 }, {   4,  0,   71 }, {   5,  0,  376 }, {   7,  0,  119 },\r
+  { 138,  0,  665 }, { 141, 10,  151 }, {  11,  0,  827 }, {  14,  0,   34 },\r
+  { 143,  0,  148 }, { 133, 11,  518 }, {   4,  0,  479 }, { 135, 11, 1787 },\r
+  { 135, 11, 1852 }, { 135, 10,  993 }, {   7,  0,  607 }, { 136,  0,   99 },\r
+  { 134,  0, 1960 }, { 132,  0,  793 }, {   4,  0,   41 }, {   5,  0,   74 },\r
+  {   7,  0, 1627 }, {  11,  0,  871 }, { 140,  0,  619 }, {   7,  0,   94 },\r
+  {  11,  0,  329 }, {  11,  0,  965 }, {  12,  0,  241 }, {  14,  0,  354 },\r
+  {  15,  0,   22 }, { 148,  0,   63 }, {   7, 10,  501 }, {   9, 10,  111 },\r
+  {  10, 10,  141 }, {  11, 10,  332 }, {  13, 10,   43 }, {  13, 10,  429 },\r
+  {  14, 10,  130 }, {  14, 10,  415 }, { 145, 10,  102 }, {   9,  0,  209 },\r
+  { 137,  0,  300 }, { 134,  0, 1497 }, { 138, 11,  255 }, {   4, 11,  934 },\r
+  {   5, 11,  138 }, { 136, 11,  610 }, { 133,  0,   98 }, {   6,  0, 1316 },\r
+  {  10, 11,  804 }, { 138, 11,  832 }, {   8, 11,   96 }, {   9, 11,   36 },\r
+  {  10, 11,  607 }, {  11, 11,  423 }, {  11, 11,  442 }, {  12, 11,  309 },\r
+  {  14, 11,  199 }, {  15, 11,   90 }, { 145, 11,  110 }, { 132,  0,  463 },\r
+  {   5, 10,  149 }, { 136, 10,  233 }, { 133, 10,  935 }, {   4, 11,  652 },\r
+  {   8, 11,  320 }, {   9, 11,   13 }, {   9, 11,  398 }, {   9, 11,  727 },\r
+  {  10, 11,   75 }, {  10, 11,  184 }, {  10, 11,  230 }, {  10, 11,  564 },\r
+  {  10, 11,  569 }, {  11, 11,  973 }, {  12, 11,   70 }, {  12, 11,  189 },\r
+  {  13, 11,   57 }, {  13, 11,  257 }, {  22, 11,    6 }, { 150, 11,   16 },\r
+  { 142,  0,  291 }, {  12, 10,  582 }, { 146, 10,  131 }, { 136, 10,  801 },\r
+  { 133,  0,  984 }, { 145, 11,  116 }, {   4, 11,  692 }, { 133, 11,  321 },\r
+  {   4,  0,  182 }, {   6,  0,  205 }, { 135,  0,  220 }, {   4,  0,   42 },\r
+  {   9,  0,  205 }, {   9,  0,  786 }, { 138,  0,  659 }, {   6,  0,  801 },\r
+  {  11, 11,  130 }, { 140, 11,  609 }, { 132,  0,  635 }, {   5, 11,  345 },\r
+  { 135, 11, 1016 }, { 139,  0,  533 }, { 132,  0,  371 }, {   4,  0,  272 },\r
+  { 135,  0,  836 }, {   6,  0, 1282 }, { 135, 11, 1100 }, {   5,  0,  825 },\r
+  { 134,  0, 1640 }, { 135, 11, 1325 }, { 133, 11,  673 }, {   4, 11,  287 },\r
+  { 133, 11, 1018 }, { 135,  0,  357 }, {   6,  0,  467 }, { 137,  0,  879 },\r
+  {   7,  0,  317 }, { 135,  0,  569 }, {   6,  0,  924 }, { 134,  0, 1588 },\r
+  {   5, 11,   34 }, {   5, 10,  406 }, {  10, 11,  724 }, {  12, 11,  444 },\r
+  {  13, 11,  354 }, {  18, 11,   32 }, {  23, 11,   24 }, {  23, 11,   31 },\r
+  { 152, 11,    5 }, {   6,  0, 1795 }, {   6,  0, 1835 }, {   6,  0, 1836 },\r
+  {   6,  0, 1856 }, {   8,  0,  844 }, {   8,  0,  849 }, {   8,  0,  854 },\r
+  {   8,  0,  870 }, {   8,  0,  887 }, {  10,  0,  852 }, { 138,  0,  942 },\r
+  {   6, 10,   69 }, { 135, 10,  117 }, { 137,  0,  307 }, {   4,  0,  944 },\r
+  {   6,  0, 1799 }, {   6,  0, 1825 }, {  10,  0,  848 }, {  10,  0,  875 },\r
+  {  10,  0,  895 }, {  10,  0,  899 }, {  10,  0,  902 }, { 140,  0,  773 },\r
+  {  11,  0,   43 }, {  13,  0,   72 }, { 141,  0,  142 }, { 135, 10, 1830 },\r
+  { 134, 11,  382 }, {   4, 10,  432 }, { 135, 10,  824 }, { 132, 11,  329 },\r
+  {   7,  0, 1820 }, { 139, 11,  124 }, { 133, 10,  826 }, { 133,  0,  525 },\r
+  { 132, 11,  906 }, {   7, 11, 1940 }, { 136, 11,  366 }, { 138, 11,   10 },\r
+  {   4, 11,  123 }, {   4, 11,  649 }, {   5, 11,  605 }, {   7, 11, 1509 },\r
+  { 136, 11,   36 }, {   6,  0,  110 }, { 135,  0, 1681 }, { 133,  0,  493 },\r
+  { 133, 11,  767 }, {   4,  0,  174 }, { 135,  0,  911 }, { 138, 11,  786 },\r
+  {   8,  0,  417 }, { 137,  0,  782 }, { 133, 10, 1000 }, {   7,  0,  733 },\r
+  { 137,  0,  583 }, {   4, 10,  297 }, {   6, 10,  529 }, {   7, 10,  152 },\r
+  {   7, 10,  713 }, {   7, 10, 1845 }, {   8, 10,  710 }, {   8, 10,  717 },\r
+  {  12, 10,  639 }, { 140, 10,  685 }, {   4,  0,   32 }, {   5,  0,  215 },\r
+  {   6,  0,  269 }, {   7,  0, 1782 }, {   7,  0, 1892 }, {  10,  0,   16 },\r
+  {  11,  0,  822 }, {  11,  0,  954 }, { 141,  0,  481 }, {   4, 11,  273 },\r
+  {   5, 11,  658 }, { 133, 11,  995 }, { 136,  0,  477 }, { 134, 11,   72 },\r
+  { 135, 11, 1345 }, {   5,  0,  308 }, {   7,  0, 1088 }, {   4, 10,  520 },\r
+  { 135, 10,  575 }, { 133, 11,  589 }, {   5,  0,  126 }, {   8,  0,  297 },\r
+  {   9,  0,  366 }, { 140,  0,  374 }, {   7,  0, 1551 }, { 139,  0,  361 },\r
+  {   5, 11,  117 }, {   6, 11,  514 }, {   6, 11,  541 }, {   7, 11, 1164 },\r
+  {   7, 11, 1436 }, {   8, 11,  220 }, {   8, 11,  648 }, {  10, 11,  688 },\r
+  { 139, 11,  560 }, { 133, 11,  686 }, {   4,  0,  946 }, {   6,  0, 1807 },\r
+  {   8,  0,  871 }, {  10,  0,  854 }, {  10,  0,  870 }, {  10,  0,  888 },\r
+  {  10,  0,  897 }, {  10,  0,  920 }, {  12,  0,  722 }, {  12,  0,  761 },\r
+  {  12,  0,  763 }, {  12,  0,  764 }, {  14,  0,  454 }, {  14,  0,  465 },\r
+  {  16,  0,  107 }, {  18,  0,  167 }, {  18,  0,  168 }, { 146,  0,  172 },\r
+  { 132,  0,  175 }, { 135,  0, 1307 }, { 132,  0,  685 }, { 135, 11, 1834 },\r
+  { 133,  0,  797 }, {   6,  0,  745 }, {   6,  0,  858 }, { 134,  0,  963 },\r
+  { 133,  0,  565 }, {   5, 10,  397 }, {   6, 10,  154 }, {   7, 11,  196 },\r
+  {   7, 10,  676 }, {   8, 10,  443 }, {   8, 10,  609 }, {   9, 10,   24 },\r
+  {   9, 10,  325 }, {  10, 10,   35 }, {  10, 11,  765 }, {  11, 11,  347 },\r
+  {  11, 10,  535 }, {  11, 11,  552 }, {  11, 11,  576 }, {  11, 10,  672 },\r
+  {  11, 11,  790 }, {  11, 10, 1018 }, {  12, 11,  263 }, {  12, 10,  637 },\r
+  {  13, 11,  246 }, {  13, 11,  270 }, {  13, 11,  395 }, {  14, 11,   74 },\r
+  {  14, 11,  176 }, {  14, 11,  190 }, {  14, 11,  398 }, {  14, 11,  412 },\r
+  {  15, 11,   32 }, {  15, 11,   63 }, {  16, 10,   30 }, {  16, 11,   88 },\r
+  { 147, 11,  105 }, {  13, 11,   84 }, { 141, 11,  122 }, {   4,  0,  252 },\r
+  {   7,  0, 1068 }, {  10,  0,  434 }, {  11,  0,  228 }, {  11,  0,  426 },\r
+  {  13,  0,  231 }, {  18,  0,  106 }, { 148,  0,   87 }, { 137,  0,  826 },\r
+  {   4, 11,  589 }, { 139, 11,  282 }, {   5, 11,  381 }, { 135, 11, 1792 },\r
+  { 132,  0,  791 }, {   5,  0,  231 }, {  10,  0,  509 }, { 133, 10,  981 },\r
+  {   7,  0,  601 }, {   9,  0,  277 }, {   9,  0,  674 }, {  10,  0,  178 },\r
+  {  10,  0,  418 }, {  10,  0,  571 }, {  11,  0,  531 }, {  12,  0,  113 },\r
+  {  12,  0,  475 }, {  13,  0,   99 }, { 142,  0,  428 }, {   4, 10,   56 },\r
+  {   7, 11,  616 }, {   7, 10, 1791 }, {   8, 10,  607 }, {   8, 10,  651 },\r
+  {  10, 11,  413 }, {  11, 10,  465 }, {  11, 10,  835 }, {  12, 10,  337 },\r
+  { 141, 10,  480 }, {   7,  0, 1591 }, { 144,  0,   43 }, {   9, 10,  158 },\r
+  { 138, 10,  411 }, { 135,  0, 1683 }, {   8,  0,  289 }, {  11,  0,   45 },\r
+  {  12,  0,  278 }, { 140,  0,  537 }, {   6, 11,  120 }, {   7, 11, 1188 },\r
+  {   7, 11, 1710 }, {   8, 11,  286 }, {   9, 11,  667 }, {  11, 11,  592 },\r
+  { 139, 11,  730 }, { 136, 10,  617 }, { 135,  0, 1120 }, { 135, 11, 1146 },\r
+  { 139, 10,  563 }, {   4, 11,  352 }, {   4, 10,  369 }, { 135, 11,  687 },\r
+  { 143, 11,   38 }, {   4,  0,  399 }, {   5,  0,  119 }, {   5,  0,  494 },\r
+  {   7,  0,  751 }, {   9,  0,  556 }, {  14, 11,  179 }, {  15, 11,  151 },\r
+  { 150, 11,   11 }, {   4, 11,  192 }, {   5, 11,   49 }, {   6, 11,  200 },\r
+  {   6, 11,  293 }, {   6, 11, 1696 }, { 135, 11,  488 }, {   4,  0,  398 },\r
+  { 133,  0,  660 }, {   7,  0, 1030 }, { 134, 10,  622 }, { 135, 11,  595 },\r
+  { 141,  0,  168 }, { 132, 11,  147 }, {   7,  0,  973 }, {  10, 10,  624 },\r
+  { 142, 10,  279 }, { 132, 10,  363 }, { 132,  0,  642 }, { 133, 11,  934 },\r
+  { 134,  0, 1615 }, {   7, 11,  505 }, { 135, 11,  523 }, {   7,  0,  594 },\r
+  {   7,  0,  851 }, {   7,  0, 1858 }, {   9,  0,  411 }, {   9,  0,  574 },\r
+  {   9,  0,  666 }, {   9,  0,  737 }, {  10,  0,  346 }, {  10,  0,  712 },\r
+  {  11,  0,  246 }, {  11,  0,  432 }, {  11,  0,  517 }, {  11,  0,  647 },\r
+  {  11,  0,  679 }, {  11,  0,  727 }, {  12,  0,  304 }, {  12,  0,  305 },\r
+  {  12,  0,  323 }, {  12,  0,  483 }, {  12,  0,  572 }, {  12,  0,  593 },\r
+  {  12,  0,  602 }, {  13,  0,   95 }, {  13,  0,  101 }, {  13,  0,  171 },\r
+  {  13,  0,  315 }, {  13,  0,  378 }, {  13,  0,  425 }, {  13,  0,  475 },\r
+  {  14,  0,   63 }, {  14,  0,  380 }, {  14,  0,  384 }, {  15,  0,  133 },\r
+  {  18,  0,  112 }, { 148,  0,   72 }, { 135,  0, 1093 }, { 132,  0,  679 },\r
+  {   8,  0,  913 }, {  10,  0,  903 }, {  10,  0,  915 }, {  12,  0,  648 },\r
+  {  12,  0,  649 }, {  14,  0,  455 }, {  16,  0,  112 }, { 138, 11,  438 },\r
+  { 137,  0,  203 }, { 134, 10,  292 }, { 134,  0, 1492 }, {   7,  0, 1374 },\r
+  {   8,  0,  540 }, {   5, 10,  177 }, {   6, 10,  616 }, {   7, 10,  827 },\r
+  {   9, 10,  525 }, { 138, 10,  656 }, { 135,  0, 1486 }, {   9,  0,  714 },\r
+  { 138, 10,   31 }, { 136,  0,  825 }, { 134,  0, 1511 }, { 132, 11,  637 },\r
+  { 134,  0,  952 }, {   4, 10,  161 }, { 133, 10,  631 }, {   5,  0,  143 },\r
+  {   5,  0,  769 }, {   6,  0, 1760 }, {   7,  0,  682 }, {   7,  0, 1992 },\r
+  { 136,  0,  736 }, { 132,  0,  700 }, { 134,  0, 1540 }, { 132, 11,  777 },\r
+  {   9, 11,  867 }, { 138, 11,  837 }, {   7,  0, 1557 }, { 135, 10, 1684 },\r
+  { 133,  0,  860 }, {   6,  0,  422 }, {   7,  0,    0 }, {   7,  0, 1544 },\r
+  {   9,  0,  605 }, {  11,  0,  990 }, {  12,  0,  235 }, {  12,  0,  453 },\r
+  {  13,  0,   47 }, {  13,  0,  266 }, {   9, 10,  469 }, {   9, 10,  709 },\r
+  {  12, 10,  512 }, {  14, 10,   65 }, { 145, 10,   12 }, {  11,  0,  807 },\r
+  {  10, 10,  229 }, {  11, 10,   73 }, { 139, 10,  376 }, {   6, 11,  170 },\r
+  {   7, 11, 1080 }, {   8, 11,  395 }, {   8, 11,  487 }, {  11, 11,  125 },\r
+  { 141, 11,  147 }, {   5,  0,  515 }, { 137,  0,  131 }, {   7,  0, 1605 },\r
+  {  11,  0,  962 }, { 146,  0,  139 }, { 132,  0,  646 }, {   4,  0,  396 },\r
+  {   7,  0,  728 }, {   9,  0,  117 }, {  13,  0,  202 }, { 148,  0,   51 },\r
+  {   6,  0,  121 }, {   6,  0,  124 }, {   6,  0,  357 }, {   7,  0, 1138 },\r
+  {   7,  0, 1295 }, {   8,  0,  162 }, {   8,  0,  508 }, {  11,  0,  655 },\r
+  {   4, 11,  535 }, {   6, 10,  558 }, {   7, 10,  651 }, {   8, 11,  618 },\r
+  {   9, 10,    0 }, {  10, 10,   34 }, { 139, 10, 1008 }, { 135, 11, 1245 },\r
+  { 138,  0,  357 }, { 150, 11,   23 }, { 133,  0,  237 }, { 135,  0, 1784 },\r
+  {   7, 10, 1832 }, { 138, 10,  374 }, { 132,  0,  713 }, { 132, 11,   46 },\r
+  {   6,  0, 1536 }, {  10,  0,  348 }, {   5, 11,  811 }, {   6, 11, 1679 },\r
+  {   6, 11, 1714 }, { 135, 11, 2032 }, {  11, 11,  182 }, { 142, 11,  195 },\r
+  {   6,  0,  523 }, {   7,  0,  738 }, {   7, 10,  771 }, {   7, 10, 1731 },\r
+  {   9, 10,  405 }, { 138, 10,  421 }, {   7, 11, 1458 }, {   9, 11,  407 },\r
+  { 139, 11,   15 }, {   6, 11,   34 }, {   7, 11,   69 }, {   7, 11,  640 },\r
+  {   7, 11, 1089 }, {   8, 11,  708 }, {   8, 11,  721 }, {   9, 11,  363 },\r
+  {   9, 11,  643 }, {  10, 11,  628 }, { 148, 11,   98 }, { 133,  0,  434 },\r
+  { 135,  0, 1877 }, {   7,  0,  571 }, { 138,  0,  366 }, {   5, 10,  881 },\r
+  { 133, 10,  885 }, {   9,  0,  513 }, {  10,  0,   25 }, {  10,  0,   39 },\r
+  {  12,  0,  122 }, { 140,  0,  187 }, { 132,  0,  580 }, {   5, 10,  142 },\r
+  { 134, 10,  546 }, { 132, 11,  462 }, { 137,  0,  873 }, {   5, 10,  466 },\r
+  {  11, 10,  571 }, {  12, 10,  198 }, {  13, 10,  283 }, {  14, 10,  186 },\r
+  {  15, 10,   21 }, { 143, 10,  103 }, {   7,  0,  171 }, {   4, 10,  185 },\r
+  {   5, 10,  257 }, {   5, 10,  839 }, {   5, 10,  936 }, {   9, 10,  399 },\r
+  {  10, 10,  258 }, {  10, 10,  395 }, {  10, 10,  734 }, {  11, 10, 1014 },\r
+  {  12, 10,   23 }, {  13, 10,  350 }, {  14, 10,  150 }, { 147, 10,    6 },\r
+  { 134,  0,  625 }, {   7,  0,  107 }, {   7,  0,  838 }, {   8,  0,  550 },\r
+  { 138,  0,  401 }, {   5, 11,   73 }, {   6, 11,   23 }, { 134, 11,  338 },\r
+  {   4,  0,  943 }, {   6,  0, 1850 }, {  12,  0,  713 }, { 142,  0,  434 },\r
+  {  11,  0,  588 }, {  11,  0,  864 }, {  11,  0,  936 }, {  11,  0,  968 },\r
+  {  12,  0,   73 }, {  12,  0,  343 }, {  12,  0,  394 }, {  13,  0,  275 },\r
+  {  14,  0,  257 }, {  15,  0,  160 }, {   7, 10,  404 }, {   7, 10, 1377 },\r
+  {   7, 10, 1430 }, {   7, 10, 2017 }, {   8, 10,  149 }, {   8, 10,  239 },\r
+  {   8, 10,  512 }, {   8, 10,  793 }, {   8, 10,  818 }, {   9, 10,  474 },\r
+  {   9, 10,  595 }, {  10, 10,  122 }, {  10, 10,  565 }, {  10, 10,  649 },\r
+  {  10, 10,  783 }, {  11, 10,  239 }, {  11, 10,  295 }, {  11, 10,  447 },\r
+  {  11, 10,  528 }, {  11, 10,  639 }, {  11, 10,  800 }, {  12, 10,   25 },\r
+  {  12, 10,  157 }, {  12, 10,  316 }, {  12, 10,  390 }, {  12, 10,  391 },\r
+  {  12, 10,  395 }, {  12, 10,  478 }, {  12, 10,  503 }, {  12, 10,  592 },\r
+  {  12, 10,  680 }, {  13, 10,   50 }, {  13, 10,   53 }, {  13, 10,  132 },\r
+  {  13, 10,  198 }, {  13, 10,  322 }, {  13, 10,  415 }, {  13, 10,  511 },\r
+  {  14, 10,   71 }, {  14, 10,  395 }, {  15, 10,   71 }, {  15, 10,  136 },\r
+  {  17, 10,  123 }, {  18, 10,   93 }, { 147, 10,   58 }, { 133,  0,  768 },\r
+  {  11,  0,  103 }, { 142,  0,    0 }, { 136, 10,  712 }, { 132,  0,  799 },\r
+  { 132,  0,  894 }, {   7, 11,  725 }, {   8, 11,  498 }, { 139, 11,  268 },\r
+  { 135, 11, 1798 }, { 135, 11,  773 }, { 141, 11,  360 }, {   4, 10,  377 },\r
+  { 152, 10,   13 }, { 135,  0, 1673 }, { 132, 11,  583 }, { 134,  0, 1052 },\r
+  { 133, 11,  220 }, { 140, 11,   69 }, { 132, 11,  544 }, {   4, 10,  180 },\r
+  { 135, 10, 1906 }, { 134,  0,  272 }, {   4,  0,  441 }, { 134,  0, 1421 },\r
+  {   4,  0,    9 }, {   5,  0,  128 }, {   7,  0,  368 }, {  11,  0,  480 },\r
+  { 148,  0,    3 }, {   5, 11,  176 }, {   6, 11,  437 }, {   6, 11,  564 },\r
+  {  11, 11,  181 }, { 141, 11,  183 }, { 132, 10,  491 }, {   7,  0, 1182 },\r
+  { 141, 11,   67 }, {   6,  0, 1346 }, {   4, 10,  171 }, { 138, 10,  234 },\r
+  {   4, 10,  586 }, {   7, 10, 1186 }, { 138, 10,  631 }, { 136,  0,  682 },\r
+  { 134,  0, 1004 }, {  15,  0,   24 }, { 143, 11,   24 }, { 134,  0,  968 },\r
+  {   4,  0,    2 }, {   6,  0,  742 }, {   6,  0,  793 }, {   7,  0,  545 },\r
+  {   7,  0,  894 }, {   9, 10,  931 }, {  10, 10,  334 }, { 148, 10,   71 },\r
+  { 136, 11,  600 }, { 133, 10,  765 }, {   9,  0,  769 }, { 140,  0,  185 },\r
+  {   4, 11,  790 }, {   5, 11,  273 }, { 134, 11,  394 }, {   7,  0,  474 },\r
+  { 137,  0,  578 }, {   4, 11,  135 }, {   6, 11,  127 }, {   7, 11, 1185 },\r
+  {   7, 11, 1511 }, {   8, 11,  613 }, {  11, 11,    5 }, {  12, 11,  133 },\r
+  {  12, 11,  495 }, {  12, 11,  586 }, {  14, 11,  385 }, {  15, 11,  118 },\r
+  {  17, 11,   20 }, { 146, 11,   98 }, { 133, 10,  424 }, {   5,  0,  530 },\r
+  { 142,  0,  113 }, {   6, 11,  230 }, {   7, 11,  961 }, {   7, 11, 1085 },\r
+  { 136, 11,  462 }, {   7, 11, 1954 }, { 137, 11,  636 }, { 136, 10,  714 },\r
+  { 149, 11,    6 }, { 135, 10,  685 }, {   9, 10,  420 }, {  10, 10,  269 },\r
+  {  10, 10,  285 }, {  10, 10,  576 }, {  11, 10,  397 }, {  13, 10,  175 },\r
+  { 145, 10,   90 }, { 132, 10,  429 }, {   5,  0,  556 }, {   5, 11,  162 },\r
+  { 136, 11,   68 }, { 132, 11,  654 }, {   4, 11,  156 }, {   7, 11,  998 },\r
+  {   7, 11, 1045 }, {   7, 11, 1860 }, {   9, 11,   48 }, {   9, 11,  692 },\r
+  {  11, 11,  419 }, { 139, 11,  602 }, {   6,  0, 1317 }, {   8,  0,   16 },\r
+  {   9,  0,  825 }, {  12,  0,  568 }, {   7, 11, 1276 }, {   8, 11,  474 },\r
+  { 137, 11,  652 }, {  18,  0,   97 }, {   7, 10,   18 }, {   7, 10,  699 },\r
+  {   7, 10, 1966 }, {   8, 10,  752 }, {   9, 10,  273 }, {   9, 10,  412 },\r
+  {   9, 10,  703 }, {  10, 10,   71 }, {  10, 10,  427 }, { 138, 10,  508 },\r
+  {  10,  0,  703 }, {   7, 11, 1454 }, { 138, 11,  703 }, {   4, 10,   53 },\r
+  {   5, 10,  186 }, { 135, 10,  752 }, { 134,  0,  892 }, { 134,  0, 1571 },\r
+  {   8, 10,  575 }, {  10, 10,  289 }, { 139, 10,  319 }, {   6,  0,  186 },\r
+  { 137,  0,  426 }, { 134,  0, 1101 }, { 132, 10,  675 }, { 132,  0,  585 },\r
+  {   6,  0, 1870 }, { 137,  0,  937 }, { 152, 11,   10 }, {   9, 11,  197 },\r
+  {  10, 11,  300 }, {  12, 11,  473 }, {  13, 11,   90 }, { 141, 11,  405 },\r
+  {   4,  0,   93 }, {   5,  0,  252 }, {   6,  0,  229 }, {   7,  0,  291 },\r
+  {   9,  0,  550 }, { 139,  0,  644 }, { 137,  0,  749 }, {   9,  0,  162 },\r
+  {   6, 10,  209 }, {   8, 10,  468 }, {   9, 10,  210 }, {  11, 10,   36 },\r
+  {  12, 10,   28 }, {  12, 10,  630 }, {  13, 10,   21 }, {  13, 10,  349 },\r
+  {  14, 10,    7 }, { 145, 10,   13 }, { 132,  0,  381 }, { 132, 11,  606 },\r
+  {   4, 10,  342 }, { 135, 10, 1179 }, {   7, 11, 1587 }, {   7, 11, 1707 },\r
+  {  10, 11,  528 }, { 139, 11,  504 }, {  12, 11,   39 }, {  13, 11,  265 },\r
+  { 141, 11,  439 }, {   4, 10,  928 }, { 133, 10,  910 }, {   7, 10, 1838 },\r
+  {   7, 11, 1978 }, { 136, 11,  676 }, {   6,  0,  762 }, {   6,  0,  796 },\r
+  { 134,  0,  956 }, {   4, 10,  318 }, {   4, 10,  496 }, {   7, 10,  856 },\r
+  { 139, 10,  654 }, { 137, 11,  242 }, {   4, 11,  361 }, { 133, 11,  315 },\r
+  { 132, 11,  461 }, { 132, 11,  472 }, { 132,  0,  857 }, {   5,  0,   21 },\r
+  {   6,  0,   77 }, {   6,  0,  157 }, {   7,  0,  974 }, {   7,  0, 1301 },\r
+  {   7,  0, 1339 }, {   7,  0, 1490 }, {   7,  0, 1873 }, {   9,  0,  628 },\r
+  {   7, 10,  915 }, {   8, 10,  247 }, { 147, 10,    0 }, {   4, 10,  202 },\r
+  {   5, 10,  382 }, {   6, 10,  454 }, {   7, 10,  936 }, {   7, 10, 1803 },\r
+  {   8, 10,  758 }, {   9, 10,  375 }, {   9, 10,  895 }, {  10, 10,  743 },\r
+  {  10, 10,  792 }, {  11, 10,  978 }, {  11, 10, 1012 }, { 142, 10,  109 },\r
+  {   7, 11,  617 }, {  10, 11,  498 }, {  11, 11,  501 }, {  12, 11,   16 },\r
+  { 140, 11,  150 }, {   7, 10, 1150 }, {   7, 10, 1425 }, {   7, 10, 1453 },\r
+  {  10, 11,  747 }, { 140, 10,  513 }, { 133, 11,  155 }, {  11,  0,  919 },\r
+  { 141,  0,  409 }, { 138, 10,  791 }, {  10,  0,  633 }, { 139, 11,  729 },\r
+  {   7, 11,  163 }, {   8, 11,  319 }, {   9, 11,  402 }, {  10, 11,   24 },\r
+  {  10, 11,  681 }, {  11, 11,  200 }, {  11, 11,  567 }, {  12, 11,  253 },\r
+  {  12, 11,  410 }, { 142, 11,  219 }, {   5, 11,  475 }, {   7, 11, 1780 },\r
+  {   9, 11,  230 }, {  11, 11,  297 }, {  11, 11,  558 }, {  14, 11,  322 },\r
+  { 147, 11,   76 }, {   7,  0,  332 }, {   6, 10,  445 }, { 137, 10,  909 },\r
+  { 135, 11, 1956 }, { 136, 11,  274 }, { 134, 10,  578 }, { 135,  0, 1489 },\r
+  { 135, 11, 1848 }, {   5, 11,  944 }, { 134, 11, 1769 }, { 132, 11,  144 },\r
+  { 136, 10,  766 }, {   4,  0,  832 }, { 135, 10,  541 }, {   8,  0,  398 },\r
+  {   9,  0,  681 }, { 139,  0,  632 }, { 136,  0,  645 }, {   9,  0,  791 },\r
+  {  10,  0,   93 }, {  16,  0,   13 }, {  17,  0,   23 }, {  18,  0,  135 },\r
+  {  19,  0,   12 }, {  20,  0,    1 }, {  20,  0,   12 }, { 148,  0,   14 },\r
+  {   6, 11,  247 }, { 137, 11,  555 }, { 134,  0,   20 }, { 132,  0,  800 },\r
+  { 135,  0, 1841 }, { 139, 10,  983 }, { 137, 10,  768 }, { 132, 10,  584 },\r
+  { 141, 11,   51 }, {   6,  0, 1993 }, {   4, 11,  620 }, { 138, 11,  280 },\r
+  { 136,  0,  769 }, {  11,  0,  290 }, {  11,  0,  665 }, {   7, 11, 1810 },\r
+  {  11, 11,  866 }, {  12, 11,  103 }, {  13, 11,  495 }, {  17, 11,   67 },\r
+  { 147, 11,   74 }, { 134,  0, 1426 }, { 139,  0,   60 }, {   4, 10,  326 },\r
+  { 135, 10, 1770 }, {   7,  0, 1874 }, {   9,  0,  641 }, { 132, 10,  226 },\r
+  {   6,  0,  644 }, {   5, 10,  426 }, {   8, 10,   30 }, {   9, 10,    2 },\r
+  {  11, 10,  549 }, { 147, 10,  122 }, {   5, 11,  428 }, { 138, 11,  442 },\r
+  { 135, 11, 1871 }, { 135,  0, 1757 }, { 147, 10,  117 }, { 135,  0,  937 },\r
+  { 135,  0, 1652 }, {   6,  0,  654 }, { 134,  0, 1476 }, { 133, 11,   99 },\r
+  { 135,  0,  527 }, { 132, 10,  345 }, {   4, 10,  385 }, {   4, 11,  397 },\r
+  {   7, 10,  265 }, { 135, 10,  587 }, {   4,  0,  579 }, {   5,  0,  226 },\r
+  {   5,  0,  323 }, { 135,  0,  960 }, { 134,  0, 1486 }, {   8, 11,  502 },\r
+  { 144, 11,    9 }, {   4, 10,  347 }, {   5, 10,  423 }, {   5, 10,  996 },\r
+  { 135, 10, 1329 }, {   7, 11,  727 }, { 146, 11,   73 }, {   4, 11,  485 },\r
+  {   7, 11,  353 }, {   7, 10, 1259 }, {   7, 11, 1523 }, {   9, 10,  125 },\r
+  { 139, 10,   65 }, {   6,  0,  325 }, {   5, 10,  136 }, {   6, 11,  366 },\r
+  {   7, 11, 1384 }, {   7, 11, 1601 }, { 136, 10,  644 }, { 138, 11,  160 },\r
+  {   6,  0, 1345 }, { 137, 11,  282 }, {  18,  0,   91 }, { 147,  0,   70 },\r
+  { 136,  0,  404 }, {   4, 11,  157 }, { 133, 11,  471 }, { 133,  0,  973 },\r
+  {   6,  0,  135 }, { 135,  0, 1176 }, {   8, 11,  116 }, {  11, 11,  551 },\r
+  { 142, 11,  159 }, {   4,  0,  549 }, {   4, 10,  433 }, { 133, 10,  719 },\r
+  { 136,  0,  976 }, {   5, 11,  160 }, {   7, 11,  363 }, {   7, 11,  589 },\r
+  {  10, 11,  170 }, { 141, 11,   55 }, { 144,  0,   21 }, { 144,  0,   51 },\r
+  { 135,  0,  314 }, { 135, 10, 1363 }, {   4, 11,  108 }, {   7, 11,  405 },\r
+  {  10, 11,  491 }, { 139, 11,  498 }, { 146,  0,    4 }, {   4, 10,  555 },\r
+  {   8, 10,  536 }, {  10, 10,  288 }, { 139, 10, 1005 }, { 135, 11, 1005 },\r
+  {   6,  0,  281 }, {   7,  0,    6 }, {   8,  0,  282 }, {   8,  0,  480 },\r
+  {   8,  0,  499 }, {   9,  0,  198 }, {  10,  0,  143 }, {  10,  0,  169 },\r
+  {  10,  0,  211 }, {  10,  0,  417 }, {  10,  0,  574 }, {  11,  0,  147 },\r
+  {  11,  0,  395 }, {  12,  0,   75 }, {  12,  0,  407 }, {  12,  0,  608 },\r
+  {  13,  0,  500 }, { 142,  0,  251 }, {   6,  0, 1093 }, {   6,  0, 1405 },\r
+  {   9, 10,  370 }, { 138, 10,   90 }, {   4, 11,  926 }, { 133, 11,  983 },\r
+  { 135,  0, 1776 }, { 134,  0, 1528 }, { 132,  0,  419 }, { 132, 11,  538 },\r
+  {   6, 11,  294 }, {   7, 11, 1267 }, { 136, 11,  624 }, { 135, 11, 1772 },\r
+  { 138, 11,  301 }, {   4, 10,  257 }, { 135, 10, 2031 }, {   4,  0,  138 },\r
+  {   7,  0, 1012 }, {   7,  0, 1280 }, {   9,  0,   76 }, { 135, 10, 1768 },\r
+  { 132, 11,  757 }, {   5,  0,   29 }, { 140,  0,  638 }, {   7, 11,  655 },\r
+  { 135, 11, 1844 }, {   7,  0, 1418 }, {   6, 11,  257 }, { 135, 11, 1522 },\r
+  {   8, 11,  469 }, { 138, 11,   47 }, { 142, 11,  278 }, {   6, 10,   83 },\r
+  {   6, 10, 1733 }, { 135, 10, 1389 }, {  11, 11,  204 }, {  11, 11,  243 },\r
+  { 140, 11,  293 }, { 135, 11, 1875 }, {   6,  0, 1710 }, { 135,  0, 2038 },\r
+  { 137, 11,  299 }, {   4,  0,   17 }, {   5,  0,   23 }, {   7,  0,  995 },\r
+  {  11,  0,  383 }, {  11,  0,  437 }, {  12,  0,  460 }, { 140,  0,  532 },\r
+  { 133,  0,  862 }, { 137, 10,  696 }, {   6,  0,  592 }, { 138,  0,  946 },\r
+  { 138, 11,  599 }, {   7, 10, 1718 }, {   9, 10,   95 }, {   9, 10,  274 },\r
+  {  10, 10,  279 }, {  10, 10,  317 }, {  10, 10,  420 }, {  11, 10,  303 },\r
+  {  11, 10,  808 }, {  12, 10,  134 }, {  12, 10,  367 }, {  13, 10,  149 },\r
+  {  13, 10,  347 }, {  14, 10,  349 }, {  14, 10,  406 }, {  18, 10,   22 },\r
+  {  18, 10,   89 }, {  18, 10,  122 }, { 147, 10,   47 }, {   8,  0,   70 },\r
+  {  12,  0,  171 }, { 141,  0,  272 }, { 133, 10,   26 }, { 132, 10,  550 },\r
+  { 137,  0,  812 }, {  10,  0,  233 }, { 139,  0,   76 }, { 134,  0,  988 },\r
+  { 134,  0,  442 }, { 136, 10,  822 }, {   7,  0,  896 }, {   4, 10,  902 },\r
+  {   5, 10,  809 }, { 134, 10,  122 }, {   5, 11,  150 }, {   7, 11,  106 },\r
+  {   8, 11,  603 }, {   9, 11,  593 }, {   9, 11,  634 }, {  10, 11,   44 },\r
+  {  10, 11,  173 }, {  11, 11,  462 }, {  11, 11,  515 }, {  13, 11,  216 },\r
+  {  13, 11,  288 }, { 142, 11,  400 }, { 136,  0,  483 }, { 135, 10,  262 },\r
+  {   6,  0, 1709 }, { 133, 10,  620 }, {   4, 10,   34 }, {   5, 10,  574 },\r
+  {   7, 10,  279 }, {   7, 10, 1624 }, { 136, 10,  601 }, { 137, 10,  170 },\r
+  { 147,  0,  119 }, {  12, 11,  108 }, { 141, 11,  291 }, {  11,  0,   69 },\r
+  {  12,  0,  105 }, {  12,  0,  117 }, {  13,  0,  213 }, {  14,  0,   13 },\r
+  {  14,  0,   62 }, {  14,  0,  177 }, {  14,  0,  421 }, {  15,  0,   19 },\r
+  { 146,  0,  141 }, { 137,  0,  309 }, {  11, 11,  278 }, { 142, 11,   73 },\r
+  {   7,  0,  608 }, {   7,  0,  976 }, {   9,  0,  146 }, {  10,  0,  206 },\r
+  {  10,  0,  596 }, {  13,  0,  218 }, { 142,  0,  153 }, { 133, 10,  332 },\r
+  {   6, 10,  261 }, {   8, 10,  182 }, { 139, 10,  943 }, {   4, 11,  493 },\r
+  { 144, 11,   55 }, { 134, 10, 1721 }, { 132,  0,  768 }, {   4, 10,  933 },\r
+  { 133, 10,  880 }, {   7, 11,  555 }, {   7, 11, 1316 }, {   7, 11, 1412 },\r
+  {   7, 11, 1839 }, {   9, 11,  192 }, {   9, 11,  589 }, {  11, 11,  241 },\r
+  {  11, 11,  676 }, {  11, 11,  811 }, {  11, 11,  891 }, {  12, 11,  140 },\r
+  {  12, 11,  346 }, {  12, 11,  479 }, {  13, 11,   30 }, {  13, 11,   49 },\r
+  {  13, 11,  381 }, {  14, 11,  188 }, {  15, 11,  150 }, {  16, 11,   76 },\r
+  {  18, 11,   30 }, { 148, 11,   52 }, {   4,  0,  518 }, { 135,  0, 1136 },\r
+  {   6, 11,  568 }, {   7, 11,  112 }, {   7, 11, 1804 }, {   8, 11,  362 },\r
+  {   8, 11,  410 }, {   8, 11,  830 }, {   9, 11,  514 }, {  11, 11,  649 },\r
+  { 142, 11,  157 }, { 135, 11,  673 }, {   8,  0,  689 }, { 137,  0,  863 },\r
+  {   4,  0,   18 }, {   7,  0,  145 }, {   7,  0,  444 }, {   7,  0, 1278 },\r
+  {   8,  0,   49 }, {   8,  0,  400 }, {   9,  0,   71 }, {   9,  0,  250 },\r
+  {  10,  0,  459 }, {  12,  0,  160 }, {  16,  0,   24 }, { 132, 11,  625 },\r
+  { 140,  0, 1020 }, {   4,  0,  997 }, {   6,  0, 1946 }, {   6,  0, 1984 },\r
+  { 134,  0, 1998 }, {   6, 11,   16 }, {   6, 11,  158 }, {   7, 11,   43 },\r
+  {   7, 11,  129 }, {   7, 11,  181 }, {   8, 11,  276 }, {   8, 11,  377 },\r
+  {  10, 11,  523 }, {  11, 11,  816 }, {  12, 11,  455 }, {  13, 11,  303 },\r
+  { 142, 11,  135 }, { 133, 10,  812 }, { 134,  0,  658 }, {   4, 11,    1 },\r
+  {   7, 11, 1143 }, {   7, 11, 1463 }, {   8, 11,   61 }, {   9, 11,  207 },\r
+  {   9, 11,  390 }, {   9, 11,  467 }, { 139, 11,  836 }, { 150, 11,   26 },\r
+  { 140,  0,  106 }, {   6,  0, 1827 }, {  10,  0,  931 }, {  18,  0,  166 },\r
+  {  20,  0,  114 }, {   4, 10,  137 }, {   7, 10, 1178 }, {   7, 11, 1319 },\r
+  { 135, 10, 1520 }, { 133,  0, 1010 }, {   4, 11,  723 }, {   5, 11,  895 },\r
+  {   7, 11, 1031 }, {   8, 11,  199 }, {   8, 11,  340 }, {   9, 11,  153 },\r
+  {   9, 11,  215 }, {  10, 11,   21 }, {  10, 11,   59 }, {  10, 11,   80 },\r
+  {  10, 11,  224 }, {  11, 11,  229 }, {  11, 11,  652 }, {  12, 11,  192 },\r
+  {  13, 11,  146 }, { 142, 11,   91 }, { 132, 11,  295 }, {   6, 11,  619 },\r
+  {   7, 11,  898 }, {   7, 11, 1092 }, {   8, 11,  485 }, {  18, 11,   28 },\r
+  { 147, 11,  116 }, { 137, 11,   51 }, {   6, 10, 1661 }, {   7, 10, 1975 },\r
+  {   7, 10, 2009 }, { 135, 10, 2011 }, {   5, 11,  309 }, { 140, 11,  211 },\r
+  {   5,  0,   87 }, {   7,  0,  313 }, {   7,  0, 1103 }, {  10,  0,  208 },\r
+  {  10,  0,  582 }, {  11,  0,  389 }, {  11,  0,  813 }, {  12,  0,  385 },\r
+  {  13,  0,  286 }, {  14,  0,  124 }, { 146,  0,  108 }, {   5, 11,  125 },\r
+  {   8, 11,   77 }, { 138, 11,   15 }, { 132,  0,  267 }, { 133,  0,  703 },\r
+  { 137, 11,  155 }, { 133, 11,  439 }, {  11, 11,  164 }, { 140, 11,   76 },\r
+  {   9,  0,  496 }, {   5, 10,   89 }, {   7, 10, 1915 }, {   9, 10,  185 },\r
+  {   9, 10,  235 }, {  10, 10,   64 }, {  10, 10,  270 }, {  10, 10,  403 },\r
+  {  10, 10,  469 }, {  10, 10,  529 }, {  10, 10,  590 }, {  11, 10,  140 },\r
+  {  11, 10,  860 }, {  13, 10,    1 }, {  13, 10,  422 }, {  14, 10,  341 },\r
+  {  14, 10,  364 }, {  17, 10,   93 }, {  18, 10,  113 }, {  19, 10,   97 },\r
+  { 147, 10,  113 }, { 133, 10,  695 }, { 135,  0, 1121 }, {   5, 10,    6 },\r
+  {   6, 10,  183 }, {   7, 10,  680 }, {   7, 10,  978 }, {   7, 10, 1013 },\r
+  {   7, 10, 1055 }, {  12, 10,  230 }, {  13, 10,  172 }, { 146, 10,   29 },\r
+  {   4, 11,    8 }, {   7, 11, 1152 }, {   7, 11, 1153 }, {   7, 11, 1715 },\r
+  {   9, 11,  374 }, {  10, 11,  478 }, { 139, 11,  648 }, { 135, 11, 1099 },\r
+  {   6, 10,   29 }, { 139, 10,   63 }, {   4,  0,  561 }, {  10,  0,  249 },\r
+  { 139,  0,  209 }, { 132,  0,  760 }, {   7, 11,  799 }, { 138, 11,  511 },\r
+  { 136, 11,   87 }, {   9,  0,  154 }, { 140,  0,  485 }, { 136,  0,  255 },\r
+  { 132,  0,  323 }, { 140,  0,  419 }, { 132, 10,  311 }, { 134, 10, 1740 },\r
+  {   4,  0,  368 }, { 135,  0,  641 }, {   7, 10,  170 }, {   8, 10,   90 },\r
+  {   8, 10,  177 }, {   8, 10,  415 }, {  11, 10,  714 }, { 142, 10,  281 },\r
+  {   4, 11,   69 }, {   5, 11,  122 }, {   9, 11,  656 }, { 138, 11,  464 },\r
+  {   5, 11,  849 }, { 134, 11, 1633 }, {   8,  0,  522 }, { 142,  0,  328 },\r
+  {  11, 10,   91 }, {  13, 10,  129 }, {  15, 10,  101 }, { 145, 10,  125 },\r
+  {   7,  0,  562 }, {   8,  0,  551 }, {   4, 10,  494 }, {   6, 10,   74 },\r
+  {   7, 10,   44 }, {  11, 11,  499 }, {  12, 10,   17 }, {  15, 10,    5 },\r
+  { 148, 10,   11 }, {   4, 10,  276 }, { 133, 10,  296 }, {   9,  0,   92 },\r
+  { 147,  0,   91 }, {   4, 10,    7 }, {   5, 10,   90 }, {   5, 10,  158 },\r
+  {   6, 10,  542 }, {   7, 10,  221 }, {   7, 10, 1574 }, {   9, 10,  490 },\r
+  {  10, 10,  540 }, {  11, 10,  443 }, { 139, 10,  757 }, {   6,  0,  525 },\r
+  {   6,  0, 1976 }, {   8,  0,  806 }, {   9,  0,  876 }, { 140,  0,  284 },\r
+  {   5, 11,  859 }, {   7, 10,  588 }, {   7, 11, 1160 }, {   8, 11,  107 },\r
+  {   9, 10,  175 }, {   9, 11,  291 }, {   9, 11,  439 }, {  10, 10,  530 },\r
+  {  10, 11,  663 }, {  11, 11,  609 }, { 140, 11,  197 }, {   7, 11,  168 },\r
+  {  13, 11,  196 }, { 141, 11,  237 }, { 139,  0,  958 }, { 133,  0,  594 },\r
+  { 135, 10,  580 }, {   7, 10,   88 }, { 136, 10,  627 }, {   6,  0,  479 },\r
+  {   6,  0,  562 }, {   7,  0, 1060 }, {  13,  0,    6 }, {   5, 10,  872 },\r
+  {   6, 10,   57 }, {   7, 10,  471 }, {   9, 10,  447 }, { 137, 10,  454 },\r
+  { 136, 11,  413 }, { 145, 11,   19 }, {   4, 11,  117 }, {   6, 11,  372 },\r
+  {   7, 11, 1905 }, { 142, 11,  323 }, {   4, 11,  722 }, { 139, 11,  471 },\r
+  {  17,  0,   61 }, {   5, 10,   31 }, { 134, 10,  614 }, {   8, 10,  330 },\r
+  { 140, 10,  477 }, {   7, 10, 1200 }, { 138, 10,  460 }, {   6, 10,  424 },\r
+  { 135, 10, 1866 }, {   6,  0, 1641 }, { 136,  0,  820 }, {   6,  0, 1556 },\r
+  { 134,  0, 1618 }, {   9, 11,    5 }, {  12, 11,  216 }, {  12, 11,  294 },\r
+  {  12, 11,  298 }, {  12, 11,  400 }, {  12, 11,  518 }, {  13, 11,  229 },\r
+  { 143, 11,  139 }, {  15, 11,  155 }, { 144, 11,   79 }, {   4,  0,  302 },\r
+  { 135,  0, 1766 }, {   5, 10,   13 }, { 134, 10,  142 }, {   6,  0,  148 },\r
+  {   7,  0, 1313 }, {   7, 10,  116 }, {   8, 10,  322 }, {   8, 10,  755 },\r
+  {   9, 10,  548 }, {  10, 10,  714 }, {  11, 10,  884 }, { 141, 10,  324 },\r
+  { 137,  0,  676 }, {   9, 11,   88 }, { 139, 11,  270 }, {   5, 11,   12 },\r
+  {   7, 11,  375 }, { 137, 11,  438 }, { 134,  0, 1674 }, {   7, 10, 1472 },\r
+  { 135, 10, 1554 }, {  11,  0,  178 }, {   7, 10, 1071 }, {   7, 10, 1541 },\r
+  {   7, 10, 1767 }, {   7, 10, 1806 }, {  11, 10,  162 }, {  11, 10,  242 },\r
+  {  12, 10,  605 }, {  15, 10,   26 }, { 144, 10,   44 }, {   6,  0,  389 },\r
+  {   7,  0,  149 }, {   9,  0,  142 }, { 138,  0,   94 }, { 140, 11,   71 },\r
+  { 145, 10,  115 }, {   6,  0,    8 }, {   7,  0, 1881 }, {   8,  0,   91 },\r
+  {  11, 11,  966 }, {  12, 11,  287 }, {  13, 11,  342 }, {  13, 11,  402 },\r
+  {  15, 11,  110 }, { 143, 11,  163 }, {   4, 11,  258 }, { 136, 11,  639 },\r
+  {   6, 11,   22 }, {   7, 11,  903 }, { 138, 11,  577 }, { 133, 11,  681 },\r
+  { 135, 10, 1111 }, { 135, 11, 1286 }, {   9,  0,  112 }, {   8, 10,    1 },\r
+  { 138, 10,  326 }, {   5, 10,  488 }, {   6, 10,  527 }, {   7, 10,  489 },\r
+  {   7, 10, 1636 }, {   8, 10,  121 }, {   8, 10,  144 }, {   8, 10,  359 },\r
+  {   9, 10,  193 }, {   9, 10,  241 }, {   9, 10,  336 }, {   9, 10,  882 },\r
+  {  11, 10,  266 }, {  11, 10,  372 }, {  11, 10,  944 }, {  12, 10,  401 },\r
+  { 140, 10,  641 }, {   4, 11,  664 }, { 133, 11,  804 }, {   6,  0,  747 },\r
+  { 134,  0, 1015 }, { 135,  0, 1746 }, {   9, 10,   31 }, {  10, 10,  244 },\r
+  {  10, 10,  699 }, {  12, 10,  149 }, { 141, 10,  497 }, { 133, 10,  377 },\r
+  { 135,  0,   24 }, {   6,  0, 1352 }, {   5, 11,   32 }, { 145, 10,  101 },\r
+  {   7,  0, 1530 }, {  10,  0,  158 }, {  13,  0,   13 }, {  13,  0,  137 },\r
+  {  13,  0,  258 }, {  14,  0,  111 }, {  14,  0,  225 }, {  14,  0,  253 },\r
+  {  14,  0,  304 }, {  14,  0,  339 }, {  14,  0,  417 }, { 146,  0,   33 },\r
+  {   4,  0,  503 }, { 135,  0, 1661 }, {   5,  0,  130 }, {   6,  0,  845 },\r
+  {   7,  0, 1314 }, {   9,  0,  610 }, {  10,  0,  718 }, {  11,  0,  601 },\r
+  {  11,  0,  819 }, {  11,  0,  946 }, { 140,  0,  536 }, {  10,  0,  149 },\r
+  {  11,  0,  280 }, { 142,  0,  336 }, { 134,  0, 1401 }, { 135,  0, 1946 },\r
+  {   8,  0,  663 }, { 144,  0,    8 }, { 134,  0, 1607 }, { 135, 10, 2023 },\r
+  {   4, 11,  289 }, {   7, 11,  629 }, {   7, 11, 1698 }, {   7, 11, 1711 },\r
+  { 140, 11,  215 }, {   6, 11,  450 }, { 136, 11,  109 }, {  10,  0,  882 },\r
+  {  10,  0,  883 }, {  10,  0,  914 }, { 138,  0,  928 }, { 133, 10,  843 },\r
+  { 136, 11,  705 }, { 132, 10,  554 }, { 133, 10,  536 }, {   5,  0,  417 },\r
+  {   9, 10,   79 }, {  11, 10,  625 }, { 145, 10,    7 }, {   7, 11, 1238 },\r
+  { 142, 11,   37 }, {   4,  0,  392 }, { 135,  0, 1597 }, {   5,  0,  433 },\r
+  {   9,  0,  633 }, {  11,  0,  629 }, { 132, 10,  424 }, {   7, 10,  336 },\r
+  { 136, 10,  785 }, { 134, 11,  355 }, {   6,  0,  234 }, {   7,  0,  769 },\r
+  {   9,  0,   18 }, { 138,  0,  358 }, {   4, 10,  896 }, { 134, 10, 1777 },\r
+  { 138, 11,  323 }, {   7,  0,  140 }, {   7,  0, 1950 }, {   8,  0,  680 },\r
+  {  11,  0,  817 }, { 147,  0,   88 }, {   7,  0, 1222 }, { 138,  0,  386 },\r
+  { 139, 11,  908 }, {  11,  0,  249 }, {  12,  0,  313 }, {  16,  0,   66 },\r
+  { 145,  0,   26 }, { 134,  0,    5 }, {   7, 10,  750 }, {   9, 10,  223 },\r
+  {  11, 10,   27 }, {  11, 10,  466 }, {  12, 10,  624 }, {  14, 10,  265 },\r
+  { 146, 10,   61 }, { 134, 11,   26 }, { 134,  0, 1216 }, {   5,  0,  963 },\r
+  { 134,  0, 1773 }, {   4, 11,  414 }, {   5, 11,  467 }, {   9, 11,  654 },\r
+  {  10, 11,  451 }, {  12, 11,   59 }, { 141, 11,  375 }, { 135, 11,   17 },\r
+  {   4, 10,  603 }, { 133, 10,  661 }, {   4, 10,   11 }, {   6, 10,  128 },\r
+  {   7, 10,  231 }, {   7, 10, 1533 }, { 138, 10,  725 }, { 135, 11,  955 },\r
+  {   7,  0,  180 }, {   8,  0,  509 }, { 136,  0,  792 }, { 132, 10,  476 },\r
+  { 132,  0, 1002 }, { 133, 11,  538 }, { 135, 10, 1807 }, { 132,  0,  931 },\r
+  {   7,  0,  943 }, {  11,  0,  614 }, { 140,  0,  747 }, { 135,  0, 1837 },\r
+  {   9, 10,   20 }, {  10, 10,  324 }, {  10, 10,  807 }, { 139, 10,  488 },\r
+  { 134,  0,  641 }, {   6, 11,  280 }, {  10, 11,  502 }, {  11, 11,  344 },\r
+  { 140, 11,   38 }, {   5, 11,   45 }, {   7, 11, 1161 }, {  11, 11,  448 },\r
+  {  11, 11,  880 }, {  13, 11,  139 }, {  13, 11,  407 }, {  15, 11,   16 },\r
+  {  17, 11,   95 }, {  18, 11,   66 }, {  18, 11,   88 }, {  18, 11,  123 },\r
+  { 149, 11,    7 }, {   9,  0,  280 }, { 138,  0,  134 }, {  22,  0,   22 },\r
+  {  23,  0,    5 }, { 151,  0,   29 }, { 136, 11,  777 }, {   4,  0,   90 },\r
+  {   5,  0,  545 }, {   7,  0,  754 }, {   9,  0,  186 }, {  10,  0,   72 },\r
+  {  10,  0,  782 }, {  11,  0,  577 }, {  11,  0,  610 }, {  11,  0,  960 },\r
+  {  12,  0,  354 }, {  12,  0,  362 }, {  12,  0,  595 }, {   4, 11,  410 },\r
+  { 135, 11,  521 }, { 135, 11, 1778 }, {   5, 10,  112 }, {   6, 10,  103 },\r
+  { 134, 10,  150 }, { 138, 10,  356 }, { 132,  0,  742 }, {   7,  0,  151 },\r
+  {   9,  0,  329 }, { 139,  0,  254 }, {   8,  0,  853 }, {   8,  0,  881 },\r
+  {   8,  0,  911 }, {   8,  0,  912 }, {  10,  0,  872 }, {  12,  0,  741 },\r
+  {  12,  0,  742 }, { 152,  0,   18 }, {   4, 11,  573 }, { 136, 11,  655 },\r
+  {   6,  0,  921 }, { 134,  0,  934 }, {   9,  0,  187 }, {  10,  0,   36 },\r
+  {  11,  0, 1016 }, {  17,  0,   44 }, { 146,  0,   64 }, {   7,  0,  833 },\r
+  { 136,  0,  517 }, {   4,  0,  506 }, {   5,  0,  295 }, { 135,  0, 1680 },\r
+  {   4, 10,  708 }, {   8, 10,   15 }, {   9, 10,   50 }, {   9, 10,  386 },\r
+  {  11, 10,   18 }, {  11, 10,  529 }, { 140, 10,  228 }, {   7,  0,  251 },\r
+  {   7,  0, 1701 }, {   8,  0,  436 }, {   4, 10,  563 }, {   7, 10,  592 },\r
+  {   7, 10,  637 }, {   7, 10,  770 }, {   8, 10,  463 }, {   9, 10,   60 },\r
+  {   9, 10,  335 }, {   9, 10,  904 }, {  10, 10,   73 }, {  11, 10,  434 },\r
+  {  12, 10,  585 }, {  13, 10,  331 }, {  18, 10,  110 }, { 148, 10,   60 },\r
+  { 132, 10,  502 }, { 136,  0,  584 }, {   6, 10,  347 }, { 138, 10,  161 },\r
+  {   7,  0,  987 }, {   9,  0,  688 }, {  10,  0,  522 }, {  11,  0,  788 },\r
+  {  12,  0,  137 }, {  12,  0,  566 }, {  14,  0,    9 }, {  14,  0,   24 },\r
+  {  14,  0,   64 }, {   7, 11,  899 }, { 142, 11,  325 }, {   4,  0,  214 },\r
+  {   5,  0,  500 }, {   5, 10,  102 }, {   6, 10,  284 }, {   7, 10, 1079 },\r
+  {   7, 10, 1423 }, {   7, 10, 1702 }, {   8, 10,  470 }, {   9, 10,  554 },\r
+  {   9, 10,  723 }, { 139, 10,  333 }, {   7, 10,  246 }, { 135, 10,  840 },\r
+  {   6, 10,   10 }, {   8, 10,  571 }, {   9, 10,  739 }, { 143, 10,   91 },\r
+  { 133, 10,  626 }, { 146,  0,  195 }, { 134,  0, 1775 }, {   7,  0,  389 },\r
+  {   7,  0,  700 }, {   7,  0,  940 }, {   8,  0,  514 }, {   9,  0,  116 },\r
+  {   9,  0,  535 }, {  10,  0,  118 }, {  11,  0,  107 }, {  11,  0,  148 },\r
+  {  11,  0,  922 }, {  12,  0,  254 }, {  12,  0,  421 }, { 142,  0,  238 },\r
+  {   5, 10,   18 }, {   6, 10,  526 }, {  13, 10,   24 }, {  13, 10,  110 },\r
+  {  19, 10,    5 }, { 147, 10,   44 }, { 132,  0,  743 }, {  11,  0,  292 },\r
+  {   4, 10,  309 }, {   5, 10,  462 }, {   7, 10,  970 }, { 135, 10, 1097 },\r
+  {  22, 10,   30 }, { 150, 10,   33 }, { 139, 11,  338 }, { 135, 11, 1598 },\r
+  {   7,  0, 1283 }, {   9,  0,  227 }, {  11,  0,  325 }, {  11,  0,  408 },\r
+  {  14,  0,  180 }, { 146,  0,   47 }, {   4,  0,  953 }, {   6,  0, 1805 },\r
+  {   6,  0, 1814 }, {   6,  0, 1862 }, { 140,  0,  774 }, {   6, 11,  611 },\r
+  { 135, 11, 1733 }, { 135, 11, 1464 }, {   5,  0,   81 }, {   7,  0,  146 },\r
+  {   7,  0, 1342 }, {   8,  0,   53 }, {   8,  0,  561 }, {   8,  0,  694 },\r
+  {   8,  0,  754 }, {   9,  0,  115 }, {   9,  0,  179 }, {   9,  0,  894 },\r
+  {  10,  0,  462 }, {  10,  0,  813 }, {  11,  0,  230 }, {  11,  0,  657 },\r
+  {  11,  0,  699 }, {  11,  0,  748 }, {  12,  0,  119 }, {  12,  0,  200 },\r
+  {  12,  0,  283 }, { 142,  0,  273 }, {   5,  0,  408 }, {   6,  0,  789 },\r
+  {   6,  0,  877 }, {   6,  0, 1253 }, {   6,  0, 1413 }, { 137,  0,  747 },\r
+  { 134, 10, 1704 }, { 135, 11,  663 }, {   6,  0, 1910 }, {   6,  0, 1915 },\r
+  {   6,  0, 1923 }, {   9,  0,  913 }, {   9,  0,  928 }, {   9,  0,  950 },\r
+  {   9,  0,  954 }, {   9,  0,  978 }, {   9,  0,  993 }, {  12,  0,  812 },\r
+  {  12,  0,  819 }, {  12,  0,  831 }, {  12,  0,  833 }, {  12,  0,  838 },\r
+  {  12,  0,  909 }, {  12,  0,  928 }, {  12,  0,  931 }, {  12,  0,  950 },\r
+  {  15,  0,  186 }, {  15,  0,  187 }, {  15,  0,  195 }, {  15,  0,  196 },\r
+  {  15,  0,  209 }, {  15,  0,  215 }, {  15,  0,  236 }, {  15,  0,  241 },\r
+  {  15,  0,  249 }, {  15,  0,  253 }, {  18,  0,  180 }, {  18,  0,  221 },\r
+  {  18,  0,  224 }, {  18,  0,  227 }, {  18,  0,  229 }, { 149,  0,   60 },\r
+  {   7,  0, 1826 }, { 135,  0, 1938 }, {  11,  0,  490 }, {  18,  0,  143 },\r
+  {   5, 10,   86 }, {   7, 10,  743 }, {   9, 10,   85 }, {  10, 10,  281 },\r
+  {  10, 10,  432 }, {  12, 10,  251 }, {  13, 10,  118 }, { 142, 10,  378 },\r
+  {   5, 10,  524 }, { 133, 10,  744 }, { 141, 11,  442 }, {  10, 10,  107 },\r
+  { 140, 10,  436 }, { 135, 11,  503 }, { 134,  0, 1162 }, { 132, 10,  927 },\r
+  {   7,  0,   30 }, {   8,  0,   86 }, {   8,  0,  315 }, {   8,  0,  700 },\r
+  {   9,  0,  576 }, {   9,  0,  858 }, {  10,  0,  414 }, {  11,  0,  310 },\r
+  {  11,  0,  888 }, {  11,  0,  904 }, {  12,  0,  361 }, {  13,  0,  248 },\r
+  {  13,  0,  371 }, {  14,  0,  142 }, {  12, 10,  670 }, { 146, 10,   94 },\r
+  { 134,  0,  721 }, {   4, 11,  113 }, {   5, 11,  163 }, {   5, 11,  735 },\r
+  {   7, 11, 1009 }, {   7, 10, 1149 }, {   9, 11,    9 }, {   9, 10,  156 },\r
+  {   9, 11,  771 }, {  12, 11,   90 }, {  13, 11,  138 }, {  13, 11,  410 },\r
+  { 143, 11,  128 }, { 138,  0,  839 }, { 133, 10,  778 }, { 137,  0,  617 },\r
+  { 133, 10,  502 }, {   8, 10,  196 }, {  10, 10,  283 }, { 139, 10,  406 },\r
+  {   6,  0,  428 }, {   7,  0,  524 }, {   8,  0,  169 }, {   8,  0,  234 },\r
+  {   9,  0,  480 }, { 138,  0,  646 }, { 133, 10,  855 }, { 134,  0, 1648 },\r
+  {   7,  0, 1205 }, { 138,  0,  637 }, {   7,  0, 1596 }, {   4, 11,  935 },\r
+  { 133, 11,  823 }, {   5, 11,  269 }, {   7, 11,  434 }, {   7, 11,  891 },\r
+  {   8, 11,  339 }, {   9, 11,  702 }, {  11, 11,  594 }, {  11, 11,  718 },\r
+  { 145, 11,  100 }, {   7, 11,  878 }, {   9, 11,  485 }, { 141, 11,  264 },\r
+  {   4,  0,  266 }, {   8,  0,    4 }, {   9,  0,   39 }, {  10,  0,  166 },\r
+  {  11,  0,  918 }, {  12,  0,  635 }, {  20,  0,   10 }, {  22,  0,   27 },\r
+  {  22,  0,   43 }, {  22,  0,   52 }, { 134, 11, 1713 }, {   7, 10, 1400 },\r
+  {   9, 10,  446 }, { 138, 10,   45 }, { 135, 11,  900 }, { 132,  0,  862 },\r
+  { 134,  0, 1554 }, { 135, 11, 1033 }, {  19,  0,   16 }, { 147, 11,   16 },\r
+  { 135, 11, 1208 }, {   7,  0,  157 }, { 136,  0,  279 }, {   6,  0,  604 },\r
+  { 136,  0,  391 }, {  13, 10,  455 }, {  15, 10,   99 }, {  15, 10,  129 },\r
+  { 144, 10,   68 }, { 135, 10,  172 }, {   7,  0,  945 }, {  11,  0,  713 },\r
+  { 139,  0,  744 }, {   4,  0,  973 }, {  10,  0,  877 }, {  10,  0,  937 },\r
+  {  10,  0,  938 }, { 140,  0,  711 }, { 139,  0, 1022 }, { 132, 10,  568 },\r
+  { 142, 11,  143 }, {   4,  0,  567 }, {   9,  0,  859 }, { 132, 10,  732 },\r
+  {   7,  0, 1846 }, { 136,  0,  628 }, { 136, 10,  733 }, { 133,  0,  762 },\r
+  {   4, 10,  428 }, { 135, 10, 1789 }, {  10,  0,  784 }, {  13,  0,  191 },\r
+  {   7, 10, 2015 }, { 140, 10,  665 }, { 133,  0,  298 }, {   7,  0,  633 },\r
+  {   7,  0,  905 }, {   7,  0,  909 }, {   7,  0, 1538 }, {   9,  0,  767 },\r
+  { 140,  0,  636 }, { 138, 10,  806 }, { 132,  0,  795 }, { 139,  0,  301 },\r
+  { 135,  0, 1970 }, {   5, 11,  625 }, { 135, 11, 1617 }, { 135, 11,  275 },\r
+  {   7, 11,   37 }, {   8, 11,  425 }, {   8, 11,  693 }, {   9, 11,  720 },\r
+  {  10, 11,  380 }, {  10, 11,  638 }, {  11, 11,  273 }, {  11, 11,  307 },\r
+  {  11, 11,  473 }, {  12, 11,   61 }, { 143, 11,   43 }, { 135, 11,  198 },\r
+  { 134,  0, 1236 }, {   7,  0,  369 }, {  12,  0,  644 }, {  12,  0,  645 },\r
+  { 144,  0,   90 }, {  19,  0,   15 }, { 149,  0,   27 }, {   6,  0,   71 },\r
+  {   7,  0,  845 }, {   8,  0,  160 }, {   9,  0,  318 }, {   6, 10, 1623 },\r
+  { 134, 10, 1681 }, { 134,  0, 1447 }, { 134,  0, 1255 }, { 138,  0,  735 },\r
+  {   8,  0,   76 }, { 132, 11,  168 }, {   6, 10, 1748 }, {   8, 10,  715 },\r
+  {   9, 10,  802 }, {  10, 10,   46 }, {  10, 10,  819 }, {  13, 10,  308 },\r
+  {  14, 10,  351 }, {  14, 10,  363 }, { 146, 10,   67 }, { 135, 11,   91 },\r
+  {   6,  0,  474 }, {   4, 10,   63 }, { 133, 10,  347 }, { 133, 10,  749 },\r
+  { 138,  0,  841 }, { 133, 10,  366 }, {   6,  0,  836 }, { 132, 11,  225 },\r
+  { 135,  0, 1622 }, { 135, 10,   89 }, { 140,  0,  735 }, { 134,  0, 1601 },\r
+  { 138, 11,  145 }, {   6,  0, 1390 }, { 137,  0,  804 }, { 142,  0,  394 },\r
+  {   6, 11,   15 }, {   7, 11,   70 }, {  10, 11,  240 }, { 147, 11,   93 },\r
+  {   6,  0,   96 }, { 135,  0, 1426 }, {   4,  0,  651 }, { 133,  0,  289 },\r
+  {   7, 11,  956 }, {   7, 10,  977 }, {   7, 11, 1157 }, {   7, 11, 1506 },\r
+  {   7, 11, 1606 }, {   7, 11, 1615 }, {   7, 11, 1619 }, {   7, 11, 1736 },\r
+  {   7, 11, 1775 }, {   8, 11,  590 }, {   9, 11,  324 }, {   9, 11,  736 },\r
+  {   9, 11,  774 }, {   9, 11,  776 }, {   9, 11,  784 }, {  10, 11,  567 },\r
+  {  10, 11,  708 }, {  11, 11,  518 }, {  11, 11,  613 }, {  11, 11,  695 },\r
+  {  11, 11,  716 }, {  11, 11,  739 }, {  11, 11,  770 }, {  11, 11,  771 },\r
+  {  11, 11,  848 }, {  11, 11,  857 }, {  11, 11,  931 }, {  11, 11,  947 },\r
+  {  12, 11,  326 }, {  12, 11,  387 }, {  12, 11,  484 }, {  12, 11,  528 },\r
+  {  12, 11,  552 }, {  12, 11,  613 }, {  13, 11,  189 }, {  13, 11,  256 },\r
+  {  13, 11,  340 }, {  13, 11,  432 }, {  13, 11,  436 }, {  13, 11,  440 },\r
+  {  13, 11,  454 }, {  14, 11,  174 }, {  14, 11,  220 }, {  14, 11,  284 },\r
+  {  14, 11,  390 }, { 145, 11,  121 }, {   7,  0,  688 }, {   8,  0,   35 },\r
+  {   9,  0,  511 }, {  10,  0,  767 }, { 147,  0,  118 }, { 134,  0,  667 },\r
+  {   4,  0,  513 }, {   5, 10,  824 }, { 133, 10,  941 }, {   7, 10,  440 },\r
+  {   8, 10,  230 }, { 139, 10,  106 }, { 134,  0, 2034 }, { 135, 11, 1399 },\r
+  { 143, 11,   66 }, { 135, 11, 1529 }, {   4, 11,  145 }, {   6, 11,  176 },\r
+  {   7, 11,  395 }, {   9, 11,  562 }, { 144, 11,   28 }, { 132, 11,  501 },\r
+  { 132,  0,  704 }, { 134,  0, 1524 }, {   7,  0, 1078 }, { 134, 11,  464 },\r
+  {   6, 11,  509 }, {  10, 11,   82 }, {  20, 11,   91 }, { 151, 11,   13 },\r
+  {   4,  0,  720 }, { 133,  0,  306 }, { 133,  0,  431 }, {   7,  0, 1196 },\r
+  {   4, 10,  914 }, {   5, 10,  800 }, { 133, 10,  852 }, { 135, 11, 1189 },\r
+  {  10,  0,   54 }, { 141, 10,  115 }, {   7, 10,  564 }, { 142, 10,  168 },\r
+  {   5,  0,  464 }, {   6,  0,  236 }, {   7,  0,  696 }, {   7,  0,  914 },\r
+  {   7,  0, 1108 }, {   7,  0, 1448 }, {   9,  0,   15 }, {   9,  0,  564 },\r
+  {  10,  0,   14 }, {  12,  0,  565 }, {  13,  0,  449 }, {  14,  0,   53 },\r
+  {  15,  0,   13 }, {  16,  0,   64 }, {  17,  0,   41 }, {   4, 10,  918 },\r
+  { 133, 10,  876 }, {   6,  0, 1418 }, { 134, 10, 1764 }, {   4, 10,   92 },\r
+  { 133, 10,  274 }, { 134,  0,  907 }, {   4, 11,  114 }, {   8, 10,  501 },\r
+  {   9, 11,  492 }, {  13, 11,  462 }, { 142, 11,  215 }, {   4, 11,   77 },\r
+  {   5, 11,  361 }, {   6, 11,  139 }, {   6, 11,  401 }, {   6, 11,  404 },\r
+  {   7, 11,  413 }, {   7, 11,  715 }, {   7, 11, 1716 }, {  11, 11,  279 },\r
+  {  12, 11,  179 }, {  12, 11,  258 }, {  13, 11,  244 }, { 142, 11,  358 },\r
+  {   6,  0, 1767 }, {  12,  0,  194 }, { 145,  0,  107 }, { 134, 11, 1717 },\r
+  {   5, 10,  743 }, { 142, 11,  329 }, {   4, 10,   49 }, {   7, 10,  280 },\r
+  { 135, 10, 1633 }, {   5,  0,  840 }, {   7, 11, 1061 }, {   8, 11,   82 },\r
+  {  11, 11,  250 }, {  12, 11,  420 }, { 141, 11,  184 }, { 135, 11,  724 },\r
+  { 134,  0,  900 }, { 136, 10,   47 }, { 134,  0, 1436 }, { 144, 11,    0 },\r
+  {   6,  0,  675 }, {   7,  0, 1008 }, {   7,  0, 1560 }, {   9,  0,  642 },\r
+  {  11,  0,  236 }, {  14,  0,  193 }, {   5, 10,  272 }, {   5, 10,  908 },\r
+  {   5, 10,  942 }, {   8, 10,  197 }, {   9, 10,   47 }, {  11, 10,  538 },\r
+  { 139, 10,  742 }, {   4,  0,   68 }, {   5,  0,  628 }, {   5,  0,  634 },\r
+  {   6,  0,  386 }, {   7,  0,  794 }, {   8,  0,  273 }, {   9,  0,  563 },\r
+  {  10,  0,  105 }, {  10,  0,  171 }, {  11,  0,   94 }, { 139,  0,  354 },\r
+  { 135, 10, 1911 }, { 137, 10,  891 }, {   4,  0,   95 }, {   6,  0, 1297 },\r
+  {   6,  0, 1604 }, {   7,  0,  416 }, { 139,  0,  830 }, {   6, 11,  513 },\r
+  { 135, 11, 1052 }, {   7,  0,  731 }, {  13,  0,   20 }, { 143,  0,   11 },\r
+  { 137, 11,  899 }, {  10,  0,  850 }, { 140,  0,  697 }, {   4,  0,  662 },\r
+  {   7, 11, 1417 }, {  12, 11,  382 }, {  17, 11,   48 }, { 152, 11,   12 },\r
+  { 133,  0,  736 }, { 132,  0,  861 }, {   4, 10,  407 }, { 132, 10,  560 },\r
+  { 141, 10,  490 }, {   6, 11,  545 }, {   7, 11,  565 }, {   7, 11, 1669 },\r
+  {  10, 11,  114 }, {  11, 11,  642 }, { 140, 11,  618 }, {   6,  0,  871 },\r
+  { 134,  0, 1000 }, {   5,  0,  864 }, {  10,  0,  648 }, {  11,  0,  671 },\r
+  {  15,  0,   46 }, { 133, 11,    5 }, { 133,  0,  928 }, {  11,  0,   90 },\r
+  {  13,  0,    7 }, {   4, 10,  475 }, {  11, 10,   35 }, {  13, 10,   71 },\r
+  {  13, 10,  177 }, { 142, 10,  422 }, { 136,  0,  332 }, { 135, 11,  192 },\r
+  { 134,  0, 1055 }, { 136, 11,  763 }, {  11,  0,  986 }, { 140,  0,  682 },\r
+  {   7,  0,   76 }, {   8,  0,   44 }, {   9,  0,  884 }, {  10,  0,  580 },\r
+  {  11,  0,  399 }, {  11,  0,  894 }, { 143,  0,  122 }, { 135, 11, 1237 },\r
+  { 135, 10,  636 }, {  11,  0,  300 }, {   6, 10,  222 }, {   7, 10, 1620 },\r
+  {   8, 10,  409 }, { 137, 10,  693 }, {   4, 11,   87 }, {   5, 11,  250 },\r
+  {  10, 11,  601 }, {  13, 11,  298 }, {  13, 11,  353 }, { 141, 11,  376 },\r
+  {   5,  0,  518 }, {  10,  0,  340 }, {  11,  0,  175 }, { 149,  0,   16 },\r
+  { 140,  0,  771 }, {   6,  0, 1108 }, { 137,  0,  831 }, { 132,  0,  836 },\r
+  { 135,  0, 1852 }, {   4,  0,  957 }, {   6,  0, 1804 }, {   8,  0,  842 },\r
+  {   8,  0,  843 }, {   8,  0,  851 }, {   8,  0,  855 }, { 140,  0,  767 },\r
+  { 135, 11,  814 }, {   4, 11,   57 }, {   7, 11, 1195 }, {   7, 11, 1438 },\r
+  {   7, 11, 1548 }, {   7, 11, 1835 }, {   7, 11, 1904 }, {   9, 11,  757 },\r
+  {  10, 11,  604 }, { 139, 11,  519 }, { 133, 10,  882 }, { 138,  0,  246 },\r
+  {   4,  0,  934 }, {   5,  0,  202 }, {   8,  0,  610 }, {   7, 11, 1897 },\r
+  {  12, 11,  290 }, {  13, 11,   80 }, {  13, 11,  437 }, { 145, 11,   74 },\r
+  {   8,  0,   96 }, {   9,  0,   36 }, {  10,  0,  607 }, {  10,  0,  804 },\r
+  {  10,  0,  832 }, {  11,  0,  423 }, {  11,  0,  442 }, {  12,  0,  309 },\r
+  {  14,  0,  199 }, {  15,  0,   90 }, { 145,  0,  110 }, { 132, 10,  426 },\r
+  {   7,  0,  654 }, {   8,  0,  240 }, {   6, 10,   58 }, {   7, 10,  745 },\r
+  {   7, 10, 1969 }, {   8, 10,  675 }, {   9, 10,  479 }, {   9, 10,  731 },\r
+  {  10, 10,  330 }, {  10, 10,  593 }, {  10, 10,  817 }, {  11, 10,   32 },\r
+  {  11, 10,  133 }, {  11, 10,  221 }, { 145, 10,   68 }, {   9,  0,   13 },\r
+  {   9,  0,  398 }, {   9,  0,  727 }, {  10,  0,   75 }, {  10,  0,  184 },\r
+  {  10,  0,  230 }, {  10,  0,  564 }, {  10,  0,  569 }, {  11,  0,  973 },\r
+  {  12,  0,   70 }, {  12,  0,  189 }, {  13,  0,   57 }, { 141,  0,  257 },\r
+  {   4, 11,  209 }, { 135, 11,  902 }, {   7,  0,  391 }, { 137, 10,  538 },\r
+  { 134,  0,  403 }, {   6, 11,  303 }, {   7, 11,  335 }, {   7, 11, 1437 },\r
+  {   7, 11, 1668 }, {   8, 11,  553 }, {   8, 11,  652 }, {   8, 11,  656 },\r
+  {   9, 11,  558 }, {  11, 11,  743 }, { 149, 11,   18 }, { 132, 11,  559 },\r
+  {  11,  0,   75 }, { 142,  0,  267 }, {   6,  0,  815 }, { 141, 11,    2 },\r
+  { 141,  0,  366 }, { 137,  0,  631 }, { 133, 11, 1017 }, {   5,  0,  345 },\r
+  { 135,  0, 1016 }, { 133, 11,  709 }, { 134, 11, 1745 }, { 133, 10,  566 },\r
+  {   7,  0,  952 }, {   6, 10,   48 }, {   9, 10,  139 }, {  10, 10,  399 },\r
+  {  11, 10,  469 }, {  12, 10,  634 }, { 141, 10,  223 }, { 133,  0,  673 },\r
+  {   9,  0,  850 }, {   7, 11,    8 }, { 136, 11,  206 }, {   6,  0,  662 },\r
+  { 149,  0,   35 }, {   4,  0,  287 }, { 133,  0, 1018 }, {   6, 10,  114 },\r
+  {   7, 10, 1224 }, {   7, 10, 1556 }, { 136, 10,    3 }, {   8, 10,  576 },\r
+  { 137, 10,  267 }, {   4,  0,  884 }, {   5,  0,   34 }, {  10,  0,  724 },\r
+  {  12,  0,  444 }, {  13,  0,  354 }, {  18,  0,   32 }, {  23,  0,   24 },\r
+  {  23,  0,   31 }, { 152,  0,    5 }, { 133, 10,  933 }, { 132, 11,  776 },\r
+  { 138,  0,  151 }, { 136,  0,  427 }, { 134,  0,  382 }, { 132,  0,  329 },\r
+  {   9,  0,  846 }, {  10,  0,  827 }, { 138, 11,   33 }, {   9,  0,  279 },\r
+  {  10,  0,  407 }, {  14,  0,   84 }, {  22,  0,   18 }, { 135, 11, 1297 },\r
+  { 136, 11,  406 }, { 132,  0,  906 }, { 136,  0,  366 }, { 134,  0,  843 },\r
+  { 134,  0, 1443 }, { 135,  0, 1372 }, { 138,  0,  992 }, {   4,  0,  123 },\r
+  {   5,  0,  605 }, {   7,  0, 1509 }, { 136,  0,   36 }, { 132,  0,  649 },\r
+  {   8, 11,  175 }, {  10, 11,  168 }, { 138, 11,  573 }, { 133,  0,  767 },\r
+  { 134,  0, 1018 }, { 135, 11, 1305 }, {  12, 10,   30 }, {  13, 10,  148 },\r
+  {  14, 10,   87 }, {  14, 10,  182 }, {  16, 10,   42 }, { 148, 10,   70 },\r
+  { 134, 11,  607 }, {   4,  0,  273 }, {   5,  0,  658 }, { 133,  0,  995 },\r
+  {   6,  0,   72 }, { 139, 11,  174 }, {  10,  0,  483 }, {  12,  0,  368 },\r
+  {   7, 10,   56 }, {   7, 10, 1989 }, {   8, 10,  337 }, {   8, 10,  738 },\r
+  {   9, 10,  600 }, {  13, 10,  447 }, { 142, 10,   92 }, {   5, 11,  784 },\r
+  { 138, 10,  666 }, { 135,  0, 1345 }, { 139, 11,  882 }, { 134,  0, 1293 },\r
+  { 133,  0,  589 }, { 134,  0, 1988 }, {   5,  0,  117 }, {   6,  0,  514 },\r
+  {   6,  0,  541 }, {   7,  0, 1164 }, {   7,  0, 1436 }, {   8,  0,  220 },\r
+  {   8,  0,  648 }, {  10,  0,  688 }, { 139,  0,  560 }, { 136,  0,  379 },\r
+  {   5,  0,  686 }, {   7, 10,  866 }, { 135, 10, 1163 }, { 132, 10,  328 },\r
+  {   9, 11,   14 }, {   9, 11,  441 }, {  10, 11,  306 }, { 139, 11,    9 },\r
+  {   4, 10,  101 }, { 135, 10, 1171 }, {   5, 10,  833 }, { 136, 10,  744 },\r
+  {   5, 11,  161 }, {   7, 11,  839 }, { 135, 11,  887 }, {   7,  0,  196 },\r
+  {  10,  0,  765 }, {  11,  0,  347 }, {  11,  0,  552 }, {  11,  0,  790 },\r
+  {  12,  0,  263 }, {  13,  0,  246 }, {  13,  0,  270 }, {  13,  0,  395 },\r
+  {  14,  0,  176 }, {  14,  0,  190 }, {  14,  0,  398 }, {  14,  0,  412 },\r
+  {  15,  0,   32 }, {  15,  0,   63 }, {  16,  0,   88 }, { 147,  0,  105 },\r
+  {   6, 10,    9 }, {   6, 10,  397 }, {   7, 10,   53 }, {   7, 10, 1742 },\r
+  {  10, 10,  632 }, {  11, 10,  828 }, { 140, 10,  146 }, {   5,  0,  381 },\r
+  { 135,  0, 1792 }, { 134,  0, 1452 }, { 135, 11,  429 }, {   8,  0,  367 },\r
+  {  10,  0,  760 }, {  14,  0,   79 }, {  20,  0,   17 }, { 152,  0,    0 },\r
+  {   7,  0,  616 }, { 138,  0,  413 }, {  11, 10,  417 }, {  12, 10,  223 },\r
+  { 140, 10,  265 }, {   7, 11, 1611 }, {  13, 11,   14 }, {  15, 11,   44 },\r
+  {  19, 11,   13 }, { 148, 11,   76 }, { 135,  0, 1229 }, {   6,  0,  120 },\r
+  {   7,  0, 1188 }, {   7,  0, 1710 }, {   8,  0,  286 }, {   9,  0,  667 },\r
+  {  11,  0,  592 }, { 139,  0,  730 }, { 135, 11, 1814 }, { 135,  0, 1146 },\r
+  {   4, 10,  186 }, {   5, 10,  157 }, {   8, 10,  168 }, { 138, 10,    6 },\r
+  {   4,  0,  352 }, { 135,  0,  687 }, {   4,  0,  192 }, {   5,  0,   49 },\r
+  {   6,  0,  200 }, {   6,  0,  293 }, {   6,  0, 1696 }, { 135,  0, 1151 },\r
+  { 133, 10,  875 }, {   5, 10,  773 }, {   5, 10,  991 }, {   6, 10, 1635 },\r
+  { 134, 10, 1788 }, {   7, 10,  111 }, { 136, 10,  581 }, {   6,  0,  935 },\r
+  { 134,  0, 1151 }, { 134,  0, 1050 }, { 132,  0,  650 }, { 132,  0,  147 },\r
+  {  11,  0,  194 }, {  12,  0,   62 }, {  12,  0,   88 }, {  11, 11,  194 },\r
+  {  12, 11,   62 }, { 140, 11,   88 }, {   6,  0,  339 }, { 135,  0,  923 },\r
+  { 134, 10, 1747 }, {   7, 11,  643 }, { 136, 11,  236 }, { 133,  0,  934 },\r
+  {   7, 10, 1364 }, {   7, 10, 1907 }, { 141, 10,  158 }, { 132, 10,  659 },\r
+  {   4, 10,  404 }, { 135, 10,  675 }, {   7, 11,  581 }, {   9, 11,  644 },\r
+  { 137, 11,  699 }, {  13,  0,  211 }, {  14,  0,  133 }, {  14,  0,  204 },\r
+  {  15,  0,   64 }, {  15,  0,   69 }, {  15,  0,  114 }, {  16,  0,   10 },\r
+  {  19,  0,   23 }, {  19,  0,   35 }, {  19,  0,   39 }, {  19,  0,   51 },\r
+  {  19,  0,   71 }, {  19,  0,   75 }, { 152,  0,   15 }, { 133, 10,  391 },\r
+  {   5, 11,   54 }, { 135, 11, 1513 }, {   7,  0,  222 }, {   8,  0,  341 },\r
+  {   5, 10,  540 }, { 134, 10, 1697 }, { 134, 10,   78 }, { 132, 11,  744 },\r
+  { 136,  0,  293 }, { 137, 11,  701 }, {   7, 11,  930 }, {  10, 11,  402 },\r
+  {  10, 11,  476 }, {  13, 11,  452 }, {  18, 11,   55 }, { 147, 11,  104 },\r
+  { 132,  0,  637 }, { 133, 10,  460 }, {   8, 11,   50 }, { 137, 11,  624 },\r
+  { 132, 11,  572 }, { 134,  0, 1159 }, {   4, 10,  199 }, { 139, 10,   34 },\r
+  { 134,  0,  847 }, { 134, 10,  388 }, {   6, 11,   43 }, {   7, 11,   38 },\r
+  {   8, 11,  248 }, {   9, 11,  504 }, { 138, 11,  513 }, {   9,  0,  683 },\r
+  {   4, 10,  511 }, {   6, 10,  608 }, {   9, 10,  333 }, {  10, 10,  602 },\r
+  {  11, 10,  441 }, {  11, 10,  723 }, {  11, 10,  976 }, { 140, 10,  357 },\r
+  {   9,  0,  867 }, { 138,  0,  837 }, {   6,  0,  944 }, { 135, 11,  326 },\r
+  { 135,  0, 1809 }, {   5, 10,  938 }, {   7, 11,  783 }, { 136, 10,  707 },\r
+  { 133, 11,  766 }, { 133, 11,  363 }, {   6,  0,  170 }, {   7,  0, 1080 },\r
+  {   8,  0,  395 }, {   8,  0,  487 }, { 141,  0,  147 }, {   6, 11,  258 },\r
+  { 140, 11,  409 }, {   4,  0,  535 }, {   8,  0,  618 }, {   5, 11,  249 },\r
+  { 148, 11,   82 }, {   6,  0, 1379 }, { 149, 11,   15 }, { 135,  0, 1625 },\r
+  { 150,  0,   23 }, {   5, 11,  393 }, {   6, 11,  378 }, {   7, 11, 1981 },\r
+  {   9, 11,   32 }, {   9, 11,  591 }, {  10, 11,  685 }, {  10, 11,  741 },\r
+  { 142, 11,  382 }, { 133, 11,  788 }, {   7, 11, 1968 }, {  10, 11,   19 },\r
+  { 139, 11,  911 }, {   7, 11, 1401 }, { 135, 11, 1476 }, {   4, 11,   61 },\r
+  {   5, 11,   58 }, {   5, 11,  171 }, {   5, 11,  635 }, {   5, 11,  683 },\r
+  {   5, 11,  700 }, {   6, 11,  291 }, {   6, 11,  566 }, {   7, 11, 1650 },\r
+  {  11, 11,  523 }, {  12, 11,  273 }, {  12, 11,  303 }, {  15, 11,   39 },\r
+  { 143, 11,  111 }, {   6, 10,  469 }, {   7, 10, 1709 }, { 138, 10,  515 },\r
+  {   4,  0,  778 }, { 134, 11,  589 }, { 132,  0,   46 }, {   5,  0,  811 },\r
+  {   6,  0, 1679 }, {   6,  0, 1714 }, { 135,  0, 2032 }, {   7,  0, 1458 },\r
+  {   9,  0,  407 }, {  11,  0,   15 }, {  12,  0,  651 }, { 149,  0,   37 },\r
+  {   7,  0,  938 }, { 132, 10,  500 }, {   6,  0,   34 }, {   7,  0,   69 },\r
+  {   7,  0, 1089 }, {   7,  0, 1281 }, {   8,  0,  708 }, {   8,  0,  721 },\r
+  {   9,  0,  363 }, { 148,  0,   98 }, {  10, 11,  231 }, { 147, 11,  124 },\r
+  {   7, 11,  726 }, { 152, 11,    9 }, {   5, 10,   68 }, { 134, 10,  383 },\r
+  { 136, 11,  583 }, {   4, 11,  917 }, { 133, 11, 1005 }, {  11, 10,  216 },\r
+  { 139, 10,  340 }, { 135, 11, 1675 }, {   8,  0,  441 }, {  10,  0,  314 },\r
+  { 143,  0,    3 }, { 132, 11,  919 }, {   4, 10,  337 }, {   6, 10,  353 },\r
+  {   7, 10, 1934 }, {   8, 10,  488 }, { 137, 10,  429 }, {   7,  0,  889 },\r
+  {   7, 10, 1795 }, {   8, 10,  259 }, {   9, 10,  135 }, {   9, 10,  177 },\r
+  {   9, 10,  860 }, {  10, 10,  825 }, {  11, 10,  115 }, {  11, 10,  370 },\r
+  {  11, 10,  405 }, {  11, 10,  604 }, {  12, 10,   10 }, {  12, 10,  667 },\r
+  {  12, 10,  669 }, {  13, 10,   76 }, {  14, 10,  310 }, {  15, 10,   76 },\r
+  {  15, 10,  147 }, { 148, 10,   23 }, {   4, 10,   15 }, {   4, 11,  255 },\r
+  {   5, 10,   22 }, {   5, 11,  302 }, {   6, 11,  132 }, {   6, 10,  244 },\r
+  {   7, 10,   40 }, {   7, 11,  128 }, {   7, 10,  200 }, {   7, 11,  283 },\r
+  {   7, 10,  906 }, {   7, 10, 1199 }, {   7, 11, 1299 }, {   9, 10,  616 },\r
+  {  10, 11,   52 }, {  10, 11,  514 }, {  10, 10,  716 }, {  11, 10,  635 },\r
+  {  11, 10,  801 }, {  11, 11,  925 }, {  12, 10,  458 }, {  13, 11,   92 },\r
+  { 142, 11,  309 }, { 132,  0,  462 }, { 137, 11,  173 }, { 135, 10, 1735 },\r
+  {   8,  0,  525 }, {   5, 10,  598 }, {   7, 10,  791 }, {   8, 10,  108 },\r
+  { 137, 10,  123 }, {   5,  0,   73 }, {   6,  0,   23 }, { 134,  0,  338 },\r
+  { 132,  0,  676 }, { 132, 10,  683 }, {   7,  0,  725 }, {   8,  0,  498 },\r
+  { 139,  0,  268 }, {  12,  0,   21 }, { 151,  0,    7 }, { 135,  0,  773 },\r
+  {   4, 10,  155 }, { 135, 10, 1689 }, {   4,  0,  164 }, {   5,  0,  730 },\r
+  {   5, 10,  151 }, {   5, 10,  741 }, {   6, 11,  210 }, {   7, 10,  498 },\r
+  {   7, 10,  870 }, {   7, 10, 1542 }, {  12, 10,  213 }, {  14, 10,   36 },\r
+  {  14, 10,  391 }, {  17, 10,  111 }, {  18, 10,    6 }, {  18, 10,   46 },\r
+  {  18, 10,  151 }, {  19, 10,   36 }, {  20, 10,   32 }, {  20, 10,   56 },\r
+  {  20, 10,   69 }, {  20, 10,  102 }, {  21, 10,    4 }, {  22, 10,    8 },\r
+  {  22, 10,   10 }, {  22, 10,   14 }, { 150, 10,   31 }, {   4, 10,  624 },\r
+  { 135, 10, 1752 }, {   4,  0,  583 }, {   9,  0,  936 }, {  15,  0,  214 },\r
+  {  18,  0,  199 }, {  24,  0,   26 }, { 134, 11,  588 }, {   7,  0, 1462 },\r
+  {  11,  0,  659 }, {   4, 11,  284 }, { 134, 11,  223 }, { 133,  0,  220 },\r
+  { 139,  0,  803 }, { 132,  0,  544 }, {   4, 10,  492 }, { 133, 10,  451 },\r
+  {  16,  0,   98 }, { 148,  0,  119 }, {   4, 11,  218 }, {   7, 11,  526 },\r
+  { 143, 11,  137 }, { 135, 10,  835 }, {   4, 11,  270 }, {   5, 11,  192 },\r
+  {   6, 11,  332 }, {   7, 11, 1322 }, {  13, 11,    9 }, {  13, 10,   70 },\r
+  {  14, 11,  104 }, { 142, 11,  311 }, { 132, 10,  539 }, { 140, 11,  661 },\r
+  {   5,  0,  176 }, {   6,  0,  437 }, {   6,  0,  564 }, {  11,  0,  181 },\r
+  { 141,  0,  183 }, { 135,  0, 1192 }, {   6, 10,  113 }, { 135, 10,  436 },\r
+  { 136, 10,  718 }, { 135, 10,  520 }, { 135,  0, 1878 }, { 140, 11,  196 },\r
+  {   7, 11,  379 }, {   8, 11,  481 }, { 137, 11,  377 }, {   5, 11, 1003 },\r
+  {   6, 11,  149 }, { 137, 11,  746 }, {   8, 11,  262 }, {   9, 11,  627 },\r
+  {  10, 11,   18 }, {  11, 11,  214 }, {  11, 11,  404 }, {  11, 11,  457 },\r
+  {  11, 11,  780 }, {  11, 11,  849 }, {  11, 11,  913 }, {  13, 11,  330 },\r
+  {  13, 11,  401 }, { 142, 11,  200 }, { 149,  0,   26 }, { 136, 11,  304 },\r
+  { 132, 11,  142 }, { 135,  0,  944 }, {   4,  0,  790 }, {   5,  0,  273 },\r
+  { 134,  0,  394 }, { 134,  0,  855 }, {   4,  0,  135 }, {   6,  0,  127 },\r
+  {   7,  0, 1185 }, {   7,  0, 1511 }, {   8,  0,  613 }, {  11,  0,    5 },\r
+  {  12,  0,  336 }, {  12,  0,  495 }, {  12,  0,  586 }, {  12,  0,  660 },\r
+  {  12,  0,  668 }, {  14,  0,  385 }, {  15,  0,  118 }, {  17,  0,   20 },\r
+  { 146,  0,   98 }, {   6,  0,  230 }, {   9,  0,  752 }, {  18,  0,  109 },\r
+  {  12, 10,  610 }, {  13, 10,  431 }, { 144, 10,   59 }, {   7,  0, 1954 },\r
+  { 135, 11,  925 }, {   4, 11,  471 }, {   5, 11,   51 }, {   6, 11,  602 },\r
+  {   8, 11,  484 }, {  10, 11,  195 }, { 140, 11,  159 }, { 132, 10,  307 },\r
+  { 136, 11,  688 }, { 132, 11,  697 }, {   7, 11,  812 }, {   7, 11, 1261 },\r
+  {   7, 11, 1360 }, {   9, 11,  632 }, { 140, 11,  352 }, {   5,  0,  162 },\r
+  {   8,  0,   68 }, { 133, 10,  964 }, {   4,  0,  654 }, { 136, 11,  212 },\r
+  {   4,  0,  156 }, {   7,  0,  998 }, {   7,  0, 1045 }, {   7,  0, 1860 },\r
+  {   9,  0,   48 }, {   9,  0,  692 }, {  11,  0,  419 }, { 139,  0,  602 },\r
+  { 133, 11,  221 }, {   4, 11,  373 }, {   5, 11,  283 }, {   6, 11,  480 },\r
+  { 135, 11,  609 }, { 142, 11,  216 }, { 132,  0,  240 }, {   6, 11,  192 },\r
+  {   9, 11,  793 }, { 145, 11,   55 }, {   4, 10,   75 }, {   5, 10,  180 },\r
+  {   6, 10,  500 }, {   7, 10,   58 }, {   7, 10,  710 }, { 138, 10,  645 },\r
+  {   4, 11,  132 }, {   5, 11,   69 }, {   5, 10,  649 }, { 135, 11, 1242 },\r
+  {   6, 10,  276 }, {   7, 10,  282 }, {   7, 10,  879 }, {   7, 10,  924 },\r
+  {   8, 10,  459 }, {   9, 10,  599 }, {   9, 10,  754 }, {  11, 10,  574 },\r
+  {  12, 10,  128 }, {  12, 10,  494 }, {  13, 10,   52 }, {  13, 10,  301 },\r
+  {  15, 10,   30 }, { 143, 10,  132 }, { 132, 10,  200 }, {   4, 11,  111 },\r
+  { 135, 11,  302 }, {   9,  0,  197 }, {  10,  0,  300 }, {  12,  0,  473 },\r
+  {  13,  0,   90 }, { 141,  0,  405 }, { 132, 11,  767 }, {   6, 11,   42 },\r
+  {   7, 11, 1416 }, {   7, 11, 1590 }, {   7, 11, 2005 }, {   8, 11,  131 },\r
+  {   8, 11,  466 }, {   9, 11,  672 }, {  13, 11,  252 }, { 148, 11,  103 },\r
+  {   8,  0,  958 }, {   8,  0,  999 }, {  10,  0,  963 }, { 138,  0, 1001 },\r
+  { 135, 10, 1621 }, { 135,  0,  858 }, {   4,  0,  606 }, { 137, 11,  444 },\r
+  {   6, 11,   44 }, { 136, 11,  368 }, { 139, 11,  172 }, {   4, 11,  570 },\r
+  { 133, 11,  120 }, { 139, 11,  624 }, {   7,  0, 1978 }, {   8,  0,  676 },\r
+  {   6, 10,  225 }, { 137, 10,  211 }, {   7,  0,  972 }, {  11,  0,  102 },\r
+  { 136, 10,  687 }, {   6, 11,  227 }, { 135, 11, 1589 }, {   8, 10,   58 },\r
+  {   9, 10,  724 }, {  11, 10,  809 }, {  13, 10,  113 }, { 145, 10,   72 },\r
+  {   4,  0,  361 }, { 133,  0,  315 }, { 132,  0,  461 }, {   6, 10,  345 },\r
+  { 135, 10, 1247 }, { 132,  0,  472 }, {   8, 10,  767 }, {   8, 10,  803 },\r
+  {   9, 10,  301 }, { 137, 10,  903 }, { 135, 11, 1333 }, { 135, 11,  477 },\r
+  {   7, 10, 1949 }, { 136, 10,  674 }, {   6,  0,  905 }, { 138,  0,  747 },\r
+  { 133,  0,  155 }, { 134, 10,  259 }, {   7,  0,  163 }, {   8,  0,  319 },\r
+  {   9,  0,  402 }, {  10,  0,   24 }, {  10,  0,  681 }, {  11,  0,  200 },\r
+  {  12,  0,  253 }, {  12,  0,  410 }, { 142,  0,  219 }, {   5,  0,  475 },\r
+  {   7,  0, 1780 }, {   9,  0,  230 }, {  11,  0,  297 }, {  11,  0,  558 },\r
+  {  14,  0,  322 }, {  19,  0,   76 }, {   6, 11, 1667 }, {   7, 11, 2036 },\r
+  { 138, 11,  600 }, { 136, 10,  254 }, {   6,  0,  848 }, { 135,  0, 1956 },\r
+  {   6, 11,  511 }, { 140, 11,  132 }, {   5, 11,  568 }, {   6, 11,  138 },\r
+  { 135, 11, 1293 }, {   6,  0,  631 }, { 137,  0,  838 }, { 149,  0,   36 },\r
+  {   4, 11,  565 }, {   8, 11,   23 }, { 136, 11,  827 }, {   5,  0,  944 },\r
+  { 134,  0, 1769 }, {   4,  0,  144 }, {   6,  0,  842 }, {   6,  0, 1400 },\r
+  {   4, 11,  922 }, { 133, 11, 1023 }, { 133, 10,  248 }, {   9, 10,  800 },\r
+  {  10, 10,  693 }, {  11, 10,  482 }, {  11, 10,  734 }, { 139, 10,  789 },\r
+  {   7, 11, 1002 }, { 139, 11,  145 }, {   4, 10,  116 }, {   5, 10,   95 },\r
+  {   5, 10,  445 }, {   7, 10, 1688 }, {   8, 10,   29 }, {   9, 10,  272 },\r
+  {  11, 10,  509 }, { 139, 10,  915 }, {  14,  0,  369 }, { 146,  0,   72 },\r
+  { 135, 10, 1641 }, { 132, 11,  740 }, { 133, 10,  543 }, { 140, 11,  116 },\r
+  {   6,  0,  247 }, {   9,  0,  555 }, {   5, 10,  181 }, { 136, 10,   41 },\r
+  { 133, 10,  657 }, { 136,  0,  996 }, { 138, 10,  709 }, {   7,  0,  189 },\r
+  {   8, 10,  202 }, { 138, 10,  536 }, { 136, 11,  402 }, {   4, 11,  716 },\r
+  { 141, 11,   31 }, {  10,  0,  280 }, { 138,  0,  797 }, {   9, 10,  423 },\r
+  { 140, 10,   89 }, {   8, 10,  113 }, {   9, 10,  877 }, {  10, 10,  554 },\r
+  {  11, 10,   83 }, {  12, 10,  136 }, { 147, 10,  109 }, { 133, 10,  976 },\r
+  {   7,  0,  746 }, { 132, 10,  206 }, { 136,  0,  526 }, { 139,  0,  345 },\r
+  { 136,  0, 1017 }, {   8, 11,  152 }, {   9, 11,   53 }, {   9, 11,  268 },\r
+  {   9, 11,  901 }, {  10, 11,  518 }, {  10, 11,  829 }, {  11, 11,  188 },\r
+  {  13, 11,   74 }, {  14, 11,   46 }, {  15, 11,   17 }, {  15, 11,   33 },\r
+  {  17, 11,   40 }, {  18, 11,   36 }, {  19, 11,   20 }, {  22, 11,    1 },\r
+  { 152, 11,    2 }, { 133, 11,  736 }, { 136, 11,  532 }, {   5,  0,  428 },\r
+  { 138,  0,  651 }, { 135, 11,  681 }, { 135,  0, 1162 }, {   7,  0,  327 },\r
+  {  13,  0,  230 }, {  17,  0,  113 }, {   8, 10,  226 }, {  10, 10,  537 },\r
+  {  11, 10,  570 }, {  11, 10,  605 }, {  11, 10,  799 }, {  11, 10,  804 },\r
+  {  12, 10,   85 }, {  12, 10,  516 }, {  12, 10,  623 }, {  12, 11,  677 },\r
+  {  13, 10,  361 }, {  14, 10,   77 }, {  14, 10,   78 }, { 147, 10,  110 },\r
+  {   4,  0,  792 }, {   7,  0, 1717 }, {  10,  0,  546 }, { 132, 10,  769 },\r
+  {   4, 11,  684 }, { 136, 11,  384 }, { 132, 10,  551 }, { 134,  0, 1203 },\r
+  {   9, 10,   57 }, {   9, 10,  459 }, {  10, 10,  425 }, {  11, 10,  119 },\r
+  {  12, 10,  184 }, {  12, 10,  371 }, {  13, 10,  358 }, { 145, 10,   51 },\r
+  {   5,  0,  672 }, {   5, 10,  814 }, {   8, 10,   10 }, {   9, 10,  421 },\r
+  {   9, 10,  729 }, {  10, 10,  609 }, { 139, 10,  689 }, { 138,  0,  189 },\r
+  { 134, 10,  624 }, {   7, 11,  110 }, {   7, 11,  188 }, {   8, 11,  290 },\r
+  {   8, 11,  591 }, {   9, 11,  382 }, {   9, 11,  649 }, {  11, 11,   71 },\r
+  {  11, 11,  155 }, {  11, 11,  313 }, {  12, 11,    5 }, {  13, 11,  325 },\r
+  { 142, 11,  287 }, { 133,  0,   99 }, {   6,  0, 1053 }, { 135,  0,  298 },\r
+  {   7, 11,  360 }, {   7, 11,  425 }, {   9, 11,   66 }, {   9, 11,  278 },\r
+  { 138, 11,  644 }, {   4,  0,  397 }, { 136,  0,  555 }, { 137, 10,  269 },\r
+  { 132, 10,  528 }, {   4, 11,  900 }, { 133, 11,  861 }, {   6,  0, 1157 },\r
+  {   5, 11,  254 }, {   7, 11,  985 }, { 136, 11,   73 }, {   7, 11, 1959 },\r
+  { 136, 11,  683 }, {  12,  0,  398 }, {  20,  0,   39 }, {  21,  0,   11 },\r
+  { 150,  0,   41 }, {   4,  0,  485 }, {   7,  0,  353 }, { 135,  0, 1523 },\r
+  {   6,  0,  366 }, {   7,  0, 1384 }, { 135,  0, 1601 }, { 138,  0,  787 },\r
+  { 137,  0,  282 }, {   5, 10,  104 }, {   6, 10,  173 }, { 135, 10, 1631 },\r
+  { 139, 11,  146 }, {   4,  0,  157 }, { 133,  0,  471 }, { 134,  0,  941 },\r
+  { 132, 11,  725 }, {   7,  0, 1336 }, {   8, 10,  138 }, {   8, 10,  342 },\r
+  {   9, 10,   84 }, {  10, 10,  193 }, {  11, 10,  883 }, { 140, 10,  359 },\r
+  { 134, 11,  196 }, { 136,  0,  116 }, { 133, 11,  831 }, { 134,  0,  787 },\r
+  { 134, 10,   95 }, {   6, 10,  406 }, {  10, 10,  409 }, {  10, 10,  447 },\r
+  {  11, 10,   44 }, { 140, 10,  100 }, {   5,  0,  160 }, {   7,  0,  363 },\r
+  {   7,  0,  589 }, {  10,  0,  170 }, { 141,  0,   55 }, { 134,  0, 1815 },\r
+  { 132,  0,  866 }, {   6,  0,  889 }, {   6,  0, 1067 }, {   6,  0, 1183 },\r
+  {   4, 11,  321 }, { 134, 11,  569 }, {   5, 11,  848 }, { 134, 11,   66 },\r
+  {   4, 11,   36 }, {   6, 10, 1636 }, {   7, 11, 1387 }, {  10, 11,  205 },\r
+  {  11, 11,  755 }, { 141, 11,  271 }, { 132,  0,  689 }, {   9,  0,  820 },\r
+  {   4, 10,  282 }, {   7, 10, 1034 }, {  11, 10,  398 }, {  11, 10,  634 },\r
+  {  12, 10,    1 }, {  12, 10,   79 }, {  12, 10,  544 }, {  14, 10,  237 },\r
+  {  17, 10,   10 }, { 146, 10,   20 }, {   4,  0,  108 }, {   7,  0,  804 },\r
+  { 139,  0,  498 }, { 132, 11,  887 }, {   6,  0, 1119 }, { 135, 11,  620 },\r
+  {   6, 11,  165 }, { 138, 11,  388 }, {   5,  0,  244 }, {   5, 10,  499 },\r
+  {   6, 10,  476 }, {   7, 10,  600 }, {   7, 10,  888 }, { 135, 10, 1096 },\r
+  { 140,  0,  609 }, { 135,  0, 1005 }, {   4,  0,  412 }, { 133,  0,  581 },\r
+  {   4, 11,  719 }, { 135, 11,  155 }, {   7, 10,  296 }, {   7, 10,  596 },\r
+  {   8, 10,  560 }, {   8, 10,  586 }, {   9, 10,  612 }, {  11, 10,  304 },\r
+  {  12, 10,   46 }, {  13, 10,   89 }, {  14, 10,  112 }, { 145, 10,  122 },\r
+  {   4,  0,  895 }, { 133,  0,  772 }, { 142, 11,  307 }, { 135,  0, 1898 },\r
+  {   4,  0,  926 }, { 133,  0,  983 }, {   4, 11,  353 }, {   6, 11,  146 },\r
+  {   6, 11, 1789 }, {   7, 11,  288 }, {   7, 11,  990 }, {   7, 11, 1348 },\r
+  {   9, 11,  665 }, {   9, 11,  898 }, {  11, 11,  893 }, { 142, 11,  212 },\r
+  { 132,  0,  538 }, { 133, 11,  532 }, {   6,  0,  294 }, {   7,  0, 1267 },\r
+  {   8,  0,  624 }, { 141,  0,  496 }, {   7,  0, 1325 }, {   4, 11,   45 },\r
+  { 135, 11, 1257 }, { 138,  0,  301 }, {   9,  0,  298 }, {  12,  0,  291 },\r
+  {  13,  0,  276 }, {  14,  0,    6 }, {  17,  0,   18 }, {  21,  0,   32 },\r
+  {   7, 10, 1599 }, {   7, 10, 1723 }, {   8, 10,   79 }, {   8, 10,  106 },\r
+  {   8, 10,  190 }, {   8, 10,  302 }, {   8, 10,  383 }, {   8, 10,  713 },\r
+  {   9, 10,  119 }, {   9, 10,  233 }, {   9, 10,  419 }, {   9, 10,  471 },\r
+  {  10, 10,  181 }, {  10, 10,  406 }, {  11, 10,   57 }, {  11, 10,   85 },\r
+  {  11, 10,  120 }, {  11, 10,  177 }, {  11, 10,  296 }, {  11, 10,  382 },\r
+  {  11, 10,  454 }, {  11, 10,  758 }, {  11, 10,  999 }, {  12, 10,   27 },\r
+  {  12, 10,  131 }, {  12, 10,  245 }, {  12, 10,  312 }, {  12, 10,  446 },\r
+  {  12, 10,  454 }, {  13, 10,   98 }, {  13, 10,  426 }, {  13, 10,  508 },\r
+  {  14, 10,  163 }, {  14, 10,  272 }, {  14, 10,  277 }, {  14, 10,  370 },\r
+  {  15, 10,   95 }, {  15, 10,  138 }, {  15, 10,  167 }, {  17, 10,   38 },\r
+  { 148, 10,   96 }, { 132,  0,  757 }, { 134,  0, 1263 }, {   4,  0,  820 },\r
+  { 134, 10, 1759 }, { 133,  0,  722 }, { 136, 11,  816 }, { 138, 10,  372 },\r
+  { 145, 10,   16 }, { 134,  0, 1039 }, {   4,  0,  991 }, { 134,  0, 2028 },\r
+  { 133, 10,  258 }, {   7,  0, 1875 }, { 139,  0,  124 }, {   6, 11,  559 },\r
+  {   6, 11, 1691 }, { 135, 11,  586 }, {   5,  0,  324 }, {   7,  0,  881 },\r
+  {   8, 10,  134 }, {   9, 10,  788 }, { 140, 10,  438 }, {   7, 11, 1823 },\r
+  { 139, 11,  693 }, {   6,  0, 1348 }, { 134,  0, 1545 }, { 134,  0,  911 },\r
+  { 132,  0,  954 }, {   8,  0,  329 }, {   8,  0,  414 }, {   7, 10, 1948 },\r
+  { 135, 10, 2004 }, {   5,  0,  517 }, {   6, 10,  439 }, {   7, 10,  780 },\r
+  { 135, 10, 1040 }, { 132,  0,  816 }, {   5, 10,    1 }, {   6, 10,   81 },\r
+  { 138, 10,  520 }, {   9,  0,  713 }, {  10,  0,  222 }, {   5, 10,  482 },\r
+  {   8, 10,   98 }, {  10, 10,  700 }, {  10, 10,  822 }, {  11, 10,  302 },\r
+  {  11, 10,  778 }, {  12, 10,   50 }, {  12, 10,  127 }, {  12, 10,  396 },\r
+  {  13, 10,   62 }, {  13, 10,  328 }, {  14, 10,  122 }, { 147, 10,   72 },\r
+  { 137,  0,   33 }, {   5, 10,    2 }, {   7, 10, 1494 }, { 136, 10,  589 },\r
+  {   6, 10,  512 }, {   7, 10,  797 }, {   8, 10,  253 }, {   9, 10,   77 },\r
+  {  10, 10,    1 }, {  10, 11,  108 }, {  10, 10,  129 }, {  10, 10,  225 },\r
+  {  11, 11,  116 }, {  11, 10,  118 }, {  11, 10,  226 }, {  11, 10,  251 },\r
+  {  11, 10,  430 }, {  11, 10,  701 }, {  11, 10,  974 }, {  11, 10,  982 },\r
+  {  12, 10,   64 }, {  12, 10,  260 }, {  12, 10,  488 }, { 140, 10,  690 },\r
+  { 134, 11,  456 }, { 133, 11,  925 }, {   5,  0,  150 }, {   7,  0,  106 },\r
+  {   7,  0,  774 }, {   8,  0,  603 }, {   9,  0,  593 }, {   9,  0,  634 },\r
+  {  10,  0,   44 }, {  10,  0,  173 }, {  11,  0,  462 }, {  11,  0,  515 },\r
+  {  13,  0,  216 }, {  13,  0,  288 }, { 142,  0,  400 }, { 137, 10,  347 },\r
+  {   5,  0,  748 }, { 134,  0,  553 }, {  12,  0,  108 }, { 141,  0,  291 },\r
+  {   7,  0,  420 }, {   4, 10,   12 }, {   7, 10,  522 }, {   7, 10,  809 },\r
+  {   8, 10,  797 }, { 141, 10,   88 }, {   6, 11,  193 }, {   7, 11,  240 },\r
+  {   7, 11, 1682 }, {  10, 11,   51 }, {  10, 11,  640 }, {  11, 11,  410 },\r
+  {  13, 11,   82 }, {  14, 11,  247 }, {  14, 11,  331 }, { 142, 11,  377 },\r
+  { 133, 10,  528 }, { 135,  0, 1777 }, {   4,  0,  493 }, { 144,  0,   55 },\r
+  { 136, 11,  633 }, { 139,  0,   81 }, {   6,  0,  980 }, { 136,  0,  321 },\r
+  { 148, 10,  109 }, {   5, 10,  266 }, {   9, 10,  290 }, {   9, 10,  364 },\r
+  {  10, 10,  293 }, {  11, 10,  606 }, { 142, 10,   45 }, {   6,  0,  568 },\r
+  {   7,  0,  112 }, {   7,  0, 1804 }, {   8,  0,  362 }, {   8,  0,  410 },\r
+  {   8,  0,  830 }, {   9,  0,  514 }, {  11,  0,  649 }, { 142,  0,  157 },\r
+  {   4,  0,   74 }, {   6,  0,  510 }, {   6, 10,  594 }, {   9, 10,  121 },\r
+  {  10, 10,   49 }, {  10, 10,  412 }, { 139, 10,  834 }, { 134,  0,  838 },\r
+  { 136, 10,  748 }, { 132, 10,  466 }, { 132,  0,  625 }, { 135, 11, 1443 },\r
+  {   4, 11,  237 }, { 135, 11,  514 }, {   9, 10,  378 }, { 141, 10,  162 },\r
+  {   6,  0,   16 }, {   6,  0,  158 }, {   7,  0,   43 }, {   7,  0,  129 },\r
+  {   7,  0,  181 }, {   8,  0,  276 }, {   8,  0,  377 }, {  10,  0,  523 },\r
+  {  11,  0,  816 }, {  12,  0,  455 }, {  13,  0,  303 }, { 142,  0,  135 },\r
+  { 135,  0,  281 }, {   4,  0,    1 }, {   7,  0, 1143 }, {   7,  0, 1463 },\r
+  {   8,  0,   61 }, {   9,  0,  207 }, {   9,  0,  390 }, {   9,  0,  467 },\r
+  { 139,  0,  836 }, {   6, 11,  392 }, {   7, 11,   65 }, { 135, 11, 2019 },\r
+  { 132, 10,  667 }, {   4,  0,  723 }, {   5,  0,  895 }, {   7,  0, 1031 },\r
+  {   8,  0,  199 }, {   8,  0,  340 }, {   9,  0,  153 }, {   9,  0,  215 },\r
+  {  10,  0,   21 }, {  10,  0,   59 }, {  10,  0,   80 }, {  10,  0,  224 },\r
+  {  10,  0,  838 }, {  11,  0,  229 }, {  11,  0,  652 }, {  12,  0,  192 },\r
+  {  13,  0,  146 }, { 142,  0,   91 }, { 132,  0,  295 }, { 137,  0,   51 },\r
+  {   9, 11,  222 }, {  10, 11,   43 }, { 139, 11,  900 }, {   5,  0,  309 },\r
+  { 140,  0,  211 }, {   5,  0,  125 }, {   8,  0,   77 }, { 138,  0,   15 },\r
+  { 136, 11,  604 }, { 138,  0,  789 }, {   5,  0,  173 }, {   4, 10,   39 },\r
+  {   7, 10, 1843 }, {   8, 10,  407 }, {  11, 10,  144 }, { 140, 10,  523 },\r
+  { 138, 11,  265 }, { 133,  0,  439 }, { 132, 10,  510 }, {   7,  0,  648 },\r
+  {   7,  0,  874 }, {  11,  0,  164 }, {  12,  0,   76 }, {  18,  0,    9 },\r
+  {   7, 10, 1980 }, {  10, 10,  487 }, { 138, 10,  809 }, {  12,  0,  111 },\r
+  {  14,  0,  294 }, {  19,  0,   45 }, {  13, 10,  260 }, { 146, 10,   63 },\r
+  { 133, 11,  549 }, { 134, 10,  570 }, {   4,  0,    8 }, {   7,  0, 1152 },\r
+  {   7,  0, 1153 }, {   7,  0, 1715 }, {   9,  0,  374 }, {  10,  0,  478 },\r
+  { 139,  0,  648 }, { 135,  0, 1099 }, {   5,  0,  575 }, {   6,  0,  354 },\r
+  { 135,  0,  701 }, {   7, 11,   36 }, {   8, 11,  201 }, { 136, 11,  605 },\r
+  {   4, 10,  787 }, { 136, 11,  156 }, {   6,  0,  518 }, { 149, 11,   13 },\r
+  { 140, 11,  224 }, { 134,  0,  702 }, { 132, 10,  516 }, {   5, 11,  724 },\r
+  {  10, 11,  305 }, {  11, 11,  151 }, {  12, 11,   33 }, {  12, 11,  121 },\r
+  {  12, 11,  381 }, {  17, 11,    3 }, {  17, 11,   27 }, {  17, 11,   78 },\r
+  {  18, 11,   18 }, {  19, 11,   54 }, { 149, 11,    5 }, {   8,  0,   87 },\r
+  {   4, 11,  523 }, {   5, 11,  638 }, {  11, 10,  887 }, {  14, 10,  365 },\r
+  { 142, 10,  375 }, { 138,  0,  438 }, { 136, 10,  821 }, { 135, 11, 1908 },\r
+  {   6, 11,  242 }, {   7, 11,  227 }, {   7, 11, 1581 }, {   8, 11,  104 },\r
+  {   9, 11,  113 }, {   9, 11,  220 }, {   9, 11,  427 }, {  10, 11,   74 },\r
+  {  10, 11,  239 }, {  11, 11,  579 }, {  11, 11, 1023 }, {  13, 11,    4 },\r
+  {  13, 11,  204 }, {  13, 11,  316 }, {  18, 11,   95 }, { 148, 11,   86 },\r
+  {   4,  0,   69 }, {   5,  0,  122 }, {   5,  0,  849 }, {   6,  0, 1633 },\r
+  {   9,  0,  656 }, { 138,  0,  464 }, {   7,  0, 1802 }, {   4, 10,   10 },\r
+  { 139, 10,  786 }, { 135, 11,  861 }, { 139,  0,  499 }, {   7,  0,  476 },\r
+  {   7,  0, 1592 }, { 138,  0,   87 }, { 133, 10,  684 }, {   4,  0,  840 },\r
+  { 134, 10,   27 }, { 142,  0,  283 }, {   6,  0, 1620 }, {   7, 11, 1328 },\r
+  { 136, 11,  494 }, {   5,  0,  859 }, {   7,  0, 1160 }, {   8,  0,  107 },\r
+  {   9,  0,  291 }, {   9,  0,  439 }, {  10,  0,  663 }, {  11,  0,  609 },\r
+  { 140,  0,  197 }, {   7, 11, 1306 }, {   8, 11,  505 }, {   9, 11,  482 },\r
+  {  10, 11,  126 }, {  11, 11,  225 }, {  12, 11,  347 }, {  12, 11,  449 },\r
+  {  13, 11,   19 }, { 142, 11,  218 }, {   5, 11,  268 }, {  10, 11,  764 },\r
+  {  12, 11,  120 }, {  13, 11,   39 }, { 145, 11,  127 }, { 145, 10,   56 },\r
+  {   7, 11, 1672 }, {  10, 11,  472 }, {  11, 11,  189 }, { 143, 11,   51 },\r
+  {   6, 10,  342 }, {   6, 10,  496 }, {   8, 10,  275 }, { 137, 10,  206 },\r
+  { 133,  0,  600 }, {   4,  0,  117 }, {   6,  0,  372 }, {   7,  0, 1905 },\r
+  { 142,  0,  323 }, {   4, 10,  909 }, {   5, 10,  940 }, { 135, 11, 1471 },\r
+  { 132, 10,  891 }, {   4,  0,  722 }, { 139,  0,  471 }, {   4, 11,  384 },\r
+  { 135, 11, 1022 }, { 132, 10,  687 }, {   9,  0,    5 }, {  12,  0,  216 },\r
+  {  12,  0,  294 }, {  12,  0,  298 }, {  12,  0,  400 }, {  12,  0,  518 },\r
+  {  13,  0,  229 }, { 143,  0,  139 }, { 135, 11, 1703 }, {   7, 11, 1602 },\r
+  {  10, 11,  698 }, {  12, 11,  212 }, { 141, 11,  307 }, {   6, 10,   41 },\r
+  { 141, 10,  160 }, { 135, 11, 1077 }, {   9, 11,  159 }, {  11, 11,   28 },\r
+  { 140, 11,  603 }, {   4,  0,  514 }, {   7,  0, 1304 }, { 138,  0,  477 },\r
+  { 134,  0, 1774 }, {   9,  0,   88 }, { 139,  0,  270 }, {   5,  0,   12 },\r
+  {   7,  0,  375 }, {   9,  0,  438 }, { 134, 10, 1718 }, { 132, 11,  515 },\r
+  { 136, 10,  778 }, {   8, 11,  632 }, {   8, 11,  697 }, { 137, 11,  854 },\r
+  {   6,  0,  362 }, {   6,  0,  997 }, { 146,  0,   51 }, {   7,  0,  816 },\r
+  {   7,  0, 1241 }, {   9,  0,  283 }, {   9,  0,  520 }, {  10,  0,  213 },\r
+  {  10,  0,  307 }, {  10,  0,  463 }, {  10,  0,  671 }, {  10,  0,  746 },\r
+  {  11,  0,  401 }, {  11,  0,  794 }, {  12,  0,  517 }, {  18,  0,  107 },\r
+  { 147,  0,  115 }, { 133, 10,  115 }, { 150, 11,   28 }, {   4, 11,  136 },\r
+  { 133, 11,  551 }, { 142, 10,  314 }, { 132,  0,  258 }, {   6,  0,   22 },\r
+  {   7,  0,  903 }, {   7,  0, 1963 }, {   8,  0,  639 }, { 138,  0,  577 },\r
+  {   5,  0,  681 }, {   8,  0,  782 }, {  13,  0,  130 }, {  17,  0,   84 },\r
+  {   5, 10,  193 }, { 140, 10,  178 }, {   9, 11,   17 }, { 138, 11,  291 },\r
+  {   7, 11, 1287 }, {   9, 11,   44 }, {  10, 11,  552 }, {  10, 11,  642 },\r
+  {  11, 11,  839 }, {  12, 11,  274 }, {  12, 11,  275 }, {  12, 11,  372 },\r
+  {  13, 11,   91 }, { 142, 11,  125 }, { 135, 10,  174 }, {   4,  0,  664 },\r
+  {   5,  0,  804 }, { 139,  0, 1013 }, { 134,  0,  942 }, {   6,  0, 1349 },\r
+  {   6,  0, 1353 }, {   6,  0, 1450 }, {   7, 11, 1518 }, { 139, 11,  694 },\r
+  {  11,  0,  356 }, {   4, 10,  122 }, {   5, 10,  796 }, {   5, 10,  952 },\r
+  {   6, 10, 1660 }, {   6, 10, 1671 }, {   8, 10,  567 }, {   9, 10,  687 },\r
+  {   9, 10,  742 }, {  10, 10,  686 }, {  11, 10,  682 }, { 140, 10,  281 },\r
+  {   5,  0,   32 }, {   6, 11,  147 }, {   7, 11,  886 }, {   9, 11,  753 },\r
+  { 138, 11,  268 }, {   5, 10,  179 }, {   7, 10, 1095 }, { 135, 10, 1213 },\r
+  {   4, 10,   66 }, {   7, 10,  722 }, { 135, 10,  904 }, { 135, 10,  352 },\r
+  {   9, 11,  245 }, { 138, 11,  137 }, {   4,  0,  289 }, {   7,  0,  629 },\r
+  {   7,  0, 1698 }, {   7,  0, 1711 }, {  12,  0,  215 }, { 133, 11,  414 },\r
+  {   6,  0, 1975 }, { 135, 11, 1762 }, {   6,  0,  450 }, { 136,  0,  109 },\r
+  { 141, 10,   35 }, { 134, 11,  599 }, { 136,  0,  705 }, { 133,  0,  664 },\r
+  { 134, 11, 1749 }, {  11, 11,  402 }, {  12, 11,  109 }, {  12, 11,  431 },\r
+  {  13, 11,  179 }, {  13, 11,  206 }, {  14, 11,  175 }, {  14, 11,  217 },\r
+  {  16, 11,    3 }, { 148, 11,   53 }, { 135,  0, 1238 }, { 134, 11, 1627 },\r
+  { 132, 11,  488 }, {  13,  0,  318 }, {  10, 10,  592 }, {  10, 10,  753 },\r
+  {  12, 10,  317 }, {  12, 10,  355 }, {  12, 10,  465 }, {  12, 10,  469 },\r
+  {  12, 10,  560 }, { 140, 10,  578 }, { 133, 10,  564 }, { 132, 11,   83 },\r
+  { 140, 11,  676 }, {   6,  0, 1872 }, {   6,  0, 1906 }, {   6,  0, 1907 },\r
+  {   9,  0,  934 }, {   9,  0,  956 }, {   9,  0,  960 }, {   9,  0,  996 },\r
+  {  12,  0,  794 }, {  12,  0,  876 }, {  12,  0,  880 }, {  12,  0,  918 },\r
+  {  15,  0,  230 }, {  18,  0,  234 }, {  18,  0,  238 }, {  21,  0,   38 },\r
+  { 149,  0,   62 }, { 134, 10,  556 }, { 134, 11,  278 }, { 137,  0,  103 },\r
+  {   7, 10,  544 }, {   8, 10,  719 }, { 138, 10,   61 }, {   4, 10,    5 },\r
+  {   5, 10,  498 }, {   8, 10,  637 }, { 137, 10,  521 }, {   7,  0,  777 },\r
+  {  12,  0,  229 }, {  12,  0,  239 }, {  15,  0,   12 }, {  12, 11,  229 },\r
+  {  12, 11,  239 }, { 143, 11,   12 }, {   6,  0,   26 }, {   7, 11,  388 },\r
+  {   7, 11,  644 }, { 139, 11,  781 }, {   7, 11,  229 }, {   8, 11,   59 },\r
+  {   9, 11,  190 }, {   9, 11,  257 }, {  10, 11,  378 }, { 140, 11,  191 },\r
+  { 133, 10,  927 }, { 135, 10, 1441 }, {   4, 10,  893 }, {   5, 10,  780 },\r
+  { 133, 10,  893 }, {   4,  0,  414 }, {   5,  0,  467 }, {   9,  0,  654 },\r
+  {  10,  0,  451 }, {  12,  0,   59 }, { 141,  0,  375 }, { 142,  0,  173 },\r
+  { 135,  0,   17 }, {   7,  0, 1350 }, { 133, 10,  238 }, { 135,  0,  955 },\r
+  {   4,  0,  960 }, {  10,  0,  887 }, {  12,  0,  753 }, {  18,  0,  161 },\r
+  {  18,  0,  162 }, { 152,  0,   19 }, { 136, 11,  344 }, {   6, 10, 1729 },\r
+  { 137, 11,  288 }, { 132, 11,  660 }, {   4,  0,  217 }, {   5,  0,  710 },\r
+  {   7,  0,  760 }, {   7,  0, 1926 }, {   9,  0,  428 }, {   9,  0,  708 },\r
+  {  10,  0,  254 }, {  10,  0,  296 }, {  10,  0,  720 }, {  11,  0,  109 },\r
+  {  11,  0,  255 }, {  12,  0,  165 }, {  12,  0,  315 }, {  13,  0,  107 },\r
+  {  13,  0,  203 }, {  14,  0,   54 }, {  14,  0,   99 }, {  14,  0,  114 },\r
+  {  14,  0,  388 }, {  16,  0,   85 }, {  17,  0,    9 }, {  17,  0,   33 },\r
+  {  20,  0,   25 }, {  20,  0,   28 }, {  20,  0,   29 }, {  21,  0,    9 },\r
+  {  21,  0,   10 }, {  21,  0,   34 }, {  22,  0,   17 }, {   4, 10,   60 },\r
+  {   7, 10, 1800 }, {   8, 10,  314 }, {   9, 10,  700 }, { 139, 10,  487 },\r
+  {   7, 11, 1035 }, { 138, 11,  737 }, {   7, 11,  690 }, {   9, 11,  217 },\r
+  {   9, 11,  587 }, { 140, 11,  521 }, {   6,  0,  919 }, {   7, 11,  706 },\r
+  {   7, 11, 1058 }, { 138, 11,  538 }, {   7, 10, 1853 }, { 138, 10,  437 },\r
+  { 136, 10,  419 }, {   6,  0,  280 }, {  10,  0,  502 }, {  11,  0,  344 },\r
+  { 140,  0,   38 }, {   5,  0,   45 }, {   7,  0, 1161 }, {  11,  0,  448 },\r
+  {  11,  0,  880 }, {  13,  0,  139 }, {  13,  0,  407 }, {  15,  0,   16 },\r
+  {  17,  0,   95 }, {  18,  0,   66 }, {  18,  0,   88 }, {  18,  0,  123 },\r
+  { 149,  0,    7 }, {  11, 11,   92 }, {  11, 11,  196 }, {  11, 11,  409 },\r
+  {  11, 11,  450 }, {  11, 11,  666 }, {  11, 11,  777 }, {  12, 11,  262 },\r
+  {  13, 11,  385 }, {  13, 11,  393 }, {  15, 11,  115 }, {  16, 11,   45 },\r
+  { 145, 11,   82 }, { 136,  0,  777 }, { 134, 11, 1744 }, {   4,  0,  410 },\r
+  {   7,  0,  521 }, { 133, 10,  828 }, { 134,  0,  673 }, {   7,  0, 1110 },\r
+  {   7,  0, 1778 }, {   7, 10,  176 }, { 135, 10,  178 }, {   5, 10,  806 },\r
+  {   7, 11,  268 }, {   7, 10, 1976 }, { 136, 11,  569 }, {   4, 11,  733 },\r
+  {   9, 11,  194 }, {  10, 11,   92 }, {  11, 11,  198 }, {  12, 11,   84 },\r
+  {  12, 11,   87 }, {  13, 11,  128 }, { 144, 11,   74 }, {   5,  0,  341 },\r
+  {   7,  0, 1129 }, {  11,  0,  414 }, {   4, 10,   51 }, {   6, 10,    4 },\r
+  {   7, 10,  591 }, {   7, 10,  849 }, {   7, 10,  951 }, {   7, 10, 1613 },\r
+  {   7, 10, 1760 }, {   7, 10, 1988 }, {   9, 10,  434 }, {  10, 10,  754 },\r
+  {  11, 10,   25 }, { 139, 10,   37 }, { 133, 10,  902 }, { 135, 10,  928 },\r
+  { 135,  0,  787 }, { 132,  0,  436 }, { 134, 10,  270 }, {   7,  0, 1587 },\r
+  { 135,  0, 1707 }, {   6,  0,  377 }, {   7,  0, 1025 }, {   9,  0,  613 },\r
+  { 145,  0,  104 }, {   7, 11,  982 }, {   7, 11, 1361 }, {  10, 11,   32 },\r
+  { 143, 11,   56 }, { 139,  0,   96 }, { 132,  0,  451 }, { 132, 10,  416 },\r
+  { 142, 10,  372 }, {   5, 10,  152 }, {   5, 10,  197 }, {   7, 11,  306 },\r
+  {   7, 10,  340 }, {   7, 10,  867 }, {  10, 10,  548 }, {  10, 10,  581 },\r
+  {  11, 10,    6 }, {  12, 10,    3 }, {  12, 10,   19 }, {  14, 10,  110 },\r
+  { 142, 10,  289 }, { 134,  0,  680 }, { 134, 11,  609 }, {   7,  0,  483 },\r
+  {   7, 10,  190 }, {   8, 10,   28 }, {   8, 10,  141 }, {   8, 10,  444 },\r
+  {   8, 10,  811 }, {   9, 10,  468 }, {  11, 10,  334 }, {  12, 10,   24 },\r
+  {  12, 10,  386 }, { 140, 10,  576 }, {  10,  0,  916 }, { 133, 10,  757 },\r
+  {   5, 10,  721 }, { 135, 10, 1553 }, { 133, 11,  178 }, { 134,  0,  937 },\r
+  { 132, 10,  898 }, { 133,  0,  739 }, { 147,  0,   82 }, { 135,  0,  663 },\r
+  { 146,  0,  128 }, {   5, 10,  277 }, { 141, 10,  247 }, { 134,  0, 1087 },\r
+  { 132, 10,  435 }, {   6, 11,  381 }, {   7, 11,  645 }, {   7, 11,  694 },\r
+  { 136, 11,  546 }, {   7,  0,  503 }, { 135,  0, 1885 }, {   6,  0, 1965 },\r
+  {   8,  0,  925 }, { 138,  0,  955 }, {   4,  0,  113 }, {   5,  0,  163 },\r
+  {   5,  0,  735 }, {   7,  0, 1009 }, {   9,  0,    9 }, {   9,  0,  771 },\r
+  {  12,  0,   90 }, {  13,  0,  138 }, {  13,  0,  410 }, { 143,  0,  128 },\r
+  {   4,  0,  324 }, { 138,  0,  104 }, {   7,  0,  460 }, {   5, 10,  265 },\r
+  { 134, 10,  212 }, { 133, 11,  105 }, {   7, 11,  261 }, {   7, 11, 1107 },\r
+  {   7, 11, 1115 }, {   7, 11, 1354 }, {   7, 11, 1588 }, {   7, 11, 1705 },\r
+  {   7, 11, 1902 }, {   9, 11,  465 }, {  10, 11,  248 }, {  10, 11,  349 },\r
+  {  10, 11,  647 }, {  11, 11,  527 }, {  11, 11,  660 }, {  11, 11,  669 },\r
+  {  12, 11,  529 }, { 141, 11,  305 }, {   5, 11,  438 }, {   9, 11,  694 },\r
+  {  12, 11,  627 }, { 141, 11,  210 }, { 152, 11,   11 }, {   4,  0,  935 },\r
+  { 133,  0,  823 }, { 132, 10,  702 }, {   5,  0,  269 }, {   7,  0,  434 },\r
+  {   7,  0,  891 }, {   8,  0,  339 }, {   9,  0,  702 }, {  11,  0,  594 },\r
+  {  11,  0,  718 }, {  17,  0,  100 }, {   5, 10,  808 }, { 135, 10, 2045 },\r
+  {   7,  0, 1014 }, {   9,  0,  485 }, { 141,  0,  264 }, { 134,  0, 1713 },\r
+  {   7,  0, 1810 }, {  11,  0,  866 }, {  12,  0,  103 }, {  13,  0,  495 },\r
+  { 140, 11,  233 }, {   4,  0,  423 }, {  10,  0,  949 }, { 138,  0, 1013 },\r
+  { 135,  0,  900 }, {   8, 11,   25 }, { 138, 11,  826 }, {   5, 10,  166 },\r
+  {   8, 10,  739 }, { 140, 10,  511 }, { 134,  0, 2018 }, {   7, 11, 1270 },\r
+  { 139, 11,  612 }, {   4, 10,  119 }, {   5, 10,  170 }, {   5, 10,  447 },\r
+  {   7, 10, 1708 }, {   7, 10, 1889 }, {   9, 10,  357 }, {   9, 10,  719 },\r
+  {  12, 10,  486 }, { 140, 10,  596 }, {  12,  0,  574 }, { 140, 11,  574 },\r
+  { 132, 11,  308 }, {   6,  0,  964 }, {   6,  0, 1206 }, { 134,  0, 1302 },\r
+  {   4, 10,  450 }, { 135, 10, 1158 }, { 135, 11,  150 }, { 136, 11,  649 },\r
+  {  14,  0,  213 }, { 148,  0,   38 }, {   9, 11,   45 }, {   9, 11,  311 },\r
+  { 141, 11,   42 }, { 134, 11,  521 }, {   7, 10, 1375 }, {   7, 10, 1466 },\r
+  { 138, 10,  331 }, { 132, 10,  754 }, {   5, 11,  339 }, {   7, 11, 1442 },\r
+  {  14, 11,    3 }, {  15, 11,   41 }, { 147, 11,   66 }, { 136, 11,  378 },\r
+  { 134,  0, 1022 }, {   5, 10,  850 }, { 136, 10,  799 }, { 142,  0,  143 },\r
+  { 135,  0, 2029 }, { 134, 11, 1628 }, {   8,  0,  523 }, { 150,  0,   34 },\r
+  {   5,  0,  625 }, { 135,  0, 1617 }, {   7,  0,  275 }, {   7, 10,  238 },\r
+  {   7, 10, 2033 }, {   8, 10,  120 }, {   8, 10,  188 }, {   8, 10,  659 },\r
+  {   9, 10,  598 }, {  10, 10,  466 }, {  12, 10,  342 }, {  12, 10,  588 },\r
+  {  13, 10,  503 }, {  14, 10,  246 }, { 143, 10,   92 }, {   7,  0,   37 },\r
+  {   8,  0,  425 }, {   8,  0,  693 }, {   9,  0,  720 }, {  10,  0,  380 },\r
+  {  10,  0,  638 }, {  11,  0,  273 }, {  11,  0,  473 }, {  12,  0,   61 },\r
+  { 143,  0,   43 }, { 135, 11,  829 }, { 135,  0, 1943 }, { 132,  0,  765 },\r
+  {   5, 11,  486 }, { 135, 11, 1349 }, {   7, 11, 1635 }, {   8, 11,   17 },\r
+  {  10, 11,  217 }, { 138, 11,  295 }, {   4, 10,  201 }, {   7, 10, 1744 },\r
+  {   8, 10,  602 }, {  11, 10,  247 }, {  11, 10,  826 }, { 145, 10,   65 },\r
+  { 138, 11,  558 }, {  11,  0,  551 }, { 142,  0,  159 }, {   8, 10,  164 },\r
+  { 146, 10,   62 }, { 139, 11,  176 }, { 132,  0,  168 }, { 136,  0, 1010 },\r
+  { 134,  0, 1994 }, { 135,  0,   91 }, { 138,  0,  532 }, { 135, 10, 1243 },\r
+  { 135,  0, 1884 }, { 132, 10,  907 }, {   5, 10,  100 }, {  10, 10,  329 },\r
+  {  12, 10,  416 }, { 149, 10,   29 }, { 134, 11,  447 }, { 132, 10,  176 },\r
+  {   5, 10,  636 }, {   5, 10,  998 }, {   7, 10,    9 }, {   7, 10, 1508 },\r
+  {   8, 10,   26 }, {   9, 10,  317 }, {   9, 10,  358 }, {  10, 10,  210 },\r
+  {  10, 10,  292 }, {  10, 10,  533 }, {  11, 10,  555 }, {  12, 10,  526 },\r
+  {  12, 10,  607 }, {  13, 10,  263 }, {  13, 10,  459 }, { 142, 10,  271 },\r
+  {   4, 11,  609 }, { 135, 11,  756 }, {   6,  0,   15 }, {   7,  0,   70 },\r
+  {  10,  0,  240 }, { 147,  0,   93 }, {   4, 11,  930 }, { 133, 11,  947 },\r
+  { 134,  0, 1227 }, { 134,  0, 1534 }, { 133, 11,  939 }, { 133, 11,  962 },\r
+  {   5, 11,  651 }, {   8, 11,  170 }, {   9, 11,   61 }, {   9, 11,   63 },\r
+  {  10, 11,   23 }, {  10, 11,   37 }, {  10, 11,  834 }, {  11, 11,    4 },\r
+  {  11, 11,  187 }, {  11, 11,  281 }, {  11, 11,  503 }, {  11, 11,  677 },\r
+  {  12, 11,   96 }, {  12, 11,  130 }, {  12, 11,  244 }, {  14, 11,    5 },\r
+  {  14, 11,   40 }, {  14, 11,  162 }, {  14, 11,  202 }, { 146, 11,  133 },\r
+  {   4, 11,  406 }, {   5, 11,  579 }, {  12, 11,  492 }, { 150, 11,   15 },\r
+  { 139,  0,  392 }, {   6, 10,  610 }, {  10, 10,  127 }, { 141, 10,   27 },\r
+  {   7,  0,  655 }, {   7,  0, 1844 }, { 136, 10,  119 }, {   4,  0,  145 },\r
+  {   6,  0,  176 }, {   7,  0,  395 }, { 137,  0,  562 }, { 132,  0,  501 },\r
+  { 140, 11,  145 }, { 136,  0, 1019 }, { 134,  0,  509 }, { 139,  0,  267 },\r
+  {   6, 11,   17 }, {   7, 11,   16 }, {   7, 11, 1001 }, {   7, 11, 1982 },\r
+  {   9, 11,  886 }, {  10, 11,  489 }, {  10, 11,  800 }, {  11, 11,  782 },\r
+  {  12, 11,  320 }, {  13, 11,  467 }, {  14, 11,  145 }, {  14, 11,  387 },\r
+  { 143, 11,  119 }, { 145, 11,   17 }, {   6,  0, 1099 }, { 133, 11,  458 },\r
+  {   7, 11, 1983 }, {   8, 11,    0 }, {   8, 11,  171 }, {   9, 11,  120 },\r
+  {   9, 11,  732 }, {  10, 11,  473 }, {  11, 11,  656 }, {  11, 11,  998 },\r
+  {  18, 11,    0 }, {  18, 11,    2 }, { 147, 11,   21 }, {  12, 11,  427 },\r
+  { 146, 11,   38 }, {  10,  0,  948 }, { 138,  0,  968 }, {   7, 10,  126 },\r
+  { 136, 10,   84 }, { 136, 10,  790 }, {   4,  0,  114 }, {   9,  0,  492 },\r
+  {  13,  0,  462 }, { 142,  0,  215 }, {   6, 10,   64 }, {  12, 10,  377 },\r
+  { 141, 10,  309 }, {   4,  0,   77 }, {   5,  0,  361 }, {   6,  0,  139 },\r
+  {   6,  0,  401 }, {   6,  0,  404 }, {   7,  0,  413 }, {   7,  0,  715 },\r
+  {   7,  0, 1716 }, {  11,  0,  279 }, {  12,  0,  179 }, {  12,  0,  258 },\r
+  {  13,  0,  244 }, { 142,  0,  358 }, { 134,  0, 1717 }, {   7,  0,  772 },\r
+  {   7,  0, 1061 }, {   7,  0, 1647 }, {   8,  0,   82 }, {  11,  0,  250 },\r
+  {  11,  0,  607 }, {  12,  0,  311 }, {  12,  0,  420 }, {  13,  0,  184 },\r
+  {  13,  0,  367 }, {   7, 10, 1104 }, {  11, 10,  269 }, {  11, 10,  539 },\r
+  {  11, 10,  627 }, {  11, 10,  706 }, {  11, 10,  975 }, {  12, 10,  248 },\r
+  {  12, 10,  434 }, {  12, 10,  600 }, {  12, 10,  622 }, {  13, 10,  297 },\r
+  {  13, 10,  485 }, {  14, 10,   69 }, {  14, 10,  409 }, { 143, 10,  108 },\r
+  { 135,  0,  724 }, {   4, 11,  512 }, {   4, 11,  519 }, { 133, 11,  342 },\r
+  { 134,  0, 1133 }, { 145, 11,   29 }, {  11, 10,  977 }, { 141, 10,  507 },\r
+  {   6,  0,  841 }, {   6,  0, 1042 }, {   6,  0, 1194 }, {  10,  0,  993 },\r
+  { 140,  0, 1021 }, {   6, 11,   31 }, {   7, 11,  491 }, {   7, 11,  530 },\r
+  {   8, 11,  592 }, {   9, 10,   34 }, {  11, 11,   53 }, {  11, 10,  484 },\r
+  {  11, 11,  779 }, {  12, 11,  167 }, {  12, 11,  411 }, {  14, 11,   14 },\r
+  {  14, 11,  136 }, {  15, 11,   72 }, {  16, 11,   17 }, { 144, 11,   72 },\r
+  {   4,  0, 1021 }, {   6,  0, 2037 }, { 133, 11,  907 }, {   7,  0,  373 },\r
+  {   8,  0,  335 }, {   8,  0,  596 }, {   9,  0,  488 }, {   6, 10, 1700 },\r
+  {   7, 10,  293 }, {   7, 10,  382 }, {   7, 10, 1026 }, {   7, 10, 1087 },\r
+  {   7, 10, 2027 }, {   8, 10,  252 }, {   8, 10,  727 }, {   8, 10,  729 },\r
+  {   9, 10,   30 }, {   9, 10,  199 }, {   9, 10,  231 }, {   9, 10,  251 },\r
+  {   9, 10,  334 }, {   9, 10,  361 }, {   9, 10,  712 }, {  10, 10,   55 },\r
+  {  10, 10,   60 }, {  10, 10,  232 }, {  10, 10,  332 }, {  10, 10,  384 },\r
+  {  10, 10,  396 }, {  10, 10,  504 }, {  10, 10,  542 }, {  10, 10,  652 },\r
+  {  11, 10,   20 }, {  11, 10,   48 }, {  11, 10,  207 }, {  11, 10,  291 },\r
+  {  11, 10,  298 }, {  11, 10,  342 }, {  11, 10,  365 }, {  11, 10,  394 },\r
+  {  11, 10,  620 }, {  11, 10,  705 }, {  11, 10, 1017 }, {  12, 10,  123 },\r
+  {  12, 10,  340 }, {  12, 10,  406 }, {  12, 10,  643 }, {  13, 10,   61 },\r
+  {  13, 10,  269 }, {  13, 10,  311 }, {  13, 10,  319 }, {  13, 10,  486 },\r
+  {  14, 10,  234 }, {  15, 10,   62 }, {  15, 10,   85 }, {  16, 10,   71 },\r
+  {  18, 10,  119 }, { 148, 10,  105 }, { 150,  0,   37 }, {   4, 11,  208 },\r
+  {   5, 11,  106 }, {   6, 11,  531 }, {   8, 11,  408 }, {   9, 11,  188 },\r
+  { 138, 11,  572 }, { 132,  0,  564 }, {   6,  0,  513 }, { 135,  0, 1052 },\r
+  { 132,  0,  825 }, {   9,  0,  899 }, { 140, 11,  441 }, { 134,  0,  778 },\r
+  { 133, 11,  379 }, {   7,  0, 1417 }, {  12,  0,  382 }, {  17,  0,   48 },\r
+  { 152,  0,   12 }, { 132, 11,  241 }, {   7,  0, 1116 }, {   6, 10,  379 },\r
+  {   7, 10,  270 }, {   8, 10,  176 }, {   8, 10,  183 }, {   9, 10,  432 },\r
+  {   9, 10,  661 }, {  12, 10,  247 }, {  12, 10,  617 }, { 146, 10,  125 },\r
+  {   5, 10,  792 }, { 133, 10,  900 }, {   6,  0,  545 }, {   7,  0,  565 },\r
+  {   7,  0, 1669 }, {  10,  0,  114 }, {  11,  0,  642 }, { 140,  0,  618 },\r
+  { 133,  0,    5 }, { 138, 11,    7 }, { 132, 11,  259 }, { 135,  0,  192 },\r
+  { 134,  0,  701 }, { 136,  0,  763 }, { 135, 10, 1979 }, {   4, 10,  901 },\r
+  { 133, 10,  776 }, {  10,  0,  755 }, { 147,  0,   29 }, { 133,  0,  759 },\r
+  {   4, 11,  173 }, {   5, 11,  312 }, {   5, 11,  512 }, { 135, 11, 1285 },\r
+  {   7, 11, 1603 }, {   7, 11, 1691 }, {   9, 11,  464 }, {  11, 11,  195 },\r
+  {  12, 11,  279 }, {  12, 11,  448 }, {  14, 11,   11 }, { 147, 11,  102 },\r
+  {   7,  0,  370 }, {   7,  0, 1007 }, {   7,  0, 1177 }, { 135,  0, 1565 },\r
+  { 135,  0, 1237 }, {   4,  0,   87 }, {   5,  0,  250 }, { 141,  0,  298 },\r
+  {   4, 11,  452 }, {   5, 11,  583 }, {   5, 11,  817 }, {   6, 11,  433 },\r
+  {   7, 11,  593 }, {   7, 11,  720 }, {   7, 11, 1378 }, {   8, 11,  161 },\r
+  {   9, 11,  284 }, {  10, 11,  313 }, { 139, 11,  886 }, {   4, 11,  547 },\r
+  { 135, 11, 1409 }, { 136, 11,  722 }, {   4, 10,   37 }, {   5, 10,  334 },\r
+  { 135, 10, 1253 }, { 132, 10,  508 }, {  12,  0,  107 }, { 146,  0,   31 },\r
+  {   8, 11,  420 }, { 139, 11,  193 }, { 135,  0,  814 }, { 135, 11,  409 },\r
+  { 140,  0,  991 }, {   4,  0,   57 }, {   7,  0, 1195 }, {   7,  0, 1438 },\r
+  {   7,  0, 1548 }, {   7,  0, 1835 }, {   7,  0, 1904 }, {   9,  0,  757 },\r
+  {  10,  0,  604 }, { 139,  0,  519 }, { 132,  0,  540 }, { 138, 11,  308 },\r
+  { 132, 10,  533 }, { 136,  0,  608 }, { 144, 11,   65 }, {   4,  0, 1014 },\r
+  { 134,  0, 2029 }, {   4,  0,  209 }, {   7,  0,  902 }, {   5, 11, 1002 },\r
+  { 136, 11,  745 }, { 134,  0, 2030 }, {   6,  0,  303 }, {   7,  0,  335 },\r
+  {   7,  0, 1437 }, {   7,  0, 1668 }, {   8,  0,  553 }, {   8,  0,  652 },\r
+  {   8,  0,  656 }, {   9,  0,  558 }, {  11,  0,  743 }, { 149,  0,   18 },\r
+  {   5, 11,  575 }, {   6, 11,  354 }, { 135, 11,  701 }, {   4, 11,  239 },\r
+  {   6, 11,  477 }, {   7, 11, 1607 }, {  11, 11,   68 }, { 139, 11,  617 },\r
+  { 132,  0,  559 }, {   8,  0,  527 }, {  18,  0,   60 }, { 147,  0,   24 },\r
+  { 133, 10,  920 }, { 138,  0,  511 }, { 133,  0, 1017 }, { 133,  0,  675 },\r
+  { 138, 10,  391 }, {  11,  0,  156 }, { 135, 10, 1952 }, { 138, 11,  369 },\r
+  { 132, 11,  367 }, { 133,  0,  709 }, {   6,  0,  698 }, { 134,  0,  887 },\r
+  { 142, 10,  126 }, { 134,  0, 1745 }, { 132, 10,  483 }, {  13, 11,  299 },\r
+  { 142, 11,   75 }, { 133,  0,  714 }, {   7,  0,    8 }, { 136,  0,  206 },\r
+  { 138, 10,  480 }, {   4, 11,  694 }, {   9, 10,  495 }, { 146, 10,  104 },\r
+  {   7, 11, 1248 }, {  11, 11,  621 }, { 139, 11,  702 }, { 140, 11,  687 },\r
+  { 132,  0,  776 }, { 139, 10, 1009 }, { 135,  0, 1272 }, { 134,  0, 1059 },\r
+  {   8, 10,  653 }, {  13, 10,   93 }, { 147, 10,   14 }, { 135, 11,  213 },\r
+  { 136,  0,  406 }, { 133, 10,  172 }, { 132,  0,  947 }, {   8,  0,  175 },\r
+  {  10,  0,  168 }, { 138,  0,  573 }, { 132,  0,  870 }, {   6,  0, 1567 },\r
+  { 151, 11,   28 }, { 134, 11,  472 }, {   5, 10,  260 }, { 136, 11,  132 },\r
+  {   4, 11,  751 }, {  11, 11,  390 }, { 140, 11,   32 }, {   4, 11,  409 },\r
+  { 133, 11,   78 }, {  12,  0,  554 }, {   6, 11,  473 }, { 145, 11,  105 },\r
+  { 133,  0,  784 }, {   8,  0,  908 }, { 136, 11,  306 }, { 139,  0,  882 },\r
+  {   6,  0,  358 }, {   7,  0, 1393 }, {   8,  0,  396 }, {  10,  0,  263 },\r
+  {  14,  0,  154 }, {  16,  0,   48 }, {  17,  0,    8 }, {   7, 11, 1759 },\r
+  {   8, 11,  396 }, {  10, 11,  263 }, {  14, 11,  154 }, {  16, 11,   48 },\r
+  { 145, 11,    8 }, {  13, 11,  163 }, {  13, 11,  180 }, {  18, 11,   78 },\r
+  { 148, 11,   35 }, {  14,  0,   32 }, {  18,  0,   85 }, {  20,  0,    2 },\r
+  { 152,  0,   16 }, {   7,  0,  228 }, {  10,  0,  770 }, {   8, 10,  167 },\r
+  {   8, 10,  375 }, {   9, 10,   82 }, {   9, 10,  561 }, { 138, 10,  620 },\r
+  { 132,  0,  845 }, {   9,  0,   14 }, {   9,  0,  441 }, {  10,  0,  306 },\r
+  { 139,  0,    9 }, {  11,  0,  966 }, {  12,  0,  287 }, {  13,  0,  342 },\r
+  {  13,  0,  402 }, {  15,  0,  110 }, {  15,  0,  163 }, {   8, 10,  194 },\r
+  { 136, 10,  756 }, { 134,  0, 1578 }, {   4,  0,  967 }, {   6,  0, 1820 },\r
+  {   6,  0, 1847 }, { 140,  0,  716 }, { 136,  0,  594 }, {   7,  0, 1428 },\r
+  {   7,  0, 1640 }, {   7,  0, 1867 }, {   9,  0,  169 }, {   9,  0,  182 },\r
+  {   9,  0,  367 }, {   9,  0,  478 }, {   9,  0,  506 }, {   9,  0,  551 },\r
+  {   9,  0,  557 }, {   9,  0,  648 }, {   9,  0,  697 }, {   9,  0,  705 },\r
+  {   9,  0,  725 }, {   9,  0,  787 }, {   9,  0,  794 }, {  10,  0,  198 },\r
+  {  10,  0,  214 }, {  10,  0,  267 }, {  10,  0,  275 }, {  10,  0,  456 },\r
+  {  10,  0,  551 }, {  10,  0,  561 }, {  10,  0,  613 }, {  10,  0,  627 },\r
+  {  10,  0,  668 }, {  10,  0,  675 }, {  10,  0,  691 }, {  10,  0,  695 },\r
+  {  10,  0,  707 }, {  10,  0,  715 }, {  11,  0,  183 }, {  11,  0,  201 },\r
+  {  11,  0,  244 }, {  11,  0,  262 }, {  11,  0,  352 }, {  11,  0,  439 },\r
+  {  11,  0,  493 }, {  11,  0,  572 }, {  11,  0,  591 }, {  11,  0,  608 },\r
+  {  11,  0,  611 }, {  11,  0,  646 }, {  11,  0,  674 }, {  11,  0,  711 },\r
+  {  11,  0,  751 }, {  11,  0,  761 }, {  11,  0,  776 }, {  11,  0,  785 },\r
+  {  11,  0,  850 }, {  11,  0,  853 }, {  11,  0,  862 }, {  11,  0,  865 },\r
+  {  11,  0,  868 }, {  11,  0,  875 }, {  11,  0,  898 }, {  11,  0,  902 },\r
+  {  11,  0,  903 }, {  11,  0,  910 }, {  11,  0,  932 }, {  11,  0,  942 },\r
+  {  11,  0,  957 }, {  11,  0,  967 }, {  11,  0,  972 }, {  12,  0,  148 },\r
+  {  12,  0,  195 }, {  12,  0,  220 }, {  12,  0,  237 }, {  12,  0,  318 },\r
+  {  12,  0,  339 }, {  12,  0,  393 }, {  12,  0,  445 }, {  12,  0,  450 },\r
+  {  12,  0,  474 }, {  12,  0,  505 }, {  12,  0,  509 }, {  12,  0,  533 },\r
+  {  12,  0,  591 }, {  12,  0,  594 }, {  12,  0,  597 }, {  12,  0,  621 },\r
+  {  12,  0,  633 }, {  12,  0,  642 }, {  13,  0,   59 }, {  13,  0,   60 },\r
+  {  13,  0,  145 }, {  13,  0,  239 }, {  13,  0,  250 }, {  13,  0,  329 },\r
+  {  13,  0,  344 }, {  13,  0,  365 }, {  13,  0,  372 }, {  13,  0,  387 },\r
+  {  13,  0,  403 }, {  13,  0,  414 }, {  13,  0,  456 }, {  13,  0,  470 },\r
+  {  13,  0,  478 }, {  13,  0,  483 }, {  13,  0,  489 }, {  14,  0,   55 },\r
+  {  14,  0,   57 }, {  14,  0,   81 }, {  14,  0,   90 }, {  14,  0,  148 },\r
+  {  14,  0,  239 }, {  14,  0,  266 }, {  14,  0,  321 }, {  14,  0,  326 },\r
+  {  14,  0,  327 }, {  14,  0,  330 }, {  14,  0,  347 }, {  14,  0,  355 },\r
+  {  14,  0,  401 }, {  14,  0,  404 }, {  14,  0,  411 }, {  14,  0,  414 },\r
+  {  14,  0,  416 }, {  14,  0,  420 }, {  15,  0,   61 }, {  15,  0,   74 },\r
+  {  15,  0,   87 }, {  15,  0,   88 }, {  15,  0,   94 }, {  15,  0,   96 },\r
+  {  15,  0,  116 }, {  15,  0,  149 }, {  15,  0,  154 }, {  16,  0,   50 },\r
+  {  16,  0,   63 }, {  16,  0,   73 }, {  17,  0,    2 }, {  17,  0,   66 },\r
+  {  17,  0,   92 }, {  17,  0,  103 }, {  17,  0,  112 }, {  17,  0,  120 },\r
+  {  18,  0,   50 }, {  18,  0,   54 }, {  18,  0,   82 }, {  18,  0,   86 },\r
+  {  18,  0,   90 }, {  18,  0,  111 }, {  18,  0,  115 }, {  18,  0,  156 },\r
+  {  19,  0,   40 }, {  19,  0,   79 }, {  20,  0,   78 }, {  21,  0,   22 },\r
+  { 135, 11,  883 }, {   5,  0,  161 }, { 135,  0,  839 }, {   4,  0,  782 },\r
+  {  13, 11,  293 }, { 142, 11,   56 }, { 133, 11,  617 }, { 139, 11,   50 },\r
+  { 135, 10,   22 }, { 145,  0,   64 }, {   5, 10,  639 }, {   7, 10, 1249 },\r
+  { 139, 10,  896 }, { 138,  0,  998 }, { 135, 11, 2042 }, {   4, 11,  546 },\r
+  { 142, 11,  233 }, {   6,  0, 1043 }, { 134,  0, 1574 }, { 134,  0, 1496 },\r
+  {   4, 10,  102 }, {   7, 10,  815 }, {   7, 10, 1699 }, { 139, 10,  964 },\r
+  {  12,  0,  781 }, { 142,  0,  461 }, {   4, 11,  313 }, { 133, 11,  577 },\r
+  {   6,  0,  639 }, {   6,  0, 1114 }, { 137,  0,  817 }, {   8, 11,  184 },\r
+  { 141, 11,  433 }, {   7,  0, 1814 }, { 135, 11,  935 }, {  10,  0,  997 },\r
+  { 140,  0,  958 }, {   4,  0,  812 }, { 137, 11,  625 }, { 132, 10,  899 },\r
+  { 136, 10,  795 }, {   5, 11,  886 }, {   6, 11,   46 }, {   6, 11, 1790 },\r
+  {   7, 11,   14 }, {   7, 11,  732 }, {   7, 11, 1654 }, {   8, 11,   95 },\r
+  {   8, 11,  327 }, {   8, 11,  616 }, {  10, 11,  598 }, {  10, 11,  769 },\r
+  {  11, 11,  134 }, {  11, 11,  747 }, {  12, 11,  378 }, { 142, 11,   97 },\r
+  { 136,  0,  139 }, {   6, 10,   52 }, {   9, 10,  104 }, {   9, 10,  559 },\r
+  {  12, 10,  308 }, { 147, 10,   87 }, { 133, 11, 1021 }, { 132, 10,  604 },\r
+  { 132, 10,  301 }, { 136, 10,  779 }, {   7,  0,  643 }, { 136,  0,  236 },\r
+  { 132, 11,  153 }, { 134,  0, 1172 }, { 147, 10,   32 }, { 133, 11,  798 },\r
+  {   6,  0, 1338 }, { 132, 11,  587 }, {   6, 11,  598 }, {   7, 11,   42 },\r
+  {   8, 11,  695 }, {  10, 11,  212 }, {  11, 11,  158 }, {  14, 11,  196 },\r
+  { 145, 11,   85 }, { 135, 10,  508 }, {   5, 11,  957 }, {   5, 11, 1008 },\r
+  { 135, 11,  249 }, {   4, 11,  129 }, { 135, 11,  465 }, {   5,  0,   54 },\r
+  {   7, 11,  470 }, {   7, 11, 1057 }, {   7, 11, 1201 }, {   9, 11,  755 },\r
+  {  11, 11,  906 }, { 140, 11,  527 }, {   7, 11,  908 }, { 146, 11,    7 },\r
+  {   5, 11,  148 }, { 136, 11,  450 }, { 144, 11,    1 }, {   4,  0,  256 },\r
+  { 135,  0, 1488 }, {   9,  0,  351 }, {   6, 10,  310 }, {   7, 10, 1849 },\r
+  {   8, 10,   72 }, {   8, 10,  272 }, {   8, 10,  431 }, {   9, 10,   12 },\r
+  {  10, 10,  563 }, {  10, 10,  630 }, {  10, 10,  796 }, {  10, 10,  810 },\r
+  {  11, 10,  367 }, {  11, 10,  599 }, {  11, 10,  686 }, { 140, 10,  672 },\r
+  {   6,  0, 1885 }, {   6,  0, 1898 }, {   6,  0, 1899 }, { 140,  0,  955 },\r
+  {   4,  0,  714 }, { 133,  0,  469 }, {   6,  0, 1270 }, { 134,  0, 1456 },\r
+  { 132,  0,  744 }, {   6,  0,  313 }, {   7, 10,  537 }, {   8, 10,   64 },\r
+  {   9, 10,  127 }, {  10, 10,  496 }, {  12, 10,  510 }, { 141, 10,  384 },\r
+  {   4, 11,  217 }, {   4, 10,  244 }, {   5, 11,  710 }, {   7, 10,  233 },\r
+  {   7, 11, 1926 }, {   9, 11,  428 }, {   9, 11,  708 }, {  10, 11,  254 },\r
+  {  10, 11,  296 }, {  10, 11,  720 }, {  11, 11,  109 }, {  11, 11,  255 },\r
+  {  12, 11,  165 }, {  12, 11,  315 }, {  13, 11,  107 }, {  13, 11,  203 },\r
+  {  14, 11,   54 }, {  14, 11,   99 }, {  14, 11,  114 }, {  14, 11,  388 },\r
+  {  16, 11,   85 }, {  17, 11,    9 }, {  17, 11,   33 }, {  20, 11,   25 },\r
+  {  20, 11,   28 }, {  20, 11,   29 }, {  21, 11,    9 }, {  21, 11,   10 },\r
+  {  21, 11,   34 }, { 150, 11,   17 }, { 138,  0,  402 }, {   7,  0,  969 },\r
+  { 146,  0,   55 }, {   8,  0,   50 }, { 137,  0,  624 }, { 134,  0, 1355 },\r
+  { 132,  0,  572 }, { 134, 10, 1650 }, {  10, 10,  702 }, { 139, 10,  245 },\r
+  {  10,  0,  847 }, { 142,  0,  445 }, {   6,  0,   43 }, {   7,  0,   38 },\r
+  {   8,  0,  248 }, { 138,  0,  513 }, { 133,  0,  369 }, { 137, 10,  338 },\r
+  { 133,  0,  766 }, { 133,  0,  363 }, { 133, 10,  896 }, {   8, 11,  392 },\r
+  {  11, 11,   54 }, {  13, 11,  173 }, {  13, 11,  294 }, { 148, 11,    7 },\r
+  { 134,  0,  678 }, {   7, 11, 1230 }, { 136, 11,  531 }, {   6,  0,  258 },\r
+  { 140,  0,  409 }, {   5,  0,  249 }, { 148,  0,   82 }, {   7, 10, 1117 },\r
+  { 136, 10,  539 }, {   5,  0,  393 }, {   6,  0,  378 }, {   7,  0, 1981 },\r
+  {   9,  0,   32 }, {   9,  0,  591 }, {  10,  0,  685 }, {  10,  0,  741 },\r
+  { 142,  0,  382 }, { 133,  0,  788 }, { 134,  0, 1281 }, { 134,  0, 1295 },\r
+  {   7,  0, 1968 }, { 141,  0,  509 }, {   4,  0,   61 }, {   5,  0,   58 },\r
+  {   5,  0,  171 }, {   5,  0,  683 }, {   6,  0,  291 }, {   6,  0,  566 },\r
+  {   7,  0, 1650 }, {  11,  0,  523 }, {  12,  0,  273 }, {  12,  0,  303 },\r
+  {  15,  0,   39 }, { 143,  0,  111 }, {   6,  0,  706 }, { 134,  0, 1283 },\r
+  { 134,  0,  589 }, { 135, 11, 1433 }, { 133, 11,  435 }, {   7,  0, 1059 },\r
+  {  13,  0,   54 }, {   5, 10,    4 }, {   5, 10,  810 }, {   6, 10,   13 },\r
+  {   6, 10,  538 }, {   6, 10, 1690 }, {   6, 10, 1726 }, {   7, 10, 1819 },\r
+  {   8, 10,  148 }, {   8, 10,  696 }, {   8, 10,  791 }, {  12, 10,  125 },\r
+  { 143, 10,    9 }, { 135, 10, 1268 }, {   5, 11,   85 }, {   6, 11,  419 },\r
+  {   7, 11,  134 }, {   7, 11,  305 }, {   7, 11,  361 }, {   7, 11, 1337 },\r
+  {   8, 11,   71 }, { 140, 11,  519 }, { 137,  0,  824 }, { 140, 11,  688 },\r
+  {   5, 11,  691 }, {   7, 11,  345 }, {   7, 10, 1385 }, {   9, 11,   94 },\r
+  {  11, 10,  582 }, {  11, 10,  650 }, {  11, 10,  901 }, {  11, 10,  949 },\r
+  {  12, 11,  169 }, {  12, 10,  232 }, {  12, 10,  236 }, {  13, 10,  413 },\r
+  {  13, 10,  501 }, { 146, 10,  116 }, {   4,  0,  917 }, { 133,  0, 1005 },\r
+  {   7,  0, 1598 }, {   5, 11,  183 }, {   6, 11,  582 }, {   9, 11,  344 },\r
+  {  10, 11,  679 }, { 140, 11,  435 }, {   4, 10,  925 }, {   5, 10,  803 },\r
+  {   8, 10,  698 }, { 138, 10,  828 }, { 132,  0,  919 }, { 135, 11,  511 },\r
+  { 139, 10,  992 }, {   4,  0,  255 }, {   5,  0,  302 }, {   6,  0,  132 },\r
+  {   7,  0,  128 }, {   7,  0,  283 }, {   7,  0, 1299 }, {  10,  0,   52 },\r
+  {  10,  0,  514 }, {  11,  0,  925 }, {  13,  0,   92 }, { 142,  0,  309 },\r
+  { 134,  0, 1369 }, { 135, 10, 1847 }, { 134,  0,  328 }, {   7, 11, 1993 },\r
+  { 136, 11,  684 }, { 133, 10,  383 }, { 137,  0,  173 }, { 134, 11,  583 },\r
+  { 134,  0, 1411 }, {  19,  0,   65 }, {   5, 11,  704 }, {   8, 11,  357 },\r
+  {  10, 11,  745 }, {  14, 11,  426 }, {  17, 11,   94 }, { 147, 11,   57 },\r
+  {   9, 10,  660 }, { 138, 10,  347 }, {   4, 11,  179 }, {   5, 11,  198 },\r
+  { 133, 11,  697 }, {   7, 11,  347 }, {   7, 11,  971 }, {   8, 11,  181 },\r
+  { 138, 11,  711 }, { 141,  0,  442 }, {  11,  0,  842 }, {  11,  0,  924 },\r
+  {  13,  0,  317 }, {  13,  0,  370 }, {  13,  0,  469 }, {  13,  0,  471 },\r
+  {  14,  0,  397 }, {  18,  0,   69 }, {  18,  0,  145 }, {   7, 10,  572 },\r
+  {   9, 10,  592 }, {  11, 10,  680 }, {  12, 10,  356 }, { 140, 10,  550 },\r
+  {  14, 11,   19 }, {  14, 11,   28 }, { 144, 11,   29 }, { 136,  0,  534 },\r
+  {   4, 11,  243 }, {   5, 11,  203 }, {   7, 11,   19 }, {   7, 11,   71 },\r
+  {   7, 11,  113 }, {  10, 11,  405 }, {  11, 11,  357 }, { 142, 11,  240 },\r
+  {   6,  0,  210 }, {  10,  0,  845 }, { 138,  0,  862 }, {   7, 11, 1351 },\r
+  {   9, 11,  581 }, {  10, 11,  639 }, {  11, 11,  453 }, { 140, 11,  584 },\r
+  {   7, 11, 1450 }, { 139, 11,   99 }, {  10,  0,  892 }, {  12,  0,  719 },\r
+  { 144,  0,  105 }, {   4,  0,  284 }, {   6,  0,  223 }, { 134, 11,  492 },\r
+  {   5, 11,  134 }, {   6, 11,  408 }, {   6, 11,  495 }, { 135, 11, 1593 },\r
+  { 136,  0,  529 }, { 137,  0,  807 }, {   4,  0,  218 }, {   7,  0,  526 },\r
+  { 143,  0,  137 }, {   6,  0, 1444 }, { 142, 11,    4 }, { 132, 11,  665 },\r
+  {   4,  0,  270 }, {   5,  0,  192 }, {   6,  0,  332 }, {   7,  0, 1322 },\r
+  {   4, 11,  248 }, {   7, 11,  137 }, { 137, 11,  349 }, { 140,  0,  661 },\r
+  {   7,  0, 1517 }, {  11,  0,  597 }, {  14,  0,   76 }, {  14,  0,  335 },\r
+  {  20,  0,   33 }, {   7, 10,  748 }, { 139, 10,  700 }, {   5, 11,  371 },\r
+  { 135, 11,  563 }, { 146, 11,   57 }, { 133, 10,  127 }, { 133,  0,  418 },\r
+  {   4, 11,  374 }, {   7, 11,  547 }, {   7, 11, 1700 }, {   7, 11, 1833 },\r
+  { 139, 11,  858 }, {   6, 10,  198 }, { 140, 10,   83 }, {   7, 11, 1812 },\r
+  {  13, 11,  259 }, {  13, 11,  356 }, {  14, 11,  242 }, { 147, 11,  114 },\r
+  {   7,  0,  379 }, {   8,  0,  481 }, {   9,  0,  377 }, {   5, 10,  276 },\r
+  {   6, 10,   55 }, { 135, 10, 1369 }, { 138, 11,  286 }, {   5,  0, 1003 },\r
+  {   6,  0,  149 }, {   6, 10, 1752 }, { 136, 10,  726 }, {   8,  0,  262 },\r
+  {   9,  0,  627 }, {  10,  0,   18 }, {  11,  0,  214 }, {  11,  0,  404 },\r
+  {  11,  0,  457 }, {  11,  0,  780 }, {  11,  0,  913 }, {  13,  0,  401 },\r
+  {  14,  0,  200 }, {   6, 11, 1647 }, {   7, 11, 1552 }, {   7, 11, 2010 },\r
+  {   9, 11,  494 }, { 137, 11,  509 }, { 135,  0,  742 }, { 136,  0,  304 },\r
+  { 132,  0,  142 }, { 133, 10,  764 }, {   6, 10,  309 }, {   7, 10,  331 },\r
+  { 138, 10,  550 }, { 135, 10, 1062 }, {   6, 11,  123 }, {   7, 11,  214 },\r
+  {   7, 10,  986 }, {   9, 11,  728 }, {  10, 11,  157 }, {  11, 11,  346 },\r
+  {  11, 11,  662 }, { 143, 11,  106 }, { 135, 10, 1573 }, {   7,  0,  925 },\r
+  { 137,  0,  799 }, {   4,  0,  471 }, {   5,  0,   51 }, {   6,  0,  602 },\r
+  {   8,  0,  484 }, { 138,  0,  195 }, { 136,  0,  688 }, { 132,  0,  697 },\r
+  {   6,  0, 1169 }, {   6,  0, 1241 }, {   6, 10,  194 }, {   7, 10,  133 },\r
+  {  10, 10,  493 }, {  10, 10,  570 }, { 139, 10,  664 }, { 140,  0,  751 },\r
+  {   7,  0,  929 }, {  10,  0,  452 }, {  11,  0,  878 }, {  16,  0,   33 },\r
+  {   5, 10,   24 }, {   5, 10,  569 }, {   6, 10,    3 }, {   6, 10,  119 },\r
+  {   6, 10,  143 }, {   6, 10,  440 }, {   7, 10,  599 }, {   7, 10, 1686 },\r
+  {   7, 10, 1854 }, {   8, 10,  424 }, {   9, 10,   43 }, {   9, 10,  584 },\r
+  {   9, 10,  760 }, {  10, 10,  328 }, {  11, 10,  159 }, {  11, 10,  253 },\r
+  {  12, 10,  487 }, { 140, 10,  531 }, {   4, 11,  707 }, {  13, 11,  106 },\r
+  {  18, 11,   49 }, { 147, 11,   41 }, {   5,  0,  221 }, {   5, 11,  588 },\r
+  { 134, 11,  393 }, { 134,  0, 1437 }, {   6, 11,  211 }, {   7, 11, 1690 },\r
+  {  11, 11,  486 }, { 140, 11,  369 }, {   5, 10,   14 }, {   5, 10,  892 },\r
+  {   6, 10,  283 }, {   7, 10,  234 }, { 136, 10,  537 }, {   4,  0,  988 },\r
+  { 136,  0,  955 }, { 135,  0, 1251 }, {   4, 10,  126 }, {   8, 10,  635 },\r
+  { 147, 10,   34 }, {   4, 10,  316 }, { 135, 10, 1561 }, { 137, 10,  861 },\r
+  {   4, 10,   64 }, {   5, 10,  352 }, {   5, 10,  720 }, {   6, 10,  368 },\r
+  { 139, 10,  359 }, { 134,  0,  192 }, {   4,  0,  132 }, {   5,  0,   69 },\r
+  { 135,  0, 1242 }, {   7, 10, 1577 }, {  10, 10,  304 }, {  10, 10,  549 },\r
+  {  12, 10,  365 }, {  13, 10,  220 }, {  13, 10,  240 }, { 142, 10,   33 },\r
+  {   4,  0,  111 }, {   7,  0,  865 }, { 134, 11,  219 }, {   5, 11,  582 },\r
+  {   6, 11, 1646 }, {   7, 11,   99 }, {   7, 11, 1962 }, {   7, 11, 1986 },\r
+  {   8, 11,  515 }, {   8, 11,  773 }, {   9, 11,   23 }, {   9, 11,  491 },\r
+  {  12, 11,  620 }, {  14, 11,   52 }, { 145, 11,   50 }, { 132,  0,  767 },\r
+  {   7, 11,  568 }, { 148, 11,   21 }, {   6,  0,   42 }, {   7,  0, 1416 },\r
+  {   7,  0, 2005 }, {   8,  0,  131 }, {   8,  0,  466 }, {   9,  0,  672 },\r
+  {  13,  0,  252 }, {  20,  0,  103 }, { 133, 11,  851 }, { 135,  0, 1050 },\r
+  {   6, 10,  175 }, { 137, 10,  289 }, {   5, 10,  432 }, { 133, 10,  913 },\r
+  {   6,  0,   44 }, { 136,  0,  368 }, { 135, 11,  784 }, { 132,  0,  570 },\r
+  { 133,  0,  120 }, { 139, 10,  595 }, { 140,  0,   29 }, {   6,  0,  227 },\r
+  { 135,  0, 1589 }, {   4, 11,   98 }, {   7, 11, 1365 }, {   9, 11,  422 },\r
+  {   9, 11,  670 }, {  10, 11,  775 }, {  11, 11,  210 }, {  13, 11,   26 },\r
+  {  13, 11,  457 }, { 141, 11,  476 }, { 140, 10,   80 }, {   5, 10,  931 },\r
+  { 134, 10, 1698 }, { 133,  0,  522 }, { 134,  0, 1120 }, { 135,  0, 1529 },\r
+  {  12,  0,  739 }, {  14,  0,  448 }, { 142,  0,  467 }, {  11, 10,  526 },\r
+  {  11, 10,  939 }, { 141, 10,  290 }, {   5, 10,  774 }, {   6, 10, 1637 },\r
+  {   6, 10, 1686 }, { 134, 10, 1751 }, {   6,  0, 1667 }, { 135,  0, 2036 },\r
+  {   7, 10, 1167 }, {  11, 10,  934 }, {  13, 10,  391 }, { 145, 10,   76 },\r
+  { 137, 11,  147 }, {   6, 10,  260 }, {   7, 10, 1484 }, {  11, 11,  821 },\r
+  {  12, 11,  110 }, {  12, 11,  153 }, {  18, 11,   41 }, { 150, 11,   19 },\r
+  {   6,  0,  511 }, {  12,  0,  132 }, { 134, 10,  573 }, {   5,  0,  568 },\r
+  {   6,  0,  138 }, { 135,  0, 1293 }, { 132,  0, 1020 }, {   8,  0,  258 },\r
+  {   9,  0,  208 }, { 137,  0,  359 }, {   4,  0,  565 }, {   8,  0,   23 },\r
+  { 136,  0,  827 }, { 134,  0,  344 }, {   4,  0,  922 }, {   5,  0, 1023 },\r
+  {  13, 11,  477 }, {  14, 11,  120 }, { 148, 11,   61 }, { 134,  0,  240 },\r
+  {   5, 11,  209 }, {   6, 11,   30 }, {  11, 11,   56 }, { 139, 11,  305 },\r
+  {   6,  0,  171 }, {   7,  0, 1002 }, {   7,  0, 1324 }, {   9,  0,  415 },\r
+  {  14,  0,  230 }, {  18,  0,   68 }, {   4, 10,  292 }, {   4, 10,  736 },\r
+  {   5, 10,  871 }, {   6, 10, 1689 }, {   7, 10, 1944 }, { 137, 10,  580 },\r
+  {   9, 11,  635 }, { 139, 11,  559 }, {   4, 11,  150 }, {   5, 11,  303 },\r
+  { 134, 11,  327 }, {   6, 10,   63 }, { 135, 10,  920 }, { 133, 10,  793 },\r
+  {   8, 11,  192 }, {  10, 11,   78 }, {  10, 11,  555 }, {  11, 11,  308 },\r
+  {  13, 11,  359 }, { 147, 11,   95 }, { 135, 11,  786 }, { 135, 11, 1712 },\r
+  { 136,  0,  402 }, {   6,  0,  754 }, {   6, 11, 1638 }, {   7, 11,   79 },\r
+  {   7, 11,  496 }, {   9, 11,  138 }, {  10, 11,  336 }, {  11, 11,   12 },\r
+  {  12, 11,  412 }, {  12, 11,  440 }, { 142, 11,  305 }, {   4,  0,  716 },\r
+  { 141,  0,   31 }, { 133,  0,  982 }, {   8,  0,  691 }, {   8,  0,  731 },\r
+  {   5, 10,   67 }, {   6, 10,   62 }, {   6, 10,  374 }, { 135, 10, 1391 },\r
+  {   9, 10,  790 }, { 140, 10,   47 }, { 139, 11,  556 }, { 151, 11,    1 },\r
+  {   7, 11,  204 }, {   7, 11,  415 }, {   8, 11,   42 }, {  10, 11,   85 },\r
+  {  11, 11,   33 }, {  11, 11,  564 }, {  12, 11,  571 }, { 149, 11,    1 },\r
+  {   8,  0,  888 }, {   7, 11,  610 }, { 135, 11, 1501 }, {   4, 10,  391 },\r
+  { 135, 10, 1169 }, {   5,  0,  847 }, {   9,  0,  840 }, { 138,  0,  803 },\r
+  { 137,  0,  823 }, { 134,  0,  785 }, {   8,  0,  152 }, {   9,  0,   53 },\r
+  {   9,  0,  268 }, {   9,  0,  901 }, {  10,  0,  518 }, {  10,  0,  829 },\r
+  {  11,  0,  188 }, {  13,  0,   74 }, {  14,  0,   46 }, {  15,  0,   17 },\r
+  {  15,  0,   33 }, {  17,  0,   40 }, {  18,  0,   36 }, {  19,  0,   20 },\r
+  {  22,  0,    1 }, { 152,  0,    2 }, {   4, 11,    3 }, {   5, 11,  247 },\r
+  {   5, 11,  644 }, {   7, 11,  744 }, {   7, 11, 1207 }, {   7, 11, 1225 },\r
+  {   7, 11, 1909 }, { 146, 11,  147 }, { 136,  0,  532 }, { 135,  0,  681 },\r
+  { 132, 10,  271 }, { 140,  0,  314 }, { 140,  0,  677 }, {   4,  0,  684 },\r
+  { 136,  0,  384 }, {   5, 11,  285 }, {   9, 11,   67 }, {  13, 11,  473 },\r
+  { 143, 11,   82 }, {   4, 10,  253 }, {   5, 10,  544 }, {   7, 10,  300 },\r
+  { 137, 10,  340 }, {   7,  0,  110 }, {   7,  0,  447 }, {   8,  0,  290 },\r
+  {   8,  0,  591 }, {   9,  0,  382 }, {   9,  0,  649 }, {  11,  0,   71 },\r
+  {  11,  0,  155 }, {  11,  0,  313 }, {  12,  0,    5 }, {  13,  0,  325 },\r
+  { 142,  0,  287 }, { 134,  0, 1818 }, { 136,  0, 1007 }, { 138,  0,  321 },\r
+  {   7,  0,  360 }, {   7,  0,  425 }, {   9,  0,   66 }, {   9,  0,  278 },\r
+  { 138,  0,  644 }, { 133, 10,  818 }, {   5,  0,  385 }, {   5, 10,  541 },\r
+  {   6, 10,   94 }, {   6, 10,  499 }, {   7, 10,  230 }, { 139, 10,  321 },\r
+  {   4, 10,  920 }, {   5, 10,   25 }, {   5, 10,  790 }, {   6, 10,  457 },\r
+  {   7, 10,  853 }, { 136, 10,  788 }, {   4,  0,  900 }, { 133,  0,  861 },\r
+  {   5,  0,  254 }, {   7,  0,  985 }, { 136,  0,   73 }, {   7,  0, 1959 },\r
+  { 136,  0,  683 }, { 134, 10, 1765 }, { 133, 10,  822 }, { 132, 10,  634 },\r
+  {   4, 11,   29 }, {   6, 11,  532 }, {   7, 11, 1628 }, {   7, 11, 1648 },\r
+  {   9, 11,  303 }, {   9, 11,  350 }, {  10, 11,  433 }, {  11, 11,   97 },\r
+  {  11, 11,  557 }, {  11, 11,  745 }, {  12, 11,  289 }, {  12, 11,  335 },\r
+  {  12, 11,  348 }, {  12, 11,  606 }, {  13, 11,  116 }, {  13, 11,  233 },\r
+  {  13, 11,  466 }, {  14, 11,  181 }, {  14, 11,  209 }, {  14, 11,  232 },\r
+  {  14, 11,  236 }, {  14, 11,  300 }, {  16, 11,   41 }, { 148, 11,   97 },\r
+  {  19,  0,   86 }, {   6, 10,   36 }, {   7, 10,  658 }, { 136, 10,  454 },\r
+  { 135, 11, 1692 }, { 132,  0,  725 }, {   5, 11,  501 }, {   7, 11, 1704 },\r
+  {   9, 11,  553 }, {  11, 11,  520 }, {  12, 11,  557 }, { 141, 11,  249 },\r
+  { 134,  0,  196 }, { 133,  0,  831 }, { 136,  0,  723 }, {   7,  0, 1897 },\r
+  {  13,  0,   80 }, {  13,  0,  437 }, { 145,  0,   74 }, {   4,  0,  992 },\r
+  {   6,  0,  627 }, { 136,  0,  994 }, { 135, 11, 1294 }, { 132, 10,  104 },\r
+  {   5,  0,  848 }, {   6,  0,   66 }, { 136,  0,  764 }, {   4,  0,   36 },\r
+  {   7,  0, 1387 }, {  10,  0,  205 }, { 139,  0,  755 }, {   6,  0, 1046 },\r
+  { 134,  0, 1485 }, { 134,  0,  950 }, { 132,  0,  887 }, {  14,  0,  450 },\r
+  { 148,  0,  111 }, {   7,  0,  620 }, {   7,  0,  831 }, {   9, 10,  542 },\r
+  {   9, 10,  566 }, { 138, 10,  728 }, {   6,  0,  165 }, { 138,  0,  388 },\r
+  { 139, 10,  263 }, {   4,  0,  719 }, { 135,  0,  155 }, { 138, 10,  468 },\r
+  {   6, 11,  453 }, { 144, 11,   36 }, { 134, 11,  129 }, {   5,  0,  533 },\r
+  {   7,  0,  755 }, { 138,  0,  780 }, { 134,  0, 1465 }, {   4,  0,  353 },\r
+  {   6,  0,  146 }, {   6,  0, 1789 }, {   7,  0,  427 }, {   7,  0,  990 },\r
+  {   7,  0, 1348 }, {   9,  0,  665 }, {   9,  0,  898 }, {  11,  0,  893 },\r
+  { 142,  0,  212 }, {   7, 10,   87 }, { 142, 10,  288 }, {   4,  0,   45 },\r
+  { 135,  0, 1257 }, {  12,  0,    7 }, {   7, 10,  988 }, {   7, 10, 1939 },\r
+  {   9, 10,   64 }, {   9, 10,  502 }, {  12, 10,   34 }, {  13, 10,   12 },\r
+  {  13, 10,  234 }, { 147, 10,   77 }, {   4,  0,  607 }, {   5, 11,   60 },\r
+  {   6, 11,  504 }, {   7, 11,  614 }, {   7, 11, 1155 }, { 140, 11,    0 },\r
+  { 135, 10,  141 }, {   8, 11,  198 }, {  11, 11,   29 }, { 140, 11,  534 },\r
+  { 140,  0,   65 }, { 136,  0,  816 }, { 132, 10,  619 }, { 139,  0,   88 },\r
+  {   5, 10,  246 }, {   8, 10,  189 }, {   9, 10,  355 }, {   9, 10,  512 },\r
+  {  10, 10,  124 }, {  10, 10,  453 }, {  11, 10,  143 }, {  11, 10,  416 },\r
+  {  11, 10,  859 }, { 141, 10,  341 }, {   4, 11,  379 }, { 135, 11, 1397 },\r
+  {   4,  0,  600 }, { 137,  0,  621 }, { 133,  0,  367 }, { 134,  0,  561 },\r
+  {   6,  0,  559 }, { 134,  0, 1691 }, {   6,  0,  585 }, { 134, 11,  585 },\r
+  { 135, 11, 1228 }, {   4, 11,  118 }, {   5, 10,  678 }, {   6, 11,  274 },\r
+  {   6, 11,  361 }, {   7, 11,   75 }, { 141, 11,  441 }, { 135, 11, 1818 },\r
+  { 137, 11,  841 }, {   5,  0,  573 }, {   6,  0,  287 }, {   7, 10,  862 },\r
+  {   7, 10, 1886 }, { 138, 10,  179 }, { 132, 10,  517 }, { 140, 11,  693 },\r
+  {   5, 11,  314 }, {   6, 11,  221 }, {   7, 11,  419 }, {  10, 11,  650 },\r
+  {  11, 11,  396 }, {  12, 11,  156 }, {  13, 11,  369 }, {  14, 11,  333 },\r
+  { 145, 11,   47 }, { 140, 10,  540 }, { 136, 10,  667 }, {  11, 10,  403 },\r
+  { 146, 10,   83 }, {   6,  0,  672 }, { 133, 10,  761 }, {   9,  0,  157 },\r
+  {  10, 10,  131 }, { 140, 10,   72 }, {   7,  0,  714 }, { 134, 11,  460 },\r
+  { 134,  0,  456 }, { 133,  0,  925 }, {   5, 11,  682 }, { 135, 11, 1887 },\r
+  { 136, 11,  510 }, { 136, 11,  475 }, { 133, 11, 1016 }, {   9,  0,   19 },\r
+  {   7, 11,  602 }, {   8, 11,  179 }, {  10, 11,  781 }, { 140, 11,  126 },\r
+  {   6, 11,  329 }, { 138, 11,  111 }, {   6,  0,  822 }, { 134,  0, 1473 },\r
+  { 144, 11,   86 }, {  11,  0,  113 }, { 139, 11,  113 }, {   5, 11,  821 },\r
+  { 134, 11, 1687 }, { 133, 10,  449 }, {   7,  0,  463 }, {  17,  0,   69 },\r
+  { 136, 10,  103 }, {   7, 10, 2028 }, { 138, 10,  641 }, {   6,  0,  193 },\r
+  {   7,  0,  240 }, {   7,  0, 1682 }, {  10,  0,   51 }, {  10,  0,  640 },\r
+  {  11,  0,  410 }, {  13,  0,   82 }, {  14,  0,  247 }, {  14,  0,  331 },\r
+  { 142,  0,  377 }, {   6,  0,  471 }, {  11,  0,  411 }, { 142,  0,    2 },\r
+  {   5, 11,   71 }, {   7, 11, 1407 }, {   9, 11,  388 }, {   9, 11,  704 },\r
+  {  10, 11,  261 }, {  10, 11,  619 }, {  11, 11,  547 }, {  11, 11,  619 },\r
+  { 143, 11,  157 }, { 136,  0,  633 }, { 135,  0, 1148 }, {   6,  0,  554 },\r
+  {   7,  0, 1392 }, {  12,  0,  129 }, {   7, 10, 1274 }, {   7, 10, 1386 },\r
+  {   7, 11, 2008 }, {   9, 11,  337 }, {  10, 11,  517 }, { 146, 10,   87 },\r
+  {   7,  0,  803 }, {   8,  0,  542 }, {   6, 10,  187 }, {   7, 10, 1203 },\r
+  {   8, 10,  380 }, {  14, 10,  117 }, { 149, 10,   28 }, {   6, 10,  297 },\r
+  {   7, 10,  793 }, { 139, 10,  938 }, {   8,  0,  438 }, {  11,  0,  363 },\r
+  {   7, 10,  464 }, {  11, 10,  105 }, {  12, 10,  231 }, {  14, 10,  386 },\r
+  {  15, 10,  102 }, { 148, 10,   75 }, {   5, 11,   16 }, {   6, 11,   86 },\r
+  {   6, 11,  603 }, {   7, 11,  292 }, {   7, 11,  561 }, {   8, 11,  257 },\r
+  {   8, 11,  382 }, {   9, 11,  721 }, {   9, 11,  778 }, {  11, 11,  581 },\r
+  { 140, 11,  466 }, {   6,  0,  717 }, {   4, 11,  486 }, { 133, 11,  491 },\r
+  { 132,  0,  875 }, { 132, 11,   72 }, {   6, 11,  265 }, { 135, 11,  847 },\r
+  {   4,  0,  237 }, { 135,  0,  514 }, {   6,  0,  392 }, {   7,  0,   65 },\r
+  { 135,  0, 2019 }, { 140, 11,  261 }, { 135, 11,  922 }, { 137, 11,  404 },\r
+  {  12,  0,  563 }, {  14,  0,  101 }, {  18,  0,  129 }, {   7, 10, 1010 },\r
+  {  11, 10,  733 }, {  11, 10,  759 }, {  13, 10,   34 }, { 146, 10,   45 },\r
+  {   7, 10, 1656 }, {   9, 10,  369 }, {  10, 10,  338 }, {  10, 10,  490 },\r
+  {  11, 10,  154 }, {  11, 10,  545 }, {  11, 10,  775 }, {  13, 10,   77 },\r
+  { 141, 10,  274 }, {   4,  0,  444 }, {  10,  0,  146 }, { 140,  0,    9 },\r
+  { 139, 11,  163 }, {   7,  0, 1260 }, { 135,  0, 1790 }, {   9,  0,  222 },\r
+  {  10,  0,   43 }, { 139,  0,  900 }, { 137, 11,  234 }, { 138,  0,  971 },\r
+  { 137,  0,  761 }, { 134,  0,  699 }, { 136, 11,  434 }, {   6,  0, 1116 },\r
+  {   7,  0, 1366 }, {   5, 10,   20 }, {   6, 11,  197 }, {   6, 10,  298 },\r
+  {   7, 10,  659 }, {   8, 11,  205 }, { 137, 10,  219 }, { 132, 11,  490 },\r
+  {  11, 11,  820 }, { 150, 11,   51 }, {   7, 10, 1440 }, {  11, 10,  854 },\r
+  {  11, 10,  872 }, {  11, 10,  921 }, {  12, 10,  551 }, {  13, 10,  472 },\r
+  { 142, 10,  367 }, { 140, 11,   13 }, { 132,  0,  829 }, {  12,  0,  242 },\r
+  { 132, 10,  439 }, { 136, 10,  669 }, {   6,  0,  593 }, {   6, 11,  452 },\r
+  {   7, 11,  312 }, { 138, 11,  219 }, {   4, 11,  333 }, {   9, 11,  176 },\r
+  {  12, 11,  353 }, { 141, 11,  187 }, {   7,  0,   36 }, {   8,  0,  201 },\r
+  { 136,  0,  605 }, { 140,  0,  224 }, { 132, 10,  233 }, { 134,  0, 1430 },\r
+  { 134,  0, 1806 }, {   4,  0,  523 }, { 133,  0,  638 }, {   6,  0, 1889 },\r
+  {   9,  0,  958 }, {   9,  0,  971 }, {   9,  0,  976 }, {  12,  0,  796 },\r
+  {  12,  0,  799 }, {  12,  0,  808 }, {  12,  0,  835 }, {  12,  0,  836 },\r
+  {  12,  0,  914 }, {  12,  0,  946 }, {  15,  0,  216 }, {  15,  0,  232 },\r
+  {  18,  0,  183 }, {  18,  0,  187 }, {  18,  0,  194 }, {  18,  0,  212 },\r
+  {  18,  0,  232 }, { 149,  0,   49 }, { 132, 10,  482 }, {   6,  0,  827 },\r
+  { 134,  0, 1434 }, { 135, 10,  346 }, { 134,  0, 2043 }, {   6,  0,  242 },\r
+  {   7,  0,  227 }, {   7,  0, 1581 }, {   8,  0,  104 }, {   9,  0,  113 },\r
+  {   9,  0,  220 }, {   9,  0,  427 }, {  10,  0,  136 }, {  10,  0,  239 },\r
+  {  11,  0,  579 }, {  11,  0, 1023 }, {  13,  0,    4 }, {  13,  0,  204 },\r
+  {  13,  0,  316 }, { 148,  0,   86 }, { 134, 11, 1685 }, {   7,  0,  148 },\r
+  {   8,  0,  284 }, { 141,  0,   63 }, { 142,  0,   10 }, { 135, 11,  584 },\r
+  { 134,  0, 1249 }, {   7,  0,  861 }, { 135, 10,  334 }, {   5, 10,  795 },\r
+  {   6, 10, 1741 }, { 137, 11,   70 }, { 132,  0,  807 }, {   7, 11,  135 },\r
+  {   8, 11,    7 }, {   8, 11,   62 }, {   9, 11,  243 }, {  10, 11,  658 },\r
+  {  10, 11,  697 }, {  11, 11,  456 }, { 139, 11,  756 }, {   9, 11,  395 },\r
+  { 138, 11,   79 }, { 137, 11,  108 }, { 147,  0,   94 }, { 136,  0,  494 },\r
+  { 135, 11,  631 }, { 135, 10,  622 }, {   7,  0, 1510 }, { 135, 10, 1750 },\r
+  {   4, 10,  203 }, { 135, 10, 1936 }, {   7, 11,  406 }, {   7, 11,  459 },\r
+  {   8, 11,  606 }, { 139, 11,  726 }, {   7,  0, 1306 }, {   8,  0,  505 },\r
+  {   9,  0,  482 }, {  10,  0,  126 }, {  11,  0,  225 }, {  12,  0,  347 },\r
+  {  12,  0,  449 }, {  13,  0,   19 }, {  14,  0,  218 }, { 142,  0,  435 },\r
+  {   5,  0,  268 }, {  10,  0,  764 }, {  12,  0,  120 }, {  13,  0,   39 },\r
+  { 145,  0,  127 }, { 142, 11,   68 }, {  11, 10,  678 }, { 140, 10,  307 },\r
+  {  12, 11,  268 }, {  12, 11,  640 }, { 142, 11,  119 }, { 135, 10, 2044 },\r
+  { 133, 11,  612 }, {   4, 11,  372 }, {   7, 11,  482 }, {   8, 11,  158 },\r
+  {   9, 11,  602 }, {   9, 11,  615 }, {  10, 11,  245 }, {  10, 11,  678 },\r
+  {  10, 11,  744 }, {  11, 11,  248 }, { 139, 11,  806 }, {   7, 10,  311 },\r
+  {   9, 10,  308 }, { 140, 10,  255 }, {   4,  0,  384 }, { 135,  0, 1022 },\r
+  {   5, 11,  854 }, { 135, 11, 1991 }, { 135, 10, 1266 }, {   4, 10,  400 },\r
+  {   5, 10,  267 }, { 135, 10,  232 }, { 135,  0, 1703 }, {   9,  0,  159 },\r
+  {  11,  0,  661 }, { 140,  0,  603 }, {   4,  0,  964 }, {  14,  0,  438 },\r
+  {  14,  0,  444 }, {  14,  0,  456 }, {  22,  0,   60 }, {  22,  0,   63 },\r
+  {   9, 11,  106 }, {   9, 11,  163 }, {   9, 11,  296 }, {  10, 11,  167 },\r
+  {  10, 11,  172 }, {  10, 11,  777 }, { 139, 11,   16 }, { 136,  0,  583 },\r
+  { 132,  0,  515 }, {   8,  0,  632 }, {   8,  0,  697 }, { 137,  0,  854 },\r
+  {   5, 11,  195 }, { 135, 11, 1685 }, {   6,  0, 1123 }, { 134,  0, 1365 },\r
+  { 134, 11,  328 }, {   7, 11, 1997 }, {   8, 11,  730 }, { 139, 11, 1006 },\r
+  {   4,  0,  136 }, { 133,  0,  551 }, { 134,  0, 1782 }, {   7,  0, 1287 },\r
+  {   9,  0,   44 }, {  10,  0,  552 }, {  10,  0,  642 }, {  11,  0,  839 },\r
+  {  12,  0,  274 }, {  12,  0,  275 }, {  12,  0,  372 }, {  13,  0,   91 },\r
+  { 142,  0,  125 }, {   5, 11,  751 }, {  11, 11,  797 }, { 140, 11,  203 },\r
+  { 133,  0,  732 }, {   7,  0,  679 }, {   8,  0,  313 }, {   4, 10,  100 },\r
+  { 135, 11,  821 }, {  10,  0,  361 }, { 142,  0,  316 }, { 134,  0,  595 },\r
+  {   6,  0,  147 }, {   7,  0,  886 }, {   9,  0,  753 }, { 138,  0,  268 },\r
+  {   5, 10,  362 }, {   5, 10,  443 }, {   6, 10,  318 }, {   7, 10, 1019 },\r
+  { 139, 10,  623 }, {   5, 10,  463 }, { 136, 10,  296 }, {   4, 10,  454 },\r
+  {   5, 11,  950 }, {   5, 11,  994 }, { 134, 11,  351 }, { 138,  0,  137 },\r
+  {   5, 10,   48 }, {   5, 10,  404 }, {   6, 10,  557 }, {   7, 10,  458 },\r
+  {   8, 10,  597 }, {  10, 10,  455 }, {  10, 10,  606 }, {  11, 10,   49 },\r
+  {  11, 10,  548 }, {  12, 10,  476 }, {  13, 10,   18 }, { 141, 10,  450 },\r
+  { 133,  0,  414 }, { 135,  0, 1762 }, {   5, 11,  421 }, { 135, 11,   47 },\r
+  {   5, 10,  442 }, { 135, 10, 1984 }, { 134,  0,  599 }, { 134,  0, 1749 },\r
+  { 134,  0, 1627 }, {   4,  0,  488 }, { 132, 11,  350 }, { 137, 11,  751 },\r
+  { 132,  0,   83 }, { 140,  0,  676 }, { 133, 11,  967 }, {   7,  0, 1639 },\r
+  {   5, 10,   55 }, { 140, 10,  161 }, {   4, 11,  473 }, {   7, 11,  623 },\r
+  {   8, 11,  808 }, {   9, 11,  871 }, {   9, 11,  893 }, {  11, 11,   38 },\r
+  {  11, 11,  431 }, {  12, 11,  112 }, {  12, 11,  217 }, {  12, 11,  243 },\r
+  {  12, 11,  562 }, {  12, 11,  683 }, {  13, 11,  141 }, {  13, 11,  197 },\r
+  {  13, 11,  227 }, {  13, 11,  406 }, {  13, 11,  487 }, {  14, 11,  156 },\r
+  {  14, 11,  203 }, {  14, 11,  224 }, {  14, 11,  256 }, {  18, 11,   58 },\r
+  { 150, 11,    0 }, { 133, 10,  450 }, {   7, 11,  736 }, { 139, 11,  264 },\r
+  { 134,  0,  278 }, {   4, 11,  222 }, {   7, 11,  286 }, { 136, 11,  629 },\r
+  { 135, 10,  869 }, { 140,  0,   97 }, { 144,  0,   14 }, { 134,  0, 1085 },\r
+  {   4, 10,  213 }, {   7, 10,  223 }, { 136, 10,   80 }, {   7,  0,  388 },\r
+  {   7,  0,  644 }, { 139,  0,  781 }, { 132,  0,  849 }, {   7,  0,  229 },\r
+  {   8,  0,   59 }, {   9,  0,  190 }, {  10,  0,  378 }, { 140,  0,  191 },\r
+  {   7, 10,  381 }, {   7, 10,  806 }, {   7, 10,  820 }, {   8, 10,  354 },\r
+  {   8, 10,  437 }, {   8, 10,  787 }, {   9, 10,  657 }, {  10, 10,   58 },\r
+  {  10, 10,  339 }, {  10, 10,  749 }, {  11, 10,  914 }, {  12, 10,  162 },\r
+  {  13, 10,   75 }, {  14, 10,  106 }, {  14, 10,  198 }, {  14, 10,  320 },\r
+  {  14, 10,  413 }, { 146, 10,   43 }, { 141, 11,  306 }, { 136, 10,  747 },\r
+  { 134,  0, 1115 }, {  16,  0,   94 }, {  16,  0,  108 }, { 136, 11,  146 },\r
+  {   6,  0,  700 }, {   6,  0,  817 }, { 134,  0, 1002 }, { 133, 10,  692 },\r
+  {   4, 11,  465 }, { 135, 11, 1663 }, { 134, 10,  191 }, {   6,  0, 1414 },\r
+  { 135, 11,  913 }, { 132,  0,  660 }, {   7,  0, 1035 }, { 138,  0,  737 },\r
+  {   6, 10,  162 }, {   7, 10, 1960 }, { 136, 10,  831 }, { 132, 10,  706 },\r
+  {   7,  0,  690 }, {   9,  0,  217 }, {   9,  0,  587 }, { 140,  0,  521 },\r
+  { 138, 10,  426 }, { 135, 10, 1235 }, {   6, 11,   82 }, {   7, 11,  138 },\r
+  {   7, 11,  517 }, {   9, 11,  673 }, { 139, 11,  238 }, { 138,  0,  272 },\r
+  {   5, 11,  495 }, {   7, 11,  834 }, {   9, 11,  733 }, { 139, 11,  378 },\r
+  { 134,  0, 1744 }, { 132,  0, 1011 }, {   7, 11,  828 }, { 142, 11,  116 },\r
+  {   4,  0,  733 }, {   9,  0,  194 }, {  10,  0,   92 }, {  11,  0,  198 },\r
+  {  12,  0,   84 }, {  13,  0,  128 }, { 133, 11,  559 }, {  10,  0,   57 },\r
+  {  10,  0,  277 }, {   6, 11,   21 }, {   6, 11, 1737 }, {   7, 11, 1444 },\r
+  { 136, 11,  224 }, {   4, 10,  204 }, { 137, 10,  902 }, { 136, 10,  833 },\r
+  {  11,  0,  348 }, {  12,  0,   99 }, {  18,  0,    1 }, {  18,  0,   11 },\r
+  {  19,  0,    4 }, {   7, 10,  366 }, {   9, 10,  287 }, {  12, 10,  199 },\r
+  {  12, 10,  556 }, { 140, 10,  577 }, {   6,  0, 1981 }, { 136,  0,  936 },\r
+  {  21,  0,   33 }, { 150,  0,   40 }, {   5, 11,  519 }, { 138, 11,  204 },\r
+  {   5, 10,  356 }, { 135, 10,  224 }, { 134,  0,  775 }, { 135,  0,  306 },\r
+  {   7, 10,  630 }, {   9, 10,  567 }, {  11, 10,  150 }, {  11, 10,  444 },\r
+  { 141, 10,  119 }, {   5,  0,  979 }, { 134, 10,  539 }, { 133,  0,  611 },\r
+  {   4, 11,  402 }, { 135, 11, 1679 }, {   5,  0,  178 }, {   7, 11,    2 },\r
+  {   8, 11,  323 }, { 136, 11,  479 }, {   5, 11,   59 }, { 135, 11,  672 },\r
+  {   4,  0, 1010 }, {   6,  0, 1969 }, { 138, 11,  237 }, { 133, 11,  412 },\r
+  { 146, 11,   34 }, {   7, 11, 1740 }, { 146, 11,   48 }, { 134,  0,  664 },\r
+  { 139, 10,  814 }, {   4, 11,   85 }, { 135, 11,  549 }, { 133, 11,   94 },\r
+  { 133, 11,  457 }, { 132,  0,  390 }, { 134,  0, 1510 }, {   4, 10,  235 },\r
+  { 135, 10,  255 }, {   4, 10,  194 }, {   5, 10,  584 }, {   6, 11,   11 },\r
+  {   6, 10,  384 }, {   7, 11,  187 }, {   7, 10,  583 }, {  10, 10,  761 },\r
+  {  11, 10,  760 }, { 139, 10,  851 }, {   4, 11,  522 }, { 139, 11,  802 },\r
+  { 135,  0,  493 }, {  10, 11,  776 }, {  13, 11,  345 }, { 142, 11,  425 },\r
+  { 146,  0,   37 }, {   4, 11,   52 }, { 135, 11,  661 }, { 134,  0,  724 },\r
+  { 134,  0,  829 }, { 133, 11,  520 }, { 133, 10,  562 }, {   4, 11,  281 },\r
+  {   5, 11,   38 }, {   7, 11,  194 }, {   7, 11,  668 }, {   7, 11, 1893 },\r
+  { 137, 11,  397 }, {   5, 10,  191 }, { 137, 10,  271 }, {   7,  0, 1537 },\r
+  {  14,  0,   96 }, { 143,  0,   73 }, {   5,  0,  473 }, {  11,  0,  168 },\r
+  {   4, 10,  470 }, {   6, 10,  153 }, {   7, 10, 1503 }, {   7, 10, 1923 },\r
+  {  10, 10,  701 }, {  11, 10,  132 }, {  11, 10,  227 }, {  11, 10,  320 },\r
+  {  11, 10,  436 }, {  11, 10,  525 }, {  11, 10,  855 }, {  12, 10,   41 },\r
+  {  12, 10,  286 }, {  13, 10,  103 }, {  13, 10,  284 }, {  14, 10,  255 },\r
+  {  14, 10,  262 }, {  15, 10,  117 }, { 143, 10,  127 }, { 133,  0,  105 },\r
+  {   5,  0,  438 }, {   9,  0,  694 }, {  12,  0,  627 }, { 141,  0,  210 },\r
+  { 133, 10,  327 }, {   6, 10,  552 }, {   7, 10, 1754 }, { 137, 10,  604 },\r
+  { 134,  0, 1256 }, { 152,  0,   11 }, {   5, 11,  448 }, {  11, 11,   98 },\r
+  { 139, 11,  524 }, {   7,  0, 1626 }, {   5, 10,   80 }, {   6, 10,  405 },\r
+  {   7, 10,  403 }, {   7, 10, 1502 }, {   8, 10,  456 }, {   9, 10,  487 },\r
+  {   9, 10,  853 }, {   9, 10,  889 }, {  10, 10,  309 }, {  11, 10,  721 },\r
+  {  11, 10,  994 }, {  12, 10,  430 }, {  13, 10,  165 }, {  14, 11,   16 },\r
+  { 146, 11,   44 }, { 132,  0,  779 }, {   8,  0,   25 }, { 138,  0,  826 },\r
+  {   4, 10,  453 }, {   5, 10,  887 }, {   6, 10,  535 }, {   8, 10,    6 },\r
+  {   8, 10,  543 }, { 136, 10,  826 }, { 137, 11,  461 }, { 140, 11,  632 },\r
+  { 132,  0,  308 }, { 135,  0,  741 }, { 132,  0,  671 }, {   7,  0,  150 },\r
+  {   8,  0,  649 }, { 136,  0, 1020 }, {   9,  0,   99 }, {   6, 11,  336 },\r
+  {   8, 11,  552 }, {   9, 11,  285 }, {  10, 11,   99 }, { 139, 11,  568 },\r
+  { 134,  0,  521 }, {   5,  0,  339 }, {  14,  0,    3 }, {  15,  0,   41 },\r
+  {  15,  0,  166 }, { 147,  0,   66 }, {   6, 11,  423 }, {   7, 11,  665 },\r
+  {   7, 11, 1210 }, {   9, 11,  218 }, { 141, 11,  222 }, {   6,  0,  543 },\r
+  {   5, 10,  101 }, {   5, 11,  256 }, {   6, 10,   88 }, {   7, 10, 1677 },\r
+  {   9, 10,  100 }, {  10, 10,  677 }, {  14, 10,  169 }, {  14, 10,  302 },\r
+  {  14, 10,  313 }, {  15, 10,   48 }, { 143, 10,   84 }, {   4, 10,  310 },\r
+  {   7, 10,  708 }, {   7, 10,  996 }, {   9, 10,  795 }, {  10, 10,  390 },\r
+  {  10, 10,  733 }, {  11, 10,  451 }, {  12, 10,  249 }, {  14, 10,  115 },\r
+  {  14, 10,  286 }, { 143, 10,  100 }, { 133, 10,  587 }, {  13, 11,  417 },\r
+  {  14, 11,  129 }, { 143, 11,   15 }, { 134,  0, 1358 }, { 136, 11,  554 },\r
+  { 132, 10,  498 }, {   7, 10,  217 }, {   8, 10,  140 }, { 138, 10,  610 },\r
+  { 135, 11,  989 }, { 135, 11,  634 }, {   6,  0,  155 }, { 140,  0,  234 },\r
+  { 135, 11,  462 }, { 132, 11,  618 }, { 134,  0, 1628 }, { 132,  0,  766 },\r
+  {   4, 11,  339 }, {   5, 10,  905 }, { 135, 11,  259 }, { 135,  0,  829 },\r
+  {   4, 11,  759 }, { 141, 11,  169 }, {   7,  0, 1445 }, {   4, 10,  456 },\r
+  {   7, 10,  358 }, {   7, 10, 1637 }, {   8, 10,  643 }, { 139, 10,  483 },\r
+  {   5,  0,  486 }, { 135,  0, 1349 }, {   5, 11,  688 }, { 135, 11,  712 },\r
+  {   7,  0, 1635 }, {   8,  0,   17 }, {  10,  0,  217 }, {  10,  0,  295 },\r
+  {  12,  0,    2 }, { 140, 11,    2 }, { 138,  0,  558 }, { 150, 10,   56 },\r
+  {   4, 11,  278 }, {   5, 11,  465 }, { 135, 11, 1367 }, { 136, 11,  482 },\r
+  { 133, 10,  535 }, {   6,  0, 1362 }, {   6,  0, 1461 }, {  10, 11,  274 },\r
+  {  10, 11,  625 }, { 139, 11,  530 }, {   5,  0,  599 }, {   5, 11,  336 },\r
+  {   6, 11,  341 }, {   6, 11,  478 }, {   6, 11, 1763 }, { 136, 11,  386 },\r
+  {   7, 10, 1748 }, { 137, 11,  151 }, { 134,  0, 1376 }, { 133, 10,  539 },\r
+  { 135, 11,   73 }, { 135, 11, 1971 }, { 139, 11,  283 }, {   9,  0,   93 },\r
+  { 139,  0,  474 }, {   6, 10,   91 }, { 135, 10,  435 }, {   6,  0,  447 },\r
+  {   5, 11,  396 }, { 134, 11,  501 }, {   4, 10,   16 }, {   5, 10,  316 },\r
+  {   5, 10,  842 }, {   6, 10,  370 }, {   6, 10, 1778 }, {   8, 10,  166 },\r
+  {  11, 10,  812 }, {  12, 10,  206 }, {  12, 10,  351 }, {  14, 10,  418 },\r
+  {  16, 10,   15 }, {  16, 10,   34 }, {  18, 10,    3 }, {  19, 10,    3 },\r
+  {  19, 10,    7 }, {  20, 10,    4 }, { 149, 10,   21 }, {   7,  0,  577 },\r
+  {   7,  0, 1432 }, {   9,  0,  475 }, {   9,  0,  505 }, {   9,  0,  526 },\r
+  {   9,  0,  609 }, {   9,  0,  689 }, {   9,  0,  726 }, {   9,  0,  735 },\r
+  {   9,  0,  738 }, {  10,  0,  556 }, {  10,  0,  674 }, {  10,  0,  684 },\r
+  {  11,  0,   89 }, {  11,  0,  202 }, {  11,  0,  272 }, {  11,  0,  380 },\r
+  {  11,  0,  415 }, {  11,  0,  505 }, {  11,  0,  537 }, {  11,  0,  550 },\r
+  {  11,  0,  562 }, {  11,  0,  640 }, {  11,  0,  667 }, {  11,  0,  688 },\r
+  {  11,  0,  847 }, {  11,  0,  927 }, {  11,  0,  930 }, {  11,  0,  940 },\r
+  {  12,  0,  144 }, {  12,  0,  325 }, {  12,  0,  329 }, {  12,  0,  389 },\r
+  {  12,  0,  403 }, {  12,  0,  451 }, {  12,  0,  515 }, {  12,  0,  604 },\r
+  {  12,  0,  616 }, {  12,  0,  626 }, {  13,  0,   66 }, {  13,  0,  131 },\r
+  {  13,  0,  167 }, {  13,  0,  236 }, {  13,  0,  368 }, {  13,  0,  411 },\r
+  {  13,  0,  434 }, {  13,  0,  453 }, {  13,  0,  461 }, {  13,  0,  474 },\r
+  {  14,  0,   59 }, {  14,  0,   60 }, {  14,  0,  139 }, {  14,  0,  152 },\r
+  {  14,  0,  276 }, {  14,  0,  353 }, {  14,  0,  402 }, {  15,  0,   28 },\r
+  {  15,  0,   81 }, {  15,  0,  123 }, {  15,  0,  152 }, {  18,  0,  136 },\r
+  { 148,  0,   88 }, {   4, 11,  929 }, { 133, 11,  799 }, { 136, 11,   46 },\r
+  { 142,  0,  307 }, {   4,  0,  609 }, {   7,  0,  756 }, {   9,  0,  544 },\r
+  {  11,  0,  413 }, { 144,  0,   25 }, {  10,  0,  687 }, {   7, 10,  619 },\r
+  {  10, 10,  547 }, {  11, 10,  122 }, { 140, 10,  601 }, {   4,  0,  930 },\r
+  { 133,  0,  947 }, { 133,  0,  939 }, { 142,  0,   21 }, {   4, 11,  892 },\r
+  { 133, 11,  770 }, { 133,  0,  962 }, {   5,  0,  651 }, {   8,  0,  170 },\r
+  {   9,  0,   61 }, {   9,  0,   63 }, {  10,  0,   23 }, {  10,  0,   37 },\r
+  {  10,  0,  834 }, {  11,  0,    4 }, {  11,  0,  187 }, {  11,  0,  281 },\r
+  {  11,  0,  503 }, {  11,  0,  677 }, {  12,  0,   96 }, {  12,  0,  130 },\r
+  {  12,  0,  244 }, {  14,  0,    5 }, {  14,  0,   40 }, {  14,  0,  162 },\r
+  {  14,  0,  202 }, { 146,  0,  133 }, {   4,  0,  406 }, {   5,  0,  579 },\r
+  {  12,  0,  492 }, { 150,  0,   15 }, { 135, 11,  158 }, { 135,  0,  597 },\r
+  { 132,  0,  981 }, { 132, 10,  888 }, {   4, 10,  149 }, { 138, 10,  368 },\r
+  { 132,  0,  545 }, {   4, 10,  154 }, {   7, 10, 1134 }, { 136, 10,  105 },\r
+  { 135, 11, 2001 }, { 134,  0, 1558 }, {   4, 10,   31 }, {   6, 10,  429 },\r
+  {   7, 10,  962 }, {   9, 10,  458 }, { 139, 10,  691 }, { 132, 10,  312 },\r
+  { 135, 10, 1642 }, {   6,  0,   17 }, {   6,  0, 1304 }, {   7,  0,   16 },\r
+  {   7,  0, 1001 }, {   9,  0,  886 }, {  10,  0,  489 }, {  10,  0,  800 },\r
+  {  11,  0,  782 }, {  12,  0,  320 }, {  13,  0,  467 }, {  14,  0,  145 },\r
+  {  14,  0,  387 }, { 143,  0,  119 }, { 135,  0, 1982 }, {  17,  0,   17 },\r
+  {   7, 11, 1461 }, { 140, 11,   91 }, {   4, 10,  236 }, { 132, 11,  602 },\r
+  { 138,  0,  907 }, { 136,  0,  110 }, {   7,  0,  272 }, {  19,  0,   53 },\r
+  {   5, 10,  836 }, {   5, 10,  857 }, { 134, 10, 1680 }, {   5,  0,  458 },\r
+  {   7, 11, 1218 }, { 136, 11,  303 }, {   7,  0, 1983 }, {   8,  0,    0 },\r
+  {   8,  0,  171 }, {   9,  0,  120 }, {   9,  0,  732 }, {  10,  0,  473 },\r
+  {  11,  0,  656 }, {  11,  0,  998 }, {  18,  0,    0 }, {  18,  0,    2 },\r
+  {  19,  0,   21 }, {  10, 10,   68 }, { 139, 10,  494 }, { 137, 11,  662 },\r
+  {   4, 11,   13 }, {   5, 11,  567 }, {   7, 11, 1498 }, {   9, 11,  124 },\r
+  {  11, 11,  521 }, { 140, 11,  405 }, {   4, 10,   81 }, { 139, 10,  867 },\r
+  { 135, 11, 1006 }, {   7, 11,  800 }, {   7, 11, 1783 }, { 138, 11,   12 },\r
+  {   9,  0,  295 }, {  10,  0,  443 }, {   5, 10,  282 }, {   8, 10,  650 },\r
+  { 137, 10,  907 }, { 132, 11,  735 }, {   4, 11,  170 }, {   4, 10,  775 },\r
+  { 135, 11,  323 }, {   6,  0, 1844 }, {  10,  0,  924 }, {  11, 11,  844 },\r
+  {  12, 11,  104 }, { 140, 11,  625 }, {   5, 11,  304 }, {   7, 11, 1403 },\r
+  { 140, 11,  498 }, { 134,  0, 1232 }, {   4,  0,  519 }, {  10,  0,   70 },\r
+  {  12,  0,   26 }, {  14,  0,   17 }, {  14,  0,  178 }, {  15,  0,   34 },\r
+  { 149,  0,   12 }, { 132,  0,  993 }, {   4, 11,  148 }, { 133, 11,  742 },\r
+  {   6,  0,   31 }, {   7,  0,  491 }, {   7,  0,  530 }, {   8,  0,  592 },\r
+  {  11,  0,   53 }, {  11,  0,  779 }, {  12,  0,  167 }, {  12,  0,  411 },\r
+  {  14,  0,   14 }, {  14,  0,  136 }, {  15,  0,   72 }, {  16,  0,   17 },\r
+  { 144,  0,   72 }, { 133,  0,  907 }, { 134,  0,  733 }, { 133, 11,  111 },\r
+  {   4, 10,   71 }, {   5, 10,  376 }, {   7, 10,  119 }, { 138, 10,  665 },\r
+  { 136,  0,   55 }, {   8,  0,  430 }, { 136, 11,  430 }, {   4,  0,  208 },\r
+  {   5,  0,  106 }, {   6,  0,  531 }, {   8,  0,  408 }, {   9,  0,  188 },\r
+  { 138,  0,  572 }, {  12,  0,   56 }, {  11, 10,  827 }, {  14, 10,   34 },\r
+  { 143, 10,  148 }, { 134,  0, 1693 }, { 133, 11,  444 }, { 132, 10,  479 },\r
+  { 140,  0,  441 }, {   9,  0,  449 }, {  10,  0,  192 }, { 138,  0,  740 },\r
+  { 134,  0,  928 }, {   4,  0,  241 }, {   7, 10,  607 }, { 136, 10,   99 },\r
+  {   8, 11,  123 }, {  15, 11,    6 }, { 144, 11,    7 }, {   6, 11,  285 },\r
+  {   8, 11,  654 }, {  11, 11,  749 }, {  12, 11,  190 }, {  12, 11,  327 },\r
+  {  13, 11,  120 }, {  13, 11,  121 }, {  13, 11,  327 }, {  15, 11,   47 },\r
+  { 146, 11,   40 }, {   4, 10,   41 }, {   5, 10,   74 }, {   7, 10, 1627 },\r
+  {  11, 10,  871 }, { 140, 10,  619 }, {   7,  0, 1525 }, {  11, 10,  329 },\r
+  {  11, 10,  965 }, {  12, 10,  241 }, {  14, 10,  354 }, {  15, 10,   22 },\r
+  { 148, 10,   63 }, { 132,  0,  259 }, { 135, 11,  183 }, {   9, 10,  209 },\r
+  { 137, 10,  300 }, {   5, 11,  937 }, { 135, 11,  100 }, { 133, 10,   98 },\r
+  {   4,  0,  173 }, {   5,  0,  312 }, {   5,  0,  512 }, { 135,  0, 1285 },\r
+  { 141,  0,  185 }, {   7,  0, 1603 }, {   7,  0, 1691 }, {   9,  0,  464 },\r
+  {  11,  0,  195 }, {  12,  0,  279 }, {  12,  0,  448 }, {  14,  0,   11 },\r
+  { 147,  0,  102 }, { 135,  0, 1113 }, { 133, 10,  984 }, {   4,  0,  452 },\r
+  {   5,  0,  583 }, { 135,  0,  720 }, {   4,  0,  547 }, {   5,  0,  817 },\r
+  {   6,  0,  433 }, {   7,  0,  593 }, {   7,  0, 1378 }, {   8,  0,  161 },\r
+  {   9,  0,  284 }, {  10,  0,  313 }, { 139,  0,  886 }, {   8,  0,  722 },\r
+  {   4, 10,  182 }, {   6, 10,  205 }, { 135, 10,  220 }, { 150,  0,   13 },\r
+  {   4, 10,   42 }, {   9, 10,  205 }, {   9, 10,  786 }, { 138, 10,  659 },\r
+  {   6,  0,  289 }, {   7,  0, 1670 }, {  12,  0,   57 }, { 151,  0,    4 },\r
+  { 132, 10,  635 }, {  14,  0,   43 }, { 146,  0,   21 }, { 139, 10,  533 },\r
+  { 135,  0, 1694 }, {   8,  0,  420 }, { 139,  0,  193 }, { 135,  0,  409 },\r
+  { 132, 10,  371 }, {   4, 10,  272 }, { 135, 10,  836 }, {   5, 10,  825 },\r
+  { 134, 10, 1640 }, {   5, 11,  251 }, {   5, 11,  956 }, {   8, 11,  268 },\r
+  {   9, 11,  214 }, { 146, 11,  142 }, { 138,  0,  308 }, {   6,  0, 1863 },\r
+  { 141, 11,   37 }, { 137, 10,  879 }, {   7, 10,  317 }, { 135, 10,  569 },\r
+  { 132, 11,  294 }, { 134,  0,  790 }, {   5,  0, 1002 }, { 136,  0,  745 },\r
+  {   5, 11,  346 }, {   5, 11,  711 }, { 136, 11,  390 }, { 135,  0,  289 },\r
+  {   5,  0,  504 }, {  11,  0,   68 }, { 137, 10,  307 }, {   4,  0,  239 },\r
+  {   6,  0,  477 }, {   7,  0, 1607 }, { 139,  0,  617 }, { 149,  0,   13 },\r
+  { 133,  0,  609 }, { 133, 11,  624 }, {   5, 11,  783 }, {   7, 11, 1998 },\r
+  { 135, 11, 2047 }, { 133, 10,  525 }, { 132,  0,  367 }, { 132, 11,  594 },\r
+  {   6,  0,  528 }, { 133, 10,  493 }, {   4, 10,  174 }, { 135, 10,  911 },\r
+  {   8, 10,  417 }, { 137, 10,  782 }, { 132,  0,  694 }, {   7,  0,  548 },\r
+  { 137,  0,   58 }, {   4, 10,   32 }, {   5, 10,  215 }, {   6, 10,  269 },\r
+  {   7, 10, 1782 }, {   7, 10, 1892 }, {  10, 10,   16 }, {  11, 10,  822 },\r
+  {  11, 10,  954 }, { 141, 10,  481 }, { 140,  0,  687 }, {   7,  0, 1749 },\r
+  { 136, 10,  477 }, { 132, 11,  569 }, { 133, 10,  308 }, { 135, 10, 1088 },\r
+  {   4,  0,  661 }, { 138,  0, 1004 }, {   5, 11,   37 }, {   6, 11,   39 },\r
+  {   6, 11,  451 }, {   7, 11,  218 }, {   7, 11,  667 }, {   7, 11, 1166 },\r
+  {   7, 11, 1687 }, {   8, 11,  662 }, { 144, 11,    2 }, {   9,  0,  445 },\r
+  {  12,  0,   53 }, {  13,  0,  492 }, {   5, 10,  126 }, {   8, 10,  297 },\r
+  {   9, 10,  366 }, { 140, 10,  374 }, {   7, 10, 1551 }, { 139, 10,  361 },\r
+  { 148,  0,   74 }, { 134, 11,  508 }, { 135,  0,  213 }, { 132, 10,  175 },\r
+  { 132, 10,  685 }, {   6,  0,  760 }, {   6,  0,  834 }, { 134,  0, 1248 },\r
+  {   7, 11,  453 }, {   7, 11,  635 }, {   7, 11,  796 }, {   8, 11,  331 },\r
+  {   9, 11,  328 }, {   9, 11,  330 }, {   9, 11,  865 }, {  10, 11,  119 },\r
+  {  10, 11,  235 }, {  11, 11,  111 }, {  11, 11,  129 }, {  11, 11,  240 },\r
+  {  12, 11,   31 }, {  12, 11,   66 }, {  12, 11,  222 }, {  12, 11,  269 },\r
+  {  12, 11,  599 }, {  12, 11,  689 }, {  13, 11,  186 }, {  13, 11,  364 },\r
+  { 142, 11,  345 }, {   7,  0, 1672 }, { 139,  0,  189 }, { 133, 10,  797 },\r
+  { 133, 10,  565 }, {   6,  0, 1548 }, {   6, 11,   98 }, {   7, 11,  585 },\r
+  { 135, 11,  702 }, {   9,  0,  968 }, {  15,  0,  192 }, { 149,  0,   56 },\r
+  {   4, 10,  252 }, {   6, 11,   37 }, {   7, 11,  299 }, {   7, 10, 1068 },\r
+  {   7, 11, 1666 }, {   8, 11,  195 }, {   8, 11,  316 }, {   9, 11,  178 },\r
+  {   9, 11,  276 }, {   9, 11,  339 }, {   9, 11,  536 }, {  10, 11,  102 },\r
+  {  10, 11,  362 }, {  10, 10,  434 }, {  10, 11,  785 }, {  11, 11,   55 },\r
+  {  11, 11,  149 }, {  11, 10,  228 }, {  11, 10,  426 }, {  11, 11,  773 },\r
+  {  13, 10,  231 }, {  13, 11,  416 }, {  13, 11,  419 }, {  14, 11,   38 },\r
+  {  14, 11,   41 }, {  14, 11,  210 }, {  18, 10,  106 }, { 148, 10,   87 },\r
+  {   4,  0,  751 }, {  11,  0,  390 }, { 140,  0,   32 }, {   4,  0,  409 },\r
+  { 133,  0,   78 }, {  11, 11,  458 }, {  12, 11,   15 }, { 140, 11,  432 },\r
+  {   7,  0, 1602 }, {  10,  0,  257 }, {  10,  0,  698 }, {  11,  0,  544 },\r
+  {  11,  0,  585 }, {  12,  0,  212 }, {  13,  0,  307 }, {   5, 10,  231 },\r
+  {   7, 10,  601 }, {   9, 10,  277 }, {   9, 10,  674 }, {  10, 10,  178 },\r
+  {  10, 10,  418 }, {  10, 10,  509 }, {  11, 10,  531 }, {  12, 10,  113 },\r
+  {  12, 10,  475 }, {  13, 10,   99 }, { 142, 10,  428 }, {   6,  0,  473 },\r
+  { 145,  0,  105 }, {   6,  0, 1949 }, {  15,  0,  156 }, { 133, 11,  645 },\r
+  {   7, 10, 1591 }, { 144, 10,   43 }, { 135,  0, 1779 }, { 135, 10, 1683 },\r
+  {   4, 11,  290 }, { 135, 11, 1356 }, { 134,  0,  763 }, {   6, 11,   70 },\r
+  {   7, 11, 1292 }, {  10, 11,  762 }, { 139, 11,  288 }, { 142,  0,   29 },\r
+  { 140, 11,  428 }, {   7,  0,  883 }, {   7, 11,  131 }, {   7, 11,  422 },\r
+  {   8, 11,  210 }, { 140, 11,  573 }, { 134,  0,  488 }, {   4, 10,  399 },\r
+  {   5, 10,  119 }, {   5, 10,  494 }, {   7, 10,  751 }, { 137, 10,  556 },\r
+  { 133,  0,  617 }, { 132, 11,  936 }, { 139,  0,   50 }, {   7,  0, 1518 },\r
+  { 139,  0,  694 }, { 137,  0,  785 }, {   4,  0,  546 }, { 135,  0, 2042 },\r
+  {   7, 11,  716 }, {  13, 11,   97 }, { 141, 11,  251 }, { 132, 11,  653 },\r
+  { 145,  0,   22 }, { 134,  0, 1016 }, {   4,  0,  313 }, { 133,  0,  577 },\r
+  { 136, 11,  657 }, {   8,  0,  184 }, { 141,  0,  433 }, { 135,  0,  935 },\r
+  {   6,  0,  720 }, {   9,  0,  114 }, { 146, 11,   80 }, {  12,  0,  186 },\r
+  {  12,  0,  292 }, {  14,  0,  100 }, {  18,  0,   70 }, {   7, 10,  594 },\r
+  {   7, 10,  851 }, {   7, 10, 1858 }, {   9, 10,  411 }, {   9, 10,  574 },\r
+  {   9, 10,  666 }, {   9, 10,  737 }, {  10, 10,  346 }, {  10, 10,  712 },\r
+  {  11, 10,  246 }, {  11, 10,  432 }, {  11, 10,  517 }, {  11, 10,  647 },\r
+  {  11, 10,  679 }, {  11, 10,  727 }, {  12, 10,  304 }, {  12, 10,  305 },\r
+  {  12, 10,  323 }, {  12, 10,  483 }, {  12, 10,  572 }, {  12, 10,  593 },\r
+  {  12, 10,  602 }, {  13, 10,   95 }, {  13, 10,  101 }, {  13, 10,  171 },\r
+  {  13, 10,  315 }, {  13, 10,  378 }, {  13, 10,  425 }, {  13, 10,  475 },\r
+  {  14, 10,   63 }, {  14, 10,  380 }, {  14, 10,  384 }, {  15, 10,  133 },\r
+  {  18, 10,  112 }, { 148, 10,   72 }, { 135, 10, 1093 }, { 135, 11, 1836 },\r
+  { 132, 10,  679 }, { 137, 10,  203 }, {  11,  0,  402 }, {  12,  0,  109 },\r
+  {  12,  0,  431 }, {  13,  0,  179 }, {  13,  0,  206 }, {  14,  0,  217 },\r
+  {  16,  0,    3 }, { 148,  0,   53 }, {   7, 11, 1368 }, {   8, 11,  232 },\r
+  {   8, 11,  361 }, {  10, 11,  682 }, { 138, 11,  742 }, { 137, 10,  714 },\r
+  {   5,  0,  886 }, {   6,  0,   46 }, {   6,  0, 1790 }, {   7,  0,   14 },\r
+  {   7,  0,  732 }, {   7,  0, 1654 }, {   8,  0,   95 }, {   8,  0,  327 },\r
+  {   8,  0,  616 }, {   9,  0,  892 }, {  10,  0,  598 }, {  10,  0,  769 },\r
+  {  11,  0,  134 }, {  11,  0,  747 }, {  12,  0,  378 }, {  14,  0,   97 },\r
+  { 137, 11,  534 }, {   4,  0,  969 }, { 136, 10,  825 }, { 137, 11,   27 },\r
+  {   6,  0,  727 }, { 142, 11,   12 }, { 133,  0, 1021 }, { 134,  0, 1190 },\r
+  { 134, 11, 1657 }, {   5, 10,  143 }, {   5, 10,  769 }, {   6, 10, 1760 },\r
+  {   7, 10,  682 }, {   7, 10, 1992 }, { 136, 10,  736 }, { 132,  0,  153 },\r
+  { 135, 11,  127 }, { 133,  0,  798 }, { 132,  0,  587 }, {   6,  0,  598 },\r
+  {   7,  0,   42 }, {   8,  0,  695 }, {  10,  0,  212 }, {  11,  0,  158 },\r
+  {  14,  0,  196 }, { 145,  0,   85 }, { 133, 10,  860 }, {   6,  0, 1929 },\r
+  { 134,  0, 1933 }, {   5,  0,  957 }, {   5,  0, 1008 }, {   9,  0,  577 },\r
+  {  12,  0,  141 }, {   6, 10,  422 }, {   7, 10,    0 }, {   7, 10, 1544 },\r
+  {   8, 11,  364 }, {  11, 10,  990 }, {  12, 10,  453 }, {  13, 10,   47 },\r
+  { 141, 10,  266 }, { 134,  0, 1319 }, {   4,  0,  129 }, { 135,  0,  465 },\r
+  {   7,  0,  470 }, {   7,  0, 1057 }, {   7,  0, 1201 }, {   9,  0,  755 },\r
+  {  11,  0,  906 }, { 140,  0,  527 }, {   7,  0,  908 }, { 146,  0,    7 },\r
+  {   5,  0,  148 }, { 136,  0,  450 }, {   5, 10,  515 }, { 137, 10,  131 },\r
+  {   7, 10, 1605 }, {  11, 10,  962 }, { 146, 10,  139 }, { 132, 10,  646 },\r
+  { 134,  0, 1166 }, {   4, 10,  396 }, {   7, 10,  728 }, {   9, 10,  117 },\r
+  {  13, 10,  202 }, { 148, 10,   51 }, {   6, 10,  121 }, {   6, 10,  124 },\r
+  {   6, 10,  357 }, {   7, 10, 1138 }, {   7, 10, 1295 }, {   8, 10,  162 },\r
+  { 139, 10,  655 }, {  14,  0,  374 }, { 142, 11,  374 }, { 138,  0,  253 },\r
+  { 139,  0, 1003 }, {   5, 11,  909 }, {   9, 11,  849 }, { 138, 11,  805 },\r
+  { 133, 10,  237 }, {   7, 11,  525 }, {   7, 11, 1579 }, {   8, 11,  497 },\r
+  { 136, 11,  573 }, { 137,  0,   46 }, { 132,  0,  879 }, { 134,  0,  806 },\r
+  { 135,  0, 1868 }, {   6,  0, 1837 }, { 134,  0, 1846 }, {   6,  0,  730 },\r
+  { 134,  0,  881 }, {   7,  0,  965 }, {   7,  0, 1460 }, {   7,  0, 1604 },\r
+  {   7, 11,  193 }, {   7, 11,  397 }, {   7, 11, 1105 }, {   8, 11,  124 },\r
+  {   8, 11,  619 }, {   9, 11,  305 }, {  10, 11,  264 }, {  11, 11,   40 },\r
+  {  12, 11,  349 }, {  13, 11,  134 }, {  13, 11,  295 }, {  14, 11,  155 },\r
+  {  15, 11,  120 }, { 146, 11,  105 }, { 136,  0,  506 }, { 143,  0,   10 },\r
+  {   4, 11,  262 }, {   7, 11,  342 }, {   7, 10,  571 }, {   7, 10, 1877 },\r
+  {  10, 10,  366 }, { 141, 11,   23 }, { 133, 11,  641 }, {  10,  0,   22 },\r
+  {   9, 10,  513 }, {  10, 10,   39 }, {  12, 10,  122 }, { 140, 10,  187 },\r
+  { 135, 11, 1431 }, { 150, 11,   49 }, {   4, 11,   99 }, {   6, 11,  250 },\r
+  {   6, 11,  346 }, {   8, 11,  127 }, { 138, 11,   81 }, {   6,  0, 2014 },\r
+  {   8,  0,  928 }, {  10,  0,  960 }, {  10,  0,  979 }, { 140,  0,  996 },\r
+  { 134,  0,  296 }, { 132, 11,  915 }, {   5, 11,   75 }, {   9, 11,  517 },\r
+  {  10, 11,  470 }, {  12, 11,  155 }, { 141, 11,  224 }, { 137, 10,  873 },\r
+  {   4,  0,  854 }, { 140, 11,   18 }, { 134,  0,  587 }, {   7, 10,  107 },\r
+  {   7, 10,  838 }, {   8, 10,  550 }, { 138, 10,  401 }, {  11,  0,  636 },\r
+  {  15,  0,  145 }, {  17,  0,   34 }, {  19,  0,   50 }, {  23,  0,   20 },\r
+  {  11, 10,  588 }, {  11, 10,  864 }, {  11, 10,  968 }, { 143, 10,  160 },\r
+  { 135, 11,  216 }, {   7,  0,  982 }, {  10,  0,   32 }, { 143,  0,   56 },\r
+  { 133, 10,  768 }, { 133, 11,  954 }, {   6, 11,  304 }, {   7, 11, 1114 },\r
+  {   8, 11,  418 }, {  10, 11,  345 }, {  11, 11,  341 }, {  11, 11,  675 },\r
+  { 141, 11,   40 }, {   9, 11,  410 }, { 139, 11,  425 }, { 136,  0,  941 },\r
+  {   5,  0,  435 }, { 132, 10,  894 }, {   5,  0,   85 }, {   6,  0,  419 },\r
+  {   7,  0,  134 }, {   7,  0,  305 }, {   7,  0,  361 }, {   7,  0, 1337 },\r
+  {   8,  0,   71 }, { 140,  0,  519 }, { 140,  0,  688 }, { 135,  0,  740 },\r
+  {   5,  0,  691 }, {   7,  0,  345 }, {   9,  0,   94 }, { 140,  0,  169 },\r
+  {   5,  0,  183 }, {   6,  0,  582 }, {  10,  0,  679 }, { 140,  0,  435 },\r
+  { 134, 11,   14 }, {   6,  0,  945 }, { 135,  0,  511 }, { 134, 11, 1708 },\r
+  {   5, 11,  113 }, {   6, 11,  243 }, {   7, 11, 1865 }, {  11, 11,  161 },\r
+  {  16, 11,   37 }, { 145, 11,   99 }, { 132, 11,  274 }, { 137,  0,  539 },\r
+  {   7,  0, 1993 }, {   8,  0,  684 }, { 134, 10,  272 }, {   6,  0,  659 },\r
+  { 134,  0,  982 }, {   4, 10,    9 }, {   5, 10,  128 }, {   7, 10,  368 },\r
+  {  11, 10,  480 }, { 148, 10,    3 }, { 134,  0,  583 }, { 132,  0,  803 },\r
+  { 133,  0,  704 }, {   4,  0,  179 }, {   5,  0,  198 }, { 133,  0,  697 },\r
+  {   7,  0,  347 }, {   7,  0,  971 }, {   8,  0,  181 }, {  10,  0,  711 },\r
+  { 135, 11,  166 }, { 136, 10,  682 }, {   4, 10,    2 }, {   7, 10,  545 },\r
+  {   7, 10,  894 }, { 136, 11,  521 }, { 135,  0,  481 }, { 132,  0,  243 },\r
+  {   5,  0,  203 }, {   7,  0,   19 }, {   7,  0,   71 }, {   7,  0,  113 },\r
+  {  10,  0,  405 }, {  11,  0,  357 }, { 142,  0,  240 }, {   5, 11,  725 },\r
+  {   5, 11,  727 }, { 135, 11, 1811 }, {   6,  0,  826 }, { 137, 11,  304 },\r
+  {   7,  0, 1450 }, { 139,  0,   99 }, { 133, 11,  654 }, { 134,  0,  492 },\r
+  {   5,  0,  134 }, {   6,  0,  408 }, {   6,  0,  495 }, {   7,  0, 1593 },\r
+  {   6, 11,  273 }, {  10, 11,  188 }, {  13, 11,  377 }, { 146, 11,   77 },\r
+  {   9, 10,  769 }, { 140, 10,  185 }, { 135, 11,  410 }, { 142,  0,    4 },\r
+  {   4,  0,  665 }, { 134, 11, 1785 }, {   4,  0,  248 }, {   7,  0,  137 },\r
+  { 137,  0,  349 }, {   5, 10,  530 }, { 142, 10,  113 }, {   7,  0, 1270 },\r
+  { 139,  0,  612 }, { 132, 11,  780 }, {   5,  0,  371 }, { 135,  0,  563 },\r
+  { 135,  0,  826 }, {   6,  0, 1535 }, {  23,  0,   21 }, { 151,  0,   23 },\r
+  {   4,  0,  374 }, {   7,  0,  547 }, {   7,  0, 1700 }, {   7,  0, 1833 },\r
+  { 139,  0,  858 }, { 133, 10,  556 }, {   7, 11,  612 }, {   8, 11,  545 },\r
+  {   8, 11,  568 }, {   8, 11,  642 }, {   9, 11,  717 }, {  10, 11,  541 },\r
+  {  10, 11,  763 }, {  11, 11,  449 }, {  12, 11,  489 }, {  13, 11,  153 },\r
+  {  13, 11,  296 }, {  14, 11,  138 }, {  14, 11,  392 }, {  15, 11,   50 },\r
+  {  16, 11,    6 }, {  16, 11,   12 }, { 148, 11,    9 }, {   9,  0,  311 },\r
+  { 141,  0,   42 }, {   8, 10,   16 }, { 140, 10,  568 }, {   6,  0, 1968 },\r
+  {   6,  0, 2027 }, { 138,  0,  991 }, {   6,  0, 1647 }, {   7,  0, 1552 },\r
+  {   7,  0, 2010 }, {   9,  0,  494 }, { 137,  0,  509 }, { 133, 11,  948 },\r
+  {   6, 10,  186 }, { 137, 10,  426 }, { 134,  0,  769 }, { 134,  0,  642 },\r
+  { 132, 10,  585 }, {   6,  0,  123 }, {   7,  0,  214 }, {   9,  0,  728 },\r
+  {  10,  0,  157 }, {  11,  0,  346 }, {  11,  0,  662 }, { 143,  0,  106 },\r
+  { 142, 11,  381 }, { 135,  0, 1435 }, {   4, 11,  532 }, {   5, 11,  706 },\r
+  { 135, 11,  662 }, {   5, 11,  837 }, { 134, 11, 1651 }, {   4, 10,   93 },\r
+  {   5, 10,  252 }, {   6, 10,  229 }, {   7, 10,  291 }, {   9, 10,  550 },\r
+  { 139, 10,  644 }, { 148,  0,   79 }, { 137, 10,  749 }, { 134,  0, 1425 },\r
+  { 137, 10,  162 }, {   4, 11,  362 }, {   7, 11,   52 }, {   7, 11,  303 },\r
+  { 140, 11,  166 }, { 132, 10,  381 }, {   4, 11,  330 }, {   7, 11,  933 },\r
+  {   7, 11, 2012 }, { 136, 11,  292 }, { 135, 11,  767 }, {   4,  0,  707 },\r
+  {   5,  0,  588 }, {   6,  0,  393 }, {  13,  0,  106 }, {  18,  0,   49 },\r
+  { 147,  0,   41 }, {   6,  0,  211 }, {   7,  0, 1690 }, {  11,  0,  486 },\r
+  { 140,  0,  369 }, { 137, 11,  883 }, {   4, 11,  703 }, { 135, 11,  207 },\r
+  {   4,  0,  187 }, {   5,  0,  184 }, {   5,  0,  690 }, {   7,  0, 1869 },\r
+  {  10,  0,  756 }, { 139,  0,  783 }, { 132, 11,  571 }, { 134,  0, 1382 },\r
+  {   5,  0,  175 }, {   6, 10,   77 }, {   6, 10,  157 }, {   7, 10,  974 },\r
+  {   7, 10, 1301 }, {   7, 10, 1339 }, {   7, 10, 1490 }, {   7, 10, 1873 },\r
+  { 137, 10,  628 }, { 134,  0, 1493 }, {   5, 11,  873 }, { 133, 11,  960 },\r
+  { 134,  0, 1007 }, {  12, 11,   93 }, {  12, 11,  501 }, {  13, 11,  362 },\r
+  {  14, 11,  151 }, {  15, 11,   40 }, {  15, 11,   59 }, {  16, 11,   46 },\r
+  {  17, 11,   25 }, {  18, 11,   14 }, {  18, 11,  134 }, {  19, 11,   25 },\r
+  {  19, 11,   69 }, {  20, 11,   16 }, {  20, 11,   19 }, {  20, 11,   66 },\r
+  {  21, 11,   23 }, {  21, 11,   25 }, { 150, 11,   42 }, {  11, 10,  919 },\r
+  { 141, 10,  409 }, { 134,  0,  219 }, {   5,  0,  582 }, {   6,  0, 1646 },\r
+  {   7,  0,   99 }, {   7,  0, 1962 }, {   7,  0, 1986 }, {   8,  0,  515 },\r
+  {   8,  0,  773 }, {   9,  0,   23 }, {   9,  0,  491 }, {  12,  0,  620 },\r
+  { 142,  0,   93 }, { 133,  0,  851 }, {   5, 11,   33 }, { 134, 11,  470 },\r
+  { 135, 11, 1291 }, { 134,  0, 1278 }, { 135, 11, 1882 }, { 135, 10, 1489 },\r
+  { 132,  0, 1000 }, { 138,  0,  982 }, {   8,  0,  762 }, {   8,  0,  812 },\r
+  { 137,  0,  910 }, {   6, 11,   47 }, {   7, 11,   90 }, {   7, 11,  664 },\r
+  {   7, 11,  830 }, {   7, 11, 1380 }, {   7, 11, 2025 }, {   8, 11,  448 },\r
+  { 136, 11,  828 }, {   4,  0,   98 }, {   4,  0,  940 }, {   6,  0, 1819 },\r
+  {   6,  0, 1834 }, {   6,  0, 1841 }, {   7,  0, 1365 }, {   8,  0,  859 },\r
+  {   8,  0,  897 }, {   8,  0,  918 }, {   9,  0,  422 }, {   9,  0,  670 },\r
+  {  10,  0,  775 }, {  10,  0,  894 }, {  10,  0,  909 }, {  10,  0,  910 },\r
+  {  10,  0,  935 }, {  11,  0,  210 }, {  12,  0,  750 }, {  12,  0,  755 },\r
+  {  13,  0,   26 }, {  13,  0,  457 }, {  13,  0,  476 }, {  16,  0,  100 },\r
+  {  16,  0,  109 }, {  18,  0,  173 }, {  18,  0,  175 }, {   8, 10,  398 },\r
+  {   9, 10,  681 }, { 139, 10,  632 }, {   9, 11,  417 }, { 137, 11,  493 },\r
+  { 136, 10,  645 }, { 138,  0,  906 }, { 134,  0, 1730 }, { 134, 10,   20 },\r
+  { 133, 11, 1019 }, { 134,  0, 1185 }, {  10,  0,   40 }, { 136, 10,  769 },\r
+  {   9,  0,  147 }, { 134, 11,  208 }, { 140,  0,  650 }, {   5,  0,  209 },\r
+  {   6,  0,   30 }, {  11,  0,   56 }, { 139,  0,  305 }, { 132,  0,  553 },\r
+  { 138, 11,  344 }, {   6, 11,   68 }, {   7, 11,  398 }, {   7, 11,  448 },\r
+  {   7, 11, 1629 }, {   7, 11, 1813 }, {   8, 11,  387 }, {   8, 11,  442 },\r
+  {   9, 11,  710 }, {  10, 11,  282 }, { 138, 11,  722 }, {   5,  0,  597 },\r
+  {  14,  0,   20 }, { 142, 11,   20 }, { 135,  0, 1614 }, { 135, 10, 1757 },\r
+  {   4,  0,  150 }, {   5,  0,  303 }, {   6,  0,  327 }, { 135, 10,  937 },\r
+  {  16,  0,   49 }, {   7, 10, 1652 }, { 144, 11,   49 }, {   8,  0,  192 },\r
+  {  10,  0,   78 }, { 141,  0,  359 }, { 135,  0,  786 }, { 143,  0,  134 },\r
+  {   6,  0, 1638 }, {   7,  0,   79 }, {   7,  0,  496 }, {   9,  0,  138 },\r
+  {  10,  0,  336 }, {  11,  0,   12 }, {  12,  0,  412 }, {  12,  0,  440 },\r
+  { 142,  0,  305 }, { 136, 11,  491 }, {   4, 10,  579 }, {   5, 10,  226 },\r
+  {   5, 10,  323 }, { 135, 10,  960 }, {   7,  0,  204 }, {   7,  0,  415 },\r
+  {   8,  0,   42 }, {  10,  0,   85 }, { 139,  0,  564 }, { 132,  0,  614 },\r
+  {   4, 11,  403 }, {   5, 11,  441 }, {   7, 11,  450 }, {  11, 11,  101 },\r
+  {  12, 11,  193 }, { 141, 11,  430 }, { 135, 11, 1927 }, { 135, 11, 1330 },\r
+  {   4,  0,    3 }, {   5,  0,  247 }, {   5,  0,  644 }, {   7,  0,  744 },\r
+  {   7,  0, 1207 }, {   7,  0, 1225 }, {   7,  0, 1909 }, { 146,  0,  147 },\r
+  { 136,  0,  942 }, {   4,  0, 1019 }, { 134,  0, 2023 }, {   5, 11,  679 },\r
+  { 133, 10,  973 }, {   5,  0,  285 }, {   9,  0,   67 }, {  13,  0,  473 },\r
+  { 143,  0,   82 }, {   7, 11,  328 }, { 137, 11,  326 }, { 151,  0,    8 },\r
+  {   6, 10,  135 }, { 135, 10, 1176 }, { 135, 11, 1128 }, { 134,  0, 1309 },\r
+  { 135, 11, 1796 }, { 135, 10,  314 }, {   4, 11,  574 }, {   7, 11,  350 },\r
+  {   7, 11, 1024 }, {   8, 11,  338 }, {   9, 11,  677 }, {  10, 11,  808 },\r
+  { 139, 11,  508 }, {   7, 11,  818 }, {  17, 11,   14 }, {  17, 11,   45 },\r
+  {  18, 11,   75 }, { 148, 11,   18 }, { 146, 10,    4 }, { 135, 11, 1081 },\r
+  {   4,  0,   29 }, {   6,  0,  532 }, {   7,  0, 1628 }, {   7,  0, 1648 },\r
+  {   9,  0,  350 }, {  10,  0,  433 }, {  11,  0,   97 }, {  11,  0,  557 },\r
+  {  11,  0,  745 }, {  12,  0,  289 }, {  12,  0,  335 }, {  12,  0,  348 },\r
+  {  12,  0,  606 }, {  13,  0,  116 }, {  13,  0,  233 }, {  13,  0,  466 },\r
+  {  14,  0,  181 }, {  14,  0,  209 }, {  14,  0,  232 }, {  14,  0,  236 },\r
+  {  14,  0,  300 }, {  16,  0,   41 }, { 148,  0,   97 }, {   7,  0,  318 },\r
+  {   6, 10,  281 }, {   8, 10,  282 }, {   8, 10,  480 }, {   8, 10,  499 },\r
+  {   9, 10,  198 }, {  10, 10,  143 }, {  10, 10,  169 }, {  10, 10,  211 },\r
+  {  10, 10,  417 }, {  10, 10,  574 }, {  11, 10,  147 }, {  11, 10,  395 },\r
+  {  12, 10,   75 }, {  12, 10,  407 }, {  12, 10,  608 }, {  13, 10,  500 },\r
+  { 142, 10,  251 }, { 135, 11, 1676 }, { 135, 11, 2037 }, { 135,  0, 1692 },\r
+  {   5,  0,  501 }, {   7,  0, 1704 }, {   9,  0,  553 }, {  11,  0,  520 },\r
+  {  12,  0,  557 }, { 141,  0,  249 }, {   6,  0, 1527 }, {  14,  0,  324 },\r
+  {  15,  0,   55 }, {  15,  0,   80 }, {  14, 11,  324 }, {  15, 11,   55 },\r
+  { 143, 11,   80 }, { 135, 10, 1776 }, {   8,  0,  988 }, { 137, 11,  297 },\r
+  { 132, 10,  419 }, { 142,  0,  223 }, { 139, 11,  234 }, {   7,  0, 1123 },\r
+  {  12,  0,  508 }, {  14,  0,  102 }, {  14,  0,  226 }, { 144,  0,   57 },\r
+  {   4, 10,  138 }, {   7, 10, 1012 }, {   7, 10, 1280 }, { 137, 10,   76 },\r
+  {   7,  0, 1764 }, {   5, 10,   29 }, { 140, 10,  638 }, { 134,  0, 2015 },\r
+  { 134,  0, 1599 }, { 138, 11,   56 }, {   6, 11,  306 }, {   7, 11, 1140 },\r
+  {   7, 11, 1340 }, {   8, 11,  133 }, { 138, 11,  449 }, { 139, 11, 1011 },\r
+  {   6, 10, 1710 }, { 135, 10, 2038 }, {   7, 11, 1763 }, { 140, 11,  310 },\r
+  {   6,  0,  129 }, {   4, 10,   17 }, {   5, 10,   23 }, {   7, 10,  995 },\r
+  {  11, 10,  383 }, {  11, 10,  437 }, {  12, 10,  460 }, { 140, 10,  532 },\r
+  {   5, 11,  329 }, { 136, 11,  260 }, { 133, 10,  862 }, { 132,  0,  534 },\r
+  {   6,  0,  811 }, { 135,  0,  626 }, { 132, 11,  657 }, {   4,  0,   25 },\r
+  {   5,  0,   60 }, {   6,  0,  504 }, {   7,  0,  614 }, {   7,  0, 1155 },\r
+  {  12,  0,    0 }, { 152, 11,    7 }, {   7,  0, 1248 }, {  11,  0,  621 },\r
+  { 139,  0,  702 }, { 137,  0,  321 }, {   8, 10,   70 }, {  12, 10,  171 },\r
+  { 141, 10,  272 }, {  10, 10,  233 }, { 139, 10,   76 }, {   4,  0,  379 },\r
+  {   7,  0, 1397 }, { 134, 10,  442 }, {   5, 11,   66 }, {   7, 11, 1896 },\r
+  { 136, 11,  288 }, { 134, 11, 1643 }, { 134, 10, 1709 }, {   4, 11,   21 },\r
+  {   5, 11,   91 }, {   5, 11,  570 }, {   5, 11,  648 }, {   5, 11,  750 },\r
+  {   5, 11,  781 }, {   6, 11,   54 }, {   6, 11,  112 }, {   6, 11,  402 },\r
+  {   6, 11, 1732 }, {   7, 11,  315 }, {   7, 11,  749 }, {   7, 11, 1347 },\r
+  {   7, 11, 1900 }, {   9, 11,   78 }, {   9, 11,  508 }, {  10, 11,  611 },\r
+  {  11, 11,  510 }, {  11, 11,  728 }, {  13, 11,   36 }, {  14, 11,   39 },\r
+  {  16, 11,   83 }, {  17, 11,  124 }, { 148, 11,   30 }, {   4,  0,  118 },\r
+  {   6,  0,  274 }, {   6,  0,  361 }, {   7,  0,   75 }, { 141,  0,  441 },\r
+  {  10, 11,  322 }, {  10, 11,  719 }, { 139, 11,  407 }, { 147, 10,  119 },\r
+  {  12, 11,  549 }, {  14, 11,   67 }, { 147, 11,   60 }, {  11, 10,   69 },\r
+  {  12, 10,  105 }, {  12, 10,  117 }, {  13, 10,  213 }, {  14, 10,   13 },\r
+  {  14, 10,   62 }, {  14, 10,  177 }, {  14, 10,  421 }, {  15, 10,   19 },\r
+  { 146, 10,  141 }, {   9,  0,  841 }, { 137, 10,  309 }, {   7, 10,  608 },\r
+  {   7, 10,  976 }, {   8, 11,  125 }, {   8, 11,  369 }, {   8, 11,  524 },\r
+  {   9, 10,  146 }, {  10, 10,  206 }, {  10, 11,  486 }, {  10, 10,  596 },\r
+  {  11, 11,   13 }, {  11, 11,  381 }, {  11, 11,  736 }, {  11, 11,  766 },\r
+  {  11, 11,  845 }, {  13, 11,  114 }, {  13, 10,  218 }, {  13, 11,  292 },\r
+  {  14, 11,   47 }, { 142, 10,  153 }, {  12,  0,  693 }, { 135, 11,  759 },\r
+  {   5,  0,  314 }, {   6,  0,  221 }, {   7,  0,  419 }, {  10,  0,  650 },\r
+  {  11,  0,  396 }, {  12,  0,  156 }, {  13,  0,  369 }, {  14,  0,  333 },\r
+  { 145,  0,   47 }, {   6, 11, 1684 }, {   6, 11, 1731 }, {   7, 11,  356 },\r
+  {   7, 11, 1932 }, {   8, 11,   54 }, {   8, 11,  221 }, {   9, 11,  225 },\r
+  {   9, 11,  356 }, {  10, 11,   77 }, {  10, 11,  446 }, {  10, 11,  731 },\r
+  {  12, 11,  404 }, { 141, 11,  491 }, { 132, 11,  375 }, {   4, 10,  518 },\r
+  { 135, 10, 1136 }, {   4,  0,  913 }, {   4, 11,  411 }, {  11, 11,  643 },\r
+  { 140, 11,  115 }, {   4, 11,   80 }, { 133, 11,   44 }, {   8, 10,  689 },\r
+  { 137, 10,  863 }, { 138,  0,  880 }, {   4, 10,   18 }, {   7, 10,  145 },\r
+  {   7, 10,  444 }, {   7, 10, 1278 }, {   8, 10,   49 }, {   8, 10,  400 },\r
+  {   9, 10,   71 }, {   9, 10,  250 }, {  10, 10,  459 }, {  12, 10,  160 },\r
+  { 144, 10,   24 }, { 136,  0,  475 }, {   5,  0, 1016 }, {   5, 11,  299 },\r
+  { 135, 11, 1083 }, {   7,  0,  602 }, {   8,  0,  179 }, {  10,  0,  781 },\r
+  { 140,  0,  126 }, {   6,  0,  329 }, { 138,  0,  111 }, { 135,  0, 1864 },\r
+  {   4, 11,  219 }, {   7, 11, 1761 }, { 137, 11,   86 }, {   6,  0, 1888 },\r
+  {   6,  0, 1892 }, {   6,  0, 1901 }, {   6,  0, 1904 }, {   9,  0,  953 },\r
+  {   9,  0,  985 }, {   9,  0,  991 }, {   9,  0, 1001 }, {  12,  0,  818 },\r
+  {  12,  0,  846 }, {  12,  0,  847 }, {  12,  0,  861 }, {  12,  0,  862 },\r
+  {  12,  0,  873 }, {  12,  0,  875 }, {  12,  0,  877 }, {  12,  0,  879 },\r
+  {  12,  0,  881 }, {  12,  0,  884 }, {  12,  0,  903 }, {  12,  0,  915 },\r
+  {  12,  0,  926 }, {  12,  0,  939 }, {  15,  0,  182 }, {  15,  0,  219 },\r
+  {  15,  0,  255 }, {  18,  0,  191 }, {  18,  0,  209 }, {  18,  0,  211 },\r
+  { 149,  0,   41 }, {   5, 11,  328 }, { 135, 11,  918 }, { 137,  0,  780 },\r
+  {  12,  0,   82 }, { 143,  0,   36 }, { 133, 10, 1010 }, {   5,  0,  821 },\r
+  { 134,  0, 1687 }, { 133, 11,  514 }, { 132,  0,  956 }, { 134,  0, 1180 },\r
+  {  10,  0,  112 }, {   5, 10,   87 }, {   7, 10,  313 }, {   7, 10, 1103 },\r
+  {  10, 10,  582 }, {  11, 10,  389 }, {  11, 10,  813 }, {  12, 10,  385 },\r
+  {  13, 10,  286 }, {  14, 10,  124 }, { 146, 10,  108 }, {   5,  0,   71 },\r
+  {   7,  0, 1407 }, {   9,  0,  704 }, {  10,  0,  261 }, {  10,  0,  619 },\r
+  {  11,  0,  547 }, {  11,  0,  619 }, { 143,  0,  157 }, {   4,  0,  531 },\r
+  {   5,  0,  455 }, {   5, 11,  301 }, {   6, 11,  571 }, {  14, 11,   49 },\r
+  { 146, 11,  102 }, { 132, 10,  267 }, {   6,  0,  385 }, {   7,  0, 2008 },\r
+  {   9,  0,  337 }, { 138,  0,  517 }, { 133, 11,  726 }, { 133, 11,  364 },\r
+  {   4, 11,   76 }, {   7, 11, 1550 }, {   9, 11,  306 }, {   9, 11,  430 },\r
+  {   9, 11,  663 }, {  10, 11,  683 }, {  11, 11,  427 }, {  11, 11,  753 },\r
+  {  12, 11,  334 }, {  12, 11,  442 }, {  14, 11,  258 }, {  14, 11,  366 },\r
+  { 143, 11,  131 }, {   6,  0, 1865 }, {   6,  0, 1879 }, {   6,  0, 1881 },\r
+  {   6,  0, 1894 }, {   6,  0, 1908 }, {   9,  0,  915 }, {   9,  0,  926 },\r
+  {   9,  0,  940 }, {   9,  0,  943 }, {   9,  0,  966 }, {   9,  0,  980 },\r
+  {   9,  0,  989 }, {   9,  0, 1005 }, {   9,  0, 1010 }, {  12,  0,  813 },\r
+  {  12,  0,  817 }, {  12,  0,  840 }, {  12,  0,  843 }, {  12,  0,  855 },\r
+  {  12,  0,  864 }, {  12,  0,  871 }, {  12,  0,  872 }, {  12,  0,  899 },\r
+  {  12,  0,  905 }, {  12,  0,  924 }, {  15,  0,  171 }, {  15,  0,  181 },\r
+  {  15,  0,  224 }, {  15,  0,  235 }, {  15,  0,  251 }, { 146,  0,  184 },\r
+  { 137, 11,   52 }, {   5,  0,   16 }, {   6,  0,   86 }, {   6,  0,  603 },\r
+  {   7,  0,  292 }, {   7,  0,  561 }, {   8,  0,  257 }, {   8,  0,  382 },\r
+  {   9,  0,  721 }, {   9,  0,  778 }, {  11,  0,  581 }, { 140,  0,  466 },\r
+  {   4,  0,  486 }, {   5,  0,  491 }, { 135, 10, 1121 }, {   4,  0,   72 },\r
+  {   6,  0,  265 }, { 135,  0, 1300 }, { 135, 11, 1183 }, {  10, 10,  249 },\r
+  { 139, 10,  209 }, { 132, 10,  561 }, { 137, 11,  519 }, {   4, 11,  656 },\r
+  {   4, 10,  760 }, { 135, 11,  779 }, {   9, 10,  154 }, { 140, 10,  485 },\r
+  { 135, 11, 1793 }, { 135, 11,  144 }, { 136, 10,  255 }, { 133,  0,  621 },\r
+  {   4, 10,  368 }, { 135, 10,  641 }, { 135, 11, 1373 }, {   7, 11,  554 },\r
+  {   7, 11,  605 }, { 141, 11,   10 }, { 137,  0,  234 }, {   5,  0,  815 },\r
+  {   6,  0, 1688 }, { 134,  0, 1755 }, {   5, 11,  838 }, {   5, 11,  841 },\r
+  { 134, 11, 1649 }, {   7,  0, 1987 }, {   7,  0, 2040 }, { 136,  0,  743 },\r
+  { 133, 11, 1012 }, {   6,  0,  197 }, { 136,  0,  205 }, {   6,  0,  314 },\r
+  { 134, 11,  314 }, { 144, 11,   53 }, {   6, 11,  251 }, {   7, 11,  365 },\r
+  {   7, 11, 1357 }, {   7, 11, 1497 }, {   8, 11,  154 }, { 141, 11,  281 },\r
+  { 133, 11,  340 }, {   6,  0,  452 }, {   7,  0,  312 }, { 138,  0,  219 },\r
+  { 138,  0,  589 }, {   4,  0,  333 }, {   9,  0,  176 }, {  12,  0,  353 },\r
+  { 141,  0,  187 }, {   9, 10,   92 }, { 147, 10,   91 }, { 134,  0, 1110 },\r
+  {  11,  0,   47 }, { 139, 11,  495 }, {   6, 10,  525 }, {   8, 10,  806 },\r
+  {   9, 10,  876 }, { 140, 10,  284 }, {   8, 11,  261 }, {   9, 11,  144 },\r
+  {   9, 11,  466 }, {  10, 11,  370 }, {  12, 11,  470 }, {  13, 11,  144 },\r
+  { 142, 11,  348 }, { 137, 11,  897 }, {   8,  0,  863 }, {   8,  0,  864 },\r
+  {   8,  0,  868 }, {   8,  0,  884 }, {  10,  0,  866 }, {  10,  0,  868 },\r
+  {  10,  0,  873 }, {  10,  0,  911 }, {  10,  0,  912 }, {  10,  0,  944 },\r
+  {  12,  0,  727 }, {   6, 11,  248 }, {   9, 11,  546 }, {  10, 11,  535 },\r
+  {  11, 11,  681 }, { 141, 11,  135 }, {   6,  0,  300 }, { 135,  0, 1515 },\r
+  { 134,  0, 1237 }, { 139, 10,  958 }, { 133, 10,  594 }, { 140, 11,  250 },\r
+  { 134,  0, 1685 }, { 134, 11,  567 }, {   7,  0,  135 }, {   8,  0,    7 },\r
+  {   8,  0,   62 }, {   9,  0,  243 }, {  10,  0,  658 }, {  10,  0,  697 },\r
+  {  11,  0,  456 }, { 139,  0,  756 }, {   9,  0,  395 }, { 138,  0,   79 },\r
+  {   6, 10, 1641 }, { 136, 10,  820 }, {   4, 10,  302 }, { 135, 10, 1766 },\r
+  { 134, 11,  174 }, { 135, 10, 1313 }, { 135,  0,  631 }, { 134, 10, 1674 },\r
+  { 134, 11,  395 }, { 138,  0,  835 }, {   7,  0,  406 }, {   7,  0,  459 },\r
+  {   8,  0,  606 }, { 139,  0,  726 }, { 134, 11,  617 }, { 134,  0,  979 },\r
+  {   6, 10,  389 }, {   7, 10,  149 }, {   9, 10,  142 }, { 138, 10,   94 },\r
+  {   5, 11,  878 }, { 133, 11,  972 }, {   6, 10,    8 }, {   7, 10, 1881 },\r
+  {   8, 10,   91 }, { 136, 11,  511 }, { 133,  0,  612 }, { 132, 11,  351 },\r
+  {   4,  0,  372 }, {   7,  0,  482 }, {   8,  0,  158 }, {   9,  0,  602 },\r
+  {   9,  0,  615 }, {  10,  0,  245 }, {  10,  0,  678 }, {  10,  0,  744 },\r
+  {  11,  0,  248 }, { 139,  0,  806 }, {   5,  0,  854 }, { 135,  0, 1991 },\r
+  { 132, 11,  286 }, { 135, 11,  344 }, {   7, 11,  438 }, {   7, 11,  627 },\r
+  {   7, 11, 1516 }, {   8, 11,   40 }, {   9, 11,   56 }, {   9, 11,  294 },\r
+  {  10, 11,   30 }, {  10, 11,  259 }, {  11, 11,  969 }, { 146, 11,  148 },\r
+  { 135,  0, 1492 }, {   5, 11,  259 }, {   7, 11,  414 }, {   7, 11,  854 },\r
+  { 142, 11,  107 }, { 135, 10, 1746 }, {   6,  0,  833 }, { 134,  0,  998 },\r
+  { 135, 10,   24 }, {   6,  0,  750 }, { 135,  0, 1739 }, {   4, 10,  503 },\r
+  { 135, 10, 1661 }, {   5, 10,  130 }, {   7, 10, 1314 }, {   9, 10,  610 },\r
+  {  10, 10,  718 }, {  11, 10,  601 }, {  11, 10,  819 }, {  11, 10,  946 },\r
+  { 140, 10,  536 }, {  10, 10,  149 }, {  11, 10,  280 }, { 142, 10,  336 },\r
+  { 132, 11,  738 }, { 135, 10, 1946 }, {   5,  0,  195 }, { 135,  0, 1685 },\r
+  {   7,  0, 1997 }, {   8,  0,  730 }, { 139,  0, 1006 }, { 151, 11,   17 },\r
+  { 133, 11,  866 }, {  14,  0,  463 }, {  14,  0,  470 }, { 150,  0,   61 },\r
+  {   5,  0,  751 }, {   8,  0,  266 }, {  11,  0,  578 }, {   4, 10,  392 },\r
+  { 135, 10, 1597 }, {   5, 10,  433 }, {   9, 10,  633 }, { 139, 10,  629 },\r
+  { 135,  0,  821 }, {   6,  0,  715 }, { 134,  0, 1325 }, { 133, 11,  116 },\r
+  {   6,  0,  868 }, { 132, 11,  457 }, { 134,  0,  959 }, {   6, 10,  234 },\r
+  { 138, 11,  199 }, {   7,  0, 1053 }, {   7, 10, 1950 }, {   8, 10,  680 },\r
+  {  11, 10,  817 }, { 147, 10,   88 }, {   7, 10, 1222 }, { 138, 10,  386 },\r
+  {   5,  0,  950 }, {   5,  0,  994 }, {   6,  0,  351 }, { 134,  0, 1124 },\r
+  { 134,  0, 1081 }, {   7,  0, 1595 }, {   6, 10,    5 }, {  11, 10,  249 },\r
+  {  12, 10,  313 }, {  16, 10,   66 }, { 145, 10,   26 }, { 148,  0,   59 },\r
+  {   5, 11,  527 }, {   6, 11,  189 }, { 135, 11,  859 }, {   5, 10,  963 },\r
+  {   6, 10, 1773 }, {  11, 11,  104 }, {  11, 11,  554 }, {  15, 11,   60 },\r
+  { 143, 11,  125 }, { 135,  0,   47 }, { 137,  0,  684 }, { 134, 11,  116 },\r
+  { 134,  0, 1606 }, { 134,  0,  777 }, {   7,  0, 1020 }, {   8, 10,  509 },\r
+  { 136, 10,  792 }, { 135,  0, 1094 }, { 132,  0,  350 }, { 133, 11,  487 },\r
+  {   4, 11,   86 }, {   5, 11,  667 }, {   5, 11,  753 }, {   6, 11,  316 },\r
+  {   6, 11,  455 }, { 135, 11,  946 }, {   7,  0, 1812 }, {  13,  0,  259 },\r
+  {  13,  0,  356 }, {  14,  0,  242 }, { 147,  0,  114 }, { 132, 10,  931 },\r
+  { 133,  0,  967 }, {   4,  0,  473 }, {   7,  0,  623 }, {   8,  0,  808 },\r
+  {   9,  0,  871 }, {   9,  0,  893 }, {  11,  0,   38 }, {  11,  0,  431 },\r
+  {  12,  0,  112 }, {  12,  0,  217 }, {  12,  0,  243 }, {  12,  0,  562 },\r
+  {  12,  0,  663 }, {  12,  0,  683 }, {  13,  0,  141 }, {  13,  0,  197 },\r
+  {  13,  0,  227 }, {  13,  0,  406 }, {  13,  0,  487 }, {  14,  0,  156 },\r
+  {  14,  0,  203 }, {  14,  0,  224 }, {  14,  0,  256 }, {  18,  0,   58 },\r
+  { 150,  0,    0 }, { 138,  0,  286 }, {   7, 10,  943 }, { 139, 10,  614 },\r
+  { 135, 10, 1837 }, { 150, 11,   45 }, { 132,  0,  798 }, {   4,  0,  222 },\r
+  {   7,  0,  286 }, { 136,  0,  629 }, {   4, 11,   79 }, {   7, 11, 1773 },\r
+  {  10, 11,  450 }, {  11, 11,  589 }, {  13, 11,  332 }, {  13, 11,  493 },\r
+  {  14, 11,  183 }, {  14, 11,  334 }, {  14, 11,  362 }, {  14, 11,  368 },\r
+  {  14, 11,  376 }, {  14, 11,  379 }, {  19, 11,   90 }, {  19, 11,  103 },\r
+  {  19, 11,  127 }, { 148, 11,   90 }, {   5,  0,  337 }, {  11,  0,  513 },\r
+  {  11,  0,  889 }, {  11,  0,  961 }, {  12,  0,  461 }, {  13,  0,   79 },\r
+  {  15,  0,  121 }, {   4, 10,   90 }, {   5, 10,  545 }, {   7, 10,  754 },\r
+  {   9, 10,  186 }, {  10, 10,   72 }, {  10, 10,  782 }, {  11, 10,  577 },\r
+  {  11, 10,  610 }, {  12, 10,  354 }, {  12, 10,  362 }, { 140, 10,  595 },\r
+  { 141,  0,  306 }, { 136,  0,  146 }, {   7,  0, 1646 }, {   9, 10,  329 },\r
+  {  11, 10,  254 }, { 141, 11,  124 }, {   4,  0,  465 }, { 135,  0, 1663 },\r
+  { 132,  0,  525 }, { 133, 11,  663 }, {  10,  0,  299 }, {  18,  0,   74 },\r
+  {   9, 10,  187 }, {  11, 10, 1016 }, { 145, 10,   44 }, {   7,  0,  165 },\r
+  {   7,  0,  919 }, {   4, 10,  506 }, { 136, 10,  517 }, {   5, 10,  295 },\r
+  { 135, 10, 1680 }, { 133, 11,  846 }, { 134,  0, 1064 }, {   5, 11,  378 },\r
+  {   7, 11, 1402 }, {   7, 11, 1414 }, {   8, 11,  465 }, {   9, 11,  286 },\r
+  {  10, 11,  185 }, {  10, 11,  562 }, {  10, 11,  635 }, {  11, 11,   31 },\r
+  {  11, 11,  393 }, {  12, 11,  456 }, {  13, 11,  312 }, {  18, 11,   65 },\r
+  {  18, 11,   96 }, { 147, 11,   89 }, { 132,  0,  596 }, {   7, 10,  987 },\r
+  {   9, 10,  688 }, {  10, 10,  522 }, {  11, 10,  788 }, { 140, 10,  566 },\r
+  {   6,  0,   82 }, {   7,  0,  138 }, {   7,  0,  517 }, {   7,  0, 1741 },\r
+  {  11,  0,  238 }, {   4, 11,  648 }, { 134, 10, 1775 }, {   7,  0, 1233 },\r
+  {   7, 10,  700 }, {   7, 10,  940 }, {   8, 10,  514 }, {   9, 10,  116 },\r
+  {   9, 10,  535 }, {  10, 10,  118 }, {  11, 10,  107 }, {  11, 10,  148 },\r
+  {  11, 10,  922 }, {  12, 10,  254 }, {  12, 10,  421 }, { 142, 10,  238 },\r
+  {   4,  0,  962 }, {   6,  0, 1824 }, {   8,  0,  894 }, {  12,  0,  708 },\r
+  {  12,  0,  725 }, {  14,  0,  451 }, {  20,  0,   94 }, {  22,  0,   59 },\r
+  { 150,  0,   62 }, {   5, 11,  945 }, {   6, 11, 1656 }, {   6, 11, 1787 },\r
+  {   7, 11,  167 }, {   8, 11,  824 }, {   9, 11,  391 }, {  10, 11,  375 },\r
+  { 139, 11,  185 }, {   5,  0,  495 }, {   7,  0,  834 }, {   9,  0,  733 },\r
+  { 139,  0,  378 }, {   4, 10,  743 }, { 135, 11, 1273 }, {   6,  0, 1204 },\r
+  {   7, 11, 1645 }, {   8, 11,  352 }, { 137, 11,  249 }, { 139, 10,  292 },\r
+  { 133,  0,  559 }, { 132, 11,  152 }, {   9,  0,  499 }, {  10,  0,  341 },\r
+  {  15,  0,  144 }, {  19,  0,   49 }, {   7, 10, 1283 }, {   9, 10,  227 },\r
+  {  11, 10,  325 }, {  11, 10,  408 }, {  14, 10,  180 }, { 146, 10,   47 },\r
+  {   6,  0,   21 }, {   6,  0, 1737 }, {   7,  0, 1444 }, { 136,  0,  224 },\r
+  { 133, 11, 1006 }, {   7,  0, 1446 }, {   9,  0,   97 }, {  17,  0,   15 },\r
+  {   5, 10,   81 }, {   7, 10,  146 }, {   7, 10, 1342 }, {   8, 10,   53 },\r
+  {   8, 10,  561 }, {   8, 10,  694 }, {   8, 10,  754 }, {   9, 10,  115 },\r
+  {   9, 10,  894 }, {  10, 10,  462 }, {  10, 10,  813 }, {  11, 10,  230 },\r
+  {  11, 10,  657 }, {  11, 10,  699 }, {  11, 10,  748 }, {  12, 10,  119 },\r
+  {  12, 10,  200 }, {  12, 10,  283 }, { 142, 10,  273 }, {   5, 10,  408 },\r
+  { 137, 10,  747 }, { 135, 11,  431 }, { 135, 11,  832 }, {   6,  0,  729 },\r
+  { 134,  0,  953 }, {   4,  0,  727 }, {   8,  0,  565 }, {   5, 11,  351 },\r
+  {   7, 11,  264 }, { 136, 11,  565 }, { 134,  0, 1948 }, {   5,  0,  519 },\r
+  {   5, 11,   40 }, {   7, 11,  598 }, {   7, 11, 1638 }, {   8, 11,   78 },\r
+  {   9, 11,  166 }, {   9, 11,  640 }, {   9, 11,  685 }, {   9, 11,  773 },\r
+  {  11, 11,  215 }, {  13, 11,   65 }, {  14, 11,  172 }, {  14, 11,  317 },\r
+  { 145, 11,    6 }, {   8, 11,   60 }, {   9, 11,  343 }, { 139, 11,  769 },\r
+  { 137, 11,  455 }, { 134,  0, 1193 }, { 140,  0,  790 }, {   7, 11, 1951 },\r
+  {   8, 11,  765 }, {   8, 11,  772 }, { 140, 11,  671 }, {   7, 11,  108 },\r
+  {   8, 11,  219 }, {   8, 11,  388 }, {   9, 11,  639 }, {   9, 11,  775 },\r
+  {  11, 11,  275 }, { 140, 11,  464 }, { 132, 11,  468 }, {   7, 10,   30 },\r
+  {   8, 10,   86 }, {   8, 10,  315 }, {   8, 10,  700 }, {   9, 10,  576 },\r
+  {   9, 10,  858 }, {  11, 10,  310 }, {  11, 10,  888 }, {  11, 10,  904 },\r
+  {  12, 10,  361 }, { 141, 10,  248 }, {   5, 11,   15 }, {   6, 11,   56 },\r
+  {   7, 11, 1758 }, {   8, 11,  500 }, {   9, 11,  730 }, {  11, 11,  331 },\r
+  {  13, 11,  150 }, { 142, 11,  282 }, {   4,  0,  402 }, {   7,  0,    2 },\r
+  {   8,  0,  323 }, { 136,  0,  479 }, { 138, 10,  839 }, {  11,  0,  580 },\r
+  { 142,  0,  201 }, {   5,  0,   59 }, { 135,  0,  672 }, { 137, 10,  617 },\r
+  { 146,  0,   34 }, { 134, 11, 1886 }, {   4,  0,  961 }, { 136,  0,  896 },\r
+  {   6,  0, 1285 }, {   5, 11,  205 }, {   6, 11,  438 }, { 137, 11,  711 },\r
+  { 134, 10,  428 }, {   7, 10,  524 }, {   8, 10,  169 }, {   8, 10,  234 },\r
+  {   9, 10,  480 }, { 138, 10,  646 }, { 148,  0,   46 }, { 141,  0,  479 },\r
+  { 133, 11,  534 }, {   6,  0, 2019 }, { 134, 10, 1648 }, {   4,  0,   85 },\r
+  {   7,  0,  549 }, {   7, 10, 1205 }, { 138, 10,  637 }, {   4,  0,  663 },\r
+  {   5,  0,   94 }, {   7, 11,  235 }, {   7, 11, 1475 }, {  15, 11,   68 },\r
+  { 146, 11,  120 }, {   6, 11,  443 }, {   9, 11,  237 }, {   9, 11,  571 },\r
+  {   9, 11,  695 }, {  10, 11,  139 }, {  11, 11,  715 }, {  12, 11,  417 },\r
+  { 141, 11,  421 }, { 132,  0,  783 }, {   4,  0,  682 }, {   8,  0,   65 },\r
+  {   9, 10,   39 }, {  10, 10,  166 }, {  11, 10,  918 }, {  12, 10,  635 },\r
+  {  20, 10,   10 }, {  22, 10,   27 }, {  22, 10,   43 }, { 150, 10,   52 },\r
+  {   6,  0,   11 }, { 135,  0,  187 }, { 132,  0,  522 }, {   4,  0,   52 },\r
+  { 135,  0,  661 }, {   4,  0,  383 }, { 133,  0,  520 }, { 135, 11,  546 },\r
+  {  11,  0,  343 }, { 142,  0,  127 }, {   4, 11,  578 }, {   7, 10,  157 },\r
+  {   7, 11,  624 }, {   7, 11,  916 }, {   8, 10,  279 }, {  10, 11,  256 },\r
+  {  11, 11,   87 }, { 139, 11,  703 }, { 134, 10,  604 }, {   4,  0,  281 },\r
+  {   5,  0,   38 }, {   7,  0,  194 }, {   7,  0,  668 }, {   7,  0, 1893 },\r
+  { 137,  0,  397 }, {   7, 10,  945 }, {  11, 10,  713 }, { 139, 10,  744 },\r
+  { 139, 10, 1022 }, {   9,  0,  635 }, { 139,  0,  559 }, {   5, 11,  923 },\r
+  {   7, 11,  490 }, {  12, 11,  553 }, {  13, 11,  100 }, {  14, 11,  118 },\r
+  { 143, 11,   75 }, { 132,  0,  975 }, { 132, 10,  567 }, { 137, 10,  859 },\r
+  {   7, 10, 1846 }, {   7, 11, 1846 }, {   8, 10,  628 }, { 136, 11,  628 },\r
+  { 148,  0,  116 }, { 138, 11,  750 }, {  14,  0,   51 }, {  14, 11,   51 },\r
+  {  15, 11,    7 }, { 148, 11,   20 }, { 132,  0,  858 }, { 134,  0, 1075 },\r
+  {   4, 11,  924 }, { 133, 10,  762 }, { 136,  0,  535 }, { 133,  0,  448 },\r
+  {  10, 10,  784 }, { 141, 10,  191 }, { 133, 10,  298 }, {   7,  0,  610 },\r
+  { 135,  0, 1501 }, {   7, 10,  633 }, {   7, 10,  905 }, {   7, 10,  909 },\r
+  {   7, 10, 1538 }, {   9, 10,  767 }, { 140, 10,  636 }, {   4, 11,  265 },\r
+  {   7, 11,  807 }, { 135, 11,  950 }, {   5, 11,   93 }, {  12, 11,  267 },\r
+  { 144, 11,   26 }, { 136,  0,  191 }, { 139, 10,  301 }, { 135, 10, 1970 },\r
+  { 135,  0,  267 }, {   4,  0,  319 }, {   5,  0,  699 }, { 138,  0,  673 },\r
+  {   6,  0,  336 }, {   7,  0,   92 }, {   7,  0,  182 }, {   8,  0,  453 },\r
+  {   8,  0,  552 }, {   9,  0,  204 }, {   9,  0,  285 }, {  10,  0,   99 },\r
+  {  11,  0,  568 }, {  11,  0,  950 }, {  12,  0,   94 }, {  16,  0,   20 },\r
+  {  16,  0,   70 }, {  19,  0,   55 }, {  12, 10,  644 }, { 144, 10,   90 },\r
+  {   6,  0,  551 }, {   7,  0, 1308 }, {   7, 10,  845 }, {   7, 11,  994 },\r
+  {   8, 10,  160 }, { 137, 10,  318 }, {  19, 11,    1 }, {  19, 11,   26 },\r
+  { 150, 11,    9 }, {   7,  0, 1406 }, {   9,  0,  218 }, { 141,  0,  222 },\r
+  {   5,  0,  256 }, { 138,  0,   69 }, {   5, 11,  233 }, {   5, 11,  320 },\r
+  {   6, 11,  140 }, {   7, 11,  330 }, { 136, 11,  295 }, {   6,  0, 1980 },\r
+  { 136,  0,  952 }, {   4,  0,  833 }, { 137, 11,  678 }, { 133, 11,  978 },\r
+  {   4, 11,  905 }, {   6, 11, 1701 }, { 137, 11,  843 }, { 138, 10,  735 },\r
+  { 136, 10,   76 }, {  17,  0,   39 }, { 148,  0,   36 }, {  18,  0,   81 },\r
+  { 146, 11,   81 }, {  14,  0,  352 }, {  17,  0,   53 }, {  18,  0,  146 },\r
+  {  18,  0,  152 }, {  19,  0,   11 }, { 150,  0,   54 }, { 135,  0,  634 },\r
+  { 138, 10,  841 }, { 132,  0,  618 }, {   4,  0,  339 }, {   7,  0,  259 },\r
+  {  17,  0,   73 }, {   4, 11,  275 }, { 140, 11,  376 }, { 132, 11,  509 },\r
+  {   7, 11,  273 }, { 139, 11,  377 }, {   4,  0,  759 }, {  13,  0,  169 },\r
+  { 137, 10,  804 }, {   6, 10,   96 }, { 135, 10, 1426 }, {   4, 10,  651 },\r
+  { 133, 10,  289 }, {   7,  0, 1075 }, {   8, 10,   35 }, {   9, 10,  511 },\r
+  {  10, 10,  767 }, { 147, 10,  118 }, {   6,  0,  649 }, {   6,  0,  670 },\r
+  { 136,  0,  482 }, {   5,  0,  336 }, {   6,  0,  341 }, {   6,  0,  478 },\r
+  {   6,  0, 1763 }, { 136,  0,  386 }, {   5, 11,  802 }, {   7, 11, 2021 },\r
+  {   8, 11,  805 }, {  14, 11,   94 }, {  15, 11,   65 }, {  16, 11,    4 },\r
+  {  16, 11,   77 }, {  16, 11,   80 }, { 145, 11,    5 }, {   6,  0, 1035 },\r
+  {   5, 11,  167 }, {   5, 11,  899 }, {   6, 11,  410 }, { 137, 11,  777 },\r
+  { 134, 11, 1705 }, {   5,  0,  924 }, { 133,  0,  969 }, { 132, 10,  704 },\r
+  { 135,  0,   73 }, { 135, 11,   10 }, { 135, 10, 1078 }, {   5, 11,   11 },\r
+  {   6, 11,  117 }, {   6, 11,  485 }, {   7, 11, 1133 }, {   9, 11,  582 },\r
+  {   9, 11,  594 }, {  11, 11,   21 }, {  11, 11,  818 }, {  12, 11,  535 },\r
+  { 141, 11,   86 }, { 135,  0, 1971 }, {   4, 11,  264 }, {   7, 11, 1067 },\r
+  {   8, 11,  204 }, {   8, 11,  385 }, { 139, 11,  953 }, {   6,  0, 1458 },\r
+  { 135,  0, 1344 }, {   5,  0,  396 }, { 134,  0,  501 }, {   4, 10,  720 },\r
+  { 133, 10,  306 }, {   4,  0,  929 }, {   5,  0,  799 }, {   8,  0,   46 },\r
+  {   8,  0,  740 }, { 133, 10,  431 }, {   7, 11,  646 }, {   7, 11, 1730 },\r
+  {  11, 11,  446 }, { 141, 11,  178 }, {   7,  0,  276 }, {   5, 10,  464 },\r
+  {   6, 10,  236 }, {   7, 10,  696 }, {   7, 10,  914 }, {   7, 10, 1108 },\r
+  {   7, 10, 1448 }, {   9, 10,   15 }, {   9, 10,  564 }, {  10, 10,   14 },\r
+  {  12, 10,  565 }, {  13, 10,  449 }, {  14, 10,   53 }, {  15, 10,   13 },\r
+  {  16, 10,   64 }, { 145, 10,   41 }, {   4,  0,  892 }, { 133,  0,  770 },\r
+  {   6, 10, 1767 }, {  12, 10,  194 }, { 145, 10,  107 }, { 135,  0,  158 },\r
+  {   5, 10,  840 }, { 138, 11,  608 }, { 134,  0, 1432 }, { 138, 11,  250 },\r
+  {   8, 11,  794 }, {   9, 11,  400 }, {  10, 11,  298 }, { 142, 11,  228 },\r
+  { 151,  0,   25 }, {   7, 11, 1131 }, { 135, 11, 1468 }, { 135,  0, 2001 },\r
+  {   9, 10,  642 }, {  11, 10,  236 }, { 142, 10,  193 }, {   4, 10,   68 },\r
+  {   5, 10,  634 }, {   6, 10,  386 }, {   7, 10,  794 }, {   8, 10,  273 },\r
+  {   9, 10,  563 }, {  10, 10,  105 }, {  10, 10,  171 }, {  11, 10,   94 },\r
+  { 139, 10,  354 }, { 136, 11,  724 }, { 132,  0,  478 }, {  11, 11,  512 },\r
+  {  13, 11,  205 }, {  19, 11,   30 }, {  22, 11,   36 }, { 151, 11,   19 },\r
+  {   7,  0, 1461 }, { 140,  0,   91 }, {   6, 11,  190 }, {   7, 11,  768 },\r
+  { 135, 11, 1170 }, {   4,  0,  602 }, {   8,  0,  211 }, {   4, 10,   95 },\r
+  {   7, 10,  416 }, { 139, 10,  830 }, {   7, 10,  731 }, {  13, 10,   20 },\r
+  { 143, 10,   11 }, {   6,  0, 1068 }, { 135,  0, 1872 }, {   4,  0,   13 },\r
+  {   5,  0,  567 }, {   7,  0, 1498 }, {   9,  0,  124 }, {  11,  0,  521 },\r
+  {  12,  0,  405 }, { 135, 11, 1023 }, { 135,  0, 1006 }, { 132,  0,  735 },\r
+  { 138,  0,  812 }, {   4,  0,  170 }, { 135,  0,  323 }, {   6, 11,  137 },\r
+  {   9, 11,   75 }, {   9, 11,  253 }, {  10, 11,  194 }, { 138, 11,  444 },\r
+  {   5,  0,  304 }, {   7,  0, 1403 }, {   5, 10,  864 }, {  10, 10,  648 },\r
+  {  11, 10,  671 }, { 143, 10,   46 }, { 135, 11, 1180 }, { 133, 10,  928 },\r
+  {   4,  0,  148 }, { 133,  0,  742 }, {  11, 10,  986 }, { 140, 10,  682 },\r
+  { 133,  0,  523 }, { 135, 11, 1743 }, {   7,  0,  730 }, {  18,  0,  144 },\r
+  {  19,  0,   61 }, {   8, 10,   44 }, {   9, 10,  884 }, {  10, 10,  580 },\r
+  {  11, 10,  399 }, {  11, 10,  894 }, { 143, 10,  122 }, {   5, 11,  760 },\r
+  {   7, 11,  542 }, {   8, 11,  135 }, { 136, 11,  496 }, { 136,  0,  981 },\r
+  { 133,  0,  111 }, {  10,  0,  132 }, {  11,  0,  191 }, {  11,  0,  358 },\r
+  { 139,  0,  460 }, {   7, 11,  319 }, {   7, 11,  355 }, {   7, 11,  763 },\r
+  {  10, 11,  389 }, { 145, 11,   43 }, { 134,  0,  890 }, { 134,  0, 1420 },\r
+  { 136, 11,  557 }, { 133, 10,  518 }, { 133,  0,  444 }, { 135,  0, 1787 },\r
+  { 135, 10, 1852 }, {   8,  0,  123 }, {  15,  0,    6 }, { 144,  0,    7 },\r
+  {   6,  0, 2041 }, {  10, 11,   38 }, { 139, 11,  784 }, { 136,  0,  932 },\r
+  {   5,  0,  937 }, { 135,  0,  100 }, {   6,  0,  995 }, {   4, 11,   58 },\r
+  {   5, 11,  286 }, {   6, 11,  319 }, {   7, 11,  402 }, {   7, 11, 1254 },\r
+  {   7, 11, 1903 }, {   8, 11,  356 }, { 140, 11,  408 }, {   4, 11,  389 },\r
+  {   9, 11,  181 }, {   9, 11,  255 }, {  10, 11,    8 }, {  10, 11,   29 },\r
+  {  10, 11,  816 }, {  11, 11,  311 }, {  11, 11,  561 }, {  12, 11,   67 },\r
+  { 141, 11,  181 }, { 138,  0,  255 }, {   5,  0,  138 }, {   4, 10,  934 },\r
+  { 136, 10,  610 }, {   4,  0,  965 }, {  10,  0,  863 }, { 138,  0,  898 },\r
+  {  10, 10,  804 }, { 138, 10,  832 }, {  12,  0,  631 }, {   8, 10,   96 },\r
+  {   9, 10,   36 }, {  10, 10,  607 }, {  11, 10,  423 }, {  11, 10,  442 },\r
+  {  12, 10,  309 }, {  14, 10,  199 }, {  15, 10,   90 }, { 145, 10,  110 },\r
+  { 134,  0, 1394 }, {   4,  0,  652 }, {   8,  0,  320 }, {  22,  0,    6 },\r
+  {  22,  0,   16 }, {   9, 10,   13 }, {   9, 10,  398 }, {   9, 10,  727 },\r
+  {  10, 10,   75 }, {  10, 10,  184 }, {  10, 10,  230 }, {  10, 10,  564 },\r
+  {  10, 10,  569 }, {  11, 10,  973 }, {  12, 10,   70 }, {  12, 10,  189 },\r
+  {  13, 10,   57 }, { 141, 10,  257 }, {   6,  0,  897 }, { 134,  0, 1333 },\r
+  {   4,  0,  692 }, { 133,  0,  321 }, { 133, 11,  373 }, { 135,  0,  922 },\r
+  {   5,  0,  619 }, { 133,  0,  698 }, { 137, 10,  631 }, {   5, 10,  345 },\r
+  { 135, 10, 1016 }, {   9,  0,  957 }, {   9,  0, 1018 }, {  12,  0,  828 },\r
+  {  12,  0,  844 }, {  12,  0,  897 }, {  12,  0,  901 }, {  12,  0,  943 },\r
+  {  15,  0,  180 }, {  18,  0,  197 }, {  18,  0,  200 }, {  18,  0,  213 },\r
+  {  18,  0,  214 }, { 146,  0,  226 }, {   5,  0,  917 }, { 134,  0, 1659 },\r
+  { 135,  0, 1100 }, { 134,  0, 1173 }, { 134,  0, 1930 }, {   5,  0,  251 },\r
+  {   5,  0,  956 }, {   8,  0,  268 }, {   9,  0,  214 }, { 146,  0,  142 },\r
+  { 133, 10,  673 }, { 137, 10,  850 }, {   4, 10,  287 }, { 133, 10, 1018 },\r
+  { 132, 11,  672 }, {   5,  0,  346 }, {   5,  0,  711 }, {   8,  0,  390 },\r
+  {  11, 11,  752 }, { 139, 11,  885 }, {   5, 10,   34 }, {  10, 10,  724 },\r
+  {  12, 10,  444 }, {  13, 10,  354 }, {  18, 10,   32 }, {  23, 10,   24 },\r
+  {  23, 10,   31 }, { 152, 10,    5 }, {   4, 11,  710 }, { 134, 11,  606 },\r
+  { 134,  0,  744 }, { 134, 10,  382 }, { 133, 11,  145 }, {   4, 10,  329 },\r
+  {   7, 11,  884 }, { 140, 11,  124 }, {   4, 11,  467 }, {   5, 11,  405 },\r
+  { 134, 11,  544 }, {   9, 10,  846 }, { 138, 10,  827 }, { 133,  0,  624 },\r
+  {   9, 11,  372 }, {  15, 11,    2 }, {  19, 11,   10 }, { 147, 11,   18 },\r
+  {   4, 11,  387 }, { 135, 11, 1288 }, {   5,  0,  783 }, {   7,  0, 1998 },\r
+  { 135,  0, 2047 }, { 132, 10,  906 }, { 136, 10,  366 }, { 135, 11,  550 },\r
+  {   4, 10,  123 }, {   4, 10,  649 }, {   5, 10,  605 }, {   7, 10, 1509 },\r
+  { 136, 10,   36 }, { 134,  0, 1125 }, { 132,  0,  594 }, { 133, 10,  767 },\r
+  { 135, 11, 1227 }, { 136, 11,  467 }, {   4, 11,  576 }, { 135, 11, 1263 },\r
+  {   4,  0,  268 }, {   7,  0, 1534 }, { 135, 11, 1534 }, {   4, 10,  273 },\r
+  {   5, 10,  658 }, {   5, 11,  919 }, {   5, 10,  995 }, { 134, 11, 1673 },\r
+  { 133,  0,  563 }, { 134, 10,   72 }, { 135, 10, 1345 }, {   4, 11,   82 },\r
+  {   5, 11,  333 }, {   5, 11,  904 }, {   6, 11,  207 }, {   7, 11,  325 },\r
+  {   7, 11, 1726 }, {   8, 11,  101 }, {  10, 11,  778 }, { 139, 11,  220 },\r
+  {   5,  0,   37 }, {   6,  0,   39 }, {   6,  0,  451 }, {   7,  0,  218 },\r
+  {   7,  0,  667 }, {   7,  0, 1166 }, {   7,  0, 1687 }, {   8,  0,  662 },\r
+  {  16,  0,    2 }, { 133, 10,  589 }, { 134,  0, 1332 }, { 133, 11,  903 },\r
+  { 134,  0,  508 }, {   5, 10,  117 }, {   6, 10,  514 }, {   6, 10,  541 },\r
+  {   7, 10, 1164 }, {   7, 10, 1436 }, {   8, 10,  220 }, {   8, 10,  648 },\r
+  {  10, 10,  688 }, {  11, 10,  560 }, { 140, 11,  147 }, {   6, 11,  555 },\r
+  { 135, 11,  485 }, { 133, 10,  686 }, {   7,  0,  453 }, {   7,  0,  635 },\r
+  {   7,  0,  796 }, {   8,  0,  331 }, {   9,  0,  330 }, {   9,  0,  865 },\r
+  {  10,  0,  119 }, {  10,  0,  235 }, {  11,  0,  111 }, {  11,  0,  129 },\r
+  {  11,  0,  240 }, {  12,  0,   31 }, {  12,  0,   66 }, {  12,  0,  222 },\r
+  {  12,  0,  269 }, {  12,  0,  599 }, {  12,  0,  684 }, {  12,  0,  689 },\r
+  {  12,  0,  691 }, { 142,  0,  345 }, { 135,  0, 1834 }, {   4, 11,  705 },\r
+  {   7, 11,  615 }, { 138, 11,  251 }, { 136, 11,  345 }, { 137,  0,  527 },\r
+  {   6,  0,   98 }, {   7,  0,  702 }, { 135,  0,  991 }, {  11,  0,  576 },\r
+  {  14,  0,   74 }, {   7, 10,  196 }, {  10, 10,  765 }, {  11, 10,  347 },\r
+  {  11, 10,  552 }, {  11, 10,  790 }, {  12, 10,  263 }, {  13, 10,  246 },\r
+  {  13, 10,  270 }, {  13, 10,  395 }, {  14, 10,  176 }, {  14, 10,  190 },\r
+  {  14, 10,  398 }, {  14, 10,  412 }, {  15, 10,   32 }, {  15, 10,   63 },\r
+  {  16, 10,   88 }, { 147, 10,  105 }, { 134, 11,   90 }, {  13,  0,   84 },\r
+  { 141,  0,  122 }, {   6,  0,   37 }, {   7,  0,  299 }, {   7,  0, 1666 },\r
+  {   8,  0,  195 }, {   8,  0,  316 }, {   9,  0,  178 }, {   9,  0,  276 },\r
+  {   9,  0,  339 }, {   9,  0,  536 }, {  10,  0,  102 }, {  10,  0,  362 },\r
+  {  10,  0,  785 }, {  11,  0,   55 }, {  11,  0,  149 }, {  11,  0,  773 },\r
+  {  13,  0,  416 }, {  13,  0,  419 }, {  14,  0,   38 }, {  14,  0,   41 },\r
+  { 142,  0,  210 }, {   5, 10,  381 }, { 135, 10, 1792 }, {   7, 11,  813 },\r
+  {  12, 11,  497 }, { 141, 11,   56 }, {   7, 10,  616 }, { 138, 10,  413 },\r
+  { 133,  0,  645 }, {   6, 11,  125 }, { 135, 11, 1277 }, { 132,  0,  290 },\r
+  {   6,  0,   70 }, {   7,  0, 1292 }, {  10,  0,  762 }, { 139,  0,  288 },\r
+  {   6, 10,  120 }, {   7, 10, 1188 }, {   7, 10, 1710 }, {   8, 10,  286 },\r
+  {   9, 10,  667 }, {  11, 10,  592 }, { 139, 10,  730 }, { 135, 11, 1784 },\r
+  {   7,  0, 1315 }, { 135, 11, 1315 }, { 134,  0, 1955 }, { 135, 10, 1146 },\r
+  {   7,  0,  131 }, {   7,  0,  422 }, {   8,  0,  210 }, { 140,  0,  573 },\r
+  {   4, 10,  352 }, { 135, 10,  687 }, { 139,  0,  797 }, { 143,  0,   38 },\r
+  {  14,  0,  179 }, {  15,  0,  151 }, { 150,  0,   11 }, {   7,  0,  488 },\r
+  {   4, 10,  192 }, {   5, 10,   49 }, {   6, 10,  200 }, {   6, 10,  293 },\r
+  { 134, 10, 1696 }, { 132,  0,  936 }, { 135, 11,  703 }, {   6, 11,  160 },\r
+  {   7, 11, 1106 }, {   9, 11,  770 }, {  10, 11,  618 }, {  11, 11,  112 },\r
+  { 140, 11,  413 }, {   5,  0,  453 }, { 134,  0,  441 }, { 135,  0,  595 },\r
+  { 132, 10,  650 }, { 132, 10,  147 }, {   6,  0,  991 }, {   6,  0, 1182 },\r
+  {  12, 11,  271 }, { 145, 11,  109 }, { 133, 10,  934 }, { 140, 11,  221 },\r
+  { 132,  0,  653 }, {   7,  0,  505 }, { 135,  0,  523 }, { 134,  0,  903 },\r
+  { 135, 11,  479 }, {   7, 11,  304 }, {   9, 11,  646 }, {   9, 11,  862 },\r
+  {  10, 11,  262 }, {  11, 11,  696 }, {  12, 11,  208 }, {  15, 11,   79 },\r
+  { 147, 11,  108 }, { 146,  0,   80 }, { 135, 11,  981 }, { 142,  0,  432 },\r
+  { 132,  0,  314 }, { 137, 11,  152 }, {   7,  0, 1368 }, {   8,  0,  232 },\r
+  {   8,  0,  361 }, {  10,  0,  682 }, { 138,  0,  742 }, { 135, 11, 1586 },\r
+  {   9,  0,  534 }, {   4, 11,  434 }, {  11, 11,  663 }, {  12, 11,  210 },\r
+  {  13, 11,  166 }, {  13, 11,  310 }, {  14, 11,  373 }, { 147, 11,   43 },\r
+  {   7, 11, 1091 }, { 135, 11, 1765 }, {   6, 11,  550 }, { 135, 11,  652 },\r
+  { 137,  0,   27 }, { 142,  0,   12 }, {   4, 10,  637 }, {   5, 11,  553 },\r
+  {   7, 11,  766 }, { 138, 11,  824 }, {   7, 11,  737 }, {   8, 11,  298 },\r
+  { 136, 11,  452 }, {   7,  0,  736 }, { 139,  0,  264 }, { 134,  0, 1657 },\r
+  { 133, 11,  292 }, { 138, 11,  135 }, {   6,  0,  844 }, { 134,  0, 1117 },\r
+  { 135,  0,  127 }, {   9, 10,  867 }, { 138, 10,  837 }, {   6,  0, 1184 },\r
+  { 134,  0, 1208 }, { 134,  0, 1294 }, { 136,  0,  364 }, {   6,  0, 1415 },\r
+  {   7,  0, 1334 }, {  11,  0,  125 }, {   6, 10,  170 }, {   7, 11,  393 },\r
+  {   8, 10,  395 }, {   8, 10,  487 }, {  10, 11,  603 }, {  11, 11,  206 },\r
+  { 141, 10,  147 }, { 137, 11,  748 }, {   4, 11,  912 }, { 137, 11,  232 },\r
+  {   4, 10,  535 }, { 136, 10,  618 }, { 137,  0,  792 }, {   7, 11, 1973 },\r
+  { 136, 11,  716 }, { 135, 11,   98 }, {   5,  0,  909 }, {   9,  0,  849 },\r
+  { 138,  0,  805 }, {   4,  0,  630 }, { 132,  0,  699 }, {   5, 11,  733 },\r
+  {  14, 11,  103 }, { 150, 10,   23 }, {  12, 11,  158 }, {  18, 11,    8 },\r
+  {  19, 11,   62 }, {  20, 11,    6 }, {  22, 11,    4 }, {  23, 11,    2 },\r
+  { 151, 11,    9 }, { 132,  0,  968 }, { 132, 10,  778 }, { 132, 10,   46 },\r
+  {   5, 10,  811 }, {   6, 10, 1679 }, {   6, 10, 1714 }, { 135, 10, 2032 },\r
+  {   6,  0, 1446 }, {   7, 10, 1458 }, {   9, 10,  407 }, { 139, 10,   15 },\r
+  {   7,  0,  206 }, {   7,  0,  397 }, {   7,  0,  621 }, {   7,  0,  640 },\r
+  {   8,  0,  124 }, {   8,  0,  619 }, {   9,  0,  305 }, {   9,  0,  643 },\r
+  {  10,  0,  264 }, {  10,  0,  628 }, {  11,  0,   40 }, {  12,  0,  349 },\r
+  {  13,  0,  134 }, {  13,  0,  295 }, {  14,  0,  155 }, {  15,  0,  120 },\r
+  {  18,  0,  105 }, {   6, 10,   34 }, {   7, 10, 1089 }, {   8, 10,  708 },\r
+  {   8, 10,  721 }, {   9, 10,  363 }, { 148, 10,   98 }, {   4,  0,  262 },\r
+  {   5,  0,  641 }, { 135,  0,  342 }, { 137, 11,   72 }, {   4,  0,   99 },\r
+  {   6,  0,  250 }, {   6,  0,  346 }, {   8,  0,  127 }, { 138,  0,   81 },\r
+  { 132,  0,  915 }, {   5,  0,   75 }, {   9,  0,  517 }, {  10,  0,  470 },\r
+  {  12,  0,  155 }, { 141,  0,  224 }, { 132, 10,  462 }, {  11, 11,  600 },\r
+  {  11, 11,  670 }, { 141, 11,  245 }, { 142,  0,   83 }, {   5, 10,   73 },\r
+  {   6, 10,   23 }, { 134, 10,  338 }, {   6,  0, 1031 }, { 139, 11,  923 },\r
+  {   7, 11,  164 }, {   7, 11, 1571 }, {   9, 11,  107 }, { 140, 11,  225 },\r
+  { 134,  0, 1470 }, { 133,  0,  954 }, {   6,  0,  304 }, {   8,  0,  418 },\r
+  {  10,  0,  345 }, {  11,  0,  341 }, { 139,  0,  675 }, {   9,  0,  410 },\r
+  { 139,  0,  425 }, {   4, 11,   27 }, {   5, 11,  484 }, {   5, 11,  510 },\r
+  {   6, 11,  434 }, {   7, 11, 1000 }, {   7, 11, 1098 }, {   8, 11,    2 },\r
+  { 136, 11,  200 }, { 134,  0,  734 }, { 140, 11,  257 }, {   7, 10,  725 },\r
+  {   8, 10,  498 }, { 139, 10,  268 }, { 134,  0, 1822 }, { 135,  0, 1798 },\r
+  { 135, 10,  773 }, { 132, 11,  460 }, {   4, 11,  932 }, { 133, 11,  891 },\r
+  { 134,  0,   14 }, { 132, 10,  583 }, {   7, 10, 1462 }, {   8, 11,  625 },\r
+  { 139, 10,  659 }, {   5,  0,  113 }, {   6,  0,  243 }, {   6,  0, 1708 },\r
+  {   7,  0, 1865 }, {  11,  0,  161 }, {  16,  0,   37 }, {  17,  0,   99 },\r
+  { 133, 10,  220 }, { 134, 11,   76 }, {   5, 11,  461 }, { 135, 11, 1925 },\r
+  { 140,  0,   69 }, {   8, 11,   92 }, { 137, 11,  221 }, { 139, 10,  803 },\r
+  { 132, 10,  544 }, {   4,  0,  274 }, { 134,  0,  922 }, { 132,  0,  541 },\r
+  {   5,  0,  627 }, {   6, 10,  437 }, {   6, 10,  564 }, {  11, 10,  181 },\r
+  { 141, 10,  183 }, { 135, 10, 1192 }, {   7,  0,  166 }, { 132, 11,  763 },\r
+  { 133, 11,  253 }, { 134,  0,  849 }, {   9, 11,   73 }, {  10, 11,  110 },\r
+  {  14, 11,  185 }, { 145, 11,  119 }, {   5, 11,  212 }, {  12, 11,   35 },\r
+  { 141, 11,  382 }, { 133,  0,  717 }, { 137,  0,  304 }, { 136,  0,  600 },\r
+  { 133,  0,  654 }, {   6,  0,  273 }, {  10,  0,  188 }, {  13,  0,  377 },\r
+  { 146,  0,   77 }, {   4, 10,  790 }, {   5, 10,  273 }, { 134, 10,  394 },\r
+  { 132,  0,  543 }, { 135,  0,  410 }, {  11,  0,   98 }, {  11,  0,  524 },\r
+  { 141,  0,   87 }, { 132,  0,  941 }, { 135, 11, 1175 }, {   4,  0,  250 },\r
+  {   7,  0, 1612 }, {  11,  0,  186 }, {  12,  0,  133 }, {   6, 10,  127 },\r
+  {   7, 10, 1511 }, {   8, 10,  613 }, {  12, 10,  495 }, {  12, 10,  586 },\r
+  {  12, 10,  660 }, {  12, 10,  668 }, {  14, 10,  385 }, {  15, 10,  118 },\r
+  {  17, 10,   20 }, { 146, 10,   98 }, {   6,  0, 1785 }, { 133, 11,  816 },\r
+  { 134,  0, 1339 }, {   7,  0,  961 }, {   7,  0, 1085 }, {   7,  0, 1727 },\r
+  {   8,  0,  462 }, {   6, 10,  230 }, { 135, 11, 1727 }, {   9,  0,  636 },\r
+  { 135, 10, 1954 }, { 132,  0,  780 }, {   5, 11,  869 }, {   5, 11,  968 },\r
+  {   6, 11, 1626 }, {   8, 11,  734 }, { 136, 11,  784 }, {   4, 11,  542 },\r
+  {   6, 11, 1716 }, {   6, 11, 1727 }, {   7, 11, 1082 }, {   7, 11, 1545 },\r
+  {   8, 11,   56 }, {   8, 11,  118 }, {   8, 11,  412 }, {   8, 11,  564 },\r
+  {   9, 11,  888 }, {   9, 11,  908 }, {  10, 11,   50 }, {  10, 11,  423 },\r
+  {  11, 11,  685 }, {  11, 11,  697 }, {  11, 11,  933 }, {  12, 11,  299 },\r
+  {  13, 11,  126 }, {  13, 11,  136 }, {  13, 11,  170 }, { 141, 11,  190 },\r
+  { 134, 11,  226 }, {   4, 11,  232 }, {   9, 11,  202 }, {  10, 11,  474 },\r
+  { 140, 11,  433 }, { 137, 11,  500 }, {   5,  0,  529 }, { 136, 10,   68 },\r
+  { 132, 10,  654 }, {   4, 10,  156 }, {   7, 10,  998 }, {   7, 10, 1045 },\r
+  {   7, 10, 1860 }, {   9, 10,   48 }, {   9, 10,  692 }, {  11, 10,  419 },\r
+  { 139, 10,  602 }, {   7,  0, 1276 }, {   8,  0,  474 }, {   9,  0,  652 },\r
+  {   6, 11,  108 }, {   7, 11, 1003 }, {   7, 11, 1181 }, { 136, 11,  343 },\r
+  {   7, 11, 1264 }, {   7, 11, 1678 }, {  11, 11,  945 }, {  12, 11,  341 },\r
+  {  12, 11,  471 }, { 140, 11,  569 }, { 134, 11, 1712 }, {   5,  0,  948 },\r
+  {  12,  0,  468 }, {  19,  0,   96 }, { 148,  0,   24 }, {   4, 11,  133 },\r
+  {   7, 11,  711 }, {   7, 11, 1298 }, {   7, 11, 1585 }, { 135, 11, 1929 },\r
+  {   6,  0,  753 }, { 140,  0,  657 }, { 139,  0,  941 }, {   6, 11,   99 },\r
+  {   7, 11, 1808 }, { 145, 11,   57 }, {   6, 11,  574 }, {   7, 11,  428 },\r
+  {   7, 11, 1250 }, {  10, 11,  669 }, {  11, 11,  485 }, {  11, 11,  840 },\r
+  {  12, 11,  300 }, { 142, 11,  250 }, {   4,  0,  532 }, {   5,  0,  706 },\r
+  { 135,  0,  662 }, {   5,  0,  837 }, {   6,  0, 1651 }, { 139,  0,  985 },\r
+  {   7,  0, 1861 }, {   9, 10,  197 }, {  10, 10,  300 }, {  12, 10,  473 },\r
+  {  13, 10,   90 }, { 141, 10,  405 }, { 137, 11,  252 }, {   6, 11,  323 },\r
+  { 135, 11, 1564 }, {   4,  0,  330 }, {   4,  0,  863 }, {   7,  0,  933 },\r
+  {   7,  0, 2012 }, {   8,  0,  292 }, {   7, 11,  461 }, {   8, 11,  775 },\r
+  { 138, 11,  435 }, { 132, 10,  606 }, {   4, 11,  655 }, {   7, 11,  850 },\r
+  {  17, 11,   75 }, { 146, 11,  137 }, { 135,  0,  767 }, {   7, 10, 1978 },\r
+  { 136, 10,  676 }, { 132,  0,  641 }, { 135, 11, 1559 }, { 134,  0, 1233 },\r
+  { 137,  0,  242 }, {  17,  0,  114 }, {   4, 10,  361 }, { 133, 10,  315 },\r
+  { 137,  0,  883 }, { 132, 10,  461 }, { 138,  0,  274 }, { 134,  0, 2008 },\r
+  { 134,  0, 1794 }, {   4,  0,  703 }, { 135,  0,  207 }, {  12,  0,  285 },\r
+  { 132, 10,  472 }, { 132,  0,  571 }, {   5,  0,  873 }, {   5,  0,  960 },\r
+  {   8,  0,  823 }, {   9,  0,  881 }, { 136, 11,  577 }, {   7,  0,  617 },\r
+  {  10,  0,  498 }, {  11,  0,  501 }, {  12,  0,   16 }, { 140,  0,  150 },\r
+  { 138, 10,  747 }, { 132,  0,  431 }, { 133, 10,  155 }, {  11,  0,  283 },\r
+  {  11,  0,  567 }, {   7, 10,  163 }, {   8, 10,  319 }, {   9, 10,  402 },\r
+  {  10, 10,   24 }, {  10, 10,  681 }, {  11, 10,  200 }, {  12, 10,  253 },\r
+  {  12, 10,  410 }, { 142, 10,  219 }, {   4, 11,  413 }, {   5, 11,  677 },\r
+  {   8, 11,  432 }, { 140, 11,  280 }, {   9,  0,  401 }, {   5, 10,  475 },\r
+  {   7, 10, 1780 }, {  11, 10,  297 }, {  11, 10,  558 }, {  14, 10,  322 },\r
+  { 147, 10,   76 }, {   6,  0,  781 }, {   9,  0,  134 }, {  10,  0,    2 },\r
+  {  10,  0,   27 }, {  10,  0,  333 }, {  11,  0,  722 }, { 143,  0,    1 },\r
+  {   5,  0,   33 }, {   6,  0,  470 }, { 139,  0,  424 }, { 135,  0, 2006 },\r
+  {  12,  0,  783 }, { 135, 10, 1956 }, { 136,  0,  274 }, { 135,  0, 1882 },\r
+  { 132,  0,  794 }, { 135,  0, 1848 }, {   5, 10,  944 }, { 134, 10, 1769 },\r
+  {   6,  0,   47 }, {   7,  0,   90 }, {   7,  0,  664 }, {   7,  0,  830 },\r
+  {   7,  0, 1380 }, {   7,  0, 2025 }, {   8,  0,  448 }, { 136,  0,  828 },\r
+  { 132, 10,  144 }, { 134,  0, 1199 }, {   4, 11,  395 }, { 139, 11,  762 },\r
+  { 135, 11, 1504 }, {   9,  0,  417 }, { 137,  0,  493 }, {   9, 11,  174 },\r
+  {  10, 11,  164 }, {  11, 11,  440 }, {  11, 11,  841 }, { 143, 11,   98 },\r
+  { 134, 11,  426 }, { 139, 11, 1002 }, { 134,  0,  295 }, { 134,  0,  816 },\r
+  {   6, 10,  247 }, { 137, 10,  555 }, { 133,  0, 1019 }, {   4,  0,  620 },\r
+  {   5, 11,  476 }, {  10, 10,  280 }, { 138, 10,  797 }, { 139,  0,  464 },\r
+  {   5, 11,   76 }, {   6, 11,  458 }, {   6, 11,  497 }, {   7, 11,  764 },\r
+  {   7, 11,  868 }, {   9, 11,  658 }, {  10, 11,  594 }, {  11, 11,  173 },\r
+  {  11, 11,  566 }, {  12, 11,   20 }, {  12, 11,  338 }, { 141, 11,  200 },\r
+  { 134,  0,  208 }, {   4, 11,  526 }, {   7, 11, 1029 }, { 135, 11, 1054 },\r
+  { 132, 11,  636 }, {   6, 11,  233 }, {   7, 11,  660 }, {   7, 11, 1124 },\r
+  {  17, 11,   31 }, {  19, 11,   22 }, { 151, 11,   14 }, {  10,  0,  442 },\r
+  { 133, 10,  428 }, {  10,  0,  930 }, { 140,  0,  778 }, {   6,  0,   68 },\r
+  {   7,  0,  448 }, {   7,  0, 1629 }, {   7,  0, 1769 }, {   7,  0, 1813 },\r
+  {   8,  0,  442 }, {   8,  0,  516 }, {   9,  0,  710 }, {  10,  0,  282 },\r
+  {  10,  0,  722 }, {   7, 10, 1717 }, { 138, 10,  546 }, { 134,  0, 1128 },\r
+  {  11,  0,  844 }, {  12,  0,  104 }, { 140,  0,  625 }, {   4, 11,  432 },\r
+  { 135, 11,  824 }, { 138, 10,  189 }, { 133,  0,  787 }, { 133, 10,   99 },\r
+  {   4, 11,  279 }, {   7, 11,  301 }, { 137, 11,  362 }, {   8,  0,  491 },\r
+  {   4, 10,  397 }, { 136, 10,  555 }, {   4, 11,  178 }, { 133, 11,  399 },\r
+  { 134,  0,  711 }, { 144,  0,    9 }, {   4,  0,  403 }, {   5,  0,  441 },\r
+  {   7,  0,  450 }, {  10,  0,  840 }, {  11,  0,  101 }, {  12,  0,  193 },\r
+  { 141,  0,  430 }, { 135, 11, 1246 }, {  12, 10,  398 }, {  20, 10,   39 },\r
+  {  21, 10,   11 }, { 150, 10,   41 }, {   4, 10,  485 }, {   7, 10,  353 },\r
+  { 135, 10, 1523 }, {   6, 10,  366 }, {   7, 10, 1384 }, {   7, 10, 1601 },\r
+  { 135, 11, 1912 }, {   7,  0,  396 }, {  10,  0,  160 }, { 135, 11,  396 },\r
+  { 137, 10,  282 }, { 134, 11, 1692 }, {   4, 10,  157 }, {   5, 10,  471 },\r
+  {   6, 11,  202 }, {  10, 11,  448 }, {  11, 11,  208 }, {  12, 11,  360 },\r
+  {  17, 11,  117 }, {  17, 11,  118 }, {  18, 11,   27 }, { 148, 11,   67 },\r
+  { 133,  0,  679 }, { 137,  0,  326 }, { 136, 10,  116 }, {   7, 11,  872 },\r
+  {  10, 11,  516 }, { 139, 11,  167 }, { 132, 11,  224 }, {   5, 11,  546 },\r
+  {   7, 11,   35 }, {   8, 11,   11 }, {   8, 11,   12 }, {   9, 11,  315 },\r
+  {   9, 11,  533 }, {  10, 11,  802 }, {  11, 11,  166 }, {  12, 11,  525 },\r
+  { 142, 11,  243 }, {   7,  0, 1128 }, { 135, 11, 1920 }, {   5, 11,  241 },\r
+  {   8, 11,  242 }, {   9, 11,  451 }, {  10, 11,  667 }, {  11, 11,  598 },\r
+  { 140, 11,  429 }, {   6,  0,  737 }, {   5, 10,  160 }, {   7, 10,  363 },\r
+  {   7, 10,  589 }, {  10, 10,  170 }, { 141, 10,   55 }, { 135,  0, 1796 },\r
+  { 142, 11,  254 }, {   4,  0,  574 }, {   7,  0,  350 }, {   7,  0, 1024 },\r
+  {   8,  0,  338 }, {   9,  0,  677 }, { 138,  0,  808 }, { 134,  0, 1096 },\r
+  { 137, 11,  516 }, {   7,  0,  405 }, {  10,  0,  491 }, {   4, 10,  108 },\r
+  {   4, 11,  366 }, { 139, 10,  498 }, {  11, 11,  337 }, { 142, 11,  303 },\r
+  { 134, 11, 1736 }, {   7,  0, 1081 }, { 140, 11,  364 }, {   7, 10, 1005 },\r
+  { 140, 10,  609 }, {   7,  0, 1676 }, {   4, 10,  895 }, { 133, 10,  772 },\r
+  { 135,  0, 2037 }, {   6,  0, 1207 }, {  11, 11,  916 }, { 142, 11,  419 },\r
+  {  14, 11,  140 }, { 148, 11,   41 }, {   6, 11,  331 }, { 136, 11,  623 },\r
+  {   9,  0,  944 }, {   9,  0,  969 }, {   9,  0, 1022 }, {  12,  0,  913 },\r
+  {  12,  0,  936 }, {  15,  0,  177 }, {  15,  0,  193 }, {   4, 10,  926 },\r
+  { 133, 10,  983 }, {   5,  0,  354 }, { 135, 11,  506 }, {   8,  0,  598 },\r
+  {   9,  0,  664 }, { 138,  0,  441 }, {   4, 11,  640 }, { 133, 11,  513 },\r
+  { 137,  0,  297 }, { 132, 10,  538 }, {   6, 10,  294 }, {   7, 10, 1267 },\r
+  { 136, 10,  624 }, {   7,  0, 1772 }, {   7, 11, 1888 }, {   8, 11,  289 },\r
+  {  11, 11,   45 }, {  12, 11,  278 }, { 140, 11,  537 }, { 135, 10, 1325 },\r
+  { 138,  0,  751 }, { 141,  0,   37 }, { 134,  0, 1828 }, { 132, 10,  757 },\r
+  { 132, 11,  394 }, {   6,  0,  257 }, { 135,  0, 1522 }, {   4,  0,  582 },\r
+  {   9,  0,  191 }, { 135, 11, 1931 }, {   7, 11,  574 }, {   7, 11, 1719 },\r
+  { 137, 11,  145 }, { 132, 11,  658 }, {  10,  0,  790 }, { 132, 11,  369 },\r
+  {   9, 11,  781 }, {  10, 11,  144 }, {  11, 11,  385 }, {  13, 11,  161 },\r
+  {  13, 11,  228 }, {  13, 11,  268 }, { 148, 11,  107 }, {   8,  0,  469 },\r
+  {  10,  0,   47 }, { 136, 11,  374 }, {   6,  0,  306 }, {   7,  0, 1140 },\r
+  {   7,  0, 1340 }, {   8,  0,  133 }, { 138,  0,  449 }, { 139,  0, 1011 },\r
+  {   7, 10, 1875 }, { 139, 10,  124 }, {   4, 11,  344 }, {   6, 11,  498 },\r
+  { 139, 11,  323 }, { 137,  0,  299 }, { 132,  0,  837 }, { 133, 11,  906 },\r
+  {   5,  0,  329 }, {   8,  0,  260 }, { 138,  0,   10 }, { 134,  0, 1320 },\r
+  {   4,  0,  657 }, { 146,  0,  158 }, { 135,  0, 1191 }, { 152,  0,    7 },\r
+  {   6,  0, 1939 }, {   8,  0,  974 }, { 138,  0,  996 }, { 135,  0, 1665 },\r
+  {  11, 11,  126 }, { 139, 11,  287 }, { 143,  0,    8 }, {  14, 11,  149 },\r
+  {  14, 11,  399 }, { 143, 11,   57 }, {   5,  0,   66 }, {   7,  0, 1896 },\r
+  { 136,  0,  288 }, {   7,  0,  175 }, {  10,  0,  494 }, {   5, 10,  150 },\r
+  {   8, 10,  603 }, {   9, 10,  593 }, {   9, 10,  634 }, {  10, 10,  173 },\r
+  {  11, 10,  462 }, {  11, 10,  515 }, {  13, 10,  216 }, {  13, 10,  288 },\r
+  { 142, 10,  400 }, { 134,  0, 1643 }, { 136, 11,   21 }, {   4,  0,   21 },\r
+  {   5,  0,   91 }, {   5,  0,  648 }, {   5,  0,  750 }, {   5,  0,  781 },\r
+  {   6,  0,   54 }, {   6,  0,  112 }, {   6,  0,  402 }, {   6,  0, 1732 },\r
+  {   7,  0,  315 }, {   7,  0,  749 }, {   7,  0, 1427 }, {   7,  0, 1900 },\r
+  {   9,  0,   78 }, {   9,  0,  508 }, {  10,  0,  611 }, {  10,  0,  811 },\r
+  {  11,  0,  510 }, {  11,  0,  728 }, {  13,  0,   36 }, {  14,  0,   39 },\r
+  {  16,  0,   83 }, {  17,  0,  124 }, { 148,  0,   30 }, {   4,  0,  668 },\r
+  { 136,  0,  570 }, {  10,  0,  322 }, {  10,  0,  719 }, { 139,  0,  407 },\r
+  { 135, 11, 1381 }, { 136, 11,  193 }, {  12, 10,  108 }, { 141, 10,  291 },\r
+  { 132, 11,  616 }, { 136, 11,  692 }, {   8,  0,  125 }, {   8,  0,  369 },\r
+  {   8,  0,  524 }, {  10,  0,  486 }, {  11,  0,   13 }, {  11,  0,  381 },\r
+  {  11,  0,  736 }, {  11,  0,  766 }, {  11,  0,  845 }, {  13,  0,  114 },\r
+  {  13,  0,  292 }, { 142,  0,   47 }, { 134,  0, 1247 }, {   6,  0, 1684 },\r
+  {   6,  0, 1731 }, {   7,  0,  356 }, {   8,  0,   54 }, {   8,  0,  221 },\r
+  {   9,  0,  225 }, {   9,  0,  356 }, {  10,  0,   77 }, {  10,  0,  446 },\r
+  {  10,  0,  731 }, {  12,  0,  404 }, { 141,  0,  491 }, { 135, 10, 1777 },\r
+  {   4, 11,  305 }, {   4, 10,  493 }, { 144, 10,   55 }, {   4,  0,  951 },\r
+  {   6,  0, 1809 }, {   6,  0, 1849 }, {   8,  0,  846 }, {   8,  0,  866 },\r
+  {   8,  0,  899 }, {  10,  0,  896 }, {  12,  0,  694 }, { 142,  0,  468 },\r
+  {   5, 11,  214 }, {   7, 11,  603 }, {   8, 11,  611 }, {   9, 11,  686 },\r
+  {  10, 11,   88 }, {  11, 11,  459 }, {  11, 11,  496 }, {  12, 11,  463 },\r
+  {  12, 11,  590 }, {  13, 11,    0 }, { 142, 11,  214 }, { 132,  0,  411 },\r
+  {   4,  0,   80 }, { 133,  0,   44 }, { 140, 11,   74 }, { 143,  0,   31 },\r
+  {   7,  0,  669 }, {   6, 10,  568 }, {   7, 10, 1804 }, {   8, 10,  362 },\r
+  {   8, 10,  410 }, {   8, 10,  830 }, {   9, 10,  514 }, {  11, 10,  649 },\r
+  { 142, 10,  157 }, {   7,  0,  673 }, { 134, 11, 1703 }, { 132, 10,  625 },\r
+  { 134,  0, 1303 }, {   5,  0,  299 }, { 135,  0, 1083 }, { 138,  0,  704 },\r
+  {   6,  0,  275 }, {   7,  0,  408 }, {   6, 10,  158 }, {   7, 10,  129 },\r
+  {   7, 10,  181 }, {   8, 10,  276 }, {   8, 10,  377 }, {  10, 10,  523 },\r
+  {  11, 10,  816 }, {  12, 10,  455 }, {  13, 10,  303 }, { 142, 10,  135 },\r
+  {   4,  0,  219 }, {   7,  0,  367 }, {   7,  0, 1713 }, {   7,  0, 1761 },\r
+  {   9,  0,   86 }, {   9,  0,  537 }, {  10,  0,  165 }, {  12,  0,  219 },\r
+  { 140,  0,  561 }, {   8,  0,  216 }, {   4, 10,    1 }, {   4, 11,  737 },\r
+  {   6, 11,  317 }, {   7, 10, 1143 }, {   7, 10, 1463 }, {   9, 10,  207 },\r
+  {   9, 10,  390 }, {   9, 10,  467 }, {  10, 11,   98 }, {  11, 11,  294 },\r
+  {  11, 10,  836 }, {  12, 11,   60 }, {  12, 11,  437 }, {  13, 11,   64 },\r
+  {  13, 11,  380 }, { 142, 11,  430 }, {   6, 11, 1758 }, {   8, 11,  520 },\r
+  {   9, 11,  345 }, {   9, 11,  403 }, { 142, 11,  350 }, {   5, 11,   47 },\r
+  {  10, 11,  242 }, { 138, 11,  579 }, {   5, 11,  139 }, {   7, 11, 1168 },\r
+  { 138, 11,  539 }, { 135,  0, 1319 }, {   4, 10,  295 }, {   4, 10,  723 },\r
+  {   5, 10,  895 }, {   7, 10, 1031 }, {   8, 10,  199 }, {   8, 10,  340 },\r
+  {   9, 10,  153 }, {   9, 10,  215 }, {  10, 10,   21 }, {  10, 10,   59 },\r
+  {  10, 10,   80 }, {  10, 10,  224 }, {  10, 10,  838 }, {  11, 10,  229 },\r
+  {  11, 10,  652 }, {  12, 10,  192 }, {  13, 10,  146 }, { 142, 10,   91 },\r
+  { 140,  0,  428 }, { 137, 10,   51 }, { 133,  0,  514 }, {   5, 10,  309 },\r
+  { 140, 10,  211 }, {   6,  0, 1010 }, {   5, 10,  125 }, {   8, 10,   77 },\r
+  { 138, 10,   15 }, {   4,  0,   55 }, {   5,  0,  301 }, {   6,  0,  571 },\r
+  { 142,  0,   49 }, { 146,  0,  102 }, { 136, 11,  370 }, {   4, 11,  107 },\r
+  {   7, 11,  613 }, {   8, 11,  358 }, {   8, 11,  439 }, {   8, 11,  504 },\r
+  {   9, 11,  501 }, {  10, 11,  383 }, { 139, 11,  477 }, { 132, 11,  229 },\r
+  { 133,  0,  364 }, { 133, 10,  439 }, {   4, 11,  903 }, { 135, 11, 1816 },\r
+  {  11,  0,  379 }, { 140, 10,   76 }, {   4,  0,   76 }, {   4,  0,  971 },\r
+  {   7,  0, 1550 }, {   9,  0,  306 }, {   9,  0,  430 }, {   9,  0,  663 },\r
+  {  10,  0,  683 }, {  10,  0,  921 }, {  11,  0,  427 }, {  11,  0,  753 },\r
+  {  12,  0,  334 }, {  12,  0,  442 }, {  14,  0,  258 }, {  14,  0,  366 },\r
+  { 143,  0,  131 }, { 137,  0,   52 }, {   4, 11,   47 }, {   6, 11,  373 },\r
+  {   7, 11,  452 }, {   7, 11,  543 }, {   7, 11, 1714 }, {   7, 11, 1856 },\r
+  {   9, 11,    6 }, {  11, 11,  257 }, { 139, 11,  391 }, {   4, 10,    8 },\r
+  {   7, 10, 1152 }, {   7, 10, 1153 }, {   7, 10, 1715 }, {   9, 10,  374 },\r
+  {  10, 10,  478 }, { 139, 10,  648 }, {   4, 11,  785 }, { 133, 11,  368 },\r
+  { 135, 10, 1099 }, { 135, 11,  860 }, {   5, 11,  980 }, { 134, 11, 1754 },\r
+  { 134,  0, 1258 }, {   6,  0, 1058 }, {   6,  0, 1359 }, {   7, 11,  536 },\r
+  {   7, 11, 1331 }, { 136, 11,  143 }, {   4,  0,  656 }, { 135,  0,  779 },\r
+  { 136, 10,   87 }, {   5, 11,   19 }, {   6, 11,  533 }, { 146, 11,  126 },\r
+  {   7,  0,  144 }, { 138, 10,  438 }, {   5, 11,  395 }, {   5, 11,  951 },\r
+  { 134, 11, 1776 }, { 135,  0, 1373 }, {   7,  0,  554 }, {   7,  0,  605 },\r
+  { 141,  0,   10 }, {   4, 10,   69 }, {   5, 10,  122 }, {   9, 10,  656 },\r
+  { 138, 10,  464 }, {   5, 10,  849 }, { 134, 10, 1633 }, {   5,  0,  838 },\r
+  {   5,  0,  841 }, { 134,  0, 1649 }, { 133,  0, 1012 }, { 139, 10,  499 },\r
+  {   7, 10,  476 }, {   7, 10, 1592 }, { 138, 10,   87 }, {   6,  0,  251 },\r
+  {   7,  0,  365 }, {   7,  0, 1357 }, {   7,  0, 1497 }, {   8,  0,  154 },\r
+  { 141,  0,  281 }, { 132, 11,  441 }, { 132, 11,  695 }, {   7, 11,  497 },\r
+  {   9, 11,  387 }, { 147, 11,   81 }, { 133,  0,  340 }, {  14, 10,  283 },\r
+  { 142, 11,  283 }, { 134,  0,  810 }, { 135, 11, 1894 }, { 139,  0,  495 },\r
+  {   5, 11,  284 }, {   6, 11,   49 }, {   6, 11,  350 }, {   7, 11,    1 },\r
+  {   7, 11,  377 }, {   7, 11, 1693 }, {   8, 11,   18 }, {   8, 11,  678 },\r
+  {   9, 11,  161 }, {   9, 11,  585 }, {   9, 11,  671 }, {   9, 11,  839 },\r
+  {  11, 11,  912 }, { 141, 11,  427 }, {   5, 10,  859 }, {   7, 10, 1160 },\r
+  {   8, 10,  107 }, {   9, 10,  291 }, {   9, 10,  439 }, {  10, 10,  663 },\r
+  {  11, 10,  609 }, { 140, 10,  197 }, {   8,  0,  261 }, {   9,  0,  144 },\r
+  {   9,  0,  466 }, {  10,  0,  370 }, {  12,  0,  470 }, {  13,  0,  144 },\r
+  { 142,  0,  348 }, { 137,  0,  897 }, {   6,  0,  248 }, {   9,  0,  546 },\r
+  {  10,  0,  535 }, {  11,  0,  681 }, { 141,  0,  135 }, {   4,  0,  358 },\r
+  { 135,  0, 1496 }, { 134,  0,  567 }, { 136,  0,  445 }, {   4, 10,  117 },\r
+  {   6, 10,  372 }, {   7, 10, 1905 }, { 142, 10,  323 }, {   4, 10,  722 },\r
+  { 139, 10,  471 }, {   6,  0,  697 }, { 134,  0,  996 }, {   7, 11, 2007 },\r
+  {   9, 11,  101 }, {   9, 11,  450 }, {  10, 11,   66 }, {  10, 11,  842 },\r
+  {  11, 11,  536 }, { 140, 11,  587 }, { 132,  0,  577 }, { 134,  0, 1336 },\r
+  {   9, 10,    5 }, {  12, 10,  216 }, {  12, 10,  294 }, {  12, 10,  298 },\r
+  {  12, 10,  400 }, {  12, 10,  518 }, {  13, 10,  229 }, { 143, 10,  139 },\r
+  {   6,  0,  174 }, { 138,  0,  917 }, { 134, 10, 1774 }, {   5, 10,   12 },\r
+  {   7, 10,  375 }, {   9, 10,   88 }, {   9, 10,  438 }, {  11, 11,   62 },\r
+  { 139, 10,  270 }, { 134, 11, 1766 }, {   6, 11,    0 }, {   7, 11,   84 },\r
+  {   7, 10,  816 }, {   7, 10, 1241 }, {   9, 10,  283 }, {   9, 10,  520 },\r
+  {  10, 10,  213 }, {  10, 10,  307 }, {  10, 10,  463 }, {  10, 10,  671 },\r
+  {  10, 10,  746 }, {  11, 10,  401 }, {  11, 10,  794 }, {  11, 11,  895 },\r
+  {  12, 10,  517 }, {  17, 11,   11 }, {  18, 10,  107 }, { 147, 10,  115 },\r
+  {   5,  0,  878 }, { 133,  0,  972 }, {   6, 11, 1665 }, {   7, 11,  256 },\r
+  {   7, 11, 1388 }, { 138, 11,  499 }, {   4, 10,  258 }, { 136, 10,  639 },\r
+  {   4, 11,   22 }, {   5, 11,   10 }, {   6, 10,   22 }, {   7, 11,  848 },\r
+  {   7, 10,  903 }, {   7, 10, 1963 }, {   8, 11,   97 }, { 138, 10,  577 },\r
+  {   5, 10,  681 }, { 136, 10,  782 }, { 133, 11,  481 }, { 132,  0,  351 },\r
+  {   4, 10,  664 }, {   5, 10,  804 }, { 139, 10, 1013 }, {   6, 11,  134 },\r
+  {   7, 11,  437 }, {   7, 11,  959 }, {   9, 11,   37 }, {  14, 11,  285 },\r
+  {  14, 11,  371 }, { 144, 11,   60 }, {   7, 11,  486 }, {   8, 11,  155 },\r
+  {  11, 11,   93 }, { 140, 11,  164 }, { 132,  0,  286 }, {   7,  0,  438 },\r
+  {   7,  0,  627 }, {   7,  0, 1516 }, {   8,  0,   40 }, {   9,  0,   56 },\r
+  {   9,  0,  294 }, {  10,  0,   30 }, {  11,  0,  969 }, {  11,  0,  995 },\r
+  { 146,  0,  148 }, {   5, 11,  591 }, { 135, 11,  337 }, { 134,  0, 1950 },\r
+  { 133, 10,   32 }, { 138, 11,  500 }, {   5, 11,  380 }, {   5, 11,  650 },\r
+  { 136, 11,  310 }, {   4, 11,  364 }, {   7, 11, 1156 }, {   7, 11, 1187 },\r
+  { 137, 11,  409 }, {   4,  0,  738 }, { 134, 11,  482 }, {   4, 11,  781 },\r
+  {   6, 11,  487 }, {   7, 11,  926 }, {   8, 11,  263 }, { 139, 11,  500 },\r
+  { 135, 11,  418 }, {   6,  0, 2047 }, {  10,  0,  969 }, {   4, 10,  289 },\r
+  {   7, 10,  629 }, {   7, 10, 1698 }, {   7, 10, 1711 }, { 140, 10,  215 },\r
+  {   6, 10,  450 }, { 136, 10,  109 }, { 134,  0,  818 }, { 136, 10,  705 },\r
+  { 133,  0,  866 }, {   4, 11,   94 }, { 135, 11, 1265 }, { 132, 11,  417 },\r
+  { 134,  0, 1467 }, { 135, 10, 1238 }, {   4,  0,  972 }, {   6,  0, 1851 },\r
+  { 134,  0, 1857 }, { 134,  0,  355 }, { 133,  0,  116 }, { 132,  0,  457 },\r
+  { 135, 11, 1411 }, {   4, 11,  408 }, {   4, 11,  741 }, { 135, 11,  500 },\r
+  { 134, 10,   26 }, { 142, 11,  137 }, {   5,  0,  527 }, {   6,  0,  189 },\r
+  {   7,  0,  859 }, { 136,  0,  267 }, {  11,  0,  104 }, {  11,  0,  554 },\r
+  {  15,  0,   60 }, { 143,  0,  125 }, { 134,  0, 1613 }, {   4, 10,  414 },\r
+  {   5, 10,  467 }, {   9, 10,  654 }, {  10, 10,  451 }, {  12, 10,   59 },\r
+  { 141, 10,  375 }, { 135, 10,   17 }, { 134,  0,  116 }, { 135, 11,  541 },\r
+  { 135, 10,  955 }, {   6, 11,   73 }, { 135, 11,  177 }, { 133, 11,  576 },\r
+  { 134,  0,  886 }, { 133,  0,  487 }, {   4,  0,   86 }, {   5,  0,  667 },\r
+  {   5,  0,  753 }, {   6,  0,  316 }, {   6,  0,  455 }, { 135,  0,  946 },\r
+  { 142, 11,  231 }, { 150,  0,   45 }, { 134,  0,  863 }, { 134,  0, 1953 },\r
+  {   6, 10,  280 }, {  10, 10,  502 }, {  11, 10,  344 }, { 140, 10,   38 },\r
+  {   4,  0,   79 }, {   7,  0, 1773 }, {  10,  0,  450 }, {  11,  0,  589 },\r
+  {  13,  0,  332 }, {  13,  0,  493 }, {  14,  0,  183 }, {  14,  0,  334 },\r
+  {  14,  0,  362 }, {  14,  0,  368 }, {  14,  0,  376 }, {  14,  0,  379 },\r
+  {  19,  0,   90 }, {  19,  0,  103 }, {  19,  0,  127 }, { 148,  0,   90 },\r
+  {   5, 10,   45 }, {   7, 10, 1161 }, {  11, 10,  448 }, {  11, 10,  880 },\r
+  {  13, 10,  139 }, {  13, 10,  407 }, {  15, 10,   16 }, {  17, 10,   95 },\r
+  {  18, 10,   66 }, {  18, 10,   88 }, {  18, 10,  123 }, { 149, 10,    7 },\r
+  { 136, 10,  777 }, {   4, 10,  410 }, { 135, 10,  521 }, { 135, 10, 1778 },\r
+  { 135, 11,  538 }, { 142,  0,  381 }, { 133, 11,  413 }, { 134,  0, 1142 },\r
+  {   6,  0, 1189 }, { 136, 11,  495 }, {   5,  0,  663 }, {   6,  0, 1962 },\r
+  { 134,  0, 2003 }, {   7, 11,   54 }, {   8, 11,  312 }, {  10, 11,  191 },\r
+  {  10, 11,  614 }, { 140, 11,  567 }, { 132, 10,  436 }, { 133,  0,  846 },\r
+  {  10,  0,  528 }, {  11,  0,  504 }, {   7, 10, 1587 }, { 135, 10, 1707 },\r
+  {   5,  0,  378 }, {   8,  0,  465 }, {   9,  0,  286 }, {  10,  0,  185 },\r
+  {  10,  0,  562 }, {  10,  0,  635 }, {  11,  0,   31 }, {  11,  0,  393 },\r
+  {  13,  0,  312 }, {  18,  0,   65 }, {  18,  0,   96 }, { 147,  0,   89 },\r
+  {   7,  0,  899 }, {  14,  0,  325 }, {   6, 11,  468 }, {   7, 11,  567 },\r
+  {   7, 11, 1478 }, {   8, 11,  530 }, { 142, 11,  290 }, {   7,  0, 1880 },\r
+  {   9,  0,  680 }, { 139,  0,  798 }, { 134,  0, 1770 }, { 132,  0,  648 },\r
+  { 150, 11,   35 }, {   5,  0,  945 }, {   6,  0, 1656 }, {   6,  0, 1787 },\r
+  {   7,  0,  167 }, {   8,  0,  824 }, {   9,  0,  391 }, {  10,  0,  375 },\r
+  { 139,  0,  185 }, {   6, 11,  484 }, { 135, 11,  822 }, { 134,  0, 2046 },\r
+  {   7,  0, 1645 }, {   8,  0,  352 }, { 137,  0,  249 }, { 132,  0,  152 },\r
+  {   6,  0,  611 }, { 135,  0, 1733 }, {   6, 11, 1724 }, { 135, 11, 2022 },\r
+  { 133,  0, 1006 }, { 141, 11,   96 }, {   5,  0,  420 }, { 135,  0, 1449 },\r
+  { 146, 11,  149 }, { 135,  0,  832 }, { 135, 10,  663 }, { 133,  0,  351 },\r
+  {   5,  0,   40 }, {   7,  0,  598 }, {   7,  0, 1638 }, {   8,  0,   78 },\r
+  {   9,  0,  166 }, {   9,  0,  640 }, {   9,  0,  685 }, {   9,  0,  773 },\r
+  {  11,  0,  215 }, {  13,  0,   65 }, {  14,  0,  172 }, {  14,  0,  317 },\r
+  { 145,  0,    6 }, {   8,  0,   60 }, {   9,  0,  343 }, { 139,  0,  769 },\r
+  { 134,  0, 1354 }, { 132,  0,  724 }, { 137,  0,  745 }, { 132, 11,  474 },\r
+  {   7,  0, 1951 }, {   8,  0,  765 }, {   8,  0,  772 }, { 140,  0,  671 },\r
+  {   7,  0,  108 }, {   8,  0,  219 }, {   8,  0,  388 }, {   9,  0,  775 },\r
+  {  11,  0,  275 }, { 140,  0,  464 }, { 137,  0,  639 }, { 135, 10,  503 },\r
+  { 133, 11,  366 }, {   5,  0,   15 }, {   6,  0,   56 }, {   7,  0, 1758 },\r
+  {   8,  0,  500 }, {   9,  0,  730 }, {  11,  0,  331 }, {  13,  0,  150 },\r
+  {  14,  0,  282 }, {   5, 11,  305 }, {   9, 11,  560 }, { 141, 11,  208 },\r
+  {   4, 10,  113 }, {   5, 10,  163 }, {   5, 10,  735 }, {   7, 10, 1009 },\r
+  {   9, 10,    9 }, {   9, 10,  771 }, {  12, 10,   90 }, {  13, 10,  138 },\r
+  {  13, 10,  410 }, { 143, 10,  128 }, {   4, 10,  324 }, { 138, 10,  104 },\r
+  { 135, 11,  466 }, { 142, 11,   27 }, { 134,  0, 1886 }, {   5,  0,  205 },\r
+  {   6,  0,  438 }, {   9,  0,  711 }, {   4, 11,  480 }, {   6, 11,  167 },\r
+  {   6, 11,  302 }, {   6, 11, 1642 }, {   7, 11,  130 }, {   7, 11,  656 },\r
+  {   7, 11,  837 }, {   7, 11, 1547 }, {   7, 11, 1657 }, {   8, 11,  429 },\r
+  {   9, 11,  228 }, {  10, 11,  643 }, {  13, 11,  289 }, {  13, 11,  343 },\r
+  { 147, 11,  101 }, { 134,  0,  865 }, {   6,  0, 2025 }, { 136,  0,  965 },\r
+  {   7, 11,  278 }, {  10, 11,  739 }, {  11, 11,  708 }, { 141, 11,  348 },\r
+  { 133,  0,  534 }, { 135, 11, 1922 }, { 137,  0,  691 }, {   4, 10,  935 },\r
+  { 133, 10,  823 }, {   6,  0,  443 }, {   9,  0,  237 }, {   9,  0,  571 },\r
+  {   9,  0,  695 }, {  10,  0,  139 }, {  11,  0,  715 }, {  12,  0,  417 },\r
+  { 141,  0,  421 }, {   5, 10,  269 }, {   7, 10,  434 }, {   7, 10,  891 },\r
+  {   8, 10,  339 }, {   9, 10,  702 }, {  11, 10,  594 }, {  11, 10,  718 },\r
+  { 145, 10,  100 }, {   6,  0, 1555 }, {   7,  0,  878 }, {   9, 10,  485 },\r
+  { 141, 10,  264 }, { 134, 10, 1713 }, {   7, 10, 1810 }, {  11, 10,  866 },\r
+  {  12, 10,  103 }, { 141, 10,  495 }, { 135, 10,  900 }, {   6,  0, 1410 },\r
+  {   9, 11,  316 }, { 139, 11,  256 }, {   4,  0,  995 }, { 135,  0, 1033 },\r
+  { 132,  0,  578 }, {  10,  0,  881 }, {  12,  0,  740 }, {  12,  0,  743 },\r
+  { 140,  0,  759 }, { 132,  0,  822 }, { 133,  0,  923 }, { 142, 10,  143 },\r
+  { 135, 11, 1696 }, {   6, 11,  363 }, {   7, 11, 1955 }, { 136, 11,  725 },\r
+  { 132,  0,  924 }, { 133,  0,  665 }, { 135, 10, 2029 }, { 135,  0, 1901 },\r
+  {   4,  0,  265 }, {   6,  0, 1092 }, {   6,  0, 1417 }, {   7,  0,  807 },\r
+  { 135,  0,  950 }, {   5,  0,   93 }, {  12,  0,  267 }, { 141,  0,  498 },\r
+  { 135,  0, 1451 }, {   5, 11,  813 }, { 135, 11, 2046 }, {   5, 10,  625 },\r
+  { 135, 10, 1617 }, { 135,  0,  747 }, {   6,  0,  788 }, { 137,  0,  828 },\r
+  {   7,  0,  184 }, {  11,  0,  307 }, {  11,  0,  400 }, {  15,  0,  130 },\r
+  {   5, 11,  712 }, {   7, 11, 1855 }, {   8, 10,  425 }, {   8, 10,  693 },\r
+  {   9, 10,  720 }, {  10, 10,  380 }, {  10, 10,  638 }, {  11, 11,   17 },\r
+  {  11, 10,  473 }, {  12, 10,   61 }, {  13, 11,  321 }, { 144, 11,   67 },\r
+  { 135,  0,  198 }, {   6, 11,  320 }, {   7, 11,  781 }, {   7, 11, 1921 },\r
+  {   9, 11,   55 }, {  10, 11,  186 }, {  10, 11,  273 }, {  10, 11,  664 },\r
+  {  10, 11,  801 }, {  11, 11,  996 }, {  11, 11,  997 }, {  13, 11,  157 },\r
+  { 142, 11,  170 }, { 136, 11,  271 }, { 135,  0,  994 }, {   7, 11,  103 },\r
+  {   7, 11,  863 }, {  11, 11,  184 }, {  14, 11,  299 }, { 145, 11,   62 },\r
+  {  11, 10,  551 }, { 142, 10,  159 }, {   5,  0,  233 }, {   5,  0,  320 },\r
+  {   6,  0,  140 }, {   8,  0,  295 }, {   8,  0,  615 }, { 136, 11,  615 },\r
+  { 133,  0,  978 }, {   4,  0,  905 }, {   6,  0, 1701 }, { 137,  0,  843 },\r
+  { 132, 10,  168 }, {   4,  0,  974 }, {   8,  0,  850 }, {  12,  0,  709 },\r
+  {  12,  0,  768 }, { 140,  0,  786 }, { 135, 10,   91 }, { 152,  0,    6 },\r
+  { 138, 10,  532 }, { 135, 10, 1884 }, { 132,  0,  509 }, {   6,  0, 1307 },\r
+  { 135,  0,  273 }, {   5, 11,   77 }, {   7, 11, 1455 }, {  10, 11,  843 },\r
+  {  19, 11,   73 }, { 150, 11,    5 }, { 132, 11,  458 }, { 135, 11, 1420 },\r
+  {   6, 11,  109 }, { 138, 11,  382 }, {   6,  0,  201 }, {   6, 11,  330 },\r
+  {   7, 10,   70 }, {   7, 11, 1084 }, {  10, 10,  240 }, {  11, 11,  142 },\r
+  { 147, 10,   93 }, {   7,  0, 1041 }, { 140, 11,  328 }, { 133, 11,  354 },\r
+  { 134,  0, 1040 }, { 133,  0,  693 }, { 134,  0,  774 }, { 139,  0,  234 },\r
+  { 132,  0,  336 }, {   7,  0, 1399 }, { 139, 10,  392 }, {  20,  0,   22 },\r
+  { 148, 11,   22 }, {   5,  0,  802 }, {   7,  0, 2021 }, { 136,  0,  805 },\r
+  {   5,  0,  167 }, {   5,  0,  899 }, {   6,  0,  410 }, { 137,  0,  777 },\r
+  { 137,  0,  789 }, { 134,  0, 1705 }, {   7, 10,  655 }, { 135, 10, 1844 },\r
+  {   4, 10,  145 }, {   6, 10,  176 }, {   7, 10,  395 }, { 137, 10,  562 },\r
+  { 132, 10,  501 }, { 135,  0,   10 }, {   5,  0,   11 }, {   6,  0,  117 },\r
+  {   6,  0,  485 }, {   7,  0, 1133 }, {   9,  0,  582 }, {   9,  0,  594 },\r
+  {  10,  0,   82 }, {  11,  0,   21 }, {  11,  0,  818 }, {  12,  0,  535 },\r
+  {  13,  0,   86 }, {  20,  0,   91 }, {  23,  0,   13 }, { 134, 10,  509 },\r
+  {   4,  0,  264 }, {   7,  0, 1067 }, {   8,  0,  204 }, {   8,  0,  385 },\r
+  { 139,  0,  953 }, { 139, 11,  737 }, { 138,  0,   56 }, { 134,  0, 1917 },\r
+  { 133,  0,  470 }, {  10, 11,  657 }, {  14, 11,  297 }, { 142, 11,  361 },\r
+  { 135, 11,  412 }, {   7,  0, 1198 }, {   7, 11, 1198 }, {   8, 11,  556 },\r
+  {  14, 11,  123 }, {  14, 11,  192 }, { 143, 11,   27 }, {   7, 11, 1985 },\r
+  {  14, 11,  146 }, {  15, 11,   42 }, {  16, 11,   23 }, {  17, 11,   86 },\r
+  { 146, 11,   17 }, {  11,  0, 1015 }, { 136, 11,  122 }, {   4, 10,  114 },\r
+  {   9, 10,  492 }, {  13, 10,  462 }, { 142, 10,  215 }, {   4, 10,   77 },\r
+  {   5, 10,  361 }, {   6, 10,  139 }, {   6, 10,  401 }, {   6, 10,  404 },\r
+  {   7, 10,  413 }, {   7, 10,  715 }, {   7, 10, 1716 }, {  11, 10,  279 },\r
+  {  12, 10,  179 }, {  12, 10,  258 }, {  13, 10,  244 }, { 142, 10,  358 },\r
+  { 134, 10, 1717 }, {   7, 10, 1061 }, {   8, 10,   82 }, {  11, 10,  250 },\r
+  {  12, 10,  420 }, { 141, 10,  184 }, { 133,  0,  715 }, { 135, 10,  724 },\r
+  {   9,  0,  919 }, {   9,  0,  922 }, {   9,  0,  927 }, {   9,  0,  933 },\r
+  {   9,  0,  962 }, {   9,  0, 1000 }, {   9,  0, 1002 }, {   9,  0, 1021 },\r
+  {  12,  0,  890 }, {  12,  0,  907 }, {  12,  0,  930 }, {  15,  0,  207 },\r
+  {  15,  0,  228 }, {  15,  0,  238 }, { 149,  0,   61 }, {   8,  0,  794 },\r
+  {   9,  0,  400 }, {  10,  0,  298 }, { 142,  0,  228 }, {   5, 11,  430 },\r
+  {   5, 11,  932 }, {   6, 11,  131 }, {   7, 11,  417 }, {   9, 11,  522 },\r
+  {  11, 11,  314 }, { 141, 11,  390 }, { 132,  0,  867 }, {   8,  0,  724 },\r
+  { 132, 11,  507 }, { 137, 11,  261 }, {   4, 11,  343 }, { 133, 11,  511 },\r
+  {   6,  0,  190 }, {   7,  0,  768 }, { 135,  0, 1170 }, {   6, 10,  513 },\r
+  { 135, 10, 1052 }, {   7, 11,  455 }, { 138, 11,  591 }, { 134,  0, 1066 },\r
+  { 137, 10,  899 }, {  14,  0,   67 }, { 147,  0,   60 }, {   4,  0,  948 },\r
+  {  18,  0,  174 }, { 146,  0,  176 }, { 135,  0, 1023 }, {   7, 10, 1417 },\r
+  {  12, 10,  382 }, {  17, 10,   48 }, { 152, 10,   12 }, { 134, 11,  575 },\r
+  { 132,  0,  764 }, {   6, 10,  545 }, {   7, 10,  565 }, {   7, 10, 1669 },\r
+  {  10, 10,  114 }, {  11, 10,  642 }, { 140, 10,  618 }, {   6,  0,  137 },\r
+  {   9,  0,   75 }, {   9,  0,  253 }, {  10,  0,  194 }, { 138,  0,  444 },\r
+  {   4,  0,  756 }, { 133, 10,    5 }, {   8,  0, 1008 }, { 135, 10,  192 },\r
+  { 132,  0,  842 }, {  11,  0,  643 }, {  12,  0,  115 }, { 136, 10,  763 },\r
+  { 139,  0,   67 }, { 133, 10,  759 }, {   4,  0,  821 }, {   5,  0,  760 },\r
+  {   7,  0,  542 }, {   8,  0,  135 }, {   8,  0,  496 }, { 135, 11,  580 },\r
+  {   7, 10,  370 }, {   7, 10, 1007 }, {   7, 10, 1177 }, { 135, 10, 1565 },\r
+  { 135, 10, 1237 }, { 140,  0,  736 }, {   7,  0,  319 }, {   7,  0,  355 },\r
+  {   7,  0,  763 }, {  10,  0,  389 }, { 145,  0,   43 }, {   8, 11,  333 },\r
+  { 138, 11,  182 }, {   4, 10,   87 }, {   5, 10,  250 }, { 141, 10,  298 },\r
+  { 138,  0,  786 }, { 134,  0, 2044 }, {   8, 11,  330 }, { 140, 11,  477 },\r
+  { 135, 11, 1338 }, { 132, 11,  125 }, { 134,  0, 1030 }, { 134,  0, 1083 },\r
+  { 132, 11,  721 }, { 135, 10,  814 }, {   7, 11,  776 }, {   8, 11,  145 },\r
+  { 147, 11,   56 }, { 134,  0, 1226 }, {   4, 10,   57 }, {   7, 10, 1195 },\r
+  {   7, 10, 1438 }, {   7, 10, 1548 }, {   7, 10, 1835 }, {   7, 10, 1904 },\r
+  {   9, 10,  757 }, {  10, 10,  604 }, { 139, 10,  519 }, {   7, 11,  792 },\r
+  {   8, 11,  147 }, {  10, 11,  821 }, { 139, 11, 1021 }, { 137, 11,  797 },\r
+  {   4,  0,   58 }, {   5,  0,  286 }, {   6,  0,  319 }, {   7,  0,  402 },\r
+  {   7,  0, 1254 }, {   7,  0, 1903 }, {   8,  0,  356 }, { 140,  0,  408 },\r
+  {   4,  0,  389 }, {   4,  0,  815 }, {   9,  0,  181 }, {   9,  0,  255 },\r
+  {  10,  0,    8 }, {  10,  0,   29 }, {  10,  0,  816 }, {  11,  0,  311 },\r
+  {  11,  0,  561 }, {  12,  0,   67 }, { 141,  0,  181 }, {   7, 11, 1472 },\r
+  { 135, 11, 1554 }, {   7, 11, 1071 }, {   7, 11, 1541 }, {   7, 11, 1767 },\r
+  {   7, 11, 1806 }, {   7, 11, 1999 }, {   9, 11,  248 }, {  10, 11,  400 },\r
+  {  11, 11,  162 }, {  11, 11,  178 }, {  11, 11,  242 }, {  12, 11,  605 },\r
+  {  15, 11,   26 }, { 144, 11,   44 }, {   5, 11,  168 }, {   5, 11,  930 },\r
+  {   8, 11,   74 }, {   9, 11,  623 }, {  12, 11,  500 }, {  12, 11,  579 },\r
+  {  13, 11,   41 }, { 143, 11,   93 }, {   6, 11,  220 }, {   7, 11, 1101 },\r
+  { 141, 11,  105 }, {   5,  0,  474 }, {   7,  0,  507 }, {   4, 10,  209 },\r
+  {   7, 11,  507 }, { 135, 10,  902 }, { 132,  0,  427 }, {   6,  0,  413 },\r
+  {   7, 10,  335 }, {   7, 10, 1437 }, {   7, 10, 1668 }, {   8, 10,  553 },\r
+  {   8, 10,  652 }, {   8, 10,  656 }, {   9, 10,  558 }, {  11, 10,  743 },\r
+  { 149, 10,   18 }, { 132,  0,  730 }, {   6, 11,   19 }, {   7, 11, 1413 },\r
+  { 139, 11,  428 }, { 133,  0,  373 }, { 132, 10,  559 }, {   7, 11,   96 },\r
+  {   8, 11,  401 }, { 137, 11,  896 }, {   7,  0,  799 }, {   7,  0, 1972 },\r
+  {   5, 10, 1017 }, { 138, 10,  511 }, { 135,  0, 1793 }, {   7, 11, 1961 },\r
+  {   7, 11, 1965 }, {   8, 11,  702 }, { 136, 11,  750 }, {   8, 11,  150 },\r
+  {   8, 11,  737 }, { 140, 11,  366 }, { 132,  0,  322 }, { 133, 10,  709 },\r
+  {   8, 11,  800 }, {   9, 11,  148 }, {   9, 11,  872 }, {   9, 11,  890 },\r
+  {  11, 11,  309 }, {  11, 11, 1001 }, {  13, 11,  267 }, { 141, 11,  323 },\r
+  { 134, 10, 1745 }, {   7,  0,  290 }, { 136, 10,  206 }, {   7,  0, 1651 },\r
+  { 145,  0,   89 }, { 139,  0,    2 }, { 132,  0,  672 }, {   6,  0, 1860 },\r
+  {   8,  0,  905 }, {  10,  0,  844 }, {  10,  0,  846 }, {  10,  0,  858 },\r
+  {  12,  0,  699 }, {  12,  0,  746 }, { 140,  0,  772 }, { 135, 11,  424 },\r
+  { 133, 11,  547 }, { 133,  0,  737 }, {   5, 11,  490 }, {   6, 11,  615 },\r
+  {   6, 11,  620 }, { 135, 11,  683 }, {   6,  0,  746 }, { 134,  0, 1612 },\r
+  { 132, 10,  776 }, {   9, 11,  385 }, { 149, 11,   17 }, { 133,  0,  145 },\r
+  { 135, 10, 1272 }, {   7,  0,  884 }, { 140,  0,  124 }, {   4,  0,  387 },\r
+  { 135,  0, 1288 }, {   5, 11,  133 }, { 136, 10,  406 }, { 136, 11,  187 },\r
+  {   6,  0,  679 }, {   8, 11,    8 }, { 138, 11,    0 }, { 135,  0,  550 },\r
+  { 135, 11,  798 }, { 136, 11,  685 }, {   7, 11, 1086 }, { 145, 11,   46 },\r
+  {   8, 10,  175 }, {  10, 10,  168 }, { 138, 10,  573 }, { 135,  0, 1305 },\r
+  {   4,  0,  576 }, { 135,  0, 1263 }, {   6,  0,  686 }, { 134,  0, 1563 },\r
+  { 134,  0,  607 }, {   5,  0,  919 }, { 134,  0, 1673 }, { 148,  0,   37 },\r
+  {   8, 11,  774 }, {  10, 11,  670 }, { 140, 11,   51 }, { 133, 10,  784 },\r
+  { 139, 10,  882 }, {   4,  0,   82 }, {   5,  0,  333 }, {   5,  0,  904 },\r
+  {   6,  0,  207 }, {   7,  0,  325 }, {   7,  0, 1726 }, {   8,  0,  101 },\r
+  {  10,  0,  778 }, { 139,  0,  220 }, { 135, 11,  371 }, { 132,  0,  958 },\r
+  { 133,  0,  903 }, {   4, 11,  127 }, {   5, 11,  350 }, {   6, 11,  356 },\r
+  {   8, 11,  426 }, {   9, 11,  572 }, {  10, 11,  247 }, { 139, 11,  312 },\r
+  { 140,  0,  147 }, {   6, 11,   59 }, {   7, 11,  885 }, {   9, 11,  603 },\r
+  { 141, 11,  397 }, {  10,  0,  367 }, {   9, 10,   14 }, {   9, 10,  441 },\r
+  { 139, 10,    9 }, {  11, 10,  966 }, {  12, 10,  287 }, {  13, 10,  342 },\r
+  {  13, 10,  402 }, {  15, 10,  110 }, { 143, 10,  163 }, { 134,  0,  690 },\r
+  { 132,  0,  705 }, {   9,  0,  651 }, {  11,  0,  971 }, {  13,  0,  273 },\r
+  {   7, 10, 1428 }, {   7, 10, 1640 }, {   7, 10, 1867 }, {   9, 10,  169 },\r
+  {   9, 10,  182 }, {   9, 10,  367 }, {   9, 10,  478 }, {   9, 10,  506 },\r
+  {   9, 10,  551 }, {   9, 10,  557 }, {   9, 10,  648 }, {   9, 10,  697 },\r
+  {   9, 10,  705 }, {   9, 10,  725 }, {   9, 10,  787 }, {   9, 10,  794 },\r
+  {  10, 10,  198 }, {  10, 10,  214 }, {  10, 10,  267 }, {  10, 10,  275 },\r
+  {  10, 10,  456 }, {  10, 10,  551 }, {  10, 10,  561 }, {  10, 10,  613 },\r
+  {  10, 10,  627 }, {  10, 10,  668 }, {  10, 10,  675 }, {  10, 10,  691 },\r
+  {  10, 10,  695 }, {  10, 10,  707 }, {  10, 10,  715 }, {  11, 10,  183 },\r
+  {  11, 10,  201 }, {  11, 10,  262 }, {  11, 10,  352 }, {  11, 10,  439 },\r
+  {  11, 10,  493 }, {  11, 10,  572 }, {  11, 10,  591 }, {  11, 10,  608 },\r
+  {  11, 10,  611 }, {  11, 10,  646 }, {  11, 10,  674 }, {  11, 10,  711 },\r
+  {  11, 10,  751 }, {  11, 10,  761 }, {  11, 10,  776 }, {  11, 10,  785 },\r
+  {  11, 10,  850 }, {  11, 10,  853 }, {  11, 10,  862 }, {  11, 10,  865 },\r
+  {  11, 10,  868 }, {  11, 10,  875 }, {  11, 10,  898 }, {  11, 10,  902 },\r
+  {  11, 10,  903 }, {  11, 10,  910 }, {  11, 10,  932 }, {  11, 10,  942 },\r
+  {  11, 10,  957 }, {  11, 10,  967 }, {  11, 10,  972 }, {  12, 10,  148 },\r
+  {  12, 10,  195 }, {  12, 10,  220 }, {  12, 10,  237 }, {  12, 10,  318 },\r
+  {  12, 10,  339 }, {  12, 10,  393 }, {  12, 10,  445 }, {  12, 10,  450 },\r
+  {  12, 10,  474 }, {  12, 10,  505 }, {  12, 10,  509 }, {  12, 10,  533 },\r
+  {  12, 10,  591 }, {  12, 10,  594 }, {  12, 10,  597 }, {  12, 10,  621 },\r
+  {  12, 10,  633 }, {  12, 10,  642 }, {  13, 10,   59 }, {  13, 10,   60 },\r
+  {  13, 10,  145 }, {  13, 10,  239 }, {  13, 10,  250 }, {  13, 10,  329 },\r
+  {  13, 10,  344 }, {  13, 10,  365 }, {  13, 10,  372 }, {  13, 10,  387 },\r
+  {  13, 10,  403 }, {  13, 10,  414 }, {  13, 10,  456 }, {  13, 10,  470 },\r
+  {  13, 10,  478 }, {  13, 10,  483 }, {  13, 10,  489 }, {  14, 10,   55 },\r
+  {  14, 10,   57 }, {  14, 10,   81 }, {  14, 10,   90 }, {  14, 10,  148 },\r
+  {  14, 10,  239 }, {  14, 10,  266 }, {  14, 10,  321 }, {  14, 10,  326 },\r
+  {  14, 10,  327 }, {  14, 10,  330 }, {  14, 10,  347 }, {  14, 10,  355 },\r
+  {  14, 10,  401 }, {  14, 10,  404 }, {  14, 10,  411 }, {  14, 10,  414 },\r
+  {  14, 10,  416 }, {  14, 10,  420 }, {  15, 10,   61 }, {  15, 10,   74 },\r
+  {  15, 10,   87 }, {  15, 10,   88 }, {  15, 10,   94 }, {  15, 10,   96 },\r
+  {  15, 10,  116 }, {  15, 10,  149 }, {  15, 10,  154 }, {  16, 10,   50 },\r
+  {  16, 10,   63 }, {  16, 10,   73 }, {  17, 10,    2 }, {  17, 10,   66 },\r
+  {  17, 10,   92 }, {  17, 10,  103 }, {  17, 10,  112 }, {  17, 10,  120 },\r
+  {  18, 10,   50 }, {  18, 10,   54 }, {  18, 10,   82 }, {  18, 10,   86 },\r
+  {  18, 10,   90 }, {  18, 10,  111 }, {  18, 10,  115 }, {  18, 10,  156 },\r
+  {  19, 10,   40 }, {  19, 10,   79 }, {  20, 10,   78 }, { 149, 10,   22 },\r
+  {   7,  0,  887 }, {   5, 10,  161 }, { 135, 10,  839 }, { 142, 11,   98 },\r
+  { 134,  0,   90 }, { 138, 11,  356 }, { 135, 11,  441 }, {   6, 11,  111 },\r
+  {   7, 11,    4 }, {   8, 11,  163 }, {   8, 11,  776 }, { 138, 11,  566 },\r
+  { 134,  0,  908 }, { 134,  0, 1261 }, {   7,  0,  813 }, {  12,  0,  497 },\r
+  { 141,  0,   56 }, { 134,  0, 1235 }, { 135,  0,  429 }, { 135, 11, 1994 },\r
+  { 138,  0,  904 }, {   6,  0,  125 }, {   7,  0, 1277 }, { 137,  0,  772 },\r
+  { 151,  0,   12 }, {   4,  0,  841 }, {   5,  0,  386 }, { 133, 11,  386 },\r
+  {   5, 11,  297 }, { 135, 11, 1038 }, {   6,  0,  860 }, {   6,  0, 1069 },\r
+  { 135, 11,  309 }, { 136,  0,  946 }, { 135, 10, 1814 }, { 141, 11,  418 },\r
+  { 136, 11,  363 }, {  10,  0,  768 }, { 139,  0,  787 }, {  22, 11,   30 },\r
+  { 150, 11,   33 }, {   6,  0,  160 }, {   7,  0, 1106 }, {   9,  0,  770 },\r
+  {  11,  0,  112 }, { 140,  0,  413 }, {  11, 11,  216 }, { 139, 11,  340 },\r
+  { 136, 10,  139 }, { 135, 11, 1390 }, { 135, 11,  808 }, { 132, 11,  280 },\r
+  {  12,  0,  271 }, {  17,  0,  109 }, {   7, 10,  643 }, { 136, 10,  236 },\r
+  { 140, 11,   54 }, {   4, 11,  421 }, { 133, 11,  548 }, {  11,  0,  719 },\r
+  {  12,  0,   36 }, { 141,  0,  337 }, {   7,  0,  581 }, {   9,  0,  644 },\r
+  { 137,  0,  699 }, {  11, 11,  511 }, {  13, 11,  394 }, {  14, 11,  298 },\r
+  {  14, 11,  318 }, { 146, 11,  103 }, {   7,  0,  304 }, {   9,  0,  646 },\r
+  {   9,  0,  862 }, {  11,  0,  696 }, {  12,  0,  208 }, {  15,  0,   79 },\r
+  { 147,  0,  108 }, {   4,  0,  631 }, {   7,  0, 1126 }, { 135,  0, 1536 },\r
+  { 135, 11, 1527 }, {   8,  0,  880 }, {  10,  0,  869 }, { 138,  0,  913 },\r
+  {   7,  0, 1513 }, {   5, 10,   54 }, {   6, 11,  254 }, {   9, 11,  109 },\r
+  { 138, 11,  103 }, { 135,  0,  981 }, { 133, 11,  729 }, { 132, 10,  744 },\r
+  { 132,  0,  434 }, { 134,  0,  550 }, {   7,  0,  930 }, {  10,  0,  476 },\r
+  {  13,  0,  452 }, {  19,  0,  104 }, {   6, 11, 1630 }, {  10, 10,  402 },\r
+  { 146, 10,   55 }, {   5,  0,  553 }, { 138,  0,  824 }, { 136,  0,  452 },\r
+  {   8,  0,  151 }, { 137, 10,  624 }, { 132, 10,  572 }, { 132,  0,  772 },\r
+  { 133, 11,  671 }, { 133,  0,  292 }, { 138,  0,  135 }, { 132, 11,  889 },\r
+  { 140, 11,  207 }, {   9,  0,  504 }, {   6, 10,   43 }, {   7, 10,   38 },\r
+  {   8, 10,  248 }, { 138, 10,  513 }, {   6,  0, 1089 }, { 135, 11, 1910 },\r
+  {   4, 11,  627 }, { 133, 11,  775 }, { 135,  0,  783 }, { 133, 10,  766 },\r
+  { 133, 10,  363 }, {   7,  0,  387 }, { 135, 11,  387 }, {   7,  0,  393 },\r
+  {  10,  0,  603 }, {  11,  0,  206 }, {   7, 11,  202 }, {  11, 11,  362 },\r
+  {  11, 11,  948 }, { 140, 11,  388 }, {   6, 11,  507 }, {   7, 11,  451 },\r
+  {   8, 11,  389 }, {  12, 11,  490 }, {  13, 11,   16 }, {  13, 11,  215 },\r
+  {  13, 11,  351 }, {  18, 11,  132 }, { 147, 11,  125 }, {   4,  0,  912 },\r
+  {   9,  0,  232 }, { 135, 11,  841 }, {   6, 10,  258 }, { 140, 10,  409 },\r
+  {   5, 10,  249 }, { 148, 10,   82 }, { 136, 11,  566 }, {   6,  0,  977 },\r
+  { 135, 11, 1214 }, {   7,  0, 1973 }, { 136,  0,  716 }, { 135,  0,   98 },\r
+  { 133,  0,  733 }, {   5, 11,  912 }, { 134, 11, 1695 }, {   5, 10,  393 },\r
+  {   6, 10,  378 }, {   7, 10, 1981 }, {   9, 10,   32 }, {   9, 10,  591 },\r
+  {  10, 10,  685 }, {  10, 10,  741 }, { 142, 10,  382 }, { 133, 10,  788 },\r
+  {  10,  0,   19 }, {  11,  0,  911 }, {   7, 10, 1968 }, { 141, 10,  509 },\r
+  {   5,  0,  668 }, {   5, 11,  236 }, {   6, 11,  572 }, {   8, 11,  492 },\r
+  {  11, 11,  618 }, { 144, 11,   56 }, { 135, 11, 1789 }, {   4,  0,  360 },\r
+  {   5,  0,  635 }, {   5,  0,  700 }, {   5, 10,   58 }, {   5, 10,  171 },\r
+  {   5, 10,  683 }, {   6, 10,  291 }, {   6, 10,  566 }, {   7, 10, 1650 },\r
+  {  11, 10,  523 }, {  12, 10,  273 }, {  12, 10,  303 }, {  15, 10,   39 },\r
+  { 143, 10,  111 }, { 133,  0,  901 }, { 134, 10,  589 }, {   5, 11,  190 },\r
+  { 136, 11,  318 }, { 140,  0,  656 }, {   7,  0,  726 }, { 152,  0,    9 },\r
+  {   4, 10,  917 }, { 133, 10, 1005 }, { 135, 10, 1598 }, { 134, 11,  491 },\r
+  {   4, 10,  919 }, { 133, 11,  434 }, { 137,  0,   72 }, {   6,  0, 1269 },\r
+  {   6,  0, 1566 }, { 134,  0, 1621 }, {   9,  0,  463 }, {  10,  0,  595 },\r
+  {   4, 10,  255 }, {   5, 10,  302 }, {   6, 10,  132 }, {   7, 10,  128 },\r
+  {   7, 10,  283 }, {   7, 10, 1299 }, {  10, 10,   52 }, {  10, 10,  514 },\r
+  {  11, 10,  925 }, {  13, 10,   92 }, { 142, 10,  309 }, { 135,  0, 1454 },\r
+  { 134,  0, 1287 }, {  11,  0,  600 }, {  13,  0,  245 }, { 137, 10,  173 },\r
+  { 136,  0,  989 }, {   7,  0,  164 }, {   7,  0, 1571 }, {   9,  0,  107 },\r
+  { 140,  0,  225 }, {   6,  0, 1061 }, { 141, 10,  442 }, {   4,  0,   27 },\r
+  {   5,  0,  484 }, {   5,  0,  510 }, {   6,  0,  434 }, {   7,  0, 1000 },\r
+  {   7,  0, 1098 }, { 136,  0,    2 }, {   7, 11,   85 }, {   7, 11,  247 },\r
+  {   8, 11,  585 }, {  10, 11,  163 }, { 138, 11,  316 }, {  11, 11,  103 },\r
+  { 142, 11,    0 }, { 134,  0, 1127 }, {   4,  0,  460 }, { 134,  0,  852 },\r
+  { 134, 10,  210 }, {   4,  0,  932 }, { 133,  0,  891 }, {   6,  0,  588 },\r
+  { 147, 11,   83 }, {   8,  0,  625 }, {   4, 10,  284 }, { 134, 10,  223 },\r
+  { 134,  0,   76 }, {   8,  0,   92 }, { 137,  0,  221 }, {   4, 11,  124 },\r
+  {  10, 11,  457 }, {  11, 11,  121 }, {  11, 11,  169 }, {  11, 11,  422 },\r
+  {  11, 11,  870 }, {  12, 11,  214 }, {  13, 11,  389 }, {  14, 11,  187 },\r
+  { 143, 11,   77 }, {   9, 11,  618 }, { 138, 11,  482 }, {   4, 10,  218 },\r
+  {   7, 10,  526 }, { 143, 10,  137 }, {  13,  0,    9 }, {  14,  0,  104 },\r
+  {  14,  0,  311 }, {   4, 10,  270 }, {   5, 10,  192 }, {   6, 10,  332 },\r
+  { 135, 10, 1322 }, { 140, 10,  661 }, { 135, 11, 1193 }, {   6, 11,  107 },\r
+  {   7, 11,  638 }, {   7, 11, 1632 }, { 137, 11,  396 }, { 132,  0,  763 },\r
+  {   4,  0,  622 }, {   5, 11,  370 }, { 134, 11, 1756 }, { 133,  0,  253 },\r
+  { 135,  0,  546 }, {   9,  0,   73 }, {  10,  0,  110 }, {  14,  0,  185 },\r
+  {  17,  0,  119 }, { 133, 11,  204 }, {   7,  0,  624 }, {   7,  0,  916 },\r
+  {  10,  0,  256 }, { 139,  0,   87 }, {   7, 10,  379 }, {   8, 10,  481 },\r
+  { 137, 10,  377 }, {   5,  0,  212 }, {  12,  0,   35 }, {  13,  0,  382 },\r
+  {   5, 11,  970 }, { 134, 11, 1706 }, {   9,  0,  746 }, {   5, 10, 1003 },\r
+  { 134, 10,  149 }, {  10,  0,  150 }, {  11,  0,  849 }, {  13,  0,  330 },\r
+  {   8, 10,  262 }, {   9, 10,  627 }, {  11, 10,  214 }, {  11, 10,  404 },\r
+  {  11, 10,  457 }, {  11, 10,  780 }, {  11, 10,  913 }, {  13, 10,  401 },\r
+  { 142, 10,  200 }, { 134,  0, 1466 }, { 135, 11,    3 }, {   6,  0, 1299 },\r
+  {   4, 11,   35 }, {   5, 11,  121 }, {   5, 11,  483 }, {   5, 11,  685 },\r
+  {   6, 11,  489 }, {   7, 11, 1204 }, { 136, 11,  394 }, { 135, 10,  742 },\r
+  {   4, 10,  142 }, { 136, 10,  304 }, {   4, 11,  921 }, { 133, 11, 1007 },\r
+  { 134,  0, 1518 }, {   6,  0, 1229 }, { 135,  0, 1175 }, { 133,  0,  816 },\r
+  {  12,  0,  159 }, {   4, 10,  471 }, {   4, 11,  712 }, {   5, 10,   51 },\r
+  {   6, 10,  602 }, {   7, 10,  925 }, {   8, 10,  484 }, { 138, 10,  195 },\r
+  { 134, 11, 1629 }, {   5,  0,  869 }, {   5,  0,  968 }, {   6,  0, 1626 },\r
+  {   8,  0,  734 }, { 136,  0,  784 }, {   4,  0,  542 }, {   6,  0, 1716 },\r
+  {   6,  0, 1727 }, {   7,  0, 1082 }, {   7,  0, 1545 }, {   8,  0,   56 },\r
+  {   8,  0,  118 }, {   8,  0,  412 }, {   8,  0,  564 }, {   9,  0,  888 },\r
+  {   9,  0,  908 }, {  10,  0,   50 }, {  10,  0,  423 }, {  11,  0,  685 },\r
+  {  11,  0,  697 }, {  11,  0,  933 }, {  12,  0,  299 }, {  13,  0,  126 },\r
+  {  13,  0,  136 }, {  13,  0,  170 }, {  13,  0,  190 }, { 136, 10,  688 },\r
+  { 132, 10,  697 }, {   4,  0,  232 }, {   9,  0,  202 }, {  10,  0,  474 },\r
+  { 140,  0,  433 }, { 136,  0,  212 }, {   6,  0,  108 }, {   7,  0, 1003 },\r
+  {   7,  0, 1181 }, {   8,  0,  111 }, { 136,  0,  343 }, {   5, 10,  221 },\r
+  { 135, 11, 1255 }, { 133, 11,  485 }, { 134,  0, 1712 }, { 142,  0,  216 },\r
+  {   5,  0,  643 }, {   6,  0,  516 }, {   4, 11,  285 }, {   5, 11,  317 },\r
+  {   6, 11,  301 }, {   7, 11,    7 }, {   8, 11,  153 }, {  10, 11,  766 },\r
+  {  11, 11,  468 }, {  12, 11,  467 }, { 141, 11,  143 }, {   4,  0,  133 },\r
+  {   7,  0,  711 }, {   7,  0, 1298 }, { 135,  0, 1585 }, { 134,  0,  650 },\r
+  { 135, 11,  512 }, {   6,  0,   99 }, {   7,  0, 1808 }, { 145,  0,   57 },\r
+  {   6,  0,  246 }, {   6,  0,  574 }, {   7,  0,  428 }, {   9,  0,  793 },\r
+  {  10,  0,  669 }, {  11,  0,  485 }, {  11,  0,  840 }, {  12,  0,  300 },\r
+  {  14,  0,  250 }, { 145,  0,   55 }, {   4, 10,  132 }, {   5, 10,   69 },\r
+  { 135, 10, 1242 }, { 136,  0, 1023 }, {   7,  0,  302 }, { 132, 10,  111 },\r
+  { 135,  0, 1871 }, { 132,  0,  728 }, {   9,  0,  252 }, { 132, 10,  767 },\r
+  {   6,  0,  461 }, {   7,  0, 1590 }, {   7, 10, 1416 }, {   7, 10, 2005 },\r
+  {   8, 10,  131 }, {   8, 10,  466 }, {   9, 10,  672 }, {  13, 10,  252 },\r
+  { 148, 10,  103 }, {   6,  0,  323 }, { 135,  0, 1564 }, {   7,  0,  461 },\r
+  { 136,  0,  775 }, {   6, 10,   44 }, { 136, 10,  368 }, { 139,  0,  172 },\r
+  { 132,  0,  464 }, {   4, 10,  570 }, { 133, 10,  120 }, { 137, 11,  269 },\r
+  {   6, 10,  227 }, { 135, 10, 1589 }, {   6, 11, 1719 }, {   6, 11, 1735 },\r
+  {   7, 11, 2016 }, {   7, 11, 2020 }, {   8, 11,  837 }, { 137, 11,  852 },\r
+  {   7,  0,  727 }, { 146,  0,   73 }, { 132,  0, 1023 }, { 135, 11,  852 },\r
+  { 135, 10, 1529 }, { 136,  0,  577 }, { 138, 11,  568 }, { 134,  0, 1037 },\r
+  {   8, 11,   67 }, { 138, 11,  419 }, {   4,  0,  413 }, {   5,  0,  677 },\r
+  {   8,  0,  432 }, { 140,  0,  280 }, {  10,  0,  600 }, {   6, 10, 1667 },\r
+  {   7, 11,  967 }, {   7, 10, 2036 }, { 141, 11,   11 }, {   6, 10,  511 },\r
+  { 140, 10,  132 }, {   6,  0,  799 }, {   5, 10,  568 }, {   6, 10,  138 },\r
+  { 135, 10, 1293 }, {   8,  0,  159 }, {   4, 10,  565 }, { 136, 10,  827 },\r
+  {   7,  0,  646 }, {   7,  0, 1730 }, {  11,  0,  446 }, { 141,  0,  178 },\r
+  {   4, 10,  922 }, { 133, 10, 1023 }, { 135, 11,   11 }, { 132,  0,  395 },\r
+  {  11,  0,  145 }, { 135, 10, 1002 }, {   9,  0,  174 }, {  10,  0,  164 },\r
+  {  11,  0,  440 }, {  11,  0,  514 }, {  11,  0,  841 }, {  15,  0,   98 },\r
+  { 149,  0,   20 }, { 134,  0,  426 }, {  10,  0,  608 }, { 139,  0, 1002 },\r
+  {   7, 11,  320 }, {   8, 11,   51 }, {  12, 11,  481 }, {  12, 11,  570 },\r
+  { 148, 11,  106 }, {   9,  0,  977 }, {   9,  0,  983 }, { 132, 11,  445 },\r
+  { 138,  0,  250 }, { 139,  0,  100 }, {   6,  0, 1982 }, { 136, 10,  402 },\r
+  { 133, 11,  239 }, {   4, 10,  716 }, { 141, 10,   31 }, {   5,  0,  476 },\r
+  {   7, 11,   83 }, {   7, 11, 1990 }, {   8, 11,  130 }, { 139, 11,  720 },\r
+  {   8, 10,  691 }, { 136, 10,  731 }, {   5, 11,  123 }, {   6, 11,  530 },\r
+  {   7, 11,  348 }, { 135, 11, 1419 }, {   5,  0,   76 }, {   6,  0,  458 },\r
+  {   6,  0,  497 }, {   7,  0,  868 }, {   9,  0,  658 }, {  10,  0,  594 },\r
+  {  11,  0,  173 }, {  11,  0,  566 }, {  12,  0,   20 }, {  12,  0,  338 },\r
+  { 141,  0,  200 }, {   9, 11,  139 }, {  10, 11,  399 }, {  11, 11,  469 },\r
+  {  12, 11,  634 }, { 141, 11,  223 }, {   9, 10,  840 }, { 138, 10,  803 },\r
+  { 133, 10,  847 }, {  11, 11,  223 }, { 140, 11,  168 }, { 132, 11,  210 },\r
+  {   8,  0,  447 }, {   9, 10,   53 }, {   9, 10,  268 }, {   9, 10,  901 },\r
+  {  10, 10,  518 }, {  10, 10,  829 }, {  11, 10,  188 }, {  13, 10,   74 },\r
+  {  14, 10,   46 }, {  15, 10,   17 }, {  15, 10,   33 }, {  17, 10,   40 },\r
+  {  18, 10,   36 }, {  19, 10,   20 }, {  22, 10,    1 }, { 152, 10,    2 },\r
+  {   4,  0,  526 }, {   7,  0, 1029 }, { 135,  0, 1054 }, {  19, 11,   59 },\r
+  { 150, 11,    2 }, {   4,  0,  636 }, {   6,  0, 1875 }, {   6,  0, 1920 },\r
+  {   9,  0,  999 }, {  12,  0,  807 }, {  12,  0,  825 }, {  15,  0,  179 },\r
+  {  15,  0,  190 }, {  18,  0,  182 }, { 136, 10,  532 }, {   6,  0, 1699 },\r
+  {   7,  0,  660 }, {   7,  0, 1124 }, {  17,  0,   31 }, {  19,  0,   22 },\r
+  { 151,  0,   14 }, { 135, 10,  681 }, { 132, 11,  430 }, { 140, 10,  677 },\r
+  {   4, 10,  684 }, { 136, 10,  384 }, { 132, 11,  756 }, { 133, 11,  213 },\r
+  {   7,  0,  188 }, {   7, 10,  110 }, {   8, 10,  290 }, {   8, 10,  591 },\r
+  {   9, 10,  382 }, {   9, 10,  649 }, {  11, 10,   71 }, {  11, 10,  155 },\r
+  {  11, 10,  313 }, {  12, 10,    5 }, {  13, 10,  325 }, { 142, 10,  287 },\r
+  {   7, 10,  360 }, {   7, 10,  425 }, {   9, 10,   66 }, {   9, 10,  278 },\r
+  { 138, 10,  644 }, { 142, 11,  164 }, {   4,  0,  279 }, {   7,  0,  301 },\r
+  { 137,  0,  362 }, { 134, 11,  586 }, { 135,  0, 1743 }, {   4,  0,  178 },\r
+  { 133,  0,  399 }, {   4, 10,  900 }, { 133, 10,  861 }, {   5, 10,  254 },\r
+  {   7, 10,  985 }, { 136, 10,   73 }, { 133, 11,  108 }, {   7, 10, 1959 },\r
+  { 136, 10,  683 }, { 133, 11,  219 }, {   4, 11,  193 }, {   5, 11,  916 },\r
+  {   7, 11,  364 }, {  10, 11,  398 }, {  10, 11,  726 }, {  11, 11,  317 },\r
+  {  11, 11,  626 }, {  12, 11,  142 }, {  12, 11,  288 }, {  12, 11,  678 },\r
+  {  13, 11,  313 }, {  15, 11,  113 }, {  18, 11,  114 }, {  21, 11,   30 },\r
+  { 150, 11,   53 }, {   6, 11,  241 }, {   7, 11,  907 }, {   8, 11,  832 },\r
+  {   9, 11,  342 }, {  10, 11,  729 }, {  11, 11,  284 }, {  11, 11,  445 },\r
+  {  11, 11,  651 }, {  11, 11,  863 }, {  13, 11,  398 }, { 146, 11,   99 },\r
+  { 132,  0,  872 }, { 134,  0,  831 }, { 134,  0, 1692 }, {   6,  0,  202 },\r
+  {   6,  0, 1006 }, {   9,  0,  832 }, {  10,  0,  636 }, {  11,  0,  208 },\r
+  {  12,  0,  360 }, {  17,  0,  118 }, {  18,  0,   27 }, {  20,  0,   67 },\r
+  { 137, 11,  734 }, { 132, 10,  725 }, {   7, 11,  993 }, { 138, 11,  666 },\r
+  { 134,  0, 1954 }, { 134, 10,  196 }, {   7,  0,  872 }, {  10,  0,  516 },\r
+  { 139,  0,  167 }, { 133, 10,  831 }, {   4, 11,  562 }, {   9, 11,  254 },\r
+  { 139, 11,  879 }, { 137,  0,  313 }, {   4,  0,  224 }, { 132, 11,  786 },\r
+  {  11,  0,   24 }, {  12,  0,  170 }, { 136, 10,  723 }, {   5,  0,  546 },\r
+  {   7,  0,   35 }, {   8,  0,   11 }, {   8,  0,   12 }, {   9,  0,  315 },\r
+  {   9,  0,  533 }, {  10,  0,  802 }, {  11,  0,  166 }, {  12,  0,  525 },\r
+  { 142,  0,  243 }, {   7,  0, 1937 }, {  13, 10,   80 }, {  13, 10,  437 },\r
+  { 145, 10,   74 }, {   5,  0,  241 }, {   8,  0,  242 }, {   9,  0,  451 },\r
+  {  10,  0,  667 }, {  11,  0,  598 }, { 140,  0,  429 }, { 150,  0,   46 },\r
+  {   6,  0, 1273 }, { 137,  0,  830 }, {   5, 10,  848 }, {   6, 10,   66 },\r
+  { 136, 10,  764 }, {   6,  0,  825 }, { 134,  0,  993 }, {   4,  0, 1006 },\r
+  {  10,  0,  327 }, {  13,  0,  271 }, {   4, 10,   36 }, {   7, 10, 1387 },\r
+  { 139, 10,  755 }, { 134,  0, 1023 }, { 135,  0, 1580 }, {   4,  0,  366 },\r
+  { 137,  0,  516 }, { 132, 10,  887 }, {   6,  0, 1736 }, { 135,  0, 1891 },\r
+  {   6, 11,  216 }, {   7, 11,  901 }, {   7, 11, 1343 }, { 136, 11,  493 },\r
+  {   6, 10,  165 }, { 138, 10,  388 }, {   7, 11,  341 }, { 139, 11,  219 },\r
+  {   4, 10,  719 }, { 135, 10,  155 }, { 134,  0, 1935 }, { 132,  0,  826 },\r
+  {   6,  0,  331 }, {   6,  0, 1605 }, {   8,  0,  623 }, {  11,  0,  139 },\r
+  { 139,  0,  171 }, { 135, 11, 1734 }, {  10, 11,  115 }, {  11, 11,  420 },\r
+  {  12, 11,  154 }, {  13, 11,  404 }, {  14, 11,  346 }, {  15, 11,   54 },\r
+  { 143, 11,  112 }, {   7,  0,  288 }, {   4, 10,  353 }, {   6, 10,  146 },\r
+  {   6, 10, 1789 }, {   7, 10,  990 }, {   7, 10, 1348 }, {   9, 10,  665 },\r
+  {   9, 10,  898 }, {  11, 10,  893 }, { 142, 10,  212 }, {   6,  0,  916 },\r
+  { 134,  0, 1592 }, {   7,  0, 1888 }, {   4, 10,   45 }, { 135, 10, 1257 },\r
+  {   5, 11, 1011 }, { 136, 11,  701 }, { 139, 11,  596 }, {   4, 11,   54 },\r
+  {   5, 11,  666 }, {   7, 11, 1039 }, {   7, 11, 1130 }, {   9, 11,  195 },\r
+  { 138, 11,  302 }, { 134,  0, 1471 }, { 134,  0, 1570 }, { 132,  0,  394 },\r
+  { 140, 10,   65 }, { 136, 10,  816 }, { 135,  0, 1931 }, {   7,  0,  574 },\r
+  { 135,  0, 1719 }, { 134, 11,  467 }, { 132,  0,  658 }, {   9,  0,  781 },\r
+  {  10,  0,  144 }, {  11,  0,  385 }, {  13,  0,  161 }, {  13,  0,  228 },\r
+  {  13,  0,  268 }, {  20,  0,  107 }, { 134, 11, 1669 }, { 136,  0,  374 },\r
+  { 135,  0,  735 }, {   4,  0,  344 }, {   6,  0,  498 }, { 139,  0,  323 },\r
+  {   7,  0,  586 }, {   7,  0, 1063 }, {   6, 10,  559 }, { 134, 10, 1691 },\r
+  { 137,  0,  155 }, { 133,  0,  906 }, {   7, 11,  122 }, {   9, 11,  259 },\r
+  {  10, 11,   84 }, {  11, 11,  470 }, {  12, 11,  541 }, { 141, 11,  379 },\r
+  { 134,  0, 1139 }, {  10,  0,  108 }, { 139,  0,  116 }, { 134, 10,  456 },\r
+  { 133, 10,  925 }, {   5, 11,   82 }, {   5, 11,  131 }, {   7, 11, 1755 },\r
+  {   8, 11,   31 }, {   9, 11,  168 }, {   9, 11,  764 }, { 139, 11,  869 },\r
+  { 134, 11,  605 }, {   5, 11,  278 }, { 137, 11,   68 }, {   4, 11,  163 },\r
+  {   5, 11,  201 }, {   5, 11,  307 }, {   5, 11,  310 }, {   6, 11,  335 },\r
+  {   7, 11,  284 }, { 136, 11,  165 }, { 135, 11, 1660 }, {   6, 11,   33 },\r
+  { 135, 11, 1244 }, {   4,  0,  616 }, { 136, 11,  483 }, {   8,  0,  857 },\r
+  {   8,  0,  902 }, {   8,  0,  910 }, {  10,  0,  879 }, {  12,  0,  726 },\r
+  {   4, 11,  199 }, { 139, 11,   34 }, { 136,  0,  692 }, {   6, 10,  193 },\r
+  {   7, 10,  240 }, {   7, 10, 1682 }, {  10, 10,   51 }, {  10, 10,  640 },\r
+  {  11, 10,  410 }, {  13, 10,   82 }, {  14, 10,  247 }, {  14, 10,  331 },\r
+  { 142, 10,  377 }, {   6,  0,  823 }, { 134,  0,  983 }, { 139, 10,  411 },\r
+  { 132,  0,  305 }, { 136, 10,  633 }, { 138, 11,  203 }, { 134,  0,  681 },\r
+  {   6, 11,  326 }, {   7, 11,  677 }, { 137, 11,  425 }, {   5,  0,  214 },\r
+  {   7,  0,  603 }, {   8,  0,  611 }, {   9,  0,  686 }, {  10,  0,   88 },\r
+  {  11,  0,  459 }, {  11,  0,  496 }, {  12,  0,  463 }, {  12,  0,  590 },\r
+  { 141,  0,    0 }, { 136,  0, 1004 }, { 142,  0,   23 }, { 134,  0, 1703 },\r
+  { 147, 11,    8 }, { 145, 11,   56 }, { 135,  0, 1443 }, {   4, 10,  237 },\r
+  { 135, 10,  514 }, {   6,  0,  714 }, { 145,  0,   19 }, {   5, 11,  358 },\r
+  {   7, 11,  473 }, {   7, 11, 1184 }, {  10, 11,  662 }, {  13, 11,  212 },\r
+  {  13, 11,  304 }, {  13, 11,  333 }, { 145, 11,   98 }, {   4,  0,  737 },\r
+  {  10,  0,   98 }, {  11,  0,  294 }, {  12,  0,   60 }, {  12,  0,  437 },\r
+  {  13,  0,   64 }, {  13,  0,  380 }, { 142,  0,  430 }, {   6, 10,  392 },\r
+  {   7, 10,   65 }, { 135, 10, 2019 }, {   6,  0, 1758 }, {   8,  0,  520 },\r
+  {   9,  0,  345 }, {   9,  0,  403 }, { 142,  0,  350 }, {   5,  0,   47 },\r
+  {  10,  0,  242 }, { 138,  0,  579 }, {   5,  0,  139 }, {   7,  0, 1168 },\r
+  { 138,  0,  539 }, { 134,  0, 1459 }, {  13,  0,  388 }, { 141, 11,  388 },\r
+  { 134,  0,  253 }, {   7, 10, 1260 }, { 135, 10, 1790 }, {  10,  0,  252 },\r
+  {   9, 10,  222 }, { 139, 10,  900 }, { 140,  0,  745 }, { 133, 11,  946 },\r
+  {   4,  0,  107 }, {   7,  0,  613 }, {   8,  0,  439 }, {   8,  0,  504 },\r
+  {   9,  0,  501 }, {  10,  0,  383 }, { 139,  0,  477 }, { 135, 11, 1485 },\r
+  { 132,  0,  871 }, {   7, 11,  411 }, {   7, 11,  590 }, {   8, 11,  631 },\r
+  {   9, 11,  323 }, {  10, 11,  355 }, {  11, 11,  491 }, {  12, 11,  143 },\r
+  {  12, 11,  402 }, {  13, 11,   73 }, {  14, 11,  408 }, {  15, 11,  107 },\r
+  { 146, 11,   71 }, { 132,  0,  229 }, { 132,  0,  903 }, { 140,  0,   71 },\r
+  { 133,  0,  549 }, {   4,  0,   47 }, {   6,  0,  373 }, {   7,  0,  452 },\r
+  {   7,  0,  543 }, {   7,  0, 1828 }, {   7,  0, 1856 }, {   9,  0,    6 },\r
+  {  11,  0,  257 }, { 139,  0,  391 }, {   7, 11, 1467 }, {   8, 11,  328 },\r
+  {  10, 11,  544 }, {  11, 11,  955 }, {  13, 11,  320 }, { 145, 11,   83 },\r
+  {   5,  0,  980 }, { 134,  0, 1754 }, { 136,  0,  865 }, {   5,  0,  705 },\r
+  { 137,  0,  606 }, {   7,  0,  161 }, {   8, 10,  201 }, { 136, 10,  605 },\r
+  { 143, 11,   35 }, {   5, 11,  835 }, {   6, 11,  483 }, { 140, 10,  224 },\r
+  {   7,  0,  536 }, {   7,  0, 1331 }, { 136,  0,  143 }, { 134,  0, 1388 },\r
+  {   5,  0,  724 }, {  10,  0,  305 }, {  11,  0,  151 }, {  12,  0,   33 },\r
+  {  12,  0,  121 }, {  12,  0,  381 }, {  17,  0,    3 }, {  17,  0,   27 },\r
+  {  17,  0,   78 }, {  18,  0,   18 }, {  19,  0,   54 }, { 149,  0,    5 },\r
+  {   4, 10,  523 }, { 133, 10,  638 }, {   5,  0,   19 }, { 134,  0,  533 },\r
+  {   5,  0,  395 }, {   5,  0,  951 }, { 134,  0, 1776 }, { 135,  0, 1908 },\r
+  { 132,  0,  846 }, {  10,  0,   74 }, {  11,  0,  663 }, {  12,  0,  210 },\r
+  {  13,  0,  166 }, {  13,  0,  310 }, {  14,  0,  373 }, {  18,  0,   95 },\r
+  {  19,  0,   43 }, {   6, 10,  242 }, {   7, 10,  227 }, {   7, 10, 1581 },\r
+  {   8, 10,  104 }, {   9, 10,  113 }, {   9, 10,  220 }, {   9, 10,  427 },\r
+  {  10, 10,  239 }, {  11, 10,  579 }, {  11, 10, 1023 }, {  13, 10,    4 },\r
+  {  13, 10,  204 }, {  13, 10,  316 }, { 148, 10,   86 }, {   9, 11,  716 },\r
+  {  11, 11,  108 }, {  13, 11,  123 }, {  14, 11,  252 }, {  19, 11,   38 },\r
+  {  21, 11,    3 }, { 151, 11,   11 }, {   8,  0,  372 }, {   9,  0,  122 },\r
+  { 138,  0,  175 }, { 132, 11,  677 }, {   7, 11, 1374 }, { 136, 11,  540 },\r
+  { 135, 10,  861 }, { 132,  0,  695 }, {   7,  0,  497 }, {   9,  0,  387 },\r
+  { 147,  0,   81 }, { 136,  0,  937 }, { 134,  0,  718 }, {   7,  0, 1328 },\r
+  { 136, 10,  494 }, { 132, 11,  331 }, {   6,  0, 1581 }, { 133, 11,  747 },\r
+  {   5,  0,  284 }, {   6,  0,   49 }, {   6,  0,  350 }, {   7,  0,    1 },\r
+  {   7,  0,  377 }, {   7,  0, 1693 }, {   8,  0,   18 }, {   8,  0,  678 },\r
+  {   9,  0,  161 }, {   9,  0,  585 }, {   9,  0,  671 }, {   9,  0,  839 },\r
+  {  11,  0,  912 }, { 141,  0,  427 }, {   7, 10, 1306 }, {   8, 10,  505 },\r
+  {   9, 10,  482 }, {  10, 10,  126 }, {  11, 10,  225 }, {  12, 10,  347 },\r
+  {  12, 10,  449 }, {  13, 10,   19 }, {  14, 10,  218 }, { 142, 10,  435 },\r
+  {  10, 10,  764 }, {  12, 10,  120 }, {  13, 10,   39 }, { 145, 10,  127 },\r
+  {   4,  0,  597 }, { 133, 10,  268 }, { 134,  0, 1094 }, {   4,  0, 1008 },\r
+  { 134,  0, 1973 }, { 132,  0,  811 }, { 139,  0,  908 }, { 135,  0, 1471 },\r
+  { 133, 11,  326 }, {   4, 10,  384 }, { 135, 10, 1022 }, {   7,  0, 1935 },\r
+  {   8,  0,  324 }, {  12,  0,   42 }, {   4, 11,  691 }, {   7, 11, 1935 },\r
+  {   8, 11,  324 }, {   9, 11,   35 }, {  10, 11,  680 }, {  11, 11,  364 },\r
+  {  12, 11,   42 }, {  13, 11,  357 }, { 146, 11,   16 }, { 135,  0, 2014 },\r
+  {   7,  0, 2007 }, {   9,  0,  101 }, {   9,  0,  450 }, {  10,  0,   66 },\r
+  {  10,  0,  842 }, {  11,  0,  536 }, {  12,  0,  587 }, {   6, 11,   32 },\r
+  {   7, 11,  385 }, {   7, 11,  757 }, {   7, 11, 1916 }, {   8, 11,   37 },\r
+  {   8, 11,   94 }, {   8, 11,  711 }, {   9, 11,  541 }, {  10, 11,  162 },\r
+  {  10, 11,  795 }, {  11, 11,  989 }, {  11, 11, 1010 }, {  12, 11,   14 },\r
+  { 142, 11,  308 }, { 139,  0,  586 }, { 135, 10, 1703 }, {   7,  0, 1077 },\r
+  {  11,  0,   28 }, {   9, 10,  159 }, { 140, 10,  603 }, {   6,  0, 1221 },\r
+  { 136, 10,  583 }, {   6, 11,  152 }, {   6, 11,  349 }, {   6, 11, 1682 },\r
+  {   7, 11, 1252 }, {   8, 11,  112 }, {   9, 11,  435 }, {   9, 11,  668 },\r
+  {  10, 11,  290 }, {  10, 11,  319 }, {  10, 11,  815 }, {  11, 11,  180 },\r
+  {  11, 11,  837 }, {  12, 11,  240 }, {  13, 11,  152 }, {  13, 11,  219 },\r
+  { 142, 11,  158 }, { 139,  0,   62 }, { 132, 10,  515 }, {   8, 10,  632 },\r
+  {   8, 10,  697 }, { 137, 10,  854 }, { 134,  0, 1766 }, { 132, 11,  581 },\r
+  {   6, 11,  126 }, {   7, 11,  573 }, {   8, 11,  397 }, { 142, 11,   44 },\r
+  { 150,  0,   28 }, {  11,  0,  670 }, {  22,  0,   25 }, {   4, 10,  136 },\r
+  { 133, 10,  551 }, {   6,  0, 1665 }, {   7,  0,  256 }, {   7,  0, 1388 },\r
+  { 138,  0,  499 }, {   4,  0,   22 }, {   5,  0,   10 }, {   7,  0, 1576 },\r
+  { 136,  0,   97 }, { 134, 10, 1782 }, {   5,  0,  481 }, {   7, 10, 1287 },\r
+  {   9, 10,   44 }, {  10, 10,  552 }, {  10, 10,  642 }, {  11, 10,  839 },\r
+  {  12, 10,  274 }, {  12, 10,  275 }, {  12, 10,  372 }, {  13, 10,   91 },\r
+  { 142, 10,  125 }, { 133, 11,  926 }, {   7, 11, 1232 }, { 137, 11,  531 },\r
+  {   6,  0,  134 }, {   7,  0,  437 }, {   7,  0, 1824 }, {   9,  0,   37 },\r
+  {  14,  0,  285 }, { 142,  0,  371 }, {   7,  0,  486 }, {   8,  0,  155 },\r
+  {  11,  0,   93 }, { 140,  0,  164 }, {   6,  0, 1391 }, { 134,  0, 1442 },\r
+  { 133, 11,  670 }, { 133,  0,  591 }, {   6, 10,  147 }, {   7, 10,  886 },\r
+  {   7, 11, 1957 }, {   9, 10,  753 }, { 138, 10,  268 }, {   5,  0,  380 },\r
+  {   5,  0,  650 }, {   7,  0, 1173 }, { 136,  0,  310 }, {   4,  0,  364 },\r
+  {   7,  0, 1156 }, {   7,  0, 1187 }, { 137,  0,  409 }, { 135, 11, 1621 },\r
+  { 134,  0,  482 }, { 133, 11,  506 }, {   4,  0,  781 }, {   6,  0,  487 },\r
+  {   7,  0,  926 }, {   8,  0,  263 }, { 139,  0,  500 }, { 138, 10,  137 },\r
+  { 135, 11,  242 }, { 139, 11,   96 }, { 133, 10,  414 }, { 135, 10, 1762 },\r
+  { 134,  0,  804 }, {   5, 11,  834 }, {   7, 11, 1202 }, {   8, 11,   14 },\r
+  {   9, 11,  481 }, { 137, 11,  880 }, { 134, 10,  599 }, {   4,  0,   94 },\r
+  { 135,  0, 1265 }, {   4,  0,  415 }, { 132,  0,  417 }, {   5,  0,  348 },\r
+  {   6,  0,  522 }, {   6, 10, 1749 }, {   7, 11, 1526 }, { 138, 11,  465 },\r
+  { 134, 10, 1627 }, { 132,  0, 1012 }, { 132, 10,  488 }, {   4, 11,  357 },\r
+  {   6, 11,  172 }, {   7, 11,  143 }, { 137, 11,  413 }, {   4, 10,   83 },\r
+  {   4, 11,  590 }, { 146, 11,   76 }, { 140, 10,  676 }, {   7, 11,  287 },\r
+  {   8, 11,  355 }, {   9, 11,  293 }, { 137, 11,  743 }, { 134, 10,  278 },\r
+  {   6,  0, 1803 }, {  18,  0,  165 }, {  24,  0,   21 }, {   5, 11,  169 },\r
+  {   7, 11,  333 }, { 136, 11,   45 }, {  12, 10,   97 }, { 140, 11,   97 },\r
+  {   4,  0,  408 }, {   4,  0,  741 }, { 135,  0,  500 }, { 132, 11,  198 },\r
+  {   7, 10,  388 }, {   7, 10,  644 }, { 139, 10,  781 }, {   4, 11,   24 },\r
+  {   5, 11,  140 }, {   5, 11,  185 }, {   7, 11, 1500 }, {  11, 11,  565 },\r
+  { 139, 11,  838 }, {   6,  0, 1321 }, {   9,  0,  257 }, {   7, 10,  229 },\r
+  {   8, 10,   59 }, {   9, 10,  190 }, {  10, 10,  378 }, { 140, 10,  191 },\r
+  {   4, 11,  334 }, { 133, 11,  593 }, { 135, 11, 1885 }, { 134,  0, 1138 },\r
+  {   4,  0,  249 }, {   6,  0,   73 }, { 135,  0,  177 }, { 133,  0,  576 },\r
+  { 142,  0,  231 }, { 137,  0,  288 }, { 132, 10,  660 }, {   7, 10, 1035 },\r
+  { 138, 10,  737 }, { 135,  0, 1487 }, {   6,  0,  989 }, {   9,  0,  433 },\r
+  {   7, 10,  690 }, {   9, 10,  587 }, { 140, 10,  521 }, {   7,  0, 1264 },\r
+  {   7,  0, 1678 }, {  11,  0,  945 }, {  12,  0,  341 }, {  12,  0,  471 },\r
+  { 140,  0,  569 }, { 132, 11,  709 }, { 133, 11,  897 }, {   5, 11,  224 },\r
+  {  13, 11,  174 }, { 146, 11,   52 }, { 135, 11, 1840 }, { 134, 10, 1744 },\r
+  {  12,  0,   87 }, {  16,  0,   74 }, {   4, 10,  733 }, {   9, 10,  194 },\r
+  {  10, 10,   92 }, {  11, 10,  198 }, {  12, 10,   84 }, { 141, 10,  128 },\r
+  { 140,  0,  779 }, { 135,  0,  538 }, {   4, 11,  608 }, { 133, 11,  497 },\r
+  { 133,  0,  413 }, {   7, 11, 1375 }, {   7, 11, 1466 }, { 138, 11,  331 },\r
+  { 136,  0,  495 }, {   6, 11,  540 }, { 136, 11,  136 }, {   7,  0,   54 },\r
+  {   8,  0,  312 }, {  10,  0,  191 }, {  10,  0,  614 }, { 140,  0,  567 },\r
+  {   6,  0,  468 }, {   7,  0,  567 }, {   7,  0, 1478 }, {   8,  0,  530 },\r
+  {  14,  0,  290 }, { 133, 11,  999 }, {   4, 11,  299 }, {   7, 10,  306 },\r
+  { 135, 11, 1004 }, { 142, 11,  296 }, { 134,  0, 1484 }, { 133, 10,  979 },\r
+  {   6,  0,  609 }, {   9,  0,  815 }, {  12, 11,  137 }, {  14, 11,    9 },\r
+  {  14, 11,   24 }, { 142, 11,   64 }, { 133, 11,  456 }, {   6,  0,  484 },\r
+  { 135,  0,  822 }, { 133, 10,  178 }, { 136, 11,  180 }, { 132, 11,  755 },\r
+  { 137,  0,  900 }, { 135,  0, 1335 }, {   6,  0, 1724 }, { 135,  0, 2022 },\r
+  { 135, 11, 1139 }, {   5,  0,  640 }, { 132, 10,  390 }, {   6,  0, 1831 },\r
+  { 138, 11,  633 }, { 135, 11,  566 }, {   4, 11,  890 }, {   5, 11,  805 },\r
+  {   5, 11,  819 }, {   5, 11,  961 }, {   6, 11,  396 }, {   6, 11, 1631 },\r
+  {   6, 11, 1678 }, {   7, 11, 1967 }, {   7, 11, 2041 }, {   9, 11,  630 },\r
+  {  11, 11,    8 }, {  11, 11, 1019 }, {  12, 11,  176 }, {  13, 11,  225 },\r
+  {  14, 11,  292 }, { 149, 11,   24 }, { 132,  0,  474 }, { 134,  0, 1103 },\r
+  { 135,  0, 1504 }, { 134,  0, 1576 }, {   6,  0,  961 }, {   6,  0, 1034 },\r
+  { 140,  0,  655 }, {  11, 11,  514 }, { 149, 11,   20 }, {   5,  0,  305 },\r
+  { 135, 11, 1815 }, {   7, 11, 1505 }, {  10, 11,  190 }, {  10, 11,  634 },\r
+  {  11, 11,  792 }, {  12, 11,  358 }, { 140, 11,  447 }, {   5, 11,    0 },\r
+  {   6, 11,  536 }, {   7, 11,  604 }, {  13, 11,  445 }, { 145, 11,  126 },\r
+  {   7,  0, 1236 }, { 133, 10,  105 }, {   4,  0,  480 }, {   6,  0,  217 },\r
+  {   6,  0,  302 }, {   6,  0, 1642 }, {   7,  0,  130 }, {   7,  0,  837 },\r
+  {   7,  0, 1321 }, {   7,  0, 1547 }, {   7,  0, 1657 }, {   8,  0,  429 },\r
+  {   9,  0,  228 }, {  13,  0,  289 }, {  13,  0,  343 }, {  19,  0,  101 },\r
+  {   6, 11,  232 }, {   6, 11,  412 }, {   7, 11, 1074 }, {   8, 11,    9 },\r
+  {   8, 11,  157 }, {   8, 11,  786 }, {   9, 11,  196 }, {   9, 11,  352 },\r
+  {   9, 11,  457 }, {  10, 11,  337 }, {  11, 11,  232 }, {  11, 11,  877 },\r
+  {  12, 11,  480 }, { 140, 11,  546 }, {   5, 10,  438 }, {   7, 11,  958 },\r
+  {   9, 10,  694 }, {  12, 10,  627 }, {  13, 11,   38 }, { 141, 10,  210 },\r
+  {   4, 11,  382 }, { 136, 11,  579 }, {   7,  0,  278 }, {  10,  0,  739 },\r
+  {  11,  0,  708 }, { 141,  0,  348 }, {   4, 11,  212 }, { 135, 11, 1206 },\r
+  { 135, 11, 1898 }, {   6,  0,  708 }, {   6,  0, 1344 }, { 152, 10,   11 },\r
+  { 137, 11,  768 }, { 134,  0, 1840 }, { 140,  0,  233 }, {   8, 10,   25 },\r
+  { 138, 10,  826 }, {   6,  0, 2017 }, { 133, 11,  655 }, {   6,  0, 1488 },\r
+  { 139, 11,  290 }, { 132, 10,  308 }, { 134,  0, 1590 }, { 134,  0, 1800 },\r
+  { 134,  0, 1259 }, {  16,  0,   28 }, {   6, 11,  231 }, {   7, 11,   95 },\r
+  { 136, 11,  423 }, { 133, 11,  300 }, { 135, 10,  150 }, { 136, 10,  649 },\r
+  {   7, 11, 1874 }, { 137, 11,  641 }, {   6, 11,  237 }, {   7, 11,  611 },\r
+  {   8, 11,  100 }, {   9, 11,  416 }, {  11, 11,  335 }, {  12, 11,  173 },\r
+  { 146, 11,  101 }, { 137,  0,   45 }, { 134, 10,  521 }, {  17,  0,   36 },\r
+  {  14, 11,   26 }, { 146, 11,  150 }, {   7,  0, 1442 }, {  14,  0,   22 },\r
+  {   5, 10,  339 }, {  15, 10,   41 }, {  15, 10,  166 }, { 147, 10,   66 },\r
+  {   8,  0,  378 }, {   6, 11,  581 }, { 135, 11, 1119 }, { 134,  0, 1507 },\r
+  { 147, 11,  117 }, { 139,  0,   39 }, { 134,  0, 1054 }, {   6,  0,  363 },\r
+  {   7,  0, 1955 }, { 136,  0,  725 }, { 134,  0, 2036 }, { 133, 11,  199 },\r
+  {   6,  0, 1871 }, {   9,  0,  935 }, {   9,  0,  961 }, {   9,  0, 1004 },\r
+  {   9,  0, 1016 }, {  12,  0,  805 }, {  12,  0,  852 }, {  12,  0,  853 },\r
+  {  12,  0,  869 }, {  12,  0,  882 }, {  12,  0,  896 }, {  12,  0,  906 },\r
+  {  12,  0,  917 }, {  12,  0,  940 }, {  15,  0,  170 }, {  15,  0,  176 },\r
+  {  15,  0,  188 }, {  15,  0,  201 }, {  15,  0,  205 }, {  15,  0,  212 },\r
+  {  15,  0,  234 }, {  15,  0,  244 }, {  18,  0,  181 }, {  18,  0,  193 },\r
+  {  18,  0,  196 }, {  18,  0,  201 }, {  18,  0,  202 }, {  18,  0,  210 },\r
+  {  18,  0,  217 }, {  18,  0,  235 }, {  18,  0,  236 }, {  18,  0,  237 },\r
+  {  21,  0,   54 }, {  21,  0,   55 }, {  21,  0,   58 }, {  21,  0,   59 },\r
+  { 152,  0,   22 }, { 134, 10, 1628 }, { 137,  0,  805 }, {   5,  0,  813 },\r
+  { 135,  0, 2046 }, { 142, 11,   42 }, {   5,  0,  712 }, {   6,  0, 1240 },\r
+  {  11,  0,   17 }, {  13,  0,  321 }, { 144,  0,   67 }, { 132,  0,  617 },\r
+  { 135, 10,  829 }, {   6,  0,  320 }, {   7,  0,  781 }, {   7,  0, 1921 },\r
+  {   9,  0,   55 }, {  10,  0,  186 }, {  10,  0,  273 }, {  10,  0,  664 },\r
+  {  10,  0,  801 }, {  11,  0,  996 }, {  11,  0,  997 }, {  13,  0,  157 },\r
+  { 142,  0,  170 }, { 136,  0,  271 }, {   5, 10,  486 }, { 135, 10, 1349 },\r
+  {  18, 11,   91 }, { 147, 11,   70 }, {  10,  0,  445 }, {   7, 10, 1635 },\r
+  {   8, 10,   17 }, { 138, 10,  295 }, { 136, 11,  404 }, {   7,  0,  103 },\r
+  {   7,  0,  863 }, {  11,  0,  184 }, { 145,  0,   62 }, { 138, 10,  558 },\r
+  { 137,  0,  659 }, {   6, 11,  312 }, {   6, 11, 1715 }, {  10, 11,  584 },\r
+  {  11, 11,  546 }, {  11, 11,  692 }, {  12, 11,  259 }, {  12, 11,  295 },\r
+  {  13, 11,   46 }, { 141, 11,  154 }, { 134,  0,  676 }, { 132, 11,  588 },\r
+  {   4, 11,  231 }, {   5, 11,   61 }, {   6, 11,  104 }, {   7, 11,  729 },\r
+  {   7, 11,  964 }, {   7, 11, 1658 }, { 140, 11,  414 }, {   6, 11,  263 },\r
+  { 138, 11,  757 }, {  11,  0,  337 }, { 142,  0,  303 }, { 135, 11, 1363 },\r
+  { 132, 11,  320 }, { 140,  0,  506 }, { 134, 10,  447 }, {   5,  0,   77 },\r
+  {   7,  0, 1455 }, {  10,  0,  843 }, { 147,  0,   73 }, {   7, 10,  577 },\r
+  {   7, 10, 1432 }, {   9, 10,  475 }, {   9, 10,  505 }, {   9, 10,  526 },\r
+  {   9, 10,  609 }, {   9, 10,  689 }, {   9, 10,  726 }, {   9, 10,  735 },\r
+  {   9, 10,  738 }, {  10, 10,  556 }, {  10, 10,  674 }, {  10, 10,  684 },\r
+  {  11, 10,   89 }, {  11, 10,  202 }, {  11, 10,  272 }, {  11, 10,  380 },\r
+  {  11, 10,  415 }, {  11, 10,  505 }, {  11, 10,  537 }, {  11, 10,  550 },\r
+  {  11, 10,  562 }, {  11, 10,  640 }, {  11, 10,  667 }, {  11, 10,  688 },\r
+  {  11, 10,  847 }, {  11, 10,  927 }, {  11, 10,  930 }, {  11, 10,  940 },\r
+  {  12, 10,  144 }, {  12, 10,  325 }, {  12, 10,  329 }, {  12, 10,  389 },\r
+  {  12, 10,  403 }, {  12, 10,  451 }, {  12, 10,  515 }, {  12, 10,  604 },\r
+  {  12, 10,  616 }, {  12, 10,  626 }, {  13, 10,   66 }, {  13, 10,  131 },\r
+  {  13, 10,  167 }, {  13, 10,  236 }, {  13, 10,  368 }, {  13, 10,  411 },\r
+  {  13, 10,  434 }, {  13, 10,  453 }, {  13, 10,  461 }, {  13, 10,  474 },\r
+  {  14, 10,   59 }, {  14, 10,   60 }, {  14, 10,  139 }, {  14, 10,  152 },\r
+  {  14, 10,  276 }, {  14, 10,  353 }, {  14, 10,  402 }, {  15, 10,   28 },\r
+  {  15, 10,   81 }, {  15, 10,  123 }, {  15, 10,  152 }, {  18, 10,  136 },\r
+  { 148, 10,   88 }, { 132,  0,  458 }, { 135,  0, 1420 }, {   6,  0,  109 },\r
+  {  10,  0,  382 }, {   4, 11,  405 }, {   4, 10,  609 }, {   7, 10,  756 },\r
+  {   7, 11,  817 }, {   9, 10,  544 }, {  11, 10,  413 }, {  14, 11,   58 },\r
+  {  14, 10,  307 }, {  16, 10,   25 }, {  17, 11,   37 }, { 146, 11,  124 },\r
+  {   6,  0,  330 }, {   7,  0, 1084 }, {  11,  0,  142 }, { 133, 11,  974 },\r
+  {   4, 10,  930 }, { 133, 10,  947 }, {   5, 10,  939 }, { 142, 11,  394 },\r
+  {  16,  0,   91 }, { 145,  0,   87 }, {   5, 11,  235 }, {   5, 10,  962 },\r
+  {   7, 11, 1239 }, {  11, 11,  131 }, { 140, 11,  370 }, {  11,  0,  492 },\r
+  {   5, 10,  651 }, {   8, 10,  170 }, {   9, 10,   61 }, {   9, 10,   63 },\r
+  {  10, 10,   23 }, {  10, 10,   37 }, {  10, 10,  834 }, {  11, 10,    4 },\r
+  {  11, 10,  281 }, {  11, 10,  503 }, {  11, 10,  677 }, {  12, 10,   96 },\r
+  {  12, 10,  130 }, {  12, 10,  244 }, {  14, 10,    5 }, {  14, 10,   40 },\r
+  {  14, 10,  162 }, {  14, 10,  202 }, { 146, 10,  133 }, {   4, 10,  406 },\r
+  {   5, 10,  579 }, {  12, 10,  492 }, { 150, 10,   15 }, {   9, 11,  137 },\r
+  { 138, 11,  221 }, { 134,  0, 1239 }, {  11,  0,  211 }, { 140,  0,  145 },\r
+  {   7, 11,  390 }, { 138, 11,  140 }, { 135, 11, 1418 }, { 135, 11, 1144 },\r
+  { 134,  0, 1049 }, {   7,  0,  321 }, {   6, 10,   17 }, {   7, 10, 1001 },\r
+  {   7, 10, 1982 }, {   9, 10,  886 }, {  10, 10,  489 }, {  10, 10,  800 },\r
+  {  11, 10,  782 }, {  12, 10,  320 }, {  13, 10,  467 }, {  14, 10,  145 },\r
+  {  14, 10,  387 }, { 143, 10,  119 }, { 145, 10,   17 }, {   5, 11,  407 },\r
+  {  11, 11,  489 }, {  19, 11,   37 }, {  20, 11,   73 }, { 150, 11,   38 },\r
+  { 133, 10,  458 }, { 135,  0, 1985 }, {   7, 10, 1983 }, {   8, 10,    0 },\r
+  {   8, 10,  171 }, {   9, 10,  120 }, {   9, 10,  732 }, {  10, 10,  473 },\r
+  {  11, 10,  656 }, {  11, 10,  998 }, {  18, 10,    0 }, {  18, 10,    2 },\r
+  { 147, 10,   21 }, {   5, 11,  325 }, {   7, 11, 1483 }, {   8, 11,    5 },\r
+  {   8, 11,  227 }, {   9, 11,  105 }, {  10, 11,  585 }, { 140, 11,  614 },\r
+  { 136,  0,  122 }, { 132,  0,  234 }, { 135, 11, 1196 }, {   6,  0,  976 },\r
+  {   6,  0, 1098 }, { 134,  0, 1441 }, {   7,  0,  253 }, { 136,  0,  549 },\r
+  {   6, 11,  621 }, {  13, 11,  504 }, { 144, 11,   19 }, { 132, 10,  519 },\r
+  {   5,  0,  430 }, {   5,  0,  932 }, {   6,  0,  131 }, {   7,  0,  417 },\r
+  {   9,  0,  522 }, {  11,  0,  314 }, { 141,  0,  390 }, {  14,  0,  149 },\r
+  {  14,  0,  399 }, { 143,  0,   57 }, {   5, 10,  907 }, {   6, 10,   31 },\r
+  {   6, 11,  218 }, {   7, 10,  491 }, {   7, 10,  530 }, {   8, 10,  592 },\r
+  {  11, 10,   53 }, {  11, 10,  779 }, {  12, 10,  167 }, {  12, 10,  411 },\r
+  {  14, 10,   14 }, {  14, 10,  136 }, {  15, 10,   72 }, {  16, 10,   17 },\r
+  { 144, 10,   72 }, { 140, 11,  330 }, {   7, 11,  454 }, {   7, 11,  782 },\r
+  { 136, 11,  768 }, { 132,  0,  507 }, {  10, 11,  676 }, { 140, 11,  462 },\r
+  {   6,  0,  630 }, {   9,  0,  811 }, {   4, 10,  208 }, {   5, 10,  106 },\r
+  {   6, 10,  531 }, {   8, 10,  408 }, {   9, 10,  188 }, { 138, 10,  572 },\r
+  {   4,  0,  343 }, {   5,  0,  511 }, { 134, 10, 1693 }, { 134, 11,  164 },\r
+  { 132,  0,  448 }, {   7,  0,  455 }, { 138,  0,  591 }, { 135,  0, 1381 },\r
+  {  12, 10,  441 }, { 150, 11,   50 }, {   9, 10,  449 }, {  10, 10,  192 },\r
+  { 138, 10,  740 }, {   6,  0,  575 }, { 132, 10,  241 }, { 134,  0, 1175 },\r
+  { 134,  0,  653 }, { 134,  0, 1761 }, { 134,  0, 1198 }, { 132, 10,  259 },\r
+  {   6, 11,  343 }, {   7, 11,  195 }, {   9, 11,  226 }, {  10, 11,  197 },\r
+  {  10, 11,  575 }, {  11, 11,  502 }, { 139, 11,  899 }, {   7,  0, 1127 },\r
+  {   7,  0, 1572 }, {  10,  0,  297 }, {  10,  0,  422 }, {  11,  0,  764 },\r
+  {  11,  0,  810 }, {  12,  0,  264 }, {  13,  0,  102 }, {  13,  0,  300 },\r
+  {  13,  0,  484 }, {  14,  0,  147 }, {  14,  0,  229 }, {  17,  0,   71 },\r
+  {  18,  0,  118 }, { 147,  0,  120 }, { 135, 11,  666 }, { 132,  0,  678 },\r
+  {   4, 10,  173 }, {   5, 10,  312 }, {   5, 10,  512 }, { 135, 10, 1285 },\r
+  {   7, 10, 1603 }, {   7, 10, 1691 }, {   9, 10,  464 }, {  11, 10,  195 },\r
+  {  12, 10,  279 }, {  12, 10,  448 }, {  14, 10,   11 }, { 147, 10,  102 },\r
+  {  16,  0,   99 }, { 146,  0,  164 }, {   7, 11, 1125 }, {   9, 11,  143 },\r
+  {  11, 11,   61 }, {  14, 11,  405 }, { 150, 11,   21 }, { 137, 11,  260 },\r
+  {   4, 10,  452 }, {   5, 10,  583 }, {   5, 10,  817 }, {   6, 10,  433 },\r
+  {   7, 10,  593 }, {   7, 10,  720 }, {   7, 10, 1378 }, {   8, 10,  161 },\r
+  {   9, 10,  284 }, {  10, 10,  313 }, { 139, 10,  886 }, { 132, 10,  547 },\r
+  { 136, 10,  722 }, {  14,  0,   35 }, { 142,  0,  191 }, { 141,  0,   45 },\r
+  { 138,  0,  121 }, { 132,  0,  125 }, { 134,  0, 1622 }, { 133, 11,  959 },\r
+  {   8, 10,  420 }, { 139, 10,  193 }, { 132,  0,  721 }, { 135, 10,  409 },\r
+  { 136,  0,  145 }, {   7,  0,  792 }, {   8,  0,  147 }, {  10,  0,  821 },\r
+  {  11,  0,  970 }, {  11,  0, 1021 }, { 136, 11,  173 }, { 134, 11,  266 },\r
+  { 132,  0,  715 }, {   7,  0, 1999 }, { 138, 10,  308 }, { 133,  0,  531 },\r
+  {   5,  0,  168 }, {   5,  0,  930 }, {   8,  0,   74 }, {   9,  0,  623 },\r
+  {  12,  0,  500 }, { 140,  0,  579 }, { 144,  0,   65 }, { 138, 11,  246 },\r
+  {   6,  0,  220 }, {   7,  0, 1101 }, {  13,  0,  105 }, { 142, 11,  314 },\r
+  {   5, 10, 1002 }, { 136, 10,  745 }, { 134,  0,  960 }, {  20,  0,    0 },\r
+  { 148, 11,    0 }, {   4,  0, 1005 }, {   4, 10,  239 }, {   6, 10,  477 },\r
+  {   7, 10, 1607 }, {  11, 10,   68 }, { 139, 10,  617 }, {   6,  0,   19 },\r
+  {   7,  0, 1413 }, { 139,  0,  428 }, { 149, 10,   13 }, {   7,  0,   96 },\r
+  {   8,  0,  401 }, {   8,  0,  703 }, {   9,  0,  896 }, { 136, 11,  300 },\r
+  { 134,  0, 1595 }, { 145,  0,  116 }, { 136,  0, 1021 }, {   7,  0, 1961 },\r
+  {   7,  0, 1965 }, {   7,  0, 2030 }, {   8,  0,  150 }, {   8,  0,  702 },\r
+  {   8,  0,  737 }, {   8,  0,  750 }, { 140,  0,  366 }, {  11, 11,   75 },\r
+  { 142, 11,  267 }, { 132, 10,  367 }, {   8,  0,  800 }, {   9,  0,  148 },\r
+  {   9,  0,  872 }, {   9,  0,  890 }, {  11,  0,  309 }, {  11,  0, 1001 },\r
+  {  13,  0,  267 }, {  13,  0,  323 }, {   5, 11,  427 }, {   5, 11,  734 },\r
+  {   7, 11,  478 }, { 136, 11,   52 }, {   7, 11,  239 }, {  11, 11,  217 },\r
+  { 142, 11,  165 }, { 132, 11,  323 }, { 140, 11,  419 }, {  13,  0,  299 },\r
+  { 142,  0,   75 }, {   6, 11,   87 }, {   6, 11, 1734 }, {   7, 11,   20 },\r
+  {   7, 11, 1056 }, {   8, 11,  732 }, {   9, 11,  406 }, {   9, 11,  911 },\r
+  { 138, 11,  694 }, { 134,  0, 1383 }, { 132, 10,  694 }, { 133, 11,  613 },\r
+  { 137,  0,  779 }, {   4,  0,  598 }, { 140, 10,  687 }, {   6,  0,  970 },\r
+  { 135,  0,  424 }, { 133,  0,  547 }, {   7, 11,   32 }, {   7, 11,  984 },\r
+  {   8, 11,   85 }, {   8, 11,  709 }, {   9, 11,  579 }, {   9, 11,  847 },\r
+  {   9, 11,  856 }, {  10, 11,  799 }, {  11, 11,  258 }, {  11, 11, 1007 },\r
+  {  12, 11,  331 }, {  12, 11,  615 }, {  13, 11,  188 }, {  13, 11,  435 },\r
+  {  14, 11,    8 }, {  15, 11,  165 }, {  16, 11,   27 }, { 148, 11,   40 },\r
+  {   6,  0, 1222 }, { 134,  0, 1385 }, { 132,  0,  876 }, { 138, 11,  151 },\r
+  { 135, 10,  213 }, {   4, 11,  167 }, { 135, 11,   82 }, { 133,  0,  133 },\r
+  {   6, 11,   24 }, {   7, 11,   74 }, {   7, 11,  678 }, { 137, 11,  258 },\r
+  {   5, 11,   62 }, {   6, 11,  534 }, {   7, 11,  684 }, {   7, 11, 1043 },\r
+  {   7, 11, 1072 }, {   8, 11,  280 }, {   8, 11,  541 }, {   8, 11,  686 },\r
+  {  10, 11,  519 }, {  11, 11,  252 }, { 140, 11,  282 }, { 136,  0,  187 },\r
+  {   8,  0,    8 }, {  10,  0,    0 }, {  10,  0,  818 }, { 139,  0,  988 },\r
+  { 132, 11,  359 }, {  11,  0,  429 }, {  15,  0,   51 }, { 135, 10, 1672 },\r
+  { 136,  0,  685 }, {   5, 11,  211 }, {   7, 11,   88 }, { 136, 11,  627 },\r
+  { 134,  0,  472 }, { 136,  0,  132 }, {   6, 11,  145 }, { 141, 11,  336 },\r
+  {   4, 10,  751 }, {  11, 10,  390 }, { 140, 10,   32 }, {   6,  0,  938 },\r
+  {   6,  0, 1060 }, {   4, 11,  263 }, {   4, 10,  409 }, { 133, 10,   78 },\r
+  { 137,  0,  874 }, {   8,  0,  774 }, {  10,  0,  670 }, {  12,  0,   51 },\r
+  {   4, 11,  916 }, {   6, 10,  473 }, {   7, 10, 1602 }, {  10, 10,  698 },\r
+  {  12, 10,  212 }, {  13, 10,  307 }, { 145, 10,  105 }, { 146,  0,   92 },\r
+  { 143, 10,  156 }, { 132,  0,  830 }, { 137,  0,  701 }, {   4, 11,  599 },\r
+  {   6, 11, 1634 }, {   7, 11,    5 }, {   7, 11,   55 }, {   7, 11,   67 },\r
+  {   7, 11,   97 }, {   7, 11,  691 }, {   7, 11,  979 }, {   7, 11, 1697 },\r
+  {   8, 11,  207 }, {   8, 11,  214 }, {   8, 11,  231 }, {   8, 11,  294 },\r
+  {   8, 11,  336 }, {   8, 11,  428 }, {   8, 11,  451 }, {   8, 11,  460 },\r
+  {   8, 11,  471 }, {   8, 11,  622 }, {   8, 11,  626 }, {   8, 11,  679 },\r
+  {   8, 11,  759 }, {   8, 11,  829 }, {   9, 11,   11 }, {   9, 11,  246 },\r
+  {   9, 11,  484 }, {   9, 11,  573 }, {   9, 11,  706 }, {   9, 11,  762 },\r
+  {   9, 11,  798 }, {   9, 11,  855 }, {   9, 11,  870 }, {   9, 11,  912 },\r
+  {  10, 11,  303 }, {  10, 11,  335 }, {  10, 11,  424 }, {  10, 11,  461 },\r
+  {  10, 11,  543 }, {  10, 11,  759 }, {  10, 11,  814 }, {  11, 11,   59 },\r
+  {  11, 11,  199 }, {  11, 11,  235 }, {  11, 11,  475 }, {  11, 11,  590 },\r
+  {  11, 11,  929 }, {  11, 11,  963 }, {  12, 11,  114 }, {  12, 11,  182 },\r
+  {  12, 11,  226 }, {  12, 11,  332 }, {  12, 11,  439 }, {  12, 11,  575 },\r
+  {  12, 11,  598 }, {  13, 11,    8 }, {  13, 11,  125 }, {  13, 11,  194 },\r
+  {  13, 11,  287 }, {  14, 11,  197 }, {  14, 11,  383 }, {  15, 11,   53 },\r
+  {  17, 11,   63 }, {  19, 11,   46 }, {  19, 11,   98 }, {  19, 11,  106 },\r
+  { 148, 11,   85 }, {   4,  0,  127 }, {   5,  0,  350 }, {   6,  0,  356 },\r
+  {   8,  0,  426 }, {   9,  0,  572 }, {  10,  0,  247 }, { 139,  0,  312 },\r
+  { 134,  0, 1215 }, {   6,  0,   59 }, {   9,  0,  603 }, {  13,  0,  397 },\r
+  {   7, 11, 1853 }, { 138, 11,  437 }, { 134,  0, 1762 }, { 147, 11,  126 },\r
+  { 135, 10,  883 }, {  13,  0,  293 }, { 142,  0,   56 }, { 133, 10,  617 },\r
+  { 139, 10,   50 }, {   5, 11,  187 }, {   7, 10, 1518 }, { 139, 10,  694 },\r
+  { 135,  0,  441 }, {   6,  0,  111 }, {   7,  0,    4 }, {   8,  0,  163 },\r
+  {   8,  0,  776 }, { 138,  0,  566 }, { 132,  0,  806 }, {   4, 11,  215 },\r
+  {   9, 11,   38 }, {  10, 11,    3 }, {  11, 11,   23 }, {  11, 11,  127 },\r
+  { 139, 11,  796 }, {  14,  0,  233 }, {   4, 10,  546 }, { 135, 10, 2042 },\r
+  { 135,  0, 1994 }, { 134,  0, 1739 }, { 135, 11, 1530 }, { 136,  0,  393 },\r
+  {   5,  0,  297 }, {   7,  0, 1038 }, {  14,  0,  359 }, {  19,  0,   52 },\r
+  { 148,  0,   47 }, { 135,  0,  309 }, {   4, 10,  313 }, { 133, 10,  577 },\r
+  {   8, 10,  184 }, { 141, 10,  433 }, { 135, 10,  935 }, {  12, 10,  186 },\r
+  {  12, 10,  292 }, {  14, 10,  100 }, { 146, 10,   70 }, { 136,  0,  363 },\r
+  {  14,  0,  175 }, {  11, 10,  402 }, {  12, 10,  109 }, {  12, 10,  431 },\r
+  {  13, 10,  179 }, {  13, 10,  206 }, {  14, 10,  217 }, {  16, 10,    3 },\r
+  { 148, 10,   53 }, {   5, 10,  886 }, {   6, 10,   46 }, {   6, 10, 1790 },\r
+  {   7, 10,   14 }, {   7, 10,  732 }, {   7, 10, 1654 }, {   8, 10,   95 },\r
+  {   8, 10,  327 }, {   8, 10,  616 }, {   9, 10,  892 }, {  10, 10,  598 },\r
+  {  10, 10,  769 }, {  11, 10,  134 }, {  11, 10,  747 }, {  12, 10,  378 },\r
+  { 142, 10,   97 }, { 136,  0,  666 }, { 135,  0, 1675 }, {   6,  0,  655 },\r
+  { 134,  0, 1600 }, { 135,  0,  808 }, { 133, 10, 1021 }, {   4, 11,   28 },\r
+  {   5, 11,  440 }, {   7, 11,  248 }, {  11, 11,  833 }, { 140, 11,  344 },\r
+  { 134, 11, 1654 }, { 132,  0,  280 }, { 140,  0,   54 }, {   4,  0,  421 },\r
+  { 133,  0,  548 }, { 132, 10,  153 }, {   6, 11,  339 }, { 135, 11,  923 },\r
+  { 133, 11,  853 }, { 133, 10,  798 }, { 132, 10,  587 }, {   6, 11,  249 },\r
+  {   7, 11, 1234 }, { 139, 11,  573 }, {   6, 10,  598 }, {   7, 10,   42 },\r
+  {   8, 10,  695 }, {  10, 10,  212 }, {  11, 10,  158 }, {  14, 10,  196 },\r
+  { 145, 10,   85 }, {   7,  0,  249 }, {   5, 10,  957 }, { 133, 10, 1008 },\r
+  {   4, 10,  129 }, { 135, 10,  465 }, {   6,  0,  254 }, {   7,  0,  842 },\r
+  {   7,  0, 1659 }, {   9,  0,  109 }, {  10,  0,  103 }, {   7, 10,  908 },\r
+  {   7, 10, 1201 }, {   9, 10,  755 }, {  11, 10,  906 }, {  12, 10,  527 },\r
+  { 146, 10,    7 }, {   5,  0,  262 }, { 136, 10,  450 }, { 144,  0,    1 },\r
+  {  10, 11,  201 }, { 142, 11,  319 }, {   7, 11,   49 }, {   7, 11,  392 },\r
+  {   8, 11,   20 }, {   8, 11,  172 }, {   8, 11,  690 }, {   9, 11,  383 },\r
+  {   9, 11,  845 }, {  10, 11,   48 }, {  11, 11,  293 }, {  11, 11,  832 },\r
+  {  11, 11,  920 }, { 141, 11,  221 }, {   5, 11,  858 }, { 133, 11,  992 },\r
+  { 134,  0,  805 }, { 139, 10, 1003 }, {   6,  0, 1630 }, { 134, 11,  307 },\r
+  {   7, 11, 1512 }, { 135, 11, 1794 }, {   6, 11,  268 }, { 137, 11,   62 },\r
+  { 135, 10, 1868 }, { 133,  0,  671 }, {   4,  0,  989 }, {   8,  0,  972 },\r
+  { 136,  0,  998 }, { 132, 11,  423 }, { 132,  0,  889 }, { 135,  0, 1382 },\r
+  { 135,  0, 1910 }, {   7, 10,  965 }, {   7, 10, 1460 }, { 135, 10, 1604 },\r
+  {   4,  0,  627 }, {   5,  0,  775 }, { 138, 11,  106 }, { 134, 11,  348 },\r
+  {   7,  0,  202 }, {  11,  0,  362 }, {  11,  0,  948 }, { 140,  0,  388 },\r
+  { 138, 11,  771 }, {   6, 11,  613 }, { 136, 11,  223 }, {   6,  0,  560 },\r
+  {   7,  0,  451 }, {   8,  0,  389 }, {  12,  0,  490 }, {  13,  0,   16 },\r
+  {  13,  0,  215 }, {  13,  0,  351 }, {  18,  0,  132 }, { 147,  0,  125 },\r
+  { 135,  0,  841 }, { 136,  0,  566 }, { 136,  0,  938 }, { 132, 11,  670 },\r
+  {   5,  0,  912 }, {   6,  0, 1695 }, { 140, 11,   55 }, {   9, 11,   40 },\r
+  { 139, 11,  136 }, {   7,  0, 1361 }, {   7, 10,  982 }, {  10, 10,   32 },\r
+  { 143, 10,   56 }, {  11, 11,  259 }, { 140, 11,  270 }, {   5,  0,  236 },\r
+  {   6,  0,  572 }, {   8,  0,  492 }, {  11,  0,  618 }, { 144,  0,   56 },\r
+  {   8, 11,  572 }, {   9, 11,  310 }, {   9, 11,  682 }, { 137, 11,  698 },\r
+  { 134,  0, 1854 }, {   5,  0,  190 }, { 136,  0,  318 }, { 133, 10,  435 },\r
+  { 135,  0, 1376 }, {   4, 11,  296 }, {   6, 11,  352 }, {   7, 11,  401 },\r
+  {   7, 11, 1410 }, {   7, 11, 1594 }, {   7, 11, 1674 }, {   8, 11,   63 },\r
+  {   8, 11,  660 }, { 137, 11,   74 }, {   7,  0,  349 }, {   5, 10,   85 },\r
+  {   6, 10,  419 }, {   7, 10,  305 }, {   7, 10,  361 }, {   7, 10, 1337 },\r
+  {   8, 10,   71 }, { 140, 10,  519 }, {   4, 11,  139 }, {   4, 11,  388 },\r
+  { 140, 11,  188 }, {   6,  0, 1972 }, {   6,  0, 2013 }, {   8,  0,  951 },\r
+  {  10,  0,  947 }, {  10,  0,  974 }, {  10,  0, 1018 }, { 142,  0,  476 },\r
+  { 140, 10,  688 }, { 135, 10,  740 }, {   5, 10,  691 }, {   7, 10,  345 },\r
+  {   9, 10,   94 }, { 140, 10,  169 }, {   9,  0,  344 }, {   5, 10,  183 },\r
+  {   6, 10,  582 }, {  10, 10,  679 }, { 140, 10,  435 }, { 135, 10,  511 },\r
+  { 132,  0,  850 }, {   8, 11,  441 }, {  10, 11,  314 }, { 143, 11,    3 },\r
+  {   7, 10, 1993 }, { 136, 10,  684 }, {   4, 11,  747 }, {   6, 11,  290 },\r
+  {   6, 10,  583 }, {   7, 11,  649 }, {   7, 11, 1479 }, { 135, 11, 1583 },\r
+  { 133, 11,  232 }, { 133, 10,  704 }, { 134,  0,  910 }, {   4, 10,  179 },\r
+  {   5, 10,  198 }, { 133, 10,  697 }, {   7, 10,  347 }, {   7, 10,  971 },\r
+  {   8, 10,  181 }, { 138, 10,  711 }, { 136, 11,  525 }, {  14,  0,   19 },\r
+  {  14,  0,   28 }, { 144,  0,   29 }, {   7,  0,   85 }, {   7,  0,  247 },\r
+  {   8,  0,  585 }, { 138,  0,  163 }, {   4,  0,  487 }, {   7, 11,  472 },\r
+  {   7, 11, 1801 }, {  10, 11,  748 }, { 141, 11,  458 }, {   4, 10,  243 },\r
+  {   5, 10,  203 }, {   7, 10,   19 }, {   7, 10,   71 }, {   7, 10,  113 },\r
+  {  10, 10,  405 }, {  11, 10,  357 }, { 142, 10,  240 }, {   7, 10, 1450 },\r
+  { 139, 10,   99 }, { 132, 11,  425 }, { 138,  0,  145 }, { 147,  0,   83 },\r
+  {   6, 10,  492 }, { 137, 11,  247 }, {   4,  0, 1013 }, { 134,  0, 2033 },\r
+  {   5, 10,  134 }, {   6, 10,  408 }, {   6, 10,  495 }, { 135, 10, 1593 },\r
+  { 135,  0, 1922 }, { 134, 11, 1768 }, {   4,  0,  124 }, {  10,  0,  457 },\r
+  {  11,  0,  121 }, {  11,  0,  169 }, {  11,  0,  870 }, {  11,  0,  874 },\r
+  {  12,  0,  214 }, {  14,  0,  187 }, { 143,  0,   77 }, {   5,  0,  557 },\r
+  { 135,  0, 1457 }, { 139,  0,   66 }, {   5, 11,  943 }, {   6, 11, 1779 },\r
+  { 142, 10,    4 }, {   4, 10,  248 }, {   4, 10,  665 }, {   7, 10,  137 },\r
+  { 137, 10,  349 }, {   7,  0, 1193 }, {   5, 11,  245 }, {   6, 11,  576 },\r
+  {   7, 11,  582 }, { 136, 11,  225 }, { 144,  0,   82 }, {   7, 10, 1270 },\r
+  { 139, 10,  612 }, {   5,  0,  454 }, {  10,  0,  352 }, { 138, 11,  352 },\r
+  {  18,  0,   57 }, {   5, 10,  371 }, { 135, 10,  563 }, { 135,  0, 1333 },\r
+  {   6,  0,  107 }, {   7,  0,  638 }, {   7,  0, 1632 }, {   9,  0,  396 },\r
+  { 134, 11,  610 }, {   5,  0,  370 }, { 134,  0, 1756 }, {   4, 10,  374 },\r
+  {   7, 10,  547 }, {   7, 10, 1700 }, {   7, 10, 1833 }, { 139, 10,  858 },\r
+  { 133,  0,  204 }, {   6,  0, 1305 }, {   9, 10,  311 }, { 141, 10,   42 },\r
+  {   5,  0,  970 }, { 134,  0, 1706 }, {   6, 10, 1647 }, {   7, 10, 1552 },\r
+  {   7, 10, 2010 }, {   9, 10,  494 }, { 137, 10,  509 }, {  13, 11,  455 },\r
+  {  15, 11,   99 }, {  15, 11,  129 }, { 144, 11,   68 }, { 135,  0,    3 },\r
+  {   4,  0,   35 }, {   5,  0,  121 }, {   5,  0,  483 }, {   5,  0,  685 },\r
+  {   6,  0,  489 }, {   6,  0,  782 }, {   6,  0, 1032 }, {   7,  0, 1204 },\r
+  { 136,  0,  394 }, {   4,  0,  921 }, { 133,  0, 1007 }, {   8, 11,  360 },\r
+  { 138, 11,   63 }, { 135,  0, 1696 }, { 134,  0, 1519 }, { 132, 11,  443 },\r
+  { 135, 11,  944 }, {   6, 10,  123 }, {   7, 10,  214 }, {   9, 10,  728 },\r
+  {  10, 10,  157 }, {  11, 10,  346 }, {  11, 10,  662 }, { 143, 10,  106 },\r
+  { 137,  0,  981 }, { 135, 10, 1435 }, { 134,  0, 1072 }, { 132,  0,  712 },\r
+  { 134,  0, 1629 }, { 134,  0,  728 }, {   4, 11,  298 }, { 137, 11,  483 },\r
+  {   6,  0, 1177 }, {   6,  0, 1271 }, {   5, 11,  164 }, {   7, 11,  121 },\r
+  { 142, 11,  189 }, {   7,  0, 1608 }, {   4, 10,  707 }, {   5, 10,  588 },\r
+  {   6, 10,  393 }, {  13, 10,  106 }, {  18, 10,   49 }, { 147, 10,   41 },\r
+  {  23,  0,   16 }, { 151, 11,   16 }, {   6, 10,  211 }, {   7, 10, 1690 },\r
+  {  11, 10,  486 }, { 140, 10,  369 }, { 133,  0,  485 }, {  19, 11,   15 },\r
+  { 149, 11,   27 }, {   4, 11,  172 }, {   9, 11,  611 }, {  10, 11,  436 },\r
+  {  12, 11,  673 }, { 141, 11,  255 }, {   5, 11,  844 }, {  10, 11,  484 },\r
+  {  11, 11,  754 }, {  12, 11,  457 }, {  14, 11,  171 }, {  14, 11,  389 },\r
+  { 146, 11,  153 }, {   4,  0,  285 }, {   5,  0,   27 }, {   5,  0,  317 },\r
+  {   6,  0,  301 }, {   7,  0,    7 }, {   8,  0,  153 }, {  10,  0,  766 },\r
+  {  11,  0,  468 }, {  12,  0,  467 }, { 141,  0,  143 }, { 134,  0, 1462 },\r
+  {   9, 11,  263 }, {  10, 11,  147 }, { 138, 11,  492 }, { 133, 11,  537 },\r
+  {   6,  0, 1945 }, {   6,  0, 1986 }, {   6,  0, 1991 }, { 134,  0, 2038 },\r
+  { 134, 10,  219 }, { 137, 11,  842 }, {  14,  0,   52 }, {  17,  0,   50 },\r
+  {   5, 10,  582 }, {   6, 10, 1646 }, {   7, 10,   99 }, {   7, 10, 1962 },\r
+  {   7, 10, 1986 }, {   8, 10,  515 }, {   8, 10,  773 }, {   9, 10,   23 },\r
+  {   9, 10,  491 }, {  12, 10,  620 }, { 142, 10,   93 }, { 138, 11,   97 },\r
+  {  20,  0,   21 }, {  20,  0,   44 }, { 133, 10,  851 }, { 136,  0,  819 },\r
+  { 139,  0,  917 }, {   5, 11,  230 }, {   5, 11,  392 }, {   6, 11,  420 },\r
+  {   8, 10,  762 }, {   8, 10,  812 }, {   9, 11,  568 }, {   9, 10,  910 },\r
+  { 140, 11,  612 }, { 135,  0,  784 }, {  15,  0,  135 }, { 143, 11,  135 },\r
+  {  10,  0,  454 }, { 140,  0,  324 }, {   4, 11,    0 }, {   5, 11,   41 },\r
+  {   7, 11, 1459 }, {   7, 11, 1469 }, {   7, 11, 1618 }, {   7, 11, 1859 },\r
+  {   9, 11,  549 }, { 139, 11,  905 }, {   4, 10,   98 }, {   7, 10, 1365 },\r
+  {   9, 10,  422 }, {   9, 10,  670 }, {  10, 10,  775 }, {  11, 10,  210 },\r
+  {  13, 10,   26 }, {  13, 10,  457 }, { 141, 10,  476 }, {   6,  0, 1719 },\r
+  {   6,  0, 1735 }, {   7,  0, 2016 }, {   7,  0, 2020 }, {   8,  0,  837 },\r
+  { 137,  0,  852 }, { 133, 11,  696 }, { 135,  0,  852 }, { 132,  0,  952 },\r
+  { 134, 10, 1730 }, { 132, 11,  771 }, { 138,  0,  568 }, { 137,  0,  448 },\r
+  { 139,  0,  146 }, {   8,  0,   67 }, { 138,  0,  419 }, { 133, 11,  921 },\r
+  { 137, 10,  147 }, { 134,  0, 1826 }, {  10,  0,  657 }, {  14,  0,  297 },\r
+  { 142,  0,  361 }, {   6,  0,  666 }, {   6,  0,  767 }, { 134,  0, 1542 },\r
+  { 139,  0,  729 }, {   6, 11,  180 }, {   7, 11, 1137 }, {   8, 11,  751 },\r
+  { 139, 11,  805 }, {   4, 11,  183 }, {   7, 11,  271 }, {  11, 11,  824 },\r
+  {  11, 11,  952 }, {  13, 11,  278 }, {  13, 11,  339 }, {  13, 11,  482 },\r
+  {  14, 11,  424 }, { 148, 11,   99 }, {   4,  0,  669 }, {   5, 11,  477 },\r
+  {   5, 11,  596 }, {   6, 11,  505 }, {   7, 11, 1221 }, {  11, 11,  907 },\r
+  {  12, 11,  209 }, { 141, 11,  214 }, { 135, 11, 1215 }, {   5,  0,  402 },\r
+  {   6, 10,   30 }, {  11, 10,   56 }, { 139, 10,  305 }, {   7, 11,  564 },\r
+  { 142, 11,  168 }, { 139,  0,  152 }, {   7,  0,  912 }, { 135, 10, 1614 },\r
+  {   4, 10,  150 }, {   5, 10,  303 }, { 134, 10,  327 }, {   7,  0,  320 },\r
+  {   8,  0,   51 }, {   9,  0,  868 }, {  10,  0,  833 }, {  12,  0,  481 },\r
+  {  12,  0,  570 }, { 148,  0,  106 }, { 132,  0,  445 }, {   7, 11,  274 },\r
+  {  11, 11,  263 }, {  11, 11,  479 }, {  11, 11,  507 }, { 140, 11,  277 },\r
+  {  10,  0,  555 }, {  11,  0,  308 }, {  19,  0,   95 }, {   6, 11, 1645 },\r
+  {   8, 10,  192 }, {  10, 10,   78 }, { 141, 10,  359 }, { 135, 10,  786 },\r
+  {   6, 11,   92 }, {   6, 11,  188 }, {   7, 11, 1269 }, {   7, 11, 1524 },\r
+  {   7, 11, 1876 }, {  10, 11,  228 }, { 139, 11, 1020 }, {   4, 11,  459 },\r
+  { 133, 11,  966 }, {  11,  0,  386 }, {   6, 10, 1638 }, {   7, 10,   79 },\r
+  {   7, 10,  496 }, {   9, 10,  138 }, {  10, 10,  336 }, {  12, 10,  412 },\r
+  {  12, 10,  440 }, { 142, 10,  305 }, { 133,  0,  239 }, {   7,  0,   83 },\r
+  {   7,  0, 1990 }, {   8,  0,  130 }, { 139,  0,  720 }, { 138, 11,  709 },\r
+  {   4,  0,  143 }, {   5,  0,  550 }, { 133,  0,  752 }, {   5,  0,  123 },\r
+  {   6,  0,  530 }, {   7,  0,  348 }, { 135,  0, 1419 }, { 135,  0, 2024 },\r
+  {   6, 11,   18 }, {   7, 11,  179 }, {   7, 11,  721 }, {   7, 11,  932 },\r
+  {   8, 11,  548 }, {   8, 11,  757 }, {   9, 11,   54 }, {   9, 11,   65 },\r
+  {   9, 11,  532 }, {   9, 11,  844 }, {  10, 11,  113 }, {  10, 11,  117 },\r
+  {  10, 11,  236 }, {  10, 11,  315 }, {  10, 11,  430 }, {  10, 11,  798 },\r
+  {  11, 11,  153 }, {  11, 11,  351 }, {  11, 11,  375 }, {  12, 11,   78 },\r
+  {  12, 11,  151 }, {  12, 11,  392 }, {  14, 11,  248 }, { 143, 11,   23 },\r
+  {   7, 10,  204 }, {   7, 10,  415 }, {   8, 10,   42 }, {  10, 10,   85 },\r
+  { 139, 10,  564 }, { 134,  0,  958 }, { 133, 11,  965 }, { 132,  0,  210 },\r
+  { 135, 11, 1429 }, { 138, 11,  480 }, { 134, 11,  182 }, { 139, 11,  345 },\r
+  {  10, 11,   65 }, {  10, 11,  488 }, { 138, 11,  497 }, {   4, 10,    3 },\r
+  {   5, 10,  247 }, {   5, 10,  644 }, {   7, 10,  744 }, {   7, 10, 1207 },\r
+  {   7, 10, 1225 }, {   7, 10, 1909 }, { 146, 10,  147 }, { 132,  0,  430 },\r
+  {   5, 10,  285 }, {   9, 10,   67 }, {  13, 10,  473 }, { 143, 10,   82 },\r
+  { 144, 11,   16 }, {   7, 11, 1162 }, {   9, 11,  588 }, {  10, 11,  260 },\r
+  { 151, 10,    8 }, { 133,  0,  213 }, { 138,  0,    7 }, { 135,  0,  801 },\r
+  { 134, 11, 1786 }, { 135, 11,  308 }, {   6,  0,  936 }, { 134,  0, 1289 },\r
+  { 133,  0,  108 }, { 132,  0,  885 }, { 133,  0,  219 }, { 139,  0,  587 },\r
+  {   4,  0,  193 }, {   5,  0,  916 }, {   6,  0, 1041 }, {   7,  0,  364 },\r
+  {  10,  0,  398 }, {  10,  0,  726 }, {  11,  0,  317 }, {  11,  0,  626 },\r
+  {  12,  0,  142 }, {  12,  0,  288 }, {  12,  0,  678 }, {  13,  0,  313 },\r
+  {  15,  0,  113 }, { 146,  0,  114 }, { 135,  0, 1165 }, {   6,  0,  241 },\r
+  {   9,  0,  342 }, {  10,  0,  729 }, {  11,  0,  284 }, {  11,  0,  445 },\r
+  {  11,  0,  651 }, {  11,  0,  863 }, {  13,  0,  398 }, { 146,  0,   99 },\r
+  {   7,  0,  907 }, { 136,  0,  832 }, {   9,  0,  303 }, {   4, 10,   29 },\r
+  {   6, 10,  532 }, {   7, 10, 1628 }, {   7, 10, 1648 }, {   9, 10,  350 },\r
+  {  10, 10,  433 }, {  11, 10,   97 }, {  11, 10,  557 }, {  11, 10,  745 },\r
+  {  12, 10,  289 }, {  12, 10,  335 }, {  12, 10,  348 }, {  12, 10,  606 },\r
+  {  13, 10,  116 }, {  13, 10,  233 }, {  13, 10,  466 }, {  14, 10,  181 },\r
+  {  14, 10,  209 }, {  14, 10,  232 }, {  14, 10,  236 }, {  14, 10,  300 },\r
+  {  16, 10,   41 }, { 148, 10,   97 }, {   7, 11,  423 }, {   7, 10, 1692 },\r
+  { 136, 11,  588 }, {   6,  0,  931 }, { 134,  0, 1454 }, {   5, 10,  501 },\r
+  {   7, 10, 1704 }, {   9, 10,  553 }, {  11, 10,  520 }, {  12, 10,  557 },\r
+  { 141, 10,  249 }, { 136, 11,  287 }, {   4,  0,  562 }, {   9,  0,  254 },\r
+  { 139,  0,  879 }, { 132,  0,  786 }, {  14, 11,   32 }, {  18, 11,   85 },\r
+  {  20, 11,    2 }, { 152, 11,   16 }, { 135,  0, 1294 }, {   7, 11,  723 },\r
+  { 135, 11, 1135 }, {   6,  0,  216 }, {   7,  0,  901 }, {   7,  0, 1343 },\r
+  {   8,  0,  493 }, { 134, 11,  403 }, {   7, 11,  719 }, {   8, 11,  809 },\r
+  { 136, 11,  834 }, {   5, 11,  210 }, {   6, 11,  213 }, {   7, 11,   60 },\r
+  {  10, 11,  364 }, { 139, 11,  135 }, {   7,  0,  341 }, {  11,  0,  219 },\r
+  {   5, 11,  607 }, {   8, 11,  326 }, { 136, 11,  490 }, {   4, 11,  701 },\r
+  {   5, 11,  472 }, {   5, 11,  639 }, {   7, 11, 1249 }, {   9, 11,  758 },\r
+  { 139, 11,  896 }, { 135, 11,  380 }, { 135, 11, 1947 }, { 139,  0,  130 },\r
+  { 135,  0, 1734 }, {  10,  0,  115 }, {  11,  0,  420 }, {  12,  0,  154 },\r
+  {  13,  0,  404 }, {  14,  0,  346 }, { 143,  0,   54 }, { 134, 10,  129 },\r
+  {   4, 11,  386 }, {   7, 11,   41 }, {   8, 11,  405 }, {   9, 11,  497 },\r
+  {  11, 11,  110 }, {  11, 11,  360 }, {  15, 11,   37 }, { 144, 11,   84 },\r
+  { 141, 11,  282 }, {   5, 11,   46 }, {   7, 11, 1452 }, {   7, 11, 1480 },\r
+  {   8, 11,  634 }, { 140, 11,  472 }, {   4, 11,  524 }, { 136, 11,  810 },\r
+  {  10, 11,  238 }, { 141, 11,   33 }, { 133,  0,  604 }, {   5,  0, 1011 },\r
+  { 136,  0,  701 }, {   8,  0,  856 }, {   8,  0,  858 }, {   8,  0,  879 },\r
+  {  12,  0,  702 }, { 142,  0,  447 }, {   4,  0,   54 }, {   5,  0,  666 },\r
+  {   7,  0, 1039 }, {   7,  0, 1130 }, {   9,  0,  195 }, { 138,  0,  302 },\r
+  {   4, 10,   25 }, {   5, 10,   60 }, {   6, 10,  504 }, {   7, 10,  614 },\r
+  {   7, 10, 1155 }, { 140, 10,    0 }, {   7, 10, 1248 }, {  11, 10,  621 },\r
+  { 139, 10,  702 }, { 133, 11,  997 }, { 137, 10,  321 }, { 134,  0, 1669 },\r
+  { 134,  0, 1791 }, {   4, 10,  379 }, { 135, 10, 1397 }, { 138, 11,  372 },\r
+  {   5, 11,  782 }, {   5, 11,  829 }, { 134, 11, 1738 }, { 135,  0, 1228 },\r
+  {   4, 10,  118 }, {   6, 10,  274 }, {   6, 10,  361 }, {   7, 10,   75 },\r
+  { 141, 10,  441 }, { 132,  0,  623 }, {   9, 11,  279 }, {  10, 11,  407 },\r
+  {  14, 11,   84 }, { 150, 11,   18 }, { 137, 10,  841 }, { 135,  0,  798 },\r
+  { 140, 10,  693 }, {   5, 10,  314 }, {   6, 10,  221 }, {   7, 10,  419 },\r
+  {  10, 10,  650 }, {  11, 10,  396 }, {  12, 10,  156 }, {  13, 10,  369 },\r
+  {  14, 10,  333 }, { 145, 10,   47 }, { 135, 11, 1372 }, {   7,  0,  122 },\r
+  {   9,  0,  259 }, {  10,  0,   84 }, {  11,  0,  470 }, {  12,  0,  541 },\r
+  { 141,  0,  379 }, { 134,  0,  837 }, {   8,  0, 1013 }, {   4, 11,   78 },\r
+  {   5, 11,   96 }, {   5, 11,  182 }, {   7, 11, 1724 }, {   7, 11, 1825 },\r
+  {  10, 11,  394 }, {  10, 11,  471 }, {  11, 11,  532 }, {  14, 11,  340 },\r
+  { 145, 11,   88 }, { 134,  0,  577 }, { 135, 11, 1964 }, { 132, 10,  913 },\r
+  { 134,  0,  460 }, {   8,  0,  891 }, {  10,  0,  901 }, {  10,  0,  919 },\r
+  {  10,  0,  932 }, {  12,  0,  715 }, {  12,  0,  728 }, {  12,  0,  777 },\r
+  {  14,  0,  457 }, { 144,  0,  103 }, {   5,  0,   82 }, {   5,  0,  131 },\r
+  {   7,  0, 1755 }, {   8,  0,   31 }, {   9,  0,  168 }, {   9,  0,  764 },\r
+  { 139,  0,  869 }, { 136, 10,  475 }, {   6,  0,  605 }, {   5, 10, 1016 },\r
+  {   9, 11,  601 }, {   9, 11,  619 }, {  10, 11,  505 }, {  10, 11,  732 },\r
+  {  11, 11,  355 }, { 140, 11,  139 }, {   7, 10,  602 }, {   8, 10,  179 },\r
+  {  10, 10,  781 }, { 140, 10,  126 }, { 134,  0, 1246 }, {   6, 10,  329 },\r
+  { 138, 10,  111 }, {   6, 11,  215 }, {   7, 11, 1028 }, {   7, 11, 1473 },\r
+  {   7, 11, 1721 }, {   9, 11,  424 }, { 138, 11,  779 }, {   5,  0,  278 },\r
+  { 137,  0,   68 }, {   6,  0,  932 }, {   6,  0, 1084 }, { 144,  0,   86 },\r
+  {   4,  0,  163 }, {   5,  0,  201 }, {   5,  0,  307 }, {   5,  0,  310 },\r
+  {   6,  0,  335 }, {   7,  0,  284 }, {   7,  0, 1660 }, { 136,  0,  165 },\r
+  { 136,  0,  781 }, { 134,  0,  707 }, {   6,  0,   33 }, { 135,  0, 1244 },\r
+  {   5, 10,  821 }, {   6, 11,   67 }, {   6, 10, 1687 }, {   7, 11,  258 },\r
+  {   7, 11, 1630 }, {   9, 11,  354 }, {   9, 11,  675 }, {  10, 11,  830 },\r
+  {  14, 11,   80 }, { 145, 11,   80 }, {   6, 11,  141 }, {   7, 11,  225 },\r
+  {   9, 11,   59 }, {   9, 11,  607 }, {  10, 11,  312 }, {  11, 11,  687 },\r
+  {  12, 11,  555 }, {  13, 11,  373 }, {  13, 11,  494 }, { 148, 11,   58 },\r
+  { 134,  0, 1113 }, {   9,  0,  388 }, {   5, 10,   71 }, {   7, 10, 1407 },\r
+  {   9, 10,  704 }, {  10, 10,  261 }, {  10, 10,  619 }, {  11, 10,  547 },\r
+  {  11, 10,  619 }, { 143, 10,  157 }, {   7,  0, 1953 }, { 136,  0,  720 },\r
+  { 138,  0,  203 }, {   7, 10, 2008 }, {   9, 10,  337 }, { 138, 10,  517 },\r
+  {   6,  0,  326 }, {   7,  0,  677 }, { 137,  0,  425 }, { 139, 11,   81 },\r
+  {   7,  0, 1316 }, {   7,  0, 1412 }, {   7,  0, 1839 }, {   9,  0,  589 },\r
+  {  11,  0,  241 }, {  11,  0,  676 }, {  11,  0,  811 }, {  11,  0,  891 },\r
+  {  12,  0,  140 }, {  12,  0,  346 }, {  12,  0,  479 }, {  13,  0,  140 },\r
+  {  13,  0,  381 }, {  14,  0,  188 }, {  18,  0,   30 }, { 148,  0,  108 },\r
+  {   5,  0,  416 }, {   6, 10,   86 }, {   6, 10,  603 }, {   7, 10,  292 },\r
+  {   7, 10,  561 }, {   8, 10,  257 }, {   8, 10,  382 }, {   9, 10,  721 },\r
+  {   9, 10,  778 }, {  11, 10,  581 }, { 140, 10,  466 }, {   4, 10,  486 },\r
+  { 133, 10,  491 }, { 134,  0, 1300 }, { 132, 10,   72 }, {   7,  0,  847 },\r
+  {   6, 10,  265 }, {   7, 11,  430 }, { 139, 11,   46 }, {   5, 11,  602 },\r
+  {   6, 11,  106 }, {   7, 11, 1786 }, {   7, 11, 1821 }, {   7, 11, 2018 },\r
+  {   9, 11,  418 }, { 137, 11,  763 }, {   5,  0,  358 }, {   7,  0,  535 },\r
+  {   7,  0, 1184 }, {  10,  0,  662 }, {  13,  0,  212 }, {  13,  0,  304 },\r
+  {  13,  0,  333 }, { 145,  0,   98 }, {   5, 11,   65 }, {   6, 11,  416 },\r
+  {   7, 11, 1720 }, {   7, 11, 1924 }, {   8, 11,  677 }, {  10, 11,  109 },\r
+  {  11, 11,   14 }, {  11, 11,   70 }, {  11, 11,  569 }, {  11, 11,  735 },\r
+  {  15, 11,  153 }, { 148, 11,   80 }, {   6,  0, 1823 }, {   8,  0,  839 },\r
+  {   8,  0,  852 }, {   8,  0,  903 }, {  10,  0,  940 }, {  12,  0,  707 },\r
+  { 140,  0,  775 }, { 135, 11, 1229 }, {   6,  0, 1522 }, { 140,  0,  654 },\r
+  { 136, 11,  595 }, { 139,  0,  163 }, { 141,  0,  314 }, { 132,  0,  978 },\r
+  {   4,  0,  601 }, {   6,  0, 2035 }, { 137, 10,  234 }, {   5, 10,  815 },\r
+  {   6, 10, 1688 }, { 134, 10, 1755 }, { 133,  0,  946 }, { 136,  0,  434 },\r
+  {   6, 10,  197 }, { 136, 10,  205 }, {   7,  0,  411 }, {   7,  0,  590 },\r
+  {   8,  0,  631 }, {   9,  0,  323 }, {  10,  0,  355 }, {  11,  0,  491 },\r
+  {  12,  0,  143 }, {  12,  0,  402 }, {  13,  0,   73 }, {  14,  0,  408 },\r
+  {  15,  0,  107 }, { 146,  0,   71 }, {   7,  0, 1467 }, {   8,  0,  328 },\r
+  {  10,  0,  544 }, {  11,  0,  955 }, {  12,  0,   13 }, {  13,  0,  320 },\r
+  { 145,  0,   83 }, { 142,  0,  410 }, {  11,  0,  511 }, {  13,  0,  394 },\r
+  {  14,  0,  298 }, {  14,  0,  318 }, { 146,  0,  103 }, {   6, 10,  452 },\r
+  {   7, 10,  312 }, { 138, 10,  219 }, { 138, 10,  589 }, {   4, 10,  333 },\r
+  {   9, 10,  176 }, {  12, 10,  353 }, { 141, 10,  187 }, { 135, 11,  329 },\r
+  { 132, 11,  469 }, {   5,  0,  835 }, { 134,  0,  483 }, { 134, 11, 1743 },\r
+  {   5, 11,  929 }, {   6, 11,  340 }, {   8, 11,  376 }, { 136, 11,  807 },\r
+  { 134, 10, 1685 }, { 132,  0,  677 }, {   5, 11,  218 }, {   7, 11, 1610 },\r
+  { 138, 11,   83 }, {   5, 11,  571 }, { 135, 11, 1842 }, { 132, 11,  455 },\r
+  { 137,  0,   70 }, { 135,  0, 1405 }, {   7, 10,  135 }, {   8, 10,    7 },\r
+  {   8, 10,   62 }, {   9, 10,  243 }, {  10, 10,  658 }, {  10, 10,  697 },\r
+  {  11, 10,  456 }, { 139, 10,  756 }, {   9, 10,  395 }, { 138, 10,   79 },\r
+  { 137,  0,  108 }, {   6, 11,  161 }, {   7, 11,  372 }, { 137, 11,  597 },\r
+  { 132, 11,  349 }, { 132,  0,  777 }, { 132,  0,  331 }, { 135, 10,  631 },\r
+  { 133,  0,  747 }, {   6, 11,  432 }, {   6, 11,  608 }, { 139, 11,  322 },\r
+  { 138, 10,  835 }, {   5, 11,  468 }, {   7, 11, 1809 }, {  10, 11,  325 },\r
+  {  11, 11,  856 }, {  12, 11,  345 }, { 143, 11,  104 }, { 133, 11,  223 },\r
+  {   7, 10,  406 }, {   7, 10,  459 }, {   8, 10,  606 }, { 139, 10,  726 },\r
+  { 132, 11,  566 }, { 142,  0,   68 }, {   4, 11,   59 }, { 135, 11, 1394 },\r
+  {   6, 11,  436 }, { 139, 11,  481 }, {   4, 11,   48 }, {   5, 11,  271 },\r
+  { 135, 11,  953 }, { 139, 11,  170 }, {   5, 11,  610 }, { 136, 11,  457 },\r
+  { 133, 11,  755 }, { 135, 11, 1217 }, { 133, 10,  612 }, { 132, 11,  197 },\r
+  { 132,  0,  505 }, {   4, 10,  372 }, {   7, 10,  482 }, {   8, 10,  158 },\r
+  {   9, 10,  602 }, {   9, 10,  615 }, {  10, 10,  245 }, {  10, 10,  678 },\r
+  {  10, 10,  744 }, {  11, 10,  248 }, { 139, 10,  806 }, { 133,  0,  326 },\r
+  {   5, 10,  854 }, { 135, 10, 1991 }, {   4,  0,  691 }, { 146,  0,   16 },\r
+  {   6,  0,  628 }, {   9,  0,   35 }, {  10,  0,  680 }, {  10,  0,  793 },\r
+  {  11,  0,  364 }, {  13,  0,  357 }, { 143,  0,  164 }, { 138,  0,  654 },\r
+  {   6,  0,   32 }, {   7,  0,  385 }, {   7,  0,  757 }, {   7,  0, 1916 },\r
+  {   8,  0,   37 }, {   8,  0,   94 }, {   8,  0,  711 }, {   9,  0,  541 },\r
+  {  10,  0,  162 }, {  10,  0,  795 }, {  11,  0,  989 }, {  11,  0, 1010 },\r
+  {  12,  0,   14 }, { 142,  0,  308 }, { 133, 11,  217 }, {   6,  0,  152 },\r
+  {   6,  0,  349 }, {   6,  0, 1682 }, {   7,  0, 1252 }, {   8,  0,  112 },\r
+  {   9,  0,  435 }, {   9,  0,  668 }, {  10,  0,  290 }, {  10,  0,  319 },\r
+  {  10,  0,  815 }, {  11,  0,  180 }, {  11,  0,  837 }, {  12,  0,  240 },\r
+  {  13,  0,  152 }, {  13,  0,  219 }, { 142,  0,  158 }, {   4,  0,  581 },\r
+  { 134,  0,  726 }, {   5, 10,  195 }, { 135, 10, 1685 }, {   6,  0,  126 },\r
+  {   7,  0,  573 }, {   8,  0,  397 }, { 142,  0,   44 }, { 138,  0,   89 },\r
+  {   7, 10, 1997 }, {   8, 10,  730 }, { 139, 10, 1006 }, { 134,  0, 1531 },\r
+  { 134,  0, 1167 }, {   5,  0,  926 }, {  12,  0,  203 }, { 133, 10,  751 },\r
+  {   4, 11,  165 }, {   7, 11, 1398 }, { 135, 11, 1829 }, {   7,  0, 1232 },\r
+  { 137,  0,  531 }, { 135, 10,  821 }, { 134,  0,  943 }, { 133,  0,  670 },\r
+  {   4,  0,  880 }, { 139,  0,  231 }, { 134,  0, 1617 }, { 135,  0, 1957 },\r
+  {   5, 11,    9 }, {   7, 11,  297 }, {   7, 11,  966 }, { 140, 11,  306 },\r
+  {   6,  0,  975 }, { 134,  0,  985 }, {   5, 10,  950 }, {   5, 10,  994 },\r
+  { 134, 10,  351 }, {  12, 11,   21 }, { 151, 11,    7 }, {   5, 11,  146 },\r
+  {   6, 11,  411 }, { 138, 11,  721 }, {   7,  0,  242 }, { 135,  0, 1942 },\r
+  {   6, 11,  177 }, { 135, 11,  467 }, {   5,  0,  421 }, {   7, 10,   47 },\r
+  { 137, 10,  684 }, {   5,  0,  834 }, {   7,  0, 1202 }, {   8,  0,   14 },\r
+  {   9,  0,  481 }, { 137,  0,  880 }, { 138,  0,  465 }, {   6,  0,  688 },\r
+  {   9,  0,  834 }, { 132, 10,  350 }, { 132,  0,  855 }, {   4,  0,  357 },\r
+  {   6,  0,  172 }, {   7,  0,  143 }, { 137,  0,  413 }, { 133, 11,  200 },\r
+  { 132,  0,  590 }, {   7, 10, 1812 }, {  13, 10,  259 }, {  13, 10,  356 },\r
+  {  14, 10,  242 }, { 147, 10,  114 }, { 133, 10,  967 }, {  11,  0,  114 },\r
+  {   4, 10,  473 }, {   7, 10,  623 }, {   8, 10,  808 }, {   9, 10,  871 },\r
+  {   9, 10,  893 }, {  11, 10,  431 }, {  12, 10,  112 }, {  12, 10,  217 },\r
+  {  12, 10,  243 }, {  12, 10,  562 }, {  12, 10,  663 }, {  12, 10,  683 },\r
+  {  13, 10,  141 }, {  13, 10,  197 }, {  13, 10,  227 }, {  13, 10,  406 },\r
+  {  13, 10,  487 }, {  14, 10,  156 }, {  14, 10,  203 }, {  14, 10,  224 },\r
+  {  14, 10,  256 }, {  18, 10,   58 }, { 150, 10,    0 }, { 138, 10,  286 },\r
+  {   4, 10,  222 }, {   7, 10,  286 }, { 136, 10,  629 }, {   5,  0,  169 },\r
+  {   7,  0,  333 }, { 136,  0,   45 }, { 134, 11,  481 }, { 132,  0,  198 },\r
+  {   4,  0,   24 }, {   5,  0,  140 }, {   5,  0,  185 }, {   7,  0, 1500 },\r
+  {  11,  0,  565 }, {  11,  0,  838 }, {   4, 11,   84 }, {   7, 11, 1482 },\r
+  {  10, 11,   76 }, { 138, 11,  142 }, { 133,  0,  585 }, { 141, 10,  306 },\r
+  { 133, 11, 1015 }, {   4, 11,  315 }, {   5, 11,  507 }, { 135, 11, 1370 },\r
+  { 136, 10,  146 }, {   6,  0,  691 }, { 134,  0, 1503 }, {   4,  0,  334 },\r
+  { 133,  0,  593 }, {   4, 10,  465 }, { 135, 10, 1663 }, { 142, 11,  173 },\r
+  { 135,  0,  913 }, {  12,  0,  116 }, { 134, 11, 1722 }, { 134,  0, 1360 },\r
+  { 132,  0,  802 }, {   8, 11,  222 }, {   8, 11,  476 }, {   9, 11,  238 },\r
+  {  11, 11,  516 }, {  11, 11,  575 }, {  15, 11,  109 }, { 146, 11,  100 },\r
+  {   6,  0,  308 }, {   9,  0,  673 }, {   7, 10,  138 }, {   7, 10,  517 },\r
+  { 139, 10,  238 }, { 132,  0,  709 }, {   6,  0, 1876 }, {   6,  0, 1895 },\r
+  {   9,  0,  994 }, {   9,  0, 1006 }, {  12,  0,  829 }, {  12,  0,  888 },\r
+  {  12,  0,  891 }, { 146,  0,  185 }, { 148, 10,   94 }, {   4,  0,  228 },\r
+  { 133,  0,  897 }, {   7,  0, 1840 }, {   5, 10,  495 }, {   7, 10,  834 },\r
+  {   9, 10,  733 }, { 139, 10,  378 }, { 133, 10,  559 }, {   6, 10,   21 },\r
+  {   6, 10, 1737 }, {   7, 10, 1444 }, { 136, 10,  224 }, {   4,  0,  608 },\r
+  { 133,  0,  497 }, {   6, 11,   40 }, { 135, 11, 1781 }, { 134,  0, 1573 },\r
+  { 135,  0, 2039 }, {   6,  0,  540 }, { 136,  0,  136 }, {   4,  0,  897 },\r
+  {   5,  0,  786 }, { 133, 10,  519 }, {   6,  0, 1878 }, {   6,  0, 1884 },\r
+  {   9,  0,  938 }, {   9,  0,  948 }, {   9,  0,  955 }, {   9,  0,  973 },\r
+  {   9,  0, 1012 }, {  12,  0,  895 }, {  12,  0,  927 }, { 143,  0,  254 },\r
+  { 134,  0, 1469 }, { 133,  0,  999 }, {   4,  0,  299 }, { 135,  0, 1004 },\r
+  {   4,  0,  745 }, { 133,  0,  578 }, { 136, 11,  574 }, { 133,  0,  456 },\r
+  { 134,  0, 1457 }, {   7,  0, 1679 }, { 132, 10,  402 }, {   7,  0,  693 },\r
+  {   8,  0,  180 }, {  12,  0,  163 }, {   8, 10,  323 }, { 136, 10,  479 },\r
+  {  11, 10,  580 }, { 142, 10,  201 }, {   5, 10,   59 }, { 135, 10,  672 },\r
+  { 132, 11,  354 }, { 146, 10,   34 }, {   4,  0,  755 }, { 135, 11, 1558 },\r
+  {   7,  0, 1740 }, { 146,  0,   48 }, {   4, 10,   85 }, { 135, 10,  549 },\r
+  { 139,  0,  338 }, { 133, 10,   94 }, { 134,  0, 1091 }, { 135, 11,  469 },\r
+  {  12,  0,  695 }, {  12,  0,  704 }, {  20,  0,  113 }, {   5, 11,  830 },\r
+  {  14, 11,  338 }, { 148, 11,   81 }, { 135,  0, 1464 }, {   6, 10,   11 },\r
+  { 135, 10,  187 }, { 135,  0,  975 }, {  13,  0,  335 }, { 132, 10,  522 },\r
+  { 134,  0, 1979 }, {   5, 11,  496 }, { 135, 11,  203 }, {   4, 10,   52 },\r
+  { 135, 10,  661 }, {   7,  0, 1566 }, {   8,  0,  269 }, {   9,  0,  212 },\r
+  {   9,  0,  718 }, {  14,  0,   15 }, {  14,  0,  132 }, { 142,  0,  227 },\r
+  {   4,  0,  890 }, {   5,  0,  805 }, {   5,  0,  819 }, {   5,  0,  961 },\r
+  {   6,  0,  396 }, {   6,  0, 1631 }, {   6,  0, 1678 }, {   7,  0, 1967 },\r
+  {   7,  0, 2041 }, {   9,  0,  630 }, {  11,  0,    8 }, {  11,  0, 1019 },\r
+  {  12,  0,  176 }, {  13,  0,  225 }, {  14,  0,  292 }, {  21,  0,   24 },\r
+  {   4, 10,  383 }, { 133, 10,  520 }, { 134, 11,  547 }, { 135, 11, 1748 },\r
+  {   5, 11,   88 }, { 137, 11,  239 }, { 146, 11,  128 }, {   7, 11,  650 },\r
+  { 135, 11, 1310 }, {   4, 10,  281 }, {   5, 10,   38 }, {   7, 10,  194 },\r
+  {   7, 10,  668 }, {   7, 10, 1893 }, { 137, 10,  397 }, { 135,  0, 1815 },\r
+  {   9, 10,  635 }, { 139, 10,  559 }, {   7,  0, 1505 }, {  10,  0,  190 },\r
+  {  10,  0,  634 }, {  11,  0,  792 }, {  12,  0,  358 }, { 140,  0,  447 },\r
+  {   5,  0,    0 }, {   6,  0,  536 }, {   7,  0,  604 }, {  13,  0,  445 },\r
+  { 145,  0,  126 }, {   7, 11, 1076 }, {   9, 11,   80 }, {  11, 11,   78 },\r
+  {  11, 11,  421 }, {  11, 11,  534 }, { 140, 11,  545 }, {   8,  0,  966 },\r
+  {  10,  0, 1023 }, {  14, 11,  369 }, { 146, 11,   72 }, { 135, 11, 1641 },\r
+  {   6,  0,  232 }, {   6,  0,  412 }, {   7,  0, 1074 }, {   8,  0,    9 },\r
+  {   8,  0,  157 }, {   8,  0,  786 }, {   9,  0,  196 }, {   9,  0,  352 },\r
+  {   9,  0,  457 }, {  10,  0,  337 }, {  11,  0,  232 }, {  11,  0,  877 },\r
+  {  12,  0,  480 }, { 140,  0,  546 }, { 135,  0,  958 }, {   4,  0,  382 },\r
+  { 136,  0,  579 }, {   4,  0,  212 }, { 135,  0, 1206 }, {   4, 11,  497 },\r
+  {   5, 11,  657 }, { 135, 11, 1584 }, { 132,  0,  681 }, {   8,  0,  971 },\r
+  { 138,  0,  965 }, {   5, 10,  448 }, { 136, 10,  535 }, {  14,  0,   16 },\r
+  { 146,  0,   44 }, {  11,  0,  584 }, {  11,  0,  616 }, {  14,  0,  275 },\r
+  {  11, 11,  584 }, {  11, 11,  616 }, { 142, 11,  275 }, { 136, 11,   13 },\r
+  {   7, 10,  610 }, { 135, 10, 1501 }, {   7, 11,  642 }, {   8, 11,  250 },\r
+  {  11, 11,  123 }, {  11, 11,  137 }, {  13, 11,   48 }, { 142, 11,   95 },\r
+  { 133,  0,  655 }, {  17,  0,   67 }, { 147,  0,   74 }, { 134,  0,  751 },\r
+  { 134,  0, 1967 }, {   6,  0,  231 }, { 136,  0,  423 }, {   5,  0,  300 },\r
+  { 138,  0, 1016 }, {   4, 10,  319 }, {   5, 10,  699 }, { 138, 10,  673 },\r
+  {   6,  0,  237 }, {   7,  0,  611 }, {   8,  0,  100 }, {   9,  0,  416 },\r
+  {  11,  0,  335 }, {  12,  0,  173 }, {  18,  0,  101 }, {   6, 10,  336 },\r
+  {   8, 10,  552 }, {   9, 10,  285 }, {  10, 10,   99 }, { 139, 10,  568 },\r
+  { 134,  0, 1370 }, {   7, 10, 1406 }, {   9, 10,  218 }, { 141, 10,  222 },\r
+  { 133, 10,  256 }, { 135,  0, 1208 }, {  14, 11,  213 }, { 148, 11,   38 },\r
+  {   6,  0, 1219 }, { 135, 11, 1642 }, {  13,  0,  417 }, {  14,  0,  129 },\r
+  { 143,  0,   15 }, {  10, 11,  545 }, { 140, 11,  301 }, {  17, 10,   39 },\r
+  { 148, 10,   36 }, { 133,  0,  199 }, {   4, 11,  904 }, { 133, 11,  794 },\r
+  {  12,  0,  427 }, { 146,  0,   38 }, { 134,  0,  949 }, {   8,  0,  665 },\r
+  { 135, 10,  634 }, { 132, 10,  618 }, { 135, 10,  259 }, { 132, 10,  339 },\r
+  { 133, 11,  761 }, { 141, 10,  169 }, { 132, 10,  759 }, {   5,  0,  688 },\r
+  {   7,  0,  539 }, { 135,  0,  712 }, {   7, 11,  386 }, { 138, 11,  713 },\r
+  { 134,  0, 1186 }, {   6, 11,    7 }, {   6, 11,   35 }, {   7, 11,  147 },\r
+  {   7, 11, 1069 }, {   7, 11, 1568 }, {   7, 11, 1575 }, {   7, 11, 1917 },\r
+  {   8, 11,   43 }, {   8, 11,  208 }, {   9, 11,  128 }, {   9, 11,  866 },\r
+  {  10, 11,   20 }, {  11, 11,  981 }, { 147, 11,   33 }, {   7, 11,  893 },\r
+  {   8, 10,  482 }, { 141, 11,  424 }, {   6,  0,  312 }, {   6,  0, 1715 },\r
+  {  10,  0,  584 }, {  11,  0,  546 }, {  11,  0,  692 }, {  12,  0,  259 },\r
+  {  12,  0,  295 }, {  13,  0,   46 }, { 141,  0,  154 }, {   5, 10,  336 },\r
+  {   6, 10,  341 }, {   6, 10,  478 }, {   6, 10, 1763 }, { 136, 10,  386 },\r
+  { 137,  0,  151 }, { 132,  0,  588 }, { 152,  0,    4 }, {   6, 11,  322 },\r
+  {   9, 11,  552 }, {  11, 11,  274 }, {  13, 11,  209 }, {  13, 11,  499 },\r
+  {  14, 11,   85 }, {  15, 11,  126 }, { 145, 11,   70 }, { 135, 10,   73 },\r
+  {   4,  0,  231 }, {   5,  0,   61 }, {   6,  0,  104 }, {   7,  0,  729 },\r
+  {   7,  0,  964 }, {   7,  0, 1658 }, { 140,  0,  414 }, {   6,  0,  263 },\r
+  { 138,  0,  757 }, { 135, 10, 1971 }, {   4,  0,  612 }, { 133,  0,  561 },\r
+  { 132,  0,  320 }, { 135, 10, 1344 }, {   8, 11,   83 }, {   8, 11,  817 },\r
+  {   9, 11,   28 }, {   9, 11,   29 }, {   9, 11,  885 }, {  10, 11,  387 },\r
+  {  11, 11,  633 }, {  11, 11,  740 }, {  13, 11,  235 }, {  13, 11,  254 },\r
+  {  15, 11,  143 }, { 143, 11,  146 }, {   5, 10,  396 }, { 134, 10,  501 },\r
+  { 140, 11,   49 }, { 132,  0,  225 }, {   4, 10,  929 }, {   5, 10,  799 },\r
+  {   8, 10,   46 }, { 136, 10,  740 }, {   4,  0,  405 }, {   7,  0,  817 },\r
+  {  14,  0,   58 }, {  17,  0,   37 }, { 146,  0,  124 }, { 133,  0,  974 },\r
+  {   4, 11,  412 }, { 133, 11,  581 }, {   4, 10,  892 }, { 133, 10,  770 },\r
+  {   4,  0,  996 }, { 134,  0, 2026 }, {   4,  0,  527 }, {   5,  0,  235 },\r
+  {   7,  0, 1239 }, {  11,  0,  131 }, { 140,  0,  370 }, {   9,  0,   16 },\r
+  {  13,  0,  386 }, { 135, 11,  421 }, {   7,  0,  956 }, {   7,  0, 1157 },\r
+  {   7,  0, 1506 }, {   7,  0, 1606 }, {   7,  0, 1615 }, {   7,  0, 1619 },\r
+  {   7,  0, 1736 }, {   7,  0, 1775 }, {   8,  0,  590 }, {   9,  0,  324 },\r
+  {   9,  0,  736 }, {   9,  0,  774 }, {   9,  0,  776 }, {   9,  0,  784 },\r
+  {  10,  0,  567 }, {  10,  0,  708 }, {  11,  0,  518 }, {  11,  0,  613 },\r
+  {  11,  0,  695 }, {  11,  0,  716 }, {  11,  0,  739 }, {  11,  0,  770 },\r
+  {  11,  0,  771 }, {  11,  0,  848 }, {  11,  0,  857 }, {  11,  0,  931 },\r
+  {  11,  0,  947 }, {  12,  0,  326 }, {  12,  0,  387 }, {  12,  0,  484 },\r
+  {  12,  0,  528 }, {  12,  0,  552 }, {  12,  0,  613 }, {  13,  0,  189 },\r
+  {  13,  0,  256 }, {  13,  0,  340 }, {  13,  0,  432 }, {  13,  0,  436 },\r
+  {  13,  0,  440 }, {  13,  0,  454 }, {  14,  0,  174 }, {  14,  0,  220 },\r
+  {  14,  0,  284 }, {  14,  0,  390 }, { 145,  0,  121 }, { 135, 10,  158 },\r
+  {   9,  0,  137 }, { 138,  0,  221 }, {   4, 11,  110 }, {  10, 11,  415 },\r
+  {  10, 11,  597 }, { 142, 11,  206 }, { 141, 11,  496 }, { 135, 11,  205 },\r
+  { 151, 10,   25 }, { 135, 11,  778 }, {   7, 11, 1656 }, {   7, 10, 2001 },\r
+  {   9, 11,  369 }, {  10, 11,  338 }, {  10, 11,  490 }, {  11, 11,  154 },\r
+  {  11, 11,  545 }, {  11, 11,  775 }, {  13, 11,   77 }, { 141, 11,  274 },\r
+  {   4, 11,  444 }, {  10, 11,  146 }, { 140, 11,    9 }, {   7,  0,  390 },\r
+  { 138,  0,  140 }, { 135,  0, 1144 }, { 134,  0,  464 }, {   7, 10, 1461 },\r
+  { 140, 10,   91 }, { 132, 10,  602 }, {   4, 11,  283 }, { 135, 11, 1194 },\r
+  {   5,  0,  407 }, {  11,  0,  204 }, {  11,  0,  243 }, {  11,  0,  489 },\r
+  {  12,  0,  293 }, {  19,  0,   37 }, {  20,  0,   73 }, { 150,  0,   38 },\r
+  {   7,  0, 1218 }, { 136,  0,  303 }, {   5,  0,  325 }, {   8,  0,    5 },\r
+  {   8,  0,  227 }, {   9,  0,  105 }, {  10,  0,  585 }, {  12,  0,  614 },\r
+  {   4, 10,   13 }, {   5, 10,  567 }, {   7, 10, 1498 }, {   9, 10,  124 },\r
+  {  11, 10,  521 }, { 140, 10,  405 }, { 135, 10, 1006 }, {   7,  0,  800 },\r
+  {  10,  0,   12 }, { 134, 11, 1720 }, { 135,  0, 1783 }, { 132, 10,  735 },\r
+  { 138, 10,  812 }, {   4, 10,  170 }, { 135, 10,  323 }, {   6,  0,  621 },\r
+  {  13,  0,  504 }, { 144,  0,   89 }, {   5, 10,  304 }, { 135, 10, 1403 },\r
+  { 137, 11,  216 }, {   6,  0,  920 }, {   6,  0, 1104 }, {   9, 11,  183 },\r
+  { 139, 11,  286 }, {   4,  0,  376 }, { 133, 10,  742 }, { 134,  0,  218 },\r
+  {   8,  0,  641 }, {  11,  0,  388 }, { 140,  0,  580 }, {   7,  0,  454 },\r
+  {   7,  0,  782 }, {   8,  0,  768 }, { 140,  0,  686 }, { 137, 11,   33 },\r
+  { 133, 10,  111 }, { 144,  0,    0 }, {  10,  0,  676 }, { 140,  0,  462 },\r
+  {   6,  0,  164 }, { 136, 11,  735 }, { 133, 10,  444 }, { 150,  0,   50 },\r
+  {   7, 11, 1862 }, {  12, 11,  491 }, {  12, 11,  520 }, {  13, 11,  383 },\r
+  {  14, 11,  244 }, { 146, 11,   12 }, {   5, 11,  132 }, {   9, 11,  486 },\r
+  {   9, 11,  715 }, {  10, 11,  458 }, {  11, 11,  373 }, {  11, 11,  668 },\r
+  {  11, 11,  795 }, {  11, 11,  897 }, {  12, 11,  272 }, {  12, 11,  424 },\r
+  {  12, 11,  539 }, {  12, 11,  558 }, {  14, 11,  245 }, {  14, 11,  263 },\r
+  {  14, 11,  264 }, {  14, 11,  393 }, { 142, 11,  403 }, {   8, 10,  123 },\r
+  {  15, 10,    6 }, { 144, 10,    7 }, {   6,  0,  285 }, {   8,  0,  654 },\r
+  {  11,  0,  749 }, {  12,  0,  190 }, {  12,  0,  327 }, {  13,  0,  120 },\r
+  {  13,  0,  121 }, {  13,  0,  327 }, {  15,  0,   47 }, { 146,  0,   40 },\r
+  {   5, 11,    8 }, {   6, 11,   89 }, {   6, 11,  400 }, {   7, 11, 1569 },\r
+  {   7, 11, 1623 }, {   7, 11, 1850 }, {   8, 11,  218 }, {   8, 11,  422 },\r
+  {   9, 11,  570 }, { 138, 11,  626 }, {   6, 11,  387 }, {   7, 11,  882 },\r
+  { 141, 11,  111 }, {   6,  0,  343 }, {   7,  0,  195 }, {   9,  0,  226 },\r
+  {  10,  0,  197 }, {  10,  0,  575 }, {  11,  0,  502 }, {  11,  0,  899 },\r
+  {   6, 11,  224 }, {   7, 11,  877 }, { 137, 11,  647 }, {   5, 10,  937 },\r
+  { 135, 10,  100 }, { 135, 11,  790 }, { 150,  0,   29 }, { 147,  0,    8 },\r
+  { 134,  0, 1812 }, { 149,  0,    8 }, { 135, 11,  394 }, {   7,  0, 1125 },\r
+  {   9,  0,  143 }, {  11,  0,   61 }, {  14,  0,  405 }, { 150,  0,   21 },\r
+  {  10, 11,  755 }, { 147, 11,   29 }, {   9, 11,  378 }, { 141, 11,  162 },\r
+  { 135, 10,  922 }, {   5, 10,  619 }, { 133, 10,  698 }, { 134,  0, 1327 },\r
+  {   6,  0, 1598 }, { 137,  0,  575 }, {   9, 11,  569 }, {  12, 11,   12 },\r
+  {  12, 11,   81 }, {  12, 11,  319 }, {  13, 11,   69 }, {  14, 11,  259 },\r
+  {  16, 11,   87 }, {  17, 11,    1 }, {  17, 11,   21 }, {  17, 11,   24 },\r
+  {  18, 11,   15 }, {  18, 11,   56 }, {  18, 11,   59 }, {  18, 11,  127 },\r
+  {  18, 11,  154 }, {  19, 11,   19 }, { 148, 11,   31 }, {   6,  0,  895 },\r
+  { 135, 11, 1231 }, {   5,  0,  959 }, {   7, 11,  124 }, { 136, 11,   38 },\r
+  {   5, 11,  261 }, {   7, 11,   78 }, {   7, 11,  199 }, {   8, 11,  815 },\r
+  {   9, 11,  126 }, { 138, 11,  342 }, {   5, 10,  917 }, { 134, 10, 1659 },\r
+  {   7,  0, 1759 }, {   5, 11,  595 }, { 135, 11, 1863 }, { 136,  0,  173 },\r
+  { 134,  0,  266 }, { 142,  0,  261 }, { 132, 11,  628 }, {   5, 10,  251 },\r
+  {   5, 10,  956 }, {   8, 10,  268 }, {   9, 10,  214 }, { 146, 10,  142 },\r
+  {   7, 11,  266 }, { 136, 11,  804 }, { 135, 11,  208 }, {   6, 11,   79 },\r
+  {   7, 11, 1021 }, { 135, 11, 1519 }, {  11, 11,  704 }, { 141, 11,  396 },\r
+  {   5, 10,  346 }, {   5, 10,  711 }, { 136, 10,  390 }, { 136, 11,  741 },\r
+  { 134, 11,  376 }, { 134,  0, 1427 }, {   6,  0, 1033 }, {   6,  0, 1217 },\r
+  { 136,  0,  300 }, { 133, 10,  624 }, {   6, 11,  100 }, {   7, 11,  244 },\r
+  {   7, 11,  632 }, {   7, 11, 1609 }, {   8, 11,  178 }, {   8, 11,  638 },\r
+  { 141, 11,   58 }, {   6,  0,  584 }, {   5, 10,  783 }, {   7, 10, 1998 },\r
+  { 135, 10, 2047 }, {   5,  0,  427 }, {   5,  0,  734 }, {   7,  0,  478 },\r
+  { 136,  0,   52 }, {   7,  0,  239 }, {  11,  0,  217 }, { 142,  0,  165 },\r
+  { 134,  0, 1129 }, {   6,  0,  168 }, {   6,  0, 1734 }, {   7,  0,   20 },\r
+  {   7,  0, 1056 }, {   8,  0,  732 }, {   9,  0,  406 }, {   9,  0,  911 },\r
+  { 138,  0,  694 }, { 132, 10,  594 }, { 133, 11,  791 }, {   7, 11,  686 },\r
+  {   8, 11,   33 }, {   8, 11,  238 }, {  10, 11,  616 }, {  11, 11,  467 },\r
+  {  11, 11,  881 }, {  13, 11,  217 }, {  13, 11,  253 }, { 142, 11,  268 },\r
+  { 137, 11,  476 }, { 134,  0,  418 }, { 133,  0,  613 }, { 132,  0,  632 },\r
+  { 132, 11,  447 }, {   7,  0,   32 }, {   7,  0,  984 }, {   8,  0,   85 },\r
+  {   8,  0,  709 }, {   9,  0,  579 }, {   9,  0,  847 }, {   9,  0,  856 },\r
+  {  10,  0,  799 }, {  11,  0,  258 }, {  11,  0, 1007 }, {  12,  0,  331 },\r
+  {  12,  0,  615 }, {  13,  0,  188 }, {  13,  0,  435 }, {  14,  0,    8 },\r
+  {  15,  0,  165 }, {  16,  0,   27 }, {  20,  0,   40 }, { 144, 11,   35 },\r
+  {   4, 11,  128 }, {   5, 11,  415 }, {   6, 11,  462 }, {   7, 11,  294 },\r
+  {   7, 11,  578 }, {  10, 11,  710 }, { 139, 11,   86 }, {   5,  0,  694 },\r
+  { 136,  0,  909 }, {   7,  0, 1109 }, {  11,  0,    7 }, {   5, 10,   37 },\r
+  {   6, 10,   39 }, {   6, 10,  451 }, {   7, 10,  218 }, {   7, 10, 1166 },\r
+  {   7, 10, 1687 }, {   8, 10,  662 }, { 144, 10,    2 }, { 136, 11,  587 },\r
+  {   6, 11,  427 }, {   7, 11, 1018 }, { 138, 11,  692 }, {   4, 11,  195 },\r
+  {   6, 10,  508 }, { 135, 11,  802 }, {   4,  0,  167 }, { 135,  0,   82 },\r
+  {   5,  0,   62 }, {   6,  0,   24 }, {   6,  0,  534 }, {   7,  0,   74 },\r
+  {   7,  0,  678 }, {   7,  0,  684 }, {   7,  0, 1043 }, {   7,  0, 1072 },\r
+  {   8,  0,  280 }, {   8,  0,  541 }, {   8,  0,  686 }, {   9,  0,  258 },\r
+  {  10,  0,  519 }, {  11,  0,  252 }, { 140,  0,  282 }, { 138,  0,   33 },\r
+  {   4,  0,  359 }, { 133, 11,  738 }, {   7,  0,  980 }, {   9,  0,  328 },\r
+  {  13,  0,  186 }, {  13,  0,  364 }, {   7, 10,  635 }, {   7, 10,  796 },\r
+  {   8, 10,  331 }, {   9, 10,  330 }, {   9, 10,  865 }, {  10, 10,  119 },\r
+  {  10, 10,  235 }, {  11, 10,  111 }, {  11, 10,  129 }, {  11, 10,  240 },\r
+  {  12, 10,   31 }, {  12, 10,   66 }, {  12, 10,  222 }, {  12, 10,  269 },\r
+  {  12, 10,  599 }, {  12, 10,  684 }, {  12, 10,  689 }, {  12, 10,  691 },\r
+  { 142, 10,  345 }, { 137, 10,  527 }, {   6,  0,  596 }, {   7,  0,  585 },\r
+  { 135, 10,  702 }, { 134, 11, 1683 }, { 133,  0,  211 }, {   6,  0,  145 },\r
+  { 141,  0,  336 }, { 134,  0, 1130 }, {   7,  0,  873 }, {   6, 10,   37 },\r
+  {   7, 10, 1666 }, {   8, 10,  195 }, {   8, 10,  316 }, {   9, 10,  178 },\r
+  {   9, 10,  276 }, {   9, 10,  339 }, {   9, 10,  536 }, {  10, 10,  102 },\r
+  {  10, 10,  362 }, {  10, 10,  785 }, {  11, 10,   55 }, {  11, 10,  149 },\r
+  {  11, 10,  773 }, {  13, 10,  416 }, {  13, 10,  419 }, {  14, 10,   38 },\r
+  {  14, 10,   41 }, { 142, 10,  210 }, {   8,  0,  840 }, { 136,  0,  841 },\r
+  { 132,  0,  263 }, {   5, 11,    3 }, {   8, 11,  578 }, {   9, 11,  118 },\r
+  {  10, 11,  705 }, {  12, 11,  383 }, { 141, 11,  279 }, { 132,  0,  916 },\r
+  { 133, 11,  229 }, { 133, 10,  645 }, {  15,  0,  155 }, {  16,  0,   79 },\r
+  {   8, 11,  102 }, {  10, 11,  578 }, {  10, 11,  672 }, {  12, 11,  496 },\r
+  {  13, 11,  408 }, {  14, 11,  121 }, { 145, 11,  106 }, {   4,  0,  599 },\r
+  {   5,  0,  592 }, {   6,  0, 1634 }, {   7,  0,    5 }, {   7,  0,   55 },\r
+  {   7,  0,   67 }, {   7,  0,   97 }, {   7,  0,  691 }, {   7,  0,  979 },\r
+  {   7,  0, 1600 }, {   7,  0, 1697 }, {   8,  0,  207 }, {   8,  0,  214 },\r
+  {   8,  0,  231 }, {   8,  0,  294 }, {   8,  0,  336 }, {   8,  0,  428 },\r
+  {   8,  0,  471 }, {   8,  0,  622 }, {   8,  0,  626 }, {   8,  0,  679 },\r
+  {   8,  0,  759 }, {   8,  0,  829 }, {   9,  0,   11 }, {   9,  0,  246 },\r
+  {   9,  0,  484 }, {   9,  0,  573 }, {   9,  0,  706 }, {   9,  0,  762 },\r
+  {   9,  0,  798 }, {   9,  0,  855 }, {   9,  0,  870 }, {   9,  0,  912 },\r
+  {  10,  0,  303 }, {  10,  0,  335 }, {  10,  0,  424 }, {  10,  0,  461 },\r
+  {  10,  0,  543 }, {  10,  0,  759 }, {  10,  0,  814 }, {  11,  0,   59 },\r
+  {  11,  0,  199 }, {  11,  0,  235 }, {  11,  0,  590 }, {  11,  0,  631 },\r
+  {  11,  0,  929 }, {  11,  0,  963 }, {  11,  0,  987 }, {  12,  0,  114 },\r
+  {  12,  0,  182 }, {  12,  0,  226 }, {  12,  0,  332 }, {  12,  0,  439 },\r
+  {  12,  0,  575 }, {  12,  0,  598 }, {  12,  0,  675 }, {  13,  0,    8 },\r
+  {  13,  0,  125 }, {  13,  0,  194 }, {  13,  0,  287 }, {  14,  0,  197 },\r
+  {  14,  0,  383 }, {  15,  0,   53 }, {  17,  0,   63 }, {  19,  0,   46 },\r
+  {  19,  0,   98 }, {  19,  0,  106 }, { 148,  0,   85 }, {   7,  0, 1356 },\r
+  { 132, 10,  290 }, {   6, 10,   70 }, {   7, 10, 1292 }, {  10, 10,  762 },\r
+  { 139, 10,  288 }, { 150, 11,   55 }, {   4,  0,  593 }, {   8, 11,  115 },\r
+  {   8, 11,  350 }, {   9, 11,  489 }, {  10, 11,  128 }, {  11, 11,  306 },\r
+  {  12, 11,  373 }, {  14, 11,   30 }, {  17, 11,   79 }, { 147, 11,   80 },\r
+  { 135, 11, 1235 }, { 134,  0, 1392 }, {   4, 11,  230 }, { 133, 11,  702 },\r
+  { 147,  0,  126 }, {   7, 10,  131 }, {   7, 10,  422 }, {   8, 10,  210 },\r
+  { 140, 10,  573 }, { 134,  0, 1179 }, { 139, 11,  435 }, { 139, 10,  797 },\r
+  { 134, 11, 1728 }, {   4,  0,  162 }, {  18, 11,   26 }, {  19, 11,   42 },\r
+  {  20, 11,   43 }, {  21, 11,    0 }, {  23, 11,   27 }, { 152, 11,   14 },\r
+  { 132, 10,  936 }, {   6,  0,  765 }, {   5, 10,  453 }, { 134, 10,  441 },\r
+  { 133,  0,  187 }, { 135,  0, 1286 }, {   6,  0,  635 }, {   6,  0,  904 },\r
+  {   6,  0, 1210 }, { 134,  0, 1489 }, {   4,  0,  215 }, {   8,  0,  890 },\r
+  {   9,  0,   38 }, {  10,  0,  923 }, {  11,  0,   23 }, {  11,  0,  127 },\r
+  { 139,  0,  796 }, {   6,  0, 1165 }, { 134,  0, 1306 }, {   7,  0,  716 },\r
+  {  13,  0,   97 }, { 141,  0,  251 }, { 132, 10,  653 }, { 136,  0,  657 },\r
+  { 146, 10,   80 }, {   5, 11,  622 }, {   7, 11, 1032 }, {  11, 11,   26 },\r
+  {  11, 11,  213 }, {  11, 11,  707 }, {  12, 11,  380 }, {  13, 11,  226 },\r
+  { 141, 11,  355 }, {   6,  0,  299 }, {   5, 11,   70 }, {   6, 11,  334 },\r
+  {   9, 11,  171 }, {  11, 11,  637 }, {  12, 11,  202 }, {  14, 11,  222 },\r
+  { 145, 11,   42 }, { 142,  0,  134 }, {   4, 11,   23 }, {   5, 11,  313 },\r
+  {   5, 11, 1014 }, {   6, 11,   50 }, {   6, 11,   51 }, {   7, 11,  142 },\r
+  {   7, 11,  384 }, {   9, 11,  783 }, { 139, 11,  741 }, {   4, 11,  141 },\r
+  {   7, 11,  559 }, {   8, 11,  640 }, {   9, 11,  460 }, {  12, 11,  183 },\r
+  { 141, 11,  488 }, { 136, 11,  614 }, {   7, 10, 1368 }, {   8, 10,  232 },\r
+  {   8, 10,  361 }, {  10, 10,  682 }, { 138, 10,  742 }, { 137, 10,  534 },\r
+  {   6,  0, 1082 }, { 140,  0,  658 }, { 137, 10,   27 }, { 135,  0, 2002 },\r
+  { 142, 10,   12 }, {   4,  0,   28 }, {   5,  0,  440 }, {   7,  0,  248 },\r
+  {  11,  0,  833 }, { 140,  0,  344 }, {   7, 10,  736 }, { 139, 10,  264 },\r
+  { 134, 10, 1657 }, { 134,  0, 1654 }, { 138,  0,  531 }, {   5, 11,  222 },\r
+  {   9, 11,  140 }, { 138, 11,  534 }, {   6,  0,  634 }, {   6,  0,  798 },\r
+  { 134,  0,  840 }, { 138, 11,  503 }, { 135, 10,  127 }, { 133,  0,  853 },\r
+  {   5, 11,  154 }, {   7, 11, 1491 }, {  10, 11,  379 }, { 138, 11,  485 },\r
+  {   6,  0,  249 }, {   7,  0, 1234 }, { 139,  0,  573 }, { 133, 11,  716 },\r
+  {   7, 11, 1570 }, { 140, 11,  542 }, { 136, 10,  364 }, { 138,  0,  527 },\r
+  {   4, 11,   91 }, {   5, 11,  388 }, {   5, 11,  845 }, {   6, 11,  206 },\r
+  {   6, 11,  252 }, {   6, 11,  365 }, {   7, 11,  136 }, {   7, 11,  531 },\r
+  {   8, 11,  264 }, { 136, 11,  621 }, { 134,  0, 1419 }, { 135, 11, 1441 },\r
+  {   7,  0,   49 }, {   7,  0,  392 }, {   8,  0,   20 }, {   8,  0,  172 },\r
+  {   8,  0,  690 }, {   9,  0,  383 }, {   9,  0,  845 }, {  10,  0,   48 },\r
+  {  11,  0,  293 }, {  11,  0,  832 }, {  11,  0,  920 }, {  11,  0,  984 },\r
+  { 141,  0,  221 }, {   5,  0,  858 }, { 133,  0,  992 }, {   5,  0,  728 },\r
+  { 137, 10,  792 }, {   5, 10,  909 }, {   9, 10,  849 }, { 138, 10,  805 },\r
+  {   7,  0,  525 }, {   7,  0, 1579 }, {   8,  0,  497 }, { 136,  0,  573 },\r
+  {   6,  0,  268 }, { 137,  0,   62 }, { 135, 11,  576 }, { 134,  0, 1201 },\r
+  {   5, 11,  771 }, {   5, 11,  863 }, {   5, 11,  898 }, {   6, 11, 1632 },\r
+  {   6, 11, 1644 }, { 134, 11, 1780 }, { 133, 11,  331 }, {   7,  0,  193 },\r
+  {   7,  0, 1105 }, {  10,  0,  495 }, {   7, 10,  397 }, {   8, 10,  124 },\r
+  {   8, 10,  619 }, {   9, 10,  305 }, {  11, 10,   40 }, {  12, 10,  349 },\r
+  {  13, 10,  134 }, {  13, 10,  295 }, {  14, 10,  155 }, {  15, 10,  120 },\r
+  { 146, 10,  105 }, { 138,  0,  106 }, {   6,  0,  859 }, {   5, 11,  107 },\r
+  {   7, 11,  201 }, { 136, 11,  518 }, {   6, 11,  446 }, { 135, 11, 1817 },\r
+  {  13,  0,   23 }, {   4, 10,  262 }, { 135, 10,  342 }, { 133, 10,  641 },\r
+  { 137, 11,  851 }, {   6,  0,  925 }, { 137,  0,  813 }, { 132, 11,  504 },\r
+  {   6,  0,  613 }, { 136,  0,  223 }, {   4, 10,   99 }, {   6, 10,  250 },\r
+  {   6, 10,  346 }, {   8, 10,  127 }, { 138, 10,   81 }, { 136,  0,  953 },\r
+  { 132, 10,  915 }, { 139, 11,  892 }, {   5, 10,   75 }, {   9, 10,  517 },\r
+  {  10, 10,  470 }, {  12, 10,  155 }, { 141, 10,  224 }, {   4,  0,  666 },\r
+  {   7,  0, 1017 }, {   7, 11,  996 }, { 138, 11,  390 }, {   5, 11,  883 },\r
+  { 133, 11,  975 }, {  14, 10,   83 }, { 142, 11,   83 }, {   4,  0,  670 },\r
+  {   5, 11,  922 }, { 134, 11, 1707 }, { 135,  0,  216 }, {   9,  0,   40 },\r
+  {  11,  0,  136 }, { 135, 11,  787 }, {   5, 10,  954 }, {   5, 11,  993 },\r
+  {   7, 11,  515 }, { 137, 11,   91 }, { 139,  0,  259 }, {   7,  0, 1114 },\r
+  {   9,  0,  310 }, {   9,  0,  682 }, {  10,  0,  440 }, {  13,  0,   40 },\r
+  {   6, 10,  304 }, {   8, 10,  418 }, {  11, 10,  341 }, { 139, 10,  675 },\r
+  {  14,  0,  296 }, {   9, 10,  410 }, { 139, 10,  425 }, {  10, 11,  377 },\r
+  {  12, 11,  363 }, {  13, 11,   68 }, {  13, 11,   94 }, {  14, 11,  108 },\r
+  { 142, 11,  306 }, {   7,  0, 1401 }, { 135,  0, 1476 }, {   4,  0,  296 },\r
+  {   6,  0,  475 }, {   7,  0,  401 }, {   7,  0, 1410 }, {   7,  0, 1594 },\r
+  {   7,  0, 1674 }, {   8,  0,   63 }, {   8,  0,  660 }, { 137,  0,   74 },\r
+  {   4,  0,  139 }, {   4,  0,  388 }, { 140,  0,  188 }, { 132,  0,  797 },\r
+  { 132, 11,  766 }, {   5, 11,  103 }, {   7, 11,  921 }, {   8, 11,  580 },\r
+  {   8, 11,  593 }, {   8, 11,  630 }, { 138, 11,   28 }, {   4, 11,  911 },\r
+  {   5, 11,  867 }, { 133, 11, 1013 }, { 134, 10,   14 }, { 134,  0, 1572 },\r
+  { 134, 10, 1708 }, {  21,  0,   39 }, {   5, 10,  113 }, {   6, 10,  243 },\r
+  {   7, 10, 1865 }, {  11, 10,  161 }, {  16, 10,   37 }, { 145, 10,   99 },\r
+  {   7, 11, 1563 }, { 141, 11,  182 }, {   5, 11,  135 }, {   6, 11,  519 },\r
+  {   7, 11, 1722 }, {  10, 11,  271 }, {  11, 11,  261 }, { 145, 11,   54 },\r
+  { 132, 10,  274 }, { 134,  0, 1594 }, {   4, 11,  300 }, {   5, 11,  436 },\r
+  { 135, 11,  484 }, {   4,  0,  747 }, {   6,  0,  290 }, {   7,  0,  649 },\r
+  {   7,  0, 1479 }, { 135,  0, 1583 }, { 133, 11,  535 }, { 147, 11,   82 },\r
+  { 133,  0,  232 }, { 137,  0,  887 }, { 135, 10,  166 }, { 136,  0,  521 },\r
+  {   4,  0,   14 }, {   7,  0,  472 }, {   7,  0, 1801 }, {  10,  0,  748 },\r
+  { 141,  0,  458 }, { 134,  0,  741 }, { 134,  0,  992 }, {  16,  0,  111 },\r
+  { 137, 10,  304 }, {   4,  0,  425 }, {   5, 11,  387 }, {   7, 11,  557 },\r
+  {  12, 11,  547 }, { 142, 11,   86 }, { 135, 11, 1747 }, {   5, 10,  654 },\r
+  { 135, 11, 1489 }, {   7,  0,  789 }, {   4, 11,    6 }, {   5, 11,  708 },\r
+  { 136, 11,   75 }, {   6, 10,  273 }, {  10, 10,  188 }, {  13, 10,  377 },\r
+  { 146, 10,   77 }, {   6,  0, 1593 }, {   4, 11,  303 }, {   7, 11,  619 },\r
+  {  10, 11,  547 }, {  10, 11,  687 }, {  11, 11,  122 }, { 140, 11,  601 },\r
+  { 134,  0, 1768 }, { 135, 10,  410 }, { 138, 11,  772 }, {  11,  0,  233 },\r
+  { 139, 10,  524 }, {   5,  0,  943 }, { 134,  0, 1779 }, { 134, 10, 1785 },\r
+  { 136, 11,  529 }, { 132,  0,  955 }, {   5,  0,  245 }, {   6,  0,  576 },\r
+  {   7,  0,  582 }, { 136,  0,  225 }, { 132, 10,  780 }, { 142,  0,  241 },\r
+  { 134,  0, 1943 }, {   4, 11,  106 }, {   7, 11,  310 }, {   7, 11, 1785 },\r
+  {  10, 11,  690 }, { 139, 11,  717 }, { 134,  0, 1284 }, {   5, 11,  890 },\r
+  { 133, 11,  988 }, {   6, 11,  626 }, { 142, 11,  431 }, {  10, 11,  706 },\r
+  { 145, 11,   32 }, { 137, 11,  332 }, { 132, 11,  698 }, { 135,  0,  709 },\r
+  {   5, 10,  948 }, { 138, 11,   17 }, { 136,  0,  554 }, { 134,  0, 1564 },\r
+  { 139, 10,  941 }, { 132,  0,  443 }, { 134,  0,  909 }, { 134, 11,   84 },\r
+  { 142,  0,  280 }, {   4, 10,  532 }, {   5, 10,  706 }, { 135, 10,  662 },\r
+  { 132,  0,  729 }, {   5, 10,  837 }, {   6, 10, 1651 }, { 139, 10,  985 },\r
+  { 135, 10, 1861 }, {   4,  0,  348 }, { 152, 11,    3 }, {   5, 11,  986 },\r
+  {   6, 11,  130 }, {   7, 11, 1582 }, {   8, 11,  458 }, {  10, 11,  101 },\r
+  {  10, 11,  318 }, { 138, 11,  823 }, { 134,  0,  758 }, {   4,  0,  298 },\r
+  { 137,  0,  848 }, {   4, 10,  330 }, {   7, 10,  933 }, {   7, 10, 2012 },\r
+  { 136, 10,  292 }, {   7, 11, 1644 }, { 137, 11,  129 }, {   6,  0, 1422 },\r
+  {   9,  0,  829 }, { 135, 10,  767 }, {   5,  0,  164 }, {   7,  0,  121 },\r
+  { 142,  0,  189 }, {   7,  0,  812 }, {   7,  0, 1261 }, {   7,  0, 1360 },\r
+  {   9,  0,  632 }, { 140,  0,  352 }, { 135, 11, 1788 }, { 139,  0,  556 },\r
+  { 135, 11,  997 }, { 145, 10,  114 }, {   4,  0,  172 }, {   9,  0,  611 },\r
+  {  10,  0,  436 }, {  12,  0,  673 }, {  13,  0,  255 }, { 137, 10,  883 },\r
+  {  11,  0,  530 }, { 138, 10,  274 }, { 133,  0,  844 }, { 134,  0,  984 },\r
+  {  13,  0,  232 }, {  18,  0,   35 }, {   4, 10,  703 }, { 135, 10,  207 },\r
+  { 132, 10,  571 }, {   9,  0,  263 }, {  10,  0,  147 }, { 138,  0,  492 },\r
+  {   7, 11, 1756 }, { 137, 11,   98 }, {   5, 10,  873 }, {   5, 10,  960 },\r
+  {   8, 10,  823 }, { 137, 10,  881 }, { 133,  0,  537 }, { 132,  0,  859 },\r
+  {   7, 11, 1046 }, { 139, 11,  160 }, { 137,  0,  842 }, { 139, 10,  283 },\r
+  {   5, 10,   33 }, {   6, 10,  470 }, { 139, 10,  424 }, {   6, 11,   45 },\r
+  {   7, 11,  433 }, {   8, 11,  129 }, {   9, 11,   21 }, {  10, 11,  392 },\r
+  {  11, 11,   79 }, {  12, 11,  499 }, {  13, 11,  199 }, { 141, 11,  451 },\r
+  { 135,  0, 1291 }, { 135, 10, 1882 }, {   7, 11,  558 }, { 136, 11,  353 },\r
+  { 134,  0, 1482 }, {   5,  0,  230 }, {   5,  0,  392 }, {   6,  0,  420 },\r
+  {   9,  0,  568 }, { 140,  0,  612 }, {   6,  0,  262 }, {   7, 10,   90 },\r
+  {   7, 10,  664 }, {   7, 10,  830 }, {   7, 10, 1380 }, {   7, 10, 2025 },\r
+  {   8, 11,   81 }, {   8, 10,  448 }, {   8, 10,  828 }, {   9, 11,  189 },\r
+  {   9, 11,  201 }, {  11, 11,  478 }, {  11, 11,  712 }, { 141, 11,  338 },\r
+  { 142,  0,   31 }, {   5, 11,  353 }, { 151, 11,   26 }, { 132,  0,  753 },\r
+  {   4,  0,    0 }, {   5,  0,   41 }, {   7,  0, 1459 }, {   7,  0, 1469 },\r
+  {   7,  0, 1859 }, {   9,  0,  549 }, { 139,  0,  905 }, {   9, 10,  417 },\r
+  { 137, 10,  493 }, { 135, 11, 1113 }, { 133,  0,  696 }, { 141, 11,  448 },\r
+  { 134, 10,  295 }, { 132,  0,  834 }, {   4,  0,  771 }, {   5, 10, 1019 },\r
+  {   6, 11,   25 }, {   7, 11,  855 }, {   7, 11, 1258 }, { 144, 11,   32 },\r
+  { 134,  0, 1076 }, { 133,  0,  921 }, { 133,  0,  674 }, {   4, 11,    4 },\r
+  {   7, 11, 1118 }, {   7, 11, 1320 }, {   7, 11, 1706 }, {   8, 11,  277 },\r
+  {   9, 11,  622 }, {  10, 11,    9 }, {  11, 11,  724 }, {  12, 11,  350 },\r
+  {  12, 11,  397 }, {  13, 11,   28 }, {  13, 11,  159 }, {  15, 11,   89 },\r
+  {  18, 11,    5 }, {  19, 11,    9 }, {  20, 11,   34 }, { 150, 11,   47 },\r
+  { 134, 10,  208 }, {   6,  0,  444 }, { 136,  0,  308 }, {   6,  0,  180 },\r
+  {   7,  0, 1137 }, {   8,  0,  751 }, { 139,  0,  805 }, {   4,  0,  183 },\r
+  {   7,  0,  271 }, {  11,  0,  824 }, {  11,  0,  952 }, {  13,  0,  278 },\r
+  {  13,  0,  339 }, {  13,  0,  482 }, {  14,  0,  424 }, { 148,  0,   99 },\r
+  {   7, 11,  317 }, { 135, 11,  569 }, {   4,  0,   19 }, {   5,  0,  477 },\r
+  {   5,  0,  596 }, {   6,  0,  505 }, {   7,  0, 1221 }, {  11,  0,  907 },\r
+  {  12,  0,  209 }, { 141,  0,  214 }, { 135,  0, 1215 }, {   6,  0,  271 },\r
+  {   7,  0,  398 }, {   8,  0,  387 }, {  10,  0,  344 }, {   7, 10,  448 },\r
+  {   7, 10, 1629 }, {   7, 10, 1813 }, {   8, 10,  442 }, {   9, 10,  710 },\r
+  {  10, 10,  282 }, { 138, 10,  722 }, {  11, 10,  844 }, {  12, 10,  104 },\r
+  { 140, 10,  625 }, { 134, 11,  255 }, { 133, 10,  787 }, { 134,  0, 1645 },\r
+  {  11, 11,  956 }, { 151, 11,    3 }, {   6,  0,   92 }, {   6,  0,  188 },\r
+  {   7,  0,  209 }, {   7,  0, 1269 }, {   7,  0, 1524 }, {   7,  0, 1876 },\r
+  {   8,  0,  661 }, {  10,  0,   42 }, {  10,  0,  228 }, {  11,  0,   58 },\r
+  {  11,  0, 1020 }, {  12,  0,   58 }, {  12,  0,  118 }, { 141,  0,   32 },\r
+  {   4,  0,  459 }, { 133,  0,  966 }, {   4, 11,  536 }, {   7, 11, 1141 },\r
+  {  10, 11,  723 }, { 139, 11,  371 }, { 140,  0,  330 }, { 134,  0, 1557 },\r
+  {   7, 11,  285 }, { 135, 11,  876 }, { 136, 10,  491 }, { 135, 11,  560 },\r
+  {   6,  0,   18 }, {   7,  0,  179 }, {   7,  0,  932 }, {   8,  0,  548 },\r
+  {   8,  0,  757 }, {   9,  0,   54 }, {   9,  0,   65 }, {   9,  0,  532 },\r
+  {   9,  0,  844 }, {  10,  0,  113 }, {  10,  0,  117 }, {  10,  0,  315 },\r
+  {  10,  0,  560 }, {  10,  0,  622 }, {  10,  0,  798 }, {  11,  0,  153 },\r
+  {  11,  0,  351 }, {  11,  0,  375 }, {  12,  0,   78 }, {  12,  0,  151 },\r
+  {  12,  0,  392 }, {  12,  0,  666 }, {  14,  0,  248 }, { 143,  0,   23 },\r
+  {   6,  0, 1742 }, { 132, 11,  690 }, {   4, 10,  403 }, {   5, 10,  441 },\r
+  {   7, 10,  450 }, {  10, 10,  840 }, {  11, 10,  101 }, {  12, 10,  193 },\r
+  { 141, 10,  430 }, { 133,  0,  965 }, { 134,  0,  182 }, {  10,  0,   65 },\r
+  {  10,  0,  488 }, { 138,  0,  497 }, { 135, 11, 1346 }, {   6,  0,  973 },\r
+  {   6,  0, 1158 }, {  10, 11,  200 }, {  19, 11,    2 }, { 151, 11,   22 },\r
+  {   4, 11,  190 }, { 133, 11,  554 }, { 133, 10,  679 }, {   7,  0,  328 },\r
+  { 137, 10,  326 }, { 133, 11, 1001 }, {   9,  0,  588 }, { 138,  0,  260 },\r
+  { 133, 11,  446 }, { 135, 10, 1128 }, { 135, 10, 1796 }, { 147, 11,  119 },\r
+  { 134,  0, 1786 }, {   6,  0, 1328 }, {   6,  0, 1985 }, {   8,  0,  962 },\r
+  { 138,  0, 1017 }, { 135,  0,  308 }, {  11,  0,  508 }, {   4, 10,  574 },\r
+  {   7, 10,  350 }, {   7, 10, 1024 }, {   8, 10,  338 }, {   9, 10,  677 },\r
+  { 138, 10,  808 }, { 138, 11,  752 }, { 135, 10, 1081 }, { 137, 11,   96 },\r
+  {   7, 10, 1676 }, { 135, 10, 2037 }, { 136,  0,  588 }, { 132, 11,  304 },\r
+  { 133,  0,  614 }, { 140,  0,  793 }, { 136,  0,  287 }, { 137, 10,  297 },\r
+  { 141, 10,   37 }, {   6, 11,   53 }, {   6, 11,  199 }, {   7, 11, 1408 },\r
+  {   8, 11,   32 }, {   8, 11,   93 }, {   9, 11,  437 }, {  10, 11,  397 },\r
+  {  10, 11,  629 }, {  11, 11,  593 }, {  11, 11,  763 }, {  13, 11,  326 },\r
+  { 145, 11,   35 }, { 134, 11,  105 }, {   9, 11,  320 }, {  10, 11,  506 },\r
+  { 138, 11,  794 }, {   5, 11,  114 }, {   5, 11,  255 }, { 141, 11,  285 },\r
+  { 140,  0,  290 }, {   7, 11, 2035 }, {   8, 11,   19 }, {   9, 11,   89 },\r
+  { 138, 11,  831 }, { 134,  0, 1136 }, {   7,  0,  719 }, {   8,  0,  796 },\r
+  {   8,  0,  809 }, {   8,  0,  834 }, {   6, 10,  306 }, {   7, 10, 1140 },\r
+  {   7, 10, 1340 }, {   8, 10,  133 }, { 138, 10,  449 }, { 139, 10, 1011 },\r
+  {   5,  0,  210 }, {   6,  0,  213 }, {   7,  0,   60 }, {  10,  0,  364 },\r
+  { 139,  0,  135 }, {   5,  0,  607 }, {   8,  0,  326 }, { 136,  0,  490 },\r
+  { 138, 11,  176 }, { 132,  0,  701 }, {   5,  0,  472 }, {   7,  0,  380 },\r
+  { 137,  0,  758 }, { 135,  0, 1947 }, {   6,  0, 1079 }, { 138,  0,  278 },\r
+  { 138, 11,  391 }, {   5, 10,  329 }, {   8, 10,  260 }, { 139, 11,  156 },\r
+  {   4,  0,  386 }, {   7,  0,   41 }, {   8,  0,  405 }, {   8,  0,  728 },\r
+  {   9,  0,  497 }, {  11,  0,  110 }, {  11,  0,  360 }, {  15,  0,   37 },\r
+  { 144,  0,   84 }, {   5,  0,   46 }, {   7,  0, 1452 }, {   7,  0, 1480 },\r
+  {   8,  0,  634 }, { 140,  0,  472 }, { 136,  0,  961 }, {   4,  0,  524 },\r
+  { 136,  0,  810 }, {  10,  0,  238 }, { 141,  0,   33 }, { 132, 10,  657 },\r
+  { 152, 10,    7 }, { 133,  0,  532 }, {   5,  0,  997 }, { 135, 10, 1665 },\r
+  {   7, 11,  594 }, {   7, 11,  851 }, {   7, 11, 1858 }, {   9, 11,  411 },\r
+  {   9, 11,  574 }, {   9, 11,  666 }, {   9, 11,  737 }, {  10, 11,  346 },\r
+  {  10, 11,  712 }, {  11, 11,  246 }, {  11, 11,  432 }, {  11, 11,  517 },\r
+  {  11, 11,  647 }, {  11, 11,  679 }, {  11, 11,  727 }, {  12, 11,  304 },\r
+  {  12, 11,  305 }, {  12, 11,  323 }, {  12, 11,  483 }, {  12, 11,  572 },\r
+  {  12, 11,  593 }, {  12, 11,  602 }, {  13, 11,   95 }, {  13, 11,  101 },\r
+  {  13, 11,  171 }, {  13, 11,  315 }, {  13, 11,  378 }, {  13, 11,  425 },\r
+  {  13, 11,  475 }, {  14, 11,   63 }, {  14, 11,  380 }, {  14, 11,  384 },\r
+  {  15, 11,  133 }, {  18, 11,  112 }, { 148, 11,   72 }, {   5, 11,  955 },\r
+  { 136, 11,  814 }, { 134,  0, 1301 }, {   5, 10,   66 }, {   7, 10, 1896 },\r
+  { 136, 10,  288 }, { 133, 11,   56 }, { 134, 10, 1643 }, {   6,  0, 1298 },\r
+  { 148, 11,  100 }, {   5,  0,  782 }, {   5,  0,  829 }, {   6,  0,  671 },\r
+  {   6,  0, 1156 }, {   6,  0, 1738 }, { 137, 11,  621 }, {   4,  0,  306 },\r
+  {   5,  0,  570 }, {   7,  0, 1347 }, {   5, 10,   91 }, {   5, 10,  648 },\r
+  {   5, 10,  750 }, {   5, 10,  781 }, {   6, 10,   54 }, {   6, 10,  112 },\r
+  {   6, 10,  402 }, {   6, 10, 1732 }, {   7, 10,  315 }, {   7, 10,  749 },\r
+  {   7, 10, 1900 }, {   9, 10,   78 }, {   9, 10,  508 }, {  10, 10,  611 },\r
+  {  10, 10,  811 }, {  11, 10,  510 }, {  11, 10,  728 }, {  13, 10,   36 },\r
+  {  14, 10,   39 }, {  16, 10,   83 }, {  17, 10,  124 }, { 148, 10,   30 },\r
+  {   8, 10,  570 }, {   9, 11,  477 }, { 141, 11,   78 }, {   4, 11,  639 },\r
+  {  10, 11,    4 }, {  10, 10,  322 }, {  10, 10,  719 }, {  11, 10,  407 },\r
+  {  11, 11,  638 }, {  12, 11,  177 }, { 148, 11,   57 }, {   7,  0, 1823 },\r
+  { 139,  0,  693 }, {   7,  0,  759 }, {   5, 11,  758 }, {   8, 10,  125 },\r
+  {   8, 10,  369 }, {   8, 10,  524 }, {  10, 10,  486 }, {  11, 10,   13 },\r
+  {  11, 10,  381 }, {  11, 10,  736 }, {  11, 10,  766 }, {  11, 10,  845 },\r
+  {  13, 10,  114 }, {  13, 10,  292 }, { 142, 10,   47 }, {   7,  0, 1932 },\r
+  {   6, 10, 1684 }, {   6, 10, 1731 }, {   7, 10,  356 }, {   8, 10,   54 },\r
+  {   8, 10,  221 }, {   9, 10,  225 }, {   9, 10,  356 }, {  10, 10,   77 },\r
+  {  10, 10,  446 }, {  10, 10,  731 }, {  12, 10,  404 }, { 141, 10,  491 },\r
+  { 135, 11,  552 }, { 135, 11, 1112 }, {   4,  0,   78 }, {   5,  0,   96 },\r
+  {   5,  0,  182 }, {   6,  0, 1257 }, {   7,  0, 1724 }, {   7,  0, 1825 },\r
+  {  10,  0,  394 }, {  10,  0,  471 }, {  11,  0,  532 }, {  14,  0,  340 },\r
+  { 145,  0,   88 }, { 139, 11,  328 }, { 135,  0, 1964 }, { 132, 10,  411 },\r
+  {   4, 10,   80 }, {   5, 10,   44 }, { 137, 11,  133 }, {   5, 11,  110 },\r
+  {   6, 11,  169 }, {   6, 11, 1702 }, {   7, 11,  400 }, {   8, 11,  538 },\r
+  {   9, 11,  184 }, {   9, 11,  524 }, { 140, 11,  218 }, {   4,  0,  521 },\r
+  {   5, 10,  299 }, {   7, 10, 1083 }, { 140, 11,  554 }, {   6, 11,  133 },\r
+  {   9, 11,  353 }, {  12, 11,  628 }, { 146, 11,   79 }, {   6,  0,  215 },\r
+  {   7,  0,  584 }, {   7,  0, 1028 }, {   7,  0, 1473 }, {   7,  0, 1721 },\r
+  {   9,  0,  424 }, { 138,  0,  779 }, {   7,  0,  857 }, {   7,  0, 1209 },\r
+  {   7, 10, 1713 }, {   9, 10,  537 }, {  10, 10,  165 }, {  12, 10,  219 },\r
+  { 140, 10,  561 }, {   4, 10,  219 }, {   6, 11,   93 }, {   7, 11, 1422 },\r
+  {   7, 10, 1761 }, {   7, 11, 1851 }, {   8, 11,  673 }, {   9, 10,   86 },\r
+  {   9, 11,  529 }, { 140, 11,   43 }, { 137, 11,  371 }, { 136,  0,  671 },\r
+  {   5,  0,  328 }, { 135,  0,  918 }, { 132,  0,  529 }, {   9, 11,   25 },\r
+  {  10, 11,  467 }, { 138, 11,  559 }, {   4, 11,  335 }, { 135, 11,  942 },\r
+  { 134,  0,  716 }, { 134,  0, 1509 }, {   6,  0,   67 }, {   7,  0,  258 },\r
+  {   7,  0, 1630 }, {   9,  0,  354 }, {   9,  0,  675 }, {  10,  0,  830 },\r
+  {  14,  0,   80 }, {  17,  0,   80 }, { 140, 10,  428 }, { 134,  0, 1112 },\r
+  {   6,  0,  141 }, {   7,  0,  225 }, {   9,  0,   59 }, {   9,  0,  607 },\r
+  {  10,  0,  312 }, {  11,  0,  687 }, {  12,  0,  555 }, {  13,  0,  373 },\r
+  {  13,  0,  494 }, { 148,  0,   58 }, { 133, 10,  514 }, {   8, 11,   39 },\r
+  {  10, 11,  773 }, {  11, 11,   84 }, {  12, 11,  205 }, { 142, 11,    1 },\r
+  {   8,  0,  783 }, {   5, 11,  601 }, { 133, 11,  870 }, { 136, 11,  594 },\r
+  {   4, 10,   55 }, {   5, 10,  301 }, {   6, 10,  571 }, {  14, 10,   49 },\r
+  { 146, 10,  102 }, { 132, 11,  181 }, { 134, 11, 1652 }, { 133, 10,  364 },\r
+  {   4, 11,   97 }, {   5, 11,  147 }, {   6, 11,  286 }, {   7, 11, 1362 },\r
+  { 141, 11,  176 }, {   4, 10,   76 }, {   7, 10, 1550 }, {   9, 10,  306 },\r
+  {   9, 10,  430 }, {   9, 10,  663 }, {  10, 10,  683 }, {  11, 10,  427 },\r
+  {  11, 10,  753 }, {  12, 10,  334 }, {  12, 10,  442 }, {  14, 10,  258 },\r
+  {  14, 10,  366 }, { 143, 10,  131 }, { 137, 10,   52 }, {   6,  0,  955 },\r
+  { 134,  0, 1498 }, {   6, 11,  375 }, {   7, 11,  169 }, {   7, 11,  254 },\r
+  { 136, 11,  780 }, {   7,  0,  430 }, {  11,  0,   46 }, {  14,  0,  343 },\r
+  { 142, 11,  343 }, { 135,  0, 1183 }, {   5,  0,  602 }, {   7,  0, 2018 },\r
+  {   9,  0,  418 }, {   9,  0,  803 }, { 135, 11, 1447 }, {   8,  0,  677 },\r
+  { 135, 11, 1044 }, { 139, 11,  285 }, {   4, 10,  656 }, { 135, 10,  779 },\r
+  { 135, 10,  144 }, {   5, 11,  629 }, { 135, 11, 1549 }, { 135, 10, 1373 },\r
+  { 138, 11,  209 }, {   7, 10,  554 }, {   7, 10,  605 }, { 141, 10,   10 },\r
+  {   5, 10,  838 }, {   5, 10,  841 }, { 134, 10, 1649 }, { 133, 10, 1012 },\r
+  {   6,  0, 1357 }, { 134,  0, 1380 }, { 144,  0,   53 }, {   6,  0,  590 },\r
+  {   7, 10,  365 }, {   7, 10, 1357 }, {   7, 10, 1497 }, {   8, 10,  154 },\r
+  { 141, 10,  281 }, { 133, 10,  340 }, { 132, 11,  420 }, { 135,  0,  329 },\r
+  { 147, 11,   32 }, {   4,  0,  469 }, {  10, 11,  429 }, { 139, 10,  495 },\r
+  {   8, 10,  261 }, {   9, 10,  144 }, {   9, 10,  466 }, {  10, 10,  370 },\r
+  {  12, 10,  470 }, {  13, 10,  144 }, { 142, 10,  348 }, { 142,  0,  460 },\r
+  {   4, 11,  325 }, {   9, 10,  897 }, { 138, 11,  125 }, {   6,  0, 1743 },\r
+  {   6, 10,  248 }, {   9, 10,  546 }, {  10, 10,  535 }, {  11, 10,  681 },\r
+  { 141, 10,  135 }, {   4,  0,  990 }, {   5,  0,  929 }, {   6,  0,  340 },\r
+  {   8,  0,  376 }, {   8,  0,  807 }, {   8,  0,  963 }, {   8,  0,  980 },\r
+  { 138,  0, 1007 }, { 134,  0, 1603 }, { 140,  0,  250 }, {   4, 11,  714 },\r
+  { 133, 11,  469 }, { 134, 10,  567 }, { 136, 10,  445 }, {   5,  0,  218 },\r
+  {   7,  0, 1610 }, {   8,  0,  646 }, {  10,  0,   83 }, {  11, 11,  138 },\r
+  { 140, 11,   40 }, {   7,  0, 1512 }, { 135,  0, 1794 }, { 135, 11, 1216 },\r
+  {  11,  0,    0 }, {  16,  0,   78 }, { 132, 11,  718 }, { 133,  0,  571 },\r
+  { 132,  0,  455 }, { 134,  0, 1012 }, {   5, 11,  124 }, {   5, 11,  144 },\r
+  {   6, 11,  548 }, {   7, 11,   15 }, {   7, 11,  153 }, { 137, 11,  629 },\r
+  { 142, 11,   10 }, {   6, 11,   75 }, {   7, 11, 1531 }, {   8, 11,  416 },\r
+  {   9, 11,  240 }, {   9, 11,  275 }, {  10, 11,  100 }, {  11, 11,  658 },\r
+  {  11, 11,  979 }, {  12, 11,   86 }, {  13, 11,  468 }, {  14, 11,   66 },\r
+  {  14, 11,  207 }, {  15, 11,   20 }, {  15, 11,   25 }, { 144, 11,   58 },\r
+  { 132, 10,  577 }, {   5, 11,  141 }, {   5, 11,  915 }, {   6, 11, 1783 },\r
+  {   7, 11,  211 }, {   7, 11,  698 }, {   7, 11, 1353 }, {   9, 11,   83 },\r
+  {   9, 11,  281 }, {  10, 11,  376 }, {  10, 11,  431 }, {  11, 11,  543 },\r
+  {  12, 11,  664 }, {  13, 11,  280 }, {  13, 11,  428 }, {  14, 11,   61 },\r
+  {  14, 11,  128 }, {  17, 11,   52 }, { 145, 11,   81 }, {   6,  0,  161 },\r
+  {   7,  0,  372 }, { 137,  0,  597 }, { 132,  0,  349 }, {  10, 11,  702 },\r
+  { 139, 11,  245 }, { 134,  0,  524 }, { 134, 10,  174 }, {   6,  0,  432 },\r
+  {   9,  0,  751 }, { 139,  0,  322 }, { 147, 11,   94 }, {   4, 11,  338 },\r
+  { 133, 11,  400 }, {   5,  0,  468 }, {  10,  0,  325 }, {  11,  0,  856 },\r
+  {  12,  0,  345 }, { 143,  0,  104 }, { 133,  0,  223 }, { 132,  0,  566 },\r
+  {   4, 11,  221 }, {   5, 11,  659 }, {   5, 11,  989 }, {   7, 11,  697 },\r
+  {   7, 11, 1211 }, { 138, 11,  284 }, { 135, 11, 1070 }, {   4,  0,   59 },\r
+  { 135,  0, 1394 }, {   6,  0,  436 }, {  11,  0,  481 }, {   5, 10,  878 },\r
+  { 133, 10,  972 }, {   4,  0,   48 }, {   5,  0,  271 }, { 135,  0,  953 },\r
+  {   5,  0,  610 }, { 136,  0,  457 }, {   4,  0,  773 }, {   5,  0,  618 },\r
+  { 137,  0,  756 }, { 133,  0,  755 }, { 135,  0, 1217 }, { 138, 11,  507 },\r
+  { 132, 10,  351 }, { 132,  0,  197 }, { 143, 11,   78 }, {   4, 11,  188 },\r
+  {   7, 11,  805 }, {  11, 11,  276 }, { 142, 11,  293 }, {   5, 11,  884 },\r
+  { 139, 11,  991 }, { 132, 10,  286 }, {  10,  0,  259 }, {  10,  0,  428 },\r
+  {   7, 10,  438 }, {   7, 10,  627 }, {   7, 10, 1516 }, {   8, 10,   40 },\r
+  {   9, 10,   56 }, {   9, 10,  294 }, {  11, 10,  969 }, {  11, 10,  995 },\r
+  { 146, 10,  148 }, {   4,  0,  356 }, {   5,  0,  217 }, {   5,  0,  492 },\r
+  {   5,  0,  656 }, {   8,  0,  544 }, { 136, 11,  544 }, {   5,  0,  259 },\r
+  {   6,  0, 1230 }, {   7,  0,  414 }, {   7,  0,  854 }, { 142,  0,  107 },\r
+  { 132,  0, 1007 }, {  15,  0,   14 }, { 144,  0,    5 }, {   6,  0, 1580 },\r
+  { 132, 10,  738 }, { 132, 11,  596 }, { 132,  0,  673 }, { 133, 10,  866 },\r
+  {   6,  0, 1843 }, { 135, 11, 1847 }, {   4,  0,  165 }, {   7,  0, 1398 },\r
+  { 135,  0, 1829 }, { 135, 11, 1634 }, { 147, 11,   65 }, {   6,  0,  885 },\r
+  {   6,  0, 1009 }, { 137,  0,  809 }, { 133, 10,  116 }, { 132, 10,  457 },\r
+  { 136, 11,  770 }, {   9,  0,  498 }, {  12,  0,  181 }, {  10, 11,  361 },\r
+  { 142, 11,  316 }, { 134, 11,  595 }, {   5,  0,    9 }, {   7,  0,  297 },\r
+  {   7,  0,  966 }, { 140,  0,  306 }, {   4, 11,   89 }, {   5, 11,  489 },\r
+  {   6, 11,  315 }, {   7, 11,  553 }, {   7, 11, 1745 }, { 138, 11,  243 },\r
+  { 134,  0, 1487 }, { 132,  0,  437 }, {   5,  0,  146 }, {   6,  0,  411 },\r
+  { 138,  0,  721 }, {   5, 10,  527 }, {   6, 10,  189 }, { 135, 10,  859 },\r
+  {  11, 10,  104 }, {  11, 10,  554 }, {  15, 10,   60 }, { 143, 10,  125 },\r
+  {   6, 11, 1658 }, {   9, 11,    3 }, {  10, 11,  154 }, {  11, 11,  641 },\r
+  {  13, 11,   85 }, {  13, 11,  201 }, { 141, 11,  346 }, {   6,  0,  177 },\r
+  { 135,  0,  467 }, { 134,  0, 1377 }, { 134, 10,  116 }, { 136, 11,  645 },\r
+  {   4, 11,  166 }, {   5, 11,  505 }, {   6, 11, 1670 }, { 137, 11,  110 },\r
+  { 133, 10,  487 }, {   4, 10,   86 }, {   5, 10,  667 }, {   5, 10,  753 },\r
+  {   6, 10,  316 }, {   6, 10,  455 }, { 135, 10,  946 }, { 133,  0,  200 },\r
+  { 132,  0,  959 }, {   6,  0, 1928 }, { 134,  0, 1957 }, { 139, 11,  203 },\r
+  { 150, 10,   45 }, {   4, 10,   79 }, {   7, 10, 1773 }, {  10, 10,  450 },\r
+  {  11, 10,  589 }, {  13, 10,  332 }, {  13, 10,  493 }, {  14, 10,  183 },\r
+  {  14, 10,  334 }, {  14, 10,  362 }, {  14, 10,  368 }, {  14, 10,  376 },\r
+  {  14, 10,  379 }, {  19, 10,   90 }, {  19, 10,  103 }, {  19, 10,  127 },\r
+  { 148, 10,   90 }, {   6,  0, 1435 }, { 135, 11, 1275 }, { 134,  0,  481 },\r
+  {   7, 11,  445 }, {   8, 11,  307 }, {   8, 11,  704 }, {  10, 11,   41 },\r
+  {  10, 11,  439 }, {  11, 11,  237 }, {  11, 11,  622 }, { 140, 11,  201 },\r
+  { 135, 11,  869 }, {   4,  0,   84 }, {   7,  0, 1482 }, {  10,  0,   76 },\r
+  { 138,  0,  142 }, {  11, 11,  277 }, { 144, 11,   14 }, { 135, 11, 1977 },\r
+  {   4, 11,  189 }, {   5, 11,  713 }, { 136, 11,   57 }, { 133,  0, 1015 },\r
+  { 138, 11,  371 }, {   4,  0,  315 }, {   5,  0,  507 }, { 135,  0, 1370 },\r
+  {   4, 11,  552 }, { 142, 10,  381 }, {   9,  0,  759 }, {  16,  0,   31 },\r
+  {  16,  0,   39 }, {  16,  0,   75 }, {  18,  0,   24 }, {  20,  0,   42 },\r
+  { 152,  0,    1 }, { 134,  0,  712 }, { 134,  0, 1722 }, { 133, 10,  663 },\r
+  { 133, 10,  846 }, {   8,  0,  222 }, {   8,  0,  476 }, {   9,  0,  238 },\r
+  {  11,  0,  516 }, {  11,  0,  575 }, {  15,  0,  109 }, { 146,  0,  100 },\r
+  {   7,  0, 1402 }, {   7,  0, 1414 }, {  12,  0,  456 }, {   5, 10,  378 },\r
+  {   8, 10,  465 }, {   9, 10,  286 }, {  10, 10,  185 }, {  10, 10,  562 },\r
+  {  10, 10,  635 }, {  11, 10,   31 }, {  11, 10,  393 }, {  13, 10,  312 },\r
+  {  18, 10,   65 }, {  18, 10,   96 }, { 147, 10,   89 }, {   4,  0,  986 },\r
+  {   6,  0, 1958 }, {   6,  0, 2032 }, {   8,  0,  934 }, { 138,  0,  985 },\r
+  {   7, 10, 1880 }, {   9, 10,  680 }, { 139, 10,  798 }, { 134, 10, 1770 },\r
+  { 145, 11,   49 }, { 132, 11,  614 }, { 132, 10,  648 }, {   5, 10,  945 },\r
+  {   6, 10, 1656 }, {   6, 10, 1787 }, {   7, 10,  167 }, {   8, 10,  824 },\r
+  {   9, 10,  391 }, {  10, 10,  375 }, { 139, 10,  185 }, { 138, 11,  661 },\r
+  {   7,  0, 1273 }, { 135, 11, 1945 }, {   7,  0,  706 }, {   7,  0, 1058 },\r
+  { 138,  0,  538 }, {   7, 10, 1645 }, {   8, 10,  352 }, { 137, 10,  249 },\r
+  { 132, 10,  152 }, {  11,  0,   92 }, {  11,  0,  196 }, {  11,  0,  409 },\r
+  {  11,  0,  450 }, {  11,  0,  666 }, {  11,  0,  777 }, {  12,  0,  262 },\r
+  {  13,  0,  385 }, {  13,  0,  393 }, {  15,  0,  115 }, {  16,  0,   45 },\r
+  { 145,  0,   82 }, { 133, 10, 1006 }, {   6,  0,   40 }, { 135,  0, 1781 },\r
+  {   9, 11,  614 }, { 139, 11,  327 }, {   5, 10,  420 }, { 135, 10, 1449 },\r
+  { 135,  0,  431 }, {  10,  0,   97 }, { 135, 10,  832 }, {   6,  0,  423 },\r
+  {   7,  0,  665 }, { 135,  0, 1210 }, {   7,  0,  237 }, {   8,  0,  664 },\r
+  {   9,  0,   42 }, {   9,  0,  266 }, {   9,  0,  380 }, {   9,  0,  645 },\r
+  {  10,  0,  177 }, { 138,  0,  276 }, {   7,  0,  264 }, { 133, 10,  351 },\r
+  {   8,  0,  213 }, {   5, 10,   40 }, {   7, 10,  598 }, {   7, 10, 1638 },\r
+  {   9, 10,  166 }, {   9, 10,  640 }, {   9, 10,  685 }, {   9, 10,  773 },\r
+  {  11, 10,  215 }, {  13, 10,   65 }, {  14, 10,  172 }, {  14, 10,  317 },\r
+  { 145, 10,    6 }, {   5, 11,   84 }, { 134, 11,  163 }, {   8, 10,   60 },\r
+  {   9, 10,  343 }, { 139, 10,  769 }, { 137,  0,  455 }, { 133, 11,  410 },\r
+  {   8,  0,  906 }, {  12,  0,  700 }, {  12,  0,  706 }, { 140,  0,  729 },\r
+  {  21, 11,   33 }, { 150, 11,   40 }, {   7, 10, 1951 }, {   8, 10,  765 },\r
+  {   8, 10,  772 }, { 140, 10,  671 }, {   7, 10,  108 }, {   8, 10,  219 },\r
+  {   8, 10,  388 }, {   9, 10,  639 }, {   9, 10,  775 }, {  11, 10,  275 },\r
+  { 140, 10,  464 }, {   5, 11,  322 }, {   7, 11, 1941 }, {   8, 11,  186 },\r
+  {   9, 11,  262 }, {  10, 11,  187 }, {  14, 11,  208 }, { 146, 11,  130 },\r
+  { 139,  0,  624 }, {   8,  0,  574 }, {   5, 11,  227 }, { 140, 11,   29 },\r
+  {   7, 11, 1546 }, {  11, 11,  299 }, { 142, 11,  407 }, {   5, 10,   15 },\r
+  {   6, 10,   56 }, {   7, 10, 1758 }, {   8, 10,  500 }, {   9, 10,  730 },\r
+  {  11, 10,  331 }, {  13, 10,  150 }, { 142, 10,  282 }, {   7, 11, 1395 },\r
+  {   8, 11,  486 }, {   9, 11,  236 }, {   9, 11,  878 }, {  10, 11,  218 },\r
+  {  11, 11,   95 }, {  19, 11,   17 }, { 147, 11,   31 }, { 135, 11, 2043 },\r
+  {   4,  0,  354 }, { 146, 11,    4 }, { 140, 11,   80 }, { 135,  0, 1558 },\r
+  { 134, 10, 1886 }, {   5, 10,  205 }, {   6, 10,  438 }, { 137, 10,  711 },\r
+  { 133, 11,  522 }, { 133, 10,  534 }, {   7,  0,  235 }, {   7,  0, 1475 },\r
+  {  15,  0,   68 }, { 146,  0,  120 }, { 137, 10,  691 }, {   4,  0,  942 },\r
+  {   6,  0, 1813 }, {   8,  0,  917 }, {  10,  0,  884 }, {  12,  0,  696 },\r
+  {  12,  0,  717 }, {  12,  0,  723 }, {  12,  0,  738 }, {  12,  0,  749 },\r
+  {  12,  0,  780 }, {  16,  0,   97 }, { 146,  0,  169 }, {   6, 10,  443 },\r
+  {   8, 11,  562 }, {   9, 10,  237 }, {   9, 10,  571 }, {   9, 10,  695 },\r
+  {  10, 10,  139 }, {  11, 10,  715 }, {  12, 10,  417 }, { 141, 10,  421 },\r
+  { 135,  0,  957 }, { 133,  0,  830 }, { 134, 11, 1771 }, { 146,  0,   23 },\r
+  {   5,  0,  496 }, {   6,  0,  694 }, {   7,  0,  203 }, {   7, 11, 1190 },\r
+  { 137, 11,  620 }, { 137, 11,  132 }, {   6,  0,  547 }, { 134,  0, 1549 },\r
+  {   8, 11,  258 }, {   9, 11,  208 }, { 137, 11,  359 }, {   4,  0,  864 },\r
+  {   5,  0,   88 }, { 137,  0,  239 }, { 135, 11,  493 }, {   4, 11,  317 },\r
+  { 135, 11, 1279 }, { 132, 11,  477 }, {   4, 10,  578 }, {   5, 11,   63 },\r
+  { 133, 11,  509 }, {   7,  0,  650 }, { 135,  0, 1310 }, {   7,  0, 1076 },\r
+  {   9,  0,   80 }, {  11,  0,   78 }, {  11,  0,  421 }, {  11,  0,  534 },\r
+  { 140,  0,  545 }, { 132, 11,  288 }, {  12,  0,  553 }, {  14,  0,  118 },\r
+  { 133, 10,  923 }, {   7,  0,  274 }, {  11,  0,  479 }, { 139,  0,  507 },\r
+  {   8, 11,   89 }, {   8, 11,  620 }, {   9, 11,   49 }, {  10, 11,  774 },\r
+  {  11, 11,  628 }, {  12, 11,  322 }, { 143, 11,  124 }, {   4,  0,  497 },\r
+  { 135,  0, 1584 }, {   7,  0,  261 }, {   7,  0, 1115 }, {   7,  0, 1354 },\r
+  {   7,  0, 1404 }, {   7,  0, 1588 }, {   7,  0, 1705 }, {   7,  0, 1902 },\r
+  {   9,  0,  465 }, {  10,  0,  248 }, {  10,  0,  349 }, {  10,  0,  647 },\r
+  {  11,  0,  527 }, {  11,  0,  660 }, {  11,  0,  669 }, {  12,  0,  529 },\r
+  {  13,  0,  305 }, { 132, 10,  924 }, { 133, 10,  665 }, { 136,  0,   13 },\r
+  {   6,  0,  791 }, { 138, 11,  120 }, {   7,  0,  642 }, {   8,  0,  250 },\r
+  {  11,  0,  123 }, {  11,  0,  137 }, {  13,  0,   48 }, { 142,  0,   95 },\r
+  {   4, 10,  265 }, {   7, 10,  807 }, { 135, 10,  950 }, {   5, 10,   93 },\r
+  { 140, 10,  267 }, { 135,  0, 1429 }, {   4,  0,  949 }, {  10,  0,  885 },\r
+  {  10,  0,  891 }, {  10,  0,  900 }, {  10,  0,  939 }, {  12,  0,  760 },\r
+  { 142,  0,  449 }, { 139, 11,  366 }, { 132,  0,  818 }, { 134, 11,   85 },\r
+  { 135, 10,  994 }, {   7,  0,  330 }, {   5, 10,  233 }, {   5, 10,  320 },\r
+  {   6, 10,  140 }, { 136, 10,  295 }, {   4,  0, 1004 }, {   8,  0,  982 },\r
+  { 136,  0,  993 }, { 133, 10,  978 }, {   4, 10,  905 }, {   6, 10, 1701 },\r
+  { 137, 10,  843 }, {  10,  0,  545 }, { 140,  0,  301 }, {   6,  0,  947 },\r
+  { 134,  0, 1062 }, { 134,  0, 1188 }, {   4,  0,  904 }, {   5,  0,  794 },\r
+  { 152, 10,    6 }, { 134,  0, 1372 }, { 135, 11,  608 }, {   5, 11,  279 },\r
+  {   6, 11,  235 }, {   7, 11,  468 }, {   8, 11,  446 }, {   9, 11,  637 },\r
+  {  10, 11,  717 }, {  11, 11,  738 }, { 140, 11,  514 }, { 132, 10,  509 },\r
+  {   5, 11,   17 }, {   6, 11,  371 }, { 137, 11,  528 }, { 132,  0,  693 },\r
+  {   4, 11,  115 }, {   5, 11,  669 }, {   6, 11,  407 }, {   8, 11,  311 },\r
+  {  11, 11,   10 }, { 141, 11,    5 }, {  11,  0,  377 }, {   7, 10,  273 },\r
+  { 137, 11,  381 }, { 135,  0,  695 }, {   7,  0,  386 }, { 138,  0,  713 },\r
+  { 135, 10, 1041 }, { 134,  0, 1291 }, {   6,  0,    7 }, {   6,  0,   35 },\r
+  {   7,  0,  147 }, {   7,  0, 1069 }, {   7,  0, 1568 }, {   7,  0, 1575 },\r
+  {   7,  0, 1917 }, {   8,  0,   43 }, {   8,  0,  208 }, {   9,  0,  128 },\r
+  {   9,  0,  866 }, {  10,  0,   20 }, {  11,  0,  981 }, { 147,  0,   33 },\r
+  {   7,  0,  893 }, { 141,  0,  424 }, { 139, 10,  234 }, { 150, 11,   56 },\r
+  {   5, 11,  779 }, {   5, 11,  807 }, {   6, 11, 1655 }, { 134, 11, 1676 },\r
+  {   5, 10,  802 }, {   7, 10, 2021 }, { 136, 10,  805 }, {   4, 11,  196 },\r
+  {   5, 10,  167 }, {   5, 11,  558 }, {   5, 10,  899 }, {   5, 11,  949 },\r
+  {   6, 10,  410 }, { 137, 10,  777 }, { 137, 10,  789 }, { 134, 10, 1705 },\r
+  {   8,  0,  904 }, { 140,  0,  787 }, {   6,  0,  322 }, {   9,  0,  552 },\r
+  {  11,  0,  274 }, {  13,  0,  209 }, {  13,  0,  499 }, {  14,  0,   85 },\r
+  {  15,  0,  126 }, { 145,  0,   70 }, { 135, 10,   10 }, {   5, 10,   11 },\r
+  {   6, 10,  117 }, {   6, 10,  485 }, {   7, 10, 1133 }, {   9, 10,  582 },\r
+  {   9, 10,  594 }, {  11, 10,   21 }, {  11, 10,  818 }, {  12, 10,  535 },\r
+  { 141, 10,   86 }, {   4, 10,  264 }, {   7, 10, 1067 }, {   8, 10,  204 },\r
+  {   8, 10,  385 }, { 139, 10,  953 }, { 132, 11,  752 }, { 138, 10,   56 },\r
+  { 133, 10,  470 }, {   6,  0, 1808 }, {   8,  0,   83 }, {   8,  0,  742 },\r
+  {   8,  0,  817 }, {   9,  0,   28 }, {   9,  0,   29 }, {   9,  0,  885 },\r
+  {  10,  0,  387 }, {  11,  0,  633 }, {  11,  0,  740 }, {  13,  0,  235 },\r
+  {  13,  0,  254 }, {  15,  0,  143 }, { 143,  0,  146 }, { 140,  0,   49 },\r
+  { 134,  0, 1832 }, {   4, 11,  227 }, {   5, 11,  159 }, {   5, 11,  409 },\r
+  {   7, 11,   80 }, {  10, 11,  294 }, {  10, 11,  479 }, {  12, 11,  418 },\r
+  {  14, 11,   50 }, {  14, 11,  249 }, { 142, 11,  295 }, {   7, 11, 1470 },\r
+  {   8, 11,   66 }, {   8, 11,  137 }, {   8, 11,  761 }, {   9, 11,  638 },\r
+  {  11, 11,   80 }, {  11, 11,  212 }, {  11, 11,  368 }, {  11, 11,  418 },\r
+  {  12, 11,    8 }, {  13, 11,   15 }, {  16, 11,   61 }, {  17, 11,   59 },\r
+  {  19, 11,   28 }, { 148, 11,   84 }, { 139, 10, 1015 }, { 138, 11,  468 },\r
+  { 135,  0,  421 }, {   6,  0,  415 }, {   7,  0, 1049 }, { 137,  0,  442 },\r
+  {   6, 11,   38 }, {   7, 11, 1220 }, {   8, 11,  185 }, {   8, 11,  256 },\r
+  {   9, 11,   22 }, {   9, 11,  331 }, {  10, 11,  738 }, {  11, 11,  205 },\r
+  {  11, 11,  540 }, {  11, 11,  746 }, {  13, 11,  399 }, {  13, 11,  465 },\r
+  {  14, 11,   88 }, { 142, 11,  194 }, { 139,  0,  289 }, { 133, 10,  715 },\r
+  {   4,  0,  110 }, {  10,  0,  415 }, {  10,  0,  597 }, { 142,  0,  206 },\r
+  {   4, 11,  159 }, {   6, 11,  115 }, {   7, 11,  252 }, {   7, 11,  257 },\r
+  {   7, 11, 1928 }, {   8, 11,   69 }, {   9, 11,  384 }, {  10, 11,   91 },\r
+  {  10, 11,  615 }, {  12, 11,  375 }, {  14, 11,  235 }, {  18, 11,  117 },\r
+  { 147, 11,  123 }, {   5, 11,  911 }, { 136, 11,  278 }, {   7,  0,  205 },\r
+  {   7,  0, 2000 }, {   8, 10,  794 }, {   9, 10,  400 }, {  10, 10,  298 },\r
+  { 142, 10,  228 }, { 135, 11, 1774 }, {   4, 11,  151 }, {   7, 11, 1567 },\r
+  {   8, 11,  351 }, { 137, 11,  322 }, { 136, 10,  724 }, { 133, 11,  990 },\r
+  {   7,  0, 1539 }, {  11,  0,  512 }, {  13,  0,  205 }, {  19,  0,   30 },\r
+  {  22,  0,   36 }, {  23,  0,   19 }, { 135, 11, 1539 }, {   5, 11,  194 },\r
+  {   7, 11, 1662 }, {   9, 11,   90 }, { 140, 11,  180 }, {   6, 10,  190 },\r
+  {   7, 10,  768 }, { 135, 10, 1170 }, { 134,  0, 1340 }, {   4,  0,  283 },\r
+  { 135,  0, 1194 }, { 133, 11,  425 }, { 133, 11,  971 }, {  12,  0,  549 },\r
+  {  14, 10,   67 }, { 147, 10,   60 }, { 135, 10, 1023 }, { 134,  0, 1720 },\r
+  { 138, 11,  587 }, {   5, 11,   72 }, {   6, 11,  264 }, {   7, 11,   21 },\r
+  {   7, 11,   46 }, {   7, 11, 2013 }, {   8, 11,  215 }, {   8, 11,  513 },\r
+  {  10, 11,  266 }, { 139, 11,   22 }, {   5,  0,  319 }, { 135,  0,  534 },\r
+  {   6, 10,  137 }, {   9, 10,   75 }, {   9, 10,  253 }, {  10, 10,  194 },\r
+  { 138, 10,  444 }, {   7,  0, 1180 }, {  20,  0,  112 }, {   6, 11,  239 },\r
+  {   7, 11,  118 }, {  10, 11,   95 }, {  11, 11,  603 }, {  13, 11,  443 },\r
+  {  14, 11,  160 }, { 143, 11,    4 }, { 134, 11,  431 }, {   5, 11,  874 },\r
+  {   6, 11, 1677 }, {  11, 10,  643 }, {  12, 10,  115 }, { 143, 11,    0 },\r
+  { 134,  0,  967 }, {   6, 11,   65 }, {   7, 11,  939 }, {   7, 11, 1172 },\r
+  {   7, 11, 1671 }, {   9, 11,  540 }, {  10, 11,  696 }, {  11, 11,  265 },\r
+  {  11, 11,  732 }, {  11, 11,  928 }, {  11, 11,  937 }, {  12, 11,  399 },\r
+  {  13, 11,  438 }, { 149, 11,   19 }, { 137, 11,  200 }, { 135,  0, 1940 },\r
+  {   5, 10,  760 }, {   7, 10,  542 }, {   8, 10,  135 }, { 136, 10,  496 },\r
+  { 140, 11,   44 }, {   7, 11, 1655 }, { 136, 11,  305 }, {   7, 10,  319 },\r
+  {   7, 10,  355 }, {   7, 10,  763 }, {  10, 10,  389 }, { 145, 10,   43 },\r
+  { 136,  0,  735 }, { 138, 10,  786 }, { 137, 11,   19 }, { 132, 11,  696 },\r
+  {   5,  0,  132 }, {   9,  0,  486 }, {   9,  0,  715 }, {  10,  0,  458 },\r
+  {  11,  0,  373 }, {  11,  0,  668 }, {  11,  0,  795 }, {  11,  0,  897 },\r
+  {  12,  0,  272 }, {  12,  0,  424 }, {  12,  0,  539 }, {  12,  0,  558 },\r
+  {  14,  0,  245 }, {  14,  0,  263 }, {  14,  0,  264 }, {  14,  0,  393 },\r
+  { 142,  0,  403 }, {  10,  0,   38 }, { 139,  0,  784 }, { 132,  0,  838 },\r
+  {   4, 11,  302 }, { 135, 11, 1766 }, { 133,  0,  379 }, {   5,  0,    8 },\r
+  {   6,  0,   89 }, {   6,  0,  400 }, {   7,  0, 1569 }, {   7,  0, 1623 },\r
+  {   7,  0, 1850 }, {   8,  0,  218 }, {   8,  0,  422 }, {   9,  0,  570 },\r
+  {  10,  0,  626 }, {   4, 11,  726 }, { 133, 11,  630 }, {   4,  0, 1017 },\r
+  { 138,  0,  660 }, {   6,  0,  387 }, {   7,  0,  882 }, { 141,  0,  111 },\r
+  {   6,  0,  224 }, {   7,  0,  877 }, { 137,  0,  647 }, {   4, 10,   58 },\r
+  {   5, 10,  286 }, {   6, 10,  319 }, {   7, 10,  402 }, {   7, 10, 1254 },\r
+  {   7, 10, 1903 }, {   8, 10,  356 }, { 140, 10,  408 }, { 135,  0,  790 },\r
+  {   9,  0,  510 }, {  10,  0,   53 }, {   4, 10,  389 }, {   9, 10,  181 },\r
+  {  10, 10,   29 }, {  10, 10,  816 }, {  11, 10,  311 }, {  11, 10,  561 },\r
+  {  12, 10,   67 }, { 141, 10,  181 }, { 142,  0,  458 }, {   6, 11,  118 },\r
+  {   7, 11,  215 }, {   7, 11, 1521 }, { 140, 11,   11 }, { 134,  0,  954 },\r
+  { 135,  0,  394 }, { 134,  0, 1367 }, {   5, 11,  225 }, { 133, 10,  373 },\r
+  { 132,  0,  882 }, {   7,  0, 1409 }, { 135, 10, 1972 }, { 135, 10, 1793 },\r
+  {   4, 11,  370 }, {   5, 11,  756 }, { 135, 11, 1326 }, { 150, 11,   13 },\r
+  {   7, 11,  354 }, {  10, 11,  410 }, { 139, 11,  815 }, {   6, 11, 1662 },\r
+  {   7, 11,   48 }, {   8, 11,  771 }, {  10, 11,  116 }, {  13, 11,  104 },\r
+  {  14, 11,  105 }, {  14, 11,  184 }, {  15, 11,  168 }, {  19, 11,   92 },\r
+  { 148, 11,   68 }, {   7,  0,  124 }, { 136,  0,   38 }, {   5,  0,  261 },\r
+  {   7,  0,   78 }, {   7,  0,  199 }, {   8,  0,  815 }, {   9,  0,  126 },\r
+  {  10,  0,  342 }, { 140,  0,  647 }, {   4,  0,  628 }, { 140,  0,  724 },\r
+  {   7,  0,  266 }, {   8,  0,  804 }, {   7, 10, 1651 }, { 145, 10,   89 },\r
+  { 135,  0,  208 }, { 134,  0, 1178 }, {   6,  0,   79 }, { 135,  0, 1519 },\r
+  { 132, 10,  672 }, { 133, 10,  737 }, { 136,  0,  741 }, { 132, 11,  120 },\r
+  {   4,  0,  710 }, {   6,  0,  376 }, { 134,  0,  606 }, { 134,  0, 1347 },\r
+  { 134,  0, 1494 }, {   6,  0,  850 }, {   6,  0, 1553 }, { 137,  0,  821 },\r
+  {   5, 10,  145 }, { 134, 11,  593 }, {   7,  0, 1311 }, { 140,  0,  135 },\r
+  {   4,  0,  467 }, {   5,  0,  405 }, { 134,  0,  544 }, {   5, 11,  820 },\r
+  { 135, 11,  931 }, {   6,  0,  100 }, {   7,  0,  244 }, {   7,  0,  632 },\r
+  {   7,  0, 1609 }, {   8,  0,  178 }, {   8,  0,  638 }, { 141,  0,   58 },\r
+  {   4, 10,  387 }, { 135, 10, 1288 }, {   6, 11,  151 }, {   6, 11, 1675 },\r
+  {   7, 11,  383 }, { 151, 11,   10 }, { 132,  0,  481 }, { 135, 10,  550 },\r
+  { 134,  0, 1378 }, {   6, 11, 1624 }, {  11, 11,   11 }, {  12, 11,  422 },\r
+  {  13, 11,  262 }, { 142, 11,  360 }, { 133,  0,  791 }, {   4, 11,   43 },\r
+  {   5, 11,  344 }, { 133, 11,  357 }, {   7,  0, 1227 }, { 140,  0,  978 },\r
+  {   7,  0,  686 }, {   8,  0,   33 }, {   8,  0,  238 }, {  10,  0,  616 },\r
+  {  11,  0,  467 }, {  11,  0,  881 }, {  13,  0,  217 }, {  13,  0,  253 },\r
+  { 142,  0,  268 }, { 137,  0,  857 }, {   8,  0,  467 }, {   8,  0, 1006 },\r
+  {   7, 11,  148 }, {   8, 11,  284 }, { 141, 11,   63 }, {   4, 10,  576 },\r
+  { 135, 10, 1263 }, { 133, 11,  888 }, {   5, 10,  919 }, { 134, 10, 1673 },\r
+  {  20, 10,   37 }, { 148, 11,   37 }, { 132,  0,  447 }, { 132, 11,  711 },\r
+  {   4,  0,  128 }, {   5,  0,  415 }, {   6,  0,  462 }, {   7,  0,  294 },\r
+  {   7,  0,  578 }, {  10,  0,  710 }, { 139,  0,   86 }, {   4, 10,   82 },\r
+  {   5, 10,  333 }, {   5, 10,  904 }, {   6, 10,  207 }, {   7, 10,  325 },\r
+  {   7, 10, 1726 }, {   8, 10,  101 }, {  10, 10,  778 }, { 139, 10,  220 },\r
+  { 136,  0,  587 }, { 137, 11,  440 }, { 133, 10,  903 }, {   6,  0,  427 },\r
+  {   7,  0, 1018 }, { 138,  0,  692 }, {   4,  0,  195 }, { 135,  0,  802 },\r
+  { 140, 10,  147 }, { 134,  0, 1546 }, { 134,  0,  684 }, { 132, 10,  705 },\r
+  { 136,  0,  345 }, {  11, 11,  678 }, { 140, 11,  307 }, { 133,  0,  365 },\r
+  { 134,  0, 1683 }, {   4, 11,   65 }, {   5, 11,  479 }, {   5, 11, 1004 },\r
+  {   7, 11, 1913 }, {   8, 11,  317 }, {   9, 11,  302 }, {  10, 11,  612 },\r
+  { 141, 11,   22 }, { 138,  0,  472 }, {   4, 11,  261 }, { 135, 11,  510 },\r
+  { 134, 10,   90 }, { 142,  0,  433 }, { 151,  0,   28 }, {   4, 11,  291 },\r
+  {   7, 11,  101 }, {   9, 11,  515 }, {  12, 11,  152 }, {  12, 11,  443 },\r
+  {  13, 11,  392 }, { 142, 11,  357 }, { 140,  0,  997 }, {   5,  0,    3 },\r
+  {   8,  0,  578 }, {   9,  0,  118 }, {  10,  0,  705 }, { 141,  0,  279 },\r
+  { 135, 11, 1266 }, {   7, 10,  813 }, {  12, 10,  497 }, { 141, 10,   56 },\r
+  { 133,  0,  229 }, {   6, 10,  125 }, { 135, 10, 1277 }, {   8,  0,  102 },\r
+  {  10,  0,  578 }, {  10,  0,  672 }, {  12,  0,  496 }, {  13,  0,  408 },\r
+  {  14,  0,  121 }, {  17,  0,  106 }, { 151, 10,   12 }, {   6,  0,  866 },\r
+  { 134,  0, 1080 }, { 136,  0, 1022 }, {   4, 11,  130 }, { 135, 11,  843 },\r
+  {   5, 11,   42 }, {   5, 11,  879 }, {   7, 11,  245 }, {   7, 11,  324 },\r
+  {   7, 11, 1532 }, {  11, 11,  463 }, {  11, 11,  472 }, {  13, 11,  363 },\r
+  { 144, 11,   52 }, { 150,  0,   55 }, {   8,  0,  115 }, {   8,  0,  350 },\r
+  {   9,  0,  489 }, {  10,  0,  128 }, {  11,  0,  306 }, {  12,  0,  373 },\r
+  {  14,  0,   30 }, {  17,  0,   79 }, {  19,  0,   80 }, {   4, 11,  134 },\r
+  { 133, 11,  372 }, { 134,  0,  657 }, { 134,  0,  933 }, { 135, 11, 1147 },\r
+  {   4,  0,  230 }, { 133,  0,  702 }, { 134,  0, 1728 }, {   4,  0,  484 },\r
+  {  18,  0,   26 }, {  19,  0,   42 }, {  20,  0,   43 }, {  21,  0,    0 },\r
+  {  23,  0,   27 }, { 152,  0,   14 }, {   7,  0,  185 }, { 135,  0,  703 },\r
+  {   6,  0,  417 }, {  10,  0,  618 }, {   7, 10, 1106 }, {   9, 10,  770 },\r
+  {  11, 10,  112 }, { 140, 10,  413 }, { 134,  0,  803 }, { 132, 11,  644 },\r
+  { 134,  0, 1262 }, {   7, 11,  540 }, {  12, 10,  271 }, { 145, 10,  109 },\r
+  { 135, 11,  123 }, { 132,  0,  633 }, { 134, 11,  623 }, {   4, 11,  908 },\r
+  {   5, 11,  359 }, {   5, 11,  508 }, {   6, 11, 1723 }, {   7, 11,  343 },\r
+  {   7, 11, 1996 }, { 135, 11, 2026 }, { 135,  0,  479 }, {  10,  0,  262 },\r
+  {   7, 10,  304 }, {   9, 10,  646 }, {   9, 10,  862 }, {  11, 10,  696 },\r
+  {  12, 10,  208 }, {  15, 10,   79 }, { 147, 10,  108 }, {   4, 11,  341 },\r
+  { 135, 11,  480 }, { 134,  0,  830 }, {   5,  0,   70 }, {   5,  0,  622 },\r
+  {   6,  0,  334 }, {   7,  0, 1032 }, {   9,  0,  171 }, {  11,  0,   26 },\r
+  {  11,  0,  213 }, {  11,  0,  637 }, {  11,  0,  707 }, {  12,  0,  202 },\r
+  {  12,  0,  380 }, {  13,  0,  226 }, {  13,  0,  355 }, {  14,  0,  222 },\r
+  { 145,  0,   42 }, { 135, 10,  981 }, { 143,  0,  217 }, { 137, 11,  114 },\r
+  {   4,  0,   23 }, {   4,  0,  141 }, {   5,  0,  313 }, {   5,  0, 1014 },\r
+  {   6,  0,   50 }, {   6,  0,   51 }, {   7,  0,  142 }, {   7,  0,  384 },\r
+  {   7,  0,  559 }, {   8,  0,  640 }, {   9,  0,  460 }, {   9,  0,  783 },\r
+  {  11,  0,  741 }, {  12,  0,  183 }, { 141,  0,  488 }, { 141,  0,  360 },\r
+  {   7,  0, 1586 }, {   7, 11, 1995 }, {   8, 11,  299 }, {  11, 11,  890 },\r
+  { 140, 11,  674 }, { 132, 10,  434 }, {   7,  0,  652 }, { 134, 10,  550 },\r
+  {   7,  0,  766 }, {   5, 10,  553 }, { 138, 10,  824 }, {   7,  0,  737 },\r
+  {   8,  0,  298 }, { 136, 10,  452 }, {   4, 11,  238 }, {   5, 11,  503 },\r
+  {   6, 11,  179 }, {   7, 11, 2003 }, {   8, 11,  381 }, {   8, 11,  473 },\r
+  {   9, 11,  149 }, {  10, 11,  183 }, {  15, 11,   45 }, { 143, 11,   86 },\r
+  { 133, 10,  292 }, {   5,  0,  222 }, {   9,  0,  655 }, { 138,  0,  534 },\r
+  { 138, 10,  135 }, {   4, 11,  121 }, {   5, 11,  156 }, {   5, 11,  349 },\r
+  {   9, 11,  136 }, {  10, 11,  605 }, {  14, 11,  342 }, { 147, 11,  107 },\r
+  { 137,  0,  906 }, {   6,  0, 1013 }, { 134,  0, 1250 }, {   6,  0, 1956 },\r
+  {   6,  0, 2009 }, {   8,  0,  991 }, { 144,  0,  120 }, { 135, 11, 1192 },\r
+  { 138,  0,  503 }, {   5,  0,  154 }, {   7,  0, 1491 }, {  10,  0,  379 },\r
+  { 138,  0,  485 }, {   6,  0, 1867 }, {   6,  0, 1914 }, {   6,  0, 1925 },\r
+  {   9,  0,  917 }, {   9,  0,  925 }, {   9,  0,  932 }, {   9,  0,  951 },\r
+  {   9,  0, 1007 }, {   9,  0, 1013 }, {  12,  0,  806 }, {  12,  0,  810 },\r
+  {  12,  0,  814 }, {  12,  0,  816 }, {  12,  0,  824 }, {  12,  0,  832 },\r
+  {  12,  0,  837 }, {  12,  0,  863 }, {  12,  0,  868 }, {  12,  0,  870 },\r
+  {  12,  0,  889 }, {  12,  0,  892 }, {  12,  0,  900 }, {  12,  0,  902 },\r
+  {  12,  0,  908 }, {  12,  0,  933 }, {  12,  0,  942 }, {  12,  0,  949 },\r
+  {  12,  0,  954 }, {  15,  0,  175 }, {  15,  0,  203 }, {  15,  0,  213 },\r
+  {  15,  0,  218 }, {  15,  0,  225 }, {  15,  0,  231 }, {  15,  0,  239 },\r
+  {  15,  0,  248 }, {  15,  0,  252 }, {  18,  0,  190 }, {  18,  0,  204 },\r
+  {  18,  0,  215 }, {  18,  0,  216 }, {  18,  0,  222 }, {  18,  0,  225 },\r
+  {  18,  0,  230 }, {  18,  0,  239 }, {  18,  0,  241 }, {  21,  0,   42 },\r
+  {  21,  0,   43 }, {  21,  0,   44 }, {  21,  0,   45 }, {  21,  0,   46 },\r
+  {  21,  0,   53 }, {  24,  0,   27 }, { 152,  0,   31 }, { 133,  0,  716 },\r
+  { 135,  0,  844 }, {   4,  0,   91 }, {   5,  0,  388 }, {   5,  0,  845 },\r
+  {   6,  0,  206 }, {   6,  0,  252 }, {   6,  0,  365 }, {   7,  0,  136 },\r
+  {   7,  0,  531 }, { 136,  0,  621 }, {   7, 10,  393 }, {  10, 10,  603 },\r
+  { 139, 10,  206 }, {   6, 11,   80 }, {   6, 11, 1694 }, {   7, 11,  173 },\r
+  {   7, 11, 1974 }, {   9, 11,  547 }, {  10, 11,  730 }, {  14, 11,   18 },\r
+  { 150, 11,   39 }, { 137,  0,  748 }, {   4, 11,  923 }, { 134, 11, 1711 },\r
+  {   4, 10,  912 }, { 137, 10,  232 }, {   7, 10,   98 }, {   7, 10, 1973 },\r
+  { 136, 10,  716 }, {  14,  0,  103 }, { 133, 10,  733 }, { 132, 11,  595 },\r
+  {  12,  0,  158 }, {  18,  0,    8 }, {  19,  0,   62 }, {  20,  0,    6 },\r
+  {  22,  0,    4 }, {  23,  0,    2 }, {  23,  0,    9 }, {   5, 11,  240 },\r
+  {   6, 11,  459 }, {   7, 11,   12 }, {   7, 11,  114 }, {   7, 11,  502 },\r
+  {   7, 11, 1751 }, {   7, 11, 1753 }, {   7, 11, 1805 }, {   8, 11,  658 },\r
+  {   9, 11,    1 }, {  11, 11,  959 }, {  13, 11,  446 }, { 142, 11,  211 },\r
+  { 135,  0,  576 }, {   5,  0,  771 }, {   5,  0,  863 }, {   5,  0,  898 },\r
+  {   6,  0,  648 }, {   6,  0, 1632 }, {   6,  0, 1644 }, { 134,  0, 1780 },\r
+  { 133,  0,  331 }, {   7, 11,  633 }, {   7, 11,  905 }, {   7, 11,  909 },\r
+  {   7, 11, 1538 }, {   9, 11,  767 }, { 140, 11,  636 }, { 140,  0,  632 },\r
+  {   5,  0,  107 }, {   7,  0,  201 }, { 136,  0,  518 }, {   6,  0,  446 },\r
+  {   7,  0, 1817 }, { 134, 11,  490 }, {   9,  0,  851 }, { 141,  0,  510 },\r
+  {   7, 11,  250 }, {   8, 11,  506 }, { 136, 11,  507 }, {   4,  0,  504 },\r
+  { 137, 10,   72 }, { 132, 11,  158 }, {   4, 11,  140 }, {   7, 11,  362 },\r
+  {   8, 11,  209 }, {   9, 11,   10 }, {   9, 11,  160 }, {   9, 11,  503 },\r
+  {  10, 11,  689 }, {  11, 11,  350 }, {  11, 11,  553 }, {  11, 11,  725 },\r
+  {  12, 11,  252 }, {  12, 11,  583 }, {  13, 11,  192 }, {  13, 11,  352 },\r
+  {  14, 11,  269 }, {  14, 11,  356 }, { 148, 11,   50 }, {   6, 11,  597 },\r
+  { 135, 11, 1318 }, { 135, 10, 1454 }, {   5,  0,  883 }, {   5,  0,  975 },\r
+  {   8,  0,  392 }, { 148,  0,    7 }, {   6, 11,  228 }, {   7, 11, 1341 },\r
+  {   9, 11,  408 }, { 138, 11,  343 }, {  11, 11,  348 }, {  11, 10,  600 },\r
+  {  12, 11,   99 }, {  13, 10,  245 }, {  18, 11,    1 }, {  18, 11,   11 },\r
+  { 147, 11,    4 }, { 134, 11,  296 }, {   5,  0,  922 }, { 134,  0, 1707 },\r
+  { 132, 11,  557 }, {   4, 11,  548 }, {   7, 10,  164 }, {   7, 10, 1571 },\r
+  {   9, 10,  107 }, { 140, 10,  225 }, {   7, 11,  197 }, {   8, 11,  142 },\r
+  {   8, 11,  325 }, {   9, 11,  150 }, {   9, 11,  596 }, {  10, 11,  350 },\r
+  {  10, 11,  353 }, {  11, 11,   74 }, {  11, 11,  315 }, {  14, 11,  423 },\r
+  { 143, 11,  141 }, {   5,  0,  993 }, {   7,  0,  515 }, { 137,  0,   91 },\r
+  {   4,  0,  131 }, {   8,  0,  200 }, {   5, 10,  484 }, {   5, 10,  510 },\r
+  {   6, 10,  434 }, {   7, 10, 1000 }, {   7, 10, 1098 }, { 136, 10,    2 },\r
+  { 152,  0,   10 }, {   4, 11,   62 }, {   5, 11,   83 }, {   6, 11,  399 },\r
+  {   6, 11,  579 }, {   7, 11,  692 }, {   7, 11,  846 }, {   7, 11, 1015 },\r
+  {   7, 11, 1799 }, {   8, 11,  403 }, {   9, 11,  394 }, {  10, 11,  133 },\r
+  {  12, 11,    4 }, {  12, 11,  297 }, {  12, 11,  452 }, {  16, 11,   81 },\r
+  {  18, 11,   19 }, {  18, 11,   25 }, {  21, 11,   14 }, {  22, 11,   12 },\r
+  { 151, 11,   18 }, { 140, 11,  459 }, { 132, 11,  177 }, {   7,  0, 1433 },\r
+  {   9,  0,  365 }, { 137, 11,  365 }, { 132, 10,  460 }, {   5,  0,  103 },\r
+  {   6,  0, 2004 }, {   7,  0,  921 }, {   8,  0,  580 }, {   8,  0,  593 },\r
+  {   8,  0,  630 }, {  10,  0,   28 }, {   5, 11,  411 }, { 135, 11,  653 },\r
+  {   4, 10,  932 }, { 133, 10,  891 }, {   4,  0,  911 }, {   5,  0,  867 },\r
+  {   5,  0, 1013 }, {   7,  0, 2034 }, {   8,  0,  798 }, { 136,  0,  813 },\r
+  {   7, 11,  439 }, {  10, 11,  727 }, {  11, 11,  260 }, { 139, 11,  684 },\r
+  { 136, 10,  625 }, {   5, 11,  208 }, {   7, 11,  753 }, { 135, 11, 1528 },\r
+  {   5,  0,  461 }, {   7,  0, 1925 }, {  12,  0,   39 }, {  13,  0,  265 },\r
+  {  13,  0,  439 }, { 134, 10,   76 }, {   6,  0,  853 }, {   8, 10,   92 },\r
+  { 137, 10,  221 }, {   5,  0,  135 }, {   6,  0,  519 }, {   7,  0, 1722 },\r
+  {  10,  0,  271 }, {  11,  0,  261 }, { 145,  0,   54 }, { 139, 11,  814 },\r
+  {  14,  0,  338 }, { 148,  0,   81 }, {   4,  0,  300 }, { 133,  0,  436 },\r
+  {   5,  0,  419 }, {   5,  0,  687 }, {   7,  0,  864 }, {   9,  0,  470 },\r
+  { 135, 11,  864 }, {   9,  0,  836 }, { 133, 11,  242 }, { 134,  0, 1937 },\r
+  {   4, 10,  763 }, { 133, 11,  953 }, { 132, 10,  622 }, { 132,  0,  393 },\r
+  { 133, 10,  253 }, {   8,  0,  357 }, {  10,  0,  745 }, {  14,  0,  426 },\r
+  {  17,  0,   94 }, {  19,  0,   57 }, { 135, 10,  546 }, {   5, 11,  615 },\r
+  { 146, 11,   37 }, {   9, 10,   73 }, {  10, 10,  110 }, {  14, 10,  185 },\r
+  { 145, 10,  119 }, {  11,  0,  703 }, {   7, 10,  624 }, {   7, 10,  916 },\r
+  {  10, 10,  256 }, { 139, 10,   87 }, { 133, 11,  290 }, {   5, 10,  212 },\r
+  {  12, 10,   35 }, { 141, 10,  382 }, { 132, 11,  380 }, {   5, 11,   52 },\r
+  {   7, 11,  277 }, {   9, 11,  368 }, { 139, 11,  791 }, { 133,  0,  387 },\r
+  {  10, 11,  138 }, { 139, 11,  476 }, {   4,  0,    6 }, {   5,  0,  708 },\r
+  { 136,  0,   75 }, {   7,  0, 1351 }, {   9,  0,  581 }, {  10,  0,  639 },\r
+  {  11,  0,  453 }, { 140,  0,  584 }, { 132,  0,  303 }, { 138,  0,  772 },\r
+  { 135, 10, 1175 }, {   4,  0,  749 }, {   5, 10,  816 }, {   6, 11,  256 },\r
+  {   7, 11,  307 }, {   7, 11,  999 }, {   7, 11, 1481 }, {   7, 11, 1732 },\r
+  {   7, 11, 1738 }, {   8, 11,  265 }, {   9, 11,  414 }, {  11, 11,  316 },\r
+  {  12, 11,   52 }, {  13, 11,  420 }, { 147, 11,  100 }, { 135, 11, 1296 },\r
+  {   6,  0, 1065 }, {   5, 10,  869 }, {   5, 10,  968 }, {   6, 10, 1626 },\r
+  {   8, 10,  734 }, { 136, 10,  784 }, {   4, 10,  542 }, {   6, 10, 1716 },\r
+  {   6, 10, 1727 }, {   7, 10, 1082 }, {   7, 10, 1545 }, {   8, 10,   56 },\r
+  {   8, 10,  118 }, {   8, 10,  412 }, {   8, 10,  564 }, {   9, 10,  888 },\r
+  {   9, 10,  908 }, {  10, 10,   50 }, {  10, 10,  423 }, {  11, 10,  685 },\r
+  {  11, 10,  697 }, {  11, 10,  933 }, {  12, 10,  299 }, {  13, 10,  126 },\r
+  {  13, 10,  136 }, {  13, 10,  170 }, { 141, 10,  190 }, { 134,  0,  226 },\r
+  {   4,  0,  106 }, {   7,  0,  310 }, {  11,  0,  717 }, { 133, 11,  723 },\r
+  {   5,  0,  890 }, {   5,  0,  988 }, {   4, 10,  232 }, {   9, 10,  202 },\r
+  {  10, 10,  474 }, { 140, 10,  433 }, {   6,  0,  626 }, { 142,  0,  431 },\r
+  {  10,  0,  706 }, { 150,  0,   44 }, {  13,  0,   51 }, {   6, 10,  108 },\r
+  {   7, 10, 1003 }, {   7, 10, 1181 }, {   8, 10,  111 }, { 136, 10,  343 },\r
+  { 132,  0,  698 }, {   5, 11,  109 }, {   6, 11, 1784 }, {   7, 11, 1895 },\r
+  {  12, 11,  296 }, { 140, 11,  302 }, { 134,  0,  828 }, { 134, 10, 1712 },\r
+  { 138,  0,   17 }, {   7,  0, 1929 }, {   4, 10,  133 }, {   5, 11,  216 },\r
+  {   7, 10,  711 }, {   7, 10, 1298 }, {   7, 10, 1585 }, {   7, 11, 1879 },\r
+  {   9, 11,  141 }, {   9, 11,  270 }, {   9, 11,  679 }, {  10, 11,  159 },\r
+  {  10, 11,  553 }, {  11, 11,  197 }, {  11, 11,  438 }, {  12, 11,  538 },\r
+  {  12, 11,  559 }, {  13, 11,  193 }, {  13, 11,  423 }, {  14, 11,  144 },\r
+  {  14, 11,  166 }, {  14, 11,  167 }, {  15, 11,   67 }, { 147, 11,   84 },\r
+  { 141, 11,  127 }, {   7, 11, 1872 }, { 137, 11,   81 }, {   6, 10,   99 },\r
+  {   7, 10, 1808 }, { 145, 10,   57 }, { 134, 11,  391 }, {   5,  0,  689 },\r
+  {   6,  0,   84 }, {   7,  0, 1250 }, {   6, 10,  574 }, {   7, 10,  428 },\r
+  {  10, 10,  669 }, {  11, 10,  485 }, {  11, 10,  840 }, {  12, 10,  300 },\r
+  { 142, 10,  250 }, {   7, 11,  322 }, { 136, 11,  249 }, {   7, 11,  432 },\r
+  { 135, 11, 1649 }, { 135, 10, 1871 }, { 137, 10,  252 }, {   6, 11,  155 },\r
+  { 140, 11,  234 }, {   7,  0,  871 }, {  19,  0,   27 }, { 147, 11,   27 },\r
+  { 140,  0,  498 }, {   5,  0,  986 }, {   6,  0,  130 }, { 138,  0,  823 },\r
+  {   6,  0, 1793 }, {   7,  0, 1582 }, {   8,  0,  458 }, {  10,  0,  101 },\r
+  {  10,  0,  318 }, {  10,  0,  945 }, {  12,  0,  734 }, {  16,  0,  104 },\r
+  {  18,  0,  177 }, {   6, 10,  323 }, { 135, 10, 1564 }, {   5, 11,  632 },\r
+  { 138, 11,  526 }, {  10,  0,  435 }, {   7, 10,  461 }, { 136, 10,  775 },\r
+  {   6, 11,  144 }, {   7, 11,  948 }, {   7, 11, 1042 }, {   7, 11, 1857 },\r
+  {   8, 11,  235 }, {   8, 11,  461 }, {   9, 11,  453 }, {   9, 11,  530 },\r
+  {  10, 11,  354 }, {  17, 11,   77 }, {  19, 11,   99 }, { 148, 11,   79 },\r
+  { 138,  0,  966 }, {   7,  0, 1644 }, { 137,  0,  129 }, { 135,  0,  997 },\r
+  { 136,  0,  502 }, {   5, 11,  196 }, {   6, 11,  486 }, {   7, 11,  212 },\r
+  {   8, 11,  309 }, { 136, 11,  346 }, {   7, 10,  727 }, { 146, 10,   73 },\r
+  { 132,  0,  823 }, { 132, 11,  686 }, { 135,  0, 1927 }, {   4,  0,  762 },\r
+  {   7,  0, 1756 }, { 137,  0,   98 }, { 136, 10,  577 }, {  24,  0,    8 },\r
+  {   4, 11,   30 }, {   5, 11,   43 }, { 152, 11,    8 }, {   7,  0, 1046 },\r
+  { 139,  0,  160 }, {   7,  0,  492 }, {   4, 10,  413 }, {   5, 10,  677 },\r
+  {   7, 11,  492 }, {   8, 10,  432 }, { 140, 10,  280 }, {   6,  0,   45 },\r
+  {   7,  0,  433 }, {   8,  0,  129 }, {   9,  0,   21 }, {  10,  0,  392 },\r
+  {  11,  0,   79 }, {  12,  0,  499 }, {  13,  0,  199 }, { 141,  0,  451 },\r
+  {   7,  0,  558 }, { 136,  0,  353 }, {   4, 11,  220 }, {   7, 11, 1535 },\r
+  {   9, 11,   93 }, { 139, 11,  474 }, {   7, 10,  646 }, {   7, 10, 1730 },\r
+  {  11, 10,  446 }, { 141, 10,  178 }, { 133,  0,  785 }, { 134,  0, 1145 },\r
+  {   8,  0,   81 }, {   9,  0,  189 }, {   9,  0,  201 }, {  11,  0,  478 },\r
+  {  11,  0,  712 }, { 141,  0,  338 }, {   5,  0,  353 }, { 151,  0,   26 },\r
+  {  11,  0,  762 }, { 132, 10,  395 }, { 134,  0, 2024 }, {   4,  0,  611 },\r
+  { 133,  0,  606 }, {   9, 10,  174 }, {  10, 10,  164 }, {  11, 10,  440 },\r
+  {  11, 10,  841 }, { 143, 10,   98 }, { 134, 10,  426 }, {  10, 10,  608 },\r
+  { 139, 10, 1002 }, { 138, 10,  250 }, {   6,  0,   25 }, {   7,  0,  855 },\r
+  {   7,  0, 1258 }, { 144,  0,   32 }, {   7, 11, 1725 }, { 138, 11,  393 },\r
+  {   5, 11,  263 }, { 134, 11,  414 }, {   6,  0, 2011 }, { 133, 10,  476 },\r
+  {   4,  0,    4 }, {   7,  0, 1118 }, {   7,  0, 1320 }, {   7,  0, 1706 },\r
+  {   8,  0,  277 }, {   9,  0,  622 }, {  10,  0,    9 }, {  11,  0,  724 },\r
+  {  12,  0,  350 }, {  12,  0,  397 }, {  13,  0,   28 }, {  13,  0,  159 },\r
+  {  15,  0,   89 }, {  18,  0,    5 }, {  19,  0,    9 }, {  20,  0,   34 },\r
+  {  22,  0,   47 }, {   6, 11,  178 }, {   6, 11, 1750 }, {   8, 11,  251 },\r
+  {   9, 11,  690 }, {  10, 11,  155 }, {  10, 11,  196 }, {  10, 11,  373 },\r
+  {  11, 11,  698 }, {  13, 11,  155 }, { 148, 11,   93 }, {   5, 11,   97 },\r
+  { 137, 11,  393 }, {   7,  0,  764 }, {  11,  0,  461 }, {  12,  0,  172 },\r
+  {   5, 10,   76 }, {   6, 10,  458 }, {   6, 10,  497 }, {   7, 10,  868 },\r
+  {   9, 10,  658 }, {  10, 10,  594 }, {  11, 10,  566 }, {  12, 10,  338 },\r
+  { 141, 10,  200 }, { 134,  0, 1449 }, { 138, 11,   40 }, { 134, 11, 1639 },\r
+  { 134,  0, 1445 }, {   6,  0, 1168 }, {   4, 10,  526 }, {   7, 10, 1029 },\r
+  { 135, 10, 1054 }, {   4, 11,  191 }, {   7, 11,  934 }, {   8, 11,  647 },\r
+  { 145, 11,   97 }, { 132, 10,  636 }, {   6,  0,  233 }, {   7, 10,  660 },\r
+  {   7, 10, 1124 }, {  17, 10,   31 }, {  19, 10,   22 }, { 151, 10,   14 },\r
+  {   6, 10, 1699 }, { 136, 11,  110 }, {  12, 11,  246 }, {  15, 11,  162 },\r
+  {  19, 11,   64 }, {  20, 11,    8 }, {  20, 11,   95 }, {  22, 11,   24 },\r
+  { 152, 11,   17 }, {   5, 11,  165 }, {   9, 11,  346 }, { 138, 11,  655 },\r
+  {   5, 11,  319 }, { 135, 11,  534 }, { 134,  0,  255 }, {   9,  0,  216 },\r
+  {   8, 11,  128 }, { 139, 11,  179 }, {   9,  0,  183 }, { 139,  0,  286 },\r
+  {  11,  0,  956 }, { 151,  0,    3 }, {   4,  0,  536 }, {   7,  0, 1141 },\r
+  {  10,  0,  723 }, { 139,  0,  371 }, {   4, 10,  279 }, {   7, 10,  301 },\r
+  { 137, 10,  362 }, {   7,  0,  285 }, {   5, 11,   57 }, {   6, 11,  101 },\r
+  {   6, 11, 1663 }, {   7, 11,  132 }, {   7, 11, 1048 }, {   7, 11, 1154 },\r
+  {   7, 11, 1415 }, {   7, 11, 1507 }, {  12, 11,  493 }, {  15, 11,  105 },\r
+  { 151, 11,   15 }, {   5, 11,  459 }, {   7, 11, 1073 }, {   7, 10, 1743 },\r
+  {   8, 11,  241 }, { 136, 11,  334 }, {   4, 10,  178 }, { 133, 10,  399 },\r
+  { 135,  0,  560 }, { 132,  0,  690 }, { 135,  0, 1246 }, {  18,  0,  157 },\r
+  { 147,  0,   63 }, {  10,  0,  599 }, {  11,  0,   33 }, {  12,  0,  571 },\r
+  { 149,  0,    1 }, {   6, 11,  324 }, {   6, 11,  520 }, {   7, 11,  338 },\r
+  {   7, 11, 1616 }, {   7, 11, 1729 }, {   8, 11,  228 }, {   9, 11,   69 },\r
+  { 139, 11,  750 }, {   7,  0, 1862 }, {  12,  0,  491 }, {  12,  0,  520 },\r
+  {  13,  0,  383 }, { 142,  0,  244 }, { 135, 11,  734 }, { 134, 10, 1692 },\r
+  {  10,  0,  448 }, {  11,  0,  630 }, {  17,  0,  117 }, {   6, 10,  202 },\r
+  {   7, 11,  705 }, {  12, 10,  360 }, {  17, 10,  118 }, {  18, 10,   27 },\r
+  { 148, 10,   67 }, {   4, 11,   73 }, {   6, 11,  612 }, {   7, 11,  927 },\r
+  {   7, 11, 1822 }, {   8, 11,  217 }, {   9, 11,  472 }, {   9, 11,  765 },\r
+  {   9, 11,  766 }, {  10, 11,  408 }, {  11, 11,   51 }, {  11, 11,  793 },\r
+  {  12, 11,  266 }, {  15, 11,  158 }, {  20, 11,   89 }, { 150, 11,   32 },\r
+  {   4,  0,  190 }, { 133,  0,  554 }, { 133,  0, 1001 }, {   5, 11,  389 },\r
+  {   8, 11,  636 }, { 137, 11,  229 }, {   5,  0,  446 }, {   7, 10,  872 },\r
+  {  10, 10,  516 }, { 139, 10,  167 }, { 137, 10,  313 }, { 132, 10,  224 },\r
+  { 134,  0, 1313 }, {   5, 10,  546 }, {   7, 10,   35 }, {   8, 10,   11 },\r
+  {   8, 10,   12 }, {   9, 10,  315 }, {   9, 10,  533 }, {  10, 10,  802 },\r
+  {  11, 10,  166 }, {  12, 10,  525 }, { 142, 10,  243 }, {   6,  0,  636 },\r
+  { 137,  0,  837 }, {   5, 10,  241 }, {   8, 10,  242 }, {   9, 10,  451 },\r
+  {  10, 10,  667 }, {  11, 10,  598 }, { 140, 10,  429 }, {  22, 10,   46 },\r
+  { 150, 11,   46 }, { 136, 11,  472 }, {  11,  0,  278 }, { 142,  0,   73 },\r
+  { 141, 11,  185 }, { 132,  0,  868 }, { 134,  0,  972 }, {   4, 10,  366 },\r
+  { 137, 10,  516 }, { 138,  0, 1010 }, {   5, 11,  189 }, {   6, 10, 1736 },\r
+  {   7, 11,  442 }, {   7, 11,  443 }, {   8, 11,  281 }, {  12, 11,  174 },\r
+  {  13, 11,   83 }, { 141, 11,  261 }, { 139, 11,  384 }, {   6, 11,    2 },\r
+  {   7, 11,  191 }, {   7, 11,  446 }, {   7, 11,  758 }, {   7, 11, 1262 },\r
+  {   7, 11, 1737 }, {   8, 11,   22 }, {   8, 11,  270 }, {   8, 11,  612 },\r
+  {   9, 11,    4 }, {   9, 11,  167 }, {   9, 11,  312 }, {   9, 11,  436 },\r
+  {  10, 11,  156 }, {  10, 11,  216 }, {  10, 11,  311 }, {  10, 11,  623 },\r
+  {  11, 11,   72 }, {  11, 11,  330 }, {  11, 11,  455 }, {  12, 11,  101 },\r
+  {  12, 11,  321 }, {  12, 11,  504 }, {  12, 11,  530 }, {  12, 11,  543 },\r
+  {  13, 11,   17 }, {  13, 11,  156 }, {  13, 11,  334 }, {  14, 11,   48 },\r
+  {  15, 11,   70 }, {  17, 11,   60 }, { 148, 11,   64 }, {   6, 10,  331 },\r
+  { 136, 10,  623 }, { 135,  0, 1231 }, { 132,  0,  304 }, {   6, 11,   60 },\r
+  {   7, 11,  670 }, {   7, 11, 1327 }, {   8, 11,  411 }, {   8, 11,  435 },\r
+  {   9, 11,  653 }, {   9, 11,  740 }, {  10, 11,  385 }, {  11, 11,  222 },\r
+  {  11, 11,  324 }, {  11, 11,  829 }, { 140, 11,  611 }, {   7,  0,  506 },\r
+  {   6, 11,  166 }, {   7, 11,  374 }, { 135, 11, 1174 }, {  14, 11,   43 },\r
+  { 146, 11,   21 }, { 135, 11, 1694 }, { 135, 10, 1888 }, {   5, 11,  206 },\r
+  { 134, 11,  398 }, { 135, 11,   50 }, { 150,  0,   26 }, {   6,  0,   53 },\r
+  {   6,  0,  199 }, {   7,  0, 1408 }, {   8,  0,   32 }, {   8,  0,   93 },\r
+  {  10,  0,  397 }, {  10,  0,  629 }, {  11,  0,  593 }, {  11,  0,  763 },\r
+  {  13,  0,  326 }, { 145,  0,   35 }, { 134,  0,  105 }, { 132, 10,  394 },\r
+  {   4,  0,  843 }, { 138,  0,  794 }, {  11,  0,  704 }, { 141,  0,  396 },\r
+  {   5,  0,  114 }, {   5,  0,  255 }, { 141,  0,  285 }, {   6,  0,  619 },\r
+  {   7,  0,  898 }, {   7,  0, 1092 }, {   8,  0,  485 }, {  18,  0,   28 },\r
+  {  19,  0,  116 }, { 135, 10, 1931 }, {   9,  0,  145 }, {   7, 10,  574 },\r
+  { 135, 10, 1719 }, {   7,  0, 2035 }, {   8,  0,   19 }, {   9,  0,   89 },\r
+  { 138,  0,  831 }, { 132, 10,  658 }, {   6, 11,  517 }, {   7, 11, 1159 },\r
+  {  10, 11,  621 }, { 139, 11,  192 }, {   7,  0, 1933 }, {   7, 11, 1933 },\r
+  {   9, 10,  781 }, {  10, 10,  144 }, {  11, 10,  385 }, {  13, 10,  161 },\r
+  {  13, 10,  228 }, {  13, 10,  268 }, { 148, 10,  107 }, { 136, 10,  374 },\r
+  {  10, 11,  223 }, { 139, 11,  645 }, { 135,  0, 1728 }, {   7, 11,   64 },\r
+  {   7, 11,  289 }, { 136, 11,  245 }, {   4, 10,  344 }, {   6, 10,  498 },\r
+  { 139, 10,  323 }, { 136,  0,  746 }, { 135, 10, 1063 }, { 137, 10,  155 },\r
+  {   4,  0,  987 }, {   6,  0, 1964 }, {   6,  0, 1974 }, {   6,  0, 1990 },\r
+  { 136,  0,  995 }, { 133, 11,  609 }, { 133, 10,  906 }, { 134,  0, 1550 },\r
+  { 134,  0,  874 }, {   5, 11,  129 }, {   6, 11,   61 }, { 135, 11,  947 },\r
+  {   4,  0, 1018 }, {   6,  0, 1938 }, {   6,  0, 2021 }, { 134,  0, 2039 },\r
+  { 132,  0,  814 }, {  11,  0,  126 }, { 139,  0,  287 }, { 134,  0, 1264 },\r
+  {   5,  0,  955 }, { 136,  0,  814 }, { 141, 11,  506 }, { 132, 11,  314 },\r
+  {   6,  0,  981 }, { 139, 11, 1000 }, {   5,  0,   56 }, {   8,  0,  892 },\r
+  {   8,  0,  915 }, { 140,  0,  776 }, { 148,  0,  100 }, {  10,  0,    4 },\r
+  {  10,  0,   13 }, {  11,  0,  638 }, { 148,  0,   57 }, { 148, 11,   74 },\r
+  {   5,  0,  738 }, { 132, 10,  616 }, { 133, 11,  637 }, { 136, 10,  692 },\r
+  { 133,  0,  758 }, { 132, 10,  305 }, { 137, 11,  590 }, {   5, 11,  280 },\r
+  { 135, 11, 1226 }, { 134, 11,  494 }, { 135,  0, 1112 }, { 133, 11,  281 },\r
+  {  13,  0,   44 }, {  14,  0,  214 }, {   5, 10,  214 }, {   7, 10,  603 },\r
+  {   8, 10,  611 }, {   9, 10,  686 }, {  10, 10,   88 }, {  11, 10,  459 },\r
+  {  11, 10,  496 }, {  12, 10,  463 }, { 140, 10,  590 }, { 139,  0,  328 },\r
+  { 135, 11, 1064 }, { 137,  0,  133 }, {   7,  0,  168 }, {  13,  0,  196 },\r
+  { 141,  0,  237 }, { 134, 10, 1703 }, { 134,  0, 1152 }, { 135,  0, 1245 },\r
+  {   5,  0,  110 }, {   6,  0,  169 }, {   6,  0, 1702 }, {   7,  0,  400 },\r
+  {   8,  0,  538 }, {   9,  0,  184 }, {   9,  0,  524 }, { 140,  0,  218 },\r
+  {   6,  0, 1816 }, {  10,  0,  871 }, {  12,  0,  769 }, { 140,  0,  785 },\r
+  { 132, 11,  630 }, {   7, 11,   33 }, {   7, 11,  120 }, {   8, 11,  489 },\r
+  {   9, 11,  319 }, {  10, 11,  820 }, {  11, 11, 1004 }, {  12, 11,  379 },\r
+  {  13, 11,  117 }, {  13, 11,  412 }, {  14, 11,   25 }, {  15, 11,   52 },\r
+  {  15, 11,  161 }, {  16, 11,   47 }, { 149, 11,    2 }, {   6,  0,  133 },\r
+  {   8,  0,  413 }, {   9,  0,  353 }, { 139,  0,  993 }, { 145, 10,   19 },\r
+  {   4, 11,  937 }, { 133, 11,  801 }, { 134,  0,  978 }, {   6,  0,   93 },\r
+  {   6,  0, 1508 }, {   7,  0, 1422 }, {   7,  0, 1851 }, {   8,  0,  673 },\r
+  {   9,  0,  529 }, { 140,  0,   43 }, {   6,  0,  317 }, {  10,  0,  512 },\r
+  {   4, 10,  737 }, {  11, 10,  294 }, {  12, 10,   60 }, {  12, 10,  437 },\r
+  {  13, 10,   64 }, {  13, 10,  380 }, { 142, 10,  430 }, {   9,  0,  371 },\r
+  {   7, 11, 1591 }, { 144, 11,   43 }, {   6, 10, 1758 }, {   8, 10,  520 },\r
+  {   9, 10,  345 }, {   9, 10,  403 }, { 142, 10,  350 }, {   5,  0,  526 },\r
+  {  10, 10,  242 }, { 138, 10,  579 }, {   9,  0,   25 }, {  10,  0,  467 },\r
+  { 138,  0,  559 }, {   5, 10,  139 }, {   7, 10, 1168 }, { 138, 10,  539 },\r
+  {   4,  0,  335 }, { 135,  0,  942 }, { 140,  0,  754 }, { 132, 11,  365 },\r
+  {  11,  0,  182 }, { 142,  0,  195 }, { 142, 11,   29 }, {   5, 11,    7 },\r
+  { 139, 11,  774 }, {   4, 11,  746 }, { 135, 11, 1090 }, {   8,  0,   39 },\r
+  {  10,  0,  773 }, {  11,  0,   84 }, {  12,  0,  205 }, { 142,  0,    1 },\r
+  {   5,  0,  601 }, {   5,  0,  870 }, {   5, 11,  360 }, { 136, 11,  237 },\r
+  { 132,  0,  181 }, { 136,  0,  370 }, { 134,  0, 1652 }, {   8,  0,  358 },\r
+  {   4, 10,  107 }, {   7, 10,  613 }, {   8, 10,  439 }, {   8, 10,  504 },\r
+  {   9, 10,  501 }, {  10, 10,  383 }, { 139, 10,  477 }, { 132, 10,  229 },\r
+  { 137, 11,  785 }, {   4,  0,   97 }, {   5,  0,  147 }, {   6,  0,  286 },\r
+  {   7,  0, 1362 }, { 141,  0,  176 }, {   6,  0,  537 }, {   7,  0,  788 },\r
+  {   7,  0, 1816 }, { 132, 10,  903 }, { 140, 10,   71 }, {   6,  0,  743 },\r
+  { 134,  0, 1223 }, {   6,  0,  375 }, {   7,  0,  169 }, {   7,  0,  254 },\r
+  {   8,  0,  780 }, { 135, 11, 1493 }, {   7,  0, 1714 }, {   4, 10,   47 },\r
+  {   6, 10,  373 }, {   7, 10,  452 }, {   7, 10,  543 }, {   7, 10, 1856 },\r
+  {   9, 10,    6 }, {  11, 10,  257 }, { 139, 10,  391 }, {   6,  0,  896 },\r
+  { 136,  0, 1003 }, { 135,  0, 1447 }, { 137, 11,  341 }, {   5, 10,  980 },\r
+  { 134, 10, 1754 }, { 145, 11,   22 }, {   4, 11,  277 }, {   5, 11,  608 },\r
+  {   6, 11,  493 }, {   7, 11,  457 }, { 140, 11,  384 }, {   7, 10,  536 },\r
+  {   7, 10, 1331 }, { 136, 10,  143 }, { 140,  0,  744 }, {   7, 11,   27 },\r
+  { 135, 11,  316 }, {  18,  0,  126 }, {   5, 10,   19 }, { 134, 10,  533 },\r
+  {   4,  0,  788 }, {  11,  0,   41 }, {   5, 11,  552 }, {   5, 11,  586 },\r
+  {   5, 11,  676 }, {   6, 11,  448 }, {   8, 11,  244 }, {  11, 11,    1 },\r
+  {  11, 11,   41 }, {  13, 11,    3 }, {  16, 11,   54 }, {  17, 11,    4 },\r
+  { 146, 11,   13 }, {   4,  0,  985 }, {   6,  0, 1801 }, {   4, 11,  401 },\r
+  { 137, 11,  264 }, {   5, 10,  395 }, {   5, 10,  951 }, { 134, 10, 1776 },\r
+  {   5,  0,  629 }, { 135,  0, 1549 }, {  11, 10,  663 }, {  12, 10,  210 },\r
+  {  13, 10,  166 }, {  13, 10,  310 }, {  14, 10,  373 }, { 147, 10,   43 },\r
+  {   9, 11,  543 }, {  10, 11,  524 }, {  11, 11,   30 }, {  12, 11,  524 },\r
+  {  14, 11,  315 }, {  16, 11,   18 }, {  20, 11,   26 }, { 148, 11,   65 },\r
+  {   4, 11,  205 }, {   5, 11,  623 }, {   7, 11,  104 }, { 136, 11,  519 },\r
+  {   5,  0,  293 }, { 134,  0,  601 }, {   7, 11,  579 }, {   9, 11,   41 },\r
+  {   9, 11,  244 }, {   9, 11,  669 }, {  10, 11,    5 }, {  11, 11,  861 },\r
+  {  11, 11,  951 }, { 139, 11,  980 }, { 132, 11,  717 }, { 132, 10,  695 },\r
+  {   7, 10,  497 }, {   9, 10,  387 }, { 147, 10,   81 }, { 132,  0,  420 },\r
+  { 142,  0,   37 }, {   6,  0, 1134 }, {   6,  0, 1900 }, {  12,  0,  830 },\r
+  {  12,  0,  878 }, {  12,  0,  894 }, {  15,  0,  221 }, { 143,  0,  245 },\r
+  { 132, 11,  489 }, {   7,  0, 1570 }, { 140,  0,  542 }, {   8,  0,  933 },\r
+  { 136,  0,  957 }, {   6,  0, 1371 }, {   7,  0,   31 }, {   8,  0,  373 },\r
+  {   5, 10,  284 }, {   6, 10,   49 }, {   6, 10,  350 }, {   7, 10,  377 },\r
+  {   7, 10, 1693 }, {   8, 10,  678 }, {   9, 10,  161 }, {   9, 10,  585 },\r
+  {   9, 10,  671 }, {   9, 10,  839 }, {  11, 10,  912 }, { 141, 10,  427 },\r
+  { 135, 11,  892 }, {   4,  0,  325 }, { 138,  0,  125 }, { 139, 11,   47 },\r
+  { 132, 10,  597 }, { 138,  0,  323 }, {   6,  0, 1547 }, {   7, 11, 1605 },\r
+  {   9, 11,  473 }, {  11, 11,  962 }, { 146, 11,  139 }, { 139, 10,  908 },\r
+  {   7, 11,  819 }, {   9, 11,   26 }, {   9, 11,  392 }, {  10, 11,  152 },\r
+  {  10, 11,  226 }, {  11, 11,   19 }, {  12, 11,  276 }, {  12, 11,  426 },\r
+  {  12, 11,  589 }, {  13, 11,  460 }, {  15, 11,   97 }, {  19, 11,   48 },\r
+  { 148, 11,  104 }, { 135, 11,   51 }, {   4,  0,  718 }, { 135,  0, 1216 },\r
+  {   6,  0, 1896 }, {   6,  0, 1905 }, {   6,  0, 1912 }, {   9,  0,  947 },\r
+  {   9,  0,  974 }, {  12,  0,  809 }, {  12,  0,  850 }, {  12,  0,  858 },\r
+  {  12,  0,  874 }, {  12,  0,  887 }, {  12,  0,  904 }, {  12,  0,  929 },\r
+  {  12,  0,  948 }, {  12,  0,  952 }, {  15,  0,  198 }, {  15,  0,  206 },\r
+  {  15,  0,  220 }, {  15,  0,  227 }, {  15,  0,  247 }, {  18,  0,  188 },\r
+  {  21,  0,   48 }, {  21,  0,   50 }, {  24,  0,   25 }, {  24,  0,   29 },\r
+  {   7, 11,  761 }, {   7, 11, 1051 }, { 137, 11,  545 }, {   5,  0,  124 },\r
+  {   5,  0,  144 }, {   6,  0,  548 }, {   7,  0,   15 }, {   7,  0,  153 },\r
+  { 137,  0,  629 }, { 135, 11,  606 }, { 135, 10, 2014 }, {   7, 10, 2007 },\r
+  {   9, 11,   46 }, {   9, 10,  101 }, {   9, 10,  450 }, {  10, 10,   66 },\r
+  {  10, 10,  842 }, {  11, 10,  536 }, { 140, 10,  587 }, {   6,  0,   75 },\r
+  {   7,  0, 1531 }, {   8,  0,  416 }, {   9,  0,  240 }, {   9,  0,  275 },\r
+  {  10,  0,  100 }, {  11,  0,  658 }, {  11,  0,  979 }, {  12,  0,   86 },\r
+  {  14,  0,  207 }, {  15,  0,   20 }, { 143,  0,   25 }, {   5,  0,  141 },\r
+  {   5,  0,  915 }, {   6,  0, 1783 }, {   7,  0,  211 }, {   7,  0,  698 },\r
+  {   7,  0, 1353 }, {   9,  0,   83 }, {   9,  0,  281 }, {  10,  0,  376 },\r
+  {  10,  0,  431 }, {  11,  0,  543 }, {  12,  0,  664 }, {  13,  0,  280 },\r
+  {  13,  0,  428 }, {  14,  0,   61 }, {  14,  0,  128 }, {  17,  0,   52 },\r
+  { 145,  0,   81 }, { 132, 11,  674 }, { 135,  0,  533 }, { 149,  0,    6 },\r
+  { 132, 11,  770 }, { 133,  0,  538 }, {   5, 11,   79 }, {   7, 11, 1027 },\r
+  {   7, 11, 1477 }, { 139, 11,   52 }, { 139, 10,   62 }, {   4,  0,  338 },\r
+  { 133,  0,  400 }, {   5, 11,  789 }, { 134, 11,  195 }, {   4, 11,  251 },\r
+  {   4, 11,  688 }, {   7, 11,  513 }, {   7, 11, 1284 }, {   9, 11,   87 },\r
+  { 138, 11,  365 }, { 134, 10, 1766 }, {   6,  0,    0 }, {   7,  0,   84 },\r
+  {  11,  0,  895 }, { 145,  0,   11 }, { 139,  0,  892 }, {   4,  0,  221 },\r
+  {   5,  0,  659 }, {   7,  0,  697 }, {   7,  0, 1211 }, { 138,  0,  284 },\r
+  { 133,  0,  989 }, { 133, 11,  889 }, {   4, 11,  160 }, {   5, 11,  330 },\r
+  {   7, 11, 1434 }, { 136, 11,  174 }, {   6, 10, 1665 }, {   7, 10,  256 },\r
+  {   7, 10, 1388 }, {  10, 10,  499 }, { 139, 10,  670 }, {   7,  0,  848 },\r
+  {   4, 10,   22 }, {   5, 10,   10 }, { 136, 10,   97 }, { 138,  0,  507 },\r
+  { 133, 10,  481 }, {   4,  0,  188 }, { 135,  0,  805 }, {   5,  0,  884 },\r
+  {   6,  0,  732 }, { 139,  0,  991 }, { 135, 11,  968 }, {  11, 11,  636 },\r
+  {  15, 11,  145 }, {  17, 11,   34 }, {  19, 11,   50 }, { 151, 11,   20 },\r
+  {   7,  0,  959 }, {  16,  0,   60 }, {   6, 10,  134 }, {   7, 10,  437 },\r
+  {   9, 10,   37 }, {  14, 10,  285 }, { 142, 10,  371 }, {   7, 10,  486 },\r
+  {   8, 10,  155 }, {  11, 10,   93 }, { 140, 10,  164 }, { 134,  0, 1653 },\r
+  {   7,  0,  337 }, { 133, 10,  591 }, {   6,  0, 1989 }, {   8,  0,  922 },\r
+  {   8,  0,  978 }, { 133, 11,  374 }, { 132,  0,  638 }, { 138,  0,  500 },\r
+  { 133, 11,  731 }, {   5, 10,  380 }, {   5, 10,  650 }, { 136, 10,  310 },\r
+  { 138, 11,  381 }, {   4, 10,  364 }, {   7, 10, 1156 }, {   7, 10, 1187 },\r
+  { 137, 10,  409 }, { 137, 11,  224 }, { 140,  0,  166 }, { 134, 10,  482 },\r
+  {   4, 11,  626 }, {   5, 11,  642 }, {   6, 11,  425 }, {  10, 11,  202 },\r
+  { 139, 11,  141 }, {   4, 10,  781 }, {   6, 10,  487 }, {   7, 10,  926 },\r
+  {   8, 10,  263 }, { 139, 10,  500 }, { 135,  0,  418 }, {   4, 10,   94 },\r
+  { 135, 10, 1265 }, { 136,  0,  760 }, { 132, 10,  417 }, { 136, 11,  835 },\r
+  {   5, 10,  348 }, { 134, 10,  522 }, {   6,  0, 1277 }, { 134,  0, 1538 },\r
+  { 139, 11,  541 }, { 135, 11, 1597 }, {   5, 11,  384 }, {   8, 11,  455 },\r
+  { 140, 11,   48 }, { 136,  0,  770 }, {   5, 11,  264 }, { 134, 11,  184 },\r
+  {   4,  0,   89 }, {   5,  0,  489 }, {   6,  0,  315 }, {   7,  0,  553 },\r
+  {   7,  0, 1745 }, { 138,  0,  243 }, {   4, 10,  408 }, {   4, 10,  741 },\r
+  { 135, 10,  500 }, { 134,  0, 1396 }, { 133,  0,  560 }, {   6,  0, 1658 },\r
+  {   9,  0,    3 }, {  10,  0,  154 }, {  11,  0,  641 }, {  13,  0,   85 },\r
+  {  13,  0,  201 }, { 141,  0,  346 }, { 135, 11, 1595 }, {   5, 11,  633 },\r
+  {   6, 11,   28 }, {   7, 11,  219 }, { 135, 11, 1323 }, {   9, 11,  769 },\r
+  { 140, 11,  185 }, { 135, 11,  785 }, {   7, 11,  359 }, {   8, 11,  243 },\r
+  { 140, 11,  175 }, { 138,  0,  586 }, {   7,  0, 1271 }, { 134, 10,   73 },\r
+  { 132, 11,  105 }, {   4,  0,  166 }, {   5,  0,  505 }, { 134,  0, 1670 },\r
+  { 133, 10,  576 }, {   4, 11,  324 }, { 138, 11,  104 }, { 142, 10,  231 },\r
+  {   6,  0,  637 }, {   7, 10, 1264 }, {   7, 10, 1678 }, {  11, 10,  945 },\r
+  {  12, 10,  341 }, {  12, 10,  471 }, {  12, 10,  569 }, {  23, 11,   21 },\r
+  { 151, 11,   23 }, {   8, 11,  559 }, { 141, 11,  109 }, { 134,  0, 1947 },\r
+  {   7,  0,  445 }, {   8,  0,  307 }, {   8,  0,  704 }, {  10,  0,   41 },\r
+  {  10,  0,  439 }, {  11,  0,  237 }, {  11,  0,  622 }, { 140,  0,  201 },\r
+  { 135, 11,  963 }, { 135,  0, 1977 }, {   4,  0,  189 }, {   5,  0,  713 },\r
+  { 136,  0,   57 }, { 138,  0,  371 }, { 135, 10,  538 }, { 132,  0,  552 },\r
+  {   6,  0,  883 }, { 133, 10,  413 }, {   6,  0,  923 }, { 132, 11,  758 },\r
+  { 138, 11,  215 }, { 136, 10,  495 }, {   7, 10,   54 }, {   8, 10,  312 },\r
+  {  10, 10,  191 }, {  10, 10,  614 }, { 140, 10,  567 }, {   7, 11,  351 },\r
+  { 139, 11,  128 }, {   7,  0,  875 }, {   6, 10,  468 }, {   7, 10, 1478 },\r
+  {   8, 10,  530 }, { 142, 10,  290 }, { 135,  0, 1788 }, {  17,  0,   49 },\r
+  { 133, 11,  918 }, {  12, 11,  398 }, {  20, 11,   39 }, {  21, 11,   11 },\r
+  { 150, 11,   41 }, {  10,  0,  661 }, {   6, 10,  484 }, { 135, 10,  822 },\r
+  { 135,  0, 1945 }, { 134,  0,  794 }, { 137, 10,  900 }, { 135, 10, 1335 },\r
+  {   6, 10, 1724 }, { 135, 10, 2022 }, { 132, 11,  340 }, { 134,  0, 1135 },\r
+  {   4,  0,  784 }, { 133,  0,  745 }, {   5,  0,   84 }, { 134,  0,  163 },\r
+  { 133,  0,  410 }, {   4,  0,  976 }, {   5, 11,  985 }, {   7, 11,  509 },\r
+  {   7, 11,  529 }, { 145, 11,   96 }, { 132, 10,  474 }, { 134,  0,  703 },\r
+  { 135, 11, 1919 }, {   5,  0,  322 }, {   8,  0,  186 }, {   9,  0,  262 },\r
+  {  10,  0,  187 }, { 142,  0,  208 }, { 135, 10, 1504 }, { 133,  0,  227 },\r
+  {   9,  0,  560 }, {  13,  0,  208 }, { 133, 10,  305 }, { 132, 11,  247 },\r
+  {   7,  0, 1395 }, {   8,  0,  486 }, {   9,  0,  236 }, {   9,  0,  878 },\r
+  {  10,  0,  218 }, {  11,  0,   95 }, {  19,  0,   17 }, { 147,  0,   31 },\r
+  {   7,  0, 2043 }, {   8,  0,  672 }, { 141,  0,  448 }, {   4, 11,  184 },\r
+  {   5, 11,  390 }, {   6, 11,  337 }, {   7, 11,   23 }, {   7, 11,  494 },\r
+  {   7, 11,  618 }, {   7, 11, 1456 }, {   8, 11,   27 }, {   8, 11,  599 },\r
+  {  10, 11,  153 }, { 139, 11,  710 }, { 135,  0,  466 }, { 135, 10, 1236 },\r
+  {   6,  0,  167 }, {   7,  0,  186 }, {   7,  0,  656 }, {  10,  0,  643 },\r
+  {   4, 10,  480 }, {   6, 10,  302 }, {   6, 10, 1642 }, {   7, 10,  837 },\r
+  {   7, 10, 1547 }, {   7, 10, 1657 }, {   8, 10,  429 }, {   9, 10,  228 },\r
+  {  13, 10,  289 }, {  13, 10,  343 }, { 147, 10,  101 }, { 134,  0, 1428 },\r
+  { 134,  0, 1440 }, {   5,  0,  412 }, {   7, 10,  278 }, {  10, 10,  739 },\r
+  {  11, 10,  708 }, { 141, 10,  348 }, { 134,  0, 1118 }, { 136,  0,  562 },\r
+  { 148, 11,   46 }, {   9,  0,  316 }, { 139,  0,  256 }, { 134,  0, 1771 },\r
+  { 135,  0, 1190 }, { 137,  0,  132 }, {  10, 11,  227 }, {  11, 11,  497 },\r
+  {  11, 11,  709 }, { 140, 11,  415 }, { 143,  0,   66 }, {   6, 11,  360 },\r
+  {   7, 11, 1664 }, { 136, 11,  478 }, { 144, 10,   28 }, {   4,  0,  317 },\r
+  { 135,  0, 1279 }, {   5,  0,   63 }, { 133,  0,  509 }, { 136, 11,  699 },\r
+  { 145, 10,   36 }, { 134,  0, 1475 }, {  11, 11,  343 }, { 142, 11,  127 },\r
+  { 132, 11,  739 }, { 132,  0,  288 }, { 135, 11, 1757 }, {   8,  0,   89 },\r
+  {   8,  0,  620 }, {   9,  0,  608 }, {  11,  0,  628 }, {  12,  0,  322 },\r
+  { 143,  0,  124 }, { 134,  0, 1225 }, {   7,  0, 1189 }, {   4, 11,   67 },\r
+  {   5, 11,  422 }, {   6, 10,  363 }, {   7, 11, 1037 }, {   7, 11, 1289 },\r
+  {   7, 11, 1555 }, {   7, 10, 1955 }, {   8, 10,  725 }, {   9, 11,  741 },\r
+  { 145, 11,  108 }, { 134,  0, 1468 }, {   6,  0,  689 }, { 134,  0, 1451 },\r
+  { 138,  0,  120 }, { 151,  0,    1 }, { 137, 10,  805 }, { 142,  0,  329 },\r
+  {   5, 10,  813 }, { 135, 10, 2046 }, { 135,  0,  226 }, { 138, 11,   96 },\r
+  {   7,  0, 1855 }, {   5, 10,  712 }, {  11, 10,   17 }, {  13, 10,  321 },\r
+  { 144, 10,   67 }, {   9,  0,  461 }, {   6, 10,  320 }, {   7, 10,  781 },\r
+  {   7, 10, 1921 }, {   9, 10,   55 }, {  10, 10,  186 }, {  10, 10,  273 },\r
+  {  10, 10,  664 }, {  10, 10,  801 }, {  11, 10,  996 }, {  11, 10,  997 },\r
+  {  13, 10,  157 }, { 142, 10,  170 }, {   8, 11,  203 }, {   8, 10,  271 },\r
+  {  11, 11,  823 }, {  11, 11,  846 }, {  12, 11,  482 }, {  13, 11,  133 },\r
+  {  13, 11,  277 }, {  13, 11,  302 }, {  13, 11,  464 }, {  14, 11,  205 },\r
+  { 142, 11,  221 }, { 135,  0, 1346 }, {   4, 11,  449 }, { 133, 11,  718 },\r
+  { 134,  0,   85 }, {  14,  0,  299 }, {   7, 10,  103 }, {   7, 10,  863 },\r
+  {  11, 10,  184 }, { 145, 10,   62 }, {   4, 11,  355 }, {   6, 11,  311 },\r
+  {   9, 11,  256 }, { 138, 11,  404 }, { 137, 10,  659 }, { 138, 11,  758 },\r
+  { 133, 11,  827 }, {   5, 11,   64 }, { 140, 11,  581 }, { 134,  0, 1171 },\r
+  {   4, 11,  442 }, {   7, 11, 1047 }, {   7, 11, 1352 }, { 135, 11, 1643 },\r
+  { 132,  0,  980 }, {   5, 11,  977 }, {   6, 11,  288 }, {   7, 11,  528 },\r
+  { 135, 11, 1065 }, {   5,  0,  279 }, {   6,  0,  235 }, {   7,  0,  468 },\r
+  {   8,  0,  446 }, {   9,  0,  637 }, {  10,  0,  717 }, {  11,  0,  738 },\r
+  { 140,  0,  514 }, { 132,  0,  293 }, {  11, 10,  337 }, { 142, 10,  303 },\r
+  { 136, 11,  285 }, {   5,  0,   17 }, {   6,  0,  371 }, {   9,  0,  528 },\r
+  {  12,  0,  364 }, { 132, 11,  254 }, {   5, 10,   77 }, {   7, 10, 1455 },\r
+  {  10, 10,  843 }, { 147, 10,   73 }, { 150,  0,    5 }, { 132, 10,  458 },\r
+  {   6, 11,   12 }, {   7, 11, 1219 }, { 145, 11,   73 }, { 135, 10, 1420 },\r
+  {   6, 10,  109 }, { 138, 10,  382 }, { 135, 11,  125 }, {   6, 10,  330 },\r
+  {   7, 10, 1084 }, { 139, 10,  142 }, {   6, 11,  369 }, {   6, 11,  502 },\r
+  {   7, 11, 1036 }, {   8, 11,  348 }, {   9, 11,  452 }, {  10, 11,   26 },\r
+  {  11, 11,  224 }, {  11, 11,  387 }, {  11, 11,  772 }, {  12, 11,   95 },\r
+  {  12, 11,  629 }, {  13, 11,  195 }, {  13, 11,  207 }, {  13, 11,  241 },\r
+  {  14, 11,  260 }, {  14, 11,  270 }, { 143, 11,  140 }, { 132, 11,  269 },\r
+  {   5, 11,  480 }, {   7, 11,  532 }, {   7, 11, 1197 }, {   7, 11, 1358 },\r
+  {   8, 11,  291 }, {  11, 11,  349 }, { 142, 11,  396 }, { 150,  0,   48 },\r
+  {  10,  0,  601 }, {  13,  0,  353 }, { 141,  0,  376 }, {   5,  0,  779 },\r
+  {   5,  0,  807 }, {   6,  0, 1655 }, { 134,  0, 1676 }, { 142, 11,  223 },\r
+  {   4,  0,  196 }, {   5,  0,  558 }, { 133,  0,  949 }, { 148, 11,   15 },\r
+  { 135, 11, 1764 }, { 134,  0, 1322 }, { 132,  0,  752 }, { 139,  0,  737 },\r
+  { 135, 11,  657 }, { 136, 11,  533 }, { 135,  0,  412 }, {   4,  0,  227 },\r
+  {   5,  0,  159 }, {   5,  0,  409 }, {   7,  0,   80 }, {   8,  0,  556 },\r
+  {  10,  0,  479 }, {  12,  0,  418 }, {  14,  0,   50 }, {  14,  0,  123 },\r
+  {  14,  0,  192 }, {  14,  0,  249 }, {  14,  0,  295 }, { 143,  0,   27 },\r
+  {   7,  0, 1470 }, {   8,  0,   66 }, {   8,  0,  137 }, {   8,  0,  761 },\r
+  {   9,  0,  638 }, {  11,  0,   80 }, {  11,  0,  212 }, {  11,  0,  368 },\r
+  {  11,  0,  418 }, {  12,  0,    8 }, {  13,  0,   15 }, {  16,  0,   61 },\r
+  {  17,  0,   59 }, {  19,  0,   28 }, { 148,  0,   84 }, { 135, 10, 1985 },\r
+  {   4, 11,  211 }, {   4, 11,  332 }, {   5, 11,  335 }, {   6, 11,  238 },\r
+  {   7, 11,  269 }, {   7, 11,  811 }, {   7, 11, 1797 }, {   8, 10,  122 },\r
+  {   8, 11,  836 }, {   9, 11,  507 }, { 141, 11,  242 }, {   6,  0,  683 },\r
+  { 134,  0, 1252 }, {   4,  0,  873 }, { 132, 10,  234 }, { 134,  0,  835 },\r
+  {   6,  0,   38 }, {   7,  0, 1220 }, {   8,  0,  185 }, {   8,  0,  256 },\r
+  {   9,  0,   22 }, {   9,  0,  331 }, {  10,  0,  738 }, {  11,  0,  205 },\r
+  {  11,  0,  540 }, {  11,  0,  746 }, {  13,  0,  465 }, {  14,  0,   88 },\r
+  { 142,  0,  194 }, { 138,  0,  986 }, {   5, 11, 1009 }, {  12, 11,  582 },\r
+  { 146, 11,  131 }, {   4,  0,  159 }, {   6,  0,  115 }, {   7,  0,  252 },\r
+  {   7,  0,  257 }, {   7,  0, 1928 }, {   8,  0,   69 }, {   9,  0,  384 },\r
+  {  10,  0,   91 }, {  10,  0,  615 }, {  12,  0,  375 }, {  14,  0,  235 },\r
+  {  18,  0,  117 }, { 147,  0,  123 }, { 133,  0,  911 }, { 136,  0,  278 },\r
+  {   5, 10,  430 }, {   5, 10,  932 }, {   6, 10,  131 }, {   7, 10,  417 },\r
+  {   9, 10,  522 }, {  11, 10,  314 }, { 141, 10,  390 }, {  14, 10,  149 },\r
+  {  14, 10,  399 }, { 143, 10,   57 }, {   4,  0,  151 }, {   7,  0, 1567 },\r
+  { 136,  0,  749 }, {   5, 11,  228 }, {   6, 11,  203 }, {   7, 11,  156 },\r
+  {   8, 11,  347 }, { 137, 11,  265 }, { 132, 10,  507 }, {  10,  0,  989 },\r
+  { 140,  0,  956 }, { 133,  0,  990 }, {   5,  0,  194 }, {   6,  0,  927 },\r
+  {   7,  0, 1662 }, {   9,  0,   90 }, { 140,  0,  564 }, {   4, 10,  343 },\r
+  { 133, 10,  511 }, { 133,  0,  425 }, {   7, 10,  455 }, { 138, 10,  591 },\r
+  {   4,  0,  774 }, {   7, 11,  476 }, {   7, 11, 1592 }, { 138, 11,   87 },\r
+  {   5,  0,  971 }, { 135, 10, 1381 }, {   5, 11,  318 }, { 147, 11,  121 },\r
+  {   5, 11,  291 }, {   7, 11,  765 }, {   9, 11,  389 }, { 140, 11,  548 },\r
+  { 134, 10,  575 }, {   4,  0,  827 }, {  12,  0,  646 }, {  12,  0,  705 },\r
+  {  12,  0,  712 }, { 140,  0,  714 }, { 139,  0,  752 }, { 137,  0,  662 },\r
+  {   5,  0,   72 }, {   6,  0,  264 }, {   7,  0,   21 }, {   7,  0,   46 },\r
+  {   7,  0, 2013 }, {   8,  0,  215 }, {   8,  0,  513 }, {  10,  0,  266 },\r
+  { 139,  0,   22 }, { 139, 11,  522 }, {   6,  0,  239 }, {   7,  0,  118 },\r
+  {  10,  0,   95 }, {  11,  0,  603 }, {  13,  0,  443 }, {  14,  0,  160 },\r
+  { 143,  0,    4 }, {   6,  0,  431 }, { 134,  0,  669 }, {   7, 10, 1127 },\r
+  {   7, 10, 1572 }, {  10, 10,  297 }, {  10, 10,  422 }, {  11, 10,  764 },\r
+  {  11, 10,  810 }, {  12, 10,  264 }, {  13, 10,  102 }, {  13, 10,  300 },\r
+  {  13, 10,  484 }, {  14, 10,  147 }, {  14, 10,  229 }, {  17, 10,   71 },\r
+  {  18, 10,  118 }, { 147, 10,  120 }, {   5,  0,  874 }, {   6,  0, 1677 },\r
+  {  15,  0,    0 }, {  10, 11,  525 }, { 139, 11,   82 }, {   6,  0,   65 },\r
+  {   7,  0,  939 }, {   7,  0, 1172 }, {   7,  0, 1671 }, {   9,  0,  540 },\r
+  {  10,  0,  696 }, {  11,  0,  265 }, {  11,  0,  732 }, {  11,  0,  928 },\r
+  {  11,  0,  937 }, { 141,  0,  438 }, { 134,  0, 1350 }, { 136, 11,  547 },\r
+  { 132, 11,  422 }, {   5, 11,  355 }, { 145, 11,    0 }, { 137, 11,  905 },\r
+  {   5,  0,  682 }, { 135,  0, 1887 }, { 132,  0,  809 }, {   4,  0,  696 },\r
+  { 133, 11,  865 }, {   6,  0, 1074 }, {   6,  0, 1472 }, {  14, 10,   35 },\r
+  { 142, 10,  191 }, {   5, 11,  914 }, { 134, 11, 1625 }, { 133, 11,  234 },\r
+  { 135, 11, 1383 }, { 137, 11,  780 }, { 132, 10,  125 }, {   4,  0,  726 },\r
+  { 133,  0,  630 }, {   8,  0,  802 }, { 136,  0,  838 }, { 132, 10,  721 },\r
+  {   6,  0, 1337 }, {   7,  0,  776 }, {  19,  0,   56 }, { 136, 10,  145 },\r
+  { 132,  0,  970 }, {   7, 10,  792 }, {   8, 10,  147 }, {  10, 10,  821 },\r
+  { 139, 10, 1021 }, { 139, 10,  970 }, {   8,  0,  940 }, { 137,  0,  797 },\r
+  { 135, 11, 1312 }, {   9,  0,  248 }, {  10,  0,  400 }, {   7, 11,  816 },\r
+  {   7, 11, 1241 }, {   7, 10, 1999 }, {   9, 11,  283 }, {   9, 11,  520 },\r
+  {  10, 11,  213 }, {  10, 11,  307 }, {  10, 11,  463 }, {  10, 11,  671 },\r
+  {  10, 11,  746 }, {  11, 11,  401 }, {  11, 11,  794 }, {  12, 11,  517 },\r
+  {  18, 11,  107 }, { 147, 11,  115 }, {   6,  0, 1951 }, { 134,  0, 2040 },\r
+  { 135, 11,  339 }, {  13,  0,   41 }, {  15,  0,   93 }, {   5, 10,  168 },\r
+  {   5, 10,  930 }, {   8, 10,   74 }, {   9, 10,  623 }, {  12, 10,  500 },\r
+  { 140, 10,  579 }, {   6,  0,  118 }, {   7,  0,  215 }, {   7,  0, 1521 },\r
+  { 140,  0,   11 }, {   6, 10,  220 }, {   7, 10, 1101 }, { 141, 10,  105 },\r
+  {   6, 11,  421 }, {   7, 11,   61 }, {   7, 11, 1540 }, {  10, 11,   11 },\r
+  { 138, 11,  501 }, {   7,  0,  615 }, { 138,  0,  251 }, { 140, 11,  631 },\r
+  { 135,  0, 1044 }, {   6, 10,   19 }, {   7, 10, 1413 }, { 139, 10,  428 },\r
+  { 133,  0,  225 }, {   7, 10,   96 }, {   8, 10,  401 }, {   8, 10,  703 },\r
+  { 137, 10,  896 }, { 145, 10,  116 }, {   6, 11,  102 }, {   7, 11,   72 },\r
+  {  15, 11,  142 }, { 147, 11,   67 }, {   7, 10, 1961 }, {   7, 10, 1965 },\r
+  {   8, 10,  702 }, { 136, 10,  750 }, {   7, 10, 2030 }, {   8, 10,  150 },\r
+  {   8, 10,  737 }, {  12, 10,  366 }, { 151, 11,   30 }, {   4,  0,  370 },\r
+  {   5,  0,  756 }, {   7,  0, 1326 }, { 135, 11,  823 }, {   8, 10,  800 },\r
+  {   9, 10,  148 }, {   9, 10,  872 }, {   9, 10,  890 }, {  11, 10,  309 },\r
+  {  11, 10, 1001 }, {  13, 10,  267 }, { 141, 10,  323 }, {   6,  0, 1662 },\r
+  {   7,  0,   48 }, {   8,  0,  771 }, {  10,  0,  116 }, {  13,  0,  104 },\r
+  {  14,  0,  105 }, {  14,  0,  184 }, {  15,  0,  168 }, {  19,  0,   92 },\r
+  { 148,  0,   68 }, {  10,  0,  209 }, { 135, 11, 1870 }, {   7, 11,   68 },\r
+  {   8, 11,   48 }, {   8, 11,   88 }, {   8, 11,  582 }, {   8, 11,  681 },\r
+  {   9, 11,  373 }, {   9, 11,  864 }, {  11, 11,  157 }, {  11, 11,  336 },\r
+  {  11, 11,  843 }, { 148, 11,   27 }, { 134,  0,  930 }, {   4, 11,   88 },\r
+  {   5, 11,  137 }, {   5, 11,  174 }, {   5, 11,  777 }, {   6, 11, 1664 },\r
+  {   6, 11, 1725 }, {   7, 11,   77 }, {   7, 11,  426 }, {   7, 11, 1317 },\r
+  {   7, 11, 1355 }, {   8, 11,  126 }, {   8, 11,  563 }, {   9, 11,  523 },\r
+  {   9, 11,  750 }, {  10, 11,  310 }, {  10, 11,  836 }, {  11, 11,   42 },\r
+  {  11, 11,  318 }, {  11, 11,  731 }, {  12, 11,   68 }, {  12, 11,   92 },\r
+  {  12, 11,  507 }, {  12, 11,  692 }, {  13, 11,   81 }, {  13, 11,  238 },\r
+  {  13, 11,  374 }, {  18, 11,  138 }, {  19, 11,   78 }, {  19, 11,  111 },\r
+  {  20, 11,   55 }, {  20, 11,   77 }, { 148, 11,   92 }, {   4, 11,  938 },\r
+  { 135, 11, 1831 }, {   5, 10,  547 }, {   7, 10,  424 }, {   8, 11,  617 },\r
+  { 138, 11,  351 }, {   6,  0, 1286 }, {   6, 11, 1668 }, {   7, 11, 1499 },\r
+  {   8, 11,  117 }, {   9, 11,  314 }, { 138, 11,  174 }, {   6,  0,  759 },\r
+  {   6,  0,  894 }, {   7, 11,  707 }, { 139, 11,  563 }, {   4,  0,  120 },\r
+  { 135,  0, 1894 }, {   9,  0,  385 }, { 149,  0,   17 }, { 138,  0,  429 },\r
+  { 133, 11,  403 }, {   5,  0,  820 }, { 135,  0,  931 }, {  10,  0,  199 },\r
+  { 133, 10,  133 }, {   6,  0,  151 }, {   6,  0, 1675 }, {   7,  0,  383 },\r
+  { 151,  0,   10 }, {   6,  0,  761 }, { 136, 10,  187 }, {   8,  0,  365 },\r
+  {  10, 10,    0 }, {  10, 10,  818 }, { 139, 10,  988 }, {   4, 11,   44 },\r
+  {   5, 11,  311 }, {   6, 11,  156 }, {   7, 11,  639 }, {   7, 11,  762 },\r
+  {   7, 11, 1827 }, {   9, 11,    8 }, {   9, 11,  462 }, { 148, 11,   83 },\r
+  {   4, 11,  346 }, {   7, 11,  115 }, {   9, 11,  180 }, {   9, 11,  456 },\r
+  { 138, 11,  363 }, { 136, 10,  685 }, {   7,  0, 1086 }, { 145,  0,   46 },\r
+  {   6,  0, 1624 }, {  11,  0,   11 }, {  12,  0,  422 }, {  13,  0,  444 },\r
+  { 142,  0,  360 }, {   6,  0, 1020 }, {   6,  0, 1260 }, { 134,  0, 1589 },\r
+  {   4,  0,   43 }, {   5,  0,  344 }, {   5,  0,  357 }, {  14,  0,  472 },\r
+  { 150,  0,   58 }, {   6,  0, 1864 }, {   6,  0, 1866 }, {   6,  0, 1868 },\r
+  {   6,  0, 1869 }, {   6,  0, 1874 }, {   6,  0, 1877 }, {   6,  0, 1903 },\r
+  {   6,  0, 1911 }, {   9,  0,  920 }, {   9,  0,  921 }, {   9,  0,  924 },\r
+  {   9,  0,  946 }, {   9,  0,  959 }, {   9,  0,  963 }, {   9,  0,  970 },\r
+  {   9,  0,  997 }, {   9,  0, 1008 }, {   9,  0, 1017 }, {  12,  0,  795 },\r
+  {  12,  0,  797 }, {  12,  0,  798 }, {  12,  0,  800 }, {  12,  0,  803 },\r
+  {  12,  0,  811 }, {  12,  0,  820 }, {  12,  0,  821 }, {  12,  0,  839 },\r
+  {  12,  0,  841 }, {  12,  0,  848 }, {  12,  0,  911 }, {  12,  0,  921 },\r
+  {  12,  0,  922 }, {  12,  0,  925 }, {  12,  0,  937 }, {  12,  0,  944 },\r
+  {  12,  0,  945 }, {  12,  0,  953 }, {  15,  0,  184 }, {  15,  0,  191 },\r
+  {  15,  0,  199 }, {  15,  0,  237 }, {  15,  0,  240 }, {  15,  0,  243 },\r
+  {  15,  0,  246 }, {  18,  0,  203 }, {  21,  0,   40 }, {  21,  0,   52 },\r
+  {  21,  0,   57 }, {  24,  0,   23 }, {  24,  0,   28 }, { 152,  0,   30 },\r
+  { 134,  0,  725 }, { 145, 11,   58 }, { 133,  0,  888 }, { 137, 10,  874 },\r
+  {   4,  0,  711 }, {   8, 10,  774 }, {  10, 10,  670 }, { 140, 10,   51 },\r
+  { 144, 11,   40 }, {   6, 11,  185 }, {   7, 11, 1899 }, { 139, 11,  673 },\r
+  { 137, 10,  701 }, { 137,  0,  440 }, {   4, 11,  327 }, {   5, 11,  478 },\r
+  {   7, 11, 1332 }, {   8, 11,  753 }, { 140, 11,  227 }, {   4, 10,  127 },\r
+  {   5, 10,  350 }, {   6, 10,  356 }, {   8, 10,  426 }, {   9, 10,  572 },\r
+  {  10, 10,  247 }, { 139, 10,  312 }, {   5, 11, 1020 }, { 133, 11, 1022 },\r
+  {   4, 11,  103 }, { 133, 11,  401 }, {   6,  0, 1913 }, {   6,  0, 1926 },\r
+  {   6,  0, 1959 }, {   9,  0,  914 }, {   9,  0,  939 }, {   9,  0,  952 },\r
+  {   9,  0,  979 }, {   9,  0,  990 }, {   9,  0,  998 }, {   9,  0, 1003 },\r
+  {   9,  0, 1023 }, {  12,  0,  827 }, {  12,  0,  834 }, {  12,  0,  845 },\r
+  {  12,  0,  912 }, {  12,  0,  935 }, {  12,  0,  951 }, {  15,  0,  172 },\r
+  {  15,  0,  174 }, {  18,  0,  198 }, { 149,  0,   63 }, {   5,  0,  958 },\r
+  {   5,  0,  987 }, {   4, 11,  499 }, { 135, 11, 1421 }, {   7,  0,  885 },\r
+  {   6, 10,   59 }, {   6, 10, 1762 }, {   9, 10,  603 }, { 141, 10,  397 },\r
+  {  10, 11,   62 }, { 141, 11,  164 }, {   4,  0,  847 }, { 135,  0,  326 },\r
+  {  11,  0,  276 }, { 142,  0,  293 }, {   4,  0,   65 }, {   5,  0,  479 },\r
+  {   5,  0, 1004 }, {   7,  0, 1913 }, {   8,  0,  317 }, {   9,  0,  302 },\r
+  {  10,  0,  612 }, {  13,  0,   22 }, { 132, 11,   96 }, {   4,  0,  261 },\r
+  { 135,  0,  510 }, { 135,  0, 1514 }, {   6, 10,  111 }, {   7, 10,    4 },\r
+  {   8, 10,  163 }, {   8, 10,  776 }, { 138, 10,  566 }, {   4,  0,  291 },\r
+  {   9,  0,  515 }, {  12,  0,  152 }, {  12,  0,  443 }, {  13,  0,  392 },\r
+  { 142,  0,  357 }, {   7, 11,  399 }, { 135, 11, 1492 }, {   4,  0,  589 },\r
+  { 139,  0,  282 }, {   6, 11,  563 }, { 135, 10, 1994 }, {   5, 10,  297 },\r
+  { 135, 10, 1038 }, {   4,  0,  130 }, {   7,  0,  843 }, { 135,  0, 1562 },\r
+  {   5,  0,   42 }, {   5,  0,  879 }, {   7,  0,  245 }, {   7,  0,  324 },\r
+  {   7,  0, 1532 }, {  11,  0,  463 }, {  11,  0,  472 }, {  13,  0,  363 },\r
+  { 144,  0,   52 }, {   4,  0,  134 }, { 133,  0,  372 }, { 133,  0,  680 },\r
+  { 136, 10,  363 }, {   6,  0, 1997 }, {   8,  0,  935 }, { 136,  0,  977 },\r
+  {   4,  0,  810 }, { 135,  0, 1634 }, { 135, 10, 1675 }, {   7,  0, 1390 },\r
+  {   4, 11,  910 }, { 133, 11,  832 }, {   7, 10,  808 }, {   8, 11,  266 },\r
+  { 139, 11,  578 }, { 132,  0,  644 }, {   4,  0,  982 }, { 138,  0,  867 },\r
+  { 132, 10,  280 }, { 135,  0,  540 }, { 140, 10,   54 }, { 135,  0,  123 },\r
+  { 134,  0, 1978 }, {   4, 10,  421 }, { 133, 10,  548 }, {   6,  0,  623 },\r
+  { 136,  0,  789 }, {   4,  0,  908 }, {   5,  0,  359 }, {   5,  0,  508 },\r
+  {   6,  0, 1723 }, {   7,  0,  343 }, {   7,  0, 1996 }, { 135,  0, 2026 },\r
+  { 134,  0, 1220 }, {   4,  0,  341 }, { 135,  0,  480 }, {   6, 10,  254 },\r
+  {   9, 10,  109 }, { 138, 10,  103 }, { 134,  0,  888 }, {   8, 11,  528 },\r
+  { 137, 11,  348 }, {   7,  0, 1995 }, {   8,  0,  299 }, {  11,  0,  890 },\r
+  {  12,  0,  674 }, {   4, 11,   20 }, { 133, 11,  616 }, { 135, 11, 1094 },\r
+  { 134, 10, 1630 }, {   4,  0,  238 }, {   5,  0,  503 }, {   6,  0,  179 },\r
+  {   7,  0, 2003 }, {   8,  0,  381 }, {   8,  0,  473 }, {   9,  0,  149 },\r
+  {  10,  0,  788 }, {  15,  0,   45 }, {  15,  0,   86 }, {  20,  0,  110 },\r
+  { 150,  0,   57 }, { 133, 10,  671 }, {   4, 11,   26 }, {   5, 11,  429 },\r
+  {   6, 11,  245 }, {   7, 11,  704 }, {   7, 11, 1379 }, { 135, 11, 1474 },\r
+  {   4,  0,  121 }, {   5,  0,  156 }, {   5,  0,  349 }, {   9,  0,  431 },\r
+  {  10,  0,  605 }, { 142,  0,  342 }, {   7, 11,  943 }, { 139, 11,  614 },\r
+  { 132, 10,  889 }, { 132, 11,  621 }, {   7, 10, 1382 }, {   7, 11, 1382 },\r
+  { 135, 10, 1910 }, { 132, 10,  627 }, { 133, 10,  775 }, { 133, 11,  542 },\r
+  { 133, 11,  868 }, { 136, 11,  433 }, {   6,  0, 1373 }, {   7,  0, 1011 },\r
+  {  11, 10,  362 }, {  11, 10,  948 }, { 140, 10,  388 }, {   6,  0,   80 },\r
+  {   7,  0,  173 }, {   9,  0,  547 }, {  10,  0,  730 }, {  14,  0,   18 },\r
+  {  22,  0,   39 }, { 135, 11, 1495 }, {   6,  0, 1694 }, { 135,  0, 1974 },\r
+  { 140,  0,  196 }, {   4,  0,  923 }, {   6,  0,  507 }, {   6,  0, 1711 },\r
+  {   7, 10,  451 }, {   8, 10,  389 }, {  12, 10,  490 }, {  13, 10,   16 },\r
+  {  13, 10,  215 }, {  13, 10,  351 }, {  18, 10,  132 }, { 147, 10,  125 },\r
+  {   6,  0,  646 }, { 134,  0, 1047 }, { 135, 10,  841 }, { 136, 10,  566 },\r
+  {   6,  0, 1611 }, { 135,  0, 1214 }, { 139,  0,  926 }, { 132, 11,  525 },\r
+  { 132,  0,  595 }, {   5,  0,  240 }, {   6,  0,  459 }, {   7,  0,   12 },\r
+  {   7,  0,  114 }, {   7,  0,  949 }, {   7,  0, 1753 }, {   7,  0, 1805 },\r
+  {   8,  0,  658 }, {   9,  0,    1 }, {  11,  0,  959 }, { 141,  0,  446 },\r
+  {   5, 10,  912 }, { 134, 10, 1695 }, { 132,  0,  446 }, {   7, 11,   62 },\r
+  {  12, 11,   45 }, { 147, 11,  112 }, {   5, 10,  236 }, {   6, 10,  572 },\r
+  {   8, 10,  492 }, {  11, 10,  618 }, { 144, 10,   56 }, {   5, 10,  190 },\r
+  { 136, 10,  318 }, { 135, 10, 1376 }, {   4, 11,  223 }, {   6, 11,  359 },\r
+  {  11, 11,    3 }, {  13, 11,  108 }, {  14, 11,   89 }, { 144, 11,   22 },\r
+  { 132, 11,  647 }, { 134,  0,  490 }, { 134,  0,  491 }, { 134,  0, 1584 },\r
+  { 135, 11,  685 }, { 138, 11,  220 }, {   7,  0,  250 }, { 136,  0,  507 },\r
+  { 132,  0,  158 }, {   4,  0,  140 }, {   7,  0,  362 }, {   8,  0,  209 },\r
+  {   9,  0,   10 }, {   9,  0,  160 }, {   9,  0,  503 }, {   9,  0,  614 },\r
+  {  10,  0,  689 }, {  11,  0,  327 }, {  11,  0,  553 }, {  11,  0,  725 },\r
+  {  11,  0,  767 }, {  12,  0,  252 }, {  12,  0,  583 }, {  13,  0,  192 },\r
+  {  14,  0,  269 }, {  14,  0,  356 }, { 148,  0,   50 }, {  19,  0,    1 },\r
+  {  19,  0,   26 }, { 150,  0,    9 }, { 132, 11,  109 }, {   6,  0,  228 },\r
+  {   7,  0, 1341 }, {   9,  0,  408 }, { 138,  0,  343 }, {   4,  0,  373 },\r
+  {   5,  0,  283 }, {   6,  0,  480 }, {   7,  0,  609 }, {  10,  0,  860 },\r
+  { 138,  0,  878 }, {   6,  0,  779 }, { 134,  0, 1209 }, {   4,  0,  557 },\r
+  {   7, 11,  263 }, {   7, 11,  628 }, { 136, 11,  349 }, { 132,  0,  548 },\r
+  {   7,  0,  197 }, {   8,  0,  142 }, {   8,  0,  325 }, {   9,  0,  150 },\r
+  {   9,  0,  596 }, {  10,  0,  350 }, {  10,  0,  353 }, {  11,  0,   74 },\r
+  {  11,  0,  315 }, {  12,  0,  662 }, {  12,  0,  681 }, {  14,  0,  423 },\r
+  { 143,  0,  141 }, {   4, 11,   40 }, {  10, 11,   67 }, {  11, 11,  117 },\r
+  {  11, 11,  768 }, { 139, 11,  935 }, {   7, 11,  992 }, {   8, 11,  301 },\r
+  {   9, 11,  722 }, {  12, 11,   63 }, {  13, 11,   29 }, {  14, 11,  161 },\r
+  { 143, 11,   18 }, {   6,  0, 1490 }, { 138, 11,  532 }, {   5,  0,  580 },\r
+  {   7,  0,  378 }, {   7,  0,  674 }, {   7,  0, 1424 }, {  15,  0,   83 },\r
+  {  16,  0,   11 }, {  15, 11,   83 }, { 144, 11,   11 }, {   6,  0, 1057 },\r
+  {   6,  0, 1335 }, {  10,  0,  316 }, {   7, 10,   85 }, {   7, 10,  247 },\r
+  {   8, 10,  585 }, { 138, 10,  163 }, {   4,  0,  169 }, {   5,  0,   83 },\r
+  {   6,  0,  399 }, {   6,  0,  579 }, {   6,  0, 1513 }, {   7,  0,  692 },\r
+  {   7,  0,  846 }, {   7,  0, 1015 }, {   7,  0, 1799 }, {   8,  0,  403 },\r
+  {   9,  0,  394 }, {  10,  0,  133 }, {  12,  0,    4 }, {  12,  0,  297 },\r
+  {  12,  0,  452 }, {  16,  0,   81 }, {  18,  0,   25 }, {  21,  0,   14 },\r
+  {  22,  0,   12 }, { 151,  0,   18 }, { 134,  0, 1106 }, {   7,  0, 1546 },\r
+  {  11,  0,  299 }, { 142,  0,  407 }, { 134,  0, 1192 }, { 132,  0,  177 },\r
+  {   5,  0,  411 }, { 135,  0,  653 }, {   7,  0,  439 }, {  10,  0,  727 },\r
+  {  11,  0,  260 }, { 139,  0,  684 }, { 138, 10,  145 }, { 147, 10,   83 },\r
+  {   5,  0,  208 }, {   7,  0,  753 }, { 135,  0, 1528 }, { 137, 11,  617 },\r
+  { 135, 10, 1922 }, { 135, 11,  825 }, {  11,  0,  422 }, {  13,  0,  389 },\r
+  {   4, 10,  124 }, {  10, 10,  457 }, {  11, 10,  121 }, {  11, 10,  169 },\r
+  {  11, 10,  870 }, {  12, 10,  214 }, {  14, 10,  187 }, { 143, 10,   77 },\r
+  {  11,  0,  615 }, {  15,  0,   58 }, {  11, 11,  615 }, { 143, 11,   58 },\r
+  {   9,  0,  618 }, { 138,  0,  482 }, {   6,  0, 1952 }, {   6,  0, 1970 },\r
+  { 142,  0,  505 }, {   7, 10, 1193 }, { 135, 11, 1838 }, { 133,  0,  242 },\r
+  { 135, 10, 1333 }, {   6, 10,  107 }, {   7, 10,  638 }, {   7, 10, 1632 },\r
+  { 137, 10,  396 }, { 133,  0,  953 }, {   5, 10,  370 }, { 134, 10, 1756 },\r
+  {   5, 11,   28 }, {   6, 11,  204 }, {  10, 11,  320 }, {  10, 11,  583 },\r
+  {  13, 11,  502 }, {  14, 11,   72 }, {  14, 11,  274 }, {  14, 11,  312 },\r
+  {  14, 11,  344 }, {  15, 11,  159 }, {  16, 11,   62 }, {  16, 11,   69 },\r
+  {  17, 11,   30 }, {  18, 11,   42 }, {  18, 11,   53 }, {  18, 11,   84 },\r
+  {  18, 11,  140 }, {  19, 11,   68 }, {  19, 11,   85 }, {  20, 11,    5 },\r
+  {  20, 11,   45 }, {  20, 11,  101 }, {  22, 11,    7 }, { 150, 11,   20 },\r
+  {   4, 11,  558 }, {   6, 11,  390 }, {   7, 11,  162 }, {   7, 11,  689 },\r
+  {   9, 11,  360 }, { 138, 11,  653 }, {  11,  0,  802 }, { 141,  0,   67 },\r
+  { 133, 10,  204 }, { 133,  0,  290 }, {   5, 10,  970 }, { 134, 10, 1706 },\r
+  { 132,  0,  380 }, {   5,  0,   52 }, {   7,  0,  277 }, {   9,  0,  368 },\r
+  { 139,  0,  791 }, {   5, 11,  856 }, {   6, 11, 1672 }, {   6, 11, 1757 },\r
+  {   6, 11, 1781 }, {   7, 11, 1150 }, {   7, 11, 1425 }, {   7, 11, 1453 },\r
+  { 140, 11,  513 }, {   5, 11,   92 }, {   7, 10,    3 }, {  10, 11,  736 },\r
+  { 140, 11,  102 }, {   4,  0,  112 }, {   5,  0,  653 }, {   5, 10,  483 },\r
+  {   5, 10,  685 }, {   6, 10,  489 }, {   7, 10, 1204 }, { 136, 10,  394 },\r
+  { 132, 10,  921 }, {   6,  0, 1028 }, { 133, 10, 1007 }, {   5, 11,  590 },\r
+  {   9, 11,  213 }, { 145, 11,   91 }, { 135, 10, 1696 }, {  10,  0,  138 },\r
+  { 139,  0,  476 }, {   5,  0,  725 }, {   5,  0,  727 }, { 135,  0, 1811 },\r
+  {   4,  0,  979 }, {   6,  0, 1821 }, {   6,  0, 1838 }, {   8,  0,  876 },\r
+  {   8,  0,  883 }, {   8,  0,  889 }, {   8,  0,  893 }, {   8,  0,  895 },\r
+  {  10,  0,  934 }, {  12,  0,  720 }, {  14,  0,  459 }, { 148,  0,  123 },\r
+  { 135, 11,  551 }, {   4,  0,   38 }, {   6,  0,  435 }, {   7,  0,  307 },\r
+  {   7,  0,  999 }, {   7,  0, 1481 }, {   7,  0, 1732 }, {   7,  0, 1738 },\r
+  {   8,  0,  371 }, {   9,  0,  414 }, {  11,  0,  316 }, {  12,  0,   52 },\r
+  {  13,  0,  420 }, { 147,  0,  100 }, { 135,  0, 1296 }, { 132, 10,  712 },\r
+  { 134, 10, 1629 }, { 133,  0,  723 }, { 134,  0,  651 }, { 136, 11,  191 },\r
+  {   9, 11,  791 }, {  10, 11,   93 }, {  11, 11,  301 }, {  16, 11,   13 },\r
+  {  17, 11,   23 }, {  18, 11,  135 }, {  19, 11,   12 }, {  20, 11,    1 },\r
+  {  20, 11,   12 }, { 148, 11,   14 }, { 136, 11,  503 }, {   6, 11,  466 },\r
+  { 135, 11,  671 }, {   6,  0, 1200 }, { 134,  0, 1330 }, { 135,  0, 1255 },\r
+  { 134,  0,  986 }, {   5,  0,  109 }, {   6,  0, 1784 }, {   7,  0, 1895 },\r
+  {  12,  0,  296 }, { 140,  0,  302 }, { 135, 11,  983 }, { 133, 10,  485 },\r
+  { 134,  0,  660 }, { 134,  0,  800 }, {   5,  0,  216 }, {   5,  0,  294 },\r
+  {   6,  0,  591 }, {   7,  0, 1879 }, {   9,  0,  141 }, {   9,  0,  270 },\r
+  {   9,  0,  679 }, {  10,  0,  159 }, {  11,  0,  197 }, {  11,  0,  438 },\r
+  {  12,  0,  538 }, {  12,  0,  559 }, {  14,  0,  144 }, {  14,  0,  167 },\r
+  {  15,  0,   67 }, {   4, 10,  285 }, {   5, 10,  317 }, {   6, 10,  301 },\r
+  {   7, 10,    7 }, {   8, 10,  153 }, {  10, 10,  766 }, {  11, 10,  468 },\r
+  {  12, 10,  467 }, { 141, 10,  143 }, { 136,  0,  945 }, { 134,  0, 1090 },\r
+  { 137,  0,   81 }, {  12, 11,  468 }, {  19, 11,   96 }, { 148, 11,   24 },\r
+  { 134,  0,  391 }, { 138, 11,  241 }, {   7,  0,  322 }, { 136,  0,  249 },\r
+  { 134,  0, 1412 }, { 135, 11,  795 }, {   5,  0,  632 }, { 138,  0,  526 },\r
+  { 136, 10,  819 }, {   6,  0,  144 }, {   7,  0,  948 }, {   7,  0, 1042 },\r
+  {   8,  0,  235 }, {   8,  0,  461 }, {   9,  0,  453 }, {   9,  0,  796 },\r
+  {  10,  0,  354 }, {  17,  0,   77 }, { 135, 11,  954 }, { 139, 10,  917 },\r
+  {   6,  0,  940 }, { 134,  0, 1228 }, {   4,  0,  362 }, {   7,  0,   52 },\r
+  { 135,  0,  303 }, {   6, 11,  549 }, {   8, 11,   34 }, {   8, 11,  283 },\r
+  {   9, 11,  165 }, { 138, 11,  475 }, {   7, 11,  370 }, {   7, 11, 1007 },\r
+  {   7, 11, 1177 }, { 135, 11, 1565 }, {   5, 11,  652 }, {   5, 11,  701 },\r
+  { 135, 11,  449 }, {   5,  0,  196 }, {   6,  0,  486 }, {   7,  0,  212 },\r
+  {   8,  0,  309 }, { 136,  0,  346 }, {   6, 10, 1719 }, {   6, 10, 1735 },\r
+  {   7, 10, 2016 }, {   7, 10, 2020 }, {   8, 10,  837 }, { 137, 10,  852 },\r
+  {   6, 11,  159 }, {   6, 11,  364 }, {   7, 11,  516 }, {   7, 11, 1439 },\r
+  { 137, 11,  518 }, { 135,  0, 1912 }, { 135,  0, 1290 }, { 132,  0,  686 },\r
+  { 141, 11,  151 }, { 138,  0,  625 }, { 136,  0,  706 }, { 138, 10,  568 },\r
+  { 139,  0,  412 }, {   4,  0,   30 }, { 133,  0,   43 }, {   8, 10,   67 },\r
+  { 138, 10,  419 }, {   7,  0,  967 }, { 141,  0,   11 }, {  12,  0,  758 },\r
+  {  14,  0,  441 }, { 142,  0,  462 }, {  10, 10,  657 }, {  14, 10,  297 },\r
+  { 142, 10,  361 }, { 139, 10,  729 }, {   4,  0,  220 }, { 135,  0, 1535 },\r
+  {   7, 11,  501 }, {   9, 11,  111 }, {  10, 11,  141 }, {  11, 11,  332 },\r
+  {  13, 11,   43 }, {  13, 11,  429 }, {  14, 11,  130 }, {  14, 11,  415 },\r
+  { 145, 11,  102 }, {   4,  0,  950 }, {   6,  0, 1859 }, {   7,  0,   11 },\r
+  {   8,  0,  873 }, {  12,  0,  710 }, {  12,  0,  718 }, {  12,  0,  748 },\r
+  {  12,  0,  765 }, { 148,  0,  124 }, {   5, 11,  149 }, {   5, 11,  935 },\r
+  { 136, 11,  233 }, { 142, 11,  291 }, { 134,  0, 1579 }, {   7,  0,  890 },\r
+  {   8, 10,   51 }, {   9, 10,  868 }, {  10, 10,  833 }, {  12, 10,  481 },\r
+  {  12, 10,  570 }, { 148, 10,  106 }, { 141,  0,    2 }, { 132, 10,  445 },\r
+  { 136, 11,  801 }, { 135,  0, 1774 }, {   7,  0, 1725 }, { 138,  0,  393 },\r
+  {   5,  0,  263 }, { 134,  0,  414 }, { 132, 11,  322 }, { 133, 10,  239 },\r
+  {   7,  0,  456 }, {   7, 10, 1990 }, {   8, 10,  130 }, { 139, 10,  720 },\r
+  { 137,  0,  818 }, {   5, 10,  123 }, {   6, 10,  530 }, {   7, 10,  348 },\r
+  { 135, 10, 1419 }, { 135, 10, 2024 }, {   6,  0,  178 }, {   6,  0, 1750 },\r
+  {   8,  0,  251 }, {   9,  0,  690 }, {  10,  0,  155 }, {  10,  0,  196 },\r
+  {  10,  0,  373 }, {  11,  0,  698 }, {  13,  0,  155 }, { 148,  0,   93 },\r
+  {   5,  0,   97 }, { 137,  0,  393 }, { 134,  0,  674 }, {  11,  0,  223 },\r
+  { 140,  0,  168 }, { 132, 10,  210 }, { 139, 11,  464 }, {   6,  0, 1639 },\r
+  { 146,  0,  159 }, { 139, 11,    2 }, {   7,  0,  934 }, {   8,  0,  647 },\r
+  {  17,  0,   97 }, {  19,  0,   59 }, { 150,  0,    2 }, { 132,  0,  191 },\r
+  {   5,  0,  165 }, {   9,  0,  346 }, {  10,  0,  655 }, {  11,  0,  885 },\r
+  {   4, 10,  430 }, { 135, 11,  357 }, { 133,  0,  877 }, {   5, 10,  213 },\r
+  { 133, 11,  406 }, {   8,  0,  128 }, { 139,  0,  179 }, {   6, 11,   69 },\r
+  { 135, 11,  117 }, { 135,  0, 1297 }, {  11, 11,   43 }, {  13, 11,   72 },\r
+  { 141, 11,  142 }, { 135, 11, 1830 }, { 142,  0,  164 }, {   5,  0,   57 },\r
+  {   6,  0,  101 }, {   6,  0,  586 }, {   6,  0, 1663 }, {   7,  0,  132 },\r
+  {   7,  0, 1154 }, {   7,  0, 1415 }, {   7,  0, 1507 }, {  12,  0,  493 },\r
+  {  15,  0,  105 }, { 151,  0,   15 }, {   5,  0,  459 }, {   7,  0, 1073 },\r
+  {   8,  0,  241 }, { 136,  0,  334 }, { 133, 11,  826 }, { 133, 10,  108 },\r
+  {   5, 10,  219 }, {  10, 11,  132 }, {  11, 11,  191 }, {  11, 11,  358 },\r
+  { 139, 11,  460 }, {   6,  0,  324 }, {   6,  0,  520 }, {   7,  0,  338 },\r
+  {   7,  0, 1729 }, {   8,  0,  228 }, { 139,  0,  750 }, {  21,  0,   30 },\r
+  {  22,  0,   53 }, {   4, 10,  193 }, {   5, 10,  916 }, {   7, 10,  364 },\r
+  {  10, 10,  398 }, {  10, 10,  726 }, {  11, 10,  317 }, {  11, 10,  626 },\r
+  {  12, 10,  142 }, {  12, 10,  288 }, {  12, 10,  678 }, {  13, 10,  313 },\r
+  {  15, 10,  113 }, { 146, 10,  114 }, {   6, 11,  110 }, { 135, 11, 1681 },\r
+  { 135,  0,  910 }, {   6, 10,  241 }, {   7, 10,  907 }, {   8, 10,  832 },\r
+  {   9, 10,  342 }, {  10, 10,  729 }, {  11, 10,  284 }, {  11, 10,  445 },\r
+  {  11, 10,  651 }, {  11, 10,  863 }, {  13, 10,  398 }, { 146, 10,   99 },\r
+  {   7,  0,  705 }, {   9,  0,  734 }, {   5, 11, 1000 }, {   7, 11,  733 },\r
+  { 137, 11,  583 }, {   4,  0,   73 }, {   6,  0,  612 }, {   7,  0,  927 },\r
+  {   7,  0, 1822 }, {   8,  0,  217 }, {   9,  0,  765 }, {   9,  0,  766 },\r
+  {  10,  0,  408 }, {  11,  0,   51 }, {  11,  0,  793 }, {  12,  0,  266 },\r
+  {  15,  0,  158 }, {  20,  0,   89 }, { 150,  0,   32 }, {   7,  0, 1330 },\r
+  {   4, 11,  297 }, {   6, 11,  529 }, {   7, 11,  152 }, {   7, 11,  713 },\r
+  {   7, 11, 1845 }, {   8, 11,  710 }, {   8, 11,  717 }, { 140, 11,  639 },\r
+  {   5,  0,  389 }, { 136,  0,  636 }, { 134,  0, 1409 }, {   4, 10,  562 },\r
+  {   9, 10,  254 }, { 139, 10,  879 }, { 134,  0,  893 }, { 132, 10,  786 },\r
+  {   4, 11,  520 }, { 135, 11,  575 }, { 136,  0,   21 }, { 140,  0,  721 },\r
+  { 136,  0,  959 }, {   7, 11, 1428 }, {   7, 11, 1640 }, {   9, 11,  169 },\r
+  {   9, 11,  182 }, {   9, 11,  367 }, {   9, 11,  478 }, {   9, 11,  506 },\r
+  {   9, 11,  551 }, {   9, 11,  648 }, {   9, 11,  651 }, {   9, 11,  697 },\r
+  {   9, 11,  705 }, {   9, 11,  725 }, {   9, 11,  787 }, {   9, 11,  794 },\r
+  {  10, 11,  198 }, {  10, 11,  214 }, {  10, 11,  267 }, {  10, 11,  275 },\r
+  {  10, 11,  456 }, {  10, 11,  551 }, {  10, 11,  561 }, {  10, 11,  613 },\r
+  {  10, 11,  627 }, {  10, 11,  668 }, {  10, 11,  675 }, {  10, 11,  691 },\r
+  {  10, 11,  695 }, {  10, 11,  707 }, {  10, 11,  715 }, {  11, 11,  183 },\r
+  {  11, 11,  201 }, {  11, 11,  244 }, {  11, 11,  262 }, {  11, 11,  352 },\r
+  {  11, 11,  439 }, {  11, 11,  493 }, {  11, 11,  572 }, {  11, 11,  591 },\r
+  {  11, 11,  608 }, {  11, 11,  611 }, {  11, 11,  646 }, {  11, 11,  674 },\r
+  {  11, 11,  711 }, {  11, 11,  751 }, {  11, 11,  761 }, {  11, 11,  776 },\r
+  {  11, 11,  785 }, {  11, 11,  850 }, {  11, 11,  853 }, {  11, 11,  862 },\r
+  {  11, 11,  865 }, {  11, 11,  868 }, {  11, 11,  898 }, {  11, 11,  902 },\r
+  {  11, 11,  903 }, {  11, 11,  910 }, {  11, 11,  932 }, {  11, 11,  942 },\r
+  {  11, 11,  957 }, {  11, 11,  967 }, {  11, 11,  972 }, {  12, 11,  148 },\r
+  {  12, 11,  195 }, {  12, 11,  220 }, {  12, 11,  237 }, {  12, 11,  318 },\r
+  {  12, 11,  339 }, {  12, 11,  393 }, {  12, 11,  445 }, {  12, 11,  450 },\r
+  {  12, 11,  474 }, {  12, 11,  509 }, {  12, 11,  533 }, {  12, 11,  591 },\r
+  {  12, 11,  594 }, {  12, 11,  597 }, {  12, 11,  621 }, {  12, 11,  633 },\r
+  {  12, 11,  642 }, {  13, 11,   59 }, {  13, 11,   60 }, {  13, 11,  145 },\r
+  {  13, 11,  239 }, {  13, 11,  250 }, {  13, 11,  273 }, {  13, 11,  329 },\r
+  {  13, 11,  344 }, {  13, 11,  365 }, {  13, 11,  372 }, {  13, 11,  387 },\r
+  {  13, 11,  403 }, {  13, 11,  414 }, {  13, 11,  456 }, {  13, 11,  478 },\r
+  {  13, 11,  483 }, {  13, 11,  489 }, {  14, 11,   55 }, {  14, 11,   57 },\r
+  {  14, 11,   81 }, {  14, 11,   90 }, {  14, 11,  148 }, {  14, 11,  239 },\r
+  {  14, 11,  266 }, {  14, 11,  321 }, {  14, 11,  326 }, {  14, 11,  327 },\r
+  {  14, 11,  330 }, {  14, 11,  347 }, {  14, 11,  355 }, {  14, 11,  401 },\r
+  {  14, 11,  411 }, {  14, 11,  414 }, {  14, 11,  416 }, {  14, 11,  420 },\r
+  {  15, 11,   61 }, {  15, 11,   74 }, {  15, 11,   87 }, {  15, 11,   88 },\r
+  {  15, 11,   94 }, {  15, 11,   96 }, {  15, 11,  116 }, {  15, 11,  149 },\r
+  {  15, 11,  154 }, {  16, 11,   50 }, {  16, 11,   63 }, {  16, 11,   73 },\r
+  {  17, 11,    2 }, {  17, 11,   66 }, {  17, 11,   92 }, {  17, 11,  103 },\r
+  {  17, 11,  112 }, {  18, 11,   50 }, {  18, 11,   54 }, {  18, 11,   82 },\r
+  {  18, 11,   86 }, {  18, 11,   90 }, {  18, 11,  111 }, {  18, 11,  115 },\r
+  {  18, 11,  156 }, {  19, 11,   40 }, {  19, 11,   79 }, {  20, 11,   78 },\r
+  { 149, 11,   22 }, { 137, 11,  170 }, { 134,  0, 1433 }, { 135, 11, 1307 },\r
+  { 139, 11,  411 }, {   5,  0,  189 }, {   7,  0,  442 }, {   7,  0,  443 },\r
+  {   8,  0,  281 }, {  12,  0,  174 }, { 141,  0,  261 }, {   6, 10,  216 },\r
+  {   7, 10,  901 }, {   7, 10, 1343 }, { 136, 10,  493 }, {   5, 11,  397 },\r
+  {   6, 11,  154 }, {   7, 10,  341 }, {   7, 11,  676 }, {   8, 11,  443 },\r
+  {   8, 11,  609 }, {   9, 11,   24 }, {   9, 11,  325 }, {  10, 11,   35 },\r
+  {  11, 10,  219 }, {  11, 11,  535 }, {  11, 11,  672 }, {  11, 11, 1018 },\r
+  {  12, 11,  637 }, { 144, 11,   30 }, {   6,  0,    2 }, {   7,  0,  191 },\r
+  {   7,  0,  446 }, {   7,  0, 1262 }, {   7,  0, 1737 }, {   8,  0,   22 },\r
+  {   8,  0,  270 }, {   8,  0,  612 }, {   9,  0,    4 }, {   9,  0,  312 },\r
+  {   9,  0,  436 }, {   9,  0,  626 }, {  10,  0,  216 }, {  10,  0,  311 },\r
+  {  10,  0,  521 }, {  10,  0,  623 }, {  11,  0,   72 }, {  11,  0,  330 },\r
+  {  11,  0,  455 }, {  12,  0,  321 }, {  12,  0,  504 }, {  12,  0,  530 },\r
+  {  12,  0,  543 }, {  13,  0,   17 }, {  13,  0,  156 }, {  13,  0,  334 },\r
+  {  14,  0,  131 }, {  17,  0,   60 }, { 148,  0,   64 }, {   7,  0,  354 },\r
+  {  10,  0,  410 }, { 139,  0,  815 }, { 139, 10,  130 }, {   7, 10, 1734 },\r
+  { 137, 11,  631 }, {  12,  0,  425 }, {  15,  0,  112 }, {  10, 10,  115 },\r
+  {  11, 10,  420 }, {  13, 10,  404 }, {  14, 10,  346 }, { 143, 10,   54 },\r
+  {   6,  0,   60 }, {   6,  0,  166 }, {   7,  0,  374 }, {   7,  0,  670 },\r
+  {   7,  0, 1327 }, {   8,  0,  411 }, {   8,  0,  435 }, {   9,  0,  653 },\r
+  {   9,  0,  740 }, {  10,  0,  385 }, {  11,  0,  222 }, {  11,  0,  324 },\r
+  {  11,  0,  829 }, { 140,  0,  611 }, {   7,  0, 1611 }, {  13,  0,   14 },\r
+  {  15,  0,   44 }, {  19,  0,   13 }, { 148,  0,   76 }, { 133, 11,  981 },\r
+  {   4, 11,   56 }, {   7, 11, 1791 }, {   8, 11,  607 }, {   8, 11,  651 },\r
+  {  11, 11,  465 }, {  11, 11,  835 }, {  12, 11,  337 }, { 141, 11,  480 },\r
+  {   6,  0, 1478 }, {   5, 10, 1011 }, { 136, 10,  701 }, { 139,  0,  596 },\r
+  {   5,  0,  206 }, { 134,  0,  398 }, {   4, 10,   54 }, {   5, 10,  666 },\r
+  {   7, 10, 1039 }, {   7, 10, 1130 }, {   9, 10,  195 }, { 138, 10,  302 },\r
+  {   7,  0,   50 }, {   9, 11,  158 }, { 138, 11,  411 }, { 135, 11, 1120 },\r
+  {   6,  0,  517 }, {   7,  0, 1159 }, {  10,  0,  621 }, {  11,  0,  192 },\r
+  { 134, 10, 1669 }, {   4,  0,  592 }, {   6,  0,  600 }, { 135,  0, 1653 },\r
+  {  10,  0,  223 }, { 139,  0,  645 }, { 136, 11,  139 }, {   7,  0,   64 },\r
+  { 136,  0,  245 }, { 142,  0,  278 }, {   6, 11,  622 }, { 135, 11, 1030 },\r
+  { 136,  0,  604 }, { 134,  0, 1502 }, { 138,  0,  265 }, { 141, 11,  168 },\r
+  {   7,  0, 1763 }, { 140,  0,  310 }, {   7, 10,  798 }, { 139, 11,  719 },\r
+  {   7, 11,  160 }, {  10, 11,  624 }, { 142, 11,  279 }, { 132, 11,  363 },\r
+  {   7, 10,  122 }, {   9, 10,  259 }, {  10, 10,   84 }, {  11, 10,  470 },\r
+  {  12, 10,  541 }, { 141, 10,  379 }, {   5,  0,  129 }, {   6,  0,   61 },\r
+  { 135,  0,  947 }, { 134,  0, 1356 }, { 135, 11, 1191 }, {  13,  0,  505 },\r
+  { 141,  0,  506 }, {  11,  0, 1000 }, {   5, 10,   82 }, {   5, 10,  131 },\r
+  {   7, 10, 1755 }, {   8, 10,   31 }, {   9, 10,  168 }, {   9, 10,  764 },\r
+  { 139, 10,  869 }, { 134,  0,  966 }, { 134, 10,  605 }, { 134, 11,  292 },\r
+  {   5, 11,  177 }, {   6, 11,  616 }, {   7, 11,  827 }, {   9, 11,  525 },\r
+  { 138, 11,  656 }, { 135, 11, 1486 }, { 138, 11,   31 }, {   5, 10,  278 },\r
+  { 137, 10,   68 }, {   4, 10,  163 }, {   5, 10,  201 }, {   5, 10,  307 },\r
+  {   5, 10,  310 }, {   6, 10,  335 }, {   7, 10,  284 }, { 136, 10,  165 },\r
+  {   6,  0,  839 }, { 135, 10, 1660 }, { 136, 10,  781 }, {   6, 10,   33 },\r
+  { 135, 10, 1244 }, { 133,  0,  637 }, {   4, 11,  161 }, { 133, 11,  631 },\r
+  { 137,  0,  590 }, {   7, 10, 1953 }, { 136, 10,  720 }, {   5,  0,  280 },\r
+  {   7,  0, 1226 }, { 138, 10,  203 }, { 134,  0, 1386 }, {   5,  0,  281 },\r
+  {   6,  0, 1026 }, {   6, 10,  326 }, {   7, 10,  677 }, { 137, 10,  425 },\r
+  {   7, 11, 1557 }, { 135, 11, 1684 }, { 135,  0, 1064 }, {   9, 11,  469 },\r
+  {   9, 11,  709 }, {  12, 11,  512 }, {  14, 11,   65 }, { 145, 11,   12 },\r
+  { 134,  0,  917 }, {  10, 11,  229 }, {  11, 11,   73 }, {  11, 11,  376 },\r
+  { 139, 11,  433 }, {   7,  0,  555 }, {   9,  0,  192 }, {  13,  0,   30 },\r
+  {  13,  0,   49 }, {  15,  0,  150 }, {  16,  0,   76 }, {  20,  0,   52 },\r
+  {   7, 10, 1316 }, {   7, 10, 1412 }, {   7, 10, 1839 }, {   9, 10,  589 },\r
+  {  11, 10,  241 }, {  11, 10,  676 }, {  11, 10,  811 }, {  11, 10,  891 },\r
+  {  12, 10,  140 }, {  12, 10,  346 }, {  12, 10,  479 }, {  13, 10,  381 },\r
+  {  14, 10,  188 }, { 146, 10,   30 }, { 149,  0,   15 }, {   6,  0, 1882 },\r
+  {   6,  0, 1883 }, {   6,  0, 1897 }, {   9,  0,  945 }, {   9,  0, 1014 },\r
+  {   9,  0, 1020 }, {  12,  0,  823 }, {  12,  0,  842 }, {  12,  0,  866 },\r
+  {  12,  0,  934 }, {  15,  0,  242 }, { 146,  0,  208 }, {   6,  0,  965 },\r
+  { 134,  0, 1499 }, {   7,  0,   33 }, {   7,  0,  120 }, {   8,  0,  489 },\r
+  {   9,  0,  319 }, {  10,  0,  820 }, {  11,  0, 1004 }, {  12,  0,  379 },\r
+  {  12,  0,  679 }, {  13,  0,  117 }, {  13,  0,  412 }, {  14,  0,   25 },\r
+  {  15,  0,   52 }, {  15,  0,  161 }, {  16,  0,   47 }, { 149,  0,    2 },\r
+  {   6, 11,  558 }, {   7, 11,  651 }, {   8, 11,  421 }, {   9, 11,    0 },\r
+  { 138, 11,   34 }, {   4,  0,  937 }, {   5,  0,  801 }, {   7,  0,  473 },\r
+  {   5, 10,  358 }, {   7, 10, 1184 }, {  10, 10,  662 }, {  13, 10,  212 },\r
+  {  13, 10,  304 }, {  13, 10,  333 }, { 145, 10,   98 }, { 132,  0,  877 },\r
+  {   6,  0,  693 }, { 134,  0,  824 }, { 132,  0,  365 }, {   7, 11, 1832 },\r
+  { 138, 11,  374 }, {   5,  0,    7 }, { 139,  0,  774 }, {   4,  0,  734 },\r
+  {   5,  0,  662 }, { 134,  0,  430 }, {   4,  0,  746 }, { 135,  0, 1090 },\r
+  {   5,  0,  360 }, {   8,  0,  237 }, {  10,  0,  231 }, { 147,  0,  124 },\r
+  { 138, 11,  348 }, {   6, 11,    6 }, {   7, 11,   81 }, {   7, 11,  771 },\r
+  {   7, 11, 1731 }, {   9, 11,  405 }, { 138, 11,  421 }, {   6,  0,  740 },\r
+  { 137,  0,  822 }, { 133, 10,  946 }, {   7,  0, 1485 }, { 136,  0,  929 },\r
+  {   7, 10,  411 }, {   8, 10,  631 }, {   9, 10,  323 }, {  10, 10,  355 },\r
+  {  11, 10,  491 }, {  12, 10,  143 }, {  12, 10,  402 }, {  13, 10,   73 },\r
+  {  14, 10,  408 }, {  15, 10,  107 }, { 146, 10,   71 }, { 135, 10,  590 },\r
+  {   5, 11,  881 }, { 133, 11,  885 }, { 150, 11,   25 }, {   4,  0,  852 },\r
+  {   5, 11,  142 }, { 134, 11,  546 }, {   7, 10, 1467 }, {   8, 10,  328 },\r
+  {  10, 10,  544 }, {  11, 10,  955 }, {  13, 10,  320 }, { 145, 10,   83 },\r
+  {   9,  0,   17 }, {  10,  0,  291 }, {  11, 10,  511 }, {  13, 10,  394 },\r
+  {  14, 10,  298 }, {  14, 10,  318 }, { 146, 10,  103 }, {   5, 11,  466 },\r
+  {  11, 11,  571 }, {  12, 11,  198 }, {  13, 11,  283 }, {  14, 11,  186 },\r
+  {  15, 11,   21 }, { 143, 11,  103 }, { 134,  0, 1001 }, {   4, 11,  185 },\r
+  {   5, 11,  257 }, {   5, 11,  839 }, {   5, 11,  936 }, {   7, 11,  171 },\r
+  {   9, 11,  399 }, {  10, 11,  258 }, {  10, 11,  395 }, {  10, 11,  734 },\r
+  {  11, 11, 1014 }, {  12, 11,   23 }, {  13, 11,  350 }, {  14, 11,  150 },\r
+  { 147, 11,    6 }, { 143,  0,   35 }, { 132,  0,  831 }, {   5, 10,  835 },\r
+  { 134, 10,  483 }, {   4,  0,  277 }, {   5,  0,  608 }, {   6,  0,  493 },\r
+  {   7,  0,  457 }, {  12,  0,  384 }, {   7, 11,  404 }, {   7, 11, 1377 },\r
+  {   7, 11, 1430 }, {   7, 11, 2017 }, {   8, 11,  149 }, {   8, 11,  239 },\r
+  {   8, 11,  512 }, {   8, 11,  793 }, {   8, 11,  818 }, {   9, 11,  474 },\r
+  {   9, 11,  595 }, {  10, 11,  122 }, {  10, 11,  565 }, {  10, 11,  649 },\r
+  {  10, 11,  783 }, {  11, 11,  239 }, {  11, 11,  295 }, {  11, 11,  447 },\r
+  {  11, 11,  528 }, {  11, 11,  639 }, {  11, 11,  800 }, {  11, 11,  936 },\r
+  {  12, 11,   25 }, {  12, 11,   73 }, {  12, 11,   77 }, {  12, 11,  157 },\r
+  {  12, 11,  316 }, {  12, 11,  390 }, {  12, 11,  391 }, {  12, 11,  394 },\r
+  {  12, 11,  395 }, {  12, 11,  478 }, {  12, 11,  503 }, {  12, 11,  592 },\r
+  {  12, 11,  680 }, {  13, 11,   50 }, {  13, 11,   53 }, {  13, 11,  132 },\r
+  {  13, 11,  198 }, {  13, 11,  275 }, {  13, 11,  322 }, {  13, 11,  415 },\r
+  {  14, 11,   71 }, {  14, 11,  257 }, {  14, 11,  395 }, {  15, 11,   71 },\r
+  {  15, 11,  136 }, {  17, 11,  123 }, {  18, 11,   93 }, { 147, 11,   58 },\r
+  { 134,  0, 1351 }, {   7,  0,   27 }, { 135,  0,  316 }, { 136, 11,  712 },\r
+  { 136,  0,  984 }, { 133,  0,  552 }, { 137,  0,  264 }, { 132,  0,  401 },\r
+  {   6,  0,  710 }, {   6,  0, 1111 }, { 134,  0, 1343 }, { 134,  0, 1211 },\r
+  {   9,  0,  543 }, {  10,  0,  524 }, {  11,  0,  108 }, {  11,  0,  653 },\r
+  {  12,  0,  524 }, {  13,  0,  123 }, {  14,  0,  252 }, {  16,  0,   18 },\r
+  {  19,  0,   38 }, {  20,  0,   26 }, {  20,  0,   65 }, {  21,  0,    3 },\r
+  { 151,  0,   11 }, {   4,  0,  205 }, {   5,  0,  623 }, {   7,  0,  104 },\r
+  {   8,  0,  519 }, { 137,  0,  716 }, { 132, 10,  677 }, {   4, 11,  377 },\r
+  { 152, 11,   13 }, { 135, 11, 1673 }, {   7,  0,  579 }, {   9,  0,   41 },\r
+  {   9,  0,  244 }, {   9,  0,  669 }, {  10,  0,    5 }, {  11,  0,  861 },\r
+  {  11,  0,  951 }, { 139,  0,  980 }, { 132,  0,  717 }, { 136,  0, 1011 },\r
+  { 132,  0,  805 }, {   4, 11,  180 }, { 135, 11, 1906 }, { 132, 10,  777 },\r
+  { 132, 10,  331 }, { 132,  0,  489 }, {   6,  0, 1024 }, {   4, 11,  491 },\r
+  { 133, 10,  747 }, { 135, 11, 1182 }, {   4, 11,  171 }, { 138, 11,  234 },\r
+  {   4, 11,  586 }, {   7, 11, 1186 }, { 138, 11,  631 }, { 135,  0,  892 },\r
+  { 135, 11,  336 }, {   9, 11,  931 }, {  10, 11,  334 }, { 148, 11,   71 },\r
+  { 137,  0,  473 }, {   6,  0,  864 }, {  12,  0,  659 }, { 139, 11,  926 },\r
+  {   7,  0,  819 }, {   9,  0,   26 }, {   9,  0,  392 }, {  10,  0,  152 },\r
+  {  10,  0,  226 }, {  11,  0,   19 }, {  12,  0,  276 }, {  12,  0,  426 },\r
+  {  12,  0,  589 }, {  13,  0,  460 }, {  15,  0,   97 }, {  19,  0,   48 },\r
+  { 148,  0,  104 }, { 135,  0,   51 }, { 133, 10,  326 }, {   4, 10,  691 },\r
+  { 146, 10,   16 }, {   9,  0,  130 }, {  11,  0,  765 }, {  10, 10,  680 },\r
+  {  10, 10,  793 }, { 141, 10,  357 }, { 133, 11,  765 }, {   8,  0,  229 },\r
+  {   6, 10,   32 }, {   7, 10,  385 }, {   7, 10,  757 }, {   7, 10, 1916 },\r
+  {   8, 10,   94 }, {   8, 10,  711 }, {   9, 10,  541 }, {  10, 10,  162 },\r
+  {  10, 10,  795 }, {  11, 10,  989 }, {  11, 10, 1010 }, {  12, 10,   14 },\r
+  { 142, 10,  308 }, {   7, 11,  474 }, { 137, 11,  578 }, { 132,  0,  674 },\r
+  { 132,  0,  770 }, {   5,  0,   79 }, {   7,  0, 1027 }, {   7,  0, 1477 },\r
+  { 139,  0,   52 }, { 133, 11,  424 }, { 134,  0, 1666 }, {   6,  0,  409 },\r
+  {   6, 10,  349 }, {   6, 10, 1682 }, {   7, 10, 1252 }, {   8, 10,  112 },\r
+  {   8, 11,  714 }, {   9, 10,  435 }, {   9, 10,  668 }, {  10, 10,  290 },\r
+  {  10, 10,  319 }, {  10, 10,  815 }, {  11, 10,  180 }, {  11, 10,  837 },\r
+  {  12, 10,  240 }, {  13, 10,  152 }, {  13, 10,  219 }, { 142, 10,  158 },\r
+  {   5,  0,  789 }, { 134,  0,  195 }, {   4,  0,  251 }, {   4,  0,  688 },\r
+  {   7,  0,  513 }, { 135,  0, 1284 }, { 132, 10,  581 }, {   9, 11,  420 },\r
+  {  10, 11,  269 }, {  10, 11,  285 }, {  10, 11,  576 }, {  11, 11,  397 },\r
+  {  13, 11,  175 }, { 145, 11,   90 }, {   6, 10,  126 }, {   7, 10,  573 },\r
+  {   8, 10,  397 }, { 142, 10,   44 }, { 132, 11,  429 }, { 133,  0,  889 },\r
+  {   4,  0,  160 }, {   5,  0,  330 }, {   7,  0, 1434 }, { 136,  0,  174 },\r
+  {   7, 11,   18 }, {   7, 11,  699 }, {   7, 11, 1966 }, {   8, 11,  752 },\r
+  {   9, 11,  273 }, {   9, 11,  412 }, {   9, 11,  703 }, {  10, 11,   71 },\r
+  {  10, 11,  427 }, {  10, 11,  508 }, { 146, 11,   97 }, {   6,  0,  872 },\r
+  { 134,  0,  899 }, { 133, 10,  926 }, { 134,  0, 1126 }, { 134,  0,  918 },\r
+  {   4, 11,   53 }, {   5, 11,  186 }, { 135, 11,  752 }, {   7,  0,  268 },\r
+  { 136,  0,  569 }, { 134,  0, 1224 }, {   6,  0, 1361 }, {   7, 10, 1232 },\r
+  { 137, 10,  531 }, {   8, 11,  575 }, {  10, 11,  289 }, { 139, 11,  319 },\r
+  { 133, 10,  670 }, { 132, 11,  675 }, { 133,  0,  374 }, { 135, 10, 1957 },\r
+  { 133,  0,  731 }, {  11,  0,  190 }, {  15,  0,   49 }, {  11, 11,  190 },\r
+  { 143, 11,   49 }, {   4,  0,  626 }, {   5,  0,  506 }, {   5,  0,  642 },\r
+  {   6,  0,  425 }, {  10,  0,  202 }, { 139,  0,  141 }, { 137,  0,  444 },\r
+  {   7, 10,  242 }, { 135, 10, 1942 }, {   6, 11,  209 }, {   8, 11,  468 },\r
+  {   9, 11,  210 }, {  11, 11,   36 }, {  12, 11,   28 }, {  12, 11,  630 },\r
+  {  13, 11,   21 }, {  13, 11,  349 }, {  14, 11,    7 }, { 145, 11,   13 },\r
+  {   4, 11,  342 }, { 135, 11, 1179 }, {   5, 10,  834 }, {   7, 10, 1202 },\r
+  {   8, 10,   14 }, {   9, 10,  481 }, { 137, 10,  880 }, {   4, 11,  928 },\r
+  { 133, 11,  910 }, {   4, 11,  318 }, {   4, 11,  496 }, {   7, 11,  856 },\r
+  { 139, 11,  654 }, { 136,  0,  835 }, {   7,  0, 1526 }, { 138, 10,  465 },\r
+  { 151,  0,   17 }, { 135,  0,  477 }, {   4, 10,  357 }, {   6, 10,  172 },\r
+  {   7, 10,  143 }, { 137, 10,  413 }, {   6,  0, 1374 }, { 138,  0,  994 },\r
+  {  18,  0,   76 }, { 132, 10,  590 }, {   7,  0,  287 }, {   8,  0,  355 },\r
+  {   9,  0,  293 }, { 137,  0,  743 }, { 134,  0, 1389 }, {   7, 11,  915 },\r
+  {   8, 11,  247 }, { 147, 11,    0 }, {   4, 11,  202 }, {   5, 11,  382 },\r
+  {   6, 11,  454 }, {   7, 11,  936 }, {   7, 11, 1803 }, {   8, 11,  758 },\r
+  {   9, 11,  375 }, {   9, 11,  895 }, {  10, 11,  743 }, {  10, 11,  792 },\r
+  {  11, 11,  978 }, {  11, 11, 1012 }, { 142, 11,  109 }, {   5,  0,  384 },\r
+  {   8,  0,  455 }, { 140,  0,   48 }, { 132, 11,  390 }, {   5, 10,  169 },\r
+  {   7, 10,  333 }, { 136, 10,   45 }, {   5,  0,  264 }, { 134,  0,  184 },\r
+  { 138, 11,  791 }, { 133, 11,  717 }, { 132, 10,  198 }, {   6, 11,  445 },\r
+  {   7, 11,  332 }, { 137, 11,  909 }, { 136,  0, 1001 }, {   4, 10,   24 },\r
+  {   5, 10,  140 }, {   5, 10,  185 }, {   7, 10, 1500 }, {  11, 10,  565 },\r
+  { 139, 10,  838 }, { 134, 11,  578 }, {   5,  0,  633 }, {   6,  0,   28 },\r
+  { 135,  0, 1323 }, { 132,  0,  851 }, { 136, 11,  267 }, {   7,  0,  359 },\r
+  {   8,  0,  243 }, { 140,  0,  175 }, {   4, 10,  334 }, { 133, 10,  593 },\r
+  { 141, 11,   87 }, { 136, 11,  766 }, {  10,  0,  287 }, {  12,  0,  138 },\r
+  {  10, 11,  287 }, { 140, 11,  138 }, {   4,  0,  105 }, { 132,  0,  740 },\r
+  { 140, 10,  116 }, { 134,  0,  857 }, { 135, 11, 1841 }, {   6,  0, 1402 },\r
+  { 137,  0,  819 }, { 132, 11,  584 }, { 132, 10,  709 }, { 133, 10,  897 },\r
+  {   5,  0,  224 }, {  13,  0,  174 }, { 146,  0,   52 }, { 135, 10, 1840 },\r
+  {   4, 10,  608 }, { 133, 10,  497 }, { 139, 11,   60 }, {   4,  0,  758 },\r
+  { 135,  0, 1649 }, {   4, 11,  226 }, {   4, 11,  326 }, { 135, 11, 1770 },\r
+  {   5, 11,  426 }, {   8, 11,   30 }, {   9, 11,    2 }, {  11, 11,  549 },\r
+  { 147, 11,  122 }, { 135, 10, 2039 }, {   6, 10,  540 }, { 136, 10,  136 },\r
+  {   4,  0,  573 }, {   8,  0,  655 }, {   4, 10,  897 }, { 133, 10,  786 },\r
+  {   7,  0,  351 }, { 139,  0,  128 }, { 133, 10,  999 }, {   4, 10,  299 },\r
+  { 135, 10, 1004 }, { 133,  0,  918 }, { 132, 11,  345 }, {   4, 11,  385 },\r
+  {   7, 11,  265 }, { 135, 11,  587 }, { 133, 10,  456 }, { 136, 10,  180 },\r
+  {   6,  0,  687 }, { 134,  0, 1537 }, {   4, 11,  347 }, {   5, 11,  423 },\r
+  {   5, 11,  996 }, { 135, 11, 1329 }, { 132, 10,  755 }, {   7, 11, 1259 },\r
+  {   9, 11,  125 }, {  11, 11,   65 }, { 140, 11,  285 }, {   5, 11,  136 },\r
+  {   6, 11,  136 }, { 136, 11,  644 }, { 134,  0, 1525 }, {   4,  0, 1009 },\r
+  { 135,  0, 1139 }, { 139, 10,  338 }, { 132,  0,  340 }, { 135, 10, 1464 },\r
+  {   8,  0,  847 }, {  10,  0,  861 }, {  10,  0,  876 }, {  10,  0,  889 },\r
+  {  10,  0,  922 }, {  10,  0,  929 }, {  10,  0,  933 }, {  12,  0,  784 },\r
+  { 140,  0,  791 }, { 139,  0,  176 }, {   9, 11,  134 }, {  10, 11,    2 },\r
+  {  10, 11,   27 }, {  10, 11,  333 }, {  11, 11,  722 }, { 143, 11,    1 },\r
+  {   4, 11,  433 }, { 133, 11,  719 }, {   5,  0,  985 }, {   7,  0,  509 },\r
+  {   7,  0,  529 }, { 145,  0,   96 }, { 132,  0,  615 }, {   4, 10,  890 },\r
+  {   5, 10,  805 }, {   5, 10,  819 }, {   5, 10,  961 }, {   6, 10,  396 },\r
+  {   6, 10, 1631 }, {   6, 10, 1678 }, {   7, 10, 1967 }, {   7, 10, 2041 },\r
+  {   9, 10,  630 }, {  11, 10,    8 }, {  11, 10, 1019 }, {  12, 10,  176 },\r
+  {  13, 10,  225 }, {  14, 10,  292 }, { 149, 10,   24 }, { 135,  0, 1919 },\r
+  { 134,  0, 1131 }, { 144, 11,   21 }, { 144, 11,   51 }, { 135, 10, 1815 },\r
+  {   4,  0,  247 }, {   7, 10, 1505 }, {  10, 10,  190 }, {  10, 10,  634 },\r
+  {  11, 10,  792 }, {  12, 10,  358 }, { 140, 10,  447 }, {   5, 10,    0 },\r
+  {   6, 10,  536 }, {   7, 10,  604 }, {  13, 10,  445 }, { 145, 10,  126 },\r
+  {   4,  0,  184 }, {   5,  0,  390 }, {   6,  0,  337 }, {   7,  0,   23 },\r
+  {   7,  0,  494 }, {   7,  0,  618 }, {   7,  0, 1456 }, {   8,  0,   27 },\r
+  {   8,  0,  599 }, {  10,  0,  153 }, { 139,  0,  710 }, {   6, 10,  232 },\r
+  {   6, 10,  412 }, {   7, 10, 1074 }, {   8, 10,    9 }, {   8, 10,  157 },\r
+  {   8, 10,  786 }, {   9, 10,  196 }, {   9, 10,  352 }, {   9, 10,  457 },\r
+  {  10, 10,  337 }, {  11, 10,  232 }, {  11, 10,  877 }, {  12, 10,  480 },\r
+  { 140, 10,  546 }, {  13,  0,   38 }, { 135, 10,  958 }, {   4, 10,  382 },\r
+  { 136, 10,  579 }, {   4, 10,  212 }, { 135, 10, 1206 }, {   4, 11,  555 },\r
+  {   8, 11,  536 }, { 138, 11,  288 }, {  11, 11,  139 }, { 139, 11,  171 },\r
+  {   9, 11,  370 }, { 138, 11,   90 }, { 132,  0, 1015 }, { 134,  0, 1088 },\r
+  {   5, 10,  655 }, { 135, 11,  977 }, { 134,  0, 1585 }, {  17, 10,   67 },\r
+  { 147, 10,   74 }, {  10,  0,  227 }, {  11,  0,  497 }, {  11,  0,  709 },\r
+  { 140,  0,  415 }, {   6,  0,  360 }, {   7,  0, 1664 }, { 136,  0,  478 },\r
+  {   7,  0,   95 }, {   6, 10,  231 }, { 136, 10,  423 }, { 140, 11,   65 },\r
+  {   4, 11,  257 }, { 135, 11, 2031 }, { 135, 11, 1768 }, { 133, 10,  300 },\r
+  { 139, 11,  211 }, { 136,  0,  699 }, {   6, 10,  237 }, {   7, 10,  611 },\r
+  {   8, 10,  100 }, {   9, 10,  416 }, {  11, 10,  335 }, {  12, 10,  173 },\r
+  { 146, 10,  101 }, {  14,  0,   26 }, { 146,  0,  150 }, {   6,  0,  581 },\r
+  { 135,  0, 1119 }, { 135, 10, 1208 }, { 132,  0,  739 }, {   6, 11,   83 },\r
+  {   6, 11, 1733 }, { 135, 11, 1389 }, { 137,  0,  869 }, {   4,  0,   67 },\r
+  {   5,  0,  422 }, {   7,  0, 1037 }, {   7,  0, 1289 }, {   7,  0, 1555 },\r
+  {   9,  0,  741 }, { 145,  0,  108 }, { 133, 10,  199 }, {  12, 10,  427 },\r
+  { 146, 10,   38 }, { 136,  0,  464 }, { 142,  0,   42 }, {  10,  0,   96 },\r
+  {   8, 11,  501 }, { 137, 11,  696 }, { 134, 11,  592 }, {   4,  0,  512 },\r
+  {   4,  0,  966 }, {   5,  0,  342 }, {   6,  0, 1855 }, {   8,  0,  869 },\r
+  {   8,  0,  875 }, {   8,  0,  901 }, { 144,  0,   26 }, {   8,  0,  203 },\r
+  {  11,  0,  823 }, {  11,  0,  846 }, {  12,  0,  482 }, {  13,  0,  277 },\r
+  {  13,  0,  302 }, {  13,  0,  464 }, {  14,  0,  205 }, { 142,  0,  221 },\r
+  {   4,  0,  449 }, { 133,  0,  718 }, {   7, 11, 1718 }, {   9, 11,   95 },\r
+  {   9, 11,  274 }, {  10, 11,  279 }, {  10, 11,  317 }, {  10, 11,  420 },\r
+  {  11, 11,  303 }, {  11, 11,  808 }, {  12, 11,  134 }, {  12, 11,  367 },\r
+  {  13, 11,  149 }, {  13, 11,  347 }, {  14, 11,  349 }, {  14, 11,  406 },\r
+  {  18, 11,   22 }, {  18, 11,   89 }, {  18, 11,  122 }, { 147, 11,   47 },\r
+  { 133, 11,   26 }, {   4,  0,  355 }, {   6,  0,  311 }, {   9,  0,  256 },\r
+  { 138,  0,  404 }, { 132, 11,  550 }, {  10,  0,  758 }, {   6, 10,  312 },\r
+  {   6, 10, 1715 }, {  10, 10,  584 }, {  11, 10,  546 }, {  11, 10,  692 },\r
+  {  12, 10,  259 }, {  12, 10,  295 }, {  13, 10,   46 }, { 141, 10,  154 },\r
+  { 136, 11,  822 }, {   5,  0,  827 }, {   4, 11,  902 }, {   5, 11,  809 },\r
+  {   6, 11,  122 }, { 135, 11,  896 }, {   5,  0,   64 }, { 140,  0,  581 },\r
+  {   4,  0,  442 }, {   6,  0,  739 }, {   7,  0, 1047 }, {   7,  0, 1352 },\r
+  {   7,  0, 1643 }, {   7, 11, 1911 }, {   9, 11,  449 }, {  10, 11,  192 },\r
+  { 138, 11,  740 }, { 135, 11,  262 }, { 132, 10,  588 }, { 133, 11,  620 },\r
+  {   5,  0,  977 }, {   6,  0,  288 }, {   7,  0,  528 }, {   4, 11,   34 },\r
+  {   5, 11,  574 }, {   7, 11,  279 }, {   7, 11, 1624 }, { 136, 11,  601 },\r
+  {   6,  0, 1375 }, {   4, 10,  231 }, {   5, 10,   61 }, {   6, 10,  104 },\r
+  {   7, 10,  729 }, {   7, 10,  964 }, {   7, 10, 1658 }, { 140, 10,  414 },\r
+  {   6, 10,  263 }, { 138, 10,  757 }, { 132, 10,  320 }, {   4,  0,  254 },\r
+  {   7,  0, 1309 }, {   5, 11,  332 }, { 135, 11, 1309 }, {   6, 11,  261 },\r
+  {   8, 11,  182 }, { 139, 11,  943 }, { 132, 10,  225 }, {   6,  0,   12 },\r
+  { 135,  0, 1219 }, {   4,  0,  275 }, {  12,  0,  376 }, {   6, 11, 1721 },\r
+  { 141, 11,  490 }, {   4, 11,  933 }, { 133, 11,  880 }, {   6,  0,  951 },\r
+  {   6,  0, 1109 }, {   6,  0, 1181 }, {   7,  0,  154 }, {   4, 10,  405 },\r
+  {   7, 10,  817 }, {  14, 10,   58 }, {  17, 10,   37 }, { 146, 10,  124 },\r
+  {   6,  0, 1520 }, { 133, 10,  974 }, { 134,  0, 1753 }, {   6,  0,  369 },\r
+  {   6,  0,  502 }, {   7,  0, 1036 }, {   8,  0,  348 }, {   9,  0,  452 },\r
+  {  10,  0,   26 }, {  11,  0,  224 }, {  11,  0,  387 }, {  11,  0,  772 },\r
+  {  12,  0,   95 }, {  12,  0,  629 }, {  13,  0,  195 }, {  13,  0,  207 },\r
+  {  13,  0,  241 }, {  14,  0,  260 }, {  14,  0,  270 }, { 143,  0,  140 },\r
+  { 132,  0,  269 }, {   5,  0,  480 }, {   7,  0,  532 }, {   7,  0, 1197 },\r
+  {   7,  0, 1358 }, {   8,  0,  291 }, {  11,  0,  349 }, { 142,  0,  396 },\r
+  {   5, 10,  235 }, {   7, 10, 1239 }, {  11, 10,  131 }, { 140, 10,  370 },\r
+  {   7, 10,  956 }, {   7, 10, 1157 }, {   7, 10, 1506 }, {   7, 10, 1606 },\r
+  {   7, 10, 1615 }, {   7, 10, 1619 }, {   7, 10, 1736 }, {   7, 10, 1775 },\r
+  {   8, 10,  590 }, {   9, 10,  324 }, {   9, 10,  736 }, {   9, 10,  774 },\r
+  {   9, 10,  776 }, {   9, 10,  784 }, {  10, 10,  567 }, {  10, 10,  708 },\r
+  {  11, 10,  518 }, {  11, 10,  613 }, {  11, 10,  695 }, {  11, 10,  716 },\r
+  {  11, 10,  739 }, {  11, 10,  770 }, {  11, 10,  771 }, {  11, 10,  848 },\r
+  {  11, 10,  857 }, {  11, 10,  931 }, {  11, 10,  947 }, {  12, 10,  326 },\r
+  {  12, 10,  387 }, {  12, 10,  484 }, {  12, 10,  528 }, {  12, 10,  552 },\r
+  {  12, 10,  613 }, {  13, 10,  189 }, {  13, 10,  256 }, {  13, 10,  340 },\r
+  {  13, 10,  432 }, {  13, 10,  436 }, {  13, 10,  440 }, {  13, 10,  454 },\r
+  {  14, 10,  174 }, {  14, 10,  220 }, {  14, 10,  284 }, {  14, 10,  390 },\r
+  { 145, 10,  121 }, {   8, 11,  598 }, {   9, 11,  664 }, { 138, 11,  441 },\r
+  {   9, 10,  137 }, { 138, 10,  221 }, { 133, 11,  812 }, { 148,  0,   15 },\r
+  { 134,  0, 1341 }, {   6,  0, 1017 }, {   4, 11,  137 }, {   7, 11, 1178 },\r
+  { 135, 11, 1520 }, {   7, 10,  390 }, { 138, 10,  140 }, {   7, 11, 1260 },\r
+  { 135, 11, 1790 }, { 137, 11,  191 }, { 135, 10, 1144 }, {   6,  0, 1810 },\r
+  {   7,  0,  657 }, {   8,  0,  886 }, {  10,  0,  857 }, {  14,  0,  440 },\r
+  { 144,  0,   96 }, {   8,  0,  533 }, {   6, 11, 1661 }, {   7, 11, 1975 },\r
+  {   7, 11, 2009 }, { 135, 11, 2011 }, {   6,  0, 1453 }, { 134, 10,  464 },\r
+  { 132, 11,  715 }, {   5, 10,  407 }, {  11, 10,  204 }, {  11, 10,  243 },\r
+  {  11, 10,  489 }, {  12, 10,  293 }, {  19, 10,   37 }, {  20, 10,   73 },\r
+  { 150, 10,   38 }, { 133, 11,  703 }, {   4,  0,  211 }, {   7,  0, 1483 },\r
+  {   5, 10,  325 }, {   8, 10,    5 }, {   8, 10,  227 }, {   9, 10,  105 },\r
+  {  10, 10,  585 }, { 140, 10,  614 }, {   4,  0,  332 }, {   5,  0,  335 },\r
+  {   6,  0,  238 }, {   7,  0,  269 }, {   7,  0,  811 }, {   7,  0, 1797 },\r
+  {   8,  0,  836 }, {   9,  0,  507 }, { 141,  0,  242 }, {   5, 11,   89 },\r
+  {   7, 11, 1915 }, {   9, 11,  185 }, {   9, 11,  235 }, {   9, 11,  496 },\r
+  {  10, 11,   64 }, {  10, 11,  270 }, {  10, 11,  403 }, {  10, 11,  469 },\r
+  {  10, 11,  529 }, {  10, 11,  590 }, {  11, 11,  140 }, {  11, 11,  860 },\r
+  {  13, 11,    1 }, {  13, 11,  422 }, {  14, 11,  341 }, {  14, 11,  364 },\r
+  {  17, 11,   93 }, {  18, 11,  113 }, {  19, 11,   97 }, { 147, 11,  113 },\r
+  { 133, 11,  695 }, {  16,  0,   19 }, {   5, 11,    6 }, {   6, 11,  183 },\r
+  {   6, 10,  621 }, {   7, 11,  680 }, {   7, 11,  978 }, {   7, 11, 1013 },\r
+  {   7, 11, 1055 }, {  12, 11,  230 }, {  13, 11,  172 }, {  13, 10,  504 },\r
+  { 146, 11,   29 }, { 136,  0,  156 }, { 133,  0, 1009 }, {   6, 11,   29 },\r
+  { 139, 11,   63 }, { 134,  0,  820 }, { 134, 10,  218 }, {   7, 10,  454 },\r
+  {   7, 10,  782 }, {   8, 10,  768 }, { 140, 10,  686 }, {   5,  0,  228 },\r
+  {   6,  0,  203 }, {   7,  0,  156 }, {   8,  0,  347 }, {   9,  0,  265 },\r
+  {  18,  0,   39 }, {  20,  0,   54 }, {  21,  0,   31 }, {  22,  0,    3 },\r
+  {  23,  0,    0 }, {  15, 11,    8 }, {  18, 11,   39 }, {  20, 11,   54 },\r
+  {  21, 11,   31 }, {  22, 11,    3 }, { 151, 11,    0 }, {   7,  0, 1131 },\r
+  { 135,  0, 1468 }, { 144, 10,    0 }, { 134,  0, 1276 }, {  10, 10,  676 },\r
+  { 140, 10,  462 }, { 132, 11,  311 }, { 134, 11, 1740 }, {   7, 11,  170 },\r
+  {   8, 11,   90 }, {   8, 11,  177 }, {   8, 11,  415 }, {  11, 11,  714 },\r
+  { 142, 11,  281 }, { 134, 10,  164 }, {   6,  0, 1792 }, { 138,  0,  849 },\r
+  { 150, 10,   50 }, {   5,  0,  291 }, {   5,  0,  318 }, {   7,  0,  765 },\r
+  {   9,  0,  389 }, {  12,  0,  548 }, {   8, 11,  522 }, { 142, 11,  328 },\r
+  {  11, 11,   91 }, {  13, 11,  129 }, {  15, 11,  101 }, { 145, 11,  125 },\r
+  {   4, 11,  494 }, {   6, 11,   74 }, {   7, 11,   44 }, {   7, 11,  407 },\r
+  {   8, 11,  551 }, {  12, 11,   17 }, {  15, 11,    5 }, { 148, 11,   11 },\r
+  {   4, 11,  276 }, { 133, 11,  296 }, {   6, 10,  343 }, {   7, 10,  195 },\r
+  {   7, 11, 1777 }, {   9, 10,  226 }, {  10, 10,  197 }, {  10, 10,  575 },\r
+  {  11, 10,  502 }, { 139, 10,  899 }, {  10,  0,  525 }, { 139,  0,   82 },\r
+  {  14,  0,  453 }, {   4, 11,    7 }, {   5, 11,   90 }, {   5, 11,  158 },\r
+  {   6, 11,  542 }, {   7, 11,  221 }, {   7, 11, 1574 }, {   9, 11,  490 },\r
+  {  10, 11,  540 }, {  11, 11,  443 }, { 139, 11,  757 }, { 135,  0,  666 },\r
+  {  22, 10,   29 }, { 150, 11,   29 }, {   4,  0,  422 }, { 147, 10,    8 },\r
+  {   5,  0,  355 }, { 145,  0,    0 }, {   6,  0, 1873 }, {   9,  0,  918 },\r
+  {   7, 11,  588 }, {   9, 11,  175 }, { 138, 11,  530 }, { 143, 11,   31 },\r
+  {  11,  0,  165 }, {   7, 10, 1125 }, {   9, 10,  143 }, {  14, 10,  405 },\r
+  { 150, 10,   21 }, {   9,  0,  260 }, { 137,  0,  905 }, {   5, 11,  872 },\r
+  {   6, 11,   57 }, {   6, 11,  479 }, {   6, 11,  562 }, {   7, 11,  471 },\r
+  {   7, 11, 1060 }, {   9, 11,  447 }, {   9, 11,  454 }, { 141, 11,    6 },\r
+  { 138, 11,  704 }, { 133,  0,  865 }, {   5,  0,  914 }, { 134,  0, 1625 },\r
+  { 133,  0,  234 }, {   7,  0, 1383 }, {   5, 11,   31 }, {   6, 11,  614 },\r
+  { 145, 11,   61 }, {   7, 11, 1200 }, { 138, 11,  460 }, {   6, 11,  424 },\r
+  { 135, 11, 1866 }, { 136,  0,  306 }, {   5, 10,  959 }, {  12, 11,   30 },\r
+  {  13, 11,  148 }, {  14, 11,   87 }, {  14, 11,  182 }, {  16, 11,   42 },\r
+  {  18, 11,   92 }, { 148, 11,   70 }, {   6,  0, 1919 }, {   6,  0, 1921 },\r
+  {   9,  0,  923 }, {   9,  0,  930 }, {   9,  0,  941 }, {   9,  0,  949 },\r
+  {   9,  0,  987 }, {   9,  0,  988 }, {   9,  0,  992 }, {  12,  0,  802 },\r
+  {  12,  0,  815 }, {  12,  0,  856 }, {  12,  0,  885 }, {  12,  0,  893 },\r
+  {  12,  0,  898 }, {  12,  0,  919 }, {  12,  0,  920 }, {  12,  0,  941 },\r
+  {  12,  0,  947 }, {  15,  0,  183 }, {  15,  0,  185 }, {  15,  0,  189 },\r
+  {  15,  0,  197 }, {  15,  0,  202 }, {  15,  0,  233 }, {  18,  0,  218 },\r
+  {  18,  0,  219 }, {  18,  0,  233 }, { 143, 11,  156 }, { 135, 10, 1759 },\r
+  { 136, 10,  173 }, {  13,  0,  163 }, {  13,  0,  180 }, {  18,  0,   78 },\r
+  {  20,  0,   35 }, {   5, 11,   13 }, { 134, 11,  142 }, { 134, 10,  266 },\r
+  {   6, 11,   97 }, {   7, 11,  116 }, {   8, 11,  322 }, {   8, 11,  755 },\r
+  {   9, 11,  548 }, {  10, 11,  714 }, {  11, 11,  884 }, { 141, 11,  324 },\r
+  { 135,  0, 1312 }, {   9,  0,  814 }, { 137, 11,  676 }, { 133,  0,  707 },\r
+  { 135,  0, 1493 }, {   6,  0,  421 }, {   7,  0,   61 }, {   7,  0, 1540 },\r
+  {  10,  0,   11 }, { 138,  0,  501 }, {  12,  0,  733 }, {  12,  0,  766 },\r
+  {   7, 11,  866 }, { 135, 11, 1163 }, { 137,  0,  341 }, { 142,  0,   98 },\r
+  { 145, 11,  115 }, { 135, 11, 1111 }, { 136, 10,  300 }, { 136,  0, 1014 },\r
+  {   8, 11,    1 }, {   9, 11,  112 }, { 138, 11,  326 }, { 132, 11,  730 },\r
+  {   5, 11,  488 }, {   6, 11,  527 }, {   7, 11,  489 }, {   7, 11, 1636 },\r
+  {   8, 11,  121 }, {   8, 11,  144 }, {   8, 11,  359 }, {   9, 11,  193 },\r
+  {   9, 11,  241 }, {   9, 11,  336 }, {   9, 11,  882 }, {  11, 11,  266 },\r
+  {  11, 11,  372 }, {  11, 11,  944 }, {  12, 11,  401 }, { 140, 11,  641 },\r
+  {   6,  0,  971 }, { 134,  0, 1121 }, {   6,  0,  102 }, {   7,  0,   72 },\r
+  {  15,  0,  142 }, { 147,  0,   67 }, { 151,  0,   30 }, { 135,  0,  823 },\r
+  { 134,  0, 1045 }, {   5, 10,  427 }, {   5, 10,  734 }, {   7, 10,  478 },\r
+  { 136, 10,   52 }, {   7,  0, 1930 }, {  11, 10,  217 }, { 142, 10,  165 },\r
+  {   6,  0, 1512 }, { 135,  0, 1870 }, {   9, 11,   31 }, {  10, 11,  244 },\r
+  {  10, 11,  699 }, {  12, 11,  149 }, { 141, 11,  497 }, { 133, 11,  377 },\r
+  { 145, 11,  101 }, {  10, 11,  158 }, {  13, 11,   13 }, {  13, 11,  137 },\r
+  {  13, 11,  258 }, {  14, 11,  111 }, {  14, 11,  225 }, {  14, 11,  253 },\r
+  {  14, 11,  304 }, {  14, 11,  339 }, {  14, 11,  417 }, { 146, 11,   33 },\r
+  {   6,  0,   87 }, {   6, 10, 1734 }, {   7, 10,   20 }, {   7, 10, 1056 },\r
+  {   8, 10,  732 }, {   9, 10,  406 }, {   9, 10,  911 }, { 138, 10,  694 },\r
+  { 134,  0, 1243 }, { 137,  0,  245 }, {   7,  0,   68 }, {   8,  0,   48 },\r
+  {   8,  0,   88 }, {   8,  0,  582 }, {   8,  0,  681 }, {   9,  0,  373 },\r
+  {   9,  0,  864 }, {  11,  0,  157 }, {  11,  0,  336 }, {  11,  0,  843 },\r
+  { 148,  0,   27 }, {   8, 11,  663 }, { 144, 11,    8 }, { 133, 10,  613 },\r
+  {   4,  0,   88 }, {   5,  0,  137 }, {   5,  0,  174 }, {   5,  0,  777 },\r
+  {   6,  0, 1664 }, {   6,  0, 1725 }, {   7,  0,   77 }, {   7,  0,  426 },\r
+  {   7,  0, 1317 }, {   7,  0, 1355 }, {   8,  0,  126 }, {   8,  0,  563 },\r
+  {   9,  0,  523 }, {   9,  0,  750 }, {  10,  0,  310 }, {  10,  0,  836 },\r
+  {  11,  0,   42 }, {  11,  0,  318 }, {  11,  0,  731 }, {  12,  0,   68 },\r
+  {  12,  0,   92 }, {  12,  0,  507 }, {  12,  0,  692 }, {  13,  0,   81 },\r
+  {  13,  0,  238 }, {  13,  0,  374 }, {  14,  0,  436 }, {  18,  0,  138 },\r
+  {  19,  0,   78 }, {  19,  0,  111 }, {  20,  0,   55 }, {  20,  0,   77 },\r
+  { 148,  0,   92 }, { 141,  0,  418 }, {   4,  0,  938 }, { 137,  0,  625 },\r
+  { 138,  0,  351 }, {   5, 11,  843 }, {   7, 10,   32 }, {   7, 10,  984 },\r
+  {   8, 10,   85 }, {   8, 10,  709 }, {   9, 10,  579 }, {   9, 10,  847 },\r
+  {   9, 10,  856 }, {  10, 10,  799 }, {  11, 10,  258 }, {  11, 10, 1007 },\r
+  {  12, 10,  331 }, {  12, 10,  615 }, {  13, 10,  188 }, {  13, 10,  435 },\r
+  {  14, 10,    8 }, {  15, 10,  165 }, {  16, 10,   27 }, { 148, 10,   40 },\r
+  {   6,  0, 1668 }, {   7,  0, 1499 }, {   8,  0,  117 }, {   9,  0,  314 },\r
+  { 138,  0,  174 }, { 135,  0,  707 }, { 132, 11,  554 }, { 133, 11,  536 },\r
+  {   5,  0,  403 }, {   5, 11,  207 }, {   9, 11,   79 }, {  11, 11,  625 },\r
+  { 145, 11,    7 }, { 132, 11,  424 }, { 136, 11,  785 }, {   4, 10,  167 },\r
+  { 135, 10,   82 }, {   9,  0,    7 }, {  23,  0,    6 }, {   9, 11,    7 },\r
+  { 151, 11,    6 }, {   6,  0,  282 }, {   5, 10,   62 }, {   6, 10,  534 },\r
+  {   7, 10,   74 }, {   7, 10,  678 }, {   7, 10,  684 }, {   7, 10, 1043 },\r
+  {   7, 10, 1072 }, {   8, 10,  280 }, {   8, 10,  541 }, {   8, 10,  686 },\r
+  {   9, 10,  258 }, {  10, 10,  519 }, {  11, 10,  252 }, { 140, 10,  282 },\r
+  { 138, 10,   33 }, { 132, 10,  359 }, {   4,  0,   44 }, {   5,  0,  311 },\r
+  {   6,  0,  156 }, {   7,  0,  639 }, {   7,  0,  762 }, {   7,  0, 1827 },\r
+  {   9,  0,    8 }, {   9,  0,  462 }, { 148,  0,   83 }, {   7, 11,  769 },\r
+  {   9, 11,   18 }, { 138, 11,  358 }, {   4,  0,  346 }, {   7,  0,  115 },\r
+  {   9,  0,  180 }, {   9,  0,  456 }, {  10,  0,  363 }, {   4, 11,  896 },\r
+  { 134, 11, 1777 }, { 133, 10,  211 }, {   7,  0,  761 }, {   7,  0, 1051 },\r
+  { 137,  0,  545 }, {   6, 10,  145 }, { 141, 10,  336 }, {   7, 11,  750 },\r
+  {   9, 11,  223 }, {  11, 11,   27 }, {  11, 11,  466 }, {  12, 11,  624 },\r
+  {  14, 11,  265 }, { 146, 11,   61 }, {   6,  0,  752 }, {   6,  0,  768 },\r
+  {   6,  0, 1195 }, {   6,  0, 1254 }, {   6,  0, 1619 }, { 137,  0,  835 },\r
+  {   6,  0, 1936 }, {   8,  0,  930 }, { 136,  0,  960 }, { 132, 10,  263 },\r
+  { 132, 11,  249 }, {  12,  0,  653 }, { 132, 10,  916 }, {   4, 11,  603 },\r
+  { 133, 11,  661 }, {   8,  0,  344 }, {   4, 11,   11 }, {   6, 11,  128 },\r
+  {   7, 11,  231 }, {   7, 11, 1533 }, { 138, 11,  725 }, { 134,  0, 1483 },\r
+  { 134,  0,  875 }, {   6,  0,  185 }, {   7,  0, 1899 }, {   9,  0,  875 },\r
+  { 139,  0,  673 }, {  15, 10,  155 }, { 144, 10,   79 }, {   7,  0,   93 },\r
+  {   7,  0,  210 }, {   7,  0, 1223 }, {   8,  0,  451 }, {   8,  0,  460 },\r
+  {  11,  0,  353 }, {  11,  0,  475 }, {   4, 10,  599 }, {   6, 10, 1634 },\r
+  {   7, 10,   67 }, {   7, 10,  691 }, {   7, 10,  979 }, {   7, 10, 1697 },\r
+  {   8, 10,  207 }, {   8, 10,  214 }, {   8, 10,  231 }, {   8, 10,  294 },\r
+  {   8, 10,  336 }, {   8, 10,  428 }, {   8, 10,  471 }, {   8, 10,  622 },\r
+  {   8, 10,  626 }, {   8, 10,  679 }, {   8, 10,  759 }, {   8, 10,  829 },\r
+  {   9, 10,   11 }, {   9, 10,  246 }, {   9, 10,  484 }, {   9, 10,  573 },\r
+  {   9, 10,  706 }, {   9, 10,  762 }, {   9, 10,  798 }, {   9, 10,  855 },\r
+  {   9, 10,  870 }, {   9, 10,  912 }, {  10, 10,  303 }, {  10, 10,  335 },\r
+  {  10, 10,  424 }, {  10, 10,  461 }, {  10, 10,  543 }, {  10, 10,  759 },\r
+  {  10, 10,  814 }, {  11, 10,   59 }, {  11, 10,  235 }, {  11, 10,  590 },\r
+  {  11, 10,  929 }, {  11, 10,  963 }, {  11, 10,  987 }, {  12, 10,  114 },\r
+  {  12, 10,  182 }, {  12, 10,  226 }, {  12, 10,  332 }, {  12, 10,  439 },\r
+  {  12, 10,  575 }, {  12, 10,  598 }, {  12, 10,  675 }, {  13, 10,    8 },\r
+  {  13, 10,  125 }, {  13, 10,  194 }, {  13, 10,  287 }, {  14, 10,  197 },\r
+  {  14, 10,  383 }, {  15, 10,   53 }, {  17, 10,   63 }, {  19, 10,   46 },\r
+  {  19, 10,   98 }, {  19, 10,  106 }, { 148, 10,   85 }, { 132, 11,  476 },\r
+  {   4,  0,  327 }, {   5,  0,  478 }, {   7,  0, 1332 }, { 136,  0,  753 },\r
+  {   5,  0, 1020 }, { 133,  0, 1022 }, { 135, 11, 1807 }, {   4,  0,  103 },\r
+  { 133,  0,  401 }, {   4,  0,  499 }, { 135,  0, 1421 }, {  10,  0,  207 },\r
+  {  13,  0,  164 }, { 147, 10,  126 }, {   9, 11,   20 }, {  10, 11,  324 },\r
+  { 139, 11,  488 }, { 132,  0,   96 }, {   9, 11,  280 }, { 138, 11,  134 },\r
+  { 135,  0,  968 }, { 133, 10,  187 }, { 135, 10, 1286 }, {   5, 11,  112 },\r
+  {   6, 11,  103 }, { 134, 11,  150 }, {   8,  0,  914 }, {  10,  0,    3 },\r
+  {   4, 10,  215 }, {   9, 10,   38 }, {  11, 10,   23 }, {  11, 10,  127 },\r
+  { 139, 10,  796 }, { 135,  0,  399 }, {   6,  0,  563 }, { 137,  0,  224 },\r
+  {   6,  0,  704 }, { 134,  0, 1214 }, {   4, 11,  708 }, {   8, 11,   15 },\r
+  {   9, 11,   50 }, {   9, 11,  386 }, {  11, 11,   18 }, {  11, 11,  529 },\r
+  { 140, 11,  228 }, {   4, 11,  563 }, {   7, 11,  109 }, {   7, 11,  592 },\r
+  {   7, 11,  637 }, {   7, 11,  770 }, {   7, 11, 1701 }, {   8, 11,  436 },\r
+  {   8, 11,  463 }, {   9, 11,   60 }, {   9, 11,  335 }, {   9, 11,  904 },\r
+  {  10, 11,   73 }, {  11, 11,  434 }, {  12, 11,  585 }, {  13, 11,  331 },\r
+  {  18, 11,  110 }, { 148, 11,   60 }, { 134,  0, 1559 }, { 132, 11,  502 },\r
+  {   6, 11,  347 }, { 138, 11,  161 }, {   4, 11,   33 }, {   5, 11,  102 },\r
+  {   5, 11,  500 }, {   6, 11,  284 }, {   7, 11, 1079 }, {   7, 11, 1423 },\r
+  {   7, 11, 1702 }, {   8, 11,  470 }, {   9, 11,  554 }, {   9, 11,  723 },\r
+  { 139, 11,  333 }, {   7, 11,  246 }, { 135, 11,  840 }, {   6, 11,   10 },\r
+  {   8, 11,  571 }, {   9, 11,  739 }, { 143, 11,   91 }, {   8,  0,  861 },\r
+  {  10,  0,  905 }, {  12,  0,  730 }, {  12,  0,  789 }, { 133, 11,  626 },\r
+  { 134,  0,  946 }, {   5,  0,  746 }, {  12,  0,  333 }, {  14,  0,  332 },\r
+  {  12, 11,  333 }, { 142, 11,  332 }, {   5, 11,   18 }, {   6, 11,  526 },\r
+  {  13, 11,   24 }, {  13, 11,  110 }, {  19, 11,    5 }, { 147, 11,   44 },\r
+  {   4,  0,  910 }, {   5,  0,  832 }, { 135, 10, 2002 }, {  10, 11,  768 },\r
+  { 139, 11,  787 }, {   4, 11,  309 }, {   5, 11,  462 }, {   7, 11,  970 },\r
+  { 135, 11, 1097 }, {   4, 10,   28 }, {   5, 10,  440 }, {   7, 10,  248 },\r
+  {  11, 10,  833 }, { 140, 10,  344 }, { 134, 10, 1654 }, {   6,  0,  632 },\r
+  {   6,  0,  652 }, {   6,  0, 1272 }, {   6,  0, 1384 }, { 134,  0, 1560 },\r
+  { 134, 11, 1704 }, {   6,  0, 1393 }, { 133, 10,  853 }, {   6, 10,  249 },\r
+  {   7, 10, 1234 }, { 139, 10,  573 }, {   5, 11,   86 }, {   7, 11,  743 },\r
+  {   9, 11,   85 }, {  10, 11,  281 }, {  10, 11,  432 }, {  11, 11,  490 },\r
+  {  12, 11,  251 }, {  13, 11,  118 }, {  14, 11,  378 }, { 146, 11,  143 },\r
+  {   5, 11,  524 }, { 133, 11,  744 }, { 134,  0, 1514 }, {  10,  0,  201 },\r
+  { 142,  0,  319 }, {   7,  0,  717 }, {  10,  0,  510 }, {   7, 10,  392 },\r
+  {   8, 10,   20 }, {   8, 10,  172 }, {   8, 10,  690 }, {   9, 10,  383 },\r
+  {   9, 10,  845 }, {  11, 10,  293 }, {  11, 10,  832 }, {  11, 10,  920 },\r
+  {  11, 10,  984 }, { 141, 10,  221 }, { 134,  0, 1381 }, {   5, 10,  858 },\r
+  { 133, 10,  992 }, {   8,  0,  528 }, { 137,  0,  348 }, {  10, 11,  107 },\r
+  { 140, 11,  436 }, {   4,  0,   20 }, { 133,  0,  616 }, { 134,  0, 1251 },\r
+  { 132, 11,  927 }, {  10, 11,  123 }, {  12, 11,  670 }, {  13, 11,  371 },\r
+  {  14, 11,  142 }, { 146, 11,   94 }, { 134,  0, 1163 }, {   7, 11, 1149 },\r
+  { 137, 11,  156 }, { 134,  0,  307 }, { 133, 11,  778 }, {   7,  0, 1091 },\r
+  { 135,  0, 1765 }, {   5, 11,  502 }, {   6, 10,  268 }, { 137, 10,   62 },\r
+  {   8, 11,  196 }, {  10, 11,  283 }, { 139, 11,  406 }, {   4,  0,   26 },\r
+  {   5,  0,  429 }, {   6,  0,  245 }, {   7,  0,  704 }, {   7,  0, 1379 },\r
+  { 135,  0, 1474 }, { 133, 11,  855 }, { 132,  0,  881 }, {   4,  0,  621 },\r
+  { 135, 11, 1596 }, {   7, 11, 1400 }, {   9, 11,  446 }, { 138, 11,   45 },\r
+  {   6,  0,  736 }, { 138, 10,  106 }, { 133,  0,  542 }, { 134,  0,  348 },\r
+  { 133,  0,  868 }, { 136,  0,  433 }, { 135,  0, 1495 }, { 138,  0,  771 },\r
+  {   6, 10,  613 }, { 136, 10,  223 }, { 138,  0,  215 }, { 141,  0,  124 },\r
+  { 136, 11,  391 }, { 135, 11,  172 }, { 132, 10,  670 }, { 140,  0,   55 },\r
+  {   9, 10,   40 }, { 139, 10,  136 }, {   7,  0,   62 }, { 147,  0,  112 },\r
+  { 132,  0,  856 }, { 132, 11,  568 }, {  12,  0,  270 }, { 139, 10,  259 },\r
+  {   8,  0,  572 }, { 137,  0,  698 }, {   4, 11,  732 }, {   9, 10,  310 },\r
+  { 137, 10,  682 }, { 142, 10,  296 }, { 134,  0,  939 }, { 136, 11,  733 },\r
+  { 135, 11, 1435 }, {   7, 10, 1401 }, { 135, 10, 1476 }, {   6,  0,  352 },\r
+  {   4, 10,  296 }, {   7, 10,  401 }, {   7, 10, 1410 }, {   7, 10, 1594 },\r
+  {   7, 10, 1674 }, {   8, 10,   63 }, {   8, 10,  660 }, { 137, 10,   74 },\r
+  {   4, 11,  428 }, { 133, 11,  668 }, {   4, 10,  139 }, {   4, 10,  388 },\r
+  { 140, 10,  188 }, {   7, 11, 2015 }, { 140, 11,  665 }, { 132,  0,  647 },\r
+  { 146,  0,   10 }, { 138,  0,  220 }, { 142,  0,  464 }, { 132,  0,  109 },\r
+  { 134,  0, 1746 }, {   6,  0,  515 }, {   4, 10,  747 }, {   6, 11, 1623 },\r
+  {   6, 11, 1681 }, {   7, 10,  649 }, {   7, 10, 1479 }, { 135, 10, 1583 },\r
+  { 133, 10,  232 }, { 135,  0,  566 }, { 137, 10,  887 }, {   4,  0,   40 },\r
+  {  10,  0,   67 }, {  11,  0,  117 }, {  11,  0,  768 }, { 139,  0,  935 },\r
+  { 132,  0,  801 }, {   7,  0,  992 }, {   8,  0,  301 }, {   9,  0,  722 },\r
+  {  12,  0,   63 }, {  13,  0,   29 }, {  14,  0,  161 }, { 143,  0,   18 },\r
+  { 139,  0,  923 }, {   6, 11, 1748 }, {   8, 11,  715 }, {   9, 11,  802 },\r
+  {  10, 11,   46 }, {  10, 11,  819 }, {  13, 11,  308 }, {  14, 11,  351 },\r
+  {  14, 11,  363 }, { 146, 11,   67 }, { 137, 11,  745 }, {   7,  0, 1145 },\r
+  {   4, 10,   14 }, {   7, 10, 1801 }, {  10, 10,  748 }, { 141, 10,  458 },\r
+  {   4, 11,   63 }, {   5, 11,  347 }, { 134, 11,  474 }, { 135,  0,  568 },\r
+  {   4, 10,  425 }, {   7, 11,  577 }, {   7, 11, 1432 }, {   9, 11,  475 },\r
+  {   9, 11,  505 }, {   9, 11,  526 }, {   9, 11,  609 }, {   9, 11,  689 },\r
+  {   9, 11,  726 }, {   9, 11,  735 }, {   9, 11,  738 }, {  10, 11,  556 },\r
+  {  10, 11,  674 }, {  10, 11,  684 }, {  11, 11,   89 }, {  11, 11,  202 },\r
+  {  11, 11,  272 }, {  11, 11,  380 }, {  11, 11,  415 }, {  11, 11,  505 },\r
+  {  11, 11,  537 }, {  11, 11,  550 }, {  11, 11,  562 }, {  11, 11,  640 },\r
+  {  11, 11,  667 }, {  11, 11,  688 }, {  11, 11,  847 }, {  11, 11,  927 },\r
+  {  11, 11,  930 }, {  11, 11,  940 }, {  12, 11,  144 }, {  12, 11,  325 },\r
+  {  12, 11,  329 }, {  12, 11,  389 }, {  12, 11,  403 }, {  12, 11,  451 },\r
+  {  12, 11,  515 }, {  12, 11,  604 }, {  12, 11,  616 }, {  12, 11,  626 },\r
+  {  13, 11,   66 }, {  13, 11,  131 }, {  13, 11,  167 }, {  13, 11,  236 },\r
+  {  13, 11,  368 }, {  13, 11,  411 }, {  13, 11,  434 }, {  13, 11,  453 },\r
+  {  13, 11,  461 }, {  13, 11,  474 }, {  14, 11,   59 }, {  14, 11,   60 },\r
+  {  14, 11,  139 }, {  14, 11,  152 }, {  14, 11,  276 }, {  14, 11,  353 },\r
+  {  14, 11,  402 }, {  15, 11,   28 }, {  15, 11,   81 }, {  15, 11,  123 },\r
+  {  15, 11,  152 }, {  18, 11,  136 }, { 148, 11,   88 }, { 137,  0,  247 },\r
+  { 135, 11, 1622 }, {   9, 11,  544 }, {  11, 11,  413 }, { 144, 11,   25 },\r
+  {   4,  0,  645 }, {   7,  0,  825 }, {   6, 10, 1768 }, { 135, 11,   89 },\r
+  { 140,  0,  328 }, {   5, 10,  943 }, { 134, 10, 1779 }, { 134,  0, 1363 },\r
+  {   5, 10,  245 }, {   6, 10,  576 }, {   7, 10,  582 }, { 136, 10,  225 },\r
+  { 134,  0, 1280 }, {   5, 11,  824 }, { 133, 11,  941 }, {   7, 11,  440 },\r
+  {   8, 11,  230 }, { 139, 11,  106 }, {   5,  0,   28 }, {   6,  0,  204 },\r
+  {  10,  0,  320 }, {  10,  0,  583 }, {  13,  0,  502 }, {  14,  0,   72 },\r
+  {  14,  0,  274 }, {  14,  0,  312 }, {  14,  0,  344 }, {  15,  0,  159 },\r
+  {  16,  0,   62 }, {  16,  0,   69 }, {  17,  0,   30 }, {  18,  0,   42 },\r
+  {  18,  0,   53 }, {  18,  0,   84 }, {  18,  0,  140 }, {  19,  0,   68 },\r
+  {  19,  0,   85 }, {  20,  0,    5 }, {  20,  0,   45 }, {  20,  0,  101 },\r
+  {  22,  0,    7 }, { 150,  0,   20 }, {   4,  0,  558 }, {   6,  0,  390 },\r
+  {   7,  0,  162 }, {   7,  0,  689 }, {   9,  0,  360 }, { 138,  0,  653 },\r
+  { 134,  0,  764 }, {   6,  0,  862 }, { 137,  0,  833 }, {   5,  0,  856 },\r
+  {   6,  0, 1672 }, {   6,  0, 1757 }, { 134,  0, 1781 }, {   5,  0,   92 },\r
+  {  10,  0,  736 }, { 140,  0,  102 }, {   6,  0, 1927 }, {   6,  0, 1944 },\r
+  {   8,  0,  924 }, {   8,  0,  948 }, {  10,  0,  967 }, { 138,  0,  978 },\r
+  { 134,  0, 1479 }, {   5,  0,  590 }, {   8,  0,  360 }, {   9,  0,  213 },\r
+  { 138,  0,   63 }, { 134,  0, 1521 }, {   6,  0,  709 }, { 134,  0,  891 },\r
+  { 132, 10,  443 }, {  13,  0,  477 }, {  14,  0,  120 }, { 148,  0,   61 },\r
+  {   4, 11,  914 }, {   5, 11,  800 }, { 133, 11,  852 }, {  10, 11,   54 },\r
+  { 141, 11,  115 }, {   4, 11,  918 }, { 133, 11,  876 }, { 139, 11,  152 },\r
+  {   4, 11,   92 }, { 133, 11,  274 }, { 135, 11, 1901 }, {   9, 11,  800 },\r
+  {  10, 11,  693 }, {  11, 11,  482 }, {  11, 11,  734 }, { 139, 11,  789 },\r
+  {   9,  0,  483 }, { 132, 10,  298 }, {   6,  0, 1213 }, { 141, 11,  498 },\r
+  { 135, 11, 1451 }, { 133, 11,  743 }, {   4,  0, 1022 }, {  10,  0, 1000 },\r
+  {  12,  0,  957 }, {  12,  0,  980 }, {  12,  0, 1013 }, {  14,  0,  481 },\r
+  { 144,  0,  116 }, {   8,  0,  503 }, {  17,  0,   29 }, {   4, 11,   49 },\r
+  {   7, 11,  280 }, { 135, 11, 1633 }, { 135,  0, 1712 }, { 134,  0,  466 },\r
+  { 136, 11,   47 }, {   5, 10,  164 }, {   7, 10,  121 }, { 142, 10,  189 },\r
+  {   7, 10,  812 }, {   7, 10, 1261 }, {   7, 10, 1360 }, {   9, 10,  632 },\r
+  { 140, 10,  352 }, { 139, 10,  556 }, { 132,  0,  731 }, {   5, 11,  272 },\r
+  {   5, 11,  908 }, {   5, 11,  942 }, {   7, 11, 1008 }, {   7, 11, 1560 },\r
+  {   8, 11,  197 }, {   9, 11,   47 }, {  11, 11,  538 }, { 139, 11,  742 },\r
+  {   4, 10,  172 }, {   9, 10,  611 }, {  10, 10,  436 }, {  12, 10,  673 },\r
+  { 141, 10,  255 }, { 133, 10,  844 }, {  10,  0,  484 }, {  11,  0,  754 },\r
+  {  12,  0,  457 }, {  14,  0,  171 }, {  14,  0,  389 }, { 146,  0,  153 },\r
+  {   9, 10,  263 }, {  10, 10,  147 }, { 138, 10,  492 }, { 137, 11,  891 },\r
+  { 138,  0,  241 }, { 133, 10,  537 }, {   6,  0, 2005 }, { 136,  0,  964 },\r
+  { 137, 10,  842 }, { 151, 11,    8 }, {   4, 11,  407 }, { 132, 11,  560 },\r
+  { 135, 11, 1884 }, {   6,  0, 1100 }, { 134,  0, 1242 }, { 135,  0,  954 },\r
+  {   5, 10,  230 }, {   5, 10,  392 }, {   6, 10,  420 }, {   9, 10,  568 },\r
+  { 140, 10,  612 }, {   4, 11,  475 }, {  11, 11,   35 }, {  11, 11,   90 },\r
+  {  13, 11,    7 }, {  13, 11,   71 }, {  13, 11,  177 }, { 142, 11,  422 },\r
+  { 136, 11,  332 }, { 135,  0, 1958 }, {   6,  0,  549 }, {   8,  0,   34 },\r
+  {   8,  0,  283 }, {   9,  0,  165 }, { 138,  0,  475 }, {  10,  0,  952 },\r
+  {  12,  0,  966 }, { 140,  0,  994 }, {   5,  0,  652 }, {   5,  0,  701 },\r
+  { 135,  0,  449 }, {   4,  0,  655 }, {   7,  0,  850 }, {  17,  0,   75 },\r
+  { 146,  0,  137 }, {   4,  0,  146 }, {   7,  0, 1618 }, {   8,  0,  670 },\r
+  {   5, 10,   41 }, {   7, 10, 1459 }, {   7, 10, 1469 }, {   7, 10, 1859 },\r
+  {   9, 10,  549 }, { 139, 10,  905 }, { 133, 10,  696 }, {   6,  0,  159 },\r
+  {   6,  0,  364 }, {   7,  0,  516 }, { 137,  0,  518 }, { 135,  0, 1439 },\r
+  {   6, 11,  222 }, {   7, 11,  636 }, {   7, 11, 1620 }, {   8, 11,  409 },\r
+  {   9, 11,  693 }, { 139, 11,   77 }, {  13,  0,  151 }, { 141, 11,   45 },\r
+  {   6,  0, 1027 }, {   4, 11,  336 }, { 132, 10,  771 }, { 139, 11,  392 },\r
+  {  10, 11,  121 }, {  11, 11,  175 }, { 149, 11,   16 }, {   8,  0,  950 },\r
+  { 138,  0,  983 }, { 133, 10,  921 }, { 135,  0,  993 }, {   6, 10,  180 },\r
+  {   7, 10, 1137 }, {   8, 10,  751 }, { 139, 10,  805 }, {   7,  0,  501 },\r
+  {   9,  0,  111 }, {  10,  0,  141 }, {  11,  0,  332 }, {  13,  0,   43 },\r
+  {  13,  0,  429 }, {  14,  0,  130 }, {  14,  0,  415 }, { 145,  0,  102 },\r
+  {   4, 10,  183 }, {   5, 11,  882 }, {   7, 10,  271 }, {  11, 10,  824 },\r
+  {  11, 10,  952 }, {  13, 10,  278 }, {  13, 10,  339 }, {  13, 10,  482 },\r
+  {  14, 10,  424 }, { 148, 10,   99 }, {   4, 10,   19 }, {   5, 10,  477 },\r
+  {   5, 10,  596 }, {   6, 10,  505 }, {   7, 10, 1221 }, {  11, 10,  907 },\r
+  {  12, 10,  209 }, { 141, 10,  214 }, { 135, 10, 1215 }, { 133,  0,  452 },\r
+  { 132, 11,  426 }, {   5,  0,  149 }, { 136,  0,  233 }, { 133,  0,  935 },\r
+  {   6, 11,   58 }, {   7, 11,  654 }, {   7, 11,  745 }, {   7, 11, 1969 },\r
+  {   8, 11,  240 }, {   8, 11,  675 }, {   9, 11,  479 }, {   9, 11,  731 },\r
+  {  10, 11,  330 }, {  10, 11,  593 }, {  10, 11,  817 }, {  11, 11,   32 },\r
+  {  11, 11,  133 }, {  11, 11,  221 }, { 145, 11,   68 }, {  12,  0,  582 },\r
+  {  18,  0,  131 }, {   7, 11,  102 }, { 137, 11,  538 }, { 136,  0,  801 },\r
+  { 134, 10, 1645 }, { 132,  0,   70 }, {   6, 10,   92 }, {   6, 10,  188 },\r
+  {   7, 10, 1269 }, {   7, 10, 1524 }, {   7, 10, 1876 }, {  10, 10,  228 },\r
+  { 139, 10, 1020 }, {   4, 10,  459 }, { 133, 10,  966 }, { 138,  0,  369 },\r
+  {  16,  0,   36 }, { 140, 10,  330 }, { 141, 11,  366 }, {   7,  0,  721 },\r
+  {  10,  0,  236 }, {  12,  0,  204 }, {   6, 10,   18 }, {   7, 10,  932 },\r
+  {   8, 10,  757 }, {   9, 10,   54 }, {   9, 10,   65 }, {   9, 10,  844 },\r
+  {  10, 10,  113 }, {  10, 10,  315 }, {  10, 10,  798 }, {  11, 10,  153 },\r
+  {  12, 10,  151 }, {  12, 10,  392 }, {  12, 10,  666 }, { 142, 10,  248 },\r
+  {   7,  0,  241 }, {  10,  0,  430 }, {   8, 10,  548 }, {   9, 10,  532 },\r
+  {  10, 10,  117 }, {  11, 10,  351 }, {  11, 10,  375 }, { 143, 10,   23 },\r
+  { 134, 10, 1742 }, { 133, 10,  965 }, { 133, 11,  566 }, {   6, 11,   48 },\r
+  { 135, 11,   63 }, { 134, 10,  182 }, {  10, 10,   65 }, {  10, 10,  488 },\r
+  { 138, 10,  497 }, {   6, 11,  114 }, {   7, 11, 1224 }, {   7, 11, 1556 },\r
+  { 136, 11,    3 }, { 134,  0, 1817 }, {   8, 11,  576 }, { 137, 11,  267 },\r
+  {   6,  0, 1078 }, { 144,  0,   16 }, {   9, 10,  588 }, { 138, 10,  260 },\r
+  { 138,  0, 1021 }, {   5,  0,  406 }, { 134,  0, 2022 }, { 133, 11,  933 },\r
+  {   6,  0,   69 }, { 135,  0,  117 }, {   7,  0, 1830 }, { 136, 11,  427 },\r
+  {   4,  0,  432 }, { 135,  0,  824 }, { 134, 10, 1786 }, { 133,  0,  826 },\r
+  { 139, 11,   67 }, { 133, 11,  759 }, { 135, 10,  308 }, { 137,  0,  816 },\r
+  { 133,  0, 1000 }, {   4,  0,  297 }, {   6,  0,  529 }, {   7,  0,  152 },\r
+  {   7,  0,  713 }, {   7,  0, 1845 }, {   8,  0,  710 }, {   8,  0,  717 },\r
+  {  12,  0,  639 }, { 140,  0,  685 }, {   7,  0,  423 }, { 136, 10,  588 },\r
+  { 136, 10,  287 }, { 136,  0,  510 }, { 134,  0, 1048 }, {   6,  0,  618 },\r
+  {   7, 11,   56 }, {   7, 11, 1989 }, {   8, 11,  337 }, {   8, 11,  738 },\r
+  {   9, 11,  600 }, {  10, 11,  483 }, {  12, 11,   37 }, {  13, 11,  447 },\r
+  { 142, 11,   92 }, {   4,  0,  520 }, { 135,  0,  575 }, {   8,  0,  990 },\r
+  { 138,  0,  977 }, { 135, 11,  774 }, {   9, 11,  347 }, {  11, 11,   24 },\r
+  { 140, 11,  170 }, { 136, 11,  379 }, { 140, 10,  290 }, { 132, 11,  328 },\r
+  {   4,  0,  321 }, { 134,  0,  569 }, {   4, 11,  101 }, { 135, 11, 1171 },\r
+  {   7,  0,  723 }, {   7,  0, 1135 }, {   5, 11,  833 }, { 136, 11,  744 },\r
+  {   7, 10,  719 }, {   8, 10,  809 }, { 136, 10,  834 }, {   8,  0,  921 },\r
+  { 136, 10,  796 }, {   5, 10,  210 }, {   6, 10,  213 }, {   7, 10,   60 },\r
+  {  10, 10,  364 }, { 139, 10,  135 }, {   5,  0,  397 }, {   6,  0,  154 },\r
+  {   7,  0,  676 }, {   8,  0,  443 }, {   8,  0,  609 }, {   9,  0,   24 },\r
+  {   9,  0,  325 }, {  10,  0,   35 }, {  11,  0,  535 }, {  11,  0,  672 },\r
+  {  11,  0, 1018 }, {  12,  0,  637 }, {  16,  0,   30 }, {   5, 10,  607 },\r
+  {   8, 10,  326 }, { 136, 10,  490 }, {   4, 10,  701 }, {   5, 10,  472 },\r
+  {   6, 11,    9 }, {   6, 11,  397 }, {   7, 11,   53 }, {   7, 11, 1742 },\r
+  {   9, 10,  758 }, {  10, 11,  632 }, {  11, 11,  828 }, { 140, 11,  146 },\r
+  { 135, 10,  380 }, { 135, 10, 1947 }, { 148, 11,  109 }, {  10, 10,  278 },\r
+  { 138, 11,  278 }, { 134,  0,  856 }, {   7,  0,  139 }, {   4, 10,  386 },\r
+  {   8, 10,  405 }, {   8, 10,  728 }, {   9, 10,  497 }, {  11, 10,  110 },\r
+  {  11, 10,  360 }, {  15, 10,   37 }, { 144, 10,   84 }, { 141,  0,  282 },\r
+  { 133,  0,  981 }, {   5,  0,  288 }, {   7, 10, 1452 }, {   7, 10, 1480 },\r
+  {   8, 10,  634 }, { 140, 10,  472 }, {   7,  0, 1890 }, {   8, 11,  367 },\r
+  {  10, 11,  760 }, {  14, 11,   79 }, {  20, 11,   17 }, { 152, 11,    0 },\r
+  {   4, 10,  524 }, { 136, 10,  810 }, {   4,  0,   56 }, {   7,  0, 1791 },\r
+  {   8,  0,  607 }, {   8,  0,  651 }, {  11,  0,  465 }, {  11,  0,  835 },\r
+  {  12,  0,  337 }, { 141,  0,  480 }, {  10, 10,  238 }, { 141, 10,   33 },\r
+  {  11, 11,  417 }, {  12, 11,  223 }, { 140, 11,  265 }, {   9,  0,  158 },\r
+  {  10,  0,  411 }, { 140,  0,  261 }, { 133, 10,  532 }, { 133, 10,  997 },\r
+  {  12, 11,  186 }, {  12, 11,  292 }, {  14, 11,  100 }, { 146, 11,   70 },\r
+  {   6,  0, 1403 }, { 136,  0,  617 }, { 134,  0, 1205 }, { 139,  0,  563 },\r
+  {   4,  0,  242 }, { 134,  0,  333 }, {   4, 11,  186 }, {   5, 11,  157 },\r
+  {   8, 11,  168 }, { 138, 11,    6 }, { 132,  0,  369 }, { 133, 11,  875 },\r
+  {   5, 10,  782 }, {   5, 10,  829 }, { 134, 10, 1738 }, { 134,  0,  622 },\r
+  { 135, 11, 1272 }, {   6,  0, 1407 }, {   7, 11,  111 }, { 136, 11,  581 },\r
+  {   7, 10, 1823 }, { 139, 10,  693 }, {   7,  0,  160 }, {  10,  0,  624 },\r
+  { 142,  0,  279 }, { 132,  0,  363 }, {  10, 11,  589 }, {  12, 11,  111 },\r
+  {  13, 11,  260 }, {  14, 11,   82 }, {  18, 11,   63 }, { 147, 11,   45 },\r
+  {   7, 11, 1364 }, {   7, 11, 1907 }, { 141, 11,  158 }, {   4, 11,  404 },\r
+  {   4, 11,  659 }, { 135, 11,  675 }, {  13, 11,  211 }, {  14, 11,  133 },\r
+  {  14, 11,  204 }, {  15, 11,   64 }, {  15, 11,   69 }, {  15, 11,  114 },\r
+  {  16, 11,   10 }, {  19, 11,   23 }, {  19, 11,   35 }, {  19, 11,   39 },\r
+  {  19, 11,   51 }, {  19, 11,   71 }, {  19, 11,   75 }, { 152, 11,   15 },\r
+  {   4, 10,   78 }, {   5, 10,   96 }, {   5, 10,  182 }, {   7, 10, 1724 },\r
+  {   7, 10, 1825 }, {  10, 10,  394 }, {  10, 10,  471 }, {  11, 10,  532 },\r
+  {  14, 10,  340 }, { 145, 10,   88 }, { 135, 10, 1964 }, { 133, 11,  391 },\r
+  {  11, 11,  887 }, {  14, 11,  365 }, { 142, 11,  375 }, {   5, 11,  540 },\r
+  {   6, 11, 1697 }, {   7, 11,  222 }, { 136, 11,  341 }, { 134, 11,   78 },\r
+  {   9,  0,  601 }, {   9,  0,  619 }, {  10,  0,  505 }, {  10,  0,  732 },\r
+  {  11,  0,  355 }, { 140,  0,  139 }, { 134,  0,  292 }, { 139,  0,  174 },\r
+  {   5,  0,  177 }, {   6,  0,  616 }, {   7,  0,  827 }, {   9,  0,  525 },\r
+  { 138,  0,  656 }, {  10,  0,   31 }, {   6, 10,  215 }, {   7, 10, 1028 },\r
+  {   7, 10, 1473 }, {   7, 10, 1721 }, {   9, 10,  424 }, { 138, 10,  779 },\r
+  { 135, 10,  584 }, { 136, 11,  293 }, { 134,  0,  685 }, { 135, 11, 1868 },\r
+  { 133, 11,  460 }, {   7,  0,  647 }, {   6, 10,   67 }, {   7, 10, 1630 },\r
+  {   9, 10,  354 }, {   9, 10,  675 }, {  10, 10,  830 }, {  14, 10,   80 },\r
+  { 145, 10,   80 }, {   4,  0,  161 }, { 133,  0,  631 }, {   6, 10,  141 },\r
+  {   7, 10,  225 }, {   9, 10,   59 }, {   9, 10,  607 }, {  10, 10,  312 },\r
+  {  11, 10,  687 }, {  12, 10,  555 }, {  13, 10,  373 }, {  13, 10,  494 },\r
+  { 148, 10,   58 }, {   7, 11,  965 }, {   7, 11, 1460 }, { 135, 11, 1604 },\r
+  { 136, 10,  783 }, { 134, 11,  388 }, {   6,  0,  722 }, {   6,  0, 1267 },\r
+  {   4, 11,  511 }, {   9, 11,  333 }, {   9, 11,  379 }, {  10, 11,  602 },\r
+  {  11, 11,  441 }, {  11, 11,  723 }, {  11, 11,  976 }, { 140, 11,  357 },\r
+  { 134,  0, 1797 }, { 135,  0, 1684 }, {   9,  0,  469 }, {   9,  0,  709 },\r
+  {  12,  0,  512 }, {  14,  0,   65 }, {  17,  0,   12 }, {   5, 11,  938 },\r
+  { 136, 11,  707 }, {   7,  0, 1230 }, { 136,  0,  531 }, {  10,  0,  229 },\r
+  {  11,  0,   73 }, {  11,  0,  376 }, { 139,  0,  433 }, {  12,  0,  268 },\r
+  {  12,  0,  640 }, { 142,  0,  119 }, {   7, 10,  430 }, { 139, 10,   46 },\r
+  {   6,  0,  558 }, {   7,  0,  651 }, {   8,  0,  421 }, {   9,  0,    0 },\r
+  {  10,  0,   34 }, { 139,  0, 1008 }, {   6,  0,  106 }, {   7,  0, 1786 },\r
+  {   7,  0, 1821 }, {   9,  0,  102 }, {   9,  0,  763 }, {   5, 10,  602 },\r
+  {   7, 10, 2018 }, { 137, 10,  418 }, {   5,  0,   65 }, {   6,  0,  416 },\r
+  {   7,  0, 1720 }, {   7,  0, 1924 }, {  10,  0,  109 }, {  11,  0,   14 },\r
+  {  11,  0,   70 }, {  11,  0,  569 }, {  11,  0,  735 }, {  15,  0,  153 },\r
+  {  20,  0,   80 }, { 136, 10,  677 }, { 135, 11, 1625 }, { 137, 11,  772 },\r
+  { 136,  0,  595 }, {   6, 11,  469 }, {   7, 11, 1709 }, { 138, 11,  515 },\r
+  {   7,  0, 1832 }, { 138,  0,  374 }, {   9,  0,  106 }, {   9,  0,  163 },\r
+  {   9,  0,  296 }, {  10,  0,  167 }, {  10,  0,  172 }, {  10,  0,  777 },\r
+  { 139,  0,   16 }, {   6,  0,    6 }, {   7,  0,   81 }, {   7,  0,  771 },\r
+  {   7,  0, 1731 }, {   9,  0,  405 }, { 138,  0,  421 }, {   4, 11,  500 },\r
+  { 135, 11,  938 }, {   5, 11,   68 }, { 134, 11,  383 }, {   5,  0,  881 },\r
+  { 133,  0,  885 }, {   6,  0,  854 }, {   6,  0, 1132 }, {   6,  0, 1495 },\r
+  {   6,  0, 1526 }, {   6,  0, 1533 }, { 134,  0, 1577 }, {   4, 11,  337 },\r
+  {   6, 11,  353 }, {   7, 11, 1934 }, {   8, 11,  488 }, { 137, 11,  429 },\r
+  {   7, 11,  236 }, {   7, 11, 1795 }, {   8, 11,  259 }, {   9, 11,  135 },\r
+  {   9, 11,  177 }, {  10, 11,  825 }, {  11, 11,  115 }, {  11, 11,  370 },\r
+  {  11, 11,  405 }, {  11, 11,  604 }, {  12, 11,   10 }, {  12, 11,  667 },\r
+  {  12, 11,  669 }, {  13, 11,   76 }, {  14, 11,  310 }, {  15, 11,   76 },\r
+  {  15, 11,  147 }, { 148, 11,   23 }, {   5,  0,  142 }, { 134,  0,  546 },\r
+  {   4, 11,   15 }, {   5, 11,   22 }, {   6, 11,  244 }, {   7, 11,   40 },\r
+  {   7, 11,  200 }, {   7, 11,  906 }, {   7, 11, 1199 }, {   9, 11,  616 },\r
+  {  10, 11,  716 }, {  11, 11,  635 }, {  11, 11,  801 }, { 140, 11,  458 },\r
+  {   5,  0,  466 }, {  11,  0,  571 }, {  12,  0,  198 }, {  13,  0,  283 },\r
+  {  14,  0,  186 }, {  15,  0,   21 }, {  15,  0,  103 }, { 135, 10,  329 },\r
+  {   4,  0,  185 }, {   5,  0,  257 }, {   5,  0,  839 }, {   5,  0,  936 },\r
+  {   9,  0,  399 }, {  10,  0,  258 }, {  10,  0,  395 }, {  10,  0,  734 },\r
+  {  11,  0, 1014 }, {  12,  0,   23 }, {  13,  0,  350 }, {  14,  0,  150 },\r
+  {  19,  0,    6 }, { 135, 11, 1735 }, {  12, 11,   36 }, { 141, 11,  337 },\r
+  {   5, 11,  598 }, {   7, 11,  791 }, {   8, 11,  108 }, { 137, 11,  123 },\r
+  { 132, 10,  469 }, {   7,  0,  404 }, {   7,  0, 1377 }, {   7,  0, 1430 },\r
+  {   7,  0, 2017 }, {   8,  0,  149 }, {   8,  0,  239 }, {   8,  0,  512 },\r
+  {   8,  0,  793 }, {   8,  0,  818 }, {   9,  0,  474 }, {   9,  0,  595 },\r
+  {  10,  0,  122 }, {  10,  0,  565 }, {  10,  0,  649 }, {  10,  0,  783 },\r
+  {  11,  0,  239 }, {  11,  0,  295 }, {  11,  0,  447 }, {  11,  0,  528 },\r
+  {  11,  0,  639 }, {  11,  0,  800 }, {  12,  0,   25 }, {  12,  0,   77 },\r
+  {  12,  0,  157 }, {  12,  0,  256 }, {  12,  0,  316 }, {  12,  0,  390 },\r
+  {  12,  0,  391 }, {  12,  0,  395 }, {  12,  0,  478 }, {  12,  0,  503 },\r
+  {  12,  0,  592 }, {  12,  0,  680 }, {  13,  0,   50 }, {  13,  0,   53 },\r
+  {  13,  0,  132 }, {  13,  0,  198 }, {  13,  0,  322 }, {  13,  0,  415 },\r
+  {  13,  0,  511 }, {  14,  0,   71 }, {  14,  0,  395 }, {  15,  0,   71 },\r
+  {  15,  0,  136 }, {  17,  0,  123 }, {  18,  0,   93 }, { 147,  0,   58 },\r
+  { 136,  0,  712 }, { 134, 10, 1743 }, {   5, 10,  929 }, {   6, 10,  340 },\r
+  {   8, 10,  376 }, { 136, 10,  807 }, {   6,  0, 1848 }, {   8,  0,  860 },\r
+  {  10,  0,  856 }, {  10,  0,  859 }, {  10,  0,  925 }, {  10,  0,  941 },\r
+  { 140,  0,  762 }, {   6,  0,  629 }, {   6,  0,  906 }, {   9,  0,  810 },\r
+  { 140,  0,  652 }, {   5, 10,  218 }, {   7, 10, 1610 }, { 138, 10,   83 },\r
+  {   7, 10, 1512 }, { 135, 10, 1794 }, {   4,  0,  377 }, {  24,  0,   13 },\r
+  {   4, 11,  155 }, {   7, 11, 1689 }, {  11, 10,    0 }, { 144, 10,   78 },\r
+  {   4, 11,  164 }, {   5, 11,  151 }, {   5, 11,  730 }, {   5, 11,  741 },\r
+  {   7, 11,  498 }, {   7, 11,  870 }, {   7, 11, 1542 }, {  12, 11,  213 },\r
+  {  14, 11,   36 }, {  14, 11,  391 }, {  17, 11,  111 }, {  18, 11,    6 },\r
+  {  18, 11,   46 }, {  18, 11,  151 }, {  19, 11,   36 }, {  20, 11,   32 },\r
+  {  20, 11,   56 }, {  20, 11,   69 }, {  20, 11,  102 }, {  21, 11,    4 },\r
+  {  22, 11,    8 }, {  22, 11,   10 }, {  22, 11,   14 }, { 150, 11,   31 },\r
+  {   7,  0, 1842 }, { 133, 10,  571 }, {   4, 10,  455 }, {   4, 11,  624 },\r
+  { 135, 11, 1752 }, { 134,  0, 1501 }, {   4, 11,  492 }, {   5, 11,  451 },\r
+  {   6, 10,  161 }, {   7, 10,  372 }, { 137, 10,  597 }, { 132, 10,  349 },\r
+  {   4,  0,  180 }, { 135,  0, 1906 }, { 135, 11,  835 }, { 141, 11,   70 },\r
+  { 132,  0,  491 }, { 137, 10,  751 }, {   6, 10,  432 }, { 139, 10,  322 },\r
+  {   4,  0,  171 }, { 138,  0,  234 }, {   6, 11,  113 }, { 135, 11,  436 },\r
+  {   4,  0,  586 }, {   7,  0, 1186 }, { 138,  0,  631 }, {   5, 10,  468 },\r
+  {  10, 10,  325 }, {  11, 10,  856 }, {  12, 10,  345 }, { 143, 10,  104 },\r
+  {   5, 10,  223 }, {  10, 11,  592 }, {  10, 11,  753 }, {  12, 11,  317 },\r
+  {  12, 11,  355 }, {  12, 11,  465 }, {  12, 11,  469 }, {  12, 11,  560 },\r
+  {  12, 11,  578 }, { 141, 11,  243 }, { 132, 10,  566 }, { 135, 11,  520 },\r
+  {   4, 10,   59 }, { 135, 10, 1394 }, {   6, 10,  436 }, { 139, 10,  481 },\r
+  {   9,  0,  931 }, {  10,  0,  334 }, {  20,  0,   71 }, {   4, 10,   48 },\r
+  {   5, 10,  271 }, {   7, 10,  953 }, { 135, 11, 1878 }, {  11,  0,  170 },\r
+  {   5, 10,  610 }, { 136, 10,  457 }, { 133, 10,  755 }, {   6,  0, 1587 },\r
+  { 135, 10, 1217 }, {   4, 10,  197 }, { 149, 11,   26 }, { 133, 11,  585 },\r
+  { 137, 11,  521 }, { 133,  0,  765 }, { 133, 10,  217 }, { 139, 11,  586 },\r
+  { 133,  0,  424 }, {   9, 11,  752 }, {  12, 11,  610 }, {  13, 11,  431 },\r
+  {  16, 11,   59 }, { 146, 11,  109 }, { 136,  0,  714 }, {   7,  0,  685 },\r
+  { 132, 11,  307 }, {   9,  0,  420 }, {  10,  0,  269 }, {  10,  0,  285 },\r
+  {  10,  0,  576 }, {  11,  0,  397 }, {  13,  0,  175 }, { 145,  0,   90 },\r
+  { 132,  0,  429 }, { 133, 11,  964 }, {   9, 11,  463 }, { 138, 11,  595 },\r
+  {   7,  0,   18 }, {   7,  0,  699 }, {   7,  0, 1966 }, {   8,  0,  752 },\r
+  {   9,  0,  273 }, {   9,  0,  412 }, {   9,  0,  703 }, {  10,  0,   71 },\r
+  {  10,  0,  427 }, { 138,  0,  508 }, {   4, 10,  165 }, {   7, 10, 1398 },\r
+  { 135, 10, 1829 }, {   4,  0,   53 }, {   5,  0,  186 }, {   7,  0,  752 },\r
+  {   7,  0,  828 }, { 142,  0,  116 }, {   8,  0,  575 }, {  10,  0,  289 },\r
+  { 139,  0,  319 }, { 132,  0,  675 }, { 134,  0, 1424 }, {   4, 11,   75 },\r
+  {   5, 11,  180 }, {   6, 11,  500 }, {   7, 11,   58 }, {   7, 11,  710 },\r
+  { 138, 11,  645 }, { 133, 11,  649 }, {   6, 11,  276 }, {   7, 11,  282 },\r
+  {   7, 11,  879 }, {   7, 11,  924 }, {   8, 11,  459 }, {   9, 11,  599 },\r
+  {   9, 11,  754 }, {  11, 11,  574 }, {  12, 11,  128 }, {  12, 11,  494 },\r
+  {  13, 11,   52 }, {  13, 11,  301 }, {  15, 11,   30 }, { 143, 11,  132 },\r
+  {   6,  0,  647 }, { 134,  0, 1095 }, {   5, 10,    9 }, {   7, 10,  297 },\r
+  {   7, 10,  966 }, { 140, 10,  306 }, { 132, 11,  200 }, { 134,  0, 1334 },\r
+  {   5, 10,  146 }, {   6, 10,  411 }, { 138, 10,  721 }, {   6,  0,  209 },\r
+  {   6,  0, 1141 }, {   6,  0, 1288 }, {   8,  0,  468 }, {   9,  0,  210 },\r
+  {  11,  0,   36 }, {  12,  0,   28 }, {  12,  0,  630 }, {  13,  0,   21 },\r
+  {  13,  0,  349 }, {  14,  0,    7 }, { 145,  0,   13 }, {   6, 10,  177 },\r
+  { 135, 10,  467 }, {   4,  0,  342 }, { 135,  0, 1179 }, {  10, 11,  454 },\r
+  { 140, 11,  324 }, {   4,  0,  928 }, { 133,  0,  910 }, {   7,  0, 1838 },\r
+  {   6, 11,  225 }, { 137, 11,  211 }, {  16,  0,  101 }, {  20,  0,  115 },\r
+  {  20,  0,  118 }, { 148,  0,  122 }, {   4,  0,  496 }, { 135,  0,  856 },\r
+  {   4,  0,  318 }, {  11,  0,  654 }, {   7, 11,  718 }, { 139, 11,  102 },\r
+  {   8, 11,   58 }, {   9, 11,  724 }, {  11, 11,  809 }, {  13, 11,  113 },\r
+  { 145, 11,   72 }, {   5, 10,  200 }, {   6, 11,  345 }, { 135, 11, 1247 },\r
+  {   8, 11,  767 }, {   8, 11,  803 }, {   9, 11,  301 }, { 137, 11,  903 },\r
+  {   7,  0,  915 }, {   8,  0,  247 }, {  19,  0,    0 }, {   7, 11, 1949 },\r
+  { 136, 11,  674 }, {   4,  0,  202 }, {   5,  0,  382 }, {   6,  0,  454 },\r
+  {   7,  0,  936 }, {   7,  0, 1803 }, {   8,  0,  758 }, {   9,  0,  375 },\r
+  {   9,  0,  895 }, {  10,  0,  743 }, {  10,  0,  792 }, {  11,  0,  978 },\r
+  {  11,  0, 1012 }, { 142,  0,  109 }, {   7,  0, 1150 }, {   7,  0, 1425 },\r
+  {   7,  0, 1453 }, { 140,  0,  513 }, { 134, 11,  259 }, { 138,  0,  791 },\r
+  {  11,  0,  821 }, {  12,  0,  110 }, {  12,  0,  153 }, {  18,  0,   41 },\r
+  { 150,  0,   19 }, { 134, 10,  481 }, { 132,  0,  796 }, {   6,  0,  445 },\r
+  {   9,  0,  909 }, { 136, 11,  254 }, {  10,  0,  776 }, {  13,  0,  345 },\r
+  { 142,  0,  425 }, {   4, 10,   84 }, {   7, 10, 1482 }, {  10, 10,   76 },\r
+  { 138, 10,  142 }, { 135, 11,  742 }, {   6,  0,  578 }, { 133, 10, 1015 },\r
+  {   6,  0, 1387 }, {   4, 10,  315 }, {   5, 10,  507 }, { 135, 10, 1370 },\r
+  {   4,  0,  438 }, { 133,  0,  555 }, { 136,  0,  766 }, { 133, 11,  248 },\r
+  { 134, 10, 1722 }, {   4, 11,  116 }, {   5, 11,   95 }, {   5, 11,  445 },\r
+  {   7, 11, 1688 }, {   8, 11,   29 }, {   9, 11,  272 }, {  11, 11,  509 },\r
+  { 139, 11,  915 }, { 135,  0,  541 }, { 133, 11,  543 }, {   8, 10,  222 },\r
+  {   8, 10,  476 }, {   9, 10,  238 }, {  11, 10,  516 }, {  11, 10,  575 },\r
+  {  15, 10,  109 }, { 146, 10,  100 }, {   6,  0,  880 }, { 134,  0, 1191 },\r
+  {   5, 11,  181 }, { 136, 11,   41 }, { 134,  0, 1506 }, { 132, 11,  681 },\r
+  {   7, 11,   25 }, {   8, 11,  202 }, { 138, 11,  536 }, { 139,  0,  983 },\r
+  { 137,  0,  768 }, { 132,  0,  584 }, {   9, 11,  423 }, { 140, 11,   89 },\r
+  {   8, 11,  113 }, {   9, 11,  877 }, {  10, 11,  554 }, {  11, 11,   83 },\r
+  {  12, 11,  136 }, { 147, 11,  109 }, {   7, 10,  706 }, {   7, 10, 1058 },\r
+  { 138, 10,  538 }, { 133, 11,  976 }, {   4, 11,  206 }, { 135, 11,  746 },\r
+  { 136, 11,  526 }, { 140,  0,  737 }, {  11, 10,   92 }, {  11, 10,  196 },\r
+  {  11, 10,  409 }, {  11, 10,  450 }, {  11, 10,  666 }, {  11, 10,  777 },\r
+  {  12, 10,  262 }, {  13, 10,  385 }, {  13, 10,  393 }, {  15, 10,  115 },\r
+  {  16, 10,   45 }, { 145, 10,   82 }, {   4,  0,  226 }, {   4,  0,  326 },\r
+  {   7,  0, 1770 }, {   4, 11,  319 }, {   5, 11,  699 }, { 138, 11,  673 },\r
+  {   6, 10,   40 }, { 135, 10, 1781 }, {   5,  0,  426 }, {   8,  0,   30 },\r
+  {   9,  0,    2 }, {  11,  0,  549 }, { 147,  0,  122 }, {   6,  0, 1161 },\r
+  { 134,  0, 1329 }, { 138, 10,   97 }, {   6, 10,  423 }, {   7, 10,  665 },\r
+  { 135, 10, 1210 }, {   7, 11,   13 }, {   8, 11,  226 }, {  10, 11,  537 },\r
+  {  11, 11,  570 }, {  11, 11,  605 }, {  11, 11,  799 }, {  11, 11,  804 },\r
+  {  12, 11,   85 }, {  12, 11,  516 }, {  12, 11,  623 }, {  13, 11,  112 },\r
+  {  13, 11,  361 }, {  14, 11,   77 }, {  14, 11,   78 }, {  17, 11,   28 },\r
+  { 147, 11,  110 }, { 132, 11,  769 }, { 132, 11,  551 }, { 132, 11,  728 },\r
+  { 147,  0,  117 }, {   9, 11,   57 }, {   9, 11,  459 }, {  10, 11,  425 },\r
+  {  11, 11,  119 }, {  12, 11,  184 }, {  12, 11,  371 }, {  13, 11,  358 },\r
+  { 145, 11,   51 }, {   5, 11,  188 }, {   5, 11,  814 }, {   8, 11,   10 },\r
+  {   9, 11,  421 }, {   9, 11,  729 }, {  10, 11,  609 }, { 139, 11,  689 },\r
+  { 134, 11,  624 }, { 135, 11,  298 }, { 135,  0,  462 }, {   4,  0,  345 },\r
+  { 139, 10,  624 }, { 136, 10,  574 }, {   4,  0,  385 }, {   7,  0,  265 },\r
+  { 135,  0,  587 }, {   6,  0,  808 }, { 132, 11,  528 }, { 133,  0,  398 },\r
+  { 132, 10,  354 }, {   4,  0,  347 }, {   5,  0,  423 }, {   5,  0,  996 },\r
+  { 135,  0, 1329 }, { 135, 10, 1558 }, {   7,  0, 1259 }, {   9,  0,  125 },\r
+  { 139,  0,   65 }, {   5,  0,  136 }, {   6,  0,  136 }, { 136,  0,  644 },\r
+  {   5, 11,  104 }, {   6, 11,  173 }, { 135, 11, 1631 }, { 135,  0,  469 },\r
+  { 133, 10,  830 }, {   4,  0,  278 }, {   5,  0,  465 }, { 135,  0, 1367 },\r
+  {   7, 11,  810 }, {   8, 11,  138 }, {   8, 11,  342 }, {   9, 11,   84 },\r
+  {  10, 11,  193 }, {  11, 11,  883 }, { 140, 11,  359 }, {   5, 10,  496 },\r
+  { 135, 10,  203 }, {   4,  0,  433 }, { 133,  0,  719 }, {   6, 11,   95 },\r
+  { 134, 10,  547 }, {   5, 10,   88 }, { 137, 10,  239 }, {   6, 11,  406 },\r
+  {  10, 11,  409 }, {  10, 11,  447 }, {  11, 11,   44 }, { 140, 11,  100 },\r
+  { 134,  0, 1423 }, {   7, 10,  650 }, { 135, 10, 1310 }, { 134,  0,  749 },\r
+  { 135, 11, 1243 }, { 135,  0, 1363 }, {   6,  0,  381 }, {   7,  0,  645 },\r
+  {   7,  0,  694 }, {   8,  0,  546 }, {   7, 10, 1076 }, {   9, 10,   80 },\r
+  {  11, 10,   78 }, {  11, 10,  421 }, {  11, 10,  534 }, { 140, 10,  545 },\r
+  { 134, 11, 1636 }, { 135, 11, 1344 }, {  12,  0,  277 }, {   7, 10,  274 },\r
+  {  11, 10,  479 }, { 139, 10,  507 }, {   6,  0,  705 }, {   6,  0,  783 },\r
+  {   6,  0, 1275 }, {   6,  0, 1481 }, {   4, 11,  282 }, {   7, 11, 1034 },\r
+  {  11, 11,  398 }, {  11, 11,  634 }, {  12, 11,    1 }, {  12, 11,   79 },\r
+  {  12, 11,  544 }, {  14, 11,  237 }, {  17, 11,   10 }, { 146, 11,   20 },\r
+  { 134,  0,  453 }, {   4,  0,  555 }, {   8,  0,  536 }, {  10,  0,  288 },\r
+  {  11,  0, 1005 }, {   4, 10,  497 }, { 135, 10, 1584 }, {   5, 11,  118 },\r
+  {   5, 11,  499 }, {   6, 11,  476 }, {   7, 11,  600 }, {   7, 11,  888 },\r
+  { 135, 11, 1096 }, { 138,  0,  987 }, {   7,  0, 1107 }, {   7, 10,  261 },\r
+  {   7, 10, 1115 }, {   7, 10, 1354 }, {   7, 10, 1588 }, {   7, 10, 1705 },\r
+  {   7, 10, 1902 }, {   9, 10,  465 }, {  10, 10,  248 }, {  10, 10,  349 },\r
+  {  10, 10,  647 }, {  11, 10,  527 }, {  11, 10,  660 }, {  11, 10,  669 },\r
+  {  12, 10,  529 }, { 141, 10,  305 }, {   7, 11,  296 }, {   7, 11,  596 },\r
+  {   8, 11,  560 }, {   8, 11,  586 }, {   9, 11,  612 }, {  11, 11,  100 },\r
+  {  11, 11,  304 }, {  12, 11,   46 }, {  13, 11,   89 }, {  14, 11,  112 },\r
+  { 145, 11,  122 }, {   9,  0,  370 }, { 138,  0,   90 }, { 136, 10,   13 },\r
+  { 132,  0,  860 }, {   7, 10,  642 }, {   8, 10,  250 }, {  11, 10,  123 },\r
+  {  11, 10,  137 }, {  13, 10,   48 }, { 142, 10,   95 }, { 135, 10, 1429 },\r
+  { 137, 11,  321 }, { 132,  0,  257 }, { 135,  0, 2031 }, {   7,  0, 1768 },\r
+  {   7, 11, 1599 }, {   7, 11, 1723 }, {   8, 11,   79 }, {   8, 11,  106 },\r
+  {   8, 11,  190 }, {   8, 11,  302 }, {   8, 11,  383 }, {   9, 11,  119 },\r
+  {   9, 11,  233 }, {   9, 11,  298 }, {   9, 11,  419 }, {   9, 11,  471 },\r
+  {  10, 11,  181 }, {  10, 11,  406 }, {  11, 11,   57 }, {  11, 11,   85 },\r
+  {  11, 11,  120 }, {  11, 11,  177 }, {  11, 11,  296 }, {  11, 11,  382 },\r
+  {  11, 11,  454 }, {  11, 11,  758 }, {  11, 11,  999 }, {  12, 11,   27 },\r
+  {  12, 11,   98 }, {  12, 11,  131 }, {  12, 11,  245 }, {  12, 11,  312 },\r
+  {  12, 11,  446 }, {  12, 11,  454 }, {  13, 11,   25 }, {  13, 11,   98 },\r
+  {  13, 11,  426 }, {  13, 11,  508 }, {  14, 11,    6 }, {  14, 11,  163 },\r
+  {  14, 11,  272 }, {  14, 11,  277 }, {  14, 11,  370 }, {  15, 11,   95 },\r
+  {  15, 11,  138 }, {  15, 11,  167 }, {  17, 11,   18 }, {  17, 11,   38 },\r
+  {  20, 11,   96 }, { 149, 11,   32 }, {   5, 11,  722 }, { 134, 11, 1759 },\r
+  { 145, 11,   16 }, {   6,  0, 1071 }, { 134,  0, 1561 }, {  10, 10,  545 },\r
+  { 140, 10,  301 }, {   6,  0,   83 }, {   6,  0, 1733 }, { 135,  0, 1389 },\r
+  {   4,  0,  835 }, { 135,  0, 1818 }, { 133, 11,  258 }, {   4, 10,  904 },\r
+  { 133, 10,  794 }, { 134,  0, 2006 }, {   5, 11,   30 }, {   7, 11,  495 },\r
+  {   8, 11,  134 }, {   9, 11,  788 }, { 140, 11,  438 }, { 135, 11, 2004 },\r
+  { 137,  0,  696 }, {   5, 11,   50 }, {   6, 11,  439 }, {   7, 11,  780 },\r
+  { 135, 11, 1040 }, {   7, 11,  772 }, {   7, 11, 1104 }, {   7, 11, 1647 },\r
+  {  11, 11,  269 }, {  11, 11,  539 }, {  11, 11,  607 }, {  11, 11,  627 },\r
+  {  11, 11,  706 }, {  11, 11,  975 }, {  12, 11,  248 }, {  12, 11,  311 },\r
+  {  12, 11,  434 }, {  12, 11,  600 }, {  12, 11,  622 }, {  13, 11,  297 },\r
+  {  13, 11,  367 }, {  13, 11,  485 }, {  14, 11,   69 }, {  14, 11,  409 },\r
+  { 143, 11,  108 }, {   5, 11,    1 }, {   6, 11,   81 }, { 138, 11,  520 },\r
+  {   7,  0, 1718 }, {   9,  0,   95 }, {   9,  0,  274 }, {  10,  0,  279 },\r
+  {  10,  0,  317 }, {  10,  0,  420 }, {  11,  0,  303 }, {  11,  0,  808 },\r
+  {  12,  0,  134 }, {  12,  0,  367 }, {  13,  0,  149 }, {  13,  0,  347 },\r
+  {  14,  0,  349 }, {  14,  0,  406 }, {  18,  0,   22 }, {  18,  0,   89 },\r
+  {  18,  0,  122 }, { 147,  0,   47 }, {   5, 11,  482 }, {   8, 11,   98 },\r
+  {   9, 11,  172 }, {  10, 11,  222 }, {  10, 11,  700 }, {  10, 11,  822 },\r
+  {  11, 11,  302 }, {  11, 11,  778 }, {  12, 11,   50 }, {  12, 11,  127 },\r
+  {  12, 11,  396 }, {  13, 11,   62 }, {  13, 11,  328 }, {  14, 11,  122 },\r
+  { 147, 11,   72 }, {   7, 10,  386 }, { 138, 10,  713 }, {   6, 10,    7 },\r
+  {   6, 10,   35 }, {   7, 10,  147 }, {   7, 10, 1069 }, {   7, 10, 1568 },\r
+  {   7, 10, 1575 }, {   7, 10, 1917 }, {   8, 10,   43 }, {   8, 10,  208 },\r
+  {   9, 10,  128 }, {   9, 10,  866 }, {  10, 10,   20 }, {  11, 10,  981 },\r
+  { 147, 10,   33 }, { 133,  0,   26 }, { 132,  0,  550 }, {   5, 11,    2 },\r
+  {   7, 11, 1494 }, { 136, 11,  589 }, {   6, 11,  512 }, {   7, 11,  797 },\r
+  {   8, 11,  253 }, {   9, 11,   77 }, {  10, 11,    1 }, {  10, 11,  129 },\r
+  {  10, 11,  225 }, {  11, 11,  118 }, {  11, 11,  226 }, {  11, 11,  251 },\r
+  {  11, 11,  430 }, {  11, 11,  701 }, {  11, 11,  974 }, {  11, 11,  982 },\r
+  {  12, 11,   64 }, {  12, 11,  260 }, {  12, 11,  488 }, { 140, 11,  690 },\r
+  {   7, 10,  893 }, { 141, 10,  424 }, { 134,  0,  901 }, { 136,  0,  822 },\r
+  {   4,  0,  902 }, {   5,  0,  809 }, { 134,  0,  122 }, {   6,  0,  807 },\r
+  { 134,  0, 1366 }, {   7,  0,  262 }, {   5, 11,  748 }, { 134, 11,  553 },\r
+  { 133,  0,  620 }, {   4,  0,   34 }, {   5,  0,  574 }, {   7,  0,  279 },\r
+  {   7,  0, 1624 }, { 136,  0,  601 }, {   9,  0,  170 }, {   6, 10,  322 },\r
+  {   9, 10,  552 }, {  11, 10,  274 }, {  13, 10,  209 }, {  13, 10,  499 },\r
+  {  14, 10,   85 }, {  15, 10,  126 }, { 145, 10,   70 }, { 132,  0,  537 },\r
+  {   4, 11,   12 }, {   7, 11,  420 }, {   7, 11,  522 }, {   7, 11,  809 },\r
+  {   8, 11,  797 }, { 141, 11,   88 }, { 133,  0,  332 }, {   8, 10,   83 },\r
+  {   8, 10,  742 }, {   8, 10,  817 }, {   9, 10,   28 }, {   9, 10,   29 },\r
+  {   9, 10,  885 }, {  10, 10,  387 }, {  11, 10,  633 }, {  11, 10,  740 },\r
+  {  13, 10,  235 }, {  13, 10,  254 }, {  15, 10,  143 }, { 143, 10,  146 },\r
+  {   6,  0, 1909 }, {   9,  0,  964 }, {  12,  0,  822 }, {  12,  0,  854 },\r
+  {  12,  0,  865 }, {  12,  0,  910 }, {  12,  0,  938 }, {  15,  0,  169 },\r
+  {  15,  0,  208 }, {  15,  0,  211 }, {  18,  0,  205 }, {  18,  0,  206 },\r
+  {  18,  0,  220 }, {  18,  0,  223 }, { 152,  0,   24 }, { 140, 10,   49 },\r
+  {   5, 11,  528 }, { 135, 11, 1580 }, {   6,  0,  261 }, {   8,  0,  182 },\r
+  { 139,  0,  943 }, { 134,  0, 1721 }, {   4,  0,  933 }, { 133,  0,  880 },\r
+  { 136, 11,  321 }, {   5, 11,  266 }, {   9, 11,  290 }, {   9, 11,  364 },\r
+  {  10, 11,  293 }, {  11, 11,  606 }, { 142, 11,   45 }, {   6,  0, 1609 },\r
+  {   4, 11,   50 }, {   6, 11,  510 }, {   6, 11,  594 }, {   9, 11,  121 },\r
+  {  10, 11,   49 }, {  10, 11,  412 }, { 139, 11,  834 }, {   7,  0,  895 },\r
+  { 136, 11,  748 }, { 132, 11,  466 }, {   4, 10,  110 }, {  10, 10,  415 },\r
+  {  10, 10,  597 }, { 142, 10,  206 }, { 133,  0,  812 }, { 135, 11,  281 },\r
+  {   6,  0, 1890 }, {   6,  0, 1902 }, {   6,  0, 1916 }, {   9,  0,  929 },\r
+  {   9,  0,  942 }, {   9,  0,  975 }, {   9,  0,  984 }, {   9,  0,  986 },\r
+  {   9,  0, 1011 }, {   9,  0, 1019 }, {  12,  0,  804 }, {  12,  0,  851 },\r
+  {  12,  0,  867 }, {  12,  0,  916 }, {  12,  0,  923 }, {  15,  0,  194 },\r
+  {  15,  0,  204 }, {  15,  0,  210 }, {  15,  0,  222 }, {  15,  0,  223 },\r
+  {  15,  0,  229 }, {  15,  0,  250 }, {  18,  0,  179 }, {  18,  0,  186 },\r
+  {  18,  0,  192 }, {   7, 10,  205 }, { 135, 10, 2000 }, { 132, 11,  667 },\r
+  { 135,  0,  778 }, {   4,  0,  137 }, {   7,  0, 1178 }, { 135,  0, 1520 },\r
+  { 134,  0, 1314 }, {   4, 11,  242 }, { 134, 11,  333 }, {   6,  0, 1661 },\r
+  {   7,  0, 1975 }, {   7,  0, 2009 }, { 135,  0, 2011 }, { 134,  0, 1591 },\r
+  {   4, 10,  283 }, { 135, 10, 1194 }, {  11,  0,  820 }, { 150,  0,   51 },\r
+  {   4, 11,   39 }, {   5, 11,   36 }, {   7, 11, 1843 }, {   8, 11,  407 },\r
+  {  11, 11,  144 }, { 140, 11,  523 }, { 134, 10, 1720 }, {   4, 11,  510 },\r
+  {   7, 11,   29 }, {   7, 11,   66 }, {   7, 11, 1980 }, {  10, 11,  487 },\r
+  {  10, 11,  809 }, { 146, 11,    9 }, {   5,  0,   89 }, {   7,  0, 1915 },\r
+  {   9,  0,  185 }, {   9,  0,  235 }, {  10,  0,   64 }, {  10,  0,  270 },\r
+  {  10,  0,  403 }, {  10,  0,  469 }, {  10,  0,  529 }, {  10,  0,  590 },\r
+  {  11,  0,  140 }, {  11,  0,  860 }, {  13,  0,    1 }, {  13,  0,  422 },\r
+  {  14,  0,  341 }, {  14,  0,  364 }, {  17,  0,   93 }, {  18,  0,  113 },\r
+  {  19,  0,   97 }, { 147,  0,  113 }, { 133,  0,  695 }, {   6,  0,  987 },\r
+  { 134,  0, 1160 }, {   5,  0,    6 }, {   6,  0,  183 }, {   7,  0,  680 },\r
+  {   7,  0,  978 }, {   7,  0, 1013 }, {   7,  0, 1055 }, {  12,  0,  230 },\r
+  {  13,  0,  172 }, { 146,  0,   29 }, { 134, 11,  570 }, { 132, 11,  787 },\r
+  { 134, 11,  518 }, {   6,  0,   29 }, { 139,  0,   63 }, { 132, 11,  516 },\r
+  { 136, 11,  821 }, { 132,  0,  311 }, { 134,  0, 1740 }, {   7,  0,  170 },\r
+  {   8,  0,   90 }, {   8,  0,  177 }, {   8,  0,  415 }, {  11,  0,  714 },\r
+  {  14,  0,  281 }, { 136, 10,  735 }, { 134,  0, 1961 }, { 135, 11, 1405 },\r
+  {   4, 11,   10 }, {   7, 11,  917 }, { 139, 11,  786 }, {   5, 10,  132 },\r
+  {   9, 10,  486 }, {   9, 10,  715 }, {  10, 10,  458 }, {  11, 10,  373 },\r
+  {  11, 10,  668 }, {  11, 10,  795 }, {  11, 10,  897 }, {  12, 10,  272 },\r
+  {  12, 10,  424 }, {  12, 10,  539 }, {  12, 10,  558 }, {  14, 10,  245 },\r
+  {  14, 10,  263 }, {  14, 10,  264 }, {  14, 10,  393 }, { 142, 10,  403 },\r
+  {  11,  0,   91 }, {  13,  0,  129 }, {  15,  0,  101 }, { 145,  0,  125 },\r
+  { 135,  0, 1132 }, {   4,  0,  494 }, {   6,  0,   74 }, {   7,  0,   44 },\r
+  {   7,  0,  407 }, {  12,  0,   17 }, {  15,  0,    5 }, { 148,  0,   11 },\r
+  { 133, 10,  379 }, {   5,  0,  270 }, {   5, 11,  684 }, {   6, 10,   89 },\r
+  {   6, 10,  400 }, {   7, 10, 1569 }, {   7, 10, 1623 }, {   7, 10, 1850 },\r
+  {   8, 10,  218 }, {   8, 10,  422 }, {   9, 10,  570 }, { 138, 10,  626 },\r
+  {   4,  0,  276 }, { 133,  0,  296 }, {   6,  0, 1523 }, { 134, 11,   27 },\r
+  {   6, 10,  387 }, {   7, 10,  882 }, { 141, 10,  111 }, {   6, 10,  224 },\r
+  {   7, 10,  877 }, { 137, 10,  647 }, { 135, 10,  790 }, {   4,  0,    7 },\r
+  {   5,  0,   90 }, {   5,  0,  158 }, {   6,  0,  542 }, {   7,  0,  221 },\r
+  {   7,  0, 1574 }, {   9,  0,  490 }, {  10,  0,  540 }, {  11,  0,  443 },\r
+  { 139,  0,  757 }, {   7,  0,  588 }, {   9,  0,  175 }, { 138,  0,  530 },\r
+  { 135, 10,  394 }, { 142, 11,   23 }, { 134,  0,  786 }, { 135,  0,  580 },\r
+  {   7,  0,   88 }, { 136,  0,  627 }, {   5,  0,  872 }, {   6,  0,   57 },\r
+  {   7,  0,  471 }, {   9,  0,  447 }, { 137,  0,  454 }, {   6, 11,  342 },\r
+  {   6, 11,  496 }, {   8, 11,  275 }, { 137, 11,  206 }, {   4, 11,  909 },\r
+  { 133, 11,  940 }, {   6,  0,  735 }, { 132, 11,  891 }, {   8,  0,  845 },\r
+  {   8,  0,  916 }, { 135, 10, 1409 }, {   5,  0,   31 }, { 134,  0,  614 },\r
+  {  11,  0,  458 }, {  12,  0,   15 }, { 140,  0,  432 }, {   8,  0,  330 },\r
+  { 140,  0,  477 }, {   4,  0,  530 }, {   5,  0,  521 }, {   7,  0, 1200 },\r
+  {  10,  0,  460 }, { 132, 11,  687 }, {   6,  0,  424 }, { 135,  0, 1866 },\r
+  {   9,  0,  569 }, {  12,  0,   12 }, {  12,  0,   81 }, {  12,  0,  319 },\r
+  {  13,  0,   69 }, {  14,  0,  259 }, {  16,  0,   87 }, {  17,  0,    1 },\r
+  {  17,  0,   21 }, {  17,  0,   24 }, {  18,  0,   15 }, {  18,  0,   56 },\r
+  {  18,  0,   59 }, {  18,  0,  127 }, {  18,  0,  154 }, {  19,  0,   19 },\r
+  { 148,  0,   31 }, {   7,  0, 1302 }, { 136, 10,   38 }, { 134, 11,  253 },\r
+  {   5, 10,  261 }, {   7, 10,   78 }, {   7, 10,  199 }, {   8, 10,  815 },\r
+  {   9, 10,  126 }, { 138, 10,  342 }, {   5,  0,  595 }, { 135,  0, 1863 },\r
+  {   6, 11,   41 }, { 141, 11,  160 }, {   5,  0,   13 }, { 134,  0,  142 },\r
+  {   6,  0,   97 }, {   7,  0,  116 }, {   8,  0,  322 }, {   8,  0,  755 },\r
+  {   9,  0,  548 }, {  10,  0,  714 }, {  11,  0,  884 }, {  13,  0,  324 },\r
+  {   7, 11, 1304 }, { 138, 11,  477 }, { 132, 10,  628 }, { 134, 11, 1718 },\r
+  {   7, 10,  266 }, { 136, 10,  804 }, { 135, 10,  208 }, {   7,  0, 1021 },\r
+  {   6, 10,   79 }, { 135, 10, 1519 }, {   7,  0, 1472 }, { 135,  0, 1554 },\r
+  {   6, 11,  362 }, { 146, 11,   51 }, {   7,  0, 1071 }, {   7,  0, 1541 },\r
+  {   7,  0, 1767 }, {   7,  0, 1806 }, {  11,  0,  162 }, {  11,  0,  242 },\r
+  {  11,  0,  452 }, {  12,  0,  605 }, {  15,  0,   26 }, { 144,  0,   44 },\r
+  { 136, 10,  741 }, { 133, 11,  115 }, { 145,  0,  115 }, { 134, 10,  376 },\r
+  {   6,  0, 1406 }, { 134,  0, 1543 }, {   5, 11,  193 }, {  12, 11,  178 },\r
+  {  13, 11,  130 }, { 145, 11,   84 }, { 135,  0, 1111 }, {   8,  0,    1 },\r
+  {   9,  0,  650 }, {  10,  0,  326 }, {   5, 11,  705 }, { 137, 11,  606 },\r
+  {   5,  0,  488 }, {   6,  0,  527 }, {   7,  0,  489 }, {   7,  0, 1636 },\r
+  {   8,  0,  121 }, {   8,  0,  144 }, {   8,  0,  359 }, {   9,  0,  193 },\r
+  {   9,  0,  241 }, {   9,  0,  336 }, {   9,  0,  882 }, {  11,  0,  266 },\r
+  {  11,  0,  372 }, {  11,  0,  944 }, {  12,  0,  401 }, { 140,  0,  641 },\r
+  { 135, 11,  174 }, {   6,  0,  267 }, {   7, 10,  244 }, {   7, 10,  632 },\r
+  {   7, 10, 1609 }, {   8, 10,  178 }, {   8, 10,  638 }, { 141, 10,   58 },\r
+  { 134,  0, 1983 }, { 134,  0, 1155 }, { 134,  0, 1575 }, { 134,  0, 1438 },\r
+  {   9,  0,   31 }, {  10,  0,  244 }, {  10,  0,  699 }, {  12,  0,  149 },\r
+  { 141,  0,  497 }, { 133,  0,  377 }, {   4, 11,  122 }, {   5, 11,  796 },\r
+  {   5, 11,  952 }, {   6, 11, 1660 }, {   6, 11, 1671 }, {   8, 11,  567 },\r
+  {   9, 11,  687 }, {   9, 11,  742 }, {  10, 11,  686 }, {  11, 11,  356 },\r
+  {  11, 11,  682 }, { 140, 11,  281 }, { 145,  0,  101 }, {  11, 11,    0 },\r
+  { 144, 11,   78 }, {   5, 11,  179 }, {   5, 10,  791 }, {   7, 11, 1095 },\r
+  { 135, 11, 1213 }, {   8, 11,  372 }, {   9, 11,  122 }, { 138, 11,  175 },\r
+  {   7, 10,  686 }, {   8, 10,   33 }, {   8, 10,  238 }, {  10, 10,  616 },\r
+  {  11, 10,  467 }, {  11, 10,  881 }, {  13, 10,  217 }, {  13, 10,  253 },\r
+  { 142, 10,  268 }, {   9,  0,  476 }, {   4, 11,   66 }, {   7, 11,  722 },\r
+  { 135, 11,  904 }, {   7, 11,  352 }, { 137, 11,  684 }, { 135,  0, 2023 },\r
+  { 135,  0, 1836 }, { 132, 10,  447 }, {   5,  0,  843 }, { 144,  0,   35 },\r
+  { 137, 11,  779 }, { 141, 11,   35 }, {   4, 10,  128 }, {   5, 10,  415 },\r
+  {   6, 10,  462 }, {   7, 10,  294 }, {   7, 10,  578 }, {  10, 10,  710 },\r
+  { 139, 10,   86 }, { 132,  0,  554 }, { 133,  0,  536 }, { 136, 10,  587 },\r
+  {   5,  0,  207 }, {   9,  0,   79 }, {  11,  0,  625 }, { 145,  0,    7 },\r
+  {   7,  0, 1371 }, {   6, 10,  427 }, { 138, 10,  692 }, {   4,  0,  424 },\r
+  {   4, 10,  195 }, { 135, 10,  802 }, {   8,  0,  785 }, { 133, 11,  564 },\r
+  { 135,  0,  336 }, {   4,  0,  896 }, {   6,  0, 1777 }, { 134, 11,  556 },\r
+  { 137, 11,  103 }, { 134, 10, 1683 }, {   7, 11,  544 }, {   8, 11,  719 },\r
+  { 138, 11,   61 }, { 138, 10,  472 }, {   4, 11,    5 }, {   5, 11,  498 },\r
+  { 136, 11,  637 }, {   7,  0,  750 }, {   9,  0,  223 }, {  11,  0,   27 },\r
+  {  11,  0,  466 }, {  12,  0,  624 }, {  14,  0,  265 }, { 146,  0,   61 },\r
+  {  12,  0,  238 }, {  18,  0,  155 }, {  12, 11,  238 }, { 146, 11,  155 },\r
+  { 151, 10,   28 }, { 133, 11,  927 }, {  12,  0,  383 }, {   5, 10,    3 },\r
+  {   8, 10,  578 }, {   9, 10,  118 }, {  10, 10,  705 }, { 141, 10,  279 },\r
+  {   4, 11,  893 }, {   5, 11,  780 }, { 133, 11,  893 }, {   4,  0,  603 },\r
+  { 133,  0,  661 }, {   4,  0,   11 }, {   6,  0,  128 }, {   7,  0,  231 },\r
+  {   7,  0, 1533 }, {  10,  0,  725 }, {   5, 10,  229 }, {   5, 11,  238 },\r
+  { 135, 11, 1350 }, {   8, 10,  102 }, {  10, 10,  578 }, {  10, 10,  672 },\r
+  {  12, 10,  496 }, {  13, 10,  408 }, {  14, 10,  121 }, { 145, 10,  106 },\r
+  { 132,  0,  476 }, { 134,  0, 1552 }, { 134, 11, 1729 }, {   8, 10,  115 },\r
+  {   8, 10,  350 }, {   9, 10,  489 }, {  10, 10,  128 }, {  11, 10,  306 },\r
+  {  12, 10,  373 }, {  14, 10,   30 }, {  17, 10,   79 }, {  19, 10,   80 },\r
+  { 150, 10,   55 }, { 135,  0, 1807 }, {   4,  0,  680 }, {   4, 11,   60 },\r
+  {   7, 11,  760 }, {   7, 11, 1800 }, {   8, 11,  314 }, {   9, 11,  700 },\r
+  { 139, 11,  487 }, {   4, 10,  230 }, {   5, 10,  702 }, { 148, 11,   94 },\r
+  { 132, 11,  228 }, { 139,  0,  435 }, {   9,  0,   20 }, {  10,  0,  324 },\r
+  {  10,  0,  807 }, { 139,  0,  488 }, {   6, 10, 1728 }, { 136, 11,  419 },\r
+  {   4, 10,  484 }, {  18, 10,   26 }, {  19, 10,   42 }, {  20, 10,   43 },\r
+  {  21, 10,    0 }, {  23, 10,   27 }, { 152, 10,   14 }, { 135,  0, 1431 },\r
+  { 133, 11,  828 }, {   5,  0,  112 }, {   6,  0,  103 }, {   6,  0,  150 },\r
+  {   7,  0, 1303 }, {   9,  0,  292 }, {  10,  0,  481 }, {  20,  0,   13 },\r
+  {   7, 11,  176 }, {   7, 11,  178 }, {   7, 11, 1110 }, {  10, 11,  481 },\r
+  { 148, 11,   13 }, { 138,  0,  356 }, {   4, 11,   51 }, {   5, 11,   39 },\r
+  {   6, 11,    4 }, {   7, 11,  591 }, {   7, 11,  849 }, {   7, 11,  951 },\r
+  {   7, 11, 1129 }, {   7, 11, 1613 }, {   7, 11, 1760 }, {   7, 11, 1988 },\r
+  {   9, 11,  434 }, {  10, 11,  754 }, {  11, 11,   25 }, {  11, 11,   37 },\r
+  { 139, 11,  414 }, {   6,  0, 1963 }, { 134,  0, 2000 }, { 132, 10,  633 },\r
+  {   6,  0, 1244 }, { 133, 11,  902 }, { 135, 11,  928 }, { 140,  0,   18 },\r
+  { 138,  0,  204 }, { 135, 11, 1173 }, { 134,  0,  867 }, {   4,  0,  708 },\r
+  {   8,  0,   15 }, {   9,  0,   50 }, {   9,  0,  386 }, {  11,  0,   18 },\r
+  {  11,  0,  529 }, { 140,  0,  228 }, { 134, 11,  270 }, {   4,  0,  563 },\r
+  {   7,  0,  109 }, {   7,  0,  592 }, {   7,  0,  637 }, {   7,  0,  770 },\r
+  {   8,  0,  463 }, {   9,  0,   60 }, {   9,  0,  335 }, {   9,  0,  904 },\r
+  {  10,  0,   73 }, {  11,  0,  434 }, {  12,  0,  585 }, {  13,  0,  331 },\r
+  {  18,  0,  110 }, { 148,  0,   60 }, { 132,  0,  502 }, {  14, 11,  359 },\r
+  {  19, 11,   52 }, { 148, 11,   47 }, {   6, 11,  377 }, {   7, 11, 1025 },\r
+  {   9, 11,  613 }, { 145, 11,  104 }, {   6,  0,  347 }, {  10,  0,  161 },\r
+  {   5, 10,   70 }, {   5, 10,  622 }, {   6, 10,  334 }, {   7, 10, 1032 },\r
+  {   9, 10,  171 }, {  11, 10,   26 }, {  11, 10,  213 }, {  11, 10,  637 },\r
+  {  11, 10,  707 }, {  12, 10,  202 }, {  12, 10,  380 }, {  13, 10,  226 },\r
+  {  13, 10,  355 }, {  14, 10,  222 }, { 145, 10,   42 }, { 132, 11,  416 },\r
+  {   4,  0,   33 }, {   5,  0,  102 }, {   6,  0,  284 }, {   7,  0, 1079 },\r
+  {   7,  0, 1423 }, {   7,  0, 1702 }, {   8,  0,  470 }, {   9,  0,  554 },\r
+  {   9,  0,  723 }, {  11,  0,  333 }, { 142, 11,  372 }, {   5, 11,  152 },\r
+  {   5, 11,  197 }, {   7, 11,  340 }, {   7, 11,  867 }, {  10, 11,  548 },\r
+  {  10, 11,  581 }, {  11, 11,    6 }, {  12, 11,    3 }, {  12, 11,   19 },\r
+  {  14, 11,  110 }, { 142, 11,  289 }, {   7,  0,  246 }, { 135,  0,  840 },\r
+  {   6,  0,   10 }, {   8,  0,  571 }, {   9,  0,  739 }, { 143,  0,   91 },\r
+  {   6,  0,  465 }, {   7,  0, 1465 }, {   4, 10,   23 }, {   4, 10,  141 },\r
+  {   5, 10,  313 }, {   5, 10, 1014 }, {   6, 10,   50 }, {   7, 10,  142 },\r
+  {   7, 10,  559 }, {   8, 10,  640 }, {   9, 10,  460 }, {   9, 10,  783 },\r
+  {  11, 10,  741 }, {  12, 10,  183 }, { 141, 10,  488 }, { 133,  0,  626 },\r
+  { 136,  0,  614 }, { 138,  0,  237 }, {   7, 11,   34 }, {   7, 11,  190 },\r
+  {   8, 11,   28 }, {   8, 11,  141 }, {   8, 11,  444 }, {   8, 11,  811 },\r
+  {   9, 11,  468 }, {  11, 11,  334 }, {  12, 11,   24 }, {  12, 11,  386 },\r
+  { 140, 11,  576 }, { 133, 11,  757 }, {   5,  0,   18 }, {   6,  0,  526 },\r
+  {  13,  0,   24 }, {  13,  0,  110 }, {  19,  0,    5 }, { 147,  0,   44 },\r
+  {   6,  0,  506 }, { 134, 11,  506 }, { 135, 11, 1553 }, {   4,  0,  309 },\r
+  {   5,  0,  462 }, {   7,  0,  970 }, {   7,  0, 1097 }, {  22,  0,   30 },\r
+  {  22,  0,   33 }, {   7, 11, 1385 }, {  11, 11,  582 }, {  11, 11,  650 },\r
+  {  11, 11,  901 }, {  11, 11,  949 }, {  12, 11,  232 }, {  12, 11,  236 },\r
+  {  13, 11,  413 }, {  13, 11,  501 }, { 146, 11,  116 }, {   9,  0,  140 },\r
+  {   5, 10,  222 }, { 138, 10,  534 }, {   6,  0, 1056 }, { 137, 10,  906 },\r
+  { 134,  0, 1704 }, { 138, 10,  503 }, { 134,  0, 1036 }, {   5, 10,  154 },\r
+  {   7, 10, 1491 }, {  10, 10,  379 }, { 138, 10,  485 }, {   4, 11,  383 },\r
+  { 133, 10,  716 }, { 134,  0, 1315 }, {   5,  0,   86 }, {   7,  0,  743 },\r
+  {   9,  0,   85 }, {  10,  0,  281 }, {  10,  0,  432 }, {  11,  0,  825 },\r
+  {  12,  0,  251 }, {  13,  0,  118 }, { 142,  0,  378 }, {   8,  0,  264 },\r
+  {   4, 10,   91 }, {   5, 10,  388 }, {   5, 10,  845 }, {   6, 10,  206 },\r
+  {   6, 10,  252 }, {   6, 10,  365 }, {   7, 10,  136 }, {   7, 10,  531 },\r
+  { 136, 10,  621 }, {   5,  0,  524 }, { 133,  0,  744 }, {   5, 11,  277 },\r
+  { 141, 11,  247 }, { 132, 11,  435 }, {  10,  0,  107 }, { 140,  0,  436 },\r
+  { 132,  0,  927 }, {  10,  0,  123 }, {  12,  0,  670 }, { 146,  0,   94 },\r
+  {   7,  0, 1149 }, {   9,  0,  156 }, { 138,  0,  957 }, {   5, 11,  265 },\r
+  {   6, 11,  212 }, { 135, 11,   28 }, { 133,  0,  778 }, { 133,  0,  502 },\r
+  {   8,  0,  196 }, {  10,  0,  283 }, { 139,  0,  406 }, { 135, 10,  576 },\r
+  { 136, 11,  535 }, { 134,  0, 1312 }, {   5, 10,  771 }, {   5, 10,  863 },\r
+  {   5, 10,  898 }, {   6, 10, 1632 }, {   6, 10, 1644 }, { 134, 10, 1780 },\r
+  {   5,  0,  855 }, {   5, 10,  331 }, { 135, 11, 1487 }, { 132, 11,  702 },\r
+  {   5, 11,  808 }, { 135, 11, 2045 }, {   7,  0, 1400 }, {   9,  0,  446 },\r
+  { 138,  0,   45 }, { 140, 10,  632 }, { 132,  0, 1003 }, {   5, 11,  166 },\r
+  {   8, 11,  739 }, { 140, 11,  511 }, {   5, 10,  107 }, {   7, 10,  201 },\r
+  { 136, 10,  518 }, {   6, 10,  446 }, { 135, 10, 1817 }, { 134,  0, 1532 },\r
+  { 134,  0, 1097 }, {   4, 11,  119 }, {   5, 11,  170 }, {   5, 11,  447 },\r
+  {   7, 11, 1708 }, {   7, 11, 1889 }, {   9, 11,  357 }, {   9, 11,  719 },\r
+  {  12, 11,  486 }, { 140, 11,  596 }, {   9, 10,  851 }, { 141, 10,  510 },\r
+  {   7,  0,  612 }, {   8,  0,  545 }, {   8,  0,  568 }, {   8,  0,  642 },\r
+  {   9,  0,  717 }, {  10,  0,  541 }, {  10,  0,  763 }, {  11,  0,  449 },\r
+  {  12,  0,  489 }, {  13,  0,  153 }, {  13,  0,  296 }, {  14,  0,  138 },\r
+  {  14,  0,  392 }, {  15,  0,   50 }, {  16,  0,    6 }, {  16,  0,   12 },\r
+  {  20,  0,    9 }, { 132, 10,  504 }, {   4, 11,  450 }, { 135, 11, 1158 },\r
+  {  11,  0,   54 }, {  13,  0,  173 }, {  13,  0,  294 }, {   5, 10,  883 },\r
+  {   5, 10,  975 }, {   8, 10,  392 }, { 148, 10,    7 }, {  13,  0,  455 },\r
+  {  15,  0,   99 }, {  15,  0,  129 }, { 144,  0,   68 }, { 135,  0,  172 },\r
+  { 132, 11,  754 }, {   5, 10,  922 }, { 134, 10, 1707 }, { 134,  0, 1029 },\r
+  {  17, 11,   39 }, { 148, 11,   36 }, {   4,  0,  568 }, {   5, 10,  993 },\r
+  {   7, 10,  515 }, { 137, 10,   91 }, { 132,  0,  732 }, {  10,  0,  617 },\r
+  { 138, 11,  617 }, { 134,  0,  974 }, {   7,  0,  989 }, {  10,  0,  377 },\r
+  {  12,  0,  363 }, {  13,  0,   68 }, {  13,  0,   94 }, {  14,  0,  108 },\r
+  { 142,  0,  306 }, { 136,  0,  733 }, { 132,  0,  428 }, {   7,  0, 1789 },\r
+  { 135, 11, 1062 }, {   7,  0, 2015 }, { 140,  0,  665 }, { 135, 10, 1433 },\r
+  {   5,  0,  287 }, {   7, 10,  921 }, {   8, 10,  580 }, {   8, 10,  593 },\r
+  {   8, 10,  630 }, { 138, 10,   28 }, { 138,  0,  806 }, {   4, 10,  911 },\r
+  {   5, 10,  867 }, {   5, 10, 1013 }, {   7, 10, 2034 }, {   8, 10,  798 },\r
+  { 136, 10,  813 }, { 134,  0, 1539 }, {   8, 11,  523 }, { 150, 11,   34 },\r
+  { 135, 11,  740 }, {   7, 11,  238 }, {   7, 11, 2033 }, {   8, 11,  120 },\r
+  {   8, 11,  188 }, {   8, 11,  659 }, {   9, 11,  598 }, {  10, 11,  466 },\r
+  {  12, 11,  342 }, {  12, 11,  588 }, {  13, 11,  503 }, {  14, 11,  246 },\r
+  { 143, 11,   92 }, {   7,  0, 1563 }, { 141,  0,  182 }, {   5, 10,  135 },\r
+  {   6, 10,  519 }, {   7, 10, 1722 }, {  10, 10,  271 }, {  11, 10,  261 },\r
+  { 145, 10,   54 }, {  14, 10,  338 }, { 148, 10,   81 }, {   7,  0,  484 },\r
+  {   4, 10,  300 }, { 133, 10,  436 }, { 145, 11,  114 }, {   6,  0, 1623 },\r
+  { 134,  0, 1681 }, { 133, 11,  640 }, {   4, 11,  201 }, {   7, 11, 1744 },\r
+  {   8, 11,  602 }, {  11, 11,  247 }, {  11, 11,  826 }, { 145, 11,   65 },\r
+  {   8, 11,  164 }, { 146, 11,   62 }, {   6,  0, 1833 }, {   6,  0, 1861 },\r
+  { 136,  0,  878 }, { 134,  0, 1569 }, {   8, 10,  357 }, {  10, 10,  745 },\r
+  {  14, 10,  426 }, {  17, 10,   94 }, { 147, 10,   57 }, {  12,  0,   93 },\r
+  {  12,  0,  501 }, {  13,  0,  362 }, {  14,  0,  151 }, {  15,  0,   40 },\r
+  {  15,  0,   59 }, {  16,  0,   46 }, {  17,  0,   25 }, {  18,  0,   14 },\r
+  {  18,  0,  134 }, {  19,  0,   25 }, {  19,  0,   69 }, {  20,  0,   16 },\r
+  {  20,  0,   19 }, {  20,  0,   66 }, {  21,  0,   23 }, {  21,  0,   25 },\r
+  { 150,  0,   42 }, {   6,  0, 1748 }, {   8,  0,  715 }, {   9,  0,  802 },\r
+  {  10,  0,   46 }, {  10,  0,  819 }, {  13,  0,  308 }, {  14,  0,  351 },\r
+  {  14,  0,  363 }, { 146,  0,   67 }, { 132,  0,  994 }, {   4,  0,   63 },\r
+  { 133,  0,  347 }, { 132,  0,  591 }, { 133,  0,  749 }, {   7, 11, 1577 },\r
+  {  10, 11,  304 }, {  10, 11,  549 }, {  11, 11,  424 }, {  12, 11,  365 },\r
+  {  13, 11,  220 }, {  13, 11,  240 }, { 142, 11,   33 }, { 133,  0,  366 },\r
+  {   7,  0,  557 }, {  12,  0,  547 }, {  14,  0,   86 }, { 133, 10,  387 },\r
+  { 135,  0, 1747 }, { 132, 11,  907 }, {   5, 11,  100 }, {  10, 11,  329 },\r
+  {  12, 11,  416 }, { 149, 11,   29 }, {   4, 10,    6 }, {   5, 10,  708 },\r
+  { 136, 10,   75 }, {   7, 10, 1351 }, {   9, 10,  581 }, {  10, 10,  639 },\r
+  {  11, 10,  453 }, { 140, 10,  584 }, {   7,  0,   89 }, { 132, 10,  303 },\r
+  { 138, 10,  772 }, { 132, 11,  176 }, {   5, 11,  636 }, {   5, 11,  998 },\r
+  {   8, 11,   26 }, { 137, 11,  358 }, {   7, 11,    9 }, {   7, 11, 1508 },\r
+  {   9, 11,  317 }, {  10, 11,  210 }, {  10, 11,  292 }, {  10, 11,  533 },\r
+  {  11, 11,  555 }, {  12, 11,  526 }, {  12, 11,  607 }, {  13, 11,  263 },\r
+  {  13, 11,  459 }, { 142, 11,  271 }, { 134,  0, 1463 }, {   6,  0,  772 },\r
+  {   6,  0, 1137 }, { 139, 11,  595 }, {   7,  0,  977 }, { 139, 11,   66 },\r
+  { 138,  0,  893 }, {  20,  0,   48 }, { 148, 11,   48 }, {   5,  0,  824 },\r
+  { 133,  0,  941 }, { 134, 11,  295 }, {   7,  0, 1543 }, {   7,  0, 1785 },\r
+  {  10,  0,  690 }, {   4, 10,  106 }, { 139, 10,  717 }, {   7,  0,  440 },\r
+  {   8,  0,  230 }, { 139,  0,  106 }, {   5, 10,  890 }, { 133, 10,  988 },\r
+  {   6, 10,  626 }, { 142, 10,  431 }, {  10, 11,  127 }, { 141, 11,   27 },\r
+  {  17,  0,   32 }, {  10, 10,  706 }, { 150, 10,   44 }, { 132,  0,  216 },\r
+  { 137,  0,  332 }, {   4, 10,  698 }, { 136, 11,  119 }, { 139, 11,  267 },\r
+  { 138, 10,   17 }, {  11, 11,  526 }, {  11, 11,  939 }, { 141, 11,  290 },\r
+  {   7, 11, 1167 }, {  11, 11,  934 }, {  13, 11,  391 }, { 145, 11,   76 },\r
+  { 139, 11,   39 }, { 134, 10,   84 }, {   4,  0,  914 }, {   5,  0,  800 },\r
+  { 133,  0,  852 }, {  10,  0,  416 }, { 141,  0,  115 }, {   7,  0,  564 },\r
+  { 142,  0,  168 }, {   4,  0,  918 }, { 133,  0,  876 }, { 134,  0, 1764 },\r
+  { 152,  0,    3 }, {   4,  0,   92 }, {   5,  0,  274 }, {   7, 11,  126 },\r
+  { 136, 11,   84 }, { 140, 10,  498 }, { 136, 11,  790 }, {   8,  0,  501 },\r
+  {   5, 10,  986 }, {   6, 10,  130 }, {   7, 10, 1582 }, {   8, 10,  458 },\r
+  {  10, 10,  101 }, {  10, 10,  318 }, { 138, 10,  823 }, {   6, 11,   64 },\r
+  {  12, 11,  377 }, { 141, 11,  309 }, {   5,  0,  743 }, { 138,  0,  851 },\r
+  {   4,  0,   49 }, {   7,  0,  280 }, { 135,  0, 1633 }, { 134,  0,  879 },\r
+  { 136,  0,   47 }, {   7, 10, 1644 }, { 137, 10,  129 }, { 132,  0,  865 },\r
+  { 134,  0, 1202 }, {   9, 11,   34 }, { 139, 11,  484 }, { 135, 10,  997 },\r
+  {   5,  0,  272 }, {   5,  0,  908 }, {   5,  0,  942 }, {   8,  0,  197 },\r
+  {   9,  0,   47 }, {  11,  0,  538 }, { 139,  0,  742 }, {   6, 11, 1700 },\r
+  {   7, 11,   26 }, {   7, 11,  293 }, {   7, 11,  382 }, {   7, 11, 1026 },\r
+  {   7, 11, 1087 }, {   7, 11, 2027 }, {   8, 11,   24 }, {   8, 11,  114 },\r
+  {   8, 11,  252 }, {   8, 11,  727 }, {   8, 11,  729 }, {   9, 11,   30 },\r
+  {   9, 11,  199 }, {   9, 11,  231 }, {   9, 11,  251 }, {   9, 11,  334 },\r
+  {   9, 11,  361 }, {   9, 11,  488 }, {   9, 11,  712 }, {  10, 11,   55 },\r
+  {  10, 11,   60 }, {  10, 11,  232 }, {  10, 11,  332 }, {  10, 11,  384 },\r
+  {  10, 11,  396 }, {  10, 11,  504 }, {  10, 11,  542 }, {  10, 11,  652 },\r
+  {  11, 11,   20 }, {  11, 11,   48 }, {  11, 11,  207 }, {  11, 11,  291 },\r
+  {  11, 11,  298 }, {  11, 11,  342 }, {  11, 11,  365 }, {  11, 11,  394 },\r
+  {  11, 11,  620 }, {  11, 11,  705 }, {  11, 11, 1017 }, {  12, 11,  123 },\r
+  {  12, 11,  340 }, {  12, 11,  406 }, {  12, 11,  643 }, {  13, 11,   61 },\r
+  {  13, 11,  269 }, {  13, 11,  311 }, {  13, 11,  319 }, {  13, 11,  486 },\r
+  {  14, 11,  234 }, {  15, 11,   62 }, {  15, 11,   85 }, {  16, 11,   71 },\r
+  {  18, 11,  119 }, { 148, 11,  105 }, {   6,  0, 1455 }, { 150, 11,   37 },\r
+  { 135, 10, 1927 }, { 135,  0, 1911 }, { 137,  0,  891 }, {   7, 10, 1756 },\r
+  { 137, 10,   98 }, {   7, 10, 1046 }, { 139, 10,  160 }, { 132,  0,  761 },\r
+  {   6, 11,  379 }, {   7, 11,  270 }, {   7, 11, 1116 }, {   8, 11,  176 },\r
+  {   8, 11,  183 }, {   9, 11,  432 }, {   9, 11,  661 }, {  12, 11,  247 },\r
+  {  12, 11,  617 }, { 146, 11,  125 }, {   6, 10,   45 }, {   7, 10,  433 },\r
+  {   8, 10,  129 }, {   9, 10,   21 }, {  10, 10,  392 }, {  11, 10,   79 },\r
+  {  12, 10,  499 }, {  13, 10,  199 }, { 141, 10,  451 }, {   4,  0,  407 },\r
+  {   5, 11,  792 }, { 133, 11,  900 }, { 132,  0,  560 }, { 135,  0,  183 },\r
+  {  13,  0,  490 }, {   7, 10,  558 }, { 136, 10,  353 }, {   4,  0,  475 },\r
+  {   6,  0,  731 }, {  11,  0,   35 }, {  13,  0,   71 }, {  13,  0,  177 },\r
+  {  14,  0,  422 }, { 133, 10,  785 }, {   8, 10,   81 }, {   9, 10,  189 },\r
+  {   9, 10,  201 }, {  11, 10,  478 }, {  11, 10,  712 }, { 141, 10,  338 },\r
+  {   4,  0,  418 }, {   4,  0,  819 }, { 133, 10,  353 }, { 151, 10,   26 },\r
+  {   4, 11,  901 }, { 133, 11,  776 }, { 132,  0,  575 }, {   7,  0,  818 },\r
+  {  16,  0,   92 }, {  17,  0,   14 }, {  17,  0,   45 }, {  18,  0,   75 },\r
+  { 148,  0,   18 }, {   6,  0,  222 }, {   7,  0,  636 }, {   7,  0, 1620 },\r
+  {   8,  0,  409 }, {   9,  0,  693 }, { 139,  0,   77 }, {   6, 10,   25 },\r
+  {   7, 10,  855 }, {   7, 10, 1258 }, { 144, 10,   32 }, {   6,  0, 1880 },\r
+  {   6,  0, 1887 }, {   6,  0, 1918 }, {   6,  0, 1924 }, {   9,  0,  967 },\r
+  {   9,  0,  995 }, {   9,  0, 1015 }, {  12,  0,  826 }, {  12,  0,  849 },\r
+  {  12,  0,  857 }, {  12,  0,  860 }, {  12,  0,  886 }, {  12,  0,  932 },\r
+  {  18,  0,  228 }, {  18,  0,  231 }, { 146,  0,  240 }, { 134,  0,  633 },\r
+  { 134,  0, 1308 }, {   4, 11,   37 }, {   5, 11,  334 }, { 135, 11, 1253 },\r
+  {  10,  0,   86 }, {   4, 10,    4 }, {   7, 10, 1118 }, {   7, 10, 1320 },\r
+  {   7, 10, 1706 }, {   8, 10,  277 }, {   9, 10,  622 }, {  11, 10,  724 },\r
+  {  12, 10,  350 }, {  12, 10,  397 }, {  13, 10,   28 }, {  13, 10,  159 },\r
+  {  15, 10,   89 }, {  18, 10,    5 }, {  19, 10,    9 }, {  20, 10,   34 },\r
+  { 150, 10,   47 }, { 132, 11,  508 }, { 137, 11,  448 }, {  12, 11,  107 },\r
+  { 146, 11,   31 }, { 132,  0,  817 }, { 134,  0,  663 }, { 133,  0,  882 },\r
+  { 134,  0,  914 }, { 132, 11,  540 }, { 132, 11,  533 }, { 136, 11,  608 },\r
+  {   8,  0,  885 }, { 138,  0,  865 }, { 132,  0,  426 }, {   6,  0,   58 },\r
+  {   7,  0,  745 }, {   7,  0, 1969 }, {   8,  0,  399 }, {   8,  0,  675 },\r
+  {   9,  0,  479 }, {   9,  0,  731 }, {  10,  0,  330 }, {  10,  0,  593 },\r
+  {  10,  0,  817 }, {  11,  0,   32 }, {  11,  0,  133 }, {  11,  0,  221 },\r
+  { 145,  0,   68 }, { 134, 10,  255 }, {   7,  0,  102 }, { 137,  0,  538 },\r
+  { 137, 10,  216 }, {   7, 11,  253 }, { 136, 11,  549 }, { 135, 11,  912 },\r
+  {   9, 10,  183 }, { 139, 10,  286 }, {  11, 10,  956 }, { 151, 10,    3 },\r
+  {   8, 11,  527 }, {  18, 11,   60 }, { 147, 11,   24 }, {   4, 10,  536 },\r
+  {   7, 10, 1141 }, {  10, 10,  723 }, { 139, 10,  371 }, { 133, 11,  920 },\r
+  {   7,  0,  876 }, { 135, 10,  285 }, { 135, 10,  560 }, { 132, 10,  690 },\r
+  { 142, 11,  126 }, {  11, 10,   33 }, {  12, 10,  571 }, { 149, 10,    1 },\r
+  { 133,  0,  566 }, {   9,  0,  139 }, {  10,  0,  399 }, {  11,  0,  469 },\r
+  {  12,  0,  634 }, {  13,  0,  223 }, { 132, 11,  483 }, {   6,  0,   48 },\r
+  { 135,  0,   63 }, {  18,  0,   12 }, {   7, 10, 1862 }, {  12, 10,  491 },\r
+  {  12, 10,  520 }, {  13, 10,  383 }, { 142, 10,  244 }, { 135, 11, 1665 },\r
+  { 132, 11,  448 }, {   9, 11,  495 }, { 146, 11,  104 }, {   6,  0,  114 },\r
+  {   7,  0, 1224 }, {   7,  0, 1556 }, { 136,  0,    3 }, {   4, 10,  190 },\r
+  { 133, 10,  554 }, {   8,  0,  576 }, {   9,  0,  267 }, { 133, 10, 1001 },\r
+  { 133, 10,  446 }, { 133,  0,  933 }, { 139, 11, 1009 }, {   8, 11,  653 },\r
+  {  13, 11,   93 }, { 147, 11,   14 }, {   6,  0,  692 }, {   6,  0,  821 },\r
+  { 134,  0, 1077 }, {   5, 11,  172 }, { 135, 11,  801 }, { 138,  0,  752 },\r
+  {   4,  0,  375 }, { 134,  0,  638 }, { 134,  0, 1011 }, { 140, 11,  540 },\r
+  {   9,  0,   96 }, { 133, 11,  260 }, { 139, 11,  587 }, { 135, 10, 1231 },\r
+  {  12,  0,   30 }, {  13,  0,  148 }, {  14,  0,   87 }, {  14,  0,  182 },\r
+  {  16,  0,   42 }, {  20,  0,   70 }, { 132, 10,  304 }, {   6,  0, 1398 },\r
+  {   7,  0,   56 }, {   7,  0, 1989 }, {   8,  0,  337 }, {   8,  0,  738 },\r
+  {   9,  0,  600 }, {  12,  0,   37 }, {  13,  0,  447 }, { 142,  0,   92 },\r
+  { 138,  0,  666 }, {   5,  0,  394 }, {   7,  0,  487 }, { 136,  0,  246 },\r
+  {   9,  0,  437 }, {   6, 10,   53 }, {   6, 10,  199 }, {   7, 10, 1408 },\r
+  {   8, 10,   32 }, {   8, 10,   93 }, {  10, 10,  397 }, {  10, 10,  629 },\r
+  {  11, 10,  593 }, {  11, 10,  763 }, {  13, 10,  326 }, { 145, 10,   35 },\r
+  { 134, 10,  105 }, {   9,  0,  320 }, {  10,  0,  506 }, { 138, 10,  794 },\r
+  {   7, 11,   57 }, {   8, 11,  167 }, {   8, 11,  375 }, {   9, 11,   82 },\r
+  {   9, 11,  561 }, {  10, 11,  620 }, {  10, 11,  770 }, {  11, 10,  704 },\r
+  { 141, 10,  396 }, {   6,  0, 1003 }, {   5, 10,  114 }, {   5, 10,  255 },\r
+  { 141, 10,  285 }, {   7,  0,  866 }, { 135,  0, 1163 }, { 133, 11,  531 },\r
+  { 132,  0,  328 }, {   7, 10, 2035 }, {   8, 10,   19 }, {   9, 10,   89 },\r
+  { 138, 10,  831 }, {   8, 11,  194 }, { 136, 11,  756 }, { 136,  0, 1000 },\r
+  {   5, 11,  453 }, { 134, 11,  441 }, {   4,  0,  101 }, {   5,  0,  833 },\r
+  {   7,  0, 1171 }, { 136,  0,  744 }, { 133,  0,  726 }, { 136, 10,  746 },\r
+  { 138,  0,  176 }, {   6,  0,    9 }, {   6,  0,  397 }, {   7,  0,   53 },\r
+  {   7,  0, 1742 }, {  10,  0,  632 }, {  11,  0,  828 }, { 140,  0,  146 },\r
+  { 135, 11,   22 }, { 145, 11,   64 }, { 132,  0,  839 }, {  11,  0,  417 },\r
+  {  12,  0,  223 }, { 140,  0,  265 }, {   4, 11,  102 }, {   7, 11,  815 },\r
+  {   7, 11, 1699 }, { 139, 11,  964 }, {   5, 10,  955 }, { 136, 10,  814 },\r
+  {   6,  0, 1931 }, {   6,  0, 2007 }, {  18,  0,  246 }, { 146,  0,  247 },\r
+  {   8,  0,  198 }, {  11,  0,   29 }, { 140,  0,  534 }, { 135,  0, 1771 },\r
+  {   6,  0,  846 }, {   7, 11, 1010 }, {  11, 11,  733 }, {  11, 11,  759 },\r
+  {  12, 11,  563 }, {  13, 11,   34 }, {  14, 11,  101 }, {  18, 11,   45 },\r
+  { 146, 11,  129 }, {   4,  0,  186 }, {   5,  0,  157 }, {   8,  0,  168 },\r
+  { 138,  0,    6 }, { 132, 11,  899 }, { 133, 10,   56 }, { 148, 10,  100 },\r
+  { 133,  0,  875 }, {   5,  0,  773 }, {   5,  0,  991 }, {   6,  0, 1635 },\r
+  { 134,  0, 1788 }, {   6,  0, 1274 }, {   9,  0,  477 }, { 141,  0,   78 },\r
+  {   4,  0,  639 }, {   7,  0,  111 }, {   8,  0,  581 }, {  12,  0,  177 },\r
+  {   6, 11,   52 }, {   9, 11,  104 }, {   9, 11,  559 }, {  10, 10,    4 },\r
+  {  10, 10,   13 }, {  11, 10,  638 }, {  12, 11,  308 }, {  19, 11,   87 },\r
+  { 148, 10,   57 }, { 132, 11,  604 }, {   4, 11,  301 }, { 133, 10,  738 },\r
+  { 133, 10,  758 }, { 134,  0, 1747 }, {   7, 11, 1440 }, {  11, 11,  854 },\r
+  {  11, 11,  872 }, {  11, 11,  921 }, {  12, 11,  551 }, {  13, 11,  472 },\r
+  { 142, 11,  367 }, {   7,  0, 1364 }, {   7,  0, 1907 }, { 141,  0,  158 },\r
+  { 134,  0,  873 }, {   4,  0,  404 }, {   4,  0,  659 }, {   7,  0,  552 },\r
+  { 135,  0,  675 }, { 135, 10, 1112 }, { 139, 10,  328 }, {   7, 11,  508 },\r
+  { 137, 10,  133 }, { 133,  0,  391 }, {   5, 10,  110 }, {   6, 10,  169 },\r
+  {   6, 10, 1702 }, {   7, 10,  400 }, {   8, 10,  538 }, {   9, 10,  184 },\r
+  {   9, 10,  524 }, { 140, 10,  218 }, {   6, 11,  310 }, {   7, 11, 1849 },\r
+  {   8, 11,   72 }, {   8, 11,  272 }, {   8, 11,  431 }, {   9, 11,   12 },\r
+  {   9, 11,  351 }, {  10, 11,  563 }, {  10, 11,  630 }, {  10, 11,  810 },\r
+  {  11, 11,  367 }, {  11, 11,  599 }, {  11, 11,  686 }, { 140, 11,  672 },\r
+  {   5,  0,  540 }, {   6,  0, 1697 }, { 136,  0,  668 }, { 132,  0,  883 },\r
+  { 134,  0,   78 }, {  12,  0,  628 }, {  18,  0,   79 }, {   6, 10,  133 },\r
+  {   9, 10,  353 }, { 139, 10,  993 }, {   6, 11,  181 }, {   7, 11,  537 },\r
+  {   8, 11,   64 }, {   9, 11,  127 }, {  10, 11,  496 }, {  12, 11,  510 },\r
+  { 141, 11,  384 }, {   6, 10,   93 }, {   7, 10, 1422 }, {   7, 10, 1851 },\r
+  {   8, 10,  673 }, {   9, 10,  529 }, { 140, 10,   43 }, { 137, 10,  371 },\r
+  { 134,  0, 1460 }, { 134,  0,  962 }, {   4, 11,  244 }, { 135, 11,  233 },\r
+  {   9, 10,   25 }, {  10, 10,  467 }, { 138, 10,  559 }, {   4, 10,  335 },\r
+  { 135, 10,  942 }, { 133,  0,  460 }, { 135, 11,  334 }, { 134, 11, 1650 },\r
+  {   4,  0,  199 }, { 139,  0,   34 }, {   5, 10,  601 }, {   8, 10,   39 },\r
+  {  10, 10,  773 }, {  11, 10,   84 }, {  12, 10,  205 }, { 142, 10,    1 },\r
+  { 133, 10,  870 }, { 134,  0,  388 }, {  14,  0,  474 }, { 148,  0,  120 },\r
+  { 133, 11,  369 }, { 139,  0,  271 }, {   4,  0,  511 }, {   9,  0,  333 },\r
+  {   9,  0,  379 }, {  10,  0,  602 }, {  11,  0,  441 }, {  11,  0,  723 },\r
+  {  11,  0,  976 }, {  12,  0,  357 }, { 132, 10,  181 }, { 134,  0,  608 },\r
+  { 134, 10, 1652 }, {  22,  0,   49 }, { 137, 11,  338 }, { 140,  0,  988 },\r
+  { 134,  0,  617 }, {   5,  0,  938 }, { 136,  0,  707 }, { 132, 10,   97 },\r
+  {   5, 10,  147 }, {   6, 10,  286 }, {   7, 10, 1362 }, { 141, 10,  176 },\r
+  {   6,  0,  756 }, { 134,  0, 1149 }, { 133, 11,  896 }, {   6, 10,  375 },\r
+  {   7, 10,  169 }, {   7, 10,  254 }, { 136, 10,  780 }, { 134,  0, 1583 },\r
+  { 135, 10, 1447 }, { 139,  0,  285 }, {   7, 11, 1117 }, {   8, 11,  393 },\r
+  { 136, 11,  539 }, { 135,  0,  344 }, {   6,  0,  469 }, {   7,  0, 1709 },\r
+  { 138,  0,  515 }, {   5, 10,  629 }, { 135, 10, 1549 }, {   5, 11,    4 },\r
+  {   5, 11,  810 }, {   6, 11,   13 }, {   6, 11,  538 }, {   6, 11, 1690 },\r
+  {   6, 11, 1726 }, {   7, 11,  499 }, {   7, 11, 1819 }, {   8, 11,  148 },\r
+  {   8, 11,  696 }, {   8, 11,  791 }, {  12, 11,  125 }, {  13, 11,   54 },\r
+  { 143, 11,    9 }, { 135, 11, 1268 }, { 137,  0,  404 }, { 132,  0,  500 },\r
+  {   5,  0,   68 }, { 134,  0,  383 }, {  11,  0,  216 }, { 139,  0,  340 },\r
+  {   4, 11,  925 }, {   5, 11,  803 }, {   8, 11,  698 }, { 138, 11,  828 },\r
+  {   4,  0,  337 }, {   6,  0,  353 }, {   7,  0, 1934 }, {   8,  0,  488 },\r
+  { 137,  0,  429 }, {   7,  0,  236 }, {   7,  0, 1795 }, {   8,  0,  259 },\r
+  {   9,  0,  135 }, {   9,  0,  177 }, {   9,  0,  860 }, {  10,  0,  825 },\r
+  {  11,  0,  115 }, {  11,  0,  370 }, {  11,  0,  405 }, {  11,  0,  604 },\r
+  {  12,  0,   10 }, {  12,  0,  667 }, {  12,  0,  669 }, {  13,  0,   76 },\r
+  {  14,  0,  310 }, {  15,  0,   76 }, {  15,  0,  147 }, { 148,  0,   23 },\r
+  {   4,  0,   15 }, {   4,  0,  490 }, {   5,  0,   22 }, {   6,  0,  244 },\r
+  {   7,  0,   40 }, {   7,  0,  200 }, {   7,  0,  906 }, {   7,  0, 1199 },\r
+  {   9,  0,  616 }, {  10,  0,  716 }, {  11,  0,  635 }, {  11,  0,  801 },\r
+  { 140,  0,  458 }, {  12,  0,  756 }, { 132, 10,  420 }, { 134,  0, 1504 },\r
+  {   6,  0,  757 }, { 133, 11,  383 }, {   6,  0, 1266 }, { 135,  0, 1735 },\r
+  {   5,  0,  598 }, {   7,  0,  791 }, {   8,  0,  108 }, {   9,  0,  123 },\r
+  {   7, 10, 1570 }, { 140, 10,  542 }, { 142, 11,  410 }, {   9, 11,  660 },\r
+  { 138, 11,  347 }\r
+};\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_STATIC_DICT_LUT_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/streams.h b/BaseTools/Source/C/BrotliCompress/enc/streams.h
new file mode 100644 (file)
index 0000000..010a5be
--- /dev/null
@@ -0,0 +1,121 @@
+/* Copyright 2009 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Input and output classes for streaming brotli compression. */\r
+\r
+#ifndef BROTLI_ENC_STREAMS_H_\r
+#define BROTLI_ENC_STREAMS_H_\r
+\r
+#include <stdio.h>\r
+#include <string>\r
+\r
+#include "../common/types.h"\r
+\r
+namespace brotli {\r
+\r
+/* Input interface for the compression routines. */\r
+class BrotliIn {\r
+ public:\r
+  virtual ~BrotliIn(void) {}\r
+\r
+  /* Return a pointer to the next block of input of at most n bytes.\r
+     Return the actual length in *nread.\r
+     At end of data, return NULL. Don't return NULL if there is more data\r
+     to read, even if called with n == 0.\r
+     Read will only be called if some of its bytes are needed. */\r
+  virtual const void* Read(size_t n, size_t* nread) = 0;\r
+};\r
+\r
+/* Output interface for the compression routines. */\r
+class BrotliOut {\r
+ public:\r
+  virtual ~BrotliOut(void) {}\r
+\r
+  /* Write n bytes of data from buf.\r
+     Return true if all written, false otherwise. */\r
+  virtual bool Write(const void *buf, size_t n) = 0;\r
+};\r
+\r
+/* Adapter class to make BrotliIn objects from raw memory. */\r
+class BrotliMemIn : public BrotliIn {\r
+ public:\r
+  BrotliMemIn(const void* buf, size_t len);\r
+\r
+  void Reset(const void* buf, size_t len);\r
+\r
+  /* returns the amount of data consumed */\r
+  size_t position(void) const { return pos_; }\r
+\r
+  const void* Read(size_t n, size_t* OUTPUT);\r
+\r
+ private:\r
+  const void* buf_;  /* start of input buffer */\r
+  size_t len_;  /* length of input */\r
+  size_t pos_;  /* current read position within input */\r
+};\r
+\r
+/* Adapter class to make BrotliOut objects from raw memory. */\r
+class BrotliMemOut : public BrotliOut {\r
+ public:\r
+  BrotliMemOut(void* buf, size_t len);\r
+\r
+  void Reset(void* buf, size_t len);\r
+\r
+  /* returns the amount of data written */\r
+  size_t position(void) const { return pos_; }\r
+\r
+  bool Write(const void* buf, size_t n);\r
+\r
+ private:\r
+  void* buf_;  /* start of output buffer */\r
+  size_t len_;  /* length of output */\r
+  size_t pos_;  /* current write position within output */\r
+};\r
+\r
+/* Adapter class to make BrotliOut objects from a string. */\r
+class BrotliStringOut : public BrotliOut {\r
+ public:\r
+  /* Create a writer that appends its data to buf.\r
+     buf->size() will grow to at most max_size\r
+     buf is expected to be empty when constructing BrotliStringOut. */\r
+  BrotliStringOut(std::string* buf, size_t max_size);\r
+\r
+  void Reset(std::string* buf, size_t max_len);\r
+\r
+  bool Write(const void* buf, size_t n);\r
+\r
+ private:\r
+  std::string* buf_;  /* start of output buffer */\r
+  size_t max_size_;  /* max length of output */\r
+};\r
+\r
+/* Adapter class to make BrotliIn object from a file. */\r
+class BrotliFileIn : public BrotliIn {\r
+ public:\r
+  BrotliFileIn(FILE* f, size_t max_read_size);\r
+  ~BrotliFileIn(void);\r
+\r
+  const void* Read(size_t n, size_t* bytes_read);\r
+\r
+ private:\r
+  FILE* f_;\r
+  char* buf_;\r
+  size_t buf_size_;\r
+};\r
+\r
+/* Adapter class to make BrotliOut object from a file. */\r
+class BrotliFileOut : public BrotliOut {\r
+ public:\r
+  explicit BrotliFileOut(FILE* f);\r
+\r
+  bool Write(const void* buf, size_t n);\r
+ private:\r
+  FILE* f_;\r
+};\r
+\r
+}  /* namespace brotli */\r
+\r
+#endif  /* BROTLI_ENC_STREAMS_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/utf8_util.c b/BaseTools/Source/C/BrotliCompress/enc/utf8_util.c
new file mode 100644 (file)
index 0000000..c963f30
--- /dev/null
@@ -0,0 +1,85 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Heuristics for deciding about the UTF8-ness of strings. */\r
+\r
+#include "./utf8_util.h"\r
+\r
+#include "../common/types.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static size_t BrotliParseAsUTF8(\r
+    int* symbol, const uint8_t* input, size_t size) {\r
+  /* ASCII */\r
+  if ((input[0] & 0x80) == 0) {\r
+    *symbol = input[0];\r
+    if (*symbol > 0) {\r
+      return 1;\r
+    }\r
+  }\r
+  /* 2-byte UTF8 */\r
+  if (size > 1u &&\r
+      (input[0] & 0xe0) == 0xc0 &&\r
+      (input[1] & 0xc0) == 0x80) {\r
+    *symbol = (((input[0] & 0x1f) << 6) |\r
+               (input[1] & 0x3f));\r
+    if (*symbol > 0x7f) {\r
+      return 2;\r
+    }\r
+  }\r
+  /* 3-byte UFT8 */\r
+  if (size > 2u &&\r
+      (input[0] & 0xf0) == 0xe0 &&\r
+      (input[1] & 0xc0) == 0x80 &&\r
+      (input[2] & 0xc0) == 0x80) {\r
+    *symbol = (((input[0] & 0x0f) << 12) |\r
+               ((input[1] & 0x3f) << 6) |\r
+               (input[2] & 0x3f));\r
+    if (*symbol > 0x7ff) {\r
+      return 3;\r
+    }\r
+  }\r
+  /* 4-byte UFT8 */\r
+  if (size > 3u &&\r
+      (input[0] & 0xf8) == 0xf0 &&\r
+      (input[1] & 0xc0) == 0x80 &&\r
+      (input[2] & 0xc0) == 0x80 &&\r
+      (input[3] & 0xc0) == 0x80) {\r
+    *symbol = (((input[0] & 0x07) << 18) |\r
+               ((input[1] & 0x3f) << 12) |\r
+               ((input[2] & 0x3f) << 6) |\r
+               (input[3] & 0x3f));\r
+    if (*symbol > 0xffff && *symbol <= 0x10ffff) {\r
+      return 4;\r
+    }\r
+  }\r
+  /* Not UTF8, emit a special symbol above the UTF8-code space */\r
+  *symbol = 0x110000 | input[0];\r
+  return 1;\r
+}\r
+\r
+/* Returns 1 if at least min_fraction of the data is UTF8-encoded.*/\r
+BROTLI_BOOL BrotliIsMostlyUTF8(\r
+    const uint8_t* data, const size_t pos, const size_t mask,\r
+    const size_t length, const double min_fraction) {\r
+  size_t size_utf8 = 0;\r
+  size_t i = 0;\r
+  while (i < length) {\r
+    int symbol;\r
+    size_t bytes_read =\r
+        BrotliParseAsUTF8(&symbol, &data[(pos + i) & mask], length - i);\r
+    i += bytes_read;\r
+    if (symbol < 0x110000) size_utf8 += bytes_read;\r
+  }\r
+  return TO_BROTLI_BOOL(size_utf8 > min_fraction * (double)length);\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/utf8_util.h b/BaseTools/Source/C/BrotliCompress/enc/utf8_util.h
new file mode 100644 (file)
index 0000000..2224bc3
--- /dev/null
@@ -0,0 +1,32 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Heuristics for deciding about the UTF8-ness of strings. */\r
+\r
+#ifndef BROTLI_ENC_UTF8_UTIL_H_\r
+#define BROTLI_ENC_UTF8_UTIL_H_\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+static const double kMinUTF8Ratio = 0.75;\r
+\r
+/* Returns 1 if at least min_fraction of the bytes between pos and\r
+   pos + length in the (data, mask) ringbuffer is UTF8-encoded, otherwise\r
+   returns 0. */\r
+BROTLI_INTERNAL BROTLI_BOOL BrotliIsMostlyUTF8(\r
+    const uint8_t* data, const size_t pos, const size_t mask,\r
+    const size_t length, const double min_fraction);\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_UTF8_UTIL_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/enc/write_bits.h b/BaseTools/Source/C/BrotliCompress/enc/write_bits.h
new file mode 100644 (file)
index 0000000..3d5cad6
--- /dev/null
@@ -0,0 +1,90 @@
+/* Copyright 2010 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Write bits into a byte array. */\r
+\r
+#ifndef BROTLI_ENC_WRITE_BITS_H_\r
+#define BROTLI_ENC_WRITE_BITS_H_\r
+\r
+#include <assert.h>\r
+#include <stdio.h>  /* printf */\r
+\r
+#include "../common/types.h"\r
+#include "./port.h"\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+extern "C" {\r
+#endif\r
+\r
+/*#define BIT_WRITER_DEBUG */\r
+\r
+/* This function writes bits into bytes in increasing addresses, and within\r
+   a byte least-significant-bit first.\r
+\r
+   The function can write up to 56 bits in one go with WriteBits\r
+   Example: let's assume that 3 bits (Rs below) have been written already:\r
+\r
+   BYTE-0     BYTE+1       BYTE+2\r
+\r
+   0000 0RRR    0000 0000    0000 0000\r
+\r
+   Now, we could write 5 or less bits in MSB by just sifting by 3\r
+   and OR'ing to BYTE-0.\r
+\r
+   For n bits, we take the last 5 bits, OR that with high bits in BYTE-0,\r
+   and locate the rest in BYTE+1, BYTE+2, etc. */\r
+static BROTLI_INLINE void BrotliWriteBits(size_t n_bits,\r
+                                          uint64_t bits,\r
+                                          size_t * BROTLI_RESTRICT pos,\r
+                                          uint8_t * BROTLI_RESTRICT array) {\r
+#ifdef IS_LITTLE_ENDIAN\r
+  /* This branch of the code can write up to 56 bits at a time,\r
+     7 bits are lost by being perhaps already in *p and at least\r
+     1 bit is needed to initialize the bit-stream ahead (i.e. if 7\r
+     bits are in *p and we write 57 bits, then the next write will\r
+     access a byte that was never initialized). */\r
+  uint8_t *p = &array[*pos >> 3];\r
+  uint64_t v = *p;\r
+#ifdef BIT_WRITER_DEBUG\r
+  printf("WriteBits  %2d  0x%016llx  %10d\n", n_bits, bits, *pos);\r
+#endif\r
+  assert((bits >> n_bits) == 0);\r
+  assert(n_bits <= 56);\r
+  v |= bits << (*pos & 7);\r
+  BROTLI_UNALIGNED_STORE64(p, v);  /* Set some bits. */\r
+  *pos += n_bits;\r
+#else\r
+  /* implicit & 0xff is assumed for uint8_t arithmetics */\r
+  uint8_t *array_pos = &array[*pos >> 3];\r
+  const size_t bits_reserved_in_first_byte = (*pos & 7);\r
+  size_t bits_left_to_write;\r
+  bits <<= bits_reserved_in_first_byte;\r
+  *array_pos++ |= (uint8_t)bits;\r
+  for (bits_left_to_write = n_bits + bits_reserved_in_first_byte;\r
+       bits_left_to_write >= 9;\r
+       bits_left_to_write -= 8) {\r
+    bits >>= 8;\r
+    *array_pos++ = (uint8_t)bits;\r
+  }\r
+  *array_pos = 0;\r
+  *pos += n_bits;\r
+#endif\r
+}\r
+\r
+static BROTLI_INLINE void BrotliWriteBitsPrepareStorage(\r
+    size_t pos, uint8_t *array) {\r
+#ifdef BIT_WRITER_DEBUG\r
+  printf("WriteBitsPrepareStorage            %10d\n", pos);\r
+#endif\r
+  assert((pos & 7) == 0);\r
+  array[pos >> 3] = 0;\r
+}\r
+\r
+#if defined(__cplusplus) || defined(c_plusplus)\r
+}  /* extern "C" */\r
+#endif\r
+\r
+#endif  /* BROTLI_ENC_WRITE_BITS_H_ */\r
diff --git a/BaseTools/Source/C/BrotliCompress/tools/bro.c b/BaseTools/Source/C/BrotliCompress/tools/bro.c
new file mode 100644 (file)
index 0000000..57e053a
--- /dev/null
@@ -0,0 +1,472 @@
+/* Copyright 2014 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Example main() function for Brotli library. */\r
+\r
+#include <fcntl.h>\r
+#include <stdio.h>\r
+#include <stdlib.h>\r
+#include <string.h>\r
+#include <sys/stat.h>\r
+#include <sys/types.h>\r
+#include <time.h>\r
+\r
+#include "../dec/decode.h"\r
+#include "../enc/encode.h"\r
+\r
+#if !defined(_WIN32)\r
+#include <unistd.h>\r
+#else\r
+#include <io.h>\r
+#include <share.h>\r
+\r
+#define MAKE_BINARY(FILENO) (_setmode((FILENO), _O_BINARY), (FILENO))\r
+\r
+#if !defined(__MINGW32__)\r
+#define STDIN_FILENO MAKE_BINARY(_fileno(stdin))\r
+#define STDOUT_FILENO MAKE_BINARY(_fileno(stdout))\r
+#define S_IRUSR S_IREAD\r
+#define S_IWUSR S_IWRITE\r
+#endif\r
+#define fdopen _fdopen\r
+#define unlink _unlink\r
+\r
+#define fopen ms_fopen\r
+#define open ms_open\r
+\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1400)\r
+#define fseek _fseeki64\r
+#define ftell _ftelli64\r
+#endif\r
+\r
+static FILE* ms_fopen(const char *filename, const char *mode) {\r
+  FILE* result = 0;\r
+  fopen_s(&result, filename, mode);\r
+  return result;\r
+}\r
+\r
+static int ms_open(const char *filename, int oflag, int pmode) {\r
+  int result = -1;\r
+  _sopen_s(&result, filename, oflag | O_BINARY, _SH_DENYNO, pmode);\r
+  return result;\r
+}\r
+#endif  /* WIN32 */\r
+\r
+static int ParseQuality(const char* s, int* quality) {\r
+  if (s[0] >= '0' && s[0] <= '9') {\r
+    *quality = s[0] - '0';\r
+    if (s[1] >= '0' && s[1] <= '9') {\r
+      *quality = *quality * 10 + s[1] - '0';\r
+      return (s[2] == 0) ? 1 : 0;\r
+    }\r
+    return (s[1] == 0) ? 1 : 0;\r
+  }\r
+  return 0;\r
+}\r
+\r
+static void ParseArgv(int argc, char **argv,\r
+                      char **input_path,\r
+                      char **output_path,\r
+                      char **dictionary_path,\r
+                      int *force,\r
+                      int *quality,\r
+                      int *decompress,\r
+                      int *repeat,\r
+                      int *verbose,\r
+                      int *lgwin) {\r
+  int k;\r
+  *force = 0;\r
+  *input_path = 0;\r
+  *output_path = 0;\r
+  *repeat = 1;\r
+  *verbose = 0;\r
+  *lgwin = 22;\r
+  {\r
+    size_t argv0_len = strlen(argv[0]);\r
+    *decompress =\r
+        argv0_len >= 5 && strcmp(&argv[0][argv0_len - 5], "unbro") == 0;\r
+  }\r
+  for (k = 1; k < argc; ++k) {\r
+    if (!strcmp("--force", argv[k]) ||\r
+        !strcmp("-f", argv[k])) {\r
+      if (*force != 0) {\r
+        goto error;\r
+      }\r
+      *force = 1;\r
+      continue;\r
+    } else if (!strcmp("--decompress", argv[k]) ||\r
+               !strcmp("--uncompress", argv[k]) ||\r
+               !strcmp("-d", argv[k])) {\r
+      *decompress = 1;\r
+      continue;\r
+    } else if (!strcmp("--verbose", argv[k]) ||\r
+               !strcmp("-v", argv[k])) {\r
+      if (*verbose != 0) {\r
+        goto error;\r
+      }\r
+      *verbose = 1;\r
+      continue;\r
+    }\r
+    if (k < argc - 1) {\r
+      if (!strcmp("--input", argv[k]) ||\r
+          !strcmp("--in", argv[k]) ||\r
+          !strcmp("-i", argv[k])) {\r
+        if (*input_path != 0) {\r
+          goto error;\r
+        }\r
+        *input_path = argv[k + 1];\r
+        ++k;\r
+        continue;\r
+      } else if (!strcmp("--output", argv[k]) ||\r
+                 !strcmp("--out", argv[k]) ||\r
+                 !strcmp("-o", argv[k])) {\r
+        if (*output_path != 0) {\r
+          goto error;\r
+        }\r
+        *output_path = argv[k + 1];\r
+        ++k;\r
+        continue;\r
+      } else if (!strcmp("--custom-dictionary", argv[k])) {\r
+        if (*dictionary_path != 0) {\r
+          goto error;\r
+        }\r
+        *dictionary_path = argv[k + 1];\r
+        ++k;\r
+        continue;\r
+      } else if (!strcmp("--quality", argv[k]) ||\r
+                 !strcmp("-q", argv[k])) {\r
+        if (!ParseQuality(argv[k + 1], quality)) {\r
+          goto error;\r
+        }\r
+        ++k;\r
+        continue;\r
+      } else if (!strcmp("--repeat", argv[k]) ||\r
+                 !strcmp("-r", argv[k])) {\r
+        if (!ParseQuality(argv[k + 1], repeat)) {\r
+          goto error;\r
+        }\r
+        ++k;\r
+        continue;\r
+      }  else if (!strcmp("--window", argv[k]) ||\r
+                  !strcmp("-w", argv[k])) {\r
+        if (!ParseQuality(argv[k + 1], lgwin)) {\r
+          goto error;\r
+        }\r
+        if (*lgwin < 10 || *lgwin >= 25) {\r
+          goto error;\r
+        }\r
+        ++k;\r
+        continue;\r
+      }\r
+    }\r
+    goto error;\r
+  }\r
+  return;\r
+error:\r
+  fprintf(stderr,\r
+          "Usage: %s [--force] [--quality n] [--decompress]"\r
+          " [--input filename] [--output filename] [--repeat iters]"\r
+          " [--verbose] [--window n] [--custom-dictionary filename]\n",\r
+          argv[0]);\r
+  exit(1);\r
+}\r
+\r
+static FILE* OpenInputFile(const char* input_path) {\r
+  FILE* f;\r
+  if (input_path == 0) {\r
+    return fdopen(STDIN_FILENO, "rb");\r
+  }\r
+  f = fopen(input_path, "rb");\r
+  if (f == 0) {\r
+    perror("fopen");\r
+    exit(1);\r
+  }\r
+  return f;\r
+}\r
+\r
+static FILE *OpenOutputFile(const char *output_path, const int force) {\r
+  int fd;\r
+  if (output_path == 0) {\r
+    return fdopen(STDOUT_FILENO, "wb");\r
+  }\r
+  fd = open(output_path, O_CREAT | (force ? 0 : O_EXCL) | O_WRONLY | O_TRUNC,\r
+            S_IRUSR | S_IWUSR);\r
+  if (fd < 0) {\r
+    if (!force) {\r
+      struct stat statbuf;\r
+      if (stat(output_path, &statbuf) == 0) {\r
+        fprintf(stderr, "output file exists\n");\r
+        exit(1);\r
+      }\r
+    }\r
+    perror("open");\r
+    exit(1);\r
+  }\r
+  return fdopen(fd, "wb");\r
+}\r
+\r
+static int64_t FileSize(const char *path) {\r
+  FILE *f = fopen(path, "rb");\r
+  int64_t retval;\r
+  if (f == NULL) {\r
+    return -1;\r
+  }\r
+  if (fseek(f, 0L, SEEK_END) != 0) {\r
+    fclose(f);\r
+    return -1;\r
+  }\r
+  retval = ftell(f);\r
+  if (fclose(f) != 0) {\r
+    return -1;\r
+  }\r
+  return retval;\r
+}\r
+\r
+/* Result ownersip is passed to caller.\r
+   |*dictionary_size| is set to resulting buffer size. */\r
+static uint8_t* ReadDictionary(const char* path, size_t* dictionary_size) {\r
+  static const int kMaxDictionarySize = (1 << 24) - 16;\r
+  FILE *f = fopen(path, "rb");\r
+  int64_t file_size_64;\r
+  uint8_t* buffer;\r
+  size_t bytes_read;\r
+\r
+  if (f == NULL) {\r
+    perror("fopen");\r
+    exit(1);\r
+  }\r
+\r
+  file_size_64 = FileSize(path);\r
+  if (file_size_64 == -1) {\r
+    fprintf(stderr, "could not get size of dictionary file");\r
+    exit(1);\r
+  }\r
+\r
+  if (file_size_64 > kMaxDictionarySize) {\r
+    fprintf(stderr, "dictionary is larger than maximum allowed: %d\n",\r
+            kMaxDictionarySize);\r
+    exit(1);\r
+  }\r
+  *dictionary_size = (size_t)file_size_64;\r
+\r
+  buffer = (uint8_t*)malloc(*dictionary_size);\r
+  if (!buffer) {\r
+    fprintf(stderr, "could not read dictionary: out of memory\n");\r
+    exit(1);\r
+  }\r
+  bytes_read = fread(buffer, sizeof(uint8_t), *dictionary_size, f);\r
+  if (bytes_read != *dictionary_size) {\r
+    fprintf(stderr, "could not read dictionary\n");\r
+    exit(1);\r
+  }\r
+  fclose(f);\r
+  return buffer;\r
+}\r
+\r
+static const size_t kFileBufferSize = 65536;\r
+\r
+static int Decompress(FILE* fin, FILE* fout, const char* dictionary_path) {\r
+  /* Dictionary should be kept during first rounds of decompression. */\r
+  uint8_t* dictionary = NULL;\r
+  uint8_t* input;\r
+  uint8_t* output;\r
+  size_t total_out;\r
+  size_t available_in;\r
+  const uint8_t* next_in;\r
+  size_t available_out = kFileBufferSize;\r
+  uint8_t* next_out;\r
+  BrotliResult result = BROTLI_RESULT_ERROR;\r
+  BrotliState* s = BrotliCreateState(NULL, NULL, NULL);\r
+  if (!s) {\r
+    fprintf(stderr, "out of memory\n");\r
+    return 0;\r
+  }\r
+  if (dictionary_path != NULL) {\r
+    size_t dictionary_size = 0;\r
+    dictionary = ReadDictionary(dictionary_path, &dictionary_size);\r
+    BrotliSetCustomDictionary(dictionary_size, dictionary, s);\r
+  }\r
+  input = (uint8_t*)malloc(kFileBufferSize);\r
+  output = (uint8_t*)malloc(kFileBufferSize);\r
+  if (!input || !output) {\r
+    fprintf(stderr, "out of memory\n");\r
+    goto end;\r
+  }\r
+  next_out = output;\r
+  result = BROTLI_RESULT_NEEDS_MORE_INPUT;\r
+  while (1) {\r
+    if (result == BROTLI_RESULT_NEEDS_MORE_INPUT) {\r
+      if (feof(fin)) {\r
+        break;\r
+      }\r
+      available_in = fread(input, 1, kFileBufferSize, fin);\r
+      next_in = input;\r
+      if (ferror(fin)) {\r
+        break;\r
+      }\r
+    } else if (result == BROTLI_RESULT_NEEDS_MORE_OUTPUT) {\r
+      fwrite(output, 1, kFileBufferSize, fout);\r
+      if (ferror(fout)) {\r
+        break;\r
+      }\r
+      available_out = kFileBufferSize;\r
+      next_out = output;\r
+    } else {\r
+      break; /* Error or success. */\r
+    }\r
+    result = BrotliDecompressStream(&available_in, &next_in,\r
+        &available_out, &next_out, &total_out, s);\r
+  }\r
+  if (next_out != output) {\r
+    fwrite(output, 1, (size_t)(next_out - output), fout);\r
+  }\r
+\r
+  if ((result == BROTLI_RESULT_NEEDS_MORE_OUTPUT) || ferror(fout)) {\r
+    fprintf(stderr, "failed to write output\n");\r
+  } else if (result != BROTLI_RESULT_SUCCESS) { /* Error or needs more input. */\r
+    fprintf(stderr, "corrupt input\n");\r
+  }\r
+\r
+end:\r
+  free(dictionary);\r
+  free(input);\r
+  free(output);\r
+  BrotliDestroyState(s);\r
+  return (result == BROTLI_RESULT_SUCCESS) ? 1 : 0;\r
+}\r
+\r
+static int Compress(int quality, int lgwin, FILE* fin, FILE* fout,\r
+    const char *dictionary_path) {\r
+  BrotliEncoderState* s = BrotliEncoderCreateInstance(0, 0, 0);\r
+  uint8_t* buffer = (uint8_t*)malloc(kFileBufferSize << 1);\r
+  uint8_t* input = buffer;\r
+  uint8_t* output = buffer + kFileBufferSize;\r
+  size_t available_in = 0;\r
+  const uint8_t* next_in = NULL;\r
+  size_t available_out = kFileBufferSize;\r
+  uint8_t* next_out = output;\r
+  int is_eof = 0;\r
+  int is_ok = 1;\r
+\r
+  if (!s || !buffer) {\r
+    is_ok = 0;\r
+    goto finish;\r
+  }\r
+\r
+  BrotliEncoderSetParameter(s, BROTLI_PARAM_QUALITY, (uint32_t)quality);\r
+  BrotliEncoderSetParameter(s, BROTLI_PARAM_LGWIN, (uint32_t)lgwin);\r
+  if (dictionary_path != NULL) {\r
+    size_t dictionary_size = 0;\r
+    uint8_t* dictionary = ReadDictionary(dictionary_path, &dictionary_size);\r
+    BrotliEncoderSetCustomDictionary(s, dictionary_size, dictionary);\r
+    free(dictionary);\r
+  }\r
+\r
+  while (1) {\r
+    if (available_in == 0 && !is_eof) {\r
+      available_in = fread(input, 1, kFileBufferSize, fin);\r
+      next_in = input;\r
+      if (ferror(fin)) break;\r
+      is_eof = feof(fin);\r
+    }\r
+\r
+    if (!BrotliEncoderCompressStream(s,\r
+        is_eof ? BROTLI_OPERATION_FINISH : BROTLI_OPERATION_PROCESS,\r
+        &available_in, &next_in, &available_out, &next_out, NULL)) {\r
+      is_ok = 0;\r
+      break;\r
+    }\r
+\r
+    if (available_out != kFileBufferSize) {\r
+      size_t out_size = kFileBufferSize - available_out;\r
+      fwrite(output, 1, out_size, fout);\r
+      if (ferror(fout)) break;\r
+      available_out = kFileBufferSize;\r
+      next_out = output;\r
+    }\r
+\r
+    if (BrotliEncoderIsFinished(s)) break;\r
+  }\r
+\r
+finish:\r
+  free(buffer);\r
+  BrotliEncoderDestroyInstance(s);\r
+\r
+  if (!is_ok) {\r
+    /* Should detect OOM? */\r
+    fprintf(stderr, "failed to compress data\n");\r
+    return 0;\r
+  } else if (ferror(fout)) {\r
+    fprintf(stderr, "failed to write output\n");\r
+    return 0;\r
+  } else if (ferror(fin)) {\r
+    fprintf(stderr, "failed to read input\n");\r
+    return 0;\r
+  }\r
+  return 1;\r
+}\r
+\r
+int main(int argc, char** argv) {\r
+  char *input_path = 0;\r
+  char *output_path = 0;\r
+  char *dictionary_path = 0;\r
+  int force = 0;\r
+  int quality = 11;\r
+  int decompress = 0;\r
+  int repeat = 1;\r
+  int verbose = 0;\r
+  int lgwin = 0;\r
+  clock_t clock_start;\r
+  int i;\r
+  ParseArgv(argc, argv, &input_path, &output_path, &dictionary_path, &force,\r
+            &quality, &decompress, &repeat, &verbose, &lgwin);\r
+  clock_start = clock();\r
+  for (i = 0; i < repeat; ++i) {\r
+    FILE* fin = OpenInputFile(input_path);\r
+    FILE* fout = OpenOutputFile(output_path, force || repeat);\r
+    int is_ok = 0;\r
+    if (decompress) {\r
+      is_ok = Decompress(fin, fout, dictionary_path);\r
+    } else {\r
+      is_ok = Compress(quality, lgwin, fin, fout, dictionary_path);\r
+    }\r
+    if (!is_ok) {\r
+      unlink(output_path);\r
+      exit(1);\r
+    }\r
+    if (fclose(fin) != 0) {\r
+      perror("fclose");\r
+      exit(1);\r
+    }\r
+    if (fclose(fout) != 0) {\r
+      perror("fclose");\r
+      exit(1);\r
+    }\r
+  }\r
+  if (verbose) {\r
+    clock_t clock_end = clock();\r
+    double duration = (double)(clock_end - clock_start) / CLOCKS_PER_SEC;\r
+    int64_t uncompressed_size;\r
+    double uncompressed_bytes_in_MB;\r
+    if (duration < 1e-9) {\r
+      duration = 1e-9;\r
+    }\r
+    uncompressed_size = FileSize(decompress ? output_path : input_path);\r
+    if (uncompressed_size == -1) {\r
+      fprintf(stderr, "failed to determine uncompressed file size\n");\r
+      exit(1);\r
+    }\r
+    uncompressed_bytes_in_MB =\r
+        (double)(repeat * uncompressed_size) / (1024.0 * 1024.0);\r
+    if (decompress) {\r
+      printf("Brotli decompression speed: ");\r
+    } else {\r
+      printf("Brotli compression speed: ");\r
+    }\r
+    printf("%g MB/s\n", uncompressed_bytes_in_MB / duration);\r
+  }\r
+  return 0;\r
+}\r
diff --git a/BaseTools/Source/C/BrotliCompress/tools/version.h b/BaseTools/Source/C/BrotliCompress/tools/version.h
new file mode 100644 (file)
index 0000000..070557e
--- /dev/null
@@ -0,0 +1,14 @@
+/* Copyright 2015 Google Inc. All Rights Reserved.\r
+\r
+   Distributed under MIT license.\r
+   See file LICENSE for detail or copy at https://opensource.org/licenses/MIT\r
+*/\r
+\r
+/* Defines a common version string used by all of the brotli tools. */\r
+\r
+#ifndef BROTLI_TOOLS_VERSION_H_\r
+#define BROTLI_TOOLS_VERSION_H_\r
+\r
+#define BROTLI_VERSION "0.5.2"\r
+\r
+#endif  /* BROTLI_TOOLS_VERSION_H_ */\r