From: "Zhang, Shenglei" <shenglei.zhang@intel.com>
To: devel@edk2.groups.io
Cc: Liming Gao <liming.gao@intel.com>,
Jian J Wang <jian.j.wang@intel.com>,
Hao A Wu <hao.a.wu@intel.com>
Subject: [PATCH 1/2] MdeModulePkg/BrotliCustomDecompressLib: Make brotli a submodule
Date: Mon, 2 Mar 2020 11:19:43 +0800 [thread overview]
Message-ID: <20200302031944.13544-2-shenglei.zhang@intel.com> (raw)
In-Reply-To: <20200302031944.13544-1-shenglei.zhang@intel.com>
Use submodule way to access brotli in MdeModulePkg based on
brotli version 666c3280cc11dc433c303d79a83d4ffbdd12cc8d.
The newly added BrotliDecUefiSupport.h/.c are used by directory
'brotli'.
https://bugzilla.tianocore.org/show_bug.cgi?id=2559
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../BrotliDecUefiSupport.c | 31 +
.../common/dictionary.c | 5905 -----------------
.../common/transform.c | 235 -
.../dec/bit_reader.c | 48 -
.../BrotliCustomDecompressLib/dec/decode.c | 2500 -------
.../BrotliCustomDecompressLib/dec/huffman.c | 356 -
.../BrotliCustomDecompressLib/dec/state.c | 164 -
.gitmodules | 3 +
.../BrotliCustomDecompressLib.inf | 42 +-
.../BrotliDecUefiSupport.h | 43 +
.../BrotliDecompressLibInternal.h | 23 +-
.../Library/BrotliCustomDecompressLib/LICENSE | 19 -
.../BrotliCustomDecompressLib/README.md | 26 -
.../BrotliCustomDecompressLib/ReadMe.txt | 2 -
.../Library/BrotliCustomDecompressLib/brotli | 1 +
.../BrotliCustomDecompressLib/brotli/decode.h | 344 -
.../BrotliCustomDecompressLib/brotli/port.h | 274 -
.../BrotliCustomDecompressLib/brotli/types.h | 92 -
.../common/constants.h | 64 -
.../common/context.h | 261 -
.../common/dictionary.h | 64 -
.../common/platform.h | 559 --
.../common/transform.h | 80 -
.../common/version.h | 26 -
.../dec/bit_reader.h | 309 -
.../BrotliCustomDecompressLib/dec/huffman.h | 72 -
.../BrotliCustomDecompressLib/dec/prefix.h | 750 ---
.../BrotliCustomDecompressLib/dec/state.h | 258 -
.../brotli-comparison-study-2015-09-22.pdf | Bin 215208 -> 0 bytes
.../BrotliCustomDecompressLib/stddef.h | 9 +
.../BrotliCustomDecompressLib/stdint.h | 9 +
.../BrotliCustomDecompressLib/stdlib.h | 9 +
.../BrotliCustomDecompressLib/string.h | 9 +
MdeModulePkg/MdeModulePkg.dec | 2 +
Readme.md | 3 +-
35 files changed, 143 insertions(+), 12449 deletions(-)
create mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.c
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.c
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.c
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.c
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.c
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.c
create mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/README.md
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/ReadMe.txt
create mode 160000 MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/decode.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/port.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/types.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/constants.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/context.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/platform.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/common/version.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/prefix.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.h
delete mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/docs/brotli-comparison-study-2015-09-22.pdf
create mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/stddef.h
create mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/stdint.h
create mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/stdlib.h
create mode 100644 MdeModulePkg/Library/BrotliCustomDecompressLib/string.h
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.c
new file mode 100644
index 000000000000..102146535b4f
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.c
@@ -0,0 +1,31 @@
+/** @file
+ Implements for functions declared in BrotliDecUefiSupport.h
+
+ Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+#include <BrotliDecUefiSupport.h>
+
+/**
+ Dummy malloc function for compiler.
+**/
+VOID *
+BrDummyMalloc (
+ IN size_t Size
+ )
+{
+ ASSERT (FALSE);
+ return NULL;
+}
+
+/**
+ Dummy free function for compiler.
+**/
+VOID
+BrDummyFree (
+ IN VOID * Ptr
+ )
+{
+ ASSERT (FALSE);
+}
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.c
deleted file mode 100644
index 7fd076194825..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.c
+++ /dev/null
@@ -1,5905 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-#include "./dictionary.h"
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-#ifndef BROTLI_EXTERNAL_DICTIONARY_DATA
-static const uint8_t kBrotliDictionaryData[] =
-{
-116,105,109,101,100,111,119,110,108,105,102,101,108,101,102,116,98,97,99,107,99,
-111,100,101,100,97,116,97,115,104,111,119,111,110,108,121,115,105,116,101,99,105
-,116,121,111,112,101,110,106,117,115,116,108,105,107,101,102,114,101,101,119,111
-,114,107,116,101,120,116,121,101,97,114,111,118,101,114,98,111,100,121,108,111,
-118,101,102,111,114,109,98,111,111,107,112,108,97,121,108,105,118,101,108,105,
-110,101,104,101,108,112,104,111,109,101,115,105,100,101,109,111,114,101,119,111,
-114,100,108,111,110,103,116,104,101,109,118,105,101,119,102,105,110,100,112,97,
-103,101,100,97,121,115,102,117,108,108,104,101,97,100,116,101,114,109,101,97,99,
-104,97,114,101,97,102,114,111,109,116,114,117,101,109,97,114,107,97,98,108,101,
-117,112,111,110,104,105,103,104,100,97,116,101,108,97,110,100,110,101,119,115,
-101,118,101,110,110,101,120,116,99,97,115,101,98,111,116,104,112,111,115,116,117
-,115,101,100,109,97,100,101,104,97,110,100,104,101,114,101,119,104,97,116,110,97
-,109,101,76,105,110,107,98,108,111,103,115,105,122,101,98,97,115,101,104,101,108
-,100,109,97,107,101,109,97,105,110,117,115,101,114,39,41,32,43,104,111,108,100,
-101,110,100,115,119,105,116,104,78,101,119,115,114,101,97,100,119,101,114,101,
-115,105,103,110,116,97,107,101,104,97,118,101,103,97,109,101,115,101,101,110,99,
-97,108,108,112,97,116,104,119,101,108,108,112,108,117,115,109,101,110,117,102,
-105,108,109,112,97,114,116,106,111,105,110,116,104,105,115,108,105,115,116,103,
-111,111,100,110,101,101,100,119,97,121,115,119,101,115,116,106,111,98,115,109,
-105,110,100,97,108,115,111,108,111,103,111,114,105,99,104,117,115,101,115,108,97
-,115,116,116,101,97,109,97,114,109,121,102,111,111,100,107,105,110,103,119,105,
-108,108,101,97,115,116,119,97,114,100,98,101,115,116,102,105,114,101,80,97,103,
-101,107,110,111,119,97,119,97,121,46,112,110,103,109,111,118,101,116,104,97,110,
-108,111,97,100,103,105,118,101,115,101,108,102,110,111,116,101,109,117,99,104,
-102,101,101,100,109,97,110,121,114,111,99,107,105,99,111,110,111,110,99,101,108,
-111,111,107,104,105,100,101,100,105,101,100,72,111,109,101,114,117,108,101,104,
-111,115,116,97,106,97,120,105,110,102,111,99,108,117,98,108,97,119,115,108,101,
-115,115,104,97,108,102,115,111,109,101,115,117,99,104,122,111,110,101,49,48,48,
-37,111,110,101,115,99,97,114,101,84,105,109,101,114,97,99,101,98,108,117,101,102
-,111,117,114,119,101,101,107,102,97,99,101,104,111,112,101,103,97,118,101,104,97
-,114,100,108,111,115,116,119,104,101,110,112,97,114,107,107,101,112,116,112,97,
-115,115,115,104,105,112,114,111,111,109,72,84,77,76,112,108,97,110,84,121,112,
-101,100,111,110,101,115,97,118,101,107,101,101,112,102,108,97,103,108,105,110,
-107,115,111,108,100,102,105,118,101,116,111,111,107,114,97,116,101,116,111,119,
-110,106,117,109,112,116,104,117,115,100,97,114,107,99,97,114,100,102,105,108,101
-,102,101,97,114,115,116,97,121,107,105,108,108,116,104,97,116,102,97,108,108,97,
-117,116,111,101,118,101,114,46,99,111,109,116,97,108,107,115,104,111,112,118,111
-,116,101,100,101,101,112,109,111,100,101,114,101,115,116,116,117,114,110,98,111,
-114,110,98,97,110,100,102,101,108,108,114,111,115,101,117,114,108,40,115,107,105
-,110,114,111,108,101,99,111,109,101,97,99,116,115,97,103,101,115,109,101,101,116
-,103,111,108,100,46,106,112,103,105,116,101,109,118,97,114,121,102,101,108,116,
-116,104,101,110,115,101,110,100,100,114,111,112,86,105,101,119,99,111,112,121,49
-,46,48,34,60,47,97,62,115,116,111,112,101,108,115,101,108,105,101,115,116,111,
-117,114,112,97,99,107,46,103,105,102,112,97,115,116,99,115,115,63,103,114,97,121
-,109,101,97,110,38,103,116,59,114,105,100,101,115,104,111,116,108,97,116,101,115
-,97,105,100,114,111,97,100,118,97,114,32,102,101,101,108,106,111,104,110,114,105
-,99,107,112,111,114,116,102,97,115,116,39,85,65,45,100,101,97,100,60,47,98,62,
-112,111,111,114,98,105,108,108,116,121,112,101,85,46,83,46,119,111,111,100,109,
-117,115,116,50,112,120,59,73,110,102,111,114,97,110,107,119,105,100,101,119,97,
-110,116,119,97,108,108,108,101,97,100,91,48,93,59,112,97,117,108,119,97,118,101,
-115,117,114,101,36,40,39,35,119,97,105,116,109,97,115,115,97,114,109,115,103,111
-,101,115,103,97,105,110,108,97,110,103,112,97,105,100,33,45,45,32,108,111,99,107
-,117,110,105,116,114,111,111,116,119,97,108,107,102,105,114,109,119,105,102,101,
-120,109,108,34,115,111,110,103,116,101,115,116,50,48,112,120,107,105,110,100,114
-,111,119,115,116,111,111,108,102,111,110,116,109,97,105,108,115,97,102,101,115,
-116,97,114,109,97,112,115,99,111,114,101,114,97,105,110,102,108,111,119,98,97,98
-,121,115,112,97,110,115,97,121,115,52,112,120,59,54,112,120,59,97,114,116,115,
-102,111,111,116,114,101,97,108,119,105,107,105,104,101,97,116,115,116,101,112,
-116,114,105,112,111,114,103,47,108,97,107,101,119,101,97,107,116,111,108,100,70,
-111,114,109,99,97,115,116,102,97,110,115,98,97,110,107,118,101,114,121,114,117,
-110,115,106,117,108,121,116,97,115,107,49,112,120,59,103,111,97,108,103,114,101,
-119,115,108,111,119,101,100,103,101,105,100,61,34,115,101,116,115,53,112,120,59,
-46,106,115,63,52,48,112,120,105,102,32,40,115,111,111,110,115,101,97,116,110,111
-,110,101,116,117,98,101,122,101,114,111,115,101,110,116,114,101,101,100,102,97,
-99,116,105,110,116,111,103,105,102,116,104,97,114,109,49,56,112,120,99,97,109,
-101,104,105,108,108,98,111,108,100,122,111,111,109,118,111,105,100,101,97,115,
-121,114,105,110,103,102,105,108,108,112,101,97,107,105,110,105,116,99,111,115,
-116,51,112,120,59,106,97,99,107,116,97,103,115,98,105,116,115,114,111,108,108,
-101,100,105,116,107,110,101,119,110,101,97,114,60,33,45,45,103,114,111,119,74,83
-,79,78,100,117,116,121,78,97,109,101,115,97,108,101,121,111,117,32,108,111,116,
-115,112,97,105,110,106,97,122,122,99,111,108,100,101,121,101,115,102,105,115,104
-,119,119,119,46,114,105,115,107,116,97,98,115,112,114,101,118,49,48,112,120,114,
-105,115,101,50,53,112,120,66,108,117,101,100,105,110,103,51,48,48,44,98,97,108,
-108,102,111,114,100,101,97,114,110,119,105,108,100,98,111,120,46,102,97,105,114,
-108,97,99,107,118,101,114,115,112,97,105,114,106,117,110,101,116,101,99,104,105,
-102,40,33,112,105,99,107,101,118,105,108,36,40,34,35,119,97,114,109,108,111,114,
-100,100,111,101,115,112,117,108,108,44,48,48,48,105,100,101,97,100,114,97,119,
-104,117,103,101,115,112,111,116,102,117,110,100,98,117,114,110,104,114,101,102,
-99,101,108,108,107,101,121,115,116,105,99,107,104,111,117,114,108,111,115,115,
-102,117,101,108,49,50,112,120,115,117,105,116,100,101,97,108,82,83,83,34,97,103,
-101,100,103,114,101,121,71,69,84,34,101,97,115,101,97,105,109,115,103,105,114,
-108,97,105,100,115,56,112,120,59,110,97,118,121,103,114,105,100,116,105,112,115,
-35,57,57,57,119,97,114,115,108,97,100,121,99,97,114,115,41,59,32,125,112,104,112
-,63,104,101,108,108,116,97,108,108,119,104,111,109,122,104,58,229,42,47,13,10,32
-,49,48,48,104,97,108,108,46,10,10,65,55,112,120,59,112,117,115,104,99,104,97,116
-,48,112,120,59,99,114,101,119,42,47,60,47,104,97,115,104,55,53,112,120,102,108,
-97,116,114,97,114,101,32,38,38,32,116,101,108,108,99,97,109,112,111,110,116,111,
-108,97,105,100,109,105,115,115,115,107,105,112,116,101,110,116,102,105,110,101,
-109,97,108,101,103,101,116,115,112,108,111,116,52,48,48,44,13,10,13,10,99,111,
-111,108,102,101,101,116,46,112,104,112,60,98,114,62,101,114,105,99,109,111,115,
-116,103,117,105,100,98,101,108,108,100,101,115,99,104,97,105,114,109,97,116,104,
-97,116,111,109,47,105,109,103,38,35,56,50,108,117,99,107,99,101,110,116,48,48,48
-,59,116,105,110,121,103,111,110,101,104,116,109,108,115,101,108,108,100,114,117,
-103,70,82,69,69,110,111,100,101,110,105,99,107,63,105,100,61,108,111,115,101,110
-,117,108,108,118,97,115,116,119,105,110,100,82,83,83,32,119,101,97,114,114,101,
-108,121,98,101,101,110,115,97,109,101,100,117,107,101,110,97,115,97,99,97,112,
-101,119,105,115,104,103,117,108,102,84,50,51,58,104,105,116,115,115,108,111,116,
-103,97,116,101,107,105,99,107,98,108,117,114,116,104,101,121,49,53,112,120,39,39
-,41,59,41,59,34,62,109,115,105,101,119,105,110,115,98,105,114,100,115,111,114,
-116,98,101,116,97,115,101,101,107,84,49,56,58,111,114,100,115,116,114,101,101,
-109,97,108,108,54,48,112,120,102,97,114,109,226,128,153,115,98,111,121,115,91,48
-,93,46,39,41,59,34,80,79,83,84,98,101,97,114,107,105,100,115,41,59,125,125,109,
-97,114,121,116,101,110,100,40,85,75,41,113,117,97,100,122,104,58,230,45,115,105,
-122,45,45,45,45,112,114,111,112,39,41,59,13,108,105,102,116,84,49,57,58,118,105,
-99,101,97,110,100,121,100,101,98,116,62,82,83,83,112,111,111,108,110,101,99,107,
-98,108,111,119,84,49,54,58,100,111,111,114,101,118,97,108,84,49,55,58,108,101,
-116,115,102,97,105,108,111,114,97,108,112,111,108,108,110,111,118,97,99,111,108,
-115,103,101,110,101,32,226,128,148,115,111,102,116,114,111,109,101,116,105,108,
-108,114,111,115,115,60,104,51,62,112,111,117,114,102,97,100,101,112,105,110,107,
-60,116,114,62,109,105,110,105,41,124,33,40,109,105,110,101,122,104,58,232,98,97,
-114,115,104,101,97,114,48,48,41,59,109,105,108,107,32,45,45,62,105,114,111,110,
-102,114,101,100,100,105,115,107,119,101,110,116,115,111,105,108,112,117,116,115,
-47,106,115,47,104,111,108,121,84,50,50,58,73,83,66,78,84,50,48,58,97,100,97,109,
-115,101,101,115,60,104,50,62,106,115,111,110,39,44,32,39,99,111,110,116,84,50,49
-,58,32,82,83,83,108,111,111,112,97,115,105,97,109,111,111,110,60,47,112,62,115,
-111,117,108,76,73,78,69,102,111,114,116,99,97,114,116,84,49,52,58,60,104,49,62,
-56,48,112,120,33,45,45,60,57,112,120,59,84,48,52,58,109,105,107,101,58,52,54,90,
-110,105,99,101,105,110,99,104,89,111,114,107,114,105,99,101,122,104,58,228,39,41
-,41,59,112,117,114,101,109,97,103,101,112,97,114,97,116,111,110,101,98,111,110,
-100,58,51,55,90,95,111,102,95,39,93,41,59,48,48,48,44,122,104,58,231,116,97,110,
-107,121,97,114,100,98,111,119,108,98,117,115,104,58,53,54,90,74,97,118,97,51,48,
-112,120,10,124,125,10,37,67,51,37,58,51,52,90,106,101,102,102,69,88,80,73,99,97,
-115,104,118,105,115,97,103,111,108,102,115,110,111,119,122,104,58,233,113,117,
-101,114,46,99,115,115,115,105,99,107,109,101,97,116,109,105,110,46,98,105,110,
-100,100,101,108,108,104,105,114,101,112,105,99,115,114,101,110,116,58,51,54,90,
-72,84,84,80,45,50,48,49,102,111,116,111,119,111,108,102,69,78,68,32,120,98,111,
-120,58,53,52,90,66,79,68,89,100,105,99,107,59,10,125,10,101,120,105,116,58,51,53
-,90,118,97,114,115,98,101,97,116,39,125,41,59,100,105,101,116,57,57,57,59,97,110
-,110,101,125,125,60,47,91,105,93,46,76,97,110,103,107,109,194,178,119,105,114,
-101,116,111,121,115,97,100,100,115,115,101,97,108,97,108,101,120,59,10,9,125,101
-,99,104,111,110,105,110,101,46,111,114,103,48,48,53,41,116,111,110,121,106,101,
-119,115,115,97,110,100,108,101,103,115,114,111,111,102,48,48,48,41,32,50,48,48,
-119,105,110,101,103,101,97,114,100,111,103,115,98,111,111,116,103,97,114,121,99,
-117,116,115,116,121,108,101,116,101,109,112,116,105,111,110,46,120,109,108,99,
-111,99,107,103,97,110,103,36,40,39,46,53,48,112,120,80,104,46,68,109,105,115,99,
-97,108,97,110,108,111,97,110,100,101,115,107,109,105,108,101,114,121,97,110,117,
-110,105,120,100,105,115,99,41,59,125,10,100,117,115,116,99,108,105,112,41,46,10,
-10,55,48,112,120,45,50,48,48,68,86,68,115,55,93,62,60,116,97,112,101,100,101,109
-,111,105,43,43,41,119,97,103,101,101,117,114,111,112,104,105,108,111,112,116,115
-,104,111,108,101,70,65,81,115,97,115,105,110,45,50,54,84,108,97,98,115,112,101,
-116,115,85,82,76,32,98,117,108,107,99,111,111,107,59,125,13,10,72,69,65,68,91,48
-,93,41,97,98,98,114,106,117,97,110,40,49,57,56,108,101,115,104,116,119,105,110,
-60,47,105,62,115,111,110,121,103,117,121,115,102,117,99,107,112,105,112,101,124,
-45,10,33,48,48,50,41,110,100,111,119,91,49,93,59,91,93,59,10,76,111,103,32,115,
-97,108,116,13,10,9,9,98,97,110,103,116,114,105,109,98,97,116,104,41,123,13,10,48
-,48,112,120,10,125,41,59,107,111,58,236,102,101,101,115,97,100,62,13,115,58,47,
-47,32,91,93,59,116,111,108,108,112,108,117,103,40,41,123,10,123,13,10,32,46,106,
-115,39,50,48,48,112,100,117,97,108,98,111,97,116,46,74,80,71,41,59,10,125,113,
-117,111,116,41,59,10,10,39,41,59,10,13,10,125,13,50,48,49,52,50,48,49,53,50,48,
-49,54,50,48,49,55,50,48,49,56,50,48,49,57,50,48,50,48,50,48,50,49,50,48,50,50,50
-,48,50,51,50,48,50,52,50,48,50,53,50,48,50,54,50,48,50,55,50,48,50,56,50,48,50,
-57,50,48,51,48,50,48,51,49,50,48,51,50,50,48,51,51,50,48,51,52,50,48,51,53,50,48
-,51,54,50,48,51,55,50,48,49,51,50,48,49,50,50,48,49,49,50,48,49,48,50,48,48,57,
-50,48,48,56,50,48,48,55,50,48,48,54,50,48,48,53,50,48,48,52,50,48,48,51,50,48,48
-,50,50,48,48,49,50,48,48,48,49,57,57,57,49,57,57,56,49,57,57,55,49,57,57,54,49,
-57,57,53,49,57,57,52,49,57,57,51,49,57,57,50,49,57,57,49,49,57,57,48,49,57,56,57
-,49,57,56,56,49,57,56,55,49,57,56,54,49,57,56,53,49,57,56,52,49,57,56,51,49,57,
-56,50,49,57,56,49,49,57,56,48,49,57,55,57,49,57,55,56,49,57,55,55,49,57,55,54,49
-,57,55,53,49,57,55,52,49,57,55,51,49,57,55,50,49,57,55,49,49,57,55,48,49,57,54,
-57,49,57,54,56,49,57,54,55,49,57,54,54,49,57,54,53,49,57,54,52,49,57,54,51,49,57
-,54,50,49,57,54,49,49,57,54,48,49,57,53,57,49,57,53,56,49,57,53,55,49,57,53,54,
-49,57,53,53,49,57,53,52,49,57,53,51,49,57,53,50,49,57,53,49,49,57,53,48,49,48,48
-,48,49,48,50,52,49,51,57,52,48,48,48,48,57,57,57,57,99,111,109,111,109,195,161,
-115,101,115,116,101,101,115,116,97,112,101,114,111,116,111,100,111,104,97,99,101
-,99,97,100,97,97,195,177,111,98,105,101,110,100,195,173,97,97,115,195,173,118,
-105,100,97,99,97,115,111,111,116,114,111,102,111,114,111,115,111,108,111,111,116
-,114,97,99,117,97,108,100,105,106,111,115,105,100,111,103,114,97,110,116,105,112
-,111,116,101,109,97,100,101,98,101,97,108,103,111,113,117,195,169,101,115,116,
-111,110,97,100,97,116,114,101,115,112,111,99,111,99,97,115,97,98,97,106,111,116,
-111,100,97,115,105,110,111,97,103,117,97,112,117,101,115,117,110,111,115,97,110,
-116,101,100,105,99,101,108,117,105,115,101,108,108,97,109,97,121,111,122,111,110
-,97,97,109,111,114,112,105,115,111,111,98,114,97,99,108,105,99,101,108,108,111,
-100,105,111,115,104,111,114,97,99,97,115,105,208,183,208,176,208,189,208,176,208
-,190,208,188,209,128,208,176,209,128,209,131,209,130,208,176,208,189,208,181,208
-,191,208,190,208,190,209,130,208,184,208,183,208,189,208,190,208,180,208,190,209
-,130,208,190,208,182,208,181,208,190,208,189,208,184,209,133,208,157,208,176,208
-,181,208,181,208,177,209,139,208,188,209,139,208,146,209,139,209,129,208,190,208
-,178,209,139,208,178,208,190,208,157,208,190,208,190,208,177,208,159,208,190,208
-,187,208,184,208,189,208,184,208,160,208,164,208,157,208,181,208,156,209,139,209
-,130,209,139,208,158,208,189,208,184,208,188,208,180,208,176,208,151,208,176,208
-,148,208,176,208,157,209,131,208,158,208,177,209,130,208,181,208,152,208,183,208
-,181,208,185,208,189,209,131,208,188,208,188,208,162,209,139,209,131,208,182,217
-,129,217,138,216,163,217,134,217,133,216,167,217,133,216,185,217,131,217,132,216
-,163,217,136,216,177,216,175,217,138,216,167,217,129,217,137,217,135,217,136,217
-,132,217,133,217,132,217,131,216,167,217,136,217,132,217,135,216,168,216,179,216
-,167,217,132,216,165,217,134,217,135,217,138,216,163,217,138,217,130,216,175,217
-,135,217,132,216,171,217,133,216,168,217,135,217,132,217,136,217,132,217,138,216
-,168,217,132,216,167,217,138,216,168,217,131,216,180,217,138,216,167,217,133,216
-,163,217,133,217,134,216,170,216,168,217,138,217,132,217,134,216,173,216,168,217
-,135,217,133,217,133,216,180,217,136,216,180,102,105,114,115,116,118,105,100,101
-,111,108,105,103,104,116,119,111,114,108,100,109,101,100,105,97,119,104,105,116,
-101,99,108,111,115,101,98,108,97,99,107,114,105,103,104,116,115,109,97,108,108,
-98,111,111,107,115,112,108,97,99,101,109,117,115,105,99,102,105,101,108,100,111,
-114,100,101,114,112,111,105,110,116,118,97,108,117,101,108,101,118,101,108,116,
-97,98,108,101,98,111,97,114,100,104,111,117,115,101,103,114,111,117,112,119,111,
-114,107,115,121,101,97,114,115,115,116,97,116,101,116,111,100,97,121,119,97,116,
-101,114,115,116,97,114,116,115,116,121,108,101,100,101,97,116,104,112,111,119,
-101,114,112,104,111,110,101,110,105,103,104,116,101,114,114,111,114,105,110,112,
-117,116,97,98,111,117,116,116,101,114,109,115,116,105,116,108,101,116,111,111,
-108,115,101,118,101,110,116,108,111,99,97,108,116,105,109,101,115,108,97,114,103
-,101,119,111,114,100,115,103,97,109,101,115,115,104,111,114,116,115,112,97,99,
-101,102,111,99,117,115,99,108,101,97,114,109,111,100,101,108,98,108,111,99,107,
-103,117,105,100,101,114,97,100,105,111,115,104,97,114,101,119,111,109,101,110,97
-,103,97,105,110,109,111,110,101,121,105,109,97,103,101,110,97,109,101,115,121,
-111,117,110,103,108,105,110,101,115,108,97,116,101,114,99,111,108,111,114,103,
-114,101,101,110,102,114,111,110,116,38,97,109,112,59,119,97,116,99,104,102,111,
-114,99,101,112,114,105,99,101,114,117,108,101,115,98,101,103,105,110,97,102,116,
-101,114,118,105,115,105,116,105,115,115,117,101,97,114,101,97,115,98,101,108,111
-,119,105,110,100,101,120,116,111,116,97,108,104,111,117,114,115,108,97,98,101,
-108,112,114,105,110,116,112,114,101,115,115,98,117,105,108,116,108,105,110,107,
-115,115,112,101,101,100,115,116,117,100,121,116,114,97,100,101,102,111,117,110,
-100,115,101,110,115,101,117,110,100,101,114,115,104,111,119,110,102,111,114,109,
-115,114,97,110,103,101,97,100,100,101,100,115,116,105,108,108,109,111,118,101,
-100,116,97,107,101,110,97,98,111,118,101,102,108,97,115,104,102,105,120,101,100,
-111,102,116,101,110,111,116,104,101,114,118,105,101,119,115,99,104,101,99,107,
-108,101,103,97,108,114,105,118,101,114,105,116,101,109,115,113,117,105,99,107,
-115,104,97,112,101,104,117,109,97,110,101,120,105,115,116,103,111,105,110,103,
-109,111,118,105,101,116,104,105,114,100,98,97,115,105,99,112,101,97,99,101,115,
-116,97,103,101,119,105,100,116,104,108,111,103,105,110,105,100,101,97,115,119,
-114,111,116,101,112,97,103,101,115,117,115,101,114,115,100,114,105,118,101,115,
-116,111,114,101,98,114,101,97,107,115,111,117,116,104,118,111,105,99,101,115,105
-,116,101,115,109,111,110,116,104,119,104,101,114,101,98,117,105,108,100,119,104,
-105,99,104,101,97,114,116,104,102,111,114,117,109,116,104,114,101,101,115,112,
-111,114,116,112,97,114,116,121,67,108,105,99,107,108,111,119,101,114,108,105,118
-,101,115,99,108,97,115,115,108,97,121,101,114,101,110,116,114,121,115,116,111,
-114,121,117,115,97,103,101,115,111,117,110,100,99,111,117,114,116,121,111,117,
-114,32,98,105,114,116,104,112,111,112,117,112,116,121,112,101,115,97,112,112,108
-,121,73,109,97,103,101,98,101,105,110,103,117,112,112,101,114,110,111,116,101,
-115,101,118,101,114,121,115,104,111,119,115,109,101,97,110,115,101,120,116,114,
-97,109,97,116,99,104,116,114,97,99,107,107,110,111,119,110,101,97,114,108,121,98
-,101,103,97,110,115,117,112,101,114,112,97,112,101,114,110,111,114,116,104,108,
-101,97,114,110,103,105,118,101,110,110,97,109,101,100,101,110,100,101,100,84,101
-,114,109,115,112,97,114,116,115,71,114,111,117,112,98,114,97,110,100,117,115,105
-,110,103,119,111,109,97,110,102,97,108,115,101,114,101,97,100,121,97,117,100,105
-,111,116,97,107,101,115,119,104,105,108,101,46,99,111,109,47,108,105,118,101,100
-,99,97,115,101,115,100,97,105,108,121,99,104,105,108,100,103,114,101,97,116,106,
-117,100,103,101,116,104,111,115,101,117,110,105,116,115,110,101,118,101,114,98,
-114,111,97,100,99,111,97,115,116,99,111,118,101,114,97,112,112,108,101,102,105,
-108,101,115,99,121,99,108,101,115,99,101,110,101,112,108,97,110,115,99,108,105,
-99,107,119,114,105,116,101,113,117,101,101,110,112,105,101,99,101,101,109,97,105
-,108,102,114,97,109,101,111,108,100,101,114,112,104,111,116,111,108,105,109,105,
-116,99,97,99,104,101,99,105,118,105,108,115,99,97,108,101,101,110,116,101,114,
-116,104,101,109,101,116,104,101,114,101,116,111,117,99,104,98,111,117,110,100,
-114,111,121,97,108,97,115,107,101,100,119,104,111,108,101,115,105,110,99,101,115
-,116,111,99,107,32,110,97,109,101,102,97,105,116,104,104,101,97,114,116,101,109,
-112,116,121,111,102,102,101,114,115,99,111,112,101,111,119,110,101,100,109,105,
-103,104,116,97,108,98,117,109,116,104,105,110,107,98,108,111,111,100,97,114,114,
-97,121,109,97,106,111,114,116,114,117,115,116,99,97,110,111,110,117,110,105,111,
-110,99,111,117,110,116,118,97,108,105,100,115,116,111,110,101,83,116,121,108,101
-,76,111,103,105,110,104,97,112,112,121,111,99,99,117,114,108,101,102,116,58,102,
-114,101,115,104,113,117,105,116,101,102,105,108,109,115,103,114,97,100,101,110,
-101,101,100,115,117,114,98,97,110,102,105,103,104,116,98,97,115,105,115,104,111,
-118,101,114,97,117,116,111,59,114,111,117,116,101,46,104,116,109,108,109,105,120
-,101,100,102,105,110,97,108,89,111,117,114,32,115,108,105,100,101,116,111,112,
-105,99,98,114,111,119,110,97,108,111,110,101,100,114,97,119,110,115,112,108,105,
-116,114,101,97,99,104,82,105,103,104,116,100,97,116,101,115,109,97,114,99,104,
-113,117,111,116,101,103,111,111,100,115,76,105,110,107,115,100,111,117,98,116,97
-,115,121,110,99,116,104,117,109,98,97,108,108,111,119,99,104,105,101,102,121,111
-,117,116,104,110,111,118,101,108,49,48,112,120,59,115,101,114,118,101,117,110,
-116,105,108,104,97,110,100,115,67,104,101,99,107,83,112,97,99,101,113,117,101,
-114,121,106,97,109,101,115,101,113,117,97,108,116,119,105,99,101,48,44,48,48,48,
-83,116,97,114,116,112,97,110,101,108,115,111,110,103,115,114,111,117,110,100,101
-,105,103,104,116,115,104,105,102,116,119,111,114,116,104,112,111,115,116,115,108
-,101,97,100,115,119,101,101,107,115,97,118,111,105,100,116,104,101,115,101,109,
-105,108,101,115,112,108,97,110,101,115,109,97,114,116,97,108,112,104,97,112,108,
-97,110,116,109,97,114,107,115,114,97,116,101,115,112,108,97,121,115,99,108,97,
-105,109,115,97,108,101,115,116,101,120,116,115,115,116,97,114,115,119,114,111,
-110,103,60,47,104,51,62,116,104,105,110,103,46,111,114,103,47,109,117,108,116,
-105,104,101,97,114,100,80,111,119,101,114,115,116,97,110,100,116,111,107,101,110
-,115,111,108,105,100,40,116,104,105,115,98,114,105,110,103,115,104,105,112,115,
-115,116,97,102,102,116,114,105,101,100,99,97,108,108,115,102,117,108,108,121,102
-,97,99,116,115,97,103,101,110,116,84,104,105,115,32,47,47,45,45,62,97,100,109,
-105,110,101,103,121,112,116,69,118,101,110,116,49,53,112,120,59,69,109,97,105,
-108,116,114,117,101,34,99,114,111,115,115,115,112,101,110,116,98,108,111,103,115
-,98,111,120,34,62,110,111,116,101,100,108,101,97,118,101,99,104,105,110,97,115,
-105,122,101,115,103,117,101,115,116,60,47,104,52,62,114,111,98,111,116,104,101,
-97,118,121,116,114,117,101,44,115,101,118,101,110,103,114,97,110,100,99,114,105,
-109,101,115,105,103,110,115,97,119,97,114,101,100,97,110,99,101,112,104,97,115,
-101,62,60,33,45,45,101,110,95,85,83,38,35,51,57,59,50,48,48,112,120,95,110,97,
-109,101,108,97,116,105,110,101,110,106,111,121,97,106,97,120,46,97,116,105,111,
-110,115,109,105,116,104,85,46,83,46,32,104,111,108,100,115,112,101,116,101,114,
-105,110,100,105,97,110,97,118,34,62,99,104,97,105,110,115,99,111,114,101,99,111,
-109,101,115,100,111,105,110,103,112,114,105,111,114,83,104,97,114,101,49,57,57,
-48,115,114,111,109,97,110,108,105,115,116,115,106,97,112,97,110,102,97,108,108,
-115,116,114,105,97,108,111,119,110,101,114,97,103,114,101,101,60,47,104,50,62,97
-,98,117,115,101,97,108,101,114,116,111,112,101,114,97,34,45,47,47,87,99,97,114,
-100,115,104,105,108,108,115,116,101,97,109,115,80,104,111,116,111,116,114,117,
-116,104,99,108,101,97,110,46,112,104,112,63,115,97,105,110,116,109,101,116,97,
-108,108,111,117,105,115,109,101,97,110,116,112,114,111,111,102,98,114,105,101,
-102,114,111,119,34,62,103,101,110,114,101,116,114,117,99,107,108,111,111,107,115
-,86,97,108,117,101,70,114,97,109,101,46,110,101,116,47,45,45,62,10,60,116,114,
-121,32,123,10,118,97,114,32,109,97,107,101,115,99,111,115,116,115,112,108,97,105
-,110,97,100,117,108,116,113,117,101,115,116,116,114,97,105,110,108,97,98,111,114
-,104,101,108,112,115,99,97,117,115,101,109,97,103,105,99,109,111,116,111,114,116
-,104,101,105,114,50,53,48,112,120,108,101,97,115,116,115,116,101,112,115,67,111,
-117,110,116,99,111,117,108,100,103,108,97,115,115,115,105,100,101,115,102,117,
-110,100,115,104,111,116,101,108,97,119,97,114,100,109,111,117,116,104,109,111,
-118,101,115,112,97,114,105,115,103,105,118,101,115,100,117,116,99,104,116,101,
-120,97,115,102,114,117,105,116,110,117,108,108,44,124,124,91,93,59,116,111,112,
-34,62,10,60,33,45,45,80,79,83,84,34,111,99,101,97,110,60,98,114,47,62,102,108,
-111,111,114,115,112,101,97,107,100,101,112,116,104,32,115,105,122,101,98,97,110,
-107,115,99,97,116,99,104,99,104,97,114,116,50,48,112,120,59,97,108,105,103,110,
-100,101,97,108,115,119,111,117,108,100,53,48,112,120,59,117,114,108,61,34,112,97
-,114,107,115,109,111,117,115,101,77,111,115,116,32,46,46,46,60,47,97,109,111,110
-,103,98,114,97,105,110,98,111,100,121,32,110,111,110,101,59,98,97,115,101,100,99
-,97,114,114,121,100,114,97,102,116,114,101,102,101,114,112,97,103,101,95,104,111
-,109,101,46,109,101,116,101,114,100,101,108,97,121,100,114,101,97,109,112,114,
-111,118,101,106,111,105,110,116,60,47,116,114,62,100,114,117,103,115,60,33,45,45
-,32,97,112,114,105,108,105,100,101,97,108,97,108,108,101,110,101,120,97,99,116,
-102,111,114,116,104,99,111,100,101,115,108,111,103,105,99,86,105,101,119,32,115,
-101,101,109,115,98,108,97,110,107,112,111,114,116,115,32,40,50,48,48,115,97,118,
-101,100,95,108,105,110,107,103,111,97,108,115,103,114,97,110,116,103,114,101,101
-,107,104,111,109,101,115,114,105,110,103,115,114,97,116,101,100,51,48,112,120,59
-,119,104,111,115,101,112,97,114,115,101,40,41,59,34,32,66,108,111,99,107,108,105
-,110,117,120,106,111,110,101,115,112,105,120,101,108,39,41,59,34,62,41,59,105,
-102,40,45,108,101,102,116,100,97,118,105,100,104,111,114,115,101,70,111,99,117,
-115,114,97,105,115,101,98,111,120,101,115,84,114,97,99,107,101,109,101,110,116,
-60,47,101,109,62,98,97,114,34,62,46,115,114,99,61,116,111,119,101,114,97,108,116
-,61,34,99,97,98,108,101,104,101,110,114,121,50,52,112,120,59,115,101,116,117,112
-,105,116,97,108,121,115,104,97,114,112,109,105,110,111,114,116,97,115,116,101,
-119,97,110,116,115,116,104,105,115,46,114,101,115,101,116,119,104,101,101,108,
-103,105,114,108,115,47,99,115,115,47,49,48,48,37,59,99,108,117,98,115,115,116,
-117,102,102,98,105,98,108,101,118,111,116,101,115,32,49,48,48,48,107,111,114,101
-,97,125,41,59,13,10,98,97,110,100,115,113,117,101,117,101,61,32,123,125,59,56,48
-,112,120,59,99,107,105,110,103,123,13,10,9,9,97,104,101,97,100,99,108,111,99,107
-,105,114,105,115,104,108,105,107,101,32,114,97,116,105,111,115,116,97,116,115,70
-,111,114,109,34,121,97,104,111,111,41,91,48,93,59,65,98,111,117,116,102,105,110,
-100,115,60,47,104,49,62,100,101,98,117,103,116,97,115,107,115,85,82,76,32,61,99,
-101,108,108,115,125,41,40,41,59,49,50,112,120,59,112,114,105,109,101,116,101,108
-,108,115,116,117,114,110,115,48,120,54,48,48,46,106,112,103,34,115,112,97,105,
-110,98,101,97,99,104,116,97,120,101,115,109,105,99,114,111,97,110,103,101,108,45
-,45,62,60,47,103,105,102,116,115,115,116,101,118,101,45,108,105,110,107,98,111,
-100,121,46,125,41,59,10,9,109,111,117,110,116,32,40,49,57,57,70,65,81,60,47,114,
-111,103,101,114,102,114,97,110,107,67,108,97,115,115,50,56,112,120,59,102,101,
-101,100,115,60,104,49,62,60,115,99,111,116,116,116,101,115,116,115,50,50,112,120
-,59,100,114,105,110,107,41,32,124,124,32,108,101,119,105,115,115,104,97,108,108,
-35,48,51,57,59,32,102,111,114,32,108,111,118,101,100,119,97,115,116,101,48,48,
-112,120,59,106,97,58,227,130,115,105,109,111,110,60,102,111,110,116,114,101,112,
-108,121,109,101,101,116,115,117,110,116,101,114,99,104,101,97,112,116,105,103,
-104,116,66,114,97,110,100,41,32,33,61,32,100,114,101,115,115,99,108,105,112,115,
-114,111,111,109,115,111,110,107,101,121,109,111,98,105,108,109,97,105,110,46,78,
-97,109,101,32,112,108,97,116,101,102,117,110,110,121,116,114,101,101,115,99,111,
-109,47,34,49,46,106,112,103,119,109,111,100,101,112,97,114,97,109,83,84,65,82,84
-,108,101,102,116,32,105,100,100,101,110,44,32,50,48,49,41,59,10,125,10,102,111,
-114,109,46,118,105,114,117,115,99,104,97,105,114,116,114,97,110,115,119,111,114,
-115,116,80,97,103,101,115,105,116,105,111,110,112,97,116,99,104,60,33,45,45,10,
-111,45,99,97,99,102,105,114,109,115,116,111,117,114,115,44,48,48,48,32,97,115,
-105,97,110,105,43,43,41,123,97,100,111,98,101,39,41,91,48,93,105,100,61,49,48,98
-,111,116,104,59,109,101,110,117,32,46,50,46,109,105,46,112,110,103,34,107,101,
-118,105,110,99,111,97,99,104,67,104,105,108,100,98,114,117,99,101,50,46,106,112,
-103,85,82,76,41,43,46,106,112,103,124,115,117,105,116,101,115,108,105,99,101,104
-,97,114,114,121,49,50,48,34,32,115,119,101,101,116,116,114,62,13,10,110,97,109,
-101,61,100,105,101,103,111,112,97,103,101,32,115,119,105,115,115,45,45,62,10,10,
-35,102,102,102,59,34,62,76,111,103,46,99,111,109,34,116,114,101,97,116,115,104,
-101,101,116,41,32,38,38,32,49,52,112,120,59,115,108,101,101,112,110,116,101,110,
-116,102,105,108,101,100,106,97,58,227,131,105,100,61,34,99,78,97,109,101,34,119,
-111,114,115,101,115,104,111,116,115,45,98,111,120,45,100,101,108,116,97,10,38,
-108,116,59,98,101,97,114,115,58,52,56,90,60,100,97,116,97,45,114,117,114,97,108,
-60,47,97,62,32,115,112,101,110,100,98,97,107,101,114,115,104,111,112,115,61,32,
-34,34,59,112,104,112,34,62,99,116,105,111,110,49,51,112,120,59,98,114,105,97,110
-,104,101,108,108,111,115,105,122,101,61,111,61,37,50,70,32,106,111,105,110,109,
-97,121,98,101,60,105,109,103,32,105,109,103,34,62,44,32,102,106,115,105,109,103,
-34,32,34,41,91,48,93,77,84,111,112,66,84,121,112,101,34,110,101,119,108,121,68,
-97,110,115,107,99,122,101,99,104,116,114,97,105,108,107,110,111,119,115,60,47,
-104,53,62,102,97,113,34,62,122,104,45,99,110,49,48,41,59,10,45,49,34,41,59,116,
-121,112,101,61,98,108,117,101,115,116,114,117,108,121,100,97,118,105,115,46,106,
-115,39,59,62,13,10,60,33,115,116,101,101,108,32,121,111,117,32,104,50,62,13,10,
-102,111,114,109,32,106,101,115,117,115,49,48,48,37,32,109,101,110,117,46,13,10,9
-,13,10,119,97,108,101,115,114,105,115,107,115,117,109,101,110,116,100,100,105,
-110,103,98,45,108,105,107,116,101,97,99,104,103,105,102,34,32,118,101,103,97,115
-,100,97,110,115,107,101,101,115,116,105,115,104,113,105,112,115,117,111,109,105,
-115,111,98,114,101,100,101,115,100,101,101,110,116,114,101,116,111,100,111,115,
-112,117,101,100,101,97,195,177,111,115,101,115,116,195,161,116,105,101,110,101,
-104,97,115,116,97,111,116,114,111,115,112,97,114,116,101,100,111,110,100,101,110
-,117,101,118,111,104,97,99,101,114,102,111,114,109,97,109,105,115,109,111,109,
-101,106,111,114,109,117,110,100,111,97,113,117,195,173,100,195,173,97,115,115,
-195,179,108,111,97,121,117,100,97,102,101,99,104,97,116,111,100,97,115,116,97,
-110,116,111,109,101,110,111,115,100,97,116,111,115,111,116,114,97,115,115,105,
-116,105,111,109,117,99,104,111,97,104,111,114,97,108,117,103,97,114,109,97,121,
-111,114,101,115,116,111,115,104,111,114,97,115,116,101,110,101,114,97,110,116,
-101,115,102,111,116,111,115,101,115,116,97,115,112,97,195,173,115,110,117,101,
-118,97,115,97,108,117,100,102,111,114,111,115,109,101,100,105,111,113,117,105,
-101,110,109,101,115,101,115,112,111,100,101,114,99,104,105,108,101,115,101,114,
-195,161,118,101,99,101,115,100,101,99,105,114,106,111,115,195,169,101,115,116,97
-,114,118,101,110,116,97,103,114,117,112,111,104,101,99,104,111,101,108,108,111,
-115,116,101,110,103,111,97,109,105,103,111,99,111,115,97,115,110,105,118,101,108
-,103,101,110,116,101,109,105,115,109,97,97,105,114,101,115,106,117,108,105,111,
-116,101,109,97,115,104,97,99,105,97,102,97,118,111,114,106,117,110,105,111,108,
-105,98,114,101,112,117,110,116,111,98,117,101,110,111,97,117,116,111,114,97,98,
-114,105,108,98,117,101,110,97,116,101,120,116,111,109,97,114,122,111,115,97,98,
-101,114,108,105,115,116,97,108,117,101,103,111,99,195,179,109,111,101,110,101,
-114,111,106,117,101,103,111,112,101,114,195,186,104,97,98,101,114,101,115,116,
-111,121,110,117,110,99,97,109,117,106,101,114,118,97,108,111,114,102,117,101,114
-,97,108,105,98,114,111,103,117,115,116,97,105,103,117,97,108,118,111,116,111,115
-,99,97,115,111,115,103,117,195,173,97,112,117,101,100,111,115,111,109,111,115,97
-,118,105,115,111,117,115,116,101,100,100,101,98,101,110,110,111,99,104,101,98,
-117,115,99,97,102,97,108,116,97,101,117,114,111,115,115,101,114,105,101,100,105,
-99,104,111,99,117,114,115,111,99,108,97,118,101,99,97,115,97,115,108,101,195,179
-,110,112,108,97,122,111,108,97,114,103,111,111,98,114,97,115,118,105,115,116,97,
-97,112,111,121,111,106,117,110,116,111,116,114,97,116,97,118,105,115,116,111,99,
-114,101,97,114,99,97,109,112,111,104,101,109,111,115,99,105,110,99,111,99,97,114
-,103,111,112,105,115,111,115,111,114,100,101,110,104,97,99,101,110,195,161,114,
-101,97,100,105,115,99,111,112,101,100,114,111,99,101,114,99,97,112,117,101,100,
-97,112,97,112,101,108,109,101,110,111,114,195,186,116,105,108,99,108,97,114,111,
-106,111,114,103,101,99,97,108,108,101,112,111,110,101,114,116,97,114,100,101,110
-,97,100,105,101,109,97,114,99,97,115,105,103,117,101,101,108,108,97,115,115,105,
-103,108,111,99,111,99,104,101,109,111,116,111,115,109,97,100,114,101,99,108,97,
-115,101,114,101,115,116,111,110,105,195,177,111,113,117,101,100,97,112,97,115,97
-,114,98,97,110,99,111,104,105,106,111,115,118,105,97,106,101,112,97,98,108,111,
-195,169,115,116,101,118,105,101,110,101,114,101,105,110,111,100,101,106,97,114,
-102,111,110,100,111,99,97,110,97,108,110,111,114,116,101,108,101,116,114,97,99,
-97,117,115,97,116,111,109,97,114,109,97,110,111,115,108,117,110,101,115,97,117,
-116,111,115,118,105,108,108,97,118,101,110,100,111,112,101,115,97,114,116,105,
-112,111,115,116,101,110,103,97,109,97,114,99,111,108,108,101,118,97,112,97,100,
-114,101,117,110,105,100,111,118,97,109,111,115,122,111,110,97,115,97,109,98,111,
-115,98,97,110,100,97,109,97,114,105,97,97,98,117,115,111,109,117,99,104,97,115,
-117,98,105,114,114,105,111,106,97,118,105,118,105,114,103,114,97,100,111,99,104,
-105,99,97,97,108,108,195,173,106,111,118,101,110,100,105,99,104,97,101,115,116,
-97,110,116,97,108,101,115,115,97,108,105,114,115,117,101,108,111,112,101,115,111
-,115,102,105,110,101,115,108,108,97,109,97,98,117,115,99,111,195,169,115,116,97,
-108,108,101,103,97,110,101,103,114,111,112,108,97,122,97,104,117,109,111,114,112
-,97,103,97,114,106,117,110,116,97,100,111,98,108,101,105,115,108,97,115,98,111,
-108,115,97,98,97,195,177,111,104,97,98,108,97,108,117,99,104,97,195,129,114,101,
-97,100,105,99,101,110,106,117,103,97,114,110,111,116,97,115,118,97,108,108,101,
-97,108,108,195,161,99,97,114,103,97,100,111,108,111,114,97,98,97,106,111,101,115
-,116,195,169,103,117,115,116,111,109,101,110,116,101,109,97,114,105,111,102,105,
-114,109,97,99,111,115,116,111,102,105,99,104,97,112,108,97,116,97,104,111,103,97
-,114,97,114,116,101,115,108,101,121,101,115,97,113,117,101,108,109,117,115,101,
-111,98,97,115,101,115,112,111,99,111,115,109,105,116,97,100,99,105,101,108,111,
-99,104,105,99,111,109,105,101,100,111,103,97,110,97,114,115,97,110,116,111,101,
-116,97,112,97,100,101,98,101,115,112,108,97,121,97,114,101,100,101,115,115,105,
-101,116,101,99,111,114,116,101,99,111,114,101,97,100,117,100,97,115,100,101,115,
-101,111,118,105,101,106,111,100,101,115,101,97,97,103,117,97,115,38,113,117,111,
-116,59,100,111,109,97,105,110,99,111,109,109,111,110,115,116,97,116,117,115,101,
-118,101,110,116,115,109,97,115,116,101,114,115,121,115,116,101,109,97,99,116,105
-,111,110,98,97,110,110,101,114,114,101,109,111,118,101,115,99,114,111,108,108,
-117,112,100,97,116,101,103,108,111,98,97,108,109,101,100,105,117,109,102,105,108
-,116,101,114,110,117,109,98,101,114,99,104,97,110,103,101,114,101,115,117,108,
-116,112,117,98,108,105,99,115,99,114,101,101,110,99,104,111,111,115,101,110,111,
-114,109,97,108,116,114,97,118,101,108,105,115,115,117,101,115,115,111,117,114,99
-,101,116,97,114,103,101,116,115,112,114,105,110,103,109,111,100,117,108,101,109,
-111,98,105,108,101,115,119,105,116,99,104,112,104,111,116,111,115,98,111,114,100
-,101,114,114,101,103,105,111,110,105,116,115,101,108,102,115,111,99,105,97,108,
-97,99,116,105,118,101,99,111,108,117,109,110,114,101,99,111,114,100,102,111,108,
-108,111,119,116,105,116,108,101,62,101,105,116,104,101,114,108,101,110,103,116,
-104,102,97,109,105,108,121,102,114,105,101,110,100,108,97,121,111,117,116,97,117
-,116,104,111,114,99,114,101,97,116,101,114,101,118,105,101,119,115,117,109,109,
-101,114,115,101,114,118,101,114,112,108,97,121,101,100,112,108,97,121,101,114,
-101,120,112,97,110,100,112,111,108,105,99,121,102,111,114,109,97,116,100,111,117
-,98,108,101,112,111,105,110,116,115,115,101,114,105,101,115,112,101,114,115,111,
-110,108,105,118,105,110,103,100,101,115,105,103,110,109,111,110,116,104,115,102,
-111,114,99,101,115,117,110,105,113,117,101,119,101,105,103,104,116,112,101,111,
-112,108,101,101,110,101,114,103,121,110,97,116,117,114,101,115,101,97,114,99,104
-,102,105,103,117,114,101,104,97,118,105,110,103,99,117,115,116,111,109,111,102,
-102,115,101,116,108,101,116,116,101,114,119,105,110,100,111,119,115,117,98,109,
-105,116,114,101,110,100,101,114,103,114,111,117,112,115,117,112,108,111,97,100,
-104,101,97,108,116,104,109,101,116,104,111,100,118,105,100,101,111,115,115,99,
-104,111,111,108,102,117,116,117,114,101,115,104,97,100,111,119,100,101,98,97,116
-,101,118,97,108,117,101,115,79,98,106,101,99,116,111,116,104,101,114,115,114,105
-,103,104,116,115,108,101,97,103,117,101,99,104,114,111,109,101,115,105,109,112,
-108,101,110,111,116,105,99,101,115,104,97,114,101,100,101,110,100,105,110,103,
-115,101,97,115,111,110,114,101,112,111,114,116,111,110,108,105,110,101,115,113,
-117,97,114,101,98,117,116,116,111,110,105,109,97,103,101,115,101,110,97,98,108,
-101,109,111,118,105,110,103,108,97,116,101,115,116,119,105,110,116,101,114,70,
-114,97,110,99,101,112,101,114,105,111,100,115,116,114,111,110,103,114,101,112,
-101,97,116,76,111,110,100,111,110,100,101,116,97,105,108,102,111,114,109,101,100
-,100,101,109,97,110,100,115,101,99,117,114,101,112,97,115,115,101,100,116,111,
-103,103,108,101,112,108,97,99,101,115,100,101,118,105,99,101,115,116,97,116,105,
-99,99,105,116,105,101,115,115,116,114,101,97,109,121,101,108,108,111,119,97,116,
-116,97,99,107,115,116,114,101,101,116,102,108,105,103,104,116,104,105,100,100,
-101,110,105,110,102,111,34,62,111,112,101,110,101,100,117,115,101,102,117,108,
-118,97,108,108,101,121,99,97,117,115,101,115,108,101,97,100,101,114,115,101,99,
-114,101,116,115,101,99,111,110,100,100,97,109,97,103,101,115,112,111,114,116,115
-,101,120,99,101,112,116,114,97,116,105,110,103,115,105,103,110,101,100,116,104,
-105,110,103,115,101,102,102,101,99,116,102,105,101,108,100,115,115,116,97,116,
-101,115,111,102,102,105,99,101,118,105,115,117,97,108,101,100,105,116,111,114,
-118,111,108,117,109,101,82,101,112,111,114,116,109,117,115,101,117,109,109,111,
-118,105,101,115,112,97,114,101,110,116,97,99,99,101,115,115,109,111,115,116,108,
-121,109,111,116,104,101,114,34,32,105,100,61,34,109,97,114,107,101,116,103,114,
-111,117,110,100,99,104,97,110,99,101,115,117,114,118,101,121,98,101,102,111,114,
-101,115,121,109,98,111,108,109,111,109,101,110,116,115,112,101,101,99,104,109,
-111,116,105,111,110,105,110,115,105,100,101,109,97,116,116,101,114,67,101,110,
-116,101,114,111,98,106,101,99,116,101,120,105,115,116,115,109,105,100,100,108,
-101,69,117,114,111,112,101,103,114,111,119,116,104,108,101,103,97,99,121,109,97,
-110,110,101,114,101,110,111,117,103,104,99,97,114,101,101,114,97,110,115,119,101
-,114,111,114,105,103,105,110,112,111,114,116,97,108,99,108,105,101,110,116,115,
-101,108,101,99,116,114,97,110,100,111,109,99,108,111,115,101,100,116,111,112,105
-,99,115,99,111,109,105,110,103,102,97,116,104,101,114,111,112,116,105,111,110,
-115,105,109,112,108,121,114,97,105,115,101,100,101,115,99,97,112,101,99,104,111,
-115,101,110,99,104,117,114,99,104,100,101,102,105,110,101,114,101,97,115,111,110
-,99,111,114,110,101,114,111,117,116,112,117,116,109,101,109,111,114,121,105,102,
-114,97,109,101,112,111,108,105,99,101,109,111,100,101,108,115,78,117,109,98,101,
-114,100,117,114,105,110,103,111,102,102,101,114,115,115,116,121,108,101,115,107,
-105,108,108,101,100,108,105,115,116,101,100,99,97,108,108,101,100,115,105,108,
-118,101,114,109,97,114,103,105,110,100,101,108,101,116,101,98,101,116,116,101,
-114,98,114,111,119,115,101,108,105,109,105,116,115,71,108,111,98,97,108,115,105,
-110,103,108,101,119,105,100,103,101,116,99,101,110,116,101,114,98,117,100,103,
-101,116,110,111,119,114,97,112,99,114,101,100,105,116,99,108,97,105,109,115,101,
-110,103,105,110,101,115,97,102,101,116,121,99,104,111,105,99,101,115,112,105,114
-,105,116,45,115,116,121,108,101,115,112,114,101,97,100,109,97,107,105,110,103,
-110,101,101,100,101,100,114,117,115,115,105,97,112,108,101,97,115,101,101,120,
-116,101,110,116,83,99,114,105,112,116,98,114,111,107,101,110,97,108,108,111,119,
-115,99,104,97,114,103,101,100,105,118,105,100,101,102,97,99,116,111,114,109,101,
-109,98,101,114,45,98,97,115,101,100,116,104,101,111,114,121,99,111,110,102,105,
-103,97,114,111,117,110,100,119,111,114,107,101,100,104,101,108,112,101,100,67,
-104,117,114,99,104,105,109,112,97,99,116,115,104,111,117,108,100,97,108,119,97,
-121,115,108,111,103,111,34,32,98,111,116,116,111,109,108,105,115,116,34,62,41,
-123,118,97,114,32,112,114,101,102,105,120,111,114,97,110,103,101,72,101,97,100,
-101,114,46,112,117,115,104,40,99,111,117,112,108,101,103,97,114,100,101,110,98,
-114,105,100,103,101,108,97,117,110,99,104,82,101,118,105,101,119,116,97,107,105,
-110,103,118,105,115,105,111,110,108,105,116,116,108,101,100,97,116,105,110,103,
-66,117,116,116,111,110,98,101,97,117,116,121,116,104,101,109,101,115,102,111,114
-,103,111,116,83,101,97,114,99,104,97,110,99,104,111,114,97,108,109,111,115,116,
-108,111,97,100,101,100,67,104,97,110,103,101,114,101,116,117,114,110,115,116,114
-,105,110,103,114,101,108,111,97,100,77,111,98,105,108,101,105,110,99,111,109,101
-,115,117,112,112,108,121,83,111,117,114,99,101,111,114,100,101,114,115,118,105,
-101,119,101,100,38,110,98,115,112,59,99,111,117,114,115,101,65,98,111,117,116,32
-,105,115,108,97,110,100,60,104,116,109,108,32,99,111,111,107,105,101,110,97,109,
-101,61,34,97,109,97,122,111,110,109,111,100,101,114,110,97,100,118,105,99,101,
-105,110,60,47,97,62,58,32,84,104,101,32,100,105,97,108,111,103,104,111,117,115,
-101,115,66,69,71,73,78,32,77,101,120,105,99,111,115,116,97,114,116,115,99,101,
-110,116,114,101,104,101,105,103,104,116,97,100,100,105,110,103,73,115,108,97,110
-,100,97,115,115,101,116,115,69,109,112,105,114,101,83,99,104,111,111,108,101,102
-,102,111,114,116,100,105,114,101,99,116,110,101,97,114,108,121,109,97,110,117,97
-,108,83,101,108,101,99,116,46,10,10,79,110,101,106,111,105,110,101,100,109,101,
-110,117,34,62,80,104,105,108,105,112,97,119,97,114,100,115,104,97,110,100,108,
-101,105,109,112,111,114,116,79,102,102,105,99,101,114,101,103,97,114,100,115,107
-,105,108,108,115,110,97,116,105,111,110,83,112,111,114,116,115,100,101,103,114,
-101,101,119,101,101,107,108,121,32,40,101,46,103,46,98,101,104,105,110,100,100,
-111,99,116,111,114,108,111,103,103,101,100,117,110,105,116,101,100,60,47,98,62,
-60,47,98,101,103,105,110,115,112,108,97,110,116,115,97,115,115,105,115,116,97,
-114,116,105,115,116,105,115,115,117,101,100,51,48,48,112,120,124,99,97,110,97,
-100,97,97,103,101,110,99,121,115,99,104,101,109,101,114,101,109,97,105,110,66,
-114,97,122,105,108,115,97,109,112,108,101,108,111,103,111,34,62,98,101,121,111,
-110,100,45,115,99,97,108,101,97,99,99,101,112,116,115,101,114,118,101,100,109,97
-,114,105,110,101,70,111,111,116,101,114,99,97,109,101,114,97,60,47,104,49,62,10,
-95,102,111,114,109,34,108,101,97,118,101,115,115,116,114,101,115,115,34,32,47,62
-,13,10,46,103,105,102,34,32,111,110,108,111,97,100,108,111,97,100,101,114,79,120
-,102,111,114,100,115,105,115,116,101,114,115,117,114,118,105,118,108,105,115,116
-,101,110,102,101,109,97,108,101,68,101,115,105,103,110,115,105,122,101,61,34,97,
-112,112,101,97,108,116,101,120,116,34,62,108,101,118,101,108,115,116,104,97,110,
-107,115,104,105,103,104,101,114,102,111,114,99,101,100,97,110,105,109,97,108,97,
-110,121,111,110,101,65,102,114,105,99,97,97,103,114,101,101,100,114,101,99,101,
-110,116,80,101,111,112,108,101,60,98,114,32,47,62,119,111,110,100,101,114,112,
-114,105,99,101,115,116,117,114,110,101,100,124,124,32,123,125,59,109,97,105,110,
-34,62,105,110,108,105,110,101,115,117,110,100,97,121,119,114,97,112,34,62,102,97
-,105,108,101,100,99,101,110,115,117,115,109,105,110,117,116,101,98,101,97,99,111
-,110,113,117,111,116,101,115,49,53,48,112,120,124,101,115,116,97,116,101,114,101
-,109,111,116,101,101,109,97,105,108,34,108,105,110,107,101,100,114,105,103,104,
-116,59,115,105,103,110,97,108,102,111,114,109,97,108,49,46,104,116,109,108,115,
-105,103,110,117,112,112,114,105,110,99,101,102,108,111,97,116,58,46,112,110,103,
-34,32,102,111,114,117,109,46,65,99,99,101,115,115,112,97,112,101,114,115,115,111
-,117,110,100,115,101,120,116,101,110,100,72,101,105,103,104,116,115,108,105,100,
-101,114,85,84,70,45,56,34,38,97,109,112,59,32,66,101,102,111,114,101,46,32,87,
-105,116,104,115,116,117,100,105,111,111,119,110,101,114,115,109,97,110,97,103,
-101,112,114,111,102,105,116,106,81,117,101,114,121,97,110,110,117,97,108,112,97,
-114,97,109,115,98,111,117,103,104,116,102,97,109,111,117,115,103,111,111,103,108
-,101,108,111,110,103,101,114,105,43,43,41,32,123,105,115,114,97,101,108,115,97,
-121,105,110,103,100,101,99,105,100,101,104,111,109,101,34,62,104,101,97,100,101,
-114,101,110,115,117,114,101,98,114,97,110,99,104,112,105,101,99,101,115,98,108,
-111,99,107,59,115,116,97,116,101,100,116,111,112,34,62,60,114,97,99,105,110,103,
-114,101,115,105,122,101,45,45,38,103,116,59,112,97,99,105,116,121,115,101,120,
-117,97,108,98,117,114,101,97,117,46,106,112,103,34,32,49,48,44,48,48,48,111,98,
-116,97,105,110,116,105,116,108,101,115,97,109,111,117,110,116,44,32,73,110,99,46
-,99,111,109,101,100,121,109,101,110,117,34,32,108,121,114,105,99,115,116,111,100
-,97,121,46,105,110,100,101,101,100,99,111,117,110,116,121,95,108,111,103,111,46,
-70,97,109,105,108,121,108,111,111,107,101,100,77,97,114,107,101,116,108,115,101,
-32,105,102,80,108,97,121,101,114,116,117,114,107,101,121,41,59,118,97,114,32,102
-,111,114,101,115,116,103,105,118,105,110,103,101,114,114,111,114,115,68,111,109,
-97,105,110,125,101,108,115,101,123,105,110,115,101,114,116,66,108,111,103,60,47,
-102,111,111,116,101,114,108,111,103,105,110,46,102,97,115,116,101,114,97,103,101
-,110,116,115,60,98,111,100,121,32,49,48,112,120,32,48,112,114,97,103,109,97,102,
-114,105,100,97,121,106,117,110,105,111,114,100,111,108,108,97,114,112,108,97,99,
-101,100,99,111,118,101,114,115,112,108,117,103,105,110,53,44,48,48,48,32,112,97,
-103,101,34,62,98,111,115,116,111,110,46,116,101,115,116,40,97,118,97,116,97,114,
-116,101,115,116,101,100,95,99,111,117,110,116,102,111,114,117,109,115,115,99,104
-,101,109,97,105,110,100,101,120,44,102,105,108,108,101,100,115,104,97,114,101,
-115,114,101,97,100,101,114,97,108,101,114,116,40,97,112,112,101,97,114,83,117,98
-,109,105,116,108,105,110,101,34,62,98,111,100,121,34,62,10,42,32,84,104,101,84,
-104,111,117,103,104,115,101,101,105,110,103,106,101,114,115,101,121,78,101,119,
-115,60,47,118,101,114,105,102,121,101,120,112,101,114,116,105,110,106,117,114,
-121,119,105,100,116,104,61,67,111,111,107,105,101,83,84,65,82,84,32,97,99,114,
-111,115,115,95,105,109,97,103,101,116,104,114,101,97,100,110,97,116,105,118,101,
-112,111,99,107,101,116,98,111,120,34,62,10,83,121,115,116,101,109,32,68,97,118,
-105,100,99,97,110,99,101,114,116,97,98,108,101,115,112,114,111,118,101,100,65,
-112,114,105,108,32,114,101,97,108,108,121,100,114,105,118,101,114,105,116,101,
-109,34,62,109,111,114,101,34,62,98,111,97,114,100,115,99,111,108,111,114,115,99,
-97,109,112,117,115,102,105,114,115,116,32,124,124,32,91,93,59,109,101,100,105,97
-,46,103,117,105,116,97,114,102,105,110,105,115,104,119,105,100,116,104,58,115,
-104,111,119,101,100,79,116,104,101,114,32,46,112,104,112,34,32,97,115,115,117,
-109,101,108,97,121,101,114,115,119,105,108,115,111,110,115,116,111,114,101,115,
-114,101,108,105,101,102,115,119,101,100,101,110,67,117,115,116,111,109,101,97,
-115,105,108,121,32,121,111,117,114,32,83,116,114,105,110,103,10,10,87,104,105,
-108,116,97,121,108,111,114,99,108,101,97,114,58,114,101,115,111,114,116,102,114,
-101,110,99,104,116,104,111,117,103,104,34,41,32,43,32,34,60,98,111,100,121,62,98
-,117,121,105,110,103,98,114,97,110,100,115,77,101,109,98,101,114,110,97,109,101,
-34,62,111,112,112,105,110,103,115,101,99,116,111,114,53,112,120,59,34,62,118,115
-,112,97,99,101,112,111,115,116,101,114,109,97,106,111,114,32,99,111,102,102,101,
-101,109,97,114,116,105,110,109,97,116,117,114,101,104,97,112,112,101,110,60,47,
-110,97,118,62,107,97,110,115,97,115,108,105,110,107,34,62,73,109,97,103,101,115,
-61,102,97,108,115,101,119,104,105,108,101,32,104,115,112,97,99,101,48,38,97,109,
-112,59,32,10,10,73,110,32,32,112,111,119,101,114,80,111,108,115,107,105,45,99,
-111,108,111,114,106,111,114,100,97,110,66,111,116,116,111,109,83,116,97,114,116,
-32,45,99,111,117,110,116,50,46,104,116,109,108,110,101,119,115,34,62,48,49,46,
-106,112,103,79,110,108,105,110,101,45,114,105,103,104,116,109,105,108,108,101,
-114,115,101,110,105,111,114,73,83,66,78,32,48,48,44,48,48,48,32,103,117,105,100,
-101,115,118,97,108,117,101,41,101,99,116,105,111,110,114,101,112,97,105,114,46,
-120,109,108,34,32,32,114,105,103,104,116,115,46,104,116,109,108,45,98,108,111,99
-,107,114,101,103,69,120,112,58,104,111,118,101,114,119,105,116,104,105,110,118,
-105,114,103,105,110,112,104,111,110,101,115,60,47,116,114,62,13,117,115,105,110,
-103,32,10,9,118,97,114,32,62,39,41,59,10,9,60,47,116,100,62,10,60,47,116,114,62,
-10,98,97,104,97,115,97,98,114,97,115,105,108,103,97,108,101,103,111,109,97,103,
-121,97,114,112,111,108,115,107,105,115,114,112,115,107,105,216,177,216,175,217,
-136,228,184,173,230,150,135,231,174,128,228,189,147,231,185,129,233,171,148,228,
-191,161,230,129,175,228,184,173,229,155,189,230,136,145,228,187,172,228,184,128,
-228,184,170,229,133,172,229,143,184,231,174,161,231,144,134,232,174,186,229,157,
-155,229,143,175,228,187,165,230,156,141,229,138,161,230,151,182,233,151,180,228,
-184,170,228,186,186,228,186,167,229,147,129,232,135,170,229,183,177,228,188,129,
-228,184,154,230,159,165,231,156,139,229,183,165,228,189,156,232,129,148,231,179,
-187,230,178,161,230,156,137,231,189,145,231,171,153,230,137,128,230,156,137,232,
-175,132,232,174,186,228,184,173,229,191,131,230,150,135,231,171,160,231,148,168,
-230,136,183,233,166,150,233,161,181,228,189,156,232,128,133,230,138,128,230,156,
-175,233,151,174,233,162,152,231,155,184,229,133,179,228,184,139,232,189,189,230,
-144,156,231,180,162,228,189,191,231,148,168,232,189,175,228,187,182,229,156,168,
-231,186,191,228,184,187,233,162,152,232,181,132,230,150,153,232,167,134,233,162,
-145,229,155,158,229,164,141,230,179,168,229,134,140,231,189,145,231,187,156,230,
-148,182,232,151,143,229,134,133,229,174,185,230,142,168,232,141,144,229,184,130,
-229,156,186,230,182,136,230,129,175,231,169,186,233,151,180,229,143,145,229,184,
-131,228,187,128,228,185,136,229,165,189,229,143,139,231,148,159,230,180,187,229,
-155,190,231,137,135,229,143,145,229,177,149,229,166,130,230,158,156,230,137,139,
-230,156,186,230,150,176,233,151,187,230,156,128,230,150,176,230,150,185,229,188,
-143,229,140,151,228,186,172,230,143,144,228,190,155,229,133,179,228,186,142,230,
-155,180,229,164,154,232,191,153,228,184,170,231,179,187,231,187,159,231,159,165,
-233,129,147,230,184,184,230,136,143,229,185,191,229,145,138,229,133,182,228,187,
-150,229,143,145,232,161,168,229,174,137,229,133,168,231,172,172,228,184,128,228,
-188,154,229,145,152,232,191,155,232,161,140,231,130,185,229,135,187,231,137,136,
-230,157,131,231,148,181,229,173,144,228,184,150,231,149,140,232,174,190,232,174,
-161,229,133,141,232,180,185,230,149,153,232,130,178,229,138,160,229,133,165,230,
-180,187,229,138,168,228,187,150,228,187,172,229,149,134,229,147,129,229,141,154,
-229,174,162,231,142,176,229,156,168,228,184,138,230,181,183,229,166,130,228,189,
-149,229,183,178,231,187,143,231,149,153,232,168,128,232,175,166,231,187,134,231,
-164,190,229,140,186,231,153,187,229,189,149,230,156,172,231,171,153,233,156,128,
-232,166,129,228,187,183,230,160,188,230,148,175,230,140,129,229,155,189,233,153,
-133,233,147,190,230,142,165,229,155,189,229,174,182,229,187,186,232,174,190,230,
-156,139,229,143,139,233,152,133,232,175,187,230,179,149,229,190,139,228,189,141,
-231,189,174,231,187,143,230,181,142,233,128,137,230,139,169,232,191,153,230,160,
-183,229,189,147,229,137,141,229,136,134,231,177,187,230,142,146,232,161,140,229,
-155,160,228,184,186,228,186,164,230,152,147,230,156,128,229,144,142,233,159,179,
-228,185,144,228,184,141,232,131,189,233,128,154,232,191,135,232,161,140,228,184,
-154,231,167,145,230,138,128,229,143,175,232,131,189,232,174,190,229,164,135,229,
-144,136,228,189,156,229,164,167,229,174,182,231,164,190,228,188,154,231,160,148,
-231,169,182,228,184,147,228,184,154,229,133,168,233,131,168,233,161,185,231,155,
-174,232,191,153,233,135,140,232,191,152,230,152,175,229,188,128,229,167,139,230,
-131,133,229,134,181,231,148,181,232,132,145,230,150,135,228,187,182,229,147,129,
-231,137,140,229,184,174,229,138,169,230,150,135,229,140,150,232,181,132,230,186,
-144,229,164,167,229,173,166,229,173,166,228,185,160,229,156,176,229,157,128,230,
-181,143,232,167,136,230,138,149,232,181,132,229,183,165,231,168,139,232,166,129,
-230,177,130,230,128,142,228,185,136,230,151,182,229,128,153,229,138,159,232,131,
-189,228,184,187,232,166,129,231,155,174,229,137,141,232,181,132,232,174,175,229,
-159,142,229,184,130,230,150,185,230,179,149,231,148,181,229,189,177,230,139,155,
-232,129,152,229,163,176,230,152,142,228,187,187,228,189,149,229,129,165,229,186,
-183,230,149,176,230,141,174,231,190,142,229,155,189,230,177,189,232,189,166,228,
-187,139,231,187,141,228,189,134,230,152,175,228,186,164,230,181,129,231,148,159,
-228,186,167,230,137,128,228,187,165,231,148,181,232,175,157,230,152,190,231,164,
-186,228,184,128,228,186,155,229,141,149,228,189,141,228,186,186,229,145,152,229,
-136,134,230,158,144,229,156,176,229,155,190,230,151,133,230,184,184,229,183,165,
-229,133,183,229,173,166,231,148,159,231,179,187,229,136,151,231,189,145,229,143,
-139,229,184,150,229,173,144,229,175,134,231,160,129,233,162,145,233,129,147,230,
-142,167,229,136,182,229,156,176,229,140,186,229,159,186,230,156,172,229,133,168,
-229,155,189,231,189,145,228,184,138,233,135,141,232,166,129,231,172,172,228,186,
-140,229,150,156,230,172,162,232,191,155,229,133,165,229,143,139,230,131,133,232,
-191,153,228,186,155,232,128,131,232,175,149,229,143,145,231,142,176,229,159,185,
-232,174,173,228,187,165,228,184,138,230,148,191,229,186,156,230,136,144,228,184,
-186,231,142,175,229,162,131,233,166,153,230,184,175,229,144,140,230,151,182,229,
-168,177,228,185,144,229,143,145,233,128,129,228,184,128,229,174,154,229,188,128,
-229,143,145,228,189,156,229,147,129,230,160,135,229,135,134,230,172,162,232,191,
-142,232,167,163,229,134,179,229,156,176,230,150,185,228,184,128,228,184,139,228,
-187,165,229,143,138,232,180,163,228,187,187,230,136,150,232,128,133,229,174,162,
-230,136,183,228,187,163,232,161,168,231,167,175,229,136,134,229,165,179,228,186,
-186,230,149,176,231,160,129,233,148,128,229,148,174,229,135,186,231,142,176,231,
-166,187,231,186,191,229,186,148,231,148,168,229,136,151,232,161,168,228,184,141,
-229,144,140,231,188,150,232,190,145,231,187,159,232,174,161,230,159,165,232,175,
-162,228,184,141,232,166,129,230,156,137,229,133,179,230,156,186,230,158,132,229,
-190,136,229,164,154,230,146,173,230,148,190,231,187,132,231,187,135,230,148,191,
-231,173,150,231,155,180,230,142,165,232,131,189,229,138,155,230,157,165,230,186,
-144,230,153,130,233,150,147,231,156,139,229,136,176,231,131,173,233,151,168,229,
-133,179,233,148,174,228,184,147,229,140,186,233,157,158,229,184,184,232,139,177,
-232,175,173,231,153,190,229,186,166,229,184,140,230,156,155,231,190,142,229,165,
-179,230,175,148,232,190,131,231,159,165,232,175,134,232,167,132,229,174,154,229,
-187,186,232,174,174,233,131,168,233,151,168,230,132,143,232,167,129,231,178,190,
-229,189,169,230,151,165,230,156,172,230,143,144,233,171,152,229,143,145,232,168,
-128,230,150,185,233,157,162,229,159,186,233,135,145,229,164,132,231,144,134,230,
-157,131,233,153,144,229,189,177,231,137,135,233,147,182,232,161,140,232,191,152,
-230,156,137,229,136,134,228,186,171,231,137,169,229,147,129,231,187,143,232,144,
-165,230,183,187,229,138,160,228,184,147,229,174,182,232,191,153,231,167,141,232,
-175,157,233,162,152,232,181,183,230,157,165,228,184,154,229,138,161,229,133,172,
-229,145,138,232,174,176,229,189,149,231,174,128,228,187,139,232,180,168,233,135,
-143,231,148,183,228,186,186,229,189,177,229,147,141,229,188,149,231,148,168,230,
-138,165,229,145,138,233,131,168,229,136,134,229,191,171,233,128,159,229,146,168,
-232,175,162,230,151,182,229,176,154,230,179,168,230,132,143,231,148,179,232,175,
-183,229,173,166,230,160,161,229,186,148,232,175,165,229,142,134,229,143,178,229,
-143,170,230,152,175,232,191,148,229,155,158,232,180,173,228,185,176,229,144,141,
-231,167,176,228,184,186,228,186,134,230,136,144,229,138,159,232,175,180,230,152,
-142,228,190,155,229,186,148,229,173,169,229,173,144,228,184,147,233,162,152,231,
-168,139,229,186,143,228,184,128,232,136,172,230,156,131,229,147,161,229,143,170,
-230,156,137,229,133,182,229,174,131,228,191,157,230,138,164,232,128,140,228,184,
-148,228,187,138,229,164,169,231,170,151,229,143,163,229,138,168,230,128,129,231,
-138,182,230,128,129,231,137,185,229,136,171,232,174,164,228,184,186,229,191,133,
-233,161,187,230,155,180,230,150,176,229,176,143,232,175,180,230,136,145,229,128,
-145,228,189,156,228,184,186,229,170,146,228,189,147,229,140,133,230,139,172,233,
-130,163,228,185,136,228,184,128,230,160,183,229,155,189,229,134,133,230,152,175,
-229,144,166,230,160,185,230,141,174,231,148,181,232,167,134,229,173,166,233,153,
-162,229,133,183,230,156,137,232,191,135,231,168,139,231,148,177,228,186,142,228,
-186,186,230,137,141,229,135,186,230,157,165,228,184,141,232,191,135,230,173,163,
-229,156,168,230,152,142,230,152,159,230,149,133,228,186,139,229,133,179,231,179,
-187,230,160,135,233,162,152,229,149,134,229,138,161,232,190,147,229,133,165,228,
-184,128,231,155,180,229,159,186,231,161,128,230,149,153,229,173,166,228,186,134,
-232,167,163,229,187,186,231,173,145,231,187,147,230,158,156,229,133,168,231,144,
-131,233,128,154,231,159,165,232,174,161,229,136,146,229,175,185,228,186,142,232,
-137,186,230,156,175,231,155,184,229,134,140,229,143,145,231,148,159,231,156,159,
-231,154,132,229,187,186,231,171,139,231,173,137,231,186,167,231,177,187,229,158,
-139,231,187,143,233,170,140,229,174,158,231,142,176,229,136,182,228,189,156,230,
-157,165,232,135,170,230,160,135,231,173,190,228,187,165,228,184,139,229,142,159,
-229,136,155,230,151,160,230,179,149,229,133,182,228,184,173,229,128,139,228,186,
-186,228,184,128,229,136,135,230,140,135,229,141,151,229,133,179,233,151,173,233,
-155,134,229,155,162,231,172,172,228,184,137,229,133,179,230,179,168,229,155,160,
-230,173,164,231,133,167,231,137,135,230,183,177,229,156,179,229,149,134,228,184,
-154,229,185,191,229,183,158,230,151,165,230,156,159,233,171,152,231,186,167,230,
-156,128,232,191,145,231,187,188,229,144,136,232,161,168,231,164,186,228,184,147,
-232,190,145,232,161,140,228,184,186,228,186,164,233,128,154,232,175,132,228,187,
-183,232,167,137,229,190,151,231,178,190,229,141,142,229,174,182,229,186,173,229,
-174,140,230,136,144,230,132,159,232,167,137,229,174,137,232,163,133,229,190,151,
-229,136,176,233,130,174,228,187,182,229,136,182,229,186,166,233,163,159,229,147,
-129,232,153,189,231,132,182,232,189,172,232,189,189,230,138,165,228,187,183,232,
-174,176,232,128,133,230,150,185,230,161,136,232,161,140,230,148,191,228,186,186,
-230,176,145,231,148,168,229,147,129,228,184,156,232,165,191,230,143,144,229,135,
-186,233,133,146,229,186,151,231,132,182,229,144,142,228,187,152,230,172,190,231,
-131,173,231,130,185,228,187,165,229,137,141,229,174,140,229,133,168,229,143,145,
-229,184,150,232,174,190,231,189,174,233,162,134,229,175,188,229,183,165,228,184,
-154,229,140,187,233,153,162,231,156,139,231,156,139,231,187,143,229,133,184,229,
-142,159,229,155,160,229,185,179,229,143,176,229,144,132,231,167,141,229,162,158,
-229,138,160,230,157,144,230,150,153,230,150,176,229,162,158,228,185,139,229,144,
-142,232,129,140,228,184,154,230,149,136,230,158,156,228,187,138,229,185,180,232,
-174,186,230,150,135,230,136,145,229,155,189,229,145,138,232,175,137,231,137,136,
-228,184,187,228,191,174,230,148,185,229,143,130,228,184,142,230,137,147,229,141,
-176,229,191,171,228,185,144,230,156,186,230,162,176,232,167,130,231,130,185,229,
-173,152,229,156,168,231,178,190,231,165,158,232,142,183,229,190,151,229,136,169,
-231,148,168,231,187,167,231,187,173,228,189,160,228,187,172,232,191,153,228,185,
-136,230,168,161,229,188,143,232,175,173,232,168,128,232,131,189,229,164,159,233,
-155,133,232,153,142,230,147,141,228,189,156,233,163,142,230,160,188,228,184,128,
-232,181,183,231,167,145,229,173,166,228,189,147,232,130,178,231,159,173,228,191,
-161,230,157,161,228,187,182,230,178,187,231,150,151,232,191,144,229,138,168,228,
-186,167,228,184,154,228,188,154,232,174,174,229,175,188,232,136,170,229,133,136,
-231,148,159,232,129,148,231,155,159,229,143,175,230,152,175,229,149,143,233,161,
-140,231,187,147,230,158,132,228,189,156,231,148,168,232,176,131,230,159,165,232,
-179,135,230,150,153,232,135,170,229,138,168,232,180,159,232,180,163,229,134,156,
-228,184,154,232,174,191,233,151,174,229,174,158,230,150,189,230,142,165,229,143,
-151,232,174,168,232,174,186,233,130,163,228,184,170,229,143,141,233,166,136,229,
-138,160,229,188,186,229,165,179,230,128,167,232,140,131,229,155,180,230,156,141,
-229,139,153,228,188,145,233,151,178,228,187,138,230,151,165,229,174,162,230,156,
-141,232,167,128,231,156,139,229,143,130,229,138,160,231,154,132,232,175,157,228,
-184,128,231,130,185,228,191,157,232,175,129,229,155,190,228,185,166,230,156,137,
-230,149,136,230,181,139,232,175,149,231,167,187,229,138,168,230,137,141,232,131,
-189,229,134,179,229,174,154,232,130,161,231,165,168,228,184,141,230,150,173,233,
-156,128,230,177,130,228,184,141,229,190,151,229,138,158,230,179,149,228,185,139,
-233,151,180,233,135,135,231,148,168,232,144,165,233,148,128,230,138,149,232,175,
-137,231,155,174,230,160,135,231,136,177,230,131,133,230,145,132,229,189,177,230,
-156,137,228,186,155,232,164,135,232,163,189,230,150,135,229,173,166,230,156,186,
-228,188,154,230,149,176,229,173,151,232,163,133,228,191,174,232,180,173,231,137,
-169,229,134,156,230,157,145,229,133,168,233,157,162,231,178,190,229,147,129,229,
-133,182,229,174,158,228,186,139,230,131,133,230,176,180,229,185,179,230,143,144,
-231,164,186,228,184,138,229,184,130,232,176,162,232,176,162,230,153,174,233,128,
-154,230,149,153,229,184,136,228,184,138,228,188,160,231,177,187,229,136,171,230,
-173,140,230,155,178,230,139,165,230,156,137,229,136,155,230,150,176,233,133,141,
-228,187,182,229,143,170,232,166,129,230,151,182,228,187,163,232,179,135,232,168,
-138,232,190,190,229,136,176,228,186,186,231,148,159,232,174,162,233,152,133,232,
-128,129,229,184,136,229,177,149,231,164,186,229,191,131,231,144,134,232,180,180,
-229,173,144,231,182,178,231,171,153,228,184,187,233,161,140,232,135,170,231,132,
-182,231,186,167,229,136,171,231,174,128,229,141,149,230,148,185,233,157,169,233,
-130,163,228,186,155,230,157,165,232,175,180,230,137,147,229,188,128,228,187,163,
-231,160,129,229,136,160,233,153,164,232,175,129,229,136,184,232,138,130,231,155,
-174,233,135,141,231,130,185,230,172,161,230,149,184,229,164,154,229,176,145,232,
-167,132,229,136,146,232,181,132,233,135,145,230,137,190,229,136,176,228,187,165,
-229,144,142,229,164,167,229,133,168,228,184,187,233,161,181,230,156,128,228,189,
-179,229,155,158,231,173,148,229,164,169,228,184,139,228,191,157,233,154,156,231,
-142,176,228,187,163,230,163,128,230,159,165,230,138,149,231,165,168,229,176,143,
-230,151,182,230,178,146,230,156,137,230,173,163,229,184,184,231,148,154,232,135,
-179,228,187,163,231,144,134,231,155,174,229,189,149,229,133,172,229,188,128,229,
-164,141,229,136,182,233,135,145,232,158,141,229,185,184,231,166,143,231,137,136,
-230,156,172,229,189,162,230,136,144,229,135,134,229,164,135,232,161,140,230,131,
-133,229,155,158,229,136,176,230,128,157,230,131,179,230,128,142,230,160,183,229,
-141,143,232,174,174,232,174,164,232,175,129,230,156,128,229,165,189,228,186,167,
-231,148,159,230,140,137,231,133,167,230,156,141,232,163,133,229,185,191,228,184,
-156,229,138,168,230,188,171,233,135,135,232,180,173,230,150,176,230,137,139,231,
-187,132,229,155,190,233,157,162,230,157,191,229,143,130,232,128,131,230,148,191,
-230,178,187,229,174,185,230,152,147,229,164,169,229,156,176,229,138,170,229,138,
-155,228,186,186,228,187,172,229,141,135,231,186,167,233,128,159,229,186,166,228,
-186,186,231,137,169,232,176,131,230,149,180,230,181,129,232,161,140,233,128,160,
-230,136,144,230,150,135,229,173,151,233,159,169,229,155,189,232,180,184,230,152,
-147,229,188,128,229,177,149,231,155,184,233,151,156,232,161,168,231,142,176,229,
-189,177,232,167,134,229,166,130,230,173,164,231,190,142,229,174,185,229,164,167,
-229,176,143,230,138,165,233,129,147,230,157,161,230,172,190,229,191,131,230,131,
-133,232,174,184,229,164,154,230,179,149,232,167,132,229,174,182,229,177,133,228,
-185,166,229,186,151,232,191,158,230,142,165,231,171,139,229,141,179,228,184,190,
-230,138,165,230,138,128,229,183,167,229,165,165,232,191,144,231,153,187,229,133,
-165,228,187,165,230,157,165,231,144,134,232,174,186,228,186,139,228,187,182,232,
-135,170,231,148,177,228,184,173,229,141,142,229,138,158,229,133,172,229,166,136,
-229,166,136,231,156,159,230,173,163,228,184,141,233,148,153,229,133,168,230,150,
-135,229,144,136,229,144,140,228,187,183,229,128,188,229,136,171,228,186,186,231,
-155,145,231,157,163,229,133,183,228,189,147,228,184,150,231,186,170,229,155,162,
-233,152,159,229,136,155,228,184,154,230,137,191,230,139,133,229,162,158,233,149,
-191,230,156,137,228,186,186,228,191,157,230,140,129,229,149,134,229,174,182,231,
-187,180,228,191,174,229,143,176,230,185,190,229,183,166,229,143,179,232,130,161,
-228,187,189,231,173,148,230,161,136,229,174,158,233,153,133,231,148,181,228,191,
-161,231,187,143,231,144,134,231,148,159,229,145,189,229,174,163,228,188,160,228,
-187,187,229,138,161,230,173,163,229,188,143,231,137,185,232,137,178,228,184,139,
-230,157,165,229,141,143,228,188,154,229,143,170,232,131,189,229,189,147,231,132,
-182,233,135,141,230,150,176,229,133,167,229,174,185,230,140,135,229,175,188,232,
-191,144,232,161,140,230,151,165,229,191,151,232,179,163,229,174,182,232,182,133,
-232,191,135,229,156,159,229,156,176,230,181,153,230,177,159,230,148,175,228,187,
-152,230,142,168,229,135,186,231,171,153,233,149,191,230,157,173,229,183,158,230,
-137,167,232,161,140,229,136,182,233,128,160,228,185,139,228,184,128,230,142,168,
-229,185,191,231,142,176,229,156,186,230,143,143,232,191,176,229,143,152,229,140,
-150,228,188,160,231,187,159,230,173,140,230,137,139,228,191,157,233,153,169,232,
-175,190,231,168,139,229,140,187,231,150,151,231,187,143,232,191,135,232,191,135,
-229,142,187,228,185,139,229,137,141,230,148,182,229,133,165,229,185,180,229,186,
-166,230,157,130,229,191,151,231,190,142,228,184,189,230,156,128,233,171,152,231,
-153,187,233,153,134,230,156,170,230,157,165,229,138,160,229,183,165,229,133,141,
-232,180,163,230,149,153,231,168,139,231,137,136,229,157,151,232,186,171,228,189,
-147,233,135,141,229,186,134,229,135,186,229,148,174,230,136,144,230,156,172,229,
-189,162,229,188,143,229,156,159,232,177,134,229,135,186,229,131,185,228,184,156,
-230,150,185,233,130,174,231,174,177,229,141,151,228,186,172,230,177,130,232,129,
-140,229,143,150,229,190,151,232,129,140,228,189,141,231,155,184,228,191,161,233,
-161,181,233,157,162,229,136,134,233,146,159,231,189,145,233,161,181,231,161,174,
-229,174,154,229,155,190,228,190,139,231,189,145,229,157,128,231,167,175,230,158,
-129,233,148,153,232,175,175,231,155,174,231,154,132,229,174,157,232,180,157,230,
-156,186,229,133,179,233,163,142,233,153,169,230,142,136,230,157,131,231,151,133,
-230,175,146,229,174,160,231,137,169,233,153,164,228,186,134,232,169,149,232,171,
-150,231,150,190,231,151,133,229,143,138,230,151,182,230,177,130,232,180,173,231,
-171,153,231,130,185,229,132,191,231,171,165,230,175,143,229,164,169,228,184,173,
-229,164,174,232,174,164,232,175,134,230,175,143,228,184,170,229,164,169,230,180,
-165,229,173,151,228,189,147,229,143,176,231,129,163,231,187,180,230,138,164,230,
-156,172,233,161,181,228,184,170,230,128,167,229,174,152,230,150,185,229,184,184,
-232,167,129,231,155,184,230,156,186,230,136,152,231,149,165,229,186,148,229,189,
-147,229,190,139,229,184,136,230,150,185,228,190,191,230,160,161,229,155,173,232,
-130,161,229,184,130,230,136,191,229,177,139,230,160,143,231,155,174,229,145,152,
-229,183,165,229,175,188,232,135,180,231,170,129,231,132,182,233,129,147,229,133,
-183,230,156,172,231,189,145,231,187,147,229,144,136,230,161,163,230,161,136,229,
-138,179,229,138,168,229,143,166,229,164,150,231,190,142,229,133,131,229,188,149,
-232,181,183,230,148,185,229,143,152,231,172,172,229,155,155,228,188,154,232,174,
-161,232,170,170,230,152,142,233,154,144,231,167,129,229,174,157,229,174,157,232,
-167,132,232,140,131,230,182,136,232,180,185,229,133,177,229,144,140,229,191,152,
-232,174,176,228,189,147,231,179,187,229,184,166,230,157,165,229,144,141,229,173,
-151,231,153,188,232,161,168,229,188,128,230,148,190,229,138,160,231,155,159,229,
-143,151,229,136,176,228,186,140,230,137,139,229,164,167,233,135,143,230,136,144,
-228,186,186,230,149,176,233,135,143,229,133,177,228,186,171,229,140,186,229,159,
-159,229,165,179,229,173,169,229,142,159,229,136,153,230,137,128,229,156,168,231,
-187,147,230,157,159,233,128,154,228,191,161,232,182,133,231,186,167,233,133,141,
-231,189,174,229,189,147,230,151,182,228,188,152,231,167,128,230,128,167,230,132,
-159,230,136,191,228,186,167,233,129,138,230,136,178,229,135,186,229,143,163,230,
-143,144,228,186,164,229,176,177,228,184,154,228,191,157,229,129,165,231,168,139,
-229,186,166,229,143,130,230,149,176,228,186,139,228,184,154,230,149,180,228,184,
-170,229,177,177,228,184,156,230,131,133,230,132,159,231,137,185,230,174,138,229,
-136,134,233,161,158,230,144,156,229,176,139,229,177,158,228,186,142,233,151,168,
-230,136,183,232,180,162,229,138,161,229,163,176,233,159,179,229,143,138,229,133,
-182,232,180,162,231,187,143,229,157,154,230,140,129,229,185,178,233,131,168,230,
-136,144,231,171,139,229,136,169,231,155,138,232,128,131,232,153,145,230,136,144,
-233,131,189,229,140,133,232,163,133,231,148,168,230,136,182,230,175,148,232,181,
-155,230,150,135,230,152,142,230,139,155,229,149,134,229,174,140,230,149,180,231,
-156,159,230,152,175,231,156,188,231,157,155,228,188,153,228,188,180,229,168,129,
-230,156,155,233,162,134,229,159,159,229,141,171,231,148,159,228,188,152,230,131,
-160,232,171,150,229,163,135,229,133,172,229,133,177,232,137,175,229,165,189,229,
-133,133,229,136,134,231,172,166,229,144,136,233,153,132,228,187,182,231,137,185,
-231,130,185,228,184,141,229,143,175,232,139,177,230,150,135,232,181,132,228,186,
-167,230,160,185,230,156,172,230,152,142,230,152,190,229,175,134,231,162,188,229,
-133,172,228,188,151,230,176,145,230,151,143,230,155,180,229,138,160,228,186,171,
-229,143,151,229,144,140,229,173,166,229,144,175,229,138,168,233,128,130,229,144,
-136,229,142,159,230,157,165,233,151,174,231,173,148,230,156,172,230,150,135,231,
-190,142,233,163,159,231,187,191,232,137,178,231,168,179,229,174,154,231,187,136,
-228,186,142,231,148,159,231,137,169,228,190,155,230,177,130,230,144,156,231,139,
-144,229,138,155,233,135,143,228,184,165,233,135,141,230,176,184,232,191,156,229,
-134,153,231,156,159,230,156,137,233,153,144,231,171,158,228,186,137,229,175,185,
-232,177,161,232,180,185,231,148,168,228,184,141,229,165,189,231,187,157,229,175,
-185,229,141,129,229,136,134,228,191,131,232,191,155,231,130,185,232,175,132,229,
-189,177,233,159,179,228,188,152,229,138,191,228,184,141,229,176,145,230,172,163,
-232,181,143,229,185,182,228,184,148,230,156,137,231,130,185,230,150,185,229,144,
-145,229,133,168,230,150,176,228,191,161,231,148,168,232,174,190,230,150,189,229,
-189,162,232,177,161,232,181,132,230,160,188,231,170,129,231,160,180,233,154,143,
-231,157,128,233,135,141,229,164,167,228,186,142,230,152,175,230,175,149,228,184,
-154,230,153,186,232,131,189,229,140,150,229,183,165,229,174,140,231,190,142,229,
-149,134,229,159,142,231,187,159,228,184,128,229,135,186,231,137,136,230,137,147,
-233,128,160,231,148,162,229,147,129,230,166,130,229,134,181,231,148,168,228,186,
-142,228,191,157,231,149,153,229,155,160,231,180,160,228,184,173,229,156,139,229,
-173,152,229,130,168,232,180,180,229,155,190,230,156,128,230,132,155,233,149,191,
-230,156,159,229,143,163,228,187,183,231,144,134,232,180,162,229,159,186,229,156,
-176,229,174,137,230,142,146,230,173,166,230,177,137,233,135,140,233,157,162,229,
-136,155,229,187,186,229,164,169,231,169,186,233,166,150,229,133,136,229,174,140,
-229,150,132,233,169,177,229,138,168,228,184,139,233,157,162,228,184,141,229,134,
-141,232,175,154,228,191,161,230,132,143,228,185,137,233,152,179,229,133,137,232,
-139,177,229,155,189,230,188,130,228,186,174,229,134,155,228,186,139,231,142,169,
-229,174,182,231,190,164,228,188,151,229,134,156,230,176,145,229,141,179,229,143,
-175,229,144,141,231,168,177,229,174,182,229,133,183,229,138,168,231,148,187,230,
-131,179,229,136,176,230,179,168,230,152,142,229,176,143,229,173,166,230,128,167,
-232,131,189,232,128,131,231,160,148,231,161,172,228,187,182,232,167,130,231,156,
-139,230,184,133,230,165,154,230,144,158,231,172,145,233,166,150,233,160,129,233,
-187,132,233,135,145,233,128,130,231,148,168,230,177,159,232,139,143,231,156,159,
-229,174,158,228,184,187,231,174,161,233,152,182,230,174,181,232,168,187,229,134,
-138,231,191,187,232,175,145,230,157,131,229,136,169,229,129,154,229,165,189,228,
-188,188,228,185,142,233,128,154,232,174,175,230,150,189,229,183,165,231,139,128,
-230,133,139,228,185,159,232,174,184,231,142,175,228,191,157,229,159,185,229,133,
-187,230,166,130,229,191,181,229,164,167,229,158,139,230,156,186,231,165,168,231,
-144,134,232,167,163,229,140,191,229,144,141,99,117,97,110,100,111,101,110,118,
-105,97,114,109,97,100,114,105,100,98,117,115,99,97,114,105,110,105,99,105,111,
-116,105,101,109,112,111,112,111,114,113,117,101,99,117,101,110,116,97,101,115,
-116,97,100,111,112,117,101,100,101,110,106,117,101,103,111,115,99,111,110,116,
-114,97,101,115,116,195,161,110,110,111,109,98,114,101,116,105,101,110,101,110,
-112,101,114,102,105,108,109,97,110,101,114,97,97,109,105,103,111,115,99,105,117,
-100,97,100,99,101,110,116,114,111,97,117,110,113,117,101,112,117,101,100,101,115
-,100,101,110,116,114,111,112,114,105,109,101,114,112,114,101,99,105,111,115,101,
-103,195,186,110,98,117,101,110,111,115,118,111,108,118,101,114,112,117,110,116,
-111,115,115,101,109,97,110,97,104,97,98,195,173,97,97,103,111,115,116,111,110,
-117,101,118,111,115,117,110,105,100,111,115,99,97,114,108,111,115,101,113,117,
-105,112,111,110,105,195,177,111,115,109,117,99,104,111,115,97,108,103,117,110,97
-,99,111,114,114,101,111,105,109,97,103,101,110,112,97,114,116,105,114,97,114,114
-,105,98,97,109,97,114,195,173,97,104,111,109,98,114,101,101,109,112,108,101,111,
-118,101,114,100,97,100,99,97,109,98,105,111,109,117,99,104,97,115,102,117,101,
-114,111,110,112,97,115,97,100,111,108,195,173,110,101,97,112,97,114,101,99,101,
-110,117,101,118,97,115,99,117,114,115,111,115,101,115,116,97,98,97,113,117,105,
-101,114,111,108,105,98,114,111,115,99,117,97,110,116,111,97,99,99,101,115,111,
-109,105,103,117,101,108,118,97,114,105,111,115,99,117,97,116,114,111,116,105,101
-,110,101,115,103,114,117,112,111,115,115,101,114,195,161,110,101,117,114,111,112
-,97,109,101,100,105,111,115,102,114,101,110,116,101,97,99,101,114,99,97,100,101,
-109,195,161,115,111,102,101,114,116,97,99,111,99,104,101,115,109,111,100,101,108
-,111,105,116,97,108,105,97,108,101,116,114,97,115,97,108,103,195,186,110,99,111,
-109,112,114,97,99,117,97,108,101,115,101,120,105,115,116,101,99,117,101,114,112,
-111,115,105,101,110,100,111,112,114,101,110,115,97,108,108,101,103,97,114,118,
-105,97,106,101,115,100,105,110,101,114,111,109,117,114,99,105,97,112,111,100,114
-,195,161,112,117,101,115,116,111,100,105,97,114,105,111,112,117,101,98,108,111,
-113,117,105,101,114,101,109,97,110,117,101,108,112,114,111,112,105,111,99,114,
-105,115,105,115,99,105,101,114,116,111,115,101,103,117,114,111,109,117,101,114,
-116,101,102,117,101,110,116,101,99,101,114,114,97,114,103,114,97,110,100,101,101
-,102,101,99,116,111,112,97,114,116,101,115,109,101,100,105,100,97,112,114,111,
-112,105,97,111,102,114,101,99,101,116,105,101,114,114,97,101,45,109,97,105,108,
-118,97,114,105,97,115,102,111,114,109,97,115,102,117,116,117,114,111,111,98,106,
-101,116,111,115,101,103,117,105,114,114,105,101,115,103,111,110,111,114,109,97,
-115,109,105,115,109,111,115,195,186,110,105,99,111,99,97,109,105,110,111,115,105
-,116,105,111,115,114,97,122,195,179,110,100,101,98,105,100,111,112,114,117,101,
-98,97,116,111,108,101,100,111,116,101,110,195,173,97,106,101,115,195,186,115,101
-,115,112,101,114,111,99,111,99,105,110,97,111,114,105,103,101,110,116,105,101,
-110,100,97,99,105,101,110,116,111,99,195,161,100,105,122,104,97,98,108,97,114,
-115,101,114,195,173,97,108,97,116,105,110,97,102,117,101,114,122,97,101,115,116,
-105,108,111,103,117,101,114,114,97,101,110,116,114,97,114,195,169,120,105,116,
-111,108,195,179,112,101,122,97,103,101,110,100,97,118,195,173,100,101,111,101,
-118,105,116,97,114,112,97,103,105,110,97,109,101,116,114,111,115,106,97,118,105,
-101,114,112,97,100,114,101,115,102,195,161,99,105,108,99,97,98,101,122,97,195,
-161,114,101,97,115,115,97,108,105,100,97,101,110,118,195,173,111,106,97,112,195,
-179,110,97,98,117,115,111,115,98,105,101,110,101,115,116,101,120,116,111,115,108
-,108,101,118,97,114,112,117,101,100,97,110,102,117,101,114,116,101,99,111,109,
-195,186,110,99,108,97,115,101,115,104,117,109,97,110,111,116,101,110,105,100,111
-,98,105,108,98,97,111,117,110,105,100,97,100,101,115,116,195,161,115,101,100,105
-,116,97,114,99,114,101,97,100,111,208,180,208,187,209,143,209,135,209,130,208,
-190,208,186,208,176,208,186,208,184,208,187,208,184,209,141,209,130,208,190,208,
-178,209,129,208,181,208,181,208,179,208,190,208,191,209,128,208,184,209,130,208,
-176,208,186,208,181,209,137,208,181,209,131,208,182,208,181,208,154,208,176,208,
-186,208,177,208,181,208,183,208,177,209,139,208,187,208,190,208,189,208,184,208,
-146,209,129,208,181,208,191,208,190,208,180,208,173,209,130,208,190,209,130,208,
-190,208,188,209,135,208,181,208,188,208,189,208,181,209,130,208,187,208,181,209,
-130,209,128,208,176,208,183,208,190,208,189,208,176,208,179,208,180,208,181,208,
-188,208,189,208,181,208,148,208,187,209,143,208,159,209,128,208,184,208,189,208,
-176,209,129,208,189,208,184,209,133,209,130,208,181,208,188,208,186,209,130,208,
-190,208,179,208,190,208,180,208,178,208,190,209,130,209,130,208,176,208,188,208,
-161,208,168,208,144,208,188,208,176,209,143,208,167,209,130,208,190,208,178,208,
-176,209,129,208,178,208,176,208,188,208,181,208,188,209,131,208,162,208,176,208,
-186,208,180,208,178,208,176,208,189,208,176,208,188,209,141,209,130,208,184,209,
-141,209,130,209,131,208,146,208,176,208,188,209,130,208,181,209,133,208,191,209,
-128,208,190,209,130,209,131,209,130,208,189,208,176,208,180,208,180,208,189,209,
-143,208,146,208,190,209,130,209,130,209,128,208,184,208,189,208,181,208,185,208,
-146,208,176,209,129,208,189,208,184,208,188,209,129,208,176,208,188,209,130,208,
-190,209,130,209,128,209,131,208,177,208,158,208,189,208,184,208,188,208,184,209,
-128,208,189,208,181,208,181,208,158,208,158,208,158,208,187,208,184,209,134,209,
-141,209,130,208,176,208,158,208,189,208,176,208,189,208,181,208,188,208,180,208,
-190,208,188,208,188,208,190,208,185,208,180,208,178,208,181,208,190,208,189,208,
-190,209,129,209,131,208,180,224,164,149,224,165,135,224,164,185,224,165,136,224,
-164,149,224,165,128,224,164,184,224,165,135,224,164,149,224,164,190,224,164,149,
-224,165,139,224,164,148,224,164,176,224,164,170,224,164,176,224,164,168,224,165,
-135,224,164,143,224,164,149,224,164,149,224,164,191,224,164,173,224,165,128,224,
-164,135,224,164,184,224,164,149,224,164,176,224,164,164,224,165,139,224,164,185,
-224,165,139,224,164,134,224,164,170,224,164,185,224,165,128,224,164,175,224,164,
-185,224,164,175,224,164,190,224,164,164,224,164,149,224,164,165,224,164,190,106,
-97,103,114,97,110,224,164,134,224,164,156,224,164,156,224,165,139,224,164,133,
-224,164,172,224,164,166,224,165,139,224,164,151,224,164,136,224,164,156,224,164,
-190,224,164,151,224,164,143,224,164,185,224,164,174,224,164,135,224,164,168,224,
-164,181,224,164,185,224,164,175,224,165,135,224,164,165,224,165,135,224,164,165,
-224,165,128,224,164,152,224,164,176,224,164,156,224,164,172,224,164,166,224,165,
-128,224,164,149,224,164,136,224,164,156,224,165,128,224,164,181,224,165,135,224,
-164,168,224,164,136,224,164,168,224,164,143,224,164,185,224,164,176,224,164,137,
-224,164,184,224,164,174,224,165,135,224,164,149,224,164,174,224,164,181,224,165,
-139,224,164,178,224,165,135,224,164,184,224,164,172,224,164,174,224,164,136,224,
-164,166,224,165,135,224,164,147,224,164,176,224,164,134,224,164,174,224,164,172,
-224,164,184,224,164,173,224,164,176,224,164,172,224,164,168,224,164,154,224,164,
-178,224,164,174,224,164,168,224,164,134,224,164,151,224,164,184,224,165,128,224,
-164,178,224,165,128,216,185,217,132,217,137,216,165,217,132,217,137,217,135,216,
-176,216,167,216,162,216,174,216,177,216,185,216,175,216,175,216,167,217,132,217,
-137,217,135,216,176,217,135,216,181,217,136,216,177,216,186,217,138,216,177,217,
-131,216,167,217,134,217,136,217,132,216,167,216,168,217,138,217,134,216,185,216,
-177,216,182,216,176,217,132,217,131,217,135,217,134,216,167,217,138,217,136,217,
-133,217,130,216,167,217,132,216,185,217,132,217,138,216,167,217,134,216,167,217,
-132,217,131,217,134,216,173,216,170,217,137,217,130,216,168,217,132,217,136,216,
-173,216,169,216,167,216,174,216,177,217,129,217,130,216,183,216,185,216,168,216,
-175,216,177,217,131,217,134,216,165,216,176,216,167,217,131,217,133,216,167,216,
-167,216,173,216,175,216,165,217,132,216,167,217,129,217,138,217,135,216,168,216,
-185,216,182,217,131,217,138,217,129,216,168,216,173,216,171,217,136,217,133,217,
-134,217,136,217,135,217,136,216,163,217,134,216,167,216,172,216,175,216,167,217,
-132,217,135,216,167,216,179,217,132,217,133,216,185,217,134,216,175,217,132,217,
-138,216,179,216,185,216,168,216,177,216,181,217,132,217,137,217,133,217,134,216,
-176,216,168,217,135,216,167,216,163,217,134,217,135,217,133,216,171,217,132,217,
-131,217,134,216,170,216,167,217,132,216,167,216,173,217,138,216,171,217,133,216,
-181,216,177,216,180,216,177,216,173,216,173,217,136,217,132,217,136,217,129,217,
-138,216,167,216,176,216,167,217,132,217,131,217,132,217,133,216,177,216,169,216,
-167,217,134,216,170,216,167,217,132,217,129,216,163,216,168,217,136,216,174,216,
-167,216,181,216,163,217,134,216,170,216,167,217,134,217,135,216,167,217,132,217,
-138,216,185,216,182,217,136,217,136,217,130,216,175,216,167,216,168,217,134,216,
-174,217,138,216,177,216,168,217,134,216,170,217,132,217,131,217,133,216,180,216,
-167,216,161,217,136,217,135,217,138,216,167,216,168,217,136,217,130,216,181,216,
-181,217,136,217,133,216,167,216,177,217,130,217,133,216,163,216,173,216,175,217,
-134,216,173,217,134,216,185,216,175,217,133,216,177,216,163,217,138,216,167,216,
-173,216,169,217,131,216,170,216,168,216,175,217,136,217,134,217,138,216,172,216,
-168,217,133,217,134,217,135,216,170,216,173,216,170,216,172,217,135,216,169,216,
-179,217,134,216,169,217,138,216,170,217,133,217,131,216,177,216,169,216,186,216,
-178,216,169,217,134,217,129,216,179,216,168,217,138,216,170,217,132,217,132,217,
-135,217,132,217,134,216,167,216,170,217,132,217,131,217,130,217,132,216,168,217,
-132,217,133,216,167,216,185,217,134,217,135,216,163,217,136,217,132,216,180,217,
-138,216,161,217,134,217,136,216,177,216,163,217,133,216,167,217,129,217,138,217,
-131,216,168,217,131,217,132,216,176,216,167,216,170,216,177,216,170,216,168,216,
-168,216,163,217,134,217,135,217,133,216,179,216,167,217,134,217,131,216,168,217,
-138,216,185,217,129,217,130,216,175,216,173,216,179,217,134,217,132,217,135,217,
-133,216,180,216,185,216,177,216,163,217,135,217,132,216,180,217,135,216,177,217,
-130,216,183,216,177,216,183,217,132,216,168,112,114,111,102,105,108,101,115,101,
-114,118,105,99,101,100,101,102,97,117,108,116,104,105,109,115,101,108,102,100,
-101,116,97,105,108,115,99,111,110,116,101,110,116,115,117,112,112,111,114,116,
-115,116,97,114,116,101,100,109,101,115,115,97,103,101,115,117,99,99,101,115,115,
-102,97,115,104,105,111,110,60,116,105,116,108,101,62,99,111,117,110,116,114,121,
-97,99,99,111,117,110,116,99,114,101,97,116,101,100,115,116,111,114,105,101,115,
-114,101,115,117,108,116,115,114,117,110,110,105,110,103,112,114,111,99,101,115,
-115,119,114,105,116,105,110,103,111,98,106,101,99,116,115,118,105,115,105,98,108
-,101,119,101,108,99,111,109,101,97,114,116,105,99,108,101,117,110,107,110,111,
-119,110,110,101,116,119,111,114,107,99,111,109,112,97,110,121,100,121,110,97,109
-,105,99,98,114,111,119,115,101,114,112,114,105,118,97,99,121,112,114,111,98,108,
-101,109,83,101,114,118,105,99,101,114,101,115,112,101,99,116,100,105,115,112,108
-,97,121,114,101,113,117,101,115,116,114,101,115,101,114,118,101,119,101,98,115,
-105,116,101,104,105,115,116,111,114,121,102,114,105,101,110,100,115,111,112,116,
-105,111,110,115,119,111,114,107,105,110,103,118,101,114,115,105,111,110,109,105,
-108,108,105,111,110,99,104,97,110,110,101,108,119,105,110,100,111,119,46,97,100,
-100,114,101,115,115,118,105,115,105,116,101,100,119,101,97,116,104,101,114,99,
-111,114,114,101,99,116,112,114,111,100,117,99,116,101,100,105,114,101,99,116,102
-,111,114,119,97,114,100,121,111,117,32,99,97,110,114,101,109,111,118,101,100,115
-,117,98,106,101,99,116,99,111,110,116,114,111,108,97,114,99,104,105,118,101,99,
-117,114,114,101,110,116,114,101,97,100,105,110,103,108,105,98,114,97,114,121,108
-,105,109,105,116,101,100,109,97,110,97,103,101,114,102,117,114,116,104,101,114,
-115,117,109,109,97,114,121,109,97,99,104,105,110,101,109,105,110,117,116,101,115
-,112,114,105,118,97,116,101,99,111,110,116,101,120,116,112,114,111,103,114,97,
-109,115,111,99,105,101,116,121,110,117,109,98,101,114,115,119,114,105,116,116,
-101,110,101,110,97,98,108,101,100,116,114,105,103,103,101,114,115,111,117,114,99
-,101,115,108,111,97,100,105,110,103,101,108,101,109,101,110,116,112,97,114,116,
-110,101,114,102,105,110,97,108,108,121,112,101,114,102,101,99,116,109,101,97,110
-,105,110,103,115,121,115,116,101,109,115,107,101,101,112,105,110,103,99,117,108,
-116,117,114,101,38,113,117,111,116,59,44,106,111,117,114,110,97,108,112,114,111,
-106,101,99,116,115,117,114,102,97,99,101,115,38,113,117,111,116,59,101,120,112,
-105,114,101,115,114,101,118,105,101,119,115,98,97,108,97,110,99,101,69,110,103,
-108,105,115,104,67,111,110,116,101,110,116,116,104,114,111,117,103,104,80,108,
-101,97,115,101,32,111,112,105,110,105,111,110,99,111,110,116,97,99,116,97,118,
-101,114,97,103,101,112,114,105,109,97,114,121,118,105,108,108,97,103,101,83,112,
-97,110,105,115,104,103,97,108,108,101,114,121,100,101,99,108,105,110,101,109,101
-,101,116,105,110,103,109,105,115,115,105,111,110,112,111,112,117,108,97,114,113,
-117,97,108,105,116,121,109,101,97,115,117,114,101,103,101,110,101,114,97,108,115
-,112,101,99,105,101,115,115,101,115,115,105,111,110,115,101,99,116,105,111,110,
-119,114,105,116,101,114,115,99,111,117,110,116,101,114,105,110,105,116,105,97,
-108,114,101,112,111,114,116,115,102,105,103,117,114,101,115,109,101,109,98,101,
-114,115,104,111,108,100,105,110,103,100,105,115,112,117,116,101,101,97,114,108,
-105,101,114,101,120,112,114,101,115,115,100,105,103,105,116,97,108,112,105,99,
-116,117,114,101,65,110,111,116,104,101,114,109,97,114,114,105,101,100,116,114,97
-,102,102,105,99,108,101,97,100,105,110,103,99,104,97,110,103,101,100,99,101,110,
-116,114,97,108,118,105,99,116,111,114,121,105,109,97,103,101,115,47,114,101,97,
-115,111,110,115,115,116,117,100,105,101,115,102,101,97,116,117,114,101,108,105,
-115,116,105,110,103,109,117,115,116,32,98,101,115,99,104,111,111,108,115,86,101,
-114,115,105,111,110,117,115,117,97,108,108,121,101,112,105,115,111,100,101,112,
-108,97,121,105,110,103,103,114,111,119,105,110,103,111,98,118,105,111,117,115,
-111,118,101,114,108,97,121,112,114,101,115,101,110,116,97,99,116,105,111,110,115
-,60,47,117,108,62,13,10,119,114,97,112,112,101,114,97,108,114,101,97,100,121,99,
-101,114,116,97,105,110,114,101,97,108,105,116,121,115,116,111,114,97,103,101,97,
-110,111,116,104,101,114,100,101,115,107,116,111,112,111,102,102,101,114,101,100,
-112,97,116,116,101,114,110,117,110,117,115,117,97,108,68,105,103,105,116,97,108,
-99,97,112,105,116,97,108,87,101,98,115,105,116,101,102,97,105,108,117,114,101,99
-,111,110,110,101,99,116,114,101,100,117,99,101,100,65,110,100,114,111,105,100,
-100,101,99,97,100,101,115,114,101,103,117,108,97,114,32,38,97,109,112,59,32,97,
-110,105,109,97,108,115,114,101,108,101,97,115,101,65,117,116,111,109,97,116,103,
-101,116,116,105,110,103,109,101,116,104,111,100,115,110,111,116,104,105,110,103,
-80,111,112,117,108,97,114,99,97,112,116,105,111,110,108,101,116,116,101,114,115,
-99,97,112,116,117,114,101,115,99,105,101,110,99,101,108,105,99,101,110,115,101,
-99,104,97,110,103,101,115,69,110,103,108,97,110,100,61,49,38,97,109,112,59,72,
-105,115,116,111,114,121,32,61,32,110,101,119,32,67,101,110,116,114,97,108,117,
-112,100,97,116,101,100,83,112,101,99,105,97,108,78,101,116,119,111,114,107,114,
-101,113,117,105,114,101,99,111,109,109,101,110,116,119,97,114,110,105,110,103,67
-,111,108,108,101,103,101,116,111,111,108,98,97,114,114,101,109,97,105,110,115,98
-,101,99,97,117,115,101,101,108,101,99,116,101,100,68,101,117,116,115,99,104,102,
-105,110,97,110,99,101,119,111,114,107,101,114,115,113,117,105,99,107,108,121,98,
-101,116,119,101,101,110,101,120,97,99,116,108,121,115,101,116,116,105,110,103,
-100,105,115,101,97,115,101,83,111,99,105,101,116,121,119,101,97,112,111,110,115,
-101,120,104,105,98,105,116,38,108,116,59,33,45,45,67,111,110,116,114,111,108,99,
-108,97,115,115,101,115,99,111,118,101,114,101,100,111,117,116,108,105,110,101,97
-,116,116,97,99,107,115,100,101,118,105,99,101,115,40,119,105,110,100,111,119,112
-,117,114,112,111,115,101,116,105,116,108,101,61,34,77,111,98,105,108,101,32,107,
-105,108,108,105,110,103,115,104,111,119,105,110,103,73,116,97,108,105,97,110,100
-,114,111,112,112,101,100,104,101,97,118,105,108,121,101,102,102,101,99,116,115,
-45,49,39,93,41,59,10,99,111,110,102,105,114,109,67,117,114,114,101,110,116,97,
-100,118,97,110,99,101,115,104,97,114,105,110,103,111,112,101,110,105,110,103,100
-,114,97,119,105,110,103,98,105,108,108,105,111,110,111,114,100,101,114,101,100,
-71,101,114,109,97,110,121,114,101,108,97,116,101,100,60,47,102,111,114,109,62,
-105,110,99,108,117,100,101,119,104,101,116,104,101,114,100,101,102,105,110,101,
-100,83,99,105,101,110,99,101,99,97,116,97,108,111,103,65,114,116,105,99,108,101,
-98,117,116,116,111,110,115,108,97,114,103,101,115,116,117,110,105,102,111,114,
-109,106,111,117,114,110,101,121,115,105,100,101,98,97,114,67,104,105,99,97,103,
-111,104,111,108,105,100,97,121,71,101,110,101,114,97,108,112,97,115,115,97,103,
-101,44,38,113,117,111,116,59,97,110,105,109,97,116,101,102,101,101,108,105,110,
-103,97,114,114,105,118,101,100,112,97,115,115,105,110,103,110,97,116,117,114,97,
-108,114,111,117,103,104,108,121,46,10,10,84,104,101,32,98,117,116,32,110,111,116
-,100,101,110,115,105,116,121,66,114,105,116,97,105,110,67,104,105,110,101,115,
-101,108,97,99,107,32,111,102,116,114,105,98,117,116,101,73,114,101,108,97,110,
-100,34,32,100,97,116,97,45,102,97,99,116,111,114,115,114,101,99,101,105,118,101,
-116,104,97,116,32,105,115,76,105,98,114,97,114,121,104,117,115,98,97,110,100,105
-,110,32,102,97,99,116,97,102,102,97,105,114,115,67,104,97,114,108,101,115,114,97
-,100,105,99,97,108,98,114,111,117,103,104,116,102,105,110,100,105,110,103,108,97
-,110,100,105,110,103,58,108,97,110,103,61,34,114,101,116,117,114,110,32,108,101,
-97,100,101,114,115,112,108,97,110,110,101,100,112,114,101,109,105,117,109,112,97
-,99,107,97,103,101,65,109,101,114,105,99,97,69,100,105,116,105,111,110,93,38,113
-,117,111,116,59,77,101,115,115,97,103,101,110,101,101,100,32,116,111,118,97,108,
-117,101,61,34,99,111,109,112,108,101,120,108,111,111,107,105,110,103,115,116,97,
-116,105,111,110,98,101,108,105,101,118,101,115,109,97,108,108,101,114,45,109,111
-,98,105,108,101,114,101,99,111,114,100,115,119,97,110,116,32,116,111,107,105,110
-,100,32,111,102,70,105,114,101,102,111,120,121,111,117,32,97,114,101,115,105,109
-,105,108,97,114,115,116,117,100,105,101,100,109,97,120,105,109,117,109,104,101,
-97,100,105,110,103,114,97,112,105,100,108,121,99,108,105,109,97,116,101,107,105,
-110,103,100,111,109,101,109,101,114,103,101,100,97,109,111,117,110,116,115,102,
-111,117,110,100,101,100,112,105,111,110,101,101,114,102,111,114,109,117,108,97,
-100,121,110,97,115,116,121,104,111,119,32,116,111,32,83,117,112,112,111,114,116,
-114,101,118,101,110,117,101,101,99,111,110,111,109,121,82,101,115,117,108,116,
-115,98,114,111,116,104,101,114,115,111,108,100,105,101,114,108,97,114,103,101,
-108,121,99,97,108,108,105,110,103,46,38,113,117,111,116,59,65,99,99,111,117,110,
-116,69,100,119,97,114,100,32,115,101,103,109,101,110,116,82,111,98,101,114,116,
-32,101,102,102,111,114,116,115,80,97,99,105,102,105,99,108,101,97,114,110,101,
-100,117,112,32,119,105,116,104,104,101,105,103,104,116,58,119,101,32,104,97,118,
-101,65,110,103,101,108,101,115,110,97,116,105,111,110,115,95,115,101,97,114,99,
-104,97,112,112,108,105,101,100,97,99,113,117,105,114,101,109,97,115,115,105,118,
-101,103,114,97,110,116,101,100,58,32,102,97,108,115,101,116,114,101,97,116,101,
-100,98,105,103,103,101,115,116,98,101,110,101,102,105,116,100,114,105,118,105,
-110,103,83,116,117,100,105,101,115,109,105,110,105,109,117,109,112,101,114,104,
-97,112,115,109,111,114,110,105,110,103,115,101,108,108,105,110,103,105,115,32,
-117,115,101,100,114,101,118,101,114,115,101,118,97,114,105,97,110,116,32,114,111
-,108,101,61,34,109,105,115,115,105,110,103,97,99,104,105,101,118,101,112,114,111
-,109,111,116,101,115,116,117,100,101,110,116,115,111,109,101,111,110,101,101,120
-,116,114,101,109,101,114,101,115,116,111,114,101,98,111,116,116,111,109,58,101,
-118,111,108,118,101,100,97,108,108,32,116,104,101,115,105,116,101,109,97,112,101
-,110,103,108,105,115,104,119,97,121,32,116,111,32,32,65,117,103,117,115,116,115,
-121,109,98,111,108,115,67,111,109,112,97,110,121,109,97,116,116,101,114,115,109,
-117,115,105,99,97,108,97,103,97,105,110,115,116,115,101,114,118,105,110,103,125,
-41,40,41,59,13,10,112,97,121,109,101,110,116,116,114,111,117,98,108,101,99,111,
-110,99,101,112,116,99,111,109,112,97,114,101,112,97,114,101,110,116,115,112,108,
-97,121,101,114,115,114,101,103,105,111,110,115,109,111,110,105,116,111,114,32,39
-,39,84,104,101,32,119,105,110,110,105,110,103,101,120,112,108,111,114,101,97,100
-,97,112,116,101,100,71,97,108,108,101,114,121,112,114,111,100,117,99,101,97,98,
-105,108,105,116,121,101,110,104,97,110,99,101,99,97,114,101,101,114,115,41,46,32
-,84,104,101,32,99,111,108,108,101,99,116,83,101,97,114,99,104,32,97,110,99,105,
-101,110,116,101,120,105,115,116,101,100,102,111,111,116,101,114,32,104,97,110,
-100,108,101,114,112,114,105,110,116,101,100,99,111,110,115,111,108,101,69,97,115
-,116,101,114,110,101,120,112,111,114,116,115,119,105,110,100,111,119,115,67,104,
-97,110,110,101,108,105,108,108,101,103,97,108,110,101,117,116,114,97,108,115,117
-,103,103,101,115,116,95,104,101,97,100,101,114,115,105,103,110,105,110,103,46,
-104,116,109,108,34,62,115,101,116,116,108,101,100,119,101,115,116,101,114,110,99
-,97,117,115,105,110,103,45,119,101,98,107,105,116,99,108,97,105,109,101,100,74,
-117,115,116,105,99,101,99,104,97,112,116,101,114,118,105,99,116,105,109,115,84,
-104,111,109,97,115,32,109,111,122,105,108,108,97,112,114,111,109,105,115,101,112
-,97,114,116,105,101,115,101,100,105,116,105,111,110,111,117,116,115,105,100,101,
-58,102,97,108,115,101,44,104,117,110,100,114,101,100,79,108,121,109,112,105,99,
-95,98,117,116,116,111,110,97,117,116,104,111,114,115,114,101,97,99,104,101,100,
-99,104,114,111,110,105,99,100,101,109,97,110,100,115,115,101,99,111,110,100,115,
-112,114,111,116,101,99,116,97,100,111,112,116,101,100,112,114,101,112,97,114,101
-,110,101,105,116,104,101,114,103,114,101,97,116,108,121,103,114,101,97,116,101,
-114,111,118,101,114,97,108,108,105,109,112,114,111,118,101,99,111,109,109,97,110
-,100,115,112,101,99,105,97,108,115,101,97,114,99,104,46,119,111,114,115,104,105,
-112,102,117,110,100,105,110,103,116,104,111,117,103,104,116,104,105,103,104,101,
-115,116,105,110,115,116,101,97,100,117,116,105,108,105,116,121,113,117,97,114,
-116,101,114,67,117,108,116,117,114,101,116,101,115,116,105,110,103,99,108,101,97
-,114,108,121,101,120,112,111,115,101,100,66,114,111,119,115,101,114,108,105,98,
-101,114,97,108,125,32,99,97,116,99,104,80,114,111,106,101,99,116,101,120,97,109,
-112,108,101,104,105,100,101,40,41,59,70,108,111,114,105,100,97,97,110,115,119,
-101,114,115,97,108,108,111,119,101,100,69,109,112,101,114,111,114,100,101,102,
-101,110,115,101,115,101,114,105,111,117,115,102,114,101,101,100,111,109,83,101,
-118,101,114,97,108,45,98,117,116,116,111,110,70,117,114,116,104,101,114,111,117,
-116,32,111,102,32,33,61,32,110,117,108,108,116,114,97,105,110,101,100,68,101,110
-,109,97,114,107,118,111,105,100,40,48,41,47,97,108,108,46,106,115,112,114,101,
-118,101,110,116,82,101,113,117,101,115,116,83,116,101,112,104,101,110,10,10,87,
-104,101,110,32,111,98,115,101,114,118,101,60,47,104,50,62,13,10,77,111,100,101,
-114,110,32,112,114,111,118,105,100,101,34,32,97,108,116,61,34,98,111,114,100,101
-,114,115,46,10,10,70,111,114,32,10,10,77,97,110,121,32,97,114,116,105,115,116,
-115,112,111,119,101,114,101,100,112,101,114,102,111,114,109,102,105,99,116,105,
-111,110,116,121,112,101,32,111,102,109,101,100,105,99,97,108,116,105,99,107,101,
-116,115,111,112,112,111,115,101,100,67,111,117,110,99,105,108,119,105,116,110,
-101,115,115,106,117,115,116,105,99,101,71,101,111,114,103,101,32,66,101,108,103,
-105,117,109,46,46,46,60,47,97,62,116,119,105,116,116,101,114,110,111,116,97,98,
-108,121,119,97,105,116,105,110,103,119,97,114,102,97,114,101,32,79,116,104,101,
-114,32,114,97,110,107,105,110,103,112,104,114,97,115,101,115,109,101,110,116,105
-,111,110,115,117,114,118,105,118,101,115,99,104,111,108,97,114,60,47,112,62,13,
-10,32,67,111,117,110,116,114,121,105,103,110,111,114,101,100,108,111,115,115,32,
-111,102,106,117,115,116,32,97,115,71,101,111,114,103,105,97,115,116,114,97,110,
-103,101,60,104,101,97,100,62,60,115,116,111,112,112,101,100,49,39,93,41,59,13,10
-,105,115,108,97,110,100,115,110,111,116,97,98,108,101,98,111,114,100,101,114,58,
-108,105,115,116,32,111,102,99,97,114,114,105,101,100,49,48,48,44,48,48,48,60,47,
-104,51,62,10,32,115,101,118,101,114,97,108,98,101,99,111,109,101,115,115,101,108
-,101,99,116,32,119,101,100,100,105,110,103,48,48,46,104,116,109,108,109,111,110,
-97,114,99,104,111,102,102,32,116,104,101,116,101,97,99,104,101,114,104,105,103,
-104,108,121,32,98,105,111,108,111,103,121,108,105,102,101,32,111,102,111,114,32,
-101,118,101,110,114,105,115,101,32,111,102,38,114,97,113,117,111,59,112,108,117,
-115,111,110,101,104,117,110,116,105,110,103,40,116,104,111,117,103,104,68,111,
-117,103,108,97,115,106,111,105,110,105,110,103,99,105,114,99,108,101,115,70,111,
-114,32,116,104,101,65,110,99,105,101,110,116,86,105,101,116,110,97,109,118,101,
-104,105,99,108,101,115,117,99,104,32,97,115,99,114,121,115,116,97,108,118,97,108
-,117,101,32,61,87,105,110,100,111,119,115,101,110,106,111,121,101,100,97,32,115,
-109,97,108,108,97,115,115,117,109,101,100,60,97,32,105,100,61,34,102,111,114,101
-,105,103,110,32,65,108,108,32,114,105,104,111,119,32,116,104,101,68,105,115,112,
-108,97,121,114,101,116,105,114,101,100,104,111,119,101,118,101,114,104,105,100,
-100,101,110,59,98,97,116,116,108,101,115,115,101,101,107,105,110,103,99,97,98,
-105,110,101,116,119,97,115,32,110,111,116,108,111,111,107,32,97,116,99,111,110,
-100,117,99,116,103,101,116,32,116,104,101,74,97,110,117,97,114,121,104,97,112,
-112,101,110,115,116,117,114,110,105,110,103,97,58,104,111,118,101,114,79,110,108
-,105,110,101,32,70,114,101,110,99,104,32,108,97,99,107,105,110,103,116,121,112,
-105,99,97,108,101,120,116,114,97,99,116,101,110,101,109,105,101,115,101,118,101,
-110,32,105,102,103,101,110,101,114,97,116,100,101,99,105,100,101,100,97,114,101,
-32,110,111,116,47,115,101,97,114,99,104,98,101,108,105,101,102,115,45,105,109,97
-,103,101,58,108,111,99,97,116,101,100,115,116,97,116,105,99,46,108,111,103,105,
-110,34,62,99,111,110,118,101,114,116,118,105,111,108,101,110,116,101,110,116,101
-,114,101,100,102,105,114,115,116,34,62,99,105,114,99,117,105,116,70,105,110,108,
-97,110,100,99,104,101,109,105,115,116,115,104,101,32,119,97,115,49,48,112,120,59
-,34,62,97,115,32,115,117,99,104,100,105,118,105,100,101,100,60,47,115,112,97,110
-,62,119,105,108,108,32,98,101,108,105,110,101,32,111,102,97,32,103,114,101,97,
-116,109,121,115,116,101,114,121,47,105,110,100,101,120,46,102,97,108,108,105,110
-,103,100,117,101,32,116,111,32,114,97,105,108,119,97,121,99,111,108,108,101,103,
-101,109,111,110,115,116,101,114,100,101,115,99,101,110,116,105,116,32,119,105,
-116,104,110,117,99,108,101,97,114,74,101,119,105,115,104,32,112,114,111,116,101,
-115,116,66,114,105,116,105,115,104,102,108,111,119,101,114,115,112,114,101,100,
-105,99,116,114,101,102,111,114,109,115,98,117,116,116,111,110,32,119,104,111,32,
-119,97,115,108,101,99,116,117,114,101,105,110,115,116,97,110,116,115,117,105,99,
-105,100,101,103,101,110,101,114,105,99,112,101,114,105,111,100,115,109,97,114,
-107,101,116,115,83,111,99,105,97,108,32,102,105,115,104,105,110,103,99,111,109,
-98,105,110,101,103,114,97,112,104,105,99,119,105,110,110,101,114,115,60,98,114,
-32,47,62,60,98,121,32,116,104,101,32,78,97,116,117,114,97,108,80,114,105,118,97,
-99,121,99,111,111,107,105,101,115,111,117,116,99,111,109,101,114,101,115,111,108
-,118,101,83,119,101,100,105,115,104,98,114,105,101,102,108,121,80,101,114,115,
-105,97,110,115,111,32,109,117,99,104,67,101,110,116,117,114,121,100,101,112,105,
-99,116,115,99,111,108,117,109,110,115,104,111,117,115,105,110,103,115,99,114,105
-,112,116,115,110,101,120,116,32,116,111,98,101,97,114,105,110,103,109,97,112,112
-,105,110,103,114,101,118,105,115,101,100,106,81,117,101,114,121,40,45,119,105,
-100,116,104,58,116,105,116,108,101,34,62,116,111,111,108,116,105,112,83,101,99,
-116,105,111,110,100,101,115,105,103,110,115,84,117,114,107,105,115,104,121,111,
-117,110,103,101,114,46,109,97,116,99,104,40,125,41,40,41,59,10,10,98,117,114,110
-,105,110,103,111,112,101,114,97,116,101,100,101,103,114,101,101,115,115,111,117,
-114,99,101,61,82,105,99,104,97,114,100,99,108,111,115,101,108,121,112,108,97,115
-,116,105,99,101,110,116,114,105,101,115,60,47,116,114,62,13,10,99,111,108,111,
-114,58,35,117,108,32,105,100,61,34,112,111,115,115,101,115,115,114,111,108,108,
-105,110,103,112,104,121,115,105,99,115,102,97,105,108,105,110,103,101,120,101,99
-,117,116,101,99,111,110,116,101,115,116,108,105,110,107,32,116,111,68,101,102,97
-,117,108,116,60,98,114,32,47,62,10,58,32,116,114,117,101,44,99,104,97,114,116,
-101,114,116,111,117,114,105,115,109,99,108,97,115,115,105,99,112,114,111,99,101,
-101,100,101,120,112,108,97,105,110,60,47,104,49,62,13,10,111,110,108,105,110,101
-,46,63,120,109,108,32,118,101,104,101,108,112,105,110,103,100,105,97,109,111,110
-,100,117,115,101,32,116,104,101,97,105,114,108,105,110,101,101,110,100,32,45,45,
-62,41,46,97,116,116,114,40,114,101,97,100,101,114,115,104,111,115,116,105,110,
-103,35,102,102,102,102,102,102,114,101,97,108,105,122,101,86,105,110,99,101,110,
-116,115,105,103,110,97,108,115,32,115,114,99,61,34,47,80,114,111,100,117,99,116,
-100,101,115,112,105,116,101,100,105,118,101,114,115,101,116,101,108,108,105,110,
-103,80,117,98,108,105,99,32,104,101,108,100,32,105,110,74,111,115,101,112,104,32
-,116,104,101,97,116,114,101,97,102,102,101,99,116,115,60,115,116,121,108,101,62,
-97,32,108,97,114,103,101,100,111,101,115,110,39,116,108,97,116,101,114,44,32,69,
-108,101,109,101,110,116,102,97,118,105,99,111,110,99,114,101,97,116,111,114,72,
-117,110,103,97,114,121,65,105,114,112,111,114,116,115,101,101,32,116,104,101,115
-,111,32,116,104,97,116,77,105,99,104,97,101,108,83,121,115,116,101,109,115,80,
-114,111,103,114,97,109,115,44,32,97,110,100,32,32,119,105,100,116,104,61,101,38,
-113,117,111,116,59,116,114,97,100,105,110,103,108,101,102,116,34,62,10,112,101,
-114,115,111,110,115,71,111,108,100,101,110,32,65,102,102,97,105,114,115,103,114,
-97,109,109,97,114,102,111,114,109,105,110,103,100,101,115,116,114,111,121,105,
-100,101,97,32,111,102,99,97,115,101,32,111,102,111,108,100,101,115,116,32,116,
-104,105,115,32,105,115,46,115,114,99,32,61,32,99,97,114,116,111,111,110,114,101,
-103,105,115,116,114,67,111,109,109,111,110,115,77,117,115,108,105,109,115,87,104
-,97,116,32,105,115,105,110,32,109,97,110,121,109,97,114,107,105,110,103,114,101,
-118,101,97,108,115,73,110,100,101,101,100,44,101,113,117,97,108,108,121,47,115,
-104,111,119,95,97,111,117,116,100,111,111,114,101,115,99,97,112,101,40,65,117,
-115,116,114,105,97,103,101,110,101,116,105,99,115,121,115,116,101,109,44,73,110,
-32,116,104,101,32,115,105,116,116,105,110,103,72,101,32,97,108,115,111,73,115,
-108,97,110,100,115,65,99,97,100,101,109,121,10,9,9,60,33,45,45,68,97,110,105,101
-,108,32,98,105,110,100,105,110,103,98,108,111,99,107,34,62,105,109,112,111,115,
-101,100,117,116,105,108,105,122,101,65,98,114,97,104,97,109,40,101,120,99,101,
-112,116,123,119,105,100,116,104,58,112,117,116,116,105,110,103,41,46,104,116,109
-,108,40,124,124,32,91,93,59,10,68,65,84,65,91,32,42,107,105,116,99,104,101,110,
-109,111,117,110,116,101,100,97,99,116,117,97,108,32,100,105,97,108,101,99,116,
-109,97,105,110,108,121,32,95,98,108,97,110,107,39,105,110,115,116,97,108,108,101
-,120,112,101,114,116,115,105,102,40,116,121,112,101,73,116,32,97,108,115,111,38,
-99,111,112,121,59,32,34,62,84,101,114,109,115,98,111,114,110,32,105,110,79,112,
-116,105,111,110,115,101,97,115,116,101,114,110,116,97,108,107,105,110,103,99,111
-,110,99,101,114,110,103,97,105,110,101,100,32,111,110,103,111,105,110,103,106,
-117,115,116,105,102,121,99,114,105,116,105,99,115,102,97,99,116,111,114,121,105,
-116,115,32,111,119,110,97,115,115,97,117,108,116,105,110,118,105,116,101,100,108
-,97,115,116,105,110,103,104,105,115,32,111,119,110,104,114,101,102,61,34,47,34,
-32,114,101,108,61,34,100,101,118,101,108,111,112,99,111,110,99,101,114,116,100,
-105,97,103,114,97,109,100,111,108,108,97,114,115,99,108,117,115,116,101,114,112,
-104,112,63,105,100,61,97,108,99,111,104,111,108,41,59,125,41,40,41,59,117,115,
-105,110,103,32,97,62,60,115,112,97,110,62,118,101,115,115,101,108,115,114,101,
-118,105,118,97,108,65,100,100,114,101,115,115,97,109,97,116,101,117,114,97,110,
-100,114,111,105,100,97,108,108,101,103,101,100,105,108,108,110,101,115,115,119,
-97,108,107,105,110,103,99,101,110,116,101,114,115,113,117,97,108,105,102,121,109
-,97,116,99,104,101,115,117,110,105,102,105,101,100,101,120,116,105,110,99,116,68
-,101,102,101,110,115,101,100,105,101,100,32,105,110,10,9,60,33,45,45,32,99,117,
-115,116,111,109,115,108,105,110,107,105,110,103,76,105,116,116,108,101,32,66,111
-,111,107,32,111,102,101,118,101,110,105,110,103,109,105,110,46,106,115,63,97,114
-,101,32,116,104,101,107,111,110,116,97,107,116,116,111,100,97,121,39,115,46,104,
-116,109,108,34,32,116,97,114,103,101,116,61,119,101,97,114,105,110,103,65,108,
-108,32,82,105,103,59,10,125,41,40,41,59,114,97,105,115,105,110,103,32,65,108,115
-,111,44,32,99,114,117,99,105,97,108,97,98,111,117,116,34,62,100,101,99,108,97,
-114,101,45,45,62,10,60,115,99,102,105,114,101,102,111,120,97,115,32,109,117,99,
-104,97,112,112,108,105,101,115,105,110,100,101,120,44,32,115,44,32,98,117,116,32
-,116,121,112,101,32,61,32,10,13,10,60,33,45,45,116,111,119,97,114,100,115,82,101
-,99,111,114,100,115,80,114,105,118,97,116,101,70,111,114,101,105,103,110,80,114,
-101,109,105,101,114,99,104,111,105,99,101,115,86,105,114,116,117,97,108,114,101,
-116,117,114,110,115,67,111,109,109,101,110,116,80,111,119,101,114,101,100,105,
-110,108,105,110,101,59,112,111,118,101,114,116,121,99,104,97,109,98,101,114,76,
-105,118,105,110,103,32,118,111,108,117,109,101,115,65,110,116,104,111,110,121,
-108,111,103,105,110,34,32,82,101,108,97,116,101,100,69,99,111,110,111,109,121,
-114,101,97,99,104,101,115,99,117,116,116,105,110,103,103,114,97,118,105,116,121,
-108,105,102,101,32,105,110,67,104,97,112,116,101,114,45,115,104,97,100,111,119,
-78,111,116,97,98,108,101,60,47,116,100,62,13,10,32,114,101,116,117,114,110,115,
-116,97,100,105,117,109,119,105,100,103,101,116,115,118,97,114,121,105,110,103,
-116,114,97,118,101,108,115,104,101,108,100,32,98,121,119,104,111,32,97,114,101,
-119,111,114,107,32,105,110,102,97,99,117,108,116,121,97,110,103,117,108,97,114,
-119,104,111,32,104,97,100,97,105,114,112,111,114,116,116,111,119,110,32,111,102,
-10,10,83,111,109,101,32,39,99,108,105,99,107,39,99,104,97,114,103,101,115,107,
-101,121,119,111,114,100,105,116,32,119,105,108,108,99,105,116,121,32,111,102,40,
-116,104,105,115,41,59,65,110,100,114,101,119,32,117,110,105,113,117,101,32,99,
-104,101,99,107,101,100,111,114,32,109,111,114,101,51,48,48,112,120,59,32,114,101
-,116,117,114,110,59,114,115,105,111,110,61,34,112,108,117,103,105,110,115,119,
-105,116,104,105,110,32,104,101,114,115,101,108,102,83,116,97,116,105,111,110,70,
-101,100,101,114,97,108,118,101,110,116,117,114,101,112,117,98,108,105,115,104,
-115,101,110,116,32,116,111,116,101,110,115,105,111,110,97,99,116,114,101,115,115
-,99,111,109,101,32,116,111,102,105,110,103,101,114,115,68,117,107,101,32,111,102
-,112,101,111,112,108,101,44,101,120,112,108,111,105,116,119,104,97,116,32,105,
-115,104,97,114,109,111,110,121,97,32,109,97,106,111,114,34,58,34,104,116,116,112
-,105,110,32,104,105,115,32,109,101,110,117,34,62,10,109,111,110,116,104,108,121,
-111,102,102,105,99,101,114,99,111,117,110,99,105,108,103,97,105,110,105,110,103,
-101,118,101,110,32,105,110,83,117,109,109,97,114,121,100,97,116,101,32,111,102,
-108,111,121,97,108,116,121,102,105,116,110,101,115,115,97,110,100,32,119,97,115,
-101,109,112,101,114,111,114,115,117,112,114,101,109,101,83,101,99,111,110,100,32
-,104,101,97,114,105,110,103,82,117,115,115,105,97,110,108,111,110,103,101,115,
-116,65,108,98,101,114,116,97,108,97,116,101,114,97,108,115,101,116,32,111,102,32
-,115,109,97,108,108,34,62,46,97,112,112,101,110,100,100,111,32,119,105,116,104,
-102,101,100,101,114,97,108,98,97,110,107,32,111,102,98,101,110,101,97,116,104,68
-,101,115,112,105,116,101,67,97,112,105,116,97,108,103,114,111,117,110,100,115,41
-,44,32,97,110,100,32,112,101,114,99,101,110,116,105,116,32,102,114,111,109,99,
-108,111,115,105,110,103,99,111,110,116,97,105,110,73,110,115,116,101,97,100,102,
-105,102,116,101,101,110,97,115,32,119,101,108,108,46,121,97,104,111,111,46,114,
-101,115,112,111,110,100,102,105,103,104,116,101,114,111,98,115,99,117,114,101,
-114,101,102,108,101,99,116,111,114,103,97,110,105,99,61,32,77,97,116,104,46,101,
-100,105,116,105,110,103,111,110,108,105,110,101,32,112,97,100,100,105,110,103,97
-,32,119,104,111,108,101,111,110,101,114,114,111,114,121,101,97,114,32,111,102,
-101,110,100,32,111,102,32,98,97,114,114,105,101,114,119,104,101,110,32,105,116,
-104,101,97,100,101,114,32,104,111,109,101,32,111,102,114,101,115,117,109,101,100
-,114,101,110,97,109,101,100,115,116,114,111,110,103,62,104,101,97,116,105,110,
-103,114,101,116,97,105,110,115,99,108,111,117,100,102,114,119,97,121,32,111,102,
-32,77,97,114,99,104,32,49,107,110,111,119,105,110,103,105,110,32,112,97,114,116,
-66,101,116,119,101,101,110,108,101,115,115,111,110,115,99,108,111,115,101,115,
-116,118,105,114,116,117,97,108,108,105,110,107,115,34,62,99,114,111,115,115,101,
-100,69,78,68,32,45,45,62,102,97,109,111,117,115,32,97,119,97,114,100,101,100,76,
-105,99,101,110,115,101,72,101,97,108,116,104,32,102,97,105,114,108,121,32,119,
-101,97,108,116,104,121,109,105,110,105,109,97,108,65,102,114,105,99,97,110,99,
-111,109,112,101,116,101,108,97,98,101,108,34,62,115,105,110,103,105,110,103,102,
-97,114,109,101,114,115,66,114,97,115,105,108,41,100,105,115,99,117,115,115,114,
-101,112,108,97,99,101,71,114,101,103,111,114,121,102,111,110,116,32,99,111,112,
-117,114,115,117,101,100,97,112,112,101,97,114,115,109,97,107,101,32,117,112,114,
-111,117,110,100,101,100,98,111,116,104,32,111,102,98,108,111,99,107,101,100,115,
-97,119,32,116,104,101,111,102,102,105,99,101,115,99,111,108,111,117,114,115,105,
-102,40,100,111,99,117,119,104,101,110,32,104,101,101,110,102,111,114,99,101,112,
-117,115,104,40,102,117,65,117,103,117,115,116,32,85,84,70,45,56,34,62,70,97,110,
-116,97,115,121,105,110,32,109,111,115,116,105,110,106,117,114,101,100,85,115,117
-,97,108,108,121,102,97,114,109,105,110,103,99,108,111,115,117,114,101,111,98,106
-,101,99,116,32,100,101,102,101,110,99,101,117,115,101,32,111,102,32,77,101,100,
-105,99,97,108,60,98,111,100,121,62,10,101,118,105,100,101,110,116,98,101,32,117,
-115,101,100,107,101,121,67,111,100,101,115,105,120,116,101,101,110,73,115,108,97
-,109,105,99,35,48,48,48,48,48,48,101,110,116,105,114,101,32,119,105,100,101,108,
-121,32,97,99,116,105,118,101,32,40,116,121,112,101,111,102,111,110,101,32,99,97,
-110,99,111,108,111,114,32,61,115,112,101,97,107,101,114,101,120,116,101,110,100,
-115,80,104,121,115,105,99,115,116,101,114,114,97,105,110,60,116,98,111,100,121,
-62,102,117,110,101,114,97,108,118,105,101,119,105,110,103,109,105,100,100,108,
-101,32,99,114,105,99,107,101,116,112,114,111,112,104,101,116,115,104,105,102,116
-,101,100,100,111,99,116,111,114,115,82,117,115,115,101,108,108,32,116,97,114,103
-,101,116,99,111,109,112,97,99,116,97,108,103,101,98,114,97,115,111,99,105,97,108
-,45,98,117,108,107,32,111,102,109,97,110,32,97,110,100,60,47,116,100,62,10,32,
-104,101,32,108,101,102,116,41,46,118,97,108,40,41,102,97,108,115,101,41,59,108,
-111,103,105,99,97,108,98,97,110,107,105,110,103,104,111,109,101,32,116,111,110,
-97,109,105,110,103,32,65,114,105,122,111,110,97,99,114,101,100,105,116,115,41,59
-,10,125,41,59,10,102,111,117,110,100,101,114,105,110,32,116,117,114,110,67,111,
-108,108,105,110,115,98,101,102,111,114,101,32,66,117,116,32,116,104,101,99,104,
-97,114,103,101,100,84,105,116,108,101,34,62,67,97,112,116,97,105,110,115,112,101
-,108,108,101,100,103,111,100,100,101,115,115,84,97,103,32,45,45,62,65,100,100,
-105,110,103,58,98,117,116,32,119,97,115,82,101,99,101,110,116,32,112,97,116,105,
-101,110,116,98,97,99,107,32,105,110,61,102,97,108,115,101,38,76,105,110,99,111,
-108,110,119,101,32,107,110,111,119,67,111,117,110,116,101,114,74,117,100,97,105,
-115,109,115,99,114,105,112,116,32,97,108,116,101,114,101,100,39,93,41,59,10,32,
-32,104,97,115,32,116,104,101,117,110,99,108,101,97,114,69,118,101,110,116,39,44,
-98,111,116,104,32,105,110,110,111,116,32,97,108,108,10,10,60,33,45,45,32,112,108
-,97,99,105,110,103,104,97,114,100,32,116,111,32,99,101,110,116,101,114,115,111,
-114,116,32,111,102,99,108,105,101,110,116,115,115,116,114,101,101,116,115,66,101
-,114,110,97,114,100,97,115,115,101,114,116,115,116,101,110,100,32,116,111,102,97
-,110,116,97,115,121,100,111,119,110,32,105,110,104,97,114,98,111,117,114,70,114,
-101,101,100,111,109,106,101,119,101,108,114,121,47,97,98,111,117,116,46,46,115,
-101,97,114,99,104,108,101,103,101,110,100,115,105,115,32,109,97,100,101,109,111,
-100,101,114,110,32,111,110,108,121,32,111,110,111,110,108,121,32,116,111,105,109
-,97,103,101,34,32,108,105,110,101,97,114,32,112,97,105,110,116,101,114,97,110,
-100,32,110,111,116,114,97,114,101,108,121,32,97,99,114,111,110,121,109,100,101,
-108,105,118,101,114,115,104,111,114,116,101,114,48,48,38,97,109,112,59,97,115,32
-,109,97,110,121,119,105,100,116,104,61,34,47,42,32,60,33,91,67,116,105,116,108,
-101,32,61,111,102,32,116,104,101,32,108,111,119,101,115,116,32,112,105,99,107,
-101,100,32,101,115,99,97,112,101,100,117,115,101,115,32,111,102,112,101,111,112,
-108,101,115,32,80,117,98,108,105,99,77,97,116,116,104,101,119,116,97,99,116,105,
-99,115,100,97,109,97,103,101,100,119,97,121,32,102,111,114,108,97,119,115,32,111
-,102,101,97,115,121,32,116,111,32,119,105,110,100,111,119,115,116,114,111,110,
-103,32,32,115,105,109,112,108,101,125,99,97,116,99,104,40,115,101,118,101,110,
-116,104,105,110,102,111,98,111,120,119,101,110,116,32,116,111,112,97,105,110,116
-,101,100,99,105,116,105,122,101,110,73,32,100,111,110,39,116,114,101,116,114,101
-,97,116,46,32,83,111,109,101,32,119,119,46,34,41,59,10,98,111,109,98,105,110,103
-,109,97,105,108,116,111,58,109,97,100,101,32,105,110,46,32,77,97,110,121,32,99,
-97,114,114,105,101,115,124,124,123,125,59,119,105,119,111,114,107,32,111,102,115
-,121,110,111,110,121,109,100,101,102,101,97,116,115,102,97,118,111,114,101,100,
-111,112,116,105,99,97,108,112,97,103,101,84,114,97,117,110,108,101,115,115,32,
-115,101,110,100,105,110,103,108,101,102,116,34,62,60,99,111,109,83,99,111,114,65
-,108,108,32,116,104,101,106,81,117,101,114,121,46,116,111,117,114,105,115,116,67
-,108,97,115,115,105,99,102,97,108,115,101,34,32,87,105,108,104,101,108,109,115,
-117,98,117,114,98,115,103,101,110,117,105,110,101,98,105,115,104,111,112,115,46,
-115,112,108,105,116,40,103,108,111,98,97,108,32,102,111,108,108,111,119,115,98,
-111,100,121,32,111,102,110,111,109,105,110,97,108,67,111,110,116,97,99,116,115,
-101,99,117,108,97,114,108,101,102,116,32,116,111,99,104,105,101,102,108,121,45,
-104,105,100,100,101,110,45,98,97,110,110,101,114,60,47,108,105,62,10,10,46,32,87
-,104,101,110,32,105,110,32,98,111,116,104,100,105,115,109,105,115,115,69,120,112
-,108,111,114,101,97,108,119,97,121,115,32,118,105,97,32,116,104,101,115,112,97,
-195,177,111,108,119,101,108,102,97,114,101,114,117,108,105,110,103,32,97,114,114
-,97,110,103,101,99,97,112,116,97,105,110,104,105,115,32,115,111,110,114,117,108,
-101,32,111,102,104,101,32,116,111,111,107,105,116,115,101,108,102,44,61,48,38,97
-,109,112,59,40,99,97,108,108,101,100,115,97,109,112,108,101,115,116,111,32,109,
-97,107,101,99,111,109,47,112,97,103,77,97,114,116,105,110,32,75,101,110,110,101,
-100,121,97,99,99,101,112,116,115,102,117,108,108,32,111,102,104,97,110,100,108,
-101,100,66,101,115,105,100,101,115,47,47,45,45,62,60,47,97,98,108,101,32,116,111
-,116,97,114,103,101,116,115,101,115,115,101,110,99,101,104,105,109,32,116,111,32
-,105,116,115,32,98,121,32,99,111,109,109,111,110,46,109,105,110,101,114,97,108,
-116,111,32,116,97,107,101,119,97,121,115,32,116,111,115,46,111,114,103,47,108,97
-,100,118,105,115,101,100,112,101,110,97,108,116,121,115,105,109,112,108,101,58,
-105,102,32,116,104,101,121,76,101,116,116,101,114,115,97,32,115,104,111,114,116,
-72,101,114,98,101,114,116,115,116,114,105,107,101,115,32,103,114,111,117,112,115
-,46,108,101,110,103,116,104,102,108,105,103,104,116,115,111,118,101,114,108,97,
-112,115,108,111,119,108,121,32,108,101,115,115,101,114,32,115,111,99,105,97,108,
-32,60,47,112,62,10,9,9,105,116,32,105,110,116,111,114,97,110,107,101,100,32,114,
-97,116,101,32,111,102,117,108,62,13,10,32,32,97,116,116,101,109,112,116,112,97,
-105,114,32,111,102,109,97,107,101,32,105,116,75,111,110,116,97,107,116,65,110,
-116,111,110,105,111,104,97,118,105,110,103,32,114,97,116,105,110,103,115,32,97,
-99,116,105,118,101,115,116,114,101,97,109,115,116,114,97,112,112,101,100,34,41,
-46,99,115,115,40,104,111,115,116,105,108,101,108,101,97,100,32,116,111,108,105,
-116,116,108,101,32,103,114,111,117,112,115,44,80,105,99,116,117,114,101,45,45,62
-,13,10,13,10,32,114,111,119,115,61,34,32,111,98,106,101,99,116,105,110,118,101,
-114,115,101,60,102,111,111,116,101,114,67,117,115,116,111,109,86,62,60,92,47,115
-,99,114,115,111,108,118,105,110,103,67,104,97,109,98,101,114,115,108,97,118,101,
-114,121,119,111,117,110,100,101,100,119,104,101,114,101,97,115,33,61,32,39,117,
-110,100,102,111,114,32,97,108,108,112,97,114,116,108,121,32,45,114,105,103,104,
-116,58,65,114,97,98,105,97,110,98,97,99,107,101,100,32,99,101,110,116,117,114,
-121,117,110,105,116,32,111,102,109,111,98,105,108,101,45,69,117,114,111,112,101,
-44,105,115,32,104,111,109,101,114,105,115,107,32,111,102,100,101,115,105,114,101
-,100,67,108,105,110,116,111,110,99,111,115,116,32,111,102,97,103,101,32,111,102,
-32,98,101,99,111,109,101,32,110,111,110,101,32,111,102,112,38,113,117,111,116,59
-,77,105,100,100,108,101,32,101,97,100,39,41,91,48,67,114,105,116,105,99,115,115,
-116,117,100,105,111,115,62,38,99,111,112,121,59,103,114,111,117,112,34,62,97,115
-,115,101,109,98,108,109,97,107,105,110,103,32,112,114,101,115,115,101,100,119,
-105,100,103,101,116,46,112,115,58,34,32,63,32,114,101,98,117,105,108,116,98,121,
-32,115,111,109,101,70,111,114,109,101,114,32,101,100,105,116,111,114,115,100,101
-,108,97,121,101,100,67,97,110,111,110,105,99,104,97,100,32,116,104,101,112,117,
-115,104,105,110,103,99,108,97,115,115,61,34,98,117,116,32,97,114,101,112,97,114,
-116,105,97,108,66,97,98,121,108,111,110,98,111,116,116,111,109,32,99,97,114,114,
-105,101,114,67,111,109,109,97,110,100,105,116,115,32,117,115,101,65,115,32,119,
-105,116,104,99,111,117,114,115,101,115,97,32,116,104,105,114,100,100,101,110,111
-,116,101,115,97,108,115,111,32,105,110,72,111,117,115,116,111,110,50,48,112,120,
-59,34,62,97,99,99,117,115,101,100,100,111,117,98,108,101,32,103,111,97,108,32,
-111,102,70,97,109,111,117,115,32,41,46,98,105,110,100,40,112,114,105,101,115,116
-,115,32,79,110,108,105,110,101,105,110,32,74,117,108,121,115,116,32,43,32,34,103
-,99,111,110,115,117,108,116,100,101,99,105,109,97,108,104,101,108,112,102,117,
-108,114,101,118,105,118,101,100,105,115,32,118,101,114,121,114,39,43,39,105,112,
-116,108,111,115,105,110,103,32,102,101,109,97,108,101,115,105,115,32,97,108,115,
-111,115,116,114,105,110,103,115,100,97,121,115,32,111,102,97,114,114,105,118,97,
-108,102,117,116,117,114,101,32,60,111,98,106,101,99,116,102,111,114,99,105,110,
-103,83,116,114,105,110,103,40,34,32,47,62,10,9,9,104,101,114,101,32,105,115,101,
-110,99,111,100,101,100,46,32,32,84,104,101,32,98,97,108,108,111,111,110,100,111,
-110,101,32,98,121,47,99,111,109,109,111,110,98,103,99,111,108,111,114,108,97,119
-,32,111,102,32,73,110,100,105,97,110,97,97,118,111,105,100,101,100,98,117,116,32
-,116,104,101,50,112,120,32,51,112,120,106,113,117,101,114,121,46,97,102,116,101,
-114,32,97,112,111,108,105,99,121,46,109,101,110,32,97,110,100,102,111,111,116,
-101,114,45,61,32,116,114,117,101,59,102,111,114,32,117,115,101,115,99,114,101,
-101,110,46,73,110,100,105,97,110,32,105,109,97,103,101,32,61,102,97,109,105,108,
-121,44,104,116,116,112,58,47,47,32,38,110,98,115,112,59,100,114,105,118,101,114,
-115,101,116,101,114,110,97,108,115,97,109,101,32,97,115,110,111,116,105,99,101,
-100,118,105,101,119,101,114,115,125,41,40,41,59,10,32,105,115,32,109,111,114,101
-,115,101,97,115,111,110,115,102,111,114,109,101,114,32,116,104,101,32,110,101,
-119,105,115,32,106,117,115,116,99,111,110,115,101,110,116,32,83,101,97,114,99,
-104,119,97,115,32,116,104,101,119,104,121,32,116,104,101,115,104,105,112,112,101
-,100,98,114,62,60,98,114,62,119,105,100,116,104,58,32,104,101,105,103,104,116,61
-,109,97,100,101,32,111,102,99,117,105,115,105,110,101,105,115,32,116,104,97,116,
-97,32,118,101,114,121,32,65,100,109,105,114,97,108,32,102,105,120,101,100,59,110
-,111,114,109,97,108,32,77,105,115,115,105,111,110,80,114,101,115,115,44,32,111,
-110,116,97,114,105,111,99,104,97,114,115,101,116,116,114,121,32,116,111,32,105,
-110,118,97,100,101,100,61,34,116,114,117,101,34,115,112,97,99,105,110,103,105,
-115,32,109,111,115,116,97,32,109,111,114,101,32,116,111,116,97,108,108,121,102,
-97,108,108,32,111,102,125,41,59,13,10,32,32,105,109,109,101,110,115,101,116,105,
-109,101,32,105,110,115,101,116,32,111,117,116,115,97,116,105,115,102,121,116,111
-,32,102,105,110,100,100,111,119,110,32,116,111,108,111,116,32,111,102,32,80,108,
-97,121,101,114,115,105,110,32,74,117,110,101,113,117,97,110,116,117,109,110,111,
-116,32,116,104,101,116,105,109,101,32,116,111,100,105,115,116,97,110,116,70,105,
-110,110,105,115,104,115,114,99,32,61,32,40,115,105,110,103,108,101,32,104,101,
-108,112,32,111,102,71,101,114,109,97,110,32,108,97,119,32,97,110,100,108,97,98,
-101,108,101,100,102,111,114,101,115,116,115,99,111,111,107,105,110,103,115,112,
-97,99,101,34,62,104,101,97,100,101,114,45,119,101,108,108,32,97,115,83,116,97,
-110,108,101,121,98,114,105,100,103,101,115,47,103,108,111,98,97,108,67,114,111,
-97,116,105,97,32,65,98,111,117,116,32,91,48,93,59,10,32,32,105,116,44,32,97,110,
-100,103,114,111,117,112,101,100,98,101,105,110,103,32,97,41,123,116,104,114,111,
-119,104,101,32,109,97,100,101,108,105,103,104,116,101,114,101,116,104,105,99,97,
-108,70,70,70,70,70,70,34,98,111,116,116,111,109,34,108,105,107,101,32,97,32,101,
-109,112,108,111,121,115,108,105,118,101,32,105,110,97,115,32,115,101,101,110,112
-,114,105,110,116,101,114,109,111,115,116,32,111,102,117,98,45,108,105,110,107,
-114,101,106,101,99,116,115,97,110,100,32,117,115,101,105,109,97,103,101,34,62,
-115,117,99,99,101,101,100,102,101,101,100,105,110,103,78,117,99,108,101,97,114,
-105,110,102,111,114,109,97,116,111,32,104,101,108,112,87,111,109,101,110,39,115,
-78,101,105,116,104,101,114,77,101,120,105,99,97,110,112,114,111,116,101,105,110,
-60,116,97,98,108,101,32,98,121,32,109,97,110,121,104,101,97,108,116,104,121,108,
-97,119,115,117,105,116,100,101,118,105,115,101,100,46,112,117,115,104,40,123,115
-,101,108,108,101,114,115,115,105,109,112,108,121,32,84,104,114,111,117,103,104,
-46,99,111,111,107,105,101,32,73,109,97,103,101,40,111,108,100,101,114,34,62,117,
-115,46,106,115,34,62,32,83,105,110,99,101,32,117,110,105,118,101,114,115,108,97,
-114,103,101,114,32,111,112,101,110,32,116,111,33,45,45,32,101,110,100,108,105,
-101,115,32,105,110,39,93,41,59,13,10,32,32,109,97,114,107,101,116,119,104,111,32
-,105,115,32,40,34,68,79,77,67,111,109,97,110,97,103,101,100,111,110,101,32,102,
-111,114,116,121,112,101,111,102,32,75,105,110,103,100,111,109,112,114,111,102,
-105,116,115,112,114,111,112,111,115,101,116,111,32,115,104,111,119,99,101,110,
-116,101,114,59,109,97,100,101,32,105,116,100,114,101,115,115,101,100,119,101,114
-,101,32,105,110,109,105,120,116,117,114,101,112,114,101,99,105,115,101,97,114,
-105,115,105,110,103,115,114,99,32,61,32,39,109,97,107,101,32,97,32,115,101,99,
-117,114,101,100,66,97,112,116,105,115,116,118,111,116,105,110,103,32,10,9,9,118,
-97,114,32,77,97,114,99,104,32,50,103,114,101,119,32,117,112,67,108,105,109,97,
-116,101,46,114,101,109,111,118,101,115,107,105,108,108,101,100,119,97,121,32,116
-,104,101,60,47,104,101,97,100,62,102,97,99,101,32,111,102,97,99,116,105,110,103,
-32,114,105,103,104,116,34,62,116,111,32,119,111,114,107,114,101,100,117,99,101,
-115,104,97,115,32,104,97,100,101,114,101,99,116,101,100,115,104,111,119,40,41,59
-,97,99,116,105,111,110,61,98,111,111,107,32,111,102,97,110,32,97,114,101,97,61,
-61,32,34,104,116,116,60,104,101,97,100,101,114,10,60,104,116,109,108,62,99,111,
-110,102,111,114,109,102,97,99,105,110,103,32,99,111,111,107,105,101,46,114,101,
-108,121,32,111,110,104,111,115,116,101,100,32,46,99,117,115,116,111,109,104,101,
-32,119,101,110,116,98,117,116,32,102,111,114,115,112,114,101,97,100,32,70,97,109
-,105,108,121,32,97,32,109,101,97,110,115,111,117,116,32,116,104,101,102,111,114,
-117,109,115,46,102,111,111,116,97,103,101,34,62,77,111,98,105,108,67,108,101,109
-,101,110,116,115,34,32,105,100,61,34,97,115,32,104,105,103,104,105,110,116,101,
-110,115,101,45,45,62,60,33,45,45,102,101,109,97,108,101,32,105,115,32,115,101,
-101,110,105,109,112,108,105,101,100,115,101,116,32,116,104,101,97,32,115,116,97,
-116,101,97,110,100,32,104,105,115,102,97,115,116,101,115,116,98,101,115,105,100,
-101,115,98,117,116,116,111,110,95,98,111,117,110,100,101,100,34,62,60,105,109,
-103,32,73,110,102,111,98,111,120,101,118,101,110,116,115,44,97,32,121,111,117,
-110,103,97,110,100,32,97,114,101,78,97,116,105,118,101,32,99,104,101,97,112,101,
-114,84,105,109,101,111,117,116,97,110,100,32,104,97,115,101,110,103,105,110,101,
-115,119,111,110,32,116,104,101,40,109,111,115,116,108,121,114,105,103,104,116,58
-,32,102,105,110,100,32,97,32,45,98,111,116,116,111,109,80,114,105,110,99,101,32,
-97,114,101,97,32,111,102,109,111,114,101,32,111,102,115,101,97,114,99,104,95,110
-,97,116,117,114,101,44,108,101,103,97,108,108,121,112,101,114,105,111,100,44,108
-,97,110,100,32,111,102,111,114,32,119,105,116,104,105,110,100,117,99,101,100,112
-,114,111,118,105,110,103,109,105,115,115,105,108,101,108,111,99,97,108,108,121,
-65,103,97,105,110,115,116,116,104,101,32,119,97,121,107,38,113,117,111,116,59,
-112,120,59,34,62,13,10,112,117,115,104,101,100,32,97,98,97,110,100,111,110,110,
-117,109,101,114,97,108,67,101,114,116,97,105,110,73,110,32,116,104,105,115,109,
-111,114,101,32,105,110,111,114,32,115,111,109,101,110,97,109,101,32,105,115,97,
-110,100,44,32,105,110,99,114,111,119,110,101,100,73,83,66,78,32,48,45,99,114,101
-,97,116,101,115,79,99,116,111,98,101,114,109,97,121,32,110,111,116,99,101,110,
-116,101,114,32,108,97,116,101,32,105,110,68,101,102,101,110,99,101,101,110,97,99
-,116,101,100,119,105,115,104,32,116,111,98,114,111,97,100,108,121,99,111,111,108
-,105,110,103,111,110,108,111,97,100,61,105,116,46,32,84,104,101,114,101,99,111,
-118,101,114,77,101,109,98,101,114,115,104,101,105,103,104,116,32,97,115,115,117,
-109,101,115,60,104,116,109,108,62,10,112,101,111,112,108,101,46,105,110,32,111,
-110,101,32,61,119,105,110,100,111,119,102,111,111,116,101,114,95,97,32,103,111,
-111,100,32,114,101,107,108,97,109,97,111,116,104,101,114,115,44,116,111,32,116,
-104,105,115,95,99,111,111,107,105,101,112,97,110,101,108,34,62,76,111,110,100,
-111,110,44,100,101,102,105,110,101,115,99,114,117,115,104,101,100,98,97,112,116,
-105,115,109,99,111,97,115,116,97,108,115,116,97,116,117,115,32,116,105,116,108,
-101,34,32,109,111,118,101,32,116,111,108,111,115,116,32,105,110,98,101,116,116,
-101,114,32,105,109,112,108,105,101,115,114,105,118,97,108,114,121,115,101,114,
-118,101,114,115,32,83,121,115,116,101,109,80,101,114,104,97,112,115,101,115,32,
-97,110,100,32,99,111,110,116,101,110,100,102,108,111,119,105,110,103,108,97,115,
-116,101,100,32,114,105,115,101,32,105,110,71,101,110,101,115,105,115,118,105,101
-,119,32,111,102,114,105,115,105,110,103,32,115,101,101,109,32,116,111,98,117,116
-,32,105,110,32,98,97,99,107,105,110,103,104,101,32,119,105,108,108,103,105,118,
-101,110,32,97,103,105,118,105,110,103,32,99,105,116,105,101,115,46,102,108,111,
-119,32,111,102,32,76,97,116,101,114,32,97,108,108,32,98,117,116,72,105,103,104,
-119,97,121,111,110,108,121,32,98,121,115,105,103,110,32,111,102,104,101,32,100,
-111,101,115,100,105,102,102,101,114,115,98,97,116,116,101,114,121,38,97,109,112,
-59,108,97,115,105,110,103,108,101,115,116,104,114,101,97,116,115,105,110,116,101
-,103,101,114,116,97,107,101,32,111,110,114,101,102,117,115,101,100,99,97,108,108
-,101,100,32,61,85,83,38,97,109,112,83,101,101,32,116,104,101,110,97,116,105,118,
-101,115,98,121,32,116,104,105,115,115,121,115,116,101,109,46,104,101,97,100,32,
-111,102,58,104,111,118,101,114,44,108,101,115,98,105,97,110,115,117,114,110,97,
-109,101,97,110,100,32,97,108,108,99,111,109,109,111,110,47,104,101,97,100,101,
-114,95,95,112,97,114,97,109,115,72,97,114,118,97,114,100,47,112,105,120,101,108,
-46,114,101,109,111,118,97,108,115,111,32,108,111,110,103,114,111,108,101,32,111,
-102,106,111,105,110,116,108,121,115,107,121,115,99,114,97,85,110,105,99,111,100,
-101,98,114,32,47,62,13,10,65,116,108,97,110,116,97,110,117,99,108,101,117,115,67
-,111,117,110,116,121,44,112,117,114,101,108,121,32,99,111,117,110,116,34,62,101,
-97,115,105,108,121,32,98,117,105,108,100,32,97,111,110,99,108,105,99,107,97,32,
-103,105,118,101,110,112,111,105,110,116,101,114,104,38,113,117,111,116,59,101,
-118,101,110,116,115,32,101,108,115,101,32,123,10,100,105,116,105,111,110,115,110
-,111,119,32,116,104,101,44,32,119,105,116,104,32,109,97,110,32,119,104,111,111,
-114,103,47,87,101,98,111,110,101,32,97,110,100,99,97,118,97,108,114,121,72,101,
-32,100,105,101,100,115,101,97,116,116,108,101,48,48,44,48,48,48,32,123,119,105,
-110,100,111,119,104,97,118,101,32,116,111,105,102,40,119,105,110,100,97,110,100,
-32,105,116,115,115,111,108,101,108,121,32,109,38,113,117,111,116,59,114,101,110,
-101,119,101,100,68,101,116,114,111,105,116,97,109,111,110,103,115,116,101,105,
-116,104,101,114,32,116,104,101,109,32,105,110,83,101,110,97,116,111,114,85,115,
-60,47,97,62,60,75,105,110,103,32,111,102,70,114,97,110,99,105,115,45,112,114,111
-,100,117,99,104,101,32,117,115,101,100,97,114,116,32,97,110,100,104,105,109,32,
-97,110,100,117,115,101,100,32,98,121,115,99,111,114,105,110,103,97,116,32,104,
-111,109,101,116,111,32,104,97,118,101,114,101,108,97,116,101,115,105,98,105,108,
-105,116,121,102,97,99,116,105,111,110,66,117,102,102,97,108,111,108,105,110,107,
-34,62,60,119,104,97,116,32,104,101,102,114,101,101,32,116,111,67,105,116,121,32,
-111,102,99,111,109,101,32,105,110,115,101,99,116,111,114,115,99,111,117,110,116,
-101,100,111,110,101,32,100,97,121,110,101,114,118,111,117,115,115,113,117,97,114
-,101,32,125,59,105,102,40,103,111,105,110,32,119,104,97,116,105,109,103,34,32,97
-,108,105,115,32,111,110,108,121,115,101,97,114,99,104,47,116,117,101,115,100,97,
-121,108,111,111,115,101,108,121,83,111,108,111,109,111,110,115,101,120,117,97,
-108,32,45,32,60,97,32,104,114,109,101,100,105,117,109,34,68,79,32,78,79,84,32,70
-,114,97,110,99,101,44,119,105,116,104,32,97,32,119,97,114,32,97,110,100,115,101,
-99,111,110,100,32,116,97,107,101,32,97,32,62,13,10,13,10,13,10,109,97,114,107,
-101,116,46,104,105,103,104,119,97,121,100,111,110,101,32,105,110,99,116,105,118,
-105,116,121,34,108,97,115,116,34,62,111,98,108,105,103,101,100,114,105,115,101,
-32,116,111,34,117,110,100,101,102,105,109,97,100,101,32,116,111,32,69,97,114,108
-,121,32,112,114,97,105,115,101,100,105,110,32,105,116,115,32,102,111,114,32,104,
-105,115,97,116,104,108,101,116,101,74,117,112,105,116,101,114,89,97,104,111,111,
-33,32,116,101,114,109,101,100,32,115,111,32,109,97,110,121,114,101,97,108,108,
-121,32,115,46,32,84,104,101,32,97,32,119,111,109,97,110,63,118,97,108,117,101,61
-,100,105,114,101,99,116,32,114,105,103,104,116,34,32,98,105,99,121,99,108,101,97
-,99,105,110,103,61,34,100,97,121,32,97,110,100,115,116,97,116,105,110,103,82,97,
-116,104,101,114,44,104,105,103,104,101,114,32,79,102,102,105,99,101,32,97,114,
-101,32,110,111,119,116,105,109,101,115,44,32,119,104,101,110,32,97,32,112,97,121
-,32,102,111,114,111,110,32,116,104,105,115,45,108,105,110,107,34,62,59,98,111,
-114,100,101,114,97,114,111,117,110,100,32,97,110,110,117,97,108,32,116,104,101,
-32,78,101,119,112,117,116,32,116,104,101,46,99,111,109,34,32,116,97,107,105,110,
-32,116,111,97,32,98,114,105,101,102,40,105,110,32,116,104,101,103,114,111,117,
-112,115,46,59,32,119,105,100,116,104,101,110,122,121,109,101,115,115,105,109,112
-,108,101,32,105,110,32,108,97,116,101,123,114,101,116,117,114,110,116,104,101,
-114,97,112,121,97,32,112,111,105,110,116,98,97,110,110,105,110,103,105,110,107,
-115,34,62,10,40,41,59,34,32,114,101,97,32,112,108,97,99,101,92,117,48,48,51,67,
-97,97,98,111,117,116,32,97,116,114,62,13,10,9,9,99,99,111,117,110,116,32,103,105
-,118,101,115,32,97,60,83,67,82,73,80,84,82,97,105,108,119,97,121,116,104,101,109
-,101,115,47,116,111,111,108,98,111,120,66,121,73,100,40,34,120,104,117,109,97,
-110,115,44,119,97,116,99,104,101,115,105,110,32,115,111,109,101,32,105,102,32,40
-,119,105,99,111,109,105,110,103,32,102,111,114,109,97,116,115,32,85,110,100,101,
-114,32,98,117,116,32,104,97,115,104,97,110,100,101,100,32,109,97,100,101,32,98,
-121,116,104,97,110,32,105,110,102,101,97,114,32,111,102,100,101,110,111,116,101,
-100,47,105,102,114,97,109,101,108,101,102,116,32,105,110,118,111,108,116,97,103,
-101,105,110,32,101,97,99,104,97,38,113,117,111,116,59,98,97,115,101,32,111,102,
-73,110,32,109,97,110,121,117,110,100,101,114,103,111,114,101,103,105,109,101,115
-,97,99,116,105,111,110,32,60,47,112,62,13,10,60,117,115,116,111,109,86,97,59,38,
-103,116,59,60,47,105,109,112,111,114,116,115,111,114,32,116,104,97,116,109,111,
-115,116,108,121,32,38,97,109,112,59,114,101,32,115,105,122,101,61,34,60,47,97,62
-,60,47,104,97,32,99,108,97,115,115,112,97,115,115,105,118,101,72,111,115,116,32,
-61,32,87,104,101,116,104,101,114,102,101,114,116,105,108,101,86,97,114,105,111,
-117,115,61,91,93,59,40,102,117,99,97,109,101,114,97,115,47,62,60,47,116,100,62,
-97,99,116,115,32,97,115,73,110,32,115,111,109,101,62,13,10,13,10,60,33,111,114,
-103,97,110,105,115,32,60,98,114,32,47,62,66,101,105,106,105,110,103,99,97,116,97
-,108,195,160,100,101,117,116,115,99,104,101,117,114,111,112,101,117,101,117,115,
-107,97,114,97,103,97,101,105,108,103,101,115,118,101,110,115,107,97,101,115,112,
-97,195,177,97,109,101,110,115,97,106,101,117,115,117,97,114,105,111,116,114,97,
-98,97,106,111,109,195,169,120,105,99,111,112,195,161,103,105,110,97,115,105,101,
-109,112,114,101,115,105,115,116,101,109,97,111,99,116,117,98,114,101,100,117,114
-,97,110,116,101,97,195,177,97,100,105,114,101,109,112,114,101,115,97,109,111,109
-,101,110,116,111,110,117,101,115,116,114,111,112,114,105,109,101,114,97,116,114,
-97,118,195,169,115,103,114,97,99,105,97,115,110,117,101,115,116,114,97,112,114,
-111,99,101,115,111,101,115,116,97,100,111,115,99,97,108,105,100,97,100,112,101,
-114,115,111,110,97,110,195,186,109,101,114,111,97,99,117,101,114,100,111,109,195
-,186,115,105,99,97,109,105,101,109,98,114,111,111,102,101,114,116,97,115,97,108,
-103,117,110,111,115,112,97,195,173,115,101,115,101,106,101,109,112,108,111,100,
-101,114,101,99,104,111,97,100,101,109,195,161,115,112,114,105,118,97,100,111,97,
-103,114,101,103,97,114,101,110,108,97,99,101,115,112,111,115,105,98,108,101,104,
-111,116,101,108,101,115,115,101,118,105,108,108,97,112,114,105,109,101,114,111,
-195,186,108,116,105,109,111,101,118,101,110,116,111,115,97,114,99,104,105,118,
-111,99,117,108,116,117,114,97,109,117,106,101,114,101,115,101,110,116,114,97,100
-,97,97,110,117,110,99,105,111,101,109,98,97,114,103,111,109,101,114,99,97,100,
-111,103,114,97,110,100,101,115,101,115,116,117,100,105,111,109,101,106,111,114,
-101,115,102,101,98,114,101,114,111,100,105,115,101,195,177,111,116,117,114,105,
-115,109,111,99,195,179,100,105,103,111,112,111,114,116,97,100,97,101,115,112,97,
-99,105,111,102,97,109,105,108,105,97,97,110,116,111,110,105,111,112,101,114,109,
-105,116,101,103,117,97,114,100,97,114,97,108,103,117,110,97,115,112,114,101,99,
-105,111,115,97,108,103,117,105,101,110,115,101,110,116,105,100,111,118,105,115,
-105,116,97,115,116,195,173,116,117,108,111,99,111,110,111,99,101,114,115,101,103
-,117,110,100,111,99,111,110,115,101,106,111,102,114,97,110,99,105,97,109,105,110
-,117,116,111,115,115,101,103,117,110,100,97,116,101,110,101,109,111,115,101,102,
-101,99,116,111,115,109,195,161,108,97,103,97,115,101,115,105,195,179,110,114,101
-,118,105,115,116,97,103,114,97,110,97,100,97,99,111,109,112,114,97,114,105,110,
-103,114,101,115,111,103,97,114,99,195,173,97,97,99,99,105,195,179,110,101,99,117
-,97,100,111,114,113,117,105,101,110,101,115,105,110,99,108,117,115,111,100,101,
-98,101,114,195,161,109,97,116,101,114,105,97,104,111,109,98,114,101,115,109,117,
-101,115,116,114,97,112,111,100,114,195,173,97,109,97,195,177,97,110,97,195,186,
-108,116,105,109,97,101,115,116,97,109,111,115,111,102,105,99,105,97,108,116,97,
-109,98,105,101,110,110,105,110,103,195,186,110,115,97,108,117,100,111,115,112,
-111,100,101,109,111,115,109,101,106,111,114,97,114,112,111,115,105,116,105,111,
-110,98,117,115,105,110,101,115,115,104,111,109,101,112,97,103,101,115,101,99,117
-,114,105,116,121,108,97,110,103,117,97,103,101,115,116,97,110,100,97,114,100,99,
-97,109,112,97,105,103,110,102,101,97,116,117,114,101,115,99,97,116,101,103,111,
-114,121,101,120,116,101,114,110,97,108,99,104,105,108,100,114,101,110,114,101,
-115,101,114,118,101,100,114,101,115,101,97,114,99,104,101,120,99,104,97,110,103,
-101,102,97,118,111,114,105,116,101,116,101,109,112,108,97,116,101,109,105,108,
-105,116,97,114,121,105,110,100,117,115,116,114,121,115,101,114,118,105,99,101,
-115,109,97,116,101,114,105,97,108,112,114,111,100,117,99,116,115,122,45,105,110,
-100,101,120,58,99,111,109,109,101,110,116,115,115,111,102,116,119,97,114,101,99,
-111,109,112,108,101,116,101,99,97,108,101,110,100,97,114,112,108,97,116,102,111,
-114,109,97,114,116,105,99,108,101,115,114,101,113,117,105,114,101,100,109,111,
-118,101,109,101,110,116,113,117,101,115,116,105,111,110,98,117,105,108,100,105,
-110,103,112,111,108,105,116,105,99,115,112,111,115,115,105,98,108,101,114,101,
-108,105,103,105,111,110,112,104,121,115,105,99,97,108,102,101,101,100,98,97,99,
-107,114,101,103,105,115,116,101,114,112,105,99,116,117,114,101,115,100,105,115,
-97,98,108,101,100,112,114,111,116,111,99,111,108,97,117,100,105,101,110,99,101,
-115,101,116,116,105,110,103,115,97,99,116,105,118,105,116,121,101,108,101,109,
-101,110,116,115,108,101,97,114,110,105,110,103,97,110,121,116,104,105,110,103,97
-,98,115,116,114,97,99,116,112,114,111,103,114,101,115,115,111,118,101,114,118,
-105,101,119,109,97,103,97,122,105,110,101,101,99,111,110,111,109,105,99,116,114,
-97,105,110,105,110,103,112,114,101,115,115,117,114,101,118,97,114,105,111,117,
-115,32,60,115,116,114,111,110,103,62,112,114,111,112,101,114,116,121,115,104,111
-,112,112,105,110,103,116,111,103,101,116,104,101,114,97,100,118,97,110,99,101,
-100,98,101,104,97,118,105,111,114,100,111,119,110,108,111,97,100,102,101,97,116,
-117,114,101,100,102,111,111,116,98,97,108,108,115,101,108,101,99,116,101,100,76,
-97,110,103,117,97,103,101,100,105,115,116,97,110,99,101,114,101,109,101,109,98,
-101,114,116,114,97,99,107,105,110,103,112,97,115,115,119,111,114,100,109,111,100
-,105,102,105,101,100,115,116,117,100,101,110,116,115,100,105,114,101,99,116,108,
-121,102,105,103,104,116,105,110,103,110,111,114,116,104,101,114,110,100,97,116,
-97,98,97,115,101,102,101,115,116,105,118,97,108,98,114,101,97,107,105,110,103,
-108,111,99,97,116,105,111,110,105,110,116,101,114,110,101,116,100,114,111,112,
-100,111,119,110,112,114,97,99,116,105,99,101,101,118,105,100,101,110,99,101,102,
-117,110,99,116,105,111,110,109,97,114,114,105,97,103,101,114,101,115,112,111,110
-,115,101,112,114,111,98,108,101,109,115,110,101,103,97,116,105,118,101,112,114,
-111,103,114,97,109,115,97,110,97,108,121,115,105,115,114,101,108,101,97,115,101,
-100,98,97,110,110,101,114,34,62,112,117,114,99,104,97,115,101,112,111,108,105,99
-,105,101,115,114,101,103,105,111,110,97,108,99,114,101,97,116,105,118,101,97,114
-,103,117,109,101,110,116,98,111,111,107,109,97,114,107,114,101,102,101,114,114,
-101,114,99,104,101,109,105,99,97,108,100,105,118,105,115,105,111,110,99,97,108,
-108,98,97,99,107,115,101,112,97,114,97,116,101,112,114,111,106,101,99,116,115,99
-,111,110,102,108,105,99,116,104,97,114,100,119,97,114,101,105,110,116,101,114,
-101,115,116,100,101,108,105,118,101,114,121,109,111,117,110,116,97,105,110,111,
-98,116,97,105,110,101,100,61,32,102,97,108,115,101,59,102,111,114,40,118,97,114,
-32,97,99,99,101,112,116,101,100,99,97,112,97,99,105,116,121,99,111,109,112,117,
-116,101,114,105,100,101,110,116,105,116,121,97,105,114,99,114,97,102,116,101,109
-,112,108,111,121,101,100,112,114,111,112,111,115,101,100,100,111,109,101,115,116
-,105,99,105,110,99,108,117,100,101,115,112,114,111,118,105,100,101,100,104,111,
-115,112,105,116,97,108,118,101,114,116,105,99,97,108,99,111,108,108,97,112,115,
-101,97,112,112,114,111,97,99,104,112,97,114,116,110,101,114,115,108,111,103,111,
-34,62,60,97,100,97,117,103,104,116,101,114,97,117,116,104,111,114,34,32,99,117,
-108,116,117,114,97,108,102,97,109,105,108,105,101,115,47,105,109,97,103,101,115,
-47,97,115,115,101,109,98,108,121,112,111,119,101,114,102,117,108,116,101,97,99,
-104,105,110,103,102,105,110,105,115,104,101,100,100,105,115,116,114,105,99,116,
-99,114,105,116,105,99,97,108,99,103,105,45,98,105,110,47,112,117,114,112,111,115
-,101,115,114,101,113,117,105,114,101,115,101,108,101,99,116,105,111,110,98,101,
-99,111,109,105,110,103,112,114,111,118,105,100,101,115,97,99,97,100,101,109,105,
-99,101,120,101,114,99,105,115,101,97,99,116,117,97,108,108,121,109,101,100,105,
-99,105,110,101,99,111,110,115,116,97,110,116,97,99,99,105,100,101,110,116,77,97,
-103,97,122,105,110,101,100,111,99,117,109,101,110,116,115,116,97,114,116,105,110
-,103,98,111,116,116,111,109,34,62,111,98,115,101,114,118,101,100,58,32,38,113,
-117,111,116,59,101,120,116,101,110,100,101,100,112,114,101,118,105,111,117,115,
-83,111,102,116,119,97,114,101,99,117,115,116,111,109,101,114,100,101,99,105,115,
-105,111,110,115,116,114,101,110,103,116,104,100,101,116,97,105,108,101,100,115,
-108,105,103,104,116,108,121,112,108,97,110,110,105,110,103,116,101,120,116,97,
-114,101,97,99,117,114,114,101,110,99,121,101,118,101,114,121,111,110,101,115,116
-,114,97,105,103,104,116,116,114,97,110,115,102,101,114,112,111,115,105,116,105,
-118,101,112,114,111,100,117,99,101,100,104,101,114,105,116,97,103,101,115,104,
-105,112,112,105,110,103,97,98,115,111,108,117,116,101,114,101,99,101,105,118,101
-,100,114,101,108,101,118,97,110,116,98,117,116,116,111,110,34,32,118,105,111,108
-,101,110,99,101,97,110,121,119,104,101,114,101,98,101,110,101,102,105,116,115,
-108,97,117,110,99,104,101,100,114,101,99,101,110,116,108,121,97,108,108,105,97,
-110,99,101,102,111,108,108,111,119,101,100,109,117,108,116,105,112,108,101,98,
-117,108,108,101,116,105,110,105,110,99,108,117,100,101,100,111,99,99,117,114,114
-,101,100,105,110,116,101,114,110,97,108,36,40,116,104,105,115,41,46,114,101,112,
-117,98,108,105,99,62,60,116,114,62,60,116,100,99,111,110,103,114,101,115,115,114
-,101,99,111,114,100,101,100,117,108,116,105,109,97,116,101,115,111,108,117,116,
-105,111,110,60,117,108,32,105,100,61,34,100,105,115,99,111,118,101,114,72,111,
-109,101,60,47,97,62,119,101,98,115,105,116,101,115,110,101,116,119,111,114,107,
-115,97,108,116,104,111,117,103,104,101,110,116,105,114,101,108,121,109,101,109,
-111,114,105,97,108,109,101,115,115,97,103,101,115,99,111,110,116,105,110,117,101
-,97,99,116,105,118,101,34,62,115,111,109,101,119,104,97,116,118,105,99,116,111,
-114,105,97,87,101,115,116,101,114,110,32,32,116,105,116,108,101,61,34,76,111,99,
-97,116,105,111,110,99,111,110,116,114,97,99,116,118,105,115,105,116,111,114,115,
-68,111,119,110,108,111,97,100,119,105,116,104,111,117,116,32,114,105,103,104,116
-,34,62,10,109,101,97,115,117,114,101,115,119,105,100,116,104,32,61,32,118,97,114
-,105,97,98,108,101,105,110,118,111,108,118,101,100,118,105,114,103,105,110,105,
-97,110,111,114,109,97,108,108,121,104,97,112,112,101,110,101,100,97,99,99,111,
-117,110,116,115,115,116,97,110,100,105,110,103,110,97,116,105,111,110,97,108,82,
-101,103,105,115,116,101,114,112,114,101,112,97,114,101,100,99,111,110,116,114,
-111,108,115,97,99,99,117,114,97,116,101,98,105,114,116,104,100,97,121,115,116,
-114,97,116,101,103,121,111,102,102,105,99,105,97,108,103,114,97,112,104,105,99,
-115,99,114,105,109,105,110,97,108,112,111,115,115,105,98,108,121,99,111,110,115,
-117,109,101,114,80,101,114,115,111,110,97,108,115,112,101,97,107,105,110,103,118
-,97,108,105,100,97,116,101,97,99,104,105,101,118,101,100,46,106,112,103,34,32,47
-,62,109,97,99,104,105,110,101,115,60,47,104,50,62,10,32,32,107,101,121,119,111,
-114,100,115,102,114,105,101,110,100,108,121,98,114,111,116,104,101,114,115,99,
-111,109,98,105,110,101,100,111,114,105,103,105,110,97,108,99,111,109,112,111,115
-,101,100,101,120,112,101,99,116,101,100,97,100,101,113,117,97,116,101,112,97,107
-,105,115,116,97,110,102,111,108,108,111,119,34,32,118,97,108,117,97,98,108,101,
-60,47,108,97,98,101,108,62,114,101,108,97,116,105,118,101,98,114,105,110,103,105
-,110,103,105,110,99,114,101,97,115,101,103,111,118,101,114,110,111,114,112,108,
-117,103,105,110,115,47,76,105,115,116,32,111,102,32,72,101,97,100,101,114,34,62,
-34,32,110,97,109,101,61,34,32,40,38,113,117,111,116,59,103,114,97,100,117,97,116
-,101,60,47,104,101,97,100,62,10,99,111,109,109,101,114,99,101,109,97,108,97,121,
-115,105,97,100,105,114,101,99,116,111,114,109,97,105,110,116,97,105,110,59,104,
-101,105,103,104,116,58,115,99,104,101,100,117,108,101,99,104,97,110,103,105,110,
-103,98,97,99,107,32,116,111,32,99,97,116,104,111,108,105,99,112,97,116,116,101,
-114,110,115,99,111,108,111,114,58,32,35,103,114,101,97,116,101,115,116,115,117,
-112,112,108,105,101,115,114,101,108,105,97,98,108,101,60,47,117,108,62,10,9,9,60
-,115,101,108,101,99,116,32,99,105,116,105,122,101,110,115,99,108,111,116,104,105
-,110,103,119,97,116,99,104,105,110,103,60,108,105,32,105,100,61,34,115,112,101,
-99,105,102,105,99,99,97,114,114,121,105,110,103,115,101,110,116,101,110,99,101,
-60,99,101,110,116,101,114,62,99,111,110,116,114,97,115,116,116,104,105,110,107,
-105,110,103,99,97,116,99,104,40,101,41,115,111,117,116,104,101,114,110,77,105,99
-,104,97,101,108,32,109,101,114,99,104,97,110,116,99,97,114,111,117,115,101,108,
-112,97,100,100,105,110,103,58,105,110,116,101,114,105,111,114,46,115,112,108,105
-,116,40,34,108,105,122,97,116,105,111,110,79,99,116,111,98,101,114,32,41,123,114
-,101,116,117,114,110,105,109,112,114,111,118,101,100,45,45,38,103,116,59,10,10,
-99,111,118,101,114,97,103,101,99,104,97,105,114,109,97,110,46,112,110,103,34,32,
-47,62,115,117,98,106,101,99,116,115,82,105,99,104,97,114,100,32,119,104,97,116,
-101,118,101,114,112,114,111,98,97,98,108,121,114,101,99,111,118,101,114,121,98,
-97,115,101,98,97,108,108,106,117,100,103,109,101,110,116,99,111,110,110,101,99,
-116,46,46,99,115,115,34,32,47,62,32,119,101,98,115,105,116,101,114,101,112,111,
-114,116,101,100,100,101,102,97,117,108,116,34,47,62,60,47,97,62,13,10,101,108,
-101,99,116,114,105,99,115,99,111,116,108,97,110,100,99,114,101,97,116,105,111,
-110,113,117,97,110,116,105,116,121,46,32,73,83,66,78,32,48,100,105,100,32,110,
-111,116,32,105,110,115,116,97,110,99,101,45,115,101,97,114,99,104,45,34,32,108,
-97,110,103,61,34,115,112,101,97,107,101,114,115,67,111,109,112,117,116,101,114,
-99,111,110,116,97,105,110,115,97,114,99,104,105,118,101,115,109,105,110,105,115,
-116,101,114,114,101,97,99,116,105,111,110,100,105,115,99,111,117,110,116,73,116,
-97,108,105,97,110,111,99,114,105,116,101,114,105,97,115,116,114,111,110,103,108,
-121,58,32,39,104,116,116,112,58,39,115,99,114,105,112,116,39,99,111,118,101,114,
-105,110,103,111,102,102,101,114,105,110,103,97,112,112,101,97,114,101,100,66,114
-,105,116,105,115,104,32,105,100,101,110,116,105,102,121,70,97,99,101,98,111,111,
-107,110,117,109,101,114,111,117,115,118,101,104,105,99,108,101,115,99,111,110,99
-,101,114,110,115,65,109,101,114,105,99,97,110,104,97,110,100,108,105,110,103,100
-,105,118,32,105,100,61,34,87,105,108,108,105,97,109,32,112,114,111,118,105,100,
-101,114,95,99,111,110,116,101,110,116,97,99,99,117,114,97,99,121,115,101,99,116,
-105,111,110,32,97,110,100,101,114,115,111,110,102,108,101,120,105,98,108,101,67,
-97,116,101,103,111,114,121,108,97,119,114,101,110,99,101,60,115,99,114,105,112,
-116,62,108,97,121,111,117,116,61,34,97,112,112,114,111,118,101,100,32,109,97,120
-,105,109,117,109,104,101,97,100,101,114,34,62,60,47,116,97,98,108,101,62,83,101,
-114,118,105,99,101,115,104,97,109,105,108,116,111,110,99,117,114,114,101,110,116
-,32,99,97,110,97,100,105,97,110,99,104,97,110,110,101,108,115,47,116,104,101,109
-,101,115,47,47,97,114,116,105,99,108,101,111,112,116,105,111,110,97,108,112,111,
-114,116,117,103,97,108,118,97,108,117,101,61,34,34,105,110,116,101,114,118,97,
-108,119,105,114,101,108,101,115,115,101,110,116,105,116,108,101,100,97,103,101,
-110,99,105,101,115,83,101,97,114,99,104,34,32,109,101,97,115,117,114,101,100,116
-,104,111,117,115,97,110,100,115,112,101,110,100,105,110,103,38,104,101,108,108,
-105,112,59,110,101,119,32,68,97,116,101,34,32,115,105,122,101,61,34,112,97,103,
-101,78,97,109,101,109,105,100,100,108,101,34,32,34,32,47,62,60,47,97,62,104,105,
-100,100,101,110,34,62,115,101,113,117,101,110,99,101,112,101,114,115,111,110,97,
-108,111,118,101,114,102,108,111,119,111,112,105,110,105,111,110,115,105,108,108,
-105,110,111,105,115,108,105,110,107,115,34,62,10,9,60,116,105,116,108,101,62,118
-,101,114,115,105,111,110,115,115,97,116,117,114,100,97,121,116,101,114,109,105,
-110,97,108,105,116,101,109,112,114,111,112,101,110,103,105,110,101,101,114,115,
-101,99,116,105,111,110,115,100,101,115,105,103,110,101,114,112,114,111,112,111,
-115,97,108,61,34,102,97,108,115,101,34,69,115,112,97,195,177,111,108,114,101,108
-,101,97,115,101,115,115,117,98,109,105,116,34,32,101,114,38,113,117,111,116,59,
-97,100,100,105,116,105,111,110,115,121,109,112,116,111,109,115,111,114,105,101,
-110,116,101,100,114,101,115,111,117,114,99,101,114,105,103,104,116,34,62,60,112,
-108,101,97,115,117,114,101,115,116,97,116,105,111,110,115,104,105,115,116,111,
-114,121,46,108,101,97,118,105,110,103,32,32,98,111,114,100,101,114,61,99,111,110
-,116,101,110,116,115,99,101,110,116,101,114,34,62,46,10,10,83,111,109,101,32,100
-,105,114,101,99,116,101,100,115,117,105,116,97,98,108,101,98,117,108,103,97,114,
-105,97,46,115,104,111,119,40,41,59,100,101,115,105,103,110,101,100,71,101,110,
-101,114,97,108,32,99,111,110,99,101,112,116,115,69,120,97,109,112,108,101,115,
-119,105,108,108,105,97,109,115,79,114,105,103,105,110,97,108,34,62,60,115,112,97
-,110,62,115,101,97,114,99,104,34,62,111,112,101,114,97,116,111,114,114,101,113,
-117,101,115,116,115,97,32,38,113,117,111,116,59,97,108,108,111,119,105,110,103,
-68,111,99,117,109,101,110,116,114,101,118,105,115,105,111,110,46,32,10,10,84,104
-,101,32,121,111,117,114,115,101,108,102,67,111,110,116,97,99,116,32,109,105,99,
-104,105,103,97,110,69,110,103,108,105,115,104,32,99,111,108,117,109,98,105,97,
-112,114,105,111,114,105,116,121,112,114,105,110,116,105,110,103,100,114,105,110,
-107,105,110,103,102,97,99,105,108,105,116,121,114,101,116,117,114,110,101,100,67
-,111,110,116,101,110,116,32,111,102,102,105,99,101,114,115,82,117,115,115,105,97
-,110,32,103,101,110,101,114,97,116,101,45,56,56,53,57,45,49,34,105,110,100,105,
-99,97,116,101,102,97,109,105,108,105,97,114,32,113,117,97,108,105,116,121,109,97
-,114,103,105,110,58,48,32,99,111,110,116,101,110,116,118,105,101,119,112,111,114
-,116,99,111,110,116,97,99,116,115,45,116,105,116,108,101,34,62,112,111,114,116,
-97,98,108,101,46,108,101,110,103,116,104,32,101,108,105,103,105,98,108,101,105,
-110,118,111,108,118,101,115,97,116,108,97,110,116,105,99,111,110,108,111,97,100,
-61,34,100,101,102,97,117,108,116,46,115,117,112,112,108,105,101,100,112,97,121,
-109,101,110,116,115,103,108,111,115,115,97,114,121,10,10,65,102,116,101,114,32,
-103,117,105,100,97,110,99,101,60,47,116,100,62,60,116,100,101,110,99,111,100,105
-,110,103,109,105,100,100,108,101,34,62,99,97,109,101,32,116,111,32,100,105,115,
-112,108,97,121,115,115,99,111,116,116,105,115,104,106,111,110,97,116,104,97,110,
-109,97,106,111,114,105,116,121,119,105,100,103,101,116,115,46,99,108,105,110,105
-,99,97,108,116,104,97,105,108,97,110,100,116,101,97,99,104,101,114,115,60,104,
-101,97,100,62,10,9,97,102,102,101,99,116,101,100,115,117,112,112,111,114,116,115
-,112,111,105,110,116,101,114,59,116,111,83,116,114,105,110,103,60,47,115,109,97,
-108,108,62,111,107,108,97,104,111,109,97,119,105,108,108,32,98,101,32,105,110,
-118,101,115,116,111,114,48,34,32,97,108,116,61,34,104,111,108,105,100,97,121,115
-,82,101,115,111,117,114,99,101,108,105,99,101,110,115,101,100,32,40,119,104,105,
-99,104,32,46,32,65,102,116,101,114,32,99,111,110,115,105,100,101,114,118,105,115
-,105,116,105,110,103,101,120,112,108,111,114,101,114,112,114,105,109,97,114,121,
-32,115,101,97,114,99,104,34,32,97,110,100,114,111,105,100,34,113,117,105,99,107,
-108,121,32,109,101,101,116,105,110,103,115,101,115,116,105,109,97,116,101,59,114
-,101,116,117,114,110,32,59,99,111,108,111,114,58,35,32,104,101,105,103,104,116,
-61,97,112,112,114,111,118,97,108,44,32,38,113,117,111,116,59,32,99,104,101,99,
-107,101,100,46,109,105,110,46,106,115,34,109,97,103,110,101,116,105,99,62,60,47,
-97,62,60,47,104,102,111,114,101,99,97,115,116,46,32,87,104,105,108,101,32,116,
-104,117,114,115,100,97,121,100,118,101,114,116,105,115,101,38,101,97,99,117,116,
-101,59,104,97,115,67,108,97,115,115,101,118,97,108,117,97,116,101,111,114,100,
-101,114,105,110,103,101,120,105,115,116,105,110,103,112,97,116,105,101,110,116,
-115,32,79,110,108,105,110,101,32,99,111,108,111,114,97,100,111,79,112,116,105,
-111,110,115,34,99,97,109,112,98,101,108,108,60,33,45,45,32,101,110,100,60,47,115
-,112,97,110,62,60,60,98,114,32,47,62,13,10,95,112,111,112,117,112,115,124,115,99
-,105,101,110,99,101,115,44,38,113,117,111,116,59,32,113,117,97,108,105,116,121,
-32,87,105,110,100,111,119,115,32,97,115,115,105,103,110,101,100,104,101,105,103,
-104,116,58,32,60,98,32,99,108,97,115,115,108,101,38,113,117,111,116,59,32,118,97
-,108,117,101,61,34,32,67,111,109,112,97,110,121,101,120,97,109,112,108,101,115,
-60,105,102,114,97,109,101,32,98,101,108,105,101,118,101,115,112,114,101,115,101,
-110,116,115,109,97,114,115,104,97,108,108,112,97,114,116,32,111,102,32,112,114,
-111,112,101,114,108,121,41,46,10,10,84,104,101,32,116,97,120,111,110,111,109,121
-,109,117,99,104,32,111,102,32,60,47,115,112,97,110,62,10,34,32,100,97,116,97,45,
-115,114,116,117,103,117,195,170,115,115,99,114,111,108,108,84,111,32,112,114,111
-,106,101,99,116,60,104,101,97,100,62,13,10,97,116,116,111,114,110,101,121,101,
-109,112,104,97,115,105,115,115,112,111,110,115,111,114,115,102,97,110,99,121,98,
-111,120,119,111,114,108,100,39,115,32,119,105,108,100,108,105,102,101,99,104,101
-,99,107,101,100,61,115,101,115,115,105,111,110,115,112,114,111,103,114,97,109,
-109,112,120,59,102,111,110,116,45,32,80,114,111,106,101,99,116,106,111,117,114,
-110,97,108,115,98,101,108,105,101,118,101,100,118,97,99,97,116,105,111,110,116,
-104,111,109,112,115,111,110,108,105,103,104,116,105,110,103,97,110,100,32,116,
-104,101,32,115,112,101,99,105,97,108,32,98,111,114,100,101,114,61,48,99,104,101,
-99,107,105,110,103,60,47,116,98,111,100,121,62,60,98,117,116,116,111,110,32,67,
-111,109,112,108,101,116,101,99,108,101,97,114,102,105,120,10,60,104,101,97,100,
-62,10,97,114,116,105,99,108,101,32,60,115,101,99,116,105,111,110,102,105,110,100
-,105,110,103,115,114,111,108,101,32,105,110,32,112,111,112,117,108,97,114,32,32,
-79,99,116,111,98,101,114,119,101,98,115,105,116,101,32,101,120,112,111,115,117,
-114,101,117,115,101,100,32,116,111,32,32,99,104,97,110,103,101,115,111,112,101,
-114,97,116,101,100,99,108,105,99,107,105,110,103,101,110,116,101,114,105,110,103
-,99,111,109,109,97,110,100,115,105,110,102,111,114,109,101,100,32,110,117,109,98
-,101,114,115,32,32,60,47,100,105,118,62,99,114,101,97,116,105,110,103,111,110,83
-,117,98,109,105,116,109,97,114,121,108,97,110,100,99,111,108,108,101,103,101,115
-,97,110,97,108,121,116,105,99,108,105,115,116,105,110,103,115,99,111,110,116,97,
-99,116,46,108,111,103,103,101,100,73,110,97,100,118,105,115,111,114,121,115,105,
-98,108,105,110,103,115,99,111,110,116,101,110,116,34,115,38,113,117,111,116,59,
-41,115,46,32,84,104,105,115,32,112,97,99,107,97,103,101,115,99,104,101,99,107,98
-,111,120,115,117,103,103,101,115,116,115,112,114,101,103,110,97,110,116,116,111,
-109,111,114,114,111,119,115,112,97,99,105,110,103,61,105,99,111,110,46,112,110,
-103,106,97,112,97,110,101,115,101,99,111,100,101,98,97,115,101,98,117,116,116,
-111,110,34,62,103,97,109,98,108,105,110,103,115,117,99,104,32,97,115,32,44,32,
-119,104,105,108,101,32,60,47,115,112,97,110,62,32,109,105,115,115,111,117,114,
-105,115,112,111,114,116,105,110,103,116,111,112,58,49,112,120,32,46,60,47,115,
-112,97,110,62,116,101,110,115,105,111,110,115,119,105,100,116,104,61,34,50,108,
-97,122,121,108,111,97,100,110,111,118,101,109,98,101,114,117,115,101,100,32,105,
-110,32,104,101,105,103,104,116,61,34,99,114,105,112,116,34,62,10,38,110,98,115,
-112,59,60,47,60,116,114,62,60,116,100,32,104,101,105,103,104,116,58,50,47,112,
-114,111,100,117,99,116,99,111,117,110,116,114,121,32,105,110,99,108,117,100,101,
-32,102,111,111,116,101,114,34,32,38,108,116,59,33,45,45,32,116,105,116,108,101,
-34,62,60,47,106,113,117,101,114,121,46,60,47,102,111,114,109,62,10,40,231,174,
-128,228,189,147,41,40,231,185,129,233,171,148,41,104,114,118,97,116,115,107,105,
-105,116,97,108,105,97,110,111,114,111,109,195,162,110,196,131,116,195,188,114,
-107,195,167,101,216,167,216,177,216,175,217,136,116,97,109,98,105,195,169,110,
-110,111,116,105,99,105,97,115,109,101,110,115,97,106,101,115,112,101,114,115,111
-,110,97,115,100,101,114,101,99,104,111,115,110,97,99,105,111,110,97,108,115,101,
-114,118,105,99,105,111,99,111,110,116,97,99,116,111,117,115,117,97,114,105,111,
-115,112,114,111,103,114,97,109,97,103,111,98,105,101,114,110,111,101,109,112,114
-,101,115,97,115,97,110,117,110,99,105,111,115,118,97,108,101,110,99,105,97,99,
-111,108,111,109,98,105,97,100,101,115,112,117,195,169,115,100,101,112,111,114,
-116,101,115,112,114,111,121,101,99,116,111,112,114,111,100,117,99,116,111,112,
-195,186,98,108,105,99,111,110,111,115,111,116,114,111,115,104,105,115,116,111,
-114,105,97,112,114,101,115,101,110,116,101,109,105,108,108,111,110,101,115,109,
-101,100,105,97,110,116,101,112,114,101,103,117,110,116,97,97,110,116,101,114,105
-,111,114,114,101,99,117,114,115,111,115,112,114,111,98,108,101,109,97,115,97,110
-,116,105,97,103,111,110,117,101,115,116,114,111,115,111,112,105,110,105,195,179,
-110,105,109,112,114,105,109,105,114,109,105,101,110,116,114,97,115,97,109,195,
-169,114,105,99,97,118,101,110,100,101,100,111,114,115,111,99,105,101,100,97,100,
-114,101,115,112,101,99,116,111,114,101,97,108,105,122,97,114,114,101,103,105,115
-,116,114,111,112,97,108,97,98,114,97,115,105,110,116,101,114,195,169,115,101,110
-,116,111,110,99,101,115,101,115,112,101,99,105,97,108,109,105,101,109,98,114,111
-,115,114,101,97,108,105,100,97,100,99,195,179,114,100,111,98,97,122,97,114,97,
-103,111,122,97,112,195,161,103,105,110,97,115,115,111,99,105,97,108,101,115,98,
-108,111,113,117,101,97,114,103,101,115,116,105,195,179,110,97,108,113,117,105,
-108,101,114,115,105,115,116,101,109,97,115,99,105,101,110,99,105,97,115,99,111,
-109,112,108,101,116,111,118,101,114,115,105,195,179,110,99,111,109,112,108,101,
-116,97,101,115,116,117,100,105,111,115,112,195,186,98,108,105,99,97,111,98,106,
-101,116,105,118,111,97,108,105,99,97,110,116,101,98,117,115,99,97,100,111,114,99
-,97,110,116,105,100,97,100,101,110,116,114,97,100,97,115,97,99,99,105,111,110,
-101,115,97,114,99,104,105,118,111,115,115,117,112,101,114,105,111,114,109,97,121
-,111,114,195,173,97,97,108,101,109,97,110,105,97,102,117,110,99,105,195,179,110,
-195,186,108,116,105,109,111,115,104,97,99,105,101,110,100,111,97,113,117,101,108
-,108,111,115,101,100,105,99,105,195,179,110,102,101,114,110,97,110,100,111,97,
-109,98,105,101,110,116,101,102,97,99,101,98,111,111,107,110,117,101,115,116,114,
-97,115,99,108,105,101,110,116,101,115,112,114,111,99,101,115,111,115,98,97,115,
-116,97,110,116,101,112,114,101,115,101,110,116,97,114,101,112,111,114,116,97,114
-,99,111,110,103,114,101,115,111,112,117,98,108,105,99,97,114,99,111,109,101,114,
-99,105,111,99,111,110,116,114,97,116,111,106,195,179,118,101,110,101,115,100,105
-,115,116,114,105,116,111,116,195,169,99,110,105,99,97,99,111,110,106,117,110,116
-,111,101,110,101,114,103,195,173,97,116,114,97,98,97,106,97,114,97,115,116,117,
-114,105,97,115,114,101,99,105,101,110,116,101,117,116,105,108,105,122,97,114,98,
-111,108,101,116,195,173,110,115,97,108,118,97,100,111,114,99,111,114,114,101,99,
-116,97,116,114,97,98,97,106,111,115,112,114,105,109,101,114,111,115,110,101,103,
-111,99,105,111,115,108,105,98,101,114,116,97,100,100,101,116,97,108,108,101,115,
-112,97,110,116,97,108,108,97,112,114,195,179,120,105,109,111,97,108,109,101,114,
-195,173,97,97,110,105,109,97,108,101,115,113,117,105,195,169,110,101,115,99,111,
-114,97,122,195,179,110,115,101,99,99,105,195,179,110,98,117,115,99,97,110,100,
-111,111,112,99,105,111,110,101,115,101,120,116,101,114,105,111,114,99,111,110,99
-,101,112,116,111,116,111,100,97,118,195,173,97,103,97,108,101,114,195,173,97,101
-,115,99,114,105,98,105,114,109,101,100,105,99,105,110,97,108,105,99,101,110,99,
-105,97,99,111,110,115,117,108,116,97,97,115,112,101,99,116,111,115,99,114,195,
-173,116,105,99,97,100,195,179,108,97,114,101,115,106,117,115,116,105,99,105,97,
-100,101,98,101,114,195,161,110,112,101,114,195,173,111,100,111,110,101,99,101,
-115,105,116,97,109,97,110,116,101,110,101,114,112,101,113,117,101,195,177,111,
-114,101,99,105,98,105,100,97,116,114,105,98,117,110,97,108,116,101,110,101,114,
-105,102,101,99,97,110,99,105,195,179,110,99,97,110,97,114,105,97,115,100,101,115
-,99,97,114,103,97,100,105,118,101,114,115,111,115,109,97,108,108,111,114,99,97,
-114,101,113,117,105,101,114,101,116,195,169,99,110,105,99,111,100,101,98,101,114
-,195,173,97,118,105,118,105,101,110,100,97,102,105,110,97,110,122,97,115,97,100,
-101,108,97,110,116,101,102,117,110,99,105,111,110,97,99,111,110,115,101,106,111,
-115,100,105,102,195,173,99,105,108,99,105,117,100,97,100,101,115,97,110,116,105,
-103,117,97,115,97,118,97,110,122,97,100,97,116,195,169,114,109,105,110,111,117,
-110,105,100,97,100,101,115,115,195,161,110,99,104,101,122,99,97,109,112,97,195,
-177,97,115,111,102,116,111,110,105,99,114,101,118,105,115,116,97,115,99,111,110,
-116,105,101,110,101,115,101,99,116,111,114,101,115,109,111,109,101,110,116,111,
-115,102,97,99,117,108,116,97,100,99,114,195,169,100,105,116,111,100,105,118,101,
-114,115,97,115,115,117,112,117,101,115,116,111,102,97,99,116,111,114,101,115,115
-,101,103,117,110,100,111,115,112,101,113,117,101,195,177,97,208,179,208,190,208,
-180,208,176,208,181,209,129,208,187,208,184,208,181,209,129,209,130,209,140,208,
-177,209,139,208,187,208,190,208,177,209,139,209,130,209,140,209,141,209,130,208,
-190,208,188,208,149,209,129,208,187,208,184,209,130,208,190,208,179,208,190,208,
-188,208,181,208,189,209,143,208,178,209,129,208,181,209,133,209,141,209,130,208,
-190,208,185,208,180,208,176,208,182,208,181,208,177,209,139,208,187,208,184,208,
-179,208,190,208,180,209,131,208,180,208,181,208,189,209,140,209,141,209,130,208,
-190,209,130,208,177,209,139,208,187,208,176,209,129,208,181,208,177,209,143,208,
-190,208,180,208,184,208,189,209,129,208,181,208,177,208,181,208,189,208,176,208,
-180,208,190,209,129,208,176,208,185,209,130,209,132,208,190,209,130,208,190,208,
-189,208,181,208,179,208,190,209,129,208,178,208,190,208,184,209,129,208,178,208,
-190,208,185,208,184,208,179,209,128,209,139,209,130,208,190,208,182,208,181,208,
-178,209,129,208,181,208,188,209,129,208,178,208,190,209,142,208,187,208,184,209,
-136,209,140,209,141,209,130,208,184,209,133,208,191,208,190,208,186,208,176,208,
-180,208,189,208,181,208,185,208,180,208,190,208,188,208,176,208,188,208,184,209,
-128,208,176,208,187,208,184,208,177,208,190,209,130,208,181,208,188,209,131,209,
-133,208,190,209,130,209,143,208,180,208,178,209,131,209,133,209,129,208,181,209,
-130,208,184,208,187,209,142,208,180,208,184,208,180,208,181,208,187,208,190,208,
-188,208,184,209,128,208,181,209,130,208,181,208,177,209,143,209,129,208,178,208,
-190,208,181,208,178,208,184,208,180,208,181,209,135,208,181,208,179,208,190,209,
-141,209,130,208,184,208,188,209,129,209,135,208,181,209,130,209,130,208,181,208,
-188,209,139,209,134,208,181,208,189,209,139,209,129,209,130,208,176,208,187,208,
-178,208,181,208,180,209,140,209,130,208,181,208,188,208,181,208,178,208,190,208,
-180,209,139,209,130,208,181,208,177,208,181,208,178,209,139,209,136,208,181,208,
-189,208,176,208,188,208,184,209,130,208,184,208,191,208,176,209,130,208,190,208,
-188,209,131,208,191,209,128,208,176,208,178,208,187,208,184,209,134,208,176,208,
-190,208,180,208,189,208,176,208,179,208,190,208,180,209,139,208,183,208,189,208,
-176,209,142,208,188,208,190,208,179,209,131,208,180,209,128,209,131,208,179,208,
-178,209,129,208,181,208,185,208,184,208,180,208,181,209,130,208,186,208,184,208,
-189,208,190,208,190,208,180,208,189,208,190,208,180,208,181,208,187,208,176,208,
-180,208,181,208,187,208,181,209,129,209,128,208,190,208,186,208,184,209,142,208,
-189,209,143,208,178,208,181,209,129,209,140,208,149,209,129,209,130,209,140,209,
-128,208,176,208,183,208,176,208,189,208,176,209,136,208,184,216,167,217,132,217,
-132,217,135,216,167,217,132,216,170,217,138,216,172,217,133,217,138,216,185,216,
-174,216,167,216,181,216,169,216,167,217,132,216,176,217,138,216,185,217,132,217,
-138,217,135,216,172,216,175,217,138,216,175,216,167,217,132,216,162,217,134,216,
-167,217,132,216,177,216,175,216,170,216,173,217,131,217,133,216,181,217,129,216,
-173,216,169,217,131,216,167,217,134,216,170,216,167,217,132,217,132,217,138,217,
-138,217,131,217,136,217,134,216,180,216,168,217,131,216,169,217,129,217,138,217,
-135,216,167,216,168,217,134,216,167,216,170,216,173,217,136,216,167,216,161,216,
-163,217,131,216,171,216,177,216,174,217,132,216,167,217,132,216,167,217,132,216,
-173,216,168,216,175,217,132,217,138,217,132,216,175,216,177,217,136,216,179,216,
-167,216,182,216,186,216,183,216,170,217,131,217,136,217,134,217,135,217,134,216,
-167,217,131,216,179,216,167,216,173,216,169,217,134,216,167,216,175,217,138,216,
-167,217,132,216,183,216,168,216,185,217,132,217,138,217,131,216,180,217,131,216,
-177,216,167,217,138,217,133,217,131,217,134,217,133,217,134,217,135,216,167,216,
-180,216,177,217,131,216,169,216,177,216,166,217,138,216,179,217,134,216,180,217,
-138,216,183,217,133,216,167,216,176,216,167,216,167,217,132,217,129,217,134,216,
-180,216,168,216,167,216,168,216,170,216,185,216,168,216,177,216,177,216,173,217,
-133,216,169,217,131,216,167,217,129,216,169,217,138,217,130,217,136,217,132,217,
-133,216,177,217,131,216,178,217,131,217,132,217,133,216,169,216,163,216,173,217,
-133,216,175,217,130,217,132,216,168,217,138,217,138,216,185,217,134,217,138,216,
-181,217,136,216,177,216,169,216,183,216,177,217,138,217,130,216,180,216,167,216,
-177,217,131,216,172,217,136,216,167,217,132,216,163,216,174,216,177,217,137,217,
-133,216,185,217,134,216,167,216,167,216,168,216,173,216,171,216,185,216,177,217,
-136,216,182,216,168,216,180,217,131,217,132,217,133,216,179,216,172,217,132,216,
-168,217,134,216,167,217,134,216,174,216,167,217,132,216,175,217,131,216,170,216,
-167,216,168,217,131,217,132,217,138,216,169,216,168,216,175,217,136,217,134,216,
-163,217,138,216,182,216,167,217,138,217,136,216,172,216,175,217,129,216,177,217,
-138,217,130,217,131,216,170,216,168,216,170,216,163,217,129,216,182,217,132,217,
-133,216,183,216,168,216,174,216,167,217,131,216,171,216,177,216,168,216,167,216,
-177,217,131,216,167,217,129,216,182,217,132,216,167,216,173,217,132,217,137,217,
-134,217,129,216,179,217,135,216,163,217,138,216,167,217,133,216,177,216,175,217,
-136,216,175,216,163,217,134,217,135,216,167,216,175,217,138,217,134,216,167,216,
-167,217,132,216,167,217,134,217,133,216,185,216,177,216,182,216,170,216,185,217,
-132,217,133,216,175,216,167,216,174,217,132,217,133,217,133,217,131,217,134,0,0,
-0,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,4,0,4,0,4,0,4,0,0,1,2,3,4,5,6,7,7,6,
-5,4,3,2,1,0,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,16,17,18,19,20,21,22,23,
-23,22,21,20,19,18,17,16,24,25,26,27,28,29,30,31,31,30,29,28,27,26,25,24,255,255,
-255,255,0,0,0,0,0,0,0,0,255,255,255,255,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,
-3,0,0,0,255,255,0,1,0,0,0,1,0,0,255,255,0,1,0,0,0,8,0,8,0,8,0,8,0,0,0,1,0,2,0,3,
-0,4,0,5,0,6,0,7,114,101,115,111,117,114,99,101,115,99,111,117,110,116,114,105,
-101,115,113,117,101,115,116,105,111,110,115,101,113,117,105,112,109,101,110,116,
-99,111,109,109,117,110,105,116,121,97,118,97,105,108,97,98,108,101,104,105,103,
-104,108,105,103,104,116,68,84,68,47,120,104,116,109,108,109,97,114,107,101,116,
-105,110,103,107,110,111,119,108,101,100,103,101,115,111,109,101,116,104,105,110,
-103,99,111,110,116,97,105,110,101,114,100,105,114,101,99,116,105,111,110,115,117
-,98,115,99,114,105,98,101,97,100,118,101,114,116,105,115,101,99,104,97,114,97,99
-,116,101,114,34,32,118,97,108,117,101,61,34,60,47,115,101,108,101,99,116,62,65,
-117,115,116,114,97,108,105,97,34,32,99,108,97,115,115,61,34,115,105,116,117,97,
-116,105,111,110,97,117,116,104,111,114,105,116,121,102,111,108,108,111,119,105,
-110,103,112,114,105,109,97,114,105,108,121,111,112,101,114,97,116,105,111,110,99
-,104,97,108,108,101,110,103,101,100,101,118,101,108,111,112,101,100,97,110,111,
-110,121,109,111,117,115,102,117,110,99,116,105,111,110,32,102,117,110,99,116,105
-,111,110,115,99,111,109,112,97,110,105,101,115,115,116,114,117,99,116,117,114,
-101,97,103,114,101,101,109,101,110,116,34,32,116,105,116,108,101,61,34,112,111,
-116,101,110,116,105,97,108,101,100,117,99,97,116,105,111,110,97,114,103,117,109,
-101,110,116,115,115,101,99,111,110,100,97,114,121,99,111,112,121,114,105,103,104
-,116,108,97,110,103,117,97,103,101,115,101,120,99,108,117,115,105,118,101,99,111
-,110,100,105,116,105,111,110,60,47,102,111,114,109,62,13,10,115,116,97,116,101,
-109,101,110,116,97,116,116,101,110,116,105,111,110,66,105,111,103,114,97,112,104
-,121,125,32,101,108,115,101,32,123,10,115,111,108,117,116,105,111,110,115,119,
-104,101,110,32,116,104,101,32,65,110,97,108,121,116,105,99,115,116,101,109,112,
-108,97,116,101,115,100,97,110,103,101,114,111,117,115,115,97,116,101,108,108,105
-,116,101,100,111,99,117,109,101,110,116,115,112,117,98,108,105,115,104,101,114,
-105,109,112,111,114,116,97,110,116,112,114,111,116,111,116,121,112,101,105,110,
-102,108,117,101,110,99,101,38,114,97,113,117,111,59,60,47,101,102,102,101,99,116
-,105,118,101,103,101,110,101,114,97,108,108,121,116,114,97,110,115,102,111,114,
-109,98,101,97,117,116,105,102,117,108,116,114,97,110,115,112,111,114,116,111,114
-,103,97,110,105,122,101,100,112,117,98,108,105,115,104,101,100,112,114,111,109,
-105,110,101,110,116,117,110,116,105,108,32,116,104,101,116,104,117,109,98,110,97
-,105,108,78,97,116,105,111,110,97,108,32,46,102,111,99,117,115,40,41,59,111,118,
-101,114,32,116,104,101,32,109,105,103,114,97,116,105,111,110,97,110,110,111,117,
-110,99,101,100,102,111,111,116,101,114,34,62,10,101,120,99,101,112,116,105,111,
-110,108,101,115,115,32,116,104,97,110,101,120,112,101,110,115,105,118,101,102,
-111,114,109,97,116,105,111,110,102,114,97,109,101,119,111,114,107,116,101,114,
-114,105,116,111,114,121,110,100,105,99,97,116,105,111,110,99,117,114,114,101,110
-,116,108,121,99,108,97,115,115,78,97,109,101,99,114,105,116,105,99,105,115,109,
-116,114,97,100,105,116,105,111,110,101,108,115,101,119,104,101,114,101,65,108,
-101,120,97,110,100,101,114,97,112,112,111,105,110,116,101,100,109,97,116,101,114
-,105,97,108,115,98,114,111,97,100,99,97,115,116,109,101,110,116,105,111,110,101,
-100,97,102,102,105,108,105,97,116,101,60,47,111,112,116,105,111,110,62,116,114,
-101,97,116,109,101,110,116,100,105,102,102,101,114,101,110,116,47,100,101,102,97
-,117,108,116,46,80,114,101,115,105,100,101,110,116,111,110,99,108,105,99,107,61,
-34,98,105,111,103,114,97,112,104,121,111,116,104,101,114,119,105,115,101,112,101
-,114,109,97,110,101,110,116,70,114,97,110,195,167,97,105,115,72,111,108,108,121,
-119,111,111,100,101,120,112,97,110,115,105,111,110,115,116,97,110,100,97,114,100
-,115,60,47,115,116,121,108,101,62,10,114,101,100,117,99,116,105,111,110,68,101,
-99,101,109,98,101,114,32,112,114,101,102,101,114,114,101,100,67,97,109,98,114,
-105,100,103,101,111,112,112,111,110,101,110,116,115,66,117,115,105,110,101,115,
-115,32,99,111,110,102,117,115,105,111,110,62,10,60,116,105,116,108,101,62,112,
-114,101,115,101,110,116,101,100,101,120,112,108,97,105,110,101,100,100,111,101,
-115,32,110,111,116,32,119,111,114,108,100,119,105,100,101,105,110,116,101,114,
-102,97,99,101,112,111,115,105,116,105,111,110,115,110,101,119,115,112,97,112,101
-,114,60,47,116,97,98,108,101,62,10,109,111,117,110,116,97,105,110,115,108,105,
-107,101,32,116,104,101,32,101,115,115,101,110,116,105,97,108,102,105,110,97,110,
-99,105,97,108,115,101,108,101,99,116,105,111,110,97,99,116,105,111,110,61,34,47,
-97,98,97,110,100,111,110,101,100,69,100,117,99,97,116,105,111,110,112,97,114,115
-,101,73,110,116,40,115,116,97,98,105,108,105,116,121,117,110,97,98,108,101,32,
-116,111,60,47,116,105,116,108,101,62,10,114,101,108,97,116,105,111,110,115,78,
-111,116,101,32,116,104,97,116,101,102,102,105,99,105,101,110,116,112,101,114,102
-,111,114,109,101,100,116,119,111,32,121,101,97,114,115,83,105,110,99,101,32,116,
-104,101,116,104,101,114,101,102,111,114,101,119,114,97,112,112,101,114,34,62,97,
-108,116,101,114,110,97,116,101,105,110,99,114,101,97,115,101,100,66,97,116,116,
-108,101,32,111,102,112,101,114,99,101,105,118,101,100,116,114,121,105,110,103,32
-,116,111,110,101,99,101,115,115,97,114,121,112,111,114,116,114,97,121,101,100,
-101,108,101,99,116,105,111,110,115,69,108,105,122,97,98,101,116,104,60,47,105,
-102,114,97,109,101,62,100,105,115,99,111,118,101,114,121,105,110,115,117,114,97,
-110,99,101,115,46,108,101,110,103,116,104,59,108,101,103,101,110,100,97,114,121,
-71,101,111,103,114,97,112,104,121,99,97,110,100,105,100,97,116,101,99,111,114,
-112,111,114,97,116,101,115,111,109,101,116,105,109,101,115,115,101,114,118,105,
-99,101,115,46,105,110,104,101,114,105,116,101,100,60,47,115,116,114,111,110,103,
-62,67,111,109,109,117,110,105,116,121,114,101,108,105,103,105,111,117,115,108,
-111,99,97,116,105,111,110,115,67,111,109,109,105,116,116,101,101,98,117,105,108,
-100,105,110,103,115,116,104,101,32,119,111,114,108,100,110,111,32,108,111,110,
-103,101,114,98,101,103,105,110,110,105,110,103,114,101,102,101,114,101,110,99,
-101,99,97,110,110,111,116,32,98,101,102,114,101,113,117,101,110,99,121,116,121,
-112,105,99,97,108,108,121,105,110,116,111,32,116,104,101,32,114,101,108,97,116,
-105,118,101,59,114,101,99,111,114,100,105,110,103,112,114,101,115,105,100,101,
-110,116,105,110,105,116,105,97,108,108,121,116,101,99,104,110,105,113,117,101,
-116,104,101,32,111,116,104,101,114,105,116,32,99,97,110,32,98,101,101,120,105,
-115,116,101,110,99,101,117,110,100,101,114,108,105,110,101,116,104,105,115,32,
-116,105,109,101,116,101,108,101,112,104,111,110,101,105,116,101,109,115,99,111,
-112,101,112,114,97,99,116,105,99,101,115,97,100,118,97,110,116,97,103,101,41,59,
-114,101,116,117,114,110,32,70,111,114,32,111,116,104,101,114,112,114,111,118,105
-,100,105,110,103,100,101,109,111,99,114,97,99,121,98,111,116,104,32,116,104,101,
-32,101,120,116,101,110,115,105,118,101,115,117,102,102,101,114,105,110,103,115,
-117,112,112,111,114,116,101,100,99,111,109,112,117,116,101,114,115,32,102,117,
-110,99,116,105,111,110,112,114,97,99,116,105,99,97,108,115,97,105,100,32,116,104
-,97,116,105,116,32,109,97,121,32,98,101,69,110,103,108,105,115,104,60,47,102,114
-,111,109,32,116,104,101,32,115,99,104,101,100,117,108,101,100,100,111,119,110,
-108,111,97,100,115,60,47,108,97,98,101,108,62,10,115,117,115,112,101,99,116,101,
-100,109,97,114,103,105,110,58,32,48,115,112,105,114,105,116,117,97,108,60,47,104
-,101,97,100,62,10,10,109,105,99,114,111,115,111,102,116,103,114,97,100,117,97,
-108,108,121,100,105,115,99,117,115,115,101,100,104,101,32,98,101,99,97,109,101,
-101,120,101,99,117,116,105,118,101,106,113,117,101,114,121,46,106,115,104,111,
-117,115,101,104,111,108,100,99,111,110,102,105,114,109,101,100,112,117,114,99,
-104,97,115,101,100,108,105,116,101,114,97,108,108,121,100,101,115,116,114,111,
-121,101,100,117,112,32,116,111,32,116,104,101,118,97,114,105,97,116,105,111,110,
-114,101,109,97,105,110,105,110,103,105,116,32,105,115,32,110,111,116,99,101,110,
-116,117,114,105,101,115,74,97,112,97,110,101,115,101,32,97,109,111,110,103,32,
-116,104,101,99,111,109,112,108,101,116,101,100,97,108,103,111,114,105,116,104,
-109,105,110,116,101,114,101,115,116,115,114,101,98,101,108,108,105,111,110,117,
-110,100,101,102,105,110,101,100,101,110,99,111,117,114,97,103,101,114,101,115,
-105,122,97,98,108,101,105,110,118,111,108,118,105,110,103,115,101,110,115,105,
-116,105,118,101,117,110,105,118,101,114,115,97,108,112,114,111,118,105,115,105,
-111,110,40,97,108,116,104,111,117,103,104,102,101,97,116,117,114,105,110,103,99,
-111,110,100,117,99,116,101,100,41,44,32,119,104,105,99,104,32,99,111,110,116,105
-,110,117,101,100,45,104,101,97,100,101,114,34,62,70,101,98,114,117,97,114,121,32
-,110,117,109,101,114,111,117,115,32,111,118,101,114,102,108,111,119,58,99,111,
-109,112,111,110,101,110,116,102,114,97,103,109,101,110,116,115,101,120,99,101,
-108,108,101,110,116,99,111,108,115,112,97,110,61,34,116,101,99,104,110,105,99,97
-,108,110,101,97,114,32,116,104,101,32,65,100,118,97,110,99,101,100,32,115,111,
-117,114,99,101,32,111,102,101,120,112,114,101,115,115,101,100,72,111,110,103,32,
-75,111,110,103,32,70,97,99,101,98,111,111,107,109,117,108,116,105,112,108,101,32
-,109,101,99,104,97,110,105,115,109,101,108,101,118,97,116,105,111,110,111,102,
-102,101,110,115,105,118,101,60,47,102,111,114,109,62,10,9,115,112,111,110,115,
-111,114,101,100,100,111,99,117,109,101,110,116,46,111,114,32,38,113,117,111,116,
-59,116,104,101,114,101,32,97,114,101,116,104,111,115,101,32,119,104,111,109,111,
-118,101,109,101,110,116,115,112,114,111,99,101,115,115,101,115,100,105,102,102,
-105,99,117,108,116,115,117,98,109,105,116,116,101,100,114,101,99,111,109,109,101
-,110,100,99,111,110,118,105,110,99,101,100,112,114,111,109,111,116,105,110,103,
-34,32,119,105,100,116,104,61,34,46,114,101,112,108,97,99,101,40,99,108,97,115,
-115,105,99,97,108,99,111,97,108,105,116,105,111,110,104,105,115,32,102,105,114,
-115,116,100,101,99,105,115,105,111,110,115,97,115,115,105,115,116,97,110,116,105
-,110,100,105,99,97,116,101,100,101,118,111,108,117,116,105,111,110,45,119,114,97
-,112,112,101,114,34,101,110,111,117,103,104,32,116,111,97,108,111,110,103,32,116
-,104,101,100,101,108,105,118,101,114,101,100,45,45,62,13,10,60,33,45,45,65,109,
-101,114,105,99,97,110,32,112,114,111,116,101,99,116,101,100,78,111,118,101,109,
-98,101,114,32,60,47,115,116,121,108,101,62,60,102,117,114,110,105,116,117,114,
-101,73,110,116,101,114,110,101,116,32,32,111,110,98,108,117,114,61,34,115,117,
-115,112,101,110,100,101,100,114,101,99,105,112,105,101,110,116,98,97,115,101,100
-,32,111,110,32,77,111,114,101,111,118,101,114,44,97,98,111,108,105,115,104,101,
-100,99,111,108,108,101,99,116,101,100,119,101,114,101,32,109,97,100,101,101,109,
-111,116,105,111,110,97,108,101,109,101,114,103,101,110,99,121,110,97,114,114,97,
-116,105,118,101,97,100,118,111,99,97,116,101,115,112,120,59,98,111,114,100,101,
-114,99,111,109,109,105,116,116,101,100,100,105,114,61,34,108,116,114,34,101,109,
-112,108,111,121,101,101,115,114,101,115,101,97,114,99,104,46,32,115,101,108,101,
-99,116,101,100,115,117,99,99,101,115,115,111,114,99,117,115,116,111,109,101,114,
-115,100,105,115,112,108,97,121,101,100,83,101,112,116,101,109,98,101,114,97,100,
-100,67,108,97,115,115,40,70,97,99,101,98,111,111,107,32,115,117,103,103,101,115,
-116,101,100,97,110,100,32,108,97,116,101,114,111,112,101,114,97,116,105,110,103,
-101,108,97,98,111,114,97,116,101,83,111,109,101,116,105,109,101,115,73,110,115,
-116,105,116,117,116,101,99,101,114,116,97,105,110,108,121,105,110,115,116,97,108
-,108,101,100,102,111,108,108,111,119,101,114,115,74,101,114,117,115,97,108,101,
-109,116,104,101,121,32,104,97,118,101,99,111,109,112,117,116,105,110,103,103,101
-,110,101,114,97,116,101,100,112,114,111,118,105,110,99,101,115,103,117,97,114,97
-,110,116,101,101,97,114,98,105,116,114,97,114,121,114,101,99,111,103,110,105,122
-,101,119,97,110,116,101,100,32,116,111,112,120,59,119,105,100,116,104,58,116,104
-,101,111,114,121,32,111,102,98,101,104,97,118,105,111,117,114,87,104,105,108,101
-,32,116,104,101,101,115,116,105,109,97,116,101,100,98,101,103,97,110,32,116,111,
-32,105,116,32,98,101,99,97,109,101,109,97,103,110,105,116,117,100,101,109,117,
-115,116,32,104,97,118,101,109,111,114,101,32,116,104,97,110,68,105,114,101,99,
-116,111,114,121,101,120,116,101,110,115,105,111,110,115,101,99,114,101,116,97,
-114,121,110,97,116,117,114,97,108,108,121,111,99,99,117,114,114,105,110,103,118,
-97,114,105,97,98,108,101,115,103,105,118,101,110,32,116,104,101,112,108,97,116,
-102,111,114,109,46,60,47,108,97,98,101,108,62,60,102,97,105,108,101,100,32,116,
-111,99,111,109,112,111,117,110,100,115,107,105,110,100,115,32,111,102,32,115,111
-,99,105,101,116,105,101,115,97,108,111,110,103,115,105,100,101,32,45,45,38,103,
-116,59,10,10,115,111,117,116,104,119,101,115,116,116,104,101,32,114,105,103,104,
-116,114,97,100,105,97,116,105,111,110,109,97,121,32,104,97,118,101,32,117,110,
-101,115,99,97,112,101,40,115,112,111,107,101,110,32,105,110,34,32,104,114,101,
-102,61,34,47,112,114,111,103,114,97,109,109,101,111,110,108,121,32,116,104,101,
-32,99,111,109,101,32,102,114,111,109,100,105,114,101,99,116,111,114,121,98,117,
-114,105,101,100,32,105,110,97,32,115,105,109,105,108,97,114,116,104,101,121,32,
-119,101,114,101,60,47,102,111,110,116,62,60,47,78,111,114,119,101,103,105,97,110
-,115,112,101,99,105,102,105,101,100,112,114,111,100,117,99,105,110,103,112,97,
-115,115,101,110,103,101,114,40,110,101,119,32,68,97,116,101,116,101,109,112,111,
-114,97,114,121,102,105,99,116,105,111,110,97,108,65,102,116,101,114,32,116,104,
-101,101,113,117,97,116,105,111,110,115,100,111,119,110,108,111,97,100,46,114,101
-,103,117,108,97,114,108,121,100,101,118,101,108,111,112,101,114,97,98,111,118,
-101,32,116,104,101,108,105,110,107,101,100,32,116,111,112,104,101,110,111,109,
-101,110,97,112,101,114,105,111,100,32,111,102,116,111,111,108,116,105,112,34,62,
-115,117,98,115,116,97,110,99,101,97,117,116,111,109,97,116,105,99,97,115,112,101
-,99,116,32,111,102,65,109,111,110,103,32,116,104,101,99,111,110,110,101,99,116,
-101,100,101,115,116,105,109,97,116,101,115,65,105,114,32,70,111,114,99,101,115,
-121,115,116,101,109,32,111,102,111,98,106,101,99,116,105,118,101,105,109,109,101
-,100,105,97,116,101,109,97,107,105,110,103,32,105,116,112,97,105,110,116,105,110
-,103,115,99,111,110,113,117,101,114,101,100,97,114,101,32,115,116,105,108,108,
-112,114,111,99,101,100,117,114,101,103,114,111,119,116,104,32,111,102,104,101,97
-,100,101,100,32,98,121,69,117,114,111,112,101,97,110,32,100,105,118,105,115,105,
-111,110,115,109,111,108,101,99,117,108,101,115,102,114,97,110,99,104,105,115,101
-,105,110,116,101,110,116,105,111,110,97,116,116,114,97,99,116,101,100,99,104,105
-,108,100,104,111,111,100,97,108,115,111,32,117,115,101,100,100,101,100,105,99,97
-,116,101,100,115,105,110,103,97,112,111,114,101,100,101,103,114,101,101,32,111,
-102,102,97,116,104,101,114,32,111,102,99,111,110,102,108,105,99,116,115,60,47,97
-,62,60,47,112,62,10,99,97,109,101,32,102,114,111,109,119,101,114,101,32,117,115,
-101,100,110,111,116,101,32,116,104,97,116,114,101,99,101,105,118,105,110,103,69,
-120,101,99,117,116,105,118,101,101,118,101,110,32,109,111,114,101,97,99,99,101,
-115,115,32,116,111,99,111,109,109,97,110,100,101,114,80,111,108,105,116,105,99,
-97,108,109,117,115,105,99,105,97,110,115,100,101,108,105,99,105,111,117,115,112,
-114,105,115,111,110,101,114,115,97,100,118,101,110,116,32,111,102,85,84,70,45,56
-,34,32,47,62,60,33,91,67,68,65,84,65,91,34,62,67,111,110,116,97,99,116,83,111,
-117,116,104,101,114,110,32,98,103,99,111,108,111,114,61,34,115,101,114,105,101,
-115,32,111,102,46,32,73,116,32,119,97,115,32,105,110,32,69,117,114,111,112,101,
-112,101,114,109,105,116,116,101,100,118,97,108,105,100,97,116,101,46,97,112,112,
-101,97,114,105,110,103,111,102,102,105,99,105,97,108,115,115,101,114,105,111,117
-,115,108,121,45,108,97,110,103,117,97,103,101,105,110,105,116,105,97,116,101,100
-,101,120,116,101,110,100,105,110,103,108,111,110,103,45,116,101,114,109,105,110,
-102,108,97,116,105,111,110,115,117,99,104,32,116,104,97,116,103,101,116,67,111,
-111,107,105,101,109,97,114,107,101,100,32,98,121,60,47,98,117,116,116,111,110,62
-,105,109,112,108,101,109,101,110,116,98,117,116,32,105,116,32,105,115,105,110,99
-,114,101,97,115,101,115,100,111,119,110,32,116,104,101,32,114,101,113,117,105,
-114,105,110,103,100,101,112,101,110,100,101,110,116,45,45,62,10,60,33,45,45,32,
-105,110,116,101,114,118,105,101,119,87,105,116,104,32,116,104,101,32,99,111,112,
-105,101,115,32,111,102,99,111,110,115,101,110,115,117,115,119,97,115,32,98,117,
-105,108,116,86,101,110,101,122,117,101,108,97,40,102,111,114,109,101,114,108,121
-,116,104,101,32,115,116,97,116,101,112,101,114,115,111,110,110,101,108,115,116,
-114,97,116,101,103,105,99,102,97,118,111,117,114,32,111,102,105,110,118,101,110,
-116,105,111,110,87,105,107,105,112,101,100,105,97,99,111,110,116,105,110,101,110
-,116,118,105,114,116,117,97,108,108,121,119,104,105,99,104,32,119,97,115,112,114
-,105,110,99,105,112,108,101,67,111,109,112,108,101,116,101,32,105,100,101,110,
-116,105,99,97,108,115,104,111,119,32,116,104,97,116,112,114,105,109,105,116,105,
-118,101,97,119,97,121,32,102,114,111,109,109,111,108,101,99,117,108,97,114,112,
-114,101,99,105,115,101,108,121,100,105,115,115,111,108,118,101,100,85,110,100,
-101,114,32,116,104,101,118,101,114,115,105,111,110,61,34,62,38,110,98,115,112,59
-,60,47,73,116,32,105,115,32,116,104,101,32,84,104,105,115,32,105,115,32,119,105,
-108,108,32,104,97,118,101,111,114,103,97,110,105,115,109,115,115,111,109,101,32,
-116,105,109,101,70,114,105,101,100,114,105,99,104,119,97,115,32,102,105,114,115,
-116,116,104,101,32,111,110,108,121,32,102,97,99,116,32,116,104,97,116,102,111,
-114,109,32,105,100,61,34,112,114,101,99,101,100,105,110,103,84,101,99,104,110,
-105,99,97,108,112,104,121,115,105,99,105,115,116,111,99,99,117,114,115,32,105,
-110,110,97,118,105,103,97,116,111,114,115,101,99,116,105,111,110,34,62,115,112,
-97,110,32,105,100,61,34,115,111,117,103,104,116,32,116,111,98,101,108,111,119,32
-,116,104,101,115,117,114,118,105,118,105,110,103,125,60,47,115,116,121,108,101,
-62,104,105,115,32,100,101,97,116,104,97,115,32,105,110,32,116,104,101,99,97,117,
-115,101,100,32,98,121,112,97,114,116,105,97,108,108,121,101,120,105,115,116,105,
-110,103,32,117,115,105,110,103,32,116,104,101,119,97,115,32,103,105,118,101,110,
-97,32,108,105,115,116,32,111,102,108,101,118,101,108,115,32,111,102,110,111,116,
-105,111,110,32,111,102,79,102,102,105,99,105,97,108,32,100,105,115,109,105,115,
-115,101,100,115,99,105,101,110,116,105,115,116,114,101,115,101,109,98,108,101,
-115,100,117,112,108,105,99,97,116,101,101,120,112,108,111,115,105,118,101,114,
-101,99,111,118,101,114,101,100,97,108,108,32,111,116,104,101,114,103,97,108,108,
-101,114,105,101,115,123,112,97,100,100,105,110,103,58,112,101,111,112,108,101,32
-,111,102,114,101,103,105,111,110,32,111,102,97,100,100,114,101,115,115,101,115,
-97,115,115,111,99,105,97,116,101,105,109,103,32,97,108,116,61,34,105,110,32,109,
-111,100,101,114,110,115,104,111,117,108,100,32,98,101,109,101,116,104,111,100,32
-,111,102,114,101,112,111,114,116,105,110,103,116,105,109,101,115,116,97,109,112,
-110,101,101,100,101,100,32,116,111,116,104,101,32,71,114,101,97,116,114,101,103,
-97,114,100,105,110,103,115,101,101,109,101,100,32,116,111,118,105,101,119,101,
-100,32,97,115,105,109,112,97,99,116,32,111,110,105,100,101,97,32,116,104,97,116,
-116,104,101,32,87,111,114,108,100,104,101,105,103,104,116,32,111,102,101,120,112
-,97,110,100,105,110,103,84,104,101,115,101,32,97,114,101,99,117,114,114,101,110,
-116,34,62,99,97,114,101,102,117,108,108,121,109,97,105,110,116,97,105,110,115,99
-,104,97,114,103,101,32,111,102,67,108,97,115,115,105,99,97,108,97,100,100,114,
-101,115,115,101,100,112,114,101,100,105,99,116,101,100,111,119,110,101,114,115,
-104,105,112,60,100,105,118,32,105,100,61,34,114,105,103,104,116,34,62,13,10,114,
-101,115,105,100,101,110,99,101,108,101,97,118,101,32,116,104,101,99,111,110,116,
-101,110,116,34,62,97,114,101,32,111,102,116,101,110,32,32,125,41,40,41,59,13,10,
-112,114,111,98,97,98,108,121,32,80,114,111,102,101,115,115,111,114,45,98,117,116
-,116,111,110,34,32,114,101,115,112,111,110,100,101,100,115,97,121,115,32,116,104
-,97,116,104,97,100,32,116,111,32,98,101,112,108,97,99,101,100,32,105,110,72,117,
-110,103,97,114,105,97,110,115,116,97,116,117,115,32,111,102,115,101,114,118,101,
-115,32,97,115,85,110,105,118,101,114,115,97,108,101,120,101,99,117,116,105,111,
-110,97,103,103,114,101,103,97,116,101,102,111,114,32,119,104,105,99,104,105,110,
-102,101,99,116,105,111,110,97,103,114,101,101,100,32,116,111,104,111,119,101,118
-,101,114,44,32,112,111,112,117,108,97,114,34,62,112,108,97,99,101,100,32,111,110
-,99,111,110,115,116,114,117,99,116,101,108,101,99,116,111,114,97,108,115,121,109
-,98,111,108,32,111,102,105,110,99,108,117,100,105,110,103,114,101,116,117,114,
-110,32,116,111,97,114,99,104,105,116,101,99,116,67,104,114,105,115,116,105,97,
-110,112,114,101,118,105,111,117,115,32,108,105,118,105,110,103,32,105,110,101,97
-,115,105,101,114,32,116,111,112,114,111,102,101,115,115,111,114,10,38,108,116,59
-,33,45,45,32,101,102,102,101,99,116,32,111,102,97,110,97,108,121,116,105,99,115,
-119,97,115,32,116,97,107,101,110,119,104,101,114,101,32,116,104,101,116,111,111,
-107,32,111,118,101,114,98,101,108,105,101,102,32,105,110,65,102,114,105,107,97,
-97,110,115,97,115,32,102,97,114,32,97,115,112,114,101,118,101,110,116,101,100,
-119,111,114,107,32,119,105,116,104,97,32,115,112,101,99,105,97,108,60,102,105,
-101,108,100,115,101,116,67,104,114,105,115,116,109,97,115,82,101,116,114,105,101
-,118,101,100,10,10,73,110,32,116,104,101,32,98,97,99,107,32,105,110,116,111,110,
-111,114,116,104,101,97,115,116,109,97,103,97,122,105,110,101,115,62,60,115,116,
-114,111,110,103,62,99,111,109,109,105,116,116,101,101,103,111,118,101,114,110,
-105,110,103,103,114,111,117,112,115,32,111,102,115,116,111,114,101,100,32,105,
-110,101,115,116,97,98,108,105,115,104,97,32,103,101,110,101,114,97,108,105,116,
-115,32,102,105,114,115,116,116,104,101,105,114,32,111,119,110,112,111,112,117,
-108,97,116,101,100,97,110,32,111,98,106,101,99,116,67,97,114,105,98,98,101,97,
-110,97,108,108,111,119,32,116,104,101,100,105,115,116,114,105,99,116,115,119,105
-,115,99,111,110,115,105,110,108,111,99,97,116,105,111,110,46,59,32,119,105,100,
-116,104,58,32,105,110,104,97,98,105,116,101,100,83,111,99,105,97,108,105,115,116
-,74,97,110,117,97,114,121,32,49,60,47,102,111,111,116,101,114,62,115,105,109,105
-,108,97,114,108,121,99,104,111,105,99,101,32,111,102,116,104,101,32,115,97,109,
-101,32,115,112,101,99,105,102,105,99,32,98,117,115,105,110,101,115,115,32,84,104
-,101,32,102,105,114,115,116,46,108,101,110,103,116,104,59,32,100,101,115,105,114
-,101,32,116,111,100,101,97,108,32,119,105,116,104,115,105,110,99,101,32,116,104,
-101,117,115,101,114,65,103,101,110,116,99,111,110,99,101,105,118,101,100,105,110
-,100,101,120,46,112,104,112,97,115,32,38,113,117,111,116,59,101,110,103,97,103,
-101,32,105,110,114,101,99,101,110,116,108,121,44,102,101,119,32,121,101,97,114,
-115,119,101,114,101,32,97,108,115,111,10,60,104,101,97,100,62,10,60,101,100,105,
-116,101,100,32,98,121,97,114,101,32,107,110,111,119,110,99,105,116,105,101,115,
-32,105,110,97,99,99,101,115,115,107,101,121,99,111,110,100,101,109,110,101,100,
-97,108,115,111,32,104,97,118,101,115,101,114,118,105,99,101,115,44,102,97,109,
-105,108,121,32,111,102,83,99,104,111,111,108,32,111,102,99,111,110,118,101,114,
-116,101,100,110,97,116,117,114,101,32,111,102,32,108,97,110,103,117,97,103,101,
-109,105,110,105,115,116,101,114,115,60,47,111,98,106,101,99,116,62,116,104,101,
-114,101,32,105,115,32,97,32,112,111,112,117,108,97,114,115,101,113,117,101,110,
-99,101,115,97,100,118,111,99,97,116,101,100,84,104,101,121,32,119,101,114,101,97
-,110,121,32,111,116,104,101,114,108,111,99,97,116,105,111,110,61,101,110,116,101
-,114,32,116,104,101,109,117,99,104,32,109,111,114,101,114,101,102,108,101,99,116
-,101,100,119,97,115,32,110,97,109,101,100,111,114,105,103,105,110,97,108,32,97,
-32,116,121,112,105,99,97,108,119,104,101,110,32,116,104,101,121,101,110,103,105,
-110,101,101,114,115,99,111,117,108,100,32,110,111,116,114,101,115,105,100,101,
-110,116,115,119,101,100,110,101,115,100,97,121,116,104,101,32,116,104,105,114,
-100,32,112,114,111,100,117,99,116,115,74,97,110,117,97,114,121,32,50,119,104,97,
-116,32,116,104,101,121,97,32,99,101,114,116,97,105,110,114,101,97,99,116,105,111
-,110,115,112,114,111,99,101,115,115,111,114,97,102,116,101,114,32,104,105,115,
-116,104,101,32,108,97,115,116,32,99,111,110,116,97,105,110,101,100,34,62,60,47,
-100,105,118,62,10,60,47,97,62,60,47,116,100,62,100,101,112,101,110,100,32,111,
-110,115,101,97,114,99,104,34,62,10,112,105,101,99,101,115,32,111,102,99,111,109,
-112,101,116,105,110,103,82,101,102,101,114,101,110,99,101,116,101,110,110,101,
-115,115,101,101,119,104,105,99,104,32,104,97,115,32,118,101,114,115,105,111,110,
-61,60,47,115,112,97,110,62,32,60,60,47,104,101,97,100,101,114,62,103,105,118,101
-,115,32,116,104,101,104,105,115,116,111,114,105,97,110,118,97,108,117,101,61,34,
-34,62,112,97,100,100,105,110,103,58,48,118,105,101,119,32,116,104,97,116,116,111
-,103,101,116,104,101,114,44,116,104,101,32,109,111,115,116,32,119,97,115,32,102,
-111,117,110,100,115,117,98,115,101,116,32,111,102,97,116,116,97,99,107,32,111,
-110,99,104,105,108,100,114,101,110,44,112,111,105,110,116,115,32,111,102,112,101
-,114,115,111,110,97,108,32,112,111,115,105,116,105,111,110,58,97,108,108,101,103
-,101,100,108,121,67,108,101,118,101,108,97,110,100,119,97,115,32,108,97,116,101,
-114,97,110,100,32,97,102,116,101,114,97,114,101,32,103,105,118,101,110,119,97,
-115,32,115,116,105,108,108,115,99,114,111,108,108,105,110,103,100,101,115,105,
-103,110,32,111,102,109,97,107,101,115,32,116,104,101,109,117,99,104,32,108,101,
-115,115,65,109,101,114,105,99,97,110,115,46,10,10,65,102,116,101,114,32,44,32,98
-,117,116,32,116,104,101,77,117,115,101,117,109,32,111,102,108,111,117,105,115,
-105,97,110,97,40,102,114,111,109,32,116,104,101,109,105,110,110,101,115,111,116,
-97,112,97,114,116,105,99,108,101,115,97,32,112,114,111,99,101,115,115,68,111,109
-,105,110,105,99,97,110,118,111,108,117,109,101,32,111,102,114,101,116,117,114,
-110,105,110,103,100,101,102,101,110,115,105,118,101,48,48,112,120,124,114,105,
-103,104,109,97,100,101,32,102,114,111,109,109,111,117,115,101,111,118,101,114,34
-,32,115,116,121,108,101,61,34,115,116,97,116,101,115,32,111,102,40,119,104,105,
-99,104,32,105,115,99,111,110,116,105,110,117,101,115,70,114,97,110,99,105,115,99
-,111,98,117,105,108,100,105,110,103,32,119,105,116,104,111,117,116,32,97,119,105
-,116,104,32,115,111,109,101,119,104,111,32,119,111,117,108,100,97,32,102,111,114
-,109,32,111,102,97,32,112,97,114,116,32,111,102,98,101,102,111,114,101,32,105,
-116,107,110,111,119,110,32,97,115,32,32,83,101,114,118,105,99,101,115,108,111,99
-,97,116,105,111,110,32,97,110,100,32,111,102,116,101,110,109,101,97,115,117,114,
-105,110,103,97,110,100,32,105,116,32,105,115,112,97,112,101,114,98,97,99,107,118
-,97,108,117,101,115,32,111,102,13,10,60,116,105,116,108,101,62,61,32,119,105,110
-,100,111,119,46,100,101,116,101,114,109,105,110,101,101,114,38,113,117,111,116,
-59,32,112,108,97,121,101,100,32,98,121,97,110,100,32,101,97,114,108,121,60,47,99
-,101,110,116,101,114,62,102,114,111,109,32,116,104,105,115,116,104,101,32,116,
-104,114,101,101,112,111,119,101,114,32,97,110,100,111,102,32,38,113,117,111,116,
-59,105,110,110,101,114,72,84,77,76,60,97,32,104,114,101,102,61,34,121,58,105,110
-,108,105,110,101,59,67,104,117,114,99,104,32,111,102,116,104,101,32,101,118,101,
-110,116,118,101,114,121,32,104,105,103,104,111,102,102,105,99,105,97,108,32,45,
-104,101,105,103,104,116,58,32,99,111,110,116,101,110,116,61,34,47,99,103,105,45,
-98,105,110,47,116,111,32,99,114,101,97,116,101,97,102,114,105,107,97,97,110,115,
-101,115,112,101,114,97,110,116,111,102,114,97,110,195,167,97,105,115,108,97,116,
-118,105,101,197,161,117,108,105,101,116,117,118,105,197,179,196,140,101,197,161,
-116,105,110,97,196,141,101,197,161,116,105,110,97,224,185,132,224,184,151,224,
-184,162,230,151,165,230,156,172,232,170,158,231,174,128,228,189,147,229,173,151,
-231,185,129,233,171,148,229,173,151,237,149,156,234,181,173,236,150,180,228,184,
-186,228,187,128,228,185,136,232,174,161,231,174,151,230,156,186,231,172,148,232,
-174,176,230,156,172,232,168,142,232,171,150,229,141,128,230,156,141,229,138,161,
-229,153,168,228,186,146,232,129,148,231,189,145,230,136,191,229,156,176,228,186,
-167,228,191,177,228,185,144,233,131,168,229,135,186,231,137,136,231,164,190,230,
-142,146,232,161,140,230,166,156,233,131,168,232,144,189,230,160,188,232,191,155,
-228,184,128,230,173,165,230,148,175,228,187,152,229,174,157,233,170,140,232,175,
-129,231,160,129,229,167,148,229,145,152,228,188,154,230,149,176,230,141,174,229,
-186,147,230,182,136,232,180,185,232,128,133,229,138,158,229,133,172,229,174,164,
-232,174,168,232,174,186,229,140,186,230,183,177,229,156,179,229,184,130,230,146,
-173,230,148,190,229,153,168,229,140,151,228,186,172,229,184,130,229,164,167,229,
-173,166,231,148,159,232,182,138,230,157,165,232,182,138,231,174,161,231,144,134,
-229,145,152,228,191,161,230,129,175,231,189,145,115,101,114,118,105,99,105,111,
-115,97,114,116,195,173,99,117,108,111,97,114,103,101,110,116,105,110,97,98,97,
-114,99,101,108,111,110,97,99,117,97,108,113,117,105,101,114,112,117,98,108,105,
-99,97,100,111,112,114,111,100,117,99,116,111,115,112,111,108,195,173,116,105,99,
-97,114,101,115,112,117,101,115,116,97,119,105,107,105,112,101,100,105,97,115,105
-,103,117,105,101,110,116,101,98,195,186,115,113,117,101,100,97,99,111,109,117,
-110,105,100,97,100,115,101,103,117,114,105,100,97,100,112,114,105,110,99,105,112
-,97,108,112,114,101,103,117,110,116,97,115,99,111,110,116,101,110,105,100,111,
-114,101,115,112,111,110,100,101,114,118,101,110,101,122,117,101,108,97,112,114,
-111,98,108,101,109,97,115,100,105,99,105,101,109,98,114,101,114,101,108,97,99,
-105,195,179,110,110,111,118,105,101,109,98,114,101,115,105,109,105,108,97,114,
-101,115,112,114,111,121,101,99,116,111,115,112,114,111,103,114,97,109,97,115,105
-,110,115,116,105,116,117,116,111,97,99,116,105,118,105,100,97,100,101,110,99,117
-,101,110,116,114,97,101,99,111,110,111,109,195,173,97,105,109,195,161,103,101,
-110,101,115,99,111,110,116,97,99,116,97,114,100,101,115,99,97,114,103,97,114,110
-,101,99,101,115,97,114,105,111,97,116,101,110,99,105,195,179,110,116,101,108,195
-,169,102,111,110,111,99,111,109,105,115,105,195,179,110,99,97,110,99,105,111,110
-,101,115,99,97,112,97,99,105,100,97,100,101,110,99,111,110,116,114,97,114,97,110
-,195,161,108,105,115,105,115,102,97,118,111,114,105,116,111,115,116,195,169,114,
-109,105,110,111,115,112,114,111,118,105,110,99,105,97,101,116,105,113,117,101,
-116,97,115,101,108,101,109,101,110,116,111,115,102,117,110,99,105,111,110,101,
-115,114,101,115,117,108,116,97,100,111,99,97,114,195,161,99,116,101,114,112,114,
-111,112,105,101,100,97,100,112,114,105,110,99,105,112,105,111,110,101,99,101,115
-,105,100,97,100,109,117,110,105,99,105,112,97,108,99,114,101,97,99,105,195,179,
-110,100,101,115,99,97,114,103,97,115,112,114,101,115,101,110,99,105,97,99,111,
-109,101,114,99,105,97,108,111,112,105,110,105,111,110,101,115,101,106,101,114,99
-,105,99,105,111,101,100,105,116,111,114,105,97,108,115,97,108,97,109,97,110,99,
-97,103,111,110,122,195,161,108,101,122,100,111,99,117,109,101,110,116,111,112,
-101,108,195,173,99,117,108,97,114,101,99,105,101,110,116,101,115,103,101,110,101
-,114,97,108,101,115,116,97,114,114,97,103,111,110,97,112,114,195,161,99,116,105,
-99,97,110,111,118,101,100,97,100,101,115,112,114,111,112,117,101,115,116,97,112,
-97,99,105,101,110,116,101,115,116,195,169,99,110,105,99,97,115,111,98,106,101,
-116,105,118,111,115,99,111,110,116,97,99,116,111,115,224,164,174,224,165,135,224
-,164,130,224,164,178,224,164,191,224,164,143,224,164,185,224,165,136,224,164,130
-,224,164,151,224,164,175,224,164,190,224,164,184,224,164,190,224,164,165,224,164
-,143,224,164,181,224,164,130,224,164,176,224,164,185,224,165,135,224,164,149,224
-,165,139,224,164,136,224,164,149,224,165,129,224,164,155,224,164,176,224,164,185
-,224,164,190,224,164,172,224,164,190,224,164,166,224,164,149,224,164,185,224,164
-,190,224,164,184,224,164,173,224,165,128,224,164,185,224,165,129,224,164,143,224
-,164,176,224,164,185,224,165,128,224,164,174,224,165,136,224,164,130,224,164,166
-,224,164,191,224,164,168,224,164,172,224,164,190,224,164,164,100,105,112,108,111
-,100,111,99,115,224,164,184,224,164,174,224,164,175,224,164,176,224,165,130,224,
-164,170,224,164,168,224,164,190,224,164,174,224,164,170,224,164,164,224,164,190,
-224,164,171,224,164,191,224,164,176,224,164,148,224,164,184,224,164,164,224,164,
-164,224,164,176,224,164,185,224,164,178,224,165,139,224,164,151,224,164,185,224,
-165,129,224,164,134,224,164,172,224,164,190,224,164,176,224,164,166,224,165,135,
-224,164,182,224,164,185,224,165,129,224,164,136,224,164,150,224,165,135,224,164,
-178,224,164,175,224,164,166,224,164,191,224,164,149,224,164,190,224,164,174,224,
-164,181,224,165,135,224,164,172,224,164,164,224,165,128,224,164,168,224,164,172,
-224,165,128,224,164,154,224,164,174,224,165,140,224,164,164,224,164,184,224,164,
-190,224,164,178,224,164,178,224,165,135,224,164,150,224,164,156,224,165,137,224,
-164,172,224,164,174,224,164,166,224,164,166,224,164,164,224,164,165,224,164,190,
-224,164,168,224,164,185,224,165,128,224,164,182,224,164,185,224,164,176,224,164,
-133,224,164,178,224,164,151,224,164,149,224,164,173,224,165,128,224,164,168,224,
-164,151,224,164,176,224,164,170,224,164,190,224,164,184,224,164,176,224,164,190,
-224,164,164,224,164,149,224,164,191,224,164,143,224,164,137,224,164,184,224,165,
-135,224,164,151,224,164,175,224,165,128,224,164,185,224,165,130,224,164,129,224,
-164,134,224,164,151,224,165,135,224,164,159,224,165,128,224,164,174,224,164,150,
-224,165,139,224,164,156,224,164,149,224,164,190,224,164,176,224,164,133,224,164,
-173,224,165,128,224,164,151,224,164,175,224,165,135,224,164,164,224,165,129,224,
-164,174,224,164,181,224,165,139,224,164,159,224,164,166,224,165,135,224,164,130,
-224,164,133,224,164,151,224,164,176,224,164,144,224,164,184,224,165,135,224,164,
-174,224,165,135,224,164,178,224,164,178,224,164,151,224,164,190,224,164,185,224,
-164,190,224,164,178,224,164,138,224,164,170,224,164,176,224,164,154,224,164,190,
-224,164,176,224,164,144,224,164,184,224,164,190,224,164,166,224,165,135,224,164,
-176,224,164,156,224,164,191,224,164,184,224,164,166,224,164,191,224,164,178,224,
-164,172,224,164,130,224,164,166,224,164,172,224,164,168,224,164,190,224,164,185,
-224,165,130,224,164,130,224,164,178,224,164,190,224,164,150,224,164,156,224,165,
-128,224,164,164,224,164,172,224,164,159,224,164,168,224,164,174,224,164,191,224,
-164,178,224,164,135,224,164,184,224,165,135,224,164,134,224,164,168,224,165,135,
-224,164,168,224,164,175,224,164,190,224,164,149,224,165,129,224,164,178,224,164,
-178,224,165,137,224,164,151,224,164,173,224,164,190,224,164,151,224,164,176,224,
-165,135,224,164,178,224,164,156,224,164,151,224,164,185,224,164,176,224,164,190,
-224,164,174,224,164,178,224,164,151,224,165,135,224,164,170,224,165,135,224,164,
-156,224,164,185,224,164,190,224,164,165,224,164,135,224,164,184,224,165,128,224,
-164,184,224,164,185,224,165,128,224,164,149,224,164,178,224,164,190,224,164,160,
-224,165,128,224,164,149,224,164,185,224,164,190,224,164,129,224,164,166,224,165,
-130,224,164,176,224,164,164,224,164,185,224,164,164,224,164,184,224,164,190,224,
-164,164,224,164,175,224,164,190,224,164,166,224,164,134,224,164,175,224,164,190,
-224,164,170,224,164,190,224,164,149,224,164,149,224,165,140,224,164,168,224,164,
-182,224,164,190,224,164,174,224,164,166,224,165,135,224,164,150,224,164,175,224,
-164,185,224,165,128,224,164,176,224,164,190,224,164,175,224,164,150,224,165,129,
-224,164,166,224,164,178,224,164,151,224,165,128,99,97,116,101,103,111,114,105,
-101,115,101,120,112,101,114,105,101,110,99,101,60,47,116,105,116,108,101,62,13,
-10,67,111,112,121,114,105,103,104,116,32,106,97,118,97,115,99,114,105,112,116,99
-,111,110,100,105,116,105,111,110,115,101,118,101,114,121,116,104,105,110,103,60,
-112,32,99,108,97,115,115,61,34,116,101,99,104,110,111,108,111,103,121,98,97,99,
-107,103,114,111,117,110,100,60,97,32,99,108,97,115,115,61,34,109,97,110,97,103,
-101,109,101,110,116,38,99,111,112,121,59,32,50,48,49,106,97,118,97,83,99,114,105
-,112,116,99,104,97,114,97,99,116,101,114,115,98,114,101,97,100,99,114,117,109,98
-,116,104,101,109,115,101,108,118,101,115,104,111,114,105,122,111,110,116,97,108,
-103,111,118,101,114,110,109,101,110,116,67,97,108,105,102,111,114,110,105,97,97,
-99,116,105,118,105,116,105,101,115,100,105,115,99,111,118,101,114,101,100,78,97,
-118,105,103,97,116,105,111,110,116,114,97,110,115,105,116,105,111,110,99,111,110
-,110,101,99,116,105,111,110,110,97,118,105,103,97,116,105,111,110,97,112,112,101
-,97,114,97,110,99,101,60,47,116,105,116,108,101,62,60,109,99,104,101,99,107,98,
-111,120,34,32,116,101,99,104,110,105,113,117,101,115,112,114,111,116,101,99,116,
-105,111,110,97,112,112,97,114,101,110,116,108,121,97,115,32,119,101,108,108,32,
-97,115,117,110,116,39,44,32,39,85,65,45,114,101,115,111,108,117,116,105,111,110,
-111,112,101,114,97,116,105,111,110,115,116,101,108,101,118,105,115,105,111,110,
-116,114,97,110,115,108,97,116,101,100,87,97,115,104,105,110,103,116,111,110,110,
-97,118,105,103,97,116,111,114,46,32,61,32,119,105,110,100,111,119,46,105,109,112
-,114,101,115,115,105,111,110,38,108,116,59,98,114,38,103,116,59,108,105,116,101,
-114,97,116,117,114,101,112,111,112,117,108,97,116,105,111,110,98,103,99,111,108,
-111,114,61,34,35,101,115,112,101,99,105,97,108,108,121,32,99,111,110,116,101,110
-,116,61,34,112,114,111,100,117,99,116,105,111,110,110,101,119,115,108,101,116,
-116,101,114,112,114,111,112,101,114,116,105,101,115,100,101,102,105,110,105,116,
-105,111,110,108,101,97,100,101,114,115,104,105,112,84,101,99,104,110,111,108,111
-,103,121,80,97,114,108,105,97,109,101,110,116,99,111,109,112,97,114,105,115,111,
-110,117,108,32,99,108,97,115,115,61,34,46,105,110,100,101,120,79,102,40,34,99,
-111,110,99,108,117,115,105,111,110,100,105,115,99,117,115,115,105,111,110,99,111
-,109,112,111,110,101,110,116,115,98,105,111,108,111,103,105,99,97,108,82,101,118
-,111,108,117,116,105,111,110,95,99,111,110,116,97,105,110,101,114,117,110,100,
-101,114,115,116,111,111,100,110,111,115,99,114,105,112,116,62,60,112,101,114,109
-,105,115,115,105,111,110,101,97,99,104,32,111,116,104,101,114,97,116,109,111,115
-,112,104,101,114,101,32,111,110,102,111,99,117,115,61,34,60,102,111,114,109,32,
-105,100,61,34,112,114,111,99,101,115,115,105,110,103,116,104,105,115,46,118,97,
-108,117,101,103,101,110,101,114,97,116,105,111,110,67,111,110,102,101,114,101,
-110,99,101,115,117,98,115,101,113,117,101,110,116,119,101,108,108,45,107,110,111
-,119,110,118,97,114,105,97,116,105,111,110,115,114,101,112,117,116,97,116,105,
-111,110,112,104,101,110,111,109,101,110,111,110,100,105,115,99,105,112,108,105,
-110,101,108,111,103,111,46,112,110,103,34,32,40,100,111,99,117,109,101,110,116,
-44,98,111,117,110,100,97,114,105,101,115,101,120,112,114,101,115,115,105,111,110
-,115,101,116,116,108,101,109,101,110,116,66,97,99,107,103,114,111,117,110,100,
-111,117,116,32,111,102,32,116,104,101,101,110,116,101,114,112,114,105,115,101,40
-,34,104,116,116,112,115,58,34,32,117,110,101,115,99,97,112,101,40,34,112,97,115,
-115,119,111,114,100,34,32,100,101,109,111,99,114,97,116,105,99,60,97,32,104,114,
-101,102,61,34,47,119,114,97,112,112,101,114,34,62,10,109,101,109,98,101,114,115,
-104,105,112,108,105,110,103,117,105,115,116,105,99,112,120,59,112,97,100,100,105
-,110,103,112,104,105,108,111,115,111,112,104,121,97,115,115,105,115,116,97,110,
-99,101,117,110,105,118,101,114,115,105,116,121,102,97,99,105,108,105,116,105,101
-,115,114,101,99,111,103,110,105,122,101,100,112,114,101,102,101,114,101,110,99,
-101,105,102,32,40,116,121,112,101,111,102,109,97,105,110,116,97,105,110,101,100,
-118,111,99,97,98,117,108,97,114,121,104,121,112,111,116,104,101,115,105,115,46,
-115,117,98,109,105,116,40,41,59,38,97,109,112,59,110,98,115,112,59,97,110,110,
-111,116,97,116,105,111,110,98,101,104,105,110,100,32,116,104,101,70,111,117,110,
-100,97,116,105,111,110,112,117,98,108,105,115,104,101,114,34,97,115,115,117,109,
-112,116,105,111,110,105,110,116,114,111,100,117,99,101,100,99,111,114,114,117,
-112,116,105,111,110,115,99,105,101,110,116,105,115,116,115,101,120,112,108,105,
-99,105,116,108,121,105,110,115,116,101,97,100,32,111,102,100,105,109,101,110,115
-,105,111,110,115,32,111,110,67,108,105,99,107,61,34,99,111,110,115,105,100,101,
-114,101,100,100,101,112,97,114,116,109,101,110,116,111,99,99,117,112,97,116,105,
-111,110,115,111,111,110,32,97,102,116,101,114,105,110,118,101,115,116,109,101,
-110,116,112,114,111,110,111,117,110,99,101,100,105,100,101,110,116,105,102,105,
-101,100,101,120,112,101,114,105,109,101,110,116,77,97,110,97,103,101,109,101,110
-,116,103,101,111,103,114,97,112,104,105,99,34,32,104,101,105,103,104,116,61,34,
-108,105,110,107,32,114,101,108,61,34,46,114,101,112,108,97,99,101,40,47,100,101,
-112,114,101,115,115,105,111,110,99,111,110,102,101,114,101,110,99,101,112,117,
-110,105,115,104,109,101,110,116,101,108,105,109,105,110,97,116,101,100,114,101,
-115,105,115,116,97,110,99,101,97,100,97,112,116,97,116,105,111,110,111,112,112,
-111,115,105,116,105,111,110,119,101,108,108,32,107,110,111,119,110,115,117,112,
-112,108,101,109,101,110,116,100,101,116,101,114,109,105,110,101,100,104,49,32,99
-,108,97,115,115,61,34,48,112,120,59,109,97,114,103,105,110,109,101,99,104,97,110
-,105,99,97,108,115,116,97,116,105,115,116,105,99,115,99,101,108,101,98,114,97,
-116,101,100,71,111,118,101,114,110,109,101,110,116,10,10,68,117,114,105,110,103,
-32,116,100,101,118,101,108,111,112,101,114,115,97,114,116,105,102,105,99,105,97,
-108,101,113,117,105,118,97,108,101,110,116,111,114,105,103,105,110,97,116,101,
-100,67,111,109,109,105,115,115,105,111,110,97,116,116,97,99,104,109,101,110,116,
-60,115,112,97,110,32,105,100,61,34,116,104,101,114,101,32,119,101,114,101,78,101
-,100,101,114,108,97,110,100,115,98,101,121,111,110,100,32,116,104,101,114,101,
-103,105,115,116,101,114,101,100,106,111,117,114,110,97,108,105,115,116,102,114,
-101,113,117,101,110,116,108,121,97,108,108,32,111,102,32,116,104,101,108,97,110,
-103,61,34,101,110,34,32,60,47,115,116,121,108,101,62,13,10,97,98,115,111,108,117
-,116,101,59,32,115,117,112,112,111,114,116,105,110,103,101,120,116,114,101,109,
-101,108,121,32,109,97,105,110,115,116,114,101,97,109,60,47,115,116,114,111,110,
-103,62,32,112,111,112,117,108,97,114,105,116,121,101,109,112,108,111,121,109,101
-,110,116,60,47,116,97,98,108,101,62,13,10,32,99,111,108,115,112,97,110,61,34,60,
-47,102,111,114,109,62,10,32,32,99,111,110,118,101,114,115,105,111,110,97,98,111,
-117,116,32,116,104,101,32,60,47,112,62,60,47,100,105,118,62,105,110,116,101,103,
-114,97,116,101,100,34,32,108,97,110,103,61,34,101,110,80,111,114,116,117,103,117
-,101,115,101,115,117,98,115,116,105,116,117,116,101,105,110,100,105,118,105,100,
-117,97,108,105,109,112,111,115,115,105,98,108,101,109,117,108,116,105,109,101,
-100,105,97,97,108,109,111,115,116,32,97,108,108,112,120,32,115,111,108,105,100,
-32,35,97,112,97,114,116,32,102,114,111,109,115,117,98,106,101,99,116,32,116,111,
-105,110,32,69,110,103,108,105,115,104,99,114,105,116,105,99,105,122,101,100,101,
-120,99,101,112,116,32,102,111,114,103,117,105,100,101,108,105,110,101,115,111,
-114,105,103,105,110,97,108,108,121,114,101,109,97,114,107,97,98,108,101,116,104,
-101,32,115,101,99,111,110,100,104,50,32,99,108,97,115,115,61,34,60,97,32,116,105
-,116,108,101,61,34,40,105,110,99,108,117,100,105,110,103,112,97,114,97,109,101,
-116,101,114,115,112,114,111,104,105,98,105,116,101,100,61,32,34,104,116,116,112,
-58,47,47,100,105,99,116,105,111,110,97,114,121,112,101,114,99,101,112,116,105,
-111,110,114,101,118,111,108,117,116,105,111,110,102,111,117,110,100,97,116,105,
-111,110,112,120,59,104,101,105,103,104,116,58,115,117,99,99,101,115,115,102,117,
-108,115,117,112,112,111,114,116,101,114,115,109,105,108,108,101,110,110,105,117,
-109,104,105,115,32,102,97,116,104,101,114,116,104,101,32,38,113,117,111,116,59,
-110,111,45,114,101,112,101,97,116,59,99,111,109,109,101,114,99,105,97,108,105,
-110,100,117,115,116,114,105,97,108,101,110,99,111,117,114,97,103,101,100,97,109,
-111,117,110,116,32,111,102,32,117,110,111,102,102,105,99,105,97,108,101,102,102,
-105,99,105,101,110,99,121,82,101,102,101,114,101,110,99,101,115,99,111,111,114,
-100,105,110,97,116,101,100,105,115,99,108,97,105,109,101,114,101,120,112,101,100
-,105,116,105,111,110,100,101,118,101,108,111,112,105,110,103,99,97,108,99,117,
-108,97,116,101,100,115,105,109,112,108,105,102,105,101,100,108,101,103,105,116,
-105,109,97,116,101,115,117,98,115,116,114,105,110,103,40,48,34,32,99,108,97,115,
-115,61,34,99,111,109,112,108,101,116,101,108,121,105,108,108,117,115,116,114,97,
-116,101,102,105,118,101,32,121,101,97,114,115,105,110,115,116,114,117,109,101,
-110,116,80,117,98,108,105,115,104,105,110,103,49,34,32,99,108,97,115,115,61,34,
-112,115,121,99,104,111,108,111,103,121,99,111,110,102,105,100,101,110,99,101,110
-,117,109,98,101,114,32,111,102,32,97,98,115,101,110,99,101,32,111,102,102,111,99
-,117,115,101,100,32,111,110,106,111,105,110,101,100,32,116,104,101,115,116,114,
-117,99,116,117,114,101,115,112,114,101,118,105,111,117,115,108,121,62,60,47,105,
-102,114,97,109,101,62,111,110,99,101,32,97,103,97,105,110,98,117,116,32,114,97,
-116,104,101,114,105,109,109,105,103,114,97,110,116,115,111,102,32,99,111,117,114
-,115,101,44,97,32,103,114,111,117,112,32,111,102,76,105,116,101,114,97,116,117,
-114,101,85,110,108,105,107,101,32,116,104,101,60,47,97,62,38,110,98,115,112,59,
-10,102,117,110,99,116,105,111,110,32,105,116,32,119,97,115,32,116,104,101,67,111
-,110,118,101,110,116,105,111,110,97,117,116,111,109,111,98,105,108,101,80,114,
-111,116,101,115,116,97,110,116,97,103,103,114,101,115,115,105,118,101,97,102,116
-,101,114,32,116,104,101,32,83,105,109,105,108,97,114,108,121,44,34,32,47,62,60,
-47,100,105,118,62,99,111,108,108,101,99,116,105,111,110,13,10,102,117,110,99,116
-,105,111,110,118,105,115,105,98,105,108,105,116,121,116,104,101,32,117,115,101,
-32,111,102,118,111,108,117,110,116,101,101,114,115,97,116,116,114,97,99,116,105,
-111,110,117,110,100,101,114,32,116,104,101,32,116,104,114,101,97,116,101,110,101
-,100,42,60,33,91,67,68,65,84,65,91,105,109,112,111,114,116,97,110,99,101,105,110
-,32,103,101,110,101,114,97,108,116,104,101,32,108,97,116,116,101,114,60,47,102,
-111,114,109,62,10,60,47,46,105,110,100,101,120,79,102,40,39,105,32,61,32,48,59,
-32,105,32,60,100,105,102,102,101,114,101,110,99,101,100,101,118,111,116,101,100,
-32,116,111,116,114,97,100,105,116,105,111,110,115,115,101,97,114,99,104,32,102,
-111,114,117,108,116,105,109,97,116,101,108,121,116,111,117,114,110,97,109,101,
-110,116,97,116,116,114,105,98,117,116,101,115,115,111,45,99,97,108,108,101,100,
-32,125,10,60,47,115,116,121,108,101,62,101,118,97,108,117,97,116,105,111,110,101
-,109,112,104,97,115,105,122,101,100,97,99,99,101,115,115,105,98,108,101,60,47,
-115,101,99,116,105,111,110,62,115,117,99,99,101,115,115,105,111,110,97,108,111,
-110,103,32,119,105,116,104,77,101,97,110,119,104,105,108,101,44,105,110,100,117,
-115,116,114,105,101,115,60,47,97,62,60,98,114,32,47,62,104,97,115,32,98,101,99,
-111,109,101,97,115,112,101,99,116,115,32,111,102,84,101,108,101,118,105,115,105,
-111,110,115,117,102,102,105,99,105,101,110,116,98,97,115,107,101,116,98,97,108,
-108,98,111,116,104,32,115,105,100,101,115,99,111,110,116,105,110,117,105,110,103
-,97,110,32,97,114,116,105,99,108,101,60,105,109,103,32,97,108,116,61,34,97,100,
-118,101,110,116,117,114,101,115,104,105,115,32,109,111,116,104,101,114,109,97,
-110,99,104,101,115,116,101,114,112,114,105,110,99,105,112,108,101,115,112,97,114
-,116,105,99,117,108,97,114,99,111,109,109,101,110,116,97,114,121,101,102,102,101
-,99,116,115,32,111,102,100,101,99,105,100,101,100,32,116,111,34,62,60,115,116,
-114,111,110,103,62,112,117,98,108,105,115,104,101,114,115,74,111,117,114,110,97,
-108,32,111,102,100,105,102,102,105,99,117,108,116,121,102,97,99,105,108,105,116,
-97,116,101,97,99,99,101,112,116,97,98,108,101,115,116,121,108,101,46,99,115,115,
-34,9,102,117,110,99,116,105,111,110,32,105,110,110,111,118,97,116,105,111,110,62
-,67,111,112,121,114,105,103,104,116,115,105,116,117,97,116,105,111,110,115,119,
-111,117,108,100,32,104,97,118,101,98,117,115,105,110,101,115,115,101,115,68,105,
-99,116,105,111,110,97,114,121,115,116,97,116,101,109,101,110,116,115,111,102,116
-,101,110,32,117,115,101,100,112,101,114,115,105,115,116,101,110,116,105,110,32,
-74,97,110,117,97,114,121,99,111,109,112,114,105,115,105,110,103,60,47,116,105,
-116,108,101,62,10,9,100,105,112,108,111,109,97,116,105,99,99,111,110,116,97,105,
-110,105,110,103,112,101,114,102,111,114,109,105,110,103,101,120,116,101,110,115,
-105,111,110,115,109,97,121,32,110,111,116,32,98,101,99,111,110,99,101,112,116,32
-,111,102,32,111,110,99,108,105,99,107,61,34,73,116,32,105,115,32,97,108,115,111,
-102,105,110,97,110,99,105,97,108,32,109,97,107,105,110,103,32,116,104,101,76,117
-,120,101,109,98,111,117,114,103,97,100,100,105,116,105,111,110,97,108,97,114,101
-,32,99,97,108,108,101,100,101,110,103,97,103,101,100,32,105,110,34,115,99,114,
-105,112,116,34,41,59,98,117,116,32,105,116,32,119,97,115,101,108,101,99,116,114,
-111,110,105,99,111,110,115,117,98,109,105,116,61,34,10,60,33,45,45,32,69,110,100
-,32,101,108,101,99,116,114,105,99,97,108,111,102,102,105,99,105,97,108,108,121,
-115,117,103,103,101,115,116,105,111,110,116,111,112,32,111,102,32,116,104,101,
-117,110,108,105,107,101,32,116,104,101,65,117,115,116,114,97,108,105,97,110,79,
-114,105,103,105,110,97,108,108,121,114,101,102,101,114,101,110,99,101,115,10,60,
-47,104,101,97,100,62,13,10,114,101,99,111,103,110,105,115,101,100,105,110,105,
-116,105,97,108,105,122,101,108,105,109,105,116,101,100,32,116,111,65,108,101,120
-,97,110,100,114,105,97,114,101,116,105,114,101,109,101,110,116,65,100,118,101,
-110,116,117,114,101,115,102,111,117,114,32,121,101,97,114,115,10,10,38,108,116,
-59,33,45,45,32,105,110,99,114,101,97,115,105,110,103,100,101,99,111,114,97,116,
-105,111,110,104,51,32,99,108,97,115,115,61,34,111,114,105,103,105,110,115,32,111
-,102,111,98,108,105,103,97,116,105,111,110,114,101,103,117,108,97,116,105,111,
-110,99,108,97,115,115,105,102,105,101,100,40,102,117,110,99,116,105,111,110,40,
-97,100,118,97,110,116,97,103,101,115,98,101,105,110,103,32,116,104,101,32,104,
-105,115,116,111,114,105,97,110,115,60,98,97,115,101,32,104,114,101,102,114,101,
-112,101,97,116,101,100,108,121,119,105,108,108,105,110,103,32,116,111,99,111,109
-,112,97,114,97,98,108,101,100,101,115,105,103,110,97,116,101,100,110,111,109,105
-,110,97,116,105,111,110,102,117,110,99,116,105,111,110,97,108,105,110,115,105,
-100,101,32,116,104,101,114,101,118,101,108,97,116,105,111,110,101,110,100,32,111
-,102,32,116,104,101,115,32,102,111,114,32,116,104,101,32,97,117,116,104,111,114,
-105,122,101,100,114,101,102,117,115,101,100,32,116,111,116,97,107,101,32,112,108
-,97,99,101,97,117,116,111,110,111,109,111,117,115,99,111,109,112,114,111,109,105
-,115,101,112,111,108,105,116,105,99,97,108,32,114,101,115,116,97,117,114,97,110,
-116,116,119,111,32,111,102,32,116,104,101,70,101,98,114,117,97,114,121,32,50,113
-,117,97,108,105,116,121,32,111,102,115,119,102,111,98,106,101,99,116,46,117,110,
-100,101,114,115,116,97,110,100,110,101,97,114,108,121,32,97,108,108,119,114,105,
-116,116,101,110,32,98,121,105,110,116,101,114,118,105,101,119,115,34,32,119,105,
-100,116,104,61,34,49,119,105,116,104,100,114,97,119,97,108,102,108,111,97,116,58
-,108,101,102,116,105,115,32,117,115,117,97,108,108,121,99,97,110,100,105,100,97,
-116,101,115,110,101,119,115,112,97,112,101,114,115,109,121,115,116,101,114,105,
-111,117,115,68,101,112,97,114,116,109,101,110,116,98,101,115,116,32,107,110,111,
-119,110,112,97,114,108,105,97,109,101,110,116,115,117,112,112,114,101,115,115,
-101,100,99,111,110,118,101,110,105,101,110,116,114,101,109,101,109,98,101,114,
-101,100,100,105,102,102,101,114,101,110,116,32,115,121,115,116,101,109,97,116,
-105,99,104,97,115,32,108,101,100,32,116,111,112,114,111,112,97,103,97,110,100,97
-,99,111,110,116,114,111,108,108,101,100,105,110,102,108,117,101,110,99,101,115,
-99,101,114,101,109,111,110,105,97,108,112,114,111,99,108,97,105,109,101,100,80,
-114,111,116,101,99,116,105,111,110,108,105,32,99,108,97,115,115,61,34,83,99,105,
-101,110,116,105,102,105,99,99,108,97,115,115,61,34,110,111,45,116,114,97,100,101
-,109,97,114,107,115,109,111,114,101,32,116,104,97,110,32,119,105,100,101,115,112
-,114,101,97,100,76,105,98,101,114,97,116,105,111,110,116,111,111,107,32,112,108,
-97,99,101,100,97,121,32,111,102,32,116,104,101,97,115,32,108,111,110,103,32,97,
-115,105,109,112,114,105,115,111,110,101,100,65,100,100,105,116,105,111,110,97,
-108,10,60,104,101,97,100,62,10,60,109,76,97,98,111,114,97,116,111,114,121,78,111
-,118,101,109,98,101,114,32,50,101,120,99,101,112,116,105,111,110,115,73,110,100,
-117,115,116,114,105,97,108,118,97,114,105,101,116,121,32,111,102,102,108,111,97,
-116,58,32,108,101,102,68,117,114,105,110,103,32,116,104,101,97,115,115,101,115,
-115,109,101,110,116,104,97,118,101,32,98,101,101,110,32,100,101,97,108,115,32,
-119,105,116,104,83,116,97,116,105,115,116,105,99,115,111,99,99,117,114,114,101,
-110,99,101,47,117,108,62,60,47,100,105,118,62,99,108,101,97,114,102,105,120,34,
-62,116,104,101,32,112,117,98,108,105,99,109,97,110,121,32,121,101,97,114,115,119
-,104,105,99,104,32,119,101,114,101,111,118,101,114,32,116,105,109,101,44,115,121
-,110,111,110,121,109,111,117,115,99,111,110,116,101,110,116,34,62,10,112,114,101
-,115,117,109,97,98,108,121,104,105,115,32,102,97,109,105,108,121,117,115,101,114
-,65,103,101,110,116,46,117,110,101,120,112,101,99,116,101,100,105,110,99,108,117
-,100,105,110,103,32,99,104,97,108,108,101,110,103,101,100,97,32,109,105,110,111,
-114,105,116,121,117,110,100,101,102,105,110,101,100,34,98,101,108,111,110,103,
-115,32,116,111,116,97,107,101,110,32,102,114,111,109,105,110,32,79,99,116,111,98
-,101,114,112,111,115,105,116,105,111,110,58,32,115,97,105,100,32,116,111,32,98,
-101,114,101,108,105,103,105,111,117,115,32,70,101,100,101,114,97,116,105,111,110
-,32,114,111,119,115,112,97,110,61,34,111,110,108,121,32,97,32,102,101,119,109,
-101,97,110,116,32,116,104,97,116,108,101,100,32,116,111,32,116,104,101,45,45,62,
-13,10,60,100,105,118,32,60,102,105,101,108,100,115,101,116,62,65,114,99,104,98,
-105,115,104,111,112,32,99,108,97,115,115,61,34,110,111,98,101,105,110,103,32,117
-,115,101,100,97,112,112,114,111,97,99,104,101,115,112,114,105,118,105,108,101,
-103,101,115,110,111,115,99,114,105,112,116,62,10,114,101,115,117,108,116,115,32,
-105,110,109,97,121,32,98,101,32,116,104,101,69,97,115,116,101,114,32,101,103,103
-,109,101,99,104,97,110,105,115,109,115,114,101,97,115,111,110,97,98,108,101,80,
-111,112,117,108,97,116,105,111,110,67,111,108,108,101,99,116,105,111,110,115,101
-,108,101,99,116,101,100,34,62,110,111,115,99,114,105,112,116,62,13,47,105,110,
-100,101,120,46,112,104,112,97,114,114,105,118,97,108,32,111,102,45,106,115,115,
-100,107,39,41,41,59,109,97,110,97,103,101,100,32,116,111,105,110,99,111,109,112,
-108,101,116,101,99,97,115,117,97,108,116,105,101,115,99,111,109,112,108,101,116,
-105,111,110,67,104,114,105,115,116,105,97,110,115,83,101,112,116,101,109,98,101,
-114,32,97,114,105,116,104,109,101,116,105,99,112,114,111,99,101,100,117,114,101,
-115,109,105,103,104,116,32,104,97,118,101,80,114,111,100,117,99,116,105,111,110,
-105,116,32,97,112,112,101,97,114,115,80,104,105,108,111,115,111,112,104,121,102,
-114,105,101,110,100,115,104,105,112,108,101,97,100,105,110,103,32,116,111,103,
-105,118,105,110,103,32,116,104,101,116,111,119,97,114,100,32,116,104,101,103,117
-,97,114,97,110,116,101,101,100,100,111,99,117,109,101,110,116,101,100,99,111,108
-,111,114,58,35,48,48,48,118,105,100,101,111,32,103,97,109,101,99,111,109,109,105
-,115,115,105,111,110,114,101,102,108,101,99,116,105,110,103,99,104,97,110,103,
-101,32,116,104,101,97,115,115,111,99,105,97,116,101,100,115,97,110,115,45,115,
-101,114,105,102,111,110,107,101,121,112,114,101,115,115,59,32,112,97,100,100,105
-,110,103,58,72,101,32,119,97,115,32,116,104,101,117,110,100,101,114,108,121,105,
-110,103,116,121,112,105,99,97,108,108,121,32,44,32,97,110,100,32,116,104,101,32,
-115,114,99,69,108,101,109,101,110,116,115,117,99,99,101,115,115,105,118,101,115,
-105,110,99,101,32,116,104,101,32,115,104,111,117,108,100,32,98,101,32,110,101,
-116,119,111,114,107,105,110,103,97,99,99,111,117,110,116,105,110,103,117,115,101
-,32,111,102,32,116,104,101,108,111,119,101,114,32,116,104,97,110,115,104,111,119
-,115,32,116,104,97,116,60,47,115,112,97,110,62,10,9,9,99,111,109,112,108,97,105,
-110,116,115,99,111,110,116,105,110,117,111,117,115,113,117,97,110,116,105,116,
-105,101,115,97,115,116,114,111,110,111,109,101,114,104,101,32,100,105,100,32,110
-,111,116,100,117,101,32,116,111,32,105,116,115,97,112,112,108,105,101,100,32,116
-,111,97,110,32,97,118,101,114,97,103,101,101,102,102,111,114,116,115,32,116,111,
-116,104,101,32,102,117,116,117,114,101,97,116,116,101,109,112,116,32,116,111,84,
-104,101,114,101,102,111,114,101,44,99,97,112,97,98,105,108,105,116,121,82,101,
-112,117,98,108,105,99,97,110,119,97,115,32,102,111,114,109,101,100,69,108,101,99
-,116,114,111,110,105,99,107,105,108,111,109,101,116,101,114,115,99,104,97,108,
-108,101,110,103,101,115,112,117,98,108,105,115,104,105,110,103,116,104,101,32,
-102,111,114,109,101,114,105,110,100,105,103,101,110,111,117,115,100,105,114,101,
-99,116,105,111,110,115,115,117,98,115,105,100,105,97,114,121,99,111,110,115,112,
-105,114,97,99,121,100,101,116,97,105,108,115,32,111,102,97,110,100,32,105,110,32
-,116,104,101,97,102,102,111,114,100,97,98,108,101,115,117,98,115,116,97,110,99,
-101,115,114,101,97,115,111,110,32,102,111,114,99,111,110,118,101,110,116,105,111
-,110,105,116,101,109,116,121,112,101,61,34,97,98,115,111,108,117,116,101,108,121
-,115,117,112,112,111,115,101,100,108,121,114,101,109,97,105,110,101,100,32,97,97
-,116,116,114,97,99,116,105,118,101,116,114,97,118,101,108,108,105,110,103,115,
-101,112,97,114,97,116,101,108,121,102,111,99,117,115,101,115,32,111,110,101,108,
-101,109,101,110,116,97,114,121,97,112,112,108,105,99,97,98,108,101,102,111,117,
-110,100,32,116,104,97,116,115,116,121,108,101,115,104,101,101,116,109,97,110,117
-,115,99,114,105,112,116,115,116,97,110,100,115,32,102,111,114,32,110,111,45,114,
-101,112,101,97,116,40,115,111,109,101,116,105,109,101,115,67,111,109,109,101,114
-,99,105,97,108,105,110,32,65,109,101,114,105,99,97,117,110,100,101,114,116,97,
-107,101,110,113,117,97,114,116,101,114,32,111,102,97,110,32,101,120,97,109,112,
-108,101,112,101,114,115,111,110,97,108,108,121,105,110,100,101,120,46,112,104,
-112,63,60,47,98,117,116,116,111,110,62,10,112,101,114,99,101,110,116,97,103,101,
-98,101,115,116,45,107,110,111,119,110,99,114,101,97,116,105,110,103,32,97,34,32,
-100,105,114,61,34,108,116,114,76,105,101,117,116,101,110,97,110,116,10,60,100,
-105,118,32,105,100,61,34,116,104,101,121,32,119,111,117,108,100,97,98,105,108,
-105,116,121,32,111,102,109,97,100,101,32,117,112,32,111,102,110,111,116,101,100,
-32,116,104,97,116,99,108,101,97,114,32,116,104,97,116,97,114,103,117,101,32,116,
-104,97,116,116,111,32,97,110,111,116,104,101,114,99,104,105,108,100,114,101,110,
-39,115,112,117,114,112,111,115,101,32,111,102,102,111,114,109,117,108,97,116,101
-,100,98,97,115,101,100,32,117,112,111,110,116,104,101,32,114,101,103,105,111,110
-,115,117,98,106,101,99,116,32,111,102,112,97,115,115,101,110,103,101,114,115,112
-,111,115,115,101,115,115,105,111,110,46,10,10,73,110,32,116,104,101,32,66,101,
-102,111,114,101,32,116,104,101,97,102,116,101,114,119,97,114,100,115,99,117,114,
-114,101,110,116,108,121,32,97,99,114,111,115,115,32,116,104,101,115,99,105,101,
-110,116,105,102,105,99,99,111,109,109,117,110,105,116,121,46,99,97,112,105,116,
-97,108,105,115,109,105,110,32,71,101,114,109,97,110,121,114,105,103,104,116,45,
-119,105,110,103,116,104,101,32,115,121,115,116,101,109,83,111,99,105,101,116,121
-,32,111,102,112,111,108,105,116,105,99,105,97,110,100,105,114,101,99,116,105,111
-,110,58,119,101,110,116,32,111,110,32,116,111,114,101,109,111,118,97,108,32,111,
-102,32,78,101,119,32,89,111,114,107,32,97,112,97,114,116,109,101,110,116,115,105
-,110,100,105,99,97,116,105,111,110,100,117,114,105,110,103,32,116,104,101,117,
-110,108,101,115,115,32,116,104,101,104,105,115,116,111,114,105,99,97,108,104,97,
-100,32,98,101,101,110,32,97,100,101,102,105,110,105,116,105,118,101,105,110,103,
-114,101,100,105,101,110,116,97,116,116,101,110,100,97,110,99,101,67,101,110,116,
-101,114,32,102,111,114,112,114,111,109,105,110,101,110,99,101,114,101,97,100,121
-,83,116,97,116,101,115,116,114,97,116,101,103,105,101,115,98,117,116,32,105,110,
-32,116,104,101,97,115,32,112,97,114,116,32,111,102,99,111,110,115,116,105,116,
-117,116,101,99,108,97,105,109,32,116,104,97,116,108,97,98,111,114,97,116,111,114
-,121,99,111,109,112,97,116,105,98,108,101,102,97,105,108,117,114,101,32,111,102,
-44,32,115,117,99,104,32,97,115,32,98,101,103,97,110,32,119,105,116,104,117,115,
-105,110,103,32,116,104,101,32,116,111,32,112,114,111,118,105,100,101,102,101,97,
-116,117,114,101,32,111,102,102,114,111,109,32,119,104,105,99,104,47,34,32,99,108
-,97,115,115,61,34,103,101,111,108,111,103,105,99,97,108,115,101,118,101,114,97,
-108,32,111,102,100,101,108,105,98,101,114,97,116,101,105,109,112,111,114,116,97,
-110,116,32,104,111,108,100,115,32,116,104,97,116,105,110,103,38,113,117,111,116,
-59,32,118,97,108,105,103,110,61,116,111,112,116,104,101,32,71,101,114,109,97,110
-,111,117,116,115,105,100,101,32,111,102,110,101,103,111,116,105,97,116,101,100,
-104,105,115,32,99,97,114,101,101,114,115,101,112,97,114,97,116,105,111,110,105,
-100,61,34,115,101,97,114,99,104,119,97,115,32,99,97,108,108,101,100,116,104,101,
-32,102,111,117,114,116,104,114,101,99,114,101,97,116,105,111,110,111,116,104,101
-,114,32,116,104,97,110,112,114,101,118,101,110,116,105,111,110,119,104,105,108,
-101,32,116,104,101,32,101,100,117,99,97,116,105,111,110,44,99,111,110,110,101,99
-,116,105,110,103,97,99,99,117,114,97,116,101,108,121,119,101,114,101,32,98,117,
-105,108,116,119,97,115,32,107,105,108,108,101,100,97,103,114,101,101,109,101,110
-,116,115,109,117,99,104,32,109,111,114,101,32,68,117,101,32,116,111,32,116,104,
-101,119,105,100,116,104,58,32,49,48,48,115,111,109,101,32,111,116,104,101,114,75
-,105,110,103,100,111,109,32,111,102,116,104,101,32,101,110,116,105,114,101,102,
-97,109,111,117,115,32,102,111,114,116,111,32,99,111,110,110,101,99,116,111,98,
-106,101,99,116,105,118,101,115,116,104,101,32,70,114,101,110,99,104,112,101,111,
-112,108,101,32,97,110,100,102,101,97,116,117,114,101,100,34,62,105,115,32,115,97
-,105,100,32,116,111,115,116,114,117,99,116,117,114,97,108,114,101,102,101,114,
-101,110,100,117,109,109,111,115,116,32,111,102,116,101,110,97,32,115,101,112,97,
-114,97,116,101,45,62,10,60,100,105,118,32,105,100,32,79,102,102,105,99,105,97,
-108,32,119,111,114,108,100,119,105,100,101,46,97,114,105,97,45,108,97,98,101,108
-,116,104,101,32,112,108,97,110,101,116,97,110,100,32,105,116,32,119,97,115,100,
-34,32,118,97,108,117,101,61,34,108,111,111,107,105,110,103,32,97,116,98,101,110,
-101,102,105,99,105,97,108,97,114,101,32,105,110,32,116,104,101,109,111,110,105,
-116,111,114,105,110,103,114,101,112,111,114,116,101,100,108,121,116,104,101,32,
-109,111,100,101,114,110,119,111,114,107,105,110,103,32,111,110,97,108,108,111,
-119,101,100,32,116,111,119,104,101,114,101,32,116,104,101,32,105,110,110,111,118
-,97,116,105,118,101,60,47,97,62,60,47,100,105,118,62,115,111,117,110,100,116,114
-,97,99,107,115,101,97,114,99,104,70,111,114,109,116,101,110,100,32,116,111,32,98
-,101,105,110,112,117,116,32,105,100,61,34,111,112,101,110,105,110,103,32,111,102
-,114,101,115,116,114,105,99,116,101,100,97,100,111,112,116,101,100,32,98,121,97,
-100,100,114,101,115,115,105,110,103,116,104,101,111,108,111,103,105,97,110,109,
-101,116,104,111,100,115,32,111,102,118,97,114,105,97,110,116,32,111,102,67,104,
-114,105,115,116,105,97,110,32,118,101,114,121,32,108,97,114,103,101,97,117,116,
-111,109,111,116,105,118,101,98,121,32,102,97,114,32,116,104,101,114,97,110,103,
-101,32,102,114,111,109,112,117,114,115,117,105,116,32,111,102,102,111,108,108,
-111,119,32,116,104,101,98,114,111,117,103,104,116,32,116,111,105,110,32,69,110,
-103,108,97,110,100,97,103,114,101,101,32,116,104,97,116,97,99,99,117,115,101,100
-,32,111,102,99,111,109,101,115,32,102,114,111,109,112,114,101,118,101,110,116,
-105,110,103,100,105,118,32,115,116,121,108,101,61,104,105,115,32,111,114,32,104,
-101,114,116,114,101,109,101,110,100,111,117,115,102,114,101,101,100,111,109,32,
-111,102,99,111,110,99,101,114,110,105,110,103,48,32,49,101,109,32,49,101,109,59,
-66,97,115,107,101,116,98,97,108,108,47,115,116,121,108,101,46,99,115,115,97,110,
-32,101,97,114,108,105,101,114,101,118,101,110,32,97,102,116,101,114,47,34,32,116
-,105,116,108,101,61,34,46,99,111,109,47,105,110,100,101,120,116,97,107,105,110,
-103,32,116,104,101,112,105,116,116,115,98,117,114,103,104,99,111,110,116,101,110
-,116,34,62,13,60,115,99,114,105,112,116,62,40,102,116,117,114,110,101,100,32,111
-,117,116,104,97,118,105,110,103,32,116,104,101,60,47,115,112,97,110,62,13,10,32,
-111,99,99,97,115,105,111,110,97,108,98,101,99,97,117,115,101,32,105,116,115,116,
-97,114,116,101,100,32,116,111,112,104,121,115,105,99,97,108,108,121,62,60,47,100
-,105,118,62,10,32,32,99,114,101,97,116,101,100,32,98,121,67,117,114,114,101,110,
-116,108,121,44,32,98,103,99,111,108,111,114,61,34,116,97,98,105,110,100,101,120,
-61,34,100,105,115,97,115,116,114,111,117,115,65,110,97,108,121,116,105,99,115,32
-,97,108,115,111,32,104,97,115,32,97,62,60,100,105,118,32,105,100,61,34,60,47,115
-,116,121,108,101,62,10,60,99,97,108,108,101,100,32,102,111,114,115,105,110,103,
-101,114,32,97,110,100,46,115,114,99,32,61,32,34,47,47,118,105,111,108,97,116,105
-,111,110,115,116,104,105,115,32,112,111,105,110,116,99,111,110,115,116,97,110,
-116,108,121,105,115,32,108,111,99,97,116,101,100,114,101,99,111,114,100,105,110,
-103,115,100,32,102,114,111,109,32,116,104,101,110,101,100,101,114,108,97,110,100
-,115,112,111,114,116,117,103,117,195,170,115,215,162,215,145,215,168,215,153,215
-,170,217,129,216,167,216,177,216,179,219,140,100,101,115,97,114,114,111,108,108,
-111,99,111,109,101,110,116,97,114,105,111,101,100,117,99,97,99,105,195,179,110,
-115,101,112,116,105,101,109,98,114,101,114,101,103,105,115,116,114,97,100,111,
-100,105,114,101,99,99,105,195,179,110,117,98,105,99,97,99,105,195,179,110,112,
-117,98,108,105,99,105,100,97,100,114,101,115,112,117,101,115,116,97,115,114,101,
-115,117,108,116,97,100,111,115,105,109,112,111,114,116,97,110,116,101,114,101,
-115,101,114,118,97,100,111,115,97,114,116,195,173,99,117,108,111,115,100,105,102
-,101,114,101,110,116,101,115,115,105,103,117,105,101,110,116,101,115,114,101,112
-,195,186,98,108,105,99,97,115,105,116,117,97,99,105,195,179,110,109,105,110,105,
-115,116,101,114,105,111,112,114,105,118,97,99,105,100,97,100,100,105,114,101,99,
-116,111,114,105,111,102,111,114,109,97,99,105,195,179,110,112,111,98,108,97,99,
-105,195,179,110,112,114,101,115,105,100,101,110,116,101,99,111,110,116,101,110,
-105,100,111,115,97,99,99,101,115,111,114,105,111,115,116,101,99,104,110,111,114,
-97,116,105,112,101,114,115,111,110,97,108,101,115,99,97,116,101,103,111,114,195,
-173,97,101,115,112,101,99,105,97,108,101,115,100,105,115,112,111,110,105,98,108,
-101,97,99,116,117,97,108,105,100,97,100,114,101,102,101,114,101,110,99,105,97,
-118,97,108,108,97,100,111,108,105,100,98,105,98,108,105,111,116,101,99,97,114,
-101,108,97,99,105,111,110,101,115,99,97,108,101,110,100,97,114,105,111,112,111,
-108,195,173,116,105,99,97,115,97,110,116,101,114,105,111,114,101,115,100,111,99,
-117,109,101,110,116,111,115,110,97,116,117,114,97,108,101,122,97,109,97,116,101,
-114,105,97,108,101,115,100,105,102,101,114,101,110,99,105,97,101,99,111,110,195,
-179,109,105,99,97,116,114,97,110,115,112,111,114,116,101,114,111,100,114,195,173
-,103,117,101,122,112,97,114,116,105,99,105,112,97,114,101,110,99,117,101,110,116
-,114,97,110,100,105,115,99,117,115,105,195,179,110,101,115,116,114,117,99,116,
-117,114,97,102,117,110,100,97,99,105,195,179,110,102,114,101,99,117,101,110,116,
-101,115,112,101,114,109,97,110,101,110,116,101,116,111,116,97,108,109,101,110,
-116,101,208,188,208,190,208,182,208,189,208,190,208,177,209,131,208,180,208,181,
-209,130,208,188,208,190,208,182,208,181,209,130,208,178,209,128,208,181,208,188,
-209,143,209,130,208,176,208,186,208,182,208,181,209,135,209,130,208,190,208,177,
-209,139,208,177,208,190,208,187,208,181,208,181,208,190,209,135,208,181,208,189,
-209,140,209,141,209,130,208,190,208,179,208,190,208,186,208,190,208,179,208,180,
-208,176,208,191,208,190,209,129,208,187,208,181,208,178,209,129,208,181,208,179,
-208,190,209,129,208,176,208,185,209,130,208,181,209,135,208,181,209,128,208,181,
-208,183,208,188,208,190,208,179,209,131,209,130,209,129,208,176,208,185,209,130,
-208,176,208,182,208,184,208,183,208,189,208,184,208,188,208,181,208,182,208,180,
-209,131,208,177,209,131,208,180,209,131,209,130,208,159,208,190,208,184,209,129,
-208,186,208,183,208,180,208,181,209,129,209,140,208,178,208,184,208,180,208,181,
-208,190,209,129,208,178,209,143,208,183,208,184,208,189,209,131,208,182,208,189,
-208,190,209,129,208,178,208,190,208,181,208,185,208,187,209,142,208,180,208,181,
-208,185,208,191,208,190,209,128,208,189,208,190,208,188,208,189,208,190,208,179,
-208,190,208,180,208,181,209,130,208,181,208,185,209,129,208,178,208,190,208,184,
-209,133,208,191,209,128,208,176,208,178,208,176,209,130,208,176,208,186,208,190,
-208,185,208,188,208,181,209,129,209,130,208,190,208,184,208,188,208,181,208,181,
-209,130,208,182,208,184,208,183,208,189,209,140,208,190,208,180,208,189,208,190,
-208,185,208,187,209,131,209,135,209,136,208,181,208,191,208,181,209,128,208,181,
-208,180,209,135,208,176,209,129,209,130,208,184,209,135,208,176,209,129,209,130,
-209,140,209,128,208,176,208,177,208,190,209,130,208,189,208,190,208,178,209,139,
-209,133,208,191,209,128,208,176,208,178,208,190,209,129,208,190,208,177,208,190,
-208,185,208,191,208,190,209,130,208,190,208,188,208,188,208,181,208,189,208,181,
-208,181,209,135,208,184,209,129,208,187,208,181,208,189,208,190,208,178,209,139,
-208,181,209,131,209,129,208,187,209,131,208,179,208,190,208,186,208,190,208,187,
-208,190,208,189,208,176,208,183,208,176,208,180,209,130,208,176,208,186,208,190,
-208,181,209,130,208,190,208,179,208,180,208,176,208,191,208,190,209,135,209,130,
-208,184,208,159,208,190,209,129,208,187,208,181,209,130,208,176,208,186,208,184,
-208,181,208,189,208,190,208,178,209,139,208,185,209,129,209,130,208,190,208,184,
-209,130,209,130,208,176,208,186,208,184,209,133,209,129,209,128,208,176,208,183,
-209,131,208,161,208,176,208,189,208,186,209,130,209,132,208,190,209,128,209,131,
-208,188,208,154,208,190,208,179,208,180,208,176,208,186,208,189,208,184,208,179,
-208,184,209,129,208,187,208,190,208,178,208,176,208,189,208,176,209,136,208,181,
-208,185,208,189,208,176,208,185,209,130,208,184,209,129,208,178,208,190,208,184,
-208,188,209,129,208,178,209,143,208,183,209,140,208,187,209,142,208,177,208,190,
-208,185,209,135,208,176,209,129,209,130,208,190,209,129,209,128,208,181,208,180,
-208,184,208,154,209,128,208,190,208,188,208,181,208,164,208,190,209,128,209,131,
-208,188,209,128,209,139,208,189,208,186,208,181,209,129,209,130,208,176,208,187,
-208,184,208,191,208,190,208,184,209,129,208,186,209,130,209,139,209,129,209,143,
-209,135,208,188,208,181,209,129,209,143,209,134,209,134,208,181,208,189,209,130,
-209,128,209,130,209,128,209,131,208,180,208,176,209,129,208,176,208,188,209,139,
-209,133,209,128,209,139,208,189,208,186,208,176,208,157,208,190,208,178,209,139,
-208,185,209,135,208,176,209,129,208,190,208,178,208,188,208,181,209,129,209,130,
-208,176,209,132,208,184,208,187,209,140,208,188,208,188,208,176,209,128,209,130,
-208,176,209,129,209,130,209,128,208,176,208,189,208,188,208,181,209,129,209,130,
-208,181,209,130,208,181,208,186,209,129,209,130,208,189,208,176,209,136,208,184,
-209,133,208,188,208,184,208,189,209,131,209,130,208,184,208,188,208,181,208,189,
-208,184,208,184,208,188,208,181,209,142,209,130,208,189,208,190,208,188,208,181,
-209,128,208,179,208,190,209,128,208,190,208,180,209,129,208,176,208,188,208,190,
-208,188,209,141,209,130,208,190,208,188,209,131,208,186,208,190,208,189,209,134,
-208,181,209,129,208,178,208,190,208,181,208,188,208,186,208,176,208,186,208,190,
-208,185,208,144,209,128,209,133,208,184,208,178,217,133,217,134,216,170,216,175,
-217,137,216,165,216,177,216,179,216,167,217,132,216,177,216,179,216,167,217,132,
-216,169,216,167,217,132,216,185,216,167,217,133,217,131,216,170,216,168,217,135,
-216,167,216,168,216,177,216,167,217,133,216,172,216,167,217,132,217,138,217,136,
-217,133,216,167,217,132,216,181,217,136,216,177,216,172,216,175,217,138,216,175,
-216,169,216,167,217,132,216,185,216,182,217,136,216,165,216,182,216,167,217,129,
-216,169,216,167,217,132,217,130,216,179,217,133,216,167,217,132,216,185,216,167,
-216,168,216,170,216,173,217,133,217,138,217,132,217,133,217,132,217,129,216,167,
-216,170,217,133,217,132,216,170,217,130,217,137,216,170,216,185,216,175,217,138,
-217,132,216,167,217,132,216,180,216,185,216,177,216,163,216,174,216,168,216,167,
-216,177,216,170,216,183,217,136,217,138,216,177,216,185,217,132,217,138,217,131,
-217,133,216,165,216,177,217,129,216,167,217,130,216,183,217,132,216,168,216,167,
-216,170,216,167,217,132,217,132,216,186,216,169,216,170,216,177,216,170,217,138,
-216,168,216,167,217,132,217,134,216,167,216,179,216,167,217,132,216,180,217,138,
-216,174,217,133,217,134,216,170,216,175,217,138,216,167,217,132,216,185,216,177,
-216,168,216,167,217,132,217,130,216,181,216,181,216,167,217,129,217,132,216,167,
-217,133,216,185,217,132,217,138,217,135,216,167,216,170,216,173,216,175,217,138,
-216,171,216,167,217,132,217,132,217,135,217,133,216,167,217,132,216,185,217,133,
-217,132,217,133,217,131,216,170,216,168,216,169,217,138,217,133,217,131,217,134,
-217,131,216,167,217,132,216,183,217,129,217,132,217,129,217,138,216,175,217,138,
-217,136,216,165,216,175,216,167,216,177,216,169,216,170,216,167,216,177,217,138,
-216,174,216,167,217,132,216,181,216,173,216,169,216,170,216,179,216,172,217,138,
-217,132,216,167,217,132,217,136,217,130,216,170,216,185,217,134,216,175,217,133,
-216,167,217,133,216,175,217,138,217,134,216,169,216,170,216,181,217,133,217,138,
-217,133,216,163,216,177,216,180,217,138,217,129,216,167,217,132,216,176,217,138,
-217,134,216,185,216,177,216,168,217,138,216,169,216,168,217,136,216,167,216,168,
-216,169,216,163,217,132,216,185,216,167,216,168,216,167,217,132,216,179,217,129,
-216,177,217,133,216,180,216,167,217,131,217,132,216,170,216,185,216,167,217,132,
-217,137,216,167,217,132,216,163,217,136,217,132,216,167,217,132,216,179,217,134,
-216,169,216,172,216,167,217,133,216,185,216,169,216,167,217,132,216,181,216,173,
-217,129,216,167,217,132,216,175,217,138,217,134,217,131,217,132,217,133,216,167,
-216,170,216,167,217,132,216,174,216,167,216,181,216,167,217,132,217,133,217,132,
-217,129,216,163,216,185,216,182,216,167,216,161,217,131,216,170,216,167,216,168,
-216,169,216,167,217,132,216,174,217,138,216,177,216,177,216,179,216,167,216,166,
-217,132,216,167,217,132,217,130,217,132,216,168,216,167,217,132,216,163,216,175,
-216,168,217,133,217,130,216,167,216,183,216,185,217,133,216,177,216,167,216,179,
-217,132,217,133,217,134,216,183,217,130,216,169,216,167,217,132,217,131,216,170,
-216,168,216,167,217,132,216,177,216,172,217,132,216,167,216,180,216,170,216,177,
-217,131,216,167,217,132,217,130,216,175,217,133,217,138,216,185,216,183,217,138,
-217,131,115,66,121,84,97,103,78,97,109,101,40,46,106,112,103,34,32,97,108,116,61
-,34,49,112,120,32,115,111,108,105,100,32,35,46,103,105,102,34,32,97,108,116,61,
-34,116,114,97,110,115,112,97,114,101,110,116,105,110,102,111,114,109,97,116,105,
-111,110,97,112,112,108,105,99,97,116,105,111,110,34,32,111,110,99,108,105,99,107
-,61,34,101,115,116,97,98,108,105,115,104,101,100,97,100,118,101,114,116,105,115,
-105,110,103,46,112,110,103,34,32,97,108,116,61,34,101,110,118,105,114,111,110,
-109,101,110,116,112,101,114,102,111,114,109,97,110,99,101,97,112,112,114,111,112
-,114,105,97,116,101,38,97,109,112,59,109,100,97,115,104,59,105,109,109,101,100,
-105,97,116,101,108,121,60,47,115,116,114,111,110,103,62,60,47,114,97,116,104,101
-,114,32,116,104,97,110,116,101,109,112,101,114,97,116,117,114,101,100,101,118,
-101,108,111,112,109,101,110,116,99,111,109,112,101,116,105,116,105,111,110,112,
-108,97,99,101,104,111,108,100,101,114,118,105,115,105,98,105,108,105,116,121,58,
-99,111,112,121,114,105,103,104,116,34,62,48,34,32,104,101,105,103,104,116,61,34,
-101,118,101,110,32,116,104,111,117,103,104,114,101,112,108,97,99,101,109,101,110
-,116,100,101,115,116,105,110,97,116,105,111,110,67,111,114,112,111,114,97,116,
-105,111,110,60,117,108,32,99,108,97,115,115,61,34,65,115,115,111,99,105,97,116,
-105,111,110,105,110,100,105,118,105,100,117,97,108,115,112,101,114,115,112,101,
-99,116,105,118,101,115,101,116,84,105,109,101,111,117,116,40,117,114,108,40,104,
-116,116,112,58,47,47,109,97,116,104,101,109,97,116,105,99,115,109,97,114,103,105
-,110,45,116,111,112,58,101,118,101,110,116,117,97,108,108,121,32,100,101,115,99,
-114,105,112,116,105,111,110,41,32,110,111,45,114,101,112,101,97,116,99,111,108,
-108,101,99,116,105,111,110,115,46,74,80,71,124,116,104,117,109,98,124,112,97,114
-,116,105,99,105,112,97,116,101,47,104,101,97,100,62,60,98,111,100,121,102,108,
-111,97,116,58,108,101,102,116,59,60,108,105,32,99,108,97,115,115,61,34,104,117,
-110,100,114,101,100,115,32,111,102,10,10,72,111,119,101,118,101,114,44,32,99,111
-,109,112,111,115,105,116,105,111,110,99,108,101,97,114,58,98,111,116,104,59,99,
-111,111,112,101,114,97,116,105,111,110,119,105,116,104,105,110,32,116,104,101,32
-,108,97,98,101,108,32,102,111,114,61,34,98,111,114,100,101,114,45,116,111,112,58
-,78,101,119,32,90,101,97,108,97,110,100,114,101,99,111,109,109,101,110,100,101,
-100,112,104,111,116,111,103,114,97,112,104,121,105,110,116,101,114,101,115,116,
-105,110,103,38,108,116,59,115,117,112,38,103,116,59,99,111,110,116,114,111,118,
-101,114,115,121,78,101,116,104,101,114,108,97,110,100,115,97,108,116,101,114,110
-,97,116,105,118,101,109,97,120,108,101,110,103,116,104,61,34,115,119,105,116,122
-,101,114,108,97,110,100,68,101,118,101,108,111,112,109,101,110,116,101,115,115,
-101,110,116,105,97,108,108,121,10,10,65,108,116,104,111,117,103,104,32,60,47,116
-,101,120,116,97,114,101,97,62,116,104,117,110,100,101,114,98,105,114,100,114,101
-,112,114,101,115,101,110,116,101,100,38,97,109,112,59,110,100,97,115,104,59,115,
-112,101,99,117,108,97,116,105,111,110,99,111,109,109,117,110,105,116,105,101,115
-,108,101,103,105,115,108,97,116,105,111,110,101,108,101,99,116,114,111,110,105,
-99,115,10,9,60,100,105,118,32,105,100,61,34,105,108,108,117,115,116,114,97,116,
-101,100,101,110,103,105,110,101,101,114,105,110,103,116,101,114,114,105,116,111,
-114,105,101,115,97,117,116,104,111,114,105,116,105,101,115,100,105,115,116,114,
-105,98,117,116,101,100,54,34,32,104,101,105,103,104,116,61,34,115,97,110,115,45,
-115,101,114,105,102,59,99,97,112,97,98,108,101,32,111,102,32,100,105,115,97,112,
-112,101,97,114,101,100,105,110,116,101,114,97,99,116,105,118,101,108,111,111,107
-,105,110,103,32,102,111,114,105,116,32,119,111,117,108,100,32,98,101,65,102,103,
-104,97,110,105,115,116,97,110,119,97,115,32,99,114,101,97,116,101,100,77,97,116,
-104,46,102,108,111,111,114,40,115,117,114,114,111,117,110,100,105,110,103,99,97,
-110,32,97,108,115,111,32,98,101,111,98,115,101,114,118,97,116,105,111,110,109,97
-,105,110,116,101,110,97,110,99,101,101,110,99,111,117,110,116,101,114,101,100,60
-,104,50,32,99,108,97,115,115,61,34,109,111,114,101,32,114,101,99,101,110,116,105
-,116,32,104,97,115,32,98,101,101,110,105,110,118,97,115,105,111,110,32,111,102,
-41,46,103,101,116,84,105,109,101,40,41,102,117,110,100,97,109,101,110,116,97,108
-,68,101,115,112,105,116,101,32,116,104,101,34,62,60,100,105,118,32,105,100,61,34
-,105,110,115,112,105,114,97,116,105,111,110,101,120,97,109,105,110,97,116,105,
-111,110,112,114,101,112,97,114,97,116,105,111,110,101,120,112,108,97,110,97,116,
-105,111,110,60,105,110,112,117,116,32,105,100,61,34,60,47,97,62,60,47,115,112,97
-,110,62,118,101,114,115,105,111,110,115,32,111,102,105,110,115,116,114,117,109,
-101,110,116,115,98,101,102,111,114,101,32,116,104,101,32,32,61,32,39,104,116,116
-,112,58,47,47,68,101,115,99,114,105,112,116,105,111,110,114,101,108,97,116,105,
-118,101,108,121,32,46,115,117,98,115,116,114,105,110,103,40,101,97,99,104,32,111
-,102,32,116,104,101,101,120,112,101,114,105,109,101,110,116,115,105,110,102,108,
-117,101,110,116,105,97,108,105,110,116,101,103,114,97,116,105,111,110,109,97,110
-,121,32,112,101,111,112,108,101,100,117,101,32,116,111,32,116,104,101,32,99,111,
-109,98,105,110,97,116,105,111,110,100,111,32,110,111,116,32,104,97,118,101,77,
-105,100,100,108,101,32,69,97,115,116,60,110,111,115,99,114,105,112,116,62,60,99,
-111,112,121,114,105,103,104,116,34,32,112,101,114,104,97,112,115,32,116,104,101,
-105,110,115,116,105,116,117,116,105,111,110,105,110,32,68,101,99,101,109,98,101,
-114,97,114,114,97,110,103,101,109,101,110,116,109,111,115,116,32,102,97,109,111,
-117,115,112,101,114,115,111,110,97,108,105,116,121,99,114,101,97,116,105,111,110
-,32,111,102,108,105,109,105,116,97,116,105,111,110,115,101,120,99,108,117,115,
-105,118,101,108,121,115,111,118,101,114,101,105,103,110,116,121,45,99,111,110,
-116,101,110,116,34,62,10,60,116,100,32,99,108,97,115,115,61,34,117,110,100,101,
-114,103,114,111,117,110,100,112,97,114,97,108,108,101,108,32,116,111,100,111,99,
-116,114,105,110,101,32,111,102,111,99,99,117,112,105,101,100,32,98,121,116,101,
-114,109,105,110,111,108,111,103,121,82,101,110,97,105,115,115,97,110,99,101,97,
-32,110,117,109,98,101,114,32,111,102,115,117,112,112,111,114,116,32,102,111,114,
-101,120,112,108,111,114,97,116,105,111,110,114,101,99,111,103,110,105,116,105,
-111,110,112,114,101,100,101,99,101,115,115,111,114,60,105,109,103,32,115,114,99,
-61,34,47,60,104,49,32,99,108,97,115,115,61,34,112,117,98,108,105,99,97,116,105,
-111,110,109,97,121,32,97,108,115,111,32,98,101,115,112,101,99,105,97,108,105,122
-,101,100,60,47,102,105,101,108,100,115,101,116,62,112,114,111,103,114,101,115,
-115,105,118,101,109,105,108,108,105,111,110,115,32,111,102,115,116,97,116,101,
-115,32,116,104,97,116,101,110,102,111,114,99,101,109,101,110,116,97,114,111,117,
-110,100,32,116,104,101,32,111,110,101,32,97,110,111,116,104,101,114,46,112,97,
-114,101,110,116,78,111,100,101,97,103,114,105,99,117,108,116,117,114,101,65,108,
-116,101,114,110,97,116,105,118,101,114,101,115,101,97,114,99,104,101,114,115,116
-,111,119,97,114,100,115,32,116,104,101,77,111,115,116,32,111,102,32,116,104,101,
-109,97,110,121,32,111,116,104,101,114,32,40,101,115,112,101,99,105,97,108,108,
-121,60,116,100,32,119,105,100,116,104,61,34,59,119,105,100,116,104,58,49,48,48,
-37,105,110,100,101,112,101,110,100,101,110,116,60,104,51,32,99,108,97,115,115,61
-,34,32,111,110,99,104,97,110,103,101,61,34,41,46,97,100,100,67,108,97,115,115,40
-,105,110,116,101,114,97,99,116,105,111,110,79,110,101,32,111,102,32,116,104,101,
-32,100,97,117,103,104,116,101,114,32,111,102,97,99,99,101,115,115,111,114,105,
-101,115,98,114,97,110,99,104,101,115,32,111,102,13,10,60,100,105,118,32,105,100,
-61,34,116,104,101,32,108,97,114,103,101,115,116,100,101,99,108,97,114,97,116,105
-,111,110,114,101,103,117,108,97,116,105,111,110,115,73,110,102,111,114,109,97,
-116,105,111,110,116,114,97,110,115,108,97,116,105,111,110,100,111,99,117,109,101
-,110,116,97,114,121,105,110,32,111,114,100,101,114,32,116,111,34,62,10,60,104,
-101,97,100,62,10,60,34,32,104,101,105,103,104,116,61,34,49,97,99,114,111,115,115
-,32,116,104,101,32,111,114,105,101,110,116,97,116,105,111,110,41,59,60,47,115,99
-,114,105,112,116,62,105,109,112,108,101,109,101,110,116,101,100,99,97,110,32,98,
-101,32,115,101,101,110,116,104,101,114,101,32,119,97,115,32,97,100,101,109,111,
-110,115,116,114,97,116,101,99,111,110,116,97,105,110,101,114,34,62,99,111,110,
-110,101,99,116,105,111,110,115,116,104,101,32,66,114,105,116,105,115,104,119,97,
-115,32,119,114,105,116,116,101,110,33,105,109,112,111,114,116,97,110,116,59,112,
-120,59,32,109,97,114,103,105,110,45,102,111,108,108,111,119,101,100,32,98,121,97
-,98,105,108,105,116,121,32,116,111,32,99,111,109,112,108,105,99,97,116,101,100,
-100,117,114,105,110,103,32,116,104,101,32,105,109,109,105,103,114,97,116,105,111
-,110,97,108,115,111,32,99,97,108,108,101,100,60,104,52,32,99,108,97,115,115,61,
-34,100,105,115,116,105,110,99,116,105,111,110,114,101,112,108,97,99,101,100,32,
-98,121,103,111,118,101,114,110,109,101,110,116,115,108,111,99,97,116,105,111,110
-,32,111,102,105,110,32,78,111,118,101,109,98,101,114,119,104,101,116,104,101,114
-,32,116,104,101,60,47,112,62,10,60,47,100,105,118,62,97,99,113,117,105,115,105,
-116,105,111,110,99,97,108,108,101,100,32,116,104,101,32,112,101,114,115,101,99,
-117,116,105,111,110,100,101,115,105,103,110,97,116,105,111,110,123,102,111,110,
-116,45,115,105,122,101,58,97,112,112,101,97,114,101,100,32,105,110,105,110,118,
-101,115,116,105,103,97,116,101,101,120,112,101,114,105,101,110,99,101,100,109,
-111,115,116,32,108,105,107,101,108,121,119,105,100,101,108,121,32,117,115,101,
-100,100,105,115,99,117,115,115,105,111,110,115,112,114,101,115,101,110,99,101,32
-,111,102,32,40,100,111,99,117,109,101,110,116,46,101,120,116,101,110,115,105,118
-,101,108,121,73,116,32,104,97,115,32,98,101,101,110,105,116,32,100,111,101,115,
-32,110,111,116,99,111,110,116,114,97,114,121,32,116,111,105,110,104,97,98,105,
-116,97,110,116,115,105,109,112,114,111,118,101,109,101,110,116,115,99,104,111,
-108,97,114,115,104,105,112,99,111,110,115,117,109,112,116,105,111,110,105,110,
-115,116,114,117,99,116,105,111,110,102,111,114,32,101,120,97,109,112,108,101,111
-,110,101,32,111,114,32,109,111,114,101,112,120,59,32,112,97,100,100,105,110,103,
-116,104,101,32,99,117,114,114,101,110,116,97,32,115,101,114,105,101,115,32,111,
-102,97,114,101,32,117,115,117,97,108,108,121,114,111,108,101,32,105,110,32,116,
-104,101,112,114,101,118,105,111,117,115,108,121,32,100,101,114,105,118,97,116,
-105,118,101,115,101,118,105,100,101,110,99,101,32,111,102,101,120,112,101,114,
-105,101,110,99,101,115,99,111,108,111,114,115,99,104,101,109,101,115,116,97,116,
-101,100,32,116,104,97,116,99,101,114,116,105,102,105,99,97,116,101,60,47,97,62,
-60,47,100,105,118,62,10,32,115,101,108,101,99,116,101,100,61,34,104,105,103,104,
-32,115,99,104,111,111,108,114,101,115,112,111,110,115,101,32,116,111,99,111,109,
-102,111,114,116,97,98,108,101,97,100,111,112,116,105,111,110,32,111,102,116,104,
-114,101,101,32,121,101,97,114,115,116,104,101,32,99,111,117,110,116,114,121,105,
-110,32,70,101,98,114,117,97,114,121,115,111,32,116,104,97,116,32,116,104,101,112
-,101,111,112,108,101,32,119,104,111,32,112,114,111,118,105,100,101,100,32,98,121
-,60,112,97,114,97,109,32,110,97,109,101,97,102,102,101,99,116,101,100,32,98,121,
-105,110,32,116,101,114,109,115,32,111,102,97,112,112,111,105,110,116,109,101,110
-,116,73,83,79,45,56,56,53,57,45,49,34,119,97,115,32,98,111,114,110,32,105,110,
-104,105,115,116,111,114,105,99,97,108,32,114,101,103,97,114,100,101,100,32,97,
-115,109,101,97,115,117,114,101,109,101,110,116,105,115,32,98,97,115,101,100,32,
-111,110,32,97,110,100,32,111,116,104,101,114,32,58,32,102,117,110,99,116,105,111
-,110,40,115,105,103,110,105,102,105,99,97,110,116,99,101,108,101,98,114,97,116,
-105,111,110,116,114,97,110,115,109,105,116,116,101,100,47,106,115,47,106,113,117
-,101,114,121,46,105,115,32,107,110,111,119,110,32,97,115,116,104,101,111,114,101
-,116,105,99,97,108,32,116,97,98,105,110,100,101,120,61,34,105,116,32,99,111,117,
-108,100,32,98,101,60,110,111,115,99,114,105,112,116,62,10,104,97,118,105,110,103
-,32,98,101,101,110,13,10,60,104,101,97,100,62,13,10,60,32,38,113,117,111,116,59,
-84,104,101,32,99,111,109,112,105,108,97,116,105,111,110,104,101,32,104,97,100,32
-,98,101,101,110,112,114,111,100,117,99,101,100,32,98,121,112,104,105,108,111,115
-,111,112,104,101,114,99,111,110,115,116,114,117,99,116,101,100,105,110,116,101,
-110,100,101,100,32,116,111,97,109,111,110,103,32,111,116,104,101,114,99,111,109,
-112,97,114,101,100,32,116,111,116,111,32,115,97,121,32,116,104,97,116,69,110,103
-,105,110,101,101,114,105,110,103,97,32,100,105,102,102,101,114,101,110,116,114,
-101,102,101,114,114,101,100,32,116,111,100,105,102,102,101,114,101,110,99,101,
-115,98,101,108,105,101,102,32,116,104,97,116,112,104,111,116,111,103,114,97,112,
-104,115,105,100,101,110,116,105,102,121,105,110,103,72,105,115,116,111,114,121,
-32,111,102,32,82,101,112,117,98,108,105,99,32,111,102,110,101,99,101,115,115,97,
-114,105,108,121,112,114,111,98,97,98,105,108,105,116,121,116,101,99,104,110,105,
-99,97,108,108,121,108,101,97,118,105,110,103,32,116,104,101,115,112,101,99,116,
-97,99,117,108,97,114,102,114,97,99,116,105,111,110,32,111,102,101,108,101,99,116
-,114,105,99,105,116,121,104,101,97,100,32,111,102,32,116,104,101,114,101,115,116
-,97,117,114,97,110,116,115,112,97,114,116,110,101,114,115,104,105,112,101,109,
-112,104,97,115,105,115,32,111,110,109,111,115,116,32,114,101,99,101,110,116,115,
-104,97,114,101,32,119,105,116,104,32,115,97,121,105,110,103,32,116,104,97,116,
-102,105,108,108,101,100,32,119,105,116,104,100,101,115,105,103,110,101,100,32,
-116,111,105,116,32,105,115,32,111,102,116,101,110,34,62,60,47,105,102,114,97,109
-,101,62,97,115,32,102,111,108,108,111,119,115,58,109,101,114,103,101,100,32,119,
-105,116,104,116,104,114,111,117,103,104,32,116,104,101,99,111,109,109,101,114,99
-,105,97,108,32,112,111,105,110,116,101,100,32,111,117,116,111,112,112,111,114,
-116,117,110,105,116,121,118,105,101,119,32,111,102,32,116,104,101,114,101,113,
-117,105,114,101,109,101,110,116,100,105,118,105,115,105,111,110,32,111,102,112,
-114,111,103,114,97,109,109,105,110,103,104,101,32,114,101,99,101,105,118,101,100
-,115,101,116,73,110,116,101,114,118,97,108,34,62,60,47,115,112,97,110,62,60,47,
-105,110,32,78,101,119,32,89,111,114,107,97,100,100,105,116,105,111,110,97,108,32
-,99,111,109,112,114,101,115,115,105,111,110,10,10,60,100,105,118,32,105,100,61,
-34,105,110,99,111,114,112,111,114,97,116,101,59,60,47,115,99,114,105,112,116,62,
-60,97,116,116,97,99,104,69,118,101,110,116,98,101,99,97,109,101,32,116,104,101,
-32,34,32,116,97,114,103,101,116,61,34,95,99,97,114,114,105,101,100,32,111,117,
-116,83,111,109,101,32,111,102,32,116,104,101,115,99,105,101,110,99,101,32,97,110
-,100,116,104,101,32,116,105,109,101,32,111,102,67,111,110,116,97,105,110,101,114
-,34,62,109,97,105,110,116,97,105,110,105,110,103,67,104,114,105,115,116,111,112,
-104,101,114,77,117,99,104,32,111,102,32,116,104,101,119,114,105,116,105,110,103,
-115,32,111,102,34,32,104,101,105,103,104,116,61,34,50,115,105,122,101,32,111,102
-,32,116,104,101,118,101,114,115,105,111,110,32,111,102,32,109,105,120,116,117,
-114,101,32,111,102,32,98,101,116,119,101,101,110,32,116,104,101,69,120,97,109,
-112,108,101,115,32,111,102,101,100,117,99,97,116,105,111,110,97,108,99,111,109,
-112,101,116,105,116,105,118,101,32,111,110,115,117,98,109,105,116,61,34,100,105,
-114,101,99,116,111,114,32,111,102,100,105,115,116,105,110,99,116,105,118,101,47,
-68,84,68,32,88,72,84,77,76,32,114,101,108,97,116,105,110,103,32,116,111,116,101,
-110,100,101,110,99,121,32,116,111,112,114,111,118,105,110,99,101,32,111,102,119,
-104,105,99,104,32,119,111,117,108,100,100,101,115,112,105,116,101,32,116,104,101
-,115,99,105,101,110,116,105,102,105,99,32,108,101,103,105,115,108,97,116,117,114
-,101,46,105,110,110,101,114,72,84,77,76,32,97,108,108,101,103,97,116,105,111,110
-,115,65,103,114,105,99,117,108,116,117,114,101,119,97,115,32,117,115,101,100,32,
-105,110,97,112,112,114,111,97,99,104,32,116,111,105,110,116,101,108,108,105,103,
-101,110,116,121,101,97,114,115,32,108,97,116,101,114,44,115,97,110,115,45,115,
-101,114,105,102,100,101,116,101,114,109,105,110,105,110,103,80,101,114,102,111,
-114,109,97,110,99,101,97,112,112,101,97,114,97,110,99,101,115,44,32,119,104,105,
-99,104,32,105,115,32,102,111,117,110,100,97,116,105,111,110,115,97,98,98,114,101
-,118,105,97,116,101,100,104,105,103,104,101,114,32,116,104,97,110,115,32,102,114
-,111,109,32,116,104,101,32,105,110,100,105,118,105,100,117,97,108,32,99,111,109,
-112,111,115,101,100,32,111,102,115,117,112,112,111,115,101,100,32,116,111,99,108
-,97,105,109,115,32,116,104,97,116,97,116,116,114,105,98,117,116,105,111,110,102,
-111,110,116,45,115,105,122,101,58,49,101,108,101,109,101,110,116,115,32,111,102,
-72,105,115,116,111,114,105,99,97,108,32,104,105,115,32,98,114,111,116,104,101,
-114,97,116,32,116,104,101,32,116,105,109,101,97,110,110,105,118,101,114,115,97,
-114,121,103,111,118,101,114,110,101,100,32,98,121,114,101,108,97,116,101,100,32,
-116,111,32,117,108,116,105,109,97,116,101,108,121,32,105,110,110,111,118,97,116,
-105,111,110,115,105,116,32,105,115,32,115,116,105,108,108,99,97,110,32,111,110,
-108,121,32,98,101,100,101,102,105,110,105,116,105,111,110,115,116,111,71,77,84,
-83,116,114,105,110,103,65,32,110,117,109,98,101,114,32,111,102,105,109,103,32,99
-,108,97,115,115,61,34,69,118,101,110,116,117,97,108,108,121,44,119,97,115,32,99,
-104,97,110,103,101,100,111,99,99,117,114,114,101,100,32,105,110,110,101,105,103,
-104,98,111,114,105,110,103,100,105,115,116,105,110,103,117,105,115,104,119,104,
-101,110,32,104,101,32,119,97,115,105,110,116,114,111,100,117,99,105,110,103,116,
-101,114,114,101,115,116,114,105,97,108,77,97,110,121,32,111,102,32,116,104,101,
-97,114,103,117,101,115,32,116,104,97,116,97,110,32,65,109,101,114,105,99,97,110,
-99,111,110,113,117,101,115,116,32,111,102,119,105,100,101,115,112,114,101,97,100
-,32,119,101,114,101,32,107,105,108,108,101,100,115,99,114,101,101,110,32,97,110,
-100,32,73,110,32,111,114,100,101,114,32,116,111,101,120,112,101,99,116,101,100,
-32,116,111,100,101,115,99,101,110,100,97,110,116,115,97,114,101,32,108,111,99,97
-,116,101,100,108,101,103,105,115,108,97,116,105,118,101,103,101,110,101,114,97,
-116,105,111,110,115,32,98,97,99,107,103,114,111,117,110,100,109,111,115,116,32,
-112,101,111,112,108,101,121,101,97,114,115,32,97,102,116,101,114,116,104,101,114
-,101,32,105,115,32,110,111,116,104,101,32,104,105,103,104,101,115,116,102,114,
-101,113,117,101,110,116,108,121,32,116,104,101,121,32,100,111,32,110,111,116,97,
-114,103,117,101,100,32,116,104,97,116,115,104,111,119,101,100,32,116,104,97,116,
-112,114,101,100,111,109,105,110,97,110,116,116,104,101,111,108,111,103,105,99,97
-,108,98,121,32,116,104,101,32,116,105,109,101,99,111,110,115,105,100,101,114,105
-,110,103,115,104,111,114,116,45,108,105,118,101,100,60,47,115,112,97,110,62,60,
-47,97,62,99,97,110,32,98,101,32,117,115,101,100,118,101,114,121,32,108,105,116,
-116,108,101,111,110,101,32,111,102,32,116,104,101,32,104,97,100,32,97,108,114,
-101,97,100,121,105,110,116,101,114,112,114,101,116,101,100,99,111,109,109,117,
-110,105,99,97,116,101,102,101,97,116,117,114,101,115,32,111,102,103,111,118,101,
-114,110,109,101,110,116,44,60,47,110,111,115,99,114,105,112,116,62,101,110,116,
-101,114,101,100,32,116,104,101,34,32,104,101,105,103,104,116,61,34,51,73,110,100
-,101,112,101,110,100,101,110,116,112,111,112,117,108,97,116,105,111,110,115,108,
-97,114,103,101,45,115,99,97,108,101,46,32,65,108,116,104,111,117,103,104,32,117,
-115,101,100,32,105,110,32,116,104,101,100,101,115,116,114,117,99,116,105,111,110
-,112,111,115,115,105,98,105,108,105,116,121,115,116,97,114,116,105,110,103,32,
-105,110,116,119,111,32,111,114,32,109,111,114,101,101,120,112,114,101,115,115,
-105,111,110,115,115,117,98,111,114,100,105,110,97,116,101,108,97,114,103,101,114
-,32,116,104,97,110,104,105,115,116,111,114,121,32,97,110,100,60,47,111,112,116,
-105,111,110,62,13,10,67,111,110,116,105,110,101,110,116,97,108,101,108,105,109,
-105,110,97,116,105,110,103,119,105,108,108,32,110,111,116,32,98,101,112,114,97,
-99,116,105,99,101,32,111,102,105,110,32,102,114,111,110,116,32,111,102,115,105,
-116,101,32,111,102,32,116,104,101,101,110,115,117,114,101,32,116,104,97,116,116,
-111,32,99,114,101,97,116,101,32,97,109,105,115,115,105,115,115,105,112,112,105,
-112,111,116,101,110,116,105,97,108,108,121,111,117,116,115,116,97,110,100,105,
-110,103,98,101,116,116,101,114,32,116,104,97,110,119,104,97,116,32,105,115,32,
-110,111,119,115,105,116,117,97,116,101,100,32,105,110,109,101,116,97,32,110,97,
-109,101,61,34,84,114,97,100,105,116,105,111,110,97,108,115,117,103,103,101,115,
-116,105,111,110,115,84,114,97,110,115,108,97,116,105,111,110,116,104,101,32,102,
-111,114,109,32,111,102,97,116,109,111,115,112,104,101,114,105,99,105,100,101,111
-,108,111,103,105,99,97,108,101,110,116,101,114,112,114,105,115,101,115,99,97,108
-,99,117,108,97,116,105,110,103,101,97,115,116,32,111,102,32,116,104,101,114,101,
-109,110,97,110,116,115,32,111,102,112,108,117,103,105,110,115,112,97,103,101,47,
-105,110,100,101,120,46,112,104,112,63,114,101,109,97,105,110,101,100,32,105,110,
-116,114,97,110,115,102,111,114,109,101,100,72,101,32,119,97,115,32,97,108,115,
-111,119,97,115,32,97,108,114,101,97,100,121,115,116,97,116,105,115,116,105,99,97
-,108,105,110,32,102,97,118,111,114,32,111,102,77,105,110,105,115,116,114,121,32,
-111,102,109,111,118,101,109,101,110,116,32,111,102,102,111,114,109,117,108,97,
-116,105,111,110,105,115,32,114,101,113,117,105,114,101,100,60,108,105,110,107,32
-,114,101,108,61,34,84,104,105,115,32,105,115,32,116,104,101,32,60,97,32,104,114,
-101,102,61,34,47,112,111,112,117,108,97,114,105,122,101,100,105,110,118,111,108,
-118,101,100,32,105,110,97,114,101,32,117,115,101,100,32,116,111,97,110,100,32,
-115,101,118,101,114,97,108,109,97,100,101,32,98,121,32,116,104,101,115,101,101,
-109,115,32,116,111,32,98,101,108,105,107,101,108,121,32,116,104,97,116,80,97,108
-,101,115,116,105,110,105,97,110,110,97,109,101,100,32,97,102,116,101,114,105,116
-,32,104,97,100,32,98,101,101,110,109,111,115,116,32,99,111,109,109,111,110,116,
-111,32,114,101,102,101,114,32,116,111,98,117,116,32,116,104,105,115,32,105,115,
-99,111,110,115,101,99,117,116,105,118,101,116,101,109,112,111,114,97,114,105,108
-,121,73,110,32,103,101,110,101,114,97,108,44,99,111,110,118,101,110,116,105,111,
-110,115,116,97,107,101,115,32,112,108,97,99,101,115,117,98,100,105,118,105,115,
-105,111,110,116,101,114,114,105,116,111,114,105,97,108,111,112,101,114,97,116,
-105,111,110,97,108,112,101,114,109,97,110,101,110,116,108,121,119,97,115,32,108,
-97,114,103,101,108,121,111,117,116,98,114,101,97,107,32,111,102,105,110,32,116,
-104,101,32,112,97,115,116,102,111,108,108,111,119,105,110,103,32,97,32,120,109,
-108,110,115,58,111,103,61,34,62,60,97,32,99,108,97,115,115,61,34,99,108,97,115,
-115,61,34,116,101,120,116,67,111,110,118,101,114,115,105,111,110,32,109,97,121,
-32,98,101,32,117,115,101,100,109,97,110,117,102,97,99,116,117,114,101,97,102,116
-,101,114,32,98,101,105,110,103,99,108,101,97,114,102,105,120,34,62,10,113,117,
-101,115,116,105,111,110,32,111,102,119,97,115,32,101,108,101,99,116,101,100,116,
-111,32,98,101,99,111,109,101,32,97,98,101,99,97,117,115,101,32,111,102,32,115,
-111,109,101,32,112,101,111,112,108,101,105,110,115,112,105,114,101,100,32,98,121
-,115,117,99,99,101,115,115,102,117,108,32,97,32,116,105,109,101,32,119,104,101,
-110,109,111,114,101,32,99,111,109,109,111,110,97,109,111,110,103,115,116,32,116,
-104,101,97,110,32,111,102,102,105,99,105,97,108,119,105,100,116,104,58,49,48,48,
-37,59,116,101,99,104,110,111,108,111,103,121,44,119,97,115,32,97,100,111,112,116
-,101,100,116,111,32,107,101,101,112,32,116,104,101,115,101,116,116,108,101,109,
-101,110,116,115,108,105,118,101,32,98,105,114,116,104,115,105,110,100,101,120,46
-,104,116,109,108,34,67,111,110,110,101,99,116,105,99,117,116,97,115,115,105,103,
-110,101,100,32,116,111,38,97,109,112,59,116,105,109,101,115,59,97,99,99,111,117,
-110,116,32,102,111,114,97,108,105,103,110,61,114,105,103,104,116,116,104,101,32,
-99,111,109,112,97,110,121,97,108,119,97,121,115,32,98,101,101,110,114,101,116,
-117,114,110,101,100,32,116,111,105,110,118,111,108,118,101,109,101,110,116,66,
-101,99,97,117,115,101,32,116,104,101,116,104,105,115,32,112,101,114,105,111,100,
-34,32,110,97,109,101,61,34,113,34,32,99,111,110,102,105,110,101,100,32,116,111,
-97,32,114,101,115,117,108,116,32,111,102,118,97,108,117,101,61,34,34,32,47,62,
-105,115,32,97,99,116,117,97,108,108,121,69,110,118,105,114,111,110,109,101,110,
-116,13,10,60,47,104,101,97,100,62,13,10,67,111,110,118,101,114,115,101,108,121,
-44,62,10,60,100,105,118,32,105,100,61,34,48,34,32,119,105,100,116,104,61,34,49,
-105,115,32,112,114,111,98,97,98,108,121,104,97,118,101,32,98,101,99,111,109,101,
-99,111,110,116,114,111,108,108,105,110,103,116,104,101,32,112,114,111,98,108,101
-,109,99,105,116,105,122,101,110,115,32,111,102,112,111,108,105,116,105,99,105,97
-,110,115,114,101,97,99,104,101,100,32,116,104,101,97,115,32,101,97,114,108,121,
-32,97,115,58,110,111,110,101,59,32,111,118,101,114,60,116,97,98,108,101,32,99,
-101,108,108,118,97,108,105,100,105,116,121,32,111,102,100,105,114,101,99,116,108
-,121,32,116,111,111,110,109,111,117,115,101,100,111,119,110,119,104,101,114,101,
-32,105,116,32,105,115,119,104,101,110,32,105,116,32,119,97,115,109,101,109,98,
-101,114,115,32,111,102,32,114,101,108,97,116,105,111,110,32,116,111,97,99,99,111
-,109,109,111,100,97,116,101,97,108,111,110,103,32,119,105,116,104,32,73,110,32,
-116,104,101,32,108,97,116,101,116,104,101,32,69,110,103,108,105,115,104,100,101,
-108,105,99,105,111,117,115,34,62,116,104,105,115,32,105,115,32,110,111,116,116,
-104,101,32,112,114,101,115,101,110,116,105,102,32,116,104,101,121,32,97,114,101,
-97,110,100,32,102,105,110,97,108,108,121,97,32,109,97,116,116,101,114,32,111,102
-,13,10,9,60,47,100,105,118,62,13,10,13,10,60,47,115,99,114,105,112,116,62,102,97
-,115,116,101,114,32,116,104,97,110,109,97,106,111,114,105,116,121,32,111,102,97,
-102,116,101,114,32,119,104,105,99,104,99,111,109,112,97,114,97,116,105,118,101,
-116,111,32,109,97,105,110,116,97,105,110,105,109,112,114,111,118,101,32,116,104,
-101,97,119,97,114,100,101,100,32,116,104,101,101,114,34,32,99,108,97,115,115,61,
-34,102,114,97,109,101,98,111,114,100,101,114,114,101,115,116,111,114,97,116,105,
-111,110,105,110,32,116,104,101,32,115,97,109,101,97,110,97,108,121,115,105,115,
-32,111,102,116,104,101,105,114,32,102,105,114,115,116,68,117,114,105,110,103,32,
-116,104,101,32,99,111,110,116,105,110,101,110,116,97,108,115,101,113,117,101,110
-,99,101,32,111,102,102,117,110,99,116,105,111,110,40,41,123,102,111,110,116,45,
-115,105,122,101,58,32,119,111,114,107,32,111,110,32,116,104,101,60,47,115,99,114
-,105,112,116,62,10,60,98,101,103,105,110,115,32,119,105,116,104,106,97,118,97,
-115,99,114,105,112,116,58,99,111,110,115,116,105,116,117,101,110,116,119,97,115,
-32,102,111,117,110,100,101,100,101,113,117,105,108,105,98,114,105,117,109,97,115
-,115,117,109,101,32,116,104,97,116,105,115,32,103,105,118,101,110,32,98,121,110,
-101,101,100,115,32,116,111,32,98,101,99,111,111,114,100,105,110,97,116,101,115,
-116,104,101,32,118,97,114,105,111,117,115,97,114,101,32,112,97,114,116,32,111,
-102,111,110,108,121,32,105,110,32,116,104,101,115,101,99,116,105,111,110,115,32,
-111,102,105,115,32,97,32,99,111,109,109,111,110,116,104,101,111,114,105,101,115,
-32,111,102,100,105,115,99,111,118,101,114,105,101,115,97,115,115,111,99,105,97,
-116,105,111,110,101,100,103,101,32,111,102,32,116,104,101,115,116,114,101,110,
-103,116,104,32,111,102,112,111,115,105,116,105,111,110,32,105,110,112,114,101,
-115,101,110,116,45,100,97,121,117,110,105,118,101,114,115,97,108,108,121,116,111
-,32,102,111,114,109,32,116,104,101,98,117,116,32,105,110,115,116,101,97,100,99,
-111,114,112,111,114,97,116,105,111,110,97,116,116,97,99,104,101,100,32,116,111,
-105,115,32,99,111,109,109,111,110,108,121,114,101,97,115,111,110,115,32,102,111,
-114,32,38,113,117,111,116,59,116,104,101,32,99,97,110,32,98,101,32,109,97,100,
-101,119,97,115,32,97,98,108,101,32,116,111,119,104,105,99,104,32,109,101,97,110,
-115,98,117,116,32,100,105,100,32,110,111,116,111,110,77,111,117,115,101,79,118,
-101,114,97,115,32,112,111,115,115,105,98,108,101,111,112,101,114,97,116,101,100,
-32,98,121,99,111,109,105,110,103,32,102,114,111,109,116,104,101,32,112,114,105,
-109,97,114,121,97,100,100,105,116,105,111,110,32,111,102,102,111,114,32,115,101,
-118,101,114,97,108,116,114,97,110,115,102,101,114,114,101,100,97,32,112,101,114,
-105,111,100,32,111,102,97,114,101,32,97,98,108,101,32,116,111,104,111,119,101,
-118,101,114,44,32,105,116,115,104,111,117,108,100,32,104,97,118,101,109,117,99,
-104,32,108,97,114,103,101,114,10,9,60,47,115,99,114,105,112,116,62,97,100,111,
-112,116,101,100,32,116,104,101,112,114,111,112,101,114,116,121,32,111,102,100,
-105,114,101,99,116,101,100,32,98,121,101,102,102,101,99,116,105,118,101,108,121,
-119,97,115,32,98,114,111,117,103,104,116,99,104,105,108,100,114,101,110,32,111,
-102,80,114,111,103,114,97,109,109,105,110,103,108,111,110,103,101,114,32,116,104
-,97,110,109,97,110,117,115,99,114,105,112,116,115,119,97,114,32,97,103,97,105,
-110,115,116,98,121,32,109,101,97,110,115,32,111,102,97,110,100,32,109,111,115,
-116,32,111,102,115,105,109,105,108,97,114,32,116,111,32,112,114,111,112,114,105,
-101,116,97,114,121,111,114,105,103,105,110,97,116,105,110,103,112,114,101,115,
-116,105,103,105,111,117,115,103,114,97,109,109,97,116,105,99,97,108,101,120,112,
-101,114,105,101,110,99,101,46,116,111,32,109,97,107,101,32,116,104,101,73,116,32
-,119,97,115,32,97,108,115,111,105,115,32,102,111,117,110,100,32,105,110,99,111,
-109,112,101,116,105,116,111,114,115,105,110,32,116,104,101,32,85,46,83,46,114,
-101,112,108,97,99,101,32,116,104,101,98,114,111,117,103,104,116,32,116,104,101,
-99,97,108,99,117,108,97,116,105,111,110,102,97,108,108,32,111,102,32,116,104,101
-,116,104,101,32,103,101,110,101,114,97,108,112,114,97,99,116,105,99,97,108,108,
-121,105,110,32,104,111,110,111,114,32,111,102,114,101,108,101,97,115,101,100,32,
-105,110,114,101,115,105,100,101,110,116,105,97,108,97,110,100,32,115,111,109,101
-,32,111,102,107,105,110,103,32,111,102,32,116,104,101,114,101,97,99,116,105,111,
-110,32,116,111,49,115,116,32,69,97,114,108,32,111,102,99,117,108,116,117,114,101
-,32,97,110,100,112,114,105,110,99,105,112,97,108,108,121,60,47,116,105,116,108,
-101,62,10,32,32,116,104,101,121,32,99,97,110,32,98,101,98,97,99,107,32,116,111,
-32,116,104,101,115,111,109,101,32,111,102,32,104,105,115,101,120,112,111,115,117
-,114,101,32,116,111,97,114,101,32,115,105,109,105,108,97,114,102,111,114,109,32,
-111,102,32,116,104,101,97,100,100,70,97,118,111,114,105,116,101,99,105,116,105,
-122,101,110,115,104,105,112,112,97,114,116,32,105,110,32,116,104,101,112,101,111
-,112,108,101,32,119,105,116,104,105,110,32,112,114,97,99,116,105,99,101,116,111,
-32,99,111,110,116,105,110,117,101,38,97,109,112,59,109,105,110,117,115,59,97,112
-,112,114,111,118,101,100,32,98,121,32,116,104,101,32,102,105,114,115,116,32,97,
-108,108,111,119,101,100,32,116,104,101,97,110,100,32,102,111,114,32,116,104,101,
-102,117,110,99,116,105,111,110,105,110,103,112,108,97,121,105,110,103,32,116,104
-,101,115,111,108,117,116,105,111,110,32,116,111,104,101,105,103,104,116,61,34,48
-,34,32,105,110,32,104,105,115,32,98,111,111,107,109,111,114,101,32,116,104,97,
-110,32,97,102,111,108,108,111,119,115,32,116,104,101,99,114,101,97,116,101,100,
-32,116,104,101,112,114,101,115,101,110,99,101,32,105,110,38,110,98,115,112,59,60
-,47,116,100,62,110,97,116,105,111,110,97,108,105,115,116,116,104,101,32,105,100,
-101,97,32,111,102,97,32,99,104,97,114,97,99,116,101,114,119,101,114,101,32,102,
-111,114,99,101,100,32,99,108,97,115,115,61,34,98,116,110,100,97,121,115,32,111,
-102,32,116,104,101,102,101,97,116,117,114,101,100,32,105,110,115,104,111,119,105
-,110,103,32,116,104,101,105,110,116,101,114,101,115,116,32,105,110,105,110,32,
-112,108,97,99,101,32,111,102,116,117,114,110,32,111,102,32,116,104,101,116,104,
-101,32,104,101,97,100,32,111,102,76,111,114,100,32,111,102,32,116,104,101,112,
-111,108,105,116,105,99,97,108,108,121,104,97,115,32,105,116,115,32,111,119,110,
-69,100,117,99,97,116,105,111,110,97,108,97,112,112,114,111,118,97,108,32,111,102
-,115,111,109,101,32,111,102,32,116,104,101,101,97,99,104,32,111,116,104,101,114,
-44,98,101,104,97,118,105,111,114,32,111,102,97,110,100,32,98,101,99,97,117,115,
-101,97,110,100,32,97,110,111,116,104,101,114,97,112,112,101,97,114,101,100,32,
-111,110,114,101,99,111,114,100,101,100,32,105,110,98,108,97,99,107,38,113,117,
-111,116,59,109,97,121,32,105,110,99,108,117,100,101,116,104,101,32,119,111,114,
-108,100,39,115,99,97,110,32,108,101,97,100,32,116,111,114,101,102,101,114,115,32
-,116,111,32,97,98,111,114,100,101,114,61,34,48,34,32,103,111,118,101,114,110,109
-,101,110,116,32,119,105,110,110,105,110,103,32,116,104,101,114,101,115,117,108,
-116,101,100,32,105,110,32,119,104,105,108,101,32,116,104,101,32,87,97,115,104,
-105,110,103,116,111,110,44,116,104,101,32,115,117,98,106,101,99,116,99,105,116,
-121,32,105,110,32,116,104,101,62,60,47,100,105,118,62,13,10,9,9,114,101,102,108,
-101,99,116,32,116,104,101,116,111,32,99,111,109,112,108,101,116,101,98,101,99,97
-,109,101,32,109,111,114,101,114,97,100,105,111,97,99,116,105,118,101,114,101,106
-,101,99,116,101,100,32,98,121,119,105,116,104,111,117,116,32,97,110,121,104,105,
-115,32,102,97,116,104,101,114,44,119,104,105,99,104,32,99,111,117,108,100,99,111
-,112,121,32,111,102,32,116,104,101,116,111,32,105,110,100,105,99,97,116,101,97,
-32,112,111,108,105,116,105,99,97,108,97,99,99,111,117,110,116,115,32,111,102,99,
-111,110,115,116,105,116,117,116,101,115,119,111,114,107,101,100,32,119,105,116,
-104,101,114,60,47,97,62,60,47,108,105,62,111,102,32,104,105,115,32,108,105,102,
-101,97,99,99,111,109,112,97,110,105,101,100,99,108,105,101,110,116,87,105,100,
-116,104,112,114,101,118,101,110,116,32,116,104,101,76,101,103,105,115,108,97,116
-,105,118,101,100,105,102,102,101,114,101,110,116,108,121,116,111,103,101,116,104
-,101,114,32,105,110,104,97,115,32,115,101,118,101,114,97,108,102,111,114,32,97,
-110,111,116,104,101,114,116,101,120,116,32,111,102,32,116,104,101,102,111,117,
-110,100,101,100,32,116,104,101,101,32,119,105,116,104,32,116,104,101,32,105,115,
-32,117,115,101,100,32,102,111,114,99,104,97,110,103,101,100,32,116,104,101,117,
-115,117,97,108,108,121,32,116,104,101,112,108,97,99,101,32,119,104,101,114,101,
-119,104,101,114,101,97,115,32,116,104,101,62,32,60,97,32,104,114,101,102,61,34,
-34,62,60,97,32,104,114,101,102,61,34,116,104,101,109,115,101,108,118,101,115,44,
-97,108,116,104,111,117,103,104,32,104,101,116,104,97,116,32,99,97,110,32,98,101,
-116,114,97,100,105,116,105,111,110,97,108,114,111,108,101,32,111,102,32,116,104,
-101,97,115,32,97,32,114,101,115,117,108,116,114,101,109,111,118,101,67,104,105,
-108,100,100,101,115,105,103,110,101,100,32,98,121,119,101,115,116,32,111,102,32,
-116,104,101,83,111,109,101,32,112,101,111,112,108,101,112,114,111,100,117,99,116
-,105,111,110,44,115,105,100,101,32,111,102,32,116,104,101,110,101,119,115,108,
-101,116,116,101,114,115,117,115,101,100,32,98,121,32,116,104,101,100,111,119,110
-,32,116,111,32,116,104,101,97,99,99,101,112,116,101,100,32,98,121,108,105,118,
-101,32,105,110,32,116,104,101,97,116,116,101,109,112,116,115,32,116,111,111,117,
-116,115,105,100,101,32,116,104,101,102,114,101,113,117,101,110,99,105,101,115,72
-,111,119,101,118,101,114,44,32,105,110,112,114,111,103,114,97,109,109,101,114,
-115,97,116,32,108,101,97,115,116,32,105,110,97,112,112,114,111,120,105,109,97,
-116,101,97,108,116,104,111,117,103,104,32,105,116,119,97,115,32,112,97,114,116,
-32,111,102,97,110,100,32,118,97,114,105,111,117,115,71,111,118,101,114,110,111,
-114,32,111,102,116,104,101,32,97,114,116,105,99,108,101,116,117,114,110,101,100,
-32,105,110,116,111,62,60,97,32,104,114,101,102,61,34,47,116,104,101,32,101,99,
-111,110,111,109,121,105,115,32,116,104,101,32,109,111,115,116,109,111,115,116,32
-,119,105,100,101,108,121,119,111,117,108,100,32,108,97,116,101,114,97,110,100,32
-,112,101,114,104,97,112,115,114,105,115,101,32,116,111,32,116,104,101,111,99,99,
-117,114,115,32,119,104,101,110,117,110,100,101,114,32,119,104,105,99,104,99,111,
-110,100,105,116,105,111,110,115,46,116,104,101,32,119,101,115,116,101,114,110,
-116,104,101,111,114,121,32,116,104,97,116,105,115,32,112,114,111,100,117,99,101,
-100,116,104,101,32,99,105,116,121,32,111,102,105,110,32,119,104,105,99,104,32,
-104,101,115,101,101,110,32,105,110,32,116,104,101,116,104,101,32,99,101,110,116,
-114,97,108,98,117,105,108,100,105,110,103,32,111,102,109,97,110,121,32,111,102,
-32,104,105,115,97,114,101,97,32,111,102,32,116,104,101,105,115,32,116,104,101,32
-,111,110,108,121,109,111,115,116,32,111,102,32,116,104,101,109,97,110,121,32,111
-,102,32,116,104,101,116,104,101,32,87,101,115,116,101,114,110,84,104,101,114,101
-,32,105,115,32,110,111,101,120,116,101,110,100,101,100,32,116,111,83,116,97,116,
-105,115,116,105,99,97,108,99,111,108,115,112,97,110,61,50,32,124,115,104,111,114
-,116,32,115,116,111,114,121,112,111,115,115,105,98,108,101,32,116,111,116,111,
-112,111,108,111,103,105,99,97,108,99,114,105,116,105,99,97,108,32,111,102,114,
-101,112,111,114,116,101,100,32,116,111,97,32,67,104,114,105,115,116,105,97,110,
-100,101,99,105,115,105,111,110,32,116,111,105,115,32,101,113,117,97,108,32,116,
-111,112,114,111,98,108,101,109,115,32,111,102,84,104,105,115,32,99,97,110,32,98,
-101,109,101,114,99,104,97,110,100,105,115,101,102,111,114,32,109,111,115,116,32,
-111,102,110,111,32,101,118,105,100,101,110,99,101,101,100,105,116,105,111,110,
-115,32,111,102,101,108,101,109,101,110,116,115,32,105,110,38,113,117,111,116,59,
-46,32,84,104,101,99,111,109,47,105,109,97,103,101,115,47,119,104,105,99,104,32,
-109,97,107,101,115,116,104,101,32,112,114,111,99,101,115,115,114,101,109,97,105,
-110,115,32,116,104,101,108,105,116,101,114,97,116,117,114,101,44,105,115,32,97,
-32,109,101,109,98,101,114,116,104,101,32,112,111,112,117,108,97,114,116,104,101,
-32,97,110,99,105,101,110,116,112,114,111,98,108,101,109,115,32,105,110,116,105,
-109,101,32,111,102,32,116,104,101,100,101,102,101,97,116,101,100,32,98,121,98,
-111,100,121,32,111,102,32,116,104,101,97,32,102,101,119,32,121,101,97,114,115,
-109,117,99,104,32,111,102,32,116,104,101,116,104,101,32,119,111,114,107,32,111,
-102,67,97,108,105,102,111,114,110,105,97,44,115,101,114,118,101,100,32,97,115,32
-,97,103,111,118,101,114,110,109,101,110,116,46,99,111,110,99,101,112,116,115,32,
-111,102,109,111,118,101,109,101,110,116,32,105,110,9,9,60,100,105,118,32,105,100
-,61,34,105,116,34,32,118,97,108,117,101,61,34,108,97,110,103,117,97,103,101,32,
-111,102,97,115,32,116,104,101,121,32,97,114,101,112,114,111,100,117,99,101,100,
-32,105,110,105,115,32,116,104,97,116,32,116,104,101,101,120,112,108,97,105,110,
-32,116,104,101,100,105,118,62,60,47,100,105,118,62,10,72,111,119,101,118,101,114
-,32,116,104,101,108,101,97,100,32,116,111,32,116,104,101,9,60,97,32,104,114,101,
-102,61,34,47,119,97,115,32,103,114,97,110,116,101,100,112,101,111,112,108,101,32
-,104,97,118,101,99,111,110,116,105,110,117,97,108,108,121,119,97,115,32,115,101,
-101,110,32,97,115,97,110,100,32,114,101,108,97,116,101,100,116,104,101,32,114,
-111,108,101,32,111,102,112,114,111,112,111,115,101,100,32,98,121,111,102,32,116,
-104,101,32,98,101,115,116,101,97,99,104,32,111,116,104,101,114,46,67,111,110,115
-,116,97,110,116,105,110,101,112,101,111,112,108,101,32,102,114,111,109,100,105,
-97,108,101,99,116,115,32,111,102,116,111,32,114,101,118,105,115,105,111,110,119,
-97,115,32,114,101,110,97,109,101,100,97,32,115,111,117,114,99,101,32,111,102,116
-,104,101,32,105,110,105,116,105,97,108,108,97,117,110,99,104,101,100,32,105,110,
-112,114,111,118,105,100,101,32,116,104,101,116,111,32,116,104,101,32,119,101,115
-,116,119,104,101,114,101,32,116,104,101,114,101,97,110,100,32,115,105,109,105,
-108,97,114,98,101,116,119,101,101,110,32,116,119,111,105,115,32,97,108,115,111,
-32,116,104,101,69,110,103,108,105,115,104,32,97,110,100,99,111,110,100,105,116,
-105,111,110,115,44,116,104,97,116,32,105,116,32,119,97,115,101,110,116,105,116,
-108,101,100,32,116,111,116,104,101,109,115,101,108,118,101,115,46,113,117,97,110
-,116,105,116,121,32,111,102,114,97,110,115,112,97,114,101,110,99,121,116,104,101
-,32,115,97,109,101,32,97,115,116,111,32,106,111,105,110,32,116,104,101,99,111,
-117,110,116,114,121,32,97,110,100,116,104,105,115,32,105,115,32,116,104,101,84,
-104,105,115,32,108,101,100,32,116,111,97,32,115,116,97,116,101,109,101,110,116,
-99,111,110,116,114,97,115,116,32,116,111,108,97,115,116,73,110,100,101,120,79,
-102,116,104,114,111,117,103,104,32,104,105,115,105,115,32,100,101,115,105,103,
-110,101,100,116,104,101,32,116,101,114,109,32,105,115,105,115,32,112,114,111,118
-,105,100,101,100,112,114,111,116,101,99,116,32,116,104,101,110,103,60,47,97,62,
-60,47,108,105,62,84,104,101,32,99,117,114,114,101,110,116,116,104,101,32,115,105
-,116,101,32,111,102,115,117,98,115,116,97,110,116,105,97,108,101,120,112,101,114
-,105,101,110,99,101,44,105,110,32,116,104,101,32,87,101,115,116,116,104,101,121,
-32,115,104,111,117,108,100,115,108,111,118,101,110,196,141,105,110,97,99,111,109
-,101,110,116,97,114,105,111,115,117,110,105,118,101,114,115,105,100,97,100,99,
-111,110,100,105,99,105,111,110,101,115,97,99,116,105,118,105,100,97,100,101,115,
-101,120,112,101,114,105,101,110,99,105,97,116,101,99,110,111,108,111,103,195,173
-,97,112,114,111,100,117,99,99,105,195,179,110,112,117,110,116,117,97,99,105,195,
-179,110,97,112,108,105,99,97,99,105,195,179,110,99,111,110,116,114,97,115,101,
-195,177,97,99,97,116,101,103,111,114,195,173,97,115,114,101,103,105,115,116,114,
-97,114,115,101,112,114,111,102,101,115,105,111,110,97,108,116,114,97,116,97,109,
-105,101,110,116,111,114,101,103,195,173,115,116,114,97,116,101,115,101,99,114,
-101,116,97,114,195,173,97,112,114,105,110,99,105,112,97,108,101,115,112,114,111,
-116,101,99,99,105,195,179,110,105,109,112,111,114,116,97,110,116,101,115,105,109
-,112,111,114,116,97,110,99,105,97,112,111,115,105,98,105,108,105,100,97,100,105,
-110,116,101,114,101,115,97,110,116,101,99,114,101,99,105,109,105,101,110,116,111
-,110,101,99,101,115,105,100,97,100,101,115,115,117,115,99,114,105,98,105,114,115
-,101,97,115,111,99,105,97,99,105,195,179,110,100,105,115,112,111,110,105,98,108,
-101,115,101,118,97,108,117,97,99,105,195,179,110,101,115,116,117,100,105,97,110,
-116,101,115,114,101,115,112,111,110,115,97,98,108,101,114,101,115,111,108,117,99
-,105,195,179,110,103,117,97,100,97,108,97,106,97,114,97,114,101,103,105,115,116,
-114,97,100,111,115,111,112,111,114,116,117,110,105,100,97,100,99,111,109,101,114
-,99,105,97,108,101,115,102,111,116,111,103,114,97,102,195,173,97,97,117,116,111,
-114,105,100,97,100,101,115,105,110,103,101,110,105,101,114,195,173,97,116,101,
-108,101,118,105,115,105,195,179,110,99,111,109,112,101,116,101,110,99,105,97,111
-,112,101,114,97,99,105,111,110,101,115,101,115,116,97,98,108,101,99,105,100,111,
-115,105,109,112,108,101,109,101,110,116,101,97,99,116,117,97,108,109,101,110,116
-,101,110,97,118,101,103,97,99,105,195,179,110,99,111,110,102,111,114,109,105,100
-,97,100,108,105,110,101,45,104,101,105,103,104,116,58,102,111,110,116,45,102,97,
-109,105,108,121,58,34,32,58,32,34,104,116,116,112,58,47,47,97,112,112,108,105,99
-,97,116,105,111,110,115,108,105,110,107,34,32,104,114,101,102,61,34,115,112,101,
-99,105,102,105,99,97,108,108,121,47,47,60,33,91,67,68,65,84,65,91,10,79,114,103,
-97,110,105,122,97,116,105,111,110,100,105,115,116,114,105,98,117,116,105,111,110
-,48,112,120,59,32,104,101,105,103,104,116,58,114,101,108,97,116,105,111,110,115,
-104,105,112,100,101,118,105,99,101,45,119,105,100,116,104,60,100,105,118,32,99,
-108,97,115,115,61,34,60,108,97,98,101,108,32,102,111,114,61,34,114,101,103,105,
-115,116,114,97,116,105,111,110,60,47,110,111,115,99,114,105,112,116,62,10,47,105
-,110,100,101,120,46,104,116,109,108,34,119,105,110,100,111,119,46,111,112,101,
-110,40,32,33,105,109,112,111,114,116,97,110,116,59,97,112,112,108,105,99,97,116,
-105,111,110,47,105,110,100,101,112,101,110,100,101,110,99,101,47,47,119,119,119,
-46,103,111,111,103,108,101,111,114,103,97,110,105,122,97,116,105,111,110,97,117,
-116,111,99,111,109,112,108,101,116,101,114,101,113,117,105,114,101,109,101,110,
-116,115,99,111,110,115,101,114,118,97,116,105,118,101,60,102,111,114,109,32,110,
-97,109,101,61,34,105,110,116,101,108,108,101,99,116,117,97,108,109,97,114,103,
-105,110,45,108,101,102,116,58,49,56,116,104,32,99,101,110,116,117,114,121,97,110
-,32,105,109,112,111,114,116,97,110,116,105,110,115,116,105,116,117,116,105,111,
-110,115,97,98,98,114,101,118,105,97,116,105,111,110,60,105,109,103,32,99,108,97,
-115,115,61,34,111,114,103,97,110,105,115,97,116,105,111,110,99,105,118,105,108,
-105,122,97,116,105,111,110,49,57,116,104,32,99,101,110,116,117,114,121,97,114,99
-,104,105,116,101,99,116,117,114,101,105,110,99,111,114,112,111,114,97,116,101,
-100,50,48,116,104,32,99,101,110,116,117,114,121,45,99,111,110,116,97,105,110,101
-,114,34,62,109,111,115,116,32,110,111,116,97,98,108,121,47,62,60,47,97,62,60,47,
-100,105,118,62,110,111,116,105,102,105,99,97,116,105,111,110,39,117,110,100,101,
-102,105,110,101,100,39,41,70,117,114,116,104,101,114,109,111,114,101,44,98,101,
-108,105,101,118,101,32,116,104,97,116,105,110,110,101,114,72,84,77,76,32,61,32,
-112,114,105,111,114,32,116,111,32,116,104,101,100,114,97,109,97,116,105,99,97,
-108,108,121,114,101,102,101,114,114,105,110,103,32,116,111,110,101,103,111,116,
-105,97,116,105,111,110,115,104,101,97,100,113,117,97,114,116,101,114,115,83,111,
-117,116,104,32,65,102,114,105,99,97,117,110,115,117,99,99,101,115,115,102,117,
-108,80,101,110,110,115,121,108,118,97,110,105,97,65,115,32,97,32,114,101,115,117
-,108,116,44,60,104,116,109,108,32,108,97,110,103,61,34,38,108,116,59,47,115,117,
-112,38,103,116,59,100,101,97,108,105,110,103,32,119,105,116,104,112,104,105,108,
-97,100,101,108,112,104,105,97,104,105,115,116,111,114,105,99,97,108,108,121,41,
-59,60,47,115,99,114,105,112,116,62,10,112,97,100,100,105,110,103,45,116,111,112,
-58,101,120,112,101,114,105,109,101,110,116,97,108,103,101,116,65,116,116,114,105
-,98,117,116,101,105,110,115,116,114,117,99,116,105,111,110,115,116,101,99,104,
-110,111,108,111,103,105,101,115,112,97,114,116,32,111,102,32,116,104,101,32,61,
-102,117,110,99,116,105,111,110,40,41,123,115,117,98,115,99,114,105,112,116,105,
-111,110,108,46,100,116,100,34,62,13,10,60,104,116,103,101,111,103,114,97,112,104
-,105,99,97,108,67,111,110,115,116,105,116,117,116,105,111,110,39,44,32,102,117,
-110,99,116,105,111,110,40,115,117,112,112,111,114,116,101,100,32,98,121,97,103,
-114,105,99,117,108,116,117,114,97,108,99,111,110,115,116,114,117,99,116,105,111,
-110,112,117,98,108,105,99,97,116,105,111,110,115,102,111,110,116,45,115,105,122,
-101,58,32,49,97,32,118,97,114,105,101,116,121,32,111,102,60,100,105,118,32,115,
-116,121,108,101,61,34,69,110,99,121,99,108,111,112,101,100,105,97,105,102,114,97
-,109,101,32,115,114,99,61,34,100,101,109,111,110,115,116,114,97,116,101,100,97,
-99,99,111,109,112,108,105,115,104,101,100,117,110,105,118,101,114,115,105,116,
-105,101,115,68,101,109,111,103,114,97,112,104,105,99,115,41,59,60,47,115,99,114,
-105,112,116,62,60,100,101,100,105,99,97,116,101,100,32,116,111,107,110,111,119,
-108,101,100,103,101,32,111,102,115,97,116,105,115,102,97,99,116,105,111,110,112,
-97,114,116,105,99,117,108,97,114,108,121,60,47,100,105,118,62,60,47,100,105,118,
-62,69,110,103,108,105,115,104,32,40,85,83,41,97,112,112,101,110,100,67,104,105,
-108,100,40,116,114,97,110,115,109,105,115,115,105,111,110,115,46,32,72,111,119,
-101,118,101,114,44,32,105,110,116,101,108,108,105,103,101,110,99,101,34,32,116,
-97,98,105,110,100,101,120,61,34,102,108,111,97,116,58,114,105,103,104,116,59,67,
-111,109,109,111,110,119,101,97,108,116,104,114,97,110,103,105,110,103,32,102,114
-,111,109,105,110,32,119,104,105,99,104,32,116,104,101,97,116,32,108,101,97,115,
-116,32,111,110,101,114,101,112,114,111,100,117,99,116,105,111,110,101,110,99,121
-,99,108,111,112,101,100,105,97,59,102,111,110,116,45,115,105,122,101,58,49,106,
-117,114,105,115,100,105,99,116,105,111,110,97,116,32,116,104,97,116,32,116,105,
-109,101,34,62,60,97,32,99,108,97,115,115,61,34,73,110,32,97,100,100,105,116,105,
-111,110,44,100,101,115,99,114,105,112,116,105,111,110,43,99,111,110,118,101,114,
-115,97,116,105,111,110,99,111,110,116,97,99,116,32,119,105,116,104,105,115,32,
-103,101,110,101,114,97,108,108,121,114,34,32,99,111,110,116,101,110,116,61,34,
-114,101,112,114,101,115,101,110,116,105,110,103,38,108,116,59,109,97,116,104,38,
-103,116,59,112,114,101,115,101,110,116,97,116,105,111,110,111,99,99,97,115,105,
-111,110,97,108,108,121,60,105,109,103,32,119,105,100,116,104,61,34,110,97,118,
-105,103,97,116,105,111,110,34,62,99,111,109,112,101,110,115,97,116,105,111,110,
-99,104,97,109,112,105,111,110,115,104,105,112,109,101,100,105,97,61,34,97,108,
-108,34,32,118,105,111,108,97,116,105,111,110,32,111,102,114,101,102,101,114,101,
-110,99,101,32,116,111,114,101,116,117,114,110,32,116,114,117,101,59,83,116,114,
-105,99,116,47,47,69,78,34,32,116,114,97,110,115,97,99,116,105,111,110,115,105,
-110,116,101,114,118,101,110,116,105,111,110,118,101,114,105,102,105,99,97,116,
-105,111,110,73,110,102,111,114,109,97,116,105,111,110,32,100,105,102,102,105,99,
-117,108,116,105,101,115,67,104,97,109,112,105,111,110,115,104,105,112,99,97,112,
-97,98,105,108,105,116,105,101,115,60,33,91,101,110,100,105,102,93,45,45,62,125,
-10,60,47,115,99,114,105,112,116,62,10,67,104,114,105,115,116,105,97,110,105,116,
-121,102,111,114,32,101,120,97,109,112,108,101,44,80,114,111,102,101,115,115,105,
-111,110,97,108,114,101,115,116,114,105,99,116,105,111,110,115,115,117,103,103,
-101,115,116,32,116,104,97,116,119,97,115,32,114,101,108,101,97,115,101,100,40,
-115,117,99,104,32,97,115,32,116,104,101,114,101,109,111,118,101,67,108,97,115,
-115,40,117,110,101,109,112,108,111,121,109,101,110,116,116,104,101,32,65,109,101
-,114,105,99,97,110,115,116,114,117,99,116,117,114,101,32,111,102,47,105,110,100,
-101,120,46,104,116,109,108,32,112,117,98,108,105,115,104,101,100,32,105,110,115,
-112,97,110,32,99,108,97,115,115,61,34,34,62,60,97,32,104,114,101,102,61,34,47,
-105,110,116,114,111,100,117,99,116,105,111,110,98,101,108,111,110,103,105,110,
-103,32,116,111,99,108,97,105,109,101,100,32,116,104,97,116,99,111,110,115,101,
-113,117,101,110,99,101,115,60,109,101,116,97,32,110,97,109,101,61,34,71,117,105,
-100,101,32,116,111,32,116,104,101,111,118,101,114,119,104,101,108,109,105,110,
-103,97,103,97,105,110,115,116,32,116,104,101,32,99,111,110,99,101,110,116,114,97
-,116,101,100,44,10,46,110,111,110,116,111,117,99,104,32,111,98,115,101,114,118,
-97,116,105,111,110,115,60,47,97,62,10,60,47,100,105,118,62,10,102,32,40,100,111,
-99,117,109,101,110,116,46,98,111,114,100,101,114,58,32,49,112,120,32,123,102,111
-,110,116,45,115,105,122,101,58,49,116,114,101,97,116,109,101,110,116,32,111,102,
-48,34,32,104,101,105,103,104,116,61,34,49,109,111,100,105,102,105,99,97,116,105,
-111,110,73,110,100,101,112,101,110,100,101,110,99,101,100,105,118,105,100,101,
-100,32,105,110,116,111,103,114,101,97,116,101,114,32,116,104,97,110,97,99,104,
-105,101,118,101,109,101,110,116,115,101,115,116,97,98,108,105,115,104,105,110,
-103,74,97,118,97,83,99,114,105,112,116,34,32,110,101,118,101,114,116,104,101,108
-,101,115,115,115,105,103,110,105,102,105,99,97,110,99,101,66,114,111,97,100,99,
-97,115,116,105,110,103,62,38,110,98,115,112,59,60,47,116,100,62,99,111,110,116,
-97,105,110,101,114,34,62,10,115,117,99,104,32,97,115,32,116,104,101,32,105,110,
-102,108,117,101,110,99,101,32,111,102,97,32,112,97,114,116,105,99,117,108,97,114
-,115,114,99,61,39,104,116,116,112,58,47,47,110,97,118,105,103,97,116,105,111,110
-,34,32,104,97,108,102,32,111,102,32,116,104,101,32,115,117,98,115,116,97,110,116
-,105,97,108,32,38,110,98,115,112,59,60,47,100,105,118,62,97,100,118,97,110,116,
-97,103,101,32,111,102,100,105,115,99,111,118,101,114,121,32,111,102,102,117,110,
-100,97,109,101,110,116,97,108,32,109,101,116,114,111,112,111,108,105,116,97,110,
-116,104,101,32,111,112,112,111,115,105,116,101,34,32,120,109,108,58,108,97,110,
-103,61,34,100,101,108,105,98,101,114,97,116,101,108,121,97,108,105,103,110,61,99
-,101,110,116,101,114,101,118,111,108,117,116,105,111,110,32,111,102,112,114,101,
-115,101,114,118,97,116,105,111,110,105,109,112,114,111,118,101,109,101,110,116,
-115,98,101,103,105,110,110,105,110,103,32,105,110,74,101,115,117,115,32,67,104,
-114,105,115,116,80,117,98,108,105,99,97,116,105,111,110,115,100,105,115,97,103,
-114,101,101,109,101,110,116,116,101,120,116,45,97,108,105,103,110,58,114,44,32,
-102,117,110,99,116,105,111,110,40,41,115,105,109,105,108,97,114,105,116,105,101,
-115,98,111,100,121,62,60,47,104,116,109,108,62,105,115,32,99,117,114,114,101,110
-,116,108,121,97,108,112,104,97,98,101,116,105,99,97,108,105,115,32,115,111,109,
-101,116,105,109,101,115,116,121,112,101,61,34,105,109,97,103,101,47,109,97,110,
-121,32,111,102,32,116,104,101,32,102,108,111,119,58,104,105,100,100,101,110,59,
-97,118,97,105,108,97,98,108,101,32,105,110,100,101,115,99,114,105,98,101,32,116,
-104,101,101,120,105,115,116,101,110,99,101,32,111,102,97,108,108,32,111,118,101,
-114,32,116,104,101,116,104,101,32,73,110,116,101,114,110,101,116,9,60,117,108,32
-,99,108,97,115,115,61,34,105,110,115,116,97,108,108,97,116,105,111,110,110,101,
-105,103,104,98,111,114,104,111,111,100,97,114,109,101,100,32,102,111,114,99,101,
-115,114,101,100,117,99,105,110,103,32,116,104,101,99,111,110,116,105,110,117,101
-,115,32,116,111,78,111,110,101,116,104,101,108,101,115,115,44,116,101,109,112,
-101,114,97,116,117,114,101,115,10,9,9,60,97,32,104,114,101,102,61,34,99,108,111,
-115,101,32,116,111,32,116,104,101,101,120,97,109,112,108,101,115,32,111,102,32,
-105,115,32,97,98,111,117,116,32,116,104,101,40,115,101,101,32,98,101,108,111,119
-,41,46,34,32,105,100,61,34,115,101,97,114,99,104,112,114,111,102,101,115,115,105
-,111,110,97,108,105,115,32,97,118,97,105,108,97,98,108,101,116,104,101,32,111,
-102,102,105,99,105,97,108,9,9,60,47,115,99,114,105,112,116,62,10,10,9,9,60,100,
-105,118,32,105,100,61,34,97,99,99,101,108,101,114,97,116,105,111,110,116,104,114
-,111,117,103,104,32,116,104,101,32,72,97,108,108,32,111,102,32,70,97,109,101,100
-,101,115,99,114,105,112,116,105,111,110,115,116,114,97,110,115,108,97,116,105,
-111,110,115,105,110,116,101,114,102,101,114,101,110,99,101,32,116,121,112,101,61
-,39,116,101,120,116,47,114,101,99,101,110,116,32,121,101,97,114,115,105,110,32,
-116,104,101,32,119,111,114,108,100,118,101,114,121,32,112,111,112,117,108,97,114
-,123,98,97,99,107,103,114,111,117,110,100,58,116,114,97,100,105,116,105,111,110,
-97,108,32,115,111,109,101,32,111,102,32,116,104,101,32,99,111,110,110,101,99,116
-,101,100,32,116,111,101,120,112,108,111,105,116,97,116,105,111,110,101,109,101,
-114,103,101,110,99,101,32,111,102,99,111,110,115,116,105,116,117,116,105,111,110
-,65,32,72,105,115,116,111,114,121,32,111,102,115,105,103,110,105,102,105,99,97,
-110,116,32,109,97,110,117,102,97,99,116,117,114,101,100,101,120,112,101,99,116,
-97,116,105,111,110,115,62,60,110,111,115,99,114,105,112,116,62,60,99,97,110,32,
-98,101,32,102,111,117,110,100,98,101,99,97,117,115,101,32,116,104,101,32,104,97,
-115,32,110,111,116,32,98,101,101,110,110,101,105,103,104,98,111,117,114,105,110,
-103,119,105,116,104,111,117,116,32,116,104,101,32,97,100,100,101,100,32,116,111,
-32,116,104,101,9,60,108,105,32,99,108,97,115,115,61,34,105,110,115,116,114,117,
-109,101,110,116,97,108,83,111,118,105,101,116,32,85,110,105,111,110,97,99,107,
-110,111,119,108,101,100,103,101,100,119,104,105,99,104,32,99,97,110,32,98,101,
-110,97,109,101,32,102,111,114,32,116,104,101,97,116,116,101,110,116,105,111,110,
-32,116,111,97,116,116,101,109,112,116,115,32,116,111,32,100,101,118,101,108,111,
-112,109,101,110,116,115,73,110,32,102,97,99,116,44,32,116,104,101,60,108,105,32,
-99,108,97,115,115,61,34,97,105,109,112,108,105,99,97,116,105,111,110,115,115,117
-,105,116,97,98,108,101,32,102,111,114,109,117,99,104,32,111,102,32,116,104,101,
-32,99,111,108,111,110,105,122,97,116,105,111,110,112,114,101,115,105,100,101,110
-,116,105,97,108,99,97,110,99,101,108,66,117,98,98,108,101,32,73,110,102,111,114,
-109,97,116,105,111,110,109,111,115,116,32,111,102,32,116,104,101,32,105,115,32,
-100,101,115,99,114,105,98,101,100,114,101,115,116,32,111,102,32,116,104,101,32,
-109,111,114,101,32,111,114,32,108,101,115,115,105,110,32,83,101,112,116,101,109,
-98,101,114,73,110,116,101,108,108,105,103,101,110,99,101,115,114,99,61,34,104,
-116,116,112,58,47,47,112,120,59,32,104,101,105,103,104,116,58,32,97,118,97,105,
-108,97,98,108,101,32,116,111,109,97,110,117,102,97,99,116,117,114,101,114,104,
-117,109,97,110,32,114,105,103,104,116,115,108,105,110,107,32,104,114,101,102,61,
-34,47,97,118,97,105,108,97,98,105,108,105,116,121,112,114,111,112,111,114,116,
-105,111,110,97,108,111,117,116,115,105,100,101,32,116,104,101,32,97,115,116,114,
-111,110,111,109,105,99,97,108,104,117,109,97,110,32,98,101,105,110,103,115,110,
-97,109,101,32,111,102,32,116,104,101,32,97,114,101,32,102,111,117,110,100,32,105
-,110,97,114,101,32,98,97,115,101,100,32,111,110,115,109,97,108,108,101,114,32,
-116,104,97,110,97,32,112,101,114,115,111,110,32,119,104,111,101,120,112,97,110,
-115,105,111,110,32,111,102,97,114,103,117,105,110,103,32,116,104,97,116,110,111,
-119,32,107,110,111,119,110,32,97,115,73,110,32,116,104,101,32,101,97,114,108,121
-,105,110,116,101,114,109,101,100,105,97,116,101,100,101,114,105,118,101,100,32,
-102,114,111,109,83,99,97,110,100,105,110,97,118,105,97,110,60,47,97,62,60,47,100
-,105,118,62,13,10,99,111,110,115,105,100,101,114,32,116,104,101,97,110,32,101,
-115,116,105,109,97,116,101,100,116,104,101,32,78,97,116,105,111,110,97,108,60,
-100,105,118,32,105,100,61,34,112,97,103,114,101,115,117,108,116,105,110,103,32,
-105,110,99,111,109,109,105,115,115,105,111,110,101,100,97,110,97,108,111,103,111
-,117,115,32,116,111,97,114,101,32,114,101,113,117,105,114,101,100,47,117,108,62,
-10,60,47,100,105,118,62,10,119,97,115,32,98,97,115,101,100,32,111,110,97,110,100
-,32,98,101,99,97,109,101,32,97,38,110,98,115,112,59,38,110,98,115,112,59,116,34,
-32,118,97,108,117,101,61,34,34,32,119,97,115,32,99,97,112,116,117,114,101,100,
-110,111,32,109,111,114,101,32,116,104,97,110,114,101,115,112,101,99,116,105,118,
-101,108,121,99,111,110,116,105,110,117,101,32,116,111,32,62,13,10,60,104,101,97,
-100,62,13,10,60,119,101,114,101,32,99,114,101,97,116,101,100,109,111,114,101,32,
-103,101,110,101,114,97,108,105,110,102,111,114,109,97,116,105,111,110,32,117,115
-,101,100,32,102,111,114,32,116,104,101,105,110,100,101,112,101,110,100,101,110,
-116,32,116,104,101,32,73,109,112,101,114,105,97,108,99,111,109,112,111,110,101,
-110,116,32,111,102,116,111,32,116,104,101,32,110,111,114,116,104,105,110,99,108,
-117,100,101,32,116,104,101,32,67,111,110,115,116,114,117,99,116,105,111,110,115,
-105,100,101,32,111,102,32,116,104,101,32,119,111,117,108,100,32,110,111,116,32,
-98,101,102,111,114,32,105,110,115,116,97,110,99,101,105,110,118,101,110,116,105,
-111,110,32,111,102,109,111,114,101,32,99,111,109,112,108,101,120,99,111,108,108,
-101,99,116,105,118,101,108,121,98,97,99,107,103,114,111,117,110,100,58,32,116,
-101,120,116,45,97,108,105,103,110,58,32,105,116,115,32,111,114,105,103,105,110,
-97,108,105,110,116,111,32,97,99,99,111,117,110,116,116,104,105,115,32,112,114,
-111,99,101,115,115,97,110,32,101,120,116,101,110,115,105,118,101,104,111,119,101
-,118,101,114,44,32,116,104,101,116,104,101,121,32,97,114,101,32,110,111,116,114,
-101,106,101,99,116,101,100,32,116,104,101,99,114,105,116,105,99,105,115,109,32,
-111,102,100,117,114,105,110,103,32,119,104,105,99,104,112,114,111,98,97,98,108,
-121,32,116,104,101,116,104,105,115,32,97,114,116,105,99,108,101,40,102,117,110,
-99,116,105,111,110,40,41,123,73,116,32,115,104,111,117,108,100,32,98,101,97,110,
-32,97,103,114,101,101,109,101,110,116,97,99,99,105,100,101,110,116,97,108,108,
-121,100,105,102,102,101,114,115,32,102,114,111,109,65,114,99,104,105,116,101,99,
-116,117,114,101,98,101,116,116,101,114,32,107,110,111,119,110,97,114,114,97,110,
-103,101,109,101,110,116,115,105,110,102,108,117,101,110,99,101,32,111,110,97,116
-,116,101,110,100,101,100,32,116,104,101,105,100,101,110,116,105,99,97,108,32,116
-,111,115,111,117,116,104,32,111,102,32,116,104,101,112,97,115,115,32,116,104,114
-,111,117,103,104,120,109,108,34,32,116,105,116,108,101,61,34,119,101,105,103,104
-,116,58,98,111,108,100,59,99,114,101,97,116,105,110,103,32,116,104,101,100,105,
-115,112,108,97,121,58,110,111,110,101,114,101,112,108,97,99,101,100,32,116,104,
-101,60,105,109,103,32,115,114,99,61,34,47,105,104,116,116,112,115,58,47,47,119,
-119,119,46,87,111,114,108,100,32,87,97,114,32,73,73,116,101,115,116,105,109,111,
-110,105,97,108,115,102,111,117,110,100,32,105,110,32,116,104,101,114,101,113,117
-,105,114,101,100,32,116,111,32,97,110,100,32,116,104,97,116,32,116,104,101,98,
-101,116,119,101,101,110,32,116,104,101,32,119,97,115,32,100,101,115,105,103,110,
-101,100,99,111,110,115,105,115,116,115,32,111,102,32,99,111,110,115,105,100,101,
-114,97,98,108,121,112,117,98,108,105,115,104,101,100,32,98,121,116,104,101,32,
-108,97,110,103,117,97,103,101,67,111,110,115,101,114,118,97,116,105,111,110,99,
-111,110,115,105,115,116,101,100,32,111,102,114,101,102,101,114,32,116,111,32,116
-,104,101,98,97,99,107,32,116,111,32,116,104,101,32,99,115,115,34,32,109,101,100,
-105,97,61,34,80,101,111,112,108,101,32,102,114,111,109,32,97,118,97,105,108,97,
-98,108,101,32,111,110,112,114,111,118,101,100,32,116,111,32,98,101,115,117,103,
-103,101,115,116,105,111,110,115,34,119,97,115,32,107,110,111,119,110,32,97,115,
-118,97,114,105,101,116,105,101,115,32,111,102,108,105,107,101,108,121,32,116,111
-,32,98,101,99,111,109,112,114,105,115,101,100,32,111,102,115,117,112,112,111,114
-,116,32,116,104,101,32,104,97,110,100,115,32,111,102,32,116,104,101,99,111,117,
-112,108,101,100,32,119,105,116,104,99,111,110,110,101,99,116,32,97,110,100,32,98
-,111,114,100,101,114,58,110,111,110,101,59,112,101,114,102,111,114,109,97,110,99
-,101,115,98,101,102,111,114,101,32,98,101,105,110,103,108,97,116,101,114,32,98,
-101,99,97,109,101,99,97,108,99,117,108,97,116,105,111,110,115,111,102,116,101,
-110,32,99,97,108,108,101,100,114,101,115,105,100,101,110,116,115,32,111,102,109,
-101,97,110,105,110,103,32,116,104,97,116,62,60,108,105,32,99,108,97,115,115,61,
-34,101,118,105,100,101,110,99,101,32,102,111,114,101,120,112,108,97,110,97,116,
-105,111,110,115,101,110,118,105,114,111,110,109,101,110,116,115,34,62,60,47,97,
-62,60,47,100,105,118,62,119,104,105,99,104,32,97,108,108,111,119,115,73,110,116,
-114,111,100,117,99,116,105,111,110,100,101,118,101,108,111,112,101,100,32,98,121
-,97,32,119,105,100,101,32,114,97,110,103,101,111,110,32,98,101,104,97,108,102,32
-,111,102,118,97,108,105,103,110,61,34,116,111,112,34,112,114,105,110,99,105,112,
-108,101,32,111,102,97,116,32,116,104,101,32,116,105,109,101,44,60,47,110,111,115
-,99,114,105,112,116,62,13,115,97,105,100,32,116,111,32,104,97,118,101,105,110,32
-,116,104,101,32,102,105,114,115,116,119,104,105,108,101,32,111,116,104,101,114,
-115,104,121,112,111,116,104,101,116,105,99,97,108,112,104,105,108,111,115,111,
-112,104,101,114,115,112,111,119,101,114,32,111,102,32,116,104,101,99,111,110,116
-,97,105,110,101,100,32,105,110,112,101,114,102,111,114,109,101,100,32,98,121,105
-,110,97,98,105,108,105,116,121,32,116,111,119,101,114,101,32,119,114,105,116,116
-,101,110,115,112,97,110,32,115,116,121,108,101,61,34,105,110,112,117,116,32,110,
-97,109,101,61,34,116,104,101,32,113,117,101,115,116,105,111,110,105,110,116,101,
-110,100,101,100,32,102,111,114,114,101,106,101,99,116,105,111,110,32,111,102,105
-,109,112,108,105,101,115,32,116,104,97,116,105,110,118,101,110,116,101,100,32,
-116,104,101,116,104,101,32,115,116,97,110,100,97,114,100,119,97,115,32,112,114,
-111,98,97,98,108,121,108,105,110,107,32,98,101,116,119,101,101,110,112,114,111,
-102,101,115,115,111,114,32,111,102,105,110,116,101,114,97,99,116,105,111,110,115
-,99,104,97,110,103,105,110,103,32,116,104,101,73,110,100,105,97,110,32,79,99,101
-,97,110,32,99,108,97,115,115,61,34,108,97,115,116,119,111,114,107,105,110,103,32
-,119,105,116,104,39,104,116,116,112,58,47,47,119,119,119,46,121,101,97,114,115,
-32,98,101,102,111,114,101,84,104,105,115,32,119,97,115,32,116,104,101,114,101,99
-,114,101,97,116,105,111,110,97,108,101,110,116,101,114,105,110,103,32,116,104,
-101,109,101,97,115,117,114,101,109,101,110,116,115,97,110,32,101,120,116,114,101
-,109,101,108,121,118,97,108,117,101,32,111,102,32,116,104,101,115,116,97,114,116
-,32,111,102,32,116,104,101,10,60,47,115,99,114,105,112,116,62,10,10,97,110,32,
-101,102,102,111,114,116,32,116,111,105,110,99,114,101,97,115,101,32,116,104,101,
-116,111,32,116,104,101,32,115,111,117,116,104,115,112,97,99,105,110,103,61,34,48
-,34,62,115,117,102,102,105,99,105,101,110,116,108,121,116,104,101,32,69,117,114,
-111,112,101,97,110,99,111,110,118,101,114,116,101,100,32,116,111,99,108,101,97,
-114,84,105,109,101,111,117,116,100,105,100,32,110,111,116,32,104,97,118,101,99,
-111,110,115,101,113,117,101,110,116,108,121,102,111,114,32,116,104,101,32,110,
-101,120,116,101,120,116,101,110,115,105,111,110,32,111,102,101,99,111,110,111,
-109,105,99,32,97,110,100,97,108,116,104,111,117,103,104,32,116,104,101,97,114,
-101,32,112,114,111,100,117,99,101,100,97,110,100,32,119,105,116,104,32,116,104,
-101,105,110,115,117,102,102,105,99,105,101,110,116,103,105,118,101,110,32,98,121
-,32,116,104,101,115,116,97,116,105,110,103,32,116,104,97,116,101,120,112,101,110
-,100,105,116,117,114,101,115,60,47,115,112,97,110,62,60,47,97,62,10,116,104,111,
-117,103,104,116,32,116,104,97,116,111,110,32,116,104,101,32,98,97,115,105,115,99
-,101,108,108,112,97,100,100,105,110,103,61,105,109,97,103,101,32,111,102,32,116,
-104,101,114,101,116,117,114,110,105,110,103,32,116,111,105,110,102,111,114,109,
-97,116,105,111,110,44,115,101,112,97,114,97,116,101,100,32,98,121,97,115,115,97,
-115,115,105,110,97,116,101,100,115,34,32,99,111,110,116,101,110,116,61,34,97,117
-,116,104,111,114,105,116,121,32,111,102,110,111,114,116,104,119,101,115,116,101,
-114,110,60,47,100,105,118,62,10,60,100,105,118,32,34,62,60,47,100,105,118,62,13,
-10,32,32,99,111,110,115,117,108,116,97,116,105,111,110,99,111,109,109,117,110,
-105,116,121,32,111,102,116,104,101,32,110,97,116,105,111,110,97,108,105,116,32,
-115,104,111,117,108,100,32,98,101,112,97,114,116,105,99,105,112,97,110,116,115,
-32,97,108,105,103,110,61,34,108,101,102,116,116,104,101,32,103,114,101,97,116,
-101,115,116,115,101,108,101,99,116,105,111,110,32,111,102,115,117,112,101,114,
-110,97,116,117,114,97,108,100,101,112,101,110,100,101,110,116,32,111,110,105,115
-,32,109,101,110,116,105,111,110,101,100,97,108,108,111,119,105,110,103,32,116,
-104,101,119,97,115,32,105,110,118,101,110,116,101,100,97,99,99,111,109,112,97,
-110,121,105,110,103,104,105,115,32,112,101,114,115,111,110,97,108,97,118,97,105,
-108,97,98,108,101,32,97,116,115,116,117,100,121,32,111,102,32,116,104,101,111,
-110,32,116,104,101,32,111,116,104,101,114,101,120,101,99,117,116,105,111,110,32,
-111,102,72,117,109,97,110,32,82,105,103,104,116,115,116,101,114,109,115,32,111,
-102,32,116,104,101,97,115,115,111,99,105,97,116,105,111,110,115,114,101,115,101,
-97,114,99,104,32,97,110,100,115,117,99,99,101,101,100,101,100,32,98,121,100,101,
-102,101,97,116,101,100,32,116,104,101,97,110,100,32,102,114,111,109,32,116,104,
-101,98,117,116,32,116,104,101,121,32,97,114,101,99,111,109,109,97,110,100,101,
-114,32,111,102,115,116,97,116,101,32,111,102,32,116,104,101,121,101,97,114,115,
-32,111,102,32,97,103,101,116,104,101,32,115,116,117,100,121,32,111,102,60,117,
-108,32,99,108,97,115,115,61,34,115,112,108,97,99,101,32,105,110,32,116,104,101,
-119,104,101,114,101,32,104,101,32,119,97,115,60,108,105,32,99,108,97,115,115,61,
-34,102,116,104,101,114,101,32,97,114,101,32,110,111,119,104,105,99,104,32,98,101
-,99,97,109,101,104,101,32,112,117,98,108,105,115,104,101,100,101,120,112,114,101
-,115,115,101,100,32,105,110,116,111,32,119,104,105,99,104,32,116,104,101,99,111,
-109,109,105,115,115,105,111,110,101,114,102,111,110,116,45,119,101,105,103,104,
-116,58,116,101,114,114,105,116,111,114,121,32,111,102,101,120,116,101,110,115,
-105,111,110,115,34,62,82,111,109,97,110,32,69,109,112,105,114,101,101,113,117,97
-,108,32,116,111,32,116,104,101,73,110,32,99,111,110,116,114,97,115,116,44,104,
-111,119,101,118,101,114,44,32,97,110,100,105,115,32,116,121,112,105,99,97,108,
-108,121,97,110,100,32,104,105,115,32,119,105,102,101,40,97,108,115,111,32,99,97,
-108,108,101,100,62,60,117,108,32,99,108,97,115,115,61,34,101,102,102,101,99,116,
-105,118,101,108,121,32,101,118,111,108,118,101,100,32,105,110,116,111,115,101,
-101,109,32,116,111,32,104,97,118,101,119,104,105,99,104,32,105,115,32,116,104,
-101,116,104,101,114,101,32,119,97,115,32,110,111,97,110,32,101,120,99,101,108,
-108,101,110,116,97,108,108,32,111,102,32,116,104,101,115,101,100,101,115,99,114,
-105,98,101,100,32,98,121,73,110,32,112,114,97,99,116,105,99,101,44,98,114,111,97
-,100,99,97,115,116,105,110,103,99,104,97,114,103,101,100,32,119,105,116,104,114,
-101,102,108,101,99,116,101,100,32,105,110,115,117,98,106,101,99,116,101,100,32,
-116,111,109,105,108,105,116,97,114,121,32,97,110,100,116,111,32,116,104,101,32,
-112,111,105,110,116,101,99,111,110,111,109,105,99,97,108,108,121,115,101,116,84,
-97,114,103,101,116,105,110,103,97,114,101,32,97,99,116,117,97,108,108,121,118,
-105,99,116,111,114,121,32,111,118,101,114,40,41,59,60,47,115,99,114,105,112,116,
-62,99,111,110,116,105,110,117,111,117,115,108,121,114,101,113,117,105,114,101,
-100,32,102,111,114,101,118,111,108,117,116,105,111,110,97,114,121,97,110,32,101,
-102,102,101,99,116,105,118,101,110,111,114,116,104,32,111,102,32,116,104,101,44,
-32,119,104,105,99,104,32,119,97,115,32,102,114,111,110,116,32,111,102,32,116,104
-,101,111,114,32,111,116,104,101,114,119,105,115,101,115,111,109,101,32,102,111,
-114,109,32,111,102,104,97,100,32,110,111,116,32,98,101,101,110,103,101,110,101,
-114,97,116,101,100,32,98,121,105,110,102,111,114,109,97,116,105,111,110,46,112,
-101,114,109,105,116,116,101,100,32,116,111,105,110,99,108,117,100,101,115,32,116
-,104,101,100,101,118,101,108,111,112,109,101,110,116,44,101,110,116,101,114,101,
-100,32,105,110,116,111,116,104,101,32,112,114,101,118,105,111,117,115,99,111,110
-,115,105,115,116,101,110,116,108,121,97,114,101,32,107,110,111,119,110,32,97,115
-,116,104,101,32,102,105,101,108,100,32,111,102,116,104,105,115,32,116,121,112,
-101,32,111,102,103,105,118,101,110,32,116,111,32,116,104,101,116,104,101,32,116,
-105,116,108,101,32,111,102,99,111,110,116,97,105,110,115,32,116,104,101,105,110,
-115,116,97,110,99,101,115,32,111,102,105,110,32,116,104,101,32,110,111,114,116,
-104,100,117,101,32,116,111,32,116,104,101,105,114,97,114,101,32,100,101,115,105,
-103,110,101,100,99,111,114,112,111,114,97,116,105,111,110,115,119,97,115,32,116,
-104,97,116,32,116,104,101,111,110,101,32,111,102,32,116,104,101,115,101,109,111,
-114,101,32,112,111,112,117,108,97,114,115,117,99,99,101,101,100,101,100,32,105,
-110,115,117,112,112,111,114,116,32,102,114,111,109,105,110,32,100,105,102,102,
-101,114,101,110,116,100,111,109,105,110,97,116,101,100,32,98,121,100,101,115,105
-,103,110,101,100,32,102,111,114,111,119,110,101,114,115,104,105,112,32,111,102,
-97,110,100,32,112,111,115,115,105,98,108,121,115,116,97,110,100,97,114,100,105,
-122,101,100,114,101,115,112,111,110,115,101,84,101,120,116,119,97,115,32,105,110
-,116,101,110,100,101,100,114,101,99,101,105,118,101,100,32,116,104,101,97,115,
-115,117,109,101,100,32,116,104,97,116,97,114,101,97,115,32,111,102,32,116,104,
-101,112,114,105,109,97,114,105,108,121,32,105,110,116,104,101,32,98,97,115,105,
-115,32,111,102,105,110,32,116,104,101,32,115,101,110,115,101,97,99,99,111,117,
-110,116,115,32,102,111,114,100,101,115,116,114,111,121,101,100,32,98,121,97,116,
-32,108,101,97,115,116,32,116,119,111,119,97,115,32,100,101,99,108,97,114,101,100
-,99,111,117,108,100,32,110,111,116,32,98,101,83,101,99,114,101,116,97,114,121,32
-,111,102,97,112,112,101,97,114,32,116,111,32,98,101,109,97,114,103,105,110,45,
-116,111,112,58,49,47,94,92,115,43,124,92,115,43,36,47,103,101,41,123,116,104,114
-,111,119,32,101,125,59,116,104,101,32,115,116,97,114,116,32,111,102,116,119,111,
-32,115,101,112,97,114,97,116,101,108,97,110,103,117,97,103,101,32,97,110,100,119
-,104,111,32,104,97,100,32,98,101,101,110,111,112,101,114,97,116,105,111,110,32,
-111,102,100,101,97,116,104,32,111,102,32,116,104,101,114,101,97,108,32,110,117,
-109,98,101,114,115,9,60,108,105,110,107,32,114,101,108,61,34,112,114,111,118,105
-,100,101,100,32,116,104,101,116,104,101,32,115,116,111,114,121,32,111,102,99,111
-,109,112,101,116,105,116,105,111,110,115,101,110,103,108,105,115,104,32,40,85,75
-,41,101,110,103,108,105,115,104,32,40,85,83,41,208,156,208,190,208,189,208,179,
-208,190,208,187,208,161,209,128,208,191,209,129,208,186,208,184,209,129,209,128,
-208,191,209,129,208,186,208,184,209,129,209,128,208,191,209,129,208,186,208,190,
-217,132,216,185,216,177,216,168,217,138,216,169,230,173,163,233,171,148,228,184,
-173,230,150,135,231,174,128,228,189,147,228,184,173,230,150,135,231,185,129,228,
-189,147,228,184,173,230,150,135,230,156,137,233,153,144,229,133,172,229,143,184,
-228,186,186,230,176,145,230,148,191,229,186,156,233,152,191,233,135,140,229,183,
-180,229,183,180,231,164,190,228,188,154,228,184,187,228,185,137,230,147,141,228,
-189,156,231,179,187,231,187,159,230,148,191,231,173,150,230,179,149,232,167,132,
-105,110,102,111,114,109,97,99,105,195,179,110,104,101,114,114,97,109,105,101,110
-,116,97,115,101,108,101,99,116,114,195,179,110,105,99,111,100,101,115,99,114,105
-,112,99,105,195,179,110,99,108,97,115,105,102,105,99,97,100,111,115,99,111,110,
-111,99,105,109,105,101,110,116,111,112,117,98,108,105,99,97,99,105,195,179,110,
-114,101,108,97,99,105,111,110,97,100,97,115,105,110,102,111,114,109,195,161,116,
-105,99,97,114,101,108,97,99,105,111,110,97,100,111,115,100,101,112,97,114,116,97
-,109,101,110,116,111,116,114,97,98,97,106,97,100,111,114,101,115,100,105,114,101
-,99,116,97,109,101,110,116,101,97,121,117,110,116,97,109,105,101,110,116,111,109
-,101,114,99,97,100,111,76,105,98,114,101,99,111,110,116,195,161,99,116,101,110,
-111,115,104,97,98,105,116,97,99,105,111,110,101,115,99,117,109,112,108,105,109,
-105,101,110,116,111,114,101,115,116,97,117,114,97,110,116,101,115,100,105,115,
-112,111,115,105,99,105,195,179,110,99,111,110,115,101,99,117,101,110,99,105,97,
-101,108,101,99,116,114,195,179,110,105,99,97,97,112,108,105,99,97,99,105,111,110
-,101,115,100,101,115,99,111,110,101,99,116,97,100,111,105,110,115,116,97,108,97,
-99,105,195,179,110,114,101,97,108,105,122,97,99,105,195,179,110,117,116,105,108,
-105,122,97,99,105,195,179,110,101,110,99,105,99,108,111,112,101,100,105,97,101,
-110,102,101,114,109,101,100,97,100,101,115,105,110,115,116,114,117,109,101,110,
-116,111,115,101,120,112,101,114,105,101,110,99,105,97,115,105,110,115,116,105,
-116,117,99,105,195,179,110,112,97,114,116,105,99,117,108,97,114,101,115,115,117,
-98,99,97,116,101,103,111,114,105,97,209,130,208,190,208,187,209,140,208,186,208,
-190,208,160,208,190,209,129,209,129,208,184,208,184,209,128,208,176,208,177,208,
-190,209,130,209,139,208,177,208,190,208,187,209,140,209,136,208,181,208,191,209,
-128,208,190,209,129,209,130,208,190,208,188,208,190,208,182,208,181,209,130,208,
-181,208,180,209,128,209,131,208,179,208,184,209,133,209,129,208,187,209,131,209,
-135,208,176,208,181,209,129,208,181,208,185,209,135,208,176,209,129,208,178,209,
-129,208,181,208,179,208,180,208,176,208,160,208,190,209,129,209,129,208,184,209,
-143,208,156,208,190,209,129,208,186,208,178,208,181,208,180,209,128,209,131,208,
-179,208,184,208,181,208,179,208,190,209,128,208,190,208,180,208,176,208,178,208,
-190,208,191,209,128,208,190,209,129,208,180,208,176,208,189,208,189,209,139,209,
-133,208,180,208,190,208,187,208,182,208,189,209,139,208,184,208,188,208,181,208,
-189,208,189,208,190,208,156,208,190,209,129,208,186,208,178,209,139,209,128,209,
-131,208,177,208,187,208,181,208,185,208,156,208,190,209,129,208,186,208,178,208,
-176,209,129,209,130,209,128,208,176,208,189,209,139,208,189,208,184,209,135,208,
-181,208,179,208,190,209,128,208,176,208,177,208,190,209,130,208,181,208,180,208,
-190,208,187,208,182,208,181,208,189,209,131,209,129,208,187,209,131,208,179,208,
-184,209,130,208,181,208,191,208,181,209,128,209,140,208,158,208,180,208,189,208,
-176,208,186,208,190,208,191,208,190,209,130,208,190,208,188,209,131,209,128,208,
-176,208,177,208,190,209,130,209,131,208,176,208,191,209,128,208,181,208,187,209,
-143,208,178,208,190,208,190,208,177,209,137,208,181,208,190,208,180,208,189,208,
-190,208,179,208,190,209,129,208,178,208,190,208,181,208,179,208,190,209,129,209,
-130,208,176,209,130,209,140,208,184,208,180,209,128,209,131,208,179,208,190,208,
-185,209,132,208,190,209,128,209,131,208,188,208,181,209,133,208,190,209,128,208,
-190,209,136,208,190,208,191,209,128,208,190,209,130,208,184,208,178,209,129,209,
-129,209,139,208,187,208,186,208,176,208,186,208,176,208,182,208,180,209,139,208,
-185,208,178,208,187,208,176,209,129,209,130,208,184,208,179,209,128,209,131,208,
-191,208,191,209,139,208,178,208,188,208,181,209,129,209,130,208,181,209,128,208,
-176,208,177,208,190,209,130,208,176,209,129,208,186,208,176,208,183,208,176,208,
-187,208,191,208,181,209,128,208,178,209,139,208,185,208,180,208,181,208,187,208,
-176,209,130,209,140,208,180,208,181,208,189,209,140,208,179,208,184,208,191,208,
-181,209,128,208,184,208,190,208,180,208,177,208,184,208,183,208,189,208,181,209,
-129,208,190,209,129,208,189,208,190,208,178,208,181,208,188,208,190,208,188,208,
-181,208,189,209,130,208,186,209,131,208,191,208,184,209,130,209,140,208,180,208,
-190,208,187,208,182,208,189,208,176,209,128,208,176,208,188,208,186,208,176,209,
-133,208,189,208,176,209,135,208,176,208,187,208,190,208,160,208,176,208,177,208,
-190,209,130,208,176,208,162,208,190,208,187,209,140,208,186,208,190,209,129,208,
-190,208,178,209,129,208,181,208,188,208,178,209,130,208,190,209,128,208,190,208,
-185,208,189,208,176,209,135,208,176,208,187,208,176,209,129,208,191,208,184,209,
-129,208,190,208,186,209,129,208,187,209,131,208,182,208,177,209,139,209,129,208,
-184,209,129,209,130,208,181,208,188,208,191,208,181,209,135,208,176,209,130,208,
-184,208,189,208,190,208,178,208,190,208,179,208,190,208,191,208,190,208,188,208,
-190,209,137,208,184,209,129,208,176,208,185,209,130,208,190,208,178,208,191,208,
-190,209,135,208,181,208,188,209,131,208,191,208,190,208,188,208,190,209,137,209,
-140,208,180,208,190,208,187,208,182,208,189,208,190,209,129,209,129,209,139,208,
-187,208,186,208,184,208,177,209,139,209,129,209,130,209,128,208,190,208,180,208,
-176,208,189,208,189,209,139,208,181,208,188,208,189,208,190,208,179,208,184,208,
-181,208,191,209,128,208,190,208,181,208,186,209,130,208,161,208,181,208,185,209,
-135,208,176,209,129,208,188,208,190,208,180,208,181,208,187,208,184,209,130,208,
-176,208,186,208,190,208,179,208,190,208,190,208,189,208,187,208,176,208,185,208,
-189,208,179,208,190,209,128,208,190,208,180,208,181,208,178,208,181,209,128,209,
-129,208,184,209,143,209,129,209,130,209,128,208,176,208,189,208,181,209,132,208,
-184,208,187,209,140,208,188,209,139,209,131,209,128,208,190,208,178,208,189,209,
-143,209,128,208,176,208,183,208,189,209,139,209,133,208,184,209,129,208,186,208,
-176,209,130,209,140,208,189,208,181,208,180,208,181,208,187,209,142,209,143,208,
-189,208,178,208,176,209,128,209,143,208,188,208,181,208,189,209,140,209,136,208,
-181,208,188,208,189,208,190,208,179,208,184,209,133,208,180,208,176,208,189,208,
-189,208,190,208,185,208,183,208,189,208,176,209,135,208,184,209,130,208,189,208,
-181,208,187,209,140,208,183,209,143,209,132,208,190,209,128,209,131,208,188,208,
-176,208,162,208,181,208,191,208,181,209,128,209,140,208,188,208,181,209,129,209,
-143,209,134,208,176,208,183,208,176,209,137,208,184,209,130,209,139,208,155,209,
-131,209,135,209,136,208,184,208,181,224,164,168,224,164,185,224,165,128,224,164,
-130,224,164,149,224,164,176,224,164,168,224,165,135,224,164,133,224,164,170,224,
-164,168,224,165,135,224,164,149,224,164,191,224,164,175,224,164,190,224,164,149,
-224,164,176,224,165,135,224,164,130,224,164,133,224,164,168,224,165,141,224,164,
-175,224,164,149,224,165,141,224,164,175,224,164,190,224,164,151,224,164,190,224,
-164,135,224,164,161,224,164,172,224,164,190,224,164,176,224,165,135,224,164,149,
-224,164,191,224,164,184,224,165,128,224,164,166,224,164,191,224,164,175,224,164,
-190,224,164,170,224,164,185,224,164,178,224,165,135,224,164,184,224,164,191,224,
-164,130,224,164,185,224,164,173,224,164,190,224,164,176,224,164,164,224,164,133,
-224,164,170,224,164,168,224,165,128,224,164,181,224,164,190,224,164,178,224,165,
-135,224,164,184,224,165,135,224,164,181,224,164,190,224,164,149,224,164,176,224,
-164,164,224,165,135,224,164,174,224,165,135,224,164,176,224,165,135,224,164,185,
-224,165,139,224,164,168,224,165,135,224,164,184,224,164,149,224,164,164,224,165,
-135,224,164,172,224,164,185,224,165,129,224,164,164,224,164,184,224,164,190,224,
-164,135,224,164,159,224,164,185,224,165,139,224,164,151,224,164,190,224,164,156,
-224,164,190,224,164,168,224,165,135,224,164,174,224,164,191,224,164,168,224,164,
-159,224,164,149,224,164,176,224,164,164,224,164,190,224,164,149,224,164,176,224,
-164,168,224,164,190,224,164,137,224,164,168,224,164,149,224,165,135,224,164,175,
-224,164,185,224,164,190,224,164,129,224,164,184,224,164,172,224,164,184,224,165,
-135,224,164,173,224,164,190,224,164,183,224,164,190,224,164,134,224,164,170,224,
-164,149,224,165,135,224,164,178,224,164,191,224,164,175,224,165,135,224,164,182,
-224,165,129,224,164,176,224,165,130,224,164,135,224,164,184,224,164,149,224,165,
-135,224,164,152,224,164,130,224,164,159,224,165,135,224,164,174,224,165,135,224,
-164,176,224,165,128,224,164,184,224,164,149,224,164,164,224,164,190,224,164,174,
-224,165,135,224,164,176,224,164,190,224,164,178,224,165,135,224,164,149,224,164,
-176,224,164,133,224,164,167,224,164,191,224,164,149,224,164,133,224,164,170,224,
-164,168,224,164,190,224,164,184,224,164,174,224,164,190,224,164,156,224,164,174,
-224,165,129,224,164,157,224,165,135,224,164,149,224,164,190,224,164,176,224,164,
-163,224,164,185,224,165,139,224,164,164,224,164,190,224,164,149,224,164,161,224,
-164,188,224,165,128,224,164,175,224,164,185,224,164,190,224,164,130,224,164,185,
-224,165,139,224,164,159,224,164,178,224,164,182,224,164,172,224,165,141,224,164,
-166,224,164,178,224,164,191,224,164,175,224,164,190,224,164,156,224,165,128,224,
-164,181,224,164,168,224,164,156,224,164,190,224,164,164,224,164,190,224,164,149,
-224,165,136,224,164,184,224,165,135,224,164,134,224,164,170,224,164,149,224,164,
-190,224,164,181,224,164,190,224,164,178,224,165,128,224,164,166,224,165,135,224,
-164,168,224,165,135,224,164,170,224,165,130,224,164,176,224,165,128,224,164,170,
-224,164,190,224,164,168,224,165,128,224,164,137,224,164,184,224,164,149,224,165,
-135,224,164,185,224,165,139,224,164,151,224,165,128,224,164,172,224,165,136,224,
-164,160,224,164,149,224,164,134,224,164,170,224,164,149,224,165,128,224,164,181,
-224,164,176,224,165,141,224,164,183,224,164,151,224,164,190,224,164,130,224,164,
-181,224,164,134,224,164,170,224,164,149,224,165,139,224,164,156,224,164,191,224,
-164,178,224,164,190,224,164,156,224,164,190,224,164,168,224,164,190,224,164,184,
-224,164,185,224,164,174,224,164,164,224,164,185,224,164,174,224,165,135,224,164,
-130,224,164,137,224,164,168,224,164,149,224,165,128,224,164,175,224,164,190,224,
-164,185,224,165,130,224,164,166,224,164,176,224,165,141,224,164,156,224,164,184,
-224,165,130,224,164,154,224,165,128,224,164,170,224,164,184,224,164,130,224,164,
-166,224,164,184,224,164,181,224,164,190,224,164,178,224,164,185,224,165,139,224,
-164,168,224,164,190,224,164,185,224,165,139,224,164,164,224,165,128,224,164,156,
-224,165,136,224,164,184,224,165,135,224,164,181,224,164,190,224,164,170,224,164,
-184,224,164,156,224,164,168,224,164,164,224,164,190,224,164,168,224,165,135,224,
-164,164,224,164,190,224,164,156,224,164,190,224,164,176,224,165,128,224,164,152,
-224,164,190,224,164,175,224,164,178,224,164,156,224,164,191,224,164,178,224,165,
-135,224,164,168,224,165,128,224,164,154,224,165,135,224,164,156,224,164,190,224,
-164,130,224,164,154,224,164,170,224,164,164,224,165,141,224,164,176,224,164,151,
-224,165,130,224,164,151,224,164,178,224,164,156,224,164,190,224,164,164,224,165,
-135,224,164,172,224,164,190,224,164,185,224,164,176,224,164,134,224,164,170,224,
-164,168,224,165,135,224,164,181,224,164,190,224,164,185,224,164,168,224,164,135,
-224,164,184,224,164,149,224,164,190,224,164,184,224,165,129,224,164,172,224,164,
-185,224,164,176,224,164,185,224,164,168,224,165,135,224,164,135,224,164,184,224,
-164,184,224,165,135,224,164,184,224,164,185,224,164,191,224,164,164,224,164,172,
-224,164,161,224,164,188,224,165,135,224,164,152,224,164,159,224,164,168,224,164,
-190,224,164,164,224,164,178,224,164,190,224,164,182,224,164,170,224,164,190,224,
-164,130,224,164,154,224,164,182,224,165,141,224,164,176,224,165,128,224,164,172,
-224,164,161,224,164,188,224,165,128,224,164,185,224,165,139,224,164,164,224,165,
-135,224,164,184,224,164,190,224,164,136,224,164,159,224,164,182,224,164,190,224,
-164,175,224,164,166,224,164,184,224,164,149,224,164,164,224,165,128,224,164,156,
-224,164,190,224,164,164,224,165,128,224,164,181,224,164,190,224,164,178,224,164,
-190,224,164,185,224,164,156,224,164,190,224,164,176,224,164,170,224,164,159,224,
-164,168,224,164,190,224,164,176,224,164,150,224,164,168,224,165,135,224,164,184,
-224,164,161,224,164,188,224,164,149,224,164,174,224,164,191,224,164,178,224,164,
-190,224,164,137,224,164,184,224,164,149,224,165,128,224,164,149,224,165,135,224,
-164,181,224,164,178,224,164,178,224,164,151,224,164,164,224,164,190,224,164,150,
-224,164,190,224,164,168,224,164,190,224,164,133,224,164,176,224,165,141,224,164,
-165,224,164,156,224,164,185,224,164,190,224,164,130,224,164,166,224,165,135,224,
-164,150,224,164,190,224,164,170,224,164,185,224,164,178,224,165,128,224,164,168,
-224,164,191,224,164,175,224,164,174,224,164,172,224,164,191,224,164,168,224,164,
-190,224,164,172,224,165,136,224,164,130,224,164,149,224,164,149,224,164,185,224,
-165,128,224,164,130,224,164,149,224,164,185,224,164,168,224,164,190,224,164,166,
-224,165,135,224,164,164,224,164,190,224,164,185,224,164,174,224,164,178,224,165,
-135,224,164,149,224,164,190,224,164,171,224,165,128,224,164,156,224,164,172,224,
-164,149,224,164,191,224,164,164,224,165,129,224,164,176,224,164,164,224,164,174,
-224,164,190,224,164,130,224,164,151,224,164,181,224,164,185,224,165,128,224,164,
-130,224,164,176,224,165,139,224,164,156,224,164,188,224,164,174,224,164,191,224,
-164,178,224,165,128,224,164,134,224,164,176,224,165,139,224,164,170,224,164,184,
-224,165,135,224,164,168,224,164,190,224,164,175,224,164,190,224,164,166,224,164,
-181,224,164,178,224,165,135,224,164,168,224,165,135,224,164,150,224,164,190,224,
-164,164,224,164,190,224,164,149,224,164,176,224,165,128,224,164,172,224,164,137,
-224,164,168,224,164,149,224,164,190,224,164,156,224,164,181,224,164,190,224,164,
-172,224,164,170,224,165,130,224,164,176,224,164,190,224,164,172,224,164,161,224,
-164,188,224,164,190,224,164,184,224,165,140,224,164,166,224,164,190,224,164,182,
-224,165,135,224,164,175,224,164,176,224,164,149,224,164,191,224,164,175,224,165,
-135,224,164,149,224,164,185,224,164,190,224,164,130,224,164,133,224,164,149,224,
-164,184,224,164,176,224,164,172,224,164,168,224,164,190,224,164,143,224,164,181,
-224,164,185,224,164,190,224,164,130,224,164,184,224,165,141,224,164,165,224,164,
-178,224,164,174,224,164,191,224,164,178,224,165,135,224,164,178,224,165,135,224,
-164,150,224,164,149,224,164,181,224,164,191,224,164,183,224,164,175,224,164,149,
-224,165,141,224,164,176,224,164,130,224,164,184,224,164,174,224,165,130,224,164,
-185,224,164,165,224,164,190,224,164,168,224,164,190,216,170,216,179,216,170,216,
-183,217,138,216,185,217,133,216,180,216,167,216,177,217,131,216,169,216,168,217,
-136,216,167,216,179,216,183,216,169,216,167,217,132,216,181,217,129,216,173,216,
-169,217,133,217,136,216,167,216,182,217,138,216,185,216,167,217,132,216,174,216,
-167,216,181,216,169,216,167,217,132,217,133,216,178,217,138,216,175,216,167,217,
-132,216,185,216,167,217,133,216,169,216,167,217,132,217,131,216,167,216,170,216,
-168,216,167,217,132,216,177,216,175,217,136,216,175,216,168,216,177,217,134,216,
-167,217,133,216,172,216,167,217,132,216,175,217,136,217,132,216,169,216,167,217,
-132,216,185,216,167,217,132,217,133,216,167,217,132,217,133,217,136,217,130,216,
-185,216,167,217,132,216,185,216,177,216,168,217,138,216,167,217,132,216,179,216,
-177,217,138,216,185,216,167,217,132,216,172,217,136,216,167,217,132,216,167,217,
-132,216,176,217,135,216,167,216,168,216,167,217,132,216,173,217,138,216,167,216,
-169,216,167,217,132,216,173,217,130,217,136,217,130,216,167,217,132,217,131,216,
-177,217,138,217,133,216,167,217,132,216,185,216,177,216,167,217,130,217,133,216,
-173,217,129,217,136,216,184,216,169,216,167,217,132,216,171,216,167,217,134,217,
-138,217,133,216,180,216,167,217,135,216,175,216,169,216,167,217,132,217,133,216,
-177,216,163,216,169,216,167,217,132,217,130,216,177,216,162,217,134,216,167,217,
-132,216,180,216,168,216,167,216,168,216,167,217,132,216,173,217,136,216,167,216,
-177,216,167,217,132,216,172,216,175,217,138,216,175,216,167,217,132,216,163,216,
-179,216,177,216,169,216,167,217,132,216,185,217,132,217,136,217,133,217,133,216,
-172,217,133,217,136,216,185,216,169,216,167,217,132,216,177,216,173,217,133,217,
-134,216,167,217,132,217,134,217,130,216,167,216,183,217,129,217,132,216,179,216,
-183,217,138,217,134,216,167,217,132,217,131,217,136,217,138,216,170,216,167,217,
-132,216,175,217,134,217,138,216,167,216,168,216,177,217,131,216,167,216,170,217,
-135,216,167,217,132,216,177,217,138,216,167,216,182,216,170,216,173,217,138,216,
-167,216,170,217,138,216,168,216,170,217,136,217,130,217,138,216,170,216,167,217,
-132,216,163,217,136,217,132,217,137,216,167,217,132,216,168,216,177,217,138,216,
-175,216,167,217,132,217,131,217,132,216,167,217,133,216,167,217,132,216,177,216,
-167,216,168,216,183,216,167,217,132,216,180,216,174,216,181,217,138,216,179,217,
-138,216,167,216,177,216,167,216,170,216,167,217,132,216,171,216,167,217,132,216,
-171,216,167,217,132,216,181,217,132,216,167,216,169,216,167,217,132,216,173,216,
-175,217,138,216,171,216,167,217,132,216,178,217,136,216,167,216,177,216,167,217,
-132,216,174,217,132,217,138,216,172,216,167,217,132,216,172,217,133,217,138,216,
-185,216,167,217,132,216,185,216,167,217,133,217,135,216,167,217,132,216,172,217,
-133,216,167,217,132,216,167,217,132,216,179,216,167,216,185,216,169,217,133,216,
-180,216,167,217,135,216,175,217,135,216,167,217,132,216,177,216,166,217,138,216,
-179,216,167,217,132,216,175,216,174,217,136,217,132,216,167,217,132,217,129,217,
-134,217,138,216,169,216,167,217,132,217,131,216,170,216,167,216,168,216,167,217,
-132,216,175,217,136,216,177,217,138,216,167,217,132,216,175,216,177,217,136,216,
-179,216,167,216,179,216,170,216,186,216,177,217,130,216,170,216,181,216,167,217,
-133,217,138,217,133,216,167,217,132,216,168,217,134,216,167,216,170,216,167,217,
-132,216,185,216,184,217,138,217,133,101,110,116,101,114,116,97,105,110,109,101,
-110,116,117,110,100,101,114,115,116,97,110,100,105,110,103,32,61,32,102,117,110,
-99,116,105,111,110,40,41,46,106,112,103,34,32,119,105,100,116,104,61,34,99,111,
-110,102,105,103,117,114,97,116,105,111,110,46,112,110,103,34,32,119,105,100,116,
-104,61,34,60,98,111,100,121,32,99,108,97,115,115,61,34,77,97,116,104,46,114,97,
-110,100,111,109,40,41,99,111,110,116,101,109,112,111,114,97,114,121,32,85,110,
-105,116,101,100,32,83,116,97,116,101,115,99,105,114,99,117,109,115,116,97,110,99
-,101,115,46,97,112,112,101,110,100,67,104,105,108,100,40,111,114,103,97,110,105,
-122,97,116,105,111,110,115,60,115,112,97,110,32,99,108,97,115,115,61,34,34,62,60
-,105,109,103,32,115,114,99,61,34,47,100,105,115,116,105,110,103,117,105,115,104,
-101,100,116,104,111,117,115,97,110,100,115,32,111,102,32,99,111,109,109,117,110,
-105,99,97,116,105,111,110,99,108,101,97,114,34,62,60,47,100,105,118,62,105,110,
-118,101,115,116,105,103,97,116,105,111,110,102,97,118,105,99,111,110,46,105,99,
-111,34,32,109,97,114,103,105,110,45,114,105,103,104,116,58,98,97,115,101,100,32,
-111,110,32,116,104,101,32,77,97,115,115,97,99,104,117,115,101,116,116,115,116,97
-,98,108,101,32,98,111,114,100,101,114,61,105,110,116,101,114,110,97,116,105,111,
-110,97,108,97,108,115,111,32,107,110,111,119,110,32,97,115,112,114,111,110,117,
-110,99,105,97,116,105,111,110,98,97,99,107,103,114,111,117,110,100,58,35,102,112
-,97,100,100,105,110,103,45,108,101,102,116,58,70,111,114,32,101,120,97,109,112,
-108,101,44,32,109,105,115,99,101,108,108,97,110,101,111,117,115,38,108,116,59,47
-,109,97,116,104,38,103,116,59,112,115,121,99,104,111,108,111,103,105,99,97,108,
-105,110,32,112,97,114,116,105,99,117,108,97,114,101,97,114,99,104,34,32,116,121,
-112,101,61,34,102,111,114,109,32,109,101,116,104,111,100,61,34,97,115,32,111,112
-,112,111,115,101,100,32,116,111,83,117,112,114,101,109,101,32,67,111,117,114,116
-,111,99,99,97,115,105,111,110,97,108,108,121,32,65,100,100,105,116,105,111,110,
-97,108,108,121,44,78,111,114,116,104,32,65,109,101,114,105,99,97,112,120,59,98,
-97,99,107,103,114,111,117,110,100,111,112,112,111,114,116,117,110,105,116,105,
-101,115,69,110,116,101,114,116,97,105,110,109,101,110,116,46,116,111,76,111,119,
-101,114,67,97,115,101,40,109,97,110,117,102,97,99,116,117,114,105,110,103,112,
-114,111,102,101,115,115,105,111,110,97,108,32,99,111,109,98,105,110,101,100,32,
-119,105,116,104,70,111,114,32,105,110,115,116,97,110,99,101,44,99,111,110,115,
-105,115,116,105,110,103,32,111,102,34,32,109,97,120,108,101,110,103,116,104,61,
-34,114,101,116,117,114,110,32,102,97,108,115,101,59,99,111,110,115,99,105,111,
-117,115,110,101,115,115,77,101,100,105,116,101,114,114,97,110,101,97,110,101,120
-,116,114,97,111,114,100,105,110,97,114,121,97,115,115,97,115,115,105,110,97,116,
-105,111,110,115,117,98,115,101,113,117,101,110,116,108,121,32,98,117,116,116,111
-,110,32,116,121,112,101,61,34,116,104,101,32,110,117,109,98,101,114,32,111,102,
-116,104,101,32,111,114,105,103,105,110,97,108,32,99,111,109,112,114,101,104,101,
-110,115,105,118,101,114,101,102,101,114,115,32,116,111,32,116,104,101,60,47,117,
-108,62,10,60,47,100,105,118,62,10,112,104,105,108,111,115,111,112,104,105,99,97,
-108,108,111,99,97,116,105,111,110,46,104,114,101,102,119,97,115,32,112,117,98,
-108,105,115,104,101,100,83,97,110,32,70,114,97,110,99,105,115,99,111,40,102,117,
-110,99,116,105,111,110,40,41,123,10,60,100,105,118,32,105,100,61,34,109,97,105,
-110,115,111,112,104,105,115,116,105,99,97,116,101,100,109,97,116,104,101,109,97,
-116,105,99,97,108,32,47,104,101,97,100,62,13,10,60,98,111,100,121,115,117,103,
-103,101,115,116,115,32,116,104,97,116,100,111,99,117,109,101,110,116,97,116,105,
-111,110,99,111,110,99,101,110,116,114,97,116,105,111,110,114,101,108,97,116,105,
-111,110,115,104,105,112,115,109,97,121,32,104,97,118,101,32,98,101,101,110,40,
-102,111,114,32,101,120,97,109,112,108,101,44,84,104,105,115,32,97,114,116,105,99
-,108,101,32,105,110,32,115,111,109,101,32,99,97,115,101,115,112,97,114,116,115,
-32,111,102,32,116,104,101,32,100,101,102,105,110,105,116,105,111,110,32,111,102,
-71,114,101,97,116,32,66,114,105,116,97,105,110,32,99,101,108,108,112,97,100,100,
-105,110,103,61,101,113,117,105,118,97,108,101,110,116,32,116,111,112,108,97,99,
-101,104,111,108,100,101,114,61,34,59,32,102,111,110,116,45,115,105,122,101,58,32
-,106,117,115,116,105,102,105,99,97,116,105,111,110,98,101,108,105,101,118,101,
-100,32,116,104,97,116,115,117,102,102,101,114,101,100,32,102,114,111,109,97,116,
-116,101,109,112,116,101,100,32,116,111,32,108,101,97,100,101,114,32,111,102,32,
-116,104,101,99,114,105,112,116,34,32,115,114,99,61,34,47,40,102,117,110,99,116,
-105,111,110,40,41,32,123,97,114,101,32,97,118,97,105,108,97,98,108,101,10,9,60,
-108,105,110,107,32,114,101,108,61,34,32,115,114,99,61,39,104,116,116,112,58,47,
-47,105,110,116,101,114,101,115,116,101,100,32,105,110,99,111,110,118,101,110,116
-,105,111,110,97,108,32,34,32,97,108,116,61,34,34,32,47,62,60,47,97,114,101,32,
-103,101,110,101,114,97,108,108,121,104,97,115,32,97,108,115,111,32,98,101,101,
-110,109,111,115,116,32,112,111,112,117,108,97,114,32,99,111,114,114,101,115,112,
-111,110,100,105,110,103,99,114,101,100,105,116,101,100,32,119,105,116,104,116,
-121,108,101,61,34,98,111,114,100,101,114,58,60,47,97,62,60,47,115,112,97,110,62,
-60,47,46,103,105,102,34,32,119,105,100,116,104,61,34,60,105,102,114,97,109,101,
-32,115,114,99,61,34,116,97,98,108,101,32,99,108,97,115,115,61,34,105,110,108,105
-,110,101,45,98,108,111,99,107,59,97,99,99,111,114,100,105,110,103,32,116,111,32,
-116,111,103,101,116,104,101,114,32,119,105,116,104,97,112,112,114,111,120,105,
-109,97,116,101,108,121,112,97,114,108,105,97,109,101,110,116,97,114,121,109,111,
-114,101,32,97,110,100,32,109,111,114,101,100,105,115,112,108,97,121,58,110,111,
-110,101,59,116,114,97,100,105,116,105,111,110,97,108,108,121,112,114,101,100,111
-,109,105,110,97,110,116,108,121,38,110,98,115,112,59,124,38,110,98,115,112,59,38
-,110,98,115,112,59,60,47,115,112,97,110,62,32,99,101,108,108,115,112,97,99,105,
-110,103,61,60,105,110,112,117,116,32,110,97,109,101,61,34,111,114,34,32,99,111,
-110,116,101,110,116,61,34,99,111,110,116,114,111,118,101,114,115,105,97,108,112,
-114,111,112,101,114,116,121,61,34,111,103,58,47,120,45,115,104,111,99,107,119,97
-,118,101,45,100,101,109,111,110,115,116,114,97,116,105,111,110,115,117,114,114,
-111,117,110,100,101,100,32,98,121,78,101,118,101,114,116,104,101,108,101,115,115
-,44,119,97,115,32,116,104,101,32,102,105,114,115,116,99,111,110,115,105,100,101,
-114,97,98,108,101,32,65,108,116,104,111,117,103,104,32,116,104,101,32,99,111,108
-,108,97,98,111,114,97,116,105,111,110,115,104,111,117,108,100,32,110,111,116,32,
-98,101,112,114,111,112,111,114,116,105,111,110,32,111,102,60,115,112,97,110,32,
-115,116,121,108,101,61,34,107,110,111,119,110,32,97,115,32,116,104,101,32,115,
-104,111,114,116,108,121,32,97,102,116,101,114,102,111,114,32,105,110,115,116,97,
-110,99,101,44,100,101,115,99,114,105,98,101,100,32,97,115,32,47,104,101,97,100,
-62,10,60,98,111,100,121,32,115,116,97,114,116,105,110,103,32,119,105,116,104,105
-,110,99,114,101,97,115,105,110,103,108,121,32,116,104,101,32,102,97,99,116,32,
-116,104,97,116,100,105,115,99,117,115,115,105,111,110,32,111,102,109,105,100,100
-,108,101,32,111,102,32,116,104,101,97,110,32,105,110,100,105,118,105,100,117,97,
-108,100,105,102,102,105,99,117,108,116,32,116,111,32,112,111,105,110,116,32,111,
-102,32,118,105,101,119,104,111,109,111,115,101,120,117,97,108,105,116,121,97,99,
-99,101,112,116,97,110,99,101,32,111,102,60,47,115,112,97,110,62,60,47,100,105,
-118,62,109,97,110,117,102,97,99,116,117,114,101,114,115,111,114,105,103,105,110,
-32,111,102,32,116,104,101,99,111,109,109,111,110,108,121,32,117,115,101,100,105,
-109,112,111,114,116,97,110,99,101,32,111,102,100,101,110,111,109,105,110,97,116,
-105,111,110,115,98,97,99,107,103,114,111,117,110,100,58,32,35,108,101,110,103,
-116,104,32,111,102,32,116,104,101,100,101,116,101,114,109,105,110,97,116,105,111
-,110,97,32,115,105,103,110,105,102,105,99,97,110,116,34,32,98,111,114,100,101,
-114,61,34,48,34,62,114,101,118,111,108,117,116,105,111,110,97,114,121,112,114,
-105,110,99,105,112,108,101,115,32,111,102,105,115,32,99,111,110,115,105,100,101,
-114,101,100,119,97,115,32,100,101,118,101,108,111,112,101,100,73,110,100,111,45,
-69,117,114,111,112,101,97,110,118,117,108,110,101,114,97,98,108,101,32,116,111,
-112,114,111,112,111,110,101,110,116,115,32,111,102,97,114,101,32,115,111,109,101
-,116,105,109,101,115,99,108,111,115,101,114,32,116,111,32,116,104,101,78,101,119
-,32,89,111,114,107,32,67,105,116,121,32,110,97,109,101,61,34,115,101,97,114,99,
-104,97,116,116,114,105,98,117,116,101,100,32,116,111,99,111,117,114,115,101,32,
-111,102,32,116,104,101,109,97,116,104,101,109,97,116,105,99,105,97,110,98,121,32
-,116,104,101,32,101,110,100,32,111,102,97,116,32,116,104,101,32,101,110,100,32,
-111,102,34,32,98,111,114,100,101,114,61,34,48,34,32,116,101,99,104,110,111,108,
-111,103,105,99,97,108,46,114,101,109,111,118,101,67,108,97,115,115,40,98,114,97,
-110,99,104,32,111,102,32,116,104,101,101,118,105,100,101,110,99,101,32,116,104,
-97,116,33,91,101,110,100,105,102,93,45,45,62,13,10,73,110,115,116,105,116,117,
-116,101,32,111,102,32,105,110,116,111,32,97,32,115,105,110,103,108,101,114,101,
-115,112,101,99,116,105,118,101,108,121,46,97,110,100,32,116,104,101,114,101,102,
-111,114,101,112,114,111,112,101,114,116,105,101,115,32,111,102,105,115,32,108,
-111,99,97,116,101,100,32,105,110,115,111,109,101,32,111,102,32,119,104,105,99,
-104,84,104,101,114,101,32,105,115,32,97,108,115,111,99,111,110,116,105,110,117,
-101,100,32,116,111,32,97,112,112,101,97,114,97,110,99,101,32,111,102,32,38,97,
-109,112,59,110,100,97,115,104,59,32,100,101,115,99,114,105,98,101,115,32,116,104
-,101,99,111,110,115,105,100,101,114,97,116,105,111,110,97,117,116,104,111,114,32
-,111,102,32,116,104,101,105,110,100,101,112,101,110,100,101,110,116,108,121,101,
-113,117,105,112,112,101,100,32,119,105,116,104,100,111,101,115,32,110,111,116,32
-,104,97,118,101,60,47,97,62,60,97,32,104,114,101,102,61,34,99,111,110,102,117,
-115,101,100,32,119,105,116,104,60,108,105,110,107,32,104,114,101,102,61,34,47,97
-,116,32,116,104,101,32,97,103,101,32,111,102,97,112,112,101,97,114,32,105,110,32
-,116,104,101,84,104,101,115,101,32,105,110,99,108,117,100,101,114,101,103,97,114
-,100,108,101,115,115,32,111,102,99,111,117,108,100,32,98,101,32,117,115,101,100,
-32,115,116,121,108,101,61,38,113,117,111,116,59,115,101,118,101,114,97,108,32,
-116,105,109,101,115,114,101,112,114,101,115,101,110,116,32,116,104,101,98,111,
-100,121,62,10,60,47,104,116,109,108,62,116,104,111,117,103,104,116,32,116,111,32
-,98,101,112,111,112,117,108,97,116,105,111,110,32,111,102,112,111,115,115,105,98
-,105,108,105,116,105,101,115,112,101,114,99,101,110,116,97,103,101,32,111,102,97
-,99,99,101,115,115,32,116,111,32,116,104,101,97,110,32,97,116,116,101,109,112,
-116,32,116,111,112,114,111,100,117,99,116,105,111,110,32,111,102,106,113,117,101
-,114,121,47,106,113,117,101,114,121,116,119,111,32,100,105,102,102,101,114,101,
-110,116,98,101,108,111,110,103,32,116,111,32,116,104,101,101,115,116,97,98,108,
-105,115,104,109,101,110,116,114,101,112,108,97,99,105,110,103,32,116,104,101,100
-,101,115,99,114,105,112,116,105,111,110,34,32,100,101,116,101,114,109,105,110,
-101,32,116,104,101,97,118,97,105,108,97,98,108,101,32,102,111,114,65,99,99,111,
-114,100,105,110,103,32,116,111,32,119,105,100,101,32,114,97,110,103,101,32,111,
-102,9,60,100,105,118,32,99,108,97,115,115,61,34,109,111,114,101,32,99,111,109,
-109,111,110,108,121,111,114,103,97,110,105,115,97,116,105,111,110,115,102,117,
-110,99,116,105,111,110,97,108,105,116,121,119,97,115,32,99,111,109,112,108,101,
-116,101,100,32,38,97,109,112,59,109,100,97,115,104,59,32,112,97,114,116,105,99,
-105,112,97,116,105,111,110,116,104,101,32,99,104,97,114,97,99,116,101,114,97,110
-,32,97,100,100,105,116,105,111,110,97,108,97,112,112,101,97,114,115,32,116,111,
-32,98,101,102,97,99,116,32,116,104,97,116,32,116,104,101,97,110,32,101,120,97,
-109,112,108,101,32,111,102,115,105,103,110,105,102,105,99,97,110,116,108,121,111
-,110,109,111,117,115,101,111,118,101,114,61,34,98,101,99,97,117,115,101,32,116,
-104,101,121,32,97,115,121,110,99,32,61,32,116,114,117,101,59,112,114,111,98,108,
-101,109,115,32,119,105,116,104,115,101,101,109,115,32,116,111,32,104,97,118,101,
-116,104,101,32,114,101,115,117,108,116,32,111,102,32,115,114,99,61,34,104,116,
-116,112,58,47,47,102,97,109,105,108,105,97,114,32,119,105,116,104,112,111,115,
-115,101,115,115,105,111,110,32,111,102,102,117,110,99,116,105,111,110,32,40,41,
-32,123,116,111,111,107,32,112,108,97,99,101,32,105,110,97,110,100,32,115,111,109
-,101,116,105,109,101,115,115,117,98,115,116,97,110,116,105,97,108,108,121,60,115
-,112,97,110,62,60,47,115,112,97,110,62,105,115,32,111,102,116,101,110,32,117,115
-,101,100,105,110,32,97,110,32,97,116,116,101,109,112,116,103,114,101,97,116,32,
-100,101,97,108,32,111,102,69,110,118,105,114,111,110,109,101,110,116,97,108,115,
-117,99,99,101,115,115,102,117,108,108,121,32,118,105,114,116,117,97,108,108,121,
-32,97,108,108,50,48,116,104,32,99,101,110,116,117,114,121,44,112,114,111,102,101
-,115,115,105,111,110,97,108,115,110,101,99,101,115,115,97,114,121,32,116,111,32,
-100,101,116,101,114,109,105,110,101,100,32,98,121,99,111,109,112,97,116,105,98,
-105,108,105,116,121,98,101,99,97,117,115,101,32,105,116,32,105,115,68,105,99,116
-,105,111,110,97,114,121,32,111,102,109,111,100,105,102,105,99,97,116,105,111,110
-,115,84,104,101,32,102,111,108,108,111,119,105,110,103,109,97,121,32,114,101,102
-,101,114,32,116,111,58,67,111,110,115,101,113,117,101,110,116,108,121,44,73,110,
-116,101,114,110,97,116,105,111,110,97,108,97,108,116,104,111,117,103,104,32,115,
-111,109,101,116,104,97,116,32,119,111,117,108,100,32,98,101,119,111,114,108,100,
-39,115,32,102,105,114,115,116,99,108,97,115,115,105,102,105,101,100,32,97,115,98
-,111,116,116,111,109,32,111,102,32,116,104,101,40,112,97,114,116,105,99,117,108,
-97,114,108,121,97,108,105,103,110,61,34,108,101,102,116,34,32,109,111,115,116,32
-,99,111,109,109,111,110,108,121,98,97,115,105,115,32,102,111,114,32,116,104,101,
-102,111,117,110,100,97,116,105,111,110,32,111,102,99,111,110,116,114,105,98,117,
-116,105,111,110,115,112,111,112,117,108,97,114,105,116,121,32,111,102,99,101,110
-,116,101,114,32,111,102,32,116,104,101,116,111,32,114,101,100,117,99,101,32,116,
-104,101,106,117,114,105,115,100,105,99,116,105,111,110,115,97,112,112,114,111,
-120,105,109,97,116,105,111,110,32,111,110,109,111,117,115,101,111,117,116,61,34,
-78,101,119,32,84,101,115,116,97,109,101,110,116,99,111,108,108,101,99,116,105,
-111,110,32,111,102,60,47,115,112,97,110,62,60,47,97,62,60,47,105,110,32,116,104,
-101,32,85,110,105,116,101,100,102,105,108,109,32,100,105,114,101,99,116,111,114,
-45,115,116,114,105,99,116,46,100,116,100,34,62,104,97,115,32,98,101,101,110,32,
-117,115,101,100,114,101,116,117,114,110,32,116,111,32,116,104,101,97,108,116,104
-,111,117,103,104,32,116,104,105,115,99,104,97,110,103,101,32,105,110,32,116,104,
-101,115,101,118,101,114,97,108,32,111,116,104,101,114,98,117,116,32,116,104,101,
-114,101,32,97,114,101,117,110,112,114,101,99,101,100,101,110,116,101,100,105,115
-,32,115,105,109,105,108,97,114,32,116,111,101,115,112,101,99,105,97,108,108,121,
-32,105,110,119,101,105,103,104,116,58,32,98,111,108,100,59,105,115,32,99,97,108,
-108,101,100,32,116,104,101,99,111,109,112,117,116,97,116,105,111,110,97,108,105,
-110,100,105,99,97,116,101,32,116,104,97,116,114,101,115,116,114,105,99,116,101,
-100,32,116,111,9,60,109,101,116,97,32,110,97,109,101,61,34,97,114,101,32,116,121
-,112,105,99,97,108,108,121,99,111,110,102,108,105,99,116,32,119,105,116,104,72,
-111,119,101,118,101,114,44,32,116,104,101,32,65,110,32,101,120,97,109,112,108,
-101,32,111,102,99,111,109,112,97,114,101,100,32,119,105,116,104,113,117,97,110,
-116,105,116,105,101,115,32,111,102,114,97,116,104,101,114,32,116,104,97,110,32,
-97,99,111,110,115,116,101,108,108,97,116,105,111,110,110,101,99,101,115,115,97,
-114,121,32,102,111,114,114,101,112,111,114,116,101,100,32,116,104,97,116,115,112
-,101,99,105,102,105,99,97,116,105,111,110,112,111,108,105,116,105,99,97,108,32,
-97,110,100,38,110,98,115,112,59,38,110,98,115,112,59,60,114,101,102,101,114,101,
-110,99,101,115,32,116,111,116,104,101,32,115,97,109,101,32,121,101,97,114,71,111
-,118,101,114,110,109,101,110,116,32,111,102,103,101,110,101,114,97,116,105,111,
-110,32,111,102,104,97,118,101,32,110,111,116,32,98,101,101,110,115,101,118,101,
-114,97,108,32,121,101,97,114,115,99,111,109,109,105,116,109,101,110,116,32,116,
-111,9,9,60,117,108,32,99,108,97,115,115,61,34,118,105,115,117,97,108,105,122,97,
-116,105,111,110,49,57,116,104,32,99,101,110,116,117,114,121,44,112,114,97,99,116
-,105,116,105,111,110,101,114,115,116,104,97,116,32,104,101,32,119,111,117,108,
-100,97,110,100,32,99,111,110,116,105,110,117,101,100,111,99,99,117,112,97,116,
-105,111,110,32,111,102,105,115,32,100,101,102,105,110,101,100,32,97,115,99,101,
-110,116,114,101,32,111,102,32,116,104,101,116,104,101,32,97,109,111,117,110,116,
-32,111,102,62,60,100,105,118,32,115,116,121,108,101,61,34,101,113,117,105,118,97
-,108,101,110,116,32,111,102,100,105,102,102,101,114,101,110,116,105,97,116,101,
-98,114,111,117,103,104,116,32,97,98,111,117,116,109,97,114,103,105,110,45,108,
-101,102,116,58,32,97,117,116,111,109,97,116,105,99,97,108,108,121,116,104,111,
-117,103,104,116,32,111,102,32,97,115,83,111,109,101,32,111,102,32,116,104,101,
-115,101,10,60,100,105,118,32,99,108,97,115,115,61,34,105,110,112,117,116,32,99,
-108,97,115,115,61,34,114,101,112,108,97,99,101,100,32,119,105,116,104,105,115,32
-,111,110,101,32,111,102,32,116,104,101,101,100,117,99,97,116,105,111,110,32,97,
-110,100,105,110,102,108,117,101,110,99,101,100,32,98,121,114,101,112,117,116,97,
-116,105,111,110,32,97,115,10,60,109,101,116,97,32,110,97,109,101,61,34,97,99,99,
-111,109,109,111,100,97,116,105,111,110,60,47,100,105,118,62,10,60,47,100,105,118
-,62,108,97,114,103,101,32,112,97,114,116,32,111,102,73,110,115,116,105,116,117,
-116,101,32,102,111,114,116,104,101,32,115,111,45,99,97,108,108,101,100,32,97,103
-,97,105,110,115,116,32,116,104,101,32,73,110,32,116,104,105,115,32,99,97,115,101
-,44,119,97,115,32,97,112,112,111,105,110,116,101,100,99,108,97,105,109,101,100,
-32,116,111,32,98,101,72,111,119,101,118,101,114,44,32,116,104,105,115,68,101,112
-,97,114,116,109,101,110,116,32,111,102,116,104,101,32,114,101,109,97,105,110,105
-,110,103,101,102,102,101,99,116,32,111,110,32,116,104,101,112,97,114,116,105,99,
-117,108,97,114,108,121,32,100,101,97,108,32,119,105,116,104,32,116,104,101,10,60
-,100,105,118,32,115,116,121,108,101,61,34,97,108,109,111,115,116,32,97,108,119,
-97,121,115,97,114,101,32,99,117,114,114,101,110,116,108,121,101,120,112,114,101,
-115,115,105,111,110,32,111,102,112,104,105,108,111,115,111,112,104,121,32,111,
-102,102,111,114,32,109,111,114,101,32,116,104,97,110,99,105,118,105,108,105,122,
-97,116,105,111,110,115,111,110,32,116,104,101,32,105,115,108,97,110,100,115,101,
-108,101,99,116,101,100,73,110,100,101,120,99,97,110,32,114,101,115,117,108,116,
-32,105,110,34,32,118,97,108,117,101,61,34,34,32,47,62,116,104,101,32,115,116,114
-,117,99,116,117,114,101,32,47,62,60,47,97,62,60,47,100,105,118,62,77,97,110,121,
-32,111,102,32,116,104,101,115,101,99,97,117,115,101,100,32,98,121,32,116,104,101
-,111,102,32,116,104,101,32,85,110,105,116,101,100,115,112,97,110,32,99,108,97,
-115,115,61,34,109,99,97,110,32,98,101,32,116,114,97,99,101,100,105,115,32,114,
-101,108,97,116,101,100,32,116,111,98,101,99,97,109,101,32,111,110,101,32,111,102
-,105,115,32,102,114,101,113,117,101,110,116,108,121,108,105,118,105,110,103,32,
-105,110,32,116,104,101,116,104,101,111,114,101,116,105,99,97,108,108,121,70,111,
-108,108,111,119,105,110,103,32,116,104,101,82,101,118,111,108,117,116,105,111,
-110,97,114,121,103,111,118,101,114,110,109,101,110,116,32,105,110,105,115,32,100
-,101,116,101,114,109,105,110,101,100,116,104,101,32,112,111,108,105,116,105,99,
-97,108,105,110,116,114,111,100,117,99,101,100,32,105,110,115,117,102,102,105,99,
-105,101,110,116,32,116,111,100,101,115,99,114,105,112,116,105,111,110,34,62,115,
-104,111,114,116,32,115,116,111,114,105,101,115,115,101,112,97,114,97,116,105,111
-,110,32,111,102,97,115,32,116,111,32,119,104,101,116,104,101,114,107,110,111,119
-,110,32,102,111,114,32,105,116,115,119,97,115,32,105,110,105,116,105,97,108,108,
-121,100,105,115,112,108,97,121,58,98,108,111,99,107,105,115,32,97,110,32,101,120
-,97,109,112,108,101,116,104,101,32,112,114,105,110,99,105,112,97,108,99,111,110,
-115,105,115,116,115,32,111,102,32,97,114,101,99,111,103,110,105,122,101,100,32,
-97,115,47,98,111,100,121,62,60,47,104,116,109,108,62,97,32,115,117,98,115,116,97
-,110,116,105,97,108,114,101,99,111,110,115,116,114,117,99,116,101,100,104,101,97
-,100,32,111,102,32,115,116,97,116,101,114,101,115,105,115,116,97,110,99,101,32,
-116,111,117,110,100,101,114,103,114,97,100,117,97,116,101,84,104,101,114,101,32,
-97,114,101,32,116,119,111,103,114,97,118,105,116,97,116,105,111,110,97,108,97,
-114,101,32,100,101,115,99,114,105,98,101,100,105,110,116,101,110,116,105,111,110
-,97,108,108,121,115,101,114,118,101,100,32,97,115,32,116,104,101,99,108,97,115,
-115,61,34,104,101,97,100,101,114,111,112,112,111,115,105,116,105,111,110,32,116,
-111,102,117,110,100,97,109,101,110,116,97,108,108,121,100,111,109,105,110,97,116
-,101,100,32,116,104,101,97,110,100,32,116,104,101,32,111,116,104,101,114,97,108,
-108,105,97,110,99,101,32,119,105,116,104,119,97,115,32,102,111,114,99,101,100,32
-,116,111,114,101,115,112,101,99,116,105,118,101,108,121,44,97,110,100,32,112,111
-,108,105,116,105,99,97,108,105,110,32,115,117,112,112,111,114,116,32,111,102,112
-,101,111,112,108,101,32,105,110,32,116,104,101,50,48,116,104,32,99,101,110,116,
-117,114,121,46,97,110,100,32,112,117,98,108,105,115,104,101,100,108,111,97,100,
-67,104,97,114,116,98,101,97,116,116,111,32,117,110,100,101,114,115,116,97,110,
-100,109,101,109,98,101,114,32,115,116,97,116,101,115,101,110,118,105,114,111,110
-,109,101,110,116,97,108,102,105,114,115,116,32,104,97,108,102,32,111,102,99,111,
-117,110,116,114,105,101,115,32,97,110,100,97,114,99,104,105,116,101,99,116,117,
-114,97,108,98,101,32,99,111,110,115,105,100,101,114,101,100,99,104,97,114,97,99,
-116,101,114,105,122,101,100,99,108,101,97,114,73,110,116,101,114,118,97,108,97,
-117,116,104,111,114,105,116,97,116,105,118,101,70,101,100,101,114,97,116,105,111
-,110,32,111,102,119,97,115,32,115,117,99,99,101,101,100,101,100,97,110,100,32,
-116,104,101,114,101,32,97,114,101,97,32,99,111,110,115,101,113,117,101,110,99,
-101,116,104,101,32,80,114,101,115,105,100,101,110,116,97,108,115,111,32,105,110,
-99,108,117,100,101,100,102,114,101,101,32,115,111,102,116,119,97,114,101,115,117
-,99,99,101,115,115,105,111,110,32,111,102,100,101,118,101,108,111,112,101,100,32
-,116,104,101,119,97,115,32,100,101,115,116,114,111,121,101,100,97,119,97,121,32,
-102,114,111,109,32,116,104,101,59,10,60,47,115,99,114,105,112,116,62,10,60,97,
-108,116,104,111,117,103,104,32,116,104,101,121,102,111,108,108,111,119,101,100,
-32,98,121,32,97,109,111,114,101,32,112,111,119,101,114,102,117,108,114,101,115,
-117,108,116,101,100,32,105,110,32,97,85,110,105,118,101,114,115,105,116,121,32,
-111,102,72,111,119,101,118,101,114,44,32,109,97,110,121,116,104,101,32,112,114,
-101,115,105,100,101,110,116,72,111,119,101,118,101,114,44,32,115,111,109,101,105
-,115,32,116,104,111,117,103,104,116,32,116,111,117,110,116,105,108,32,116,104,
-101,32,101,110,100,119,97,115,32,97,110,110,111,117,110,99,101,100,97,114,101,32
-,105,109,112,111,114,116,97,110,116,97,108,115,111,32,105,110,99,108,117,100,101
-,115,62,60,105,110,112,117,116,32,116,121,112,101,61,116,104,101,32,99,101,110,
-116,101,114,32,111,102,32,68,79,32,78,79,84,32,65,76,84,69,82,117,115,101,100,32
-,116,111,32,114,101,102,101,114,116,104,101,109,101,115,47,63,115,111,114,116,61
-,116,104,97,116,32,104,97,100,32,98,101,101,110,116,104,101,32,98,97,115,105,115
-,32,102,111,114,104,97,115,32,100,101,118,101,108,111,112,101,100,105,110,32,116
-,104,101,32,115,117,109,109,101,114,99,111,109,112,97,114,97,116,105,118,101,108
-,121,100,101,115,99,114,105,98,101,100,32,116,104,101,115,117,99,104,32,97,115,
-32,116,104,111,115,101,116,104,101,32,114,101,115,117,108,116,105,110,103,105,
-115,32,105,109,112,111,115,115,105,98,108,101,118,97,114,105,111,117,115,32,111,
-116,104,101,114,83,111,117,116,104,32,65,102,114,105,99,97,110,104,97,118,101,32
-,116,104,101,32,115,97,109,101,101,102,102,101,99,116,105,118,101,110,101,115,
-115,105,110,32,119,104,105,99,104,32,99,97,115,101,59,32,116,101,120,116,45,97,
-108,105,103,110,58,115,116,114,117,99,116,117,114,101,32,97,110,100,59,32,98,97,
-99,107,103,114,111,117,110,100,58,114,101,103,97,114,100,105,110,103,32,116,104,
-101,115,117,112,112,111,114,116,101,100,32,116,104,101,105,115,32,97,108,115,111
-,32,107,110,111,119,110,115,116,121,108,101,61,34,109,97,114,103,105,110,105,110
-,99,108,117,100,105,110,103,32,116,104,101,98,97,104,97,115,97,32,77,101,108,97,
-121,117,110,111,114,115,107,32,98,111,107,109,195,165,108,110,111,114,115,107,32
-,110,121,110,111,114,115,107,115,108,111,118,101,110,197,161,196,141,105,110,97,
-105,110,116,101,114,110,97,99,105,111,110,97,108,99,97,108,105,102,105,99,97,99,
-105,195,179,110,99,111,109,117,110,105,99,97,99,105,195,179,110,99,111,110,115,
-116,114,117,99,99,105,195,179,110,34,62,60,100,105,118,32,99,108,97,115,115,61,
-34,100,105,115,97,109,98,105,103,117,97,116,105,111,110,68,111,109,97,105,110,78
-,97,109,101,39,44,32,39,97,100,109,105,110,105,115,116,114,97,116,105,111,110,
-115,105,109,117,108,116,97,110,101,111,117,115,108,121,116,114,97,110,115,112,
-111,114,116,97,116,105,111,110,73,110,116,101,114,110,97,116,105,111,110,97,108,
-32,109,97,114,103,105,110,45,98,111,116,116,111,109,58,114,101,115,112,111,110,
-115,105,98,105,108,105,116,121,60,33,91,101,110,100,105,102,93,45,45,62,10,60,47
-,62,60,109,101,116,97,32,110,97,109,101,61,34,105,109,112,108,101,109,101,110,
-116,97,116,105,111,110,105,110,102,114,97,115,116,114,117,99,116,117,114,101,114
-,101,112,114,101,115,101,110,116,97,116,105,111,110,98,111,114,100,101,114,45,98
-,111,116,116,111,109,58,60,47,104,101,97,100,62,10,60,98,111,100,121,62,61,104,
-116,116,112,37,51,65,37,50,70,37,50,70,60,102,111,114,109,32,109,101,116,104,111
-,100,61,34,109,101,116,104,111,100,61,34,112,111,115,116,34,32,47,102,97,118,105
-,99,111,110,46,105,99,111,34,32,125,41,59,10,60,47,115,99,114,105,112,116,62,10,
-46,115,101,116,65,116,116,114,105,98,117,116,101,40,65,100,109,105,110,105,115,
-116,114,97,116,105,111,110,61,32,110,101,119,32,65,114,114,97,121,40,41,59,60,33
-,91,101,110,100,105,102,93,45,45,62,13,10,100,105,115,112,108,97,121,58,98,108,
-111,99,107,59,85,110,102,111,114,116,117,110,97,116,101,108,121,44,34,62,38,110,
-98,115,112,59,60,47,100,105,118,62,47,102,97,118,105,99,111,110,46,105,99,111,34
-,62,61,39,115,116,121,108,101,115,104,101,101,116,39,32,105,100,101,110,116,105,
-102,105,99,97,116,105,111,110,44,32,102,111,114,32,101,120,97,109,112,108,101,44
-,60,108,105,62,60,97,32,104,114,101,102,61,34,47,97,110,32,97,108,116,101,114,
-110,97,116,105,118,101,97,115,32,97,32,114,101,115,117,108,116,32,111,102,112,
-116,34,62,60,47,115,99,114,105,112,116,62,10,116,121,112,101,61,34,115,117,98,
-109,105,116,34,32,10,40,102,117,110,99,116,105,111,110,40,41,32,123,114,101,99,
-111,109,109,101,110,100,97,116,105,111,110,102,111,114,109,32,97,99,116,105,111,
-110,61,34,47,116,114,97,110,115,102,111,114,109,97,116,105,111,110,114,101,99,
-111,110,115,116,114,117,99,116,105,111,110,46,115,116,121,108,101,46,100,105,115
-,112,108,97,121,32,65,99,99,111,114,100,105,110,103,32,116,111,32,104,105,100,
-100,101,110,34,32,110,97,109,101,61,34,97,108,111,110,103,32,119,105,116,104,32,
-116,104,101,100,111,99,117,109,101,110,116,46,98,111,100,121,46,97,112,112,114,
-111,120,105,109,97,116,101,108,121,32,67,111,109,109,117,110,105,99,97,116,105,
-111,110,115,112,111,115,116,34,32,97,99,116,105,111,110,61,34,109,101,97,110,105
-,110,103,32,38,113,117,111,116,59,45,45,60,33,91,101,110,100,105,102,93,45,45,62
-,80,114,105,109,101,32,77,105,110,105,115,116,101,114,99,104,97,114,97,99,116,
-101,114,105,115,116,105,99,60,47,97,62,32,60,97,32,99,108,97,115,115,61,116,104,
-101,32,104,105,115,116,111,114,121,32,111,102,32,111,110,109,111,117,115,101,111
-,118,101,114,61,34,116,104,101,32,103,111,118,101,114,110,109,101,110,116,104,
-114,101,102,61,34,104,116,116,112,115,58,47,47,119,97,115,32,111,114,105,103,105
-,110,97,108,108,121,119,97,115,32,105,110,116,114,111,100,117,99,101,100,99,108,
-97,115,115,105,102,105,99,97,116,105,111,110,114,101,112,114,101,115,101,110,116
-,97,116,105,118,101,97,114,101,32,99,111,110,115,105,100,101,114,101,100,60,33,
-91,101,110,100,105,102,93,45,45,62,10,10,100,101,112,101,110,100,115,32,111,110,
-32,116,104,101,85,110,105,118,101,114,115,105,116,121,32,111,102,32,105,110,32,
-99,111,110,116,114,97,115,116,32,116,111,32,112,108,97,99,101,104,111,108,100,
-101,114,61,34,105,110,32,116,104,101,32,99,97,115,101,32,111,102,105,110,116,101
-,114,110,97,116,105,111,110,97,108,32,99,111,110,115,116,105,116,117,116,105,111
-,110,97,108,115,116,121,108,101,61,34,98,111,114,100,101,114,45,58,32,102,117,
-110,99,116,105,111,110,40,41,32,123,66,101,99,97,117,115,101,32,111,102,32,116,
-104,101,45,115,116,114,105,99,116,46,100,116,100,34,62,10,60,116,97,98,108,101,
-32,99,108,97,115,115,61,34,97,99,99,111,109,112,97,110,105,101,100,32,98,121,97,
-99,99,111,117,110,116,32,111,102,32,116,104,101,60,115,99,114,105,112,116,32,115
-,114,99,61,34,47,110,97,116,117,114,101,32,111,102,32,116,104,101,32,116,104,101
-,32,112,101,111,112,108,101,32,105,110,32,105,110,32,97,100,100,105,116,105,111,
-110,32,116,111,115,41,59,32,106,115,46,105,100,32,61,32,105,100,34,32,119,105,
-100,116,104,61,34,49,48,48,37,34,114,101,103,97,114,100,105,110,103,32,116,104,
-101,32,82,111,109,97,110,32,67,97,116,104,111,108,105,99,97,110,32,105,110,100,
-101,112,101,110,100,101,110,116,102,111,108,108,111,119,105,110,103,32,116,104,
-101,32,46,103,105,102,34,32,119,105,100,116,104,61,34,49,116,104,101,32,102,111,
-108,108,111,119,105,110,103,32,100,105,115,99,114,105,109,105,110,97,116,105,111
-,110,97,114,99,104,97,101,111,108,111,103,105,99,97,108,112,114,105,109,101,32,
-109,105,110,105,115,116,101,114,46,106,115,34,62,60,47,115,99,114,105,112,116,62
-,99,111,109,98,105,110,97,116,105,111,110,32,111,102,32,109,97,114,103,105,110,
-119,105,100,116,104,61,34,99,114,101,97,116,101,69,108,101,109,101,110,116,40,
-119,46,97,116,116,97,99,104,69,118,101,110,116,40,60,47,97,62,60,47,116,100,62,
-60,47,116,114,62,115,114,99,61,34,104,116,116,112,115,58,47,47,97,73,110,32,112,
-97,114,116,105,99,117,108,97,114,44,32,97,108,105,103,110,61,34,108,101,102,116,
-34,32,67,122,101,99,104,32,82,101,112,117,98,108,105,99,85,110,105,116,101,100,
-32,75,105,110,103,100,111,109,99,111,114,114,101,115,112,111,110,100,101,110,99,
-101,99,111,110,99,108,117,100,101,100,32,116,104,97,116,46,104,116,109,108,34,32
-,116,105,116,108,101,61,34,40,102,117,110,99,116,105,111,110,32,40,41,32,123,99,
-111,109,101,115,32,102,114,111,109,32,116,104,101,97,112,112,108,105,99,97,116,
-105,111,110,32,111,102,60,115,112,97,110,32,99,108,97,115,115,61,34,115,98,101,
-108,105,101,118,101,100,32,116,111,32,98,101,101,109,101,110,116,40,39,115,99,
-114,105,112,116,39,60,47,97,62,10,60,47,108,105,62,10,60,108,105,118,101,114,121
-,32,100,105,102,102,101,114,101,110,116,62,60,115,112,97,110,32,99,108,97,115,
-115,61,34,111,112,116,105,111,110,32,118,97,108,117,101,61,34,40,97,108,115,111,
-32,107,110,111,119,110,32,97,115,9,60,108,105,62,60,97,32,104,114,101,102,61,34,
-62,60,105,110,112,117,116,32,110,97,109,101,61,34,115,101,112,97,114,97,116,101,
-100,32,102,114,111,109,114,101,102,101,114,114,101,100,32,116,111,32,97,115,32,
-118,97,108,105,103,110,61,34,116,111,112,34,62,102,111,117,110,100,101,114,32,
-111,102,32,116,104,101,97,116,116,101,109,112,116,105,110,103,32,116,111,32,99,
-97,114,98,111,110,32,100,105,111,120,105,100,101,10,10,60,100,105,118,32,99,108,
-97,115,115,61,34,99,108,97,115,115,61,34,115,101,97,114,99,104,45,47,98,111,100,
-121,62,10,60,47,104,116,109,108,62,111,112,112,111,114,116,117,110,105,116,121,
-32,116,111,99,111,109,109,117,110,105,99,97,116,105,111,110,115,60,47,104,101,97
-,100,62,13,10,60,98,111,100,121,32,115,116,121,108,101,61,34,119,105,100,116,104
-,58,84,105,225,186,191,110,103,32,86,105,225,187,135,116,99,104,97,110,103,101,
-115,32,105,110,32,116,104,101,98,111,114,100,101,114,45,99,111,108,111,114,58,35
-,48,34,32,98,111,114,100,101,114,61,34,48,34,32,60,47,115,112,97,110,62,60,47,
-100,105,118,62,60,119,97,115,32,100,105,115,99,111,118,101,114,101,100,34,32,116
-,121,112,101,61,34,116,101,120,116,34,32,41,59,10,60,47,115,99,114,105,112,116,
-62,10,10,68,101,112,97,114,116,109,101,110,116,32,111,102,32,101,99,99,108,101,
-115,105,97,115,116,105,99,97,108,116,104,101,114,101,32,104,97,115,32,98,101,101
-,110,114,101,115,117,108,116,105,110,103,32,102,114,111,109,60,47,98,111,100,121
-,62,60,47,104,116,109,108,62,104,97,115,32,110,101,118,101,114,32,98,101,101,110
-,116,104,101,32,102,105,114,115,116,32,116,105,109,101,105,110,32,114,101,115,
-112,111,110,115,101,32,116,111,97,117,116,111,109,97,116,105,99,97,108,108,121,
-32,60,47,100,105,118,62,10,10,60,100,105,118,32,105,119,97,115,32,99,111,110,115
-,105,100,101,114,101,100,112,101,114,99,101,110,116,32,111,102,32,116,104,101,34
-,32,47,62,60,47,97,62,60,47,100,105,118,62,99,111,108,108,101,99,116,105,111,110
-,32,111,102,32,100,101,115,99,101,110,100,101,100,32,102,114,111,109,115,101,99,
-116,105,111,110,32,111,102,32,116,104,101,97,99,99,101,112,116,45,99,104,97,114,
-115,101,116,116,111,32,98,101,32,99,111,110,102,117,115,101,100,109,101,109,98,
-101,114,32,111,102,32,116,104,101,32,112,97,100,100,105,110,103,45,114,105,103,
-104,116,58,116,114,97,110,115,108,97,116,105,111,110,32,111,102,105,110,116,101,
-114,112,114,101,116,97,116,105,111,110,32,104,114,101,102,61,39,104,116,116,112,
-58,47,47,119,104,101,116,104,101,114,32,111,114,32,110,111,116,84,104,101,114,
-101,32,97,114,101,32,97,108,115,111,116,104,101,114,101,32,97,114,101,32,109,97,
-110,121,97,32,115,109,97,108,108,32,110,117,109,98,101,114,111,116,104,101,114,
-32,112,97,114,116,115,32,111,102,105,109,112,111,115,115,105,98,108,101,32,116,
-111,32,32,99,108,97,115,115,61,34,98,117,116,116,111,110,108,111,99,97,116,101,
-100,32,105,110,32,116,104,101,46,32,72,111,119,101,118,101,114,44,32,116,104,101
-,97,110,100,32,101,118,101,110,116,117,97,108,108,121,65,116,32,116,104,101,32,
-101,110,100,32,111,102,32,98,101,99,97,117,115,101,32,111,102,32,105,116,115,114
-,101,112,114,101,115,101,110,116,115,32,116,104,101,60,102,111,114,109,32,97,99,
-116,105,111,110,61,34,32,109,101,116,104,111,100,61,34,112,111,115,116,34,105,
-116,32,105,115,32,112,111,115,115,105,98,108,101,109,111,114,101,32,108,105,107,
-101,108,121,32,116,111,97,110,32,105,110,99,114,101,97,115,101,32,105,110,104,97
-,118,101,32,97,108,115,111,32,98,101,101,110,99,111,114,114,101,115,112,111,110,
-100,115,32,116,111,97,110,110,111,117,110,99,101,100,32,116,104,97,116,97,108,
-105,103,110,61,34,114,105,103,104,116,34,62,109,97,110,121,32,99,111,117,110,116
-,114,105,101,115,102,111,114,32,109,97,110,121,32,121,101,97,114,115,101,97,114,
-108,105,101,115,116,32,107,110,111,119,110,98,101,99,97,117,115,101,32,105,116,
-32,119,97,115,112,116,34,62,60,47,115,99,114,105,112,116,62,13,32,118,97,108,105
-,103,110,61,34,116,111,112,34,32,105,110,104,97,98,105,116,97,110,116,115,32,111
-,102,102,111,108,108,111,119,105,110,103,32,121,101,97,114,13,10,60,100,105,118,
-32,99,108,97,115,115,61,34,109,105,108,108,105,111,110,32,112,101,111,112,108,
-101,99,111,110,116,114,111,118,101,114,115,105,97,108,32,99,111,110,99,101,114,
-110,105,110,103,32,116,104,101,97,114,103,117,101,32,116,104,97,116,32,116,104,
-101,103,111,118,101,114,110,109,101,110,116,32,97,110,100,97,32,114,101,102,101,
-114,101,110,99,101,32,116,111,116,114,97,110,115,102,101,114,114,101,100,32,116,
-111,100,101,115,99,114,105,98,105,110,103,32,116,104,101,32,115,116,121,108,101,
-61,34,99,111,108,111,114,58,97,108,116,104,111,117,103,104,32,116,104,101,114,
-101,98,101,115,116,32,107,110,111,119,110,32,102,111,114,115,117,98,109,105,116,
-34,32,110,97,109,101,61,34,109,117,108,116,105,112,108,105,99,97,116,105,111,110
-,109,111,114,101,32,116,104,97,110,32,111,110,101,32,114,101,99,111,103,110,105,
-116,105,111,110,32,111,102,67,111,117,110,99,105,108,32,111,102,32,116,104,101,
-101,100,105,116,105,111,110,32,111,102,32,116,104,101,32,32,60,109,101,116,97,32
-,110,97,109,101,61,34,69,110,116,101,114,116,97,105,110,109,101,110,116,32,97,
-119,97,121,32,102,114,111,109,32,116,104,101,32,59,109,97,114,103,105,110,45,114
-,105,103,104,116,58,97,116,32,116,104,101,32,116,105,109,101,32,111,102,105,110,
-118,101,115,116,105,103,97,116,105,111,110,115,99,111,110,110,101,99,116,101,100
-,32,119,105,116,104,97,110,100,32,109,97,110,121,32,111,116,104,101,114,97,108,
-116,104,111,117,103,104,32,105,116,32,105,115,98,101,103,105,110,110,105,110,103
-,32,119,105,116,104,32,60,115,112,97,110,32,99,108,97,115,115,61,34,100,101,115,
-99,101,110,100,97,110,116,115,32,111,102,60,115,112,97,110,32,99,108,97,115,115,
-61,34,105,32,97,108,105,103,110,61,34,114,105,103,104,116,34,60,47,104,101,97,
-100,62,10,60,98,111,100,121,32,97,115,112,101,99,116,115,32,111,102,32,116,104,
-101,104,97,115,32,115,105,110,99,101,32,98,101,101,110,69,117,114,111,112,101,97
-,110,32,85,110,105,111,110,114,101,109,105,110,105,115,99,101,110,116,32,111,102
-,109,111,114,101,32,100,105,102,102,105,99,117,108,116,86,105,99,101,32,80,114,
-101,115,105,100,101,110,116,99,111,109,112,111,115,105,116,105,111,110,32,111,
-102,112,97,115,115,101,100,32,116,104,114,111,117,103,104,109,111,114,101,32,105
-,109,112,111,114,116,97,110,116,102,111,110,116,45,115,105,122,101,58,49,49,112,
-120,101,120,112,108,97,110,97,116,105,111,110,32,111,102,116,104,101,32,99,111,
-110,99,101,112,116,32,111,102,119,114,105,116,116,101,110,32,105,110,32,116,104,
-101,9,60,115,112,97,110,32,99,108,97,115,115,61,34,105,115,32,111,110,101,32,111
-,102,32,116,104,101,32,114,101,115,101,109,98,108,97,110,99,101,32,116,111,111,
-110,32,116,104,101,32,103,114,111,117,110,100,115,119,104,105,99,104,32,99,111,
-110,116,97,105,110,115,105,110,99,108,117,100,105,110,103,32,116,104,101,32,100,
-101,102,105,110,101,100,32,98,121,32,116,104,101,112,117,98,108,105,99,97,116,
-105,111,110,32,111,102,109,101,97,110,115,32,116,104,97,116,32,116,104,101,111,
-117,116,115,105,100,101,32,111,102,32,116,104,101,115,117,112,112,111,114,116,32
-,111,102,32,116,104,101,60,105,110,112,117,116,32,99,108,97,115,115,61,34,60,115
-,112,97,110,32,99,108,97,115,115,61,34,116,40,77,97,116,104,46,114,97,110,100,
-111,109,40,41,109,111,115,116,32,112,114,111,109,105,110,101,110,116,100,101,115
-,99,114,105,112,116,105,111,110,32,111,102,67,111,110,115,116,97,110,116,105,110
-,111,112,108,101,119,101,114,101,32,112,117,98,108,105,115,104,101,100,60,100,
-105,118,32,99,108,97,115,115,61,34,115,101,97,112,112,101,97,114,115,32,105,110,
-32,116,104,101,49,34,32,104,101,105,103,104,116,61,34,49,34,32,109,111,115,116,
-32,105,109,112,111,114,116,97,110,116,119,104,105,99,104,32,105,110,99,108,117,
-100,101,115,119,104,105,99,104,32,104,97,100,32,98,101,101,110,100,101,115,116,
-114,117,99,116,105,111,110,32,111,102,116,104,101,32,112,111,112,117,108,97,116,
-105,111,110,10,9,60,100,105,118,32,99,108,97,115,115,61,34,112,111,115,115,105,
-98,105,108,105,116,121,32,111,102,115,111,109,101,116,105,109,101,115,32,117,115
-,101,100,97,112,112,101,97,114,32,116,111,32,104,97,118,101,115,117,99,99,101,
-115,115,32,111,102,32,116,104,101,105,110,116,101,110,100,101,100,32,116,111,32,
-98,101,112,114,101,115,101,110,116,32,105,110,32,116,104,101,115,116,121,108,101
-,61,34,99,108,101,97,114,58,98,13,10,60,47,115,99,114,105,112,116,62,13,10,60,
-119,97,115,32,102,111,117,110,100,101,100,32,105,110,105,110,116,101,114,118,105
-,101,119,32,119,105,116,104,95,105,100,34,32,99,111,110,116,101,110,116,61,34,99
-,97,112,105,116,97,108,32,111,102,32,116,104,101,13,10,60,108,105,110,107,32,114
-,101,108,61,34,115,114,101,108,101,97,115,101,32,111,102,32,116,104,101,112,111,
-105,110,116,32,111,117,116,32,116,104,97,116,120,77,76,72,116,116,112,82,101,113
-,117,101,115,116,97,110,100,32,115,117,98,115,101,113,117,101,110,116,115,101,99
-,111,110,100,32,108,97,114,103,101,115,116,118,101,114,121,32,105,109,112,111,
-114,116,97,110,116,115,112,101,99,105,102,105,99,97,116,105,111,110,115,115,117,
-114,102,97,99,101,32,111,102,32,116,104,101,97,112,112,108,105,101,100,32,116,
-111,32,116,104,101,102,111,114,101,105,103,110,32,112,111,108,105,99,121,95,115,
-101,116,68,111,109,97,105,110,78,97,109,101,101,115,116,97,98,108,105,115,104,
-101,100,32,105,110,105,115,32,98,101,108,105,101,118,101,100,32,116,111,73,110,
-32,97,100,100,105,116,105,111,110,32,116,111,109,101,97,110,105,110,103,32,111,
-102,32,116,104,101,105,115,32,110,97,109,101,100,32,97,102,116,101,114,116,111,
-32,112,114,111,116,101,99,116,32,116,104,101,105,115,32,114,101,112,114,101,115,
-101,110,116,101,100,68,101,99,108,97,114,97,116,105,111,110,32,111,102,109,111,
-114,101,32,101,102,102,105,99,105,101,110,116,67,108,97,115,115,105,102,105,99,
-97,116,105,111,110,111,116,104,101,114,32,102,111,114,109,115,32,111,102,104,101
-,32,114,101,116,117,114,110,101,100,32,116,111,60,115,112,97,110,32,99,108,97,
-115,115,61,34,99,112,101,114,102,111,114,109,97,110,99,101,32,111,102,40,102,117
-,110,99,116,105,111,110,40,41,32,123,13,105,102,32,97,110,100,32,111,110,108,121
-,32,105,102,114,101,103,105,111,110,115,32,111,102,32,116,104,101,108,101,97,100
-,105,110,103,32,116,111,32,116,104,101,114,101,108,97,116,105,111,110,115,32,119
-,105,116,104,85,110,105,116,101,100,32,78,97,116,105,111,110,115,115,116,121,108
-,101,61,34,104,101,105,103,104,116,58,111,116,104,101,114,32,116,104,97,110,32,
-116,104,101,121,112,101,34,32,99,111,110,116,101,110,116,61,34,65,115,115,111,99
-,105,97,116,105,111,110,32,111,102,10,60,47,104,101,97,100,62,10,60,98,111,100,
-121,108,111,99,97,116,101,100,32,111,110,32,116,104,101,105,115,32,114,101,102,
-101,114,114,101,100,32,116,111,40,105,110,99,108,117,100,105,110,103,32,116,104,
-101,99,111,110,99,101,110,116,114,97,116,105,111,110,115,116,104,101,32,105,110,
-100,105,118,105,100,117,97,108,97,109,111,110,103,32,116,104,101,32,109,111,115,
-116,116,104,97,110,32,97,110,121,32,111,116,104,101,114,47,62,10,60,108,105,110,
-107,32,114,101,108,61,34,32,114,101,116,117,114,110,32,102,97,108,115,101,59,116
-,104,101,32,112,117,114,112,111,115,101,32,111,102,116,104,101,32,97,98,105,108,
-105,116,121,32,116,111,59,99,111,108,111,114,58,35,102,102,102,125,10,46,10,60,
-115,112,97,110,32,99,108,97,115,115,61,34,116,104,101,32,115,117,98,106,101,99,
-116,32,111,102,100,101,102,105,110,105,116,105,111,110,115,32,111,102,62,13,10,
-60,108,105,110,107,32,114,101,108,61,34,99,108,97,105,109,32,116,104,97,116,32,
-116,104,101,104,97,118,101,32,100,101,118,101,108,111,112,101,100,60,116,97,98,
-108,101,32,119,105,100,116,104,61,34,99,101,108,101,98,114,97,116,105,111,110,32
-,111,102,70,111,108,108,111,119,105,110,103,32,116,104,101,32,116,111,32,100,105
-,115,116,105,110,103,117,105,115,104,60,115,112,97,110,32,99,108,97,115,115,61,
-34,98,116,97,107,101,115,32,112,108,97,99,101,32,105,110,117,110,100,101,114,32,
-116,104,101,32,110,97,109,101,110,111,116,101,100,32,116,104,97,116,32,116,104,
-101,62,60,33,91,101,110,100,105,102,93,45,45,62,10,115,116,121,108,101,61,34,109
-,97,114,103,105,110,45,105,110,115,116,101,97,100,32,111,102,32,116,104,101,105,
-110,116,114,111,100,117,99,101,100,32,116,104,101,116,104,101,32,112,114,111,99,
-101,115,115,32,111,102,105,110,99,114,101,97,115,105,110,103,32,116,104,101,100,
-105,102,102,101,114,101,110,99,101,115,32,105,110,101,115,116,105,109,97,116,101
-,100,32,116,104,97,116,101,115,112,101,99,105,97,108,108,121,32,116,104,101,47,
-100,105,118,62,60,100,105,118,32,105,100,61,34,119,97,115,32,101,118,101,110,116
-,117,97,108,108,121,116,104,114,111,117,103,104,111,117,116,32,104,105,115,116,
-104,101,32,100,105,102,102,101,114,101,110,99,101,115,111,109,101,116,104,105,
-110,103,32,116,104,97,116,115,112,97,110,62,60,47,115,112,97,110,62,60,47,115,
-105,103,110,105,102,105,99,97,110,116,108,121,32,62,60,47,115,99,114,105,112,116
-,62,13,10,13,10,101,110,118,105,114,111,110,109,101,110,116,97,108,32,116,111,32
-,112,114,101,118,101,110,116,32,116,104,101,104,97,118,101,32,98,101,101,110,32,
-117,115,101,100,101,115,112,101,99,105,97,108,108,121,32,102,111,114,117,110,100
-,101,114,115,116,97,110,100,32,116,104,101,105,115,32,101,115,115,101,110,116,
-105,97,108,108,121,119,101,114,101,32,116,104,101,32,102,105,114,115,116,105,115
-,32,116,104,101,32,108,97,114,103,101,115,116,104,97,118,101,32,98,101,101,110,
-32,109,97,100,101,34,32,115,114,99,61,34,104,116,116,112,58,47,47,105,110,116,
-101,114,112,114,101,116,101,100,32,97,115,115,101,99,111,110,100,32,104,97,108,
-102,32,111,102,99,114,111,108,108,105,110,103,61,34,110,111,34,32,105,115,32,99,
-111,109,112,111,115,101,100,32,111,102,73,73,44,32,72,111,108,121,32,82,111,109,
-97,110,105,115,32,101,120,112,101,99,116,101,100,32,116,111,104,97,118,101,32,
-116,104,101,105,114,32,111,119,110,100,101,102,105,110,101,100,32,97,115,32,116,
-104,101,116,114,97,100,105,116,105,111,110,97,108,108,121,32,104,97,118,101,32,
-100,105,102,102,101,114,101,110,116,97,114,101,32,111,102,116,101,110,32,117,115
-,101,100,116,111,32,101,110,115,117,114,101,32,116,104,97,116,97,103,114,101,101
-,109,101,110,116,32,119,105,116,104,99,111,110,116,97,105,110,105,110,103,32,116
-,104,101,97,114,101,32,102,114,101,113,117,101,110,116,108,121,105,110,102,111,
-114,109,97,116,105,111,110,32,111,110,101,120,97,109,112,108,101,32,105,115,32,
-116,104,101,114,101,115,117,108,116,105,110,103,32,105,110,32,97,60,47,97,62,60,
-47,108,105,62,60,47,117,108,62,32,99,108,97,115,115,61,34,102,111,111,116,101,
-114,97,110,100,32,101,115,112,101,99,105,97,108,108,121,116,121,112,101,61,34,98
-,117,116,116,111,110,34,32,60,47,115,112,97,110,62,60,47,115,112,97,110,62,119,
-104,105,99,104,32,105,110,99,108,117,100,101,100,62,10,60,109,101,116,97,32,110,
-97,109,101,61,34,99,111,110,115,105,100,101,114,101,100,32,116,104,101,99,97,114
-,114,105,101,100,32,111,117,116,32,98,121,72,111,119,101,118,101,114,44,32,105,
-116,32,105,115,98,101,99,97,109,101,32,112,97,114,116,32,111,102,105,110,32,114,
-101,108,97,116,105,111,110,32,116,111,112,111,112,117,108,97,114,32,105,110,32,
-116,104,101,116,104,101,32,99,97,112,105,116,97,108,32,111,102,119,97,115,32,111
-,102,102,105,99,105,97,108,108,121,119,104,105,99,104,32,104,97,115,32,98,101,
-101,110,116,104,101,32,72,105,115,116,111,114,121,32,111,102,97,108,116,101,114,
-110,97,116,105,118,101,32,116,111,100,105,102,102,101,114,101,110,116,32,102,114
-,111,109,116,111,32,115,117,112,112,111,114,116,32,116,104,101,115,117,103,103,
-101,115,116,101,100,32,116,104,97,116,105,110,32,116,104,101,32,112,114,111,99,
-101,115,115,32,32,60,100,105,118,32,99,108,97,115,115,61,34,116,104,101,32,102,
-111,117,110,100,97,116,105,111,110,98,101,99,97,117,115,101,32,111,102,32,104,
-105,115,99,111,110,99,101,114,110,101,100,32,119,105,116,104,116,104,101,32,117,
-110,105,118,101,114,115,105,116,121,111,112,112,111,115,101,100,32,116,111,32,
-116,104,101,116,104,101,32,99,111,110,116,101,120,116,32,111,102,60,115,112,97,
-110,32,99,108,97,115,115,61,34,112,116,101,120,116,34,32,110,97,109,101,61,34,
-113,34,9,9,60,100,105,118,32,99,108,97,115,115,61,34,116,104,101,32,115,99,105,
-101,110,116,105,102,105,99,114,101,112,114,101,115,101,110,116,101,100,32,98,121
-,109,97,116,104,101,109,97,116,105,99,105,97,110,115,101,108,101,99,116,101,100,
-32,98,121,32,116,104,101,116,104,97,116,32,104,97,118,101,32,98,101,101,110,62,
-60,100,105,118,32,99,108,97,115,115,61,34,99,100,105,118,32,105,100,61,34,104,
-101,97,100,101,114,105,110,32,112,97,114,116,105,99,117,108,97,114,44,99,111,110
-,118,101,114,116,101,100,32,105,110,116,111,41,59,10,60,47,115,99,114,105,112,
-116,62,10,60,112,104,105,108,111,115,111,112,104,105,99,97,108,32,115,114,112,
-115,107,111,104,114,118,97,116,115,107,105,116,105,225,186,191,110,103,32,86,105
-,225,187,135,116,208,160,209,131,209,129,209,129,208,186,208,184,208,185,209,128
-,209,131,209,129,209,129,208,186,208,184,208,185,105,110,118,101,115,116,105,103
-,97,99,105,195,179,110,112,97,114,116,105,99,105,112,97,99,105,195,179,110,208,
-186,208,190,209,130,208,190,209,128,209,139,208,181,208,190,208,177,208,187,208,
-176,209,129,209,130,208,184,208,186,208,190,209,130,208,190,209,128,209,139,208,
-185,209,135,208,181,208,187,208,190,208,178,208,181,208,186,209,129,208,184,209,
-129,209,130,208,181,208,188,209,139,208,157,208,190,208,178,208,190,209,129,209,
-130,208,184,208,186,208,190,209,130,208,190,209,128,209,139,209,133,208,190,208,
-177,208,187,208,176,209,129,209,130,209,140,208,178,209,128,208,181,208,188,208,
-181,208,189,208,184,208,186,208,190,209,130,208,190,209,128,208,176,209,143,209,
-129,208,181,208,179,208,190,208,180,208,189,209,143,209,129,208,186,208,176,209,
-135,208,176,209,130,209,140,208,189,208,190,208,178,208,190,209,129,209,130,208,
-184,208,163,208,186,209,128,208,176,208,184,208,189,209,139,208,178,208,190,208,
-191,209,128,208,190,209,129,209,139,208,186,208,190,209,130,208,190,209,128,208,
-190,208,185,209,129,208,180,208,181,208,187,208,176,209,130,209,140,208,191,208,
-190,208,188,208,190,209,137,209,140,209,142,209,129,209,128,208,181,208,180,209,
-129,209,130,208,178,208,190,208,177,209,128,208,176,208,183,208,190,208,188,209,
-129,209,130,208,190,209,128,208,190,208,189,209,139,209,131,209,135,208,176,209,
-129,209,130,208,184,208,181,209,130,208,181,209,135,208,181,208,189,208,184,208,
-181,208,147,208,187,208,176,208,178,208,189,208,176,209,143,208,184,209,129,209,
-130,208,190,209,128,208,184,208,184,209,129,208,184,209,129,209,130,208,181,208,
-188,208,176,209,128,208,181,209,136,208,181,208,189,208,184,209,143,208,161,208,
-186,208,176,209,135,208,176,209,130,209,140,208,191,208,190,209,141,209,130,208,
-190,208,188,209,131,209,129,208,187,208,181,208,180,209,131,208,181,209,130,209,
-129,208,186,208,176,208,183,208,176,209,130,209,140,209,130,208,190,208,178,208,
-176,209,128,208,190,208,178,208,186,208,190,208,189,208,181,209,135,208,189,208,
-190,209,128,208,181,209,136,208,181,208,189,208,184,208,181,208,186,208,190,209,
-130,208,190,209,128,208,190,208,181,208,190,209,128,208,179,208,176,208,189,208,
-190,208,178,208,186,208,190,209,130,208,190,209,128,208,190,208,188,208,160,208,
-181,208,186,208,187,208,176,208,188,208,176,216,167,217,132,217,133,217,134,216,
-170,216,175,217,137,217,133,217,134,216,170,216,175,217,138,216,167,216,170,216,
-167,217,132,217,133,217,136,216,182,217,136,216,185,216,167,217,132,216,168,216,
-177,216,167,217,133,216,172,216,167,217,132,217,133,217,136,216,167,217,130,216,
-185,216,167,217,132,216,177,216,179,216,167,216,166,217,132,217,133,216,180,216,
-167,216,177,217,131,216,167,216,170,216,167,217,132,216,163,216,185,216,182,216,
-167,216,161,216,167,217,132,216,177,217,138,216,167,216,182,216,169,216,167,217,
-132,216,170,216,181,217,133,217,138,217,133,216,167,217,132,216,167,216,185,216,
-182,216,167,216,161,216,167,217,132,217,134,216,170,216,167,216,166,216,172,216,
-167,217,132,216,163,217,132,216,185,216,167,216,168,216,167,217,132,216,170,216,
-179,216,172,217,138,217,132,216,167,217,132,216,163,217,130,216,179,216,167,217,
-133,216,167,217,132,216,182,216,186,216,183,216,167,216,170,216,167,217,132,217,
-129,217,138,216,175,217,138,217,136,216,167,217,132,216,170,216,177,216,173,217,
-138,216,168,216,167,217,132,216,172,216,175,217,138,216,175,216,169,216,167,217,
-132,216,170,216,185,217,132,217,138,217,133,216,167,217,132,216,163,216,174,216,
-168,216,167,216,177,216,167,217,132,216,167,217,129,217,132,216,167,217,133,216,
-167,217,132,216,163,217,129,217,132,216,167,217,133,216,167,217,132,216,170,216,
-167,216,177,217,138,216,174,216,167,217,132,216,170,217,130,217,134,217,138,216,
-169,216,167,217,132,216,167,217,132,216,185,216,167,216,168,216,167,217,132,216,
-174,217,136,216,167,216,183,216,177,216,167,217,132,217,133,216,172,216,170,217,
-133,216,185,216,167,217,132,216,175,217,138,217,131,217,136,216,177,216,167,217,
-132,216,179,217,138,216,167,216,173,216,169,216,185,216,168,216,175,216,167,217,
-132,217,132,217,135,216,167,217,132,216,170,216,177,216,168,217,138,216,169,216,
-167,217,132,216,177,217,136,216,167,216,168,216,183,216,167,217,132,216,163,216,
-175,216,168,217,138,216,169,216,167,217,132,216,167,216,174,216,168,216,167,216,
-177,216,167,217,132,217,133,216,170,216,173,216,175,216,169,216,167,217,132,216,
-167,216,186,216,167,217,134,217,138,99,117,114,115,111,114,58,112,111,105,110,
-116,101,114,59,60,47,116,105,116,108,101,62,10,60,109,101,116,97,32,34,32,104,
-114,101,102,61,34,104,116,116,112,58,47,47,34,62,60,115,112,97,110,32,99,108,97,
-115,115,61,34,109,101,109,98,101,114,115,32,111,102,32,116,104,101,32,119,105,
-110,100,111,119,46,108,111,99,97,116,105,111,110,118,101,114,116,105,99,97,108,
-45,97,108,105,103,110,58,47,97,62,32,124,32,60,97,32,104,114,101,102,61,34,60,33
-,100,111,99,116,121,112,101,32,104,116,109,108,62,109,101,100,105,97,61,34,115,
-99,114,101,101,110,34,32,60,111,112,116,105,111,110,32,118,97,108,117,101,61,34,
-102,97,118,105,99,111,110,46,105,99,111,34,32,47,62,10,9,9,60,100,105,118,32,99,
-108,97,115,115,61,34,99,104,97,114,97,99,116,101,114,105,115,116,105,99,115,34,
-32,109,101,116,104,111,100,61,34,103,101,116,34,32,47,98,111,100,121,62,10,60,47
-,104,116,109,108,62,10,115,104,111,114,116,99,117,116,32,105,99,111,110,34,32,
-100,111,99,117,109,101,110,116,46,119,114,105,116,101,40,112,97,100,100,105,110,
-103,45,98,111,116,116,111,109,58,114,101,112,114,101,115,101,110,116,97,116,105,
-118,101,115,115,117,98,109,105,116,34,32,118,97,108,117,101,61,34,97,108,105,103
-,110,61,34,99,101,110,116,101,114,34,32,116,104,114,111,117,103,104,111,117,116,
-32,116,104,101,32,115,99,105,101,110,99,101,32,102,105,99,116,105,111,110,10,32,
-32,60,100,105,118,32,99,108,97,115,115,61,34,115,117,98,109,105,116,34,32,99,108
-,97,115,115,61,34,111,110,101,32,111,102,32,116,104,101,32,109,111,115,116,32,
-118,97,108,105,103,110,61,34,116,111,112,34,62,60,119,97,115,32,101,115,116,97,
-98,108,105,115,104,101,100,41,59,13,10,60,47,115,99,114,105,112,116,62,13,10,114
-,101,116,117,114,110,32,102,97,108,115,101,59,34,62,41,46,115,116,121,108,101,46
-,100,105,115,112,108,97,121,98,101,99,97,117,115,101,32,111,102,32,116,104,101,
-32,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,60,102,111,114,109,
-32,97,99,116,105,111,110,61,34,47,125,98,111,100,121,123,109,97,114,103,105,110,
-58,48,59,69,110,99,121,99,108,111,112,101,100,105,97,32,111,102,118,101,114,115,
-105,111,110,32,111,102,32,116,104,101,32,46,99,114,101,97,116,101,69,108,101,109
-,101,110,116,40,110,97,109,101,34,32,99,111,110,116,101,110,116,61,34,60,47,100,
-105,118,62,10,60,47,100,105,118,62,10,10,97,100,109,105,110,105,115,116,114,97,
-116,105,118,101,32,60,47,98,111,100,121,62,10,60,47,104,116,109,108,62,104,105,
-115,116,111,114,121,32,111,102,32,116,104,101,32,34,62,60,105,110,112,117,116,32
-,116,121,112,101,61,34,112,111,114,116,105,111,110,32,111,102,32,116,104,101,32,
-97,115,32,112,97,114,116,32,111,102,32,116,104,101,32,38,110,98,115,112,59,60,97
-,32,104,114,101,102,61,34,111,116,104,101,114,32,99,111,117,110,116,114,105,101,
-115,34,62,10,60,100,105,118,32,99,108,97,115,115,61,34,60,47,115,112,97,110,62,
-60,47,115,112,97,110,62,60,73,110,32,111,116,104,101,114,32,119,111,114,100,115,
-44,100,105,115,112,108,97,121,58,32,98,108,111,99,107,59,99,111,110,116,114,111,
-108,32,111,102,32,116,104,101,32,105,110,116,114,111,100,117,99,116,105,111,110,
-32,111,102,47,62,10,60,109,101,116,97,32,110,97,109,101,61,34,97,115,32,119,101,
-108,108,32,97,115,32,116,104,101,32,105,110,32,114,101,99,101,110,116,32,121,101
-,97,114,115,13,10,9,60,100,105,118,32,99,108,97,115,115,61,34,60,47,100,105,118,
-62,10,9,60,47,100,105,118,62,10,105,110,115,112,105,114,101,100,32,98,121,32,116
-,104,101,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,99,111,109,112,
-97,116,105,98,108,101,32,119,105,116,104,98,101,99,97,109,101,32,107,110,111,119
-,110,32,97,115,32,115,116,121,108,101,61,34,109,97,114,103,105,110,58,46,106,115
-,34,62,60,47,115,99,114,105,112,116,62,60,32,73,110,116,101,114,110,97,116,105,
-111,110,97,108,32,116,104,101,114,101,32,104,97,118,101,32,98,101,101,110,71,101
-,114,109,97,110,32,108,97,110,103,117,97,103,101,32,115,116,121,108,101,61,34,99
-,111,108,111,114,58,35,67,111,109,109,117,110,105,115,116,32,80,97,114,116,121,
-99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,98,111,114,100,101,114
-,61,34,48,34,32,99,101,108,108,32,109,97,114,103,105,110,104,101,105,103,104,116
-,61,34,116,104,101,32,109,97,106,111,114,105,116,121,32,111,102,34,32,97,108,105
-,103,110,61,34,99,101,110,116,101,114,114,101,108,97,116,101,100,32,116,111,32,
-116,104,101,32,109,97,110,121,32,100,105,102,102,101,114,101,110,116,32,79,114,
-116,104,111,100,111,120,32,67,104,117,114,99,104,115,105,109,105,108,97,114,32,
-116,111,32,116,104,101,32,47,62,10,60,108,105,110,107,32,114,101,108,61,34,115,
-119,97,115,32,111,110,101,32,111,102,32,116,104,101,32,117,110,116,105,108,32,
-104,105,115,32,100,101,97,116,104,125,41,40,41,59,10,60,47,115,99,114,105,112,
-116,62,111,116,104,101,114,32,108,97,110,103,117,97,103,101,115,99,111,109,112,
-97,114,101,100,32,116,111,32,116,104,101,112,111,114,116,105,111,110,115,32,111,
-102,32,116,104,101,116,104,101,32,78,101,116,104,101,114,108,97,110,100,115,116,
-104,101,32,109,111,115,116,32,99,111,109,109,111,110,98,97,99,107,103,114,111,
-117,110,100,58,117,114,108,40,97,114,103,117,101,100,32,116,104,97,116,32,116,
-104,101,115,99,114,111,108,108,105,110,103,61,34,110,111,34,32,105,110,99,108,
-117,100,101,100,32,105,110,32,116,104,101,78,111,114,116,104,32,65,109,101,114,
-105,99,97,110,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,105,110
-,116,101,114,112,114,101,116,97,116,105,111,110,115,116,104,101,32,116,114,97,
-100,105,116,105,111,110,97,108,100,101,118,101,108,111,112,109,101,110,116,32,
-111,102,32,102,114,101,113,117,101,110,116,108,121,32,117,115,101,100,97,32,99,
-111,108,108,101,99,116,105,111,110,32,111,102,118,101,114,121,32,115,105,109,105
-,108,97,114,32,116,111,115,117,114,114,111,117,110,100,105,110,103,32,116,104,
-101,101,120,97,109,112,108,101,32,111,102,32,116,104,105,115,97,108,105,103,110,
-61,34,99,101,110,116,101,114,34,62,119,111,117,108,100,32,104,97,118,101,32,98,
-101,101,110,105,109,97,103,101,95,99,97,112,116,105,111,110,32,61,97,116,116,97,
-99,104,101,100,32,116,111,32,116,104,101,115,117,103,103,101,115,116,105,110,103
-,32,116,104,97,116,105,110,32,116,104,101,32,102,111,114,109,32,111,102,32,105,
-110,118,111,108,118,101,100,32,105,110,32,116,104,101,105,115,32,100,101,114,105
-,118,101,100,32,102,114,111,109,110,97,109,101,100,32,97,102,116,101,114,32,116,
-104,101,73,110,116,114,111,100,117,99,116,105,111,110,32,116,111,114,101,115,116
-,114,105,99,116,105,111,110,115,32,111,110,32,115,116,121,108,101,61,34,119,105,
-100,116,104,58,32,99,97,110,32,98,101,32,117,115,101,100,32,116,111,32,116,104,
-101,32,99,114,101,97,116,105,111,110,32,111,102,109,111,115,116,32,105,109,112,
-111,114,116,97,110,116,32,105,110,102,111,114,109,97,116,105,111,110,32,97,110,
-100,114,101,115,117,108,116,101,100,32,105,110,32,116,104,101,99,111,108,108,97,
-112,115,101,32,111,102,32,116,104,101,84,104,105,115,32,109,101,97,110,115,32,
-116,104,97,116,101,108,101,109,101,110,116,115,32,111,102,32,116,104,101,119,97,
-115,32,114,101,112,108,97,99,101,100,32,98,121,97,110,97,108,121,115,105,115,32,
-111,102,32,116,104,101,105,110,115,112,105,114,97,116,105,111,110,32,102,111,114
-,114,101,103,97,114,100,101,100,32,97,115,32,116,104,101,109,111,115,116,32,115,
-117,99,99,101,115,115,102,117,108,107,110,111,119,110,32,97,115,32,38,113,117,
-111,116,59,97,32,99,111,109,112,114,101,104,101,110,115,105,118,101,72,105,115,
-116,111,114,121,32,111,102,32,116,104,101,32,119,101,114,101,32,99,111,110,115,
-105,100,101,114,101,100,114,101,116,117,114,110,101,100,32,116,111,32,116,104,
-101,97,114,101,32,114,101,102,101,114,114,101,100,32,116,111,85,110,115,111,117,
-114,99,101,100,32,105,109,97,103,101,62,10,9,60,100,105,118,32,99,108,97,115,115
-,61,34,99,111,110,115,105,115,116,115,32,111,102,32,116,104,101,115,116,111,112,
-80,114,111,112,97,103,97,116,105,111,110,105,110,116,101,114,101,115,116,32,105,
-110,32,116,104,101,97,118,97,105,108,97,98,105,108,105,116,121,32,111,102,97,112
-,112,101,97,114,115,32,116,111,32,104,97,118,101,101,108,101,99,116,114,111,109,
-97,103,110,101,116,105,99,101,110,97,98,108,101,83,101,114,118,105,99,101,115,40
-,102,117,110,99,116,105,111,110,32,111,102,32,116,104,101,73,116,32,105,115,32,
-105,109,112,111,114,116,97,110,116,60,47,115,99,114,105,112,116,62,60,47,100,105
-,118,62,102,117,110,99,116,105,111,110,40,41,123,118,97,114,32,114,101,108,97,
-116,105,118,101,32,116,111,32,116,104,101,97,115,32,97,32,114,101,115,117,108,
-116,32,111,102,32,116,104,101,32,112,111,115,105,116,105,111,110,32,111,102,70,
-111,114,32,101,120,97,109,112,108,101,44,32,105,110,32,109,101,116,104,111,100,
-61,34,112,111,115,116,34,32,119,97,115,32,102,111,108,108,111,119,101,100,32,98,
-121,38,97,109,112,59,109,100,97,115,104,59,32,116,104,101,116,104,101,32,97,112,
-112,108,105,99,97,116,105,111,110,106,115,34,62,60,47,115,99,114,105,112,116,62,
-13,10,117,108,62,60,47,100,105,118,62,60,47,100,105,118,62,97,102,116,101,114,32
-,116,104,101,32,100,101,97,116,104,119,105,116,104,32,114,101,115,112,101,99,116
-,32,116,111,115,116,121,108,101,61,34,112,97,100,100,105,110,103,58,105,115,32,
-112,97,114,116,105,99,117,108,97,114,108,121,100,105,115,112,108,97,121,58,105,
-110,108,105,110,101,59,32,116,121,112,101,61,34,115,117,98,109,105,116,34,32,105
-,115,32,100,105,118,105,100,101,100,32,105,110,116,111,228,184,173,230,150,135,
-32,40,231,174,128,228,189,147,41,114,101,115,112,111,110,115,97,98,105,108,105,
-100,97,100,97,100,109,105,110,105,115,116,114,97,99,105,195,179,110,105,110,116,
-101,114,110,97,99,105,111,110,97,108,101,115,99,111,114,114,101,115,112,111,110,
-100,105,101,110,116,101,224,164,137,224,164,170,224,164,175,224,165,139,224,164,
-151,224,164,170,224,165,130,224,164,176,224,165,141,224,164,181,224,164,185,224,
-164,174,224,164,190,224,164,176,224,165,135,224,164,178,224,165,139,224,164,151,
-224,165,139,224,164,130,224,164,154,224,165,129,224,164,168,224,164,190,224,164,
-181,224,164,178,224,165,135,224,164,149,224,164,191,224,164,168,224,164,184,224,
-164,176,224,164,149,224,164,190,224,164,176,224,164,170,224,165,129,224,164,178,
-224,164,191,224,164,184,224,164,150,224,165,139,224,164,156,224,165,135,224,164,
-130,224,164,154,224,164,190,224,164,185,224,164,191,224,164,143,224,164,173,224,
-165,135,224,164,156,224,165,135,224,164,130,224,164,182,224,164,190,224,164,174,
-224,164,191,224,164,178,224,164,185,224,164,174,224,164,190,224,164,176,224,165,
-128,224,164,156,224,164,190,224,164,151,224,164,176,224,164,163,224,164,172,224,
-164,168,224,164,190,224,164,168,224,165,135,224,164,149,224,165,129,224,164,174,
-224,164,190,224,164,176,224,164,172,224,165,141,224,164,178,224,165,137,224,164,
-151,224,164,174,224,164,190,224,164,178,224,164,191,224,164,149,224,164,174,224,
-164,185,224,164,191,224,164,178,224,164,190,224,164,170,224,165,131,224,164,183,
-224,165,141,224,164,160,224,164,172,224,164,162,224,164,188,224,164,164,224,165,
-135,224,164,173,224,164,190,224,164,156,224,164,170,224,164,190,224,164,149,224,
-165,141,224,164,178,224,164,191,224,164,149,224,164,159,224,165,141,224,164,176,
-224,165,135,224,164,168,224,164,150,224,164,191,224,164,178,224,164,190,224,164,
-171,224,164,166,224,165,140,224,164,176,224,164,190,224,164,168,224,164,174,224,
-164,190,224,164,174,224,164,178,224,165,135,224,164,174,224,164,164,224,164,166,
-224,164,190,224,164,168,224,164,172,224,164,190,224,164,156,224,164,190,224,164,
-176,224,164,181,224,164,191,224,164,149,224,164,190,224,164,184,224,164,149,224,
-165,141,224,164,175,224,165,139,224,164,130,224,164,154,224,164,190,224,164,185,
-224,164,164,224,165,135,224,164,170,224,164,185,224,165,129,224,164,129,224,164,
-154,224,164,172,224,164,164,224,164,190,224,164,175,224,164,190,224,164,184,224,
-164,130,224,164,181,224,164,190,224,164,166,224,164,166,224,165,135,224,164,150,
-224,164,168,224,165,135,224,164,170,224,164,191,224,164,155,224,164,178,224,165,
-135,224,164,181,224,164,191,224,164,182,224,165,135,224,164,183,224,164,176,224,
-164,190,224,164,156,224,165,141,224,164,175,224,164,137,224,164,164,224,165,141,
-224,164,164,224,164,176,224,164,174,224,165,129,224,164,130,224,164,172,224,164,
-136,224,164,166,224,165,139,224,164,168,224,165,139,224,164,130,224,164,137,224,
-164,170,224,164,149,224,164,176,224,164,163,224,164,170,224,164,162,224,164,188,
-224,165,135,224,164,130,224,164,184,224,165,141,224,164,165,224,164,191,224,164,
-164,224,164,171,224,164,191,224,164,178,224,165,141,224,164,174,224,164,174,224,
-165,129,224,164,150,224,165,141,224,164,175,224,164,133,224,164,154,224,165,141,
-224,164,155,224,164,190,224,164,155,224,165,130,224,164,159,224,164,164,224,165,
-128,224,164,184,224,164,130,224,164,151,224,165,128,224,164,164,224,164,156,224,
-164,190,224,164,143,224,164,151,224,164,190,224,164,181,224,164,191,224,164,173,
-224,164,190,224,164,151,224,164,152,224,164,163,224,165,141,224,164,159,224,165,
-135,224,164,166,224,165,130,224,164,184,224,164,176,224,165,135,224,164,166,224,
-164,191,224,164,168,224,165,139,224,164,130,224,164,185,224,164,164,224,165,141,
-224,164,175,224,164,190,224,164,184,224,165,135,224,164,149,224,165,141,224,164,
-184,224,164,151,224,164,190,224,164,130,224,164,167,224,165,128,224,164,181,224,
-164,191,224,164,182,224,165,141,224,164,181,224,164,176,224,164,190,224,164,164,
-224,165,135,224,164,130,224,164,166,224,165,136,224,164,159,224,165,141,224,164,
-184,224,164,168,224,164,149,224,165,141,224,164,182,224,164,190,224,164,184,224,
-164,190,224,164,174,224,164,168,224,165,135,224,164,133,224,164,166,224,164,190,
-224,164,178,224,164,164,224,164,172,224,164,191,224,164,156,224,164,178,224,165,
-128,224,164,170,224,165,129,224,164,176,224,165,130,224,164,183,224,164,185,224,
-164,191,224,164,130,224,164,166,224,165,128,224,164,174,224,164,191,224,164,164,
-224,165,141,224,164,176,224,164,149,224,164,181,224,164,191,224,164,164,224,164,
-190,224,164,176,224,165,129,224,164,170,224,164,175,224,165,135,224,164,184,224,
-165,141,224,164,165,224,164,190,224,164,168,224,164,149,224,164,176,224,165,139,
-224,164,161,224,164,188,224,164,174,224,165,129,224,164,149,224,165,141,224,164,
-164,224,164,175,224,165,139,224,164,156,224,164,168,224,164,190,224,164,149,224,
-165,131,224,164,170,224,164,175,224,164,190,224,164,170,224,165,139,224,164,184,
-224,165,141,224,164,159,224,164,152,224,164,176,224,165,135,224,164,178,224,165,
-130,224,164,149,224,164,190,224,164,176,224,165,141,224,164,175,224,164,181,224,
-164,191,224,164,154,224,164,190,224,164,176,224,164,184,224,165,130,224,164,154,
-224,164,168,224,164,190,224,164,174,224,165,130,224,164,178,224,165,141,224,164,
-175,224,164,166,224,165,135,224,164,150,224,165,135,224,164,130,224,164,185,224,
-164,174,224,165,135,224,164,182,224,164,190,224,164,184,224,165,141,224,164,149,
-224,165,130,224,164,178,224,164,174,224,165,136,224,164,130,224,164,168,224,165,
-135,224,164,164,224,165,136,224,164,175,224,164,190,224,164,176,224,164,156,224,
-164,191,224,164,184,224,164,149,224,165,135,114,115,115,43,120,109,108,34,32,116
-,105,116,108,101,61,34,45,116,121,112,101,34,32,99,111,110,116,101,110,116,61,34
-,116,105,116,108,101,34,32,99,111,110,116,101,110,116,61,34,97,116,32,116,104,
-101,32,115,97,109,101,32,116,105,109,101,46,106,115,34,62,60,47,115,99,114,105,
-112,116,62,10,60,34,32,109,101,116,104,111,100,61,34,112,111,115,116,34,32,60,47
-,115,112,97,110,62,60,47,97,62,60,47,108,105,62,118,101,114,116,105,99,97,108,45
-,97,108,105,103,110,58,116,47,106,113,117,101,114,121,46,109,105,110,46,106,115,
-34,62,46,99,108,105,99,107,40,102,117,110,99,116,105,111,110,40,32,115,116,121,
-108,101,61,34,112,97,100,100,105,110,103,45,125,41,40,41,59,10,60,47,115,99,114,
-105,112,116,62,10,60,47,115,112,97,110,62,60,97,32,104,114,101,102,61,34,60,97,
-32,104,114,101,102,61,34,104,116,116,112,58,47,47,41,59,32,114,101,116,117,114,
-110,32,102,97,108,115,101,59,116,101,120,116,45,100,101,99,111,114,97,116,105,
-111,110,58,32,115,99,114,111,108,108,105,110,103,61,34,110,111,34,32,98,111,114,
-100,101,114,45,99,111,108,108,97,112,115,101,58,97,115,115,111,99,105,97,116,101
-,100,32,119,105,116,104,32,66,97,104,97,115,97,32,73,110,100,111,110,101,115,105
-,97,69,110,103,108,105,115,104,32,108,97,110,103,117,97,103,101,60,116,101,120,
-116,32,120,109,108,58,115,112,97,99,101,61,46,103,105,102,34,32,98,111,114,100,
-101,114,61,34,48,34,60,47,98,111,100,121,62,10,60,47,104,116,109,108,62,10,111,
-118,101,114,102,108,111,119,58,104,105,100,100,101,110,59,105,109,103,32,115,114
-,99,61,34,104,116,116,112,58,47,47,97,100,100,69,118,101,110,116,76,105,115,116,
-101,110,101,114,114,101,115,112,111,110,115,105,98,108,101,32,102,111,114,32,115
-,46,106,115,34,62,60,47,115,99,114,105,112,116,62,10,47,102,97,118,105,99,111,
-110,46,105,99,111,34,32,47,62,111,112,101,114,97,116,105,110,103,32,115,121,115,
-116,101,109,34,32,115,116,121,108,101,61,34,119,105,100,116,104,58,49,116,97,114
-,103,101,116,61,34,95,98,108,97,110,107,34,62,83,116,97,116,101,32,85,110,105,
-118,101,114,115,105,116,121,116,101,120,116,45,97,108,105,103,110,58,108,101,102
-,116,59,10,100,111,99,117,109,101,110,116,46,119,114,105,116,101,40,44,32,105,
-110,99,108,117,100,105,110,103,32,116,104,101,32,97,114,111,117,110,100,32,116,
-104,101,32,119,111,114,108,100,41,59,13,10,60,47,115,99,114,105,112,116,62,13,10
-,60,34,32,115,116,121,108,101,61,34,104,101,105,103,104,116,58,59,111,118,101,
-114,102,108,111,119,58,104,105,100,100,101,110,109,111,114,101,32,105,110,102,
-111,114,109,97,116,105,111,110,97,110,32,105,110,116,101,114,110,97,116,105,111,
-110,97,108,97,32,109,101,109,98,101,114,32,111,102,32,116,104,101,32,111,110,101
-,32,111,102,32,116,104,101,32,102,105,114,115,116,99,97,110,32,98,101,32,102,111
-,117,110,100,32,105,110,32,60,47,100,105,118,62,10,9,9,60,47,100,105,118,62,10,
-100,105,115,112,108,97,121,58,32,110,111,110,101,59,34,62,34,32,47,62,10,60,108,
-105,110,107,32,114,101,108,61,34,10,32,32,40,102,117,110,99,116,105,111,110,40,
-41,32,123,116,104,101,32,49,53,116,104,32,99,101,110,116,117,114,121,46,112,114,
-101,118,101,110,116,68,101,102,97,117,108,116,40,108,97,114,103,101,32,110,117,
-109,98,101,114,32,111,102,32,66,121,122,97,110,116,105,110,101,32,69,109,112,105
-,114,101,46,106,112,103,124,116,104,117,109,98,124,108,101,102,116,124,118,97,
-115,116,32,109,97,106,111,114,105,116,121,32,111,102,109,97,106,111,114,105,116,
-121,32,111,102,32,116,104,101,32,32,97,108,105,103,110,61,34,99,101,110,116,101,
-114,34,62,85,110,105,118,101,114,115,105,116,121,32,80,114,101,115,115,100,111,
-109,105,110,97,116,101,100,32,98,121,32,116,104,101,83,101,99,111,110,100,32,87,
-111,114,108,100,32,87,97,114,100,105,115,116,114,105,98,117,116,105,111,110,32,
-111,102,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,116,104,
-101,32,114,101,115,116,32,111,102,32,116,104,101,32,99,104,97,114,97,99,116,101,
-114,105,122,101,100,32,98,121,32,114,101,108,61,34,110,111,102,111,108,108,111,
-119,34,62,100,101,114,105,118,101,115,32,102,114,111,109,32,116,104,101,114,97,
-116,104,101,114,32,116,104,97,110,32,116,104,101,32,97,32,99,111,109,98,105,110,
-97,116,105,111,110,32,111,102,115,116,121,108,101,61,34,119,105,100,116,104,58,
-49,48,48,69,110,103,108,105,115,104,45,115,112,101,97,107,105,110,103,99,111,109
-,112,117,116,101,114,32,115,99,105,101,110,99,101,98,111,114,100,101,114,61,34,
-48,34,32,97,108,116,61,34,116,104,101,32,101,120,105,115,116,101,110,99,101,32,
-111,102,68,101,109,111,99,114,97,116,105,99,32,80,97,114,116,121,34,32,115,116,
-121,108,101,61,34,109,97,114,103,105,110,45,70,111,114,32,116,104,105,115,32,114
-,101,97,115,111,110,44,46,106,115,34,62,60,47,115,99,114,105,112,116,62,10,9,115
-,66,121,84,97,103,78,97,109,101,40,115,41,91,48,93,106,115,34,62,60,47,115,99,
-114,105,112,116,62,13,10,60,46,106,115,34,62,60,47,115,99,114,105,112,116,62,13,
-10,108,105,110,107,32,114,101,108,61,34,105,99,111,110,34,32,39,32,97,108,116,61
-,39,39,32,99,108,97,115,115,61,39,102,111,114,109,97,116,105,111,110,32,111,102,
-32,116,104,101,118,101,114,115,105,111,110,115,32,111,102,32,116,104,101,32,60,
-47,97,62,60,47,100,105,118,62,60,47,100,105,118,62,47,112,97,103,101,62,10,32,32
-,60,112,97,103,101,62,10,60,100,105,118,32,99,108,97,115,115,61,34,99,111,110,
-116,98,101,99,97,109,101,32,116,104,101,32,102,105,114,115,116,98,97,104,97,115,
-97,32,73,110,100,111,110,101,115,105,97,101,110,103,108,105,115,104,32,40,115,
-105,109,112,108,101,41,206,149,206,187,206,187,206,183,206,189,206,185,206,186,
-206,172,209,133,209,128,208,178,208,176,209,130,209,129,208,186,208,184,208,186,
-208,190,208,188,208,191,208,176,208,189,208,184,208,184,209,143,208,178,208,187,
-209,143,208,181,209,130,209,129,209,143,208,148,208,190,208,177,208,176,208,178,
-208,184,209,130,209,140,209,135,208,181,208,187,208,190,208,178,208,181,208,186,
-208,176,209,128,208,176,208,183,208,178,208,184,209,130,208,184,209,143,208,152,
-208,189,209,130,208,181,209,128,208,189,208,181,209,130,208,158,209,130,208,178,
-208,181,209,130,208,184,209,130,209,140,208,189,208,176,208,191,209,128,208,184,
-208,188,208,181,209,128,208,184,208,189,209,130,208,181,209,128,208,189,208,181,
-209,130,208,186,208,190,209,130,208,190,209,128,208,190,208,179,208,190,209,129,
-209,130,209,128,208,176,208,189,208,184,209,134,209,139,208,186,208,176,209,135,
-208,181,209,129,209,130,208,178,208,181,209,131,209,129,208,187,208,190,208,178,
-208,184,209,143,209,133,208,191,209,128,208,190,208,177,208,187,208,181,208,188,
-209,139,208,191,208,190,208,187,209,131,209,135,208,184,209,130,209,140,209,143,
-208,178,208,187,209,143,209,142,209,130,209,129,209,143,208,189,208,176,208,184,
-208,177,208,190,208,187,208,181,208,181,208,186,208,190,208,188,208,191,208,176,
-208,189,208,184,209,143,208,178,208,189,208,184,208,188,208,176,208,189,208,184,
-208,181,209,129,209,128,208,181,208,180,209,129,209,130,208,178,208,176,216,167,
-217,132,217,133,217,136,216,167,216,182,217,138,216,185,216,167,217,132,216,177,
-216,166,217,138,216,179,217,138,216,169,216,167,217,132,216,167,217,134,216,170,
-217,130,216,167,217,132,217,133,216,180,216,167,216,177,217,131,216,167,216,170,
-217,131,216,167,217,132,216,179,217,138,216,167,216,177,216,167,216,170,216,167,
-217,132,217,133,217,131,216,170,217,136,216,168,216,169,216,167,217,132,216,179,
-216,185,217,136,216,175,217,138,216,169,216,167,216,173,216,181,216,167,216,166,
-217,138,216,167,216,170,216,167,217,132,216,185,216,167,217,132,217,133,217,138,
-216,169,216,167,217,132,216,181,217,136,216,170,217,138,216,167,216,170,216,167,
-217,132,216,167,217,134,216,170,216,177,217,134,216,170,216,167,217,132,216,170,
-216,181,216,167,217,133,217,138,217,133,216,167,217,132,216,165,216,179,217,132,
-216,167,217,133,217,138,216,167,217,132,217,133,216,180,216,167,216,177,217,131,
-216,169,216,167,217,132,217,133,216,177,216,166,217,138,216,167,216,170,114,111,
-98,111,116,115,34,32,99,111,110,116,101,110,116,61,34,60,100,105,118,32,105,100,
-61,34,102,111,111,116,101,114,34,62,116,104,101,32,85,110,105,116,101,100,32,83,
-116,97,116,101,115,60,105,109,103,32,115,114,99,61,34,104,116,116,112,58,47,47,
-46,106,112,103,124,114,105,103,104,116,124,116,104,117,109,98,124,46,106,115,34,
-62,60,47,115,99,114,105,112,116,62,13,10,60,108,111,99,97,116,105,111,110,46,112
-,114,111,116,111,99,111,108,102,114,97,109,101,98,111,114,100,101,114,61,34,48,
-34,32,115,34,32,47,62,10,60,109,101,116,97,32,110,97,109,101,61,34,60,47,97,62,
-60,47,100,105,118,62,60,47,100,105,118,62,60,102,111,110,116,45,119,101,105,103,
-104,116,58,98,111,108,100,59,38,113,117,111,116,59,32,97,110,100,32,38,113,117,
-111,116,59,100,101,112,101,110,100,105,110,103,32,111,110,32,116,104,101,32,109,
-97,114,103,105,110,58,48,59,112,97,100,100,105,110,103,58,34,32,114,101,108,61,
-34,110,111,102,111,108,108,111,119,34,32,80,114,101,115,105,100,101,110,116,32,
-111,102,32,116,104,101,32,116,119,101,110,116,105,101,116,104,32,99,101,110,116,
-117,114,121,101,118,105,115,105,111,110,62,10,32,32,60,47,112,97,103,101,73,110,
-116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,97,46,97,115,121,110,
-99,32,61,32,116,114,117,101,59,13,10,105,110,102,111,114,109,97,116,105,111,110,
-32,97,98,111,117,116,60,100,105,118,32,105,100,61,34,104,101,97,100,101,114,34,
-62,34,32,97,99,116,105,111,110,61,34,104,116,116,112,58,47,47,60,97,32,104,114,
-101,102,61,34,104,116,116,112,115,58,47,47,60,100,105,118,32,105,100,61,34,99,
-111,110,116,101,110,116,34,60,47,100,105,118,62,13,10,60,47,100,105,118,62,13,10
-,60,100,101,114,105,118,101,100,32,102,114,111,109,32,116,104,101,32,60,105,109,
-103,32,115,114,99,61,39,104,116,116,112,58,47,47,97,99,99,111,114,100,105,110,
-103,32,116,111,32,116,104,101,32,10,60,47,98,111,100,121,62,10,60,47,104,116,109
-,108,62,10,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,115,
-99,114,105,112,116,32,108,97,110,103,117,97,103,101,61,34,65,114,105,97,108,44,
-32,72,101,108,118,101,116,105,99,97,44,60,47,97,62,60,115,112,97,110,32,99,108,
-97,115,115,61,34,60,47,115,99,114,105,112,116,62,60,115,99,114,105,112,116,32,
-112,111,108,105,116,105,99,97,108,32,112,97,114,116,105,101,115,116,100,62,60,47
-,116,114,62,60,47,116,97,98,108,101,62,60,104,114,101,102,61,34,104,116,116,112,
-58,47,47,119,119,119,46,105,110,116,101,114,112,114,101,116,97,116,105,111,110,
-32,111,102,114,101,108,61,34,115,116,121,108,101,115,104,101,101,116,34,32,100,
-111,99,117,109,101,110,116,46,119,114,105,116,101,40,39,60,99,104,97,114,115,101
-,116,61,34,117,116,102,45,56,34,62,10,98,101,103,105,110,110,105,110,103,32,111,
-102,32,116,104,101,32,114,101,118,101,97,108,101,100,32,116,104,97,116,32,116,
-104,101,116,101,108,101,118,105,115,105,111,110,32,115,101,114,105,101,115,34,32
-,114,101,108,61,34,110,111,102,111,108,108,111,119,34,62,32,116,97,114,103,101,
-116,61,34,95,98,108,97,110,107,34,62,99,108,97,105,109,105,110,103,32,116,104,97
-,116,32,116,104,101,104,116,116,112,37,51,65,37,50,70,37,50,70,119,119,119,46,
-109,97,110,105,102,101,115,116,97,116,105,111,110,115,32,111,102,80,114,105,109,
-101,32,77,105,110,105,115,116,101,114,32,111,102,105,110,102,108,117,101,110,99,
-101,100,32,98,121,32,116,104,101,99,108,97,115,115,61,34,99,108,101,97,114,102,
-105,120,34,62,47,100,105,118,62,13,10,60,47,100,105,118,62,13,10,13,10,116,104,
-114,101,101,45,100,105,109,101,110,115,105,111,110,97,108,67,104,117,114,99,104,
-32,111,102,32,69,110,103,108,97,110,100,111,102,32,78,111,114,116,104,32,67,97,
-114,111,108,105,110,97,115,113,117,97,114,101,32,107,105,108,111,109,101,116,114
-,101,115,46,97,100,100,69,118,101,110,116,76,105,115,116,101,110,101,114,100,105
-,115,116,105,110,99,116,32,102,114,111,109,32,116,104,101,99,111,109,109,111,110
-,108,121,32,107,110,111,119,110,32,97,115,80,104,111,110,101,116,105,99,32,65,
-108,112,104,97,98,101,116,100,101,99,108,97,114,101,100,32,116,104,97,116,32,116
-,104,101,99,111,110,116,114,111,108,108,101,100,32,98,121,32,116,104,101,66,101,
-110,106,97,109,105,110,32,70,114,97,110,107,108,105,110,114,111,108,101,45,112,
-108,97,121,105,110,103,32,103,97,109,101,116,104,101,32,85,110,105,118,101,114,
-115,105,116,121,32,111,102,105,110,32,87,101,115,116,101,114,110,32,69,117,114,
-111,112,101,112,101,114,115,111,110,97,108,32,99,111,109,112,117,116,101,114,80,
-114,111,106,101,99,116,32,71,117,116,101,110,98,101,114,103,114,101,103,97,114,
-100,108,101,115,115,32,111,102,32,116,104,101,104,97,115,32,98,101,101,110,32,
-112,114,111,112,111,115,101,100,116,111,103,101,116,104,101,114,32,119,105,116,
-104,32,116,104,101,62,60,47,108,105,62,60,108,105,32,99,108,97,115,115,61,34,105
-,110,32,115,111,109,101,32,99,111,117,110,116,114,105,101,115,109,105,110,46,106
-,115,34,62,60,47,115,99,114,105,112,116,62,111,102,32,116,104,101,32,112,111,112
-,117,108,97,116,105,111,110,111,102,102,105,99,105,97,108,32,108,97,110,103,117,
-97,103,101,60,105,109,103,32,115,114,99,61,34,105,109,97,103,101,115,47,105,100,
-101,110,116,105,102,105,101,100,32,98,121,32,116,104,101,110,97,116,117,114,97,
-108,32,114,101,115,111,117,114,99,101,115,99,108,97,115,115,105,102,105,99,97,
-116,105,111,110,32,111,102,99,97,110,32,98,101,32,99,111,110,115,105,100,101,114
-,101,100,113,117,97,110,116,117,109,32,109,101,99,104,97,110,105,99,115,78,101,
-118,101,114,116,104,101,108,101,115,115,44,32,116,104,101,109,105,108,108,105,
-111,110,32,121,101,97,114,115,32,97,103,111,60,47,98,111,100,121,62,13,10,60,47,
-104,116,109,108,62,13,206,149,206,187,206,187,206,183,206,189,206,185,206,186,
-206,172,10,116,97,107,101,32,97,100,118,97,110,116,97,103,101,32,111,102,97,110,
-100,44,32,97,99,99,111,114,100,105,110,103,32,116,111,97,116,116,114,105,98,117,
-116,101,100,32,116,111,32,116,104,101,77,105,99,114,111,115,111,102,116,32,87,
-105,110,100,111,119,115,116,104,101,32,102,105,114,115,116,32,99,101,110,116,117
-,114,121,117,110,100,101,114,32,116,104,101,32,99,111,110,116,114,111,108,100,
-105,118,32,99,108,97,115,115,61,34,104,101,97,100,101,114,115,104,111,114,116,
-108,121,32,97,102,116,101,114,32,116,104,101,110,111,116,97,98,108,101,32,101,
-120,99,101,112,116,105,111,110,116,101,110,115,32,111,102,32,116,104,111,117,115
-,97,110,100,115,115,101,118,101,114,97,108,32,100,105,102,102,101,114,101,110,
-116,97,114,111,117,110,100,32,116,104,101,32,119,111,114,108,100,46,114,101,97,
-99,104,105,110,103,32,109,105,108,105,116,97,114,121,105,115,111,108,97,116,101,
-100,32,102,114,111,109,32,116,104,101,111,112,112,111,115,105,116,105,111,110,32
-,116,111,32,116,104,101,116,104,101,32,79,108,100,32,84,101,115,116,97,109,101,
-110,116,65,102,114,105,99,97,110,32,65,109,101,114,105,99,97,110,115,105,110,115
-,101,114,116,101,100,32,105,110,116,111,32,116,104,101,115,101,112,97,114,97,116
-,101,32,102,114,111,109,32,116,104,101,109,101,116,114,111,112,111,108,105,116,
-97,110,32,97,114,101,97,109,97,107,101,115,32,105,116,32,112,111,115,115,105,98,
-108,101,97,99,107,110,111,119,108,101,100,103,101,100,32,116,104,97,116,97,114,
-103,117,97,98,108,121,32,116,104,101,32,109,111,115,116,116,121,112,101,61,34,
-116,101,120,116,47,99,115,115,34,62,10,116,104,101,32,73,110,116,101,114,110,97,
-116,105,111,110,97,108,65,99,99,111,114,100,105,110,103,32,116,111,32,116,104,
-101,32,112,101,61,34,116,101,120,116,47,99,115,115,34,32,47,62,10,99,111,105,110
-,99,105,100,101,32,119,105,116,104,32,116,104,101,116,119,111,45,116,104,105,114
-,100,115,32,111,102,32,116,104,101,68,117,114,105,110,103,32,116,104,105,115,32,
-116,105,109,101,44,100,117,114,105,110,103,32,116,104,101,32,112,101,114,105,111
-,100,97,110,110,111,117,110,99,101,100,32,116,104,97,116,32,104,101,116,104,101,
-32,105,110,116,101,114,110,97,116,105,111,110,97,108,97,110,100,32,109,111,114,
-101,32,114,101,99,101,110,116,108,121,98,101,108,105,101,118,101,100,32,116,104,
-97,116,32,116,104,101,99,111,110,115,99,105,111,117,115,110,101,115,115,32,97,
-110,100,102,111,114,109,101,114,108,121,32,107,110,111,119,110,32,97,115,115,117
-,114,114,111,117,110,100,101,100,32,98,121,32,116,104,101,102,105,114,115,116,32
-,97,112,112,101,97,114,101,100,32,105,110,111,99,99,97,115,105,111,110,97,108,
-108,121,32,117,115,101,100,112,111,115,105,116,105,111,110,58,97,98,115,111,108,
-117,116,101,59,34,32,116,97,114,103,101,116,61,34,95,98,108,97,110,107,34,32,112
-,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,116,101,120,
-116,45,97,108,105,103,110,58,99,101,110,116,101,114,59,106,97,120,47,108,105,98,
-115,47,106,113,117,101,114,121,47,49,46,98,97,99,107,103,114,111,117,110,100,45,
-99,111,108,111,114,58,35,116,121,112,101,61,34,97,112,112,108,105,99,97,116,105,
-111,110,47,97,110,103,117,97,103,101,34,32,99,111,110,116,101,110,116,61,34,60,
-109,101,116,97,32,104,116,116,112,45,101,113,117,105,118,61,34,80,114,105,118,97
-,99,121,32,80,111,108,105,99,121,60,47,97,62,101,40,34,37,51,67,115,99,114,105,
-112,116,32,115,114,99,61,39,34,32,116,97,114,103,101,116,61,34,95,98,108,97,110,
-107,34,62,79,110,32,116,104,101,32,111,116,104,101,114,32,104,97,110,100,44,46,
-106,112,103,124,116,104,117,109,98,124,114,105,103,104,116,124,50,60,47,100,105,
-118,62,60,100,105,118,32,99,108,97,115,115,61,34,60,100,105,118,32,115,116,121,
-108,101,61,34,102,108,111,97,116,58,110,105,110,101,116,101,101,110,116,104,32,
-99,101,110,116,117,114,121,60,47,98,111,100,121,62,13,10,60,47,104,116,109,108,
-62,13,10,60,105,109,103,32,115,114,99,61,34,104,116,116,112,58,47,47,115,59,116,
-101,120,116,45,97,108,105,103,110,58,99,101,110,116,101,114,102,111,110,116,45,
-119,101,105,103,104,116,58,32,98,111,108,100,59,32,65,99,99,111,114,100,105,110,
-103,32,116,111,32,116,104,101,32,100,105,102,102,101,114,101,110,99,101,32,98,
-101,116,119,101,101,110,34,32,102,114,97,109,101,98,111,114,100,101,114,61,34,48
-,34,32,34,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,108,
-105,110,107,32,104,114,101,102,61,34,104,116,116,112,58,47,47,104,116,109,108,52
-,47,108,111,111,115,101,46,100,116,100,34,62,10,100,117,114,105,110,103,32,116,
-104,105,115,32,112,101,114,105,111,100,60,47,116,100,62,60,47,116,114,62,60,47,
-116,97,98,108,101,62,99,108,111,115,101,108,121,32,114,101,108,97,116,101,100,32
-,116,111,102,111,114,32,116,104,101,32,102,105,114,115,116,32,116,105,109,101,59
-,102,111,110,116,45,119,101,105,103,104,116,58,98,111,108,100,59,105,110,112,117
-,116,32,116,121,112,101,61,34,116,101,120,116,34,32,60,115,112,97,110,32,115,116
-,121,108,101,61,34,102,111,110,116,45,111,110,114,101,97,100,121,115,116,97,116,
-101,99,104,97,110,103,101,9,60,100,105,118,32,99,108,97,115,115,61,34,99,108,101
-,97,114,100,111,99,117,109,101,110,116,46,108,111,99,97,116,105,111,110,46,32,70
-,111,114,32,101,120,97,109,112,108,101,44,32,116,104,101,32,97,32,119,105,100,
-101,32,118,97,114,105,101,116,121,32,111,102,32,60,33,68,79,67,84,89,80,69,32,
-104,116,109,108,62,13,10,60,38,110,98,115,112,59,38,110,98,115,112,59,38,110,98,
-115,112,59,34,62,60,97,32,104,114,101,102,61,34,104,116,116,112,58,47,47,115,116
-,121,108,101,61,34,102,108,111,97,116,58,108,101,102,116,59,99,111,110,99,101,
-114,110,101,100,32,119,105,116,104,32,116,104,101,61,104,116,116,112,37,51,65,37
-,50,70,37,50,70,119,119,119,46,105,110,32,112,111,112,117,108,97,114,32,99,117,
-108,116,117,114,101,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,32,47
-,62,105,116,32,105,115,32,112,111,115,115,105,98,108,101,32,116,111,32,72,97,114
-,118,97,114,100,32,85,110,105,118,101,114,115,105,116,121,116,121,108,101,115,
-104,101,101,116,34,32,104,114,101,102,61,34,47,116,104,101,32,109,97,105,110,32,
-99,104,97,114,97,99,116,101,114,79,120,102,111,114,100,32,85,110,105,118,101,114
-,115,105,116,121,32,32,110,97,109,101,61,34,107,101,121,119,111,114,100,115,34,
-32,99,115,116,121,108,101,61,34,116,101,120,116,45,97,108,105,103,110,58,116,104
-,101,32,85,110,105,116,101,100,32,75,105,110,103,100,111,109,102,101,100,101,114
-,97,108,32,103,111,118,101,114,110,109,101,110,116,60,100,105,118,32,115,116,121
-,108,101,61,34,109,97,114,103,105,110,32,100,101,112,101,110,100,105,110,103,32,
-111,110,32,116,104,101,32,100,101,115,99,114,105,112,116,105,111,110,32,111,102,
-32,116,104,101,60,100,105,118,32,99,108,97,115,115,61,34,104,101,97,100,101,114,
-46,109,105,110,46,106,115,34,62,60,47,115,99,114,105,112,116,62,100,101,115,116,
-114,117,99,116,105,111,110,32,111,102,32,116,104,101,115,108,105,103,104,116,108
-,121,32,100,105,102,102,101,114,101,110,116,105,110,32,97,99,99,111,114,100,97,
-110,99,101,32,119,105,116,104,116,101,108,101,99,111,109,109,117,110,105,99,97,
-116,105,111,110,115,105,110,100,105,99,97,116,101,115,32,116,104,97,116,32,116,
-104,101,115,104,111,114,116,108,121,32,116,104,101,114,101,97,102,116,101,114,
-101,115,112,101,99,105,97,108,108,121,32,105,110,32,116,104,101,32,69,117,114,
-111,112,101,97,110,32,99,111,117,110,116,114,105,101,115,72,111,119,101,118,101,
-114,44,32,116,104,101,114,101,32,97,114,101,115,114,99,61,34,104,116,116,112,58,
-47,47,115,116,97,116,105,99,115,117,103,103,101,115,116,101,100,32,116,104,97,
-116,32,116,104,101,34,32,115,114,99,61,34,104,116,116,112,58,47,47,119,119,119,
-46,97,32,108,97,114,103,101,32,110,117,109,98,101,114,32,111,102,32,84,101,108,
-101,99,111,109,109,117,110,105,99,97,116,105,111,110,115,34,32,114,101,108,61,34
-,110,111,102,111,108,108,111,119,34,32,116,72,111,108,121,32,82,111,109,97,110,
-32,69,109,112,101,114,111,114,97,108,109,111,115,116,32,101,120,99,108,117,115,
-105,118,101,108,121,34,32,98,111,114,100,101,114,61,34,48,34,32,97,108,116,61,34
-,83,101,99,114,101,116,97,114,121,32,111,102,32,83,116,97,116,101,99,117,108,109
-,105,110,97,116,105,110,103,32,105,110,32,116,104,101,67,73,65,32,87,111,114,108
-,100,32,70,97,99,116,98,111,111,107,116,104,101,32,109,111,115,116,32,105,109,
-112,111,114,116,97,110,116,97,110,110,105,118,101,114,115,97,114,121,32,111,102,
-32,116,104,101,115,116,121,108,101,61,34,98,97,99,107,103,114,111,117,110,100,45
-,60,108,105,62,60,101,109,62,60,97,32,104,114,101,102,61,34,47,116,104,101,32,65
-,116,108,97,110,116,105,99,32,79,99,101,97,110,115,116,114,105,99,116,108,121,32
-,115,112,101,97,107,105,110,103,44,115,104,111,114,116,108,121,32,98,101,102,111
-,114,101,32,116,104,101,100,105,102,102,101,114,101,110,116,32,116,121,112,101,
-115,32,111,102,116,104,101,32,79,116,116,111,109,97,110,32,69,109,112,105,114,
-101,62,60,105,109,103,32,115,114,99,61,34,104,116,116,112,58,47,47,65,110,32,73,
-110,116,114,111,100,117,99,116,105,111,110,32,116,111,99,111,110,115,101,113,117
-,101,110,99,101,32,111,102,32,116,104,101,100,101,112,97,114,116,117,114,101,32,
-102,114,111,109,32,116,104,101,67,111,110,102,101,100,101,114,97,116,101,32,83,
-116,97,116,101,115,105,110,100,105,103,101,110,111,117,115,32,112,101,111,112,
-108,101,115,80,114,111,99,101,101,100,105,110,103,115,32,111,102,32,116,104,101,
-105,110,102,111,114,109,97,116,105,111,110,32,111,110,32,116,104,101,116,104,101
-,111,114,105,101,115,32,104,97,118,101,32,98,101,101,110,105,110,118,111,108,118
-,101,109,101,110,116,32,105,110,32,116,104,101,100,105,118,105,100,101,100,32,
-105,110,116,111,32,116,104,114,101,101,97,100,106,97,99,101,110,116,32,99,111,
-117,110,116,114,105,101,115,105,115,32,114,101,115,112,111,110,115,105,98,108,
-101,32,102,111,114,100,105,115,115,111,108,117,116,105,111,110,32,111,102,32,116
-,104,101,99,111,108,108,97,98,111,114,97,116,105,111,110,32,119,105,116,104,119,
-105,100,101,108,121,32,114,101,103,97,114,100,101,100,32,97,115,104,105,115,32,
-99,111,110,116,101,109,112,111,114,97,114,105,101,115,102,111,117,110,100,105,
-110,103,32,109,101,109,98,101,114,32,111,102,68,111,109,105,110,105,99,97,110,32
-,82,101,112,117,98,108,105,99,103,101,110,101,114,97,108,108,121,32,97,99,99,101
-,112,116,101,100,116,104,101,32,112,111,115,115,105,98,105,108,105,116,121,32,
-111,102,97,114,101,32,97,108,115,111,32,97,118,97,105,108,97,98,108,101,117,110,
-100,101,114,32,99,111,110,115,116,114,117,99,116,105,111,110,114,101,115,116,111
-,114,97,116,105,111,110,32,111,102,32,116,104,101,116,104,101,32,103,101,110,101
-,114,97,108,32,112,117,98,108,105,99,105,115,32,97,108,109,111,115,116,32,101,
-110,116,105,114,101,108,121,112,97,115,115,101,115,32,116,104,114,111,117,103,
-104,32,116,104,101,104,97,115,32,98,101,101,110,32,115,117,103,103,101,115,116,
-101,100,99,111,109,112,117,116,101,114,32,97,110,100,32,118,105,100,101,111,71,
-101,114,109,97,110,105,99,32,108,97,110,103,117,97,103,101,115,32,97,99,99,111,
-114,100,105,110,103,32,116,111,32,116,104,101,32,100,105,102,102,101,114,101,110
-,116,32,102,114,111,109,32,116,104,101,115,104,111,114,116,108,121,32,97,102,116
-,101,114,119,97,114,100,115,104,114,101,102,61,34,104,116,116,112,115,58,47,47,
-119,119,119,46,114,101,99,101,110,116,32,100,101,118,101,108,111,112,109,101,110
-,116,66,111,97,114,100,32,111,102,32,68,105,114,101,99,116,111,114,115,60,100,
-105,118,32,99,108,97,115,115,61,34,115,101,97,114,99,104,124,32,60,97,32,104,114
-,101,102,61,34,104,116,116,112,58,47,47,73,110,32,112,97,114,116,105,99,117,108,
-97,114,44,32,116,104,101,77,117,108,116,105,112,108,101,32,102,111,111,116,110,
-111,116,101,115,111,114,32,111,116,104,101,114,32,115,117,98,115,116,97,110,99,
-101,116,104,111,117,115,97,110,100,115,32,111,102,32,121,101,97,114,115,116,114,
-97,110,115,108,97,116,105,111,110,32,111,102,32,116,104,101,60,47,100,105,118,62
-,13,10,60,47,100,105,118,62,13,10,13,10,60,97,32,104,114,101,102,61,34,105,110,
-100,101,120,46,112,104,112,119,97,115,32,101,115,116,97,98,108,105,115,104,101,
-100,32,105,110,109,105,110,46,106,115,34,62,60,47,115,99,114,105,112,116,62,10,
-112,97,114,116,105,99,105,112,97,116,101,32,105,110,32,116,104,101,97,32,115,116
-,114,111,110,103,32,105,110,102,108,117,101,110,99,101,115,116,121,108,101,61,34
-,109,97,114,103,105,110,45,116,111,112,58,114,101,112,114,101,115,101,110,116,
-101,100,32,98,121,32,116,104,101,103,114,97,100,117,97,116,101,100,32,102,114,
-111,109,32,116,104,101,84,114,97,100,105,116,105,111,110,97,108,108,121,44,32,
-116,104,101,69,108,101,109,101,110,116,40,34,115,99,114,105,112,116,34,41,59,72,
-111,119,101,118,101,114,44,32,115,105,110,99,101,32,116,104,101,47,100,105,118,
-62,10,60,47,100,105,118,62,10,60,100,105,118,32,108,101,102,116,59,32,109,97,114
-,103,105,110,45,108,101,102,116,58,112,114,111,116,101,99,116,105,111,110,32,97,
-103,97,105,110,115,116,48,59,32,118,101,114,116,105,99,97,108,45,97,108,105,103,
-110,58,85,110,102,111,114,116,117,110,97,116,101,108,121,44,32,116,104,101,116,
-121,112,101,61,34,105,109,97,103,101,47,120,45,105,99,111,110,47,100,105,118,62,
-10,60,100,105,118,32,99,108,97,115,115,61,34,32,99,108,97,115,115,61,34,99,108,
-101,97,114,102,105,120,34,62,60,100,105,118,32,99,108,97,115,115,61,34,102,111,
-111,116,101,114,9,9,60,47,100,105,118,62,10,9,9,60,47,100,105,118,62,10,116,104,
-101,32,109,111,116,105,111,110,32,112,105,99,116,117,114,101,208,145,209,138,208
-,187,208,179,208,176,209,128,209,129,208,186,208,184,208,177,209,138,208,187,208
-,179,208,176,209,128,209,129,208,186,208,184,208,164,208,181,208,180,208,181,209
-,128,208,176,209,134,208,184,208,184,208,189,208,181,209,129,208,186,208,190,208
-,187,209,140,208,186,208,190,209,129,208,190,208,190,208,177,209,137,208,181,208
-,189,208,184,208,181,209,129,208,190,208,190,208,177,209,137,208,181,208,189,208
-,184,209,143,208,191,209,128,208,190,208,179,209,128,208,176,208,188,208,188,209
-,139,208,158,209,130,208,191,209,128,208,176,208,178,208,184,209,130,209,140,208
-,177,208,181,209,129,208,191,208,187,208,176,209,130,208,189,208,190,208,188,208
-,176,209,130,208,181,209,128,208,184,208,176,208,187,209,139,208,191,208,190,208
-,183,208,178,208,190,208,187,209,143,208,181,209,130,208,191,208,190,209,129,208
-,187,208,181,208,180,208,189,208,184,208,181,209,128,208,176,208,183,208,187,208
-,184,209,135,208,189,209,139,209,133,208,191,209,128,208,190,208,180,209,131,208
-,186,209,134,208,184,208,184,208,191,209,128,208,190,208,179,209,128,208,176,208
-,188,208,188,208,176,208,191,208,190,208,187,208,189,208,190,209,129,209,130,209
-,140,209,142,208,189,208,176,209,133,208,190,208,180,208,184,209,130,209,129,209
-,143,208,184,208,183,208,177,209,128,208,176,208,189,208,189,208,190,208,181,208
-,189,208,176,209,129,208,181,208,187,208,181,208,189,208,184,209,143,208,184,208
-,183,208,188,208,181,208,189,208,181,208,189,208,184,209,143,208,186,208,176,209
-,130,208,181,208,179,208,190,209,128,208,184,208,184,208,144,208,187,208,181,208
-,186,209,129,208,176,208,189,208,180,209,128,224,164,166,224,165,141,224,164,181
-,224,164,190,224,164,176,224,164,190,224,164,174,224,165,136,224,164,168,224,165
-,129,224,164,133,224,164,178,224,164,170,224,165,141,224,164,176,224,164,166,224
-,164,190,224,164,168,224,164,173,224,164,190,224,164,176,224,164,164,224,165,128
-,224,164,175,224,164,133,224,164,168,224,165,129,224,164,166,224,165,135,224,164
-,182,224,164,185,224,164,191,224,164,168,224,165,141,224,164,166,224,165,128,224
-,164,135,224,164,130,224,164,161,224,164,191,224,164,175,224,164,190,224,164,166
-,224,164,191,224,164,178,224,165,141,224,164,178,224,165,128,224,164,133,224,164
-,167,224,164,191,224,164,149,224,164,190,224,164,176,224,164,181,224,165,128,224
-,164,161,224,164,191,224,164,175,224,165,139,224,164,154,224,164,191,224,164,159
-,224,165,141,224,164,160,224,165,135,224,164,184,224,164,174,224,164,190,224,164
-,154,224,164,190,224,164,176,224,164,156,224,164,130,224,164,149,224,165,141,224
-,164,182,224,164,168,224,164,166,224,165,129,224,164,168,224,164,191,224,164,175
-,224,164,190,224,164,170,224,165,141,224,164,176,224,164,175,224,165,139,224,164
-,151,224,164,133,224,164,168,224,165,129,224,164,184,224,164,190,224,164,176,224
-,164,145,224,164,168,224,164,178,224,164,190,224,164,135,224,164,168,224,164,170
-,224,164,190,224,164,176,224,165,141,224,164,159,224,165,128,224,164,182,224,164
-,176,224,165,141,224,164,164,224,165,139,224,164,130,224,164,178,224,165,139,224
-,164,149,224,164,184,224,164,173,224,164,190,224,164,171,224,164,188,224,165,141
-,224,164,178,224,165,136,224,164,182,224,164,182,224,164,176,224,165,141,224,164
-,164,224,165,135,224,164,130,224,164,170,224,165,141,224,164,176,224,164,166,224
-,165,135,224,164,182,224,164,170,224,165,141,224,164,178,224,165,135,224,164,175
-,224,164,176,224,164,149,224,165,135,224,164,130,224,164,166,224,165,141,224,164
-,176,224,164,184,224,165,141,224,164,165,224,164,191,224,164,164,224,164,191,224
-,164,137,224,164,164,224,165,141,224,164,170,224,164,190,224,164,166,224,164,137
-,224,164,168,224,165,141,224,164,185,224,165,135,224,164,130,224,164,154,224,164
-,191,224,164,159,224,165,141,224,164,160,224,164,190,224,164,175,224,164,190,224
-,164,164,224,165,141,224,164,176,224,164,190,224,164,156,224,165,141,224,164,175
-,224,164,190,224,164,166,224,164,190,224,164,170,224,165,129,224,164,176,224,164
-,190,224,164,168,224,165,135,224,164,156,224,165,139,224,164,161,224,164,188,224
-,165,135,224,164,130,224,164,133,224,164,168,224,165,129,224,164,181,224,164,190
-,224,164,166,224,164,182,224,165,141,224,164,176,224,165,135,224,164,163,224,165
-,128,224,164,182,224,164,191,224,164,149,224,165,141,224,164,183,224,164,190,224
-,164,184,224,164,176,224,164,149,224,164,190,224,164,176,224,165,128,224,164,184
-,224,164,130,224,164,151,224,165,141,224,164,176,224,164,185,224,164,170,224,164
-,176,224,164,191,224,164,163,224,164,190,224,164,174,224,164,172,224,165,141,224
-,164,176,224,164,190,224,164,130,224,164,161,224,164,172,224,164,154,224,165,141
-,224,164,154,224,165,139,224,164,130,224,164,137,224,164,170,224,164,178,224,164
-,172,224,165,141,224,164,167,224,164,174,224,164,130,224,164,164,224,165,141,224
-,164,176,224,165,128,224,164,184,224,164,130,224,164,170,224,164,176,224,165,141
-,224,164,149,224,164,137,224,164,174,224,165,141,224,164,174,224,165,128,224,164
-,166,224,164,174,224,164,190,224,164,167,224,165,141,224,164,175,224,164,174,224
-,164,184,224,164,185,224,164,190,224,164,175,224,164,164,224,164,190,224,164,182
-,224,164,172,224,165,141,224,164,166,224,165,139,224,164,130,224,164,174,224,165
-,128,224,164,161,224,164,191,224,164,175,224,164,190,224,164,134,224,164,136,224
-,164,170,224,165,128,224,164,143,224,164,178,224,164,174,224,165,139,224,164,172
-,224,164,190,224,164,135,224,164,178,224,164,184,224,164,130,224,164,150,224,165
-,141,224,164,175,224,164,190,224,164,134,224,164,170,224,164,176,224,165,135,224
-,164,182,224,164,168,224,164,133,224,164,168,224,165,129,224,164,172,224,164,130
-,224,164,167,224,164,172,224,164,190,224,164,156,224,164,188,224,164,190,224,164
-,176,224,164,168,224,164,181,224,165,128,224,164,168,224,164,164,224,164,174,224
-,164,170,224,165,141,224,164,176,224,164,174,224,165,129,224,164,150,224,164,170
-,224,165,141,224,164,176,224,164,182,224,165,141,224,164,168,224,164,170,224,164
-,176,224,164,191,224,164,181,224,164,190,224,164,176,224,164,168,224,165,129,224
-,164,149,224,164,184,224,164,190,224,164,168,224,164,184,224,164,174,224,164,176
-,224,165,141,224,164,165,224,164,168,224,164,134,224,164,175,224,165,139,224,164
-,156,224,164,191,224,164,164,224,164,184,224,165,139,224,164,174,224,164,181,224
-,164,190,224,164,176,216,167,217,132,217,133,216,180,216,167,216,177,217,131,216
-,167,216,170,216,167,217,132,217,133,217,134,216,170,216,175,217,138,216,167,216
-,170,216,167,217,132,217,131,217,133,216,168,217,138,217,136,216,170,216,177,216
-,167,217,132,217,133,216,180,216,167,217,135,216,175,216,167,216,170,216,185,216
-,175,216,175,216,167,217,132,216,178,217,136,216,167,216,177,216,185,216,175,216
-,175,216,167,217,132,216,177,216,175,217,136,216,175,216,167,217,132,216,165,216
-,179,217,132,216,167,217,133,217,138,216,169,216,167,217,132,217,129,217,136,216
-,170,217,136,216,180,217,136,216,168,216,167,217,132,217,133,216,179,216,167,216
-,168,217,130,216,167,216,170,216,167,217,132,217,133,216,185,217,132,217,136,217
-,133,216,167,216,170,216,167,217,132,217,133,216,179,217,132,216,179,217,132,216
-,167,216,170,216,167,217,132,216,172,216,177,216,167,217,129,217,138,217,131,216
-,179,216,167,217,132,216,167,216,179,217,132,216,167,217,133,217,138,216,169,216
-,167,217,132,216,167,216,170,216,181,216,167,217,132,216,167,216,170,107,101,121
-,119,111,114,100,115,34,32,99,111,110,116,101,110,116,61,34,119,51,46,111,114,
-103,47,49,57,57,57,47,120,104,116,109,108,34,62,60,97,32,116,97,114,103,101,116,
-61,34,95,98,108,97,110,107,34,32,116,101,120,116,47,104,116,109,108,59,32,99,104
-,97,114,115,101,116,61,34,32,116,97,114,103,101,116,61,34,95,98,108,97,110,107,
-34,62,60,116,97,98,108,101,32,99,101,108,108,112,97,100,100,105,110,103,61,34,97
-,117,116,111,99,111,109,112,108,101,116,101,61,34,111,102,102,34,32,116,101,120,
-116,45,97,108,105,103,110,58,32,99,101,110,116,101,114,59,116,111,32,108,97,115,
-116,32,118,101,114,115,105,111,110,32,98,121,32,98,97,99,107,103,114,111,117,110
-,100,45,99,111,108,111,114,58,32,35,34,32,104,114,101,102,61,34,104,116,116,112,
-58,47,47,119,119,119,46,47,100,105,118,62,60,47,100,105,118,62,60,100,105,118,32
-,105,100,61,60,97,32,104,114,101,102,61,34,35,34,32,99,108,97,115,115,61,34,34,
-62,60,105,109,103,32,115,114,99,61,34,104,116,116,112,58,47,47,99,114,105,112,
-116,34,32,115,114,99,61,34,104,116,116,112,58,47,47,10,60,115,99,114,105,112,116
-,32,108,97,110,103,117,97,103,101,61,34,47,47,69,78,34,32,34,104,116,116,112,58,
-47,47,119,119,119,46,119,101,110,99,111,100,101,85,82,73,67,111,109,112,111,110,
-101,110,116,40,34,32,104,114,101,102,61,34,106,97,118,97,115,99,114,105,112,116,
-58,60,100,105,118,32,99,108,97,115,115,61,34,99,111,110,116,101,110,116,100,111,
-99,117,109,101,110,116,46,119,114,105,116,101,40,39,60,115,99,112,111,115,105,
-116,105,111,110,58,32,97,98,115,111,108,117,116,101,59,115,99,114,105,112,116,32
-,115,114,99,61,34,104,116,116,112,58,47,47,32,115,116,121,108,101,61,34,109,97,
-114,103,105,110,45,116,111,112,58,46,109,105,110,46,106,115,34,62,60,47,115,99,
-114,105,112,116,62,10,60,47,100,105,118,62,10,60,100,105,118,32,99,108,97,115,
-115,61,34,119,51,46,111,114,103,47,49,57,57,57,47,120,104,116,109,108,34,32,10,
-13,10,60,47,98,111,100,121,62,13,10,60,47,104,116,109,108,62,100,105,115,116,105
-,110,99,116,105,111,110,32,98,101,116,119,101,101,110,47,34,32,116,97,114,103,
-101,116,61,34,95,98,108,97,110,107,34,62,60,108,105,110,107,32,104,114,101,102,
-61,34,104,116,116,112,58,47,47,101,110,99,111,100,105,110,103,61,34,117,116,102,
-45,56,34,63,62,10,119,46,97,100,100,69,118,101,110,116,76,105,115,116,101,110,
-101,114,63,97,99,116,105,111,110,61,34,104,116,116,112,58,47,47,119,119,119,46,
-105,99,111,110,34,32,104,114,101,102,61,34,104,116,116,112,58,47,47,32,115,116,
-121,108,101,61,34,98,97,99,107,103,114,111,117,110,100,58,116,121,112,101,61,34,
-116,101,120,116,47,99,115,115,34,32,47,62,10,109,101,116,97,32,112,114,111,112,
-101,114,116,121,61,34,111,103,58,116,60,105,110,112,117,116,32,116,121,112,101,
-61,34,116,101,120,116,34,32,32,115,116,121,108,101,61,34,116,101,120,116,45,97,
-108,105,103,110,58,116,104,101,32,100,101,118,101,108,111,112,109,101,110,116,32
-,111,102,32,116,121,108,101,115,104,101,101,116,34,32,116,121,112,101,61,34,116,
-101,104,116,109,108,59,32,99,104,97,114,115,101,116,61,117,116,102,45,56,105,115
-,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,116,97,98,108,
-101,32,119,105,100,116,104,61,34,49,48,48,37,34,32,73,110,32,97,100,100,105,116,
-105,111,110,32,116,111,32,116,104,101,32,99,111,110,116,114,105,98,117,116,101,
-100,32,116,111,32,116,104,101,32,100,105,102,102,101,114,101,110,99,101,115,32,
-98,101,116,119,101,101,110,100,101,118,101,108,111,112,109,101,110,116,32,111,
-102,32,116,104,101,32,73,116,32,105,115,32,105,109,112,111,114,116,97,110,116,32
-,116,111,32,60,47,115,99,114,105,112,116,62,10,10,60,115,99,114,105,112,116,32,
-32,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,49,62,60,47,
-115,112,97,110,62,60,115,112,97,110,32,105,100,61,103,98,76,105,98,114,97,114,
-121,32,111,102,32,67,111,110,103,114,101,115,115,60,105,109,103,32,115,114,99,61
-,34,104,116,116,112,58,47,47,105,109,69,110,103,108,105,115,104,32,116,114,97,
-110,115,108,97,116,105,111,110,65,99,97,100,101,109,121,32,111,102,32,83,99,105,
-101,110,99,101,115,100,105,118,32,115,116,121,108,101,61,34,100,105,115,112,108,
-97,121,58,99,111,110,115,116,114,117,99,116,105,111,110,32,111,102,32,116,104,
-101,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,105,100,41,105,
-110,32,99,111,110,106,117,110,99,116,105,111,110,32,119,105,116,104,69,108,101,
-109,101,110,116,40,39,115,99,114,105,112,116,39,41,59,32,60,109,101,116,97,32,
-112,114,111,112,101,114,116,121,61,34,111,103,58,208,145,209,138,208,187,208,179
-,208,176,209,128,209,129,208,186,208,184,10,32,116,121,112,101,61,34,116,101,120
-,116,34,32,110,97,109,101,61,34,62,80,114,105,118,97,99,121,32,80,111,108,105,99
-,121,60,47,97,62,97,100,109,105,110,105,115,116,101,114,101,100,32,98,121,32,116
-,104,101,101,110,97,98,108,101,83,105,110,103,108,101,82,101,113,117,101,115,116
-,115,116,121,108,101,61,38,113,117,111,116,59,109,97,114,103,105,110,58,60,47,
-100,105,118,62,60,47,100,105,118,62,60,47,100,105,118,62,60,62,60,105,109,103,32
-,115,114,99,61,34,104,116,116,112,58,47,47,105,32,115,116,121,108,101,61,38,113,
-117,111,116,59,102,108,111,97,116,58,114,101,102,101,114,114,101,100,32,116,111,
-32,97,115,32,116,104,101,32,116,111,116,97,108,32,112,111,112,117,108,97,116,105
-,111,110,32,111,102,105,110,32,87,97,115,104,105,110,103,116,111,110,44,32,68,46
-,67,46,32,115,116,121,108,101,61,34,98,97,99,107,103,114,111,117,110,100,45,97,
-109,111,110,103,32,111,116,104,101,114,32,116,104,105,110,103,115,44,111,114,103
-,97,110,105,122,97,116,105,111,110,32,111,102,32,116,104,101,112,97,114,116,105,
-99,105,112,97,116,101,100,32,105,110,32,116,104,101,116,104,101,32,105,110,116,
-114,111,100,117,99,116,105,111,110,32,111,102,105,100,101,110,116,105,102,105,
-101,100,32,119,105,116,104,32,116,104,101,102,105,99,116,105,111,110,97,108,32,
-99,104,97,114,97,99,116,101,114,32,79,120,102,111,114,100,32,85,110,105,118,101,
-114,115,105,116,121,32,109,105,115,117,110,100,101,114,115,116,97,110,100,105,
-110,103,32,111,102,84,104,101,114,101,32,97,114,101,44,32,104,111,119,101,118,
-101,114,44,115,116,121,108,101,115,104,101,101,116,34,32,104,114,101,102,61,34,
-47,67,111,108,117,109,98,105,97,32,85,110,105,118,101,114,115,105,116,121,101,
-120,112,97,110,100,101,100,32,116,111,32,105,110,99,108,117,100,101,117,115,117,
-97,108,108,121,32,114,101,102,101,114,114,101,100,32,116,111,105,110,100,105,99,
-97,116,105,110,103,32,116,104,97,116,32,116,104,101,104,97,118,101,32,115,117,
-103,103,101,115,116,101,100,32,116,104,97,116,97,102,102,105,108,105,97,116,101,
-100,32,119,105,116,104,32,116,104,101,99,111,114,114,101,108,97,116,105,111,110,
-32,98,101,116,119,101,101,110,110,117,109,98,101,114,32,111,102,32,100,105,102,
-102,101,114,101,110,116,62,60,47,116,100,62,60,47,116,114,62,60,47,116,97,98,108
-,101,62,82,101,112,117,98,108,105,99,32,111,102,32,73,114,101,108,97,110,100,10,
-60,47,115,99,114,105,112,116,62,10,60,115,99,114,105,112,116,32,117,110,100,101,
-114,32,116,104,101,32,105,110,102,108,117,101,110,99,101,99,111,110,116,114,105,
-98,117,116,105,111,110,32,116,111,32,116,104,101,79,102,102,105,99,105,97,108,32
-,119,101,98,115,105,116,101,32,111,102,104,101,97,100,113,117,97,114,116,101,114
-,115,32,111,102,32,116,104,101,99,101,110,116,101,114,101,100,32,97,114,111,117,
-110,100,32,116,104,101,105,109,112,108,105,99,97,116,105,111,110,115,32,111,102,
-32,116,104,101,104,97,118,101,32,98,101,101,110,32,100,101,118,101,108,111,112,
-101,100,70,101,100,101,114,97,108,32,82,101,112,117,98,108,105,99,32,111,102,98,
-101,99,97,109,101,32,105,110,99,114,101,97,115,105,110,103,108,121,99,111,110,
-116,105,110,117,97,116,105,111,110,32,111,102,32,116,104,101,78,111,116,101,44,
-32,104,111,119,101,118,101,114,44,32,116,104,97,116,115,105,109,105,108,97,114,
-32,116,111,32,116,104,97,116,32,111,102,32,99,97,112,97,98,105,108,105,116,105,
-101,115,32,111,102,32,116,104,101,97,99,99,111,114,100,97,110,99,101,32,119,105,
-116,104,32,116,104,101,112,97,114,116,105,99,105,112,97,110,116,115,32,105,110,
-32,116,104,101,102,117,114,116,104,101,114,32,100,101,118,101,108,111,112,109,
-101,110,116,117,110,100,101,114,32,116,104,101,32,100,105,114,101,99,116,105,111
-,110,105,115,32,111,102,116,101,110,32,99,111,110,115,105,100,101,114,101,100,
-104,105,115,32,121,111,117,110,103,101,114,32,98,114,111,116,104,101,114,60,47,
-116,100,62,60,47,116,114,62,60,47,116,97,98,108,101,62,60,97,32,104,116,116,112,
-45,101,113,117,105,118,61,34,88,45,85,65,45,112,104,121,115,105,99,97,108,32,112
-,114,111,112,101,114,116,105,101,115,111,102,32,66,114,105,116,105,115,104,32,67
-,111,108,117,109,98,105,97,104,97,115,32,98,101,101,110,32,99,114,105,116,105,99
-,105,122,101,100,40,119,105,116,104,32,116,104,101,32,101,120,99,101,112,116,105
-,111,110,113,117,101,115,116,105,111,110,115,32,97,98,111,117,116,32,116,104,101
-,112,97,115,115,105,110,103,32,116,104,114,111,117,103,104,32,116,104,101,48,34,
-32,99,101,108,108,112,97,100,100,105,110,103,61,34,48,34,32,116,104,111,117,115,
-97,110,100,115,32,111,102,32,112,101,111,112,108,101,114,101,100,105,114,101,99,
-116,115,32,104,101,114,101,46,32,70,111,114,104,97,118,101,32,99,104,105,108,100
-,114,101,110,32,117,110,100,101,114,37,51,69,37,51,67,47,115,99,114,105,112,116,
-37,51,69,34,41,41,59,60,97,32,104,114,101,102,61,34,104,116,116,112,58,47,47,119
-,119,119,46,60,108,105,62,60,97,32,104,114,101,102,61,34,104,116,116,112,58,47,
-47,115,105,116,101,95,110,97,109,101,34,32,99,111,110,116,101,110,116,61,34,116,
-101,120,116,45,100,101,99,111,114,97,116,105,111,110,58,110,111,110,101,115,116,
-121,108,101,61,34,100,105,115,112,108,97,121,58,32,110,111,110,101,60,109,101,
-116,97,32,104,116,116,112,45,101,113,117,105,118,61,34,88,45,110,101,119,32,68,
-97,116,101,40,41,46,103,101,116,84,105,109,101,40,41,32,116,121,112,101,61,34,
-105,109,97,103,101,47,120,45,105,99,111,110,34,60,47,115,112,97,110,62,60,115,
-112,97,110,32,99,108,97,115,115,61,34,108,97,110,103,117,97,103,101,61,34,106,97
-,118,97,115,99,114,105,112,116,119,105,110,100,111,119,46,108,111,99,97,116,105,
-111,110,46,104,114,101,102,60,97,32,104,114,101,102,61,34,106,97,118,97,115,99,
-114,105,112,116,58,45,45,62,13,10,60,115,99,114,105,112,116,32,116,121,112,101,
-61,34,116,60,97,32,104,114,101,102,61,39,104,116,116,112,58,47,47,119,119,119,46
-,104,111,114,116,99,117,116,32,105,99,111,110,34,32,104,114,101,102,61,34,60,47,
-100,105,118,62,13,10,60,100,105,118,32,99,108,97,115,115,61,34,60,115,99,114,105
-,112,116,32,115,114,99,61,34,104,116,116,112,58,47,47,34,32,114,101,108,61,34,
-115,116,121,108,101,115,104,101,101,116,34,32,116,60,47,100,105,118,62,10,60,115
-,99,114,105,112,116,32,116,121,112,101,61,47,97,62,32,60,97,32,104,114,101,102,
-61,34,104,116,116,112,58,47,47,32,97,108,108,111,119,84,114,97,110,115,112,97,
-114,101,110,99,121,61,34,88,45,85,65,45,67,111,109,112,97,116,105,98,108,101,34,
-32,99,111,110,114,101,108,97,116,105,111,110,115,104,105,112,32,98,101,116,119,
-101,101,110,10,60,47,115,99,114,105,112,116,62,13,10,60,115,99,114,105,112,116,
-32,60,47,97,62,60,47,108,105,62,60,47,117,108,62,60,47,100,105,118,62,97,115,115
-,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104,101,32,112,114,111,103,
-114,97,109,109,105,110,103,32,108,97,110,103,117,97,103,101,60,47,97,62,60,97,32
-,104,114,101,102,61,34,104,116,116,112,58,47,47,60,47,97,62,60,47,108,105,62,60,
-108,105,32,99,108,97,115,115,61,34,102,111,114,109,32,97,99,116,105,111,110,61,
-34,104,116,116,112,58,47,47,60,100,105,118,32,115,116,121,108,101,61,34,100,105,
-115,112,108,97,121,58,116,121,112,101,61,34,116,101,120,116,34,32,110,97,109,101
-,61,34,113,34,60,116,97,98,108,101,32,119,105,100,116,104,61,34,49,48,48,37,34,
-32,98,97,99,107,103,114,111,117,110,100,45,112,111,115,105,116,105,111,110,58,34
-,32,98,111,114,100,101,114,61,34,48,34,32,119,105,100,116,104,61,34,114,101,108,
-61,34,115,104,111,114,116,99,117,116,32,105,99,111,110,34,32,104,54,62,60,117,
-108,62,60,108,105,62,60,97,32,104,114,101,102,61,34,32,32,60,109,101,116,97,32,
-104,116,116,112,45,101,113,117,105,118,61,34,99,115,115,34,32,109,101,100,105,97
-,61,34,115,99,114,101,101,110,34,32,114,101,115,112,111,110,115,105,98,108,101,
-32,102,111,114,32,116,104,101,32,34,32,116,121,112,101,61,34,97,112,112,108,105,
-99,97,116,105,111,110,47,34,32,115,116,121,108,101,61,34,98,97,99,107,103,114,
-111,117,110,100,45,104,116,109,108,59,32,99,104,97,114,115,101,116,61,117,116,
-102,45,56,34,32,97,108,108,111,119,116,114,97,110,115,112,97,114,101,110,99,121,
-61,34,115,116,121,108,101,115,104,101,101,116,34,32,116,121,112,101,61,34,116,
-101,13,10,60,109,101,116,97,32,104,116,116,112,45,101,113,117,105,118,61,34,62,
-60,47,115,112,97,110,62,60,115,112,97,110,32,99,108,97,115,115,61,34,48,34,32,99
-,101,108,108,115,112,97,99,105,110,103,61,34,48,34,62,59,10,60,47,115,99,114,105
-,112,116,62,10,60,115,99,114,105,112,116,32,115,111,109,101,116,105,109,101,115,
-32,99,97,108,108,101,100,32,116,104,101,100,111,101,115,32,110,111,116,32,110,
-101,99,101,115,115,97,114,105,108,121,70,111,114,32,109,111,114,101,32,105,110,
-102,111,114,109,97,116,105,111,110,97,116,32,116,104,101,32,98,101,103,105,110,
-110,105,110,103,32,111,102,32,60,33,68,79,67,84,89,80,69,32,104,116,109,108,62,
-60,104,116,109,108,112,97,114,116,105,99,117,108,97,114,108,121,32,105,110,32,
-116,104,101,32,116,121,112,101,61,34,104,105,100,100,101,110,34,32,110,97,109,
-101,61,34,106,97,118,97,115,99,114,105,112,116,58,118,111,105,100,40,48,41,59,34
-,101,102,102,101,99,116,105,118,101,110,101,115,115,32,111,102,32,116,104,101,32
-,97,117,116,111,99,111,109,112,108,101,116,101,61,34,111,102,102,34,32,103,101,
-110,101,114,97,108,108,121,32,99,111,110,115,105,100,101,114,101,100,62,60,105,
-110,112,117,116,32,116,121,112,101,61,34,116,101,120,116,34,32,34,62,60,47,115,
-99,114,105,112,116,62,13,10,60,115,99,114,105,112,116,116,104,114,111,117,103,
-104,111,117,116,32,116,104,101,32,119,111,114,108,100,99,111,109,109,111,110,32,
-109,105,115,99,111,110,99,101,112,116,105,111,110,97,115,115,111,99,105,97,116,
-105,111,110,32,119,105,116,104,32,116,104,101,60,47,100,105,118,62,10,60,47,100,
-105,118,62,10,60,100,105,118,32,99,100,117,114,105,110,103,32,104,105,115,32,108
-,105,102,101,116,105,109,101,44,99,111,114,114,101,115,112,111,110,100,105,110,
-103,32,116,111,32,116,104,101,116,121,112,101,61,34,105,109,97,103,101,47,120,45
-,105,99,111,110,34,32,97,110,32,105,110,99,114,101,97,115,105,110,103,32,110,117
-,109,98,101,114,100,105,112,108,111,109,97,116,105,99,32,114,101,108,97,116,105,
-111,110,115,97,114,101,32,111,102,116,101,110,32,99,111,110,115,105,100,101,114,
-101,100,109,101,116,97,32,99,104,97,114,115,101,116,61,34,117,116,102,45,56,34,
-32,60,105,110,112,117,116,32,116,121,112,101,61,34,116,101,120,116,34,32,101,120
-,97,109,112,108,101,115,32,105,110,99,108,117,100,101,32,116,104,101,34,62,60,
-105,109,103,32,115,114,99,61,34,104,116,116,112,58,47,47,105,112,97,114,116,105,
-99,105,112,97,116,105,111,110,32,105,110,32,116,104,101,116,104,101,32,101,115,
-116,97,98,108,105,115,104,109,101,110,116,32,111,102,10,60,47,100,105,118,62,10,
-60,100,105,118,32,99,108,97,115,115,61,34,38,97,109,112,59,110,98,115,112,59,38,
-97,109,112,59,110,98,115,112,59,116,111,32,100,101,116,101,114,109,105,110,101,
-32,119,104,101,116,104,101,114,113,117,105,116,101,32,100,105,102,102,101,114,
-101,110,116,32,102,114,111,109,109,97,114,107,101,100,32,116,104,101,32,98,101,
-103,105,110,110,105,110,103,100,105,115,116,97,110,99,101,32,98,101,116,119,101,
-101,110,32,116,104,101,99,111,110,116,114,105,98,117,116,105,111,110,115,32,116,
-111,32,116,104,101,99,111,110,102,108,105,99,116,32,98,101,116,119,101,101,110,
-32,116,104,101,119,105,100,101,108,121,32,99,111,110,115,105,100,101,114,101,100
-,32,116,111,119,97,115,32,111,110,101,32,111,102,32,116,104,101,32,102,105,114,
-115,116,119,105,116,104,32,118,97,114,121,105,110,103,32,100,101,103,114,101,101
-,115,104,97,118,101,32,115,112,101,99,117,108,97,116,101,100,32,116,104,97,116,
-40,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,112,
-97,114,116,105,99,105,112,97,116,105,110,103,32,105,110,32,116,104,101,111,114,
-105,103,105,110,97,108,108,121,32,100,101,118,101,108,111,112,101,100,101,116,97
-,32,99,104,97,114,115,101,116,61,34,117,116,102,45,56,34,62,32,116,121,112,101,
-61,34,116,101,120,116,47,99,115,115,34,32,47,62,10,105,110,116,101,114,99,104,97
-,110,103,101,97,98,108,121,32,119,105,116,104,109,111,114,101,32,99,108,111,115,
-101,108,121,32,114,101,108,97,116,101,100,115,111,99,105,97,108,32,97,110,100,32
-,112,111,108,105,116,105,99,97,108,116,104,97,116,32,119,111,117,108,100,32,111,
-116,104,101,114,119,105,115,101,112,101,114,112,101,110,100,105,99,117,108,97,
-114,32,116,111,32,116,104,101,115,116,121,108,101,32,116,121,112,101,61,34,116,
-101,120,116,47,99,115,115,116,121,112,101,61,34,115,117,98,109,105,116,34,32,110
-,97,109,101,61,34,102,97,109,105,108,105,101,115,32,114,101,115,105,100,105,110,
-103,32,105,110,100,101,118,101,108,111,112,105,110,103,32,99,111,117,110,116,114
-,105,101,115,99,111,109,112,117,116,101,114,32,112,114,111,103,114,97,109,109,
-105,110,103,101,99,111,110,111,109,105,99,32,100,101,118,101,108,111,112,109,101
-,110,116,100,101,116,101,114,109,105,110,97,116,105,111,110,32,111,102,32,116,
-104,101,102,111,114,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111
-,110,111,110,32,115,101,118,101,114,97,108,32,111,99,99,97,115,105,111,110,115,
-112,111,114,116,117,103,117,195,170,115,32,40,69,117,114,111,112,101,117,41,208,
-163,208,186,209,128,208,176,209,151,208,189,209,129,209,140,208,186,208,176,209,
-131,208,186,209,128,208,176,209,151,208,189,209,129,209,140,208,186,208,176,208,
-160,208,190,209,129,209,129,208,184,208,185,209,129,208,186,208,190,208,185,208,
-188,208,176,209,130,208,181,209,128,208,184,208,176,208,187,208,190,208,178,208,
-184,208,189,209,132,208,190,209,128,208,188,208,176,209,134,208,184,208,184,209,
-131,208,191,209,128,208,176,208,178,208,187,208,181,208,189,208,184,209,143,208,
-189,208,181,208,190,208,177,209,133,208,190,208,180,208,184,208,188,208,190,208,
-184,208,189,209,132,208,190,209,128,208,188,208,176,209,134,208,184,209,143,208,
-152,208,189,209,132,208,190,209,128,208,188,208,176,209,134,208,184,209,143,208,
-160,208,181,209,129,208,191,209,131,208,177,208,187,208,184,208,186,208,184,208,
-186,208,190,208,187,208,184,209,135,208,181,209,129,209,130,208,178,208,190,208,
-184,208,189,209,132,208,190,209,128,208,188,208,176,209,134,208,184,209,142,209,
-130,208,181,209,128,209,128,208,184,209,130,208,190,209,128,208,184,208,184,208,
-180,208,190,209,129,209,130,208,176,209,130,208,190,209,135,208,189,208,190,216,
-167,217,132,217,133,216,170,217,136,216,167,216,172,216,175,217,136,217,134,216,
-167,217,132,216,167,216,180,216,170,216,177,216,167,217,131,216,167,216,170,216,
-167,217,132,216,167,217,130,216,170,216,177,216,167,216,173,216,167,216,170,104,
-116,109,108,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56,34,32,115,101,116,
-84,105,109,101,111,117,116,40,102,117,110,99,116,105,111,110,40,41,100,105,115,
-112,108,97,121,58,105,110,108,105,110,101,45,98,108,111,99,107,59,60,105,110,112
-,117,116,32,116,121,112,101,61,34,115,117,98,109,105,116,34,32,116,121,112,101,
-32,61,32,39,116,101,120,116,47,106,97,118,97,115,99,114,105,60,105,109,103,32,
-115,114,99,61,34,104,116,116,112,58,47,47,119,119,119,46,34,32,34,104,116,116,
-112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,115,104,111,114,116,99,117,
-116,32,105,99,111,110,34,32,104,114,101,102,61,34,34,32,97,117,116,111,99,111,
-109,112,108,101,116,101,61,34,111,102,102,34,32,60,47,97,62,60,47,100,105,118,62
-,60,100,105,118,32,99,108,97,115,115,61,60,47,97,62,60,47,108,105,62,10,60,108,
-105,32,99,108,97,115,115,61,34,99,115,115,34,32,116,121,112,101,61,34,116,101,
-120,116,47,99,115,115,34,32,60,102,111,114,109,32,97,99,116,105,111,110,61,34,
-104,116,116,112,58,47,47,120,116,47,99,115,115,34,32,104,114,101,102,61,34,104,
-116,116,112,58,47,47,108,105,110,107,32,114,101,108,61,34,97,108,116,101,114,110
-,97,116,101,34,32,13,10,60,115,99,114,105,112,116,32,116,121,112,101,61,34,116,
-101,120,116,47,32,111,110,99,108,105,99,107,61,34,106,97,118,97,115,99,114,105,
-112,116,58,40,110,101,119,32,68,97,116,101,41,46,103,101,116,84,105,109,101,40,
-41,125,104,101,105,103,104,116,61,34,49,34,32,119,105,100,116,104,61,34,49,34,32
-,80,101,111,112,108,101,39,115,32,82,101,112,117,98,108,105,99,32,111,102,32,32,
-60,97,32,104,114,101,102,61,34,104,116,116,112,58,47,47,119,119,119,46,116,101,
-120,116,45,100,101,99,111,114,97,116,105,111,110,58,117,110,100,101,114,116,104,
-101,32,98,101,103,105,110,110,105,110,103,32,111,102,32,116,104,101,32,60,47,100
-,105,118,62,10,60,47,100,105,118,62,10,60,47,100,105,118,62,10,101,115,116,97,98
-,108,105,115,104,109,101,110,116,32,111,102,32,116,104,101,32,60,47,100,105,118,
-62,60,47,100,105,118,62,60,47,100,105,118,62,60,47,100,35,118,105,101,119,112,
-111,114,116,123,109,105,110,45,104,101,105,103,104,116,58,10,60,115,99,114,105,
-112,116,32,115,114,99,61,34,104,116,116,112,58,47,47,111,112,116,105,111,110,62,
-60,111,112,116,105,111,110,32,118,97,108,117,101,61,111,102,116,101,110,32,114,
-101,102,101,114,114,101,100,32,116,111,32,97,115,32,47,111,112,116,105,111,110,
-62,10,60,111,112,116,105,111,110,32,118,97,108,117,60,33,68,79,67,84,89,80,69,32
-,104,116,109,108,62,10,60,33,45,45,91,73,110,116,101,114,110,97,116,105,111,110,
-97,108,32,65,105,114,112,111,114,116,62,10,60,97,32,104,114,101,102,61,34,104,
-116,116,112,58,47,47,119,119,119,60,47,97,62,60,97,32,104,114,101,102,61,34,104,
-116,116,112,58,47,47,119,224,184,160,224,184,178,224,184,169,224,184,178,224,185
-,132,224,184,151,224,184,162,225,131,165,225,131,144,225,131,160,225,131,151,225
-,131,163,225,131,154,225,131,152,230,173,163,233,171,148,228,184,173,230,150,135
-,32,40,231,185,129,233,171,148,41,224,164,168,224,164,191,224,164,176,224,165,
-141,224,164,166,224,165,135,224,164,182,224,164,161,224,164,190,224,164,137,224,
-164,168,224,164,178,224,165,139,224,164,161,224,164,149,224,165,141,224,164,183,
-224,165,135,224,164,164,224,165,141,224,164,176,224,164,156,224,164,190,224,164,
-168,224,164,149,224,164,190,224,164,176,224,165,128,224,164,184,224,164,130,224,
-164,172,224,164,130,224,164,167,224,164,191,224,164,164,224,164,184,224,165,141,
-224,164,165,224,164,190,224,164,170,224,164,168,224,164,190,224,164,184,224,165,
-141,224,164,181,224,165,128,224,164,149,224,164,190,224,164,176,224,164,184,224,
-164,130,224,164,184,224,165,141,224,164,149,224,164,176,224,164,163,224,164,184,
-224,164,190,224,164,174,224,164,151,224,165,141,224,164,176,224,165,128,224,164,
-154,224,164,191,224,164,159,224,165,141,224,164,160,224,165,139,224,164,130,224,
-164,181,224,164,191,224,164,156,224,165,141,224,164,158,224,164,190,224,164,168,
-224,164,133,224,164,174,224,165,135,224,164,176,224,164,191,224,164,149,224,164,
-190,224,164,181,224,164,191,224,164,173,224,164,191,224,164,168,224,165,141,224,
-164,168,224,164,151,224,164,190,224,164,161,224,164,191,224,164,175,224,164,190,
-224,164,129,224,164,149,224,165,141,224,164,175,224,165,139,224,164,130,224,164,
-149,224,164,191,224,164,184,224,165,129,224,164,176,224,164,149,224,165,141,224,
-164,183,224,164,190,224,164,170,224,164,185,224,165,129,224,164,129,224,164,154,
-224,164,164,224,165,128,224,164,170,224,165,141,224,164,176,224,164,172,224,164,
-130,224,164,167,224,164,168,224,164,159,224,164,191,224,164,170,224,165,141,224,
-164,170,224,164,163,224,165,128,224,164,149,224,165,141,224,164,176,224,164,191,
-224,164,149,224,165,135,224,164,159,224,164,170,224,165,141,224,164,176,224,164,
-190,224,164,176,224,164,130,224,164,173,224,164,170,224,165,141,224,164,176,224,
-164,190,224,164,170,224,165,141,224,164,164,224,164,174,224,164,190,224,164,178,
-224,164,191,224,164,149,224,165,139,224,164,130,224,164,176,224,164,171,224,164,
-188,224,165,141,224,164,164,224,164,190,224,164,176,224,164,168,224,164,191,224,
-164,176,224,165,141,224,164,174,224,164,190,224,164,163,224,164,178,224,164,191,
-224,164,174,224,164,191,224,164,159,224,165,135,224,164,161,100,101,115,99,114,
-105,112,116,105,111,110,34,32,99,111,110,116,101,110,116,61,34,100,111,99,117,
-109,101,110,116,46,108,111,99,97,116,105,111,110,46,112,114,111,116,46,103,101,
-116,69,108,101,109,101,110,116,115,66,121,84,97,103,78,97,109,101,40,60,33,68,79
-,67,84,89,80,69,32,104,116,109,108,62,10,60,104,116,109,108,32,60,109,101,116,97
-,32,99,104,97,114,115,101,116,61,34,117,116,102,45,56,34,62,58,117,114,108,34,32
-,99,111,110,116,101,110,116,61,34,104,116,116,112,58,47,47,46,99,115,115,34,32,
-114,101,108,61,34,115,116,121,108,101,115,104,101,101,116,34,115,116,121,108,101
-,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,62,116,121,112,101,61
-,34,116,101,120,116,47,99,115,115,34,32,104,114,101,102,61,34,119,51,46,111,114,
-103,47,49,57,57,57,47,120,104,116,109,108,34,32,120,109,108,116,121,112,101,61,
-34,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,34,32,109,101,116,104
-,111,100,61,34,103,101,116,34,32,97,99,116,105,111,110,61,34,108,105,110,107,32,
-114,101,108,61,34,115,116,121,108,101,115,104,101,101,116,34,32,32,61,32,100,111
-,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,116,121,112,
-101,61,34,105,109,97,103,101,47,120,45,105,99,111,110,34,32,47,62,99,101,108,108
-,112,97,100,100,105,110,103,61,34,48,34,32,99,101,108,108,115,112,46,99,115,115,
-34,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,32,60,47,97,62,60,
-47,108,105,62,60,108,105,62,60,97,32,104,114,101,102,61,34,34,32,119,105,100,116
-,104,61,34,49,34,32,104,101,105,103,104,116,61,34,49,34,34,62,60,97,32,104,114,
-101,102,61,34,104,116,116,112,58,47,47,119,119,119,46,115,116,121,108,101,61,34,
-100,105,115,112,108,97,121,58,110,111,110,101,59,34,62,97,108,116,101,114,110,97
-,116,101,34,32,116,121,112,101,61,34,97,112,112,108,105,45,47,47,87,51,67,47,47,
-68,84,68,32,88,72,84,77,76,32,49,46,48,32,101,108,108,115,112,97,99,105,110,103,
-61,34,48,34,32,99,101,108,108,112,97,100,32,116,121,112,101,61,34,104,105,100,
-100,101,110,34,32,118,97,108,117,101,61,34,47,97,62,38,110,98,115,112,59,60,115,
-112,97,110,32,114,111,108,101,61,34,115,10,60,105,110,112,117,116,32,116,121,112
-,101,61,34,104,105,100,100,101,110,34,32,108,97,110,103,117,97,103,101,61,34,74,
-97,118,97,83,99,114,105,112,116,34,32,32,100,111,99,117,109,101,110,116,46,103,
-101,116,69,108,101,109,101,110,116,115,66,103,61,34,48,34,32,99,101,108,108,115,
-112,97,99,105,110,103,61,34,48,34,32,121,112,101,61,34,116,101,120,116,47,99,115
-,115,34,32,109,101,100,105,97,61,34,116,121,112,101,61,39,116,101,120,116,47,106
-,97,118,97,115,99,114,105,112,116,39,119,105,116,104,32,116,104,101,32,101,120,
-99,101,112,116,105,111,110,32,111,102,32,121,112,101,61,34,116,101,120,116,47,99
-,115,115,34,32,114,101,108,61,34,115,116,32,104,101,105,103,104,116,61,34,49,34,
-32,119,105,100,116,104,61,34,49,34,32,61,39,43,101,110,99,111,100,101,85,82,73,
-67,111,109,112,111,110,101,110,116,40,60,108,105,110,107,32,114,101,108,61,34,97
-,108,116,101,114,110,97,116,101,34,32,10,98,111,100,121,44,32,116,114,44,32,105,
-110,112,117,116,44,32,116,101,120,116,109,101,116,97,32,110,97,109,101,61,34,114
-,111,98,111,116,115,34,32,99,111,110,109,101,116,104,111,100,61,34,112,111,115,
-116,34,32,97,99,116,105,111,110,61,34,62,10,60,97,32,104,114,101,102,61,34,104,
-116,116,112,58,47,47,119,119,119,46,99,115,115,34,32,114,101,108,61,34,115,116,
-121,108,101,115,104,101,101,116,34,32,60,47,100,105,118,62,60,47,100,105,118,62,
-60,100,105,118,32,99,108,97,115,115,108,97,110,103,117,97,103,101,61,34,106,97,
-118,97,115,99,114,105,112,116,34,62,97,114,105,97,45,104,105,100,100,101,110,61,
-34,116,114,117,101,34,62,194,183,60,114,105,112,116,34,32,116,121,112,101,61,34,
-116,101,120,116,47,106,97,118,97,115,108,61,48,59,125,41,40,41,59,10,40,102,117,
-110,99,116,105,111,110,40,41,123,98,97,99,107,103,114,111,117,110,100,45,105,109
-,97,103,101,58,32,117,114,108,40,47,97,62,60,47,108,105,62,60,108,105,62,60,97,
-32,104,114,101,102,61,34,104,9,9,60,108,105,62,60,97,32,104,114,101,102,61,34,
-104,116,116,112,58,47,47,97,116,111,114,34,32,97,114,105,97,45,104,105,100,100,
-101,110,61,34,116,114,117,62,32,60,97,32,104,114,101,102,61,34,104,116,116,112,
-58,47,47,119,119,119,46,108,97,110,103,117,97,103,101,61,34,106,97,118,97,115,99
-,114,105,112,116,34,32,47,111,112,116,105,111,110,62,10,60,111,112,116,105,111,
-110,32,118,97,108,117,101,47,100,105,118,62,60,47,100,105,118,62,60,100,105,118,
-32,99,108,97,115,115,61,114,97,116,111,114,34,32,97,114,105,97,45,104,105,100,
-100,101,110,61,34,116,114,101,61,40,110,101,119,32,68,97,116,101,41,46,103,101,
-116,84,105,109,101,40,41,112,111,114,116,117,103,117,195,170,115,32,40,100,111,
-32,66,114,97,115,105,108,41,208,190,209,128,208,179,208,176,208,189,208,184,208,
-183,208,176,209,134,208,184,208,184,208,178,208,190,208,183,208,188,208,190,208,
-182,208,189,208,190,209,129,209,130,209,140,208,190,208,177,209,128,208,176,208,
-183,208,190,208,178,208,176,208,189,208,184,209,143,209,128,208,181,208,179,208,
-184,209,129,209,130,209,128,208,176,209,134,208,184,208,184,208,178,208,190,208,
-183,208,188,208,190,208,182,208,189,208,190,209,129,209,130,208,184,208,190,208,
-177,209,143,208,183,208,176,209,130,208,181,208,187,209,140,208,189,208,176,60,
-33,68,79,67,84,89,80,69,32,104,116,109,108,32,80,85,66,76,73,67,32,34,110,116,45
-,84,121,112,101,34,32,99,111,110,116,101,110,116,61,34,116,101,120,116,47,60,109
-,101,116,97,32,104,116,116,112,45,101,113,117,105,118,61,34,67,111,110,116,101,
-114,97,110,115,105,116,105,111,110,97,108,47,47,69,78,34,32,34,104,116,116,112,
-58,60,104,116,109,108,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,
-119,119,45,47,47,87,51,67,47,47,68,84,68,32,88,72,84,77,76,32,49,46,48,32,84,68,
-84,68,47,120,104,116,109,108,49,45,116,114,97,110,115,105,116,105,111,110,97,108
-,47,47,119,119,119,46,119,51,46,111,114,103,47,84,82,47,120,104,116,109,108,49,
-47,112,101,32,61,32,39,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,
-39,59,60,109,101,116,97,32,110,97,109,101,61,34,100,101,115,99,114,105,112,116,
-105,111,110,112,97,114,101,110,116,78,111,100,101,46,105,110,115,101,114,116,66,
-101,102,111,114,101,60,105,110,112,117,116,32,116,121,112,101,61,34,104,105,100,
-100,101,110,34,32,110,97,106,115,34,32,116,121,112,101,61,34,116,101,120,116,47,
-106,97,118,97,115,99,114,105,40,100,111,99,117,109,101,110,116,41,46,114,101,97,
-100,121,40,102,117,110,99,116,105,115,99,114,105,112,116,32,116,121,112,101,61,
-34,116,101,120,116,47,106,97,118,97,115,105,109,97,103,101,34,32,99,111,110,116,
-101,110,116,61,34,104,116,116,112,58,47,47,85,65,45,67,111,109,112,97,116,105,98
-,108,101,34,32,99,111,110,116,101,110,116,61,116,109,108,59,32,99,104,97,114,115
-,101,116,61,117,116,102,45,56,34,32,47,62,10,108,105,110,107,32,114,101,108,61,
-34,115,104,111,114,116,99,117,116,32,105,99,111,110,60,108,105,110,107,32,114,
-101,108,61,34,115,116,121,108,101,115,104,101,101,116,34,32,60,47,115,99,114,105
-,112,116,62,10,60,115,99,114,105,112,116,32,116,121,112,101,61,61,32,100,111,99,
-117,109,101,110,116,46,99,114,101,97,116,101,69,108,101,109,101,110,60,97,32,116
-,97,114,103,101,116,61,34,95,98,108,97,110,107,34,32,104,114,101,102,61,32,100,
-111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,115,66,105,
-110,112,117,116,32,116,121,112,101,61,34,116,101,120,116,34,32,110,97,109,101,61
-,97,46,116,121,112,101,32,61,32,39,116,101,120,116,47,106,97,118,97,115,99,114,
-105,110,112,117,116,32,116,121,112,101,61,34,104,105,100,100,101,110,34,32,110,
-97,109,101,104,116,109,108,59,32,99,104,97,114,115,101,116,61,117,116,102,45,56,
-34,32,47,62,100,116,100,34,62,10,60,104,116,109,108,32,120,109,108,110,115,61,34
-,104,116,116,112,45,47,47,87,51,67,47,47,68,84,68,32,72,84,77,76,32,52,46,48,49,
-32,84,101,110,116,115,66,121,84,97,103,78,97,109,101,40,39,115,99,114,105,112,
-116,39,41,105,110,112,117,116,32,116,121,112,101,61,34,104,105,100,100,101,110,
-34,32,110,97,109,60,115,99,114,105,112,116,32,116,121,112,101,61,34,116,101,120,
-116,47,106,97,118,97,115,34,32,115,116,121,108,101,61,34,100,105,115,112,108,97,
-121,58,110,111,110,101,59,34,62,100,111,99,117,109,101,110,116,46,103,101,116,69
-,108,101,109,101,110,116,66,121,73,100,40,61,100,111,99,117,109,101,110,116,46,
-99,114,101,97,116,101,69,108,101,109,101,110,116,40,39,32,116,121,112,101,61,39,
-116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,39,105,110,112,117,116,
-32,116,121,112,101,61,34,116,101,120,116,34,32,110,97,109,101,61,34,100,46,103,
-101,116,69,108,101,109,101,110,116,115,66,121,84,97,103,78,97,109,101,40,115,110
-,105,99,97,108,34,32,104,114,101,102,61,34,104,116,116,112,58,47,47,119,119,119,
-46,67,47,47,68,84,68,32,72,84,77,76,32,52,46,48,49,32,84,114,97,110,115,105,116,
-60,115,116,121,108,101,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34
-,62,10,10,60,115,116,121,108,101,32,116,121,112,101,61,34,116,101,120,116,47,99,
-115,115,34,62,105,111,110,97,108,46,100,116,100,34,62,10,60,104,116,109,108,32,
-120,109,108,110,115,61,104,116,116,112,45,101,113,117,105,118,61,34,67,111,110,
-116,101,110,116,45,84,121,112,101,100,105,110,103,61,34,48,34,32,99,101,108,108,
-115,112,97,99,105,110,103,61,34,48,34,104,116,109,108,59,32,99,104,97,114,115,
-101,116,61,117,116,102,45,56,34,32,47,62,10,32,115,116,121,108,101,61,34,100,105
-,115,112,108,97,121,58,110,111,110,101,59,34,62,60,60,108,105,62,60,97,32,104,
-114,101,102,61,34,104,116,116,112,58,47,47,119,119,119,46,32,116,121,112,101,61,
-39,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,39,62,208,180,208,181
-,209,143,209,130,208,181,208,187,209,140,208,189,208,190,209,129,209,130,208,184
-,209,129,208,190,208,190,209,130,208,178,208,181,209,130,209,129,209,130,208,178
-,208,184,208,184,208,191,209,128,208,190,208,184,208,183,208,178,208,190,208,180
-,209,129,209,130,208,178,208,176,208,177,208,181,208,183,208,190,208,191,208,176
-,209,129,208,189,208,190,209,129,209,130,208,184,224,164,170,224,165,129,224,164
-,184,224,165,141,224,164,164,224,164,191,224,164,149,224,164,190,224,164,149,224
-,164,190,224,164,130,224,164,151,224,165,141,224,164,176,224,165,135,224,164,184
-,224,164,137,224,164,168,224,165,141,224,164,185,224,165,139,224,164,130,224,164
-,168,224,165,135,224,164,181,224,164,191,224,164,167,224,164,190,224,164,168,224
-,164,184,224,164,173,224,164,190,224,164,171,224,164,191,224,164,149,224,165,141
-,224,164,184,224,164,191,224,164,130,224,164,151,224,164,184,224,165,129,224,164
-,176,224,164,149,224,165,141,224,164,183,224,164,191,224,164,164,224,164,149,224
-,165,137,224,164,170,224,165,128,224,164,176,224,164,190,224,164,135,224,164,159
-,224,164,181,224,164,191,224,164,156,224,165,141,224,164,158,224,164,190,224,164
-,170,224,164,168,224,164,149,224,164,190,224,164,176,224,165,141,224,164,176,224
-,164,181,224,164,190,224,164,136,224,164,184,224,164,149,224,165,141,224,164,176
-,224,164,191,224,164,175,224,164,164,224,164,190
-}
-;
-#endif /* !BROTLI_EXTERNAL_DICTIONARY_DATA */
-
-static BrotliDictionary kBrotliDictionary = {
- /* size_bits_by_length */
- {
- 0, 0, 0, 0, 10, 10, 11, 11,
- 10, 10, 10, 10, 10, 9, 9, 8,
- 7, 7, 8, 7, 7, 6, 6, 5,
- 5, 0, 0, 0, 0, 0, 0, 0
- },
-
- /* offsets_by_length */
- {
- 0, 0, 0, 0, 0, 4096, 9216, 21504,
- 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864,
- 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280,
- 122016, 122784, 122784, 122784, 122784, 122784, 122784, 122784
- },
-
- /* data_size == sizeof(kBrotliDictionaryData) */
- 122784,
-
- /* data */
-#if defined(BROTLI_EXTERNAL_DICTIONARY_DATA)
- NULL
-#else
- kBrotliDictionaryData
-#endif
-};
-
-const BrotliDictionary* BrotliGetDictionary() {
- return &kBrotliDictionary;
-}
-
-void BrotliSetDictionaryData(const uint8_t* data) {
- if (!!data && !kBrotliDictionary.data) {
- kBrotliDictionary.data = data;
- }
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c
deleted file mode 100644
index fbe3dde6a6b5..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-#include "./transform.h"
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-/* RFC 7932 transforms string data */
-static const char kPrefixSuffix[] =
- "\1 \2, \10 of the \4 of \2s \1.\5 and \4 "
-/* 0x _0 _2 __5 _E _3 _6 _8 _E */
- "in \1\"\4 to \2\">\1\n\2. \1]\5 for \3 a \6 "
-/* 2x _3_ _5 _A_ _D_ _F _2 _4 _A _E */
- "that \1\'\6 with \6 from \4 by \1(\6. T"
-/* 4x _5_ _7 _E _5 _A _C */
- "he \4 on \4 as \4 is \4ing \2\n\t\1:\3ed "
-/* 6x _3 _8 _D _2 _7_ _ _A _C */
- "\2=\"\4 at \3ly \1,\2=\'\5.com/\7. This \5"
-/* 8x _0 _ _3 _8 _C _E _ _1 _7 _F */
- " not \3er \3al \4ful \4ive \5less \4es"
-/* Ax _5 _9 _D _2 _7 _D */
- "t \4ize \2\xc2\xa0\4ous \5 the \2e \0";
-/* Cx _2 _7___ ___ _A _F _5 _8 */
-
-static const uint16_t kPrefixSuffixMap[50] = {
- 0x00, 0x02, 0x05, 0x0E, 0x13, 0x16, 0x18, 0x1E, 0x23, 0x25,
- 0x2A, 0x2D, 0x2F, 0x32, 0x34, 0x3A, 0x3E, 0x45, 0x47, 0x4E,
- 0x55, 0x5A, 0x5C, 0x63, 0x68, 0x6D, 0x72, 0x77, 0x7A, 0x7C,
- 0x80, 0x83, 0x88, 0x8C, 0x8E, 0x91, 0x97, 0x9F, 0xA5, 0xA9,
- 0xAD, 0xB2, 0xB7, 0xBD, 0xC2, 0xC7, 0xCA, 0xCF, 0xD5, 0xD8
-};
-
-/* RFC 7932 transforms */
-static const uint8_t kTransformsData[] = {
- 49, BROTLI_TRANSFORM_IDENTITY, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 0,
- 0, BROTLI_TRANSFORM_IDENTITY, 0,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_1, 49,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 0,
- 49, BROTLI_TRANSFORM_IDENTITY, 47,
- 0, BROTLI_TRANSFORM_IDENTITY, 49,
- 4, BROTLI_TRANSFORM_IDENTITY, 0,
- 49, BROTLI_TRANSFORM_IDENTITY, 3,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 6,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_2, 49,
- 49, BROTLI_TRANSFORM_OMIT_LAST_1, 49,
- 1, BROTLI_TRANSFORM_IDENTITY, 0,
- 49, BROTLI_TRANSFORM_IDENTITY, 1,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 0,
- 49, BROTLI_TRANSFORM_IDENTITY, 7,
- 49, BROTLI_TRANSFORM_IDENTITY, 9,
- 48, BROTLI_TRANSFORM_IDENTITY, 0,
- 49, BROTLI_TRANSFORM_IDENTITY, 8,
- 49, BROTLI_TRANSFORM_IDENTITY, 5,
- 49, BROTLI_TRANSFORM_IDENTITY, 10,
- 49, BROTLI_TRANSFORM_IDENTITY, 11,
- 49, BROTLI_TRANSFORM_OMIT_LAST_3, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 13,
- 49, BROTLI_TRANSFORM_IDENTITY, 14,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_3, 49,
- 49, BROTLI_TRANSFORM_OMIT_LAST_2, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 15,
- 49, BROTLI_TRANSFORM_IDENTITY, 16,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 12,
- 5, BROTLI_TRANSFORM_IDENTITY, 49,
- 0, BROTLI_TRANSFORM_IDENTITY, 1,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_4, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 18,
- 49, BROTLI_TRANSFORM_IDENTITY, 17,
- 49, BROTLI_TRANSFORM_IDENTITY, 19,
- 49, BROTLI_TRANSFORM_IDENTITY, 20,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_5, 49,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_6, 49,
- 47, BROTLI_TRANSFORM_IDENTITY, 49,
- 49, BROTLI_TRANSFORM_OMIT_LAST_4, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 22,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 23,
- 49, BROTLI_TRANSFORM_IDENTITY, 24,
- 49, BROTLI_TRANSFORM_IDENTITY, 25,
- 49, BROTLI_TRANSFORM_OMIT_LAST_7, 49,
- 49, BROTLI_TRANSFORM_OMIT_LAST_1, 26,
- 49, BROTLI_TRANSFORM_IDENTITY, 27,
- 49, BROTLI_TRANSFORM_IDENTITY, 28,
- 0, BROTLI_TRANSFORM_IDENTITY, 12,
- 49, BROTLI_TRANSFORM_IDENTITY, 29,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_9, 49,
- 49, BROTLI_TRANSFORM_OMIT_FIRST_7, 49,
- 49, BROTLI_TRANSFORM_OMIT_LAST_6, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 21,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 1,
- 49, BROTLI_TRANSFORM_OMIT_LAST_8, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 31,
- 49, BROTLI_TRANSFORM_IDENTITY, 32,
- 47, BROTLI_TRANSFORM_IDENTITY, 3,
- 49, BROTLI_TRANSFORM_OMIT_LAST_5, 49,
- 49, BROTLI_TRANSFORM_OMIT_LAST_9, 49,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 1,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 8,
- 5, BROTLI_TRANSFORM_IDENTITY, 21,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 0,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 10,
- 49, BROTLI_TRANSFORM_IDENTITY, 30,
- 0, BROTLI_TRANSFORM_IDENTITY, 5,
- 35, BROTLI_TRANSFORM_IDENTITY, 49,
- 47, BROTLI_TRANSFORM_IDENTITY, 2,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 17,
- 49, BROTLI_TRANSFORM_IDENTITY, 36,
- 49, BROTLI_TRANSFORM_IDENTITY, 33,
- 5, BROTLI_TRANSFORM_IDENTITY, 0,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 21,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 5,
- 49, BROTLI_TRANSFORM_IDENTITY, 37,
- 0, BROTLI_TRANSFORM_IDENTITY, 30,
- 49, BROTLI_TRANSFORM_IDENTITY, 38,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 0,
- 49, BROTLI_TRANSFORM_IDENTITY, 39,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 49,
- 49, BROTLI_TRANSFORM_IDENTITY, 34,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 8,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 12,
- 0, BROTLI_TRANSFORM_IDENTITY, 21,
- 49, BROTLI_TRANSFORM_IDENTITY, 40,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 12,
- 49, BROTLI_TRANSFORM_IDENTITY, 41,
- 49, BROTLI_TRANSFORM_IDENTITY, 42,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 17,
- 49, BROTLI_TRANSFORM_IDENTITY, 43,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 5,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 10,
- 0, BROTLI_TRANSFORM_IDENTITY, 34,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 33,
- 49, BROTLI_TRANSFORM_IDENTITY, 44,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 5,
- 45, BROTLI_TRANSFORM_IDENTITY, 49,
- 0, BROTLI_TRANSFORM_IDENTITY, 33,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 30,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 30,
- 49, BROTLI_TRANSFORM_IDENTITY, 46,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 1,
- 49, BROTLI_TRANSFORM_UPPERCASE_FIRST, 34,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 33,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 30,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 1,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 33,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 21,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 12,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 5,
- 49, BROTLI_TRANSFORM_UPPERCASE_ALL, 34,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 12,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 30,
- 0, BROTLI_TRANSFORM_UPPERCASE_ALL, 34,
- 0, BROTLI_TRANSFORM_UPPERCASE_FIRST, 34,
-};
-
-static BrotliTransforms kBrotliTransforms = {
- sizeof(kPrefixSuffix),
- (const uint8_t*)kPrefixSuffix,
- kPrefixSuffixMap,
- sizeof(kTransformsData) / (3 * sizeof(kTransformsData[0])),
- kTransformsData,
- {0, 12, 27, 23, 42, 63, 56, 48, 59, 64}
-};
-
-const BrotliTransforms* BrotliGetTransforms(void) {
- return &kBrotliTransforms;
-}
-
-static int ToUpperCase(uint8_t* p) {
- if (p[0] < 0xC0) {
- if (p[0] >= 'a' && p[0] <= 'z') {
- p[0] ^= 32;
- }
- return 1;
- }
- /* An overly simplified uppercasing model for UTF-8. */
- if (p[0] < 0xE0) {
- p[1] ^= 32;
- return 2;
- }
- /* An arbitrary transform for three byte characters. */
- p[2] ^= 5;
- return 3;
-}
-
-int BrotliTransformDictionaryWord(uint8_t* dst, const uint8_t* word, int len,
- const BrotliTransforms* transforms, int transfom_idx) {
- int idx = 0;
- const uint8_t* prefix = BROTLI_TRANSFORM_PREFIX(transforms, transfom_idx);
- uint8_t type = BROTLI_TRANSFORM_TYPE(transforms, transfom_idx);
- const uint8_t* suffix = BROTLI_TRANSFORM_SUFFIX(transforms, transfom_idx);
- {
- int prefix_len = *prefix++;
- while (prefix_len--) { dst[idx++] = *prefix++; }
- }
- {
- const int t = type;
- int i = 0;
- if (t <= BROTLI_TRANSFORM_OMIT_LAST_9) {
- len -= t;
- } else if (t >= BROTLI_TRANSFORM_OMIT_FIRST_1
- && t <= BROTLI_TRANSFORM_OMIT_FIRST_9) {
- int skip = t - (BROTLI_TRANSFORM_OMIT_FIRST_1 - 1);
- word += skip;
- len -= skip;
- }
- while (i < len) { dst[idx++] = word[i++]; }
- if (t == BROTLI_TRANSFORM_UPPERCASE_FIRST) {
- ToUpperCase(&dst[idx - len]);
- } else if (t == BROTLI_TRANSFORM_UPPERCASE_ALL) {
- uint8_t* uppercase = &dst[idx - len];
- while (len > 0) {
- int step = ToUpperCase(uppercase);
- uppercase += step;
- len -= step;
- }
- }
- }
- {
- int suffix_len = *suffix++;
- while (suffix_len--) { dst[idx++] = *suffix++; }
- return idx;
- }
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.c
deleted file mode 100644
index a2a9978a9b62..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Bit reading helpers */
-
-#include "./bit_reader.h"
-
-#include "../common/platform.h"
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-void BrotliInitBitReader(BrotliBitReader* const br) {
- br->val_ = 0;
- br->bit_pos_ = sizeof(br->val_) << 3;
-}
-
-BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br) {
- size_t aligned_read_mask = (sizeof(br->val_) >> 1) - 1;
- /* Fixing alignment after unaligned BrotliFillWindow would result accumulator
- overflow. If unalignment is caused by BrotliSafeReadBits, then there is
- enough space in accumulator to fix alignment. */
- if (!BROTLI_ALIGNED_READ) {
- aligned_read_mask = 0;
- }
- if (BrotliGetAvailableBits(br) == 0) {
- if (!BrotliPullByte(br)) {
- return BROTLI_FALSE;
- }
- }
-
- while ((((size_t)(*br->next_in)) & aligned_read_mask) != 0) {
- if (!BrotliPullByte(br)) {
- /* If we consumed all the input, we don't care about the alignment. */
- return BROTLI_TRUE;
- }
- }
- return BROTLI_TRUE;
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.c
deleted file mode 100644
index f3b3cb89711b..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/decode.c
+++ /dev/null
@@ -1,2500 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-#include <brotli/decode.h>
-
-#if defined(__ARM_NEON__)
-#include <arm_neon.h>
-#endif
-
-//#include <stdlib.h> /* free, malloc */
-//#include <string.h> /* memcpy, memset */
-
-#include "../common/constants.h"
-#include "../common/context.h"
-#include "../common/dictionary.h"
-#include "../common/platform.h"
-#include "../common/transform.h"
-#include "../common/version.h"
-#include "./bit_reader.h"
-#include "./huffman.h"
-#include "./prefix.h"
-#include "./state.h"
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-#define BROTLI_FAILURE(CODE) (BROTLI_DUMP(), CODE)
-
-#define BROTLI_LOG_UINT(name) \
- BROTLI_LOG(("[%s] %s = %lu\n", __func__, #name, (unsigned long)(name)))
-#define BROTLI_LOG_ARRAY_INDEX(array_name, idx) \
- BROTLI_LOG(("[%s] %s[%lu] = %lu\n", __func__, #array_name, \
- (unsigned long)(idx), (unsigned long)array_name[idx]))
-
-#define HUFFMAN_TABLE_BITS 8U
-#define HUFFMAN_TABLE_MASK 0xFF
-
-/* We need the slack region for the following reasons:
- - doing up to two 16-byte copies for fast backward copying
- - inserting transformed dictionary word (5 prefix + 24 base + 8 suffix) */
-static const uint32_t kRingBufferWriteAheadSlack = 42;
-
-static const uint8_t kCodeLengthCodeOrder[BROTLI_CODE_LENGTH_CODES] = {
- 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-};
-
-/* Static prefix code for the complex code length code lengths. */
-static const uint8_t kCodeLengthPrefixLength[16] = {
- 2, 2, 2, 3, 2, 2, 2, 4, 2, 2, 2, 3, 2, 2, 2, 4,
-};
-
-static const uint8_t kCodeLengthPrefixValue[16] = {
- 0, 4, 3, 2, 0, 4, 3, 1, 0, 4, 3, 2, 0, 4, 3, 5,
-};
-
-BROTLI_BOOL BrotliDecoderSetParameter(
- BrotliDecoderState* state, BrotliDecoderParameter p, uint32_t value) {
- if (state->state != BROTLI_STATE_UNINITED) return BROTLI_FALSE;
- switch (p) {
- case BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:
- state->canny_ringbuffer_allocation = !!value ? 0 : 1;
- return BROTLI_TRUE;
-
- case BROTLI_DECODER_PARAM_LARGE_WINDOW:
- state->large_window = TO_BROTLI_BOOL(!!value);
- return BROTLI_TRUE;
-
- default: return BROTLI_FALSE;
- }
-}
-
-BrotliDecoderState* BrotliDecoderCreateInstance(
- brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) {
- BrotliDecoderState* state = 0;
- if (!alloc_func && !free_func) {
- state = (BrotliDecoderState*)BrDummyMalloc(sizeof(BrotliDecoderState));
- } else if (alloc_func && free_func) {
- state = (BrotliDecoderState*)alloc_func(opaque, sizeof(BrotliDecoderState));
- }
- if (state == 0) {
- BROTLI_DUMP();
- return 0;
- }
- if (!BrotliDecoderStateInit(state, alloc_func, free_func, opaque)) {
- BROTLI_DUMP();
- if (!alloc_func && !free_func) {
- BrDummyFree(state);
- } else if (alloc_func && free_func) {
- free_func(opaque, state);
- }
- return 0;
- }
- return state;
-}
-
-/* Deinitializes and frees BrotliDecoderState instance. */
-void BrotliDecoderDestroyInstance(BrotliDecoderState* state) {
- if (!state) {
- return;
- } else {
- brotli_free_func free_func = state->free_func;
- void* opaque = state->memory_manager_opaque;
- BrotliDecoderStateCleanup(state);
- free_func(opaque, state);
- }
-}
-
-/* Saves error code and converts it to BrotliDecoderResult. */
-static BROTLI_NOINLINE BrotliDecoderResult SaveErrorCode(
- BrotliDecoderState* s, BrotliDecoderErrorCode e) {
- s->error_code = (int)e;
- switch (e) {
- case BROTLI_DECODER_SUCCESS:
- return BROTLI_DECODER_RESULT_SUCCESS;
-
- case BROTLI_DECODER_NEEDS_MORE_INPUT:
- return BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT;
-
- case BROTLI_DECODER_NEEDS_MORE_OUTPUT:
- return BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT;
-
- default:
- return BROTLI_DECODER_RESULT_ERROR;
- }
-}
-
-/* Decodes WBITS by reading 1 - 7 bits, or 0x11 for "Large Window Brotli".
- Precondition: bit-reader accumulator has at least 8 bits. */
-static BrotliDecoderErrorCode DecodeWindowBits(BrotliDecoderState* s,
- BrotliBitReader* br) {
- uint32_t n;
- BROTLI_BOOL large_window = s->large_window;
- s->large_window = BROTLI_FALSE;
- BrotliTakeBits(br, 1, &n);
- if (n == 0) {
- s->window_bits = 16;
- return BROTLI_DECODER_SUCCESS;
- }
- BrotliTakeBits(br, 3, &n);
- if (n != 0) {
- s->window_bits = 17 + n;
- return BROTLI_DECODER_SUCCESS;
- }
- BrotliTakeBits(br, 3, &n);
- if (n == 1) {
- if (large_window) {
- BrotliTakeBits(br, 1, &n);
- if (n == 1) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS);
- }
- s->large_window = BROTLI_TRUE;
- return BROTLI_DECODER_SUCCESS;
- } else {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS);
- }
- }
- if (n != 0) {
- s->window_bits = 8 + n;
- return BROTLI_DECODER_SUCCESS;
- }
- s->window_bits = 17;
- return BROTLI_DECODER_SUCCESS;
-}
-
-static BROTLI_INLINE void memmove16(uint8_t* dst, uint8_t* src) {
-#if defined(__ARM_NEON__)
- vst1q_u8(dst, vld1q_u8(src));
-#else
- uint32_t buffer[4];
- memcpy(buffer, src, 16);
- memcpy(dst, buffer, 16);
-#endif
-}
-
-/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */
-static BROTLI_NOINLINE BrotliDecoderErrorCode DecodeVarLenUint8(
- BrotliDecoderState* s, BrotliBitReader* br, uint32_t* value) {
- uint32_t bits;
- switch (s->substate_decode_uint8) {
- case BROTLI_STATE_DECODE_UINT8_NONE:
- if (BROTLI_PREDICT_FALSE(!BrotliSafeReadBits(br, 1, &bits))) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (bits == 0) {
- *value = 0;
- return BROTLI_DECODER_SUCCESS;
- }
- /* Fall through. */
-
- case BROTLI_STATE_DECODE_UINT8_SHORT:
- if (BROTLI_PREDICT_FALSE(!BrotliSafeReadBits(br, 3, &bits))) {
- s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_SHORT;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (bits == 0) {
- *value = 1;
- s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE;
- return BROTLI_DECODER_SUCCESS;
- }
- /* Use output value as a temporary storage. It MUST be persisted. */
- *value = bits;
- /* Fall through. */
-
- case BROTLI_STATE_DECODE_UINT8_LONG:
- if (BROTLI_PREDICT_FALSE(!BrotliSafeReadBits(br, *value, &bits))) {
- s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_LONG;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- *value = (1U << *value) + bits;
- s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE;
- return BROTLI_DECODER_SUCCESS;
-
- default:
- return
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);
- }
-}
-
-/* Decodes a metablock length and flags by reading 2 - 31 bits. */
-static BrotliDecoderErrorCode BROTLI_NOINLINE DecodeMetaBlockLength(
- BrotliDecoderState* s, BrotliBitReader* br) {
- uint32_t bits;
- unsigned int i;
- for (;;) {
- switch (s->substate_metablock_header) {
- case BROTLI_STATE_METABLOCK_HEADER_NONE:
- if (!BrotliSafeReadBits(br, 1, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->is_last_metablock = bits ? 1 : 0;
- s->meta_block_remaining_len = 0;
- s->is_uncompressed = 0;
- s->is_metadata = 0;
- if (!s->is_last_metablock) {
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES;
- break;
- }
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_EMPTY;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER_EMPTY:
- if (!BrotliSafeReadBits(br, 1, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (bits) {
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;
- return BROTLI_DECODER_SUCCESS;
- }
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NIBBLES;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER_NIBBLES:
- if (!BrotliSafeReadBits(br, 2, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->size_nibbles = (uint8_t)(bits + 4);
- s->loop_counter = 0;
- if (bits == 3) {
- s->is_metadata = 1;
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_RESERVED;
- break;
- }
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_SIZE;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER_SIZE:
- i = s->loop_counter;
- for (; i < (int)s->size_nibbles; ++i) {
- if (!BrotliSafeReadBits(br, 4, &bits)) {
- s->loop_counter = i;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (i + 1 == s->size_nibbles && s->size_nibbles > 4 && bits == 0) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE);
- }
- s->meta_block_remaining_len |= (int)(bits << (i * 4));
- }
- s->substate_metablock_header =
- BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED:
- if (!s->is_last_metablock) {
- if (!BrotliSafeReadBits(br, 1, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->is_uncompressed = bits ? 1 : 0;
- }
- ++s->meta_block_remaining_len;
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;
- return BROTLI_DECODER_SUCCESS;
-
- case BROTLI_STATE_METABLOCK_HEADER_RESERVED:
- if (!BrotliSafeReadBits(br, 1, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (bits != 0) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_RESERVED);
- }
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_BYTES;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER_BYTES:
- if (!BrotliSafeReadBits(br, 2, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (bits == 0) {
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;
- return BROTLI_DECODER_SUCCESS;
- }
- s->size_nibbles = (uint8_t)bits;
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_METADATA;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER_METADATA:
- i = s->loop_counter;
- for (; i < (int)s->size_nibbles; ++i) {
- if (!BrotliSafeReadBits(br, 8, &bits)) {
- s->loop_counter = i;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (i + 1 == s->size_nibbles && s->size_nibbles > 1 && bits == 0) {
- return BROTLI_FAILURE(
- BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE);
- }
- s->meta_block_remaining_len |= (int)(bits << (i * 8));
- }
- ++s->meta_block_remaining_len;
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;
- return BROTLI_DECODER_SUCCESS;
-
- default:
- return
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);
- }
- }
-}
-
-/* Decodes the Huffman code.
- This method doesn't read data from the bit reader, BUT drops the amount of
- bits that correspond to the decoded symbol.
- bits MUST contain at least 15 (BROTLI_HUFFMAN_MAX_CODE_LENGTH) valid bits. */
-static BROTLI_INLINE uint32_t DecodeSymbol(uint32_t bits,
- const HuffmanCode* table,
- BrotliBitReader* br) {
- table += bits & HUFFMAN_TABLE_MASK;
- if (table->bits > HUFFMAN_TABLE_BITS) {
- uint32_t nbits = table->bits - HUFFMAN_TABLE_BITS;
- BrotliDropBits(br, HUFFMAN_TABLE_BITS);
- table += table->value;
- table += (bits >> HUFFMAN_TABLE_BITS) & BitMask(nbits);
- }
- BrotliDropBits(br, table->bits);
- return table->value;
-}
-
-/* Reads and decodes the next Huffman code from bit-stream.
- This method peeks 16 bits of input and drops 0 - 15 of them. */
-static BROTLI_INLINE uint32_t ReadSymbol(const HuffmanCode* table,
- BrotliBitReader* br) {
- return DecodeSymbol(BrotliGet16BitsUnmasked(br), table, br);
-}
-
-/* Same as DecodeSymbol, but it is known that there is less than 15 bits of
- input are currently available. */
-static BROTLI_NOINLINE BROTLI_BOOL SafeDecodeSymbol(
- const HuffmanCode* table, BrotliBitReader* br, uint32_t* result) {
- uint32_t val;
- uint32_t available_bits = BrotliGetAvailableBits(br);
- if (available_bits == 0) {
- if (table->bits == 0) {
- *result = table->value;
- return BROTLI_TRUE;
- }
- return BROTLI_FALSE; /* No valid bits at all. */
- }
- val = (uint32_t)BrotliGetBitsUnmasked(br);
- table += val & HUFFMAN_TABLE_MASK;
- if (table->bits <= HUFFMAN_TABLE_BITS) {
- if (table->bits <= available_bits) {
- BrotliDropBits(br, table->bits);
- *result = table->value;
- return BROTLI_TRUE;
- } else {
- return BROTLI_FALSE; /* Not enough bits for the first level. */
- }
- }
- if (available_bits <= HUFFMAN_TABLE_BITS) {
- return BROTLI_FALSE; /* Not enough bits to move to the second level. */
- }
-
- /* Speculatively drop HUFFMAN_TABLE_BITS. */
- val = (val & BitMask(table->bits)) >> HUFFMAN_TABLE_BITS;
- available_bits -= HUFFMAN_TABLE_BITS;
- table += table->value + val;
- if (available_bits < table->bits) {
- return BROTLI_FALSE; /* Not enough bits for the second level. */
- }
-
- BrotliDropBits(br, HUFFMAN_TABLE_BITS + table->bits);
- *result = table->value;
- return BROTLI_TRUE;
-}
-
-static BROTLI_INLINE BROTLI_BOOL SafeReadSymbol(
- const HuffmanCode* table, BrotliBitReader* br, uint32_t* result) {
- uint32_t val;
- if (BROTLI_PREDICT_TRUE(BrotliSafeGetBits(br, 15, &val))) {
- *result = DecodeSymbol(val, table, br);
- return BROTLI_TRUE;
- }
- return SafeDecodeSymbol(table, br, result);
-}
-
-/* Makes a look-up in first level Huffman table. Peeks 8 bits. */
-static BROTLI_INLINE void PreloadSymbol(int safe,
- const HuffmanCode* table,
- BrotliBitReader* br,
- uint32_t* bits,
- uint32_t* value) {
- if (safe) {
- return;
- }
- table += BrotliGetBits(br, HUFFMAN_TABLE_BITS);
- *bits = table->bits;
- *value = table->value;
-}
-
-/* Decodes the next Huffman code using data prepared by PreloadSymbol.
- Reads 0 - 15 bits. Also peeks 8 following bits. */
-static BROTLI_INLINE uint32_t ReadPreloadedSymbol(const HuffmanCode* table,
- BrotliBitReader* br,
- uint32_t* bits,
- uint32_t* value) {
- uint32_t result = *value;
- if (BROTLI_PREDICT_FALSE(*bits > HUFFMAN_TABLE_BITS)) {
- uint32_t val = BrotliGet16BitsUnmasked(br);
- const HuffmanCode* ext = table + (val & HUFFMAN_TABLE_MASK) + *value;
- uint32_t mask = BitMask((*bits - HUFFMAN_TABLE_BITS));
- BrotliDropBits(br, HUFFMAN_TABLE_BITS);
- ext += (val >> HUFFMAN_TABLE_BITS) & mask;
- BrotliDropBits(br, ext->bits);
- result = ext->value;
- } else {
- BrotliDropBits(br, *bits);
- }
- PreloadSymbol(0, table, br, bits, value);
- return result;
-}
-
-static BROTLI_INLINE uint32_t Log2Floor(uint32_t x) {
- uint32_t result = 0;
- while (x) {
- x >>= 1;
- ++result;
- }
- return result;
-}
-
-/* Reads (s->symbol + 1) symbols.
- Totally 1..4 symbols are read, 1..11 bits each.
- The list of symbols MUST NOT contain duplicates. */
-static BrotliDecoderErrorCode ReadSimpleHuffmanSymbols(
- uint32_t alphabet_size, uint32_t max_symbol, BrotliDecoderState* s) {
- /* max_bits == 1..11; symbol == 0..3; 1..44 bits will be read. */
- BrotliBitReader* br = &s->br;
- uint32_t max_bits = Log2Floor(alphabet_size - 1);
- uint32_t i = s->sub_loop_counter;
- uint32_t num_symbols = s->symbol;
- while (i <= num_symbols) {
- uint32_t v;
- if (BROTLI_PREDICT_FALSE(!BrotliSafeReadBits(br, max_bits, &v))) {
- s->sub_loop_counter = i;
- s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_READ;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (v >= max_symbol) {
- return
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET);
- }
- s->symbols_lists_array[i] = (uint16_t)v;
- BROTLI_LOG_UINT(s->symbols_lists_array[i]);
- ++i;
- }
-
- for (i = 0; i < num_symbols; ++i) {
- uint32_t k = i + 1;
- for (; k <= num_symbols; ++k) {
- if (s->symbols_lists_array[i] == s->symbols_lists_array[k]) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME);
- }
- }
- }
-
- return BROTLI_DECODER_SUCCESS;
-}
-
-/* Process single decoded symbol code length:
- A) reset the repeat variable
- B) remember code length (if it is not 0)
- C) extend corresponding index-chain
- D) reduce the Huffman space
- E) update the histogram */
-static BROTLI_INLINE void ProcessSingleCodeLength(uint32_t code_len,
- uint32_t* symbol, uint32_t* repeat, uint32_t* space,
- uint32_t* prev_code_len, uint16_t* symbol_lists,
- uint16_t* code_length_histo, int* next_symbol) {
- *repeat = 0;
- if (code_len != 0) { /* code_len == 1..15 */
- symbol_lists[next_symbol[code_len]] = (uint16_t)(*symbol);
- next_symbol[code_len] = (int)(*symbol);
- *prev_code_len = code_len;
- *space -= 32768U >> code_len;
- code_length_histo[code_len]++;
- BROTLI_LOG(("[ReadHuffmanCode] code_length[%d] = %d\n",
- (int)*symbol, (int)code_len));
- }
- (*symbol)++;
-}
-
-/* Process repeated symbol code length.
- A) Check if it is the extension of previous repeat sequence; if the decoded
- value is not BROTLI_REPEAT_PREVIOUS_CODE_LENGTH, then it is a new
- symbol-skip
- B) Update repeat variable
- C) Check if operation is feasible (fits alphabet)
- D) For each symbol do the same operations as in ProcessSingleCodeLength
-
- PRECONDITION: code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH or
- code_len == BROTLI_REPEAT_ZERO_CODE_LENGTH */
-static BROTLI_INLINE void ProcessRepeatedCodeLength(uint32_t code_len,
- uint32_t repeat_delta, uint32_t alphabet_size, uint32_t* symbol,
- uint32_t* repeat, uint32_t* space, uint32_t* prev_code_len,
- uint32_t* repeat_code_len, uint16_t* symbol_lists,
- uint16_t* code_length_histo, int* next_symbol) {
- uint32_t old_repeat;
- uint32_t extra_bits = 3; /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */
- uint32_t new_len = 0; /* for BROTLI_REPEAT_ZERO_CODE_LENGTH */
- if (code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) {
- new_len = *prev_code_len;
- extra_bits = 2;
- }
- if (*repeat_code_len != new_len) {
- *repeat = 0;
- *repeat_code_len = new_len;
- }
- old_repeat = *repeat;
- if (*repeat > 0) {
- *repeat -= 2;
- *repeat <<= extra_bits;
- }
- *repeat += repeat_delta + 3U;
- repeat_delta = *repeat - old_repeat;
- if (*symbol + repeat_delta > alphabet_size) {
- BROTLI_DUMP();
- *symbol = alphabet_size;
- *space = 0xFFFFF;
- return;
- }
- BROTLI_LOG(("[ReadHuffmanCode] code_length[%d..%d] = %d\n",
- (int)*symbol, (int)(*symbol + repeat_delta - 1), (int)*repeat_code_len));
- if (*repeat_code_len != 0) {
- unsigned last = *symbol + repeat_delta;
- int next = next_symbol[*repeat_code_len];
- do {
- symbol_lists[next] = (uint16_t)*symbol;
- next = (int)*symbol;
- } while (++(*symbol) != last);
- next_symbol[*repeat_code_len] = next;
- *space -= repeat_delta << (15 - *repeat_code_len);
- code_length_histo[*repeat_code_len] =
- (uint16_t)(code_length_histo[*repeat_code_len] + repeat_delta);
- } else {
- *symbol += repeat_delta;
- }
-}
-
-/* Reads and decodes symbol codelengths. */
-static BrotliDecoderErrorCode ReadSymbolCodeLengths(
- uint32_t alphabet_size, BrotliDecoderState* s) {
- BrotliBitReader* br = &s->br;
- uint32_t symbol = s->symbol;
- uint32_t repeat = s->repeat;
- uint32_t space = s->space;
- uint32_t prev_code_len = s->prev_code_len;
- uint32_t repeat_code_len = s->repeat_code_len;
- uint16_t* symbol_lists = s->symbol_lists;
- uint16_t* code_length_histo = s->code_length_histo;
- int* next_symbol = s->next_symbol;
- if (!BrotliWarmupBitReader(br)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- while (symbol < alphabet_size && space > 0) {
- const HuffmanCode* p = s->table;
- uint32_t code_len;
- if (!BrotliCheckInputAmount(br, BROTLI_SHORT_FILL_BIT_WINDOW_READ)) {
- s->symbol = symbol;
- s->repeat = repeat;
- s->prev_code_len = prev_code_len;
- s->repeat_code_len = repeat_code_len;
- s->space = space;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- BrotliFillBitWindow16(br);
- p += BrotliGetBitsUnmasked(br) &
- BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH);
- BrotliDropBits(br, p->bits); /* Use 1..5 bits. */
- code_len = p->value; /* code_len == 0..17 */
- if (code_len < BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) {
- ProcessSingleCodeLength(code_len, &symbol, &repeat, &space,
- &prev_code_len, symbol_lists, code_length_histo, next_symbol);
- } else { /* code_len == 16..17, extra_bits == 2..3 */
- uint32_t extra_bits =
- (code_len == BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) ? 2 : 3;
- uint32_t repeat_delta =
- (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(extra_bits);
- BrotliDropBits(br, extra_bits);
- ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size,
- &symbol, &repeat, &space, &prev_code_len, &repeat_code_len,
- symbol_lists, code_length_histo, next_symbol);
- }
- }
- s->space = space;
- return BROTLI_DECODER_SUCCESS;
-}
-
-static BrotliDecoderErrorCode SafeReadSymbolCodeLengths(
- uint32_t alphabet_size, BrotliDecoderState* s) {
- BrotliBitReader* br = &s->br;
- BROTLI_BOOL get_byte = BROTLI_FALSE;
- while (s->symbol < alphabet_size && s->space > 0) {
- const HuffmanCode* p = s->table;
- uint32_t code_len;
- uint32_t available_bits;
- uint32_t bits = 0;
- if (get_byte && !BrotliPullByte(br)) return BROTLI_DECODER_NEEDS_MORE_INPUT;
- get_byte = BROTLI_FALSE;
- available_bits = BrotliGetAvailableBits(br);
- if (available_bits != 0) {
- bits = (uint32_t)BrotliGetBitsUnmasked(br);
- }
- p += bits & BitMask(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH);
- if (p->bits > available_bits) {
- get_byte = BROTLI_TRUE;
- continue;
- }
- code_len = p->value; /* code_len == 0..17 */
- if (code_len < BROTLI_REPEAT_PREVIOUS_CODE_LENGTH) {
- BrotliDropBits(br, p->bits);
- ProcessSingleCodeLength(code_len, &s->symbol, &s->repeat, &s->space,
- &s->prev_code_len, s->symbol_lists, s->code_length_histo,
- s->next_symbol);
- } else { /* code_len == 16..17, extra_bits == 2..3 */
- uint32_t extra_bits = code_len - 14U;
- uint32_t repeat_delta = (bits >> p->bits) & BitMask(extra_bits);
- if (available_bits < p->bits + extra_bits) {
- get_byte = BROTLI_TRUE;
- continue;
- }
- BrotliDropBits(br, p->bits + extra_bits);
- ProcessRepeatedCodeLength(code_len, repeat_delta, alphabet_size,
- &s->symbol, &s->repeat, &s->space, &s->prev_code_len,
- &s->repeat_code_len, s->symbol_lists, s->code_length_histo,
- s->next_symbol);
- }
- }
- return BROTLI_DECODER_SUCCESS;
-}
-
-/* Reads and decodes 15..18 codes using static prefix code.
- Each code is 2..4 bits long. In total 30..72 bits are used. */
-static BrotliDecoderErrorCode ReadCodeLengthCodeLengths(BrotliDecoderState* s) {
- BrotliBitReader* br = &s->br;
- uint32_t num_codes = s->repeat;
- unsigned space = s->space;
- uint32_t i = s->sub_loop_counter;
- for (; i < BROTLI_CODE_LENGTH_CODES; ++i) {
- const uint8_t code_len_idx = kCodeLengthCodeOrder[i];
- uint32_t ix;
- uint32_t v;
- if (BROTLI_PREDICT_FALSE(!BrotliSafeGetBits(br, 4, &ix))) {
- uint32_t available_bits = BrotliGetAvailableBits(br);
- if (available_bits != 0) {
- ix = BrotliGetBitsUnmasked(br) & 0xF;
- } else {
- ix = 0;
- }
- if (kCodeLengthPrefixLength[ix] > available_bits) {
- s->sub_loop_counter = i;
- s->repeat = num_codes;
- s->space = space;
- s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- }
- v = kCodeLengthPrefixValue[ix];
- BrotliDropBits(br, kCodeLengthPrefixLength[ix]);
- s->code_length_code_lengths[code_len_idx] = (uint8_t)v;
- BROTLI_LOG_ARRAY_INDEX(s->code_length_code_lengths, code_len_idx);
- if (v != 0) {
- space = space - (32U >> v);
- ++num_codes;
- ++s->code_length_histo[v];
- if (space - 1U >= 32U) {
- /* space is 0 or wrapped around. */
- break;
- }
- }
- }
- if (!(num_codes == 1 || space == 0)) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CL_SPACE);
- }
- return BROTLI_DECODER_SUCCESS;
-}
-
-/* Decodes the Huffman tables.
- There are 2 scenarios:
- A) Huffman code contains only few symbols (1..4). Those symbols are read
- directly; their code lengths are defined by the number of symbols.
- For this scenario 4 - 49 bits will be read.
-
- B) 2-phase decoding:
- B.1) Small Huffman table is decoded; it is specified with code lengths
- encoded with predefined entropy code. 32 - 74 bits are used.
- B.2) Decoded table is used to decode code lengths of symbols in resulting
- Huffman table. In worst case 3520 bits are read. */
-static BrotliDecoderErrorCode ReadHuffmanCode(uint32_t alphabet_size,
- uint32_t max_symbol,
- HuffmanCode* table,
- uint32_t* opt_table_size,
- BrotliDecoderState* s) {
- BrotliBitReader* br = &s->br;
- /* Unnecessary masking, but might be good for safety. */
- alphabet_size &= 0x7FF;
- /* State machine. */
- for (;;) {
- switch (s->substate_huffman) {
- case BROTLI_STATE_HUFFMAN_NONE:
- if (!BrotliSafeReadBits(br, 2, &s->sub_loop_counter)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- BROTLI_LOG_UINT(s->sub_loop_counter);
- /* The value is used as follows:
- 1 for simple code;
- 0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */
- if (s->sub_loop_counter != 1) {
- s->space = 32;
- s->repeat = 0; /* num_codes */
- memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo[0]) *
- (BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1));
- memset(&s->code_length_code_lengths[0], 0,
- sizeof(s->code_length_code_lengths));
- s->substate_huffman = BROTLI_STATE_HUFFMAN_COMPLEX;
- continue;
- }
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_SIMPLE_SIZE:
- /* Read symbols, codes & code lengths directly. */
- if (!BrotliSafeReadBits(br, 2, &s->symbol)) { /* num_symbols */
- s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_SIZE;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->sub_loop_counter = 0;
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_SIMPLE_READ: {
- BrotliDecoderErrorCode result =
- ReadSimpleHuffmanSymbols(alphabet_size, max_symbol, s);
- if (result != BROTLI_DECODER_SUCCESS) {
- return result;
- }
- }
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_SIMPLE_BUILD: {
- uint32_t table_size;
- if (s->symbol == 3) {
- uint32_t bits;
- if (!BrotliSafeReadBits(br, 1, &bits)) {
- s->substate_huffman = BROTLI_STATE_HUFFMAN_SIMPLE_BUILD;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->symbol += bits;
- }
- BROTLI_LOG_UINT(s->symbol);
- table_size = BrotliBuildSimpleHuffmanTable(
- table, HUFFMAN_TABLE_BITS, s->symbols_lists_array, s->symbol);
- if (opt_table_size) {
- *opt_table_size = table_size;
- }
- s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE;
- return BROTLI_DECODER_SUCCESS;
- }
-
- /* Decode Huffman-coded code lengths. */
- case BROTLI_STATE_HUFFMAN_COMPLEX: {
- uint32_t i;
- BrotliDecoderErrorCode result = ReadCodeLengthCodeLengths(s);
- if (result != BROTLI_DECODER_SUCCESS) {
- return result;
- }
- BrotliBuildCodeLengthsHuffmanTable(s->table,
- s->code_length_code_lengths,
- s->code_length_histo);
- memset(&s->code_length_histo[0], 0, sizeof(s->code_length_histo));
- for (i = 0; i <= BROTLI_HUFFMAN_MAX_CODE_LENGTH; ++i) {
- s->next_symbol[i] = (int)i - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1);
- s->symbol_lists[s->next_symbol[i]] = 0xFFFF;
- }
-
- s->symbol = 0;
- s->prev_code_len = BROTLI_INITIAL_REPEATED_CODE_LENGTH;
- s->repeat = 0;
- s->repeat_code_len = 0;
- s->space = 32768;
- s->substate_huffman = BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS;
- }
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS: {
- uint32_t table_size;
- BrotliDecoderErrorCode result = ReadSymbolCodeLengths(max_symbol, s);
- if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) {
- result = SafeReadSymbolCodeLengths(max_symbol, s);
- }
- if (result != BROTLI_DECODER_SUCCESS) {
- return result;
- }
-
- if (s->space != 0) {
- BROTLI_LOG(("[ReadHuffmanCode] space = %d\n", (int)s->space));
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE);
- }
- table_size = BrotliBuildHuffmanTable(
- table, HUFFMAN_TABLE_BITS, s->symbol_lists, s->code_length_histo);
- if (opt_table_size) {
- *opt_table_size = table_size;
- }
- s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE;
- return BROTLI_DECODER_SUCCESS;
- }
-
- default:
- return
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);
- }
- }
-}
-
-/* Decodes a block length by reading 3..39 bits. */
-static BROTLI_INLINE uint32_t ReadBlockLength(const HuffmanCode* table,
- BrotliBitReader* br) {
- uint32_t code;
- uint32_t nbits;
- code = ReadSymbol(table, br);
- ASSERT (code < BROTLI_NUM_BLOCK_LEN_SYMBOLS);
- nbits = kBlockLengthPrefixCode[code].nbits; /* nbits == 2..24 */
- return kBlockLengthPrefixCode[code].offset + BrotliReadBits(br, nbits);
-}
-
-/* WARNING: if state is not BROTLI_STATE_READ_BLOCK_LENGTH_NONE, then
- reading can't be continued with ReadBlockLength. */
-static BROTLI_INLINE BROTLI_BOOL SafeReadBlockLength(
- BrotliDecoderState* s, uint32_t* result, const HuffmanCode* table,
- BrotliBitReader* br) {
- uint32_t index;
- if (s->substate_read_block_length == BROTLI_STATE_READ_BLOCK_LENGTH_NONE) {
- if (!SafeReadSymbol(table, br, &index)) {
- return BROTLI_FALSE;
- }
- } else {
- index = s->block_length_index;
- }
- {
- uint32_t bits;
- uint32_t nbits = kBlockLengthPrefixCode[index].nbits; /* nbits == 2..24 */
- if (!BrotliSafeReadBits(br, nbits, &bits)) {
- s->block_length_index = index;
- s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX;
- return BROTLI_FALSE;
- }
- *result = kBlockLengthPrefixCode[index].offset + bits;
- s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE;
- return BROTLI_TRUE;
- }
-}
-
-/* Transform:
- 1) initialize list L with values 0, 1,... 255
- 2) For each input element X:
- 2.1) let Y = L[X]
- 2.2) remove X-th element from L
- 2.3) prepend Y to L
- 2.4) append Y to output
-
- In most cases max(Y) <= 7, so most of L remains intact.
- To reduce the cost of initialization, we reuse L, remember the upper bound
- of Y values, and reinitialize only first elements in L.
-
- Most of input values are 0 and 1. To reduce number of branches, we replace
- inner for loop with do-while. */
-static BROTLI_NOINLINE void InverseMoveToFrontTransform(
- uint8_t* v, uint32_t v_len, BrotliDecoderState* state) {
- /* Reinitialize elements that could have been changed. */
- uint32_t i = 1;
- uint32_t upper_bound = state->mtf_upper_bound;
- uint32_t* mtf = &state->mtf[1]; /* Make mtf[-1] addressable. */
- uint8_t* mtf_u8 = (uint8_t*)mtf;
- uint8_t* mtf_u8t = mtf_u8 - 1;
- /* Load endian-aware constant. */
- const uint8_t b0123[4] = {0, 1, 2, 3};
- uint32_t pattern;
- memcpy(&pattern, &b0123, 4);
-
- /* Initialize list using 4 consequent values pattern. */
- mtf[0] = pattern;
- do {
- pattern += 0x04040404; /* Advance all 4 values by 4. */
- mtf[i] = pattern;
- i++;
- } while (i <= upper_bound);
-
- /* Transform the input. */
- upper_bound = 0;
- for (i = 0; i < v_len; ++i) {
- int index = v[i];
- uint8_t value = mtf_u8[index];
- upper_bound |= (uint32_t) v[i];
- v[i] = value;
- mtf_u8t[0] = value;
- while (index >= 0) {
- mtf_u8t[index + 1] = mtf_u8t[index];
- index--;
- }
- }
- /* Remember amount of elements to be reinitialized. */
- state->mtf_upper_bound = upper_bound >> 2;
-}
-
-/* Decodes a series of Huffman table using ReadHuffmanCode function. */
-static BrotliDecoderErrorCode HuffmanTreeGroupDecode(
- HuffmanTreeGroup* group, BrotliDecoderState* s) {
- if (s->substate_tree_group != BROTLI_STATE_TREE_GROUP_LOOP) {
- s->next = group->codes;
- s->htree_index = 0;
- s->substate_tree_group = BROTLI_STATE_TREE_GROUP_LOOP;
- }
- while (s->htree_index < group->num_htrees) {
- uint32_t table_size;
- BrotliDecoderErrorCode result =
- ReadHuffmanCode(group->alphabet_size, group->max_symbol,
- s->next, &table_size, s);
- if (result != BROTLI_DECODER_SUCCESS) return result;
- group->htrees[s->htree_index] = s->next;
- s->next += table_size;
- ++s->htree_index;
- }
- s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE;
- return BROTLI_DECODER_SUCCESS;
-}
-
-/* Decodes a context map.
- Decoding is done in 4 phases:
- 1) Read auxiliary information (6..16 bits) and allocate memory.
- In case of trivial context map, decoding is finished at this phase.
- 2) Decode Huffman table using ReadHuffmanCode function.
- This table will be used for reading context map items.
- 3) Read context map items; "0" values could be run-length encoded.
- 4) Optionally, apply InverseMoveToFront transform to the resulting map. */
-static BrotliDecoderErrorCode DecodeContextMap(uint32_t context_map_size,
- uint32_t* num_htrees,
- uint8_t** context_map_arg,
- BrotliDecoderState* s) {
- BrotliBitReader* br = &s->br;
- BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS;
-
- switch ((int)s->substate_context_map) {
- case BROTLI_STATE_CONTEXT_MAP_NONE:
- result = DecodeVarLenUint8(s, br, num_htrees);
- if (result != BROTLI_DECODER_SUCCESS) {
- return result;
- }
- (*num_htrees)++;
- s->context_index = 0;
- BROTLI_LOG_UINT(context_map_size);
- BROTLI_LOG_UINT(*num_htrees);
- *context_map_arg =
- (uint8_t*)BROTLI_DECODER_ALLOC(s, (size_t)context_map_size);
- if (*context_map_arg == 0) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP);
- }
- if (*num_htrees <= 1) {
- memset(*context_map_arg, 0, (size_t)context_map_size);
- return BROTLI_DECODER_SUCCESS;
- }
- s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_READ_PREFIX;
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MAP_READ_PREFIX: {
- uint32_t bits;
- /* In next stage ReadHuffmanCode uses at least 4 bits, so it is safe
- to peek 4 bits ahead. */
- if (!BrotliSafeGetBits(br, 5, &bits)) {
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if ((bits & 1) != 0) { /* Use RLE for zeros. */
- s->max_run_length_prefix = (bits >> 1) + 1;
- BrotliDropBits(br, 5);
- } else {
- s->max_run_length_prefix = 0;
- BrotliDropBits(br, 1);
- }
- BROTLI_LOG_UINT(s->max_run_length_prefix);
- s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_HUFFMAN;
- }
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MAP_HUFFMAN: {
- uint32_t alphabet_size = *num_htrees + s->max_run_length_prefix;
- result = ReadHuffmanCode(alphabet_size, alphabet_size,
- s->context_map_table, NULL, s);
- if (result != BROTLI_DECODER_SUCCESS) return result;
- s->code = 0xFFFF;
- s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_DECODE;
- }
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MAP_DECODE: {
- uint32_t context_index = s->context_index;
- uint32_t max_run_length_prefix = s->max_run_length_prefix;
- uint8_t* context_map = *context_map_arg;
- uint32_t code = s->code;
- BROTLI_BOOL skip_preamble = (code != 0xFFFF);
- while (context_index < context_map_size || skip_preamble) {
- if (!skip_preamble) {
- if (!SafeReadSymbol(s->context_map_table, br, &code)) {
- s->code = 0xFFFF;
- s->context_index = context_index;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- BROTLI_LOG_UINT(code);
-
- if (code == 0) {
- context_map[context_index++] = 0;
- continue;
- }
- if (code > max_run_length_prefix) {
- context_map[context_index++] =
- (uint8_t)(code - max_run_length_prefix);
- continue;
- }
- } else {
- skip_preamble = BROTLI_FALSE;
- }
- /* RLE sub-stage. */
- {
- uint32_t reps;
- if (!BrotliSafeReadBits(br, code, &reps)) {
- s->code = code;
- s->context_index = context_index;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- reps += 1U << code;
- BROTLI_LOG_UINT(reps);
- if (context_index + reps > context_map_size) {
- return
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT);
- }
- do {
- context_map[context_index++] = 0;
- } while (--reps);
- }
- }
- }
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MAP_TRANSFORM: {
- uint32_t bits;
- if (!BrotliSafeReadBits(br, 1, &bits)) {
- s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_TRANSFORM;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- if (bits != 0) {
- InverseMoveToFrontTransform(*context_map_arg, context_map_size, s);
- }
- s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE;
- return BROTLI_DECODER_SUCCESS;
- }
-
- default:
- return
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);
- }
-}
-
-/* Decodes a command or literal and updates block type ring-buffer.
- Reads 3..54 bits. */
-static BROTLI_INLINE BROTLI_BOOL DecodeBlockTypeAndLength(
- int safe, BrotliDecoderState* s, int tree_type) {
- uint32_t max_block_type = s->num_block_types[tree_type];
- const HuffmanCode* type_tree = &s->block_type_trees[
- tree_type * BROTLI_HUFFMAN_MAX_SIZE_258];
- const HuffmanCode* len_tree = &s->block_len_trees[
- tree_type * BROTLI_HUFFMAN_MAX_SIZE_26];
- BrotliBitReader* br = &s->br;
- uint32_t* ringbuffer = &s->block_type_rb[tree_type * 2];
- uint32_t block_type;
- if (max_block_type <= 1) {
- return BROTLI_FALSE;
- }
-
- /* Read 0..15 + 3..39 bits. */
- if (!safe) {
- block_type = ReadSymbol(type_tree, br);
- s->block_length[tree_type] = ReadBlockLength(len_tree, br);
- } else {
- BrotliBitReaderState memento;
- BrotliBitReaderSaveState(br, &memento);
- if (!SafeReadSymbol(type_tree, br, &block_type)) return BROTLI_FALSE;
- if (!SafeReadBlockLength(s, &s->block_length[tree_type], len_tree, br)) {
- s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE;
- BrotliBitReaderRestoreState(br, &memento);
- return BROTLI_FALSE;
- }
- }
-
- if (block_type == 1) {
- block_type = ringbuffer[1] + 1;
- } else if (block_type == 0) {
- block_type = ringbuffer[0];
- } else {
- block_type -= 2;
- }
- if (block_type >= max_block_type) {
- block_type -= max_block_type;
- }
- ringbuffer[0] = ringbuffer[1];
- ringbuffer[1] = block_type;
- return BROTLI_TRUE;
-}
-
-static BROTLI_INLINE void DetectTrivialLiteralBlockTypes(
- BrotliDecoderState* s) {
- size_t i;
- for (i = 0; i < 8; ++i) s->trivial_literal_contexts[i] = 0;
- for (i = 0; i < s->num_block_types[0]; i++) {
- size_t offset = i << BROTLI_LITERAL_CONTEXT_BITS;
- size_t error = 0;
- size_t sample = s->context_map[offset];
- size_t j;
- for (j = 0; j < (1u << BROTLI_LITERAL_CONTEXT_BITS);) {
- BROTLI_REPEAT(4, error |= s->context_map[offset + j++] ^ sample;)
- }
- if (error == 0) {
- s->trivial_literal_contexts[i >> 5] |= 1u << (i & 31);
- }
- }
-}
-
-static BROTLI_INLINE void PrepareLiteralDecoding(BrotliDecoderState* s) {
- uint8_t context_mode;
- size_t trivial;
- uint32_t block_type = s->block_type_rb[1];
- uint32_t context_offset = block_type << BROTLI_LITERAL_CONTEXT_BITS;
- s->context_map_slice = s->context_map + context_offset;
- trivial = s->trivial_literal_contexts[block_type >> 5];
- s->trivial_literal_context = (trivial >> (block_type & 31)) & 1;
- s->literal_htree = s->literal_hgroup.htrees[s->context_map_slice[0]];
- context_mode = s->context_modes[block_type] & 3;
- s->context_lookup = BROTLI_CONTEXT_LUT(context_mode);
-}
-
-/* Decodes the block type and updates the state for literal context.
- Reads 3..54 bits. */
-static BROTLI_INLINE BROTLI_BOOL DecodeLiteralBlockSwitchInternal(
- int safe, BrotliDecoderState* s) {
- if (!DecodeBlockTypeAndLength(safe, s, 0)) {
- return BROTLI_FALSE;
- }
- PrepareLiteralDecoding(s);
- return BROTLI_TRUE;
-}
-
-static void BROTLI_NOINLINE DecodeLiteralBlockSwitch(BrotliDecoderState* s) {
- DecodeLiteralBlockSwitchInternal(0, s);
-}
-
-static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeLiteralBlockSwitch(
- BrotliDecoderState* s) {
- return DecodeLiteralBlockSwitchInternal(1, s);
-}
-
-/* Block switch for insert/copy length.
- Reads 3..54 bits. */
-static BROTLI_INLINE BROTLI_BOOL DecodeCommandBlockSwitchInternal(
- int safe, BrotliDecoderState* s) {
- if (!DecodeBlockTypeAndLength(safe, s, 1)) {
- return BROTLI_FALSE;
- }
- s->htree_command = s->insert_copy_hgroup.htrees[s->block_type_rb[3]];
- return BROTLI_TRUE;
-}
-
-static void BROTLI_NOINLINE DecodeCommandBlockSwitch(BrotliDecoderState* s) {
- DecodeCommandBlockSwitchInternal(0, s);
-}
-
-static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeCommandBlockSwitch(
- BrotliDecoderState* s) {
- return DecodeCommandBlockSwitchInternal(1, s);
-}
-
-/* Block switch for distance codes.
- Reads 3..54 bits. */
-static BROTLI_INLINE BROTLI_BOOL DecodeDistanceBlockSwitchInternal(
- int safe, BrotliDecoderState* s) {
- if (!DecodeBlockTypeAndLength(safe, s, 2)) {
- return BROTLI_FALSE;
- }
- s->dist_context_map_slice = s->dist_context_map +
- (s->block_type_rb[5] << BROTLI_DISTANCE_CONTEXT_BITS);
- s->dist_htree_index = s->dist_context_map_slice[s->distance_context];
- return BROTLI_TRUE;
-}
-
-static void BROTLI_NOINLINE DecodeDistanceBlockSwitch(BrotliDecoderState* s) {
- DecodeDistanceBlockSwitchInternal(0, s);
-}
-
-static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeDistanceBlockSwitch(
- BrotliDecoderState* s) {
- return DecodeDistanceBlockSwitchInternal(1, s);
-}
-
-static size_t UnwrittenBytes(const BrotliDecoderState* s, BROTLI_BOOL wrap) {
- size_t pos = wrap && s->pos > s->ringbuffer_size ?
- (size_t)s->ringbuffer_size : (size_t)(s->pos);
- size_t partial_pos_rb = (s->rb_roundtrips * (size_t)s->ringbuffer_size) + pos;
- return partial_pos_rb - s->partial_pos_out;
-}
-
-/* Dumps output.
- Returns BROTLI_DECODER_NEEDS_MORE_OUTPUT only if there is more output to push
- and either ring-buffer is as big as window size, or |force| is true. */
-static BrotliDecoderErrorCode BROTLI_NOINLINE WriteRingBuffer(
- BrotliDecoderState* s, size_t* available_out, uint8_t** next_out,
- size_t* total_out, BROTLI_BOOL force) {
- uint8_t* start =
- s->ringbuffer + (s->partial_pos_out & (size_t)s->ringbuffer_mask);
- size_t to_write = UnwrittenBytes(s, BROTLI_TRUE);
- size_t num_written = *available_out;
- if (num_written > to_write) {
- num_written = to_write;
- }
- if (s->meta_block_remaining_len < 0) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1);
- }
- if (next_out && !*next_out) {
- *next_out = start;
- } else {
- if (next_out) {
- memcpy(*next_out, start, num_written);
- *next_out += num_written;
- }
- }
- *available_out -= num_written;
- BROTLI_LOG_UINT(to_write);
- BROTLI_LOG_UINT(num_written);
- s->partial_pos_out += num_written;
- if (total_out) {
- *total_out = s->partial_pos_out;
- }
- if (num_written < to_write) {
- if (s->ringbuffer_size == (1 << s->window_bits) || force) {
- return BROTLI_DECODER_NEEDS_MORE_OUTPUT;
- } else {
- return BROTLI_DECODER_SUCCESS;
- }
- }
- /* Wrap ring buffer only if it has reached its maximal size. */
- if (s->ringbuffer_size == (1 << s->window_bits) &&
- s->pos >= s->ringbuffer_size) {
- s->pos -= s->ringbuffer_size;
- s->rb_roundtrips++;
- s->should_wrap_ringbuffer = (size_t)s->pos != 0 ? 1 : 0;
- }
- return BROTLI_DECODER_SUCCESS;
-}
-
-static void BROTLI_NOINLINE WrapRingBuffer(BrotliDecoderState* s) {
- if (s->should_wrap_ringbuffer) {
- memcpy(s->ringbuffer, s->ringbuffer_end, (size_t)s->pos);
- s->should_wrap_ringbuffer = 0;
- }
-}
-
-/* Allocates ring-buffer.
-
- s->ringbuffer_size MUST be updated by BrotliCalculateRingBufferSize before
- this function is called.
-
- Last two bytes of ring-buffer are initialized to 0, so context calculation
- could be done uniformly for the first two and all other positions. */
-static BROTLI_BOOL BROTLI_NOINLINE BrotliEnsureRingBuffer(
- BrotliDecoderState* s) {
- uint8_t* old_ringbuffer = s->ringbuffer;
- if (s->ringbuffer_size == s->new_ringbuffer_size) {
- return BROTLI_TRUE;
- }
-
- s->ringbuffer = (uint8_t*)BROTLI_DECODER_ALLOC(s,
- (size_t)(s->new_ringbuffer_size) + kRingBufferWriteAheadSlack);
- if (s->ringbuffer == 0) {
- /* Restore previous value. */
- s->ringbuffer = old_ringbuffer;
- return BROTLI_FALSE;
- }
- s->ringbuffer[s->new_ringbuffer_size - 2] = 0;
- s->ringbuffer[s->new_ringbuffer_size - 1] = 0;
-
- if (!!old_ringbuffer) {
- memcpy(s->ringbuffer, old_ringbuffer, (size_t)s->pos);
- BROTLI_DECODER_FREE(s, old_ringbuffer);
- }
-
- s->ringbuffer_size = s->new_ringbuffer_size;
- s->ringbuffer_mask = s->new_ringbuffer_size - 1;
- s->ringbuffer_end = s->ringbuffer + s->ringbuffer_size;
-
- return BROTLI_TRUE;
-}
-
-static BrotliDecoderErrorCode BROTLI_NOINLINE CopyUncompressedBlockToOutput(
- size_t* available_out, uint8_t** next_out, size_t* total_out,
- BrotliDecoderState* s) {
- /* TODO: avoid allocation for single uncompressed block. */
- if (!BrotliEnsureRingBuffer(s)) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1);
- }
-
- /* State machine */
- for (;;) {
- switch (s->substate_uncompressed) {
- case BROTLI_STATE_UNCOMPRESSED_NONE: {
- int nbytes = (int)BrotliGetRemainingBytes(&s->br);
- if (nbytes > s->meta_block_remaining_len) {
- nbytes = s->meta_block_remaining_len;
- }
- if (s->pos + nbytes > s->ringbuffer_size) {
- nbytes = s->ringbuffer_size - s->pos;
- }
- /* Copy remaining bytes from s->br.buf_ to ring-buffer. */
- BrotliCopyBytes(&s->ringbuffer[s->pos], &s->br, (size_t)nbytes);
- s->pos += nbytes;
- s->meta_block_remaining_len -= nbytes;
- if (s->pos < 1 << s->window_bits) {
- if (s->meta_block_remaining_len == 0) {
- return BROTLI_DECODER_SUCCESS;
- }
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_WRITE;
- }
- /* Fall through. */
-
- case BROTLI_STATE_UNCOMPRESSED_WRITE: {
- BrotliDecoderErrorCode result;
- result = WriteRingBuffer(
- s, available_out, next_out, total_out, BROTLI_FALSE);
- if (result != BROTLI_DECODER_SUCCESS) {
- return result;
- }
- if (s->ringbuffer_size == 1 << s->window_bits) {
- s->max_distance = s->max_backward_distance;
- }
- s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE;
- break;
- }
- }
- }
- BROTLI_DCHECK(0); /* Unreachable */
-}
-
-/* Calculates the smallest feasible ring buffer.
-
- If we know the data size is small, do not allocate more ring buffer
- size than needed to reduce memory usage.
-
- When this method is called, metablock size and flags MUST be decoded. */
-static void BROTLI_NOINLINE BrotliCalculateRingBufferSize(
- BrotliDecoderState* s) {
- int window_size = 1 << s->window_bits;
- int new_ringbuffer_size = window_size;
- /* We need at least 2 bytes of ring buffer size to get the last two
- bytes for context from there */
- int min_size = s->ringbuffer_size ? s->ringbuffer_size : 1024;
- int output_size;
-
- /* If maximum is already reached, no further extension is retired. */
- if (s->ringbuffer_size == window_size) {
- return;
- }
-
- /* Metadata blocks does not touch ring buffer. */
- if (s->is_metadata) {
- return;
- }
-
- if (!s->ringbuffer) {
- output_size = 0;
- } else {
- output_size = s->pos;
- }
- output_size += s->meta_block_remaining_len;
- min_size = min_size < output_size ? output_size : min_size;
-
- if (!!s->canny_ringbuffer_allocation) {
- /* Reduce ring buffer size to save memory when server is unscrupulous.
- In worst case memory usage might be 1.5x bigger for a short period of
- ring buffer reallocation. */
- while ((new_ringbuffer_size >> 1) >= min_size) {
- new_ringbuffer_size >>= 1;
- }
- }
-
- s->new_ringbuffer_size = new_ringbuffer_size;
-}
-
-/* Reads 1..256 2-bit context modes. */
-static BrotliDecoderErrorCode ReadContextModes(BrotliDecoderState* s) {
- BrotliBitReader* br = &s->br;
- int i = s->loop_counter;
-
- while (i < (int)s->num_block_types[0]) {
- uint32_t bits;
- if (!BrotliSafeReadBits(br, 2, &bits)) {
- s->loop_counter = i;
- return BROTLI_DECODER_NEEDS_MORE_INPUT;
- }
- s->context_modes[i] = (uint8_t)bits;
- BROTLI_LOG_ARRAY_INDEX(s->context_modes, i);
- i++;
- }
- return BROTLI_DECODER_SUCCESS;
-}
-
-static BROTLI_INLINE void TakeDistanceFromRingBuffer(BrotliDecoderState* s) {
- if (s->distance_code == 0) {
- --s->dist_rb_idx;
- s->distance_code = s->dist_rb[s->dist_rb_idx & 3];
- /* Compensate double distance-ring-buffer roll for dictionary items. */
- s->distance_context = 1;
- } else {
- int distance_code = s->distance_code << 1;
- /* kDistanceShortCodeIndexOffset has 2-bit values from LSB:
- 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 */
- const uint32_t kDistanceShortCodeIndexOffset = 0xAAAFFF1B;
- /* kDistanceShortCodeValueOffset has 2-bit values from LSB:
- -0, 0,-0, 0,-1, 1,-2, 2,-3, 3,-1, 1,-2, 2,-3, 3 */
- const uint32_t kDistanceShortCodeValueOffset = 0xFA5FA500;
- int v = (s->dist_rb_idx +
- (int)(kDistanceShortCodeIndexOffset >> distance_code)) & 0x3;
- s->distance_code = s->dist_rb[v];
- v = (int)(kDistanceShortCodeValueOffset >> distance_code) & 0x3;
- if ((distance_code & 0x3) != 0) {
- s->distance_code += v;
- } else {
- s->distance_code -= v;
- if (s->distance_code <= 0) {
- /* A huge distance will cause a BROTLI_FAILURE() soon.
- This is a little faster than failing here. */
- s->distance_code = 0x7FFFFFFF;
- }
- }
- }
-}
-
-static BROTLI_INLINE BROTLI_BOOL SafeReadBits(
- BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {
- if (n_bits != 0) {
- return BrotliSafeReadBits(br, n_bits, val);
- } else {
- *val = 0;
- return BROTLI_TRUE;
- }
-}
-
-/* Precondition: s->distance_code < 0. */
-static BROTLI_INLINE BROTLI_BOOL ReadDistanceInternal(
- int safe, BrotliDecoderState* s, BrotliBitReader* br) {
- int distval;
- BrotliBitReaderState memento;
- HuffmanCode* distance_tree = s->distance_hgroup.htrees[s->dist_htree_index];
- if (!safe) {
- s->distance_code = (int)ReadSymbol(distance_tree, br);
- } else {
- uint32_t code;
- BrotliBitReaderSaveState(br, &memento);
- if (!SafeReadSymbol(distance_tree, br, &code)) {
- return BROTLI_FALSE;
- }
- s->distance_code = (int)code;
- }
- /* Convert the distance code to the actual distance by possibly
- looking up past distances from the s->ringbuffer. */
- s->distance_context = 0;
- if ((s->distance_code & ~0xF) == 0) {
- TakeDistanceFromRingBuffer(s);
- --s->block_length[2];
- return BROTLI_TRUE;
- }
- distval = s->distance_code - (int)s->num_direct_distance_codes;
- if (distval >= 0) {
- uint32_t nbits;
- int postfix;
- int offset;
- if (!safe && (s->distance_postfix_bits == 0)) {
- nbits = ((uint32_t)distval >> 1) + 1;
- offset = ((2 + (distval & 1)) << nbits) - 4;
- s->distance_code = (int)s->num_direct_distance_codes + offset +
- (int)BrotliReadBits(br, nbits);
- } else {
- /* This branch also works well when s->distance_postfix_bits == 0. */
- uint32_t bits;
- postfix = distval & s->distance_postfix_mask;
- distval >>= s->distance_postfix_bits;
- nbits = ((uint32_t)distval >> 1) + 1;
- if (safe) {
- if (!SafeReadBits(br, nbits, &bits)) {
- s->distance_code = -1; /* Restore precondition. */
- BrotliBitReaderRestoreState(br, &memento);
- return BROTLI_FALSE;
- }
- } else {
- bits = BrotliReadBits(br, nbits);
- }
- offset = ((2 + (distval & 1)) << nbits) - 4;
- s->distance_code = (int)s->num_direct_distance_codes +
- ((offset + (int)bits) << s->distance_postfix_bits) + postfix;
- }
- }
- s->distance_code = s->distance_code - BROTLI_NUM_DISTANCE_SHORT_CODES + 1;
- --s->block_length[2];
- return BROTLI_TRUE;
-}
-
-static BROTLI_INLINE void ReadDistance(
- BrotliDecoderState* s, BrotliBitReader* br) {
- ReadDistanceInternal(0, s, br);
-}
-
-static BROTLI_INLINE BROTLI_BOOL SafeReadDistance(
- BrotliDecoderState* s, BrotliBitReader* br) {
- return ReadDistanceInternal(1, s, br);
-}
-
-static BROTLI_INLINE BROTLI_BOOL ReadCommandInternal(
- int safe, BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) {
- uint32_t cmd_code;
- uint32_t insert_len_extra = 0;
- uint32_t copy_length;
- CmdLutElement v;
- BrotliBitReaderState memento;
- if (!safe) {
- cmd_code = ReadSymbol(s->htree_command, br);
- ASSERT (cmd_code < BROTLI_NUM_COMMAND_SYMBOLS);
- } else {
- BrotliBitReaderSaveState(br, &memento);
- if (!SafeReadSymbol(s->htree_command, br, &cmd_code)) {
- return BROTLI_FALSE;
- }
- }
- v = kCmdLut[cmd_code];
- s->distance_code = v.distance_code;
- s->distance_context = v.context;
- s->dist_htree_index = s->dist_context_map_slice[s->distance_context];
- *insert_length = v.insert_len_offset;
- if (!safe) {
- if (BROTLI_PREDICT_FALSE(v.insert_len_extra_bits != 0)) {
- insert_len_extra = BrotliReadBits(br, v.insert_len_extra_bits);
- }
- copy_length = BrotliReadBits(br, v.copy_len_extra_bits);
- } else {
- if (!SafeReadBits(br, v.insert_len_extra_bits, &insert_len_extra) ||
- !SafeReadBits(br, v.copy_len_extra_bits, ©_length)) {
- BrotliBitReaderRestoreState(br, &memento);
- return BROTLI_FALSE;
- }
- }
- s->copy_length = (int)copy_length + v.copy_len_offset;
- --s->block_length[1];
- *insert_length += (int)insert_len_extra;
- return BROTLI_TRUE;
-}
-
-static BROTLI_INLINE void ReadCommand(
- BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) {
- ReadCommandInternal(0, s, br, insert_length);
-}
-
-static BROTLI_INLINE BROTLI_BOOL SafeReadCommand(
- BrotliDecoderState* s, BrotliBitReader* br, int* insert_length) {
- return ReadCommandInternal(1, s, br, insert_length);
-}
-
-static BROTLI_INLINE BROTLI_BOOL CheckInputAmount(
- int safe, BrotliBitReader* const br, size_t num) {
- if (safe) {
- return BROTLI_TRUE;
- }
- return BrotliCheckInputAmount(br, num);
-}
-
-#define BROTLI_SAFE(METHOD) \
- { \
- if (safe) { \
- if (!Safe##METHOD) { \
- result = BROTLI_DECODER_NEEDS_MORE_INPUT; \
- goto saveStateAndReturn; \
- } \
- } else { \
- METHOD; \
- } \
- }
-
-static BROTLI_INLINE BrotliDecoderErrorCode ProcessCommandsInternal(
- int safe, BrotliDecoderState* s) {
- int pos = s->pos;
- int i = s->loop_counter;
- BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS;
- BrotliBitReader* br = &s->br;
-
- if (!CheckInputAmount(safe, br, 28)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- goto saveStateAndReturn;
- }
- if (!safe) {
- BROTLI_UNUSED(BrotliWarmupBitReader(br));
- }
-
- /* Jump into state machine. */
- if (s->state == BROTLI_STATE_COMMAND_BEGIN) {
- goto CommandBegin;
- } else if (s->state == BROTLI_STATE_COMMAND_INNER) {
- goto CommandInner;
- } else if (s->state == BROTLI_STATE_COMMAND_POST_DECODE_LITERALS) {
- goto CommandPostDecodeLiterals;
- } else if (s->state == BROTLI_STATE_COMMAND_POST_WRAP_COPY) {
- goto CommandPostWrapCopy;
- } else {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_UNREACHABLE);
- }
-
-CommandBegin:
- if (safe) {
- s->state = BROTLI_STATE_COMMAND_BEGIN;
- }
- if (!CheckInputAmount(safe, br, 28)) { /* 156 bits + 7 bytes */
- s->state = BROTLI_STATE_COMMAND_BEGIN;
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- goto saveStateAndReturn;
- }
- if (BROTLI_PREDICT_FALSE(s->block_length[1] == 0)) {
- BROTLI_SAFE(DecodeCommandBlockSwitch(s));
- goto CommandBegin;
- }
- /* Read the insert/copy length in the command. */
- BROTLI_SAFE(ReadCommand(s, br, &i));
- BROTLI_LOG(("[ProcessCommandsInternal] pos = %d insert = %d copy = %d\n",
- pos, i, s->copy_length));
- if (i == 0) {
- goto CommandPostDecodeLiterals;
- }
- s->meta_block_remaining_len -= i;
-
-CommandInner:
- if (safe) {
- s->state = BROTLI_STATE_COMMAND_INNER;
- }
- /* Read the literals in the command. */
- if (s->trivial_literal_context) {
- uint32_t bits;
- uint32_t value;
- PreloadSymbol(safe, s->literal_htree, br, &bits, &value);
- do {
- if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */
- s->state = BROTLI_STATE_COMMAND_INNER;
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- goto saveStateAndReturn;
- }
- if (BROTLI_PREDICT_FALSE(s->block_length[0] == 0)) {
- BROTLI_SAFE(DecodeLiteralBlockSwitch(s));
- PreloadSymbol(safe, s->literal_htree, br, &bits, &value);
- if (!s->trivial_literal_context) goto CommandInner;
- }
- if (!safe) {
- s->ringbuffer[pos] =
- (uint8_t)ReadPreloadedSymbol(s->literal_htree, br, &bits, &value);
- } else {
- uint32_t literal;
- if (!SafeReadSymbol(s->literal_htree, br, &literal)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- goto saveStateAndReturn;
- }
- s->ringbuffer[pos] = (uint8_t)literal;
- }
- --s->block_length[0];
- BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos);
- ++pos;
- if (BROTLI_PREDICT_FALSE(pos == s->ringbuffer_size)) {
- s->state = BROTLI_STATE_COMMAND_INNER_WRITE;
- --i;
- goto saveStateAndReturn;
- }
- } while (--i != 0);
- } else {
- uint8_t p1 = s->ringbuffer[(pos - 1) & s->ringbuffer_mask];
- uint8_t p2 = s->ringbuffer[(pos - 2) & s->ringbuffer_mask];
- do {
- const HuffmanCode* hc;
- uint8_t context;
- if (!CheckInputAmount(safe, br, 28)) { /* 162 bits + 7 bytes */
- s->state = BROTLI_STATE_COMMAND_INNER;
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- goto saveStateAndReturn;
- }
- if (BROTLI_PREDICT_FALSE(s->block_length[0] == 0)) {
- BROTLI_SAFE(DecodeLiteralBlockSwitch(s));
- if (s->trivial_literal_context) goto CommandInner;
- }
- context = BROTLI_CONTEXT(p1, p2, s->context_lookup);
- BROTLI_LOG_UINT(context);
- hc = s->literal_hgroup.htrees[s->context_map_slice[context]];
- p2 = p1;
- if (!safe) {
- p1 = (uint8_t)ReadSymbol(hc, br);
- } else {
- uint32_t literal;
- if (!SafeReadSymbol(hc, br, &literal)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- goto saveStateAndReturn;
- }
- p1 = (uint8_t)literal;
- }
- s->ringbuffer[pos] = p1;
- --s->block_length[0];
- BROTLI_LOG_UINT(s->context_map_slice[context]);
- BROTLI_LOG_ARRAY_INDEX(s->ringbuffer, pos & s->ringbuffer_mask);
- ++pos;
- if (BROTLI_PREDICT_FALSE(pos == s->ringbuffer_size)) {
- s->state = BROTLI_STATE_COMMAND_INNER_WRITE;
- --i;
- goto saveStateAndReturn;
- }
- } while (--i != 0);
- }
- BROTLI_LOG_UINT(s->meta_block_remaining_len);
- if (BROTLI_PREDICT_FALSE(s->meta_block_remaining_len <= 0)) {
- s->state = BROTLI_STATE_METABLOCK_DONE;
- goto saveStateAndReturn;
- }
-
-CommandPostDecodeLiterals:
- if (safe) {
- s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS;
- }
- if (s->distance_code >= 0) {
- /* Implicit distance case. */
- s->distance_context = s->distance_code ? 0 : 1;
- --s->dist_rb_idx;
- s->distance_code = s->dist_rb[s->dist_rb_idx & 3];
- } else {
- /* Read distance code in the command, unless it was implicitly zero. */
- if (BROTLI_PREDICT_FALSE(s->block_length[2] == 0)) {
- BROTLI_SAFE(DecodeDistanceBlockSwitch(s));
- }
- BROTLI_SAFE(ReadDistance(s, br));
- }
- BROTLI_LOG(("[ProcessCommandsInternal] pos = %d distance = %d\n",
- pos, s->distance_code));
- if (s->max_distance != s->max_backward_distance) {
- s->max_distance =
- (pos < s->max_backward_distance) ? pos : s->max_backward_distance;
- }
- i = s->copy_length;
- /* Apply copy of LZ77 back-reference, or static dictionary reference if
- the distance is larger than the max LZ77 distance */
- if (s->distance_code > s->max_distance) {
- /* The maximum allowed distance is BROTLI_MAX_ALLOWED_DISTANCE = 0x7FFFFFFC.
- With this choice, no signed overflow can occur after decoding
- a special distance code (e.g., after adding 3 to the last distance). */
- if (s->distance_code > BROTLI_MAX_ALLOWED_DISTANCE) {
- BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d "
- "len: %d bytes left: %d\n",
- pos, s->distance_code, i, s->meta_block_remaining_len));
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_DISTANCE);
- }
- if (i >= BROTLI_MIN_DICTIONARY_WORD_LENGTH &&
- i <= BROTLI_MAX_DICTIONARY_WORD_LENGTH) {
- int address = s->distance_code - s->max_distance - 1;
- const BrotliDictionary* words = s->dictionary;
- const BrotliTransforms* transforms = s->transforms;
- int offset = (int)s->dictionary->offsets_by_length[i];
- uint32_t shift = s->dictionary->size_bits_by_length[i];
-
- int mask = (int)BitMask(shift);
- int word_idx = address & mask;
- int transform_idx = address >> shift;
- /* Compensate double distance-ring-buffer roll. */
- s->dist_rb_idx += s->distance_context;
- offset += word_idx * i;
- if (BROTLI_PREDICT_FALSE(!words->data)) {
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET);
- }
- if (transform_idx < (int)transforms->num_transforms) {
- const uint8_t* word = &words->data[offset];
- int len = i;
- if (transform_idx == transforms->cutOffTransforms[0]) {
- memcpy(&s->ringbuffer[pos], word, (size_t)len);
- BROTLI_LOG(("[ProcessCommandsInternal] dictionary word: [%.*s]\n",
- len, word));
- } else {
- len = BrotliTransformDictionaryWord(&s->ringbuffer[pos], word, len,
- transforms, transform_idx);
- BROTLI_LOG(("[ProcessCommandsInternal] dictionary word: [%.*s],"
- " transform_idx = %d, transformed: [%.*s]\n",
- i, word, transform_idx, len, &s->ringbuffer[pos]));
- }
- pos += len;
- s->meta_block_remaining_len -= len;
- if (pos >= s->ringbuffer_size) {
- s->state = BROTLI_STATE_COMMAND_POST_WRITE_1;
- goto saveStateAndReturn;
- }
- } else {
- BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d "
- "len: %d bytes left: %d\n",
- pos, s->distance_code, i, s->meta_block_remaining_len));
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_TRANSFORM);
- }
- } else {
- BROTLI_LOG(("Invalid backward reference. pos: %d distance: %d "
- "len: %d bytes left: %d\n",
- pos, s->distance_code, i, s->meta_block_remaining_len));
- return BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_DICTIONARY);
- }
- } else {
- int src_start = (pos - s->distance_code) & s->ringbuffer_mask;
- uint8_t* copy_dst = &s->ringbuffer[pos];
- uint8_t* copy_src = &s->ringbuffer[src_start];
- int dst_end = pos + i;
- int src_end = src_start + i;
- /* Update the recent distances cache. */
- s->dist_rb[s->dist_rb_idx & 3] = s->distance_code;
- ++s->dist_rb_idx;
- s->meta_block_remaining_len -= i;
- /* There are 32+ bytes of slack in the ring-buffer allocation.
- Also, we have 16 short codes, that make these 16 bytes irrelevant
- in the ring-buffer. Let's copy over them as a first guess. */
- memmove16(copy_dst, copy_src);
- if (src_end > pos && dst_end > src_start) {
- /* Regions intersect. */
- goto CommandPostWrapCopy;
- }
- if (dst_end >= s->ringbuffer_size || src_end >= s->ringbuffer_size) {
- /* At least one region wraps. */
- goto CommandPostWrapCopy;
- }
- pos += i;
- if (i > 16) {
- if (i > 32) {
- memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16));
- } else {
- /* This branch covers about 45% cases.
- Fixed size short copy allows more compiler optimizations. */
- memmove16(copy_dst + 16, copy_src + 16);
- }
- }
- }
- BROTLI_LOG_UINT(s->meta_block_remaining_len);
- if (s->meta_block_remaining_len <= 0) {
- /* Next metablock, if any. */
- s->state = BROTLI_STATE_METABLOCK_DONE;
- goto saveStateAndReturn;
- } else {
- goto CommandBegin;
- }
-CommandPostWrapCopy:
- {
- int wrap_guard = s->ringbuffer_size - pos;
- while (--i >= 0) {
- s->ringbuffer[pos] =
- s->ringbuffer[(pos - s->distance_code) & s->ringbuffer_mask];
- ++pos;
- if (BROTLI_PREDICT_FALSE(--wrap_guard == 0)) {
- s->state = BROTLI_STATE_COMMAND_POST_WRITE_2;
- goto saveStateAndReturn;
- }
- }
- }
- if (s->meta_block_remaining_len <= 0) {
- /* Next metablock, if any. */
- s->state = BROTLI_STATE_METABLOCK_DONE;
- goto saveStateAndReturn;
- } else {
- goto CommandBegin;
- }
-
-saveStateAndReturn:
- s->pos = pos;
- s->loop_counter = i;
- return result;
-}
-
-#undef BROTLI_SAFE
-
-static BROTLI_NOINLINE BrotliDecoderErrorCode ProcessCommands(
- BrotliDecoderState* s) {
- return ProcessCommandsInternal(0, s);
-}
-
-static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(
- BrotliDecoderState* s) {
- return ProcessCommandsInternal(1, s);
-}
-
-/* Returns the maximum number of distance symbols which can only represent
- distances not exceeding BROTLI_MAX_ALLOWED_DISTANCE. */
-static uint32_t BrotliMaxDistanceSymbol(uint32_t ndirect, uint32_t npostfix) {
- static const uint32_t bound[BROTLI_MAX_NPOSTFIX + 1] = {0, 4, 12, 28};
- static const uint32_t diff[BROTLI_MAX_NPOSTFIX + 1] = {73, 126, 228, 424};
- uint32_t postfix = 1U << npostfix;
- if (ndirect < bound[npostfix]) {
- return ndirect + diff[npostfix] + postfix;
- } else if (ndirect > bound[npostfix] + postfix) {
- return ndirect + diff[npostfix];
- } else {
- return bound[npostfix] + diff[npostfix] + postfix;
- }
-}
-
-BrotliDecoderResult BrotliDecoderDecompress(
- size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,
- uint8_t* decoded_buffer) {
- BrotliDecoderState s;
- BrotliDecoderResult result;
- size_t total_out = 0;
- size_t available_in = encoded_size;
- const uint8_t* next_in = encoded_buffer;
- size_t available_out = *decoded_size;
- uint8_t* next_out = decoded_buffer;
- if (!BrotliDecoderStateInit(&s, 0, 0, 0)) {
- return BROTLI_DECODER_RESULT_ERROR;
- }
- result = BrotliDecoderDecompressStream(
- &s, &available_in, &next_in, &available_out, &next_out, &total_out);
- *decoded_size = total_out;
- BrotliDecoderStateCleanup(&s);
- if (result != BROTLI_DECODER_RESULT_SUCCESS) {
- result = BROTLI_DECODER_RESULT_ERROR;
- }
- return result;
-}
-
-/* Invariant: input stream is never overconsumed:
- - invalid input implies that the whole stream is invalid -> any amount of
- input could be read and discarded
- - when result is "needs more input", then at least one more byte is REQUIRED
- to complete decoding; all input data MUST be consumed by decoder, so
- client could swap the input buffer
- - when result is "needs more output" decoder MUST ensure that it doesn't
- hold more than 7 bits in bit reader; this saves client from swapping input
- buffer ahead of time
- - when result is "success" decoder MUST return all unused data back to input
- buffer; this is possible because the invariant is held on enter */
-BrotliDecoderResult BrotliDecoderDecompressStream(
- BrotliDecoderState* s, size_t* available_in, const uint8_t** next_in,
- size_t* available_out, uint8_t** next_out, size_t* total_out) {
- BrotliDecoderErrorCode result = BROTLI_DECODER_SUCCESS;
- BrotliBitReader* br = &s->br;
- /* Ensure that |total_out| is set, even if no data will ever be pushed out. */
- if (total_out) {
- *total_out = s->partial_pos_out;
- }
- /* Do not try to process further in a case of unrecoverable error. */
- if ((int)s->error_code < 0) {
- return BROTLI_DECODER_RESULT_ERROR;
- }
- if (*available_out && (!next_out || !*next_out)) {
- return SaveErrorCode(
- s, BROTLI_FAILURE(BROTLI_DECODER_ERROR_INVALID_ARGUMENTS));
- }
- if (!*available_out) next_out = 0;
- if (s->buffer_length == 0) { /* Just connect bit reader to input stream. */
- br->avail_in = *available_in;
- br->next_in = *next_in;
- } else {
- /* At least one byte of input is required. More than one byte of input may
- be required to complete the transaction -> reading more data must be
- done in a loop -> do it in a main loop. */
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- br->next_in = &s->buffer.u8[0];
- }
- /* State machine */
- for (;;) {
- if (result != BROTLI_DECODER_SUCCESS) {
- /* Error, needs more input/output. */
- if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) {
- if (s->ringbuffer != 0) { /* Pro-actively push output. */
- BrotliDecoderErrorCode intermediate_result = WriteRingBuffer(s,
- available_out, next_out, total_out, BROTLI_TRUE);
- /* WriteRingBuffer checks s->meta_block_remaining_len validity. */
- if ((int)intermediate_result < 0) {
- result = intermediate_result;
- break;
- }
- }
- if (s->buffer_length != 0) { /* Used with internal buffer. */
- if (br->avail_in == 0) {
- /* Successfully finished read transaction.
- Accumulator contains less than 8 bits, because internal buffer
- is expanded byte-by-byte until it is enough to complete read. */
- s->buffer_length = 0;
- /* Switch to input stream and restart. */
- result = BROTLI_DECODER_SUCCESS;
- br->avail_in = *available_in;
- br->next_in = *next_in;
- continue;
- } else if (*available_in != 0) {
- /* Not enough data in buffer, but can take one more byte from
- input stream. */
- result = BROTLI_DECODER_SUCCESS;
- s->buffer.u8[s->buffer_length] = **next_in;
- s->buffer_length++;
- br->avail_in = s->buffer_length;
- (*next_in)++;
- (*available_in)--;
- /* Retry with more data in buffer. */
- continue;
- }
- /* Can't finish reading and no more input. */
- break;
- } else { /* Input stream doesn't contain enough input. */
- /* Copy tail to internal buffer and return. */
- *next_in = br->next_in;
- *available_in = br->avail_in;
- while (*available_in) {
- s->buffer.u8[s->buffer_length] = **next_in;
- s->buffer_length++;
- (*next_in)++;
- (*available_in)--;
- }
- break;
- }
- /* Unreachable. */
- }
-
- /* Fail or needs more output. */
-
- if (s->buffer_length != 0) {
- /* Just consumed the buffered input and produced some output. Otherwise
- it would result in "needs more input". Reset internal buffer. */
- s->buffer_length = 0;
- } else {
- /* Using input stream in last iteration. When decoder switches to input
- stream it has less than 8 bits in accumulator, so it is safe to
- return unused accumulator bits there. */
- BrotliBitReaderUnload(br);
- *available_in = br->avail_in;
- *next_in = br->next_in;
- }
- break;
- }
- switch (s->state) {
- case BROTLI_STATE_UNINITED:
- /* Prepare to the first read. */
- if (!BrotliWarmupBitReader(br)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- break;
- }
- /* Decode window size. */
- result = DecodeWindowBits(s, br); /* Reads 1..8 bits. */
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- if (s->large_window) {
- s->state = BROTLI_STATE_LARGE_WINDOW_BITS;
- break;
- }
- s->state = BROTLI_STATE_INITIALIZE;
- break;
-
- case BROTLI_STATE_LARGE_WINDOW_BITS:
- if (!BrotliSafeReadBits(br, 6, &s->window_bits)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- break;
- }
- if (s->window_bits < BROTLI_LARGE_MIN_WBITS ||
- s->window_bits > BROTLI_LARGE_MAX_WBITS) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS);
- break;
- }
- s->state = BROTLI_STATE_INITIALIZE;
- /* Fall through. */
-
- case BROTLI_STATE_INITIALIZE:
- BROTLI_LOG_UINT(s->window_bits);
- /* Maximum distance, see section 9.1. of the spec. */
- s->max_backward_distance = (1 << s->window_bits) - BROTLI_WINDOW_GAP;
-
- /* Allocate memory for both block_type_trees and block_len_trees. */
- s->block_type_trees = (HuffmanCode*)BROTLI_DECODER_ALLOC(s,
- sizeof(HuffmanCode) * 3 *
- (BROTLI_HUFFMAN_MAX_SIZE_258 + BROTLI_HUFFMAN_MAX_SIZE_26));
- if (s->block_type_trees == 0) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES);
- break;
- }
- s->block_len_trees =
- s->block_type_trees + 3 * BROTLI_HUFFMAN_MAX_SIZE_258;
-
- s->state = BROTLI_STATE_METABLOCK_BEGIN;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_BEGIN:
- BrotliDecoderStateMetablockBegin(s);
- BROTLI_LOG_UINT(s->pos);
- s->state = BROTLI_STATE_METABLOCK_HEADER;
- /* Fall through. */
-
- case BROTLI_STATE_METABLOCK_HEADER:
- result = DecodeMetaBlockLength(s, br); /* Reads 2 - 31 bits. */
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- BROTLI_LOG_UINT(s->is_last_metablock);
- BROTLI_LOG_UINT(s->meta_block_remaining_len);
- BROTLI_LOG_UINT(s->is_metadata);
- BROTLI_LOG_UINT(s->is_uncompressed);
- if (s->is_metadata || s->is_uncompressed) {
- if (!BrotliJumpToByteBoundary(br)) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_PADDING_1);
- break;
- }
- }
- if (s->is_metadata) {
- s->state = BROTLI_STATE_METADATA;
- break;
- }
- if (s->meta_block_remaining_len == 0) {
- s->state = BROTLI_STATE_METABLOCK_DONE;
- break;
- }
- BrotliCalculateRingBufferSize(s);
- if (s->is_uncompressed) {
- s->state = BROTLI_STATE_UNCOMPRESSED;
- break;
- }
- s->loop_counter = 0;
- s->state = BROTLI_STATE_HUFFMAN_CODE_0;
- break;
-
- case BROTLI_STATE_UNCOMPRESSED: {
- result = CopyUncompressedBlockToOutput(
- available_out, next_out, total_out, s);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- s->state = BROTLI_STATE_METABLOCK_DONE;
- break;
- }
-
- case BROTLI_STATE_METADATA:
- for (; s->meta_block_remaining_len > 0; --s->meta_block_remaining_len) {
- uint32_t bits;
- /* Read one byte and ignore it. */
- if (!BrotliSafeReadBits(br, 8, &bits)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- break;
- }
- }
- if (result == BROTLI_DECODER_SUCCESS) {
- s->state = BROTLI_STATE_METABLOCK_DONE;
- }
- break;
-
- case BROTLI_STATE_HUFFMAN_CODE_0:
- if (s->loop_counter >= 3) {
- s->state = BROTLI_STATE_METABLOCK_HEADER_2;
- break;
- }
- /* Reads 1..11 bits. */
- result = DecodeVarLenUint8(s, br, &s->num_block_types[s->loop_counter]);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- s->num_block_types[s->loop_counter]++;
- BROTLI_LOG_UINT(s->num_block_types[s->loop_counter]);
- if (s->num_block_types[s->loop_counter] < 2) {
- s->loop_counter++;
- break;
- }
- s->state = BROTLI_STATE_HUFFMAN_CODE_1;
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_CODE_1: {
- uint32_t alphabet_size = s->num_block_types[s->loop_counter] + 2;
- int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_258;
- result = ReadHuffmanCode(alphabet_size, alphabet_size,
- &s->block_type_trees[tree_offset], NULL, s);
- if (result != BROTLI_DECODER_SUCCESS) break;
- s->state = BROTLI_STATE_HUFFMAN_CODE_2;
- }
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_CODE_2: {
- uint32_t alphabet_size = BROTLI_NUM_BLOCK_LEN_SYMBOLS;
- int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_26;
- result = ReadHuffmanCode(alphabet_size, alphabet_size,
- &s->block_len_trees[tree_offset], NULL, s);
- if (result != BROTLI_DECODER_SUCCESS) break;
- s->state = BROTLI_STATE_HUFFMAN_CODE_3;
- }
- /* Fall through. */
-
- case BROTLI_STATE_HUFFMAN_CODE_3: {
- int tree_offset = s->loop_counter * BROTLI_HUFFMAN_MAX_SIZE_26;
- if (!SafeReadBlockLength(s, &s->block_length[s->loop_counter],
- &s->block_len_trees[tree_offset], br)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- break;
- }
- BROTLI_LOG_UINT(s->block_length[s->loop_counter]);
- s->loop_counter++;
- s->state = BROTLI_STATE_HUFFMAN_CODE_0;
- break;
- }
-
- case BROTLI_STATE_METABLOCK_HEADER_2: {
- uint32_t bits;
- if (!BrotliSafeReadBits(br, 6, &bits)) {
- result = BROTLI_DECODER_NEEDS_MORE_INPUT;
- break;
- }
- s->distance_postfix_bits = bits & BitMask(2);
- bits >>= 2;
- s->num_direct_distance_codes = BROTLI_NUM_DISTANCE_SHORT_CODES +
- (bits << s->distance_postfix_bits);
- BROTLI_LOG_UINT(s->num_direct_distance_codes);
- BROTLI_LOG_UINT(s->distance_postfix_bits);
- s->distance_postfix_mask = (int)BitMask(s->distance_postfix_bits);
- s->context_modes =
- (uint8_t*)BROTLI_DECODER_ALLOC(s, (size_t)s->num_block_types[0]);
- if (s->context_modes == 0) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES);
- break;
- }
- s->loop_counter = 0;
- s->state = BROTLI_STATE_CONTEXT_MODES;
- }
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MODES:
- result = ReadContextModes(s);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- s->state = BROTLI_STATE_CONTEXT_MAP_1;
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MAP_1:
- result = DecodeContextMap(
- s->num_block_types[0] << BROTLI_LITERAL_CONTEXT_BITS,
- &s->num_literal_htrees, &s->context_map, s);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- DetectTrivialLiteralBlockTypes(s);
- s->state = BROTLI_STATE_CONTEXT_MAP_2;
- /* Fall through. */
-
- case BROTLI_STATE_CONTEXT_MAP_2: {
- uint32_t num_direct_codes =
- s->num_direct_distance_codes - BROTLI_NUM_DISTANCE_SHORT_CODES;
- uint32_t num_distance_codes = BROTLI_DISTANCE_ALPHABET_SIZE(
- s->distance_postfix_bits, num_direct_codes,
- (s->large_window ? BROTLI_LARGE_MAX_DISTANCE_BITS :
- BROTLI_MAX_DISTANCE_BITS));
- uint32_t max_distance_symbol = (s->large_window ?
- BrotliMaxDistanceSymbol(
- num_direct_codes, s->distance_postfix_bits) :
- num_distance_codes);
- BROTLI_BOOL allocation_success = BROTLI_TRUE;
- result = DecodeContextMap(
- s->num_block_types[2] << BROTLI_DISTANCE_CONTEXT_BITS,
- &s->num_dist_htrees, &s->dist_context_map, s);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- allocation_success &= BrotliDecoderHuffmanTreeGroupInit(
- s, &s->literal_hgroup, BROTLI_NUM_LITERAL_SYMBOLS,
- BROTLI_NUM_LITERAL_SYMBOLS, s->num_literal_htrees);
- allocation_success &= BrotliDecoderHuffmanTreeGroupInit(
- s, &s->insert_copy_hgroup, BROTLI_NUM_COMMAND_SYMBOLS,
- BROTLI_NUM_COMMAND_SYMBOLS, s->num_block_types[1]);
- allocation_success &= BrotliDecoderHuffmanTreeGroupInit(
- s, &s->distance_hgroup, num_distance_codes,
- max_distance_symbol, s->num_dist_htrees);
- if (!allocation_success) {
- return SaveErrorCode(s,
- BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS));
- }
- s->loop_counter = 0;
- s->state = BROTLI_STATE_TREE_GROUP;
- }
- /* Fall through. */
-
- case BROTLI_STATE_TREE_GROUP: {
- HuffmanTreeGroup* hgroup = NULL;
- switch (s->loop_counter) {
- case 0: hgroup = &s->literal_hgroup; break;
- case 1: hgroup = &s->insert_copy_hgroup; break;
- case 2: hgroup = &s->distance_hgroup; break;
- default: return SaveErrorCode(s, BROTLI_FAILURE(
- BROTLI_DECODER_ERROR_UNREACHABLE));
- }
- result = HuffmanTreeGroupDecode(hgroup, s);
- if (result != BROTLI_DECODER_SUCCESS) break;
- s->loop_counter++;
- if (s->loop_counter >= 3) {
- PrepareLiteralDecoding(s);
- s->dist_context_map_slice = s->dist_context_map;
- s->htree_command = s->insert_copy_hgroup.htrees[0];
- if (!BrotliEnsureRingBuffer(s)) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2);
- break;
- }
- s->state = BROTLI_STATE_COMMAND_BEGIN;
- }
- break;
- }
-
- case BROTLI_STATE_COMMAND_BEGIN:
- /* Fall through. */
- case BROTLI_STATE_COMMAND_INNER:
- /* Fall through. */
- case BROTLI_STATE_COMMAND_POST_DECODE_LITERALS:
- /* Fall through. */
- case BROTLI_STATE_COMMAND_POST_WRAP_COPY:
- result = ProcessCommands(s);
- if (result == BROTLI_DECODER_NEEDS_MORE_INPUT) {
- result = SafeProcessCommands(s);
- }
- break;
-
- case BROTLI_STATE_COMMAND_INNER_WRITE:
- /* Fall through. */
- case BROTLI_STATE_COMMAND_POST_WRITE_1:
- /* Fall through. */
- case BROTLI_STATE_COMMAND_POST_WRITE_2:
- result = WriteRingBuffer(
- s, available_out, next_out, total_out, BROTLI_FALSE);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- WrapRingBuffer(s);
- if (s->ringbuffer_size == 1 << s->window_bits) {
- s->max_distance = s->max_backward_distance;
- }
- if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_1) {
- if (s->meta_block_remaining_len == 0) {
- /* Next metablock, if any. */
- s->state = BROTLI_STATE_METABLOCK_DONE;
- } else {
- s->state = BROTLI_STATE_COMMAND_BEGIN;
- }
- break;
- } else if (s->state == BROTLI_STATE_COMMAND_POST_WRITE_2) {
- s->state = BROTLI_STATE_COMMAND_POST_WRAP_COPY;
- } else { /* BROTLI_STATE_COMMAND_INNER_WRITE */
- if (s->loop_counter == 0) {
- if (s->meta_block_remaining_len == 0) {
- s->state = BROTLI_STATE_METABLOCK_DONE;
- } else {
- s->state = BROTLI_STATE_COMMAND_POST_DECODE_LITERALS;
- }
- break;
- }
- s->state = BROTLI_STATE_COMMAND_INNER;
- }
- break;
-
- case BROTLI_STATE_METABLOCK_DONE:
- if (s->meta_block_remaining_len < 0) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2);
- break;
- }
- BrotliDecoderStateCleanupAfterMetablock(s);
- if (!s->is_last_metablock) {
- s->state = BROTLI_STATE_METABLOCK_BEGIN;
- break;
- }
- if (!BrotliJumpToByteBoundary(br)) {
- result = BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_PADDING_2);
- break;
- }
- if (s->buffer_length == 0) {
- BrotliBitReaderUnload(br);
- *available_in = br->avail_in;
- *next_in = br->next_in;
- }
- s->state = BROTLI_STATE_DONE;
- /* Fall through. */
-
- case BROTLI_STATE_DONE:
- if (s->ringbuffer != 0) {
- result = WriteRingBuffer(
- s, available_out, next_out, total_out, BROTLI_TRUE);
- if (result != BROTLI_DECODER_SUCCESS) {
- break;
- }
- }
- return SaveErrorCode(s, result);
- }
- }
- return SaveErrorCode(s, result);
-}
-
-BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s) {
- /* After unrecoverable error remaining output is considered nonsensical. */
- if ((int)s->error_code < 0) {
- return BROTLI_FALSE;
- }
- return TO_BROTLI_BOOL(
- s->ringbuffer != 0 && UnwrittenBytes(s, BROTLI_FALSE) != 0);
-}
-
-const uint8_t* BrotliDecoderTakeOutput(BrotliDecoderState* s, size_t* size) {
- uint8_t* result = 0;
- size_t available_out = *size ? *size : 1u << 24;
- size_t requested_out = available_out;
- BrotliDecoderErrorCode status;
- if ((s->ringbuffer == 0) || ((int)s->error_code < 0)) {
- *size = 0;
- return 0;
- }
- WrapRingBuffer(s);
- status = WriteRingBuffer(s, &available_out, &result, 0, BROTLI_TRUE);
- /* Either WriteRingBuffer returns those "success" codes... */
- if (status == BROTLI_DECODER_SUCCESS ||
- status == BROTLI_DECODER_NEEDS_MORE_OUTPUT) {
- *size = requested_out - available_out;
- } else {
- /* ... or stream is broken. Normally this should be caught by
- BrotliDecoderDecompressStream, this is just a safeguard. */
- if ((int)status < 0) SaveErrorCode(s, status);
- *size = 0;
- result = 0;
- }
- return result;
-}
-
-BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* s) {
- return TO_BROTLI_BOOL(s->state != BROTLI_STATE_UNINITED ||
- BrotliGetAvailableBits(&s->br) != 0);
-}
-
-BROTLI_BOOL BrotliDecoderIsFinished(const BrotliDecoderState* s) {
- return TO_BROTLI_BOOL(s->state == BROTLI_STATE_DONE) &&
- !BrotliDecoderHasMoreOutput(s);
-}
-
-BrotliDecoderErrorCode BrotliDecoderGetErrorCode(const BrotliDecoderState* s) {
- return (BrotliDecoderErrorCode)s->error_code;
-}
-
-const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c) {
- switch (c) {
-#define BROTLI_ERROR_CODE_CASE_(PREFIX, NAME, CODE) \
- case BROTLI_DECODER ## PREFIX ## NAME: return #NAME;
-#define BROTLI_NOTHING_
- BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE_CASE_, BROTLI_NOTHING_)
-#undef BROTLI_ERROR_CODE_CASE_
-#undef BROTLI_NOTHING_
- default: return "INVALID";
- }
-}
-
-uint32_t BrotliDecoderVersion() {
- return BROTLI_VERSION;
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.c
deleted file mode 100644
index bf20109e07d5..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Utilities for building Huffman decoding tables. */
-
-#include "./huffman.h"
-
-//#include <string.h> /* memcpy, memset */
-
-#include "../common/constants.h"
-#include "../common/platform.h"
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-#define BROTLI_REVERSE_BITS_MAX 8
-
-#if defined(BROTLI_RBIT)
-#define BROTLI_REVERSE_BITS_BASE \
- ((sizeof(brotli_reg_t) << 3) - BROTLI_REVERSE_BITS_MAX)
-#else
-#define BROTLI_REVERSE_BITS_BASE 0
-static uint8_t kReverseBits[1 << BROTLI_REVERSE_BITS_MAX] = {
- 0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
- 0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
- 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
- 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8,
- 0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4,
- 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
- 0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC,
- 0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC,
- 0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
- 0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2,
- 0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA,
- 0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
- 0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6,
- 0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6,
- 0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
- 0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE,
- 0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1,
- 0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
- 0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9,
- 0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9,
- 0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
- 0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5,
- 0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED,
- 0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
- 0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3,
- 0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3,
- 0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
- 0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB,
- 0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7,
- 0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
- 0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
- 0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF
-};
-#endif /* BROTLI_RBIT */
-
-#define BROTLI_REVERSE_BITS_LOWEST \
- ((brotli_reg_t)1 << (BROTLI_REVERSE_BITS_MAX - 1 + BROTLI_REVERSE_BITS_BASE))
-
-/* Returns reverse(num >> BROTLI_REVERSE_BITS_BASE, BROTLI_REVERSE_BITS_MAX),
- where reverse(value, len) is the bit-wise reversal of the len least
- significant bits of value. */
-static BROTLI_INLINE brotli_reg_t BrotliReverseBits(brotli_reg_t num) {
-#if defined(BROTLI_RBIT)
- return BROTLI_RBIT(num);
-#else
- return kReverseBits[num];
-#endif
-}
-
-/* Stores code in table[0], table[step], table[2*step], ..., table[end] */
-/* Assumes that end is an integer multiple of step */
-static BROTLI_INLINE void ReplicateValue(HuffmanCode* table,
- int step, int end,
- HuffmanCode code) {
- do {
- end -= step;
- table[end] = code;
- } while (end > 0);
-}
-
-/* Returns the table width of the next 2nd level table. |count| is the histogram
- of bit lengths for the remaining symbols, |len| is the code length of the
- next processed symbol. */
-static BROTLI_INLINE int NextTableBitSize(const uint16_t* const count,
- int len, int root_bits) {
- int left = 1 << (len - root_bits);
- while (len < BROTLI_HUFFMAN_MAX_CODE_LENGTH) {
- left -= count[len];
- if (left <= 0) break;
- ++len;
- left <<= 1;
- }
- return len - root_bits;
-}
-
-void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* table,
- const uint8_t* const code_lengths,
- uint16_t* count) {
- HuffmanCode code; /* current table entry */
- int symbol; /* symbol index in original or sorted table */
- brotli_reg_t key; /* prefix code */
- brotli_reg_t key_step; /* prefix code addend */
- int step; /* step size to replicate values in current table */
- int table_size; /* size of current table */
- int sorted[BROTLI_CODE_LENGTH_CODES]; /* symbols sorted by code length */
- /* offsets in sorted table for each length */
- int offset[BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH + 1];
- int bits;
- int bits_count;
- BROTLI_DCHECK(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH <=
- BROTLI_REVERSE_BITS_MAX);
-
- /* Generate offsets into sorted symbol table by code length. */
- symbol = -1;
- bits = 1;
- BROTLI_REPEAT(BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH, {
- symbol += count[bits];
- offset[bits] = symbol;
- bits++;
- });
- /* Symbols with code length 0 are placed after all other symbols. */
- offset[0] = BROTLI_CODE_LENGTH_CODES - 1;
-
- /* Sort symbols by length, by symbol order within each length. */
- symbol = BROTLI_CODE_LENGTH_CODES;
- do {
- BROTLI_REPEAT(6, {
- symbol--;
- sorted[offset[code_lengths[symbol]]--] = symbol;
- });
- } while (symbol != 0);
-
- table_size = 1 << BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH;
-
- /* Special case: all symbols but one have 0 code length. */
- if (offset[0] == 0) {
- code.bits = 0;
- code.value = (uint16_t)sorted[0];
- for (key = 0; key < (brotli_reg_t)table_size; ++key) {
- table[key] = code;
- }
- return;
- }
-
- /* Fill in table. */
- key = 0;
- key_step = BROTLI_REVERSE_BITS_LOWEST;
- symbol = 0;
- bits = 1;
- step = 2;
- do {
- code.bits = (uint8_t)bits;
- for (bits_count = count[bits]; bits_count != 0; --bits_count) {
- code.value = (uint16_t)sorted[symbol++];
- ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code);
- key += key_step;
- }
- step <<= 1;
- key_step >>= 1;
- } while (++bits <= BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH);
-}
-
-uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table,
- int root_bits,
- const uint16_t* const symbol_lists,
- uint16_t* count) {
- HuffmanCode code; /* current table entry */
- HuffmanCode* table; /* next available space in table */
- int len; /* current code length */
- int symbol; /* symbol index in original or sorted table */
- brotli_reg_t key; /* prefix code */
- brotli_reg_t key_step; /* prefix code addend */
- brotli_reg_t sub_key; /* 2nd level table prefix code */
- brotli_reg_t sub_key_step; /* 2nd level table prefix code addend */
- int step; /* step size to replicate values in current table */
- int table_bits; /* key length of current table */
- int table_size; /* size of current table */
- int total_size; /* sum of root table size and 2nd level table sizes */
- int max_length = -1;
- int bits;
- int bits_count;
-
- BROTLI_DCHECK(root_bits <= BROTLI_REVERSE_BITS_MAX);
- BROTLI_DCHECK(BROTLI_HUFFMAN_MAX_CODE_LENGTH - root_bits <=
- BROTLI_REVERSE_BITS_MAX);
-
- while (symbol_lists[max_length] == 0xFFFF) max_length--;
- max_length += BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1;
-
- table = root_table;
- table_bits = root_bits;
- table_size = 1 << table_bits;
- total_size = table_size;
-
- /* Fill in the root table. Reduce the table size to if possible,
- and create the repetitions by memcpy. */
- if (table_bits > max_length) {
- table_bits = max_length;
- table_size = 1 << table_bits;
- }
- key = 0;
- key_step = BROTLI_REVERSE_BITS_LOWEST;
- bits = 1;
- step = 2;
- do {
- code.bits = (uint8_t)bits;
- symbol = bits - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1);
- for (bits_count = count[bits]; bits_count != 0; --bits_count) {
- symbol = symbol_lists[symbol];
- code.value = (uint16_t)symbol;
- ReplicateValue(&table[BrotliReverseBits(key)], step, table_size, code);
- key += key_step;
- }
- step <<= 1;
- key_step >>= 1;
- } while (++bits <= table_bits);
-
- /* If root_bits != table_bits then replicate to fill the remaining slots. */
- while (total_size != table_size) {
- memcpy(&table[table_size], &table[0],
- (size_t)table_size * sizeof(table[0]));
- table_size <<= 1;
- }
-
- /* Fill in 2nd level tables and add pointers to root table. */
- key_step = BROTLI_REVERSE_BITS_LOWEST >> (root_bits - 1);
- sub_key = (BROTLI_REVERSE_BITS_LOWEST << 1);
- sub_key_step = BROTLI_REVERSE_BITS_LOWEST;
- for (len = root_bits + 1, step = 2; len <= max_length; ++len) {
- symbol = len - (BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1);
- for (; count[len] != 0; --count[len]) {
- if (sub_key == (BROTLI_REVERSE_BITS_LOWEST << 1U)) {
- table += table_size;
- table_bits = NextTableBitSize(count, len, root_bits);
- table_size = 1 << table_bits;
- total_size += table_size;
- sub_key = BrotliReverseBits(key);
- key += key_step;
- root_table[sub_key].bits = (uint8_t)(table_bits + root_bits);
- root_table[sub_key].value =
- (uint16_t)(((size_t)(table - root_table)) - sub_key);
- sub_key = 0;
- }
- code.bits = (uint8_t)(len - root_bits);
- symbol = symbol_lists[symbol];
- code.value = (uint16_t)symbol;
- ReplicateValue(
- &table[BrotliReverseBits(sub_key)], step, table_size, code);
- sub_key += sub_key_step;
- }
- step <<= 1;
- sub_key_step >>= 1;
- }
- return (uint32_t)total_size;
-}
-
-uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table,
- int root_bits,
- uint16_t* val,
- uint32_t num_symbols) {
- uint32_t table_size = 1;
- const uint32_t goal_size = 1U << root_bits;
- switch (num_symbols) {
- case 0:
- table[0].bits = 0;
- table[0].value = val[0];
- break;
- case 1:
- table[0].bits = 1;
- table[1].bits = 1;
- if (val[1] > val[0]) {
- table[0].value = val[0];
- table[1].value = val[1];
- } else {
- table[0].value = val[1];
- table[1].value = val[0];
- }
- table_size = 2;
- break;
- case 2:
- table[0].bits = 1;
- table[0].value = val[0];
- table[2].bits = 1;
- table[2].value = val[0];
- if (val[2] > val[1]) {
- table[1].value = val[1];
- table[3].value = val[2];
- } else {
- table[1].value = val[2];
- table[3].value = val[1];
- }
- table[1].bits = 2;
- table[3].bits = 2;
- table_size = 4;
- break;
- case 3: {
- int i, k;
- for (i = 0; i < 3; ++i) {
- for (k = i + 1; k < 4; ++k) {
- if (val[k] < val[i]) {
- uint16_t t = val[k];
- val[k] = val[i];
- val[i] = t;
- }
- }
- }
- for (i = 0; i < 4; ++i) {
- table[i].bits = 2;
- }
- table[0].value = val[0];
- table[2].value = val[1];
- table[1].value = val[2];
- table[3].value = val[3];
- table_size = 4;
- break;
- }
- case 4: {
- int i;
- if (val[3] < val[2]) {
- uint16_t t = val[3];
- val[3] = val[2];
- val[2] = t;
- }
- for (i = 0; i < 7; ++i) {
- table[i].value = val[0];
- table[i].bits = (uint8_t)(1 + (i & 1));
- }
- table[1].value = val[1];
- table[3].value = val[2];
- table[5].value = val[1];
- table[7].value = val[3];
- table[3].bits = 3;
- table[7].bits = 3;
- table_size = 8;
- break;
- }
- }
- while (table_size != goal_size) {
- memcpy(&table[table_size], &table[0],
- (size_t)table_size * sizeof(table[0]));
- table_size <<= 1;
- }
- return goal_size;
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.c b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.c
deleted file mode 100644
index f4179ae9fd70..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-#include "./state.h"
-
-//#include <stdlib.h> /* free, malloc */
-
-#include <brotli/types.h>
-#include "./huffman.h"
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-BROTLI_BOOL BrotliDecoderStateInit(BrotliDecoderState* s,
- brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque) {
- if (!alloc_func) {
- s->alloc_func = BrotliDefaultAllocFunc;
- s->free_func = BrotliDefaultFreeFunc;
- s->memory_manager_opaque = 0;
- } else {
- s->alloc_func = alloc_func;
- s->free_func = free_func;
- s->memory_manager_opaque = opaque;
- }
-
- s->error_code = 0; /* BROTLI_DECODER_NO_ERROR */
-
- BrotliInitBitReader(&s->br);
- s->state = BROTLI_STATE_UNINITED;
- s->large_window = 0;
- s->substate_metablock_header = BROTLI_STATE_METABLOCK_HEADER_NONE;
- s->substate_tree_group = BROTLI_STATE_TREE_GROUP_NONE;
- s->substate_context_map = BROTLI_STATE_CONTEXT_MAP_NONE;
- s->substate_uncompressed = BROTLI_STATE_UNCOMPRESSED_NONE;
- s->substate_huffman = BROTLI_STATE_HUFFMAN_NONE;
- s->substate_decode_uint8 = BROTLI_STATE_DECODE_UINT8_NONE;
- s->substate_read_block_length = BROTLI_STATE_READ_BLOCK_LENGTH_NONE;
-
- s->buffer_length = 0;
- s->loop_counter = 0;
- s->pos = 0;
- s->rb_roundtrips = 0;
- s->partial_pos_out = 0;
-
- s->block_type_trees = NULL;
- s->block_len_trees = NULL;
- s->ringbuffer = NULL;
- s->ringbuffer_size = 0;
- s->new_ringbuffer_size = 0;
- s->ringbuffer_mask = 0;
-
- s->context_map = NULL;
- s->context_modes = NULL;
- s->dist_context_map = NULL;
- s->context_map_slice = NULL;
- s->dist_context_map_slice = NULL;
-
- s->sub_loop_counter = 0;
-
- s->literal_hgroup.codes = NULL;
- s->literal_hgroup.htrees = NULL;
- s->insert_copy_hgroup.codes = NULL;
- s->insert_copy_hgroup.htrees = NULL;
- s->distance_hgroup.codes = NULL;
- s->distance_hgroup.htrees = NULL;
-
- s->is_last_metablock = 0;
- s->is_uncompressed = 0;
- s->is_metadata = 0;
- s->should_wrap_ringbuffer = 0;
- s->canny_ringbuffer_allocation = 1;
-
- s->window_bits = 0;
- s->max_distance = 0;
- s->dist_rb[0] = 16;
- s->dist_rb[1] = 15;
- s->dist_rb[2] = 11;
- s->dist_rb[3] = 4;
- s->dist_rb_idx = 0;
- s->block_type_trees = NULL;
- s->block_len_trees = NULL;
-
- /* Make small negative indexes addressable. */
- s->symbol_lists = &s->symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1];
-
- s->mtf_upper_bound = 63;
-
- s->dictionary = BrotliGetDictionary();
- s->transforms = BrotliGetTransforms();
-
- return BROTLI_TRUE;
-}
-
-void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s) {
- s->meta_block_remaining_len = 0;
- s->block_length[0] = 1U << 24;
- s->block_length[1] = 1U << 24;
- s->block_length[2] = 1U << 24;
- s->num_block_types[0] = 1;
- s->num_block_types[1] = 1;
- s->num_block_types[2] = 1;
- s->block_type_rb[0] = 1;
- s->block_type_rb[1] = 0;
- s->block_type_rb[2] = 1;
- s->block_type_rb[3] = 0;
- s->block_type_rb[4] = 1;
- s->block_type_rb[5] = 0;
- s->context_map = NULL;
- s->context_modes = NULL;
- s->dist_context_map = NULL;
- s->context_map_slice = NULL;
- s->literal_htree = NULL;
- s->dist_context_map_slice = NULL;
- s->dist_htree_index = 0;
- s->context_lookup = NULL;
- s->literal_hgroup.codes = NULL;
- s->literal_hgroup.htrees = NULL;
- s->insert_copy_hgroup.codes = NULL;
- s->insert_copy_hgroup.htrees = NULL;
- s->distance_hgroup.codes = NULL;
- s->distance_hgroup.htrees = NULL;
-}
-
-void BrotliDecoderStateCleanupAfterMetablock(BrotliDecoderState* s) {
- BROTLI_DECODER_FREE(s, s->context_modes);
- BROTLI_DECODER_FREE(s, s->context_map);
- BROTLI_DECODER_FREE(s, s->dist_context_map);
- BROTLI_DECODER_FREE(s, s->literal_hgroup.htrees);
- BROTLI_DECODER_FREE(s, s->insert_copy_hgroup.htrees);
- BROTLI_DECODER_FREE(s, s->distance_hgroup.htrees);
-}
-
-void BrotliDecoderStateCleanup(BrotliDecoderState* s) {
- BrotliDecoderStateCleanupAfterMetablock(s);
-
- BROTLI_DECODER_FREE(s, s->ringbuffer);
- BROTLI_DECODER_FREE(s, s->block_type_trees);
-}
-
-BROTLI_BOOL BrotliDecoderHuffmanTreeGroupInit(BrotliDecoderState* s,
- HuffmanTreeGroup* group, uint32_t alphabet_size, uint32_t max_symbol,
- uint32_t ntrees) {
- /* Pack two allocations into one */
- const size_t max_table_size = kMaxHuffmanTableSize[(alphabet_size + 31) >> 5];
- const size_t code_size = sizeof(HuffmanCode) * ntrees * max_table_size;
- const size_t htree_size = sizeof(HuffmanCode*) * ntrees;
- /* Pointer alignment is, hopefully, wider than sizeof(HuffmanCode). */
- HuffmanCode** p = (HuffmanCode**)BROTLI_DECODER_ALLOC(s,
- code_size + htree_size);
- group->alphabet_size = (uint16_t)alphabet_size;
- group->max_symbol = (uint16_t)max_symbol;
- group->num_htrees = (uint16_t)ntrees;
- group->htrees = p;
- group->codes = (HuffmanCode*)(&p[ntrees]);
- return !!p;
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
diff --git a/.gitmodules b/.gitmodules
index b30f5bf136bc..8032dceecacc 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -7,3 +7,6 @@
[submodule "UnitTestFrameworkPkg/Library/CmockaLib/cmocka"]
path = UnitTestFrameworkPkg/Library/CmockaLib/cmocka
url = https://git.cryptomilk.org/projects/cmocka.git
+[submodule "MdeModulePkg/Library/BrotliCustomDecompressLib/brotli"]
+ path = MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
+ url = https://github.com/google/brotli
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompressLib.inf b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompressLib.inf
index 3ba2cb9c3f7d..370a87910b50 100644
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompressLib.inf
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliCustomDecompressLib.inf
@@ -4,7 +4,7 @@
# It is based on the Brotli v0.5.2.
# Brotli was released on the website https://github.com/google/brotli.
#
-# Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2017 - 2020, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -29,27 +29,29 @@ [Defines]
[Sources]
GuidedSectionExtraction.c
+ BrotliDecUefiSupport.c
+ BrotliDecUefiSupport.h
BrotliDecompress.c
BrotliDecompressLibInternal.h
- common/dictionary.c
- common/transform.c
- dec/bit_reader.c
- dec/decode.c
- dec/huffman.c
- dec/state.c
- brotli/decode.h
- brotli/port.h
- brotli/types.h
- common/constants.h
- common/context.h
- common/dictionary.h
- common/platform.h
- common/transform.h
- common/version.h
- dec/bit_reader.h
- dec/huffman.h
- dec/state.h
- dec/prefix.h
+ brotli/c/common/dictionary.c
+ brotli/c/common/transform.c
+ brotli/c/dec/bit_reader.c
+ brotli/c/dec/decode.c
+ brotli/c/dec/huffman.c
+ brotli/c/dec/state.c
+ brotli/c/include/brotli/decode.h
+ brotli/c/include/brotli/port.h
+ brotli/c/include/brotli/types.h
+ brotli/c/common/constants.h
+ brotli/c/common/context.h
+ brotli/c/common/dictionary.h
+ brotli/c/common/platform.h
+ brotli/c/common/transform.h
+ brotli/c/common/version.h
+ brotli/c/dec/bit_reader.h
+ brotli/c/dec/huffman.h
+ brotli/c/dec/state.h
+ brotli/c/dec/prefix.h
[Packages]
MdePkg/MdePkg.dec
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.h
new file mode 100644
index 000000000000..9f84347670a5
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecUefiSupport.h
@@ -0,0 +1,43 @@
+/** @file
+ BROTLI UEFI header file for definitions
+
+ Allows BROTLI code to build under UEFI (edk2) build environment
+
+ Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __BROTLI_DECOMPRESS_UEFI_SUP_H__
+#define __BROTLI_DECOMPRESS_UEFI_SUP_H__
+
+#include <Library/BaseLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#define memcpy CopyMem
+#define memmove CopyMem
+#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))
+#define malloc BrDummyMalloc
+#define free BrDummyFree
+
+typedef INT8 int8_t;
+typedef INT16 int16_t;
+typedef INT32 int32_t;
+typedef INT64 int64_t;
+typedef UINT8 uint8_t;
+typedef UINT16 uint16_t;
+typedef UINT32 uint32_t;
+typedef UINT64 uint64_t;
+typedef UINTN size_t;
+
+VOID *
+BrDummyMalloc (
+ IN size_t Size
+ );
+
+VOID
+BrDummyFree (
+ IN VOID * Ptr
+ );
+
+#endif
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInternal.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInternal.h
index 8e581cbcae51..8f91829a0e2e 100644
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInternal.h
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/BrotliDecompressLibInternal.h
@@ -3,7 +3,7 @@
Allows BROTLI code to build under UEFI (edk2) build environment
- Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2017 - 2020, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -12,12 +12,9 @@
#define __BROTLI_DECOMPRESS_INTERNAL_H__
#include <PiPei.h>
-#include <Library/BaseLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
#include <Library/ExtractGuidedSectionLib.h>
-#include <brotli/types.h>
-#include <brotli/decode.h>
+#include <brotli/c/include/brotli/types.h>
+#include <brotli/c/include/brotli/decode.h>
typedef struct
{
@@ -30,20 +27,6 @@ typedef struct
#define BROTLI_DECODE_MAX 8
#define BROTLI_SCRATCH_MAX 16
-#define memcpy CopyMem
-#define memmove CopyMem
-#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))
-
-VOID *
-BrDummyMalloc (
- IN size_t Size
- );
-
-VOID
-BrDummyFree (
- IN VOID * Ptr
- );
-
EFI_STATUS
EFIAPI
BrotliUefiDecompressGetInfo (
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE b/MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE
deleted file mode 100644
index 49550fc2d06e..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/README.md b/MdeModulePkg/Library/BrotliCustomDecompressLib/README.md
deleted file mode 100644
index 01848adc170a..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-### Introduction
-
-Brotli is a generic-purpose lossless compression algorithm that compresses data
-using a combination of a modern variant of the LZ77 algorithm, Huffman coding
-and 2nd order context modeling, with a compression ratio comparable to the best
-currently available general-purpose compression methods. It is similar in speed
-with deflate but offers more dense compression.
-
-The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://www.ietf.org/rfc/rfc7932.txt).
-
-Brotli is open-sourced under the MIT License, see the LICENSE file.
-
-Brotli mailing list:
-https://groups.google.com/forum/#!forum/brotli
-
-[![Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)
-
-### Benchmarks
-* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)
-* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)
-* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)
-
-### Related projects
-Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.
-
-JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/ReadMe.txt b/MdeModulePkg/Library/BrotliCustomDecompressLib/ReadMe.txt
deleted file mode 100644
index 399ec38d4081..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/ReadMe.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-It is based on the Brotli v1.0.6.
-Brotli was released on the website https://github.com/google/brotli.
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli b/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
new file mode 160000
index 000000000000..666c3280cc11
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
@@ -0,0 +1 @@
+Subproject commit 666c3280cc11dc433c303d79a83d4ffbdd12cc8d
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/decode.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/decode.h
deleted file mode 100644
index 2cd17250d9d8..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/decode.h
+++ /dev/null
@@ -1,344 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/**
- * @file
- * API for Brotli decompression.
- */
-
-#ifndef BROTLI_DEC_DECODE_H_
-#define BROTLI_DEC_DECODE_H_
-
-#include <brotli/port.h>
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-/**
- * Opaque structure that holds decoder state.
- *
- * Allocated and initialized with ::BrotliDecoderCreateInstance.
- * Cleaned up and deallocated with ::BrotliDecoderDestroyInstance.
- */
-typedef struct BrotliDecoderStateStruct BrotliDecoderState;
-
-/**
- * Result type for ::BrotliDecoderDecompress and
- * ::BrotliDecoderDecompressStream functions.
- */
-typedef enum {
- /** Decoding error, e.g. corrupted input or memory allocation problem. */
- BROTLI_DECODER_RESULT_ERROR = 0,
- /** Decoding successfully completed. */
- BROTLI_DECODER_RESULT_SUCCESS = 1,
- /** Partially done; should be called again with more input. */
- BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT = 2,
- /** Partially done; should be called again with more output. */
- BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT = 3
-} BrotliDecoderResult;
-
-/**
- * Template that evaluates items of ::BrotliDecoderErrorCode.
- *
- * Example: @code {.cpp}
- * // Log Brotli error code.
- * switch (brotliDecoderErrorCode) {
- * #define CASE_(PREFIX, NAME, CODE) \
- * case BROTLI_DECODER ## PREFIX ## NAME: \
- * LOG(INFO) << "error code:" << #NAME; \
- * break;
- * #define NEWLINE_
- * BROTLI_DECODER_ERROR_CODES_LIST(CASE_, NEWLINE_)
- * #undef CASE_
- * #undef NEWLINE_
- * default: LOG(FATAL) << "unknown brotli error code";
- * }
- * @endcode
- */
-#define BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE, SEPARATOR) \
- BROTLI_ERROR_CODE(_, NO_ERROR, 0) SEPARATOR \
- /* Same as BrotliDecoderResult values */ \
- BROTLI_ERROR_CODE(_, SUCCESS, 1) SEPARATOR \
- BROTLI_ERROR_CODE(_, NEEDS_MORE_INPUT, 2) SEPARATOR \
- BROTLI_ERROR_CODE(_, NEEDS_MORE_OUTPUT, 3) SEPARATOR \
- \
- /* Errors caused by invalid input */ \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_NIBBLE, -1) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, RESERVED, -2) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_META_NIBBLE, -3) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_ALPHABET, -4) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_SAME, -5) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, CL_SPACE, -6) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, HUFFMAN_SPACE, -7) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, CONTEXT_MAP_REPEAT, -8) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_1, -9) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_2, -10) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, TRANSFORM, -11) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, DICTIONARY, -12) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, WINDOW_BITS, -13) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_1, -14) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_2, -15) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_FORMAT_, DISTANCE, -16) SEPARATOR \
- \
- /* -17..-18 codes are reserved */ \
- \
- BROTLI_ERROR_CODE(_ERROR_, DICTIONARY_NOT_SET, -19) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_, INVALID_ARGUMENTS, -20) SEPARATOR \
- \
- /* Memory allocation problems */ \
- BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MODES, -21) SEPARATOR \
- /* Literal, insert and distance trees together */ \
- BROTLI_ERROR_CODE(_ERROR_ALLOC_, TREE_GROUPS, -22) SEPARATOR \
- /* -23..-24 codes are reserved for distinct tree groups */ \
- BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MAP, -25) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_1, -26) SEPARATOR \
- BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_2, -27) SEPARATOR \
- /* -28..-29 codes are reserved for dynamic ring-buffer allocation */ \
- BROTLI_ERROR_CODE(_ERROR_ALLOC_, BLOCK_TYPE_TREES, -30) SEPARATOR \
- \
- /* "Impossible" states */ \
- BROTLI_ERROR_CODE(_ERROR_, UNREACHABLE, -31)
-
-/**
- * Error code for detailed logging / production debugging.
- *
- * See ::BrotliDecoderGetErrorCode and ::BROTLI_LAST_ERROR_CODE.
- */
-typedef enum {
-#define BROTLI_COMMA_ ,
-#define BROTLI_ERROR_CODE_ENUM_ITEM_(PREFIX, NAME, CODE) \
- BROTLI_DECODER ## PREFIX ## NAME = CODE
- BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE_ENUM_ITEM_, BROTLI_COMMA_)
-} BrotliDecoderErrorCode;
-#undef BROTLI_ERROR_CODE_ENUM_ITEM_
-#undef BROTLI_COMMA_
-
-/**
- * The value of the last error code, negative integer.
- *
- * All other error code values are in the range from ::BROTLI_LAST_ERROR_CODE
- * to @c -1. There are also 4 other possible non-error codes @c 0 .. @c 3 in
- * ::BrotliDecoderErrorCode enumeration.
- */
-#define BROTLI_LAST_ERROR_CODE BROTLI_DECODER_ERROR_UNREACHABLE
-
-/** Options to be used with ::BrotliDecoderSetParameter. */
-typedef enum BrotliDecoderParameter {
- /**
- * Disable "canny" ring buffer allocation strategy.
- *
- * Ring buffer is allocated according to window size, despite the real size of
- * the content.
- */
- BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION = 0,
- /**
- * Flag that determines if "Large Window Brotli" is used.
- */
- BROTLI_DECODER_PARAM_LARGE_WINDOW = 1
-} BrotliDecoderParameter;
-
-/**
- * Sets the specified parameter to the given decoder instance.
- *
- * @param state decoder instance
- * @param param parameter to set
- * @param value new parameter value
- * @returns ::BROTLI_FALSE if parameter is unrecognized, or value is invalid
- * @returns ::BROTLI_TRUE if value is accepted
- */
-BROTLI_DEC_API BROTLI_BOOL BrotliDecoderSetParameter(
- BrotliDecoderState* state, BrotliDecoderParameter param, uint32_t value);
-
-/**
- * Creates an instance of ::BrotliDecoderState and initializes it.
- *
- * The instance can be used once for decoding and should then be destroyed with
- * ::BrotliDecoderDestroyInstance, it cannot be reused for a new decoding
- * session.
- *
- * @p alloc_func and @p free_func @b MUST be both zero or both non-zero. In the
- * case they are both zero, default memory allocators are used. @p opaque is
- * passed to @p alloc_func and @p free_func when they are called. @p free_func
- * has to return without doing anything when asked to free a NULL pointer.
- *
- * @param alloc_func custom memory allocation function
- * @param free_func custom memory free function
- * @param opaque custom memory manager handle
- * @returns @c 0 if instance can not be allocated or initialized
- * @returns pointer to initialized ::BrotliDecoderState otherwise
- */
-BROTLI_DEC_API BrotliDecoderState* BrotliDecoderCreateInstance(
- brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque);
-
-/**
- * Deinitializes and frees ::BrotliDecoderState instance.
- *
- * @param state decoder instance to be cleaned up and deallocated
- */
-BROTLI_DEC_API void BrotliDecoderDestroyInstance(BrotliDecoderState* state);
-
-/**
- * Performs one-shot memory-to-memory decompression.
- *
- * Decompresses the data in @p encoded_buffer into @p decoded_buffer, and sets
- * @p *decoded_size to the decompressed length.
- *
- * @param encoded_size size of @p encoded_buffer
- * @param encoded_buffer compressed data buffer with at least @p encoded_size
- * addressable bytes
- * @param[in, out] decoded_size @b in: size of @p decoded_buffer; \n
- * @b out: length of decompressed data written to
- * @p decoded_buffer
- * @param decoded_buffer decompressed data destination buffer
- * @returns ::BROTLI_DECODER_RESULT_ERROR if input is corrupted, memory
- * allocation failed, or @p decoded_buffer is not large enough;
- * @returns ::BROTLI_DECODER_RESULT_SUCCESS otherwise
- */
-BROTLI_DEC_API BrotliDecoderResult BrotliDecoderDecompress(
- size_t encoded_size,
- const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)],
- size_t* decoded_size,
- uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]);
-
-/**
- * Decompresses the input stream to the output stream.
- *
- * The values @p *available_in and @p *available_out must specify the number of
- * bytes addressable at @p *next_in and @p *next_out respectively.
- * When @p *available_out is @c 0, @p next_out is allowed to be @c NULL.
- *
- * After each call, @p *available_in will be decremented by the amount of input
- * bytes consumed, and the @p *next_in pointer will be incremented by that
- * amount. Similarly, @p *available_out will be decremented by the amount of
- * output bytes written, and the @p *next_out pointer will be incremented by
- * that amount.
- *
- * @p total_out, if it is not a null-pointer, will be set to the number
- * of bytes decompressed since the last @p state initialization.
- *
- * @note Input is never overconsumed, so @p next_in and @p available_in could be
- * passed to the next consumer after decoding is complete.
- *
- * @param state decoder instance
- * @param[in, out] available_in @b in: amount of available input; \n
- * @b out: amount of unused input
- * @param[in, out] next_in pointer to the next compressed byte
- * @param[in, out] available_out @b in: length of output buffer; \n
- * @b out: remaining size of output buffer
- * @param[in, out] next_out output buffer cursor;
- * can be @c NULL if @p available_out is @c 0
- * @param[out] total_out number of bytes decompressed so far; can be @c NULL
- * @returns ::BROTLI_DECODER_RESULT_ERROR if input is corrupted, memory
- * allocation failed, arguments were invalid, etc.;
- * use ::BrotliDecoderGetErrorCode to get detailed error code
- * @returns ::BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT decoding is blocked until
- * more input data is provided
- * @returns ::BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT decoding is blocked until
- * more output space is provided
- * @returns ::BROTLI_DECODER_RESULT_SUCCESS decoding is finished, no more
- * input might be consumed and no more output will be produced
- */
-BROTLI_DEC_API BrotliDecoderResult BrotliDecoderDecompressStream(
- BrotliDecoderState* state, size_t* available_in, const uint8_t** next_in,
- size_t* available_out, uint8_t** next_out, size_t* total_out);
-
-/**
- * Checks if decoder has more output.
- *
- * @param state decoder instance
- * @returns ::BROTLI_TRUE, if decoder has some unconsumed output
- * @returns ::BROTLI_FALSE otherwise
- */
-BROTLI_DEC_API BROTLI_BOOL BrotliDecoderHasMoreOutput(
- const BrotliDecoderState* state);
-
-/**
- * Acquires pointer to internal output buffer.
- *
- * This method is used to make language bindings easier and more efficient:
- * -# push data to ::BrotliDecoderDecompressStream,
- * until ::BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT is reported
- * -# use ::BrotliDecoderTakeOutput to peek bytes and copy to language-specific
- * entity
- *
- * Also this could be useful if there is an output stream that is able to
- * consume all the provided data (e.g. when data is saved to file system).
- *
- * @attention After every call to ::BrotliDecoderTakeOutput @p *size bytes of
- * output are considered consumed for all consecutive calls to the
- * instance methods; returned pointer becomes invalidated as well.
- *
- * @note Decoder output is not guaranteed to be contiguous. This means that
- * after the size-unrestricted call to ::BrotliDecoderTakeOutput,
- * immediate next call to ::BrotliDecoderTakeOutput may return more data.
- *
- * @param state decoder instance
- * @param[in, out] size @b in: number of bytes caller is ready to take, @c 0 if
- * any amount could be handled; \n
- * @b out: amount of data pointed by returned pointer and
- * considered consumed; \n
- * out value is never greater than in value, unless it is @c 0
- * @returns pointer to output data
- */
-BROTLI_DEC_API const uint8_t* BrotliDecoderTakeOutput(
- BrotliDecoderState* state, size_t* size);
-
-/**
- * Checks if instance has already consumed input.
- *
- * Instance that returns ::BROTLI_FALSE is considered "fresh" and could be
- * reused.
- *
- * @param state decoder instance
- * @returns ::BROTLI_TRUE if decoder has already used some input bytes
- * @returns ::BROTLI_FALSE otherwise
- */
-BROTLI_DEC_API BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* state);
-
-/**
- * Checks if decoder instance reached the final state.
- *
- * @param state decoder instance
- * @returns ::BROTLI_TRUE if decoder is in a state where it reached the end of
- * the input and produced all of the output
- * @returns ::BROTLI_FALSE otherwise
- */
-BROTLI_DEC_API BROTLI_BOOL BrotliDecoderIsFinished(
- const BrotliDecoderState* state);
-
-/**
- * Acquires a detailed error code.
- *
- * Should be used only after ::BrotliDecoderDecompressStream returns
- * ::BROTLI_DECODER_RESULT_ERROR.
- *
- * See also ::BrotliDecoderErrorString
- *
- * @param state decoder instance
- * @returns last saved error code
- */
-BROTLI_DEC_API BrotliDecoderErrorCode BrotliDecoderGetErrorCode(
- const BrotliDecoderState* state);
-
-/**
- * Converts error code to a c-string.
- */
-BROTLI_DEC_API const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c);
-
-/**
- * Gets a decoder library version.
- *
- * Look at BROTLI_VERSION for more information.
- */
-BROTLI_DEC_API uint32_t BrotliDecoderVersion(void);
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_DEC_DECODE_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/port.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/port.h
deleted file mode 100644
index 6e439987b547..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/port.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Macros for compiler / platform specific API declarations. */
-
-#ifndef BROTLI_COMMON_PORT_H_
-#define BROTLI_COMMON_PORT_H_
-
-/* The following macros were borrowed from https://github.com/nemequ/hedley
- * with permission of original author - Evan Nemerson <evan@nemerson.com> */
-
-/* >>> >>> >>> hedley macros */
-
-#define BROTLI_MAKE_VERSION(major, minor, revision) \
- (((major) * 1000000) + ((minor) * 1000) + (revision))
-
-#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__)
-#define BROTLI_GNUC_VERSION \
- BROTLI_MAKE_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
-#elif defined(__GNUC__)
-#define BROTLI_GNUC_VERSION BROTLI_MAKE_VERSION(__GNUC__, __GNUC_MINOR__, 0)
-#endif
-
-#if defined(BROTLI_GNUC_VERSION)
-#define BROTLI_GNUC_VERSION_CHECK(major, minor, patch) \
- (BROTLI_GNUC_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_GNUC_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000)
-#define BROTLI_MSVC_VERSION \
- BROTLI_MAKE_VERSION((_MSC_FULL_VER / 10000000), \
- (_MSC_FULL_VER % 10000000) / 100000, \
- (_MSC_FULL_VER % 100000) / 100)
-#elif defined(_MSC_FULL_VER)
-#define BROTLI_MSVC_VERSION \
- BROTLI_MAKE_VERSION((_MSC_FULL_VER / 1000000), \
- (_MSC_FULL_VER % 1000000) / 10000, \
- (_MSC_FULL_VER % 10000) / 10)
-#elif defined(_MSC_VER)
-#define BROTLI_MSVC_VERSION \
- BROTLI_MAKE_VERSION(_MSC_VER / 100, _MSC_VER % 100, 0)
-#endif
-
-#if !defined(_MSC_VER)
-#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) (0)
-#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
-#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) \
- (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch)))
-#elif defined(_MSC_VER) && (_MSC_VER >= 1200)
-#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) \
- (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch)))
-#else
-#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) \
- (_MSC_VER >= ((major * 100) + (minor)))
-#endif
-
-#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE)
-#define BROTLI_INTEL_VERSION \
- BROTLI_MAKE_VERSION(__INTEL_COMPILER / 100, \
- __INTEL_COMPILER % 100, \
- __INTEL_COMPILER_UPDATE)
-#elif defined(__INTEL_COMPILER)
-#define BROTLI_INTEL_VERSION \
- BROTLI_MAKE_VERSION(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)
-#endif
-
-#if defined(BROTLI_INTEL_VERSION)
-#define BROTLI_INTEL_VERSION_CHECK(major, minor, patch) \
- (BROTLI_INTEL_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_INTEL_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__PGI) && \
- defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
-#define BROTLI_PGI_VERSION \
- BROTLI_MAKE_VERSION(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
-#endif
-
-#if defined(BROTLI_PGI_VERSION)
-#define BROTLI_PGI_VERSION_CHECK(major, minor, patch) \
- (BROTLI_PGI_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_PGI_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000)
-#define BROTLI_SUNPRO_VERSION \
- BROTLI_MAKE_VERSION( \
- (((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), \
- (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), \
- (__SUNPRO_C & 0xf) * 10)
-#elif defined(__SUNPRO_C)
-#define BROTLI_SUNPRO_VERSION \
- BROTLI_MAKE_VERSION((__SUNPRO_C >> 8) & 0xf, \
- (__SUNPRO_C >> 4) & 0xf, \
- (__SUNPRO_C) & 0xf)
-#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000)
-#define BROTLI_SUNPRO_VERSION \
- BROTLI_MAKE_VERSION( \
- (((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), \
- (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), \
- (__SUNPRO_CC & 0xf) * 10)
-#elif defined(__SUNPRO_CC)
-#define BROTLI_SUNPRO_VERSION \
- BROTLI_MAKE_VERSION((__SUNPRO_CC >> 8) & 0xf, \
- (__SUNPRO_CC >> 4) & 0xf, \
- (__SUNPRO_CC) & 0xf)
-#endif
-
-#if defined(BROTLI_SUNPRO_VERSION)
-#define BROTLI_SUNPRO_VERSION_CHECK(major, minor, patch) \
- (BROTLI_SUNPRO_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_SUNPRO_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION)
-#define BROTLI_ARM_VERSION \
- BROTLI_MAKE_VERSION((__ARMCOMPILER_VERSION / 1000000), \
- (__ARMCOMPILER_VERSION % 1000000) / 10000, \
- (__ARMCOMPILER_VERSION % 10000) / 100)
-#elif defined(__CC_ARM) && defined(__ARMCC_VERSION)
-#define BROTLI_ARM_VERSION \
- BROTLI_MAKE_VERSION((__ARMCC_VERSION / 1000000), \
- (__ARMCC_VERSION % 1000000) / 10000, \
- (__ARMCC_VERSION % 10000) / 100)
-#endif
-
-#if defined(BROTLI_ARM_VERSION)
-#define BROTLI_ARM_VERSION_CHECK(major, minor, patch) \
- (BROTLI_ARM_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_ARM_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__ibmxl__)
-#define BROTLI_IBM_VERSION \
- BROTLI_MAKE_VERSION(__ibmxl_version__, \
- __ibmxl_release__, \
- __ibmxl_modification__)
-#elif defined(__xlC__) && defined(__xlC_ver__)
-#define BROTLI_IBM_VERSION \
- BROTLI_MAKE_VERSION(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff)
-#elif defined(__xlC__)
-#define BROTLI_IBM_VERSION BROTLI_MAKE_VERSION(__xlC__ >> 8, __xlC__ & 0xff, 0)
-#endif
-
-#if defined(BROTLI_IBM_VERSION)
-#define BROTLI_IBM_VERSION_CHECK(major, minor, patch) \
- (BROTLI_IBM_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_IBM_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__TI_COMPILER_VERSION__)
-#define BROTLI_TI_VERSION \
- BROTLI_MAKE_VERSION((__TI_COMPILER_VERSION__ / 1000000), \
- (__TI_COMPILER_VERSION__ % 1000000) / 1000, \
- (__TI_COMPILER_VERSION__ % 1000))
-#endif
-
-#if defined(BROTLI_TI_VERSION)
-#define BROTLI_TI_VERSION_CHECK(major, minor, patch) \
- (BROTLI_TI_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_TI_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__IAR_SYSTEMS_ICC__)
-#if __VER__ > 1000
-#define BROTLI_IAR_VERSION \
- BROTLI_MAKE_VERSION((__VER__ / 1000000), \
- (__VER__ / 1000) % 1000, \
- (__VER__ % 1000))
-#else
-#define BROTLI_IAR_VERSION BROTLI_MAKE_VERSION(VER / 100, __VER__ % 100, 0)
-#endif
-#endif
-
-#if defined(BROTLI_IAR_VERSION)
-#define BROTLI_IAR_VERSION_CHECK(major, minor, patch) \
- (BROTLI_IAR_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_IAR_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__TINYC__)
-#define BROTLI_TINYC_VERSION \
- BROTLI_MAKE_VERSION(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100)
-#endif
-
-#if defined(BROTLI_TINYC_VERSION)
-#define BROTLI_TINYC_VERSION_CHECK(major, minor, patch) \
- (BROTLI_TINYC_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch))
-#else
-#define BROTLI_TINYC_VERSION_CHECK(major, minor, patch) (0)
-#endif
-
-#if defined(__has_attribute)
-#define BROTLI_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch) \
- __has_attribute(attribute)
-#else
-#define BROTLI_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch) \
- BROTLI_GNUC_VERSION_CHECK(major, minor, patch)
-#endif
-
-#if defined(__has_builtin)
-#define BROTLI_GNUC_HAS_BUILTIN(builtin, major, minor, patch) \
- __has_builtin(builtin)
-#else
-#define BROTLI_GNUC_HAS_BUILTIN(builtin, major, minor, patch) \
- BROTLI_GNUC_VERSION_CHECK(major, minor, patch)
-#endif
-
-#if defined(_WIN32) || defined(__CYGWIN__)
-#define BROTLI_PUBLIC
-#elif BROTLI_GNUC_VERSION_CHECK(3, 3, 0) || \
- BROTLI_TI_VERSION_CHECK(8, 0, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \
- BROTLI_IBM_VERSION_CHECK(13, 1, 0) || \
- BROTLI_SUNPRO_VERSION_CHECK(5, 11, 0) || \
- (BROTLI_TI_VERSION_CHECK(7, 3, 0) && \
- defined(__TI_GNU_ATTRIBUTE_SUPPORT__) && defined(__TI_EABI__))
-#define BROTLI_PUBLIC __attribute__ ((visibility ("default")))
-#else
-#define BROTLI_PUBLIC
-#endif
-
-#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
- !defined(__STDC_NO_VLA__) && !defined(__cplusplus) && \
- !defined(__PGI) && !defined(__PGIC__) && !defined(__TINYC__)
-#define BROTLI_ARRAY_PARAM(name) (name)
-#else
-#define BROTLI_ARRAY_PARAM(name)
-#endif
-
-/* <<< <<< <<< end of hedley macros. */
-
-#if defined(BROTLI_SHARED_COMPILATION)
-#if defined(_WIN32)
-#if defined(BROTLICOMMON_SHARED_COMPILATION)
-#define BROTLI_COMMON_API __declspec(dllexport)
-#else
-#define BROTLI_COMMON_API __declspec(dllimport)
-#endif /* BROTLICOMMON_SHARED_COMPILATION */
-#if defined(BROTLIDEC_SHARED_COMPILATION)
-#define BROTLI_DEC_API __declspec(dllexport)
-#else
-#define BROTLI_DEC_API __declspec(dllimport)
-#endif /* BROTLIDEC_SHARED_COMPILATION */
-#if defined(BROTLIENC_SHARED_COMPILATION)
-#define BROTLI_ENC_API __declspec(dllexport)
-#else
-#define BROTLI_ENC_API __declspec(dllimport)
-#endif /* BROTLIENC_SHARED_COMPILATION */
-#else /* _WIN32 */
-#define BROTLI_COMMON_API BROTLI_PUBLIC
-#define BROTLI_DEC_API BROTLI_PUBLIC
-#define BROTLI_ENC_API BROTLI_PUBLIC
-#endif /* _WIN32 */
-#else /* BROTLI_SHARED_COMPILATION */
-#define BROTLI_COMMON_API
-#define BROTLI_DEC_API
-#define BROTLI_ENC_API
-#endif
-
-#endif /* BROTLI_COMMON_PORT_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/types.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/types.h
deleted file mode 100644
index 35c95696423e..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/types.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/**
- * @file
- * Common types used in decoder and encoder API.
- */
-
-#ifndef BROTLI_COMMON_TYPES_H_
-#define BROTLI_COMMON_TYPES_H_
-
-//#include <stddef.h> /* for size_t */
-typedef UINTN size_t;
-
-#if defined(_MSC_VER) && (_MSC_VER < 1600)
-typedef __int8 int8_t;
-typedef unsigned __int8 uint8_t;
-typedef __int16 int16_t;
-typedef unsigned __int16 uint16_t;
-typedef __int32 int32_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-typedef __int64 int64_t;
-#else
-//#include <stdint.h>
-typedef INT8 int8_t;
-typedef INT16 int16_t;
-typedef INT32 int32_t;
-typedef INT64 int64_t;
-typedef UINT8 uint8_t;
-typedef UINT16 uint16_t;
-typedef UINT32 uint32_t;
-typedef UINT64 uint64_t;
-#endif /* defined(_MSC_VER) && (_MSC_VER < 1600) */
-
-/**
- * A portable @c bool replacement.
- *
- * ::BROTLI_BOOL is a "documentation" type: actually it is @c int, but in API it
- * denotes a type, whose only values are ::BROTLI_TRUE and ::BROTLI_FALSE.
- *
- * ::BROTLI_BOOL values passed to Brotli should either be ::BROTLI_TRUE or
- * ::BROTLI_FALSE, or be a result of ::TO_BROTLI_BOOL macros.
- *
- * ::BROTLI_BOOL values returned by Brotli should not be tested for equality
- * with @c true, @c false, ::BROTLI_TRUE, ::BROTLI_FALSE, but rather should be
- * evaluated, for example: @code{.cpp}
- * if (SomeBrotliFunction(encoder, BROTLI_TRUE) &&
- * !OtherBrotliFunction(decoder, BROTLI_FALSE)) {
- * bool x = !!YetAnotherBrotliFunction(encoder, TO_BROLTI_BOOL(2 * 2 == 4));
- * DoSomething(x);
- * }
- * @endcode
- */
-#define BROTLI_BOOL int
-/** Portable @c true replacement. */
-#define BROTLI_TRUE 1
-/** Portable @c false replacement. */
-#define BROTLI_FALSE 0
-/** @c bool to ::BROTLI_BOOL conversion macros. */
-#define TO_BROTLI_BOOL(X) (!!(X) ? BROTLI_TRUE : BROTLI_FALSE)
-
-#define BROTLI_MAKE_UINT64_T(high, low) ((((uint64_t)(high)) << 32) | low)
-
-#define BROTLI_UINT32_MAX (~((uint32_t)0))
-#define BROTLI_SIZE_MAX (~((size_t)0))
-
-/**
- * Allocating function pointer type.
- *
- * @param opaque custom memory manager handle provided by client
- * @param size requested memory region size; can not be @c 0
- * @returns @c 0 in the case of failure
- * @returns a valid pointer to a memory region of at least @p size bytes
- * long otherwise
- */
-typedef void* (*brotli_alloc_func)(void* opaque, size_t size);
-
-/**
- * Deallocating function pointer type.
- *
- * This function @b SHOULD do nothing if @p address is @c 0.
- *
- * @param opaque custom memory manager handle provided by client
- * @param address memory region pointer returned by ::brotli_alloc_func, or @c 0
- */
-typedef void (*brotli_free_func)(void* opaque, void* address);
-
-#endif /* BROTLI_COMMON_TYPES_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/constants.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/constants.h
deleted file mode 100644
index 1a29f035e899..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/constants.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-#ifndef BROTLI_COMMON_CONSTANTS_H_
-#define BROTLI_COMMON_CONSTANTS_H_
-
-/* Specification: 7.3. Encoding of the context map */
-#define BROTLI_CONTEXT_MAP_MAX_RLE 16
-
-/* Specification: 2. Compressed representation overview */
-#define BROTLI_MAX_NUMBER_OF_BLOCK_TYPES 256
-
-/* Specification: 3.3. Alphabet sizes: insert-and-copy length */
-#define BROTLI_NUM_LITERAL_SYMBOLS 256
-#define BROTLI_NUM_COMMAND_SYMBOLS 704
-#define BROTLI_NUM_BLOCK_LEN_SYMBOLS 26
-#define BROTLI_MAX_CONTEXT_MAP_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + \
- BROTLI_CONTEXT_MAP_MAX_RLE)
-#define BROTLI_MAX_BLOCK_TYPE_SYMBOLS (BROTLI_MAX_NUMBER_OF_BLOCK_TYPES + 2)
-
-/* Specification: 3.5. Complex prefix codes */
-#define BROTLI_REPEAT_PREVIOUS_CODE_LENGTH 16
-#define BROTLI_REPEAT_ZERO_CODE_LENGTH 17
-#define BROTLI_CODE_LENGTH_CODES (BROTLI_REPEAT_ZERO_CODE_LENGTH + 1)
-/* "code length of 8 is repeated" */
-#define BROTLI_INITIAL_REPEATED_CODE_LENGTH 8
-
-/* "Large Window Brotli" */
-#define BROTLI_LARGE_MAX_DISTANCE_BITS 62U
-#define BROTLI_LARGE_MIN_WBITS 10
-#define BROTLI_LARGE_MAX_WBITS 30
-
-/* Specification: 4. Encoding of distances */
-#define BROTLI_NUM_DISTANCE_SHORT_CODES 16
-#define BROTLI_MAX_NPOSTFIX 3
-#define BROTLI_MAX_NDIRECT 120
-#define BROTLI_MAX_DISTANCE_BITS 24U
-#define BROTLI_DISTANCE_ALPHABET_SIZE(NPOSTFIX, NDIRECT, MAXNBITS) ( \
- BROTLI_NUM_DISTANCE_SHORT_CODES + (NDIRECT) + \
- ((MAXNBITS) << ((NPOSTFIX) + 1)))
-/* BROTLI_NUM_DISTANCE_SYMBOLS == 1128 */
-#define BROTLI_NUM_DISTANCE_SYMBOLS \
- BROTLI_DISTANCE_ALPHABET_SIZE( \
- BROTLI_MAX_NDIRECT, BROTLI_MAX_NPOSTFIX, BROTLI_LARGE_MAX_DISTANCE_BITS)
-#define BROTLI_MAX_DISTANCE 0x3FFFFFC
-#define BROTLI_MAX_ALLOWED_DISTANCE 0x7FFFFFFC
-
-/* 7.1. Context modes and context ID lookup for literals */
-/* "context IDs for literals are in the range of 0..63" */
-#define BROTLI_LITERAL_CONTEXT_BITS 6
-
-/* 7.2. Context ID for distances */
-#define BROTLI_DISTANCE_CONTEXT_BITS 2
-
-/* 9.1. Format of the Stream Header */
-/* Number of slack bytes for window size. Don't confuse
- with BROTLI_NUM_DISTANCE_SHORT_CODES. */
-#define BROTLI_WINDOW_GAP 16
-#define BROTLI_MAX_BACKWARD_LIMIT(W) (((size_t)1 << (W)) - BROTLI_WINDOW_GAP)
-
-#endif /* BROTLI_COMMON_CONSTANTS_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/context.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/context.h
deleted file mode 100644
index 7ffc640eafa4..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/context.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Lookup table to map the previous two bytes to a context id.
-
- There are four different context modeling modes defined here:
- CONTEXT_LSB6: context id is the least significant 6 bits of the last byte,
- CONTEXT_MSB6: context id is the most significant 6 bits of the last byte,
- CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text,
- CONTEXT_SIGNED: second-order context model tuned for signed integers.
-
- If |p1| and |p2| are the previous two bytes, and |mode| is current context
- mode, we calculate the context as:
-
- context = ContextLut(mode)[p1] | ContextLut(mode)[p2 + 256].
-
- For CONTEXT_UTF8 mode, if the previous two bytes are ASCII characters
- (i.e. < 128), this will be equivalent to
-
- context = 4 * context1(p1) + context2(p2),
-
- where context1 is based on the previous byte in the following way:
-
- 0 : non-ASCII control
- 1 : \t, \n, \r
- 2 : space
- 3 : other punctuation
- 4 : " '
- 5 : %
- 6 : ( < [ {
- 7 : ) > ] }
- 8 : , ; :
- 9 : .
- 10 : =
- 11 : number
- 12 : upper-case vowel
- 13 : upper-case consonant
- 14 : lower-case vowel
- 15 : lower-case consonant
-
- and context2 is based on the second last byte:
-
- 0 : control, space
- 1 : punctuation
- 2 : upper-case letter, number
- 3 : lower-case letter
-
- If the last byte is ASCII, and the second last byte is not (in a valid UTF8
- stream it will be a continuation byte, value between 128 and 191), the
- context is the same as if the second last byte was an ASCII control or space.
-
- If the last byte is a UTF8 lead byte (value >= 192), then the next byte will
- be a continuation byte and the context id is 2 or 3 depending on the LSB of
- the last byte and to a lesser extent on the second last byte if it is ASCII.
-
- If the last byte is a UTF8 continuation byte, the second last byte can be:
- - continuation byte: the next byte is probably ASCII or lead byte (assuming
- 4-byte UTF8 characters are rare) and the context id is 0 or 1.
- - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1
- - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3
-
- The possible value combinations of the previous two bytes, the range of
- context ids and the type of the next byte is summarized in the table below:
-
- |--------\-----------------------------------------------------------------|
- | \ Last byte |
- | Second \---------------------------------------------------------------|
- | last byte \ ASCII | cont. byte | lead byte |
- | \ (0-127) | (128-191) | (192-) |
- |=============|===================|=====================|==================|
- | ASCII | next: ASCII/lead | not valid | next: cont. |
- | (0-127) | context: 4 - 63 | | context: 2 - 3 |
- |-------------|-------------------|---------------------|------------------|
- | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. |
- | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 |
- |-------------|-------------------|---------------------|------------------|
- | lead byte | not valid | next: ASCII/lead | not valid |
- | (192-207) | | context: 0 - 1 | |
- |-------------|-------------------|---------------------|------------------|
- | lead byte | not valid | next: cont. | not valid |
- | (208-) | | context: 2 - 3 | |
- |-------------|-------------------|---------------------|------------------|
-*/
-
-#ifndef BROTLI_COMMON_CONTEXT_H_
-#define BROTLI_COMMON_CONTEXT_H_
-
-#include <brotli/types.h>
-
-typedef enum ContextType {
- CONTEXT_LSB6 = 0,
- CONTEXT_MSB6 = 1,
- CONTEXT_UTF8 = 2,
- CONTEXT_SIGNED = 3
-} ContextType;
-
-/* Common context lookup table for all context modes. */
-static const uint8_t kContextLookup[2048] = {
- /* CONTEXT_LSB6, last byte. */
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
-
- /* CONTEXT_LSB6, second last byte, */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- /* CONTEXT_MSB6, last byte. */
- 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
- 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7,
- 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11,
- 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,
- 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,
- 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,
- 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27,
- 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31,
- 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35,
- 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,
- 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43,
- 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,
- 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51,
- 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,
- 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,
- 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63,
-
- /* CONTEXT_MSB6, second last byte, */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- /* CONTEXT_UTF8, last byte. */
- /* ASCII range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,
- 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,
- 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,
- 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,
- 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0,
- /* UTF8 continuation byte range. */
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- /* UTF8 lead byte range. */
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
-
- /* CONTEXT_UTF8 second last byte. */
- /* ASCII range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
- 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,
- /* UTF8 continuation byte range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* UTF8 lead byte range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-
- /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */
- 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56,
-
- /* CONTEXT_SIGNED, second last byte. */
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,
-};
-
-typedef const uint8_t* ContextLut;
-
-/* typeof(MODE) == ContextType; returns ContextLut */
-#define BROTLI_CONTEXT_LUT(MODE) (&kContextLookup[(MODE) << 9])
-
-/* typeof(LUT) == ContextLut */
-#define BROTLI_CONTEXT(P1, P2, LUT) ((LUT)[P1] | ((LUT) + 256)[P2])
-
-#endif /* BROTLI_COMMON_CONTEXT_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.h
deleted file mode 100644
index a68a1c54493e..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/dictionary.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Collection of static dictionary words. */
-
-#ifndef BROTLI_COMMON_DICTIONARY_H_
-#define BROTLI_COMMON_DICTIONARY_H_
-
-#include <brotli/port.h>
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-typedef struct BrotliDictionary {
- /**
- * Number of bits to encode index of dictionary word in a bucket.
- *
- * Specification: Appendix A. Static Dictionary Data
- *
- * Words in a dictionary are bucketed by length.
- * @c 0 means that there are no words of a given length.
- * Dictionary consists of words with length of [4..24] bytes.
- * Values at [0..3] and [25..31] indices should not be addressed.
- */
- uint8_t size_bits_by_length[32];
-
- /* assert(offset[i + 1] == offset[i] + (bits[i] ? (i << bits[i]) : 0)) */
- uint32_t offsets_by_length[32];
-
- /* assert(data_size == offsets_by_length[31]) */
- size_t data_size;
-
- /* Data array is not bound, and should obey to size_bits_by_length values.
- Specified size matches default (RFC 7932) dictionary. Its size is
- defined by data_size */
- const uint8_t* data;
-} BrotliDictionary;
-
-BROTLI_COMMON_API const BrotliDictionary* BrotliGetDictionary(void);
-
-/**
- * Sets dictionary data.
- *
- * When dictionary data is already set / present, this method is no-op.
- *
- * Dictionary data MUST be provided before BrotliGetDictionary is invoked.
- * This method is used ONLY in multi-client environment (e.g. C + Java),
- * to reduce storage by sharing single dictionary between implementations.
- */
-BROTLI_COMMON_API void BrotliSetDictionaryData(const uint8_t* data);
-
-#define BROTLI_MIN_DICTIONARY_WORD_LENGTH 4
-#define BROTLI_MAX_DICTIONARY_WORD_LENGTH 24
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_COMMON_DICTIONARY_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/platform.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/platform.h
deleted file mode 100644
index 0bd5c46cf083..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/platform.h
+++ /dev/null
@@ -1,559 +0,0 @@
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Macros for compiler / platform specific features and build options.
-
- Build options are:
- * BROTLI_BUILD_32_BIT disables 64-bit optimizations
- * BROTLI_BUILD_64_BIT forces to use 64-bit optimizations
- * BROTLI_BUILD_BIG_ENDIAN forces to use big-endian optimizations
- * BROTLI_BUILD_ENDIAN_NEUTRAL disables endian-aware optimizations
- * BROTLI_BUILD_LITTLE_ENDIAN forces to use little-endian optimizations
- * BROTLI_BUILD_PORTABLE disables dangerous optimizations, like unaligned
- read and overlapping memcpy; this reduces decompression speed by 5%
- * BROTLI_BUILD_NO_RBIT disables "rbit" optimization for ARM CPUs
- * BROTLI_DEBUG dumps file name and line number when decoder detects stream
- or memory error
- * BROTLI_ENABLE_LOG enables asserts and dumps various state information
-*/
-
-#ifndef BROTLI_COMMON_PLATFORM_H_
-#define BROTLI_COMMON_PLATFORM_H_
-
-//#include <string.h> /* memcpy */
-//#include <stdlib.h> /* malloc, free */
-
-#include <brotli/port.h>
-#include <brotli/types.h>
-#include <BrotliDecompressLibInternal.h>
-
-#if defined(OS_LINUX) || defined(OS_CYGWIN)
-#include <endian.h>
-#elif defined(OS_FREEBSD)
-#include <machine/endian.h>
-#elif defined(OS_MACOSX)
-#include <machine/endian.h>
-/* Let's try and follow the Linux convention */
-#define BROTLI_X_BYTE_ORDER BYTE_ORDER
-#define BROTLI_X_LITTLE_ENDIAN LITTLE_ENDIAN
-#define BROTLI_X_BIG_ENDIAN BIG_ENDIAN
-#endif
-
-#if defined(BROTLI_ENABLE_LOG) || defined(BROTLI_DEBUG)
-#include <assert.h>
-#include <stdio.h>
-#endif
-
-/* The following macros were borrowed from https://github.com/nemequ/hedley
- * with permission of original author - Evan Nemerson <evan@nemerson.com> */
-
-/* >>> >>> >>> hedley macros */
-
-/* Define "BROTLI_PREDICT_TRUE" and "BROTLI_PREDICT_FALSE" macros for capable
- compilers.
-
-To apply compiler hint, enclose the branching condition into macros, like this:
-
- if (BROTLI_PREDICT_TRUE(zero == 0)) {
- // main execution path
- } else {
- // compiler should place this code outside of main execution path
- }
-
-OR:
-
- if (BROTLI_PREDICT_FALSE(something_rare_or_unexpected_happens)) {
- // compiler should place this code outside of main execution path
- }
-
-*/
-#if BROTLI_GNUC_HAS_BUILTIN(__builtin_expect, 3, 0, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \
- BROTLI_SUNPRO_VERSION_CHECK(5, 12, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \
- BROTLI_IBM_VERSION_CHECK(10, 1, 0) || \
- BROTLI_TI_VERSION_CHECK(7, 3, 0) || \
- BROTLI_TINYC_VERSION_CHECK(0, 9, 27)
-#define BROTLI_PREDICT_TRUE(x) (__builtin_expect(!!(x), 1))
-#define BROTLI_PREDICT_FALSE(x) (__builtin_expect(x, 0))
-#else
-#define BROTLI_PREDICT_FALSE(x) (x)
-#define BROTLI_PREDICT_TRUE(x) (x)
-#endif
-
-#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
- !defined(__cplusplus)
-#define BROTLI_RESTRICT restrict
-#elif BROTLI_GNUC_VERSION_CHECK(3, 1, 0) || \
- BROTLI_MSVC_VERSION_CHECK(14, 0, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \
- BROTLI_IBM_VERSION_CHECK(10, 1, 0) || \
- BROTLI_PGI_VERSION_CHECK(17, 10, 0) || \
- BROTLI_TI_VERSION_CHECK(8, 0, 0) || \
- BROTLI_IAR_VERSION_CHECK(8, 0, 0) || \
- (BROTLI_SUNPRO_VERSION_CHECK(5, 14, 0) && defined(__cplusplus))
-#define BROTLI_RESTRICT __restrict
-#elif BROTLI_SUNPRO_VERSION_CHECK(5, 3, 0) && !defined(__cplusplus)
-#define BROTLI_RESTRICT _Restrict
-#else
-#define BROTLI_RESTRICT
-#endif
-
-#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
- (defined(__cplusplus) && (__cplusplus >= 199711L))
-#define BROTLI_MAYBE_INLINE inline
-#elif defined(__GNUC_STDC_INLINE__) || defined(__GNUC_GNU_INLINE__) || \
- BROTLI_ARM_VERSION_CHECK(6, 2, 0)
-#define BROTLI_MAYBE_INLINE __inline__
-#elif BROTLI_MSVC_VERSION_CHECK(12, 0, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || BROTLI_TI_VERSION_CHECK(8, 0, 0)
-#define BROTLI_MAYBE_INLINE __inline
-#else
-#define BROTLI_MAYBE_INLINE
-#endif
-
-#if BROTLI_GNUC_HAS_ATTRIBUTE(always_inline, 4, 0, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \
- BROTLI_SUNPRO_VERSION_CHECK(5, 11, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \
- BROTLI_IBM_VERSION_CHECK(10, 1, 0) || \
- BROTLI_TI_VERSION_CHECK(8, 0, 0) || \
- (BROTLI_TI_VERSION_CHECK(7, 3, 0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
-#define BROTLI_INLINE BROTLI_MAYBE_INLINE __attribute__((__always_inline__))
-#elif BROTLI_MSVC_VERSION_CHECK(12, 0, 0)
-#define BROTLI_INLINE BROTLI_MAYBE_INLINE __forceinline
-#elif BROTLI_TI_VERSION_CHECK(7, 0, 0) && defined(__cplusplus)
-#define BROTLI_INLINE BROTLI_MAYBE_INLINE _Pragma("FUNC_ALWAYS_INLINE;")
-#elif BROTLI_IAR_VERSION_CHECK(8, 0, 0)
-#define BROTLI_INLINE BROTLI_MAYBE_INLINE _Pragma("inline=forced")
-#else
-#define BROTLI_INLINE BROTLI_MAYBE_INLINE
-#endif
-
-#if BROTLI_GNUC_HAS_ATTRIBUTE(noinline, 4, 0, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \
- BROTLI_SUNPRO_VERSION_CHECK(5, 11, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \
- BROTLI_IBM_VERSION_CHECK(10, 1, 0) || \
- BROTLI_TI_VERSION_CHECK(8, 0, 0) || \
- (BROTLI_TI_VERSION_CHECK(7, 3, 0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__))
-#define BROTLI_NOINLINE __attribute__((__noinline__))
-#elif BROTLI_MSVC_VERSION_CHECK(13, 10, 0)
-#define BROTLI_NOINLINE __declspec(noinline)
-#elif BROTLI_PGI_VERSION_CHECK(10, 2, 0)
-#define BROTLI_NOINLINE _Pragma("noinline")
-#elif BROTLI_TI_VERSION_CHECK(6, 0, 0) && defined(__cplusplus)
-#define BROTLI_NOINLINE _Pragma("FUNC_CANNOT_INLINE;")
-#elif BROTLI_IAR_VERSION_CHECK(8, 0, 0)
-#define BROTLI_NOINLINE _Pragma("inline=never")
-#else
-#define BROTLI_NOINLINE
-#endif
-
-/* BROTLI_INTERNAL could be defined to override visibility, e.g. for tests. */
-#if !defined(BROTLI_INTERNAL)
-#if defined(_WIN32) || defined(__CYGWIN__)
-#define BROTLI_INTERNAL
-#elif BROTLI_GNUC_VERSION_CHECK(3, 3, 0) || \
- BROTLI_TI_VERSION_CHECK(8, 0, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \
- BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \
- BROTLI_IBM_VERSION_CHECK(13, 1, 0) || \
- BROTLI_SUNPRO_VERSION_CHECK(5, 11, 0) || \
- (BROTLI_TI_VERSION_CHECK(7, 3, 0) && \
- defined(__TI_GNU_ATTRIBUTE_SUPPORT__) && defined(__TI_EABI__))
-#define BROTLI_INTERNAL __attribute__ ((visibility ("hidden")))
-#else
-#define BROTLI_INTERNAL
-#endif
-#endif
-
-/* <<< <<< <<< end of hedley macros. */
-
-#if BROTLI_GNUC_HAS_ATTRIBUTE(unused, 2, 7, 0) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0)
-#define BROTLI_UNUSED_FUNCTION static BROTLI_INLINE __attribute__ ((unused))
-#else
-#define BROTLI_UNUSED_FUNCTION static BROTLI_INLINE
-#endif
-
-#if (defined(__ARM_ARCH) && (__ARM_ARCH == 7)) || \
- (defined(M_ARM) && (M_ARM == 7))
-#define BROTLI_TARGET_ARMV7
-#endif /* ARMv7 */
-
-#if (defined(__ARM_ARCH) && (__ARM_ARCH == 8)) || \
- defined(__aarch64__) || defined(__ARM64_ARCH_8__)
-#define BROTLI_TARGET_ARMV8_ANY
-
-#if defined(__ARM_32BIT_STATE)
-#define BROTLI_TARGET_ARMV8_32
-#elif defined(__ARM_64BIT_STATE)
-#define BROTLI_TARGET_ARMV8_64
-#endif
-
-#endif /* ARMv8 */
-
-#if defined(__i386) || defined(_M_IX86)
-#define BROTLI_TARGET_X86
-#endif
-
-#if defined(__x86_64__) || defined(_M_X64)
-#define BROTLI_TARGET_X64
-#endif
-
-#if defined(__PPC64__)
-#define BROTLI_TARGET_POWERPC64
-#endif
-
-#if defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
-#define BROTLI_TARGET_RISCV64
-#endif
-
-#if defined(BROTLI_BUILD_64_BIT)
-#define BROTLI_64_BITS 1
-#elif defined(BROTLI_BUILD_32_BIT)
-#define BROTLI_64_BITS 0
-#elif defined(BROTLI_TARGET_X64) || defined(BROTLI_TARGET_ARMV8_64) || \
- defined(BROTLI_TARGET_POWERPC64) || defined(BROTLI_TARGET_RISCV64)
-#define BROTLI_64_BITS 1
-#else
-#define BROTLI_64_BITS 0
-#endif
-
-#if (BROTLI_64_BITS)
-#define brotli_reg_t uint64_t
-#else
-#define brotli_reg_t uint32_t
-#endif
-
-#if defined(BROTLI_BUILD_BIG_ENDIAN)
-#define BROTLI_BIG_ENDIAN 1
-#elif defined(BROTLI_BUILD_LITTLE_ENDIAN)
-#define BROTLI_LITTLE_ENDIAN 1
-#elif defined(BROTLI_BUILD_ENDIAN_NEUTRAL)
-/* Just break elif chain. */
-#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
-#define BROTLI_LITTLE_ENDIAN 1
-#elif defined(_WIN32) || defined(BROTLI_TARGET_X64)
-/* Win32 & x64 can currently always be assumed to be little endian */
-#define BROTLI_LITTLE_ENDIAN 1
-#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
-#define BROTLI_BIG_ENDIAN 1
-#elif defined(BROTLI_X_BYTE_ORDER)
-#if BROTLI_X_BYTE_ORDER == BROTLI_X_LITTLE_ENDIAN
-#define BROTLI_LITTLE_ENDIAN 1
-#elif BROTLI_X_BYTE_ORDER == BROTLI_X_BIG_ENDIAN
-#define BROTLI_BIG_ENDIAN 1
-#endif
-#endif /* BROTLI_X_BYTE_ORDER */
-
-#if !defined(BROTLI_LITTLE_ENDIAN)
-#define BROTLI_LITTLE_ENDIAN 0
-#endif
-
-#if !defined(BROTLI_BIG_ENDIAN)
-#define BROTLI_BIG_ENDIAN 0
-#endif
-
-#if defined(BROTLI_X_BYTE_ORDER)
-#undef BROTLI_X_BYTE_ORDER
-#undef BROTLI_X_LITTLE_ENDIAN
-#undef BROTLI_X_BIG_ENDIAN
-#endif
-
-#if defined(BROTLI_BUILD_PORTABLE)
-#define BROTLI_ALIGNED_READ (!!1)
-#elif defined(BROTLI_TARGET_X86) || defined(BROTLI_TARGET_X64) || \
- defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8_ANY) || \
- defined(BROTLI_TARGET_RISCV64)
-/* Allow unaligned read only for white-listed CPUs. */
-#define BROTLI_ALIGNED_READ (!!0)
-#else
-#define BROTLI_ALIGNED_READ (!!1)
-#endif
-
-#if BROTLI_ALIGNED_READ
-/* Portable unaligned memory access: read / write values via memcpy. */
-static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
- uint16_t t;
- memcpy(&t, p, sizeof t);
- return t;
-}
-static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
- uint32_t t;
- memcpy(&t, p, sizeof t);
- return t;
-}
-static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
- uint64_t t;
- memcpy(&t, p, sizeof t);
- return t;
-}
-static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
- memcpy(p, &v, sizeof v);
-}
-#else /* BROTLI_ALIGNED_READ */
-/* Unaligned memory access is allowed: just cast pointer to requested type. */
-#if defined(ADDRESS_SANITIZER) || defined(THREAD_SANITIZER) || \
- defined(MEMORY_SANITIZER)
-/* Consider we have an unaligned load/store of 4 bytes from address 0x...05.
- AddressSanitizer will treat it as a 3-byte access to the range 05:07 and
- will miss a bug if 08 is the first unaddressable byte.
- ThreadSanitizer will also treat this as a 3-byte access to 05:07 and will
- miss a race between this access and some other accesses to 08.
- MemorySanitizer will correctly propagate the shadow on unaligned stores
- and correctly report bugs on unaligned loads, but it may not properly
- update and report the origin of the uninitialized memory.
- For all three tools, replacing an unaligned access with a tool-specific
- callback solves the problem. */
-#if defined(__cplusplus)
-extern "C" {
-#endif /* __cplusplus */
- uint16_t __sanitizer_unaligned_load16(const void* p);
- uint32_t __sanitizer_unaligned_load32(const void* p);
- uint64_t __sanitizer_unaligned_load64(const void* p);
- void __sanitizer_unaligned_store64(void* p, uint64_t v);
-#if defined(__cplusplus)
-} /* extern "C" */
-#endif /* __cplusplus */
-#define BrotliUnalignedRead16 __sanitizer_unaligned_load16
-#define BrotliUnalignedRead32 __sanitizer_unaligned_load32
-#define BrotliUnalignedRead64 __sanitizer_unaligned_load64
-#define BrotliUnalignedWrite64 __sanitizer_unaligned_store64
-#else
-static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
- return *(const uint16_t*)p;
-}
-static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
- return *(const uint32_t*)p;
-}
-#if (BROTLI_64_BITS)
-static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
- return *(const uint64_t*)p;
-}
-static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
- *(uint64_t*)p = v;
-}
-#else /* BROTLI_64_BITS */
-/* Avoid emitting LDRD / STRD, which require properly aligned address. */
-/* If __attribute__(aligned) is available, use that. Otherwise, memcpy. */
-
-#if BROTLI_GNUC_HAS_ATTRIBUTE(aligned, 2, 7, 0)
-typedef __attribute__((aligned(1))) uint64_t brotli_unaligned_uint64_t;
-
-static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
- return (uint64_t) ((brotli_unaligned_uint64_t*) p)[0];
-}
-static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
- brotli_unaligned_uint64_t* dwords = (brotli_unaligned_uint64_t*) p;
- dwords[0] = (brotli_unaligned_uint64_t) v;
-}
-#else /* BROTLI_GNUC_HAS_ATTRIBUTE(aligned, 2, 7, 0) */
-static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
- uint64_t v;
- memcpy(&v, p, sizeof(uint64_t));
- return v;
-}
-
-static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
- memcpy(p, &v, sizeof(uint64_t));
-}
-#endif /* BROTLI_GNUC_HAS_ATTRIBUTE(aligned, 2, 7, 0) */
-#endif /* BROTLI_64_BITS */
-#endif /* ASAN / TSAN / MSAN */
-#endif /* BROTLI_ALIGNED_READ */
-
-#if BROTLI_LITTLE_ENDIAN
-/* Straight endianness. Just read / write values. */
-#define BROTLI_UNALIGNED_LOAD16LE BrotliUnalignedRead16
-#define BROTLI_UNALIGNED_LOAD32LE BrotliUnalignedRead32
-#define BROTLI_UNALIGNED_LOAD64LE BrotliUnalignedRead64
-#define BROTLI_UNALIGNED_STORE64LE BrotliUnalignedWrite64
-#elif BROTLI_BIG_ENDIAN /* BROTLI_LITTLE_ENDIAN */
-/* Explain compiler to byte-swap values. */
-#define BROTLI_BSWAP16_(V) ((uint16_t)( \
- (((V) & 0xFFU) << 8) | \
- (((V) >> 8) & 0xFFU)))
-static BROTLI_INLINE uint16_t BROTLI_UNALIGNED_LOAD16LE(const void* p) {
- uint16_t value = BrotliUnalignedRead16(p);
- return BROTLI_BSWAP16_(value);
-}
-#define BROTLI_BSWAP32_(V) ( \
- (((V) & 0xFFU) << 24) | (((V) & 0xFF00U) << 8) | \
- (((V) >> 8) & 0xFF00U) | (((V) >> 24) & 0xFFU))
-static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32LE(const void* p) {
- uint32_t value = BrotliUnalignedRead32(p);
- return BROTLI_BSWAP32_(value);
-}
-#define BROTLI_BSWAP64_(V) ( \
- (((V) & 0xFFU) << 56) | (((V) & 0xFF00U) << 40) | \
- (((V) & 0xFF0000U) << 24) | (((V) & 0xFF000000U) << 8) | \
- (((V) >> 8) & 0xFF000000U) | (((V) >> 24) & 0xFF0000U) | \
- (((V) >> 40) & 0xFF00U) | (((V) >> 56) & 0xFFU))
-static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void* p) {
- uint64_t value = BrotliUnalignedRead64(p);
- return BROTLI_BSWAP64_(value);
-}
-static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void* p, uint64_t v) {
- uint64_t value = BROTLI_BSWAP64_(v);
- BrotliUnalignedWrite64(p, value);
-}
-#else /* BROTLI_LITTLE_ENDIAN */
-/* Read / store values byte-wise; hopefully compiler will understand. */
-static BROTLI_INLINE uint16_t BROTLI_UNALIGNED_LOAD16LE(const void* p) {
- const uint8_t* in = (const uint8_t*)p;
- return (uint16_t)(in[0] | (in[1] << 8));
-}
-static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32LE(const void* p) {
- const uint8_t* in = (const uint8_t*)p;
- uint32_t value = (uint32_t)(in[0]);
- value |= (uint32_t)(in[1]) << 8;
- value |= (uint32_t)(in[2]) << 16;
- value |= (uint32_t)(in[3]) << 24;
- return value;
-}
-static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void* p) {
- const uint8_t* in = (const uint8_t*)p;
- uint64_t value = (uint64_t)(in[0]);
- value |= (uint64_t)(in[1]) << 8;
- value |= (uint64_t)(in[2]) << 16;
- value |= (uint64_t)(in[3]) << 24;
- value |= (uint64_t)(in[4]) << 32;
- value |= (uint64_t)(in[5]) << 40;
- value |= (uint64_t)(in[6]) << 48;
- value |= (uint64_t)(in[7]) << 56;
- return value;
-}
-static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void* p, uint64_t v) {
- uint8_t* out = (uint8_t*)p;
- out[0] = (uint8_t)v;
- out[1] = (uint8_t)(v >> 8);
- out[2] = (uint8_t)(v >> 16);
- out[3] = (uint8_t)(v >> 24);
- out[4] = (uint8_t)(v >> 32);
- out[5] = (uint8_t)(v >> 40);
- out[6] = (uint8_t)(v >> 48);
- out[7] = (uint8_t)(v >> 56);
-}
-#endif /* BROTLI_LITTLE_ENDIAN */
-
-/* BROTLI_IS_CONSTANT macros returns true for compile-time constants. */
-#if BROTLI_GNUC_HAS_BUILTIN(__builtin_constant_p, 3, 0, 1) || \
- BROTLI_INTEL_VERSION_CHECK(16, 0, 0)
-#define BROTLI_IS_CONSTANT(x) (!!__builtin_constant_p(x))
-#else
-#define BROTLI_IS_CONSTANT(x) (!!0)
-#endif
-
-#if defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8_ANY)
-#define BROTLI_HAS_UBFX (!!1)
-#else
-#define BROTLI_HAS_UBFX (!!0)
-#endif
-
-#if defined(BROTLI_ENABLE_LOG)
-#define BROTLI_DCHECK(x) assert(x)
-#define BROTLI_LOG(x) printf x
-#else
-#define BROTLI_DCHECK(x)
-#define BROTLI_LOG(x)
-#endif
-
-#if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG)
-static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* fn) {
- fprintf(stderr, "%s:%d (%s)\n", f, l, fn);
- fflush(stderr);
-}
-#define BROTLI_DUMP() BrotliDump(__FILE__, __LINE__, __FUNCTION__)
-#else
-#define BROTLI_DUMP() (void)(0)
-#endif
-
-/* TODO: add appropriate icc/sunpro/arm/ibm/ti checks. */
-#if (BROTLI_GNUC_VERSION_CHECK(3, 0, 0) || defined(__llvm__)) && \
- !defined(BROTLI_BUILD_NO_RBIT)
-#if defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8_ANY)
-/* TODO: detect ARMv6T2 and enable this code for it. */
-static BROTLI_INLINE brotli_reg_t BrotliRBit(brotli_reg_t input) {
- brotli_reg_t output;
- __asm__("rbit %0, %1\n" : "=r"(output) : "r"(input));
- return output;
-}
-#define BROTLI_RBIT(x) BrotliRBit(x)
-#endif /* armv7 / armv8 */
-#endif /* gcc || clang */
-#if !defined(BROTLI_RBIT)
-static BROTLI_INLINE void BrotliRBit(void) { /* Should break build if used. */ }
-#endif /* BROTLI_RBIT */
-
-#define BROTLI_REPEAT(N, X) { \
- if ((N & 1) != 0) {X;} \
- if ((N & 2) != 0) {X; X;} \
- if ((N & 4) != 0) {X; X; X; X;} \
-}
-
-#define BROTLI_UNUSED(X) (void)(X)
-
-#define BROTLI_MIN_MAX(T) \
- static BROTLI_INLINE T brotli_min_ ## T (T a, T b) { return a < b ? a : b; } \
- static BROTLI_INLINE T brotli_max_ ## T (T a, T b) { return a > b ? a : b; }
-BROTLI_MIN_MAX(double) BROTLI_MIN_MAX(float) BROTLI_MIN_MAX(int)
-BROTLI_MIN_MAX(size_t) BROTLI_MIN_MAX(uint32_t) BROTLI_MIN_MAX(uint8_t)
-#undef BROTLI_MIN_MAX
-#define BROTLI_MIN(T, A, B) (brotli_min_ ## T((A), (B)))
-#define BROTLI_MAX(T, A, B) (brotli_max_ ## T((A), (B)))
-
-#define BROTLI_SWAP(T, A, I, J) { \
- T __brotli_swap_tmp = (A)[(I)]; \
- (A)[(I)] = (A)[(J)]; \
- (A)[(J)] = __brotli_swap_tmp; \
-}
-
-/* Default brotli_alloc_func */
-static void* BrotliDefaultAllocFunc(void* opaque, size_t size) {
- BROTLI_UNUSED(opaque);
- return BrDummyMalloc(size);
-}
-
-/* Default brotli_free_func */
-static void BrotliDefaultFreeFunc(void* opaque, void* address) {
- BROTLI_UNUSED(opaque);
- BrDummyFree(address);
-}
-
-BROTLI_UNUSED_FUNCTION void BrotliSuppressUnusedFunctions(void) {
- BROTLI_UNUSED(&BrotliSuppressUnusedFunctions);
- BROTLI_UNUSED(&BrotliUnalignedRead16);
- BROTLI_UNUSED(&BrotliUnalignedRead32);
- BROTLI_UNUSED(&BrotliUnalignedRead64);
- BROTLI_UNUSED(&BrotliUnalignedWrite64);
- BROTLI_UNUSED(&BROTLI_UNALIGNED_LOAD16LE);
- BROTLI_UNUSED(&BROTLI_UNALIGNED_LOAD32LE);
- BROTLI_UNUSED(&BROTLI_UNALIGNED_LOAD64LE);
- BROTLI_UNUSED(&BROTLI_UNALIGNED_STORE64LE);
- BROTLI_UNUSED(&BrotliRBit);
- BROTLI_UNUSED(&brotli_min_double);
- BROTLI_UNUSED(&brotli_max_double);
- BROTLI_UNUSED(&brotli_min_float);
- BROTLI_UNUSED(&brotli_max_float);
- BROTLI_UNUSED(&brotli_min_int);
- BROTLI_UNUSED(&brotli_max_int);
- BROTLI_UNUSED(&brotli_min_size_t);
- BROTLI_UNUSED(&brotli_max_size_t);
- BROTLI_UNUSED(&brotli_min_uint32_t);
- BROTLI_UNUSED(&brotli_max_uint32_t);
- BROTLI_UNUSED(&brotli_min_uint8_t);
- BROTLI_UNUSED(&brotli_max_uint8_t);
- BROTLI_UNUSED(&BrotliDefaultAllocFunc);
- BROTLI_UNUSED(&BrotliDefaultFreeFunc);
-#if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG)
- BROTLI_UNUSED(&BrotliDump);
-#endif
-}
-
-#endif /* BROTLI_COMMON_PLATFORM_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.h
deleted file mode 100644
index 8b42cd1807b0..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/transform.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* transforms is a part of ABI, but not API.
-
- It means that there are some functions that are supposed to be in "common"
- library, but header itself is not placed into include/brotli. This way,
- aforementioned functions will be available only to brotli internals.
- */
-
-#ifndef BROTLI_COMMON_TRANSFORM_H_
-#define BROTLI_COMMON_TRANSFORM_H_
-
-#include <brotli/port.h>
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-enum BrotliWordTransformType {
- BROTLI_TRANSFORM_IDENTITY = 0,
- BROTLI_TRANSFORM_OMIT_LAST_1 = 1,
- BROTLI_TRANSFORM_OMIT_LAST_2 = 2,
- BROTLI_TRANSFORM_OMIT_LAST_3 = 3,
- BROTLI_TRANSFORM_OMIT_LAST_4 = 4,
- BROTLI_TRANSFORM_OMIT_LAST_5 = 5,
- BROTLI_TRANSFORM_OMIT_LAST_6 = 6,
- BROTLI_TRANSFORM_OMIT_LAST_7 = 7,
- BROTLI_TRANSFORM_OMIT_LAST_8 = 8,
- BROTLI_TRANSFORM_OMIT_LAST_9 = 9,
- BROTLI_TRANSFORM_UPPERCASE_FIRST = 10,
- BROTLI_TRANSFORM_UPPERCASE_ALL = 11,
- BROTLI_TRANSFORM_OMIT_FIRST_1 = 12,
- BROTLI_TRANSFORM_OMIT_FIRST_2 = 13,
- BROTLI_TRANSFORM_OMIT_FIRST_3 = 14,
- BROTLI_TRANSFORM_OMIT_FIRST_4 = 15,
- BROTLI_TRANSFORM_OMIT_FIRST_5 = 16,
- BROTLI_TRANSFORM_OMIT_FIRST_6 = 17,
- BROTLI_TRANSFORM_OMIT_FIRST_7 = 18,
- BROTLI_TRANSFORM_OMIT_FIRST_8 = 19,
- BROTLI_TRANSFORM_OMIT_FIRST_9 = 20,
- BROTLI_NUM_TRANSFORM_TYPES /* Counts transforms, not a transform itself. */
-};
-
-#define BROTLI_TRANSFORMS_MAX_CUT_OFF BROTLI_TRANSFORM_OMIT_LAST_9
-
-typedef struct BrotliTransforms {
- uint16_t prefix_suffix_size;
- /* Last character must be null, so prefix_suffix_size must be at least 1. */
- const uint8_t* prefix_suffix;
- const uint16_t* prefix_suffix_map;
- uint32_t num_transforms;
- /* Each entry is a [prefix_id, transform, suffix_id] triplet. */
- const uint8_t* transforms;
- /* Indices of transforms like ["", BROTLI_TRANSFORM_OMIT_LAST_#, ""].
- 0-th element corresponds to ["", BROTLI_TRANSFORM_IDENTITY, ""].
- -1, if cut-off transform does not exist. */
- int16_t cutOffTransforms[BROTLI_TRANSFORMS_MAX_CUT_OFF + 1];
-} BrotliTransforms;
-
-/* T is BrotliTransforms*; result is uint8_t. */
-#define BROTLI_TRANSFORM_PREFIX_ID(T, I) ((T)->transforms[((I) * 3) + 0])
-#define BROTLI_TRANSFORM_TYPE(T, I) ((T)->transforms[((I) * 3) + 1])
-#define BROTLI_TRANSFORM_SUFFIX_ID(T, I) ((T)->transforms[((I) * 3) + 2])
-
-/* T is BrotliTransforms*; result is const uint8_t*. */
-#define BROTLI_TRANSFORM_PREFIX(T, I) (&(T)->prefix_suffix[ \
- (T)->prefix_suffix_map[BROTLI_TRANSFORM_PREFIX_ID(T, I)]])
-#define BROTLI_TRANSFORM_SUFFIX(T, I) (&(T)->prefix_suffix[ \
- (T)->prefix_suffix_map[BROTLI_TRANSFORM_SUFFIX_ID(T, I)]])
-
-BROTLI_COMMON_API const BrotliTransforms* BrotliGetTransforms(void);
-
-BROTLI_COMMON_API int BrotliTransformDictionaryWord(
- uint8_t* dst, const uint8_t* word, int len,
- const BrotliTransforms* transforms, int transform_idx);
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_COMMON_TRANSFORM_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/version.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/common/version.h
deleted file mode 100644
index 8e94f4ffeacd..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/common/version.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2016 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Version definition. */
-
-#ifndef BROTLI_COMMON_VERSION_H_
-#define BROTLI_COMMON_VERSION_H_
-
-/* This macro should only be used when library is compiled together with client.
- If library is dynamically linked, use BrotliDecoderVersion and
- BrotliEncoderVersion methods. */
-
-/* Semantic version, calculated as (MAJOR << 24) | (MINOR << 12) | PATCH */
-#define BROTLI_VERSION 0x1000006
-
-/* This macro is used by build system to produce Libtool-friendly soname. See
- https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
- */
-
-/* ABI version, calculated as (CURRENT << 24) | (REVISION << 12) | AGE */
-#define BROTLI_ABI_VERSION 0x1006000
-
-#endif /* BROTLI_COMMON_VERSION_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.h
deleted file mode 100644
index bf2b938dec8b..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/bit_reader.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Bit reading helpers */
-
-#ifndef BROTLI_DEC_BIT_READER_H_
-#define BROTLI_DEC_BIT_READER_H_
-
-//#include <string.h> /* memcpy */
-
-#include "../common/platform.h"
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-#define BROTLI_SHORT_FILL_BIT_WINDOW_READ (sizeof(brotli_reg_t) >> 1)
-
-static const uint32_t kBitMask[33] = { 0x00000000,
- 0x00000001, 0x00000003, 0x00000007, 0x0000000F,
- 0x0000001F, 0x0000003F, 0x0000007F, 0x000000FF,
- 0x000001FF, 0x000003FF, 0x000007FF, 0x00000FFF,
- 0x00001FFF, 0x00003FFF, 0x00007FFF, 0x0000FFFF,
- 0x0001FFFF, 0x0003FFFF, 0x0007FFFF, 0x000FFFFF,
- 0x001FFFFF, 0x003FFFFF, 0x007FFFFF, 0x00FFFFFF,
- 0x01FFFFFF, 0x03FFFFFF, 0x07FFFFFF, 0x0FFFFFFF,
- 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF
-};
-
-static BROTLI_INLINE uint32_t BitMask(uint32_t n) {
- if (BROTLI_IS_CONSTANT(n) || BROTLI_HAS_UBFX) {
- /* Masking with this expression turns to a single
- "Unsigned Bit Field Extract" UBFX instruction on ARM. */
- return ~((0xFFFFFFFFu) << n);
- } else {
- return kBitMask[n];
- }
-}
-
-typedef struct {
- brotli_reg_t val_; /* pre-fetched bits */
- uint32_t bit_pos_; /* current bit-reading position in val_ */
- const uint8_t* next_in; /* the byte we're reading from */
- size_t avail_in;
-} BrotliBitReader;
-
-typedef struct {
- brotli_reg_t val_;
- uint32_t bit_pos_;
- const uint8_t* next_in;
- size_t avail_in;
-} BrotliBitReaderState;
-
-/* Initializes the BrotliBitReader fields. */
-BROTLI_INTERNAL void BrotliInitBitReader(BrotliBitReader* const br);
-
-/* Ensures that accumulator is not empty.
- May consume up to sizeof(brotli_reg_t) - 1 bytes of input.
- Returns BROTLI_FALSE if data is required but there is no input available.
- For BROTLI_ALIGNED_READ this function also prepares bit reader for aligned
- reading. */
-BROTLI_INTERNAL BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br);
-
-static BROTLI_INLINE void BrotliBitReaderSaveState(
- BrotliBitReader* const from, BrotliBitReaderState* to) {
- to->val_ = from->val_;
- to->bit_pos_ = from->bit_pos_;
- to->next_in = from->next_in;
- to->avail_in = from->avail_in;
-}
-
-static BROTLI_INLINE void BrotliBitReaderRestoreState(
- BrotliBitReader* const to, BrotliBitReaderState* from) {
- to->val_ = from->val_;
- to->bit_pos_ = from->bit_pos_;
- to->next_in = from->next_in;
- to->avail_in = from->avail_in;
-}
-
-static BROTLI_INLINE uint32_t BrotliGetAvailableBits(
- const BrotliBitReader* br) {
- return (BROTLI_64_BITS ? 64 : 32) - br->bit_pos_;
-}
-
-/* Returns amount of unread bytes the bit reader still has buffered from the
- BrotliInput, including whole bytes in br->val_. */
-static BROTLI_INLINE size_t BrotliGetRemainingBytes(BrotliBitReader* br) {
- return br->avail_in + (BrotliGetAvailableBits(br) >> 3);
-}
-
-/* Checks if there is at least |num| bytes left in the input ring-buffer
- (excluding the bits remaining in br->val_). */
-static BROTLI_INLINE BROTLI_BOOL BrotliCheckInputAmount(
- BrotliBitReader* const br, size_t num) {
- return TO_BROTLI_BOOL(br->avail_in >= num);
-}
-
-/* Guarantees that there are at least |n_bits| + 1 bits in accumulator.
- Precondition: accumulator contains at least 1 bit.
- |n_bits| should be in the range [1..24] for regular build. For portable
- non-64-bit little-endian build only 16 bits are safe to request. */
-static BROTLI_INLINE void BrotliFillBitWindow(
- BrotliBitReader* const br, uint32_t n_bits) {
-#if (BROTLI_64_BITS)
- if (!BROTLI_ALIGNED_READ && BROTLI_IS_CONSTANT(n_bits) && (n_bits <= 8)) {
- if (br->bit_pos_ >= 56) {
- br->val_ >>= 56;
- br->bit_pos_ ^= 56; /* here same as -= 56 because of the if condition */
- br->val_ |= BROTLI_UNALIGNED_LOAD64LE(br->next_in) << 8;
- br->avail_in -= 7;
- br->next_in += 7;
- }
- } else if (
- !BROTLI_ALIGNED_READ && BROTLI_IS_CONSTANT(n_bits) && (n_bits <= 16)) {
- if (br->bit_pos_ >= 48) {
- br->val_ >>= 48;
- br->bit_pos_ ^= 48; /* here same as -= 48 because of the if condition */
- br->val_ |= BROTLI_UNALIGNED_LOAD64LE(br->next_in) << 16;
- br->avail_in -= 6;
- br->next_in += 6;
- }
- } else {
- if (br->bit_pos_ >= 32) {
- br->val_ >>= 32;
- br->bit_pos_ ^= 32; /* here same as -= 32 because of the if condition */
- br->val_ |= ((uint64_t)BROTLI_UNALIGNED_LOAD32LE(br->next_in)) << 32;
- br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ;
- br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ;
- }
- }
-#else
- if (!BROTLI_ALIGNED_READ && BROTLI_IS_CONSTANT(n_bits) && (n_bits <= 8)) {
- if (br->bit_pos_ >= 24) {
- br->val_ >>= 24;
- br->bit_pos_ ^= 24; /* here same as -= 24 because of the if condition */
- br->val_ |= BROTLI_UNALIGNED_LOAD32LE(br->next_in) << 8;
- br->avail_in -= 3;
- br->next_in += 3;
- }
- } else {
- if (br->bit_pos_ >= 16) {
- br->val_ >>= 16;
- br->bit_pos_ ^= 16; /* here same as -= 16 because of the if condition */
- br->val_ |= ((uint32_t)BROTLI_UNALIGNED_LOAD16LE(br->next_in)) << 16;
- br->avail_in -= BROTLI_SHORT_FILL_BIT_WINDOW_READ;
- br->next_in += BROTLI_SHORT_FILL_BIT_WINDOW_READ;
- }
- }
-#endif
-}
-
-/* Mostly like BrotliFillBitWindow, but guarantees only 16 bits and reads no
- more than BROTLI_SHORT_FILL_BIT_WINDOW_READ bytes of input. */
-static BROTLI_INLINE void BrotliFillBitWindow16(BrotliBitReader* const br) {
- BrotliFillBitWindow(br, 17);
-}
-
-/* Tries to pull one byte of input to accumulator.
- Returns BROTLI_FALSE if there is no input available. */
-static BROTLI_INLINE BROTLI_BOOL BrotliPullByte(BrotliBitReader* const br) {
- if (br->avail_in == 0) {
- return BROTLI_FALSE;
- }
- br->val_ >>= 8;
-#if (BROTLI_64_BITS)
- br->val_ |= ((uint64_t)*br->next_in) << 56;
-#else
- br->val_ |= ((uint32_t)*br->next_in) << 24;
-#endif
- br->bit_pos_ -= 8;
- --br->avail_in;
- ++br->next_in;
- return BROTLI_TRUE;
-}
-
-/* Returns currently available bits.
- The number of valid bits could be calculated by BrotliGetAvailableBits. */
-static BROTLI_INLINE brotli_reg_t BrotliGetBitsUnmasked(
- BrotliBitReader* const br) {
- return br->val_ >> br->bit_pos_;
-}
-
-/* Like BrotliGetBits, but does not mask the result.
- The result contains at least 16 valid bits. */
-static BROTLI_INLINE uint32_t BrotliGet16BitsUnmasked(
- BrotliBitReader* const br) {
- BrotliFillBitWindow(br, 16);
- return (uint32_t)BrotliGetBitsUnmasked(br);
-}
-
-/* Returns the specified number of bits from |br| without advancing bit
- position. */
-static BROTLI_INLINE uint32_t BrotliGetBits(
- BrotliBitReader* const br, uint32_t n_bits) {
- BrotliFillBitWindow(br, n_bits);
- return (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits);
-}
-
-/* Tries to peek the specified amount of bits. Returns BROTLI_FALSE, if there
- is not enough input. */
-static BROTLI_INLINE BROTLI_BOOL BrotliSafeGetBits(
- BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {
- while (BrotliGetAvailableBits(br) < n_bits) {
- if (!BrotliPullByte(br)) {
- return BROTLI_FALSE;
- }
- }
- *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits);
- return BROTLI_TRUE;
-}
-
-/* Advances the bit pos by |n_bits|. */
-static BROTLI_INLINE void BrotliDropBits(
- BrotliBitReader* const br, uint32_t n_bits) {
- br->bit_pos_ += n_bits;
-}
-
-static BROTLI_INLINE void BrotliBitReaderUnload(BrotliBitReader* br) {
- uint32_t unused_bytes = BrotliGetAvailableBits(br) >> 3;
- uint32_t unused_bits = unused_bytes << 3;
- br->avail_in += unused_bytes;
- br->next_in -= unused_bytes;
- if (unused_bits == sizeof(br->val_) << 3) {
- br->val_ = 0;
- } else {
- br->val_ <<= unused_bits;
- }
- br->bit_pos_ += unused_bits;
-}
-
-/* Reads the specified number of bits from |br| and advances the bit pos.
- Precondition: accumulator MUST contain at least |n_bits|. */
-static BROTLI_INLINE void BrotliTakeBits(
- BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {
- *val = (uint32_t)BrotliGetBitsUnmasked(br) & BitMask(n_bits);
- BROTLI_LOG(("[BrotliReadBits] %d %d %d val: %6x\n",
- (int)br->avail_in, (int)br->bit_pos_, (int)n_bits, (int)*val));
- BrotliDropBits(br, n_bits);
-}
-
-/* Reads the specified number of bits from |br| and advances the bit pos.
- Assumes that there is enough input to perform BrotliFillBitWindow. */
-static BROTLI_INLINE uint32_t BrotliReadBits(
- BrotliBitReader* const br, uint32_t n_bits) {
- if (BROTLI_64_BITS || (n_bits <= 16)) {
- uint32_t val;
- BrotliFillBitWindow(br, n_bits);
- BrotliTakeBits(br, n_bits, &val);
- return val;
- } else {
- uint32_t low_val;
- uint32_t high_val;
- BrotliFillBitWindow(br, 16);
- BrotliTakeBits(br, 16, &low_val);
- BrotliFillBitWindow(br, 8);
- BrotliTakeBits(br, n_bits - 16, &high_val);
- return low_val | (high_val << 16);
- }
-}
-
-/* Tries to read the specified amount of bits. Returns BROTLI_FALSE, if there
- is not enough input. |n_bits| MUST be positive. */
-static BROTLI_INLINE BROTLI_BOOL BrotliSafeReadBits(
- BrotliBitReader* const br, uint32_t n_bits, uint32_t* val) {
- while (BrotliGetAvailableBits(br) < n_bits) {
- if (!BrotliPullByte(br)) {
- return BROTLI_FALSE;
- }
- }
- BrotliTakeBits(br, n_bits, val);
- return BROTLI_TRUE;
-}
-
-/* Advances the bit reader position to the next byte boundary and verifies
- that any skipped bits are set to zero. */
-static BROTLI_INLINE BROTLI_BOOL BrotliJumpToByteBoundary(BrotliBitReader* br) {
- uint32_t pad_bits_count = BrotliGetAvailableBits(br) & 0x7;
- uint32_t pad_bits = 0;
- if (pad_bits_count != 0) {
- BrotliTakeBits(br, pad_bits_count, &pad_bits);
- }
- return TO_BROTLI_BOOL(pad_bits == 0);
-}
-
-/* Copies remaining input bytes stored in the bit reader to the output. Value
- |num| may not be larger than BrotliGetRemainingBytes. The bit reader must be
- warmed up again after this. */
-static BROTLI_INLINE void BrotliCopyBytes(uint8_t* dest,
- BrotliBitReader* br, size_t num) {
- while (BrotliGetAvailableBits(br) >= 8 && num > 0) {
- *dest = (uint8_t)BrotliGetBitsUnmasked(br);
- BrotliDropBits(br, 8);
- ++dest;
- --num;
- }
- memcpy(dest, br->next_in, num);
- br->avail_in -= num;
- br->next_in += num;
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_DEC_BIT_READER_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.h
deleted file mode 100644
index 5fc8c0224edc..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/huffman.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Utilities for building Huffman decoding tables. */
-
-#ifndef BROTLI_DEC_HUFFMAN_H_
-#define BROTLI_DEC_HUFFMAN_H_
-
-#include "../common/platform.h"
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-#define BROTLI_HUFFMAN_MAX_CODE_LENGTH 15
-
-/* Maximum possible Huffman table size for an alphabet size of (index * 32),
- max code length 15 and root table bits 8. */
-static const uint16_t kMaxHuffmanTableSize[] = {
- 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822,
- 854, 886, 920, 952, 984, 1016, 1048, 1080, 1112, 1144, 1176, 1208, 1240, 1272,
- 1304, 1336, 1368, 1400, 1432, 1464, 1496, 1528};
-/* BROTLI_NUM_BLOCK_LEN_SYMBOLS == 26 */
-#define BROTLI_HUFFMAN_MAX_SIZE_26 396
-/* BROTLI_MAX_BLOCK_TYPE_SYMBOLS == 258 */
-#define BROTLI_HUFFMAN_MAX_SIZE_258 632
-/* BROTLI_MAX_CONTEXT_MAP_SYMBOLS == 272 */
-#define BROTLI_HUFFMAN_MAX_SIZE_272 646
-
-#define BROTLI_HUFFMAN_MAX_CODE_LENGTH_CODE_LENGTH 5
-
-typedef struct {
- uint8_t bits; /* number of bits used for this symbol */
- uint16_t value; /* symbol value or table offset */
-} HuffmanCode;
-
-/* Builds Huffman lookup table assuming code lengths are in symbol order. */
-BROTLI_INTERNAL void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* root_table,
- const uint8_t* const code_lengths, uint16_t* count);
-
-/* Builds Huffman lookup table assuming code lengths are in symbol order.
- Returns size of resulting table. */
-BROTLI_INTERNAL uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table,
- int root_bits, const uint16_t* const symbol_lists, uint16_t* count_arg);
-
-/* Builds a simple Huffman table. The |num_symbols| parameter is to be
- interpreted as follows: 0 means 1 symbol, 1 means 2 symbols,
- 2 means 3 symbols, 3 means 4 symbols with lengths [2, 2, 2, 2],
- 4 means 4 symbols with lengths [1, 2, 3, 3]. */
-BROTLI_INTERNAL uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table,
- int root_bits, uint16_t* symbols, uint32_t num_symbols);
-
-/* Contains a collection of Huffman trees with the same alphabet size. */
-/* max_symbol is needed due to simple codes since log2(alphabet_size) could be
- greater than log2(max_symbol). */
-typedef struct {
- HuffmanCode** htrees;
- HuffmanCode* codes;
- uint16_t alphabet_size;
- uint16_t max_symbol;
- uint16_t num_htrees;
-} HuffmanTreeGroup;
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_DEC_HUFFMAN_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/prefix.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/prefix.h
deleted file mode 100644
index 39cb45920831..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/prefix.h
+++ /dev/null
@@ -1,750 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Lookup tables to map prefix codes to value ranges. This is used during
- decoding of the block lengths, literal insertion lengths and copy lengths. */
-
-#ifndef BROTLI_DEC_PREFIX_H_
-#define BROTLI_DEC_PREFIX_H_
-
-#include "../common/constants.h"
-#include <brotli/types.h>
-
-/* Represents the range of values belonging to a prefix code:
- [offset, offset + 2^nbits) */
-struct PrefixCodeRange {
- uint16_t offset;
- uint8_t nbits;
-};
-
-static const struct PrefixCodeRange
- kBlockLengthPrefixCode[BROTLI_NUM_BLOCK_LEN_SYMBOLS] = {
- { 1, 2}, { 5, 2}, { 9, 2}, { 13, 2},
- { 17, 3}, { 25, 3}, { 33, 3}, { 41, 3},
- { 49, 4}, { 65, 4}, { 81, 4}, { 97, 4},
- { 113, 5}, { 145, 5}, { 177, 5}, { 209, 5},
- { 241, 6}, { 305, 6}, { 369, 7}, { 497, 8},
- { 753, 9}, { 1265, 10}, {2289, 11}, {4337, 12},
- {8433, 13}, {16625, 24}
-};
-
-typedef struct CmdLutElement {
- uint8_t insert_len_extra_bits;
- uint8_t copy_len_extra_bits;
- int8_t distance_code;
- uint8_t context;
- uint16_t insert_len_offset;
- uint16_t copy_len_offset;
-} CmdLutElement;
-
-static const CmdLutElement kCmdLut[BROTLI_NUM_COMMAND_SYMBOLS] = {
- { 0x00, 0x00, 0, 0x00, 0x0000, 0x0002 },
- { 0x00, 0x00, 0, 0x01, 0x0000, 0x0003 },
- { 0x00, 0x00, 0, 0x02, 0x0000, 0x0004 },
- { 0x00, 0x00, 0, 0x03, 0x0000, 0x0005 },
- { 0x00, 0x00, 0, 0x03, 0x0000, 0x0006 },
- { 0x00, 0x00, 0, 0x03, 0x0000, 0x0007 },
- { 0x00, 0x00, 0, 0x03, 0x0000, 0x0008 },
- { 0x00, 0x00, 0, 0x03, 0x0000, 0x0009 },
- { 0x00, 0x00, 0, 0x00, 0x0001, 0x0002 },
- { 0x00, 0x00, 0, 0x01, 0x0001, 0x0003 },
- { 0x00, 0x00, 0, 0x02, 0x0001, 0x0004 },
- { 0x00, 0x00, 0, 0x03, 0x0001, 0x0005 },
- { 0x00, 0x00, 0, 0x03, 0x0001, 0x0006 },
- { 0x00, 0x00, 0, 0x03, 0x0001, 0x0007 },
- { 0x00, 0x00, 0, 0x03, 0x0001, 0x0008 },
- { 0x00, 0x00, 0, 0x03, 0x0001, 0x0009 },
- { 0x00, 0x00, 0, 0x00, 0x0002, 0x0002 },
- { 0x00, 0x00, 0, 0x01, 0x0002, 0x0003 },
- { 0x00, 0x00, 0, 0x02, 0x0002, 0x0004 },
- { 0x00, 0x00, 0, 0x03, 0x0002, 0x0005 },
- { 0x00, 0x00, 0, 0x03, 0x0002, 0x0006 },
- { 0x00, 0x00, 0, 0x03, 0x0002, 0x0007 },
- { 0x00, 0x00, 0, 0x03, 0x0002, 0x0008 },
- { 0x00, 0x00, 0, 0x03, 0x0002, 0x0009 },
- { 0x00, 0x00, 0, 0x00, 0x0003, 0x0002 },
- { 0x00, 0x00, 0, 0x01, 0x0003, 0x0003 },
- { 0x00, 0x00, 0, 0x02, 0x0003, 0x0004 },
- { 0x00, 0x00, 0, 0x03, 0x0003, 0x0005 },
- { 0x00, 0x00, 0, 0x03, 0x0003, 0x0006 },
- { 0x00, 0x00, 0, 0x03, 0x0003, 0x0007 },
- { 0x00, 0x00, 0, 0x03, 0x0003, 0x0008 },
- { 0x00, 0x00, 0, 0x03, 0x0003, 0x0009 },
- { 0x00, 0x00, 0, 0x00, 0x0004, 0x0002 },
- { 0x00, 0x00, 0, 0x01, 0x0004, 0x0003 },
- { 0x00, 0x00, 0, 0x02, 0x0004, 0x0004 },
- { 0x00, 0x00, 0, 0x03, 0x0004, 0x0005 },
- { 0x00, 0x00, 0, 0x03, 0x0004, 0x0006 },
- { 0x00, 0x00, 0, 0x03, 0x0004, 0x0007 },
- { 0x00, 0x00, 0, 0x03, 0x0004, 0x0008 },
- { 0x00, 0x00, 0, 0x03, 0x0004, 0x0009 },
- { 0x00, 0x00, 0, 0x00, 0x0005, 0x0002 },
- { 0x00, 0x00, 0, 0x01, 0x0005, 0x0003 },
- { 0x00, 0x00, 0, 0x02, 0x0005, 0x0004 },
- { 0x00, 0x00, 0, 0x03, 0x0005, 0x0005 },
- { 0x00, 0x00, 0, 0x03, 0x0005, 0x0006 },
- { 0x00, 0x00, 0, 0x03, 0x0005, 0x0007 },
- { 0x00, 0x00, 0, 0x03, 0x0005, 0x0008 },
- { 0x00, 0x00, 0, 0x03, 0x0005, 0x0009 },
- { 0x01, 0x00, 0, 0x00, 0x0006, 0x0002 },
- { 0x01, 0x00, 0, 0x01, 0x0006, 0x0003 },
- { 0x01, 0x00, 0, 0x02, 0x0006, 0x0004 },
- { 0x01, 0x00, 0, 0x03, 0x0006, 0x0005 },
- { 0x01, 0x00, 0, 0x03, 0x0006, 0x0006 },
- { 0x01, 0x00, 0, 0x03, 0x0006, 0x0007 },
- { 0x01, 0x00, 0, 0x03, 0x0006, 0x0008 },
- { 0x01, 0x00, 0, 0x03, 0x0006, 0x0009 },
- { 0x01, 0x00, 0, 0x00, 0x0008, 0x0002 },
- { 0x01, 0x00, 0, 0x01, 0x0008, 0x0003 },
- { 0x01, 0x00, 0, 0x02, 0x0008, 0x0004 },
- { 0x01, 0x00, 0, 0x03, 0x0008, 0x0005 },
- { 0x01, 0x00, 0, 0x03, 0x0008, 0x0006 },
- { 0x01, 0x00, 0, 0x03, 0x0008, 0x0007 },
- { 0x01, 0x00, 0, 0x03, 0x0008, 0x0008 },
- { 0x01, 0x00, 0, 0x03, 0x0008, 0x0009 },
- { 0x00, 0x01, 0, 0x03, 0x0000, 0x000a },
- { 0x00, 0x01, 0, 0x03, 0x0000, 0x000c },
- { 0x00, 0x02, 0, 0x03, 0x0000, 0x000e },
- { 0x00, 0x02, 0, 0x03, 0x0000, 0x0012 },
- { 0x00, 0x03, 0, 0x03, 0x0000, 0x0016 },
- { 0x00, 0x03, 0, 0x03, 0x0000, 0x001e },
- { 0x00, 0x04, 0, 0x03, 0x0000, 0x0026 },
- { 0x00, 0x04, 0, 0x03, 0x0000, 0x0036 },
- { 0x00, 0x01, 0, 0x03, 0x0001, 0x000a },
- { 0x00, 0x01, 0, 0x03, 0x0001, 0x000c },
- { 0x00, 0x02, 0, 0x03, 0x0001, 0x000e },
- { 0x00, 0x02, 0, 0x03, 0x0001, 0x0012 },
- { 0x00, 0x03, 0, 0x03, 0x0001, 0x0016 },
- { 0x00, 0x03, 0, 0x03, 0x0001, 0x001e },
- { 0x00, 0x04, 0, 0x03, 0x0001, 0x0026 },
- { 0x00, 0x04, 0, 0x03, 0x0001, 0x0036 },
- { 0x00, 0x01, 0, 0x03, 0x0002, 0x000a },
- { 0x00, 0x01, 0, 0x03, 0x0002, 0x000c },
- { 0x00, 0x02, 0, 0x03, 0x0002, 0x000e },
- { 0x00, 0x02, 0, 0x03, 0x0002, 0x0012 },
- { 0x00, 0x03, 0, 0x03, 0x0002, 0x0016 },
- { 0x00, 0x03, 0, 0x03, 0x0002, 0x001e },
- { 0x00, 0x04, 0, 0x03, 0x0002, 0x0026 },
- { 0x00, 0x04, 0, 0x03, 0x0002, 0x0036 },
- { 0x00, 0x01, 0, 0x03, 0x0003, 0x000a },
- { 0x00, 0x01, 0, 0x03, 0x0003, 0x000c },
- { 0x00, 0x02, 0, 0x03, 0x0003, 0x000e },
- { 0x00, 0x02, 0, 0x03, 0x0003, 0x0012 },
- { 0x00, 0x03, 0, 0x03, 0x0003, 0x0016 },
- { 0x00, 0x03, 0, 0x03, 0x0003, 0x001e },
- { 0x00, 0x04, 0, 0x03, 0x0003, 0x0026 },
- { 0x00, 0x04, 0, 0x03, 0x0003, 0x0036 },
- { 0x00, 0x01, 0, 0x03, 0x0004, 0x000a },
- { 0x00, 0x01, 0, 0x03, 0x0004, 0x000c },
- { 0x00, 0x02, 0, 0x03, 0x0004, 0x000e },
- { 0x00, 0x02, 0, 0x03, 0x0004, 0x0012 },
- { 0x00, 0x03, 0, 0x03, 0x0004, 0x0016 },
- { 0x00, 0x03, 0, 0x03, 0x0004, 0x001e },
- { 0x00, 0x04, 0, 0x03, 0x0004, 0x0026 },
- { 0x00, 0x04, 0, 0x03, 0x0004, 0x0036 },
- { 0x00, 0x01, 0, 0x03, 0x0005, 0x000a },
- { 0x00, 0x01, 0, 0x03, 0x0005, 0x000c },
- { 0x00, 0x02, 0, 0x03, 0x0005, 0x000e },
- { 0x00, 0x02, 0, 0x03, 0x0005, 0x0012 },
- { 0x00, 0x03, 0, 0x03, 0x0005, 0x0016 },
- { 0x00, 0x03, 0, 0x03, 0x0005, 0x001e },
- { 0x00, 0x04, 0, 0x03, 0x0005, 0x0026 },
- { 0x00, 0x04, 0, 0x03, 0x0005, 0x0036 },
- { 0x01, 0x01, 0, 0x03, 0x0006, 0x000a },
- { 0x01, 0x01, 0, 0x03, 0x0006, 0x000c },
- { 0x01, 0x02, 0, 0x03, 0x0006, 0x000e },
- { 0x01, 0x02, 0, 0x03, 0x0006, 0x0012 },
- { 0x01, 0x03, 0, 0x03, 0x0006, 0x0016 },
- { 0x01, 0x03, 0, 0x03, 0x0006, 0x001e },
- { 0x01, 0x04, 0, 0x03, 0x0006, 0x0026 },
- { 0x01, 0x04, 0, 0x03, 0x0006, 0x0036 },
- { 0x01, 0x01, 0, 0x03, 0x0008, 0x000a },
- { 0x01, 0x01, 0, 0x03, 0x0008, 0x000c },
- { 0x01, 0x02, 0, 0x03, 0x0008, 0x000e },
- { 0x01, 0x02, 0, 0x03, 0x0008, 0x0012 },
- { 0x01, 0x03, 0, 0x03, 0x0008, 0x0016 },
- { 0x01, 0x03, 0, 0x03, 0x0008, 0x001e },
- { 0x01, 0x04, 0, 0x03, 0x0008, 0x0026 },
- { 0x01, 0x04, 0, 0x03, 0x0008, 0x0036 },
- { 0x00, 0x00, -1, 0x00, 0x0000, 0x0002 },
- { 0x00, 0x00, -1, 0x01, 0x0000, 0x0003 },
- { 0x00, 0x00, -1, 0x02, 0x0000, 0x0004 },
- { 0x00, 0x00, -1, 0x03, 0x0000, 0x0005 },
- { 0x00, 0x00, -1, 0x03, 0x0000, 0x0006 },
- { 0x00, 0x00, -1, 0x03, 0x0000, 0x0007 },
- { 0x00, 0x00, -1, 0x03, 0x0000, 0x0008 },
- { 0x00, 0x00, -1, 0x03, 0x0000, 0x0009 },
- { 0x00, 0x00, -1, 0x00, 0x0001, 0x0002 },
- { 0x00, 0x00, -1, 0x01, 0x0001, 0x0003 },
- { 0x00, 0x00, -1, 0x02, 0x0001, 0x0004 },
- { 0x00, 0x00, -1, 0x03, 0x0001, 0x0005 },
- { 0x00, 0x00, -1, 0x03, 0x0001, 0x0006 },
- { 0x00, 0x00, -1, 0x03, 0x0001, 0x0007 },
- { 0x00, 0x00, -1, 0x03, 0x0001, 0x0008 },
- { 0x00, 0x00, -1, 0x03, 0x0001, 0x0009 },
- { 0x00, 0x00, -1, 0x00, 0x0002, 0x0002 },
- { 0x00, 0x00, -1, 0x01, 0x0002, 0x0003 },
- { 0x00, 0x00, -1, 0x02, 0x0002, 0x0004 },
- { 0x00, 0x00, -1, 0x03, 0x0002, 0x0005 },
- { 0x00, 0x00, -1, 0x03, 0x0002, 0x0006 },
- { 0x00, 0x00, -1, 0x03, 0x0002, 0x0007 },
- { 0x00, 0x00, -1, 0x03, 0x0002, 0x0008 },
- { 0x00, 0x00, -1, 0x03, 0x0002, 0x0009 },
- { 0x00, 0x00, -1, 0x00, 0x0003, 0x0002 },
- { 0x00, 0x00, -1, 0x01, 0x0003, 0x0003 },
- { 0x00, 0x00, -1, 0x02, 0x0003, 0x0004 },
- { 0x00, 0x00, -1, 0x03, 0x0003, 0x0005 },
- { 0x00, 0x00, -1, 0x03, 0x0003, 0x0006 },
- { 0x00, 0x00, -1, 0x03, 0x0003, 0x0007 },
- { 0x00, 0x00, -1, 0x03, 0x0003, 0x0008 },
- { 0x00, 0x00, -1, 0x03, 0x0003, 0x0009 },
- { 0x00, 0x00, -1, 0x00, 0x0004, 0x0002 },
- { 0x00, 0x00, -1, 0x01, 0x0004, 0x0003 },
- { 0x00, 0x00, -1, 0x02, 0x0004, 0x0004 },
- { 0x00, 0x00, -1, 0x03, 0x0004, 0x0005 },
- { 0x00, 0x00, -1, 0x03, 0x0004, 0x0006 },
- { 0x00, 0x00, -1, 0x03, 0x0004, 0x0007 },
- { 0x00, 0x00, -1, 0x03, 0x0004, 0x0008 },
- { 0x00, 0x00, -1, 0x03, 0x0004, 0x0009 },
- { 0x00, 0x00, -1, 0x00, 0x0005, 0x0002 },
- { 0x00, 0x00, -1, 0x01, 0x0005, 0x0003 },
- { 0x00, 0x00, -1, 0x02, 0x0005, 0x0004 },
- { 0x00, 0x00, -1, 0x03, 0x0005, 0x0005 },
- { 0x00, 0x00, -1, 0x03, 0x0005, 0x0006 },
- { 0x00, 0x00, -1, 0x03, 0x0005, 0x0007 },
- { 0x00, 0x00, -1, 0x03, 0x0005, 0x0008 },
- { 0x00, 0x00, -1, 0x03, 0x0005, 0x0009 },
- { 0x01, 0x00, -1, 0x00, 0x0006, 0x0002 },
- { 0x01, 0x00, -1, 0x01, 0x0006, 0x0003 },
- { 0x01, 0x00, -1, 0x02, 0x0006, 0x0004 },
- { 0x01, 0x00, -1, 0x03, 0x0006, 0x0005 },
- { 0x01, 0x00, -1, 0x03, 0x0006, 0x0006 },
- { 0x01, 0x00, -1, 0x03, 0x0006, 0x0007 },
- { 0x01, 0x00, -1, 0x03, 0x0006, 0x0008 },
- { 0x01, 0x00, -1, 0x03, 0x0006, 0x0009 },
- { 0x01, 0x00, -1, 0x00, 0x0008, 0x0002 },
- { 0x01, 0x00, -1, 0x01, 0x0008, 0x0003 },
- { 0x01, 0x00, -1, 0x02, 0x0008, 0x0004 },
- { 0x01, 0x00, -1, 0x03, 0x0008, 0x0005 },
- { 0x01, 0x00, -1, 0x03, 0x0008, 0x0006 },
- { 0x01, 0x00, -1, 0x03, 0x0008, 0x0007 },
- { 0x01, 0x00, -1, 0x03, 0x0008, 0x0008 },
- { 0x01, 0x00, -1, 0x03, 0x0008, 0x0009 },
- { 0x00, 0x01, -1, 0x03, 0x0000, 0x000a },
- { 0x00, 0x01, -1, 0x03, 0x0000, 0x000c },
- { 0x00, 0x02, -1, 0x03, 0x0000, 0x000e },
- { 0x00, 0x02, -1, 0x03, 0x0000, 0x0012 },
- { 0x00, 0x03, -1, 0x03, 0x0000, 0x0016 },
- { 0x00, 0x03, -1, 0x03, 0x0000, 0x001e },
- { 0x00, 0x04, -1, 0x03, 0x0000, 0x0026 },
- { 0x00, 0x04, -1, 0x03, 0x0000, 0x0036 },
- { 0x00, 0x01, -1, 0x03, 0x0001, 0x000a },
- { 0x00, 0x01, -1, 0x03, 0x0001, 0x000c },
- { 0x00, 0x02, -1, 0x03, 0x0001, 0x000e },
- { 0x00, 0x02, -1, 0x03, 0x0001, 0x0012 },
- { 0x00, 0x03, -1, 0x03, 0x0001, 0x0016 },
- { 0x00, 0x03, -1, 0x03, 0x0001, 0x001e },
- { 0x00, 0x04, -1, 0x03, 0x0001, 0x0026 },
- { 0x00, 0x04, -1, 0x03, 0x0001, 0x0036 },
- { 0x00, 0x01, -1, 0x03, 0x0002, 0x000a },
- { 0x00, 0x01, -1, 0x03, 0x0002, 0x000c },
- { 0x00, 0x02, -1, 0x03, 0x0002, 0x000e },
- { 0x00, 0x02, -1, 0x03, 0x0002, 0x0012 },
- { 0x00, 0x03, -1, 0x03, 0x0002, 0x0016 },
- { 0x00, 0x03, -1, 0x03, 0x0002, 0x001e },
- { 0x00, 0x04, -1, 0x03, 0x0002, 0x0026 },
- { 0x00, 0x04, -1, 0x03, 0x0002, 0x0036 },
- { 0x00, 0x01, -1, 0x03, 0x0003, 0x000a },
- { 0x00, 0x01, -1, 0x03, 0x0003, 0x000c },
- { 0x00, 0x02, -1, 0x03, 0x0003, 0x000e },
- { 0x00, 0x02, -1, 0x03, 0x0003, 0x0012 },
- { 0x00, 0x03, -1, 0x03, 0x0003, 0x0016 },
- { 0x00, 0x03, -1, 0x03, 0x0003, 0x001e },
- { 0x00, 0x04, -1, 0x03, 0x0003, 0x0026 },
- { 0x00, 0x04, -1, 0x03, 0x0003, 0x0036 },
- { 0x00, 0x01, -1, 0x03, 0x0004, 0x000a },
- { 0x00, 0x01, -1, 0x03, 0x0004, 0x000c },
- { 0x00, 0x02, -1, 0x03, 0x0004, 0x000e },
- { 0x00, 0x02, -1, 0x03, 0x0004, 0x0012 },
- { 0x00, 0x03, -1, 0x03, 0x0004, 0x0016 },
- { 0x00, 0x03, -1, 0x03, 0x0004, 0x001e },
- { 0x00, 0x04, -1, 0x03, 0x0004, 0x0026 },
- { 0x00, 0x04, -1, 0x03, 0x0004, 0x0036 },
- { 0x00, 0x01, -1, 0x03, 0x0005, 0x000a },
- { 0x00, 0x01, -1, 0x03, 0x0005, 0x000c },
- { 0x00, 0x02, -1, 0x03, 0x0005, 0x000e },
- { 0x00, 0x02, -1, 0x03, 0x0005, 0x0012 },
- { 0x00, 0x03, -1, 0x03, 0x0005, 0x0016 },
- { 0x00, 0x03, -1, 0x03, 0x0005, 0x001e },
- { 0x00, 0x04, -1, 0x03, 0x0005, 0x0026 },
- { 0x00, 0x04, -1, 0x03, 0x0005, 0x0036 },
- { 0x01, 0x01, -1, 0x03, 0x0006, 0x000a },
- { 0x01, 0x01, -1, 0x03, 0x0006, 0x000c },
- { 0x01, 0x02, -1, 0x03, 0x0006, 0x000e },
- { 0x01, 0x02, -1, 0x03, 0x0006, 0x0012 },
- { 0x01, 0x03, -1, 0x03, 0x0006, 0x0016 },
- { 0x01, 0x03, -1, 0x03, 0x0006, 0x001e },
- { 0x01, 0x04, -1, 0x03, 0x0006, 0x0026 },
- { 0x01, 0x04, -1, 0x03, 0x0006, 0x0036 },
- { 0x01, 0x01, -1, 0x03, 0x0008, 0x000a },
- { 0x01, 0x01, -1, 0x03, 0x0008, 0x000c },
- { 0x01, 0x02, -1, 0x03, 0x0008, 0x000e },
- { 0x01, 0x02, -1, 0x03, 0x0008, 0x0012 },
- { 0x01, 0x03, -1, 0x03, 0x0008, 0x0016 },
- { 0x01, 0x03, -1, 0x03, 0x0008, 0x001e },
- { 0x01, 0x04, -1, 0x03, 0x0008, 0x0026 },
- { 0x01, 0x04, -1, 0x03, 0x0008, 0x0036 },
- { 0x02, 0x00, -1, 0x00, 0x000a, 0x0002 },
- { 0x02, 0x00, -1, 0x01, 0x000a, 0x0003 },
- { 0x02, 0x00, -1, 0x02, 0x000a, 0x0004 },
- { 0x02, 0x00, -1, 0x03, 0x000a, 0x0005 },
- { 0x02, 0x00, -1, 0x03, 0x000a, 0x0006 },
- { 0x02, 0x00, -1, 0x03, 0x000a, 0x0007 },
- { 0x02, 0x00, -1, 0x03, 0x000a, 0x0008 },
- { 0x02, 0x00, -1, 0x03, 0x000a, 0x0009 },
- { 0x02, 0x00, -1, 0x00, 0x000e, 0x0002 },
- { 0x02, 0x00, -1, 0x01, 0x000e, 0x0003 },
- { 0x02, 0x00, -1, 0x02, 0x000e, 0x0004 },
- { 0x02, 0x00, -1, 0x03, 0x000e, 0x0005 },
- { 0x02, 0x00, -1, 0x03, 0x000e, 0x0006 },
- { 0x02, 0x00, -1, 0x03, 0x000e, 0x0007 },
- { 0x02, 0x00, -1, 0x03, 0x000e, 0x0008 },
- { 0x02, 0x00, -1, 0x03, 0x000e, 0x0009 },
- { 0x03, 0x00, -1, 0x00, 0x0012, 0x0002 },
- { 0x03, 0x00, -1, 0x01, 0x0012, 0x0003 },
- { 0x03, 0x00, -1, 0x02, 0x0012, 0x0004 },
- { 0x03, 0x00, -1, 0x03, 0x0012, 0x0005 },
- { 0x03, 0x00, -1, 0x03, 0x0012, 0x0006 },
- { 0x03, 0x00, -1, 0x03, 0x0012, 0x0007 },
- { 0x03, 0x00, -1, 0x03, 0x0012, 0x0008 },
- { 0x03, 0x00, -1, 0x03, 0x0012, 0x0009 },
- { 0x03, 0x00, -1, 0x00, 0x001a, 0x0002 },
- { 0x03, 0x00, -1, 0x01, 0x001a, 0x0003 },
- { 0x03, 0x00, -1, 0x02, 0x001a, 0x0004 },
- { 0x03, 0x00, -1, 0x03, 0x001a, 0x0005 },
- { 0x03, 0x00, -1, 0x03, 0x001a, 0x0006 },
- { 0x03, 0x00, -1, 0x03, 0x001a, 0x0007 },
- { 0x03, 0x00, -1, 0x03, 0x001a, 0x0008 },
- { 0x03, 0x00, -1, 0x03, 0x001a, 0x0009 },
- { 0x04, 0x00, -1, 0x00, 0x0022, 0x0002 },
- { 0x04, 0x00, -1, 0x01, 0x0022, 0x0003 },
- { 0x04, 0x00, -1, 0x02, 0x0022, 0x0004 },
- { 0x04, 0x00, -1, 0x03, 0x0022, 0x0005 },
- { 0x04, 0x00, -1, 0x03, 0x0022, 0x0006 },
- { 0x04, 0x00, -1, 0x03, 0x0022, 0x0007 },
- { 0x04, 0x00, -1, 0x03, 0x0022, 0x0008 },
- { 0x04, 0x00, -1, 0x03, 0x0022, 0x0009 },
- { 0x04, 0x00, -1, 0x00, 0x0032, 0x0002 },
- { 0x04, 0x00, -1, 0x01, 0x0032, 0x0003 },
- { 0x04, 0x00, -1, 0x02, 0x0032, 0x0004 },
- { 0x04, 0x00, -1, 0x03, 0x0032, 0x0005 },
- { 0x04, 0x00, -1, 0x03, 0x0032, 0x0006 },
- { 0x04, 0x00, -1, 0x03, 0x0032, 0x0007 },
- { 0x04, 0x00, -1, 0x03, 0x0032, 0x0008 },
- { 0x04, 0x00, -1, 0x03, 0x0032, 0x0009 },
- { 0x05, 0x00, -1, 0x00, 0x0042, 0x0002 },
- { 0x05, 0x00, -1, 0x01, 0x0042, 0x0003 },
- { 0x05, 0x00, -1, 0x02, 0x0042, 0x0004 },
- { 0x05, 0x00, -1, 0x03, 0x0042, 0x0005 },
- { 0x05, 0x00, -1, 0x03, 0x0042, 0x0006 },
- { 0x05, 0x00, -1, 0x03, 0x0042, 0x0007 },
- { 0x05, 0x00, -1, 0x03, 0x0042, 0x0008 },
- { 0x05, 0x00, -1, 0x03, 0x0042, 0x0009 },
- { 0x05, 0x00, -1, 0x00, 0x0062, 0x0002 },
- { 0x05, 0x00, -1, 0x01, 0x0062, 0x0003 },
- { 0x05, 0x00, -1, 0x02, 0x0062, 0x0004 },
- { 0x05, 0x00, -1, 0x03, 0x0062, 0x0005 },
- { 0x05, 0x00, -1, 0x03, 0x0062, 0x0006 },
- { 0x05, 0x00, -1, 0x03, 0x0062, 0x0007 },
- { 0x05, 0x00, -1, 0x03, 0x0062, 0x0008 },
- { 0x05, 0x00, -1, 0x03, 0x0062, 0x0009 },
- { 0x02, 0x01, -1, 0x03, 0x000a, 0x000a },
- { 0x02, 0x01, -1, 0x03, 0x000a, 0x000c },
- { 0x02, 0x02, -1, 0x03, 0x000a, 0x000e },
- { 0x02, 0x02, -1, 0x03, 0x000a, 0x0012 },
- { 0x02, 0x03, -1, 0x03, 0x000a, 0x0016 },
- { 0x02, 0x03, -1, 0x03, 0x000a, 0x001e },
- { 0x02, 0x04, -1, 0x03, 0x000a, 0x0026 },
- { 0x02, 0x04, -1, 0x03, 0x000a, 0x0036 },
- { 0x02, 0x01, -1, 0x03, 0x000e, 0x000a },
- { 0x02, 0x01, -1, 0x03, 0x000e, 0x000c },
- { 0x02, 0x02, -1, 0x03, 0x000e, 0x000e },
- { 0x02, 0x02, -1, 0x03, 0x000e, 0x0012 },
- { 0x02, 0x03, -1, 0x03, 0x000e, 0x0016 },
- { 0x02, 0x03, -1, 0x03, 0x000e, 0x001e },
- { 0x02, 0x04, -1, 0x03, 0x000e, 0x0026 },
- { 0x02, 0x04, -1, 0x03, 0x000e, 0x0036 },
- { 0x03, 0x01, -1, 0x03, 0x0012, 0x000a },
- { 0x03, 0x01, -1, 0x03, 0x0012, 0x000c },
- { 0x03, 0x02, -1, 0x03, 0x0012, 0x000e },
- { 0x03, 0x02, -1, 0x03, 0x0012, 0x0012 },
- { 0x03, 0x03, -1, 0x03, 0x0012, 0x0016 },
- { 0x03, 0x03, -1, 0x03, 0x0012, 0x001e },
- { 0x03, 0x04, -1, 0x03, 0x0012, 0x0026 },
- { 0x03, 0x04, -1, 0x03, 0x0012, 0x0036 },
- { 0x03, 0x01, -1, 0x03, 0x001a, 0x000a },
- { 0x03, 0x01, -1, 0x03, 0x001a, 0x000c },
- { 0x03, 0x02, -1, 0x03, 0x001a, 0x000e },
- { 0x03, 0x02, -1, 0x03, 0x001a, 0x0012 },
- { 0x03, 0x03, -1, 0x03, 0x001a, 0x0016 },
- { 0x03, 0x03, -1, 0x03, 0x001a, 0x001e },
- { 0x03, 0x04, -1, 0x03, 0x001a, 0x0026 },
- { 0x03, 0x04, -1, 0x03, 0x001a, 0x0036 },
- { 0x04, 0x01, -1, 0x03, 0x0022, 0x000a },
- { 0x04, 0x01, -1, 0x03, 0x0022, 0x000c },
- { 0x04, 0x02, -1, 0x03, 0x0022, 0x000e },
- { 0x04, 0x02, -1, 0x03, 0x0022, 0x0012 },
- { 0x04, 0x03, -1, 0x03, 0x0022, 0x0016 },
- { 0x04, 0x03, -1, 0x03, 0x0022, 0x001e },
- { 0x04, 0x04, -1, 0x03, 0x0022, 0x0026 },
- { 0x04, 0x04, -1, 0x03, 0x0022, 0x0036 },
- { 0x04, 0x01, -1, 0x03, 0x0032, 0x000a },
- { 0x04, 0x01, -1, 0x03, 0x0032, 0x000c },
- { 0x04, 0x02, -1, 0x03, 0x0032, 0x000e },
- { 0x04, 0x02, -1, 0x03, 0x0032, 0x0012 },
- { 0x04, 0x03, -1, 0x03, 0x0032, 0x0016 },
- { 0x04, 0x03, -1, 0x03, 0x0032, 0x001e },
- { 0x04, 0x04, -1, 0x03, 0x0032, 0x0026 },
- { 0x04, 0x04, -1, 0x03, 0x0032, 0x0036 },
- { 0x05, 0x01, -1, 0x03, 0x0042, 0x000a },
- { 0x05, 0x01, -1, 0x03, 0x0042, 0x000c },
- { 0x05, 0x02, -1, 0x03, 0x0042, 0x000e },
- { 0x05, 0x02, -1, 0x03, 0x0042, 0x0012 },
- { 0x05, 0x03, -1, 0x03, 0x0042, 0x0016 },
- { 0x05, 0x03, -1, 0x03, 0x0042, 0x001e },
- { 0x05, 0x04, -1, 0x03, 0x0042, 0x0026 },
- { 0x05, 0x04, -1, 0x03, 0x0042, 0x0036 },
- { 0x05, 0x01, -1, 0x03, 0x0062, 0x000a },
- { 0x05, 0x01, -1, 0x03, 0x0062, 0x000c },
- { 0x05, 0x02, -1, 0x03, 0x0062, 0x000e },
- { 0x05, 0x02, -1, 0x03, 0x0062, 0x0012 },
- { 0x05, 0x03, -1, 0x03, 0x0062, 0x0016 },
- { 0x05, 0x03, -1, 0x03, 0x0062, 0x001e },
- { 0x05, 0x04, -1, 0x03, 0x0062, 0x0026 },
- { 0x05, 0x04, -1, 0x03, 0x0062, 0x0036 },
- { 0x00, 0x05, -1, 0x03, 0x0000, 0x0046 },
- { 0x00, 0x05, -1, 0x03, 0x0000, 0x0066 },
- { 0x00, 0x06, -1, 0x03, 0x0000, 0x0086 },
- { 0x00, 0x07, -1, 0x03, 0x0000, 0x00c6 },
- { 0x00, 0x08, -1, 0x03, 0x0000, 0x0146 },
- { 0x00, 0x09, -1, 0x03, 0x0000, 0x0246 },
- { 0x00, 0x0a, -1, 0x03, 0x0000, 0x0446 },
- { 0x00, 0x18, -1, 0x03, 0x0000, 0x0846 },
- { 0x00, 0x05, -1, 0x03, 0x0001, 0x0046 },
- { 0x00, 0x05, -1, 0x03, 0x0001, 0x0066 },
- { 0x00, 0x06, -1, 0x03, 0x0001, 0x0086 },
- { 0x00, 0x07, -1, 0x03, 0x0001, 0x00c6 },
- { 0x00, 0x08, -1, 0x03, 0x0001, 0x0146 },
- { 0x00, 0x09, -1, 0x03, 0x0001, 0x0246 },
- { 0x00, 0x0a, -1, 0x03, 0x0001, 0x0446 },
- { 0x00, 0x18, -1, 0x03, 0x0001, 0x0846 },
- { 0x00, 0x05, -1, 0x03, 0x0002, 0x0046 },
- { 0x00, 0x05, -1, 0x03, 0x0002, 0x0066 },
- { 0x00, 0x06, -1, 0x03, 0x0002, 0x0086 },
- { 0x00, 0x07, -1, 0x03, 0x0002, 0x00c6 },
- { 0x00, 0x08, -1, 0x03, 0x0002, 0x0146 },
- { 0x00, 0x09, -1, 0x03, 0x0002, 0x0246 },
- { 0x00, 0x0a, -1, 0x03, 0x0002, 0x0446 },
- { 0x00, 0x18, -1, 0x03, 0x0002, 0x0846 },
- { 0x00, 0x05, -1, 0x03, 0x0003, 0x0046 },
- { 0x00, 0x05, -1, 0x03, 0x0003, 0x0066 },
- { 0x00, 0x06, -1, 0x03, 0x0003, 0x0086 },
- { 0x00, 0x07, -1, 0x03, 0x0003, 0x00c6 },
- { 0x00, 0x08, -1, 0x03, 0x0003, 0x0146 },
- { 0x00, 0x09, -1, 0x03, 0x0003, 0x0246 },
- { 0x00, 0x0a, -1, 0x03, 0x0003, 0x0446 },
- { 0x00, 0x18, -1, 0x03, 0x0003, 0x0846 },
- { 0x00, 0x05, -1, 0x03, 0x0004, 0x0046 },
- { 0x00, 0x05, -1, 0x03, 0x0004, 0x0066 },
- { 0x00, 0x06, -1, 0x03, 0x0004, 0x0086 },
- { 0x00, 0x07, -1, 0x03, 0x0004, 0x00c6 },
- { 0x00, 0x08, -1, 0x03, 0x0004, 0x0146 },
- { 0x00, 0x09, -1, 0x03, 0x0004, 0x0246 },
- { 0x00, 0x0a, -1, 0x03, 0x0004, 0x0446 },
- { 0x00, 0x18, -1, 0x03, 0x0004, 0x0846 },
- { 0x00, 0x05, -1, 0x03, 0x0005, 0x0046 },
- { 0x00, 0x05, -1, 0x03, 0x0005, 0x0066 },
- { 0x00, 0x06, -1, 0x03, 0x0005, 0x0086 },
- { 0x00, 0x07, -1, 0x03, 0x0005, 0x00c6 },
- { 0x00, 0x08, -1, 0x03, 0x0005, 0x0146 },
- { 0x00, 0x09, -1, 0x03, 0x0005, 0x0246 },
- { 0x00, 0x0a, -1, 0x03, 0x0005, 0x0446 },
- { 0x00, 0x18, -1, 0x03, 0x0005, 0x0846 },
- { 0x01, 0x05, -1, 0x03, 0x0006, 0x0046 },
- { 0x01, 0x05, -1, 0x03, 0x0006, 0x0066 },
- { 0x01, 0x06, -1, 0x03, 0x0006, 0x0086 },
- { 0x01, 0x07, -1, 0x03, 0x0006, 0x00c6 },
- { 0x01, 0x08, -1, 0x03, 0x0006, 0x0146 },
- { 0x01, 0x09, -1, 0x03, 0x0006, 0x0246 },
- { 0x01, 0x0a, -1, 0x03, 0x0006, 0x0446 },
- { 0x01, 0x18, -1, 0x03, 0x0006, 0x0846 },
- { 0x01, 0x05, -1, 0x03, 0x0008, 0x0046 },
- { 0x01, 0x05, -1, 0x03, 0x0008, 0x0066 },
- { 0x01, 0x06, -1, 0x03, 0x0008, 0x0086 },
- { 0x01, 0x07, -1, 0x03, 0x0008, 0x00c6 },
- { 0x01, 0x08, -1, 0x03, 0x0008, 0x0146 },
- { 0x01, 0x09, -1, 0x03, 0x0008, 0x0246 },
- { 0x01, 0x0a, -1, 0x03, 0x0008, 0x0446 },
- { 0x01, 0x18, -1, 0x03, 0x0008, 0x0846 },
- { 0x06, 0x00, -1, 0x00, 0x0082, 0x0002 },
- { 0x06, 0x00, -1, 0x01, 0x0082, 0x0003 },
- { 0x06, 0x00, -1, 0x02, 0x0082, 0x0004 },
- { 0x06, 0x00, -1, 0x03, 0x0082, 0x0005 },
- { 0x06, 0x00, -1, 0x03, 0x0082, 0x0006 },
- { 0x06, 0x00, -1, 0x03, 0x0082, 0x0007 },
- { 0x06, 0x00, -1, 0x03, 0x0082, 0x0008 },
- { 0x06, 0x00, -1, 0x03, 0x0082, 0x0009 },
- { 0x07, 0x00, -1, 0x00, 0x00c2, 0x0002 },
- { 0x07, 0x00, -1, 0x01, 0x00c2, 0x0003 },
- { 0x07, 0x00, -1, 0x02, 0x00c2, 0x0004 },
- { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0005 },
- { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0006 },
- { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0007 },
- { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0008 },
- { 0x07, 0x00, -1, 0x03, 0x00c2, 0x0009 },
- { 0x08, 0x00, -1, 0x00, 0x0142, 0x0002 },
- { 0x08, 0x00, -1, 0x01, 0x0142, 0x0003 },
- { 0x08, 0x00, -1, 0x02, 0x0142, 0x0004 },
- { 0x08, 0x00, -1, 0x03, 0x0142, 0x0005 },
- { 0x08, 0x00, -1, 0x03, 0x0142, 0x0006 },
- { 0x08, 0x00, -1, 0x03, 0x0142, 0x0007 },
- { 0x08, 0x00, -1, 0x03, 0x0142, 0x0008 },
- { 0x08, 0x00, -1, 0x03, 0x0142, 0x0009 },
- { 0x09, 0x00, -1, 0x00, 0x0242, 0x0002 },
- { 0x09, 0x00, -1, 0x01, 0x0242, 0x0003 },
- { 0x09, 0x00, -1, 0x02, 0x0242, 0x0004 },
- { 0x09, 0x00, -1, 0x03, 0x0242, 0x0005 },
- { 0x09, 0x00, -1, 0x03, 0x0242, 0x0006 },
- { 0x09, 0x00, -1, 0x03, 0x0242, 0x0007 },
- { 0x09, 0x00, -1, 0x03, 0x0242, 0x0008 },
- { 0x09, 0x00, -1, 0x03, 0x0242, 0x0009 },
- { 0x0a, 0x00, -1, 0x00, 0x0442, 0x0002 },
- { 0x0a, 0x00, -1, 0x01, 0x0442, 0x0003 },
- { 0x0a, 0x00, -1, 0x02, 0x0442, 0x0004 },
- { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0005 },
- { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0006 },
- { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0007 },
- { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0008 },
- { 0x0a, 0x00, -1, 0x03, 0x0442, 0x0009 },
- { 0x0c, 0x00, -1, 0x00, 0x0842, 0x0002 },
- { 0x0c, 0x00, -1, 0x01, 0x0842, 0x0003 },
- { 0x0c, 0x00, -1, 0x02, 0x0842, 0x0004 },
- { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0005 },
- { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0006 },
- { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0007 },
- { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0008 },
- { 0x0c, 0x00, -1, 0x03, 0x0842, 0x0009 },
- { 0x0e, 0x00, -1, 0x00, 0x1842, 0x0002 },
- { 0x0e, 0x00, -1, 0x01, 0x1842, 0x0003 },
- { 0x0e, 0x00, -1, 0x02, 0x1842, 0x0004 },
- { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0005 },
- { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0006 },
- { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0007 },
- { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0008 },
- { 0x0e, 0x00, -1, 0x03, 0x1842, 0x0009 },
- { 0x18, 0x00, -1, 0x00, 0x5842, 0x0002 },
- { 0x18, 0x00, -1, 0x01, 0x5842, 0x0003 },
- { 0x18, 0x00, -1, 0x02, 0x5842, 0x0004 },
- { 0x18, 0x00, -1, 0x03, 0x5842, 0x0005 },
- { 0x18, 0x00, -1, 0x03, 0x5842, 0x0006 },
- { 0x18, 0x00, -1, 0x03, 0x5842, 0x0007 },
- { 0x18, 0x00, -1, 0x03, 0x5842, 0x0008 },
- { 0x18, 0x00, -1, 0x03, 0x5842, 0x0009 },
- { 0x02, 0x05, -1, 0x03, 0x000a, 0x0046 },
- { 0x02, 0x05, -1, 0x03, 0x000a, 0x0066 },
- { 0x02, 0x06, -1, 0x03, 0x000a, 0x0086 },
- { 0x02, 0x07, -1, 0x03, 0x000a, 0x00c6 },
- { 0x02, 0x08, -1, 0x03, 0x000a, 0x0146 },
- { 0x02, 0x09, -1, 0x03, 0x000a, 0x0246 },
- { 0x02, 0x0a, -1, 0x03, 0x000a, 0x0446 },
- { 0x02, 0x18, -1, 0x03, 0x000a, 0x0846 },
- { 0x02, 0x05, -1, 0x03, 0x000e, 0x0046 },
- { 0x02, 0x05, -1, 0x03, 0x000e, 0x0066 },
- { 0x02, 0x06, -1, 0x03, 0x000e, 0x0086 },
- { 0x02, 0x07, -1, 0x03, 0x000e, 0x00c6 },
- { 0x02, 0x08, -1, 0x03, 0x000e, 0x0146 },
- { 0x02, 0x09, -1, 0x03, 0x000e, 0x0246 },
- { 0x02, 0x0a, -1, 0x03, 0x000e, 0x0446 },
- { 0x02, 0x18, -1, 0x03, 0x000e, 0x0846 },
- { 0x03, 0x05, -1, 0x03, 0x0012, 0x0046 },
- { 0x03, 0x05, -1, 0x03, 0x0012, 0x0066 },
- { 0x03, 0x06, -1, 0x03, 0x0012, 0x0086 },
- { 0x03, 0x07, -1, 0x03, 0x0012, 0x00c6 },
- { 0x03, 0x08, -1, 0x03, 0x0012, 0x0146 },
- { 0x03, 0x09, -1, 0x03, 0x0012, 0x0246 },
- { 0x03, 0x0a, -1, 0x03, 0x0012, 0x0446 },
- { 0x03, 0x18, -1, 0x03, 0x0012, 0x0846 },
- { 0x03, 0x05, -1, 0x03, 0x001a, 0x0046 },
- { 0x03, 0x05, -1, 0x03, 0x001a, 0x0066 },
- { 0x03, 0x06, -1, 0x03, 0x001a, 0x0086 },
- { 0x03, 0x07, -1, 0x03, 0x001a, 0x00c6 },
- { 0x03, 0x08, -1, 0x03, 0x001a, 0x0146 },
- { 0x03, 0x09, -1, 0x03, 0x001a, 0x0246 },
- { 0x03, 0x0a, -1, 0x03, 0x001a, 0x0446 },
- { 0x03, 0x18, -1, 0x03, 0x001a, 0x0846 },
- { 0x04, 0x05, -1, 0x03, 0x0022, 0x0046 },
- { 0x04, 0x05, -1, 0x03, 0x0022, 0x0066 },
- { 0x04, 0x06, -1, 0x03, 0x0022, 0x0086 },
- { 0x04, 0x07, -1, 0x03, 0x0022, 0x00c6 },
- { 0x04, 0x08, -1, 0x03, 0x0022, 0x0146 },
- { 0x04, 0x09, -1, 0x03, 0x0022, 0x0246 },
- { 0x04, 0x0a, -1, 0x03, 0x0022, 0x0446 },
- { 0x04, 0x18, -1, 0x03, 0x0022, 0x0846 },
- { 0x04, 0x05, -1, 0x03, 0x0032, 0x0046 },
- { 0x04, 0x05, -1, 0x03, 0x0032, 0x0066 },
- { 0x04, 0x06, -1, 0x03, 0x0032, 0x0086 },
- { 0x04, 0x07, -1, 0x03, 0x0032, 0x00c6 },
- { 0x04, 0x08, -1, 0x03, 0x0032, 0x0146 },
- { 0x04, 0x09, -1, 0x03, 0x0032, 0x0246 },
- { 0x04, 0x0a, -1, 0x03, 0x0032, 0x0446 },
- { 0x04, 0x18, -1, 0x03, 0x0032, 0x0846 },
- { 0x05, 0x05, -1, 0x03, 0x0042, 0x0046 },
- { 0x05, 0x05, -1, 0x03, 0x0042, 0x0066 },
- { 0x05, 0x06, -1, 0x03, 0x0042, 0x0086 },
- { 0x05, 0x07, -1, 0x03, 0x0042, 0x00c6 },
- { 0x05, 0x08, -1, 0x03, 0x0042, 0x0146 },
- { 0x05, 0x09, -1, 0x03, 0x0042, 0x0246 },
- { 0x05, 0x0a, -1, 0x03, 0x0042, 0x0446 },
- { 0x05, 0x18, -1, 0x03, 0x0042, 0x0846 },
- { 0x05, 0x05, -1, 0x03, 0x0062, 0x0046 },
- { 0x05, 0x05, -1, 0x03, 0x0062, 0x0066 },
- { 0x05, 0x06, -1, 0x03, 0x0062, 0x0086 },
- { 0x05, 0x07, -1, 0x03, 0x0062, 0x00c6 },
- { 0x05, 0x08, -1, 0x03, 0x0062, 0x0146 },
- { 0x05, 0x09, -1, 0x03, 0x0062, 0x0246 },
- { 0x05, 0x0a, -1, 0x03, 0x0062, 0x0446 },
- { 0x05, 0x18, -1, 0x03, 0x0062, 0x0846 },
- { 0x06, 0x01, -1, 0x03, 0x0082, 0x000a },
- { 0x06, 0x01, -1, 0x03, 0x0082, 0x000c },
- { 0x06, 0x02, -1, 0x03, 0x0082, 0x000e },
- { 0x06, 0x02, -1, 0x03, 0x0082, 0x0012 },
- { 0x06, 0x03, -1, 0x03, 0x0082, 0x0016 },
- { 0x06, 0x03, -1, 0x03, 0x0082, 0x001e },
- { 0x06, 0x04, -1, 0x03, 0x0082, 0x0026 },
- { 0x06, 0x04, -1, 0x03, 0x0082, 0x0036 },
- { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000a },
- { 0x07, 0x01, -1, 0x03, 0x00c2, 0x000c },
- { 0x07, 0x02, -1, 0x03, 0x00c2, 0x000e },
- { 0x07, 0x02, -1, 0x03, 0x00c2, 0x0012 },
- { 0x07, 0x03, -1, 0x03, 0x00c2, 0x0016 },
- { 0x07, 0x03, -1, 0x03, 0x00c2, 0x001e },
- { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0026 },
- { 0x07, 0x04, -1, 0x03, 0x00c2, 0x0036 },
- { 0x08, 0x01, -1, 0x03, 0x0142, 0x000a },
- { 0x08, 0x01, -1, 0x03, 0x0142, 0x000c },
- { 0x08, 0x02, -1, 0x03, 0x0142, 0x000e },
- { 0x08, 0x02, -1, 0x03, 0x0142, 0x0012 },
- { 0x08, 0x03, -1, 0x03, 0x0142, 0x0016 },
- { 0x08, 0x03, -1, 0x03, 0x0142, 0x001e },
- { 0x08, 0x04, -1, 0x03, 0x0142, 0x0026 },
- { 0x08, 0x04, -1, 0x03, 0x0142, 0x0036 },
- { 0x09, 0x01, -1, 0x03, 0x0242, 0x000a },
- { 0x09, 0x01, -1, 0x03, 0x0242, 0x000c },
- { 0x09, 0x02, -1, 0x03, 0x0242, 0x000e },
- { 0x09, 0x02, -1, 0x03, 0x0242, 0x0012 },
- { 0x09, 0x03, -1, 0x03, 0x0242, 0x0016 },
- { 0x09, 0x03, -1, 0x03, 0x0242, 0x001e },
- { 0x09, 0x04, -1, 0x03, 0x0242, 0x0026 },
- { 0x09, 0x04, -1, 0x03, 0x0242, 0x0036 },
- { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000a },
- { 0x0a, 0x01, -1, 0x03, 0x0442, 0x000c },
- { 0x0a, 0x02, -1, 0x03, 0x0442, 0x000e },
- { 0x0a, 0x02, -1, 0x03, 0x0442, 0x0012 },
- { 0x0a, 0x03, -1, 0x03, 0x0442, 0x0016 },
- { 0x0a, 0x03, -1, 0x03, 0x0442, 0x001e },
- { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0026 },
- { 0x0a, 0x04, -1, 0x03, 0x0442, 0x0036 },
- { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000a },
- { 0x0c, 0x01, -1, 0x03, 0x0842, 0x000c },
- { 0x0c, 0x02, -1, 0x03, 0x0842, 0x000e },
- { 0x0c, 0x02, -1, 0x03, 0x0842, 0x0012 },
- { 0x0c, 0x03, -1, 0x03, 0x0842, 0x0016 },
- { 0x0c, 0x03, -1, 0x03, 0x0842, 0x001e },
- { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0026 },
- { 0x0c, 0x04, -1, 0x03, 0x0842, 0x0036 },
- { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000a },
- { 0x0e, 0x01, -1, 0x03, 0x1842, 0x000c },
- { 0x0e, 0x02, -1, 0x03, 0x1842, 0x000e },
- { 0x0e, 0x02, -1, 0x03, 0x1842, 0x0012 },
- { 0x0e, 0x03, -1, 0x03, 0x1842, 0x0016 },
- { 0x0e, 0x03, -1, 0x03, 0x1842, 0x001e },
- { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0026 },
- { 0x0e, 0x04, -1, 0x03, 0x1842, 0x0036 },
- { 0x18, 0x01, -1, 0x03, 0x5842, 0x000a },
- { 0x18, 0x01, -1, 0x03, 0x5842, 0x000c },
- { 0x18, 0x02, -1, 0x03, 0x5842, 0x000e },
- { 0x18, 0x02, -1, 0x03, 0x5842, 0x0012 },
- { 0x18, 0x03, -1, 0x03, 0x5842, 0x0016 },
- { 0x18, 0x03, -1, 0x03, 0x5842, 0x001e },
- { 0x18, 0x04, -1, 0x03, 0x5842, 0x0026 },
- { 0x18, 0x04, -1, 0x03, 0x5842, 0x0036 },
- { 0x06, 0x05, -1, 0x03, 0x0082, 0x0046 },
- { 0x06, 0x05, -1, 0x03, 0x0082, 0x0066 },
- { 0x06, 0x06, -1, 0x03, 0x0082, 0x0086 },
- { 0x06, 0x07, -1, 0x03, 0x0082, 0x00c6 },
- { 0x06, 0x08, -1, 0x03, 0x0082, 0x0146 },
- { 0x06, 0x09, -1, 0x03, 0x0082, 0x0246 },
- { 0x06, 0x0a, -1, 0x03, 0x0082, 0x0446 },
- { 0x06, 0x18, -1, 0x03, 0x0082, 0x0846 },
- { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0046 },
- { 0x07, 0x05, -1, 0x03, 0x00c2, 0x0066 },
- { 0x07, 0x06, -1, 0x03, 0x00c2, 0x0086 },
- { 0x07, 0x07, -1, 0x03, 0x00c2, 0x00c6 },
- { 0x07, 0x08, -1, 0x03, 0x00c2, 0x0146 },
- { 0x07, 0x09, -1, 0x03, 0x00c2, 0x0246 },
- { 0x07, 0x0a, -1, 0x03, 0x00c2, 0x0446 },
- { 0x07, 0x18, -1, 0x03, 0x00c2, 0x0846 },
- { 0x08, 0x05, -1, 0x03, 0x0142, 0x0046 },
- { 0x08, 0x05, -1, 0x03, 0x0142, 0x0066 },
- { 0x08, 0x06, -1, 0x03, 0x0142, 0x0086 },
- { 0x08, 0x07, -1, 0x03, 0x0142, 0x00c6 },
- { 0x08, 0x08, -1, 0x03, 0x0142, 0x0146 },
- { 0x08, 0x09, -1, 0x03, 0x0142, 0x0246 },
- { 0x08, 0x0a, -1, 0x03, 0x0142, 0x0446 },
- { 0x08, 0x18, -1, 0x03, 0x0142, 0x0846 },
- { 0x09, 0x05, -1, 0x03, 0x0242, 0x0046 },
- { 0x09, 0x05, -1, 0x03, 0x0242, 0x0066 },
- { 0x09, 0x06, -1, 0x03, 0x0242, 0x0086 },
- { 0x09, 0x07, -1, 0x03, 0x0242, 0x00c6 },
- { 0x09, 0x08, -1, 0x03, 0x0242, 0x0146 },
- { 0x09, 0x09, -1, 0x03, 0x0242, 0x0246 },
- { 0x09, 0x0a, -1, 0x03, 0x0242, 0x0446 },
- { 0x09, 0x18, -1, 0x03, 0x0242, 0x0846 },
- { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0046 },
- { 0x0a, 0x05, -1, 0x03, 0x0442, 0x0066 },
- { 0x0a, 0x06, -1, 0x03, 0x0442, 0x0086 },
- { 0x0a, 0x07, -1, 0x03, 0x0442, 0x00c6 },
- { 0x0a, 0x08, -1, 0x03, 0x0442, 0x0146 },
- { 0x0a, 0x09, -1, 0x03, 0x0442, 0x0246 },
- { 0x0a, 0x0a, -1, 0x03, 0x0442, 0x0446 },
- { 0x0a, 0x18, -1, 0x03, 0x0442, 0x0846 },
- { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0046 },
- { 0x0c, 0x05, -1, 0x03, 0x0842, 0x0066 },
- { 0x0c, 0x06, -1, 0x03, 0x0842, 0x0086 },
- { 0x0c, 0x07, -1, 0x03, 0x0842, 0x00c6 },
- { 0x0c, 0x08, -1, 0x03, 0x0842, 0x0146 },
- { 0x0c, 0x09, -1, 0x03, 0x0842, 0x0246 },
- { 0x0c, 0x0a, -1, 0x03, 0x0842, 0x0446 },
- { 0x0c, 0x18, -1, 0x03, 0x0842, 0x0846 },
- { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0046 },
- { 0x0e, 0x05, -1, 0x03, 0x1842, 0x0066 },
- { 0x0e, 0x06, -1, 0x03, 0x1842, 0x0086 },
- { 0x0e, 0x07, -1, 0x03, 0x1842, 0x00c6 },
- { 0x0e, 0x08, -1, 0x03, 0x1842, 0x0146 },
- { 0x0e, 0x09, -1, 0x03, 0x1842, 0x0246 },
- { 0x0e, 0x0a, -1, 0x03, 0x1842, 0x0446 },
- { 0x0e, 0x18, -1, 0x03, 0x1842, 0x0846 },
- { 0x18, 0x05, -1, 0x03, 0x5842, 0x0046 },
- { 0x18, 0x05, -1, 0x03, 0x5842, 0x0066 },
- { 0x18, 0x06, -1, 0x03, 0x5842, 0x0086 },
- { 0x18, 0x07, -1, 0x03, 0x5842, 0x00c6 },
- { 0x18, 0x08, -1, 0x03, 0x5842, 0x0146 },
- { 0x18, 0x09, -1, 0x03, 0x5842, 0x0246 },
- { 0x18, 0x0a, -1, 0x03, 0x5842, 0x0446 },
- { 0x18, 0x18, -1, 0x03, 0x5842, 0x0846 },
-};
-
-#endif /* BROTLI_DEC_PREFIX_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.h
deleted file mode 100644
index 814f95eee05a..000000000000
--- a/MdeModulePkg/Library/BrotliCustomDecompressLib/dec/state.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/* Copyright 2015 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Brotli state for partial streaming decoding. */
-
-#ifndef BROTLI_DEC_STATE_H_
-#define BROTLI_DEC_STATE_H_
-
-#include "../common/constants.h"
-#include "../common/dictionary.h"
-#include "../common/platform.h"
-#include "../common/transform.h"
-#include <brotli/types.h>
-#include "./bit_reader.h"
-#include "./huffman.h"
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-typedef enum {
- BROTLI_STATE_UNINITED,
- BROTLI_STATE_LARGE_WINDOW_BITS,
- BROTLI_STATE_INITIALIZE,
- BROTLI_STATE_METABLOCK_BEGIN,
- BROTLI_STATE_METABLOCK_HEADER,
- BROTLI_STATE_METABLOCK_HEADER_2,
- BROTLI_STATE_CONTEXT_MODES,
- BROTLI_STATE_COMMAND_BEGIN,
- BROTLI_STATE_COMMAND_INNER,
- BROTLI_STATE_COMMAND_POST_DECODE_LITERALS,
- BROTLI_STATE_COMMAND_POST_WRAP_COPY,
- BROTLI_STATE_UNCOMPRESSED,
- BROTLI_STATE_METADATA,
- BROTLI_STATE_COMMAND_INNER_WRITE,
- BROTLI_STATE_METABLOCK_DONE,
- BROTLI_STATE_COMMAND_POST_WRITE_1,
- BROTLI_STATE_COMMAND_POST_WRITE_2,
- BROTLI_STATE_HUFFMAN_CODE_0,
- BROTLI_STATE_HUFFMAN_CODE_1,
- BROTLI_STATE_HUFFMAN_CODE_2,
- BROTLI_STATE_HUFFMAN_CODE_3,
- BROTLI_STATE_CONTEXT_MAP_1,
- BROTLI_STATE_CONTEXT_MAP_2,
- BROTLI_STATE_TREE_GROUP,
- BROTLI_STATE_DONE
-} BrotliRunningState;
-
-typedef enum {
- BROTLI_STATE_METABLOCK_HEADER_NONE,
- BROTLI_STATE_METABLOCK_HEADER_EMPTY,
- BROTLI_STATE_METABLOCK_HEADER_NIBBLES,
- BROTLI_STATE_METABLOCK_HEADER_SIZE,
- BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED,
- BROTLI_STATE_METABLOCK_HEADER_RESERVED,
- BROTLI_STATE_METABLOCK_HEADER_BYTES,
- BROTLI_STATE_METABLOCK_HEADER_METADATA
-} BrotliRunningMetablockHeaderState;
-
-typedef enum {
- BROTLI_STATE_UNCOMPRESSED_NONE,
- BROTLI_STATE_UNCOMPRESSED_WRITE
-} BrotliRunningUncompressedState;
-
-typedef enum {
- BROTLI_STATE_TREE_GROUP_NONE,
- BROTLI_STATE_TREE_GROUP_LOOP
-} BrotliRunningTreeGroupState;
-
-typedef enum {
- BROTLI_STATE_CONTEXT_MAP_NONE,
- BROTLI_STATE_CONTEXT_MAP_READ_PREFIX,
- BROTLI_STATE_CONTEXT_MAP_HUFFMAN,
- BROTLI_STATE_CONTEXT_MAP_DECODE,
- BROTLI_STATE_CONTEXT_MAP_TRANSFORM
-} BrotliRunningContextMapState;
-
-typedef enum {
- BROTLI_STATE_HUFFMAN_NONE,
- BROTLI_STATE_HUFFMAN_SIMPLE_SIZE,
- BROTLI_STATE_HUFFMAN_SIMPLE_READ,
- BROTLI_STATE_HUFFMAN_SIMPLE_BUILD,
- BROTLI_STATE_HUFFMAN_COMPLEX,
- BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS
-} BrotliRunningHuffmanState;
-
-typedef enum {
- BROTLI_STATE_DECODE_UINT8_NONE,
- BROTLI_STATE_DECODE_UINT8_SHORT,
- BROTLI_STATE_DECODE_UINT8_LONG
-} BrotliRunningDecodeUint8State;
-
-typedef enum {
- BROTLI_STATE_READ_BLOCK_LENGTH_NONE,
- BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX
-} BrotliRunningReadBlockLengthState;
-
-struct BrotliDecoderStateStruct {
- BrotliRunningState state;
-
- /* This counter is reused for several disjoint loops. */
- int loop_counter;
-
- BrotliBitReader br;
-
- brotli_alloc_func alloc_func;
- brotli_free_func free_func;
- void* memory_manager_opaque;
-
- /* Temporary storage for remaining input. */
- union {
- uint64_t u64;
- uint8_t u8[8];
- } buffer;
- uint32_t buffer_length;
-
- int pos;
- int max_backward_distance;
- int max_distance;
- int ringbuffer_size;
- int ringbuffer_mask;
- int dist_rb_idx;
- int dist_rb[4];
- int error_code;
- uint32_t sub_loop_counter;
- uint8_t* ringbuffer;
- uint8_t* ringbuffer_end;
- HuffmanCode* htree_command;
- const uint8_t* context_lookup;
- uint8_t* context_map_slice;
- uint8_t* dist_context_map_slice;
-
- /* This ring buffer holds a few past copy distances that will be used by
- some special distance codes. */
- HuffmanTreeGroup literal_hgroup;
- HuffmanTreeGroup insert_copy_hgroup;
- HuffmanTreeGroup distance_hgroup;
- HuffmanCode* block_type_trees;
- HuffmanCode* block_len_trees;
- /* This is true if the literal context map histogram type always matches the
- block type. It is then not needed to keep the context (faster decoding). */
- int trivial_literal_context;
- /* Distance context is actual after command is decoded and before distance is
- computed. After distance computation it is used as a temporary variable. */
- int distance_context;
- int meta_block_remaining_len;
- uint32_t block_length_index;
- uint32_t block_length[3];
- uint32_t num_block_types[3];
- uint32_t block_type_rb[6];
- uint32_t distance_postfix_bits;
- uint32_t num_direct_distance_codes;
- int distance_postfix_mask;
- uint32_t num_dist_htrees;
- uint8_t* dist_context_map;
- HuffmanCode* literal_htree;
- uint8_t dist_htree_index;
- uint32_t repeat_code_len;
- uint32_t prev_code_len;
-
- int copy_length;
- int distance_code;
-
- /* For partial write operations. */
- size_t rb_roundtrips; /* how many times we went around the ring-buffer */
- size_t partial_pos_out; /* how much output to the user in total */
-
- /* For ReadHuffmanCode. */
- uint32_t symbol;
- uint32_t repeat;
- uint32_t space;
-
- HuffmanCode table[32];
- /* List of heads of symbol chains. */
- uint16_t* symbol_lists;
- /* Storage from symbol_lists. */
- uint16_t symbols_lists_array[BROTLI_HUFFMAN_MAX_CODE_LENGTH + 1 +
- BROTLI_NUM_COMMAND_SYMBOLS];
- /* Tails of symbol chains. */
- int next_symbol[32];
- uint8_t code_length_code_lengths[BROTLI_CODE_LENGTH_CODES];
- /* Population counts for the code lengths. */
- uint16_t code_length_histo[16];
-
- /* For HuffmanTreeGroupDecode. */
- int htree_index;
- HuffmanCode* next;
-
- /* For DecodeContextMap. */
- uint32_t context_index;
- uint32_t max_run_length_prefix;
- uint32_t code;
- HuffmanCode context_map_table[BROTLI_HUFFMAN_MAX_SIZE_272];
-
- /* For InverseMoveToFrontTransform. */
- uint32_t mtf_upper_bound;
- uint32_t mtf[64 + 1];
-
- /* Less used attributes are at the end of this struct. */
-
- /* States inside function calls. */
- BrotliRunningMetablockHeaderState substate_metablock_header;
- BrotliRunningTreeGroupState substate_tree_group;
- BrotliRunningContextMapState substate_context_map;
- BrotliRunningUncompressedState substate_uncompressed;
- BrotliRunningHuffmanState substate_huffman;
- BrotliRunningDecodeUint8State substate_decode_uint8;
- BrotliRunningReadBlockLengthState substate_read_block_length;
-
- unsigned int is_last_metablock : 1;
- unsigned int is_uncompressed : 1;
- unsigned int is_metadata : 1;
- unsigned int should_wrap_ringbuffer : 1;
- unsigned int canny_ringbuffer_allocation : 1;
- unsigned int large_window : 1;
- unsigned int size_nibbles : 8;
- uint32_t window_bits;
-
- int new_ringbuffer_size;
-
- uint32_t num_literal_htrees;
- uint8_t* context_map;
- uint8_t* context_modes;
-
- const BrotliDictionary* dictionary;
- const BrotliTransforms* transforms;
-
- uint32_t trivial_literal_contexts[8]; /* 256 bits */
-};
-
-typedef struct BrotliDecoderStateStruct BrotliDecoderStateInternal;
-#define BrotliDecoderState BrotliDecoderStateInternal
-
-BROTLI_INTERNAL BROTLI_BOOL BrotliDecoderStateInit(BrotliDecoderState* s,
- brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque);
-BROTLI_INTERNAL void BrotliDecoderStateCleanup(BrotliDecoderState* s);
-BROTLI_INTERNAL void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s);
-BROTLI_INTERNAL void BrotliDecoderStateCleanupAfterMetablock(
- BrotliDecoderState* s);
-BROTLI_INTERNAL BROTLI_BOOL BrotliDecoderHuffmanTreeGroupInit(
- BrotliDecoderState* s, HuffmanTreeGroup* group, uint32_t alphabet_size,
- uint32_t max_symbol, uint32_t ntrees);
-
-#define BROTLI_DECODER_ALLOC(S, L) S->alloc_func(S->memory_manager_opaque, L)
-
-#define BROTLI_DECODER_FREE(S, X) { \
- S->free_func(S->memory_manager_opaque, X); \
- X = NULL; \
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_DEC_STATE_H_ */
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/docs/brotli-comparison-study-2015-09-22.pdf b/MdeModulePkg/Library/BrotliCustomDecompressLib/docs/brotli-comparison-study-2015-09-22.pdf
deleted file mode 100644
index 040f179e2bce8f5f7a2f407b2d61ab86824bbe8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 215208
zcmb@sWmKHY(l(3)8yrG#7~I{1y9al72=4Cg?rtFj2<{dfLU4C?cZYA-XP<q}v!3_I
z_pbHMx>w)R)m>dzRb5s6V}?v#M2wD!o)tj0ad0#RU;;7%Z4JKycz76;-R(?(48jIZ
z23EFa00wyjGZRN3GiY5Az#wAc=;R1wWqqIV@c~S1jNg^s7ypOyUpfE=VOwV#Cm=h3
zLE6ID5vaxTt_5WI>nI@0UuOVW*#8o;GXCrJ*P70MPJUPUUnc_?6ipm$ogIuoxIlR2
z9c+!1OhB--7(hM&8I(=joPZ3H)*#$Mf4_zQeoN{A7)0Hi#Fd;3oJ`(z#TkKr;Q%m*
zGXdG&F@S6{h}nW*gI2{Dfq%gRNtl34?;!$(K#Up4^lvE(kon(IRv`0VQa;cJz#wa4
zY+)c|>ju<%cZ{8h8OXuK3^FcgV`KY{^q(;QB>*reIU73t6?Pd58%qF#kgbEUiNn8?
z89{1_CPq%6_<@Wub8*tM0a;jB=s7?yCPsQT(DHj$fD9JK^zIHeHYQFcW?!w1ocQ?O
zUHDfr|8J}?b1{P~Ftf3|+hJq}xyANBjW{^je`VuxHRWPq=j7u9nHL6y%ftrc7R%qk
zkT-Au&Hu%j|K##L(ElTs|6~I2H_ZPM2nzz401QS3@1u+`kP$RW{WYq+kFqjAR#4Cc
zfldz2CZKT10vW#8I#?T6{m0sSGXI}gqi17b0fG4cVe&oy|HI@vkNzvS@3{bh7cy`(
z`HNu;f({l2R<g<<PTCmR8e7<yfoN(BikyX$JDtQ|X*B{>n1PMc`*sj(I6wvzK>=5`
zRk5)EX_x?+{;He*c>TWP{{Z1#A4C!(2MaqVTL&QL`#JwdAph`CSW@I&=^ZjND8rH>
z%C_Q?BC-Z{|AF|ISjpYd$;4XH#?<zmZHgvl7LHC1?m$XGP-8Hm0x-zE6ZzdU%71$X
z5-K^{*;$!bzjK7~y;{`XnXbjb_U;TLkeP#no|A=H2Lw}#laq^{iJcKN;Q}(T{>6Jn
zMh;FO6B|(L?|uIf{#)?R0Zd##W=<d*8#_G{8#Aa@x&Beod2c){96)w<c6u%@W@aD@
zCy<2;$id7EGRFx7wIi*6me@g6#>v9P3FP<}uzz;_+a4R^JM4eVaDs~SFOZD?X#8^)
zNc6Xfe?<Q|{_hn=AQvkOJtr&2f5Ch2A%COzx7Gg&6gwM`o$EgUI6&y%G5v$+pD+K`
z{YUW67v_JAzia+`_HS1}xnKfvvi|2pPEh>co6ui={-yDEZ2md$UHG@JpyYwtCn(zQ
zGA2-@wK!PV={cF$S#^L+ATPE4tpu8KGJ|sTFDyEsG_Zp5z{m<R!@{NWU)RDrf&UlH
z|3mP9b?`3+)}VXrpBfXhGB5*OU7#N92&yV4AQvMWJu?RjNbs)sE}>&)Vxs3_Vg*&Z
z5{T5QKu!=5xfntBm#~4Igo%Zjxf76siH)9<nUMv+APKr3EsO+h%&bh_The>A2>sRZ
z>Dbv>>DkyAIe~O6%&hbrj2u8_MrKZW7LXdKU|BfmnHafPL1p}|B4%M_!VDt!ziytt
z@6-3`-|oqn*qAw)GXYsSS=c~@2-@xhx)>Nh&N!Kfn7sD@P-pyW52$V!nb|;HA5?%Q
z2G#(#tmAeVFQu6`{%5YeoJ?Mugm1D_tc4beix6~m@_^(J#2OA!Y7>Tdg%F@ryv{es
z56UT#RQVrip`cJ<C^zT)iDAFzaiS>qR@TYpj5SNroL_OjzL~Y<?77FEcjU61aqT(s
z9W57u!-ARTfA}z%#p&MLOX&LL5eL`<omc8^H+YX~8>iq7mdW=)Vmy}ca$MvFriB6=
zb~f<IAFd}P4%>17;=^Z%-Zn;$=cLdWTY4mYZ<ar{c)T9HC|7P%>{g!m@lgvK1CF-k
zz1M;wQwqp`u-wmjqKCmApFfQ69L1xHN9X3$+_?HpPk<TP&DT+#&Y<&WK#$`MC>bN+
z@*8h{zx+u9R-Ox~o&uT6{W2hj%+S>2QpI%UsuBRWx4hz@vdB7ZFF9VxZ2c-GIijM&
zSk`|lV&kV~GAz$wPSQ1^lTTafUe|U?HoHY;$lJEv!-(P^@Bw=q$M1lZZII?im`i@M
zGwkHpx{oS?stAP%u?*%@7g!An^rSUoq_9K~*b;bR^$Gi*Mj_3iC&Q<Xu&Xd05&j@v
z%~=el4-=Vt)h9lym}gA!YvSMf80B{Y;0!zM5MvrOy<o(MXN^2qo}e2j9SnGO^?vz;
zVhJGG270T~G<4z6`hGeJHCXT{f@JK3n+mMbGi9w%r4Mxbf(oFO>wBUN|H&ch2ANT_
zd9K!!0@1eD9tOoJhFo-lnq3_YWntMXbcsYud=|uE#H*MVxy7)(6V{-xh<e6Ccyv{*
z$Gp2|xEOOK4`d_e3G;A**`CDW3}c0yTjQ^>>E&k3sBE^8<$T-EdZi$CJocio`!k24
zn}ORAr0hMseA>IrJuW#IfL64H0vDEZ{UORs#}C*!8<8roE-<w1^*OXD6fx8$je>J*
z)sU-v%UwhbyKe*Mme%UyPhpnw%u@B}BdnNbo1i9e>}v}1yz?%rq{;@jH?FW7x3S?G
z9)wUnP9NbSjpGDbVR#g2`|`4Sug$iuXT0S(T~1ZDIjrL~+zIfz;tv;KxyUiOUGAfI
z+1KzphD(w2rYJBe14F;+9n-hH-F(|p8K^@u-wLX*muQ7MbOnB+sPcts4mx~-nr)B1
z3m2zE2@eYilMWjRvk%)1Q$xM6v-)KZrJ<`}+GO?n(!YkNBao-Jd59TTqsPOYpX75b
zl?MY~jCeI<zv#xs-S%U*$)~-V*4tI>lBPe?iW(gQ_RSQX=gto4KMKEl9*gh)+5;W|
zf2-2%c!WCcK2~Mi28&9}<>QU*Fc0skNptBnl@IX<W`|9-Y0YL(9l<Js|H4haX|AtJ
z!E|<FZS%XMRYVZYtU>);Lp848h8I#}Ij$-Z9AZeGvf)u>9rp^`t{h4Pe^<l3JGUx0
zXGh6TX4KcyG<q^PCbz-0eL#9kC2N?Arm#%#s{6q~X88+Y^3+@4Dx3qS;sDh^h4Wk4
z&Kq}LN$-g{OJk@n3O{0~J+GWyw*0FEGwP{k#EwZAnn(t9cDX_{3C8aZAk}yy5qT9D
zD<))I57O4F`ow4<y}rBN1q~-DZD8N=)VYNs1lhHcdR|>ON(+uPPK>Brmo}1*ZxOm}
zeBqMu=@*S3#r2mS6g%wv)JpV4fay-;f+nm!#NIPX@v+1~EUsm~;a6~LRzpD%-5!pk
z?JKOdFek|huT`Rwt<yNUm23xhiezv2#XC*jK6l!mI{b~X%l-DaLnnBREcGX6MUB@C
z#Y^%r&G>xakcA%EAN$%l2Pz9&VqLKAT75ao%?W)p6bM#{(|WW%Ml-!|2_bYw9r=78
zEkS|}EqG<EpG_6}EvR)Q-baf?SZ~HKc)P3SCUsl*vi(qs(W>8|9{d!;E}wJO{~d{#
z-+pyV9re-+pSI7r7am@Luo{mk>`G)69t`&mewhML7B{wxNf+4MjU9#Qwnoc1^h!+l
zxV0QRWU{ZswPRxFJ70c}ic{NRZi(Du*P-Tx@5SeJrlKTRSyPaG{}HFUV!j`MW7Vjz
zD+s2WvJ-HJA8L<!Da3`4L|MC1h1j`9-Yf_9N5Q8JcqMciTMe7aFbdyR(hX?ecH0!6
z2i^w1eizP6BCC>|z;qr3Xq^)<7<P7e(a(?3KOL#q5gyJF*U3hX@A}ccLH4M0yJ(LI
zo6n&N!Cjhj&-bEjZ*aPwSZnn5({DeLSV8iqqV`eO_3-4VLlx8FFH-e)G1F?17i9O^
zr|K{8Os~mIuk_8YVbm}A88P%bta9WIF!PA5KNcYPi7F5efCI<;2dFqZ&UvlSPJ=}$
z2P%}y;*hWM!5`rRYW74}BLqhIar!1<x0$Jg!o}m(QJZ<-`3jak(EX;n%YRzH!|Hhy
zG|ETqWkF}ve-qGoLC-;rVobviHB*P8-ElYd_Ygvv(~GGlW8jD5b>n)0y|UB?4)?r9
zt_!kbMFg)<dgl6tMEAD$`)oQSB^n>U(X4U+E)fwvKIYrd{kqQGz;Dau5p!?ihdF{p
z-1cb{$g!k5O=CHU@@mDr`?xne)i{E=r^zw4$n`q%yzPAXWXQi7!VBqU3YRN-Ps}=<
zNFR6-7JUtGPT~}dZ48f-W|q&}9OT9xkv*>PtreAbVt|9F76nlQ-3@~YX6h!sBW50B
z$mn?X!zgfft9?zNB{UbF)7;YhH&sf7c)4JknwBfgy}GZO4^8ifCf-g=DbB$gJH&zP
zllU=N`?hb#1ltr4CiY~ZhU^H+UwU4oyBsK1uVQ#&rqWJ=tKTg6-r%-Ljeqk*0qu@(
zEbkyKj(z=W8|67l6xPmtzxup!|9Z)erc8QxVo@(-HU^de;Vk%zUV=)`QDAm)^*i!X
zazDs*GB^B6bZ}pJ75%NCdM*KXx2)k~_B!hQBIn)$quYj2?;uZsEcc5CDJAv<)pb{8
zK%XFVldjzJ$ai;P_zfJANLHO<49*z4m85b%h7VmZ(f+4P^O#~x%d_OP$p>4SySW}_
zBn?;8I=p_n=@|~er|72ON?9&Fdzt1A7vHaUJEJdM4^Z<kVgCCxe10-T?ePsiik&a<
z>oFULyvD-X=60Itnw`WmJDoNeRyc>eN7mM^-sA*UxMJL3E^gmejO=N8tb=+_dNrbi
zFPUPVKW-&H>C+1!E+!lz^h%qDJ_275hQ~ca6;VB8GOMgUPVRyI@EN!^rhQ`#U^IcN
zV!~1DH(Ka0*HgLnX(xFpTZL*0M{{;mEApLT?^Tz13vl}|rAO=yd4OZ}26>wqdM#1Z
zVam8$LWE@aD*lJx56kZ$S)xMXh=dlF<yLQ`Yb*ZE9_ghs>-FVftFsuZ7NN(z<(`G1
zsP>dc_<63*h5rq*{i<A{_3bTu_43a;63zx>PI^aw6NB5)!rof8{a30}vwhX7jt!hB
zDrcUU-D=v{+?{(Sshz7#yn)RoFsAyXfl(fxoobd?y?7g;773!?R|msm4_>;!){odo
z8bkss@Q!Jd2w>lAe&<eH4&;p^5Rlal0WLo*hy-lY!c9RuBJqlKehdS`e(j>+p-uuw
z2g`QD$PBd93R*FGCh(5r7>(8P9)od@bYR{^+D7n)&0%~N4d^a5|G8g`Rf1KSR^+B!
zEl@3X5nxzmn7ZlRR}#UWeU<Io5^YnqbnwODX$5g5{gl?#(KV;FxV6GFz_Z~A>TdWH
zpJ2l1qSqsV$45?Bj&STHM<s_&l2tO^ScaKGBk@@BXVG-gby19@aDtdysoJH7*Lope
zw%ldky%k?5!-Cpc>dEjG?>f!J$Q9is-3{--()Q8@&6Ua{(qqiy>Q(l2_O18P*cHrk
z#f#{x!E5}heQMuu!|+Jugk|&(^W@ea7Am?b!#`A2tjk)|FqC-}>x;gss5E()%leE|
z<{#QQbN<Qo>k&(L#2un{2v`;wZI8}+()Rm2IwCwuhnZs*gsm>;!ml-?TI+1Z;u)+`
zHMU^FL`i_c|FKe(Yfs_BM^WG5X3J5uJ+a17Yx{xbmBD7#ZEYi0n<Pi0c*il4y@r+k
z=GB}h9-1RgGojHw3a-K|8Yvul$I%xC&bh)EM;dQj@1;XdS3IseE{C7)_<Lga1G?nQ
zdxLDMqH&HEDkE`@{y*4NPRbrtM#`xxG<8*UynSV*x3%H+wC{00{!!V$^2q8SHx3$`
zyi*{FqKub|J21ve*KS9>GHUu0GAV44KP}HIGa8W2h)Cc!F%G4v>Z{@1@Yr*B_k%&%
zSJ^wEv0PWH{hNpQ4Y?P;25+l}?v2rm(T`fN4yq6Lk5=2IufY#tDtarf2CKpRor?|z
zpLcad^K{zfJvQPizvU2m`t%3?wmsBS_wgBinAua!UGlPl`_-K4wsvK|N1iP_>_va2
zy{<jmyj^=T*1(<V%6?}xRjXmfGWIP;_H(8k`z|fl)m1v-m^Po|!JoOdx%9>{yw6vU
z*mygCw9IsQYL8@ESt`crJ|}vSA4Kg%P5I3GOuZ&we-`toq|sC4EAdi&h;qnwsBnnB
zOmir4NOXXFtUSY@6XnSU^fa9&d~5XmBG?(d-tf#u)WFVw5bAq{){<ZR@RYF=c7uiL
zY}BrfI+@=%Tl0iULUOOhFdG<n6S3R!((1lEF*SBLQ=Ir_Ej`j%e&C>`>bGY=@CWlW
zbmp9n)^DfkLr!4DIYbC-@!)LpIjMG_o<24YV&pn(R&ZGrK|`1AIgNJcNEPI2aH9bQ
zLa;#<T1byQ7WmmOrhBl}z`KnPUN9sZgm!3rL2CLRpAlkvD9%y6qG}#_pJ5{nXruh?
z83~H-1m|JV_0eR4hU5{H3;@5cothAk^PR^0LN`#8uG9?B|AdI=f7tzne2#uhQ8qLc
zgyzpkEQFz)$YxBZA)e!p1B(i!fQAt?RJ+YplVc^IRTus}Jj6Ua#)^Eb2k}0zO+c5F
zAwG5JQ%$lJ$<h!~O=4RBJB@@(B6AJQD_m}ZVogv|V!JV+d$KYLFH_u0Q36)Dh)gd6
z<~ofb5z{spmqa;f3N2Y>{M-<cLt2|)OdO|SpbiS@MemnYQgKNL`#6zJQrq~(4Y?*b
zy&jHU(dAy@ghB3Y9fv49inI8;2~!_|Hq!L_u-q(C!UW&A*ujBq^e7ZX3El*$$#r6F
z;@oa3PUMmecuvT@b(Z@CZL+yRhW#=hvd;LUZRm%<=fr18n*=9C(I1kCaPg1(1Ab^y
zr2^O(r2*8X5kE>pSo1W06ncEk6Qfo@XH$ZYCPFMt?oU8Sklgwn-LJ$gn}?Jkkv%QC
z;zV^bPC6OJ`b{@MG_f@H(E?B*u4I8DTN1f%sDLJW{ew|Fjph&LCqQJdNjG3a(jd7?
z)eVVvFS1+JptVYAp6vM3E#N75E{G$jG03PJZhFQSHWyG5%n)1|B;9@2jj{3L9R4Nv
zRm!(;?%?bi`X%r+@m11xl3J6_{6j^a@R^XE0z(z%g7mRTL$I~U(!5JU;E70OO(fKU
zjcQ0vbJmH;(|p;!*=?=V^%Ts4<*~C%7`~}(70I!zOHzB^s_9vk>jINYR{OxJ8O1!z
zG3is>OQ3fzpJ{HD+yd1twnypIF}zDiwuxSi<1tU`uMR`KTHAS1mvHal4x`kCyJMJJ
zlBaMT1OD2wW1Oepm)|}{a|>tNxDN3v`o2}ZHT(;*s!*-@Q7H*l^YBmWvOM@F{tldg
z*e={E6l(?7{M2#beX47WN4S?@a3R}#<mWFPg`o?Db||ym7}I|+H{cSGX(VWvqj_Rp
zHzk?zsRwBtf}j78R}Wbs(R=~~`FDGF1M}lXjFc9f*mGr#;O7w<;^+(`HK??@Q))uz
zm8`I}Mpg5~eY9_f#;VMizG=k9kKi<<@OHCTMO&eJ9PR~^3n^`I_~)WxfYlRzM32Dq
z2wmus@(%|TOI1u9UPBieGiw=^SKBwZc?OV795{F;v<>n3O0`edT|Xk?m>RQx%}QP=
zviMTFyi0d^YLQN8KGPz*<Z{C8bnIliN3YZBd^S<5cE;!ZbVDf5c-|oxe1}Yr10fuW
zNXX<cz0YJcz{~jB1&2-{OP|B+ym%dI`p3&{mLztRKK*Kb+5HNWR=cjrX=u`9SgqXa
zIh-O_v;Ogb&2o<S>e%s!!)m$i;Q>?E>tKgYtI-<M<=D$a&CYcp=d%4tw_;w;eSO`s
zlJN6$e>_KQ$IUJG83Fg}>JtSY=L6C6R$(mv!}YXTZtm;mp9O}o>`q+n)oA>){uo!I
zf!6A+mH7*sV>b?$HeBvk*J`6Yl`;XJVb4oV)-mgpDN^n-`@%m_A&7@1CB?JS7f%W8
zk_3&z>H88@152BR6-=LMC7E%qKUauVC{l}%%R}5Oxi4Wh2fh{nuROV3tbSds5~(w8
zrvwz_;YKd5t&;E4CuBC;+G77oAvrV04y!|$t|v|4M!v+Ec5S?B38Yx`SivyX9|KR*
zot@QMN79X-(%HF|;;I;^8wkW-KCvoXY6&bFT%n)$S=^s=5w*T>X|2y-Uu7p@MLg`W
ziT;$RDFe0DhVGi!lp^wFyvb$6RZ0H9UQw{M(YjT?t&uKQQ2x9gmzih2aL>=h8l5L6
z0Qx4dXoT@>9O$M66Mf)-Zcc)Xu3QI4y<@O!bpKU9+|%`?r&yYX6iYMdC+;aepYga~
z9%GSTtbx>k{Sx$+sczj%a$jcV5`wy$rFDS(;wXFnNNsU3{7P3eFU+#$(Z*Z=L>tU)
zamTG_@rnI@@nG+0`wAycwjLu;Vs|UfrUR|x$Ka!w+tNisLG@|g;?g2_i<1?qO>{de
zY`dx3@8jEFujf!zjgG0e*y}eRuF%_{gcm=%3<y|MVtZ~vp58B6;!Lm6r4vW3STl;D
ze}1V5M|E~~kg^$7%J!VGPdUeS=gt@Su+p>4nFy|{t;FJkJ%Jz<%GP6gPYs->;ly(_
zmXTli_Fehw=&<`+-hK~O^|fo=iRdZ~|B5a%sb;~sWGAGY16L_JTY04{%+yq%g@v|A
zlC_<jeGJ`>S0eOHiHdxsYr(cyz;PhK;1Utk2us`x0rJ{983s63M7qA@7<haeZU}jj
zAdsXTC=uy4vayI`si&)?sHHU5J{XyxO`rQ%E|}bTnyU~|Ux&NGBVqU^dlM$%y|=nL
z$_s;J*GNMbaoOOQyW|l6XzJ`dp*%im>K7+aNR<H`tfx#0JjA*B1Ev%AaGopl>2L!>
z3PY+`TWI+tP*GuEuwG#6;yE>&x_i!zA^mxV?(>NL)%DU9oz3tXJFiZuAG)c}V)NLq
zNyQOsXUebf;M}5cQasn#>-LRsLVD9Ogs)|=gf{&OaVQAD;l*=kO5gYb^V^0HxCtll
zjwUDe?`s5zIu;h5m95?u3I}l!c0=-&T9+xOCF1+>li?>3U!h8fwVO$a=6x){FTb){
ztmY+SMhW3*iw2=WG@WPo@5f+8sr%3S$q$~m4Sndf>Lu!BYbFQwCiBK)d>5z@A@}U(
z8&@Ai3O9zq_`SgU0#96LIR<OJL^WCNUZhcYEMea>i<+UxFErB8PnPxdIvTk#qHp{~
z_(O2G8`(7_792RH)yHxa5qUvWIyl%}-l5liTqHOIMm!YQkm8@`2L4G0ve8-==4rZ6
zEKU1k*HT3xx(h~(Y^&pkx{qwfLU=;3*Op$sqMZQ?*AQR*P%9t85W|GS62r=1q1ye<
zuI~B7#|+9Ch#=!*v7+YvID?uZ<R=*}s3&T*bGK>a_DCpsBh|ulx=gaW%Hn<eOBwbt
zIqPGG9UO4aQqd2vCxV7CWqZj)(0AwiF|G@1_?2`pt}}U0o#y&g)34ECi7An8;Z~o~
z?MOU;5h&=W0GaIWX(~#=auF+$52%1+N5E57H{Ss28Oawxa$>)IfB6aIVY@VdN6nwL
z#Tn`pAAvQ0PUAzk$DcB5CAP!YypJg|u|&?qykFMn9b58}KOKQTNl1_tVXHGta@>+;
z>TIZzd%!Mibz4Fc6HeeWVO2xq=Y^UpF4(1F+d6>7l!0lbblov~!?BkE8D}xh8wIf)
zuOd4ic+<Lvq3@vi5%1M1`)E7wQ~CX=d@jbcBHqWWK+wp~h^X|uNyzu<edNRfjc2Pc
zN^YfjM|!ef?01|9#g{9hoIX2P{QWR~&hFfh>)*ST(a^+ku+jnYvW=)HN=hLmB<L0y
zvru6RN)eEeIZ8+pP&MZ!6(yp<P}wIWfKhP?WDwCvN#s2@SlRp%lZr`9$Sx{MOS+c~
zk4+*?MB^BOQ<j(0D4|WSOB~8k)vk<NovNuu-P;$8@sKa){eByI?tzAy;s|cF{Uw4m
z#?>LCj)IOq!FImwB1jegAanjgb~%J&gC}4Ex;@<RntXLzw$1;Y6<uLHVP#>ALjDzr
zcAGTYWvG?dVP3uZAV#YM3FVBcd<ce{pgK*UNI}hZa?L5U-Q<Q_BRGU3l|rJ@IixJN
zLn%yjat+C5g)w}fTC-A2Kd);zLw@0Z8xL$r&Y&-$0itpknk4<Cd}5hU5u8nWKyK31
z7@Ar)rgSF7eC`dc!~Qt@K)x<-pMi+ff^V_KEY5#yN_#cus)7c2RzG%AvQ=>8DGt@Q
zZ888pXLbq@`>ma8ICSg%Qw}duXMmYnS>0h=PcTloW#`)y{)jer?6B;feqRgoTw&I+
zBk$(^I?i4kjhG1aDMP>Zul>Uv!u`XrJIf=iL%_!^-n-^Y{JYjm;);xOz9;Q;&fsea
zW<-k2!#J3m&pWucBc;GX$eZM{WXPnIWZC5C<eOxIV(IknGV=Z3|4>Vs$R8-<Buf>`
zGhwLsQ-34&B8nR&1RJ0v{c`UL4a>+yr{J?Q7SXIjLJhbR8Yg!8mhIU{o*ft(D!7+_
zx*ol{3MdeSq4v;9%xh+GI-UAFPuuPo%)CsKmbl9G{n&oZZzYJ9;nyTkM_F+ENhOYv
zAtU#f@XU)qn8j<&hc8DXdaCkZ4f7Tc4PK7YN;XdozK&E8x>Ii+3pUae&}y!yyuc>9
zYT$etMRzz<cA(s)x(k0!Ze_h?D`D)U1OWONQ!_zt>1K0BXt)6iDw{@vzZt)2h+!Uy
zY!|aR`!}4;D$+8wS<y<11UKRBfXh&pK6gEimjidMCS9XZP~(zL*7DDj({1Bs*(}_M
z9rix^Q>`VuI|JNYIU95>h=CpU0V8R*OnvF*@E(8JETm?*>Of(eO`uD&WM^lFu}CKE
zPs<v00!g56y}iidKErgwgx)XqgSQh)k)vy;niA2jD#2$w`E6?s2!)T@%+_^u>dez8
ztGwkv4}o(`M11y)DI$^ps8v+!z@9eil~yf;$IL^)wwB<=6C14QpJRS2fe<8%DfO^*
z=6m>)4f=AS1Pfe^(e+I><;MiRj<p2OrVC!>NL;>3**#_4=hY7P>Rh0?KhmW-aM&#t
zyj5kq1+3>w`f0u<;%`fZfRa4ta@Oi%+BQ0#261$1>^H;QPla~)Is4bJx-)qyfvRl)
z=Lj|Idjked6VJL}iu?qta8*fltILLvYbvG4l7Nbpw1#-!zWeS1DkZKSlDX?m-<$3h
z7dIPAEgq;mN5%@*J$=6Z=GJ5>TDnbX0DC3f)Ym10CTuFJu;3B*eBd<OwuyV2OhpX)
zbM6yAo79pW9c4buZJb}CjQ=JC(f;vrXaUtedh`z(Chg7B{3b9=b(u*?`xD-63t>`3
zulD*hX10uoO9QDSF%N^(O-+~S_A2BI>T0x2RF?~rFf*Sj@Ssj%?Oj$@a<B9`M=9T5
z{TK>hR{q(>2**Lfc0t;Zug13gNszH_i`})1@Hqj&`+d-cLx%gowy49o#1|V5gMPC6
z1MFRJR!f8g!BSyl4d-`^xV!L#MwJhFp`_+ey!sHdBs$$n1}Ir(jzlmmzXBQKlY(G^
zQbTiLJHZ&beKuC?5Y4-gdd|IxpKI^k?`c_o5tQlEWl_j|zY_uzr|L=>>oQiS_{fY#
zfYA}oa{kLH3o`JhT>##<1GhWWbNuRf4I$jN;j0b(d&&j}0ivi7XL-qtIHYM3B!DYo
zuAe&I7E#-gCS{=a{ZGHSb@&4G%3wWMy+F6`$k}$hJLlkBv_W5YgD$xW<E2aEBH7T_
zo!wygNOdovvw?@b{e}Wr*smW9^H8t*7CNGMJIQ><#V>fZ+%oHt8=)aDckD;4-QYWj
zT@nOa5`9>czvLYS59M{E;%<0yMhW^<cD3dTmoA7qUl*P8ERFv77@iMr0C^flnB%{<
zj#w~|+#<>39+gGBHqP$E=pEui$J5tP6PqM#H*?qHrVhQdfow=VA|dBMh%IXxAG~c}
zlad7_Oc<`iI1wJ0DC;&iNI1u_j6Pc}PaDC&43qwtDhw$kF8l`jf@*`O3&yKJu)BV&
z*5#qS;KK=5a^X$TK~6k@2HEkTwAQh0;KeVM5<hauvhRSmBYesBK)^eGRuoZSR1C=Y
zm0Pp9Bu!x?@bJ+)C8zf;^qS(a1cibW?m!5gNRASPe7*b=faaoI?LJ~*LGqIrAIB%P
zNZek!O_vMUHy+sstd{G$vfN6^GA_)3@q+O~d5!Np&lu|V$P*gtsMN@2{2$hg>^s#8
zdrtyl!;#$0C@hM|4g#{UW%?5&w~4m5d1_+XD92tf98j9Cv6~|tXO%*E_Co65tYurb
zo_szBeCeJ)g46sWH<1~jI1Ui&qAr5N4-zs6ViZjyD*qJF{nVY>J=cwxkF#d*&450o
z_n9`^SwC<=xgp1UpaUHy{46~6BTk=NAB1S|CMJTRCbcJ}CpCOBP0~|R?)Qj$CFObe
z%GE~&m}cM~)I~T?1FjLn3pc|DupM_s1k4u2B;}T1+Je|PhYVW2B6C5lI2${}*ju@Y
z#sg@Nzy_3-gwZ07s2$(Z-+B>P{co4tvF&hb^Mcw-Fm8LHA3tAGw*MFx#EyTn$!H@p
zu5sGny%*w?OR_@GGQdF-|2du-Oh5@$S)H;8b`Cq%P18+!342_80>-NHqnL7FWstoN
z-dn=xQjRD}!ImSb0B-{~4Ss8X&kpLw4V6bWq*kE{uV#?;9!XcILIQ(OxrnNK8w<Zj
zsx&wW(nRZFjU~~TIE;xg_9NivquPN*8h|1ldK8Y^?v~<!Mo7&?_E=P`5Sj-9USH7-
z=?@A_RqP-oiUj|8HN5$XDO_|q%z;%Mb>R576XBDeBHZIr`w?X9Nm=xinBEgY<vn*e
zb?69W<_L#wzIBF#0?h@;6@Cf@{&_Rt`e(r&UBAwytJrw}1PJ`#h~osb2xHycHvZC8
z5Djq;`Jo2HIe2n~Hm;~kQ;CL8c95D<a#O2LHz!Y#%eSbw&wgiWdAxNWkp-xp5Ilr^
z+$`>ul1@F$4d%M#qvRMiseSuVKLbLEXr`l2ks2|{H$BFL$IgchFeiTPpF@u0BXvhg
zp@vXS6+-fyp9vb-bSZ%aJbX$b=G*o)h)oL)u}AzZ&jPk%1olIz>1cW24q}`RYTT$9
zym<JY#n0)i6Z-80+!5v1CAh#JJ}^r#1tgRbL8}i{&VpV9f?m8}PkpdxRqb2(uvrUk
z?0vOOtz4U8A0*cx?sFo3y#WLw$RqL<%42}eU;;R!9PJ2se76>9aB=a_am`416Apg;
z(IkWYOf~jMvKU}oE`Fx!DUo*;x)9?KdtS&t3wK!kytYMYwso|&)mmf0J}W~wWjws`
zI=!yHweJ_)<65;wwl+n+4P4ylEcgBI=Z%>%p5G4jq46<!yd^6k5?}(QgInb{NDs(U
zsEPcrsRFnl#z2}B%Okgx6s{_k=D7TN*&;c2)iS#+$oH-IYa8qD>ogv6LS0zK?=JA6
zWsuL(w>B<m$Sk~G+SP*3Sam2caB&bCBG}{QQF<07g(|l}A6`W<3+ed!O(Pr0)T1wM
z#SV4@ogiblAe@|p1!(5CwxAO9Yab3T957Qjig15>X$}asAWhoSMen!pN^)mVx~)dI
zldLM9Ktm|iJ|S<{(ziLhL^we*#Q7HQMkG<}?2wSkpeJ&1q#7CYT#FYKMl)Mmn||<!
zFIP5efv;JP)-LiVRKgxgn^Y=<-%OhkmBEqGP)?JQF5e@L=5;I0og9Zs*KNZJ8x=Ja
zZIjTfg*Qxc^Iwd`khC^LqN+3I82O548Li-!_)IEk5FI}9b-7NmK@X@A^c>l8aHN)c
z>h0Y1yh7S2+x2VK8dYc#eMT={`Y5+QB3OMQ3$uX+YY>{x^|nGdd0>^?R@U8A<08p<
zIMVhL&9v{UU`i!_56vo(cnMFf6QEMSbOdlyB-$j0wv0Yrgas#IS}c`7Eip?luP;x8
zn3jZ#a2E)Kvk^pbNz2iqW@+4oHlzP7%ohPcMe6hQ_oziiVzK<@5;dxW&kT$X3_%tP
z$qoU-PyXpE-~$EI^RuYzOej=w8FJevhu~$`sLC?&BT40oc-XWVFX#+Jhz%CTZs-l4
z!Y-4%5d7Uv!nI8(C6@@oHH~WfYSr-BKZ4&VRuY*VN4xxW<U%|W;J3>HpVU&3p1=Rt
zjm#D93{mEMY#8Ta#{A+3-EuOMr)j0897h1ok9tW-hLZq;L#+?}aU^M^wMRb<tk!@;
z>Q3zB8yjcjQScmtl$!i^`EKKh1mc<*N|rLoPp1XU#THXp-V`3!wpmNcoc4y3Xufmz
zM0Xoa6%tVR(gTI$v&g-2Md(nA$xeMl?E)v8B33A4<n*=0u8H)Yq}GJQ=4hgs4bbRo
z!Uq;3z9mGodp_J*P+!!bm@)V<=ofm`xW`kSLNuTraWK25Z~)+&0V3oo?wh@E53QUV
zXXf;mI)1B9g0Q(Xkwe888;;<vGN)4z`Q6Y4sRF?k0*3dwo@iDjsPvHSQBTzvFlL^n
zo7q>S(^Z26v>$Q5Vg7Cr0ZdI*Xs0y(L_iF~^lcg9KlSU_I7^e{iF(R{^&G}HbsJJZ
z?NAk4S)A*^1b#9Q!|K6=5KcEF(kaq0<}pQ?k*bJpsCBAd#a$!Mk2Q&NmiMX*vj1(r
zXpjO^zO@;NW;%WlVX>Ir9~{B<duEbp3G+H>GwC*J!p4=EslRk?0HX|&z}DqkhM%UQ
z(v4JVDHe5iC?qtkvoKgm!{oy#TDt53r9yDxBv&nGtHcH=WsvE!D9WdyKgle!QQg6h
z>6?ub+T5}UYnesL*Z6lA{T3!lnz1i#Qxq%&Yn{%s<rP|l+0M2^FKLVpV=-NxLK_T1
z`Qw?~b8S*N@VwqPIM}lNuRNyUYmrxjdDPp{&=HU}M0p%0u|~BAfELw07sdkUU<s&t
z38y5yxj{#cD-7_BN29rL@OCDxavjBQ63d1HMTTt+3ES}xDDef72M3pn#Oyr$^r>kM
z4}g5el`S@^kH5(&OEv0#w9O27=e&M40(ds<(9Y4|#~|-s4fnjLZa!z7>*QI$R|jwU
zxk=ayJj5KP2`@;h<sBJemEhW>S>#w~Sn-*67<VSwjr`;;@}3bwCk;)a<Ra@k+OW*)
zMN}nH39W=W{t{iJNEyR@%!CxGvr|?0r}P*}@GOaXAKtSiGpsaV{`N4NiI|gS-`_7@
zKKmQzsZkd4nw*2*C^&~ik%oZTVx}C-6r2;gNnHYYVWoOCcTN8CYl$OK^2#R<|L#a~
z7Cmm=PdGT=aOL$$9s%{O%Lo9;4ddLItuetE)}8*jOi~($UdBRuCCc=g&!PPfIeM<n
z!;7JWo+-zT&sT(mYy0<?@gsp*+^!A3ab4~w3RA^mJTDg%hli&4kMXKb*5M;VScSga
z!ut*z#wQ+}+vnwckDY0pVi>P=`S$wF0#2xM9;T?8smG|~(5#nsJhh+pi<?3v>I%f0
zM|R4aB%2airLH(<AcR{jWRS1BkX%O6k&~)vSrLN(4?ey`!)JVA$8U!teSs_J%hNgq
zw70{b*D2OhpQk%({3`-jX(Hd!lrPt)#fK(dixF;U2GLtBZ#F!XNq%CAB^5wFq-Oe?
z#;`DVizg9p;{njpjfcXcA8Dq;vRaJk?l_;4o&ozSkIAj7(V6X*S0oxbhJO|}BcO~1
zXrrm_p3i>^4-7=(z0Ut0-%+v+8q!``4DK2*wT{q`BlIwyH@ezwzUyH5VRgT5hWlAh
z%ZKy&sgcv@Rm&nlJ$$h+^vM6)E_lmCi*rjwi_z!m$Z^rPkLZ6Wwepl;r4$M=lJcew
zZU&$}k-*A~L(UweD{=}T`vHWDqQMd0B;~V_Vl366@E?9qeuW7CX(bCa1h=2;Piosx
z(>o>7JSoxKe{jRJAV7Bb4PwReJ5btW^hG&rSz4|$rr@rE^avMPj^k3MxtSEliSZ*(
z;Y3(lV&{F4_><-6j9L&soO!K7a1nGfgtW|`EpTCQhfhl%44uHOfBq~I|4F|-Hbcf0
z$3B=W907sQl@Uj)lrm!p`YrM2&vfxz&&!j>VPV<9b<AMznY#|G#h@S6KTPoeh>bl2
z7i7~rgb?A`CoE{v=xSQJ4Q-{|#oUQ`idt47tgU&YA6e>?zyE}Y$T6N!ANe$FAIQ|N
zAI^kzL+J}1DY#V!jet8rf*S=+Q>}?_syw9@9p&}M1U;E!-Q-K?Dyw=1a3n=lLPm(I
zZpgu$L_g7Lx?$3qPa?xFzFdgPM%8rw$@Ox-MTg)mLE_X&0qLqTPvlbu%DxW+y)v5&
zW_&Zyvc7!WSaG8wAbisNLY)^vid5YwiD&ZgDZ}{$GB){4d(qdTy<+&_AVaNn%=4L1
zK~}@%Wd%o(IGLWS#a&0^?pghDIA**~Fdz5LZSSH6e!0w9)J9Vw7o7<4Hw4wzrlgk1
zuSNEb3eUXeSkEj*Z7yxLS)OHHQMMT-z4~AFQa6(2lHmZIoXy)7UhP`hn=Ei|WL{AP
zDIg*8ZksTfYUJn#rXlP?ao;6c{owWvL&;tIez62n1q%~zM6;B{ZD`g9`@k*o-jNt1
zdkj{0IgjZ~ozfj;WoMJ*5z02j;ZHwnq!7}Y?i4ATLo%AZugLu+e{VcW8QN@Q$kz|3
zc1|_<R6HUTS0KeuSEj#iv{edW=4yGl@1?SFt)#kUK6mein%Nk&BO0-^nl?N?99I>L
z6A~utx+gi2*AC8dG~kuK*4SwY_C2z-y4dG3f2e0y^}=>`G5lqxEQj@4Nc~MLdV7~I
z5$)UTK_ry_rHN}QVw=E;m`e4d`2H8@#4hDQac2KNVlcS2VN!4eN&t!-=XRgsOs7Ck
zZh~yPrCiJ3(O4ezh*+Xj0`ipYvLm}$MBS^!`83&?ICt=|FAZrc%gs(IgLprFaMmV1
z3#_`Q<feFR(GP$ge@x~LFJOrztz`7c$EBgSiqj_<g=|RzfAK+Dc2PD-ZVe6<eij?J
zq=aHC|F1DFIX3=28p}`L8tHaPmrt2Pmqx>vvb!W98*_*KSY|39OAwvlMniCM6GBX5
zm562?Gj2vVg})a3%qxUY^r&W97X$x=vO<YnS{=aCQCVHV8FoQ6n@WbMbyR?3`Ae#T
z26sl3&AgpU>y>$Hcey)?M#1tUMrfFXOiqx&x3#sRTP#J(pWxE8OpOvf6$OI*U%b|r
zghPF?ID9s0#-pc7ggFQZTlAOrA0owLG^g99ey=(<9D7;a4hsn#W>n*La(3EpPnF)p
z(tpN+7DB3Y3%thWwLM)ofZtOIZT)%tsyJk{)F4vW=f<@u5jY3AFmj?}2)PRS_pzrq
z0J%4&G4^t_j(=18tKOzIX6ua4_^a@7<0-DqFmLsdk!wF-L@AWU9KfNcyInD|rP_4F
z)rt%4sI?=IjW#sEOZ-)JlrE_(VLRYc{U4`L=O1Ivm04vur7`v2{K7L-zjZp61hzSp
zG5t_sqTFU`wer-QBwwJ?ZjOVvoV7{_l;Dr&!s6PKUB>3NlsFUjU?r19j#^WbO|q?Q
zx;+1*$9{Gn&~dk!6#Bbi)WaD4fNsRAYWR4J;?U})A9ZGLFT9Ta8ZpPT1OCK)Cob;g
zPe<Vx{SJ<p0soH$h}~4Vrx6Gn@&KXIZxKA?+o(`IwL;L_kULD<<SN&!Ea8^$V%IhL
zgEa<SB!PbOu>;Wg>%HNJsTcPGJ#22h3<9}jy+)NRjI_ePlf+8J$|8$IyQL1&?i)6%
zoMb0|^g>L=-o}Yp22R?xtX+3vPs<Ek{{fn_eT`>AuuujRD~4Jm3zhT=hijEac0o|X
z+I)-b`t-Gg@<$dxP(hFadOB~?n{eGXOINavl5f#ZV=n|%DqjuRB_Z3aTS`nFiU`~q
zdBtGIJ-bR#+=+()JDDQcsi8(hGFc8s&ij*w6%WMQf?e0G8(iafO0HRFf-h4n;la;y
zNW{+x!HCue6O^dd5~o53`wBf1h46i_ebJ|Q)3>L1PPcfRd0E&{$u(#s+OThlXTIR+
zJf-82;zX6}sI&xKxdrk7)+0ivU#Ux$ISWo1&ovF+2_(|xZ3{Vg2=&E~Lx(R@sdQcV
zTG6u?p4*j@x3rEByjYfJCwuq@bgE-YH2w1>5$H30i_M$b6~tt!bn}XnS=HfR>-&yn
zq@`t{#0$`yw;evq=G8o4czgL|xBC=K(dA+RrnC?eiq(96I2IlyFP>xhPiBUqO522l
z^AixopCjRmrVKesKbz+1Zd%~M#k}Yu@Z;>+J?tLLOn2_IZ^jqyR_^Ov_D_x{Zs%}~
zoSrPdR^Q~a7(c(fvO{LxY1FgUDV5XC^KZVU)+i#SL@nw}OYECO;4joq1x^2mmeQ%U
zKk*zf@Ad8-Ja^q><tZc=63sKm!p{twTvX>rAn#7<MN3O<LYoa=3dX#73U+wmenj3d
z+_ViR59FFiN~0{II!vF$vr&Wb?o4}~^|>hQvkynkOii1EvqU_?(;9?#iabyXgfjd^
z-zVYHkKAc;;{Z2zo#fG+fC?*J#px^*kXTCAd7*pW3P<FkmbF$v{KIXpN)Xj{D!DbI
z`)9q)ENLw*Z+jde!H_XpiT-Ml@pcRsR~b{J(qnUnl4Vr7B@Ye1gWUdzw3<*ZZ*629
zmqW_5tv%(@V4_whHtXvW)R?cVMPZqWZ5#}Li^$_?$GL7`w44=^j`y>`{?laO_q8Jh
z7?^@6ta$z_2%pBtIt5YoRZ_0#yzcOVv#M6K;{6Wpw?$V1f@y1y!awXR5VFA^ily?=
zRAl--Ua+@DQ`g~Si&dh2oSjcomoCqfK-uK!wfYq)yK^3=9z6tkSy;j9H9}Mq*W1^>
z0nQat5O&WKT?j)N#l&+ol)D7Or^#5{wDe~{?ho<_d2?*%{CAzX62kokmg^363)y34
zR;SDT;r#JgqG(rk>*>>{)Q%UDk)dLJmP3fQ{`OC&@ah-^O2vxQg8E+hIQ2^K)MRTc
zp~j=Cx2UJimdhSLs*ln?w|v!!d?Lo}i|x2n)#*(0Dfz|myLU*7SHa43Xyz#R`cN*|
z-Ee1A{xv4fhaz|AQ`V4IRyfXQn91$*a`}Xop>>g*zNwTH#nuKJC)r3r*C-z*v^YC{
z`@KP}AciuA34K{)zOPr=Y$O**TM96@g-G}7R|2g;X&-3lq=@dyXnSc%DFO%Z#J&9r
z(M7YSfco=!<h{9@(k_Ki#ivQcQR(EVMR7?Yom#@I7q13)Gg8)Sr6{8LG++EfgD0wh
zByyu-qb|)nx<V7?!)<U#tt6{NlukZFW;d<R)Pz@_-t685Fow~eklACZo08L{(Yy&Z
z#|xr*)6O@QJ$d42*P#kx1s{y&TRI!o6$3RVd(B#8r46@|5UGB^`Nm-xnSQ6_BF~4%
z?<Bt7=pPft{e2flV8)Je8RVO4w%-AF6)SVcswJ_%6{~A0dF2|H0iPIom-xibFB&l{
zuELYdRb6B`=Dvby&5849HWY_vxXJwharh;HR;lpe0A6L)aKtn~sbb;#gS;>saj_-_
zb)Z(M^2e0@@SLwCxW7e5BCHjDE_-bD|7w@uR~Xa$I6nzbv5_yQ`m-C?{jwUF3;~i(
zqetR1!MF@T5N0I<UOq=GUa3M@G8@B$KgZG(FPqNAZm8W?M>|yrp8C{b^c^|pTh>-_
zpO#t*8g3z6V=?pgY1o@bV%7=le0I-m3;7V;-!73feLBRyAs%Njs!#)dF`ui?K#umX
zp^VtjYKQk&o0b5Kr~D{JYS6CBgP{`1_hvrMo}%-2I|z<2<A3gM#~5X!c+O@Nxs}&}
zoP_->#T5KSg?5sGnQHpu7P;rIo-DEY#mb5A&x=Bh!A*4F(#X>B!5U$NpEK`<Aa&yb
z6f5hipLWgwNZ|G2_1|Re7#~<SZL6iZ?A1%EZ(=^SUCiTB42mtKXjn%OV)#_VRC4m&
z;;qS^(oNaX6B|Q01#R+0<T+fa`*q+kQkJ5qi1pDypD%TTetV}KHq!A9@(GfDvZi3)
zUTbIHd?96KW5oTgfFX>oY?Wc-f2xz6H|sp<%nT^~Q&MS*1zaBZc0kBXJ6%?%th{rW
ziPJJQ3PAv&qH|M$n8D^$QKi|eSug6QQOc-P*cC@LiKS3PovoWo^@Fi=@`m}A7#!iN
z@^k7{okx2Y&|gY6@(-Em*PlgN=XT5AWt_^WB?|q-N@klNTNX46DvDkhA14hFD}KpK
zM8iNf+82lv0T$0x8r4Zt!UEI<8;_anLI2T2E`z_aYI5RQ?5b<0cdSM+%6;Z}g>5~x
z9taB?5P&C)Hv*D2@%ln>SNhXyL;X0Xih`CKs{XQ<hjeskfUj2Sd&+L^W^w({Pw~Xl
z9P&u;fIZNWr7gUL$JN{jo+6fORD`Kt_aPBrA}(aOm9dM0{1yHJZ3-tr=5#nJ+BN`&
z??T}F+Rt&Y>YBs30q$EjvF{xVIqhmQK|0?ZuD-isEe<pE$^8O@W8{`M=19PzA}1%J
zC-P?s?=#=3gR`<+=IdF4CZZor5m*TaS8|oUYx48<;}lrYJG8{H!p7p5pB-D}H;`P`
zr0(N}>N=kOQQ^aZ<LN0$EXn%V%-P3ng9r|AN3c5zG(rHQMRUVpIYlx#N+B`WM*e0M
zK?H_C5-BltC-HQ$lkXk+C4{=MO&X1#TNusM>+K#Ue{A2LIfuuU^m=pQDnHtDjSNx`
z`33c}WQ}AuL4h~36CCkt?o3|NVHflZq^ww4f8Y41;$GTQ(UW1C>Yj)}Ag5L@OZp3S
z>(ZC=+?8*!UxlA54AzUfadj%E-M@tmMf7{ye?d_DK48@Cl+966D(B?A9v+Y@JRlS~
z*aI_%>0-gkP^VtbnkIgX>kCv?suc!Gn;~ad&TPqW<k$DbA@8M&w0wv%t?*CF{0!Y9
z_M^Wwt(o}whM<-g_n@9vl4^lGM^0uarC=JXSpDrGN5r>?U`blx_Yq`Y+Bx>A^YYPY
z1^zbHSz5WzAY%`wUhUw0oljYHx7)&bwgU6MlT9L1zcF)0)aQCGe~;s89H^Y$>(3M4
zR0sMOwzBQ**Ci9&O>42Ep_8X<-BcC!zvQH8CxCkMLP6VA!~A8c)<An~r}@@}@-~ZD
zda!zwLEUo|*JZgz`I8;#V+7CK)OUz}?ZWA0W1CSGKbZuKeiS~;s)4<XgiXg0Sm9ss
zG-Q21ZCFcXy-9c*xM8OA8n@t(kFEnWXGvb1cUA?(;%m9?&s#rl9$nz{_$TkWUJ-e+
zJBc%QD^G8)ukvN8Yo1zJa(I*XrBB(}Si@N}8tc+kHCR*zf2U7?pe*zPdBWeqF2u=$
zAjXi;L#ho807e~2<U&6SqsJu|$f~o;tR0?`R)zc><PG0EBI!arJbamDKPh_2MlY;3
zbhuzcuDrB)dn20<91dWM^+#2WjE_!_vGNhi%F^G`p-9z7-W2znOg?WncTilHMVD24
z(W?=x#NfpmA^)BPAeV=_AfqtAhSq^YRL%RS7ak0aW}iq<6edGT6At11g>l_--Kif?
zQ0xD>%eGVPBvd)!tL^bcX878&`0Rq1Gx)eD&+W>m=Bv=fu%qXE_ET*Bb5SILOD3NL
zvH{6j9PzD%?T-&c;m^w4I8$0in}!-$ZMggO2`_=VGsr%7@o-BXcUaTJ*8*cqg#<4*
zrF(DMKvf)98$_Gm)?#0fDbt(t4x3$tIxEO>C6Vcm)>@jZTNPHDhz_{MV$;t1&za7~
zm}oWl_Bu{AG`0@w=eey9hc>C!ws4pg&S-XOUGMyKi@q2m5Ar7#|IF+2T#hF>F9UGo
zV?QsT5P3?HI(2Ezbkw6}?-kI@XwyEcCh)iaseBRWgo_m}B}*EV5{4`A*&EI5w5OU6
zQcWI^W@4nuyTFC10{>w|{b{%-N<Av1Mgv~O)1~rj#s%3$jY28p*G=RLJb-gl?xz-`
zaP9_iTDpjAEG;ye-oqXBq&pQOJ=y%^CyM37YaxOpLje?~q8d0MIwCAs5rpq}=z|;n
z;TZVX1V0|P1II_g#Xlc=ZBO%6*Ld8e<{$2*qQBe;-5u5ldxjFk^S5rlDFr*=H1Zi+
z<XKbS%a)pU(qU#~IE=_zXXgc$CN>9JgI#kVGTt>xS}I#cDeLbSU`R!Qv1w+1so=nh
zZo!IN_~Sb=Ygz%jcY@lryQ^%*ZjXayu2Q<<XFwvR$rR)#t6Z9;sueZ!mE~yqYspNM
zWUZtbYYUlD6lwaOui3v%F`~)gn#nYs3-lACuoywte?{zw75m1*3IV2Bs%ELAoLwMN
zrK$*+$fRR#CZX8Y7R_M7ih{Ip?3rdDL3{uIN8CNf$o94C!d`8AwQbv8ZQJH*+qP}n
zwr#st+qUh~zjwdd-`?3L=gUb>Qh!v9IWsaw>PaOtb&u!5(J?q%v=UsiK0BAI6ge6q
zd+iKfEk@U}ez<BzYM_OJnVZdb8Rb+@Z+q~A-3o!-3V`jNsHjy6uolewfs0Z!D)-|W
zmoRJy8kA}!A1VaEA^?-Kbw;3$sxE%IE+tmAZf5olj3}T2j{AM;#n7D*CiHD5|597T
z-+Bw0+Xe4lJB)#b!~vR><Lg9;mjvp_>^wKyOGBQf!w=!tj{H*ytkU$|hjM=NNx++B
z?gvn5$?FY~vV_89X_66<h)I!IkyVkkm5KgTt;qyR^GdwsA*z7Tb01E@E18l=X&7&o
zCn{1zGvf1aj?}6`ucWeyVkySwNhvjZC41^_0}&-$<r0hnY?EUH93kPF+A`Z!`XGeE
zQj4On^p2CmlO&J|MYS@uK?=p{v@N4y#q8Q?rDB-kiLKi4vhg76$%mIK(sGEeSx!Dm
zF_e71YSOp@)>LW~>Z-`oM!%`NS;Rm=YO~0}T~KE6R`ndWP7Tt5V+TLsN)%vmYPU{l
zurg@M+Pt5wjsVyTN-@3FZOoL+!OVU|ev0SVlB}{}vj#%H^2y*txeMas@bvP1hG1^!
z7YVZnepcOEEwx%8uhI<akax(3K&W*<TE|xh?po#z@Ot$o&yEz5$~fLDBgSUs$NtE_
z45zPKo6lRDA38$3ytRO6HTsk!!CykeuORSn)#0zAAjd~_KC(&m7l{c5q7kVA*~s^q
z!PMWor8-=0aaTN^yaVPE-ONAGF*6A{S|PHpQcgZ@4gQr!DpS5gKBmASft94TTN6=C
zR%G=h_QOsB<AbrykBYyJ0Dz(>Prkf}9e=}FaDHvA1V-$or6{OK2ddJ>6+=yc(v;bg
zyTQcFEBe#WOKRzqx3q~b9%l;vOHEx=$Q(z|bfLGoeG;@Q=g>{TNo0<1L5|u)QJr~X
zD#QoOqiB&XQFu@0-f(F?hIiJl4MISnpXs3?%A${!0*3%!NZJ#p=34%ofFlvIY=KP<
zg$Zm#`?H_Q&>9aQA+^jWtn6~(U{9^j3J;IMjlUy{6P$@ut9q}<?kQ#I;kAJ4Bu`Q6
zX@qDxfwErkb7+{TYpo?4A)HR_(<AWe_b;h<uGWFW9d}17YY&=1?#KZuDbabXOXH9^
z1F1q4cZZ5kpOx}xWN?kKz>EH?jn;Z~_OR@}q<|sW^z)-M5KT!@Qbk1MlN_de8%pGA
zx>?fpM(na9;iaM4r8`4w<tNQ?KQPW}^6|C+Do#%hCgBzPh3sM#+p6M#p%}ZD%@qJJ
zr1?Zhv7D1%6OeL5_sAsA2{i&A&|erU58bV_H%z_$9!PNHaLCy_Qb~bB74iiYfQX+I
zOrY3D(Jlo|dtyx4-sxbwYU#?i$#iDjqlDYLS{CLe69&;YY@eIgzYle(b8+@#272ro
zwKGwwn~Mui=jX1uOee)mvKGlJWpz?mlzB-i$?6rm@f@|z86PX%&LnQuPA|fFWv@)$
zN8NDMx+{v!FeNl?X*AqE8qPJ7G`f+_RJ*gw@H`95Bwv{}_&4Y`vR`@UrPx<M`wAlV
z&s&DF(AKv9K$J2q#OjT(R?u0{1;Ffr_S5t$`Rmes$6F!WsNu~ukoRoJa<#&WY6WJB
zU}J-PrsFmFuAoH80X`D}n|bHE$7x?N55_P~?v0EOai$6}?ZvDzrjrt4Jw(5==vrYO
zAWBSTL%j4mxEVRu*H^~}3z}^MA0LCO)u_4`1tS6_tJY}Ow5Z#&Go-w5+qNp-hvefj
z5np~a6DI=Is+Kd8uuPqy{uBp_^eFO+4CvT-8@}XN&TTP>x7CRtP`f~x%!);8;C|lO
z6<Tu>J#8uQk7~&kA%!;M@|rlF{2XZYT(i#JvXpK{^WV%mpXXZM&his$5|iKn3tC^h
z&NWxMyD}B-syK={b(}m_b<lZoFWQ5p>A`lmIRc3RF9zfcDPbfDml|-&OSyt<D;ZDR
zAF*q2l60taAWze{)xSH}(r;geQVM(p80uSoyD(6KI~KvjjqsfDT6R=_5?V*S`Th?j
z?2Y_0eE_PehH{hI2#rynVbH_i*SY>Ve$>xy(f7=a1c$hVo}WJvu}r*~l!N)qB|c>(
zh%A3;6j0AHT>R7@^P}n&Innc@zZFI#S^~F^^_a^9C)!-WCw=ujG5o~3=7{zp9nD4k
zjOYCk!ydgrH|lR@*k^+}?T6?RFAp5y^!56qrg!`x-WhI#nH>K0q0xWO#A$1|_`=2Z
zv;kZH_v962TQ!?DRvQM#1D2X+$yFTEmFM###Gf9Vo$)^81UJqMa0l75kn!1}Ig+a8
zLTAm`Lb6Nr*N7VFFTZ;~t>U?1^PxHVK2_T?tGq73uQ;n}w``+oY1DF!oVOszpn~2Z
zh@lnXUeT5sr?G@=Yvf)*RS3)-K+S%i9+N+Lsmz=W;_3dT*uwgfEJVcHRB??bG!ct*
zNvHcYB-x6H$qYJTiIIqP(PJ#X5x-ol?e2$hp7Q++e%b%NeV~jt&rVLWV<h5Y`KevO
zO%l^GB67TPn>=_r1)8D8zj--OUhRSKYH<4$?wsX#5thwuGuwoE7^x+FINa$LM}#;D
z%YSsfnm~8y%gW2+xKE!@@i<a=H#_Ys4bo&zHve|N^4jE9D<+8~;=L*|Pg&G#@DrOR
zN)|4h+z!jhlfcXDh2b;qKz?GO1$U2j6!GVoUEx~mvSX7yx*|)#=xb2zq$!f8@v8I|
zPf>h+cTu)i!e`uW`*Qkz8y|skZ%$$anVNbbglq$FC3U#ZwBfzjTrdeiDqs<TLTG4e
zQA#`<xeUcLWxx24>yj2Z*<R)fcb?zE17ujjd*?_;xSizmO|pq?;Um+Ic%(YE9$FZB
z>x2KH5n<HSr^D&8%ppqU)Uv|fCcWcoxCV}w$-Li#M0wWMuYkF%%90%;_wPf}&zRQU
zH=lC*YQ}$rNyU?pU7cv?)<Iw?FDQS81)g@TBJ{D@`nd%t6Z;AhrRnofZ$`B0sjx7x
zMqBTj{Ju1^J~%eT`MEVtKftxgGjJ2Li+={=)=$DmMSr@t>o#yJ5CMNiSCzmbt{A84
zCy)<J<6>4f=GTXe8k3LcD6Z}#D|7FJ>P>WZXKarlx}P*Fq*<#bU&j!Wk>m+Ap4XPL
z*?6eWYAWyc8Yy;i%U(kAnro*$S<rEOR5v?gI=8Q`7tW;`Cg--_k8m@xbt((~q_X(s
z`t_7sPIP!)Jn*ZG)_m*`PDA|;<f7Dk(fX#MvOs73?qDFW>6gf9;8fse!g@P}$QN#<
zCxi>;LgRHOWB%-f2`2U8p=HO2#QAd6(g<2bOe7Ie(14h22!0*anz-S3k|Af%k5PX_
z6LOdaE<npK;5d?*NUABwga#^V3EbR(M@o-`d%}ia66s64lUppRpVOU;amf5@PoH0d
zvlFSDPg(9)E0^rfQ=-qg?MHCu#N`FpNyXIgZ|yU=zkCG-P-H5Lr;x6p-MjSOi%!Ji
zx0#hv9^Iwg*x*vN0-I~-b?9n^C9(qSQz(Kn4P1#X9CU{pxO-YXu=G>G=r;s;nT)Ln
zHzbp9Au*c;blNwvjISXS188(1eCJ(r+rtbmd)uIFUr9HJ1TFK~J-o_a75nftT;-;r
zY6?d3s8Q8iC1^m6Ef*InTOffcrIn9^iiS`S3;l5rnJ4hs<-wdU8{Dt3+MTp6*IyH%
zw7oMu@4I3nBg4CN-;x?kJf}UgAAO;<GTX8~&<sQNaWkMQSkWA!%>1WqEA?{yQSZ24
z7J?W=97DHe&Q;A+_f_+|d+Bta+wYUH?4`sUUzCVd5_L4XI^9$nyIM<H>pI<H_2g#z
z#-{S7#zJ@$f0k+LbQZo|+`@%_s@@jcm5+}eVHv<mD(|m6{P7!w40s;!vg9M3B^N9>
zYwF?B(#{f6SIsa^$Y6)*0v$ba%C^&6LAI%MwzRdaDgb$twbeVZPg<hBQY)g?%q`rQ
z15ln-P|BntfQ0bkk{h`*%r^)C{z4T6T~MR8-l@Q_j`l&ej}3NlxS&!&LJ2WyOPhPU
zS#iblltDi|BDHQGwj45e+hS+EA5zI`{cZi6sm1&L9NXD!>9zaTY~i*GdiButy4gtm
z)*Z37x#4@`$=T%5wo_eg{Yt}m78yU?`S>m|4fNEEKj0<$gbIr#A|0oiyk~ZAD|OEQ
z7!aC|9#cpolP^(&Q3<OY97`-y?2JZ~F9XfQ#3~*BTo5vd>>$v$u)N-~<vKMA&FRek
z#95q~5pVn4Ai^s9f;H-;>{Dk9AFRAj)iqUFI24!J5nFa=25OVu1{xQV8kU~Qdgf`g
znG!Aq2#!IZ*Q>0!P|33_H;-9KtSpYqGu&o*`xtM)tIEROcGFhf(97_A1lIoKVSj3L
zSZmo_)%Mj?TFf_e34m;#FXMiH-1N&ixJ7H7_!3nn>?-s~kQ)(dP|r5JMS+roP&!;b
z7u-BC%Rn{O*m^i*=_X^~%#%Z~+rg99IgYdchP2fl%bzWf6GR28nO}68Zd2GELC+}l
z2^V~PkC15;$jEkjf1l{-ZAqs)r9V;2BVF|e8sVGDZ3c8V%Ju0B^SgR%W6EdqCE#?G
z(J=AQ5Tz3aQ8uR`B`M!ss~FpwLxYd->=B?dAH=jRN0c=Js{hi|bdpuf(2CrN<)f!|
zck(c?N9rc&^GmCKdujilLB|``<Mx5I7KjbPU5WSUR-J3(m+1Si;IH%;gLoqBaXaYg
zGa-aL{7f=%9`37|GuNa&5025?c`-!UU?jR3pLdK{T{^r_LY<LPN|f!NWOBzCR~xX0
zE87AQa2|xfU2b640|rbVMJBe{MN~wd5f+G11<nwSKB!4_$=LzCM3G2SR%xOY$$>1n
zk%c16wTyV73ol-BBh%J<V$kVV!Sg5nklfg0b91aGjL`@MfjwM;O+sEtz%9~tuMd1H
z)8(XYzYB_ig6<iSDu$*2*4nX9u%wSCcTDoZOdNM|(wRQ{eKi|7E-&+7u@Tgmofd%R
zZ=89=EqkUvI3AX<+mNz({GW=4iriBBH01ZC0y+7h)k_jKov}`OY?>#Oa2Z)xN{`yu
zPg_+zq0z5>57iw4+cMjp95lhOrcRdmH)^cHt<;BOb+!#vmCzwb$`Z6|<~R{}AgVCp
z3sW_Pt;)+3M+-qIq>cHFY>o;ZsSqo`bU+u|fIA(qLgC-07*l%OG7hG~x@|pkjyLDD
zWYLmy5<)IDg$!5X{J3~Xr*(fcr_$cI8J;A-#p|5udC(*;ov%s9Pq)Lhd#>5r()<E|
z)5j3^c>dWpP;3Z^5Q~E1D(*RaT_hkBKEH_keq35#6XI>x<sN1g=W`~xNG;1jA+D_Q
zXzy4*t4C{(R@u62G$xk*Gc8Ug&h_N5F8pvuuALvX#scb2^<xvp01kEYbL{JNDmTti
z1;*R+HfYnlxykM~TxCn^Q4o?0b}EH&7jkFoLoT-h93vR3W!vQ}SdmxZ%IX$iW5#i#
zkJj+5(;>u5$~(^+=NtQ@U*=KB)D!@q^oUEa$C&33_r>AQUOgu^OI-*0D<(0L`dLl0
zoTMe6oo>CrbcQ%p?I(6t#`DdC%`2Xh!*#0pn7uy{)fWtVXX2Qfca~;M;6*Bt4fw#R
zwVl$N6ykmb$*S5k^|yzb7O@r>y`qo+WN?Wm8AjC569mgm!y;Q+U(1elOzh@+%%Pr|
zEB!LmSlZg&Yl?oY?j|;y{?$^knrR^0j7dOJk|X|JKaZPEh@)-ky(4Rat`J{eLhzWz
zDw~vz<K1&RCYmN%XF8>ur8UW&*V-~EH~ic9YE^I=U^v`2_Si)B9g8qmq_v72^6AHd
z9QDY}5;R>iHX#X)$O=~|9_4imGI0nyD^z+u((iB(n8=>s!4P!q$svCs6PQ4!?GaDq
zzIu&`Dm?{WUZ$!jhJZ;mYbc*6hjO>!!~$VA&%bLG{Jt})UV?gDf7|6;c0If5e%C&Y
z-vevj@VuTuZN@e{Z+ZW${bOC^_4wx953+o}T3+3Gvs+&MYiUg$p$hz1A4ul-p{F_W
z*5XCnHFctq@(sC2wv;Jpf9dGYkxnLWg@sChvWoeo{L<Vy&5rOM$5PumOrNlUAdZ9O
z1b1o2iObSQ)zhS3eN;V&af0cfTA$LW61$XUc}Iu_MRg)C-8&C2F=mC)b(Pq!aZdak
zAtRX+a)@#HU+T1$v25g_7ci3klfg6J;r&4Px!vh-Q&U;<2jk#|$A&m|dn_i@`t>oR
zShKaPMKG{S_C~$?PK_n6#-TQ6i+SfKVk9tmgpGQgw$InMBIk2yt@qo;N(IyvZeI7D
zg=THfgXCY;=JE)S&@&RkuE)W?*q}vWsRvztYD1D}FOL~c(+ty(ep(=H!tMrE?!AC-
zewyGe_5zQxm#==*AjL1u7TpKD3|{9+l&Sg#N>SOS3^aNu=t~R;hblwP>sOq-x9==Z
z3PXPE@%>P>sj1GtMtmn|?12bkQ$fa)e13QS4iBs+s?0`8JwVmmg({2MerXy%@fWU9
zf-+2JzPgI5sc>8DFVB|xAb&i(ppD|<QM&Jx3hk7MjJ%W<LfZ*LZUH@WF1%cK|JpjL
z-}+ja&iWcX(RmMWLDC6u*(J`2Lf$}c$y<#24V!Eex$a?wyfjSAuH68chnIG)JR6`2
zfLVfuCswgcqnoQ*Yrv^s@e!PrVR-|EE(1$&duJPGDnxQ1)9vEBpWK{kiX-5hVTfMx
zu3`Yhy&Oi%<E2#aF_d1__IgTbW%twOcXXuYd|S1L?c3|~A5(@;r;s7Ip69dcYQSc@
z!Khtj+tQXC2PxYYmwK0O7nKw3H|KKii8R6FrHe8R<qxQ2nq;*}Iy>&9^|JuST@KSs
zy-eFoQ~w&ibv(=Or*bPgsU)c+jS-~5xv|5!M)~C2=89$lwK%E``B&zX^dT@xoGPyp
ztLXazTj!UoFoEB+N$hu{NlleK-O6N7=)_ay2?sVoX&$r?IJc187g?~=lUc=F)$T6g
z#WP5E9Y;Hm+&T|*S;eUf@W_OS1|vj!f<whU5`7FtqN{uO!S%64yeKJ^k!VX5<I#tV
zFRtuvG}S}0$Ag>lGCh}8_gDs2TqU%bAk5K+FEW#T^&JldO6Y<eXJ;~tj290Yr>Sn}
z2AW|B@)9@h=tpMK93$9j(wmqO)j7i11Fc8p4b+JU;Ev@zX~U(vL(@iavzn*!@MPIq
zvVgs+sY*?wPN@gsQsOj-l=rQwteCJMuq{*!$@_V`i1BhI33j$Ztz<V!nluy%ccXc^
zMLDxT8^c*jjgFKz`ywHfTz6%nu4=9@13Z(|$=nBlym5$p{<)9-N$%Dg9i^jBjmbDC
zDXh+mK;>5MPL+<`^av{*y(bluooB7VOM=>M7Y{n$9d=lT`k|_*Y~N0kEwpM~^73j<
z(=^^TD3>ZN$VbPUB?@8gSgJMJ@1V8_<CHl*jE#~m5kfkeu|yEXZYc<-?nisLel)q@
zLDHoWO%N1QDXS6DC06tjpyuma)V)NwsMAvYM6FtaJ8M2}K4S+qpP>2h`Vjjd=dR}M
zwfJSV?vW#-gz^eVDad0Siu@d4VU0woYiSarqg;>dLF4EhBsjl_@|uL;2|7NqX};!`
zx8S_tczmtrt|ZiJz<E&K7tNUaR>PC_I_9aMqoI94Y~PC1a0vZ@a$p=yNV|dw02eEF
zE*;lqOCxJ)&!oI!TdM1fQM+OKBe1#8LDql%$Vm>hKTxKv#yl{&jN6vJ<EUez#yQ!!
z+j(`|6(4j04fr;xm>|o~Bos--g&}u?)bt9F3TR`?;?BI<-$&GyeZ`_KW#mpf?hBF!
z)ObROq&F=*B$(cOQTc&Bu}MxzTNqcM-DvL5^5dlSMnk&*izG&cz><#l7jpboMu$;N
zK6x(}o8vL1J&I2EY55bK7kCMst4ibtyb1nJdK3#Enuf)LgkZXqayR&;QvNU4iQ1EB
zxL$N~<4~?C1gJ0!IS{Pv(|#ZDO%}U8fT~Sctf~@IK}amBA#p|gBr&f)L|XnR66V(!
zMG`H1=l!0Nf*~R4Gi*4<Bmq*pEe$Z%2A4)x3tNO9V(%!c_&j*u;YJ$n@TgNbQQCae
z!sc0xIoz4IIUxt_vZNSkJHlc`-?0LeQXoFVe5mD&$hIGBVTizLJaTp+c>$`RyX3FH
zSi5v|8~3&>)yaY=dRmnTnBjrH@P61*6XNu@1_QyP&~f+x=Jf&F)b8wM&o}(4HZF57
zTRZ#Qw`hK(;3s*md!-#0_wO+(;5;MOLLTGNY7$7e^H;nNHuem>EaSzJfwBFq;QTPm
zF`VN52RvCs)cGfyz5y(-VK~tAE(Nhs>4Wguhw`HMz5*4MS;F1z!ZFMBN8g-q6l<6h
zkIMbB1J<sKzX=@_3;K#$Fpta#^S=Mx;rujW*+gWC*cOGRo^}t-A<*kVA49*#xc-^^
zT4YjUQ{=05?iNe$R-O#x@C#BBVN>@t>L8?lBcM{s*d%h2okpbrjah9Zlrt3Pa&Y9^
zHPQr9Q0GwpF}Qc%yFy5qH?h}<r^!p^1=p7|{q)dW0!XKH0#UCnlX%?%<ZI)34D3pR
z!Mp^ZXWU=~m-PZv*rr*%(#btM#o1)s>@j01Hc7l%jXIT5+_ujlQ8eEkfqu>A5Cls3
ztVLV};_#}ZFyUwqiAAHDXjJNc3tl>%nE!^pzSQt_mrsF%C>zNJKK&fMk>juPn%$HK
zSV}QSHEg;Oj*hG$e=0h!Ej^E3uiR)FsH}sd_Vx|k#~oe-AFHRMBRUgAy~5!yen|gK
zs^-{fmJ9ZSx{ttes}v@3;XqfTSLnWLdYSArK}VE9CyQ6fL&uV;-*1>Ie4;dx*&I2f
z*7v{oX3M@uj_ZHuy-omh<|VB*6o|&PIG%<G;kN`D%ooF+o`Dbfo6y+vUy%EA%})uf
zsTEIS#r>4VzruGe)PZ7_$>!0&%Qt(DfdOjIwnCi&PdOAr#4l#Ba-MyMXv!EImzT+Q
zsmnBXxqY50qKxKBO!Igh9n<lf@!qR=KsGWl8!qQHc%|u@wBUI^Iooem?!oyW7441~
zj#jr=mOsx;hw&xE`BES6w*R8x()apfC+{4`Tk5?)pbjYAo!l7CPEx%dpaG+C^8uQ>
z_y|%ZvGu#9_nmGN|AG$dcNDs}nakjN+B?fz(sR%W_6yLc(VnZal*P7C+Ny5t2vL2n
zKK*EF1E|_Ab%aoy4nJ*Z#Q8W8ONU_}iH?&M5bgXrXlZ|trG#WNW;n4#45~GpsIF)f
z==0e#^?hLO3qXC}=G0H;9>HW)*6y56L}^Q?6qFaBmv_?SLi#_7j^==WDm#V6>(ES2
z`=Cw{q}|e{axQKq(>7kb(u{ORo-o6;yij=dUv*=3iZs^Qy)-rVQGr}f2Dtl#uGvO{
zpht;q5F{4(9}Sl6EP9;_ab6}b(>lzya&?MudUU*=E*AfYNP<XzSlVtZz@RD&m45X|
zw99V{xFHu-8GnJl-|bokQ@Jkl3)hlP>+Gl+xQgoo75#u$EG;ol80EA6X(=7QrffyV
znv|XvIax$<N2n|iSlQ<lSwFt``)Vw7ncz`$3Yga@t!8t#h4?7Eh*s^Ye#5wXsaC+P
z?>geW;UQqp;KVtqJEds9o4x1`vIiLLcMYlT3pZ^0hH*TWjUK&U?=?D6a4+79B}@Kn
zPrWM+)L8so%4)~aZAyoM<eOeNw=NW06n!RuKs&XrfmIW?v4O?#^@0dh3mWxA;s|xR
z5IrzpSnbrZo?$hk^gLBkIoyJ}Zk^<tVO1S^MDP-!Osq<)PdQQM3UxN`8NQC&b?6ec
zH$VP9$&^&uApc_*_D*e5cAdp{Zf_0-<AsSq+B*b#9(R|@(?Rm<RWw|O!s;en4}m9R
zui30MMQi^J`4_Qo_M@HSSx2A|i>U<s%bZW#E+>|XVzbs>UD643X)kWKhLWc0!>1ty
zM|FeMUD}Z1SG=8&>7}p)j|%<6$noN&!NgEFujlD$l~TYoa!zrv@3fJJOphVwPzMzq
zi>9@GY~|7yc*u|Ka>!%h^JpLmfD%KB0ri#Wk2%DS5H%ty1kQcOmiUvOi(yNna#;HO
z@P6xI@qLxM$v3Eh?t|Sscal{iWc`W!iN~m2)bEIAq4zk6_890jzX)8}JFzrvi<A=3
z_~JZLd_nwr_py0MMCHj`$W8c*DC!5W`jf;|i5$2_5lVz#_2+3Ag%5pPJ6*$HGSrNv
z2~M0MviVzp24|R7#Op^!3G(t7F{_E#xFxcGj4Ir}De?Tcx(9l_mc9F7cn76)|C{o*
zLqvjrLo;+77;(D95CJ@P`*c_Y!WBI752~DSn+@wh=?^!vTrrB%lm7fxFFBh-ZLy>`
ze;WDwC7=C!M%ZVUOh%0LnSd8W=IFxKT(V-nmG~C?h2BT$4>FcofUi$J<!xN7?6wo-
z8%+3&x_R$Eo+a)`=a%?p!T=t|IWKZ+OPM-PJnGj`7Y%m}Pnm!_t*3kSsdcwwD~XOu
z_K&qPXjx3yrEaCCs7msxCFu%l8tE0k&Gh8h6<OMAAJOKK$SO*m{`^s#-;!Hc_%m5*
zoPKtw$P{Cq+f-Kvaf)SSDi;QLQQ)MFK=Eltukh}usGza7o~sM>vGL5?n|J5Ps>nu$
zW@yKMj=Zn9sOIi>!pFSq8UWS6#Ei<!3zZD19Tq_reZoHATJ01A8<FL@U#=@UHbZ)E
z$xm0-Q^#^!iK(tntw*-A`(pKQk+)hZsn7I+6NRCR`#}KP{mLyVu~yaBCBK#Un<cw7
z;s!Z^eVhna=kP&G$xev5NgYe51pWwFFBv>W1Wq=+x)Wnf$_`=5cqhid1~peRQ^Wn_
zI1ZTR)|zsI;e1G~^ksjLP=$WDq#84EH4P(G-b2i;u{^+|6@Ii*nU(K{A<a9ywaWo%
zsfe}<{=<lj&LE~&3**C~^W)CxM!W69CaD6i4BztY0`<}+Lh0?48rG`g<mu2{;JEXU
ziV~IfSIp()kpf)jvxnKRjF%r+mN$a6$7j<<DeL38bZ4VAZq;fh*wSU!GlB-UdrRjT
zP48hT=1S|qPF=?zp7&e7*1}J&Yhs?kY8(1PVc9G{9}w19O~SO@iPHC!mqWZb>j7Jc
z_c0(icn!qgynQOC+QOg-&<UNT-a6A*GrZNtpH$n`5YZ5l{LieuYSaO}wx~6_y0O<<
z+%NJ4fD@lE89YE{{ULg5F<w=&QSed%%wFaMnJ~2R*sLK$#dY1V5PW2zyM)(p(KEqP
zu$`|9qUqj>s*VPZ_DJI&50Tbeo`VmG;hC%o?#}QV<B2uiA|x#(({5m$sVi&_Zd8dJ
zc1(#FoRgp2UL3ISMo}c25#`;zH6dDj-pv{B5~kgH(sbg_6fj0HYER}cMzd0F@fZ`o
z7iRIBFQYLg2pM&9dfn~;bt=Ep?eo@)x(J@54I=);m%|OlfS9t;t-}71CDR>R{!;Hm
z-qQY)CYdjQAIM6#SFq#aFhTHRx7ipIc%7D6p!Fq-%GJG^%GlTpt4Stwa1Z_%6(ZbC
z05B*q8#LxMAt)RY%&Pi+NvurEK8I|C7#0C^?{Y9KwdR)9CN<~_Y@<)odQpM3=$WYG
z6+o&^=wuV|b}BT14-Fj|eSm=)WK?Ec@_LCP6cx9kfl4@~bjeC02eFXl|7oyhj1XDb
zwV;n8T2b|H7YS+-n00_M$MqpG>&GS?E_HHhBoB8_i)*lT)6En5qAFh5fulh=>&Lho
zE?6Ls=DHL!Uep{R>$m0AzwjZa^RBHRr;Dxu0HM_OQ0rb9j1n>D?N0=eOwa=5a3S;H
zGm!6zJUC{51Sa>-aRX-;C`<6&?NGqdv4iGv@tc#$A_hJ(|Det}=>3wBY)p+MH$h$x
z&6}0X1Wus#tzX^3+7IsLVAAkEH9g@nK?uAPH<^bs5S>$|1keHGv1I}s*5(MpZ$TCI
zPmLYO)d4XBY0UcbijWfnNG<B_XA7=0uRW59cR^mT1IZt{Y8RtV#E9lI3nw3e&=OzJ
z2xg)aa4J?A44kPK(j+zaCh!xAJ)VB>7>!_6Gl<-ZArBr~$?sA4GUm1Oz9Pyy;jw52
zr%nVp_c`9iJ48ELVI4^QO0Uu?Vpsl6I$4DLvOqW%Ub8ge#iEmF8(N`EaJym`)|5Cu
zVJ<+0Q64ehBUB+w*wmdto&eilz1#r~f7MI!j5%*IVO^n=T_BLBM69N?kkKL1<WHn2
zW9ZCl{=HdHIRr(m97o%9a%jUL5raMc6DWBXI+pFRaX!mxj_?<JqNz~)8`Gql>DEVs
zq9re^GXVyiSSH!Ec490V*4xfzim)Yee*_H}d9~t+EE$Zz>N{bAxtzLj%4sS^q(DO<
zN4&*Jlp&FX?^`<46!hFI{EFgB(hL)O8u~C^XIkv$zVW%#F5?}Pspq{c^!H9WlShou
zB7eE2)#cx#Ue7U}=hs!rqAv@Yrsvot7pxyo+hj&)EjZ^%ETCJ8o5-^mME_~`Pax!T
zfU>NPO528+ZD))tdfb#KWtMC-Bw!48*edv7>%=Wc2r>7B$CfWmDY%#?ls3REVqg-r
zG;y<FPF`79lxPt?*Wyj|?%Pmq5I&=|G!L!JfD!@8n?6VYvn_)w!%;HYQHQnTwtoPk
zII@+x0waHnM92B+UiC<%{YWE*Hh;7nk}g$M>37S?IWutwNu2#m>aPWQz08kGFG7o*
z1TK8^391CG^l{6qaij8^_DDhS<;+QF&;cGcH+|tJQ~N&40Tk{V2DM|&PJIFFt(2E7
zP0<)S9cxOgP!*+muwFB?hOX6;!E>613WPCG>Hs~ndh$|0?X8~WcDw;m!kc!&m{6Nb
zaUpEFhQ5Zn*x;{Pg6>|q8X97hj+AzBT&&uMz9wO^R`?)XF_L0b@6J%3wQ78uElWbJ
zv4>8Hw#dYpF`LQOs310Jb#H3-<$5n}&Y7#q1~neh*wWFhE!7o5^&|^b5!EKLHxU!`
za>u49ZR|*1s5tK3s;IeXzZ!&Sj$VKx1@9JV_D9;J=@j=tOW?OR*?5+W=1_Re;iRE?
zRGT>PNk|a+@6k5o+}Foy*D8}bwuIjT^B;&8SA_{thLy@URMF)e3Y=NQ&5S&Kyv0A!
zH}D3tlggKgpNGi5SmmvZG~yeuvr5tZ+sZQ03xAS6gE8F64JT4>_@^BxpH!PI)R5pZ
zqI}AuzZx^9#YPi5TqfJoT<pa*QdhY8omwb%GYGbF+@s?R@Csa^PZ)a9o4vR*w{r-4
z*4QRo41Snj7T=U|pf7qvN~r8Jb&bE2$eRx_!pdbNpV_7v^iI#TU3D|BqEqN>_7{2$
z77{|5Z`vU$k1&DOjZOH^t%OuW+RG7|`98?{?qRj0!Q2QFdYr<Cva96(R-fc}HE)Q#
zF7Bf)0pKZ6Vl?wx4)6ef1UQX{7VvJoW|jUjJ6`oF9SSZvcoR7T_C=Asz?vQjY=abL
zGM5-?h*LLlgwe`<QKO&qCw(ogDzJ4U<!7&fjAA?kjio?TL*U)%X1!Eb_lAEh3p9vR
z2k$FaZ+l#qEEIeoHDh4@GImER=J8QyednE%c-6iz-lz9(x7TM|M}-djJ_<GETT}NP
zT#(?8W#C1@jT-bH6}1pWj|wtN0O>Wn)=?}Y9!XHDJtiX;Ba;Zq*}&@Vwqn6LHBWGz
zEvaLe<BgFdqwEj0@t|7g<Yh^KhC?K}fgnZ*5SGO`QE=-I75$QJWT3@?5Ke^u11Y?H
zs7r;T3@QxfFAysz4*>(b*DH&NK@=A&%P$5C9Q?C|HFw}O0sNi;3+^dMU`LPuMTV?5
zSDP68SwsLxTu=ZRT|O>fK<_tK9G1_a9$Dl=+#+xkXfB)yZa{Crc--Djt|1Y0qri`d
zAyTuS;&IEWY&ZcY#CtoscJNlQpt*7>`hE^cArHNDC-ASr`Eox_RCC{Y(Hs!bPqC$l
zP85+wLrvJy5d+vE<|Np7(9rXkcWWbkSitw-BEOsRI2d-u>Uu}4<Kl+&K!f$o>g9+^
zo<v6knu3fS<RF6Bk@@T8Y{(J;FZlQO>*4Lml0j#d>_@@tlkZ5;rS{r5@cXtB`;5x@
z8PFjX?n{~3#m~G#@r7sAFr<M$mHmN^j)?1x3IhK~>_U@7r|T<-8y%75O?Bgf_K+bd
zgGfjG#Xuoq!;W?iw~2@j_-DtkM4cFe=_-;aD8CnC4#brECyop>Sg@XnY$0k;N(2$O
zzPu+J4rYX$1+%G|rBZPd!#Xbp%#g;?FHVBS2WI=T#IS={SuSB0MKN>gtAb+EgekUb
zFFLd>QKR>1BHY6{IDRxx*L(&LC6#LVDkzdfhC=(+x!ENZ0Wg#(lD<74*-9fJk)t>v
ziNonL&AD3s6V(FEcEis;<Z={>JCth87Mqto<V=!LB1hOClyeCr7Wg50c64V%2mD4{
zIj*&zE;cT@evbkH*)yfa{HY<4aY^_DxpZx_x!M$-cu07%idEk|2Jt3kxtDR_f<x~Y
z$+TuH@WAts&hX2?sN<8NgJjJ!LUhqmuu0ZKg9XH5B6)H?CR)JP3_kSK1H*)huxpTr
zx{R41O7v3bXZk825=rO$0e7Zj2<B5nOBhfhqCnk$QTRi|l$|d!kDcOE93h>k^<*#|
z`iKK34%o2$JP8k=$!-Ny#L7byUj=n{Ckz<IW4ASHDHF5Jm`hR*n1-gnK#z!l;3I9=
zbfM~^&xK@3)Kf>p1WQG~2o**ID!}b2jB|$%z#M|Bz{rwS^j#uzFcnF_k$5#C5uw@~
zF=69t2hc!=9RBX6H_&K1KNjk{Y|?;g=tzZ#qawBbd!F>cCtj}xqm$8yo>2r1g?T7<
zA3Az;z;CtWjR%(++pfshh>}TgMuu)hoT5UTSthkoal+D~R8jqKB2#NgRfROHJef~#
zBZECM(#FEnL{2>|{awl{o+(BWws~<eDmr=zx(FRN494h8P*n{cE(%HA2eL2c$NZQo
zoXIg{jT$}O^@5<-UaTxpNd=_*hG<V1bMq(eb``cLtgty)yg+ZS&4upnAzm#KbHR1@
zvMv`^;M{e$6@Qf(GsoQOHuRtgnj}^X{^>D4c!*R@inY&KbO~ilS9cgk_y941v;^%N
znY)i?k|!+B@CwrTQ=JV+sX<KFC(IyrS3&hP@iG}tl}~y<^&X17O5ZG8qd$}2`NDcE
zKnE`G5W(qgtW*k{<1{#Iz$Yz0{K4E`TH@brroTH+f79Fk4n6%(vJ)c<{lB|TT5;o6
z{&es{Pac8ECj@<mvB3c`;9^85o+S;qzb0Y`kPXo5wy(lH#Rwb$jy0$0oQ=+p25V(6
zM&9A($K!+-8_HOi?pX;#wT@RQWPmHI4q9T|$E)VDcuAAz>Eu;Pik{*E=)dfFu!R|G
zm6V@Q-EQ8U72-`75-Ypz><({>9%vm4goiqrels)QWouJ@C_4^#BsbBVzI0$0KV;lR
zJf|_$_SE`dt}HPfi^rAzN$d!)r;$&(W?L@8DSh2)-4<<Ux-Dj);cD37+AGb^%*O-G
z<ZC7DMR0Za>AM>UII}WKBd|X@+lv9&0?vmyvl+K6lC=ANK0#BJMUpLry^iY&E5M2N
z-NM~AAjFIh*bfaN#Dpl|2>c`98cY8NLPapW-~>J_US2jl$u6~^BDf4Z;{<-2N=-IQ
znMm<lNrsE6n~=Se$RiCmjZX(U<JG1XTeCy^rSj~a^r`k5)!RD&328g}fAf9)<s1GN
zckF*F{89f0750As{e63pbpK!J?;kqlKWgW%TmGB1{Dq4BOG5kR*8ZC5zgU0&wxs{Z
z<lndX_Lt`O51H<p*8CSN_xHiSSh)WY^81(7_fK=~d)NPsu=jVQ?w@qt-$c59-uEwt
zj`=Tl?jJPZKjpoDoAN)T!hc-R!uvJ@|8EI=|FHM|rt1A&<@^8d@O{gD?0D>qe{J;N
z{Jg(a#eXTDf0fOD0rdW@UjD<;V`2M0f%F)@(K}Z5Z#3_J2kBAM|ApLrm+;>yJ!X1V
z8alRbdy)DdlpZ}D8$As((_fO_H?GG{$H4fXB)xAW^1I&u1!Df~^WS&+4@-}cnUU=;
zvG0Gd^yt}G=>OAi?nS4whoaIe-DigVWu|t#7>VblVI2G%K0ZGD=npaASZ!$HIQ-O@
zUl`<yLKS3rc~#3G$h8tBpj5im%gS0>s)o+B;WadE6hwDCN9*Z9ZS7l6AD^Euo)g#W
zckA{t?yvS!nZS5Ibc2|C@QPcBmpzs)de?r)Pl3%;nn5!G<Ki%qf#iIe`aC}d_1qe5
znE3<v2<p)mc9l~6Xco)-A#k(lRMwPh*;=T|ij_^cEWNl03WU;*kGqz|FWR?uidt?h
z4?lc^=dJe<mZm)2y$T?#@nbH##8i73e$CYi$p`i7Ku$?wEg^Qxb?e873-T4I5;Jhx
z7Y_56^bZk=zAc~X%&xb|t;>xD<F3wQcL63E81GAKS1(>#=j{5u>yvH=Y9=m|5fDgW
z3mHM6j#Cjw8Nb>fpl1)i9lmQnoY#+<Vpq&ZChagi*pcNmfE7B7V$2GSz>Yi)OEUFk
zsLFep0jkD6j{pu&t`34}Klf2}f?1Jm+gH(JBNVtT(P%!>CTu^)yIM_gD1m0ZH_Sri
zxX1&$0HXlNfHMRfp=X30rvS(0uFR(cgL{6;SZExRIOD+2fV;^g9bZpydxUJ#4{QpD
zz?LW#U6d<IfCSwSO)T@YON12vhlS^N@(Rk~Tl9`<K@XruDEv=`-Hq2X@a^R{1YX|<
z0b4A}KBSh*@)i5#Cgz4T9{xF-33hN|HWA9C2k`J3>|z77YSQW+_Wi^dfb3-atmwOF
z<O_{ljN#|BJ80LwH<{gzfj8!mt>Cj|BEAwR+h3xE(Y^Yoe#IvSx#*%_D2Y}9D%+;g
z_OwzhUY1hbz>bmOuRv3-w%*4YYqYwPYBkXZh@?r*c+UvJv;H%9nbEgzoEfCvkn`+l
zGe$8o_Ax_y^30lsJ~MkQQ>6P^%WzljxyU4<&c1<}eml<=g;s>`Kxe+Ne9r(l1zSBZ
zZH6w84`+Z_UrqtTHWP*XsAYPfkJE^I9+31QTj4!N(kDAeM=<K6C?AeC<hLKt&1mOe
z2z|l($ojv2oOgpB=}fs!9Y`BFdiw534zd6M(=M_?n1C?en$eCu;FfIR?x?DmyRlVQ
z2e_tfJ_70pz=3nm|GNG}U<<MNvBMl7Fj9YpFoe&8kP8H`1`jla9q5)oaF6T=`VvEM
z59H{7#+#ftqm~$Cmut{x6cX{V!8T<H4tIv*uLK@Vz!hQHwf)%Vm{eVFY+<FKY3wGR
zyA`g->KPDZ&(SLVkhK2zBhB3s-m$!R-)Yz}JNXY>e{IH~U2e=7)lzd-+?`Mb?nUgH
zp!JG~IrtJP`~lcZ&dF<9R@@r-k&tyO01f>6CO|uUb*#EBKs%s#Aum7kMG&kj+nAlL
z33G9z7tA;`n2-D1sEhZT+JPn3J#LK9Ex@z#^&L<P<~Z>j7?a$q&&X|lF70o;>e1-A
z1;8&MSC$x{Q$}sO<F9jX^)GLrdx00Z625oJ7k^pslh)9+fKT%{|D5{-)ovg?82&W;
z%ylDGNsb4`-rWA>qP?c=V1znc$O0f)Dxn<QAEHCAskaCw#!J1TC+6UB%xF+Nct)PU
zLq3u4lSg^DeFs?2&#Ej>^Z5WA&P_BA3EZ!4PNSY(MGAR;EUtES$f4v&A);Z{dBdN5
zc+`DnmShd8y}Cf5YOuEQvw<F%?!|dO-a&^WIW%aeX@o5JzBUbt*IC?-k3M7H*e(fM
zv-1Oq8jC+xe(QM0g*(}`U-yIQMH#Jm|7t<ch0HG8=7`SwsNU^@K62AxMK5!p<)aSw
z2Wewx+hUb19S>A3cw5^{ann1-q|So92rbNzd45mNVxu_n;d`!U-2vRO-VBgL5V5u7
z@;b%wq0u5bZtNm$!G^@t1T5rY5ofNEYa_oWp0kBpi+mq)I{|Ew<N_koClvrI1j(g!
zku+q5!d0Z+K;#&T%DuelLJh*$f7+(m5G}dHj&AOaTe^8T%L<$(E|Bw59e9V~{!AI)
ztYNuN{G^-v!t$Wt4z=9fv43%thPu^F$uVs@cGo#Z<Vo^UJ{CKXD2aR0$M!q6mpe9(
z#I1k5<3FZ50*NY3C)I!SdeQPw1_{1Lw(<1>m}&>+S!%D1ns&q<<AoY;nmHrTuI_zK
zf>=1`{8Q<c8y>zdAwXLzeSJTm_XxSVagZCmA6}yw(qoEB{OZ|&8*7~tb=;)qHFOu6
zPCrE2TiHfk!~eum5#tqre7jZqK}TjpIuk`SFwU=I;?<sTQuC?vy{PU5P2ox7`#pZ#
z6PC~y@j(oitT{;3`gj`vPsFg<WJzW&zcvP$ffIANFCM;UWe^vfTvh)Y3Rx%~_is*;
zc+*-R)(&<T)0Cz|2sf6Xc52F?%7OfkSiLS8rk~e9DEnZ$4ekrXrJ)nJSapA9O5#`O
zdw?wiR+lk0UFL-!W8SBwNuLw(JvUjLmB5!)09OY_SIl8Qu?1&_(G?*K^YK}2wg<Pz
zccPf&_Cxv+o8AV`JGgq8>RH?wd42R~?*cw+=mym$W{9uocnNMm-F>@)c^;xBBNI$z
z*Ns=;{Sn}7u<^0#&g@yT;znhWbg_4M(5oZTfm9O~o+BcrB56b6Eiv{B1nW|TqC+s%
zYR8tZ8N+ik`1sApU<xtljpTT!QwsGGx-DzK=|I)X-;oeun!m?Wwi)3pNxv0I0+SzR
z(I9;$Tvdf&Ft4)2%M5vuy6>nZ`_v0tV*M_Fq1FRrd%_kt9a4*i%381me1{}}0a$i?
z-dk=7Db4S|tfK#BYTeKCGw`W3WGm_#sShGR3VcaFoA8+nNDpw6R;1*h?IXP7(7W^f
z!R2u)Y2Et9QJ)>_;yS$EV9s0XapaCS!Fad|=jE%oP6yUax%4(SILfQ`ersqV3o&@)
z1nxLpBsZF3*DLi+_%b?>cTPMOti<bv5=Wp$Gu-R?=hNUiZXT@{`o~V8YLmgJ{mfC#
z<Xo2HjZ`hD?dhV5H|P~SqkPQ02;YY0oz}gX9Ym||y5J=-_C6iN?8-O5gYf}H7(q{X
zSG!<=tucN1+gc38w2nz8jdp`-gJOevgZ3gJD~>0rE8%I3c0^~i7_mz7S*(^4LEJB{
zq<~CKJSwg{LN+WxPCRt3Kr_!m4o4B^Zfw)Wx`1^yeRuM9>RS7_bMQ@;K<W?iDpEh<
zcXSSsJJcU(9%+~u6w#mO)c(0+G)6L>dNj&V#ZJ*q(@x$_*iPF{&d&2TZJ#o(T3S2X
z!~V8&G@AHIbTj$g;Wm8Kny5ST-S*a)T!{QLfu1~(T#1~SJiI$bW-eYpdVYTF<b7VK
zSR@n2vu*!=e<oEnBs-$VsMmMW5R+ZhOBl8z0_!=1j~1-z7p&&=WpapNe33Y+IA%fQ
z9QK^&9FlzTee8YUIzBIPH(|D<YJ81aE!j?(hFlDg>4<Nxc<zv|(1`C_EKoG`c8|lA
z=2eh3EL$wlY$yZ<7zI)}2w1|_c29yftcB=i#=9sjn6?P4M*tSu?6|M)SRU<&n4LU_
z)b~`y!GvJ%#lu-NdsyHfnc49Hn*00=i5>79k`%LV%dxcNy278wQx-#S9904vCmW_4
z{_P602JHMzG33A-#@~8rxAP&bF>JQ$(FCS<^^fN@y$8v|<3#Z0cgM?F%Bau#rQj%<
ze$M+A5mvkkPPZGKHD0y*(XjltPq*#khitC<(IG<2=yhk{&b8Rejw{kjLW!t};r0x|
zPr_D_IM`%t8g5O8mTQ~Oo%Me9U@%;1E-d$D#}usB$C;(zF1GuV-0u!X!P-0xUo-W=
zHc0}s*lyc1O#+3%Ls%G|WGAw__*c0BDL_%ivr*X#)(cye-4fo#pRgYnuWKo8Lw{g^
zypEA5pj)mAMBJv+8MaxyRH6IM&Z&bmbwxnAUKsnf6rU$It?hKJO`WU1oW^zTJEAR5
z23fz1${oA4VV?StZHT#nFn1VRAghAScdT5{ntXs3@!e^H(|3s8fvWs9cFbIGVEZ9j
zz;JxM`<!hcFa3wNm0Zwqf<a_KFlU}RVEJ4?wEdg6VO)@4`;KIRuKL!lVYvXHb~IWL
zHiMtGqh+CV`j%{9sQfrop<!g<B5TmobRn1opc?o&8+zqcL3MiUR3RwocD12Vd*f|r
zH37?Ki?tzjdRc3dEr^;C#nECzpo@2)TO-${FY%oDQ5}%5XOY%3V%kSG_HpVUEZ?>D
ziAeNGQ0#D9alL%JW2yH6>Jqs`aR}hzMMm=X>2KLw0X_M^R-~O`GOr0eel5nDkJ8ko
zpX1BKN$V4{)Fq!2I_=^~BZ7+TR1;;ij414zBJvT8y4^y%CY_Uljo9zI?vlvWz;K8%
zh2qo3po&q265bH`b_i+*Wp5ilW4>p)gz$F|Av_6I$1RPV?Ze!Xyyi8BL=(jt#_?~G
zT*Ww#y6;EtdoGKB#ws$T6!g+RCwTn8?IXRWe@BPyMR-Pf56t+b@CEjIdo{v4N`4FU
zg8G7BKb|ed!7eowLo+AEFf$EAoFFeuOre0ipa8@yk2G3fG+|QtNBH6oUnWyTkOJyx
z9s*OGVLaApksMRn(2VMLPY6@M2id@?V(m21pqSi0!JKVGX_5-ZcxmEb^Gs>d)kRA+
z)aL*!8OU`A7DSZ#M>TR4DK9G~EJ2aKi7OHkYwcIqSh6yQNowv^1X)6*j1-m?St6y3
z8J8tl!nJzFRxDV8Cx73mg0#m>8Yfcqpwv((Px@5^Q5!Z^MEwPbahvN#R)jLw6ITQ_
z*0C&3CDr}5VAtqXu2VWEaH4m+msrMdB5#k-it73hcS6<}uQFPS>5ex*yQmVf_QrmF
z!_?)xyj_arT844o2Dv3a574?M&;*_CRey!ymX?{bK7n|ZaSQX3@y_|m+3J1Tw|Dai
z?47sa#1heP{b5BgXaj^Ul@y0bKeR5H#7Ej1f<?N;kb0sDJU{O}i+dt-Z|s&Pq}M@T
zZ(^iRKQX4Sh81oMG133iNUwBa9FZP_xYjUfs7{q-Tu)$GHff4MmBhYIGif-e)<fB+
zRts#^l{M)n?LAfaQSm`s#XM#NN&TQ%J!gjAPF0Agv!a8fg{Fs}$PLMBT$}=EA*{5-
z^vJ~66gmSFtF@|E?{yynVfYlf(m5`-k%gG)O6%TGHtWuNXgrBbDu?B3L~1<^SvI%v
zWk(p)kqW3TpORyZk)Gv7-rxgFq|~H@y87B`GL1%;{y|wdjkf1#ngnh8dl+T4y88q3
zS(TRe#sjNG%S}=Gm(BQ)hIRW#6z5gjTb5M%Rp-?wHJpX#b#5@OYXbM<GtwGI)75gT
z`BN4t=hLP8>4|aHhWB>sk&eqvVX}_vL*vqx%iXqybvMve*VFJ5@AI_`uIKxaK=7B{
ze*9K_#y?+Or~iEW^<~KJ)!ps#hh2zJ<R>gGT2eBngQ&EVvXQXc>h>Q#@=>ua!RlSH
zkm&Hp&?q|*;g-Js4A}NbGy3!h&`#+jG~yV!Q_6Bh4tWaBf}dM0wyE!%s6Ao7y2Hj`
zLCVKKn@(gYgcyJ8O7J#Su$LF=Se{&2ieZT({QPZ1R>)JhryDABLS$c*MChdzYTYzv
ztGSH?LQ@!mNxA9Lxhy~)Sw=0#AzCQED%aHDq-FXWBC2`A0^<x5lj*lnk5fFl9HTzA
zmCl{hE{+f||3)EUlLDQptr9kUSKM5bi4KGgKbQm!jH0t-s=Bs1;@QL0)Wk8KLAeJM
zM-OXJe-=$zk1D-Xu$4uywq*VvTf6OVYh=jR@r)C@CWm1|{-PXqg7Qk&cf|wNm}5#~
zZb#dds_Y5{3=UJHtLbZAwW*4!OnRsJY_U>_gGGk=>g&(=_Y>M4+Hx{UvQiagf9aAv
zjqvY1{^whEatb*<9rEf@%>oBBPXmv}GZdw~U;2xVJq^g4*!1+Dow@n&3S|}Pa+h~b
zKZjq9z{Gc(+I2S?kU8@|#P54ZQ_<J3r4!TFES+F#Ro@7EH;n<2CfQl^)M+^({ugui
z7$i&AEsDC=YOS_y+xBYPwr$(CZQHhO+qSLS@7?>0Z{M>|>=WnT{Z&~tvu2Knk&#iA
zIma`!W34&Mc!T8%cf`g#MMiAAz@UR275i(^z9xuQ%Jb0&WtMd@)mx|N{Fd*(u<YoG
zh0nW$m(@-=z9xIpe3bIVojhPL565Q9bzV9^uSKM<Ma1{ra&f}_2AHDYpZn<<lAPu|
zwCnkMf3JedkJYYUz^#thS0{@<u1WDw_M}HK$&W9(10xSy0eCyTT|ldiW@DbX!qdg`
zsLtOPG`knVEIKET@ZqyVl68JxM2+0ct-)at-feS2mravMJWHmq7i*AdDwp0m^+o)0
zKD*!ToMx;b@UUPDFGLs8Pjv}PW36tc>n3Y<5E*@uCSh!Clehk>h{z;Bc5b5(C0|`H
zsdeqWTFT%M_Y5zn&0?8~MKA}t6^&`bqvM+72#G>jI0MFTRH1H+ep3PYIo0N9$X#fm
zdD!;X*ktl|_TEk9x;Rb_Oocgh<wdNCvB`F0EtcWAF#%kofdFyO32jS&RiNdccQ`3r
zkr@Bw(LeWas4u5WSS$x`9JMJlVVUto(3<_@_ax9r&tJA?rgde7wgGBK2X{{DPD#|q
z&+1OlSh-upP_ozYalu;jYrM@l6Vf5&Sk<e42LB}Eim<*WWy0N>vE+w4w|g5)T*$n8
zx$!i$;Jk0rB)N2N2SoQ1pA(;-hRy;Xm}6STw`k#4-48aZXw(lbR&jlXO;cCB4?3o|
z7=@eHwn!l_6WbzP(iLElZ0{VKe|QLX-39Z4{DQH~QGbT@2Dx>oHKvFEX^}l0nK^Jl
z^HaY{rq9I>XP0Qtg{I;Lt5g_yZ-DPIFUAR+l7&FKC$$M+#j^G{Wq#+HFq&(%b7`${
z34BOOu7lvxW7>oO?bkaYw<dQV)}Ohk2IT4b6?M4gmht@PtDB6e3&MIQ7q2G=^bzQ3
z=`1O+kKHUBu3^saJI=$`E&HtF#s*<7_u54)4$jOhDKK?Qsq=#9x63SZu6Y~VVa{=`
z$1EX1&a!8{T^9GUn)!?dwk$gbB-U|4!3n!6(BRd5vcX^?)69U2+ZV277dr;Q<=l>Q
z>}go(aFTI?qH&p@n`~87i74)z{x)?2bmFDPMT;g($QG;>+cz;@{Ysxfi*Hc*j~GH{
zEC=T-kn`3fv(_U^)*{Q+B1_gG%k7Z5Ai=#xHK-CG{=CL9kP84H%El)pJek*Dn(Ux7
z4)EP#znx{g4oUDwsKp==r~IRAn0=*ExPv54SY?0_kV&z4B%U4N5!P}qF!<T~h<gIi
z^z+z*ilt8$f{Ppx3#3nGq*K+qGGoq-^({d=+v0m7?xf%+%c~*|ZLMg;nBK<D^<2@~
z?%G!C@$5`(6>L{XjdfK=t2M|Q&E2-872bTZ!Q_=L1j&-G7u=_2_b(kfHhZjDZq`d)
zq9PHBlASr>dD`_!h52slNgOsfHB*(lP#8Xk#l)ZV#-ax=?m8*`Ic3=+m+K?qR_jS}
zOawR--bq~ANnCs{A#wQVtU(8ZU<5frOD;X~u*x#msO5fTn;eHLfHa8XM&CP`cJw%1
z<;UQz5w%1=nKyf8S2q~6PcJhpanBlMvnvV5n(W=`AXE!8^2*<a5M%QR#@BTbr>ezQ
zY!R#K5evPoxhya%6&6P(PA7b6e*z5`6elm)YNpC{Z35^U=_A4#7Ua7o#I!THEdbWO
z?{GaarO?5q(Z<ui5B;^ZRcOl(F*v8hVy~DZxLG3Tlr7hP7X6D2UrD86xrl8THHA5e
zllych%$yZx8l9&U{V;Sz0Am`Bsd72M_EuS6S&8M1Th>rj@T^__G+&iyNt;Vx`4$kR
z2l;pX@l9?*PRvMOQ%X8>Rbvf}Jx9q%*ATASprTpVI&-#!Nx<qNHG`MfUE~+Fu9F)D
zH89E9bZ?VV%rkF;PbDlt;a|kRC-wm}E~}a-Z%I7oR^XqJclH6B=p{VT{az~3?g^DI
ztI*K+yILN=SBKSupJU23(9UNpahfgFTA>{8?>l67kd{GgEzwT<Uhlvoc$5#&SBEsj
zN;ABuSKBaslr3})fMB2u0{to*@z;jcbv%JxM1}=$p8}K#J&Y^;U4hXd0@Jbi2TL-<
zBRT=eySQ99%a;LvNPTW;!H#y*um>8ufPzKJIGG>7TzX;VZI6&_xHe#_<1tKPn&zo4
z6kUx@qF|@|2+(kW$8w<68~f;608d$c-JfkX6urmt3fkMc&%ek9rnx|Pu_J=yOoYv}
z0$6NVKFB^qjN;HYyr*;~<0z>h1%sS+)An^q-5T$8@FxPqTK-V;Mr}f^pMF|+K8J69
z^Gy%m#D|ts`@o5OV;(H>zA#+f<=f(LheQy}i(;)xNbN_p#%PH(&v@^0QzP-bUU)U7
ze+GK?ec?sMCy8gDPUJ4k1jtyLxSGhDc%M{{$io!$y|Ny0w!r=tS)^}4qz*2ZRde1w
zwps~zALN<=Gugcn-dOxb>hkx7!$1=gio=)VKO41k_}e}je_(lsU77RC4Tmely^oFc
z8Mz?{-ZX51ymJ|9v%h`W+4|ax!T{p(Pbd5v@j~Fn1MYNuY<{W?G;hYMSPPtUDNIlP
zhr@54_Z?WwAevZvp%2!O@D@>cGzog!<80}om{J31Rgtw3a67ctEDPM`_;wM{)zEU+
zqz-{Ei5Iwi=Mgjm1}1rq#~Fb%UItU-OaYX+Mh8I8h^r#${bQ^*?#~eHyzITKSCWnP
zwww47xfNC??5pea0WD7^cf{9M5Ds!tQl9n%azhbi5g3v6g66{N!fb<jk4}$zkMxhy
zk5Xs{=uNgZvNp9%sy3<3VYi~}vg+CDCGEU!iEhyTtmzxni@)b9Q3+4)x%WF-F9fd0
zQ8AShf;dF-C;kQmwY8)w6IX=SV+cFwY62W10_dY(p&T!Tu)WyC#XE=>x$vJM1>!Jq
zlQ)cNb8c-Z)X5hIzfW~b!y81ecbVT%Eef~qTpg%Sc{41@K$bx0!D|C&0G?$~I($zz
z5`Vga2fI56wf#Eu0xX!ZrHzO<uFECaF>in-Aqx^TA<;bWYK`0ySE{2a0XB-Iegi`z
zYvzRtx)UFjVh`=)jmkabihQH@U6|vm18Cb}u)}$cm<kAeuxrs)Bkh*{;+q>KY(;*A
zDag0rEYID2DAmpYxANCC0R!Fjcp{%5V99;NDLAFgV(#6%K)WNlz()~<P^GG}V@n)4
zG=Yfjm135n??+u3bn2}?z<a_I4Yr)Kn-j5uPIOZ2d2XwmL$GMipcxF*y5^R^#=Q=B
zn)Uw6d*aAk?~d0h9wyY@@u#vGn9U$axb|D~gs#c&SFJ(A@VTru!AvvS?AZ8>eI^V_
z-1UqewJ`Nzyh4fqf-W6arLqGxz-Nw@+1k%y4vYkK^1cl29NBN|71n@uFN}gk@{#1y
zoc2G;91uM>phyu!07bc|y{sKy>pFw37P{ykmbfd?AIz-7I@F&)e_5vv`C!m*x&IPA
zg|-3Wf-v-~K>XT^d3pf^0P`L?aHa5hM*X`N4j_s~PB;xH((C2#^b3+1*JA<Hboy@F
z{}szCczf6R<$rnk;sF`kMj3nQ#p=MGT9+D?CxmdwDF){Fo5U`<L=8gBCG3O{!hB-z
zmGPTE-x>Xw8zb@RCAXy9ByL|}cAyHMRA|E%gofX)L#mnqjRuI2HNOVX_~V0uCCtI6
zn*nw16RtGSUnfA+%Q(&}CF{&l$SB4Dq)qTm%54>zphn6qm?uI`4xG3tGAYiIc6Q+g
zE&EnsnT~WQHHst5i}lI@C9a0grh}O<Sm6Nq;LMTTlh=z^{!M)}lm#ebTn_rG!#Urz
zu35fg=&T@m9;86=mScoGXMF{W9vYL13JW1IN<o72=w%nx00$=yL2GAmS~|CMw7~w^
zs>{fWcs|732(~l08ccaXRO&K8=!Phh9eQvjRJxn-Q)j5xe<j6$K%OT7#s{tHi9{j?
z1%W+1hHsvgev8pRDcvA`wF4#uA|2md`rUFO!7O32REI7#!pNTFS2tKh0BZ3~Gi9d3
zlT~>vYfoo%hVYzE_Yx`oDFxOyuIwsOh><y~a4u`7$ls^iMmwdq!6+0qdmYh077Y@V
z0}?!MJ21Ad!J(`8Q1ehP2{Sp(XI|5{Is4`V9y<2M8)F_Z7tIs<QfTFD09BjpZDtAO
zqI_k;I8y(~)M0jhoT~<od(tE?0{qgj#nj_NXTy*N;pV{#5w)~dYSE}gV^#>LeaOb3
z@{lMWyorkmh5{GJ(6CofJM0dO<f4G_ICx_sXZNs6XMP7KF<S$PsjyDJ0nsQNV(eo*
zICvf{kBwQ!v*7)}0W_tQD)0`zj3DK|f-bxU23InK62<pK&|+vw$}!m-jFf$YisQ*C
z@K=4sudn@ga&jJ_%xzb2$9cDn^)xt4&u#ZrY7Jjq=Gxo#c4Hs!RW3VC$K0K4th+Gb
zV@eU^X65L7MXbt;Q>}a2L<C0-IB&M^mYd%ny93Fa+geR0Xl{0!Nog#|(<`)F-m{$_
z>%EsQw<2VHQ6TS=GGY#PrGyIsS}pv_<j!;D&geo7cEH@!4}s>8ypeD*X<tTa&*%$S
z%<ntB3@~<3dAU5lL`V)iS@WQn-^U@@u@=!F-BwNNMA-c&^=8i@omNk3Hq7u8c&S8Z
z)HU2X1Jwx0d}UGe6HYGS^CxuKB*B=_JL;<9IS-ppAL9m4Q7K{8X}T%Nxz=pK^TNV0
zKkUITn_Es;dHd~<k*g-fwB2vR&Fk}8kP8X+A#S(Tf-ePM2T_*8%C}@2k|<K54}#uP
zlHq8?(F*2aj0Us4pD$W9*Sm-Z59ax*bxjI8u8-;K8r`9}f*EnzOdt14mf!iZ$8koz
z15{QT?DKsCoP(n52H~x7EK5wG2X`mz?JmRi6!~R53rLj_C2f&7##Zct4{BQR3G%RX
zpZL}#jpSN<*TWE#OpRt!<KUF=?g71$Jrk+usf4BL9tE;dj4?2>S&}H0jicm|#EG$;
zA3_K!XxsNt%Tf?b1+w9lR*H3HcsJN@$aWk8j@^UBthmVI@|M{GwM4x=ytJN=_&2wm
zyYDXF4GxkA&b{cpo}o6sH`;bbqSn1~<Sd+@(d2~eM%?<izh9%LB%QNe%HQX^J>Th{
zDeq?ht%b?bcLl%MP9115ct78O6`1M7ChK}h(JGKfO(bMI1Erqwz)yTdw-gXdM^7Y~
z{CU4QPeQ8Vr@ZBohzQ)X<OV)(g}^w_mBCo_f-SzrnkMi&L{|5(VdzI~>!t%GE*|kt
zDO?}vZrd&ufYY>P-B1uql?@bP^UFo<sWvbl1vS6|(npE3I+IIjqYuPFyBMAo>ukFi
zGQ(Fgxm~yYH~VoeiqzQ-kwjiu3pV~lzuj{U5DcQLP>(MMo|tA1kR?MI&0EJ=NeH%a
zh`vjKl4Npr3nyX0$3>O!h{a(JDOv`=28%hTf|VW#*ze60;&vh#=%H+}N@3aG?4gpx
zy-$7-j+wiQ9x#Fjo)FadK^nSyY90aTcQI%#+pW>#T&RU4{QRKNI2P<w+L`Q(@ku)u
zFyvn5ho7s7kg?#)?p_H!!yJBeW5hR7t{6vRq0gJZ0~C$W#SW2H<iwtg;sV<Z)MZ&s
zP`H^>;B$ygWk${}We6$`lqGPik)j{FmWmJ^r;D{fpgW{9i1nwdCbK37PlKTAB;B<2
zk&sjT0`+?4K3#M#z;OK)RizJ7pmJ5~$jd^a*68aXw`0gYS_~;>%ib4f7c3+M&M%T+
z0>l#FXX8{At>ttZcD2mngwt|7MkBg7?EL8>`0;BRqS^ZF>&TY}XT{qE605%PeD<Cq
zyFD9#F6Ppj#`UNvME%;c<Nb@k`*q!nKJFa&xiDOo2KA%Y+F@isB+QW9ISBefLUbI#
zFhM%ui?=F-b1bC@cLZ%rhJuudzDd=D>!sgg5S6>Ol7X0R+Bbij01Tq#c*zUdryzGN
z+Y*q=wt*!?4>T8`wIK7LYvvRA*@RUOY-sGZW$Vw%p0wH-E}K)gXISUlmY(;>n(3l{
zcuMM`kvOfohEaW>f*zyxb@Y;I3H7{bgIXlBdfKXrsj1MgC0y>e56{xbT%G1%)o2wI
z^(fOgW~!NO%I1-XylQ5Qv0F8(Y^btVF;$D+UwE4iR7dwp$wU&A!lT(f2nRlmS5)eL
zd$i~jRNCTeTcG2JsyhL}@7F--IvAcdV;t87b_Pc?or98##JJCgc5nBu-1Q;+M*CT_
zZltd>;BR2v6!5&mIThq`esQK033`2at;v&)i8Kw=AY3wD=2nB%fLB$&*`2;3_Ehia
zgi)n%utCElB5H2?GF}*v)_BC1%B3W)r}kt-9ibSi3uH}}G}G9m14N|2*4Cmn2q<%s
zvVl7n!ydV%-^p7t2BdQwkbOS6h8G=onsR0;3fQ9Ak$nR(f+5kc%*l|Rw?@dq8k#6E
z-q>eZo1QglTgyyg+}n>QsT`-rC)@EcU#6(KLHM8a4e$9N<k<m6B>Q*S!x2_BJW4c(
zwmI*MrB}{0XprB%fcF>0%hylxd{tgrpNtyj&pap6C$ipOLN4=AsN%=@(_}u;&wL;t
zauI2!8|?ykda{&L9ZePEAoCt%+q4_w5w9sud;OeQt+xQ>$H@m59}_$&sheg}<0Er|
z(BU)@{(SH_IHDu8+D3%)hR_UpdmExcZ<YRY2{jqCW-#W^`MQ~mKdh_%8myHGafaCl
z#jPn_qV300Y)V@3z~R8`MT_%Z)X>jO9JkA<K4m%}j;?BzIIpsE1$Op=Frv@CntIxG
z+X>r<afN&Cl)YR0j=$G?q1Z-t{&Fv%NGv?r9QYEC53c@oB{Z_rjq6n0D&be;bf*2k
z*iDxOvD||pKM!vA${=XiYi*BVBoEN)&4(uKS*EGcxVf(b-NT9|+US5_J{CUVU+q<{
zCeDesWEIs|JM8$*PS#N<SLItj7F&n@ypwLTG1v_wO-yF9v3e<~p4F&RBzG>o&>egI
zsniP}S!8~_*C&(xJA0hJZzKdbOP5wQf6gQrTZ(eY8|@`l%y9Oo!NnQSPJXr05$f8f
zs=5b%SBD46{z8-E9GCor8nCs|)7?Cu{_ah(K%ALAKr{cHw*|m8lc?+xio(KDa(4~y
z-aJgAd365d_{|UPebbvAZ7<gL%YnII0Lb~ZUt9z%lh-K6NW4zM(G76TsAM#o+Fz6|
zO+stcN64~gQ|fo3X2RG;(d@UL-fxh7a{uiIKV2N#{TiM(syaTU*Hh0sc_YDm0`{R<
zBuDZi)}-P5C_$X)K6vFSqdeWfwKw-V=`5!%QtAw7nxpjCtB>CeAn1#qs|?Ww>qn6V
zN6XWgNza+9FPD<iEOmf=958~T0$|r4A>J1*_m`xQ?q%_EQgF2#namQ51o#zj)Zwaj
z2v>0vb(5zOxOL&Ms!na8lla<(Pij;Pj!0J~9HL)Se`r;*b1`~@Hk|S=tsl}acX$zu
zXW&+AlOf^SQ5>d*XMhO=vmHIde!ni1hVe?4^_I3$U8OugtH<I(X(AG*x5N{9FzjO#
zEZdvHWpeW@m*b#IMQ<b}YQ<(S<keu*UwX4oV|Lrh1SPt9u+#@l?XDUr6o6XuFudPF
zVtwQPngH{}I~32?fra!x{*XU5iZhU}TQwG)LiJr2(QL|{vGH}zRUR7`VGv&}B~vmA
zJ^<1-V~1!?3mPgYDmG53ppG9!Pd%_jcy6$fj^G|-T<D*;vU4X4y&$A{L8wF06zkFy
z^|1@CUKRGt1?py?gn`EdlLVvOHEqMxlmpiioYIWtz6}PSXnk#}f}pdy8ys#Y7s#p0
zP4Tra5!PpOXC(1~#{J>OUtjeQ#yx##WQ%bIxB$L^fw}nSo!{m99N9Z1B}MP<Q}_Ew
z%B;4S9?N>z431pkR0k>4tRA@8KC<1l&8VWW(NJCsJ~I*^%&uB3Bs6uVmc}TGq+C2M
zFU*UARV{9hp~$4r(JO2=?q>oGCmGV)y*0R8PXb*J7~1<y#Jg*5K7j9Wb~&kevF|CF
zF+FUCv=RF2+kw1dJL2Ql36|J!oUR<terhS>!{etTQ;=j4a@9|XC?}9&QKP~k^=(BZ
zj=_o-glXk*eSCpb;)e6*gNyyh#`IY*5^MHYf7`Cw4%)`=OAU<L+GZMbZ~qn&>yP{h
zuio7)N&GU=hqk#79;MCp-nUeWvq7)-GZsukhGg(Qoa)QX!ob{l5qn&Phm7J#-xuL^
z8?<2JIhZOqSJ4LA`wj0F{?7B$$Bgm~4_hpdA<AYI72GU_TZ6^`Ht5}onp6`Et*u>m
z>FwUy)o^TXQ8`1tnT?^+R|7evyYy)86`~0da>&Hp?Cyl%TKjpi=yg?+sybFPR9V}b
zC{)#H5yz^t9m}#6$rUT~4HM%0vxraWSPj*^TngU3Kea`kl2P-#;9l<>69r9~)rw_=
zUAe%##+H(-_z)zMYm|9YBF-)cp4q0FJkWLG%_Q0&$PT#KC?TUkko+xy)tzkxli4gC
zmdC@7)xSgr1}`d~3uc8B8{w*fZxgdDjVx~OPb|VYBe22NCQ&g9&sVWy0O!p~Ifux3
zAXNG>H4RO7vIh3on7y#JyPw4B(+074jiKiAak8f8qhg8dqsXCoiR?xpX9LO}T@rz<
zZpPSaiLy{pz3A<1#nhbXrvAL}n#QgFV^@g1CCZ8eHOnZmmb}marF^6)Hg8Z`7(Q_f
zUC}+hgRE2gpoJ3}73?|P*(G!QIRE4li{)Vw3)a)?6Y;xIyTLV~sCx&rpp>lKQ=GwK
zxb0mm*zf{>3O>++kHv!$3dE{%43Wm$C^~2hRnV~>_o1A$LBNG&0^60x%hED)rplL{
z&1=<FGxo*QsEWf@*;#p233g|T)dm&^x9hhnz1zJP``t19oy2@vsyX(n>*FIq)n|<Q
z3jV>cNrD?AVV`g3jvzN`EFQKOE9_{i+*E6xxMT<O*_sI%`P&9+S@7m8jbJ@ulCBnV
zJ+sj7Eo41?pFp@`F6=nW0(gE{+ZeJC5rZ~FjQHIR*d{dlR9ewnl?ST@NC|VRyWuuO
z{xBM?+V@Q{>=mphqj!>#Qdv>5e1%65<wt&w{JpW>Y2J47Bus=YY^uXXhbnR^ahDn)
z&E5pULS<DAx9X%Qgz7O$tn|6qInTY+LK>=$<Q}T&uT7^Tj?=WVFwIR-)bMJpji&5{
zK+P}7ehy`B-l@%p$@KUl*F5W1cOq3Z<JPyK$+NDs$UzBO_^fA|htt<<fHa85>;Uh*
zxO@>Y6))8InL!aaN=khCxlq;-<odwWNM>V$0vLk{IfHaPLh7{MzE~{ydBHpiaBKTo
zX3(Lhnx>FH`UVDUs6-oj81;*QV$0Ocw~>!0W^V8Z4%EYMg+#+MCUx#lD|;oS5RRc7
ziP+6JN+&LoG#p{H=w<GgL?@5-{hq+B!1<(QiCQjjo>g1J<XP=BU)<6PR_2PQhg+`s
zK}aomTG8I0Y)->(>d6YxQQahFDvIN83``pCL5|wEn!aoCe_9E>XbMV}7z^a7g6%%Z
zj<(!F%>N|jfk!gP`;nOkjgFqO^_$qK*a^@fx)MqdF>F}Hld&(Rp(9~kGPKf>w~500
z02ZGVEWg`Vu3{&1lP^|^KdMNwOLuUQkD+2|MybYOq#8PC@BRFNYjTf#w`^wImIT;0
zC6U}Rd?16KxY>FdmOTWSnAEZ>KurI0Bk57Lu4|WmCqZ`qe)&qC6f;e0<#o36-W3)`
zL`8_6*?iQu4Hvk>sw8O4kEkr#YnP?}d<7yX*0OZuGMm$8t=oHQ)eIePWE-J2Go1!u
zml|0{j&Wrt{N(C@fptqLDS=III^J@zP;<__`F@+ft?_XcS5S%brnc2$H@VfCElkLm
zIB{jtVtbnsj*OzfE*xnmG)1|=a~`yhb4`fW-2E|dI@3SB5Y=j+#+bP!Lu-3BDA0Uy
z$1&Y`>zEasloO5}szn>t@-aS@C=!<CLWxbm6lc)yB4^a%Q_0kExInW|%~&yj`kt^$
zRxCv?&U{ASKC|7DPZ}9^SIX8rt9Pr4MP0rK7iF6$tU^KFFdOoCsI(6Sy=Q}3UpcrW
zUSX|H6zo{%*wr{nu3DM-pyzD_8KkQJgVwsE?uNdp@-nZ9^ym(<nmbOT6M1d=P&j{^
zlwVD}XIGlmI`w2}j?_G#bWPLOD6rHrUjmfn<pGl?J%l&89YHK>1WQf3#8|>`(_M$9
zCyYB+N8%{g=?K$WatAH>Ll|kT(|hPIJ3ib!in{6}UwIU|vyxx4nGlNZH3&-AeHMYP
zj$hb6am7b?;MjRR-E@o&F%3CKOz2NAThUuFT(Ja2u*VRE(i#w5UCEbfUB`!nFDuw?
zof%|uE7IdFKfDQzp1^AGv-E*R^!-{ExfW6AOJI{WJAOwO)z27ecp&;<1i6pdjPur0
zsy#8Hlp;&|$d4P`oB|^=tF&xDG1n}00lP1a-m_nzr&g!hRFlsSXNkliymAt74+s4a
z>buY$5xJNDaO>FS7NdE-mpT<6SoL(FCMY~@pKBM7y5Ppg;&HigXi2bpoBjaWp7H$k
z2(}f}%lqBBj4Il6{+j`~epDc3(5$d-0F9K*us%zzk{iMHmc%dIC{xRJEjCoCT#x>@
z6@sgiH9bDgD7Sas>_IcilrYOKtzmkYWV~dYY0@lWmRQU5AC}3r)$fcyuWogGn^aX9
zE((&LFGaT(&q68T5PnQ7x$K5gEIGzbBYO$TihPfgfvkdi#v&h75cImnZpr*;i41v+
zukoANg)rGRi>(<rJesz__Iu1^#}7@-BntV4$+?CscL;>=O(+t%@n1+r!ddw5hplt?
zr)sCnr_id_2_c!UE1gBslH2JA?E6R;N}IgIxqi=C^r@u<@u>zmM)lR(yz*6UGX{*P
zk|5by$8+b7AJ2(&A*xg-xUA-eq9o915<^mRr_wB<imUXo%P0{2#!6?j$>H_I+zi=<
zy%KIqZ`y1;SqCLMXnNbR2{Wl%m~7?OxMkm=2}?OL)mh?b15MUoZ@RI9`&mgZDOriJ
z8=BK{!=YEPgcpa;FxkNz>q>X>&g#lgkKF5?EYESTB}TV={cWEN6o&MwS_It$41l*I
zt9Qh%=^fh8qi$m<)z2y5sBb@{!{W;RT%Qh42b2R;hd*?$_0XnzrJESLx!1KR;F@8$
zS<+54I7JY4J&;w>-W0O3kF!bCS!p@zG^va@BmW5<|Bex<*(@Y)y|ETITN=+pAXLMo
z*8az(y=ucCvKM7ibXE1Uf)k~W71YotBmI`QRBF7zOJq@pB%1W=lX1tT*W@$X;^tM?
z=Ci;7Lg+eumfg9SWj!Q=B}%~J3iap=nrI&0Eb~N+IR(QB{YxK-I+m-24SJ!eX-2$&
zEu!9)KV+n|$c-yvavufa-Yw}<4Xt*|_~9NBH9Yo}*waZK7jk$AM;oK`@9ibSpS21f
zO39n3N>_G&TL?1tpsi}R&qAFE6ZH9ZY+Xu%mtB0==f*%w^w`0LY+W>>Y_6CU36yvh
zC$gT=F)yP#MKJL{`?9krAzAiHVo#8M+MPiQyyr==!*HCYL>!(8&e;AGuAfFnbJcOM
zwUp+ajfIqQlvj1kdG=qW_YEUTdY1Glcf057J8TUEqYy2LlC39Al(pBinK_Qf5NR@;
z)Yr$|hap?I<&=kGV_uKm)2ujYH;aw~gUcpavF>K$chT+Siw1e98Knr))GW*(1szTa
zXS~w^yUgFD%@5&ko?xIlwg*;xMD-crQBXnI=m>`Uo2&wy6K;Bu6bdAp*{WBjxZc`C
zW$lh)CE0-@dr3fwXv^IocA`4tCtR%WQj=^T1wY42DrlqUWPLke?OUVO!m9d?c!bY|
zhvTl<Qi=_@MDBBrm17=P=~g<80DEHM^q5E72{%Eib<o(HPSTk>YopM0J*-9Bqll5Y
zW0Wm7M|TvQ>$zR~UFhm-eHuHXqB}5MWf$Q+TjccIb?yvAII|md)PBV1#l$KQGn2?=
zVq)xy>C|i5;~No8+%XC&xH;$>&K;?osUg+V>!QT(bH-sePZ+iT{+hVp6uA|m$Z<YN
zf0WoxOM$;=RvyBNeez4^V3LrFt+NsK6$3$9&;H$Yh$iU%9K0yK_4eso{XOHkw-mmm
z(&5fOACd%I2$zL{VO*t6AF&|;zU6UpkS^`i{V<bvY`x)P>~vUWUw&k@!uVL#?3(b|
z)-Ht}{J_==!SjwF&Q)IkacPf_ynYA=*UwovC-DCAhfQ^?u2>jRM9^t<Hk8ho93E$w
zjh4fVO%=`&sujuW;Vds-j<SE0wQfchqmaQxG$p>yg~gGb>G{-VWp5Eu?)YhCVoIR~
zEfF;&6^CD+y>vNyVA>!;ii9{^8De^Do3-~<NJQfB3K3q?IszRv#l5?Sju!3!I$8K)
zUyZp0yPwr|d(#=*U(HVp-_Cg>NLgp)L>7s>3#7Nfp_4>C8n+e3jod2BX}vr$y?J6y
zyV;|iq0O*Q6O_7=QWG6>UXz69KDZ~KyQ8u3ePBs++WFFWKiM!ci|>f1_37xArK?yC
zFFo9&sh{kdoS=QorG8f^zo1@7tr=Y_wkyHQs0}fV9E#-C0aKN?3ePP)lb)e*-F@!H
z&VQ<+cDf1#ue}rVgIPGsMHD_L3d-(f7xJo%JQuBhR<wb9u?uy=E+pk)NK0<v8dl?g
zN&H1Tvl9SSLPLvcVPykVvLe<jWYi(tPS_7w)5yG4`mOqCYmkc#=fMUov1J%>(UX+_
zXT2-i<(27c{PZ|B_xEBSo7~uNc@nf6>Fwv${${<4MOJ{*aEvzE&8C%o+GgtUY!_?)
zOA!Nlta^pB>$RAH`0Ch6<dHgMTq;FDUvm-jZD3md7ra1~!LpDgopqy_p+(@U8H0E|
zp(}!CKUJI_UA;?$f{NHcCL$XZX51e%%zd!s@vPn>moFv~VT{q8VN@Zxs+-84MZS*R
z1o7F&S&XDH7a~QYBm{#Pa|OMwu%{sf!UUoR_Nw(+@{(?%Zv*m3n#1I<mTXa17NXZ=
zs60Rj#VcocR3+;od7Wja?(*>kT_wA={9G8}Hl;Ks_!?)=jz(8gtqx0fhoYmK-jZ1A
zcV|_~+lfu$=4&(+lM*d2nIEdY%1cgKZe*$!SqmykZ0sCVmWmHMMYiS6mz|4ptDNR1
zGYKglY_9Xkl3kWp8?Ac@H|lQjAFu;Gi(d`*7feruPmNFO7R|vtCKn+bu+M_5L5O|0
zYtXt!kj23H3=Hei>~zo<HVuK71e>r@`p#`*kx5eM?fq*;UTH&lbwhq|sRmMGe+?Z`
zt!e4?Nji0nFK#kFIJl5bi=#64wy}H5-K3Tj6)q5k(KX!T9=W!~_lD7Sfg^DAN{+b?
z&I4wT7vAmls5|k#g8Z6`uS8b5#xgUM9PV*4`sKtu%S|`k@U=HO-8`4CjzoyyPSyS0
z8WqHPNf$1yqnQOTtm&?2ujxFoZ%q@h=e72clFIX}X1Dd+61XZDAnB0=s1|9M8dcZw
z9nc8ZWlu1#6Y%r$X<3DY+VSa-wfy#?B93}xnOh*)P%)tbx)<pLgwdg_G|M*mCue1e
z*@&6w*Kj#D4r4hlR`bWg^Fs;T>>fT&icHARpT{`#XZu_SBI-%m=v{@m$+Htwn<lik
zh1(6AG4;{EGLF88ZSyl-J`j174zIriJOq+Q5Ki_{@xsFtP=)~u-lUrGH4CPgg{Ncf
z1D%dYoqjIA-EUIs!+Fo$ZD&gZOzqV$7~WT}EK9Bg`xMSNt~Wix%Zm}6*&yvk(-YL_
z?ptT7z~>_vEs6v-I7X-xF~!6!>pXZCu=13K#NCErhv=V+Lrh7aBTDn}0~P(Af(48t
zjF>jwx)V$z)c(9eYmkh}T<yx*UZ)Z*^`xNw{eNRI;8HX~5RT#lm|`*h5aHc()5~_i
z?h-FPdJ1lf(_A@0elmadb>BZPg2<<&cUM2vZ7pjVj3HpzU&gx1i!OduP0EQa$0y>@
zw1#TopZH#t&JBu0Ls;EQE92Wwc!l%WRf;mJO)QDzuO}E`Tm3xR6Dpr90)_vzJJ53h
zEnKw~gh8CXXf(%>vZ&L%DnXn-rK2at>Sh)kxx<rQx*_s3n~v*ObJ;><hdIuj6<Nh=
zfzzn$EcN&~*%Mh%Vk<%u_Ix8wo&mh38jlMGw%66e>7l}_C$trE$x$T0HkxbPc0}D$
zS=Q2i1Sj0!Y*oqFa(*wFz5-lK;?!URlO84)E<~Pr6Vm-a-ZmxXc;sXk+Az0Z@!3~V
zzr(#gMjC5FV@wp6P~J5`-*{_Tz`dM9AnMc(h}kM7-?GltdtzdL*DyU$-;Koa<J~3C
z23qx(ei*4^XZ+#7+XBlFLvej7)#vQycC?7gXH@aS=m{NWdmRp2<Xh_EJg%v{{NA$@
zwfePN{q)wkEFM`*Fr8|1dUNFz2o-+DPD^NWZey42%+=Xp(DAsGRD}ebI3#&?T|AYn
z<oBjL>i&g}hu|IDKj5vcvV%x@*F1B-Jbr!%h)(@$tvhHOmMDAH25aC{j8OxI=8T+a
z1Ay!e8j7Wl{ahH`DlQ9!!F~f0!UBSE<2O?i3e!f}dZF~34aP)$@#7cWqWFdK<5#vp
z9YO0c4-%l}${_j_E>DF}KT%D<X5lXVp0Y^`w1qB=X$v-Tz~!tBU_h{T$*vG-q{XZa
z0@O{lBG?8bKYsRt4a9+vSMIJ7GYO|yzh%r})S>rJEBO}YboZhlaoBxq8XMIG7So?X
zPxzLo`)$w2AcE;l6bKEPv+G40E${FisJt&WsN=_WV5^0L^1U(-MUBMju<|=aTg5K&
zsxjq3#n-YHa&08#!~gxD-Nr(+a*<aDy?&>7{$|AE&r*`WZyNinXeJFm)@NSd^_s1n
zFRgx}i}%8wSJ`%|v65Yn4{G1waJTFrea{5-ohmO*=f{2502A-1p!+9&AZ)TTni(4{
z9^Rc<kBkx`^r(FSU|?*DHSPS}j!yFP7q9!F=k#TQp;qnwSJq~5PSJ?_grIxdCNNIP
z1@D~QjxQ!(<1kw(6IPt#YfP4h{q9_xZ>Y}``iK1Sx$4eBZFg~=Ru#7cdO#%|ZtMW`
zKYx*uz&Rsm0nLE9;nH&8awW|RdsI5ic{8*DRkTUeNLA#cKkH#B;2wRyhhyv9m5X{D
zJmhG;&`Z{ekj{tnOQ%?Xz;ELLQ_-0f7NUl*A62CKxgl(!Ec2EbF{_bsfs^(c)hcq~
zvVn7Ror$PetNki}uSuA_vmeCxak+SN>k$}zdmw)i;u@9B4T0-KuGRBKjF6QKF0zEc
zo!^M2n`lxT?P*xg8<`*>Dus4g?z!fp1}1w*O6oy5qEk)kS#;%**On>KVR-kgD~HQz
zdbg)Y!ZAE(D`uj0LuIpsy&LLXs98ScEH#Nn6i#i*Ytsx_&9lk{I+GhuSuF?Yg8(a^
z)hG;C&6%wM7q?ctH57=B6bjljXgwTL9InmgJf5ZIialtTO{x{kj%Al_T<r5fH67%a
zHhOwg&bO==$jXtdHHWuzmo|Y%R-%-@J7%8LW-Mu``R!FJ-`u_pne@6Mo0mhGd{o1;
zSDLtO_t%@zJ@d(yKWPU^pE07{F+c8I@7`cbx@d+>Cz)+137^y-`otubVTJAJCJK3H
z#;A3g%u`-SEDj0H$`=-NJ1sw&CHYM!o5z{LmhZNej#VnwAG~cjGKREsUs`gEZ#QHK
zY9}%e|EA+>-*I>Z*o5qZuejc&{K4t9z|8}!DEL5=Ahw#oJIxX1R8}Y)yPOucTB!^l
z)a1*H3_ZU@JlAju;e8VGy4%dStrA_<icQZh7X8#G`^1zU<YpOIuDc~TVg5)pnAqE3
z$hEEzzdcv97(W>0@<a6nKUGkjqj)(E0F>H#H_M!O|E;j-$f?w_N&j{vaD2j^9_Ko?
z=^#(>mPWKx3vet^Vshyj`4m1YpT?BofwRoLUPb6*R%6tj#Z_u(QKtE_-VY!j4@`T8
zG~=$FZZ6HA8bHnKL7dh0MWovn=#Uy}H4kWdwn;s=FOQL_WL86#=yPI-siP056@eQj
z(WkoB4qCn!^dwu77^Y}Ww~xIqd`TrWGxkAx&c-zQBWeAK#3AE$zKB#lXSMW@JMHB)
zio+zuj0d9@AhZ~^#P#qX5RQ$dftyv;^K{v1uk`q)ndp3(XPw;*X@)%5sg@nB>?xjk
zG_B6$T`v;>fAP4S(OloS+H$N~_WBCk87r4rf4OZ_Bn+7R=r)ye1m)NHw1n@Wo_=I*
z#;E?v<n`$CXR21GTlS4}g66n<=^_05?)Prvq9V-<;e1KthxrfYRf0Z3#-#QkN8!b0
zAH98u&5T=@12CmlZQHJRZ{5x0oHX+}<VB}5NMiuEK%euKlrNOzqas_sLmBPp*thjn
zKY=8Pg7N;kndRF0s0<;s{1|RS^;y>tv9(0?`OrjD{qmf#S8fiw|9ql2?{k|3_DX|1
zcX2K0=HaY8PHa*Bmg>}N%k5=J!*$m7X722NbgB4NuC!QjDy*%5TEhPwmB;;wN@Ma}
zc;I%&hYjPe_EaL5f0U=lR~BhJnsZ3$^&B~IY7Re}r*>a1F1XbM`DX0(t@_5bU&@TO
za2M|@+hN?HJtljoq|K~JH1tu3^(;bZgIsO?C0u^Fe@A1Cni3AFAuBUpvrZfJ6w#AE
zVNx*(gv}ewkBz9apm4(ubWLv?9Tyw}=%LMxKx{%~e{%}!5m&qm924H-e%MdDF>SMx
zzZ}L{gmyeWG);dy3jf;kH@q4?>$-UlXjm-3k@|cQf(d-dbStUaH0@@_3^KFe&`45k
zY5Gz=vVdw&G&82hq2p-~s!Gv=WvD*%d$p}z(EZDs*I>U<(&Z0zxdoj25d@X&eQ3p2
z(sw%pB?6nz8uLpxz4&zfMg2pq^9343nm?0oS<YPzeLi!EgoT-fSwFd<g}k`Eym(G!
zRjI6LRrQ#h*l$bU?-|l`m?8=5GV5ce%CQ%r3zmW!S`q{r{`!R3$H%dTw!lWq%CQC=
z^BP0b8aE4hef1h&n7KMWQz#vhit2LNGXF|P2n>dVSt>_gw?c4r;IkWDetB`3QcLSU
zj7yD8WQvWxNq-eFoJ=gs%gq$m%m5?7xz%$S7fBsi#qGsw*j11$EG^AU6@N!AiUAB;
zSC=WCHRPV5CpJ9|<<wPFRU)^8);5)<Js-Jv0vz{z{nC(-)?BaC(O1`mRaeHF+p5DC
zhodxAL$?6Kb+x4G{i_bhy@yq{7CWHCt!ge0MJ-R6Th!TwEnBOU(Ul8EQfgjdWo?O2
z(9~2}0`qhXgd#<eO|&v6vrMYiz(_Tu3)u2i=9Ez)TT#(QT~iavqphSKjJO1Ho*qje
zIo8)!$UFO2ge_-*fFmIY_pYk83OpS&E!}@)Xs8TVDzC0Ria{KVT38R=?~wwrpb{xi
zV|v)6q#WhKa{i%6F})hxo$?R)Wo55fVtOyprAO_hV#c?aBtl#S0luuIrDG%n+bI=q
zg1fpo2#P#Kox};;7Bdhsh|&_%-b`;(8DygAN@rVDV=H%!pLDM~3rKP!GiaKv=}G~5
z@`}>(80gVtx_TOV+JK2FR~tJYk)@iAuDfTBAlf!^Np(3o9YnkRAyyibM@bxeZB<!e
zXt-I;nu;aijRaCQEB^*p!GsBKrOBTL%A<}KXJ%goYJo?{JYsOm{vw8A3i;obVqx_9
zdGxJC#Nw1}D%<E9O5u}r#FANbT^1iJvkXJhSp^c*@>4iGO%8Jpa)uAB^J3y8Nm6OL
zOsbL$X0jq&^gF-z0SQ(|qM7lsw;ppOnW-$m7?-PH?``ULFg0rURA(2a+?8xM2NxSz
zlps0<EO`|X(4*Jng59Df0U^}=c&nCG$1E<CF#Z;rsr5v{yEj3pKpOARS7q=j_~Rz4
zi`SGvH5P#s&NWk4!Ae5-=Y`6oY<ZEIGz0=)TCy@y*MnWw<M8^cxg!S}&5nm{O=&nM
z7W%$D_55B~{!4MD{=KC-HX)?@i^8qsZyMunPAyQv(vgm$rljT~4ViLGcqE^*>-Jwq
zN33MJGSP4wQ?!mY!5gKQuzF-g?PZx^us%_Nc0)<3aCOB*lr<{y^rYOW2AYy;^UA~f
z9ToC+44F&YPtvj@q%bpZ^k5Jv!WX)(qG;ADh~x%P^+CoH!E!&UNOWMTwKl>1rM04`
zH?xJsLdRaivio=7A302nKIE&QZCdwfE@T|us;#V2dMKmDr|B$B8%K$<wb}nju))_R
z>+kxXEuEu>S+SxxcFt;@8aY}67b7Vxsi;|2``=1OkZ5tq!OMOdzYB4_Rd#Fm%1fIn
zD_sSgp6U$8>(JeRv=<j<wu$}3M8$Q`j)Bu~slkQQmKp%49N^vRi5))CHbm6V%Fcd|
zJ^0i_Dn%If2Y(H%tTtLgJ+4AoM*0TnIPsr<06Zh8cHDJe)KIEKH}-yS1a2FedmvVV
zVn#(EnL3q=cmM)sQ6ft#_1$i}<UO5g^W<uK#*1XHzw;QUugYK0HN{^Vu6ytM2yJ3N
zcq{Q0>8&~~rKP`3-k&erNWNBAS_X=2PiK8rtF<xc{B%h`r+6)#owG4Lsg8K0$iQRk
zOrXS`(FbRY^;s!k%xc^ds%<UxuLfHB7A1>nlq-1r1@OY7+2DZmztPM75ybwJLi(TV
zBL)WA|4EyJ3;WULOo{$Oo4dekRERJf@$0Tm#VcI^7BW7XdRg1Av670MWq{b;BvnsQ
zt&X&#jZ`M_&D_nC#KkXa$YAMHgwBNG)83$-hve6Pqay_$>VwJ7G-|HVEF5Cs1lmoP
z-)U&A*;L+iv#MVD>H#n^;v^L>%6ZPzVt-$Q>fxhYXBj(w?6~lp%-*xF?ZG$TwK^!#
zsmlafPK5vhKGsO6*txw`0nu6L_K;FM*79<OUcCJ|FKJ@4V)M{NZN@S~fDW@l;0si6
z1qDWhK=V+^ref!Q3iwO-oYSK(j?TRP$mUDLtTp#^MIYqkJ&^&6qQ%|^B+#*iFswyH
z5ROJJZTof<kpYhyAj`(M6*aggS!<1Mx|N>aTqDFQAAi)`1nwj(y_x_%3mXWxD^+gO
zgjbgn{BIJ%{O^P)xY`)v{=f3o|Cy8Hv$in!zro~K{vok`lq>~nMJrQ%YXd`E`hWbg
z|EgsDv&(<;!2Uzx`nL-955xBJwf~OE{VSmVKTvW%Qrv$kZ**+`4UJ=9V4$X@WntCC
zWnji-V8dnkPhX9Z?#FwhqornLVEY+kWW`ngx46c{^k2uA>2aAEasM^XKkl3Qzt}k3
zf6ajVKYa3I$o=PW{=M<9fd5I#zqVOf*{JE5Y3YCbHac8Z#((e3`V$Vre-8fpK>rTt
zU$g&*Q1`D$eh595pHS&&e;By`>cIVz(EpbAe`ox^J8=I>^?xXEjQ=+X9NiBBM^DT0
ze@5W`vDyAj!2R^lrDmgNWBDQASeU69nSZiFPy3TcX0{*OjgFR)g_@O#j`{zKz_I;v
zp8gjE?w|Mn3j)VT&&0y~KO=DTbSx~a|MgOM(c$`oz}=B*9dFpXZ_lf<i#wB?PR;oS
z5W*&jSm6o~^7Uo;#MaP|1FZrf$*jf>MheRAf&3wr{GC!`vLR^LBa4ZsAjJFEZ~#pp
zpx|Bk*a_5k_VuUe{CNxK+Ve!Fc}mH+R9><8Y{SY2zz6xr4`7waIl9Vq>njH;#}c;3
z;do%zIr7WK;{>%w&muv_Y5B(8%t7tm6<}}R_jG2w5OlCL*Z40n5C9czROjUd_p3CH
z7aEmqxckQap-5~i*YOYTCP8$O-is0#B@+%EHyXa+TIVTD`<?mH^j|?519V9GW<y(#
z88<K#f8SUEZjWN;i`~9#4{oCY!1sS8U<q$Abr@YlZBYPN2m|OP0cLZ2z6=|x)mfy}
z?w}}EfWI8KT0_9IZn?^D_KGK`sY`Gv5Y$wn`;I`}lwP2p0d7j#oXV9{mkKw0j0sEZ
z6TN(pAohsB`uc&@<^1_OyY4`87e<~(*dUL{%<q4Lw@^c-!%Hel{I~E08xpU0hq<C1
zFt<Gh;MRfya^Pv6mIwG&zd^nQcpZk%1sV?}m&Ff9m$Yw(^g)=EFYWVBdTq3B2M(Gy
z1VRGn4lyPKtP&oiu!{yJkhIRGnIH*j@3?J6aBZ}KMD^fZF;e<2oJ4i+o7k4pP=*)m
zL*JW(1P?JZcyQwQ-%vxJQ)J5K{g>!FHiD=97x|Th8&wHoo$Y3wPrd;_IGB*BWwPS#
zL&iI`S9Fwn#yex?Bp$yR7+tbHnFE;OX(4u&qhwvR@OwFeB|KErzwk|DIV`-ewiuY*
z?hc!{)fmgRhLWt_u2SBR8O4IifK#E>=a7BB0{E3DFWpp}pd@_t@RYZBx{SE^P}~68
z@U;0nH1|etsxf8gqj%b#a6>E*8{~Oi7^doFHh!7YX8X(F_9Nn2U`fDF?PFi~sD>%t
zP$mId2HX7dco4QB^N5N5DDU|KC5RZ}-i|xeMa<@Z5gxE|g4bA4X6ggNboZvnX0@i>
zMtE-gz0PbO$=fx>j~dOX;%~!}jT4nU=o<C@MS+Is2DXkpY%9jLlVXKta~bOyXez>k
z_KttY8tWON15}ai!|4gU>lncDf~m%vR8KnMX$j(M1^o?S3+V^33(!ZPu?1TOXXc85
zsqKHsRM(L=VY7O0*K5e{A)U1N<#83uG}2bXSjOOt_bC&g62Lg9)ItSrx{`En43w-|
zMN{c%zq)6)8D^N;<v-5#npGV?zM%MGTMPDf$2PK`XVIuv<-Bq&5e1yiSxgexUlTV@
zncS>2@!Dq?c}}n#N=n^rR+%b`H7f8Xpt>ZBtZqv|Q?=uNL-@oda{FiO6lNya^Ot8p
zbWSuY!fk#_mk?$DV@<zF|8JQhGe3uoary#HcPy=bUe^?fo?4|Es*&*in}&(ye#THN
z;=C3j4<VpB?F~NT@l)^qWx$_GO52Iuv$k*3*KeGh>`-+b$f9l(nBe}FEa6ruQg7VV
zKUqo<hmJo^A-%${Iw40;QyFNW_}|ma0iqIqQ+YtI6=2}0P=p8ZFyo-)R!NsvVi(_B
zcYu`rpK3V`ymdApmIP6PJpK2-e4nFRo)zsJA}2Iy#4B4AwW^0Tj9NAYDe<EOJJ%y?
zKzGAQKd^Q&5{5(TzV=poF6%wGb0URQkYkr`Rw?dUahCA3w#c)WM@@$u?@BwgsH=xR
zEOwtXxz%N)ZL!DImZvWXnr%0P>^O#}yOy4o_sdVR|E}M%tU}}X;K_DM36BVk^l?84
zU5;Sq;(1^@J~Zsb-(VZ+x<udbx<u<)y7=Ek-Moik?K-wxJx~~%$qyvidYW;Gvt_@u
zuDC^od7&aS8cUB^+IqZVViB(Yl9>?rOa~yS*^Yi`9eb2f33dzq82G|ANZ*lqf~pv3
z#R#;FwOhh@vq>K*(nlYkExLEBtdXm_9{vKJS7k3^!Se#204I`A?ie-g13jp-CUESK
z!2De<dsVlh=fb-IjpR}N!fx_@1L|=td#qX3deZ<e6V&ZXvPz_3k5F~Xg~mfPj!;|)
zqrG=7@ANB}bmz?l14xR18!C&GM`^UfB+m6AfU<uCVyk#hesvq*_D_>G%yT*8O#wO5
z<vh)fTpm^I@EWwgV%&r?arQD#zSoBjJu@tF=+cdK-G?<)aG-bzKTnRAEv|~OzsfDB
z3%H|c>_qk-t+7YpmtPhdLN=a&2Htz13AZS_R)fecDzgE0&ZyIV{Vmo!J8D-xQ7K*l
zmSEaLO<XlFJNo*r+N(Uf#|ens1CN5MKvIQ2-LEjXL07-~Z3E+3w}*A$*5dFNVQxD5
z`ajY6WS-#R)&&1fP4lKi-q-*g(8~iM&^+08YjC4)6{iD--A$f9*C)$7XZhjl5}2%@
zKHzi(gPI~!BEIEpWDYX$|7D-3mk>di;w!b0<@QDnLmx?AU%kcTfjX>!KTX#`Ecch?
zL!FljAd$h2m9p@`+Y@=Hw;J}!`^$kFi9UuTPM3+aHMTyguK~HvR+Ab-Fs})Gr=jlq
z|8R9q!I^cz8lFrhwr$(CZQHh;Ol;e>oiDa0wr$%v`RmlVIXBO$?u%W!YIp5btGn0R
z)31QaqmMs#Pe4gvyn51lJbJv#RQFL+x3NcLwTaJ>&W@Rd8%l6S8;DOL_GNTBpjz;j
zr)VdkY<<=ZklD#D@`AF2RgwJ@GfKnj2ycQAnKGyZNksIlSUCb4ptsN9p$JO^7a}iU
zR&e+A*KF|1_icZHePC?R46FPQ4DkBZs$JB8@y=t%YeAoIv=h;s^kKm=!g&oyKfK<}
z@MAXvUD>f-!||m<9bqAXr4=jm5kEmE05a{gvA0u}tPqIbm9HOa{IG&8lLO%5YPIz)
zeDLevSoRl`7rW?>l`wp{-)hG%d>|X!9N<PKU(1488X>Yo-^qETUc0W2*oSsF8{-5S
zwJEQ!&}Tl*xpm(0+P<4#`Bl#FZ~o3c93^-MGZ{U;df%1YPaT(*=E;Go@<(}e0lnS*
zPvFbPx7_Nz0(~abN>kg@`7C}W8+?I4aiQLn0?-XnI;m=D`j}vvfv+sRhaa@CYIndh
zwV3ena<HT8x7cx^y+9Mgj{I9dVAfo*11jFtJKjSK95hW=a+O(nJ$&A}7dF;zzkQB?
zcG_|E;;+lP+C-1uMGrnDbJi0Qmz!U8$b6S!7LxhS@4rd-H(!74@&vhk%f${=L$@N3
z+LG}K_z{J5pWUMy`GQaU(nJN)_65%KKwl$>s>swEZtzcgBKpGU3pd$E*tc-TD6YaN
zW_Y0Z*#R|C!JdUb$JHmF!)98n!=8>KXPnxlPA;{t;PZQaN}Uwa-ylH67k64=cw!$=
zEpUW7BzvpsPxyP>lc_{W`d>zqZX$VUS5fw$K*y_5w$e_hb9{mH+3!St@S$JVLw<;U
zA8rl@u)ivdbCHg{e4uZ)hpXRT^>)sUqL)6uYwfM5Z|&H}!5&_DckERz?(vMWRHNQs
zwUDQXJ_b=kwPs3{$9<XK8XBhmeU6Z)d|nPT@JST7MKB)y+;!6fTu*+g4W7eKqrvTY
zm-JS1PaWS2&Y~5-(^35?dpCep%7D~AgZ+p}(F+t5;~qJRLpe~mqlQQ@B9^8)^>XI>
zRKyR!FAFv{XsHu+S9e!^fts&pbj89N#x<&3oxku<oqnpDUd5<a@Rs_}<*uEf*h97z
zF%#h%!infWPDE)$fkL)IrX$x?v{v#iVy}9kaq!)<!z~;+l6WBY_{eF=v6ibTZ7l7b
zUsSqCKS<yA=xdy9T%__e>U6bBSiZJ7$Jy!Hd=GL{LX=S?#z>@=XdzZh;G*E6h+AN?
zaGyId&ajqzdg~SQ;mjQ~d*txB?MBusp_^9Q>6m9*W}9vueXhG^*lz5u?&jRK-PYY+
z?}qaM^T~bhzDIi@@niFA_ABy>`i`03vp7DTIz9oork<KiAHt?W(YkeMI|E)ER}aT0
zp7nG+U&AMMj}T~rX}+OZLNf;pe1Tz`8ILW;SRMar3r=-KW^obrqD=i0nxa9=F$=;_
z*K_648dI$&TXniXS?Z0cn>Uo-Ai_nQ7U4Kn5sx_IJJ<jW0>Ybdv&n|{Z`|XYFh&8`
za;4<Qr1-}<VpBHVAx@uNLS0m~_ES+=KT~z19BVi&k|sH(bM0$BAdgkwEPXO-?XQ3j
zHV_W9kEyb-E_3ZOMze^HS4;x3CfYU-ILLIad;te{c@vGabb!teN2mKs8l8A2CywKO
z?i^1->tehaA3@a@^iOb>{xHN>@^pb8g*dilLtpOHReAg*1WCAJgFD_dkojF%bg)*z
z<s-VxSQb3Xuew+Fd%aA!yOe)cnaj*}HomCexK=sy+_kTLN4Ng~zqVC@yq%~WEB(BA
z`;q+cJiWJWx4*hiU!W(uBI*zg#%|xgc`wf)^rpGH-`6MiCwjIX9xG~9eI7T|q=35D
zdM$cfy;)wVnr`$={78I~-&Mxz6O4FbP_WOPs|M;fj8;eHVo7i!xlDOPW4`uJ;Kbzc
zcsw4kWL+LM3v2OwF3DpYAF>PSa5r6>MrLirB4bLhWjN1xGEOWVbsRr8A22;VYbn^s
zb5(1Uc#FLi0jdB|fZl7voyMUjch3}gd&Gn=yr|<Q2~LfVoIp=xFUzYFI+F-rKluwB
zUVbe7vz%oL(aviBTb*we=51J|6$9*_sBPnyMmVbD-Zv2^pRalDn!<<1CaTk<?-j-S
zQkGWTM3fzmG_d>NbpsS{FerTv>fq8{5_ce-Ad=Cg&>aSLFuuZMU6{xn8Fo;<KBhX1
zFOct``x|WQ;OAW(cMQ>9adn8o9bj~r>ptHXC~t7QJ|K1wqa7o5@X#F;bg1vYVmnGN
zRNes%o}j*ehv<QZ2XO4sB(H_bf+grNEO%_ve$VSujz2)N!#w9XPX~GJ`X=40?P{a}
zHyY4#|Jojioe@`!UkpO@rzh+;F(<Ve)x0D2fYihnMi!P(h9^BAoj<^6z_poe6qaEY
zmU2GexZ~FTt2YL9AkyG(O`JI@Wz4iH*piSsMrGa@V9Zrc^k|O&n@D0zu`1x2pmU%y
z$Nw<Mk2z-hzfyzjuzq9=gOX2iU4x<*2L=tXouayAGXE+6Ilz-y2jYj5(B7eXWDdr=
zC-5VVaUJNqz|i)w-OxB7!QCbh-{E@XUXbC%!HtQTGkpstNI>2q@NtO4#>bB7jgcKF
zt;i@!U`mi-*#DMI7`VakhRGd3vq$a@=;=#6AajiQh%#H`8|xYMaP<F>q)pf!B|*eb
zm0+?UAV>&5Mwb_)Kp`(ARFNl9QD9k&V^x-NQI>;Q5SLkyreO}zl+dy)bWIRxC=cYc
zpmv#M$CN`dCv;JQ^GWlxK(r8ZG-n(urdSaBWKJ%bb<Pj~c1F;l&Jbq$lyK*F7f<^c
z9*qh$5rooj)Q{A!xog4Ap@*!C*aA)mwH|cYFPpEhLe@#pNpyh*n^)sYjg88S){Xo{
zn}s|DZWf#ylzTe;ko%zb!2KDlo7XcJ`M~BGu3PdiKy(I@lUoOz_6+2SaJ`qcLFR&_
zCEdnAYjwiC!rDlnC3|sqtTXV^xMQW#eTunZ(_Qx3<bB2J!ewc2OW&@cb!Ghm=ZV%U
zwrl#S5pE^)N6zu@XE2U&=*q}N?FG^k1=l36k>7yQnbQ*p*LX}l-KyG!m21{#w$DJf
z3E7Io6AssqY$MZ!*Awu2e74EAK3~1lh1rwb6P;_$r(ib;*$T)LRmZ5WQR<4x3apDW
z#8_Z<9n@C;Ng1wd@A?gXXWw;o5MzF>JnaJtC}dzzpJ4Ee9{R7IIHjiW?Z#eB_Q;G^
zLT*V&0}u+r`7t7QU2aiReqcas7Rk4M;_Bv)2BSzBatOFk@Ols>YpjeB(~381HjVy&
z@fb#9Dz&2cMBfq0GnG<*XbqAx8arxsr(})u#yp*8))-Q4^4$1XmBJHA_INMol^=LR
z=il?F`m3p%ob)6fxNGV{zqnU8Sh0A?+{H6+*0^O*-NrSPX$b`_H}2%gJuyMa`)i@;
zA&TELvqfX|($VpL&2990rQ9hsAhR7+Qe?9o?U@_^IHu{6w7c9at?IPv`2q%o#ne{d
zFg~$SX@#rAg(VV=!Q?T$XuCzaYP+uqPqZZ6<}o>II%T>_=Q!Vbzxq$d5Ezb^+3qVK
zI1-gk<L##5kV=*J?!+jTuio-8qgjr(`RdecX_@zZ<DRaw&0xPImDLWRrTb&NW#_5=
z4TsCEYi*{@YkJG4wrlHQIMc4{bE@OItLHlqj*s&uH86B%zsL9Pba(p8_28Z^2KW80
zvexb;hRu5ft9u`2`!?j-eZZ}Amuu?==g0lcv#pR&)L+Af;(WSMZshykxsm0%s$sKk
z49Yk+ulU)WbU<7?lAQ*RcO2oudBJKGHDt|*`M_B%TCGSaOe+67ohL!6f=9s5CGIuR
z>&bfHer%v#|3w94Q2-7#S$m!Iq&y|lqsE59V1i+}If;;_n2IKROz9Vh4I>Xv0#6_C
z&{z&AW04(5Nh%7NnrDF7p|c%Fm!j-B!{sBPe`%<bc0HMR1rJXE$@~b-se(?_rp>Zt
zJDD3^wM8PtI*X>XB?F2x@v=2pOpUOtyjbkiIz`z7dwCuepiPXP6_7TKPyXTwjfX;g
ztu<T7K6PGgorpoaDMlI#F6h{r$AHh~e|1MMAo852h&#-bQwy5n*<!{@<I&dlho}O$
zU16*+WLp&hIYjM_VG;<tmHi~mrT^6nm8;dcR^8pjCabO})TuMnER|a01cLRkx~+X_
zA~!jC1#C`HPvS8F5&O-+*wDfcE=KfNP4&;1H}>3sTE7~K#`ehpZfB8a09l#rRSLK5
zSdirg=5hl5L*{9<6QF4L#=-vah8jaY{sIPdm_!YhE@s;{nB>!RX+$z-#mZ{U*p@Aw
zC~DJ|UKEM*b1{5Y?d%|FBdb*MU1yhimr1f41cdMe<FqebnRq{g^KRrMrq0+{%sM1j
zGC;Xcp^a!i@a$?)N;=zvqZBTJ*BK%8BcP;<^YtQjIR!d4h1|PD?=Kl3OB;cu%1#Ch
z*k4~16b-?|Z9^%`NR4B=TjuBibd3Nod>{~X5$Jeuc{4txG3r~JYIidS3L&ab%HC=x
zLVWFy;NXI90zw(sl(Ed*ytD#(mjS3|Q5&sHR7h|e709J2yVH9$V_r4#j5^0Ae)^W@
z;Z)RH;{!BZ$3e=)k}N80rNFk4qLp8}7t>}y4m;Pv@0l};?Ee9v2H&+%MSGM8q8amk
zl*R>nD$DcdCqadk5}Q|CVR)!oc5d+%TgX?`5L$xg?kh9CWm9ub=pXksztS!r)TU?K
zhX1`c@zvziA59?1usV~R`9-6lm~cU%q1a{YF64d{W*kf5Awje$&PH2)s<7Ff53{=|
zwI4tNr?y8p96x2FpL;`$4guuWCZVom*Ki~b)4%3vBpst{jF|J+@eiaxJ{vQEd>S$L
zZzp(iR=R4ddD_x=vNM(tY@`-FNZcR*`0s_i#8D3j|5iOsJfq`HK4mlJ3Fqe}lVcIY
zM^ZCck9d_furPYfH1M&V;lDP7#Duuv>_E5R&Uue_+{K=S6lSzBYGMDNK(LC8To63h
zIKm=9&<4l;l`LWq?n_rnO^i~^fp3D8ZVZy25Wv+-$}b(Z@p%1#Fr$QsJX_S{?GbSy
z)tcgU#!b>6Qgy0N9<bRUGslPWuQlfXX_9Gd5DyJCr1?Fhic}x@c&CI&x?~{6t_w$i
zd!g<Y8uyEJkVMch``>1hn7g#?6ZtjB$hl_e_+go@-KYhnB9u-&YnZMd(r-K)ldc{k
zSmf7W=26kS(FKmQjDa3uI_ka!#ElY?HWn#+tCSt;l)t|}FNV|`(btV38uLWcfT$3b
zj4}*TTR0E&3$w%}CM=K*LC75Yo4`E8>K0ULS#N%Rq0|hHOlDnEaY}7+X}?Xtk;(X)
zw{|Dfo5V)rQWG?;qxS!>xLD#eOd+g75jWlQtdI>tg)@>N8pHmH+(;wSN8aG4zu_JP
z2=V2IzJARGrX9Zwkn_S1`GxP;Bk?H57K+0>)MDe&MU;}&HyS)hsmD@CKF_q`V?lK1
z!FZ!SIIV#PhsEmqBJYU~0>a#uJ+|H0W<orL*`G_#9$dTC-&A$*sWR-}3n0X_nGNcX
zkzY?TA7H{pXum?(L2j{{AQIqvVphW2!exi(hh*I5o@PL9W5|6ouMQby^ol$3i1yw%
zfpZ1xWXEP(I6=f}7X*maat^no^zyZOgJtw;?mOz7mAd$bY&HTv5#9*1HB)z5kS$Ic
zivqGnM4Rn{jOu2N&+a_PsLr1}H=><MbSOCPNpcrN*YJ(s8`h2O;JJC_u;jYU0!v4Q
zQv<^$g@TKvZqwm#Bjy6}395=B&((eF%0QL}mqiR{d94nWS$M4ukay;ti=VQxD2wj%
zq5Tc<8WE20Cq>+Uq4Sy%Y((1Q^?y2!DF<1AGtGD};ETX0{vcXfArP5G{68>?M039}
z|B+RQMqU*E4~!x#ipoU)VFKB^`^QJ4ltd)Lq4)!Uv_cH>q4<Ab{67x?L2wW<qM|tC
z|1RPLWB*zIEvw@3(f@%)$(TrlRq+Qc(*NgikLwRa#x1%T{SWxTU=-Yp|3Q2=o<dsO
zKoAm1G0pft#PtUulcx6*Ur+zMq60QX4AGE75j(9Cwphfz_<!~U@<{w1yCQZeQwvmR
z#FjvUkhmkb1nd}bXxssO0=8g+5aSpDF-H(_Xn|BNB~xI*%A{yoAU&G@JS%|>(%cUc
zrPqlgmwz6QB^-gT_$Qu_T<Hg4$O1*+<NtwBM82d<Bto<3Kcp9+Qdq|S2a^a*4f|38
z`-pFV{8wyi2roaSvU}ScfLLePX-5oWI)sR^8?R;Jg?9yi-)mO@V>-YaWBON5R6QSt
z97t=#0^mMc#FZJy1bhIVl%Ps%CFF)PKv5P)_yv<ddR<ClvW!}(M$J~Ky9T+HB9^LL
zL7_ywcBRB!hrm_|TTNb00ef-66<G$VDlXUQ<`wBTF5wGxl2R};+{iy6u65k+JM$c4
z-t$+AK<r8UTC+GC3}X>c3dQ+Mh(wxfusen&$3#ep<LfitfVgY9%ZL<<*BU&WD^5Q!
zH{ew)fm6j_x3S>s2(0+rVR5l>fis|ep*txPjCDT2NywLubb^!tXng~rzqoo_8`D%2
zi53%K9<NUX{*6e;2(|OLl&^+io+(bicWI___UjapcHk#>2pE%HZJ-XWpKXxUy&ZzD
zX&!F{nk!{<!6~TdSZWCioh!n%MLrngw_%Xszz=;oY+^rGI>Ggu`kZf^hW&Oa_ub+I
z2D>w`;Vl1)6y~E)ku)kk=5j?FmT<O_?QVrqbQetqX-*_3C%mIxHUjavAWn%M-*nY@
zHL}4+_zE|wjvPD90|PxPpa+aWY_Z|B&K(#Xx#1#$xrI9&dZ~bY;9lw#XjlJEaS{3A
z3RrGmZ%=KtkT<wx%z8HT2;+PXL`SoZH{5XAT)ir{k!>q&^8$o+yaOt|)pd`%|8=Fx
zAyG<zY&J~j#NccNRNgEC?4DRgm8c!2ou#gn-N>eOr}R$HPuY6@=}rNShDYUufBd^)
zvB$tm+vcBC47tm4EOsnw$ZUvY)JQLqRwgB{ri>gfVk~o}jFv1`EK7^1;5V@W$4mYF
zQ5>&guqWR4k~n68bSU@b3lRt<sf_F?Krc#OT>RM)Kc_!0PL8t+p?i|M!Owi+8acKp
zKBEX(4BQUF1uBV^wCmgV!EYh2!P{iWMKD2C&n%9{0*@{~%irH=?u#93*NT+ZLtTRa
z9-iG()qt4wbQ(M*D5d69ny|;`t}K@8zs)yQnF!IRQv693kcmVY$ia;uTSg7T+grFT
zYFYG#I~2Xpt6(BRRGB}F`{~Y6Nl`OsN_JpM{twg|v>e-jNrmm^#?)M{{noTiEZ)_Z
zc*IpVrY>6)&KHoaSD3oa(7$fOw|A=0xw#*|{_-nk)F$R-r-GH7L0qeI^Ey?F#7i8+
zPJ}Xn=WcNBFlNKndTyA8jo@T?3<nU-txkXbOxkUp_@tK6lsbYqdTp~2&$`sK#Ja?6
zjr5}T5p{)%|9DyQ&o@$!T$$_{Jz5?|o6{$YiQO$|q|xW8=|m>5$8&Jh0UHhvCo6@!
zot>Qvu+rGIspTjCiCSx$s@;jRb;giq_^vf~ve)ja*nvAX5J`0o1w|QAgJE@>Tu%x4
zmDl)tO9KS2vhD<~BGTQ30IxDER%LL6G70jq-ZSdhQBSvC2V|3y;cv17&!VM#NacQK
z^5#WJMvZnJR)>3b<Gw2sekOn9ZYM23OFp)@at*neVo#;ataH5AF1kQvYE`Gxp<}GX
zJQ*VL-`Hkea&s?MGU)m<4UFeIT=`A`Vp7QWZH~+?9$*cEXBcgtZ&EH9=)1-iLh0*<
z=`ogfzC<RoA8-D*(l5zCj8CaR9Qv=V8s$Ct#i3;NrIu!C_=AQ^OPAOXdn8p*dqiVO
zyqMD8#DB4qn9*G*EUF7sB|OULo41nVm@M#ecAVhpV+xth8V=mkr^@8+ZeL6+eN^AU
zhhLKRIaArd#LA|{6k~i4sMFW=4U6qeGLv7MyVqEoUm>YCn}MJ<v0fB3Q=0|;mitpw
zNA(^oNE)-sM#er{>v#un+tbMX`JL=fA$+vl!<5;?_z7uLD(sa_=*HLVB1Cwogg?iw
zh>^A=$xI_js3w~zK~HfN;*P;8$bE103uG6m8Xgmmx9^<2WV<k3HjMv42~2C(jyT#q
zFGu?~m^N{J5za<H!86sH$$B10POrYtuPQ=R=+O&$cv}MK^*=iXcgpUbFVGu*V*8zT
z)y4vM|Ec%<-U^On53IdGpA6+)@x_k{Vd|GCgXV*vR0r3DUU@^{f)1U&xkk$xFuGyy
z6upAd8&s&i!GBWwB_faPOSA!vaYL^~fva#GB&H9i5F{2dQuv<uN6H-kL*vEjMu>zP
zPRl_SXl~Fm0PX7UYhB17<h9`$ggcO+uvlf#)!sS#91T4<X+O03@626bLxRISgj?;G
zts4sDdUWvtj_6RPBA!zjJ>z!!<r_45WXxS3ZMttOL!nhs2lF!e59b#d=xRL@%!brX
zf}^krEnILuEME|3_FUJ|cwY7?aCh*nzn?cuABj^C)BZU#cw)Yx#PD#pL?e8K_0B)X
zd+*;i4$Ug;>lSsm0c}Jb25=WbTiC(-_6h0|*ry_*ablx<<uNe@V8Nw9IQ^wjb*XXN
zV>?2)GQnsDsUIm<_z3mi){3&EaT3NX9vRrB0&hg0$>l3T7mQX2pZWXw6T7^-dh~g&
zebw|(NBDNRsoP2)Ag}{`yL$HiY2spxvR^HO4tGQ<^Te8>RwtCu(R!$F;IZI#bx&1T
z9f3IddSOt5#pAo<^7kP#M)|2ic%gbQeo+lZy<ea50oXpjiuXj^ad`W-_(JJ+v1s{L
z{LmPKHew2;2_i@L4@~Z0U(>u}EC0OGg}detv7ZrpvfZ5uyrKJGi}8)tGMu12NWB4n
ziogdG=LgbjxT}Ig!t@jDa+w<XE~PXZnOK8E?N1$qu|<9k$?T!t%G_oZ@H0p%6tY))
z%X7#*DoBY=s1bliLxBiAl6O!h6={ryo9%EUz2mfj;o*yY2Qcx%9y_3E4@xOIY-Ni>
zP>^(u={sU!$lww~jTIWhctmiE>Gq-QV3r{s<K~Gp@!`md&3iZ#=!m-QY}>Zy`ijQR
zG_pH|#!>$Xa_y(N^U4Zu3n{;2qrmO!`PVP7i?o|$|C7||IMNTd#>^aAYKXQ5dspvN
z>4f^uLDECZ9E=?@t=AAhp%v*QlwuI5m$;2q%)iK^R-;w*t@uc-2pLR-&H@~tp$##k
zy3ohlmZ-9ZW(@`Wfu@LRyZdz|<hKyvCy)={@56B8nUxtm+<-1y9;Y6sCmzQ$lhX<8
zgsjY88;cXl=@^A;W;dI;Ltjo>Z(T^Q@bTBv07|nk*_m!rsJ#zXlOJr><#$}7`$4v_
zM-Lb-nOhu1U2qmj_Sh$J?xeq5xz35)k$}Jp$9P!AhTs&?)Gu89!kwq@57}(z03&<S
z2k806_ZeQ6UdoNx>Khgh2wDV&4<b!Apz2xsCPuiz&S@~)#|ruBqdeZ>0uX?b1H9|a
zwJgOwiq0xEJ6KO2h69_VGFwwoso?%9)5W^IZySsyx+R9SU>6n`Tj6k)FvV)9M@|O}
zi%wt*F<5guc1SOI8(#Gm(XPI`&P)Ey<PGr)yaipnv}5=}fhaS+2vBFNAJvXi1M=g|
z(Rb$*-+Pd#0Ft*{)}WZ9Jl<5q{7~|qsYB>XhCBZ(EPw|tM=<;gv{)mM3LOG(;Q5A1
zVRvg#kn~{Jn`>`_YDZR+;v(>B5QL?y(ZYPBLqv@c#LEL7&<gwLfp<2{(S+36XJsEG
zzt@WrJ$S3KB1duOf!?z9m+J+-d?Z1^yqReSOuN<JdC;5-iTJ_-MYEbTYo6f+7J!p-
zoct5?Y0&-MzQKL;kYXpl4nNeycXiCm-}viq5bn5w)AFz+2<h;3SS-tc5c3jWX!7GQ
z&XBIeN1)zsq9BYsXmWHN?2*!=8tL~qHG4(J^L)zirU>o;_kO_EG2Z(z1$v@rf3dN{
z7t0t5<uiDJ<qMU|w}o?UDF51`{oQ&v)=vY`{{Zd1=oilv$$y&eYd@LpOL@WDnI+e5
zN5$R-Vt4RHYYAt{^RO4ezlHk67I55Mxx>sq$NAS-+iBeS*Y@TwUu`2x5Png*zrBC{
zPWmnjW(u+GeE(@u+4zfP4{X~D(+0%01N#4rZz%seFA;=q{$C`{>jDzu`PO;CiqK)y
z#D7J{1pgSSKr#picMZZ>A`;8mgG!@8YC^uHO`$#5Qv4N^&dj)-rCqmr%J6x?@6B5!
zVrG&008_(V8my(q8yHbVj5I11XI(>JUa<Sa=8li0HPTQ&pAB@;P~irJ{KUIX%Z2vt
z8P$Ugl`YtBFZF_aN$4A}fK&Vj{{WRz{k1j`JjHwzZh-`nPoFM!lj3>q-5PH`c+1Se
zHW&nIsKx(X#;$cjH9?y&j*Az92a)Q_eQeyXgPYtt0%MSreuo)1QSy40dhVx8kes=Q
z1yftGtyT$|PIZ}FBXCuJ<nZKBQ*Wz6wk9zvuqogN)g>}3q*Jh6_7!)f)>-YV_07Rk
z@uK`$zGdy`nYA#s4fIa^#C;5!yk#@Vs8|@pu@4H56qCfzuPw1ew5EPdX7|OrJ?7nS
z2As&zG(oB&uOi}z?b;|&E-w4Kk)kJ%NFrZ3O~%#BRyOnl)--Wj&IxwA(eN;8AUBwH
zm#K9lCr&K|OTchG11H}g|4gTHl*Sm?!*scVNd))`a`zaf+`KnC2=Pr6;cCLE?bG+b
z9}`sKjO(P!nc{m^4OpTUj})=qf9tD4k_K_6+yJheKL<gR<Wxl8_Q*hBSiQ=WZB^Wo
zpuq>E3t&AO#i!@eqSRqscIWvI(&QbM;uR3U=X^F6ONN-?6F^dXfgrou^H)lg_SgI_
zG@^I|vvsLcY9+%J@Kerx+`aq-L28AU_VddXM4(}=p&UC~Bg`#j@WfA>kGGoK(&j2p
zONUhQo^-g31B5Fd)*vd!@=$f8UTPhOuT#MIZ-|mVa)KQ}rx5pus-)g2d6GNthOKLN
zh-DIH()7FCO0@on5eR-hv0i^*9#%aiokhQ7s*GD{rNmskubr_Bg&z?*vXgd`bZqw#
z=Akh&SK9rL4{@l;Pi*>StRbX%{Vfs7GPLzuoC%LM_)+|7;UIQPIGxCNLpckhhy%-!
zl+roFDVYqNN=GYSB)i{>eW;!Uv|rc<iHL(@-7Z$@6QpYd)9Jmq)bAX=*N<Nl74W@r
z6dj!|Sg9gFmB`a;I2M)P_pSV=3aO}u%LPk~!p}CR>9#hw*qnDwxe$a>@yN~!*P+1R
zI(;63y!Pe%Za%4q&c%?kf8=ViPom%8L%HH%@uV~+E+(+wZTh=zrS?xjcS#%yT~h0`
zHcUSIUrnmUZAo;aanT(HSGsJwBuXvtDH1g2YG;(Xa#pawlcTQEs?ae9($N|TWQj*-
zvPqLLlW4U)VNn}l%HQ&8AULWTGh-$lYVB*??3{Y8P&Y@C#l{uIBdGNG_R<7m_^pRg
zR5<WdP?PAKN~<c!J6;3LrV)(+0HmAJ54iMj>%a>1+$uK4<)qgqs*7_;C#M&<sU%l#
zen&+~JHxpjF^8L|j&~Pwmu(-pAsU_$b0HcBw=S0Zolhga^e)baO}%X>9m4yrebTAQ
zbo<=PB6?r@+6aZk^!sJFY`5bAwvxfi>~GPN4T%L5V@fJfUrT<t_hMPj*zQD4v`VOx
zxAUtRpF*XqMI?|$COoP6=LNV$yM>+#Kebv?Wf0C_T?)%4Pm&X7Paj|p5l4tgN^t2s
z&JwhTBny6u)69oZ`o_>Af5?BYF*?2Ii2T6iD+Dz&@G#q;krDvi*LFqu_NZWI*kb0T
zy37qp&v8sI!-i8q6}ttknx<g$Ijssvb}*W3V^mE}hx@S^U(9Gx+LY1JUz#sZ#LHP$
zQmjZ!`Hfnvv+uqe%~Z~`P0>ZV@HuwfpUX4H%<&(Ha|O~cBI%ZNw)~f@5~q}bVySkg
z1^^P*>Mx7|%Lz2l<{@mO+l)k-dm3})Fx|lO=Cpq>O{xu852}FzcC+fQ&#=UVNr}nk
zEj0)~vfLCA^XHf+@DkTc#ujBEP+6vd$x!J_mecp@jnxS%b*ynT35(XQnGMp+6Uye4
zOc1173xgvO445#J=7RNH2lxqr?Ao?Mz_*g9pU@4@@bC~z1FX!5Ww+4>M`iW<g6_YA
z6=dxT%@SO2p?<3wH&`}s^a}$s#%m);Yf#oAj4hxaR5l3N!sbyI49Q_gX0@MoQJMb3
z=52f%l=Q4P#7l3DT@hM&LCJ?3;5Q|O&TKL~><@NxKRukW>oEzQ^67SZ&D6_VfDw%`
z%Uj^U$G|M6MQWN?hEl0CVvE31p~GMuVa9Y#e;#5^hZ{bzF$8m}w@C3J`>Z^TQvra%
z5^@kpmJT5whZj0z1v`uuw84mWt!Ew<>rT;MgG%^_<ETQNfhwx@M8o%UBp;Y+w2>ur
z60jn;xQgz@Gvdqwyr+m#R+7$R+V2s#Ji5;WRURhy4MzY<C>$SQC#fjN9ER~INU{9<
zQestV?j`!eGaUc^UL`+g4A(;G!s>9psGMLW+{Q+WY2{>ZwobQY0Qp#{e-8p3Hq$%@
zPx-w)&u}P8peBxtmht>EL*-+zI*oXBk{1LkOyN`zY_7{gP=9G#m@=Q5H`iI4swylg
zWf$+zc+YtH`{YzTTuGuS0AXvBl45EB)oh|EFo9OJDPtvouccR<L|-gfDhN_Ft%&$g
zQb7VtgA}$iS4dSH$(a8)7p2UF=1#zZlPVI%LdOe#_@bGD+{K+H<)g13i;0$-UyzS#
zx_csrWKV2fu<K`jOM<oMv>kcu=fE~Y=%`<R!td3=4koSSovC}aAUa7V`rDk>uC$(T
zKPAS@C4;(j>m`el(<KkmVmwA?oV>`IKemf9#zZP7+bgC;w9-1&di&l2-wF35%OQi&
z<yee*<F?LS87FB7jrgYiE(VlZ(dz(A4%BT|n3CU?IZqH*Ek!iPf(GjiElroU?by>*
zq!hzfla=AQSaMeT65gHthLS`U+Bpj=j9fC3g%&W*0ON*}O^G7<a_Vr>Tiyisd?|wV
z*fO&}F-aKVv&l$a!fCr)hOsu!*J6J!7*u3vt;->$Ssm{AIP6;}2_;pqjXe?ooB&8t
zHIUzf*LJzf1fKeik<$r@iXIA+DuyK5$)r5jm>zeDv2rqHIV@xgcdgIId^}wa>KY!8
zb-X^6I!u&c+dR#V7v_DlPpfBWyzdvm4ChR1mtD^TGcWHklkTw(IQH*#KqdnfTDBQ)
zJD>9-TRmCtSt4ylOJzSP92IAV)C@5zvvSl*T|_-a8+z-oRfy<*S)o7=u}Q8Qe*ndB
z78;YdRym&O6`B%GVHk?p$}(p+vyTnR$WUBZL;HS%yhd?YK?G?n7)o-ZCLNVk`kU1w
zpsZm@H0iOzh@G~e*7G=?5vsn;8=-4ar?~dGmc7)ks<wJETC>r+NvFvNw}Mh_<$#zk
z{?$CuLsLXL1BeH7no&;u`_80*_l89R+UIG0N$&LW`T3j)_0a|KG<T(^v*lH{;Pb-D
z5Y`4-2I}X0?4=T>*L1cOnmU~uiM<h9GtM?iCq`pa%$`rAK+ee+?U~76-Y>^(*djh;
zQvs~yUeqtgs?-OPlqeWQDc^WAd6)5g-xe?k=^2yxjS|jy@I4{!t+NsRX(=vCL_Q!!
z?BZL>ErQ9L)NoVMJgp@D(z}6BzL6Q>@**Az-PC50L9HV;iU#F^r2iX-CJJGseArSJ
zYFHPNdu~y9rfgBVoOBRa5}GdwlEnyD!2m@hSds{U*lu}1G?5%vdaEEHPyYoBK9(o1
z7|-yVGJ9ZG@Y=bp$OY-O(%p$6$0F~<6|hLG#iJ&(*kJ)lZ=L^?ca2-w<zs9mj}jS*
zjH^DC!pkFy<`-%TmaeEi^G<!Ghw51Y#38Ne{=E*h&dH&e0SSrP9W8)F0b}`|3X1d&
zEAXuX9(txM-N=P4xWsIyRu_X)XlpU(@aPHhL9~S~0Ivtv#oB7JJUP?R1a+Ep+t*R#
zR;IhL*%{=i8M8lCEhrnyFFTS4mIEPH)Q^E-oVA-1b-e;Iyr7$@8J}|cxJqNIl^$)n
z-m+Tu&s0YCPQy?cw=(uuv{dy^V9SeGXr8e)iEMbNS>4aTxU1ipwkEHov{u_{&AZyJ
zC)-%9S8&@j&N6Bwa_@wXiKaIB(^lKf*Z5hD&IQ<dEgnGmhbd8rHDMcj5prF%+-$T5
z$+BLxb+Bi2@PxddC9j-N(uCEGkM{Ug-QsJt&7c00D5@?I^`~t=8M4PG>j7@1E&np^
zyNEXZ7^^g|RcoQfX0%udNLHDay++~0m`iM8)0=8@vA3w5jAcWTvdPo(vp53Vy9!!g
zg2n1!iEDS8D)UKvq#WOZ>7uRx+t%imr)gmhxl%Z<cysQc3G{jx7$_ZFXRvkcD^<J(
zIU8CUdU~uAz0G-3+Eu!w3s@_aoi9F}uReXU*kgYDtxz1Lz=_QOE5`W`-n)QNhML&K
zxVlZVOV3@blK4~l<2#!-w7s9h*7ayiy--X#L>$%(tAtS;R4OOmIW6A)o@O=616{IM
zLL!9~^C!7%0RQo4g@mNWnj77^yjjvvxjlLHByaC%apd2X-w@!;NYDz&1!bx*oeyCr
zjm%wJ!kwO&QoSJ*3$u2_z)e^iG%9X(p-yn`3YGK5=tSKdAzkDy%y+&lYer!?az6L_
z=5y^d(_&-B$!rvoF-V$NuBwMe-SN5eS}0X;`@1bdD_}%{H?+_@qZh`hXoFe#Dif!0
z)jT_G_vGNjqP8ivF)|w)XAgC_8b!@Qq%|GNBx=Zvx!h2x^|p|YFy321aZ;P^*1d6-
zI+KPxu*4dP#R22tBOh89fxmlvEC?!oz_!)CHSU{4Ot_5dP%)74fnCPE`OQD%jP=#X
zlaF~XI7Lo;E%o{E8CzA}-t4=EYiRTKi%qEXtKmL>Exs7T_Q}-AE6`+yE0gUS(}=+y
zLL+)>np?XZ^C|^Wg-|Jsw^%H>+EeGTIl`n|wW3TC<oCUT;9{O4D&@HR`5VMXPpE@O
z)2e2Li6z{w0Q2~t8VRSzj02p59N7cOyyD(|7sz`2g5Y>N4{KcvRVXv9_8A45^TACt
zAv#@akDzH7JolYTP@Gjti{=2m!)3!i!haU{C2+Pm<n~WDNaQx*d3EuI=AdqE>XGpv
zn<ek7-^5@vk)laMhM5xAswGO&Ckv<MqKfxd%pd>!gZ6~;66n%sRO-@l67Z2Q(wkPT
zShm_yxnBN=#x=+-=UdJyC|#9!e8&8Qe&oprJsG$lcpS(`R@TVJks+(AKXb@9btY9p
zomW(?qFsbmg;7;APm+~MA&7M~^*E!=5DZKJvw>{ZG%BP$k}ouOj$hlc*fF4N<|IR0
zR;U(DB$Ag_td@j#j#A79g@Z00x4}n`I5~g)4rs`9{eu8vWv-Gl3I`?j4dh`Mqo_Eg
zfUwxjF`D6{8LKLWWiB=*_>0&Y9Fa8uo2@lrCAxc)nHz0dju#6&4f4x?(tapIleATu
z)}DjG6G9(oIEXtb9u7RRaK0H#h`+^&;d7R}qJN~-if7|XZ7g@pP0Tl+9suc<4DX8}
zF0YJ7;1w1^KDITpI+L1jC#1Jav4bqDM`-}3oAVFoIsJS3KKc&e)tZ!5JY~9S2xteD
zYf82(4hUNaHK;{Yw&eb`itS4!vL=ohj5y7|(^Gz|@iSe$l*O4=M*<^SrP(?f+`wWx
z;!^ocT?0Pc;nx3nJG_kE5rSBSJL?cpyc_n>bVAT)B@>NK_o(N@kC{1PD$z`Z_K>_m
z1Y$G78y->v<4yK;@DHm0_q4b)bAEd+TJG<i&^rR|q)HW|>qvIIl18&icB)&v;bnB~
zOn76yKZVEI>xBoorLw`Ilwf`y76+-?d!OtjO1O>c<K)N_2Lz4j#Ifc;iHiAowi`$H
z!p3ra%O_JRmASdTL$iHTL`1t~W`Olbs|gme*3zlC-31Ee>eO!JWjv9TO+?;*YYjCg
zfk$z?bL_=ZD0HMNI$e97!`pjYmTzlSSMXYhTq}H}u2p{i-?J+t+F07r4%dLK*m(+M
z&rBTzD>;>-bxI?%84%|{!_qyS;H$^ZX&Gh$lG1DrrCdUgwWDHj35%C7nbFLoxhz2?
z$pfxh>p+I<l0W^|M*$E$KRQQ2(g{$ADR=MskicDvoq!ptq4b+w=R*&ylZ9;Q@_8#p
zfXomlhEa1=y$ESb9C0OUeYRe5jqJQyyUV!?G6-)JBOS(t2dA0_?pUSh7wxoY%3+CD
zD97kBtl|;+QQ84Kc0FJ}vY>Qo(|t>tS8E7H4L^aauU1rE>o+-b8G--3ia%1yk~|T7
zZ=)W48ev0_FFoeP0xWm$kK{&_z5A?SDdh~w5rgPYD&%#xEa3fjgB11lLHz7)uO8f$
z4LQo5cm8!VY4OZ`a0S{EjOW>`n=MVQGUwlot=;#ekBB`juY-)Hhs+i^UR}V;qWr+X
zy<PNltV(jy0u5$E74z0{`1N|B)Jbg$wwa|sssP8=N7C#EwN{wdC;NC3!rtzwXq~?O
zitIWC-_;SjB}Nf?5r#3|K~>bZO1b%T`$@-OQ|x)4<YO@d&mOK?jf#~sD0gMwkl#5m
zW%W<GP_r6=8Mby@B~ctv=2ZCx>($QRr3kdm4>waDeV25&%}fij``jo4yDLfzuQM*!
zGV%82N|(T5gnZb1cx8lrWF%50SsrC4^^1Ee_77}%3wq`Lv$!=uxKG{HKl!p^hZEPa
z1h<LFiqNBIoG$*2O~<R-nerLCe5ZW65Y?JO47!xXs_lmJ)lvX2%wRKGLDoqBc5ye#
zup|`j#_(;*?bCZUlabo|V!NBnHRreK+oXr6gQyGXQPgDtVTqBnm=>KBomY6HBAagM
zh4onLF;_6g9`wGTgTI5r1?hyS*N^(F&X3>~9c}D>HmX$)f!ef`A=16EHS_VQ8xkny
zLHbY?2t;N;&?UYbiR7+rz%G`m2exFtR5)7019$#&O8%JJ5JlILx|+!B^)l%R6v$LA
zjJ;jinK1qyG(k)oM530RG-14IcbU94fXU!ekPlrnCA!CN3g^(sdJvP{Z%6tB%#iQ>
zNaD>%_8TbHdaKp;q^N3ni`X{+f#lZaz>(>f2OBpf8&xrDilj(!$sA&Q3JW<V+TvNp
zPg{FaV_fOE^+e<)3G%t;YJ|~p#iFW)c9XUxaiFRN{hq2h_9<vruDt{UW?yr_M2s3r
zro4i^NpK>aFtKRMbbJ`hXXlu<>cc+DKFdB0f`x*zif7klAym`B5&KOqKvQ|;X6CTq
zQb-p@2ewP&89&^n-WX*Xv)g=YMFDCVrkc21SOl8*$-&aHX4U(A5KYhharM#B*f*oN
zph}$}hkF~GbRiMZrnLEt?6Fchb1*uC=ZxnKG*!}sgy-~M1fq<_9_c6T5bd&8#<NSV
zMa&5;rQhQDe)KIX1ueleDaOyoTt9CKWbGrB5;Dw>f`J`$PA_7@q&^I>1ZH8U3HoNI
zXQhoj&@}er>_fV(Oq?TPpCJv%zGX~_GN-nBo&GJ&erbRT^({a+ubGv#Nuf#NE|Ee*
zD6A1afJjDCBWD~gS}Qq+bsx8@poP{p+{ZiN2XEmbX|W_&nq)o*hN({0I(SDF-jB)w
z->^em7aS}HiltEylD6NzRAMfCXf99stE%@`_%ate<WePz&Y^XDtNa&-(IJGbVCBIs
z45H&$FBr?sE<=Jn@_3J0RZ^g`Gd=y*_+jXiaT97#WE<JycFqJlxbEv4LCE=E#ofHr
zu*QLOn|!>ZSh6L#Da6PE5ky?<EgSI)`{}%ONJ#M0)W?HHF1%Mn69RZox~A)|VxF<=
z#v|uzUXhefc|BE{+*l1_v5K7dI(mOi=eG=3s0XKY1~`e5F+tX`VnBd!`}~z)as8a;
zDOM6Mc&X>C_s{5YkzA|mgp^E;3c8lm5)`wX`DS+JiCgZuvxhb4Y~DqEx0SUM7g#Q*
zlAF(MitC=vf1r(%1)kNk0rQN6>$w+^JFXrG4D#!H2SPS!ql^D+qz^~)ECz=7t&}*8
zP%ut4dnU$IWO1<09jnd7*7AR|ierw-+-e#&)}Cy=mOZ6UWoXJaWt^qlyNUgNM*@O&
z!g0)+psVGgP$^Mm;?-D^*>^v8-(GoO@W0i7v>n4K*qrrjYgQXov-VEJzU(rs^e6SY
zVeWkEw;`oaBq@T)NV|@lowj|u_(BNk{F>4(xX^4g6FJG<X694oaeXatD8!?bxHOk~
zSX(FA{#sbdrh-MHap?LGzW?XtCP!|rZJP(z_3+R*-KqZ0{Jc3+SS7q}63R)TPi#9E
zZkJMyb!z$*@gce(IZInI19{KhC=MQ7pFzVAkc>!VrW24inAT@GzXH^R*&|8gp?KF)
zE}<^7K>PZyhKGX0uDEeY!Yb=H>w%2SAz;z2b*v)X#>(a(D|*EcCm7+WzziEEgx-Z9
zBhd!itznu_4yOSwpE69>=U#|De(i>NGEt^IfNU&9<UOR8N(wyt?xCyP*w7aI6OfX4
z?zKd%IeQ0g)9N7pzBdG=={qP=_%Uv`&M<a8YRVjdX{Ktvge-aH$dX+NTamdCy1-X1
z(%P=cBc>AxQjjMfF#3ncZ`lF-1xE%Y=N(cZ-x#xE&`BVL-A)oWQblC>@tt!fbGS|x
z_Dotq?&OO9++^J-euA|nvQGZ~P<PVrHFD`1c$Dd4d(;S%B70hn8tqh@ft)owbTC(V
zmPR$wX;70Io~ZV1b{T($6DiE(n>F!dWwsVBtb;CjN4=3DMmumVOR}9=kW*1@SKXY)
znKf7^mF%GWF3V$Vs427}w2@uo7@=YAy|QxtxTIFjPoQ1_AkeB*uY@Mem*mU6`Ri2U
z^iciQ^KJPw!g&lOS1s%n;8<Mtz*tPxH?=5Vc;H)^G@3-($iYI(yOmoZ;EE~Z8>xXg
z*S#i9O5lWP9&YSB^oq1sZ>`8(9z%Ak-ZBsx&%;M?{!8(2KuBk_egWt>J3>aOm@w#f
zP|`xDa{0ZChekP=QjaW3RQc5cp!|1{r(&bhKshxF>*acY>N4w_(sfu0nl?XIG{Zpf
zn2LYE_K-r%yZmcy`*J&1@24hW*zH=I(RtjaR;Ui@^a9o1Ye&%(Y5!aaLuG?hPKV8!
zlLdJ#M7d8#lob|dvieHCxpw9Z#gX4ZF%U2qEV`@KZAOYD=S6x82v2Gaq=M$%LfmA6
zhm}?aQ9WPfAW!3f=U91^!yvRmv{F5&sC}#SP=(<>Mq*jq;$ju^2?}R5st&Z|hilv-
zig;R2={J(gqWLE$@NunfZAU>frz7m;eX}N&)7dt%T1<4UJK2`ig0d+hC0!+Sw&dyh
zX-YW|vaiD_nTlKrz+!J{7H8skF?eIL$5!mw;r{BdeGTq2hRmVZ^FdKfibpO{sY1`l
zx4HiL#3EkPa7dk{ni(bn!?@PDro;-_O1aVn=4{}h%w5_?-A$6an7x|KM%hQ4PqDMu
zQ;kekiAHr&3BptZvKe-YkV;9Di$Z77fyIG&YA4ugV?4|W*P%s|rropC0{TsJKRe3a
zNw&i9jyhf~@dF01?UsCb)mmh-IZaI0^gSXb)I&><qk=@ndpkH7UTHozAY4!UuqDSA
zx|M;p^)Oi?(|pcqvv;n8*`8QE{FpIQ>#b<H&QM|o-FyI%{g7>Vw-*tt_0T$qJo1TJ
zdQ>k_+2bMbs+9%#cznh_ShJWB6|%%Wm}N_k{z;m6p>J6mE9{v&wA0q>yti$Lu)1}}
z6g5Jq_L}-}wKPn^^M*>4+>zE(>q((-(9M`1KO^sCG!((OVfcQ>K!mGJ?|4DDv394B
zUn@wH50yVH1=^B@fO+1^t<!VMab*NM)EwK}oJjzblX6D`!Yr3-MiX`|68Si^q<dR|
z$tEGcitUkXSZrG7D=%GKILAV65NIm&A@T_FS*x0j0qu|lA#D};$4IhJVpmv<b2cFc
zA$Z$5C6M6}5{Ut@5fA*;uX4`kw|NJgSO|?y7qc7{j&Y5S$3+T+!9NN4x)UP||8da$
zCK6*W^#wKHDyt<JR01J~0#D#<`&Gsec?^U1Wqu-S*#r14cpMb|+ZGD#^QIVHxBvP$
z4bsZ<2pKzy`WyW9?#eD<PBl{42LE%2VUJm1v_Tnt7{iiUx{&p3gR@-_ZE03eCq3p2
z^8}hgr(75YtxPZx)H0D%OQ+D(av6KV6AH&P-DuU6!`J{7=_MRr>Q}Lo1Wiay{ZYRt
zB3w1lDN1m+Jj(j}A9kX6&@;EvtT1}%kh#1<zVBSw7am{P5y@99X#@>>auXJ|M9rG{
z&1>?S8f@=-8J#y1hVL`3i1qKe7IUW)Gi@VQ%O;5BGyyWnY4XVkW0i`53vpc|4I`cG
zH{lRX3z~Yx30$ATU7qW)gUB~1i3sOU{!jByq_xGAXo+Y}6NQE(#S6Sl=JB4HhM9K!
z(|lx??w-&B;dLoJQ|en+DMixaqPKgO%dX4BHL_MY1xn@ujZ2p^B^L<^iLvn{VhX2-
zE8KJG^@j%wj7aNy#+)Xe_<AA>u?AmSja~N@0PB8nlzs_eIl%|PGhLTL)*zh{l9KzE
zdlwf;LafV}2L&vW+lfSIQ9=>R+eqS;>>IPhuFTvihLgZTV6gVp#1hvUaza@n-EpF~
z2euT1yKcaTNsMEE#hA8Z4EWy!McE35n*$o7i<JcUa!_=P;VFi3$+;$1h>n(HPU4GY
z0)tZ6av$HEz-<N&Vm(gYI=#XH8ogus5&qO5)a?_(!<xFtc1gn|*jk-C(&N=)cek8%
z+3pr3ubOeKE3Mr^-m&z!V<(gG<#PAV6tjd2>4annMx?IQG9dtZs#xsKC>NZJ!61;r
z`798`#(XbHB}S~u>mIqM@@Q?si~oe4&JKrHcg14-k;WJ8{*`!2$KtFz1-wsuL~h0C
z^N?cyJ4y4BqPg?{*i~<A$3wQWst#FB)x1l8*Q;+w3zG0RTG}|(wf?KyfZ}I4Mft4T
zX8beZM?XX%%-7F-XS`$??UZn$>+xp|o7SKf*zC`tF*;rus835=RR)T6q@R+wvTD}%
z={;%!$_X1i4ex|eV}?`*tme<Cqr2kEc2}qML?oMABhO@7_lH`6oo|dwi?^^B<{W*n
zB4;@LzeN&kuB;D?%9zRZtoD$uSnSjcs(W?vR1T1q#iHd-chRf?g-Zy|;EQ1y*a3z9
zb(~ncpxwCEAMa&KB!RM(Q**{Z!-fL~biWuV{!zT(r1-Z8o_n6NR?6FCTj^Nv81tB+
z^jS9C)qc=hRh{RosV<i?r^Rw^iugubz_8sy?H-N#)SY@$vjLkOUe_DWBYi+|0)|hX
zv%_dst&=^@cBJo#r2dUvI<3D?I;$qKvhX&iIt}`?PMsC0@ZJ1!`1GsR(Xz%?!{GJ0
zWqBfPG4k3BISL9$Bz>yMW=HFwaX4cym#{8vNkkN0o0`hm#POibOxLh$l}EW1j&l!q
z`q|_73x10EP?iD}n)!Ew!19Aof@S!`YoU?|$U*QjFW=uEjc8nGkjWj5+gbP9Kj!hI
zttFY*c2~<&GjPY%$L5z1+&?*9ocF_yp4Y2pD)?MGK{0iin0|{RuEqhlXO#CG3n}O3
z*rsi?p4w~a59w{aJ)DP&+0+eI;&w2%tBWg3ycG^kcJjLP;*b+*Cgcv-V6R9f88x#{
z`gx3wHH`DlSE8^jc-Cwa+SC6b?k<Dk2;xQ2Bf%{|aEAmZxWfX$-6c37xCghzEqHL(
zAi>>TmSBr7!4_ZKT_5M%5AU3NZoT)uy{f6Hnwp-f?$Pe)?%y9rTc+=?=+ZHr?0foD
z%eC4C6A?19e_cPGBmx5LxBp$X$r}67zpOM}bsVhijOLj;^%YP)DfPKtqTdO=&+=&s
zFfp))dz5Lndenlco!*pVcQ$VQc0e88v_3u&wk%m^%spC7wT0pmAs+t?^5RMitg7^1
z=hO?R0RaV;dmMb7_?lEl`l9+k$oO~8(nc0;KXcn2JXd*nBcWJI43@KWns>Y-hjm>I
zMlS8qpiM6bRTg1GN1W2W(;pd+?ujNB)AJ(S*8YH}ox32!wC5oTs(#Hgl(hPX=mfnh
zRrK?F&vrU#)t;xUw9h&B)7XqvB#c#QNy3AwH6~$2u=zAR;cr(v0&LsOho=)IK96xY
zN5sTIiUAK^%ZHGfZUp|j7p@h%uS6&}n3zXV?!|bumnXmD&o$~0Aul8yk4q_S;7QS^
zxweQ@8A^d{-|rs<AJmy&AOWC&A55OFrH?=;nPIUBKCW+_=3oy3j)LbiaTaT3%3V@T
zlvh@M07-0hBrA}8%F_#M%AnSBiT#}WQ#MHz^*N0ztW`#Luy%PE0225twERL{*i&{N
z*4#qOFf`fhN!$|Uw(J|TEZr_T(JI-w3g~OqjPdYGaY?(AIlYYOND`x)h-`^6JfPm9
zRG0J5a&daBIHuxKiDLi#qW!9=rRvbrD?q>0{F>up`0)`&!Z4`!iaRVny&911lC`)0
zDzfF#D>zI+3pwRF`GANh8PhTNGzA=9buoW*B5}e`lBC?Cbg|wO9PWx@zj^)XqVPTZ
z%%m3d3$2!ocV$d~>4Z2A*D>V$WTPu4>6`VPO8+s(8o*C%t9Xwp_v1>CH;J(&W*c!X
z9i}w3Pq^~1d?F<<-I)lcYo22g>ki~yxS!Yif8W6M)U50tCpO=~T|?e_9#G|0`PmU(
z^ZukDy|bU#{6e&!>1k(qpvN-%Lq~XkiWkaX?=a5M=_|w!mpH`c<F9gFZxiivIF~N@
z`$IUoxkdX0n7-@7JW=;&XJdi@qAFgYd%7fa&o=#@->`}iht&}GX*X08MaN>MDRT~2
zr2@h@XT;?1xb+bCtw<!XihHEJ#D*E3NzEfwA09(N@{{buMcMqgo_s?+4NNaN%0PF%
z`}tWZ=zlE9X}OH-c7^n#U!sCJLeWk&I^k+~)oD8!MK=0bzB4oJu1})G=pqiY6((?e
zLkvKkk|*VVQI-GKZlO`xAEO*#CpY_!qZ#g0A6lFqo`=RcxknwF3x`d%rW;s_$`?A=
zgm8i2b^i^q+Pl6lOz=~7`zOF&inv8By|R-;=tpO2F$K3FVw*ma5S|QHi~w-<uA3aK
zj~c=u#V_kVCAqmzGhymDUnRvUGY83LIu$j}C>$<EkfZ&XlI$BtK2{*igmcT~m3le^
zgf+^~OxdSMUr45V?sqHHD^?nDR>{^ko>;HY|D%x|3>Buxm~f*R(fUAuvDRdtB+LB4
zW?Z{SL1Z*q6}Kshif!n?Ih|$36z>(;u4z#-dv@AhssJvTQ8}J()7HgJ^k$Iu0ezLX
zo>XmU>HBJ|9j(5g#41s?tDLc9IF8T4KmCv`Ck<uA>PJRP?-`?F^$C+Ol4#dR9=>g3
zNF)k`cHF_au_<&|pN~<uUFhS`)c04m(M)9?3w^70QlrheTpryP?HX3J%Xn8y@_J-D
zO&HsHiaq4md9PZ%Yoi2+Z+`*)P9gY9tw0WDV5=E5#z84fXt!MHtCzo&s)ZP@X^;4)
zBcWcs(u%?Xa!3K0(evj;GPH;V7F$t_M$+U`108rrd2O22ZS;L}3$;tMH7a~@_hnv~
zC&)ga<+-nu&ZuKXiPa1IGA<$gQ5GT7Y|(r*pOIQADxSlQQ$(bvIcHI)NEuS`;ZYn}
z23neuuRA5GtTBA3L0HgCwk4LYf9riLtR;4ME%I99ZvrbBSygk1x4U9yyB0Y@)5xX+
zGReq8X${jPJcIu5|0G?o631n)YmCuDXy;v&Q0cS77WvYNSu_%WUTtOLM=7JT@$+z<
z=ZO6BtU<2Gt}yK-pwRJRX0xf)n<{p=X-LS|V$#W6)IK(T?N%f*NR>c?_FyEh>`|6C
zrRX2&l<tAhgb&qxUB!E+qE{wkn#JFwq6W9<(T}dZ&qZ<?T3xT-?Ah!2jy{sDw76d9
zs2*ZE;bxSL{<&5u^K!3vcsMWD4O<aLH+<y(soS{8`R$LqLXo-sd>ZVbUw=}aXh8=i
z!2MaVTRr^dmu^+!%xZw0w*5T$wfa#ya*i$Ll&xzc;)yQ*Y)-+FXO@qTgW~58dDfY_
zacfMN^<_$lLtSHq*B+1Aiq+CB<?%8;F4r)o8J*d<9sZp5;e$D#<|^MLT1(sqeOSU%
zS#>9&xAy3(kVQjVmQ+`(#6Eo02{*w{fl>DP=V=dK-Ijq>1CUA0A1;V&(OApERF#PB
z90=jQo7Z((5a*VEs8r%O7GRK>tnI0Z{iJ;EC@1qOBJ{l7R^vD&Sjn8J`lAI5{HR(Z
zKLm?iFcSRL!W%E7A3Iwo&(%`B#b`cUqDKTsZHi@dnxFD%wr-L;j}i>+;`$ZXF^)z|
zLDZ^9iLbfIcoc(Io#f1q4JOw-%Y1*A?QfiIHj0*>6Pm#^EIUN=v?YEfM2kIeiPo*=
z6E*qCVk#{xkNNq#b%2x6IlX&#)-ish%FIFK!r_<GU_wuWMw>99#x=>byULw&CQ3-@
zn!JBz9V23ev%?XYp7xzv7(;lxm1pYSIXlR5gH$7;*U-Y|)I0f)R2~DD`>3jpWXdF5
zrj9?Yeqq~DiBIL2aYc%DA4iIxM0HBC;gunKD2*WO-U7`3Wz5y$A0PKcF)nEf&1fM<
z+rd8qa<uJW48Nq=S^O<$!SqB1dxL7dAr0aY0s_VW$sL#ozZN$7xg8frAlh(M@OVWp
zbG!LPs1r#uPta(s>CCy`Cq)8~a}{;6<=-<b?swtTjpO3sp9WGmbd!uF^z(loRdjM`
zzxM)CWAU?NC75t3&U{l(Wf}Nc@qHd$vA5cEZj6rq+cF$QuTvoBw4R=}qcu}LAH3F+
zzKn)kC)N(xy73+hotr5-$vAo|aejR-OJK(LF9mN${MAuA^~xXoahXE>Q8%R4vSL@x
z^asLRp&#f+RR8UQL?!%97J=IKFAMK6Mjrtawy*1E^8YL%BN?I>!f6pk>uDTNBiud=
zPBtk~^N(5}nYk$=DY&(=VWw)uhj7Q$+u`|PQ2*r{b!N@#C;PGbt`ht%F8f!C_>Mcz
z{0=&)0Vn56{d&+CHEuS#<QQAwVRvw6L?3YpQ(%HRMPHTqhgb$yBB_cg@>vPQn@)mc
zhoW%igk|mdeEZ}+9_qg#Q3V9~rXSfKbGH&3m9#3jmzq#SgvDIp(`&!uSjJH#KN7Od
z-f~FXzW*!m>uo+2(75_O!5?%6nT8q61H3dtxwO<=w6w*2fZDm-Uj&&UggZY95@=?V
zDavfoMz|Em>@Z3RcU3CcSlR#XXkHxkuRP5hbc(q6SO9@8K%1(TjuzjlcYh<l#YRc=
ztyA7nXiy&9^e$cg>{kCgFNc#VCc~_o#9I@bO~1gXr|WX56`)3-rlIvujeu~DJAq8v
zgsBo5(}`;T3GpXrY-1B~vUZ3V^D9BLnnXLnE=boBbzVJikN>ED&{taeqZY9{K#p<F
zuNp7dnqxM^eQ|qgjhYL6w1@Ji5cfja3dhmU#E^C#gt7|DlNgaxjo%Pj_Fe`RY*uth
zWD5&@q_LHQwot})t)daT?MuR4Vp~w@0&n;LU?|n6pT5X`tZs@%?Tec>*aXMTMw4JR
zUpFkXeA}Ldv4Aq+_rS5ZcgS<XpC8HxzhJ0M%!OX8A4n(7z#WF_@Z~{{Hq1~99KYtQ
z$dF&Ub(d-tWT}4+=v#*Ti$j!{_sH&L%qt&JE!Bnj24v!<IYX*GujsL67+S46_63W_
z<4#id-OuCyFgy|FbHAeWcDq=-8=M=I(uLe}a|mz>3i2XBiX!4hi)67?sd7(_KZlul
z(`QxbRFE(zbnXjI*nRn%)U7_G*NgYANPOmJS_nb=JEO4>Lb34ZxfZ3dgbL)USh$-?
za}+09VFPpu;lt4Cjj~F75nI!|k@fX}ziQfiF@KgD){RoP<mT9@(paZuaR8#hBy8LT
zWrIFuSphv3jpCr;-9*hN7tL9{&BG{uJST>=&_hN3IZKCW55fc>>zQ@)43}?aobPlI
zE#Q5V{u!XNCOQD__K{;v#4|`BQ<k#$7VDzeeV07ooq9n?k!(CYe?#|B@b<|z?AI+l
z?3e5>(65HSk4aX)X4$gs_+xfR{Nk1Sy$;J>${f42Wh+&mm|XbDoAirz&m&4-;nA_g
zBK{|7{GYJ!{}*GLllQ;Esz$$*9YZ+YhuvoPkGbKR;iE={CgA;2V0|e1MH#p#X<JS_
zCV=5+!Y!#;j#1m4ahqPs>7t!yTO=9{U8N>FtDKb)B#!7v>aBL3rN=|l)PD#&V|!eX
zapB;f-7Bb3=9iN0(|f{gFY?4UpqO(GD`f<_qG$8*H$PNn_D-xWIqmg%4HwmaM{hs-
zowm^Zrs)wo9O{R4-^>bmy?jXfi=dc*^gA&mc)A(S(9ZEaLAI-UeXy0hvCJDW{Ss#g
zQ2{n#&u4v|!0F6p`bYQMpcsom2zN*BtAZQ75bf{cak&g_xqHg}^mhuaa-3i;!N-a7
zNHz{WA_kFP+&l77)^5z!#00Yxl*_-p@@Zq&cD4LU^rGwa@utST-zJ3v_}EV;!+vim
zZ#Bb2?GWSh`mjAbCcrp25BUuLhbzGOe_OZz-%x2O3tKZCcTF=#S9Er1$2T9^#?gwJ
zUH-d;qnnMJH=7(f`+tDI7LMP|9NqrI<#nYt;NtoZVE4b1(*L20{}*%jKa>0qTKIpE
z(p=pCaoB$)rT=So{{IA}`8YT}a|rVD|5q>hKXdy(3iW^XlK*Qt{)d*#CGeSxi|fro
z{$Hoojhc;%oA*EY={Nq{&B8&4`i*!N;NcedZ(1^!;G15}Er`x8?`CFiV=m!nWp6?K
z-?d~;4la(*yl=!cH5(5n@8`GFoYb6r0vw<D_}-9fPEJ0)x4qng|BXxL;`!e$-G6NV
zZ(K4z7e6Q0|1+1&DagSu_+OvuV}CSp?fIMAcF#Q5lb!rX^zVo+9|+W?W=DT8s;jxc
zA(D^bwNW!7a7F4{+5l#`9O~Qbf8}Ooe9gEgHRfA9tGD9o+^yGY<Z57@_U(Z#!LrA8
z&@BfJyH20k?_7_&z?2KdcE??iHLE~!sShf;3Hc`$JNFj;hESS<2O8R@+K-<4K*RG$
z0;xResytu)lkxi5Ve8o_a)$)d4{5tQzxcZGr&r_(6&F6JRAiGRJ*{W70<kx72ncs!
ze9K-wRNJDcjk0rFtOBt2{aHZ`3`Ah&yZes#wNDS}TjfX=Nu|nSuEQS+No3!f<nR~G
z<QFcwM(ySUBlw;49sjAOfvD&+@0irbnFc$BL3<EouOG{w*dAWQT^u*_0-ny6FtaFq
zU?WSrJ7z`iccQT~;9omRyv?IB1Au!u14KOREi=zz4D&xm<(p_D+SO=y=@_JE91KJ7
zj$`1plljX6U4?YvA@8Fa$gQH9t_qujPIOcYwX2tH+85%h-ENABq{*ugDb=W@3<Id{
zPd$JVlv6m_hcx?1)--1%wdAe%XK;pKjdhxJ(shOHRh*Rx_eHhIQnJ2<FYbiWe_X9A
z+OwG(rKV7q{;a4NH04IJG|qeD4zw7GQtfNYLBm93#UnJs>Q{>oG>WCCzwBT@&8`vk
z!S3xhYJYr~t|ganr=nZg$GP{$>isW{C3|$3I`%Y@SBpPPxlQel0y0nhqT5~c9Hg_d
zVKbMLuKrYvw;5&-yT+*56n2Xj<!n_<=}wH4pI!%Hc6KQf2@qZ$(ng$!lw2Mi(Z3Rt
z*Vtj@pA?yVN35{MP+N&dHbvGCY1fVT1yu;x3-e4e>&^eUl2#wX8L#uWy!B`)X^f}`
zUD$nnsiYd*O6*46VJLjMtcKYnhRG*9YcSo)1irL=C8~@N7sv4re9XsSFGGIbYo?6r
zLk9iLN75jIH#K5BEd)?p1h0^V93oC3XyOC~VjG7)r3C>o$&)WyuHIvoL)mRm4{6_5
zVwBsJ>{ZP9b4Wvfv++p$j{O3wf3>HxuXzM!)QcMIke1fEH>I2^>SFI{WTFY4N{O{d
zE+AaNZHfh+NcmB0*BZuQEEd({UZ)MnaLO#I><9!^DQJE5R`TK1l+f|x-ZPvNj?Au<
zO|{^d-<>9VIdis&m<=iSWzuf#D99rY5y55^0#m_UqUxqU>~M~4(Wfh9nRVq*@0@=I
zkuNXqKDe-hjNdm6w-f+(JESK?MdDzlfM^6AajNF(0&|BbvG_)|Jy*bk@$b2B#+?*g
z0b~5S2WLNibO8Fu&zs3v+I{2>Hkd|?tbiQV3l*{)@n7rRET+EC@ejCT3@h5rEn^%@
zO=~U~>R|u#+HN&~iJFdvEiGP50}3P5!9r}QTytzAuc8kRl=e#}R@hZ=pEXVjz6_R*
z-3vz0k9hG^7xmbSeG{t<FU-cbw!4#B`r~VDr)P5Yh#PZg)~XZYT@>8ho>0B>MP`9G
z(Y3d&Th)O~;7xKqf6ue#)xE(<B|@nrd~=M}%zr}mz?tgM1rOE{<gdZe-X*1R5NxFw
zSN!3KN_i`>Mc`j4LB=kw!n{WWI;%@Ib~J_c`D52RX%`5md?dAxy?j1^CF~;$)+p%$
zP@3F{230k;CQF*Tq9HbQH<%81PU`Hbv4^P2R%H!-vePo$i>}1OU2#u`pG>SV4q<Y2
zAu|2l?q{n?)$rHPX_rw8&>4`%%rqD^`4#s#Y#?5bWp;wsIq8?G>oKoZR{?Nsp}J@+
z*<L@tcnaZINk2a>+4Uaf;96&mV|zK67rl0OUwNUOY{M^GM<}2~VLBr`s>V9BfnT(y
zng?P^W=k|jz&<8IzjJ|mu%g0W9#XCpGe|l%@-Ck)5gPz5st8oraR`O-K^$O0&_~R3
z#_v|K{B~>%JHlrz1g;j(nQ?7Me1jL}D|DQ(AZ_Ym;0cP!UQIjtUI-xehEh$oXacpk
zC(Ng+^F(j)7<2u@*(==eoz<M;A(s7+$TjuD3ehoW`X8n{<1XWgs>vTbE47rO-WJfm
zpMN;QBLvt>X!@0rVXh16vLkj#ejNm7C<_ROL2Q%E+ZIoz2*59`XpOjVcLAsA!0@8r
z=i&zeKl<XnH0G4r14(^y$!zRbXHM^gQ;R_-lxJi&fj#_QAk4%MFy$mo;{`7GH%Ye#
z!b>7@30y-99|B|lM%=~uN+c@b_73=>es?LGi^2zYia&ph=ufzR8`RG)wuF&9yFNhW
zjq7rEAbW#|KkkR=L_U+2aW?U%=GNNR6r+0J^`>xqnkCQ~<Csl|tgLxy8UE+<p!yMf
z+%Vz*;?fxRa?5fu>iXAB{p~z?w>!H~3<)!DSqL=_AFu3kraSpDf-z4;p2sVHdMDLC
zq=#QaD7Q>Y#j?4maFFTQ6$WPm4IQKLT6Pkb>e5P@IFIK3`P#m!QQoW0n@_tn-zybs
z*}}7}eEUoOo`;H}a99LD>vKHkhd%rTls_anrQIZ*`X(Mc>UZ>eig!%hW_U!LBF4DR
zuc6dBeFIC1FkJZkHIIU@7~|h%cA>0`%s{0m*DyxfFfQ4^Q9n%JUQLWaLVp1jS7^vV
zV&k$u;`*KnR}}eOGkusvBkCMR1XExY=RET_>=xY&Zv!a!`$0OEGinyd$|>H^!h#<!
z2JFx3alYSk(gQfyugw04%3!>yfS<<#e`FeN*_O))M%K4X5g$8sgVXgbG&m;5o(`2g
z+ryXFyAt(|593AR;lZ|#Wro`2OT75cQaSpHS7guAG6g4Ha|A&7k_&k6#v3`%ns(Q`
zF+Za`$xlIShs8%KL8z<m?n;;R!+}W8<ywpdkZ?lUFZq~G-u4)$u^{2mY8Ma(0k}eC
zNNea$V2mLD#0*&@y91T`<joy@>(f`gTgLcn`n*F|sB+F+bHX&PB7`yGNpL*E0Uy}a
z&@=1<6Y9zTs&Q&X_sr!p=udIrgMI(1;BUk>?vc<l=P%{}%JgVj@$|zm5=A4)j_NkX
z>MDG#Zm@n|^VNQNrrR@cc*dCxvoXHu_0YV^-~O`9q#F0M@bl5*+>c_X!kuc?O3mnm
zn()cl&*G#lTS36Z*R^o>5q*Y&EXNgqNs`^Kwo?&C$c3wQYlZN^UYLk5D{zr;y4&P5
zXWz}8Hs?e?2IyTU6K<AWtO2g=+w19V<vq6k(?Rszg=HZ*={>jvqba})%up5qt=Yrz
z|4!qm4guc%Ijb?8;<dN)(Ic5~&QokzI$r9oFVvtKSAOl!-aw$_KEJH^c2wXwxR^I=
zo6bGQWbKLF6ox6J&{cPo@5*$GKw2px4P!JOe4M6V5IYQX5I=x_Nb|2Lb&z-rdZpCI
za!+keRsox{tsZEI>jqm&Vv`=7XFfb<HR3O5_W~qFe}U2S`5~-#kd*XzQ{l=U@zKj5
zI~wV}9&0nrW>>KqnBrRQ{A9mCmiS*j)fvJ%*@nX(IS3S2rq8rhXaNGfuNCOUppl`A
zh-2@?66O17`^TAK4xR6>A!QRqRYa8B_ASjod%^pC@^;FH>=Q>BNJo3Wim~iVNTWWR
z#68HS=}|^#`TG5*29uKqvhRJs2h+1zEZ07v@u<%De!nsEERgP^*Qkp>j<2e?Xj5&-
zhxVmwB<<0A@|VIcaKmx$GxbHD?7;8th$5)@^eaie!vr_VgfxEOIoAq-jZ5R#a53JR
zatxb>UkX`9_%;pA%NwaLkMyL)Bv<dNeH*=)`wiQTpBYy3zq!xrn@((rkXe`TWenR<
zBseAau*E;X*;}A(LM7Sh)L<4PL}qd9Y|#qEJ?~7$&zTZk8Oq~~0C@uOD|!qd$=i}w
z;rBkH34p4rx|CVvJiS#1qpc<uw03Wztx}a?3&9<_%)(|FN`9j;o5_#R<wd(r_PBnl
zLHD~Dp_T$eg-^Dg6~Hy&9^0nnUkXF^bB}*SWEDb{lWk{dqQ}&U@;3Y>D4lagt+E5b
z??4pn1|!^NuLA8GKFBc6F`)|%<23|+hONzLazfop?_xSt3X~V!DLqbd!1+)uY;Dh+
z>#UFjxkpvdc*t)8@(2f^6~*8Gy@)}Z_ZB^YyEech_>1vRoL0E|T<IsX&>93IEX;hy
zI;4As>G?^NecQxXAt88%EJF!h48vvXpi9dKI1$Q3D;wBs>?Tq>mFxKyal_Ci9n`jD
zNj#GQ{H~_Ndz8ctOEY{a<D{M@b($P4*(}tdz#Gp_sTJLtMA92=i_AIh`q&kx$U9xK
z<Xf(BiQ_<1$P}#9jjpB7-MItv?A8q53n?&9uH{Q}2K}Do;^OV7Gf0LS`NudyIAS~;
zMv%I=2?nKU&?TR@Os8>M<gjy3I>TJkykMr~vcCg*5Ep8=2|Xy}6T8b`i~c@}pQA>A
zPd;nN_TL}hN%)YNbbC`Gz0fW~>a!i3J2`79N#Py@kjD}ypC8L;@|wGeD+grUdfm`#
z+0;<rVTZ9B6d0a=xdBIQVX~8dXV?<}qpl_Kg{#qax-*yJVt3U?9U`ZGArEZ})W-ys
z1?4&<2+!}_uLs(%NN>Qc!#0LErScyU$x%!-7YC-`76%dY7geXiEVIkEJf<iny|2&_
zUE?A)p88vGL}~^e1XOe6A!WKVwC6O+n!I<Z<UI(NPhso7DU8bLzbWOS1PH`_hNs%c
z6PppJqNp}e3B&VL5BM5Bc9XBv6n3S^-Snx9eMSi)Gi4{o9u~l*PJ$NTw2gbF1L>iO
z^9mxJM9dDqzg3XnA-f#1uUlv_`ujV2kY7(&#Es66><E0YivTN7LWZGq86Aw}i$tM)
zKm=ZX)R_|aXM(d3&ZM<{qU=hNnP&Ni%KY=^K9NU`6jOgIG5?PXiQUzSJc^Zp6i<QI
zTO|7(lY`lOs=g@R51Kf<F*5Dp1>-b}bMZP4klGC0x`llns{K#azVxHu0Utp{;h$%K
zZP8$ncgDu0-Ak8cROYfdD0!wB{osOeN78bsFS^G;DSFUq_?<hZz!1EqFNgX(v7RPK
znXH_uWVSm4yvN_Tv3!Tm^V>Z-z8de^uurGe3|NB3E{^-03ct#%$g1mza(`;_W|F@5
z6)(-lEL}CdU~(MJ^uc)e;6^2B{#rou=aU!JIY%{$I>hqM<*dzq)S}Y4Nx7}Ff#fN!
zuJ)fuyB;l}nG8y_V<8P~CZP-9mAAJG*P$4mMGexT<v-q)Mj>bSZanWub?ZroU%IVw
z<`<zL;dJ5pBga8U>)QJU;_B#W*sS$4XCv{I(wxI=*2f$I@!ROHjU&Hl+2MpMJ%$QY
zh@P~F?rK2!a3egiw|+Sr=B#i=sEczdP6rPNjTs34N~Q!e5h1>`6NRrg9#%z0aDX4Y
zdAfIfE@V2SH{T4J;u6kP^Gn~{IpMDIL$QJ!;zoE1uKDIZ!sZ|<{0*H>Ar7MxcNEPg
zU&4d+R%wz^vN9Ou-0d)@JJ!SR_Lb-H_K!`o4(+1~EsPL$2PfhF<%#FEFbVhso7%0a
zOtRxx<YR>Yl^g33OY#S9csOl{WDTL=ad6;sjmMoHDIp5b#3}O|wn;Jb6vpYsfjR|T
zM!29`g$H1JxY?!3f)0XQ%<t}BFprW;1sGcVoBB9!i(%lv^GVWxul`kd+poS8eytdn
z@DGU}P6Q08xzv0&<iVR}IarWNZ!2re8mDjqWf})R1Yv7b#4v)jmFgr)8SzluRP@(D
zl}#d+eelPlRv)rWennrbX3ZYu3W}*7?76q*vMG7}^p2kDyUp@1A{bw}Q+vhUi3trm
zUlP*y{|%)ea=O2XI$f`*yghc+zPky_*<UVweV@EAs~{ZQXqCu^V`J0pzi|@iXCZf}
zo~NoAq*T1>l&V|d|Cmg8R!S@W&-0NiY|MB4a8JbBxX-uKv%Kq$lxKOxDN;r1;^l<-
z$LM8Q?t=dr!ktLNwkV&BYB&2~5Bpk(qk6MC4jSOKm0+iPaP8Fc=vt+~@#T@sPj!p6
zva4c`)B7_A)lTb?<{3+^7|~8KONTsxHjl0!vRl#!VMpyrmxAkCC`i8md=ehWJx*pt
z%)m7f8~K;q3hUY_+-`)(3kuxBGECpa&xI7R2?FuR6|3T<>I4x(*7%cPCeS^Tg-d49
zJHS_(8%4iUYOImLYpO){S%lGVP9*FP>QQ&Xejg|KGlhN{^Nf9scsAj=_+B(ldC=>A
z{*0f&&jIGRGtr?0lx}vPcQLy2TnA!TTLD^?JB<E9Ke@GU(LpKy@*lY7O6_A)9mE&7
zk-W_DXKuxT_rB2NC(-Fp&8Y8E{7c*Spi+ZU!#JRnCn!(Z(Pm>IIl_shVh`AW9H<(*
zi{SOI<Wt=OOus3N5RSkNF>|g{b0^GJ*s&PY;mm%3eG1=yHwgUa-q?4*irl(Ln*ZzV
zmmXw?sMc8(*}T6#H+@4^`8V8HeOdqz$Cv7ce!+gvIlsw1MH%debJI?NJf(bF?U
zu+ZIU+mclpA(qb#P5SQB4EOt<E7rjpAbs$)gV<I-m{QNmvPUWee1kA4L*^g%C6{R^
zX|soY6pSnm4b(j7qN_@?ic=P~yOf>AZv>Sv9@&cwyZyOVnrP@Lel00`&4@F}?|Zlq
z1D|8?+>HyRU*t-6N{4smxr;1<eaedwNJrZmX*K4ww>5g`q}N_;-yH}Uq8MhWow&~!
zuHt@{5j@QG*PL1?dXXL3F_!)Fh&Hp*_5Sn6Azu6)r;kJT0;}+br+zE9jAuMh7Q|KT
zPUOze>;9dq!ed4ac;&A$pLg6fq}bZtT`rGsn`*HCw)SLMdJtZ+0Ky8oh!XNn2PjbV
zNiXJuz)5}PTt``_HRL#&(~}L>F!{zygrzph9TS;<isGl?eynYZg1Z^Fly&@Tq1|kW
zw}cM4$2V0z0X38XHO4PxK&p7pYa1wTw-_skOYnvElunU3kI1VZ>;#4D9#h+8fPU6(
zJ4J=6rryGDbik9fVs5t+-642^>wo9;>RynvN6SU>uX`3hbjz%b1!Y+nNbs!(R1c|a
zaSq?6n7}z+`iBcnSpYC3PPrVE0M%h5zG0_<EJRn>P!vC^rA~&=j|@~tP34!sK-F>C
zF_`U6LtET(!kG~716|(0^Os!Qiv~i<7PL7KIR4=VN#v5I+z&|mUJ9mQ?{@Y5Z3>?M
z0r66VQ0q}dY>REqK?u7)x3bfVpt5JDbWXNxdD1Vr9E5>M21diH;*KC#6V_GmUAE)4
ztJ|(J%lSM<_O`*!?xl2LJb6)9bR{en(ndd{c1_owNP|5FxM*lU{kjJ;JdNDBASY~@
zzFzVC3PT17o@L=wkj$ZNARy;K?b=$qgGRSq$Kaslcf4YotfX}QlMQ=*`EaeMjL5_A
z|3=$tMKR(ewa}FaS2rpOvi*=DJ~FquDOM(4jXU7ai7$ty_v7)`D=}AOZCE$%@#!z0
zF@NwtAxQKH7<X;o#-QahNp-IsNH1W@gCeX#Md#Q&jPC}A@1!;!_@=&76QsjQ*;=U)
z?1lJIq!*?pU<cImPO-y9LSnaTJLs^!*NW`}zOa{_cYD4+Jv0t|mSGd^y`?nroW`hL
zO^)-A*7P-cFnG#7@w(ghpUavW#z<!7@)O?BB-W?t+MX<IxX-XMWKlmY*4_4Rl;;u8
zQvJ7N?K6}j6`*}@UzjA>>U2#ZvGz`|=7~BlfPBncC9cD%3~M)7>y`VX<UXx?m<WGP
zNRw;K1?6f)Bl*qORmgPPH&KE=Vl&_8w<_?n_OzPtV~2%!MzrO&22!Wk4p!&hD)!qD
zB9X42&pQ@wTu&>H8@}!EY1u5PQ^ey#TN~zvdwxk=IZhAX8i8jOlO-5Ou)1riXRw6{
zxi|wn%-|g1vCV<Su+mU6`Uu89Uy(m6Z<%M<_F?}ei1u0<H9ipxzH-&p?5W))HrKue
zFE&uI-X;e8hRr8&0@zz}ow7onOz2+Ug{F-(0+y8LP<$@{7nC8_epJg^i}5_shu=oQ
zL1)}zhGKVQA$8&ByRB4>qlG#vW;~(fX(N*I;xQ?w5)~^U@Q{$1XNcuH^+^Z`F-|2~
zKGj!92SP?KNQ4S*IjG}c481AWDO_w4QgL`WtyD3Q0dJFAa-VXJQVDS4o6djD_4$f4
zI>z2puG4KCX@V&<SPZ;!B2M$R$~ps8kTnyGvqK!3X+U84#iT*=+}ga;`=}E&&?7eY
zdthh*K=KqNd_IX>UjN<dUo}x;9Qae;kz45{0m2X}ZFeD!pt{;FAW%e}%C;g9D^8QM
zgvu<Re8CzdG=7PcpQtpCb4TefTI=*@Mn)qgD^CIweOcVZk~4eSjeQobdkte7w^g-U
zQ=*ZL@mcD<A>?rhpS~8*h1Pjac7QqDgRqe+$Im&4zevZk0Q4sj?qoylnOi%Q@ETUY
zDF(kg*h&|gY^V*&eVMPd9}A!PC*}OWX<aBb)yIn5pA`7D?2zoJ&$zCynV}Ao@3RDi
zYfxfl`!ZVP;olz^v2*(a%?>BR_N6L*+!(?=D)@I6anCFv0ORMWbCTZVivip)AD_yx
z^O<{eHyF%=u#<l1RF;>d6uBA)NX@&cS8mFf3|Uedr{UYVby67u2Ja=1tAc5uu2)1^
z%tqw#riLEa!VxFmL*pCwnt1TdB0NG<FS{e3oqVZ^oANaUaH@yQDfJ-lCqIEo=1c9)
zs(A||lt_t7BGQS@7RQ=CI20Hi74VGXZp|@5{Z7Po3k+1>jT&_O(`P#*w~*KH;6ax;
zCg-qGc5zs5?W$4e1YQGJ5O#LbZHBBe1?ZtQa$?iXWT8%&foxl22bc0)MufdJdA4Ya
zkf+a)3!swn*{tpbj-2CLseHn$+O5&=`1ZF!z4RJ|<##m`4C=BLB57PmqijBgj9nl3
zYy{VD!+au><S{~flsEzwm-*-;dPPn`v^>VIO^p!_{ox?+<JWlE;ew{TyB%NDaB9)h
zaac_m`RUfAOR9e4D7X?IeBuH5qfej-OF<5>+bJP@2&!Dk@NOO2IAAtA)|CN=cY_d?
zys6myczw6Hl*wbSx$|DtMulUEibfv&--h3t;(sX3%YOH2O7Wo8+oP1Muur#{j8A9w
zt@ZG;MmT>ol#jDt7Yq$R&<^xRRjqvh?RO-22<`DiNARqHzCso@^wIZp)?Gto;Z@;?
z;8w}xsT@m$k!hcqrt0#AB~StZ>Qtq-gNltZqA3>J=}~u<gH)bCIlDoID~_8HJD!m0
z`tM#a_TJP6BoN7xL?uP+`ryu(pMr5I96Qa5;on4|9E*d6MAQdQwZ%+HUU&*9mVc-j
zTfnaq43@wru*EBAn%r(FD_=J-JZQ4XnRxwL5M`<fR_t_9RxS(@m~zKF8ndDWQY8HJ
zD?;q^=5?*%TPoa#hj@#*5ghnoHe#H;b54~8AsoHlzI!Is3jARNg_q@V6(fX`C7i+(
z04w+|ZDuY1ZSFT`b!(XEFxWVO-!r?AYSF*GY8hR+{<m(&OL)?x_N~wH*0_S*6XCMb
zs~YJmj++MDICej?EBk(E-pO1x|Fpho$u9}JpbSeY3Qt55OJD5N`JG<$&>H@Y7~Typ
z^gFmnlu0BR_{C+x7Pz5>Hb@u4K}-70c|_spj1{#5x-g>YZ^0X+o&9h9xDLU)na)>D
zZl=c#&+QEZ1ie2dR%SW>tXHJMWppA(QEf!O$i-8?6h941AnmTA_fzJ4em88hD=1;P
z2=@m)LKS1Nv7BR;IR>Y{Ro<3#^Uv$?;Va}kFZDIx;o;T6`r68SP_2SVa}z&QjI-x?
zdhtF8Yo7{|r+d|009`v%I=nj*ot1mgx;Ki01|VPif~#LB+{GMoN|zebcEwmyV0p2I
zvJXOge+S<WpWmR)fMAUwbH>47bfw0vXT%v9jynq9`-uo<Xve6>%st8bu)Nrxx5v$S
zPUm8vZ=$k&r;B5^Ece~-dYoRFt}$jA=da8Bstc!pw+q11oKu468XLTx#|g0c`6XR_
zwX$3Jh37$mp)_5J1COqE%umC89t{Gi>W(r!@1VCxOTCmk#)hv!B{YB;ZK*Iu%`)vN
z_iFS|D&!YrDteszlLEyZZiqnwm3MM%uVpBINR8x~9X<8a$7^lM-%+Cqq}!xXcZA!o
z!V@wSY30Xipszdz%7y#Ynq|QSI_d%L^jKO&<vl;z{B$^HUb~&%P3T&QmjE8bfekP_
zLzJd5AqKi?wZi1Bd$-&lao$G9??%Bt%CyjP6`R(yn4z4aQZ<+UcyWq<rbKN&?)<y{
zdy2u91m667dkMOgTN<e8PJZ|cE5tVNQLl78!z^a2XY5G|0I*q*VFK{Cd~<rfIbDmP
z-K*4GuP{Sd>enU!ta&I~kIt}14@QS|_J5~%4Omb||JT1hAcM7*Z;!^zJ<+qESHB+G
z9$a^^Q74D9s!~BW|5|1F)yv0_8_&o;BNN~dp*j-;M>XSOSz_{C9*YpPM`6~Btk3bY
z3XiM0o>T{i2dc2P(}*hj5-teeQnjcgxC5rqZAYx^ZW8O?`;|w;p47oz7Fk5~hSJL`
zrsR-HJ*<OnI5f-04$&`S{@;ba*1hqc=Uf|e=obNX0UV8>PzCnIgwv0ms?oKuD$_;R
zL`BI*98LB|QKkEA8zN?`OZDPI?sgt~q&?#)uc_O84M=ptGcUYbto-vW92m6H@{@LM
zzfpT|_EG`MBARJ&OY2*1d%Ro6=?}-4i}~_A(}0BmKQWE&!@KH?lTz&upP@<5D?WVA
zqQ^uk`hC#JO{e6#&bwvmi|0-C1b0;pwRi-;hw(ae`^dZybyMM=#J0wguOF(WJTZE*
zundyGf5v<ZYm;gXnC8y~o>%LlQw8YC2E9p@-G*nq;;53aeZK57Qe{s<X9HJRaY8TP
zQsl^g<LR>Q=`-)N`h4DGtWe^wiHJq?M_7z}21`_oCygZ8l$4)_R0k{J80<&s0Eacx
z&B6IxB*0(0EH#-H$<2EFC$e5xH^2F)a0-t#)hW#?u^O6e5B;<8B_4gO2jaqhpxJkG
zo?QlCmS_FRa(3Vga#>Y=MDXw?szP1}H^Lb&XqtGK(Fd|8=ViM9<Rs^bN2k_Go0dp;
z7Tf_xG-!v14ZR(xx-=6K_}<;Ar@_@Fn9*@Nx2g{0my`#-JSy3$TXz&%Fhri}KH;+8
zBg+Fmw{yVL#zaq*dkXDp-PFs!o^GH~&rf3c-ji$H{*z4I{sC@=-IoHPyHUs8{t6A|
zTQ`sCqwv_T4+1@<Xs;G3Nmp-wG%bGKV}I0qG*URHU&=!V23TZ6>*iFrpiSRxZ#BC;
zNhHRSU3+JRpn&_&Fz&|j&kV~>R_D{GDW{gz)oEGEA+rIinv${4XDwQH5j_=Ow#gM8
zfl%EUKCSP=h%=;WPzjc`@bXvxZLZ6l?^YT2#$30cII3CpmlCOr`|cn4IU}AL5i{34
z-&K2-0l`N>(B*mG3li+5x0jJH{p9IYchH^P)X<Ch*2SvL!u3!jyD;BpXgOu?sdh*j
z4&vtOxYt|!yi??wg7O!y1d4Ot9(@db<cw3-YAMp5v>as!^FC@#Sqs>-ZOMbg-l^|F
zJ@x)qpB>j;TD}SM*xtu8KRjz}YZY_C9YB%_gq9-@C|AR%8~B1aXa2<ysV9ApK-WqC
zMCrHgTv8$stqTu;WHSLD?~Ubp$g%`)Xb{1>XTs>oJL4FLvx01~OD%#AxVN9f3NXkB
z^5g!#O6iz(Xfb+!XEgoV2)^&Zytcb*JRL|g`qDA)xqiBx0hK2>E*EdSWP@lGUx$GI
zB{lcvZ9d-WR#dDziHXPmsZlF_q*It5E!Xo$1zvF6*;nk*-zyQ#`fD-g_6v<cnIG}&
z*0QcrE|sAj2VX4(Ds%iyMxIV4nDIC94?9X#)!Ca;DZ{XCT(JtKZE3JTq!1k7(4xsh
zcSUQe<2_yX=>yCkM8G8)Rr2=5bXto;ajefRRZ4_*#uhR$JUAHo<8)p0z&Z52BCo8z
zNL`iQzRukQbEZ0CWXTV#n3tL8y*~JMESebNdDTGrXJlqx%&kK~UcxK(AkKSVx>u=^
z709sow(sbJqiNWES7*_LIJEJsKB}lC1o)}vzLs1#&f>au3+w4r97@|;Q(GgPYn?8(
z2tmK905Y+Drs?l&Lv%I3fbp*(9w>pZ;9IAIDe~YAXHlC5V(#Hv!+V@I<Y+f9N$=SR
zsi%l+*Fj2&fW6D3$3-ZA3Y4`uHz@V=CPxuG+9k3Z;1IH9#?|w6mUx@r;chvv9vIl;
zUbxcx;rT{QY{Sg9Tdcy~5<O$YDWAiEn6JmEztK!6fKIw2jp^VQRKbjS;Q6Tb$zxQh
zq&IC3nx@n@OEw3-N7meP##%__RZ`z2NcIn7I#Av@t>nPkjO}Urq7<aM=Y5S|Ql<-Z
z3S-)=QO|fFoeg(KPQ^OXHT{Qd_Tr()HJkqgZ}wuj%YIL@WFBYm1a;kVuP@z)^7nq2
z1>s2LJ3+NtgL<g;4pAPi;Q{_3&kpz-$N+!w^q$uuvnLLO+l(MUfT@6&(~@3mU%E9j
zd9AE9GiH|V+elKlqBv-Wvjb<(4HZF@R)i9fPW$HOsfhn%0A(Nmlrom%n++A{@ubAd
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
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/stddef.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/stddef.h
new file mode 100644
index 000000000000..917a17700f70
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/stddef.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party brotli.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <BrotliDecUefiSupport.h>
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/stdint.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/stdint.h
new file mode 100644
index 000000000000..917a17700f70
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/stdint.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party brotli.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <BrotliDecUefiSupport.h>
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/stdlib.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/stdlib.h
new file mode 100644
index 000000000000..917a17700f70
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/stdlib.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party brotli.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <BrotliDecUefiSupport.h>
diff --git a/MdeModulePkg/Library/BrotliCustomDecompressLib/string.h b/MdeModulePkg/Library/BrotliCustomDecompressLib/string.h
new file mode 100644
index 000000000000..917a17700f70
--- /dev/null
+++ b/MdeModulePkg/Library/BrotliCustomDecompressLib/string.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party brotli.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <BrotliDecUefiSupport.h>
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 91a3c608231c..2760a0914875 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -24,6 +24,8 @@ [Defines]
[Includes]
Include
+[Includes.Common.Private]
+ Library/BrotliCustomDecompressLib/brotli/c/include
[LibraryClasses]
## @libraryclass Defines a set of methods to reset whole system.
diff --git a/Readme.md b/Readme.md
index 594f16b20756..4a4775db85fd 100644
--- a/Readme.md
+++ b/Readme.md
@@ -58,7 +58,7 @@ The majority of the content in the EDK II open source project uses a
[BSD-2-Clause Plus Patent License](License.txt). The EDK II open source project
contains the following components that are covered by additional licenses:
* [BaseTools/Source/C/BrotliCompress](BaseTools/Source/C/BrotliCompress/LICENSE)
-* [MdeModulePkg/Library/BrotliCustomDecompressLib](MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE)
+* [MdeModulePkg/Library/BrotliCustomDecompressLib/brotli](https://github.com/google/brotli/blob/master/LICENSE)
* [BaseTools/Source/C/LzmaCompress](BaseTools/Source/C/LzmaCompress/LZMA-SDK-README.txt)
* [MdeModulePkg/Library/LzmaCustomDecompressLib](MdeModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt)
* [IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk](IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt)
@@ -199,6 +199,7 @@ as possible as we can. Currently EDK II contains the following submodules
- CryptoPkg/Library/OpensslLib/openssl
- ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
+- MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
ArmSoftFloatLib is actually required by OpensslLib. It's inevitable
in openssl-1.1.1 (since stable201905) for floating point parameter
--
2.18.0.windows.1
next prev parent reply other threads:[~2020-03-02 3:20 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-02 3:19 [PATCH 0/2] Use submodule way to access brotli Zhang, Shenglei
2020-03-02 3:19 ` Zhang, Shenglei [this message]
2020-03-02 3:19 ` [PATCH 2/2] BaseTools: Make brotli a submodule Zhang, Shenglei
2020-03-05 8:03 ` Bob Feng
[not found] ` <15F959C75C03A288.12001@groups.io>
2020-03-05 8:28 ` [edk2-devel] " Bob Feng
2020-03-09 5:30 ` Zhang, Shenglei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200302031944.13544-2-shenglei.zhang@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox