aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorZoltan Szabadka <szabadka@google.com>2016-08-02 13:27:29 +0200
committerZoltan Szabadka <szabadka@google.com>2016-08-02 13:27:29 +0200
commitaf1768478a01441c4ac1c67a253395c4bcad4765 (patch)
tree1e1b474a83ae157e4999ffe906ed345a538c276f /docs
parent24685f9bf3b9366e084b3885146a26fca6fd0d30 (diff)
downloadbrotli-af1768478a01441c4ac1c67a253395c4bcad4765.zip
brotli-af1768478a01441c4ac1c67a253395c4bcad4765.tar.gz
brotli-af1768478a01441c4ac1c67a253395c4bcad4765.tar.bz2
Update the spec reference to RFC 7932, remove the old internet draft.
Diffstat (limited to 'docs')
-rw-r--r--docs/draft-alakuijala-brotli-11.nroff6122
-rw-r--r--docs/draft-alakuijala-brotli-11.txt6947
2 files changed, 0 insertions, 13069 deletions
diff --git a/docs/draft-alakuijala-brotli-11.nroff b/docs/draft-alakuijala-brotli-11.nroff
deleted file mode 100644
index c3aa3e2..0000000
--- a/docs/draft-alakuijala-brotli-11.nroff
+++ /dev/null
@@ -1,6122 +0,0 @@
-.pl 10.0i
-.po 0
-.ll 7.2i
-.lt 7.2i
-.nr LL 7.2i
-.nr LT 7.2i
-.ds LF Alakuijala & Szabadka
-.ds RF FORMFEED[Page %]
-.ds LH Internet-Draft
-.ds RH May 2016
-.ds CH Brotli
-.ds CF Expires November 24, 2016
-.hy 0
-.nh
-.ad l
-.in 0
-.nf
-.tl 'Network Working Group''J. Alakuijala'
-.tl 'Internet-Draft''Z. Szabadka'
-.tl 'Intended Status: Informational''Google, Inc'
-.tl 'Expires: November 24, 2016''May 2016'
-.fi
-
-
-.ce 2
-Brotli Compressed Data Format
-draft-alakuijala-brotli-11
-.fi
-.in 3
-
-.ti 0
-Abstract
-
-This specification defines a lossless compressed data format that
-compresses data using a combination of the LZ77 algorithm and Huffman
-coding, with efficiency comparable to the best currently available
-general-purpose compression methods.
-
-.ti 0
-Status of this Memo
-
-This Internet-Draft is submitted in full conformance with the
-provisions of BCP 78 and BCP 79.
-
-Internet-Drafts are working documents of the Internet Engineering
-Task Force (IETF). Note that other groups may also distribute
-working documents as Internet-Drafts. The list of current Internet-
-Drafts is at http://datatracker.ietf.org/drafts/current/.
-
-Internet-Drafts are draft documents valid for a maximum of six months
-and may be updated, replaced, or obsoleted by other documents at any
-time. It is inappropriate to use Internet-Drafts as reference
-material or to cite them other than as "work in progress."
-
-This Internet-Draft will expire on November 24, 2016.
-
-.ti 0
-Copyright Notice
-
-Copyright (c) 2016 IETF Trust and the persons identified as the document
-authors. All rights reserved.
-
-This document is subject to BCP 78 and the IETF Trust's Legal
-Provisions Relating to IETF Documents
-(http://trustee.ietf.org/license-info) in effect on the date of
-publication of this document. Please review these documents
-carefully, as they describe your rights and restrictions with respect
-to this document. Code Components extracted from this document must
-include Simplified BSD License text as described in Section 4.e of
-the Trust Legal Provisions and are provided without warranty as
-described in the Simplified BSD License.
-
-.ti 0
-Table of Contents
-
-.in 0
-.nf
-INSERT_TOC_HERE
-.fi
-.in 3
-
-.bp
-.ti 0
-1. Introduction
-
-.ti 0
-1.1. Purpose
-
-The purpose of this specification is to define a lossless
-compressed data format that:
-
-.nf
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
- * Can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a
- priori bounded amount of intermediate storage, and hence
- can be used in data communications or similar structures,
- such as Unix filters;
- * Compresses data with a compression ratio comparable to the
- best currently available general-purpose compression methods,
- and in particular, considerably better than the gzip program;
- * Decompresses much faster than current LZMA implementations.
-.fi
-
-The data format defined by this specification does not attempt to:
-
-.nf
- * Allow random access to compressed data;
- * Compress specialized data (e.g., raster graphics) as well
- as the best currently available specialized algorithms.
-.fi
-
-This document is the authoritative specification of the brotli
-compressed data format. It defines the set of valid brotli
-compressed data streams and a decoder algorithm that produces the
-uncompressed data stream from a valid brotli compressed data stream.
-
-.ti 0
-1.2. Intended audience
-
-This specification is intended for use by software implementers
-to compress data into and/or decompress data from the brotli format.
-
-The text of the specification assumes a basic background in
-programming at the level of bits and other primitive data
-representations. Familiarity with the technique of Huffman coding
-is helpful but not required.
-
-This specification uses heavily the notations and terminology
-introduced in the DEFLATE format specification [RFC 1951].
-For the sake of completeness, we always
-include the whole text of the relevant parts of RFC 1951,
-therefore familiarity with the DEFLATE format is helpful but not
-required.
-
-The compressed data format defined in this specification is
-an integral part of the WOFF 2.0 web font file format [WOFF2],
-therefore this specification is also intended for implementers of
-WOFF 2.0 compressors and decompressors.
-
-.ti 0
-1.3. Scope
-
-The specification specifies a method for representing a sequence
-of bytes as a (usually shorter) sequence of bits, and a method for
-packing the latter bit sequence into bytes.
-
-.ti 0
-1.4. Compliance
-
-Unless otherwise indicated below, a compliant decompressor must be
-able to accept and decompress any data set that conforms to all
-the specifications presented here. A compliant compressor must
-produce data sets that conform to all the specifications presented
-here.
-
-.ti 0
-1.5. Definitions of terms and conventions used
-
-Byte: 8 bits stored or transmitted as a unit (same as an octet).
-For this specification, a byte is exactly 8 bits, even on machines
-that store a character on a number of bits different from eight.
-See below for the numbering of bits within a byte.
-
-String: a sequence of arbitrary bytes.
-
-Bytes stored within a computer do not have a "bit order", since
-they are always treated as a unit. However, a byte considered as
-an integer between 0 and 255 does have a most- and
-least-significant bit, and since we write numbers with the
-most-significant digit on the left, we also write bytes with the
-most-significant bit on the left. In the diagrams below, we number
-the bits of a byte so that bit 0 is the least-significant bit, i.e.,
-the bits are numbered:
-
-.nf
-.KS
- +--------+
- |76543210|
- +--------+
-.KE
-.fi
-
-Within a computer, a number may occupy multiple bytes. All
-multi-byte numbers in the format described here are stored with
-the least-significant byte first (at the lower memory address).
-For example, the decimal number 520 is stored as:
-
-.nf
-.KS
- 0 1
- +--------+--------+
- |00001000|00000010|
- +--------+--------+
- ^ ^
- | |
- | + more significant byte = 2 x 256
- + less significant byte = 8
-.KE
-.fi
-
-.ti 0
-1.5.1. Packing into bytes
-
-This document does not address the issue of the order in which
-bits of a byte are transmitted on a bit-sequential medium,
-since the final data format described here is byte- rather than
-bit-oriented. However, we describe the compressed block format
-below as a sequence of data elements of various bit
-lengths, not a sequence of bytes. We must therefore specify
-how to pack these data elements into bytes to form the final
-compressed byte sequence:
-
-.nf
- * Data elements are packed into bytes in order of
- increasing bit number within the byte, i.e., starting
- with the least-significant bit of the byte.
- * Data elements other than prefix codes are packed
- starting with the least-significant bit of the data
- element. These are referred to here as integer values
- and are considered unsigned.
- * Prefix codes are packed starting with the most-significant
- bit of the code.
-.fi
-
-In other words, if one were to print out the compressed data as
-a sequence of bytes, starting with the first byte at the
-*right* margin and proceeding to the *left*, with the
-most-significant bit of each byte on the left as usual, one would
-be able to parse the result from right to left, with fixed-width
-elements in the correct msb-to-lsb order and prefix codes in
-bit-reversed order (i.e., with the first bit of the code in the
-relative lsb position).
-
-As an example, consider packing the following data elements into
-a sequence of 3 bytes: 3-bit integer value 6, 4-bit integer value 2,
-prefix code 110, prefix code 10, 12-bit integer value 3628.
-
-.nf
-.KS
- byte 2 byte 1 byte 0
- +--------+--------+--------+
- |11100010|11000101|10010110|
- +--------+--------+--------+
- ^ ^ ^ ^ ^
- | | | | |
- | | | | +------ integer value 6
- | | | +---------- integer value 2
- | | +-------------- prefix code 110
- | +---------------- prefix code 10
- +----------------------------- integer value 3628
-.KE
-.fi
-
-.ti 0
-2. Compressed representation overview
-
-A compressed data set consists of a header and a series of
-meta-blocks. Each meta-block decompresses to a sequence of 0
-to 16,777,216 (16 MiB) uncompressed bytes. The final uncompressed data is
-the concatenation of the uncompressed sequences from each meta-block.
-
-The header contains the size of the sliding window that was used during compression.
-The decompressor must retain at least that amount of uncompressed data prior to the
-current position in the stream, in order to be able to decompress
-what follows. The sliding window size is a power of two, minus 16, where
-the power is in the range of 10 to 24. The possible sliding window
-sizes range from 1 KiB - 16 B to 16 MiB - 16 B.
-
-Each meta-block is compressed using a combination of the LZ77
-algorithm (Lempel-Ziv 1977, [LZ77]) and Huffman coding. The
-result of Huffman coding is referred to here as a prefix code.
-The prefix codes for each meta-block are independent of
-those for previous or subsequent meta-blocks; the LZ77 algorithm may
-use a reference to a duplicated string occurring in a previous
-meta-block, up to the sliding window size of uncompressed bytes before.
-In addition, in the brotli format, a string reference may instead refer
-to a static dictionary entry.
-
-Each meta-block consists of two parts: a meta-block header that
-describes the representation of the compressed data part, and a
-compressed data part. The compressed data consists of a series of
-commands. Each command consists of two parts: a sequence of literal
-bytes (of strings that have not been detected as duplicated within
-the sliding window), and a pointer to a duplicated string,
-represented as a pair <length, backward distance>. There can be
-zero literal bytes in the command. The minimum length of the string to be
-duplicated is two, but the last command in the meta-block is permitted to have
-only literals and no pointer to a string to duplicate.
-
-Each command in the compressed data is represented using three categories
-of prefix codes:
-
-.nf
- 1) One set of prefix codes are for the literal sequence lengths
- (also referred to as literal insertion lengths) and
- backward copy lengths. That is, a single code word represents
- two lengths, one of the literal sequence and one of the
- backward copy.
-
- 2) One set of prefix codes are for literals.
-
- 3) One set of prefix codes are for distances.
-.fi
-
-The prefix code descriptions for each meta-block appear in a compact
-form just before the compressed data in the meta-block header.
-The insert-and-copy length and distance prefix codes may be followed by
-extra bits that are added to the base values determined by the codes.
-The number of extra bits is determined by the code.
-
-One meta-block command then appears as a sequence of prefix codes:
-
-.nf
- Insert-and-copy length, literal, literal, ..., literal, distance
-.fi
-
-where the insert-and-copy defines an insertion length and a copy length.
-The insertion length determines the number of literals that immediately
-follow. The distance defines how far back to go for the copy and the
-copy length determines the number of bytes to copy. The resulting
-uncompressed data is the sequence of bytes:
-
-.nf
- literal, literal, ..., literal, copy, copy, ..., copy
-.fi
-
-where the number of literal bytes and copy bytes are determined by the
-insert-and-copy length code. (The number of bytes copied for a static
-dictionary entry can vary from the copy length.)
-
-The last command in the meta-block may end with the last literal if the
-total uncompressed length of the meta-block has been satisfied. In
-that case there is no distance in the last command, and the copy length is
-ignored.
-
-There can be more than one prefix code for each category, where the
-prefix code to use for the next element of that category is determined
-by the context of the compressed stream that precedes that element.
-Part of that context is three current block types, one for each
-category. A block type is in the range of 0..255. For each category
-there is a count of how many elements of that category remain to be
-decoded using the current block type. Once that count is expended,
-a new block type and block count is read from the stream immediately
-preceding the next element of that category, which will use the new
-block type.
-
-The insert-and-copy block type directly determines which prefix code to
-use for the next insert-and-copy element. For the literal and distance
-elements, the respective block type is used in combination with other
-context information to determine which prefix code to use for the next
-element.
-
-Consider the following example:
-
-.nf
- (IaC0, L0, L1, L2, D0)(IaC1, D1)(IaC2, L3, L4, D2)(IaC3, L5, D3)
-.fi
-
-The meta-block here has four commands, contained in parentheses for clarity,
-where each of the three categories of
-symbols within these commands can be interpreted using different block types.
-Here we separate out each category as its own sequence to show an example of block
-types assigned to those elements. Each square-bracketed group is a block that
-uses the same block type:
-
-.nf
- [IaC0, IaC1][IaC2, IaC3] <-- insert-and-copy: block types 0 and 1
-
- [L0, L1][L2, L3, L4][L5] <-- literals: block types 0, 1, and 0
-
- [D0][D1, D2, D3] <-- distances: block types 0 and 1
-.fi
-
-The subsequent blocks within each block category must have different
-block types, but we see that block types can be reused later in the meta-block.
-The block types are numbered from 0 to the maximum
-block type number of 255 and the first block of each block category
-is type 0. The block structure of a meta-block is represented
-by the sequence of block-switch commands for each block category,
-where a block-switch command is a pair <block type, block count>.
-The block-switch commands are represented in the compressed data
-before the start of each new block using a prefix code for
-block types and a separate prefix code for block counts for
-each block category. For the above example the physical layout of the
-meta-block is then:
-
-.nf
- IaC0 L0 L1 LBlockSwitch(1, 3) L2 D0 IaC1 DBlockSwitch(1, 3) D1
- IaCBlockSwitch(1, 2) IaC2 L3 L4 D2 IaC3 LBlockSwitch(0, 1) L5 D3
-.fi
-
-where xBlockSwitch(t, n) switches to block type t for a count of n elements.
-Note that in this example DBlockSwitch(1, 3) immediately precedes the
-next required distance D1. It does not follow the last distance of
-the previous block, D0. Whenever an element of a category is needed,
-and the block count for that category has reached zero, then a new
-block type and count is read from the stream just before reading that next
-element.
-
-The block-switch commands for the first blocks of each category are not part
-of the meta-block compressed data. Instead the first block type
-is defined to be 0, and the first block count for each category is
-encoded in the meta-block header. The prefix codes for the block types and counts, a total of
-six prefix codes over the three categories, are defined in a compact form in the meta-block
-header.
-
-Each category of value (insert-and-copy lengths, literals, and distances)
-can be encoded with any prefix code from a collection of prefix
-codes belonging to the same category appearing in the meta-block header. The
-particular prefix code used can depend on two factors: the block
-type of the block the value appears in, and the context of the value.
-In the case of the literals, the context is the previous two bytes in
-the uncompressed data, and in the case of distances, the context is the copy
-length from the same command. For insert-and-copy lengths, no context
-is used and the prefix code depends only on the block type. In the case
-of literals and distances, the context is mapped to a context ID in
-the range 0..63 for literals and 0..3 for distances. The matrix
-of the prefix code indexes for each block type and context ID,
-called the context map, is encoded in a compact form in the meta-block header.
-
-For example, the prefix code to use to decode L2 depends on the
-block type (1), and the literal context ID determined by the two uncompressed
-bytes that were decoded from L0 and L1.
-Similarly, the prefix code to use to decode D0 depends on the block
-type (0), and the distance context ID determined by the copy length decoded
-from IaC0. The prefix code to use to decode IaC3 depends only on the block
-type (1).
-
-In addition to the parts listed above (prefix code for insert-and-copy
-lengths, literals, distances, block types and block counts,
-and the context map), the meta-block header contains the number of
-uncompressed bytes coded in the meta-block and two additional parameters used in
-the representation of match distances: the number of postfix bits and
-the number of direct distance codes.
-
-A compressed meta-block may be marked in the header as the last meta-block,
-which terminates the compressed stream.
-
-A meta-block may instead simply store the uncompressed data directly as
-bytes on byte boundaries with no coding or matching strings. In this
-case the meta-block header information only contains the number of
-uncompressed bytes and the indication that the meta-block is uncompressed.
-An uncompressed meta-block cannot be the last meta-block.
-
-A meta-block may also be empty, which generates no uncompressed data at all.
-An empty meta-block may contain metadata information as bytes starting on byte
-boundaries, which are not part of either the sliding window or the uncompressed
-data. Thus, these metadata bytes cannot be used to create matching strings in
-subsequent meta-blocks and are not used as context bytes for literals.
-
-.ti 0
-3. Compressed representation of prefix codes
-
-.ti 0
-3.1. Introduction to prefix coding
-
-Prefix coding represents symbols from an a priori known alphabet
-by bit sequences (codes), one code for each symbol, in a manner
-such that different symbols may be represented by bit sequences of
-different lengths, but a parser can always parse an encoded string
-unambiguously symbol-by-symbol.
-
-We define a prefix code in terms of a binary tree in which the two
-edges descending from each non-leaf node are labeled 0 and 1 and
-in which the leaf nodes correspond one-for-one with (are labeled
-with) the symbols of the alphabet; then the code for a symbol is
-the sequence of 0's and 1's on the edges leading from the root to
-the leaf labeled with that symbol. For example:
-
-.nf
-.KS
- /\\ Symbol Code
- 0 1 ------ ----
- / \\ A 00
- /\\ B B 1
- 0 1 C 011
- / \\ D 010
- A /\\
- 0 1
- / \\
- D C
-.KE
-.fi
-
-A parser can decode the next symbol from the compressed stream
-by walking down the tree from the root, at each step choosing the
-edge corresponding to the next compressed data bit.
-
-Given an alphabet with known symbol frequencies, the Huffman
-algorithm allows the construction of an optimal prefix code (one
-which represents strings with those symbol frequencies using the
-fewest bits of any possible prefix codes for that alphabet). Such
-a prefix code is called a Huffman code. (See [HUFFMAN] in Chapter 5,
-references for additional information on Huffman codes.)
-
-Note that in the brotli format, the prefix codes for the
-various alphabets must not exceed certain maximum code lengths.
-This constraint complicates the algorithm for computing code
-lengths from symbol frequencies. Again, see Chapter 5, references
-for details.
-
-.ti 0
-3.2. Use of prefix coding in the brotli format
-
-The prefix codes used for each alphabet in the brotli format
-are canonical prefix codes, which have two additional rules:
-
-.nf
- * All codes of a given bit length have lexicographically
- consecutive values, in the same order as the symbols they
- represent;
-
- * Shorter codes lexicographically precede longer codes.
-.fi
-
-We could recode the example above to follow this rule as follows,
-assuming that the order of the alphabet is ABCD:
-
-.nf
-.KS
- Symbol Code
- ------ ----
- A 10
- B 0
- C 110
- D 111
-.KE
-.fi
-
-I.e., 0 precedes 10, which precedes 11x, and 110 and 111 are
-lexicographically consecutive.
-
-Given this rule, we can define the canonical prefix code for an
-alphabet just by giving the bit lengths of the codes for each
-symbol of the alphabet in order; this is sufficient to determine
-the actual codes. In our example, the code is completely defined
-by the sequence of bit lengths (2, 1, 3, 3). The following
-algorithm generates the codes as integers, intended to be read
-from most- to least-significant bit. The code lengths are
-initially in tree[I].Len; the codes are produced in tree[I].Code.
-
-.nf
- 1) Count the number of codes for each code length. Let
- bl_count[N] be the number of codes of length N, N >= 1.
-
- 2) Find the numerical value of the smallest code for each
- code length:
-
-.KS
- code = 0;
- bl_count[0] = 0;
- for (bits = 1; bits <= MAX_BITS; bits++) {
- code = (code + bl_count[bits-1]) << 1;
- next_code[bits] = code;
- }
-.KE
-
- 3) Assign numerical values to all codes, using consecutive
- values for all codes of the same length with the base
- values determined at step 2. Codes that are never used
- (which have a bit length of zero) must not be assigned a
- value.
-
-.KS
- for (n = 0; n <= max_code; n++) {
- len = tree[n].Len;
- if (len != 0) {
- tree[n].Code = next_code[len];
- next_code[len]++;
- }
- }
-.KE
-.fi
-
-Example:
-
-Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3, 3,
-2, 4, 4). After step 1, we have:
-
-.nf
-.KS
- N bl_count[N]
- - -----------
- 2 1
- 3 5
- 4 2
-.KE
-.fi
-
-Step 2 computes the following next_code values:
-
-.nf
-.KS
- N next_code[N]
- - ------------
- 1 0
- 2 0
- 3 2
- 4 14
-.KE
-.fi
-
-Step 3 produces the following code values:
-
-.nf
-.KS
- Symbol Length Code
- ------ ------ ----
- A 3 010
- B 3 011
- C 3 100
- D 3 101
- E 3 110
- F 2 00
- G 4 1110
- H 4 1111
-.KE
-.fi
-
-.ti 0
-3.3. Alphabet sizes
-
-Prefix codes are used for different purposes in the brotli
-format, and each purpose has a different alphabet size. For
-literal codes the alphabet size is 256. For insert-and-copy
-length codes the alphabet size is 704. For block count codes,
-the alphabet size is 26. For distance codes, block type codes, and
-the prefix codes used in compressing the context map, the
-alphabet size is dynamic and is based on parameters defined in
-later sections. The following table summarizes the alphabet sizes
-for the various prefix codes and the sections where they are defined.
-
-.nf
-.KS
- +-----------------+-------------------------+------------+
- | Prefix code | Alphabet size | Definition |
- +-----------------+-------------------------+------------+
- | literal | 256 | |
- +-----------------+-------------------------+------------+
- | distance | 16 + NDIRECT + | Section 4. |
- | | (48 << NPOSTFIX) | |
- +-----------------+-------------------------+------------+
- | insert-and-copy | 704 | Section 5. |
- | length | | |
- +-----------------+-------------------------+------------+
- | block count | 26 | Section 6. |
- +-----------------+-------------------------+------------+
- | block type | NBLTYPESx + 2, | Section 6. |
- | | (where x is I, L, or D) | |
- +-----------------+-------------------------+------------+
- | context map | NTREESx + RLEMAXx | Section 7. |
- | | (where x is L or D) | |
- +-----------------+-------------------------+------------+
-.KE
-.fi
-
-.ti 0
-3.4. Simple prefix codes
-
-The first two bits of the compressed representation of each
-prefix code distinguish between simple and complex prefix
-codes. If this value is 1, then a simple prefix code follows
-as described in this section. Otherwise, a complex prefix code
-follows as described in Section 3.5.
-
-A simple prefix code can have only up to four symbols with
-non-zero code length. The format of the simple prefix code is as
-follows:
-
-.nf
- 2 bits: value of 1 indicates a simple prefix code
- 2 bits: NSYM - 1, where NSYM = # of symbols coded
-
- NSYM symbols, each encoded using ALPHABET_BITS bits
-
- 1 bit: tree-select, present only for NSYM = 4
-.fi
-
-The value of ALPHABET_BITS depends on the alphabet of the prefix
-code: it is the smallest number of bits that can represent all
-symbols in the alphabet. E.g. for the alphabet of literal bytes,
-ALPHABET_BITS is 8. The value of each of the NSYM symbols above is
-the value of the ALPHABETS_BITS width integer value. If the integer
-value is greater than or equal to the alphabet size, or the value
-is identical to a previous value, then the stream should be rejected
-as invalid.
-
-Note that the NSYM symbols may not be presented in sorted order. Prefix codes
-of the same bit length must be assigned to the symbols in sorted order.
-
-The (non-zero) code lengths of the symbols can be reconstructed as
-follows:
-
-.nf
- * if NSYM = 1, the code length for the one symbol is zero --
- when encoding this symbol in the
- compressed data stream using this prefix code, no
- actual bits are emitted. Similarly, when decoding a symbol
- using this prefix code, no bits are read and the one symbol
- is returned.
-
- * if NSYM = 2, both symbols have code length 1.
-
- * if NSYM = 3, the code lengths for the symbols are 1, 2, 2 in
- the order they appear in the representation of the simple
- prefix code.
-
- * if NSYM = 4, the code lengths (in order of symbols decoded)
- depend on the tree-select bit: 2, 2, 2, 2 (tree-select bit 0),
- or 1, 2, 3, 3 (tree-select bit 1).
-.fi
-
-.ti 0
-3.5. Complex prefix codes
-
-A complex prefix code is a canonical prefix code, defined by the
-sequence of code lengths, as discussed in Section 3.2., above.
-For even greater compactness, the code length sequences themselves
-are compressed using a prefix code. The alphabet for code lengths
-is as follows:
-
-.nf
- 0..15: Represent code lengths of 0..15
- 16: Copy the previous non-zero code length 3..6 times
- The next 2 bits indicate repeat length
- (0 = 3, ... , 3 = 6)
- If this is the first code length, or all previous
- code lengths are zero, a code length of 8 is
- repeated 3..6 times
- A repeated code length code of 16 modifies the
- repeat count of the previous one as follows:
- repeat count = (4 * (repeat count - 2)) +
- (3..6 on the next 2 bits)
- Example: Codes 7, 16 (+2 bits 11), 16 (+2 bits 10)
- will expand to 22 code lengths of 7
- (1 + 4 * (6 - 2) + 5)
- 17: Repeat a code length of 0 for 3..10 times.
- (3 bits of length)
- A repeated code length code of 17 modifies the
- repeat count of the previous one as follows:
- repeat count = (8 * (repeat count - 2)) +
- (3..10 on the next 3 bits)
-.fi
-
-Note that a code of 16 that follows an immediately preceding 16 modifies the
-previous repeat count, which becomes the new repeat count. The same is true for
-a 17 following a 17. A sequence of three or more 16 codes in a row or three of
-more 17 codes in a row is possible, modifying the count each time. Only the
-final repeat count is used. The modification only applies if the same code
-follows. A 16 repeat does not modify an immediately preceding 17 count nor
-vice versa.
-
-A code length of 0 indicates that the corresponding symbol in the
-alphabet will not occur in the compressed data, and should not
-participate in the prefix code construction algorithm given
-earlier. A complex prefix code must have at least two non-zero
-code lengths.
-
-The bit lengths of the prefix code over the code length alphabet
-are compressed with the following variable length code (as it appears
-in the compressed data, where the bits are parsed from right to left):
-
-.nf
-.KS
- Symbol Code
- ------ ----
- 0 00
- 1 0111
- 2 011
- 3 10
- 4 01
- 5 1111
-.KE
-.fi
-
-We can now define the format of the complex prefix code as follows:
-
-.nf
- 2 bits: HSKIP, values of 0, 2, or 3 represent the respective
- number of skipped code lengths. The skipped lengths
- are taken to be zero. (An HSKIP of 1 indicates a
- Simple prefix code.)
-
- Code lengths for symbols in the code length alphabet given
- just above, in the order: 1, 2, 3, 4, 0, 5, 17, 6, 16, 7,
- 8, 9, 10, 11, 12, 13, 14, 15. If HSKIP is 2, then the
- code lengths for symbols 1 and 2 are zero, and the first
- code length is for symbol 3. If HSKIP is 3, then the code
- length for symbol 3 is also zero, and the first code length
- is for symbol 4.
-
- The code lengths of code length symbols are between 0 and
- 5, and they are represented with 2..4 bits according to
- the variable length code above. A code length of 0 means
- the corresponding code length symbol is not used.
-
- If HSKIP is 2 or 3, a respective number of leading code
- lengths are implicit zeros and are not present in the
- code lengths sequence above.
-
- If there are at least two non-zero code lengths, any
- trailing zero code lengths are omitted, i.e. the last
- code length in the sequence must be non-zero. In this
- case, the sum of (32 >> code length) over all the non-zero
- code lengths must equal to 32.
-
- If the lengths have been read for the entire code length
- alphabet and there was only one non-zero code length,
- then the prefix code has one symbol whose code has zero
- length. In this case, that symbol results in no bits
- being emitted by the compressor, and no bits consumed by
- the decompressor. That single symbol is immediately
- returned when this code is decoded.
- An example of where this occurs is if the
- entire code to be represented has symbols of length 8.
- E.g. a literal code that represents all literal values
- with equal probability. In this case the single symbol
- is 16, which repeats the previous length. The previous
- length is taken to be 8 before any code length code
- lengths are read.
-
- Sequence of at most alphabet size code lengths symbols, encoded
- using the code length prefix code. Any trailing 0 or 17 must be
- omitted, i.e. the last encoded code length symbol must be
- between 1 and 16. The sum of (32768 >> code length) over
- all the non-zero code lengths in the alphabet, including
- those encoded using repeat code(s) of 16, must equal to
- 32768. If the number of times to repeat the previous length
- or repeat a zero length would result in more lengths in
- total than the number of symbols in the alphabet, then the
- stream should be rejected as invalid.
-.fi
-
-.ti 0
-4. Encoding of distances
-
-As described in Section 2., one component of a compressed meta-block
-is a sequence of backward distances. In this section we provide the
-details to the encoding of distances.
-
-Each distance in the compressed data part of a meta-block is
-represented with a pair <distance code, extra bits>. The distance
-code and the extra bits are encoded back-to-back, the distance code
-is encoded using a prefix code over the distance alphabet,
-while the extra bits value is encoded as a fixed-width integer
-value. The number of extra bits can be 0..24, and it is dependent
-on the distance code.
-
-To convert a distance code and associated extra bits to a backward
-distance, we need the sequence of past distances and two additional
-parameters, the number of "postfix bits", denoted by NPOSTFIX (0..3), and
-the number of direct distance codes, denoted by NDIRECT (0..120). Both of
-these parameters are encoded in the meta-block header. We will also
-use the following derived parameter:
-
-.nf
- POSTFIX_MASK = (1 << NPOSTFIX) - 1
-.fi
-
-The first 16 distance symbols are special symbols that reference
-past distances as follows:
-
-.nf
- 0: last distance
- 1: second-to-last distance
- 2: third-to-last distance
- 3: fourth-to-last distance
- 4: last distance - 1
- 5: last distance + 1
- 6: last distance - 2
- 7: last distance + 2
- 8: last distance - 3
- 9: last distance + 3
- 10: second-to-last distance - 1
- 11: second-to-last distance + 1
- 12: second-to-last distance - 2
- 13: second-to-last distance + 2
- 14: second-to-last distance - 3
- 15: second-to-last distance + 3
-.fi
-
-The ring buffer of four last distances is initialized by the values
-16, 15, 11, and 4 (i.e. the fourth-to-last is set to 16, the third-to-last
-to 15, the second-to-last to 11, and the last distance to 4) at the
-beginning of the *stream* (as opposed to the beginning of the meta-block)
-and it is not reset at meta-block boundaries. When a distance
-symbol 0 appears, the distance it represents (i.e. the last distance
-in the sequence of distances) is not pushed to the ring buffer of
-last distances, in other words, the expression "(second, third,
-fourth)-to-last distance" means the (second, third, fourth)-to-last
-distance that was not represented by a 0 distance symbol. Similarly,
-distances that represent static dictionary words (see Section 8.) are
-not pushed to the ring buffer of last distances.
-
-If a special distance symbol resolves to a zero or negative value, the
-stream should be rejected as invalid.
-
-If NDIRECT is greater than zero, then the next NDIRECT distance symbols,
-from 16 to 15 + NDIRECT, represent distances from 1 to NDIRECT.
-Neither the special distance symbols, nor the NDIRECT direct distance
-symbols are followed by any extra bits.
-
-Distance symbols 16 + NDIRECT and greater all have extra bits, where the
-number of extra bits for a distance symbol "dcode" is given by the
-following formula:
-
-.nf
- ndistbits = 1 + ((dcode - NDIRECT - 16) >> (NPOSTFIX + 1))
-.fi
-
-The maximum number of extra bits is 24, therefore the size of the
-distance symbol alphabet is (16 + NDIRECT + (48 << NPOSTFIX)).
-
-Given a distance symbol "dcode" (>= 16 + NDIRECT), and extra bits
-"dextra", the backward distance is given by the following formula:
-
-.nf
- hcode = (dcode - NDIRECT - 16) >> NPOSTFIX
- lcode = (dcode - NDIRECT - 16) & POSTFIX_MASK
- offset = ((2 + (hcode & 1)) << ndistbits) - 4
- distance = ((offset + dextra) << NPOSTFIX) + lcode + NDIRECT + 1
-.fi
-
-.ti 0
-5. Encoding of literal insertion lengths and copy lengths
-
-As described in Section 2., the literal insertion lengths and backward
-copy lengths are encoded using a single prefix code. This section
-provides the details to this encoding.
-
-Each <insertion length, copy length> pair in the compressed data part
-of a meta-block is represented with the following triplet:
-
-.nf
- <insert-and-copy length code, insert extra bits, copy extra bits>
-.fi
-
-The insert-and-copy length code, the insert extra bits, and the copy
-extra bits are encoded back-to-back, the insert-and-copy length code
-is encoded using a prefix code over the insert-and-copy length code
-alphabet, while the extra bits values are encoded as fixed-width
-integer values. The number of insert and copy extra bits can be
-0..24, and they are dependent on the insert-and-copy length code.
-
-Some of the insert-and-copy length codes also express the fact that
-the distance symbol of the distance in the same command is 0, i.e. the
-distance component of the command is the same as that of the previous
-command. In this case, the distance code and extra bits for the
-distance are omitted from the compressed data stream.
-
-We describe the insert-and-copy length code alphabet in terms of the
-(not directly used) insert length code and copy length code
-alphabets. The symbols of the insert length code alphabet, along with
-the number of insert extra bits, and the range of the insert lengths
-are as follows:
-
-.nf
-.KS
- Extra Extra Extra
- Code Bits Lengths Code Bits Lengths Code Bits Lengths
- ---- ---- ------- ---- ---- ------- ---- ---- -------
- 0 0 0 8 2 10..13 16 6 130..193
- 1 0 1 9 2 14..17 17 7 194..321
- 2 0 2 10 3 18..25 18 8 322..577
- 3 0 3 11 3 26..33 19 9 578..1089
- 4 0 4 12 4 34..49 20 10 1090..2113
- 5 0 5 13 4 50..65 21 12 2114..6209
- 6 1 6,7 14 5 66..97 22 14 6210..22593
- 7 1 8,9 15 5 98..129 23 24 22594..16799809
-.KE
-.fi
-
-The symbols of the copy length code alphabet, along with the number
-of copy extra bits, and the range of copy lengths are as follows:
-
-.nf
-.KS
- Extra Extra Extra
- Code Bits Lengths Code Bits Lengths Code Bits Lengths
- ---- ---- ------- ---- ---- ------- ---- ---- -------
- 0 0 2 8 1 10,11 16 5 70..101
- 1 0 3 9 1 12,13 17 5 102..133
- 2 0 4 10 2 14..17 18 6 134..197
- 3 0 5 11 2 18..21 19 7 198..325
- 4 0 6 12 3 22..29 20 8 326..581
- 5 0 7 13 3 30..37 21 9 582..1093
- 6 0 8 14 4 38..53 22 10 1094..2117
- 7 0 9 15 4 54..69 23 24 2118..16779333
-.KE
-.fi
-
-To convert an insert-and-copy length code to an insert length code
-and a copy length code, the following table can be used:
-
-.nf
-.KS
- Insert
- length Copy length code
- code 0..7 8..15 16..23
- +----------+----------+
- | | |
- 0..7 | 0..63 | 64..127 | <--- distance symbol 0
- | | |
- +----------+----------+----------+
- | | | |
- 0..7 | 128..191 | 192..255 | 384..447 |
- | | | |
- +----------+----------+----------+
- | | | |
- 8..15 | 256..319 | 320..383 | 512..575 |
- | | | |
- +----------+----------+----------+
- | | | |
- 16..23 | 448..511 | 576..639 | 640..703 |
- | | | |
- +----------+----------+----------+
-.KE
-.fi
-
-First, look up the cell with the 64 value range containing the
-insert-and-copy length code, this gives the insert length code and
-the copy length code ranges, both 8 values long.
-The copy length code within its range is determined by bits 0..2
-(counted from the lsb) of the insert-and-copy length code.
-The insert length code within its range is determined by bits 3..5
-(counted from the lsb) of the insert-and-copy length code.
-Given the insert length and copy length codes, the actual insert
-and copy lengths can be obtained by reading the number of extra
-bits given by the tables above.
-
-If the insert-and-copy length code is between 0 and 127, the distance
-code of the command is set to zero (the last distance reused).
-
-.ti 0
-6. Encoding of block switch commands
-
-As described in Section 2., a block-switch command is a pair
-<block type, block count>. These are encoded in the compressed data
-part of the meta-block, right before the start of each new block of a
-particular block category.
-
-Each block type in the compressed data is represented with a block
-type code, encoded using a prefix code over the block type code
-alphabet. A block type symbol 0 means that the new block type is the same
-as the type of the previous block from the same block category, i.e.
-the block type that preceded the current type,
-while a block type symbol 1 means that the new block type equals the current
-block type plus one. If the current block type is the maximal possible,
-then a block type symbol of 1 results in wrapping to a new block type of 0.
-Block type symbols 2..257
-represent block types 0..255 respectively. The previous and current block types
-are initialized to 1 and 0, respectively, at the end of the
-meta-block header.
-
-Since the first block type of each block category is 0, the block
-type of the first block-switch command is not encoded in
-the compressed data. If a block category has only one block type,
-the block count of the first block-switch command is also omitted from
-the compressed data, otherwise it is encoded in the meta-block header.
-
-Since the end of the meta-block is detected by the number of uncompressed
-bytes produced, the block counts for any of the three categories need not
-count down to exactly zero at the end of the meta-block.
-
-The number of different block types in each block category, denoted
-by NBLTYPESL, NBLTYPESI, and NBLTYPESD for literals, insert-and-copy
-lengths, and distances, respectively, is encoded in the meta-block
-header, and it must equal to the largest block type plus one in that
-block category. In other words, the set of literal, insert-and-copy
-length, and distance block types must be [0..NBLTYPESL-1],
-[0..NBLTYPESI-1], and [0..NBLTYPESD-1], respectively. From this it
-follows that the alphabet size of literal, insert-and-copy length, and
-distance block type codes is NBLTYPESL + 2, NBLTYPESI + 2, and
-NBLTYPESD + 2, respectively.
-
-Each block count in the compressed data is represented with a pair
-<block count code, extra bits>. The block count code and the extra
-bits are encoded back-to-back, the block count code is encoded using
-a prefix code over the block count code alphabet, while the extra
-bits value is encoded as a fixed-width integer value. The number of
-extra bits can be 0..24, and it is dependent on the block count
-code. The symbols of the block count code alphabet, along with the
-number of extra bits, and the range of block counts are as follows:
-
-.nf
-.KS
- Extra Extra Extra
- Code Bits Lengths Code Bits Lengths Code Bits Lengths
- ---- ---- ------- ---- ---- ------- ---- ---- -------
- 0 2 1..4 9 4 65..80 18 7 369..496
- 1 2 5..8 10 4 81..96 19 8 497..752
- 2 2 9..12 11 4 97..112 20 9 753..1264
- 3 2 13..16 12 5 113..144 21 10 1265..2288
- 4 3 17..24 13 5 145..176 22 11 2289..4336
- 5 3 25..32 14 5 177..208 23 12 4337..8432
- 6 3 33..40 15 5 209..240 24 13 8433..16624
- 7 3 41..48 16 6 241..304 25 24 16625..16793840
- 8 4 49..64 17 6 305..368
-.KE
-.fi
-
-The first block-switch command of each block category is special in
-the sense that it is encoded in the meta-block header, and as
-described earlier, the block type code is omitted since it is an
-implicit zero.
-
-.ti 0
-7. Context modeling
-
-As described in Section 2., the prefix tree used to encode a literal
-byte or a distance code depends on the block type and the context ID.
-This section specifies how to compute the context ID for a particular
-literal and distance code, and how to encode the context map that
-maps a <block type, context ID> pair to the index of a prefix
-code in the array of literal and distance prefix codes.
-
-.ti 0
-7.1. Context modes and context ID lookup for literals
-
-The context for encoding the next literal is defined by the last
-two bytes in the stream (p1, p2, where p1 is the most recent
-byte), regardless of whether these bytes are produced by
-uncompressed meta-blocks, backward references, static dictionary
-references, or by literal insertions. At the start of the stream
-p1 and p2 are initialized to zero.
-
-There are four methods, called context modes, to compute the
-Context ID:
-
-.nf
- * LSB6, where the Context ID is the value of six
- least-significant bits of p1,
- * MSB6, where the Context ID is the value of six
- most-significant bits of p1,
- * UTF8, where the Context ID is a complex function of p1, p2,
- optimized for text compression, and
- * Signed, where Context ID is a complex function of p1, p2,
- optimized for compressing sequences of signed integers.
-.fi
-
-The Context ID for the UTF8 and Signed context modes is computed
-using the following lookup tables Lut0, Lut1, and Lut2.
-
-.nf
- Lut0 :=
- 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,
- 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,
- 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
-
- Lut1 :=
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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
-
- Lut2 :=
- 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
-.fi
-
-The lengths and the CRC-32 check values (see Appendix C.)
-of each of these tables as a sequence of bytes are as follows:
-
-.nf
- Table Length CRC-32
- ----- ------ ------
- Lut0 256 0x8e91efb7
- Lut1 256 0xd01a32f4
- Lut2 256 0x0dd7a0d6
-.fi
-
-Given p1 is the last uncompressed byte and p2 is the second-to-last
-uncompressed byte, the context IDs can be computed as follows:
-
-.nf
- For LSB6: Context ID = p1 & 0x3f
- For MSB6: Context ID = p1 >> 2
- For UTF8: Context ID = Lut0[p1] | Lut1[p2]
- For Signed: Context ID = (Lut2[p1] << 3) | Lut2[p2]
-.fi
-
-From the lookup tables defined above and the operations to compute the
-context IDs, we can see that context IDs for literals are in the range
-of 0..63.
-
-The context modes LSB6, MSB6, UTF8, and Signed are denoted by
-integers 0, 1, 2, 3.
-
-A context mode is defined for each literal block type and they
-are stored in a consecutive array of bits in the meta-block
-header, always two bits per block type.
-
-.ti 0
-7.2. Context ID for distances
-
-The context for encoding a distance code is defined by the copy
-length corresponding to the distance. The context IDs are 0, 1, 2,
-and 3 for copy lengths 2, 3, 4, and more than 4, respectively.
-
-.ti 0
-7.3. Encoding of the context map
-
-There are two context maps, one for literals and one for
-distances. The size of the context map is 64 * NBLTYPESL for
-literals, and 4 * NBLTYPESD for distances. Each value in the
-context map is an integer between 0 and 255, indicating the index
-of the prefix code to be used when encoding the next literal or
-distance.
-
-The context maps are two-dimensional matrices, encoded as
-one-dimensional arrays:
-
-.nf
- CMAPL[0..(64 * NBLTYPESL - 1)]
- CMAPD[0..(4 * NBLTYPESD - 1)]
-.fi
-
-The index of the prefix code for encoding a literal or distance
-code with block type, BTYPE_x, and context ID, CIDx, is:
-
-.nf
- index of literal prefix code = CMAPL[64 * BTYPE_L + CIDL]
- index of distance prefix code = CMAPD[4 * BTYPE_D + CIDD]
-.fi
-
-The values of the context map are encoded with the combination
-of run length encoding for zero values and prefix coding. Let
-RLEMAX denote the number of run length codes and NTREES denote the
-maximum value in the context map plus one. NTREES must equal the
-number of different values in the context map, in other words,
-the different values in the context map must be the [0..NTREES-1]
-interval. The alphabet of the prefix code has the following
-RLEMAX + NTREES symbols:
-
-.nf
- 0: value zero
- 1: repeat a zero 2 to 3 times, read 1 bit for repeat length
- 2: repeat a zero 4 to 7 times, read 2 bits for repeat length
- ...
- RLEMAX: repeat a zero (1 << RLEMAX) to (1 << (RLEMAX+1))-1
- times, read RLEMAX bits for repeat length
- RLEMAX + 1: value 1
- ...
- RLEMAX + NTREES - 1: value NTREES - 1
-.fi
-
-If RLEMAX = 0, the run length coding is not used, and the symbols
-of the alphabet are directly the values in the context map. We can
-now define the format of the context map (the same format is used
-for literal and distance context maps):
-
-.nf
- 1..5 bits: RLEMAX, 0 is encoded with one 0 bit, and values
- 1..16 are encoded with bit pattern xxxx1 (so 01001
- is 5)
-
- Prefix code with alphabet size NTREES + RLEMAX
-
- Context map size values encoded with the above prefix code
- and run length coding for zero values. If a run length
- would result in more lengths in total than the size of
- the context map, then the stream should be rejected as
- invalid.
-
- 1 bit: IMTF bit, if set, we do an inverse move-to-front
- transform on the values in the context map to get
- the prefix code indexes
-.fi
-
-Note that RLEMAX may be larger than the value necessary to represent
-the longest sequence of zero values. Also, the NTREES value is encoded
-right before the context map as described in Section 9.2.
-
-We define the inverse move-to-front transform used in this specification
-by the following C language function:
-
-.nf
- void InverseMoveToFrontTransform(uint8_t* v, int v_len) {
- uint8_t mtf[256];
- int i;
- for (i = 0; i < 256; ++i) {
- mtf[i] = (uint8_t)i;
- }
- for (i = 0; i < v_len; ++i) {
- uint8_t index = v[i];
- uint8_t value = mtf[index];
- v[i] = value;
- for (; index; --index) {
- mtf[index] = mtf[index - 1];
- }
- mtf[0] = value;
- }
- }
-.fi
-
-Note that the inverse move-to-front transform will not produce values
-outside the [0..NTREES-1] interval.
-
-.ti 0
-8. Static dictionary
-
-At any given point during decoding the compressed data, a reference
-to a duplicated string in the uncompressed data produced so far has a maximum
-backward distance value, which is the minimum of the window size and
-the number of uncompressed bytes produced. However, decoding a distance
-from the compressed stream, as described in Section 4., can produce
-distances that are greater than this maximum allowed value. In this case,
-the distance is treated as a reference to a word in the static dictionary
-given in Appendix A. The copy length for a static dictionary reference
-must be between 4 and 24. The static dictionary has three parts:
-
-.nf
- * DICT[0..DICTSIZE], an array of bytes
- * DOFFSET[0..24], an array of byte offset values for each length
- * NDBITS[0..24], an array of bit-depth values for each length
-.fi
-
-The number of static dictionary words for a given length is:
-
-.nf
- NWORDS[length] = 0 (if length < 4)
- NWORDS[length] = (1 << NDBITS[length]) (if length >= 4)
-.fi
-
-DOFFSET and DICTSIZE are defined by the following recursion:
-
-.nf
- DOFFSET[0] = 0
- DOFFSET[length + 1] = DOFFSET[length] + length * NWORDS[length]
- DICTSIZE = DOFFSET[24] + 24 * NWORDS[24]
-.fi
-
-The offset of a word within the DICT array for a given length and
-index is:
-
-.nf
- offset(length, index) = DOFFSET[length] + index * length
-.fi
-
-Each static dictionary word has 121 different forms, given by
-applying a word transformation to a base word in the DICT array. The
-list of word transformations is given in Appendix B. The static
-dictionary word for a <length, distance> pair can be reconstructed as
-follows:
-
-.nf
- word_id = distance - (max allowed distance + 1)
- index = word_id % NWORDS[length]
- base_word = DICT[offset(length, index)..offset(length, index+1)-1]
- transform_id = word_id >> NDBITS[length]
-.fi
-
-The string copied to the uncompressed stream is computed by applying the
-transformation to the base dictionary word. If transform_id is
-greater than 120, or the length is smaller than 4 or greater than 24, then
-the compressed stream should be rejected as invalid.
-
-Each word transformation has the following form:
-
-.nf
- transform_i(word) = prefix_i + T_i(word) + suffix_i
-.fi
-
-where the _i subscript denotes the transform_id above. Each T_i
-is one of the following 21 elementary transforms:
-
-.nf
- Identity, FermentFirst, FermentAll,
- OmitFirst1, ..., OmitFirst9, OmitLast1, ..., OmitLast9
-.fi
-
-The form of these elementary transforms is as follows:
-
-.nf
- Identity(word) = word
-
- FermentFirst(word) = see below
-
- FermentAll(word) = see below
-
- OmitFirstk(word) = the last (length(word) - k) bytes of word, or
- empty string if length(word) < k
-
- OmitLastk(word) = the first (length(word) - k) bytes of word, or
- empty string if length(word) < k
-.fi
-
-We define the FermentFirst and FermentAll transforms used in this
-specification by the following C language functions:
-
-.nf
-.KS
- int Ferment(uint8_t* word, int word_len, int pos) {
- if (word[pos] < 192) {
- if (word[pos] >= 97 and word[pos] <= 122) {
- word[pos] = word[pos] ^ 32;
- }
- return 1;
- } else if (word[pos] < 224) {
- if (pos + 1 < word_len) {
- word[pos + 1] = word[pos + 1] ^ 32;
- }
- return 2;
- } else {
- if (pos + 2 < word_len) {
- word[pos + 2] = word[pos + 2] ^ 5;
- }
- return 3;
- }
- }
-.KE
-.fi
-
-.nf
-.KS
- void FermentFirst(uint8_t* word, int word_len) {
- if (word_len > 0) {
- Ferment(word, word_len, 0);
- }
- }
-
- void FermentAll(uint8_t* word, int word_len) {
- int i = 0;
- while (i < word_len) {
- i += Ferment(word, word_len, i);
- }
- }
-.KE
-.fi
-
-Appendix B. contains the list of transformations by specifying the
-prefix, elementary transform and suffix components of each of them.
-Note that the OmitFirst8 elementary transform is not used in the list
-of transformations. The strings in Appendix B. are in C string format
-with respect to escape (backslash) characters.
-
-The maximum number of additional bytes that a transform may add to a
-base word is 13. Since the largest base word is 24 bytes long, a buffer
-of 38 bytes is sufficient to store any transformed words
-(counting a terminating zero byte).
-
-.ti 0
-9. Compressed data format
-
-In this section we describe the format of the compressed data set in
-terms of the format of the individual data items described in the
-previous sections.
-
-.ti 0
-9.1. Format of the stream header
-
-The stream header has only the following one field:
-
-.nf
- 1..7 bits: WBITS, a value in the range 10..24, encoded with
- the following variable length code (as it appears in
- the compressed data, where the bits are parsed from
- right to left):
-
- Value Bit Pattern
- ----- -----------
- 10 0100001
- 11 0110001
- 12 1000001
- 13 1010001
- 14 1100001
- 15 1110001
- 16 0
- 17 0000001
- 18 0011
- 19 0101
- 20 0111
- 21 1001
- 22 1011
- 23 1101
- 24 1111
-
- Note that bit pattern 0010001 is invalid and must not
- be used.
-.fi
-
-The size of the sliding window, which is the maximum value of any
-non-dictionary reference backward distance, is given by the
-following formula:
-
-.nf
- window size = (1 << WBITS) - 16
-.fi
-
-.ti 0
-9.2. Format of the meta-block header
-
-A compliant compressed data set has at least one meta-block. Each
-meta-block contains a header with information about the
-uncompressed length of the meta-block, and a bit signaling if the
-meta-block is the last one. The format of the meta-block header is
-the following:
-
-.nf
- 1 bit: ISLAST, set to 1 if this is the last meta-block
- 1 bit: ISLASTEMPTY, if set to 1, the meta-block is empty;
- this field is only present if ISLAST bit is set -- if
- it is 1, then the meta-block and the brotli stream ends
- at that bit, with any remaining bits in the last byte
- of the compressed stream filled with zeros (if the
- fill bits are not zero, then the stream should be
- rejected as invalid)
- 2 bits: MNIBBLES, # of nibbles to represent the uncompressed
- length, encoded with the following fixed-length code:
-
- Value Bit Pattern
- ----- -----------
- 0 11
- 4 00
- 5 01
- 6 10
-
- If MNIBBLES is 0, the meta-block is empty, i.e. it does
- not generate any uncompressed data. In this case, the
- rest of the meta-block has the following format:
-
- 1 bit: reserved, must be zero
-
- 2 bits: MSKIPBYTES, # of bytes to represent metadata
- length
-
- MSKIPBYTES x 8 bits: MSKIPLEN - 1, where MSKIPLEN is
- the number of metadata bytes; this field is
- only present if MSKIPBYTES is positive,
- otherwise MSKIPLEN is 0 (if MSKIPBYTES is
- greater than 1, and the last byte is all
- zeros, then the stream should be rejected
- as invalid)
-
- 0..7 bits: fill bits until the next byte boundary,
- must be all zeros
-
- MSKIPLEN bytes of metadata, not part of the
- uncompressed data or the sliding window
-
- MNIBBLES x 4 bits: MLEN - 1, where MLEN is the length
- of the meta-block uncompressed data in bytes (if
- MNIBBLES is greater than 4, and the last
- nibble is all zeros, then the stream should be
- rejected as invalid)
-
- 1 bit: ISUNCOMPRESSED, if set to 1, any bits of compressed
- data up to the next byte boundary are ignored, and
- the rest of the meta-block contains MLEN bytes of
- literal data; this field is only present if the
- ISLAST bit is not set (if the ignored bits are not
- all zeros, the stream should be rejected as invalid)
-
- 1..11 bits: NBLTYPESL, # of literal block types, encoded with
- the following variable length code (as it appears in
- the compressed data, where the bits are parsed from
- right to left, so 0110111 has the value 12):
-
- Value Bit Pattern
- ----- -----------
- 1 0
- 2 0001
- 3..4 x0011
- 5..8 xx0101
- 9..16 xxx0111
- 17..32 xxxx1001
- 33..64 xxxxx1011
- 65..128 xxxxxx1101
- 129..256 xxxxxxx1111
-
- Prefix code over the block type code alphabet for
- literal block types, appears only if NBLTYPESL >= 2
-
- Prefix code over the block count code alphabet for
- literal block counts, appears only if NBLTYPESL >= 2
-
- Block count code + extra bits for first literal
- block count, appears only if NBLTYPESL >= 2
-
- 1..11 bits: NBLTYPESI, # of insert-and-copy block types, encoded
- with the same variable length code as above
-
- Prefix code over the block type code alphabet for
- insert-and-copy block types, appears only if NBLTYPESI >= 2
-
- Prefix code over the block count code alphabet for
- insert-and-copy block counts, appears only if NBLTYPESI >= 2
-
- Block count code + extra bits for first insert-and-copy
- block count, appears only if NBLTYPESI >= 2
-
- 1..11 bits: NBLTYPESD, # of distance block types, encoded
- with the same variable length code as above
-
- Prefix code over the block type code alphabet for
- distance block types, appears only if NBLTYPESD >= 2
-
- Prefix code over the block count code alphabet for
- distance block counts, appears only if NBLTYPESD >= 2
-
- Block count code + extra bits for first distance
- block count, appears only if NBLTYPESD >= 2
-
- 2 bits: NPOSTFIX, parameter used in the distance coding
-
- 4 bits: four most-significant bits of NDIRECT, to get the
- actual value of the parameter NDIRECT, left-shift
- this four-bit number by NPOSTFIX bits
-
- NBLTYPESL x 2 bits: context mode for each literal block type
-
- 1..11 bits: NTREESL, # of literal prefix trees, encoded
- with the same variable length code as NBLTYPESL
-
- Literal context map, encoded as described in Section 7.3.,
- appears only if NTREESL >= 2, otherwise the context map
- has only zero values
-
- 1..11 bits: NTREESD, # of distance prefix trees, encoded
- with the same variable length code as NBLTYPESD
-
- Distance context map, encoded as described in Section 7.3.,
- appears only if NTREESD >= 2, otherwise the context map
- has only zero values
-
- NTREESL prefix codes for literals
-
- NBLTYPESI prefix codes for insert-and-copy lengths
-
- NTREESD prefix codes for distances
-.fi
-
-.ti 0
-9.3. Format of the meta-block data
-
-The compressed data part of a meta-block consists of a series of
-commands. Each command has the following format:
-
-.nf
- Block type code for next insert-and-copy block type, appears
- only if NBLTYPESI >= 2 and the previous insert-and-copy
- block count is zero
-
- Block count code + extra bits for next insert-and-copy
- block count, appears only if NBLTYPESI >= 2 and the
- previous insert-and-copy block count is zero
-
- Insert-and-copy length, encoded as in Section 5., using the
- insert-and-copy length prefix code with the current
- insert-and-copy block type index
-
- Insert length number of literals, with the following format:
-
- Block type code for next literal block type, appears
- only if NBLTYPESL >= 2 and the previous literal
- block count is zero
-
- Block count code + extra bits for next literal
- block count, appears only if NBLTYPESL >= 2 and the
- previous literal block count is zero
-
- Next byte of the uncompressed data, encoded with the
- literal prefix code with the index determined by the
- previous two bytes of the uncompressed data, the
- current literal block type, and the context map, as
- described in Section 7.3.
-
- Block type code for next distance block type, appears
- only if NBLTYPESD >= 2 and the previous distance
- block count is zero
-
- Block count code + extra bits for next distance
- block count, appears only if NBLTYPESD >= 2 and the
- previous distance block count is zero
-
- Distance code, encoded as in Section 4., using the distance
- prefix code with the current distance block type index,
- appears only if the distance code is not an implicit 0,
- as indicated by the insert-and-copy length code
-.fi
-
-The number of commands in the meta-block is such that the sum of
-the uncompressed bytes produced (i.e. the number of literals inserted
-plus the number of bytes copied from past data or generated from the
-static dictionary) over all the commands gives the uncompressed length,
-MLEN encoded in the meta-block header.
-
-If the total number of uncompressed bytes produced after the insert part
-of the last command equals MLEN, then the copy length of the last command
-is ignored and will not produce any uncompressed output. In this case the
-copy length of the last command can have any value. In any other case, if
-the number of literals to insert, the copy length, or the resulting
-dictionary word length would cause MLEN to be exceeded, then the stream
-should be rejected as invalid.
-
-If the last command of the last non-empty meta-block does not end on
-a byte boundary, the unused bits in the last byte must be zeros.
-
-.ti 0
-10. Decoding algorithm
-
-The decoding algorithm that produces the uncompressed data is as follows:
-
-.nf
- read window size
- do
- read ISLAST bit
- if ISLAST
- read ISLASTEMPTY bit
- if ISLASTEMPTY
- break from loop
- read MNIBBLES
- if MNIBBLES is zero
- verify reserved bit is zero
- read MSKIPLEN
- skip any bits up to the next byte boundary
- skip MSKIPLEN bytes
- continue to the next meta-block
- else
- read MLEN
- if not ISLAST
- read ISUNCOMPRESSED bit
- if ISUNCOMPRESSED
- skip any bits up to the next byte boundary
- copy MLEN bytes of compressed data as literals
- continue to the next meta-block
- loop for each three block categories (i = L, I, D)
- read NBLTYPESi
- if NBLTYPESi >= 2
- read prefix code for block types, HTREE_BTYPE_i
- read prefix code for block counts, HTREE_BLEN_i
- read block count, BLEN_i
- set block type, BTYPE_i to 0
- initialize second-to-last and last block types to 0 and 1
- else
- set block type, BTYPE_i to 0
- set block count, BLEN_i to 16777216
- read NPOSTFIX and NDIRECT
- read array of literal context modes, CMODE[]
- read NTREESL
- if NTREESL >= 2
- read literal context map, CMAPL[]
- else
- fill CMAPL[] with zeros
- read NTREESD
- if NTREESD >= 2
- read distance context map, CMAPD[]
- else
- fill CMAPD[] with zeros
- read array of literal prefix codes, HTREEL[]
- read array of insert-and-copy length prefix codes, HTREEI[]
- read array of distance prefix codes, HTREED[]
- do
- if BLEN_I is zero
- read block type using HTREE_BTYPE_I and set BTYPE_I
- save previous block type
- read block count using HTREE_BLEN_I and set BLEN_I
- decrement BLEN_I
- read insert-and-copy length symbol using HTREEI[BTYPE_I]
- compute insert length, ILEN, and copy length, CLEN
- loop for ILEN
- if BLEN_L is zero
- read block type using HTREE_BTYPE_L and set BTYPE_L
- save previous block type
- read block count using HTREE_BLEN_L and set BLEN_L
- decrement BLEN_L
- look up context mode CMODE[BTYPE_L]
- compute context ID, CIDL from last two uncompressed bytes
- read literal using HTREEL[CMAPL[64*BTYPE_L + CIDL]]
- write literal to uncompressed stream
- if number of uncompressed bytes produced in the loop for
- this meta-block is MLEN, then break from loop (in this
- case the copy length is ignored and can have any value)
- if distance code is implicit zero from insert-and-copy code
- set backward distance to the last distance
- else
- if BLEN_D is zero
- read block type using HTREE_BTYPE_D and set BTYPE_D
- save previous block type
- read block count using HTREE_BLEN_D and set BLEN_D
- decrement BLEN_D
- compute context ID, CIDD from CLEN
- read distance code using HTREED[CMAPD[4*BTYPE_D + CIDD]]
- compute distance by distance short code substitution
- if distance code is not zero,
- and distance is not a static dictionary reference,
- push distance to the ring buffer of last distances
- if distance is less than the max allowed distance plus one
- move backwards distance bytes in the uncompressed data,
- and copy CLEN bytes from this position to
- the uncompressed stream
- else
- look up the static dictionary word, transform the word as
- directed, and copy the result to the uncompressed stream
- while number of uncompressed bytes for this meta-block < MLEN
- while not ISLAST
-.fi
-
-If the stream ends before the completion of the last meta-block, then
-the stream should be rejected as invalid.
-
-Note that a duplicated string reference may refer to a string in a
-previous meta-block, i.e. the backward distance may cross one or
-more meta-block boundaries. However a backward copy distance
-will not refer past the beginning of the uncompressed stream or the
-window size; any such distance is
-interpreted as a reference to a static dictionary word. Also note
-that the referenced string may overlap the current position, for
-example, if the last 2 bytes decoded have values X and Y, a string
-reference with <length = 5, distance = 2> adds X,Y,X,Y,X to the
-uncompressed stream.
-
-.ti 0
-11. Considerations for compressor implementations
-
-Since the intent of this document is to define the brotli compressed data format
-without reference to any particular compression algorithm, the material in this
-section is not part of the definition of the format, and a compressor need not
-follow it in order to be compliant.
-
-.ti 0
-11.1. Trivial compressor
-
-In this section we present a very simple algorithm that produces a valid brotli
-stream representing an arbitrary sequence of uncompressed bytes in the form of
-the following C++ language function.
-
-.nf
- string BrotliCompressTrivial(const string& u) {
- if (u.empty()) {
- return string(1, 6);
- }
- int i;
- string c;
- c.append(1, 12);
- for (i = 0; i + 65535 < u.size(); i += 65536) {
- c.append(1, 248);
- c.append(1, 255);
- c.append(1, 15);
- c.append(&u[i], 65536);
- }
- if (i < u.size()) {
- int r = u.size() - i - 1;
- c.append(1, (r & 31) << 3);
- c.append(1, r >> 5);
- c.append(1, 8 + (r >> 13));
- c.append(&u[i], r + 1);
- }
- c.append(1, 3);
- return c;
- }
-.fi
-
-Note that this simple algorithm does not actually compress data, that is, the
-brotli representation will always be bigger than the original, but it
-shows that every sequence of N uncompressed bytes can be represented with a
-valid brotli stream that is not longer than N + (3 * (N >> 16) + 5) bytes.
-
-.ti 0
-11.2. Aligning compressed meta-blocks to byte boundaries
-
-As described in Section 9., only those meta-blocks that immediately follow an
-uncompressed meta-block or a metadata meta-block are guaranteed to start on a
-byte boundary. In some applications, it might be required that every
-non-metadata meta-block starts on a byte boundary. This can be achieved by
-appending an empty metadata meta-block after every non-metadata meta-block that
-does not end on a byte boundary.
-
-.ti 0
-11.3. Creating self-contained parts within the compressed data
-
-In some encoder implementations it might be required to make a sequence of
-bytes within a brotli stream self-contained, that is, such that they
-can be decompressed independently from previous parts of the compressed data.
-This is a useful feature for three reasons. First, if a large compressed file
-is damaged, it is possible to recover some of the file after the damage.
-Second, it is useful when doing differential transfer of compressed data. If
-a sequence of uncompressed bytes is unchanged and compressed independently
-from previous data, then the compressed representation may also be
-unchanged and can therefore be transferred very cheaply. Third, if sequences of
-uncompressed bytes are compressed independently, it allows for parallel
-compression of these byte sequences within the same file, in addition
-to parallel compression of multiple files.
-
-Given two sequences of uncompressed bytes, U0 and U1, we will now describe how
-to create two sequences of compressed bytes, C0 and C1, such that the
-concatenation of C0 and C1 is a valid brotli stream, and that C0 and C1
-(together with the first byte of C0 that contains the window size)
-can be decompressed independently from each other to U0 and U1.
-
-When compressing the byte sequence U0 to produce C0, we can use any compressor
-that works on the complete set of uncompressed bytes U0, with the following two
-changes. First, the ISLAST bit of the last meta-block of C0 must not be set.
-Second, C0 must end at a byte-boundary, which can be ensured by appending an
-empty metadata meta-block to it, as in Section 11.2.
-
-When compressing the byte sequence U1 to produce C1, we can use any compressor
-that starts a new meta-block at the beginning of U1 within the U0+U1 input
-stream, with the following two changes. First, backward distances in C1 must
-not refer to static dictionary words or uncompressed bytes in U0.
-Even if a sequence of bytes in U1 would match a static dictionary word, or a
-sequence of bytes that overlaps U0, the compressor must represent this
-sequence of bytes with a combination of literal insertions and backward
-references to bytes in U1 instead. Second, the ring
-buffer of last four distances must be replenished first with distances in C1
-before using it to encode other distances in C1. Note that both compressors
-producing C0 and C1 have to use the same window size, but the stream header is
-emitted only by the compressor that produces C0.
-
-Note that this method can be easily generalized to more than two sequences
-of uncompressed bytes.
-
-.ti 0
-12. Security Considerations
-
-As with any compressed file formats, decompressor implementations should
-handle all compressed data byte sequences, not only those that conform to this
-specification, where non-conformant compressed data sequences should be
-rejected as invalid.
-
-A possible attack against a system containing a decompressor
-implementation (e.g. a web browser) is to exploit a buffer overflow
-triggered by invalid compressed data. Therefore decompressor
-implementations should perform bounds-checking for each memory access
-that result from values decoded from the compressed stream and derivatives
-therof.
-
-Another possible attack against a system containing a decompressor
-implementation is to provide it (either valid or invalid) compressed data
-that can make the decompressor system's resource consumption (cpu, memory, or
-storage) to be disproportionately large compared to the size of the
-compressed data. In addition to the size of the compressed data, the amount of
-cpu, memory and storage required to decompress a single compressed meta-block
-within a brotli stream is controlled by the following two paramters: the size of
-the uncompressed meta-block, which is encoded at the start of the compressed
-meta-block, and the size of the sliding window, which is encoded at the start
-of the brotli stream. Decompressor implementations in systems where
-memory or storage is constrained should perform a sanity-check on these two
-parameters. The uncompressed meta-block size that was decoded from the
-compressed stream should be compared against either a hard limit, given by the
-system's constraints or some expectation about the uncompressed data, or against
-a certain multiple of the size of the compressed data. If the uncompressed
-meta-block size is determined to be too high, the compressed data should be
-rejected. Likewise, when the complete uncompressed stream is kept in the
-system containing the decompressor implementation, the total uncompressed
-size of the stream should be checked before decompressing each additional
-meta-block. If the size of the sliding window that was decoded from the start
-of the compressed stream is greater than a certain soft limit, then the
-decompressor implementation should, at first, allocate a smaller sliding
-window that fits the first uncompressed meta-block, and afterwards, before
-decompressing each additional meta-block, it should increase the size of the
-sliding window until the sliding window size specified in the compressed data
-is reached.
-
-Correspondingly, possible attacks against a system containing a compressor
-implementation (e.g. a web server) are to exploit a buffer overflow or cause
-disproportionately large resource consumption by providing e.g. uncompressible
-data.
-As described in Section 11.1., an output buffer of
-
-.nf
- S(N) = N + (3 * (N >> 16) + 5)
-.fi
-
-bytes is sufficient to hold a valid compressed brotli
-stream representing an arbitrary sequence of N uncompressed bytes.
-Therefore compressor implementations should allocate at least S(N) bytes of
-output buffer before compressing N bytes of data with unknown compressibility
-and should perform bounds-checking for each write into this output buffer.
-If their output buffer is full, compresor implementations should
-revert to the trivial compression algorithm described in Section 11.1.
-The resourse consumption of a compressor implementation for a particular input
-data depends mostly on the algorithm used to find backward matches and on the
-algorithm used to construct context maps and prefix codes and only to a lesser
-extent on the input data itself. If the system containing a compressor
-implementation is overloaded, a possible way to reduce resource usage is to
-switch to more simple algorithms for backward reference search and prefix code
-construction, or to fall back to the trivial compression algorithm described in
-Section 11.1.
-
-A possible attack against a system that sends compressed data over an encrypted
-channel is the following. An attacker who can repeatedly mix arbitrary
-(attacker-supplied) data with secret data (passwords, cookies) and observe the
-length of the ciphertext can potentially reconstruct the secret data. To
-protect against this kind of attack, applications should not mix sensitive data
-with non-sensitive, potentially attacker-supplied data in the same compressed
-stream.
-
-.ti 0
-13. IANA Considerations
-
-The "HTTP Content Coding Registry" has been updated with the
-registration below:
-
-.nf
-.KS
- +-------+-------------------------------------+------------+
- | Name | Description | Reference |
- +-------+-------------------------------------+------------+
- | br | Brotli Compressed Data Format | RFCXXXX |
- +-------+-------------------------------------+------------+
-.KE
-.fi
-
-.ti 0
-14. Informative References
-.in 14
-
-.ti 3
-[HUFFMAN] Huffman, D. A., "A Method for the Construction of Minimum
-Redundancy Codes", Proceedings of the Institute of Radio
-Engineers, September 1952, Volume 40, Number 9, pp. 1098-1101.
-
-.ti 3
-[LZ77] Ziv J., Lempel A., "A Universal Algorithm for Sequential Data
-Compression", IEEE Transactions on Information Theory, Vol. 23,
-No. 3, pp. 337-343.
-
-.ti 3
-[RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification
-version 1.3", RFC 1951, Aladdin Enterprises, May 1996.
-http://www.ietf.org/rfc/rfc1951.txt
-
-.ti 3
-[WOFF2] Levantovsky, V. (ed.), Levien, R. (ed.), "WOFF File Format
-2.0", W3C WebFonts Working Group, http://www.w3.org/TR/WOFF2/
-.in 3
-
-.ti 0
-15. Source code
-
-Source code for a C language implementation of a brotli compliant
-decompressor and a C++ language implementation of a compressor is
-available in the brotli open-source project:
-https://github.com/google/brotli
-
-.ti 0
-16. Acknowledgments
-
-The authors would like to thank Mark Adler, Robert Obryk, Thomas
-Pickert, and Joe Tsai for providing helpful review comments,
-validating the specification by writing an independent decompressor,
-and suggesting improvements to the format and the text of the
-specification.
-
-.ti 0
-Appendix A. Static dictionary data
-
-The hexadecimal form of the DICT array is the following, where the
-length is 122,784 bytes and the CRC-32 of the byte sequence is
-0x5136cb04.
-
-.in 0
-.nf
- 74696d65646f776e6c6966656c6566746261636b636f64656461746173686f77
- 6f6e6c7973697465636974796f70656e6a7573746c696b6566726565776f726b
- 74657874796561726f766572626f64796c6f7665666f726d626f6f6b706c6179
- 6c6976656c696e6568656c70686f6d65736964656d6f7265776f72646c6f6e67
- 7468656d7669657766696e64706167656461797366756c6c686561647465726d
- 656163686172656166726f6d747275656d61726b61626c6575706f6e68696768
- 646174656c616e646e6577736576656e6e65787463617365626f7468706f7374
- 757365646d61646568616e6468657265776861746e616d654c696e6b626c6f67
- 73697a656261736568656c646d616b656d61696e757365722729202b686f6c64
- 656e6473776974684e65777372656164776572657369676e74616b6568617665
- 67616d657365656e63616c6c7061746877656c6c706c75736d656e7566696c6d
- 706172746a6f696e746869736c697374676f6f646e6565647761797377657374
- 6a6f62736d696e64616c736f6c6f676f72696368757365736c6173747465616d
- 61726d79666f6f646b696e6777696c6c65617374776172646265737466697265
- 506167656b6e6f77617761792e706e676d6f76657468616e6c6f616467697665
- 73656c666e6f74656d756368666565646d616e79726f636b69636f6e6f6e6365
- 6c6f6f6b6869646564696564486f6d6572756c65686f7374616a6178696e666f
- 636c75626c6177736c65737368616c66736f6d65737563687a6f6e6531303025
- 6f6e65736361726554696d6572616365626c7565666f75727765656b66616365
- 686f706567617665686172646c6f73747768656e7061726b6b65707470617373
- 73686970726f6f6d48544d4c706c616e54797065646f6e65736176656b656570
- 666c61676c696e6b736f6c6466697665746f6f6b72617465746f776e6a756d70
- 746875736461726b6361726466696c6566656172737461796b696c6c74686174
- 66616c6c6175746f657665722e636f6d74616c6b73686f70766f746564656570
- 6d6f6465726573747475726e626f726e62616e6466656c6c726f736575726c28
- 736b696e726f6c65636f6d6561637473616765736d656574676f6c642e6a7067
- 6974656d7661727966656c747468656e73656e6464726f7056696577636f7079
- 312e30223c2f613e73746f70656c73656c696573746f75727061636b2e676966
- 706173746373733f677261796d65616e2667743b7269646573686f746c617465
- 73616964726f6164766172206665656c6a6f686e7269636b706f727466617374
- 2755412d646561643c2f623e706f6f7262696c6c74797065552e532e776f6f64
- 6d7573743270783b496e666f72616e6b7769646577616e7477616c6c6c656164
- 5b305d3b7061756c776176657375726524282723776169746d61737361726d73
- 676f65736761696e6c616e6770616964212d2d206c6f636b756e6974726f6f74
- 77616c6b6669726d77696665786d6c22736f6e6774657374323070786b696e64
- 726f7773746f6f6c666f6e746d61696c73616665737461726d617073636f7265
- 7261696e666c6f77626162797370616e736179733470783b3670783b61727473
- 666f6f747265616c77696b696865617473746570747269706f72672f6c616b65
- 7765616b746f6c64466f726d6361737466616e7362616e6b7665727972756e73
- 6a756c797461736b3170783b676f616c67726577736c6f776564676569643d22
- 736574733570783b2e6a733f3430707869662028736f6f6e736561746e6f6e65
- 747562657a65726f73656e747265656466616374696e746f676966746861726d
- 3138707863616d6568696c6c626f6c647a6f6f6d766f69646561737972696e67
- 66696c6c7065616b696e6974636f73743370783b6a61636b7461677362697473
- 726f6c6c656469746b6e65776e6561723c212d2d67726f774a534f4e64757479
- 4e616d6573616c65796f75206c6f74737061696e6a617a7a636f6c6465796573
- 666973687777772e7269736b7461627370726576313070787269736532357078
- 426c756564696e673330302c62616c6c666f72646561726e77696c64626f782e
- 666169726c61636b76657273706169726a756e6574656368696628217069636b
- 6576696c242822237761726d6c6f7264646f657370756c6c2c30303069646561
- 647261776875676573706f7466756e646275726e6872656663656c6c6b657973
- 7469636b686f75726c6f73736675656c31327078737569746465616c52535322
- 6167656467726579474554226561736561696d736769726c616964733870783b
- 6e617679677269647469707323393939776172736c61647963617273293b207d
- 7068703f68656c6c74616c6c77686f6d7a683ae52a2f0d0a2031303068616c6c
- 2e0a0a413770783b70757368636861743070783b637265772a2f3c2f68617368
- 37357078666c6174726172652026262074656c6c63616d706f6e746f6c616964
- 6d697373736b697074656e7466696e656d616c6567657473706c6f743430302c
- 0d0a0d0a636f6f6c666565742e7068703c62723e657269636d6f737467756964
- 62656c6c64657363686169726d61746861746f6d2f696d67262338326c75636b
- 63656e743030303b74696e79676f6e6568746d6c73656c6c6472756746524545
- 6e6f64656e69636b3f69643d6c6f73656e756c6c7661737477696e6452535320
- 7765617272656c796265656e73616d6564756b656e6173616361706577697368
- 67756c665432333a68697473736c6f74676174656b69636b626c757274686579
- 313570782727293b293b223e6d73696577696e7362697264736f727462657461
- 7365656b5431383a6f726473747265656d616c6c363070786661726de2809973
- 626f79735b305d2e27293b22504f5354626561726b696473293b7d7d6d617279
- 74656e6428554b29717561647a683ae62d73697a2d2d2d2d70726f7027293b0d
- 6c6966745431393a76696365616e6479646562743e525353706f6f6c6e65636b
- 626c6f775431363a646f6f726576616c5431373a6c6574736661696c6f72616c
- 706f6c6c6e6f7661636f6c7367656e6520e28094736f6674726f6d6574696c6c
- 726f73733c68333e706f75726661646570696e6b3c74723e6d696e69297c2128
- 6d696e657a683ae862617273686561723030293b6d696c6b202d2d3e69726f6e
- 667265646469736b77656e74736f696c707574732f6a732f686f6c795432323a
- 4953424e5432303a6164616d736565733c68323e6a736f6e272c2027636f6e74
- 5432313a205253536c6f6f70617369616d6f6f6e3c2f703e736f756c4c494e45
- 666f7274636172745431343a3c68313e38307078212d2d3c3970783b5430343a
- 6d696b653a34365a6e696365696e6368596f726b726963657a683ae42729293b
- 707572656d61676570617261746f6e65626f6e643a33375a5f6f665f275d293b
- 3030302c7a683ae774616e6b79617264626f776c627573683a35365a4a617661
- 333070780a7c7d0a254333253a33345a6a656666455850496361736876697361
- 676f6c66736e6f777a683ae9717565722e6373737369636b6d6561746d696e2e
- 62696e6464656c6c686972657069637372656e743a33365a485454502d323031
- 666f746f776f6c66454e442078626f783a35345a424f44596469636b3b0a7d0a
- 657869743a33355a7661727362656174277d293b646965743939393b616e6e65
- 7d7d3c2f5b695d2e4c616e676b6dc2b277697265746f7973616464737365616c
- 616c65783b0a097d6563686f6e696e652e6f726730303529746f6e796a657773
- 73616e646c656773726f6f66303030292032303077696e6567656172646f6773
- 626f6f74676172796375747374796c6574656d7074696f6e2e786d6c636f636b
- 67616e672428272e3530707850682e446d697363616c616e6c6f616e6465736b
- 6d696c657279616e756e697864697363293b7d0a64757374636c6970292e0a0a
- 373070782d32303044564473375d3e3c7461706564656d6f692b2b2977616765
- 6575726f7068696c6f707473686f6c65464151736173696e2d3236546c616273
- 7065747355524c2062756c6b636f6f6b3b7d0d0a484541445b305d2961626272
- 6a75616e283139386c6573687477696e3c2f693e736f6e79677579736675636b
- 706970657c2d0a21303032296e646f775b315d3b5b5d3b0a4c6f672073616c74
- 0d0a090962616e677472696d62617468297b0d0a303070780a7d293b6b6f3aec
- 6665657361643e0d733a2f2f205b5d3b746f6c6c706c756728297b0a7b0d0a20
- 2e6a7327323030706475616c626f61742e4a5047293b0a7d71756f74293b0a0a
- 27293b0a0d0a7d0d323031343230313532303136323031373230313832303139
- 3230323032303231323032323230323332303234323032353230323632303237
- 3230323832303239323033303230333132303332323033333230333432303335
- 3230333632303337323031333230313232303131323031303230303932303038
- 3230303732303036323030353230303432303033323030323230303132303030
- 3139393931393938313939373139393631393935313939343139393331393932
- 3139393131393930313938393139383831393837313938363139383531393834
- 3139383331393832313938313139383031393739313937383139373731393736
- 3139373531393734313937333139373231393731313937303139363931393638
- 3139363731393636313936353139363431393633313936323139363131393630
- 3139353931393538313935373139353631393535313935343139353331393532
- 31393531313935303130303031303234313339343030303039393939636f6d6f
- 6dc3a17365737465657374617065726f746f646f686163656361646161c3b16f
- 6269656e64c3ad616173c3ad766964616361736f6f74726f666f726f736f6c6f
- 6f7472616375616c64696a6f7369646f6772616e7469706f74656d6164656265
- 616c676f7175c3a96573746f6e61646174726573706f636f6361736162616a6f
- 746f646173696e6f6167756170756573756e6f73616e7465646963656c756973
- 656c6c616d61796f7a6f6e61616d6f727069736f6f627261636c6963656c6c6f
- 64696f73686f726163617369d0b7d0b0d0bdd0b0d0bed0bcd180d0b0d180d183
- d182d0b0d0bdd0b5d0bfd0bed0bed182d0b8d0b7d0bdd0bed0b4d0bed182d0be
- d0b6d0b5d0bed0bdd0b8d185d09dd0b0d0b5d0b5d0b1d18bd0bcd18bd092d18b
- d181d0bed0b2d18bd0b2d0bed09dd0bed0bed0b1d09fd0bed0bbd0b8d0bdd0b8
- d0a0d0a4d09dd0b5d09cd18bd182d18bd09ed0bdd0b8d0bcd0b4d0b0d097d0b0
- d094d0b0d09dd183d09ed0b1d182d0b5d098d0b7d0b5d0b9d0bdd183d0bcd0bc
- d0a2d18bd183d0b6d981d98ad8a3d986d985d8a7d985d8b9d983d984d8a3d988
- d8b1d8afd98ad8a7d981d989d987d988d984d985d984d983d8a7d988d984d987
- d8a8d8b3d8a7d984d8a5d986d987d98ad8a3d98ad982d8afd987d984d8abd985
- d8a8d987d984d988d984d98ad8a8d984d8a7d98ad8a8d983d8b4d98ad8a7d985
- d8a3d985d986d8aad8a8d98ad984d986d8add8a8d987d985d985d8b4d988d8b4
- 6669727374766964656f6c69676874776f726c646d656469617768697465636c
- 6f7365626c61636b7269676874736d616c6c626f6f6b73706c6163656d757369
- 636669656c646f72646572706f696e7476616c75656c6576656c7461626c6562
- 6f617264686f75736567726f7570776f726b7379656172737374617465746f64
- 6179776174657273746172747374796c656465617468706f77657270686f6e65
- 6e696768746572726f72696e70757461626f75747465726d737469746c65746f
- 6f6c736576656e746c6f63616c74696d65736c61726765776f72647367616d65
- 7373686f72747370616365666f637573636c6561726d6f64656c626c6f636b67
- 75696465726164696f7368617265776f6d656e616761696e6d6f6e6579696d61
- 67656e616d6573796f756e676c696e65736c61746572636f6c6f72677265656e
- 66726f6e7426616d703b7761746368666f726365707269636572756c65736265
- 67696e616674657276697369746973737565617265617362656c6f77696e6465
- 78746f74616c686f7572736c6162656c7072696e7470726573736275696c746c
- 696e6b73737065656473747564797472616465666f756e6473656e7365756e64
- 657273686f776e666f726d7372616e676561646465647374696c6c6d6f766564
- 74616b656e61626f7665666c61736866697865646f6674656e6f746865727669
- 657773636865636b6c6567616c72697665726974656d73717569636b73686170
- 6568756d616e6578697374676f696e676d6f7669657468697264626173696370
- 65616365737461676577696474686c6f67696e696465617377726f7465706167
- 65737573657273647269766573746f7265627265616b736f757468766f696365
- 73697465736d6f6e746877686572656275696c6477686963686561727468666f
- 72756d746872656573706f72747061727479436c69636b6c6f7765726c697665
- 73636c6173736c61796572656e74727973746f72797573616765736f756e6463
- 6f757274796f7572206269727468706f70757074797065736170706c79496d61
- 67656265696e6775707065726e6f746573657665727973686f77736d65616e73
- 65787472616d61746368747261636b6b6e6f776e6561726c79626567616e7375
- 70657270617065726e6f7274686c6561726e676976656e6e616d6564656e6465
- 645465726d73706172747347726f75706272616e647573696e67776f6d616e66
- 616c73657265616479617564696f74616b65737768696c652e636f6d2f6c6976
- 656463617365736461696c796368696c6467726561746a7564676574686f7365
- 756e6974736e6576657262726f6164636f617374636f7665726170706c656669
- 6c65736379636c657363656e65706c616e73636c69636b777269746571756565
- 6e7069656365656d61696c6672616d656f6c64657270686f746f6c696d697463
- 61636865636976696c7363616c65656e7465727468656d657468657265746f75
- 6368626f756e64726f79616c61736b656477686f6c6573696e636573746f636b
- 206e616d6566616974686865617274656d7074796f6666657273636f70656f77
- 6e65646d69676874616c62756d7468696e6b626c6f6f6461727261796d616a6f
- 72747275737463616e6f6e756e696f6e636f756e7476616c696473746f6e6553
- 74796c654c6f67696e68617070796f636375726c6566743a6672657368717569
- 746566696c6d7367726164656e65656473757262616e66696768746261736973
- 686f7665726175746f3b726f7574652e68746d6c6d6978656466696e616c596f
- 757220736c696465746f70696362726f776e616c6f6e65647261776e73706c69
- 747265616368526967687464617465736d6172636871756f7465676f6f64734c
- 696e6b73646f7562746173796e637468756d62616c6c6f776368696566796f75
- 74686e6f76656c313070783b7365727665756e74696c68616e6473436865636b
- 537061636571756572796a616d6573657175616c7477696365302c3030305374
- 61727470616e656c736f6e6773726f756e6465696768747368696674776f7274
- 68706f7374736c656164737765656b7361766f696474686573656d696c657370
- 6c616e65736d617274616c706861706c616e746d61726b737261746573706c61
- 7973636c61696d73616c65737465787473737461727377726f6e673c2f68333e
- 7468696e672e6f72672f6d756c74696865617264506f7765727374616e64746f
- 6b656e736f6c696428746869736272696e677368697073737461666674726965
- 6463616c6c7366756c6c7966616374736167656e7454686973202f2f2d2d3e61
- 646d696e65677970744576656e74313570783b456d61696c747275652263726f
- 73737370656e74626c6f6773626f78223e6e6f7465646c656176656368696e61
- 73697a657367756573743c2f68343e726f626f746865617679747275652c7365
- 76656e6772616e646372696d657369676e73617761726564616e636570686173
- 653e3c212d2d656e5f5553262333393b32303070785f6e616d656c6174696e65
- 6e6a6f79616a61782e6174696f6e736d697468552e532e20686f6c6473706574
- 6572696e6469616e6176223e636861696e73636f7265636f6d6573646f696e67
- 7072696f7253686172653139393073726f6d616e6c697374736a6170616e6661
- 6c6c73747269616c6f776e657261677265653c2f68323e6162757365616c6572
- 746f70657261222d2f2f57636172647368696c6c737465616d7350686f746f74
- 72757468636c65616e2e7068703f7361696e746d6574616c6c6f7569736d6561
- 6e7470726f6f666272696566726f77223e67656e7265747275636b6c6f6f6b73
- 56616c75654672616d652e6e65742f2d2d3e0a3c747279207b0a766172206d61
- 6b6573636f737473706c61696e6164756c747175657374747261696e6c61626f
- 7268656c707363617573656d616769636d6f746f72746865697232353070786c
- 656173747374657073436f756e74636f756c64676c617373736964657366756e
- 6473686f74656c61776172646d6f7574686d6f76657370617269736769766573
- 6475746368746578617366727569746e756c6c2c7c7c5b5d3b746f70223e0a3c
- 212d2d504f5354226f6365616e3c62722f3e666c6f6f72737065616b64657074
- 682073697a6562616e6b7363617463686368617274323070783b616c69676e64
- 65616c73776f756c64353070783b75726c3d227061726b736d6f7573654d6f73
- 74202e2e2e3c2f616d6f6e67627261696e626f6479206e6f6e653b6261736564
- 636172727964726166747265666572706167655f686f6d652e6d657465726465
- 6c6179647265616d70726f76656a6f696e743c2f74723e64727567733c212d2d
- 20617072696c696465616c616c6c656e6578616374666f727468636f6465736c
- 6f67696356696577207365656d73626c616e6b706f7274732028323030736176
- 65645f6c696e6b676f616c736772616e74677265656b686f6d657372696e6773
- 7261746564333070783b77686f7365706172736528293b2220426c6f636b6c69
- 6e75786a6f6e6573706978656c27293b223e293b6966282d6c65667464617669
- 64686f727365466f6375737261697365626f786573547261636b656d656e743c
- 2f656d3e626172223e2e7372633d746f776572616c743d226361626c6568656e
- 7279323470783b73657475706974616c7973686172706d696e6f727461737465
- 77616e7473746869732e7265736574776865656c6769726c732f6373732f3130
- 30253b636c75627373747566666269626c65766f74657320313030306b6f7265
- 617d293b0d0a62616e647371756575653d207b7d3b383070783b636b696e677b
- 0d0a09096168656164636c6f636b69726973686c696b6520726174696f737461
- 7473466f726d227961686f6f295b305d3b41626f757466696e64733c2f68313e
- 64656275677461736b7355524c203d63656c6c737d2928293b313270783b7072
- 696d6574656c6c737475726e7330783630302e6a706722737061696e62656163
- 6874617865736d6963726f616e67656c2d2d3e3c2f676966747373746576652d
- 6c696e6b626f64792e7d293b0a096d6f756e7420283139394641513c2f726f67
- 65726672616e6b436c617373323870783b66656564733c68313e3c73636f7474
- 7465737473323270783b6472696e6b29207c7c206c657769737368616c6c2330
- 33393b20666f72206c6f7665647761737465303070783b6a613ae38273696d6f
- 6e3c666f6e747265706c796d65657473756e7465726368656170746967687442
- 72616e642920213d206472657373636c697073726f6f6d736f6e6b65796d6f62
- 696c6d61696e2e4e616d6520706c61746566756e6e797472656573636f6d2f22
- 312e6a7067776d6f6465706172616d53544152546c65667420696464656e2c20
- 323031293b0a7d0a666f726d2e766972757363686169727472616e73776f7273
- 7450616765736974696f6e70617463683c212d2d0a6f2d6361636669726d7374
- 6f7572732c30303020617369616e692b2b297b61646f626527295b305d69643d
- 3130626f74683b6d656e75202e322e6d692e706e67226b6576696e636f616368
- 4368696c646272756365322e6a706755524c292b2e6a70677c7375697465736c
- 69636568617272793132302220737765657474723e0d0a6e616d653d64696567
- 6f706167652073776973732d2d3e0a0a236666663b223e4c6f672e636f6d2274
- 7265617473686565742920262620313470783b736c6565706e74656e7466696c
- 65646a613ae38369643d22634e616d6522776f72736573686f74732d626f782d
- 64656c74610a266c743b62656172733a34385a3c646174612d727572616c3c2f
- 613e207370656e6462616b657273686f70733d2022223b706870223e6374696f
- 6e313370783b627269616e68656c6c6f73697a653d6f3d253246206a6f696e6d
- 617962653c696d6720696d67223e2c20666a73696d67222022295b305d4d546f
- 704254797065226e65776c7944616e736b637a656368747261696c6b6e6f7773
- 3c2f68353e666171223e7a682d636e3130293b0a2d3122293b747970653d626c
- 7565737472756c7964617669732e6a73273b3e0d0a3c21737465656c20796f75
- 2068323e0d0a666f726d206a6573757331303025206d656e752e0d0a090d0a77
- 616c65737269736b73756d656e746464696e67622d6c696b7465616368676966
- 2220766567617364616e736b6565737469736871697073756f6d69736f627265
- 6465736465656e747265746f646f73707565646561c3b16f73657374c3a17469
- 656e6568617374616f74726f737061727465646f6e64656e7565766f68616365
- 72666f726d616d69736d6f6d656a6f726d756e646f617175c3ad64c3ad617373
- c3b36c6f61797564616665636861746f64617374616e746f6d656e6f73646174
- 6f736f74726173736974696f6d7563686f61686f72616c756761726d61796f72
- 6573746f73686f72617374656e6572616e746573666f746f7365737461737061
- c3ad736e7565766173616c7564666f726f736d6564696f717569656e6d657365
- 73706f6465726368696c65736572c3a1766563657364656369726a6f73c3a965
- 7374617276656e7461677275706f686563686f656c6c6f7374656e676f616d69
- 676f636f7361736e6976656c67656e74656d69736d6161697265736a756c696f
- 74656d617368616369616661766f726a756e696f6c6962726570756e746f6275
- 656e6f6175746f72616272696c6275656e61746578746f6d61727a6f73616265
- 726c697374616c7565676f63c3b36d6f656e65726f6a7565676f706572c3ba68
- 616265726573746f796e756e63616d756a657276616c6f7266756572616c6962
- 726f6775737461696775616c766f746f736361736f736775c3ad61707565646f
- 736f6d6f73617669736f7573746564646562656e6e6f63686562757363616661
- 6c74616575726f737365726965646963686f637572736f636c61766563617361
- 736c65c3b36e706c617a6f6c6172676f6f62726173766973746161706f796f6a
- 756e746f7472617461766973746f637265617263616d706f68656d6f7363696e
- 636f636172676f7069736f736f7264656e686163656ec3a1726561646973636f
- 706564726f63657263617075656461706170656c6d656e6f72c3ba74696c636c
- 61726f6a6f72676563616c6c65706f6e657274617264656e616469656d617263
- 617369677565656c6c61737369676c6f636f6368656d6f746f736d6164726563
- 6c617365726573746f6e69c3b16f7175656461706173617262616e636f68696a
- 6f737669616a657061626c6fc3a97374657669656e657265696e6f64656a6172
- 666f6e646f63616e616c6e6f7274656c657472616361757361746f6d61726d61
- 6e6f736c756e65736175746f7376696c6c6176656e646f70657361727469706f
- 7374656e67616d6172636f6c6c6576617061647265756e69646f76616d6f737a
- 6f6e6173616d626f7362616e64616d61726961616275736f6d75636861737562
- 697272696f6a617669766972677261646f6368696361616c6cc3ad6a6f76656e
- 6469636861657374616e74616c657373616c69727375656c6f7065736f736669
- 6e65736c6c616d61627573636fc3a97374616c6c6567616e6567726f706c617a
- 6168756d6f7270616761726a756e7461646f626c6569736c6173626f6c736162
- 61c3b16f6861626c616c75636861c381726561646963656e6a756761726e6f74
- 617376616c6c65616c6cc3a16361726761646f6c6f726162616a6f657374c3a9
- 677573746f6d656e74656d6172696f6669726d61636f73746f6669636861706c
- 617461686f67617261727465736c65796573617175656c6d7573656f62617365
- 73706f636f736d697461646369656c6f636869636f6d6965646f67616e617273
- 616e746f65746170616465626573706c61796172656465737369657465636f72
- 7465636f7265616475646173646573656f7669656a6f64657365616167756173
- 2671756f743b646f6d61696e636f6d6d6f6e7374617475736576656e74736d61
- 7374657273797374656d616374696f6e62616e6e657272656d6f76657363726f
- 6c6c757064617465676c6f62616c6d656469756d66696c7465726e756d626572
- 6368616e6765726573756c747075626c696373637265656e63686f6f73656e6f
- 726d616c74726176656c697373756573736f7572636574617267657473707269
- 6e676d6f64756c656d6f62696c6573776974636870686f746f73626f72646572
- 726567696f6e697473656c66736f6369616c616374697665636f6c756d6e7265
- 636f7264666f6c6c6f777469746c653e6569746865726c656e67746866616d69
- 6c79667269656e646c61796f7574617574686f72637265617465726576696577
- 73756d6d6572736572766572706c61796564706c61796572657870616e64706f
- 6c696379666f726d6174646f75626c65706f696e747373657269657370657273
- 6f6e6c6976696e6764657369676e6d6f6e746873666f72636573756e69717565
- 77656967687470656f706c65656e657267796e61747572657365617263686669
- 67757265686176696e67637573746f6d6f66667365746c657474657277696e64
- 6f777375626d697472656e64657267726f75707375706c6f61646865616c7468
- 6d6574686f64766964656f737363686f6f6c667574757265736861646f776465
- 6261746576616c7565734f626a6563746f74686572737269676874736c656167
- 75656368726f6d6573696d706c656e6f74696365736861726564656e64696e67
- 736561736f6e7265706f72746f6e6c696e65737175617265627574746f6e696d
- 61676573656e61626c656d6f76696e676c617465737477696e7465724672616e
- 6365706572696f647374726f6e677265706561744c6f6e646f6e64657461696c
- 666f726d656464656d616e64736563757265706173736564746f67676c65706c
- 6163657364657669636573746174696363697469657373747265616d79656c6c
- 6f7761747461636b737472656574666c6967687468696464656e696e666f223e
- 6f70656e656475736566756c76616c6c65796361757365736c65616465727365
- 637265747365636f6e6464616d61676573706f72747365786365707472617469
- 6e677369676e65647468696e67736566666563746669656c6473737461746573
- 6f666669636576697375616c656469746f72766f6c756d655265706f72746d75
- 7365756d6d6f76696573706172656e746163636573736d6f73746c796d6f7468
- 6572222069643d226d61726b657467726f756e646368616e6365737572766579
- 6265666f726573796d626f6c6d6f6d656e747370656563686d6f74696f6e696e
- 736964656d617474657243656e7465726f626a6563746578697374736d696464
- 6c654575726f706567726f7774686c65676163796d616e6e6572656e6f756768
- 636172656572616e737765726f726967696e706f7274616c636c69656e747365
- 6c65637472616e646f6d636c6f736564746f70696373636f6d696e6766617468
- 65726f7074696f6e73696d706c7972616973656465736361706563686f73656e
- 636875726368646566696e65726561736f6e636f726e65726f75747075746d65
- 6d6f7279696672616d65706f6c6963656d6f64656c734e756d62657264757269
- 6e676f66666572737374796c65736b696c6c65646c697374656463616c6c6564
- 73696c7665726d617267696e64656c65746562657474657262726f7773656c69
- 6d697473476c6f62616c73696e676c6577696467657463656e74657262756467
- 65746e6f77726170637265646974636c61696d73656e67696e65736166657479
- 63686f6963657370697269742d7374796c657370726561646d616b696e676e65
- 65646564727573736961706c65617365657874656e7453637269707462726f6b
- 656e616c6c6f7773636861726765646976696465666163746f726d656d626572
- 2d62617365647468656f7279636f6e66696761726f756e64776f726b65646865
- 6c706564436875726368696d7061637473686f756c64616c776179736c6f676f
- 2220626f74746f6d6c697374223e297b766172207072656669786f72616e6765
- 4865616465722e7075736828636f75706c6567617264656e6272696467656c61
- 756e636852657669657774616b696e67766973696f6e6c6974746c6564617469
- 6e67427574746f6e6265617574797468656d6573666f72676f74536561726368
- 616e63686f72616c6d6f73746c6f616465644368616e676572657475726e7374
- 72696e6772656c6f61644d6f62696c65696e636f6d65737570706c79536f7572
- 63656f7264657273766965776564266e6273703b636f7572736541626f757420
- 69736c616e643c68746d6c20636f6f6b69656e616d653d22616d617a6f6e6d6f
- 6465726e616476696365696e3c2f613e3a20546865206469616c6f67686f7573
- 6573424547494e204d657869636f73746172747363656e747265686569676874
- 616464696e6749736c616e64617373657473456d706972655363686f6f6c6566
- 666f72746469726563746e6561726c796d616e75616c53656c6563742e0a0a4f
- 6e656a6f696e65646d656e75223e5068696c697061776172647368616e646c65
- 696d706f72744f6666696365726567617264736b696c6c736e6174696f6e5370
- 6f7274736465677265657765656b6c792028652e672e626568696e64646f6374
- 6f726c6f67676564756e697465643c2f623e3c2f626567696e73706c616e7473
- 61737369737461727469737469737375656433303070787c63616e6164616167
- 656e6379736368656d6572656d61696e4272617a696c73616d706c656c6f676f
- 223e6265796f6e642d7363616c656163636570747365727665646d6172696e65
- 466f6f74657263616d6572613c2f68313e0a5f666f726d226c65617665737374
- 7265737322202f3e0d0a2e67696622206f6e6c6f61646c6f616465724f78666f
- 72647369737465727375727669766c697374656e66656d616c6544657369676e
- 73697a653d2261707065616c74657874223e6c6576656c737468616e6b736869
- 67686572666f72636564616e696d616c616e796f6e6541667269636161677265
- 6564726563656e7450656f706c653c6272202f3e776f6e646572707269636573
- 7475726e65647c7c207b7d3b6d61696e223e696e6c696e6573756e6461797772
- 6170223e6661696c656463656e7375736d696e757465626561636f6e71756f74
- 657331353070787c65737461746572656d6f7465656d61696c226c696e6b6564
- 72696768743b7369676e616c666f726d616c312e68746d6c7369676e75707072
- 696e6365666c6f61743a2e706e672220666f72756d2e41636365737370617065
- 7273736f756e6473657874656e64486569676874736c696465725554462d3822
- 26616d703b204265666f72652e205769746873747564696f6f776e6572736d61
- 6e61676570726f6669746a5175657279616e6e75616c706172616d73626f7567
- 687466616d6f7573676f6f676c656c6f6e676572692b2b29207b69737261656c
- 736179696e67646563696465686f6d65223e686561646572656e737572656272
- 616e6368706965636573626c6f636b3b737461746564746f70223e3c72616369
- 6e67726573697a652d2d2667743b70616369747973657875616c627572656175
- 2e6a7067222031302c3030306f627461696e7469746c6573616d6f756e742c20
- 496e632e636f6d6564796d656e7522206c7972696373746f6461792e696e6465
- 6564636f756e74795f6c6f676f2e46616d696c796c6f6f6b65644d61726b6574
- 6c7365206966506c617965727475726b6579293b76617220666f726573746769
- 76696e676572726f7273446f6d61696e7d656c73657b696e73657274426c6f67
- 3c2f666f6f7465726c6f67696e2e6661737465726167656e74733c626f647920
- 313070782030707261676d616672696461796a756e696f72646f6c6c6172706c
- 61636564636f76657273706c7567696e352c3030302070616765223e626f7374
- 6f6e2e74657374286176617461727465737465645f636f756e74666f72756d73
- 736368656d61696e6465782c66696c6c6564736861726573726561646572616c
- 657274286170706561725375626d69746c696e65223e626f6479223e0a2a2054
- 686554686f756768736565696e676a65727365794e6577733c2f766572696679
- 657870657274696e6a75727977696474683d436f6f6b69655354415254206163
- 726f73735f696d6167657468726561646e6174697665706f636b6574626f7822
- 3e0a53797374656d20446176696463616e6365727461626c657370726f766564
- 417072696c207265616c6c796472697665726974656d223e6d6f7265223e626f
- 61726473636f6c6f727363616d7075736669727374207c7c205b5d3b6d656469
- 612e67756974617266696e69736877696474683a73686f7765644f7468657220
- 2e7068702220617373756d656c617965727377696c736f6e73746f7265737265
- 6c69656673776564656e437573746f6d656173696c7920796f75722053747269
- 6e670a0a5768696c7461796c6f72636c6561723a7265736f72746672656e6368
- 74686f7567682229202b20223c626f64793e627579696e676272616e64734d65
- 6d6265726e616d65223e6f7070696e67736563746f723570783b223e76737061
- 6365706f737465726d616a6f7220636f666665656d617274696e6d6174757265
- 68617070656e3c2f6e61763e6b616e7361736c696e6b223e496d616765733d66
- 616c73657768696c65206873706163653026616d703b200a0a496e2020706f77
- 6572506f6c736b692d636f6c6f726a6f7264616e426f74746f6d537461727420
- 2d636f756e74322e68746d6c6e657773223e30312e6a70674f6e6c696e652d72
- 696768746d696c6c657273656e696f724953424e2030302c3030302067756964
- 657376616c756529656374696f6e7265706169722e786d6c2220207269676874
- 732e68746d6c2d626c6f636b7265674578703a686f76657277697468696e7669
- 7267696e70686f6e65733c2f74723e0d7573696e67200a09766172203e27293b
- 0a093c2f74643e0a3c2f74723e0a62616861736162726173696c67616c65676f
- 6d6167796172706f6c736b69737270736b69d8b1d8afd988e4b8ade69687e7ae
- 80e4bd93e7b981e9ab94e4bfa1e681afe4b8ade59bbde68891e4bbace4b880e4
- b8aae585ace58fb8e7aea1e79086e8aebae59d9be58fafe4bba5e69c8de58aa1
- e697b6e997b4e4b8aae4babae4baa7e59381e887aae5b7b1e4bc81e4b89ae69f
- a5e79c8be5b7a5e4bd9ce88194e7b3bbe6b2a1e69c89e7bd91e7ab99e68980e6
- 9c89e8af84e8aebae4b8ade5bf83e69687e7aba0e794a8e688b7e9a696e9a1b5
- e4bd9ce88085e68a80e69cafe997aee9a298e79bb8e585b3e4b88be8bdbde690
- 9ce7b4a2e4bdbfe794a8e8bdafe4bbb6e59ca8e7babfe4b8bbe9a298e8b584e6
- 9699e8a786e9a291e59b9ee5a48de6b3a8e5868ce7bd91e7bb9ce694b6e8978f
- e58685e5aeb9e68ea8e88d90e5b882e59cbae6b688e681afe7a9bae997b4e58f
- 91e5b883e4bb80e4b988e5a5bde58f8be7949fe6b4bbe59bbee78987e58f91e5
- b195e5a682e69e9ce6898be69cbae696b0e997bbe69c80e696b0e696b9e5bc8f
- e58c97e4baace68f90e4be9be585b3e4ba8ee69bb4e5a49ae8bf99e4b8aae7b3
- bbe7bb9fe79fa5e98193e6b8b8e6888fe5b9bfe5918ae585b6e4bb96e58f91e8
- a1a8e5ae89e585a8e7acace4b880e4bc9ae59198e8bf9be8a18ce782b9e587bb
- e78988e69d83e794b5e5ad90e4b896e7958ce8aebee8aea1e5858de8b4b9e695
- 99e882b2e58aa0e585a5e6b4bbe58aa8e4bb96e4bbace59586e59381e58d9ae5
- aea2e78eb0e59ca8e4b88ae6b5b7e5a682e4bd95e5b7b2e7bb8fe79599e8a880
- e8afa6e7bb86e7a4bee58cbae799bbe5bd95e69cace7ab99e99c80e8a681e4bb
- b7e6a0bce694afe68c81e59bbde99985e993bee68ea5e59bbde5aeb6e5bbbae8
- aebee69c8be58f8be99885e8afbbe6b395e5be8be4bd8de7bdaee7bb8fe6b58e
- e98089e68ba9e8bf99e6a0b7e5bd93e5898de58886e7b1bbe68e92e8a18ce59b
- a0e4b8bae4baa4e69893e69c80e5908ee99fb3e4b990e4b88de883bde9809ae8
- bf87e8a18ce4b89ae7a791e68a80e58fafe883bde8aebee5a487e59088e4bd9c
- e5a4a7e5aeb6e7a4bee4bc9ae7a094e7a9b6e4b893e4b89ae585a8e983a8e9a1
- b9e79baee8bf99e9878ce8bf98e698afe5bc80e5a78be68385e586b5e794b5e8
- 8491e69687e4bbb6e59381e7898ce5b8aee58aa9e69687e58c96e8b584e6ba90
- e5a4a7e5ada6e5ada6e4b9a0e59cb0e59d80e6b58fe8a788e68a95e8b584e5b7
- a5e7a88be8a681e6b182e6808ee4b988e697b6e58099e58a9fe883bde4b8bbe8
- a681e79baee5898de8b584e8aeafe59f8ee5b882e696b9e6b395e794b5e5bdb1
- e68b9be88198e5a3b0e6988ee4bbbbe4bd95e581a5e5bab7e695b0e68daee7be
- 8ee59bbde6b1bde8bda6e4bb8be7bb8de4bd86e698afe4baa4e6b581e7949fe4
- baa7e68980e4bba5e794b5e8af9de698bee7a4bae4b880e4ba9be58d95e4bd8d
- e4babae59198e58886e69e90e59cb0e59bbee69785e6b8b8e5b7a5e585b7e5ad
- a6e7949fe7b3bbe58897e7bd91e58f8be5b896e5ad90e5af86e7a081e9a291e9
- 8193e68ea7e588b6e59cb0e58cbae59fbae69cace585a8e59bbde7bd91e4b88a
- e9878de8a681e7acace4ba8ce5969ce6aca2e8bf9be585a5e58f8be68385e8bf
- 99e4ba9be88083e8af95e58f91e78eb0e59fb9e8aeade4bba5e4b88ae694bfe5
- ba9ce68890e4b8bae78eafe5a283e9a699e6b8afe5908ce697b6e5a8b1e4b990
- e58f91e98081e4b880e5ae9ae5bc80e58f91e4bd9ce59381e6a087e58786e6ac
- a2e8bf8ee8a7a3e586b3e59cb0e696b9e4b880e4b88be4bba5e58f8ae8b4a3e4
- bbbbe68896e88085e5aea2e688b7e4bba3e8a1a8e7a7afe58886e5a5b3e4baba
- e695b0e7a081e99480e594aee587bae78eb0e7a6bbe7babfe5ba94e794a8e588
- 97e8a1a8e4b88de5908ce7bc96e8be91e7bb9fe8aea1e69fa5e8afa2e4b88de8
- a681e69c89e585b3e69cbae69e84e5be88e5a49ae692ade694bee7bb84e7bb87
- e694bfe7ad96e79bb4e68ea5e883bde58a9be69da5e6ba90e69982e99693e79c
- 8be588b0e783ade997a8e585b3e994aee4b893e58cbae99d9ee5b8b8e88bb1e8
- afade799bee5baa6e5b88ce69c9be7be8ee5a5b3e6af94e8be83e79fa5e8af86
- e8a784e5ae9ae5bbbae8aeaee983a8e997a8e6848fe8a781e7b2bee5bda9e697
- a5e69cace68f90e9ab98e58f91e8a880e696b9e99da2e59fbae98791e5a484e7
- 9086e69d83e99990e5bdb1e78987e993b6e8a18ce8bf98e69c89e58886e4baab
- e789a9e59381e7bb8fe890a5e6b7bbe58aa0e4b893e5aeb6e8bf99e7a78de8af
- 9de9a298e8b5b7e69da5e4b89ae58aa1e585ace5918ae8aeb0e5bd95e7ae80e4
- bb8be8b4a8e9878fe794b7e4babae5bdb1e5938de5bc95e794a8e68aa5e5918a
- e983a8e58886e5bfabe9809fe592a8e8afa2e697b6e5b09ae6b3a8e6848fe794
- b3e8afb7e5ada6e6a0a1e5ba94e8afa5e58e86e58fb2e58faae698afe8bf94e5
- 9b9ee8b4ade4b9b0e5908de7a7b0e4b8bae4ba86e68890e58a9fe8afb4e6988e
- e4be9be5ba94e5ada9e5ad90e4b893e9a298e7a88be5ba8fe4b880e888ace69c
- 83e593a1e58faae69c89e585b6e5ae83e4bf9de68aa4e8808ce4b894e4bb8ae5
- a4a9e7aa97e58fa3e58aa8e68081e78ab6e68081e789b9e588abe8aea4e4b8ba
- e5bf85e9a1bbe69bb4e696b0e5b08fe8afb4e68891e58091e4bd9ce4b8bae5aa
- 92e4bd93e58c85e68bace982a3e4b988e4b880e6a0b7e59bbde58685e698afe5
- 90a6e6a0b9e68daee794b5e8a786e5ada6e999a2e585b7e69c89e8bf87e7a88b
- e794b1e4ba8ee4babae6898de587bae69da5e4b88de8bf87e6ada3e59ca8e698
- 8ee6989fe69585e4ba8be585b3e7b3bbe6a087e9a298e59586e58aa1e8be93e5
- 85a5e4b880e79bb4e59fbae7a180e69599e5ada6e4ba86e8a7a3e5bbbae7ad91
- e7bb93e69e9ce585a8e79083e9809ae79fa5e8aea1e58892e5afb9e4ba8ee889
- bae69cafe79bb8e5868ce58f91e7949fe79c9fe79a84e5bbbae7ab8be7ad89e7
- baa7e7b1bbe59e8be7bb8fe9aa8ce5ae9ee78eb0e588b6e4bd9ce69da5e887aa
- e6a087e7adbee4bba5e4b88be58e9fe5889be697a0e6b395e585b6e4b8ade580
- 8be4babae4b880e58887e68c87e58d97e585b3e997ade99b86e59ba2e7acace4
- b889e585b3e6b3a8e59ba0e6ada4e785a7e78987e6b7b1e59cb3e59586e4b89a
- e5b9bfe5b79ee697a5e69c9fe9ab98e7baa7e69c80e8bf91e7bbbce59088e8a1
- a8e7a4bae4b893e8be91e8a18ce4b8bae4baa4e9809ae8af84e4bbb7e8a789e5
- be97e7b2bee58d8ee5aeb6e5baade5ae8ce68890e6849fe8a789e5ae89e8a385
- e5be97e588b0e982aee4bbb6e588b6e5baa6e9a39fe59381e899bde784b6e8bd
- ace8bdbde68aa5e4bbb7e8aeb0e88085e696b9e6a188e8a18ce694bfe4babae6
- b091e794a8e59381e4b89ce8a5bfe68f90e587bae98592e5ba97e784b6e5908e
- e4bb98e6acbee783ade782b9e4bba5e5898de5ae8ce585a8e58f91e5b896e8ae
- bee7bdaee9a286e5afbce5b7a5e4b89ae58cbbe999a2e79c8be79c8be7bb8fe5
- 85b8e58e9fe59ba0e5b9b3e58fb0e59084e7a78de5a29ee58aa0e69d90e69699
- e696b0e5a29ee4b98be5908ee8818ce4b89ae69588e69e9ce4bb8ae5b9b4e8ae
- bae69687e68891e59bbde5918ae8af89e78988e4b8bbe4bfaee694b9e58f82e4
- b88ee68993e58db0e5bfabe4b990e69cbae6a2b0e8a782e782b9e5ad98e59ca8
- e7b2bee7a59ee88eb7e5be97e588a9e794a8e7bba7e7bbade4bda0e4bbace8bf
- 99e4b988e6a8a1e5bc8fe8afade8a880e883bde5a49fe99b85e8998ee6938de4
- bd9ce9a38ee6a0bce4b880e8b5b7e7a791e5ada6e4bd93e882b2e79fade4bfa1
- e69da1e4bbb6e6b2bbe79697e8bf90e58aa8e4baa7e4b89ae4bc9ae8aeaee5af
- bce888aae58588e7949fe88194e79b9fe58fafe698afe5958fe9a18ce7bb93e6
- 9e84e4bd9ce794a8e8b083e69fa5e8b387e69699e887aae58aa8e8b49fe8b4a3
- e5869ce4b89ae8aebfe997aee5ae9ee696bde68ea5e58f97e8aea8e8aebae982
- a3e4b8aae58f8de9a688e58aa0e5bcbae5a5b3e680a7e88c83e59bb4e69c8de5
- 8b99e4bc91e997b2e4bb8ae697a5e5aea2e69c8de8a780e79c8be58f82e58aa0
- e79a84e8af9de4b880e782b9e4bf9de8af81e59bbee4b9a6e69c89e69588e6b5
- 8be8af95e7a7bbe58aa8e6898de883bde586b3e5ae9ae882a1e7a5a8e4b88de6
- 96ade99c80e6b182e4b88de5be97e58a9ee6b395e4b98be997b4e98787e794a8
- e890a5e99480e68a95e8af89e79baee6a087e788b1e68385e69184e5bdb1e69c
- 89e4ba9be8a487e8a3bde69687e5ada6e69cbae4bc9ae695b0e5ad97e8a385e4
- bfaee8b4ade789a9e5869ce69d91e585a8e99da2e7b2bee59381e585b6e5ae9e
- e4ba8be68385e6b0b4e5b9b3e68f90e7a4bae4b88ae5b882e8b0a2e8b0a2e699
- aee9809ae69599e5b888e4b88ae4bca0e7b1bbe588abe6ad8ce69bb2e68ba5e6
- 9c89e5889be696b0e9858de4bbb6e58faae8a681e697b6e4bba3e8b387e8a88a
- e8bebee588b0e4babae7949fe8aea2e99885e88081e5b888e5b195e7a4bae5bf
- 83e79086e8b4b4e5ad90e7b6b2e7ab99e4b8bbe9a18ce887aae784b6e7baa7e5
- 88abe7ae80e58d95e694b9e99da9e982a3e4ba9be69da5e8afb4e68993e5bc80
- e4bba3e7a081e588a0e999a4e8af81e588b8e88a82e79baee9878de782b9e6ac
- a1e695b8e5a49ae5b091e8a784e58892e8b584e98791e689bee588b0e4bba5e5
- 908ee5a4a7e585a8e4b8bbe9a1b5e69c80e4bdb3e59b9ee7ad94e5a4a9e4b88b
- e4bf9de99a9ce78eb0e4bba3e6a380e69fa5e68a95e7a5a8e5b08fe697b6e6b2
- 92e69c89e6ada3e5b8b8e7949ae887b3e4bba3e79086e79baee5bd95e585ace5
- bc80e5a48de588b6e98791e89e8de5b9b8e7a68fe78988e69cace5bda2e68890
- e58786e5a487e8a18ce68385e59b9ee588b0e6809de683b3e6808ee6a0b7e58d
- 8fe8aeaee8aea4e8af81e69c80e5a5bde4baa7e7949fe68c89e785a7e69c8de8
- a385e5b9bfe4b89ce58aa8e6bcabe98787e8b4ade696b0e6898be7bb84e59bbe
- e99da2e69dbfe58f82e88083e694bfe6b2bbe5aeb9e69893e5a4a9e59cb0e58a
- aae58a9be4babae4bbace58d87e7baa7e9809fe5baa6e4babae789a9e8b083e6
- 95b4e6b581e8a18ce980a0e68890e69687e5ad97e99fa9e59bbde8b4b8e69893
- e5bc80e5b195e79bb8e9979ce8a1a8e78eb0e5bdb1e8a786e5a682e6ada4e7be
- 8ee5aeb9e5a4a7e5b08fe68aa5e98193e69da1e6acbee5bf83e68385e8aeb8e5
- a49ae6b395e8a784e5aeb6e5b185e4b9a6e5ba97e8bf9ee68ea5e7ab8be58db3
- e4b8bee68aa5e68a80e5b7a7e5a5a5e8bf90e799bbe585a5e4bba5e69da5e790
- 86e8aebae4ba8be4bbb6e887aae794b1e4b8ade58d8ee58a9ee585ace5a688e5
- a688e79c9fe6ada3e4b88de99499e585a8e69687e59088e5908ce4bbb7e580bc
- e588abe4babae79b91e79da3e585b7e4bd93e4b896e7baaae59ba2e9989fe588
- 9be4b89ae689bfe68b85e5a29ee995bfe69c89e4babae4bf9de68c81e59586e5
- aeb6e7bbb4e4bfaee58fb0e6b9bee5b7a6e58fb3e882a1e4bbbde7ad94e6a188
- e5ae9ee99985e794b5e4bfa1e7bb8fe79086e7949fe591bde5aea3e4bca0e4bb
- bbe58aa1e6ada3e5bc8fe789b9e889b2e4b88be69da5e58d8fe4bc9ae58faae8
- 83bde5bd93e784b6e9878de696b0e585a7e5aeb9e68c87e5afbce8bf90e8a18c
- e697a5e5bf97e8b3a3e5aeb6e8b685e8bf87e59c9fe59cb0e6b599e6b19fe694
- afe4bb98e68ea8e587bae7ab99e995bfe69dade5b79ee689a7e8a18ce588b6e9
- 80a0e4b98be4b880e68ea8e5b9bfe78eb0e59cbae68f8fe8bfb0e58f98e58c96
- e4bca0e7bb9fe6ad8ce6898be4bf9de999a9e8afbee7a88be58cbbe79697e7bb
- 8fe8bf87e8bf87e58ebbe4b98be5898de694b6e585a5e5b9b4e5baa6e69d82e5
- bf97e7be8ee4b8bde69c80e9ab98e799bbe99986e69caae69da5e58aa0e5b7a5
- e5858de8b4a3e69599e7a88be78988e59d97e8baabe4bd93e9878de5ba86e587
- bae594aee68890e69cace5bda2e5bc8fe59c9fe8b186e587bae583b9e4b89ce6
- 96b9e982aee7aeb1e58d97e4baace6b182e8818ce58f96e5be97e8818ce4bd8d
- e79bb8e4bfa1e9a1b5e99da2e58886e9929fe7bd91e9a1b5e7a1aee5ae9ae59b
- bee4be8be7bd91e59d80e7a7afe69e81e99499e8afafe79baee79a84e5ae9de8
- b49de69cbae585b3e9a38ee999a9e68e88e69d83e79785e6af92e5aea0e789a9
- e999a4e4ba86e8a995e8ab96e796bee79785e58f8ae697b6e6b182e8b4ade7ab
- 99e782b9e584bfe7aba5e6af8fe5a4a9e4b8ade5a4aee8aea4e8af86e6af8fe4
- b8aae5a4a9e6b4a5e5ad97e4bd93e58fb0e781a3e7bbb4e68aa4e69cace9a1b5
- e4b8aae680a7e5ae98e696b9e5b8b8e8a781e79bb8e69cbae68898e795a5e5ba
- 94e5bd93e5be8be5b888e696b9e4bebfe6a0a1e59bade882a1e5b882e688bfe5
- b18be6a08fe79baee59198e5b7a5e5afbce887b4e7aa81e784b6e98193e585b7
- e69cace7bd91e7bb93e59088e6a1a3e6a188e58ab3e58aa8e58fa6e5a496e7be
- 8ee58583e5bc95e8b5b7e694b9e58f98e7acace59b9be4bc9ae8aea1e8aaaae6
- 988ee99a90e7a781e5ae9de5ae9de8a784e88c83e6b688e8b4b9e585b1e5908c
- e5bf98e8aeb0e4bd93e7b3bbe5b8a6e69da5e5908de5ad97e799bce8a1a8e5bc
- 80e694bee58aa0e79b9fe58f97e588b0e4ba8ce6898be5a4a7e9878fe68890e4
- babae695b0e9878fe585b1e4baabe58cbae59f9fe5a5b3e5ada9e58e9fe58899
- e68980e59ca8e7bb93e69d9fe9809ae4bfa1e8b685e7baa7e9858de7bdaee5bd
- 93e697b6e4bc98e7a780e680a7e6849fe688bfe4baa7e9818ae688b2e587bae5
- 8fa3e68f90e4baa4e5b0b1e4b89ae4bf9de581a5e7a88be5baa6e58f82e695b0
- e4ba8be4b89ae695b4e4b8aae5b1b1e4b89ce68385e6849fe789b9e6ae8ae588
- 86e9a19ee6909ce5b08be5b19ee4ba8ee997a8e688b7e8b4a2e58aa1e5a3b0e9
- 9fb3e58f8ae585b6e8b4a2e7bb8fe59d9ae68c81e5b9b2e983a8e68890e7ab8b
- e588a9e79b8ae88083e89991e68890e983bde58c85e8a385e794a8e688b6e6af
- 94e8b59be69687e6988ee68b9be59586e5ae8ce695b4e79c9fe698afe79cbce7
- 9d9be4bc99e4bcb4e5a881e69c9be9a286e59f9fe58dabe7949fe4bc98e683a0
- e8ab96e5a387e585ace585b1e889afe5a5bde58585e58886e7aca6e59088e999
- 84e4bbb6e789b9e782b9e4b88de58fafe88bb1e69687e8b584e4baa7e6a0b9e6
- 9cace6988ee698bee5af86e7a2bce585ace4bc97e6b091e6978fe69bb4e58aa0
- e4baabe58f97e5908ce5ada6e590afe58aa8e98082e59088e58e9fe69da5e997
- aee7ad94e69cace69687e7be8ee9a39fe7bbbfe889b2e7a8b3e5ae9ae7bb88e4
- ba8ee7949fe789a9e4be9be6b182e6909ce78b90e58a9be9878fe4b8a5e9878d
- e6b0b8e8bf9ce58699e79c9fe69c89e99990e7ab9ee4ba89e5afb9e8b1a1e8b4
- b9e794a8e4b88de5a5bde7bb9de5afb9e58d81e58886e4bf83e8bf9be782b9e8
- af84e5bdb1e99fb3e4bc98e58abfe4b88de5b091e6aca3e8b58fe5b9b6e4b894
- e69c89e782b9e696b9e59091e585a8e696b0e4bfa1e794a8e8aebee696bde5bd
- a2e8b1a1e8b584e6a0bce7aa81e7a0b4e99a8fe79d80e9878de5a4a7e4ba8ee6
- 98afe6af95e4b89ae699bae883bde58c96e5b7a5e5ae8ce7be8ee59586e59f8e
- e7bb9fe4b880e587bae78988e68993e980a0e794a2e59381e6a682e586b5e794
- a8e4ba8ee4bf9de79599e59ba0e7b4a0e4b8ade59c8be5ad98e582a8e8b4b4e5
- 9bbee69c80e6849be995bfe69c9fe58fa3e4bbb7e79086e8b4a2e59fbae59cb0
- e5ae89e68e92e6ada6e6b189e9878ce99da2e5889be5bbbae5a4a9e7a9bae9a6
- 96e58588e5ae8ce59684e9a9b1e58aa8e4b88be99da2e4b88de5868de8af9ae4
- bfa1e6848fe4b989e998b3e58589e88bb1e59bbde6bc82e4baaee5869be4ba8b
- e78ea9e5aeb6e7bea4e4bc97e5869ce6b091e58db3e58fafe5908de7a8b1e5ae
- b6e585b7e58aa8e794bbe683b3e588b0e6b3a8e6988ee5b08fe5ada6e680a7e8
- 83bde88083e7a094e7a1ace4bbb6e8a782e79c8be6b885e6a59ae6909ee7ac91
- e9a696e9a081e9bb84e98791e98082e794a8e6b19fe88b8fe79c9fe5ae9ee4b8
- bbe7aea1e998b6e6aeb5e8a8bbe5868ae7bfbbe8af91e69d83e588a9e5819ae5
- a5bde4bcbce4b98ee9809ae8aeafe696bde5b7a5e78b80e6858be4b99fe8aeb8
- e78eafe4bf9de59fb9e585bbe6a682e5bfb5e5a4a7e59e8be69cbae7a5a8e790
- 86e8a7a3e58cbfe5908d6375616e646f656e766961726d616472696462757363
- 6172696e6963696f7469656d706f706f727175656375656e746165737461646f
- 70756564656e6a7565676f73636f6e747261657374c3a16e6e6f6d6272657469
- 656e656e70657266696c6d616e657261616d69676f7363697564616463656e74
- 726f61756e71756570756564657364656e74726f7072696d657270726563696f
- 736567c3ba6e6275656e6f73766f6c76657270756e746f7373656d616e616861
- 62c3ad6161676f73746f6e7565766f73756e69646f736361726c6f7365717569
- 706f6e69c3b16f736d7563686f73616c67756e61636f7272656f696d6167656e
- 7061727469726172726962616d6172c3ad61686f6d627265656d706c656f7665
- 7264616463616d62696f6d7563686173667565726f6e70617361646f6cc3ad6e
- 65617061726563656e7565766173637572736f7365737461626171756965726f
- 6c6962726f736375616e746f61636365736f6d696775656c766172696f736375
- 6174726f7469656e6573677275706f73736572c3a16e6575726f70616d656469
- 6f736672656e746561636572636164656dc3a1736f6665727461636f63686573
- 6d6f64656c6f6974616c69616c6574726173616c67c3ba6e636f6d7072616375
- 616c657365786973746563756572706f7369656e646f7072656e73616c6c6567
- 61727669616a657364696e65726f6d7572636961706f6472c3a170756573746f
- 64696172696f707565626c6f7175696572656d616e75656c70726f70696f6372
- 6973697363696572746f73656775726f6d75657274656675656e746563657272
- 61726772616e646565666563746f7061727465736d656469646170726f706961
- 6f6672656365746965727261652d6d61696c766172696173666f726d61736675
- 7475726f6f626a65746f73656775697272696573676f6e6f726d61736d69736d
- 6f73c3ba6e69636f63616d696e6f736974696f7372617ac3b36e64656269646f
- 707275656261746f6c65646f74656ec3ad616a6573c3ba7365737065726f636f
- 63696e616f726967656e7469656e64616369656e746f63c3a164697a6861626c
- 6172736572c3ad616c6174696e61667565727a61657374696c6f677565727261
- 656e74726172c3a97869746f6cc3b370657a6167656e646176c3ad64656f6576
- 69746172706167696e616d6574726f736a617669657270616472657366c3a163
- 696c636162657a61c3a17265617373616c696461656e76c3ad6f6a6170c3b36e
- 616275736f736269656e6573746578746f736c6c6576617270756564616e6675
- 65727465636f6dc3ba6e636c6173657368756d616e6f74656e69646f62696c62
- 616f756e69646164657374c3a17365646974617263726561646fd0b4d0bbd18f
- d187d182d0bed0bad0b0d0bad0b8d0bbd0b8d18dd182d0bed0b2d181d0b5d0b5
- d0b3d0bed0bfd180d0b8d182d0b0d0bad0b5d189d0b5d183d0b6d0b5d09ad0b0
- d0bad0b1d0b5d0b7d0b1d18bd0bbd0bed0bdd0b8d092d181d0b5d0bfd0bed0b4
- d0add182d0bed182d0bed0bcd187d0b5d0bcd0bdd0b5d182d0bbd0b5d182d180
- d0b0d0b7d0bed0bdd0b0d0b3d0b4d0b5d0bcd0bdd0b5d094d0bbd18fd09fd180
- d0b8d0bdd0b0d181d0bdd0b8d185d182d0b5d0bcd0bad182d0bed0b3d0bed0b4
- d0b2d0bed182d182d0b0d0bcd0a1d0a8d090d0bcd0b0d18fd0a7d182d0bed0b2
- d0b0d181d0b2d0b0d0bcd0b5d0bcd183d0a2d0b0d0bad0b4d0b2d0b0d0bdd0b0
- d0bcd18dd182d0b8d18dd182d183d092d0b0d0bcd182d0b5d185d0bfd180d0be
- d182d183d182d0bdd0b0d0b4d0b4d0bdd18fd092d0bed182d182d180d0b8d0bd
- d0b5d0b9d092d0b0d181d0bdd0b8d0bcd181d0b0d0bcd182d0bed182d180d183
- d0b1d09ed0bdd0b8d0bcd0b8d180d0bdd0b5d0b5d09ed09ed09ed0bbd0b8d186
- d18dd182d0b0d09ed0bdd0b0d0bdd0b5d0bcd0b4d0bed0bcd0bcd0bed0b9d0b4
- d0b2d0b5d0bed0bdd0bed181d183d0b4e0a495e0a587e0a4b9e0a588e0a495e0
- a580e0a4b8e0a587e0a495e0a4bee0a495e0a58be0a494e0a4b0e0a4aae0a4b0
- e0a4a8e0a587e0a48fe0a495e0a495e0a4bfe0a4ade0a580e0a487e0a4b8e0a4
- 95e0a4b0e0a4a4e0a58be0a4b9e0a58be0a486e0a4aae0a4b9e0a580e0a4afe0
- a4b9e0a4afe0a4bee0a4a4e0a495e0a4a5e0a4be6a616772616ee0a486e0a49c
- e0a49ce0a58be0a485e0a4ace0a4a6e0a58be0a497e0a488e0a49ce0a4bee0a4
- 97e0a48fe0a4b9e0a4aee0a487e0a4a8e0a4b5e0a4b9e0a4afe0a587e0a4a5e0
- a587e0a4a5e0a580e0a498e0a4b0e0a49ce0a4ace0a4a6e0a580e0a495e0a488
- e0a49ce0a580e0a4b5e0a587e0a4a8e0a488e0a4a8e0a48fe0a4b9e0a4b0e0a4
- 89e0a4b8e0a4aee0a587e0a495e0a4aee0a4b5e0a58be0a4b2e0a587e0a4b8e0
- a4ace0a4aee0a488e0a4a6e0a587e0a493e0a4b0e0a486e0a4aee0a4ace0a4b8
- e0a4ade0a4b0e0a4ace0a4a8e0a49ae0a4b2e0a4aee0a4a8e0a486e0a497e0a4
- b8e0a580e0a4b2e0a580d8b9d984d989d8a5d984d989d987d8b0d8a7d8a2d8ae
- d8b1d8b9d8afd8afd8a7d984d989d987d8b0d987d8b5d988d8b1d8bad98ad8b1
- d983d8a7d986d988d984d8a7d8a8d98ad986d8b9d8b1d8b6d8b0d984d983d987
- d986d8a7d98ad988d985d982d8a7d984d8b9d984d98ad8a7d986d8a7d984d983
- d986d8add8aad989d982d8a8d984d988d8add8a9d8a7d8aed8b1d981d982d8b7
- d8b9d8a8d8afd8b1d983d986d8a5d8b0d8a7d983d985d8a7d8a7d8add8afd8a5
- d984d8a7d981d98ad987d8a8d8b9d8b6d983d98ad981d8a8d8add8abd988d985
- d986d988d987d988d8a3d986d8a7d8acd8afd8a7d984d987d8a7d8b3d984d985
- d8b9d986d8afd984d98ad8b3d8b9d8a8d8b1d8b5d984d989d985d986d8b0d8a8
- d987d8a7d8a3d986d987d985d8abd984d983d986d8aad8a7d984d8a7d8add98a
- d8abd985d8b5d8b1d8b4d8b1d8add8add988d984d988d981d98ad8a7d8b0d8a7
- d984d983d984d985d8b1d8a9d8a7d986d8aad8a7d984d981d8a3d8a8d988d8ae
- d8a7d8b5d8a3d986d8aad8a7d986d987d8a7d984d98ad8b9d8b6d988d988d982
- d8afd8a7d8a8d986d8aed98ad8b1d8a8d986d8aad984d983d985d8b4d8a7d8a1
- d988d987d98ad8a7d8a8d988d982d8b5d8b5d988d985d8a7d8b1d982d985d8a3
- d8add8afd986d8add986d8b9d8afd985d8b1d8a3d98ad8a7d8add8a9d983d8aa
- d8a8d8afd988d986d98ad8acd8a8d985d986d987d8aad8add8aad8acd987d8a9
- d8b3d986d8a9d98ad8aad985d983d8b1d8a9d8bad8b2d8a9d986d981d8b3d8a8
- d98ad8aad984d984d987d984d986d8a7d8aad984d983d982d984d8a8d984d985
- d8a7d8b9d986d987d8a3d988d984d8b4d98ad8a1d986d988d8b1d8a3d985d8a7
- d981d98ad983d8a8d983d984d8b0d8a7d8aad8b1d8aad8a8d8a8d8a3d986d987
- d985d8b3d8a7d986d983d8a8d98ad8b9d981d982d8afd8add8b3d986d984d987
- d985d8b4d8b9d8b1d8a3d987d984d8b4d987d8b1d982d8b7d8b1d8b7d984d8a8
- 70726f66696c657365727669636564656661756c7468696d73656c6664657461
- 696c73636f6e74656e74737570706f7274737461727465646d65737361676573
- 75636365737366617368696f6e3c7469746c653e636f756e7472796163636f75
- 6e746372656174656473746f72696573726573756c747372756e6e696e677072
- 6f6365737377726974696e676f626a6563747376697369626c6577656c636f6d
- 6561727469636c65756e6b6e6f776e6e6574776f726b636f6d70616e7964796e
- 616d696362726f777365727072697661637970726f626c656d53657276696365
- 72657370656374646973706c6179726571756573747265736572766577656273
- 697465686973746f7279667269656e64736f7074696f6e73776f726b696e6776
- 657273696f6e6d696c6c696f6e6368616e6e656c77696e646f772e6164647265
- 73737669736974656477656174686572636f727265637470726f647563746564
- 6972656374666f7277617264796f752063616e72656d6f7665647375626a6563
- 74636f6e74726f6c6172636869766563757272656e7472656164696e676c6962
- 726172796c696d697465646d616e616765726675727468657273756d6d617279
- 6d616368696e656d696e7574657370726976617465636f6e7465787470726f67
- 72616d736f63696574796e756d626572737772697474656e656e61626c656474
- 726967676572736f75726365736c6f6164696e67656c656d656e74706172746e
- 657266696e616c6c79706572666563746d65616e696e6773797374656d736b65
- 6570696e6763756c747572652671756f743b2c6a6f75726e616c70726f6a6563
- 7473757266616365732671756f743b657870697265737265766965777362616c
- 616e6365456e676c697368436f6e74656e747468726f756768506c6561736520
- 6f70696e696f6e636f6e74616374617665726167657072696d61727976696c6c
- 6167655370616e69736867616c6c6572796465636c696e656d656574696e676d
- 697373696f6e706f70756c61727175616c6974796d65617375726567656e6572
- 616c7370656369657373657373696f6e73656374696f6e77726974657273636f
- 756e746572696e697469616c7265706f727473666967757265736d656d626572
- 73686f6c64696e67646973707574656561726c69657265787072657373646967
- 6974616c70696374757265416e6f746865726d61727269656474726166666963
- 6c656164696e676368616e67656463656e7472616c766963746f7279696d6167
- 65732f726561736f6e7373747564696573666561747572656c697374696e676d
- 7573742062657363686f6f6c7356657273696f6e757375616c6c79657069736f
- 6465706c6179696e6767726f77696e676f6276696f75736f7665726c61797072
- 6573656e74616374696f6e733c2f756c3e0d0a77726170706572616c72656164
- 796365727461696e7265616c69747973746f72616765616e6f74686572646573
- 6b746f706f6666657265647061747465726e756e757375616c4469676974616c
- 6361706974616c576562736974656661696c757265636f6e6e65637472656475
- 636564416e64726f696464656361646573726567756c61722026616d703b2061
- 6e696d616c7372656c656173654175746f6d617467657474696e676d6574686f
- 64736e6f7468696e67506f70756c617263617074696f6e6c6574746572736361
- 7074757265736369656e63656c6963656e73656368616e676573456e676c616e
- 643d3126616d703b486973746f7279203d206e65772043656e7472616c757064
- 617465645370656369616c4e6574776f726b72657175697265636f6d6d656e74
- 7761726e696e67436f6c6c656765746f6f6c62617272656d61696e7362656361
- 757365656c65637465644465757473636866696e616e6365776f726b65727371
- 7569636b6c796265747765656e65786163746c7973657474696e676469736561
- 7365536f6369657479776561706f6e7365786869626974266c743b212d2d436f
- 6e74726f6c636c6173736573636f76657265646f75746c696e6561747461636b
- 73646576696365732877696e646f77707572706f73657469746c653d224d6f62
- 696c65206b696c6c696e6773686f77696e674974616c69616e64726f70706564
- 68656176696c79656666656374732d31275d293b0a636f6e6669726d43757272
- 656e74616476616e636573686172696e676f70656e696e6764726177696e6762
- 696c6c696f6e6f7264657265644765726d616e7972656c617465643c2f666f72
- 6d3e696e636c75646577686574686572646566696e6564536369656e63656361
- 74616c6f6741727469636c65627574746f6e736c617267657374756e69666f72
- 6d6a6f75726e6579736964656261724368696361676f686f6c6964617947656e
- 6572616c706173736167652c2671756f743b616e696d6174656665656c696e67
- 6172726976656470617373696e676e61747572616c726f7567686c792e0a0a54
- 686520627574206e6f7464656e736974794272697461696e4368696e6573656c
- 61636b206f66747269627574654972656c616e642220646174612d666163746f
- 727372656365697665746861742069734c69627261727968757362616e64696e
- 206661637461666661697273436861726c65737261646963616c62726f756768
- 7466696e64696e676c616e64696e673a6c616e673d2272657475726e206c6561
- 64657273706c616e6e65647072656d69756d7061636b616765416d6572696361
- 45646974696f6e5d2671756f743b4d6573736167656e65656420746f76616c75
- 653d22636f6d706c65786c6f6f6b696e6773746174696f6e62656c6965766573
- 6d616c6c65722d6d6f62696c657265636f72647377616e7420746f6b696e6420
- 6f6646697265666f78796f752061726573696d696c6172737475646965646d61
- 78696d756d68656164696e6772617069646c79636c696d6174656b696e67646f
- 6d656d6572676564616d6f756e7473666f756e64656470696f6e656572666f72
- 6d756c6164796e61737479686f7720746f20537570706f7274726576656e7565
- 65636f6e6f6d79526573756c747362726f74686572736f6c646965726c617267
- 656c7963616c6c696e672e2671756f743b4163636f756e744564776172642073
- 65676d656e74526f62657274206566666f727473506163696669636c6561726e
- 6564757020776974686865696768743a77652068617665416e67656c65736e61
- 74696f6e735f7365617263686170706c696564616371756972656d6173736976
- 656772616e7465643a2066616c7365747265617465646269676765737462656e
- 6566697464726976696e67537475646965736d696e696d756d70657268617073
- 6d6f726e696e6773656c6c696e67697320757365647265766572736576617269
- 616e7420726f6c653d226d697373696e676163686965766570726f6d6f746573
- 747564656e74736f6d656f6e6565787472656d65726573746f7265626f74746f
- 6d3a65766f6c766564616c6c20746865736974656d6170656e676c6973687761
- 7920746f202041756775737473796d626f6c73436f6d70616e796d6174746572
- 736d75736963616c616761696e737473657276696e677d2928293b0d0a706179
- 6d656e7474726f75626c65636f6e63657074636f6d70617265706172656e7473
- 706c6179657273726567696f6e736d6f6e69746f722027275468652077696e6e
- 696e676578706c6f72656164617074656447616c6c65727970726f6475636561
- 62696c697479656e68616e636563617265657273292e2054686520636f6c6c65
- 637453656172636820616e6369656e7465786973746564666f6f746572206861
- 6e646c65727072696e746564636f6e736f6c654561737465726e6578706f7274
- 7377696e646f77734368616e6e656c696c6c6567616c6e65757472616c737567
- 676573745f6865616465727369676e696e672e68746d6c223e736574746c6564
- 7765737465726e63617573696e672d7765626b6974636c61696d65644a757374
- 6963656368617074657276696374696d7354686f6d6173206d6f7a696c6c6170
- 726f6d6973657061727469657365646974696f6e6f7574736964653a66616c73
- 652c68756e647265644f6c796d7069635f627574746f6e617574686f72737265
- 61636865646368726f6e696364656d616e64737365636f6e647370726f746563
- 7461646f70746564707265706172656e65697468657267726561746c79677265
- 617465726f766572616c6c696d70726f7665636f6d6d616e647370656369616c
- 7365617263682e776f727368697066756e64696e6774686f7567687468696768
- 657374696e73746561647574696c6974797175617274657243756c7475726574
- 657374696e67636c6561726c796578706f73656442726f777365726c69626572
- 616c7d20636174636850726f6a6563746578616d706c656869646528293b466c
- 6f72696461616e7377657273616c6c6f776564456d7065726f72646566656e73
- 65736572696f757366726565646f6d5365766572616c2d627574746f6e467572
- 746865726f7574206f6620213d206e756c6c747261696e656444656e6d61726b
- 766f69642830292f616c6c2e6a7370726576656e745265717565737453746570
- 68656e0a0a5768656e206f6273657276653c2f68323e0d0a4d6f6465726e2070
- 726f766964652220616c743d22626f72646572732e0a0a466f72200a0a4d616e
- 792061727469737473706f7765726564706572666f726d66696374696f6e7479
- 7065206f666d65646963616c7469636b6574736f70706f736564436f756e6369
- 6c7769746e6573736a75737469636547656f7267652042656c6769756d2e2e2e
- 3c2f613e747769747465726e6f7461626c7977616974696e6777617266617265
- 204f746865722072616e6b696e67706872617365736d656e74696f6e73757276
- 6976657363686f6c61723c2f703e0d0a20436f756e74727969676e6f7265646c
- 6f7373206f666a75737420617347656f72676961737472616e67653c68656164
- 3e3c73746f7070656431275d293b0d0a69736c616e64736e6f7461626c65626f
- 726465723a6c697374206f66636172726965643130302c3030303c2f68333e0a
- 207365766572616c6265636f6d657373656c6563742077656464696e6730302e
- 68746d6c6d6f6e617263686f66662074686574656163686572686967686c7920
- 62696f6c6f67796c696665206f666f72206576656e72697365206f6626726171
- 756f3b706c75736f6e6568756e74696e672874686f756768446f75676c61736a
- 6f696e696e67636972636c6573466f7220746865416e6369656e74566965746e
- 616d76656869636c65737563682061736372797374616c76616c7565203d5769
- 6e646f7773656e6a6f7965646120736d616c6c617373756d65643c612069643d
- 22666f726569676e20416c6c207269686f7720746865446973706c6179726574
- 69726564686f776576657268696464656e3b626174746c65737365656b696e67
- 636162696e6574776173206e6f746c6f6f6b206174636f6e6475637467657420
- 7468654a616e7561727968617070656e737475726e696e67613a686f7665724f
- 6e6c696e65204672656e6368206c61636b696e677479706963616c6578747261
- 6374656e656d6965736576656e20696667656e65726174646563696465646172
- 65206e6f742f73656172636862656c696566732d696d6167653a6c6f63617465
- 647374617469632e6c6f67696e223e636f6e7665727476696f6c656e74656e74
- 657265646669727374223e6369726375697446696e6c616e646368656d697374
- 73686520776173313070783b223e61732073756368646976696465643c2f7370
- 616e3e77696c6c2062656c696e65206f66612067726561746d7973746572792f
- 696e6465782e66616c6c696e6764756520746f207261696c776179636f6c6c65
- 67656d6f6e7374657264657363656e74697420776974686e75636c6561724a65
- 776973682070726f7465737442726974697368666c6f77657273707265646963
- 747265666f726d73627574746f6e2077686f207761736c656374757265696e73
- 74616e747375696369646567656e65726963706572696f64736d61726b657473
- 536f6369616c2066697368696e67636f6d62696e656772617068696377696e6e
- 6572733c6272202f3e3c627920746865204e61747572616c5072697661637963
- 6f6f6b6965736f7574636f6d657265736f6c7665537765646973686272696566
- 6c795065727369616e736f206d75636843656e7475727964657069637473636f
- 6c756d6e73686f7573696e67736372697074736e65787420746f62656172696e
- 676d617070696e67726576697365646a5175657279282d77696474683a746974
- 6c65223e746f6f6c74697053656374696f6e64657369676e735475726b697368
- 796f756e6765722e6d61746368287d2928293b0a0a6275726e696e676f706572
- 61746564656772656573736f757263653d52696368617264636c6f73656c7970
- 6c6173746963656e74726965733c2f74723e0d0a636f6c6f723a23756c206964
- 3d22706f7373657373726f6c6c696e67706879736963736661696c696e676578
- 6563757465636f6e746573746c696e6b20746f44656661756c743c6272202f3e
- 0a3a20747275652c63686172746572746f757269736d636c617373696370726f
- 636565646578706c61696e3c2f68313e0d0a6f6e6c696e652e3f786d6c207665
- 68656c70696e676469616d6f6e64757365207468656169726c696e65656e6420
- 2d2d3e292e617474722872656164657273686f7374696e672366666666666672
- 65616c697a6556696e63656e747369676e616c73207372633d222f50726f6475
- 6374646573706974656469766572736574656c6c696e675075626c6963206865
- 6c6420696e4a6f736570682074686561747265616666656374733c7374796c65
- 3e61206c61726765646f65736e27746c617465722c20456c656d656e74666176
- 69636f6e63726561746f7248756e67617279416972706f727473656520746865
- 736f20746861744d69636861656c53797374656d7350726f6772616d732c2061
- 6e64202077696474683d652671756f743b74726164696e676c656674223e0a70
- 6572736f6e73476f6c64656e20416666616972736772616d6d6172666f726d69
- 6e6764657374726f7969646561206f6663617365206f666f6c64657374207468
- 69732069732e737263203d20636172746f6f6e72656769737472436f6d6d6f6e
- 734d75736c696d7357686174206973696e206d616e796d61726b696e67726576
- 65616c73496e646565642c657175616c6c792f73686f775f616f7574646f6f72
- 657363617065284175737472696167656e6574696373797374656d2c496e2074
- 68652073697474696e67486520616c736f49736c616e647341636164656d790a
- 09093c212d2d44616e69656c2062696e64696e67626c6f636b223e696d706f73
- 65647574696c697a654162726168616d286578636570747b77696474683a7075
- 7474696e67292e68746d6c287c7c205b5d3b0a444154415b202a6b6974636865
- 6e6d6f756e74656461637475616c206469616c6563746d61696e6c79205f626c
- 616e6b27696e7374616c6c6578706572747369662874797065497420616c736f
- 26636f70793b20223e5465726d73626f726e20696e4f7074696f6e7365617374
- 65726e74616c6b696e67636f6e6365726e6761696e6564206f6e676f696e676a
- 75737469667963726974696373666163746f7279697473206f776e6173736175
- 6c74696e76697465646c617374696e67686973206f776e687265663d222f2220
- 72656c3d22646576656c6f70636f6e636572746469616772616d646f6c6c6172
- 73636c75737465727068703f69643d616c636f686f6c293b7d2928293b757369
- 6e6720613e3c7370616e3e76657373656c737265766976616c41646472657373
- 616d6174657572616e64726f6964616c6c65676564696c6c6e65737377616c6b
- 696e6763656e746572737175616c6966796d617463686573756e696669656465
- 7874696e6374446566656e73656469656420696e0a093c212d2d20637573746f
- 6d736c696e6b696e674c6974746c6520426f6f6b206f666576656e696e676d69
- 6e2e6a733f617265207468656b6f6e74616b74746f64617927732e68746d6c22
- 207461726765743d77656172696e67416c6c205269673b0a7d2928293b726169
- 73696e6720416c736f2c206372756369616c61626f7574223e6465636c617265
- 2d2d3e0a3c736366697265666f786173206d7563686170706c696573696e6465
- 782c20732c206275742074797065203d200a0d0a3c212d2d746f776172647352
- 65636f72647350726976617465466f726569676e5072656d69657263686f6963
- 65735669727475616c72657475726e73436f6d6d656e74506f7765726564696e
- 6c696e653b706f76657274796368616d6265724c6976696e6720766f6c756d65
- 73416e74686f6e796c6f67696e222052656c6174656445636f6e6f6d79726561
- 6368657363757474696e67677261766974796c69666520696e43686170746572
- 2d736861646f774e6f7461626c653c2f74643e0d0a2072657475726e73746164
- 69756d7769646765747376617279696e6774726176656c7368656c6420627977
- 686f20617265776f726b20696e666163756c7479616e67756c617277686f2068
- 6164616972706f7274746f776e206f660a0a536f6d652027636c69636b276368
- 61726765736b6579776f726469742077696c6c63697479206f66287468697329
- 3b416e6472657720756e6971756520636865636b65646f72206d6f7265333030
- 70783b2072657475726e3b7273696f6e3d22706c7567696e7377697468696e20
- 68657273656c6653746174696f6e4665646572616c76656e747572657075626c
- 69736873656e7420746f74656e73696f6e61637472657373636f6d6520746f66
- 696e6765727344756b65206f6670656f706c652c6578706c6f69747768617420
- 69736861726d6f6e7961206d616a6f72223a2268747470696e20686973206d65
- 6e75223e0a6d6f6e74686c796f666669636572636f756e63696c6761696e696e
- 676576656e20696e53756d6d61727964617465206f666c6f79616c7479666974
- 6e657373616e6420776173656d7065726f7273757072656d655365636f6e6420
- 68656172696e675275737369616e6c6f6e67657374416c62657274616c617465
- 72616c736574206f6620736d616c6c223e2e617070656e64646f207769746866
- 65646572616c62616e6b206f6662656e65617468446573706974654361706974
- 616c67726f756e6473292c20616e642070657263656e7469742066726f6d636c
- 6f73696e67636f6e7461696e496e73746561646669667465656e61732077656c
- 6c2e7961686f6f2e726573706f6e64666967687465726f627363757265726566
- 6c6563746f7267616e69633d204d6174682e65646974696e676f6e6c696e6520
- 70616464696e67612077686f6c656f6e6572726f7279656172206f66656e6420
- 6f6620626172726965727768656e20697468656164657220686f6d65206f6672
- 6573756d656472656e616d65647374726f6e673e68656174696e677265746169
- 6e73636c6f75646672776179206f66204d6172636820316b6e6f77696e67696e
- 20706172744265747765656e6c6573736f6e73636c6f73657374766972747561
- 6c6c696e6b73223e63726f73736564454e44202d2d3e66616d6f757320617761
- 726465644c6963656e73654865616c746820666169726c79207765616c746879
- 6d696e696d616c4166726963616e636f6d706574656c6162656c223e73696e67
- 696e676661726d65727342726173696c29646973637573737265706c61636547
- 7265676f7279666f6e7420636f70757273756564617070656172736d616b6520
- 7570726f756e646564626f7468206f66626c6f636b6564736177207468656f66
- 6669636573636f6c6f757273696628646f63757768656e206865656e666f7263
- 6570757368286675417567757374205554462d38223e46616e74617379696e20
- 6d6f7374696e6a75726564557375616c6c796661726d696e67636c6f73757265
- 6f626a65637420646566656e6365757365206f66204d65646963616c3c626f64
- 793e0a65766964656e74626520757365646b6579436f64657369787465656e49
- 736c616d696323303030303030656e7469726520776964656c79206163746976
- 652028747970656f666f6e652063616e636f6c6f72203d737065616b65726578
- 74656e6473506879736963737465727261696e3c74626f64793e66756e657261
- 6c76696577696e676d6964646c6520637269636b657470726f70686574736869
- 66746564646f63746f727352757373656c6c20746172676574636f6d70616374
- 616c6765627261736f6369616c2d62756c6b206f666d616e20616e643c2f7464
- 3e0a206865206c656674292e76616c282966616c7365293b6c6f676963616c62
- 616e6b696e67686f6d6520746f6e616d696e67204172697a6f6e616372656469
- 7473293b0a7d293b0a666f756e646572696e207475726e436f6c6c696e736265
- 666f72652042757420746865636861726765645469746c65223e436170746169
- 6e7370656c6c6564676f6464657373546167202d2d3e416464696e673a627574
- 20776173526563656e742070617469656e746261636b20696e3d66616c736526
- 4c696e636f6c6e7765206b6e6f77436f756e7465724a75646169736d73637269
- 707420616c7465726564275d293b0a202068617320746865756e636c65617245
- 76656e74272c626f746820696e6e6f7420616c6c0a0a3c212d2d20706c616369
- 6e676861726420746f2063656e746572736f7274206f66636c69656e74737374
- 72656574734265726e6172646173736572747374656e6420746f66616e746173
- 79646f776e20696e686172626f757246726565646f6d6a6577656c72792f6162
- 6f75742e2e7365617263686c6567656e64736973206d6164656d6f6465726e20
- 6f6e6c79206f6e6f6e6c7920746f696d61676522206c696e656172207061696e
- 746572616e64206e6f74726172656c79206163726f6e796d64656c6976657273
- 686f72746572303026616d703b6173206d616e7977696474683d222f2a203c21
- 5b437469746c65203d6f6620746865206c6f77657374207069636b6564206573
- 636170656475736573206f6670656f706c6573205075626c69634d6174746865
- 777461637469637364616d6167656477617920666f726c617773206f66656173
- 7920746f2077696e646f777374726f6e67202073696d706c657d636174636828
- 736576656e7468696e666f626f7877656e7420746f7061696e74656463697469
- 7a656e4920646f6e2774726574726561742e20536f6d652077772e22293b0a62
- 6f6d62696e676d61696c746f3a6d61646520696e2e204d616e79206361727269
- 65737c7c7b7d3b7769776f726b206f6673796e6f6e796d646566656174736661
- 766f7265646f70746963616c70616765547261756e6c6573732073656e64696e
- 676c656674223e3c636f6d53636f72416c6c207468656a51756572792e746f75
- 72697374436c617373696366616c7365222057696c68656c6d73756275726273
- 67656e75696e65626973686f70732e73706c697428676c6f62616c20666f6c6c
- 6f7773626f6479206f666e6f6d696e616c436f6e74616374736563756c61726c
- 65667420746f63686965666c792d68696464656e2d62616e6e65723c2f6c693e
- 0a0a2e205768656e20696e20626f74686469736d6973734578706c6f7265616c
- 776179732076696120746865737061c3b16f6c77656c6661726572756c696e67
- 20617272616e67656361707461696e68697320736f6e72756c65206f66686520
- 746f6f6b697473656c662c3d3026616d703b2863616c6c656473616d706c6573
- 746f206d616b65636f6d2f7061674d617274696e204b656e6e65647961636365
- 70747366756c6c206f6668616e646c6564426573696465732f2f2d2d3e3c2f61
- 626c6520746f74617267657473657373656e636568696d20746f206974732062
- 7920636f6d6d6f6e2e6d696e6572616c746f2074616b657761797320746f732e
- 6f72672f6c6164766973656470656e616c747973696d706c653a696620746865
- 794c657474657273612073686f727448657262657274737472696b6573206772
- 6f7570732e6c656e677468666c69676874736f7665726c6170736c6f776c7920
- 6c657373657220736f6369616c203c2f703e0a0909697420696e746f72616e6b
- 65642072617465206f66756c3e0d0a2020617474656d707470616972206f666d
- 616b652069744b6f6e74616b74416e746f6e696f686176696e6720726174696e
- 67732061637469766573747265616d737472617070656422292e63737328686f
- 7374696c656c65616420746f6c6974746c652067726f7570732c506963747572
- 652d2d3e0d0a0d0a20726f77733d22206f626a656374696e76657273653c666f
- 6f746572437573746f6d563e3c5c2f736372736f6c76696e674368616d626572
- 736c6176657279776f756e64656477686572656173213d2027756e64666f7220
- 616c6c706172746c79202d72696768743a4172616269616e6261636b65642063
- 656e74757279756e6974206f666d6f62696c652d4575726f70652c697320686f
- 6d657269736b206f6664657369726564436c696e746f6e636f7374206f666167
- 65206f66206265636f6d65206e6f6e65206f66702671756f743b4d6964646c65
- 2065616427295b304372697469637373747564696f733e26636f70793b67726f
- 7570223e617373656d626c6d616b696e6720707265737365647769646765742e
- 70733a22203f2072656275696c74627920736f6d65466f726d65722065646974
- 6f727364656c6179656443616e6f6e69636861642074686570757368696e6763
- 6c6173733d22627574206172657061727469616c426162796c6f6e626f74746f
- 6d2063617272696572436f6d6d616e646974732075736541732077697468636f
- 75727365736120746869726464656e6f746573616c736f20696e486f7573746f
- 6e323070783b223e61636375736564646f75626c6520676f616c206f6646616d
- 6f757320292e62696e642870726965737473204f6e6c696e65696e204a756c79
- 7374202b202267636f6e73756c74646563696d616c68656c7066756c72657669
- 7665646973207665727972272b276970746c6f73696e672066656d616c657369
- 7320616c736f737472696e677364617973206f666172726976616c6675747572
- 65203c6f626a656374666f7263696e67537472696e672822202f3e0a09096865
- 7265206973656e636f6465642e20205468652062616c6c6f6f6e646f6e652062
- 792f636f6d6d6f6e6267636f6c6f726c6177206f6620496e6469616e6161766f
- 6964656462757420746865327078203370786a71756572792e61667465722061
- 706f6c6963792e6d656e20616e64666f6f7465722d3d20747275653b666f7220
- 75736573637265656e2e496e6469616e20696d616765203d66616d696c792c68
- 7474703a2f2f20266e6273703b64726976657273657465726e616c73616d6520
- 61736e6f7469636564766965776572737d2928293b0a206973206d6f72657365
- 61736f6e73666f726d657220746865206e65776973206a757374636f6e73656e
- 742053656172636877617320746865776879207468657368697070656462723e
- 3c62723e77696474683a206865696768743d6d616465206f6663756973696e65
- 697320746861746120766572792041646d6972616c2066697865643b6e6f726d
- 616c204d697373696f6e50726573732c206f6e746172696f6368617273657474
- 727920746f20696e76616465643d22747275652273706163696e676973206d6f
- 737461206d6f726520746f74616c6c7966616c6c206f667d293b0d0a2020696d
- 6d656e736574696d6520696e736574206f757473617469736679746f2066696e
- 64646f776e20746f6c6f74206f6620506c6179657273696e204a756e65717561
- 6e74756d6e6f742074686574696d6520746f64697374616e7446696e6e697368
- 737263203d202873696e676c652068656c70206f664765726d616e206c617720
- 616e646c6162656c6564666f7265737473636f6f6b696e677370616365223e68
- 65616465722d77656c6c2061735374616e6c6579627269646765732f676c6f62
- 616c43726f617469612041626f7574205b305d3b0a202069742c20616e646772
- 6f757065646265696e672061297b7468726f776865206d6164656c6967687465
- 726574686963616c46464646464622626f74746f6d226c696b65206120656d70
- 6c6f79736c69766520696e6173207365656e7072696e7465726d6f7374206f66
- 75622d6c696e6b72656a65637473616e6420757365696d616765223e73756363
- 65656466656564696e674e75636c656172696e666f726d61746f2068656c7057
- 6f6d656e27734e6569746865724d65786963616e70726f7465696e3c7461626c
- 65206279206d616e796865616c7468796c617773756974646576697365642e70
- 757368287b73656c6c65727373696d706c79205468726f7567682e636f6f6b69
- 6520496d616765286f6c646572223e75732e6a73223e2053696e636520756e69
- 766572736c6172676572206f70656e20746f212d2d20656e646c69657320696e
- 275d293b0d0a20206d61726b657477686f206973202822444f4d436f6d616e61
- 6765646f6e6520666f72747970656f66204b696e67646f6d70726f6669747370
- 726f706f7365746f2073686f7763656e7465723b6d6164652069746472657373
- 65647765726520696e6d6978747572657072656369736561726973696e677372
- 63203d20276d616b652061207365637572656442617074697374766f74696e67
- 200a0909766172204d61726368203267726577207570436c696d6174652e7265
- 6d6f7665736b696c6c6564776179207468653c2f686561643e66616365206f66
- 616374696e67207269676874223e746f20776f726b7265647563657368617320
- 6861646572656374656473686f7728293b616374696f6e3d626f6f6b206f6661
- 6e20617265613d3d20226874743c6865616465720a3c68746d6c3e636f6e666f
- 726d666163696e6720636f6f6b69652e72656c79206f6e686f73746564202e63
- 7573746f6d68652077656e7462757420666f727370726561642046616d696c79
- 2061206d65616e736f757420746865666f72756d732e666f6f74616765223e4d
- 6f62696c436c656d656e7473222069643d2261732068696768696e74656e7365
- 2d2d3e3c212d2d66656d616c65206973207365656e696d706c69656473657420
- 74686561207374617465616e6420686973666173746573746265736964657362
- 7574746f6e5f626f756e646564223e3c696d6720496e666f626f786576656e74
- 732c6120796f756e67616e64206172654e617469766520636865617065725469
- 6d656f7574616e6420686173656e67696e6573776f6e20746865286d6f73746c
- 7972696768743a2066696e642061202d626f74746f6d5072696e636520617265
- 61206f666d6f7265206f667365617263685f6e61747572652c6c6567616c6c79
- 706572696f642c6c616e64206f666f722077697468696e647563656470726f76
- 696e676d697373696c656c6f63616c6c79416761696e7374746865207761796b
- 2671756f743b70783b223e0d0a707573686564206162616e646f6e6e756d6572
- 616c4365727461696e496e20746869736d6f726520696e6f7220736f6d656e61
- 6d65206973616e642c20696e63726f776e65644953424e20302d637265617465
- 734f63746f6265726d6179206e6f7463656e746572206c61746520696e446566
- 656e6365656e61637465647769736820746f62726f61646c79636f6f6c696e67
- 6f6e6c6f61643d69742e205468657265636f7665724d656d6265727368656967
- 687420617373756d65733c68746d6c3e0a70656f706c652e696e206f6e65203d
- 77696e646f77666f6f7465725f6120676f6f642072656b6c616d616f74686572
- 732c746f20746869735f636f6f6b696570616e656c223e4c6f6e646f6e2c6465
- 66696e6573637275736865646261707469736d636f617374616c737461747573
- 207469746c6522206d6f766520746f6c6f737420696e62657474657220696d70
- 6c696573726976616c7279736572766572732053797374656d50657268617073
- 657320616e6420636f6e74656e64666c6f77696e676c61737465642072697365
- 20696e47656e6573697376696577206f66726973696e67207365656d20746f62
- 757420696e206261636b696e6768652077696c6c676976656e2061676976696e
- 67206369746965732e666c6f77206f66204c6174657220616c6c206275744869
- 67687761796f6e6c792062797369676e206f66686520646f6573646966666572
- 736261747465727926616d703b6c6173696e676c657374687265617473696e74
- 6567657274616b65206f6e7265667573656463616c6c6564203d555326616d70
- 536565207468656e6174697665736279207468697373797374656d2e68656164
- 206f663a686f7665722c6c65736269616e7375726e616d65616e6420616c6c63
- 6f6d6d6f6e2f6865616465725f5f706172616d73486172766172642f70697865
- 6c2e72656d6f76616c736f206c6f6e67726f6c65206f666a6f696e746c79736b
- 7973637261556e69636f64656272202f3e0d0a41746c616e74616e75636c6575
- 73436f756e74792c707572656c7920636f756e74223e656173696c7920627569
- 6c6420616f6e636c69636b6120676976656e706f696e746572682671756f743b
- 6576656e747320656c7365207b0a646974696f6e736e6f77207468652c207769
- 7468206d616e2077686f6f72672f5765626f6e6520616e64636176616c727948
- 65206469656473656174746c6530302c303030207b77696e646f776861766520
- 746f69662877696e64616e6420697473736f6c656c79206d2671756f743b7265
- 6e65776564446574726f6974616d6f6e677374656974686572207468656d2069
- 6e53656e61746f7255733c2f613e3c4b696e67206f664672616e6369732d7072
- 6f6475636865207573656461727420616e6468696d20616e6475736564206279
- 73636f72696e67617420686f6d65746f206861766572656c617465736962696c
- 69747966616374696f6e42756666616c6f6c696e6b223e3c7768617420686566
- 72656520746f43697479206f66636f6d6520696e736563746f7273636f756e74
- 65646f6e65206461796e6572766f7573737175617265207d3b696628676f696e
- 2077686174696d672220616c6973206f6e6c797365617263682f747565736461
- 796c6f6f73656c79536f6c6f6d6f6e73657875616c202d203c612068726d6564
- 69756d22444f204e4f54204672616e63652c7769746820612077617220616e64
- 7365636f6e642074616b652061203e0d0a0d0a0d0a6d61726b65742e68696768
- 776179646f6e6520696e63746976697479226c617374223e6f626c6967656472
- 69736520746f22756e646566696d61646520746f204561726c79207072616973
- 6564696e2069747320666f72206869736174686c6574654a7570697465725961
- 686f6f21207465726d656420736f206d616e797265616c6c7920732e20546865
- 206120776f6d616e3f76616c75653d6469726563742072696768742220626963
- 79636c656163696e673d2264617920616e6473746174696e675261746865722c
- 686967686572204f666669636520617265206e6f7774696d65732c207768656e
- 20612070617920666f726f6e20746869732d6c696e6b223e3b626f7264657261
- 726f756e6420616e6e75616c20746865204e6577707574207468652e636f6d22
- 2074616b696e20746f6120627269656628696e2074686567726f7570732e3b20
- 7769647468656e7a796d657373696d706c6520696e206c6174657b7265747572
- 6e746865726170796120706f696e7462616e6e696e67696e6b73223e0a28293b
- 222072656120706c6163655c75303033436161626f7574206174723e0d0a0909
- 63636f756e7420676976657320613c5343524950545261696c7761797468656d
- 65732f746f6f6c626f784279496428227868756d616e732c7761746368657369
- 6e20736f6d6520696620287769636f6d696e6720666f726d61747320556e6465
- 72206275742068617368616e646564206d6164652062797468616e20696e6665
- 6172206f6664656e6f7465642f696672616d656c65667420696e766f6c746167
- 65696e2065616368612671756f743b62617365206f66496e206d616e79756e64
- 6572676f726567696d6573616374696f6e203c2f703e0d0a3c7573746f6d5661
- 3b2667743b3c2f696d706f7274736f7220746861746d6f73746c792026616d70
- 3b72652073697a653d223c2f613e3c2f686120636c6173737061737369766548
- 6f7374203d205768657468657266657274696c65566172696f75733d5b5d3b28
- 667563616d657261732f3e3c2f74643e61637473206173496e20736f6d653e0d
- 0a0d0a3c216f7267616e6973203c6272202f3e4265696a696e67636174616cc3
- a0646575747363686575726f7065756575736b617261676165696c6765737665
- 6e736b6165737061c3b1616d656e73616a657573756172696f74726162616a6f
- 6dc3a97869636f70c3a167696e617369656d70726573697374656d616f637475
- 627265647572616e746561c3b161646972656d70726573616d6f6d656e746f6e
- 75657374726f7072696d65726174726176c3a973677261636961736e75657374
- 726170726f6365736f65737461646f7363616c69646164706572736f6e616ec3
- ba6d65726f6163756572646f6dc3ba736963616d69656d62726f6f6665727461
- 73616c67756e6f737061c3ad736573656a656d706c6f6465726563686f616465
- 6dc3a1737072697661646f61677265676172656e6c61636573706f7369626c65
- 686f74656c6573736576696c6c617072696d65726fc3ba6c74696d6f6576656e
- 746f736172636869766f63756c747572616d756a65726573656e747261646161
- 6e756e63696f656d626172676f6d65726361646f6772616e6465736573747564
- 696f6d656a6f7265736665627265726f64697365c3b16f74757269736d6f63c3
- b36469676f706f72746164616573706163696f66616d696c6961616e746f6e69
- 6f7065726d69746567756172646172616c67756e617370726563696f73616c67
- 7569656e73656e7469646f7669736974617374c3ad74756c6f636f6e6f636572
- 736567756e646f636f6e73656a6f6672616e6369616d696e75746f7373656775
- 6e646174656e656d6f7365666563746f736dc3a16c61676173657369c3b36e72
- 6576697374616772616e616461636f6d70726172696e677265736f67617263c3
- ad6161636369c3b36e65637561646f72717569656e6573696e636c75736f6465
- 626572c3a16d617465726961686f6d627265736d756573747261706f6472c3ad
- 616d61c3b1616e61c3ba6c74696d61657374616d6f736f66696369616c74616d
- 6269656e6e696e67c3ba6e73616c75646f73706f64656d6f736d656a6f726172
- 706f736974696f6e627573696e657373686f6d65706167657365637572697479
- 6c616e67756167657374616e6461726463616d706169676e6665617475726573
- 63617465676f727965787465726e616c6368696c6472656e7265736572766564
- 726573656172636865786368616e67656661766f7269746574656d706c617465
- 6d696c6974617279696e64757374727973657276696365736d6174657269616c
- 70726f64756374737a2d696e6465783a636f6d6d656e7473736f667477617265
- 636f6d706c65746563616c656e646172706c6174666f726d61727469636c6573
- 72657175697265646d6f76656d656e747175657374696f6e6275696c64696e67
- 706f6c6974696373706f737369626c6572656c6967696f6e706879736963616c
- 666565646261636b7265676973746572706963747572657364697361626c6564
- 70726f746f636f6c61756469656e636573657474696e67736163746976697479
- 656c656d656e74736c6561726e696e67616e797468696e676162737472616374
- 70726f67726573736f766572766965776d6167617a696e6565636f6e6f6d6963
- 747261696e696e677072657373757265766172696f7573203c7374726f6e673e
- 70726f706572747973686f7070696e67746f676574686572616476616e636564
- 6265686176696f72646f776e6c6f61646665617475726564666f6f7462616c6c
- 73656c65637465644c616e677561676564697374616e636572656d656d626572
- 747261636b696e6770617373776f72646d6f64696669656473747564656e7473
- 6469726563746c796669676874696e676e6f72746865726e6461746162617365
- 666573746976616c627265616b696e676c6f636174696f6e696e7465726e6574
- 64726f70646f776e707261637469636565766964656e636566756e6374696f6e
- 6d61727269616765726573706f6e736570726f626c656d736e65676174697665
- 70726f6772616d73616e616c7973697372656c656173656462616e6e6572223e
- 7075726368617365706f6c6963696573726567696f6e616c6372656174697665
- 617267756d656e74626f6f6b6d61726b72656665727265726368656d6963616c
- 6469766973696f6e63616c6c6261636b736570617261746570726f6a65637473
- 636f6e666c6963746861726477617265696e74657265737464656c6976657279
- 6d6f756e7461696e6f627461696e65643d2066616c73653b666f722876617220
- 61636365707465646361706163697479636f6d70757465726964656e74697479
- 6169726372616674656d706c6f79656470726f706f736564646f6d6573746963
- 696e636c7564657370726f7669646564686f73706974616c766572746963616c
- 636f6c6c61707365617070726f616368706172746e6572736c6f676f223e3c61
- 6461756768746572617574686f72222063756c747572616c66616d696c696573
- 2f696d616765732f617373656d626c79706f77657266756c7465616368696e67
- 66696e69736865646469737472696374637269746963616c6367692d62696e2f
- 707572706f7365737265717569726573656c656374696f6e6265636f6d696e67
- 70726f766964657361636164656d6963657865726369736561637475616c6c79
- 6d65646963696e65636f6e7374616e746163636964656e744d6167617a696e65
- 646f63756d656e747374617274696e67626f74746f6d223e6f62736572766564
- 3a202671756f743b657874656e64656470726576696f7573536f667477617265
- 637573746f6d65726465636973696f6e737472656e67746864657461696c6564
- 736c696768746c79706c616e6e696e67746578746172656163757272656e6379
- 65766572796f6e6573747261696768747472616e73666572706f736974697665
- 70726f647563656468657269746167657368697070696e676162736f6c757465
- 726563656976656472656c6576616e74627574746f6e222076696f6c656e6365
- 616e79776865726562656e65666974736c61756e63686564726563656e746c79
- 616c6c69616e6365666f6c6c6f7765646d756c7469706c6562756c6c6574696e
- 696e636c756465646f63637572726564696e7465726e616c242874686973292e
- 72657075626c69633e3c74723e3c7464636f6e67726573737265636f72646564
- 756c74696d617465736f6c7574696f6e3c756c2069643d22646973636f766572
- 486f6d653c2f613e77656273697465736e6574776f726b73616c74686f756768
- 656e746972656c796d656d6f7269616c6d65737361676573636f6e74696e7565
- 616374697665223e736f6d6577686174766963746f7269615765737465726e20
- 207469746c653d224c6f636174696f6e636f6e747261637476697369746f7273
- 446f776e6c6f6164776974686f7574207269676874223e0a6d65617375726573
- 7769647468203d207661726961626c65696e766f6c76656476697267696e6961
- 6e6f726d616c6c7968617070656e65646163636f756e74737374616e64696e67
- 6e6174696f6e616c52656769737465727072657061726564636f6e74726f6c73
- 6163637572617465626972746864617973747261746567796f6666696369616c
- 67726170686963736372696d696e616c706f737369626c79636f6e73756d6572
- 506572736f6e616c737065616b696e6776616c69646174656163686965766564
- 2e6a706722202f3e6d616368696e65733c2f68323e0a20206b6579776f726473
- 667269656e646c7962726f7468657273636f6d62696e65646f726967696e616c
- 636f6d706f7365646578706563746564616465717561746570616b697374616e
- 666f6c6c6f77222076616c7561626c653c2f6c6162656c3e72656c6174697665
- 6272696e67696e67696e637265617365676f7665726e6f72706c7567696e732f
- 4c697374206f6620486561646572223e22206e616d653d2220282671756f743b
- 67726164756174653c2f686561643e0a636f6d6d657263656d616c6179736961
- 6469726563746f726d61696e7461696e3b6865696768743a7363686564756c65
- 6368616e67696e676261636b20746f20636174686f6c69637061747465726e73
- 636f6c6f723a20236772656174657374737570706c69657372656c6961626c65
- 3c2f756c3e0a09093c73656c65637420636974697a656e73636c6f7468696e67
- 7761746368696e673c6c692069643d2273706563696669636361727279696e67
- 73656e74656e63653c63656e7465723e636f6e74726173747468696e6b696e67
- 6361746368286529736f75746865726e4d69636861656c206d65726368616e74
- 6361726f7573656c70616464696e673a696e746572696f722e73706c69742822
- 6c697a6174696f6e4f63746f62657220297b72657475726e696d70726f766564
- 2d2d2667743b0a0a636f76657261676563686169726d616e2e706e6722202f3e
- 7375626a656374735269636861726420776861746576657270726f6261626c79
- 7265636f766572796261736562616c6c6a7564676d656e74636f6e6e6563742e
- 2e63737322202f3e20776562736974657265706f7274656464656661756c7422
- 2f3e3c2f613e0d0a656c65637472696373636f746c616e646372656174696f6e
- 7175616e746974792e204953424e2030646964206e6f7420696e7374616e6365
- 2d7365617263682d22206c616e673d22737065616b657273436f6d7075746572
- 636f6e7461696e7361726368697665736d696e69737465727265616374696f6e
- 646973636f756e744974616c69616e6f63726974657269617374726f6e676c79
- 3a2027687474703a2773637269707427636f766572696e676f66666572696e67
- 617070656172656442726974697368206964656e7469667946616365626f6f6b
- 6e756d65726f757376656869636c6573636f6e6365726e73416d65726963616e
- 68616e646c696e676469762069643d2257696c6c69616d2070726f7669646572
- 5f636f6e74656e74616363757261637973656374696f6e20616e646572736f6e
- 666c657869626c6543617465676f72796c617772656e63653c7363726970743e
- 6c61796f75743d22617070726f766564206d6178696d756d686561646572223e
- 3c2f7461626c653e536572766963657368616d696c746f6e63757272656e7420
- 63616e616469616e6368616e6e656c732f7468656d65732f2f61727469636c65
- 6f7074696f6e616c706f72747567616c76616c75653d2222696e74657276616c
- 776972656c657373656e7469746c65646167656e636965735365617263682220
- 6d6561737572656474686f7573616e647370656e64696e672668656c6c69703b
- 6e65772044617465222073697a653d22706167654e616d656d6964646c652220
- 22202f3e3c2f613e68696464656e223e73657175656e6365706572736f6e616c
- 6f766572666c6f776f70696e696f6e73696c6c696e6f69736c696e6b73223e0a
- 093c7469746c653e76657273696f6e7373617475726461797465726d696e616c
- 6974656d70726f70656e67696e65657273656374696f6e7364657369676e6572
- 70726f706f73616c3d2266616c73652245737061c3b16f6c72656c6561736573
- 7375626d6974222065722671756f743b6164646974696f6e73796d70746f6d73
- 6f7269656e7465647265736f757263657269676874223e3c706c656173757265
- 73746174696f6e73686973746f72792e6c656176696e672020626f726465723d
- 636f6e74656e747363656e746572223e2e0a0a536f6d65206469726563746564
- 7375697461626c6562756c67617269612e73686f7728293b64657369676e6564
- 47656e6572616c20636f6e63657074734578616d706c657377696c6c69616d73
- 4f726967696e616c223e3c7370616e3e736561726368223e6f70657261746f72
- 726571756573747361202671756f743b616c6c6f77696e67446f63756d656e74
- 7265766973696f6e2e200a0a54686520796f757273656c66436f6e7461637420
- 6d6963686967616e456e676c69736820636f6c756d6269617072696f72697479
- 7072696e74696e676472696e6b696e67666163696c69747972657475726e6564
- 436f6e74656e74206f666669636572735275737369616e2067656e6572617465
- 2d383835392d3122696e64696361746566616d696c696172207175616c697479
- 6d617267696e3a3020636f6e74656e7476696577706f7274636f6e7461637473
- 2d7469746c65223e706f727461626c652e6c656e67746820656c696769626c65
- 696e766f6c76657361746c616e7469636f6e6c6f61643d2264656661756c742e
- 737570706c6965647061796d656e7473676c6f73736172790a0a416674657220
- 67756964616e63653c2f74643e3c7464656e636f64696e676d6964646c65223e
- 63616d6520746f20646973706c61797373636f74746973686a6f6e617468616e
- 6d616a6f72697479776964676574732e636c696e6963616c746861696c616e64
- 74656163686572733c686561643e0a096166666563746564737570706f727473
- 706f696e7465723b746f537472696e673c2f736d616c6c3e6f6b6c61686f6d61
- 77696c6c20626520696e766573746f72302220616c743d22686f6c6964617973
- 5265736f757263656c6963656e73656420287768696368202e20416674657220
- 636f6e73696465727669736974696e676578706c6f7265727072696d61727920
- 7365617263682220616e64726f696422717569636b6c79206d656574696e6773
- 657374696d6174653b72657475726e203b636f6c6f723a23206865696768743d
- 617070726f76616c2c202671756f743b20636865636b65642e6d696e2e6a7322
- 6d61676e657469633e3c2f613e3c2f68666f7265636173742e205768696c6520
- 74687572736461796476657274697365266561637574653b686173436c617373
- 6576616c756174656f72646572696e676578697374696e6770617469656e7473
- 204f6e6c696e6520636f6c6f7261646f4f7074696f6e732263616d7062656c6c
- 3c212d2d20656e643c2f7370616e3e3c3c6272202f3e0d0a5f706f707570737c
- 736369656e6365732c2671756f743b207175616c6974792057696e646f777320
- 61737369676e65646865696768743a203c6220636c6173736c652671756f743b
- 2076616c75653d2220436f6d70616e796578616d706c65733c696672616d6520
- 62656c696576657370726573656e74736d61727368616c6c70617274206f6620
- 70726f7065726c79292e0a0a546865207461786f6e6f6d796d756368206f6620
- 3c2f7370616e3e0a2220646174612d737274756775c3aa737363726f6c6c546f
- 2070726f6a6563743c686561643e0d0a6174746f726e6579656d706861736973
- 73706f6e736f727366616e6379626f78776f726c6427732077696c646c696665
- 636865636b65643d73657373696f6e7370726f6772616d6d70783b666f6e742d
- 2050726f6a6563746a6f75726e616c7362656c69657665647661636174696f6e
- 74686f6d70736f6e6c69676874696e67616e6420746865207370656369616c20
- 626f726465723d30636865636b696e673c2f74626f64793e3c627574746f6e20
- 436f6d706c657465636c6561726669780a3c686561643e0a61727469636c6520
- 3c73656374696f6e66696e64696e6773726f6c6520696e20706f70756c617220
- 204f63746f62657277656273697465206578706f737572657573656420746f20
- 206368616e6765736f70657261746564636c69636b696e67656e746572696e67
- 636f6d6d616e6473696e666f726d6564206e756d6265727320203c2f6469763e
- 6372656174696e676f6e5375626d69746d6172796c616e64636f6c6c65676573
- 616e616c797469636c697374696e6773636f6e746163742e6c6f67676564496e
- 61647669736f72797369626c696e6773636f6e74656e7422732671756f743b29
- 732e2054686973207061636b61676573636865636b626f787375676765737473
- 707265676e616e74746f6d6f72726f7773706163696e673d69636f6e2e706e67
- 6a6170616e657365636f646562617365627574746f6e223e67616d626c696e67
- 73756368206173202c207768696c65203c2f7370616e3e206d6973736f757269
- 73706f7274696e67746f703a317078202e3c2f7370616e3e74656e73696f6e73
- 77696474683d22326c617a796c6f61646e6f76656d6265727573656420696e20
- 6865696768743d226372697074223e0a266e6273703b3c2f3c74723e3c746420
- 6865696768743a322f70726f64756374636f756e74727920696e636c75646520
- 666f6f7465722220266c743b212d2d207469746c65223e3c2f6a71756572792e
- 3c2f666f726d3e0a28e7ae80e4bd932928e7b981e9ab94296872766174736b69
- 6974616c69616e6f726f6dc3a26ec48374c3bc726bc3a765d8a7d8b1d8afd988
- 74616d6269c3a96e6e6f7469636961736d656e73616a6573706572736f6e6173
- 6465726563686f736e6163696f6e616c736572766963696f636f6e746163746f
- 7573756172696f7370726f6772616d61676f626965726e6f656d707265736173
- 616e756e63696f7376616c656e636961636f6c6f6d6269616465737075c3a973
- 6465706f7274657370726f796563746f70726f647563746f70c3ba626c69636f
- 6e6f736f74726f73686973746f72696170726573656e74656d696c6c6f6e6573
- 6d656469616e746570726567756e7461616e746572696f727265637572736f73
- 70726f626c656d6173616e746961676f6e75657374726f736f70696e69c3b36e
- 696d7072696d69726d69656e74726173616dc3a97269636176656e6465646f72
- 736f636965646164726573706563746f7265616c697a6172726567697374726f
- 70616c6162726173696e746572c3a973656e746f6e636573657370656369616c
- 6d69656d62726f737265616c6964616463c3b372646f62617a617261676f7a61
- 70c3a167696e6173736f6369616c6573626c6f71756561726765737469c3b36e
- 616c7175696c657273697374656d61736369656e63696173636f6d706c65746f
- 7665727369c3b36e636f6d706c6574616573747564696f7370c3ba626c696361
- 6f626a657469766f616c6963616e74656275736361646f7263616e7469646164
- 656e747261646173616363696f6e65736172636869766f737375706572696f72
- 6d61796f72c3ad61616c656d616e696166756e6369c3b36ec3ba6c74696d6f73
- 68616369656e646f617175656c6c6f736564696369c3b36e6665726e616e646f
- 616d6269656e746566616365626f6f6b6e75657374726173636c69656e746573
- 70726f6365736f7362617374616e746570726573656e74617265706f72746172
- 636f6e677265736f7075626c69636172636f6d657263696f636f6e747261746f
- 6ac3b376656e6573646973747269746f74c3a9636e696361636f6e6a756e746f
- 656e657267c3ad6174726162616a6172617374757269617372656369656e7465
- 7574696c697a6172626f6c6574c3ad6e73616c7661646f72636f727265637461
- 74726162616a6f737072696d65726f736e65676f63696f736c69626572746164
- 646574616c6c657370616e74616c6c617072c3b378696d6f616c6d6572c3ad61
- 616e696d616c6573717569c3a96e6573636f72617ac3b36e7365636369c3b36e
- 62757363616e646f6f7063696f6e65736578746572696f72636f6e636570746f
- 746f646176c3ad6167616c6572c3ad6165736372696269726d65646963696e61
- 6c6963656e636961636f6e73756c74616173706563746f736372c3ad74696361
- 64c3b36c617265736a757374696369616465626572c3a16e706572c3ad6f646f
- 6e656365736974616d616e74656e65727065717565c3b16f7265636962696461
- 74726962756e616c74656e657269666563616e6369c3b36e63616e6172696173
- 64657363617267616469766572736f736d616c6c6f7263617265717569657265
- 74c3a9636e69636f6465626572c3ad6176697669656e646166696e616e7a6173
- 6164656c616e746566756e63696f6e61636f6e73656a6f73646966c3ad63696c
- 6369756461646573616e7469677561736176616e7a61646174c3a9726d696e6f
- 756e69646164657373c3a16e6368657a63616d7061c3b161736f66746f6e6963
- 7265766973746173636f6e7469656e65736563746f7265736d6f6d656e746f73
- 666163756c7461646372c3a96469746f6469766572736173737570756573746f
- 666163746f726573736567756e646f737065717565c3b161d0b3d0bed0b4d0b0
- d0b5d181d0bbd0b8d0b5d181d182d18cd0b1d18bd0bbd0bed0b1d18bd182d18c
- d18dd182d0bed0bcd095d181d0bbd0b8d182d0bed0b3d0bed0bcd0b5d0bdd18f
- d0b2d181d0b5d185d18dd182d0bed0b9d0b4d0b0d0b6d0b5d0b1d18bd0bbd0b8
- d0b3d0bed0b4d183d0b4d0b5d0bdd18cd18dd182d0bed182d0b1d18bd0bbd0b0
- d181d0b5d0b1d18fd0bed0b4d0b8d0bdd181d0b5d0b1d0b5d0bdd0b0d0b4d0be
- d181d0b0d0b9d182d184d0bed182d0bed0bdd0b5d0b3d0bed181d0b2d0bed0b8
- d181d0b2d0bed0b9d0b8d0b3d180d18bd182d0bed0b6d0b5d0b2d181d0b5d0bc
- d181d0b2d0bed18ed0bbd0b8d188d18cd18dd182d0b8d185d0bfd0bed0bad0b0
- d0b4d0bdd0b5d0b9d0b4d0bed0bcd0b0d0bcd0b8d180d0b0d0bbd0b8d0b1d0be
- d182d0b5d0bcd183d185d0bed182d18fd0b4d0b2d183d185d181d0b5d182d0b8
- d0bbd18ed0b4d0b8d0b4d0b5d0bbd0bed0bcd0b8d180d0b5d182d0b5d0b1d18f
- d181d0b2d0bed0b5d0b2d0b8d0b4d0b5d187d0b5d0b3d0bed18dd182d0b8d0bc
- d181d187d0b5d182d182d0b5d0bcd18bd186d0b5d0bdd18bd181d182d0b0d0bb
- d0b2d0b5d0b4d18cd182d0b5d0bcd0b5d0b2d0bed0b4d18bd182d0b5d0b1d0b5
- d0b2d18bd188d0b5d0bdd0b0d0bcd0b8d182d0b8d0bfd0b0d182d0bed0bcd183
- d0bfd180d0b0d0b2d0bbd0b8d186d0b0d0bed0b4d0bdd0b0d0b3d0bed0b4d18b
- d0b7d0bdd0b0d18ed0bcd0bed0b3d183d0b4d180d183d0b3d0b2d181d0b5d0b9
- d0b8d0b4d0b5d182d0bad0b8d0bdd0bed0bed0b4d0bdd0bed0b4d0b5d0bbd0b0
- d0b4d0b5d0bbd0b5d181d180d0bed0bad0b8d18ed0bdd18fd0b2d0b5d181d18c
- d095d181d182d18cd180d0b0d0b7d0b0d0bdd0b0d188d0b8d8a7d984d984d987
- d8a7d984d8aad98ad8acd985d98ad8b9d8aed8a7d8b5d8a9d8a7d984d8b0d98a
- d8b9d984d98ad987d8acd8afd98ad8afd8a7d984d8a2d986d8a7d984d8b1d8af
- d8aad8add983d985d8b5d981d8add8a9d983d8a7d986d8aad8a7d984d984d98a
- d98ad983d988d986d8b4d8a8d983d8a9d981d98ad987d8a7d8a8d986d8a7d8aa
- d8add988d8a7d8a1d8a3d983d8abd8b1d8aed984d8a7d984d8a7d984d8add8a8
- d8afd984d98ad984d8afd8b1d988d8b3d8a7d8b6d8bad8b7d8aad983d988d986
- d987d986d8a7d983d8b3d8a7d8add8a9d986d8a7d8afd98ad8a7d984d8b7d8a8
- d8b9d984d98ad983d8b4d983d8b1d8a7d98ad985d983d986d985d986d987d8a7
- d8b4d8b1d983d8a9d8b1d8a6d98ad8b3d986d8b4d98ad8b7d985d8a7d8b0d8a7
- d8a7d984d981d986d8b4d8a8d8a7d8a8d8aad8b9d8a8d8b1d8b1d8add985d8a9
- d983d8a7d981d8a9d98ad982d988d984d985d8b1d983d8b2d983d984d985d8a9
- d8a3d8add985d8afd982d984d8a8d98ad98ad8b9d986d98ad8b5d988d8b1d8a9
- d8b7d8b1d98ad982d8b4d8a7d8b1d983d8acd988d8a7d984d8a3d8aed8b1d989
- d985d8b9d986d8a7d8a7d8a8d8add8abd8b9d8b1d988d8b6d8a8d8b4d983d984
- d985d8b3d8acd984d8a8d986d8a7d986d8aed8a7d984d8afd983d8aad8a7d8a8
- d983d984d98ad8a9d8a8d8afd988d986d8a3d98ad8b6d8a7d98ad988d8acd8af
- d981d8b1d98ad982d983d8aad8a8d8aad8a3d981d8b6d984d985d8b7d8a8d8ae
- d8a7d983d8abd8b1d8a8d8a7d8b1d983d8a7d981d8b6d984d8a7d8add984d989
- d986d981d8b3d987d8a3d98ad8a7d985d8b1d8afd988d8afd8a3d986d987d8a7
- d8afd98ad986d8a7d8a7d984d8a7d986d985d8b9d8b1d8b6d8aad8b9d984d985
- d8afd8a7d8aed984d985d985d983d98600000000000000000100010001000100
- 0200020002000200040004000400040000010203040506070706050403020100
- 08090a0b0c0d0e0f0f0e0d0c0b0a090810111213141516171716151413121110
- 18191a1b1c1d1e1f1f1e1d1c1b1a1918ffffffff0000000000000000ffffffff
- 010000000200000002000000010000000100000003000000ffff000100000001
- 0000ffff00010000000800080008000800000001000200030004000500060007
- 7265736f7572636573636f756e74726965737175657374696f6e736571756970
- 6d656e74636f6d6d756e697479617661696c61626c65686967686c6967687444
- 54442f7868746d6c6d61726b6574696e676b6e6f776c65646765736f6d657468
- 696e67636f6e7461696e6572646972656374696f6e7375627363726962656164
- 76657274697365636861726163746572222076616c75653d223c2f73656c6563
- 743e4175737472616c69612220636c6173733d22736974756174696f6e617574
- 686f72697479666f6c6c6f77696e677072696d6172696c796f7065726174696f
- 6e6368616c6c656e6765646576656c6f706564616e6f6e796d6f757366756e63
- 74696f6e2066756e6374696f6e73636f6d70616e696573737472756374757265
- 61677265656d656e7422207469746c653d22706f74656e7469616c6564756361
- 74696f6e617267756d656e74737365636f6e64617279636f707972696768746c
- 616e6775616765736578636c7573697665636f6e646974696f6e3c2f666f726d
- 3e0d0a73746174656d656e74617474656e74696f6e42696f6772617068797d20
- 656c7365207b0a736f6c7574696f6e737768656e2074686520416e616c797469
- 637374656d706c6174657364616e6765726f7573736174656c6c697465646f63
- 756d656e74737075626c6973686572696d706f7274616e7470726f746f747970
- 65696e666c75656e636526726171756f3b3c2f65666665637469766567656e65
- 72616c6c797472616e73666f726d62656175746966756c7472616e73706f7274
- 6f7267616e697a65647075626c697368656470726f6d696e656e74756e74696c
- 207468657468756d626e61696c4e6174696f6e616c202e666f63757328293b6f
- 76657220746865206d6967726174696f6e616e6e6f756e636564666f6f746572
- 223e0a657863657074696f6e6c657373207468616e657870656e73697665666f
- 726d6174696f6e6672616d65776f726b7465727269746f72796e646963617469
- 6f6e63757272656e746c79636c6173734e616d6563726974696369736d747261
- 646974696f6e656c73657768657265416c6578616e6465726170706f696e7465
- 646d6174657269616c7362726f6164636173746d656e74696f6e656461666669
- 6c696174653c2f6f7074696f6e3e74726561746d656e74646966666572656e74
- 2f64656661756c742e507265736964656e746f6e636c69636b3d2262696f6772
- 617068796f74686572776973657065726d616e656e744672616ec3a761697348
- 6f6c6c79776f6f64657870616e73696f6e7374616e64617264733c2f7374796c
- 653e0a726564756374696f6e446563656d626572207072656665727265644361
- 6d6272696467656f70706f6e656e7473427573696e65737320636f6e66757369
- 6f6e3e0a3c7469746c653e70726573656e7465646578706c61696e6564646f65
- 73206e6f7420776f726c6477696465696e74657266616365706f736974696f6e
- 736e65777370617065723c2f7461626c653e0a6d6f756e7461696e736c696b65
- 2074686520657373656e7469616c66696e616e6369616c73656c656374696f6e
- 616374696f6e3d222f6162616e646f6e6564456475636174696f6e7061727365
- 496e742873746162696c697479756e61626c6520746f3c2f7469746c653e0a72
- 656c6174696f6e734e6f74652074686174656666696369656e74706572666f72
- 6d656474776f20796561727353696e6365207468657468657265666f72657772
- 6170706572223e616c7465726e617465696e63726561736564426174746c6520
- 6f66706572636569766564747279696e6720746f6e6563657373617279706f72
- 747261796564656c656374696f6e73456c697a61626574683c2f696672616d65
- 3e646973636f76657279696e737572616e6365732e6c656e6774683b6c656765
- 6e6461727947656f67726170687963616e646964617465636f72706f72617465
- 736f6d6574696d657373657276696365732e696e686572697465643c2f737472
- 6f6e673e436f6d6d756e69747972656c6967696f75736c6f636174696f6e7343
- 6f6d6d69747465656275696c64696e677374686520776f726c646e6f206c6f6e
- 676572626567696e6e696e677265666572656e636563616e6e6f742062656672
- 657175656e63797479706963616c6c79696e746f207468652072656c61746976
- 653b7265636f7264696e67707265736964656e74696e697469616c6c79746563
- 686e69717565746865206f7468657269742063616e2062656578697374656e63
- 65756e6465726c696e65746869732074696d6574656c6570686f6e656974656d
- 73636f7065707261637469636573616476616e74616765293b72657475726e20
- 466f72206f7468657270726f766964696e6764656d6f6372616379626f746820
- 74686520657874656e73697665737566666572696e67737570706f7274656463
- 6f6d7075746572732066756e6374696f6e70726163746963616c736169642074
- 6861746974206d6179206265456e676c6973683c2f66726f6d20746865207363
- 686564756c6564646f776e6c6f6164733c2f6c6162656c3e0a73757370656374
- 65646d617267696e3a203073706972697475616c3c2f686561643e0a0a6d6963
- 726f736f66746772616475616c6c79646973637573736564686520626563616d
- 656578656375746976656a71756572792e6a73686f757365686f6c64636f6e66
- 69726d65647075726368617365646c69746572616c6c7964657374726f796564
- 757020746f20746865766172696174696f6e72656d61696e696e676974206973
- 206e6f7463656e7475726965734a6170616e65736520616d6f6e672074686563
- 6f6d706c65746564616c676f726974686d696e74657265737473726562656c6c
- 696f6e756e646566696e6564656e636f7572616765726573697a61626c65696e
- 766f6c76696e6773656e736974697665756e6976657273616c70726f76697369
- 6f6e28616c74686f756768666561747572696e67636f6e647563746564292c20
- 776869636820636f6e74696e7565642d686561646572223e4665627275617279
- 206e756d65726f7573206f766572666c6f773a636f6d706f6e656e7466726167
- 6d656e7473657863656c6c656e74636f6c7370616e3d22746563686e6963616c
- 6e6561722074686520416476616e63656420736f75726365206f666578707265
- 73736564486f6e67204b6f6e672046616365626f6f6b6d756c7469706c65206d
- 656368616e69736d656c65766174696f6e6f6666656e736976653c2f666f726d
- 3e0a0973706f6e736f726564646f63756d656e742e6f72202671756f743b7468
- 6572652061726574686f73652077686f6d6f76656d656e747370726f63657373
- 6573646966666963756c747375626d69747465647265636f6d6d656e64636f6e
- 76696e63656470726f6d6f74696e67222077696474683d222e7265706c616365
- 28636c6173736963616c636f616c6974696f6e68697320666972737464656369
- 73696f6e73617373697374616e74696e6469636174656465766f6c7574696f6e
- 2d7772617070657222656e6f75676820746f616c6f6e672074686564656c6976
- 657265642d2d3e0d0a3c212d2d416d65726963616e2070726f7465637465644e
- 6f76656d626572203c2f7374796c653e3c6675726e6974757265496e7465726e
- 657420206f6e626c75723d2273757370656e646564726563697069656e746261
- 736564206f6e204d6f72656f7665722c61626f6c6973686564636f6c6c656374
- 656477657265206d616465656d6f74696f6e616c656d657267656e63796e6172
- 7261746976656164766f636174657370783b626f72646572636f6d6d69747465
- 646469723d226c747222656d706c6f7965657372657365617263682e2073656c
- 6563746564737563636573736f72637573746f6d657273646973706c61796564
- 53657074656d626572616464436c6173732846616365626f6f6b207375676765
- 73746564616e64206c617465726f7065726174696e67656c61626f7261746553
- 6f6d6574696d6573496e737469747574656365727461696e6c79696e7374616c
- 6c6564666f6c6c6f776572734a65727573616c656d746865792068617665636f
- 6d707574696e6767656e65726174656470726f76696e63657367756172616e74
- 65656172626974726172797265636f676e697a6577616e74656420746f70783b
- 77696474683a7468656f7279206f666265686176696f75725768696c65207468
- 65657374696d61746564626567616e20746f20697420626563616d656d61676e
- 69747564656d75737420686176656d6f7265207468616e4469726563746f7279
- 657874656e73696f6e7365637265746172796e61747572616c6c796f63637572
- 72696e677661726961626c6573676976656e20746865706c6174666f726d2e3c
- 2f6c6162656c3e3c6661696c656420746f636f6d706f756e64736b696e647320
- 6f6620736f63696574696573616c6f6e6773696465202d2d2667743b0a0a736f
- 75746877657374746865207269676874726164696174696f6e6d617920686176
- 6520756e6573636170652873706f6b656e20696e2220687265663d222f70726f
- 6772616d6d656f6e6c792074686520636f6d652066726f6d6469726563746f72
- 7962757269656420696e612073696d696c61727468657920776572653c2f666f
- 6e743e3c2f4e6f7277656769616e73706563696669656470726f647563696e67
- 70617373656e676572286e6577204461746574656d706f726172796669637469
- 6f6e616c4166746572207468656571756174696f6e73646f776e6c6f61642e72
- 6567756c61726c79646576656c6f70657261626f7665207468656c696e6b6564
- 20746f7068656e6f6d656e61706572696f64206f66746f6f6c746970223e7375
- 627374616e63656175746f6d61746963617370656374206f66416d6f6e672074
- 6865636f6e6e6563746564657374696d6174657341697220466f726365737973
- 74656d206f666f626a656374697665696d6d6564696174656d616b696e672069
- 747061696e74696e6773636f6e717565726564617265207374696c6c70726f63
- 656475726567726f777468206f666865616465642062794575726f7065616e20
- 6469766973696f6e736d6f6c6563756c65736672616e6368697365696e74656e
- 74696f6e6174747261637465646368696c64686f6f64616c736f207573656464
- 656469636174656473696e6761706f7265646567726565206f66666174686572
- 206f66636f6e666c696374733c2f613e3c2f703e0a63616d652066726f6d7765
- 726520757365646e6f74652074686174726563656976696e6745786563757469
- 76656576656e206d6f726561636365737320746f636f6d6d616e646572506f6c
- 69746963616c6d7573696369616e7364656c6963696f7573707269736f6e6572
- 73616476656e74206f665554462d3822202f3e3c215b43444154415b223e436f
- 6e74616374536f75746865726e206267636f6c6f723d22736572696573206f66
- 2e2049742077617320696e204575726f70657065726d697474656476616c6964
- 6174652e617070656172696e676f6666696369616c73736572696f75736c792d
- 6c616e6775616765696e69746961746564657874656e64696e676c6f6e672d74
- 65726d696e666c6174696f6e737563682074686174676574436f6f6b69656d61
- 726b65642062793c2f627574746f6e3e696d706c656d656e7462757420697420
- 6973696e63726561736573646f776e2074686520726571756972696e67646570
- 656e64656e742d2d3e0a3c212d2d20696e746572766965775769746820746865
- 20636f70696573206f66636f6e73656e737573776173206275696c7456656e65
- 7a75656c6128666f726d65726c79746865207374617465706572736f6e6e656c
- 7374726174656769636661766f7572206f66696e76656e74696f6e57696b6970
- 65646961636f6e74696e656e747669727475616c6c7977686963682077617370
- 72696e6369706c65436f6d706c657465206964656e746963616c73686f772074
- 6861747072696d6974697665617761792066726f6d6d6f6c6563756c61727072
- 65636973656c79646973736f6c766564556e6465722074686576657273696f6e
- 3d223e266e6273703b3c2f49742069732074686520546869732069732077696c
- 6c20686176656f7267616e69736d73736f6d652074696d654672696564726963
- 68776173206669727374746865206f6e6c7920666163742074686174666f726d
- 2069643d22707265636564696e67546563686e6963616c706879736963697374
- 6f636375727320696e6e6176696761746f7273656374696f6e223e7370616e20
- 69643d22736f7567687420746f62656c6f7720746865737572766976696e677d
- 3c2f7374796c653e686973206465617468617320696e20746865636175736564
- 2062797061727469616c6c796578697374696e67207573696e67207468657761
- 7320676976656e61206c697374206f666c6576656c73206f666e6f74696f6e20
- 6f664f6666696369616c206469736d6973736564736369656e74697374726573
- 656d626c65736475706c69636174656578706c6f736976657265636f76657265
- 64616c6c206f7468657267616c6c65726965737b70616464696e673a70656f70
- 6c65206f66726567696f6e206f666164647265737365736173736f6369617465
- 696d6720616c743d22696e206d6f6465726e73686f756c642062656d6574686f
- 64206f667265706f7274696e6774696d657374616d706e656564656420746f74
- 6865204772656174726567617264696e677365656d656420746f766965776564
- 206173696d70616374206f6e69646561207468617474686520576f726c646865
- 69676874206f66657870616e64696e6754686573652061726563757272656e74
- 223e6361726566756c6c796d61696e7461696e73636861726765206f66436c61
- 73736963616c6164647265737365647072656469637465646f776e6572736869
- 703c6469762069643d227269676874223e0d0a7265736964656e63656c656176
- 6520746865636f6e74656e74223e617265206f6674656e20207d2928293b0d0a
- 70726f6261626c792050726f666573736f722d627574746f6e2220726573706f
- 6e64656473617973207468617468616420746f206265706c6163656420696e48
- 756e67617269616e737461747573206f66736572766573206173556e69766572
- 73616c657865637574696f6e616767726567617465666f72207768696368696e
- 66656374696f6e61677265656420746f686f77657665722c20706f70756c6172
- 223e706c61636564206f6e636f6e737472756374656c6563746f72616c73796d
- 626f6c206f66696e636c7564696e6772657475726e20746f6172636869746563
- 7443687269737469616e70726576696f7573206c6976696e6720696e65617369
- 657220746f70726f666573736f720a266c743b212d2d20656666656374206f66
- 616e616c79746963737761732074616b656e776865726520746865746f6f6b20
- 6f76657262656c69656620696e416672696b61616e7361732066617220617370
- 726576656e746564776f726b207769746861207370656369616c3c6669656c64
- 7365744368726973746d61735265747269657665640a0a496e20746865206261
- 636b20696e746f6e6f727468656173746d6167617a696e65733e3c7374726f6e
- 673e636f6d6d6974746565676f7665726e696e6767726f757073206f6673746f
- 72656420696e65737461626c697368612067656e6572616c6974732066697273
- 747468656972206f776e706f70756c61746564616e206f626a65637443617269
- 626265616e616c6c6f7720746865646973747269637473776973636f6e73696e
- 6c6f636174696f6e2e3b2077696474683a20696e68616269746564536f636961
- 6c6973744a616e7561727920313c2f666f6f7465723e73696d696c61726c7963
- 686f696365206f667468652073616d6520737065636966696320627573696e65
- 7373205468652066697273742e6c656e6774683b2064657369726520746f6465
- 616c207769746873696e636520746865757365724167656e74636f6e63656976
- 6564696e6465782e7068706173202671756f743b656e6761676520696e726563
- 656e746c792c6665772079656172737765726520616c736f0a3c686561643e0a
- 3c656469746564206279617265206b6e6f776e63697469657320696e61636365
- 73736b6579636f6e64656d6e6564616c736f206861766573657276696365732c
- 66616d696c79206f665363686f6f6c206f66636f6e7665727465646e61747572
- 65206f66206c616e67756167656d696e6973746572733c2f6f626a6563743e74
- 68657265206973206120706f70756c617273657175656e6365736164766f6361
- 746564546865792077657265616e79206f746865726c6f636174696f6e3d656e
- 746572207468656d756368206d6f72657265666c6563746564776173206e616d
- 65646f726967696e616c2061207479706963616c7768656e2074686579656e67
- 696e65657273636f756c64206e6f747265736964656e74737765646e65736461
- 797468652074686972642070726f64756374734a616e75617279203277686174
- 207468657961206365727461696e7265616374696f6e7370726f636573736f72
- 616674657220686973746865206c61737420636f6e7461696e6564223e3c2f64
- 69763e0a3c2f613e3c2f74643e646570656e64206f6e736561726368223e0a70
- 6965636573206f66636f6d706574696e675265666572656e636574656e6e6573
- 7365657768696368206861732076657273696f6e3d3c2f7370616e3e203c3c2f
- 6865616465723e676976657320746865686973746f7269616e76616c75653d22
- 223e70616464696e673a30766965772074686174746f6765746865722c746865
- 206d6f73742077617320666f756e64737562736574206f6661747461636b206f
- 6e6368696c6472656e2c706f696e7473206f66706572736f6e616c20706f7369
- 74696f6e3a616c6c656765646c79436c6576656c616e64776173206c61746572
- 616e6420616674657261726520676976656e776173207374696c6c7363726f6c
- 6c696e6764657369676e206f666d616b6573207468656d756368206c65737341
- 6d65726963616e732e0a0a4166746572202c20627574207468654d757365756d
- 206f666c6f75697369616e612866726f6d207468656d696e6e65736f74617061
- 727469636c6573612070726f63657373446f6d696e6963616e766f6c756d6520
- 6f6672657475726e696e67646566656e73697665303070787c726967686d6164
- 652066726f6d6d6f7573656f76657222207374796c653d22737461746573206f
- 66287768696368206973636f6e74696e7565734672616e636973636f6275696c
- 64696e6720776974686f757420617769746820736f6d6577686f20776f756c64
- 6120666f726d206f66612070617274206f666265666f72652069746b6e6f776e
- 206173202053657276696365736c6f636174696f6e20616e64206f6674656e6d
- 6561737572696e67616e6420697420697370617065726261636b76616c756573
- 206f660d0a3c7469746c653e3d2077696e646f772e64657465726d696e656572
- 2671756f743b20706c61796564206279616e64206561726c793c2f63656e7465
- 723e66726f6d2074686973746865207468726565706f77657220616e646f6620
- 2671756f743b696e6e657248544d4c3c6120687265663d22793a696e6c696e65
- 3b436875726368206f66746865206576656e747665727920686967686f666669
- 6369616c202d6865696768743a20636f6e74656e743d222f6367692d62696e2f
- 746f20637265617465616672696b61616e736573706572616e746f6672616ec3
- a76169736c6174766965c5a1756c696574757669c5b3c48c65c5a174696e61c4
- 8d65c5a174696e61e0b984e0b897e0b8a2e697a5e69cace8aa9ee7ae80e4bd93
- e5ad97e7b981e9ab94e5ad97ed959ceab5adec96b4e4b8bae4bb80e4b988e8ae
- a1e7ae97e69cbae7ac94e8aeb0e69cace8a88ee8ab96e58d80e69c8de58aa1e5
- 99a8e4ba92e88194e7bd91e688bfe59cb0e4baa7e4bfb1e4b990e983a8e587ba
- e78988e7a4bee68e92e8a18ce6a69ce983a8e890bde6a0bce8bf9be4b880e6ad
- a5e694afe4bb98e5ae9de9aa8ce8af81e7a081e5a794e59198e4bc9ae695b0e6
- 8daee5ba93e6b688e8b4b9e88085e58a9ee585ace5aea4e8aea8e8aebae58cba
- e6b7b1e59cb3e5b882e692ade694bee599a8e58c97e4baace5b882e5a4a7e5ad
- a6e7949fe8b68ae69da5e8b68ae7aea1e79086e59198e4bfa1e681afe7bd9173
- 6572766963696f73617274c3ad63756c6f617267656e74696e6162617263656c
- 6f6e616375616c71756965727075626c696361646f70726f647563746f73706f
- 6cc3ad7469636172657370756573746177696b6970656469617369677569656e
- 746562c3ba737175656461636f6d756e69646164736567757269646164707269
- 6e636970616c70726567756e746173636f6e74656e69646f726573706f6e6465
- 7276656e657a75656c6170726f626c656d617364696369656d62726572656c61
- 6369c3b36e6e6f7669656d62726573696d696c6172657370726f796563746f73
- 70726f6772616d6173696e7374697475746f616374697669646164656e637565
- 6e74726165636f6e6f6dc3ad61696dc3a167656e6573636f6e74616374617264
- 65736361726761726e656365736172696f6174656e6369c3b36e74656cc3a966
- 6f6e6f636f6d697369c3b36e63616e63696f6e6573636170616369646164656e
- 636f6e74726172616ec3a16c697369736661766f7269746f7374c3a9726d696e
- 6f7370726f76696e636961657469717565746173656c656d656e746f7366756e
- 63696f6e6573726573756c7461646f636172c3a16374657270726f7069656461
- 647072696e636970696f6e65636573696461646d756e69636970616c63726561
- 6369c3b36e64657363617267617370726573656e636961636f6d65726369616c
- 6f70696e696f6e6573656a6572636963696f656469746f7269616c73616c616d
- 616e6361676f6e7ac3a16c657a646f63756d656e746f70656cc3ad63756c6172
- 656369656e74657367656e6572616c65737461727261676f6e617072c3a16374
- 6963616e6f7665646164657370726f70756573746170616369656e74657374c3
- a9636e696361736f626a657469766f73636f6e746163746f73e0a4aee0a587e0
- a482e0a4b2e0a4bfe0a48fe0a4b9e0a588e0a482e0a497e0a4afe0a4bee0a4b8
- e0a4bee0a4a5e0a48fe0a4b5e0a482e0a4b0e0a4b9e0a587e0a495e0a58be0a4
- 88e0a495e0a581e0a49be0a4b0e0a4b9e0a4bee0a4ace0a4bee0a4a6e0a495e0
- a4b9e0a4bee0a4b8e0a4ade0a580e0a4b9e0a581e0a48fe0a4b0e0a4b9e0a580
- e0a4aee0a588e0a482e0a4a6e0a4bfe0a4a8e0a4ace0a4bee0a4a46469706c6f
- 646f6373e0a4b8e0a4aee0a4afe0a4b0e0a582e0a4aae0a4a8e0a4bee0a4aee0
- a4aae0a4a4e0a4bee0a4abe0a4bfe0a4b0e0a494e0a4b8e0a4a4e0a4a4e0a4b0
- e0a4b9e0a4b2e0a58be0a497e0a4b9e0a581e0a486e0a4ace0a4bee0a4b0e0a4
- a6e0a587e0a4b6e0a4b9e0a581e0a488e0a496e0a587e0a4b2e0a4afe0a4a6e0
- a4bfe0a495e0a4bee0a4aee0a4b5e0a587e0a4ace0a4a4e0a580e0a4a8e0a4ac
- e0a580e0a49ae0a4aee0a58ce0a4a4e0a4b8e0a4bee0a4b2e0a4b2e0a587e0a4
- 96e0a49ce0a589e0a4ace0a4aee0a4a6e0a4a6e0a4a4e0a4a5e0a4bee0a4a8e0
- a4b9e0a580e0a4b6e0a4b9e0a4b0e0a485e0a4b2e0a497e0a495e0a4ade0a580
- e0a4a8e0a497e0a4b0e0a4aae0a4bee0a4b8e0a4b0e0a4bee0a4a4e0a495e0a4
- bfe0a48fe0a489e0a4b8e0a587e0a497e0a4afe0a580e0a4b9e0a582e0a481e0
- a486e0a497e0a587e0a49fe0a580e0a4aee0a496e0a58be0a49ce0a495e0a4be
- e0a4b0e0a485e0a4ade0a580e0a497e0a4afe0a587e0a4a4e0a581e0a4aee0a4
- b5e0a58be0a49fe0a4a6e0a587e0a482e0a485e0a497e0a4b0e0a490e0a4b8e0
- a587e0a4aee0a587e0a4b2e0a4b2e0a497e0a4bee0a4b9e0a4bee0a4b2e0a48a
- e0a4aae0a4b0e0a49ae0a4bee0a4b0e0a490e0a4b8e0a4bee0a4a6e0a587e0a4
- b0e0a49ce0a4bfe0a4b8e0a4a6e0a4bfe0a4b2e0a4ace0a482e0a4a6e0a4ace0
- a4a8e0a4bee0a4b9e0a582e0a482e0a4b2e0a4bee0a496e0a49ce0a580e0a4a4
- e0a4ace0a49fe0a4a8e0a4aee0a4bfe0a4b2e0a487e0a4b8e0a587e0a486e0a4
- a8e0a587e0a4a8e0a4afe0a4bee0a495e0a581e0a4b2e0a4b2e0a589e0a497e0
- a4ade0a4bee0a497e0a4b0e0a587e0a4b2e0a49ce0a497e0a4b9e0a4b0e0a4be
- e0a4aee0a4b2e0a497e0a587e0a4aae0a587e0a49ce0a4b9e0a4bee0a4a5e0a4
- 87e0a4b8e0a580e0a4b8e0a4b9e0a580e0a495e0a4b2e0a4bee0a4a0e0a580e0
- a495e0a4b9e0a4bee0a481e0a4a6e0a582e0a4b0e0a4a4e0a4b9e0a4a4e0a4b8
- e0a4bee0a4a4e0a4afe0a4bee0a4a6e0a486e0a4afe0a4bee0a4aae0a4bee0a4
- 95e0a495e0a58ce0a4a8e0a4b6e0a4bee0a4aee0a4a6e0a587e0a496e0a4afe0
- a4b9e0a580e0a4b0e0a4bee0a4afe0a496e0a581e0a4a6e0a4b2e0a497e0a580
- 63617465676f72696573657870657269656e63653c2f7469746c653e0d0a436f
- 70797269676874206a617661736372697074636f6e646974696f6e7365766572
- 797468696e673c7020636c6173733d22746563686e6f6c6f67796261636b6772
- 6f756e643c6120636c6173733d226d616e6167656d656e7426636f70793b2032
- 30316a6176615363726970746368617261637465727362726561646372756d62
- 7468656d73656c766573686f72697a6f6e74616c676f7665726e6d656e744361
- 6c69666f726e696161637469766974696573646973636f76657265644e617669
- 676174696f6e7472616e736974696f6e636f6e6e656374696f6e6e6176696761
- 74696f6e617070656172616e63653c2f7469746c653e3c6d636865636b626f78
- 2220746563686e697175657370726f74656374696f6e6170706172656e746c79
- 61732077656c6c206173756e74272c202755412d7265736f6c7574696f6e6f70
- 65726174696f6e7374656c65766973696f6e7472616e736c6174656457617368
- 696e67746f6e6e6176696761746f722e203d2077696e646f772e696d70726573
- 73696f6e266c743b62722667743b6c697465726174757265706f70756c617469
- 6f6e6267636f6c6f723d2223657370656369616c6c7920636f6e74656e743d22
- 70726f64756374696f6e6e6577736c657474657270726f706572746965736465
- 66696e6974696f6e6c656164657273686970546563686e6f6c6f67795061726c
- 69616d656e74636f6d70617269736f6e756c20636c6173733d222e696e646578
- 4f662822636f6e636c7573696f6e64697363757373696f6e636f6d706f6e656e
- 747362696f6c6f676963616c5265766f6c7574696f6e5f636f6e7461696e6572
- 756e64657273746f6f646e6f7363726970743e3c7065726d697373696f6e6561
- 6368206f7468657261746d6f737068657265206f6e666f6375733d223c666f72
- 6d2069643d2270726f63657373696e67746869732e76616c756567656e657261
- 74696f6e436f6e666572656e636573756273657175656e7477656c6c2d6b6e6f
- 776e766172696174696f6e7372657075746174696f6e7068656e6f6d656e6f6e
- 6469736369706c696e656c6f676f2e706e67222028646f63756d656e742c626f
- 756e64617269657365787072657373696f6e736574746c656d656e744261636b
- 67726f756e646f7574206f6620746865656e7465727072697365282268747470
- 733a2220756e657363617065282270617373776f7264222064656d6f63726174
- 69633c6120687265663d222f77726170706572223e0a6d656d62657273686970
- 6c696e6775697374696370783b70616464696e677068696c6f736f7068796173
- 73697374616e6365756e6976657273697479666163696c69746965737265636f
- 676e697a6564707265666572656e636569662028747970656f666d61696e7461
- 696e6564766f636162756c6172796879706f7468657369732e7375626d697428
- 293b26616d703b6e6273703b616e6e6f746174696f6e626568696e6420746865
- 466f756e646174696f6e7075626c697368657222617373756d7074696f6e696e
- 74726f6475636564636f7272757074696f6e736369656e74697374736578706c
- 696369746c79696e7374656164206f6664696d656e73696f6e73206f6e436c69
- 636b3d22636f6e736964657265646465706172746d656e746f63637570617469
- 6f6e736f6f6e206166746572696e766573746d656e7470726f6e6f756e636564
- 6964656e7469666965646578706572696d656e744d616e6167656d656e746765
- 6f6772617068696322206865696768743d226c696e6b2072656c3d222e726570
- 6c616365282f64657072657373696f6e636f6e666572656e636570756e697368
- 6d656e74656c696d696e61746564726573697374616e63656164617074617469
- 6f6e6f70706f736974696f6e77656c6c206b6e6f776e737570706c656d656e74
- 64657465726d696e6564683120636c6173733d223070783b6d617267696e6d65
- 6368616e6963616c7374617469737469637363656c65627261746564476f7665
- 726e6d656e740a0a447572696e672074646576656c6f70657273617274696669
- 6369616c6571756976616c656e746f726967696e61746564436f6d6d69737369
- 6f6e6174746163686d656e743c7370616e2069643d2274686572652077657265
- 4e656465726c616e64736265796f6e6420746865726567697374657265646a6f
- 75726e616c6973746672657175656e746c79616c6c206f66207468656c616e67
- 3d22656e22203c2f7374796c653e0d0a6162736f6c7574653b20737570706f72
- 74696e6765787472656d656c79206d61696e73747265616d3c2f7374726f6e67
- 3e20706f70756c6172697479656d706c6f796d656e743c2f7461626c653e0d0a
- 20636f6c7370616e3d223c2f666f726d3e0a2020636f6e76657273696f6e6162
- 6f757420746865203c2f703e3c2f6469763e696e746567726174656422206c61
- 6e673d22656e506f727475677565736573756273746974757465696e64697669
- 6475616c696d706f737369626c656d756c74696d65646961616c6d6f73742061
- 6c6c707820736f6c6964202361706172742066726f6d7375626a65637420746f
- 696e20456e676c697368637269746963697a656465786365707420666f726775
- 6964656c696e65736f726967696e616c6c7972656d61726b61626c6574686520
- 7365636f6e64683220636c6173733d223c61207469746c653d2228696e636c75
- 64696e67706172616d657465727370726f686962697465643d2022687474703a
- 2f2f64696374696f6e61727970657263657074696f6e7265766f6c7574696f6e
- 666f756e646174696f6e70783b6865696768743a7375636365737366756c7375
- 70706f72746572736d696c6c656e6e69756d6869732066617468657274686520
- 2671756f743b6e6f2d7265706561743b636f6d6d65726369616c696e64757374
- 7269616c656e636f757261676564616d6f756e74206f6620756e6f6666696369
- 616c656666696369656e63795265666572656e636573636f6f7264696e617465
- 646973636c61696d657265787065646974696f6e646576656c6f70696e676361
- 6c63756c6174656473696d706c69666965646c65676974696d61746573756273
- 7472696e6728302220636c6173733d22636f6d706c6574656c79696c6c757374
- 7261746566697665207965617273696e737472756d656e745075626c69736869
- 6e67312220636c6173733d2270737963686f6c6f6779636f6e666964656e6365
- 6e756d626572206f6620616273656e6365206f66666f6375736564206f6e6a6f
- 696e6564207468657374727563747572657370726576696f75736c793e3c2f69
- 6672616d653e6f6e636520616761696e62757420726174686572696d6d696772
- 616e74736f6620636f757273652c612067726f7570206f664c69746572617475
- 7265556e6c696b65207468653c2f613e266e6273703b0a66756e6374696f6e20
- 69742077617320746865436f6e76656e74696f6e6175746f6d6f62696c655072
- 6f74657374616e74616767726573736976656166746572207468652053696d69
- 6c61726c792c22202f3e3c2f6469763e636f6c6c656374696f6e0d0a66756e63
- 74696f6e7669736962696c69747974686520757365206f66766f6c756e746565
- 727361747472616374696f6e756e6465722074686520746872656174656e6564
- 2a3c215b43444154415b696d706f7274616e6365696e2067656e6572616c7468
- 65206c61747465723c2f666f726d3e0a3c2f2e696e6465784f66282769203d20
- 303b2069203c646966666572656e63656465766f74656420746f747261646974
- 696f6e7373656172636820666f72756c74696d6174656c79746f75726e616d65
- 6e7461747472696275746573736f2d63616c6c6564207d0a3c2f7374796c653e
- 6576616c756174696f6e656d70686173697a656461636365737369626c653c2f
- 73656374696f6e3e73756363657373696f6e616c6f6e6720776974684d65616e
- 7768696c652c696e64757374726965733c2f613e3c6272202f3e686173206265
- 636f6d6561737065637473206f6654656c65766973696f6e7375666669636965
- 6e746261736b657462616c6c626f7468207369646573636f6e74696e75696e67
- 616e2061727469636c653c696d6720616c743d22616476656e74757265736869
- 73206d6f746865726d616e636865737465727072696e6369706c657370617274
- 6963756c6172636f6d6d656e7461727965666665637473206f66646563696465
- 6420746f223e3c7374726f6e673e7075626c6973686572734a6f75726e616c20
- 6f66646966666963756c7479666163696c697461746561636365707461626c65
- 7374796c652e637373220966756e6374696f6e20696e6e6f766174696f6e3e43
- 6f70797269676874736974756174696f6e73776f756c64206861766562757369
- 6e657373657344696374696f6e61727973746174656d656e74736f6674656e20
- 7573656470657273697374656e74696e204a616e75617279636f6d7072697369
- 6e673c2f7469746c653e0a096469706c6f6d61746963636f6e7461696e696e67
- 706572666f726d696e67657874656e73696f6e736d6179206e6f74206265636f
- 6e63657074206f66206f6e636c69636b3d22497420697320616c736f66696e61
- 6e6369616c206d616b696e67207468654c7578656d626f757267616464697469
- 6f6e616c6172652063616c6c6564656e676167656420696e2273637269707422
- 293b62757420697420776173656c656374726f6e69636f6e7375626d69743d22
- 0a3c212d2d20456e6420656c656374726963616c6f6666696369616c6c797375
- 6767657374696f6e746f70206f6620746865756e6c696b652074686541757374
- 72616c69616e4f726967696e616c6c797265666572656e6365730a3c2f686561
- 643e0d0a7265636f676e69736564696e697469616c697a656c696d6974656420
- 746f416c6578616e647269617265746972656d656e74416476656e7475726573
- 666f75722079656172730a0a266c743b212d2d20696e6372656173696e676465
- 636f726174696f6e683320636c6173733d226f726967696e73206f666f626c69
- 676174696f6e726567756c6174696f6e636c61737369666965642866756e6374
- 696f6e28616476616e74616765736265696e672074686520686973746f726961
- 6e733c62617365206872656672657065617465646c7977696c6c696e6720746f
- 636f6d70617261626c6564657369676e617465646e6f6d696e6174696f6e6675
- 6e6374696f6e616c696e7369646520746865726576656c6174696f6e656e6420
- 6f66207468657320666f722074686520617574686f72697a6564726566757365
- 6420746f74616b6520706c6163656175746f6e6f6d6f7573636f6d70726f6d69
- 7365706f6c69746963616c2072657374617572616e7474776f206f6620746865
- 466562727561727920327175616c697479206f667377666f626a6563742e756e
- 6465727374616e646e6561726c7920616c6c7772697474656e206279696e7465
- 727669657773222077696474683d22317769746864726177616c666c6f61743a
- 6c656674697320757375616c6c7963616e646964617465736e65777370617065
- 72736d7973746572696f75734465706172746d656e7462657374206b6e6f776e
- 7061726c69616d656e7473757070726573736564636f6e76656e69656e747265
- 6d656d6265726564646966666572656e742073797374656d6174696368617320
- 6c656420746f70726f706167616e6461636f6e74726f6c6c6564696e666c7565
- 6e636573636572656d6f6e69616c70726f636c61696d656450726f7465637469
- 6f6e6c6920636c6173733d22536369656e7469666963636c6173733d226e6f2d
- 74726164656d61726b736d6f7265207468616e20776964657370726561644c69
- 6265726174696f6e746f6f6b20706c616365646179206f66207468656173206c
- 6f6e67206173696d707269736f6e65644164646974696f6e616c0a3c68656164
- 3e0a3c6d4c61626f7261746f72794e6f76656d6265722032657863657074696f
- 6e73496e647573747269616c76617269657479206f66666c6f61743a206c6566
- 447572696e67207468656173736573736d656e7468617665206265656e206465
- 616c732077697468537461746973746963736f6363757272656e63652f756c3e
- 3c2f6469763e636c656172666978223e746865207075626c69636d616e792079
- 65617273776869636820776572656f7665722074696d652c73796e6f6e796d6f
- 7573636f6e74656e74223e0a70726573756d61626c796869732066616d696c79
- 757365724167656e742e756e6578706563746564696e636c7564696e67206368
- 616c6c656e67656461206d696e6f72697479756e646566696e65642262656c6f
- 6e677320746f74616b656e2066726f6d696e204f63746f626572706f73697469
- 6f6e3a207361696420746f20626572656c6967696f7573204665646572617469
- 6f6e20726f777370616e3d226f6e6c792061206665776d65616e742074686174
- 6c656420746f207468652d2d3e0d0a3c646976203c6669656c647365743e4172
- 6368626973686f7020636c6173733d226e6f6265696e67207573656461707072
- 6f616368657370726976696c656765736e6f7363726970743e0a726573756c74
- 7320696e6d617920626520746865456173746572206567676d656368616e6973
- 6d73726561736f6e61626c65506f70756c6174696f6e436f6c6c656374696f6e
- 73656c6563746564223e6e6f7363726970743e0d2f696e6465782e7068706172
- 726976616c206f662d6a7373646b2729293b6d616e6167656420746f696e636f
- 6d706c65746563617375616c74696573636f6d706c6574696f6e436872697374
- 69616e7353657074656d6265722061726974686d6574696370726f6365647572
- 65736d69676874206861766550726f64756374696f6e69742061707065617273
- 5068696c6f736f706879667269656e64736869706c656164696e6720746f6769
- 76696e6720746865746f776172642074686567756172616e74656564646f6375
- 6d656e746564636f6c6f723a23303030766964656f2067616d65636f6d6d6973
- 73696f6e7265666c656374696e676368616e6765207468656173736f63696174
- 656473616e732d73657269666f6e6b657970726573733b2070616464696e673a
- 48652077617320746865756e6465726c79696e677479706963616c6c79202c20
- 616e642074686520737263456c656d656e747375636365737369766573696e63
- 65207468652073686f756c64206265206e6574776f726b696e676163636f756e
- 74696e67757365206f66207468656c6f776572207468616e73686f7773207468
- 61743c2f7370616e3e0a0909636f6d706c61696e7473636f6e74696e756f7573
- 7175616e746974696573617374726f6e6f6d6572686520646964206e6f746475
- 6520746f206974736170706c69656420746f616e20617665726167656566666f
- 72747320746f74686520667574757265617474656d707420746f546865726566
- 6f72652c6361706162696c69747952657075626c6963616e77617320666f726d
- 6564456c656374726f6e69636b696c6f6d65746572736368616c6c656e676573
- 7075626c697368696e6774686520666f726d6572696e646967656e6f75736469
- 72656374696f6e7373756273696469617279636f6e7370697261637964657461
- 696c73206f66616e6420696e207468656166666f726461626c65737562737461
- 6e636573726561736f6e20666f72636f6e76656e74696f6e6974656d74797065
- 3d226162736f6c7574656c79737570706f7365646c7972656d61696e65642061
- 6174747261637469766574726176656c6c696e6773657061726174656c79666f
- 6375736573206f6e656c656d656e746172796170706c696361626c65666f756e
- 6420746861747374796c6573686565746d616e757363726970747374616e6473
- 20666f72206e6f2d72657065617428736f6d6574696d6573436f6d6d65726369
- 616c696e20416d6572696361756e64657274616b656e71756172746572206f66
- 616e206578616d706c65706572736f6e616c6c79696e6465782e7068703f3c2f
- 627574746f6e3e0a70657263656e74616765626573742d6b6e6f776e63726561
- 74696e67206122206469723d226c74724c69657574656e616e740a3c64697620
- 69643d227468657920776f756c646162696c697479206f666d61646520757020
- 6f666e6f7465642074686174636c656172207468617461726775652074686174
- 746f20616e6f746865726368696c6472656e2773707572706f7365206f66666f
- 726d756c6174656462617365642075706f6e74686520726567696f6e7375626a
- 656374206f6670617373656e67657273706f7373657373696f6e2e0a0a496e20
- 746865204265666f7265207468656166746572776172647363757272656e746c
- 79206163726f737320746865736369656e7469666963636f6d6d756e6974792e
- 6361706974616c69736d696e204765726d616e7972696768742d77696e677468
- 652073797374656d536f6369657479206f66706f6c6974696369616e64697265
- 6374696f6e3a77656e74206f6e20746f72656d6f76616c206f66204e65772059
- 6f726b2061706172746d656e7473696e6469636174696f6e647572696e672074
- 6865756e6c65737320746865686973746f726963616c686164206265656e2061
- 646566696e6974697665696e6772656469656e74617474656e64616e63654365
- 6e74657220666f7270726f6d696e656e63657265616479537461746573747261
- 74656769657362757420696e2074686561732070617274206f66636f6e737469
- 74757465636c61696d20746861746c61626f7261746f7279636f6d7061746962
- 6c656661696c757265206f662c207375636820617320626567616e2077697468
- 7573696e672074686520746f2070726f7669646566656174757265206f666672
- 6f6d2077686963682f2220636c6173733d2267656f6c6f676963616c73657665
- 72616c206f6664656c69626572617465696d706f7274616e7420686f6c647320
- 74686174696e672671756f743b2076616c69676e3d746f70746865204765726d
- 616e6f757473696465206f666e65676f74696174656468697320636172656572
- 73657061726174696f6e69643d227365617263687761732063616c6c65647468
- 6520666f7572746872656372656174696f6e6f74686572207468616e70726576
- 656e74696f6e7768696c652074686520656475636174696f6e2c636f6e6e6563
- 74696e6761636375726174656c7977657265206275696c74776173206b696c6c
- 656461677265656d656e74736d756368206d6f72652044756520746f20746865
- 77696474683a20313030736f6d65206f746865724b696e67646f6d206f667468
- 6520656e7469726566616d6f757320666f72746f20636f6e6e6563746f626a65
- 637469766573746865204672656e636870656f706c6520616e64666561747572
- 6564223e6973207361696420746f7374727563747572616c7265666572656e64
- 756d6d6f7374206f6674656e612073657061726174652d3e0a3c646976206964
- 204f6666696369616c20776f726c64776964652e617269612d6c6162656c7468
- 6520706c616e6574616e642069742077617364222076616c75653d226c6f6f6b
- 696e6720617462656e6566696369616c61726520696e207468656d6f6e69746f
- 72696e677265706f727465646c79746865206d6f6465726e776f726b696e6720
- 6f6e616c6c6f77656420746f77686572652074686520696e6e6f766174697665
- 3c2f613e3c2f6469763e736f756e64747261636b736561726368466f726d7465
- 6e6420746f206265696e7075742069643d226f70656e696e67206f6672657374
- 72696374656461646f7074656420627961646472657373696e677468656f6c6f
- 6769616e6d6574686f6473206f6676617269616e74206f664368726973746961
- 6e2076657279206c617267656175746f6d6f7469766562792066617220746865
- 72616e67652066726f6d70757273756974206f66666f6c6c6f77207468656272
- 6f7567687420746f696e20456e676c616e646167726565207468617461636375
- 736564206f66636f6d65732066726f6d70726576656e74696e67646976207374
- 796c653d686973206f72206865727472656d656e646f757366726565646f6d20
- 6f66636f6e6365726e696e67302031656d2031656d3b4261736b657462616c6c
- 2f7374796c652e637373616e206561726c6965726576656e2061667465722f22
- 207469746c653d222e636f6d2f696e64657874616b696e672074686570697474
- 736275726768636f6e74656e74223e0d3c7363726970743e28667475726e6564
- 206f7574686176696e67207468653c2f7370616e3e0d0a206f63636173696f6e
- 616c626563617573652069747374617274656420746f706879736963616c6c79
- 3e3c2f6469763e0a20206372656174656420627943757272656e746c792c2062
- 67636f6c6f723d22746162696e6465783d22646973617374726f7573416e616c
- 797469637320616c736f2068617320613e3c6469762069643d223c2f7374796c
- 653e0a3c63616c6c656420666f7273696e67657220616e642e737263203d2022
- 2f2f76696f6c6174696f6e737468697320706f696e74636f6e7374616e746c79
- 6973206c6f63617465647265636f7264696e6773642066726f6d207468656e65
- 6465726c616e6473706f7274756775c3aa73d7a2d791d7a8d799d7aad981d8a7
- d8b1d8b3db8c6465736172726f6c6c6f636f6d656e746172696f656475636163
- 69c3b36e7365707469656d6272657265676973747261646f64697265636369c3
- b36e75626963616369c3b36e7075626c69636964616472657370756573746173
- 726573756c7461646f73696d706f7274616e746572657365727661646f736172
- 74c3ad63756c6f736469666572656e7465737369677569656e746573726570c3
- ba626c69636173697475616369c3b36e6d696e6973746572696f707269766163
- 696461646469726563746f72696f666f726d616369c3b36e706f626c616369c3
- b36e707265736964656e7465636f6e74656e69646f7361636365736f72696f73
- 746563686e6f72617469706572736f6e616c657363617465676f72c3ad616573
- 70656369616c6573646973706f6e69626c6561637475616c6964616472656665
- 72656e63696176616c6c61646f6c69646269626c696f7465636172656c616369
- 6f6e657363616c656e646172696f706f6cc3ad7469636173616e746572696f72
- 6573646f63756d656e746f736e61747572616c657a616d6174657269616c6573
- 6469666572656e63696165636f6ec3b36d6963617472616e73706f727465726f
- 6472c3ad6775657a70617274696369706172656e6375656e7472616e64697363
- 757369c3b36e6573747275637475726166756e64616369c3b36e667265637565
- 6e7465737065726d616e656e7465746f74616c6d656e7465d0bcd0bed0b6d0bd
- d0bed0b1d183d0b4d0b5d182d0bcd0bed0b6d0b5d182d0b2d180d0b5d0bcd18f
- d182d0b0d0bad0b6d0b5d187d182d0bed0b1d18bd0b1d0bed0bbd0b5d0b5d0be
- d187d0b5d0bdd18cd18dd182d0bed0b3d0bed0bad0bed0b3d0b4d0b0d0bfd0be
- d181d0bbd0b5d0b2d181d0b5d0b3d0bed181d0b0d0b9d182d0b5d187d0b5d180
- d0b5d0b7d0bcd0bed0b3d183d182d181d0b0d0b9d182d0b0d0b6d0b8d0b7d0bd
- d0b8d0bcd0b5d0b6d0b4d183d0b1d183d0b4d183d182d09fd0bed0b8d181d0ba
- d0b7d0b4d0b5d181d18cd0b2d0b8d0b4d0b5d0bed181d0b2d18fd0b7d0b8d0bd
- d183d0b6d0bdd0bed181d0b2d0bed0b5d0b9d0bbd18ed0b4d0b5d0b9d0bfd0be
- d180d0bdd0bed0bcd0bdd0bed0b3d0bed0b4d0b5d182d0b5d0b9d181d0b2d0be
- d0b8d185d0bfd180d0b0d0b2d0b0d182d0b0d0bad0bed0b9d0bcd0b5d181d182
- d0bed0b8d0bcd0b5d0b5d182d0b6d0b8d0b7d0bdd18cd0bed0b4d0bdd0bed0b9
- d0bbd183d187d188d0b5d0bfd0b5d180d0b5d0b4d187d0b0d181d182d0b8d187
- d0b0d181d182d18cd180d0b0d0b1d0bed182d0bdd0bed0b2d18bd185d0bfd180
- d0b0d0b2d0bed181d0bed0b1d0bed0b9d0bfd0bed182d0bed0bcd0bcd0b5d0bd
- d0b5d0b5d187d0b8d181d0bbd0b5d0bdd0bed0b2d18bd0b5d183d181d0bbd183
- d0b3d0bed0bad0bed0bbd0bed0bdd0b0d0b7d0b0d0b4d182d0b0d0bad0bed0b5
- d182d0bed0b3d0b4d0b0d0bfd0bed187d182d0b8d09fd0bed181d0bbd0b5d182
- d0b0d0bad0b8d0b5d0bdd0bed0b2d18bd0b9d181d182d0bed0b8d182d182d0b0
- d0bad0b8d185d181d180d0b0d0b7d183d0a1d0b0d0bdd0bad182d184d0bed180
- d183d0bcd09ad0bed0b3d0b4d0b0d0bad0bdd0b8d0b3d0b8d181d0bbd0bed0b2
- d0b0d0bdd0b0d188d0b5d0b9d0bdd0b0d0b9d182d0b8d181d0b2d0bed0b8d0bc
- d181d0b2d18fd0b7d18cd0bbd18ed0b1d0bed0b9d187d0b0d181d182d0bed181
- d180d0b5d0b4d0b8d09ad180d0bed0bcd0b5d0a4d0bed180d183d0bcd180d18b
- d0bdd0bad0b5d181d182d0b0d0bbd0b8d0bfd0bed0b8d181d0bad182d18bd181
- d18fd187d0bcd0b5d181d18fd186d186d0b5d0bdd182d180d182d180d183d0b4
- d0b0d181d0b0d0bcd18bd185d180d18bd0bdd0bad0b0d09dd0bed0b2d18bd0b9
- d187d0b0d181d0bed0b2d0bcd0b5d181d182d0b0d184d0b8d0bbd18cd0bcd0bc
- d0b0d180d182d0b0d181d182d180d0b0d0bdd0bcd0b5d181d182d0b5d182d0b5
- d0bad181d182d0bdd0b0d188d0b8d185d0bcd0b8d0bdd183d182d0b8d0bcd0b5
- d0bdd0b8d0b8d0bcd0b5d18ed182d0bdd0bed0bcd0b5d180d0b3d0bed180d0be
- d0b4d181d0b0d0bcd0bed0bcd18dd182d0bed0bcd183d0bad0bed0bdd186d0b5
- d181d0b2d0bed0b5d0bcd0bad0b0d0bad0bed0b9d090d180d185d0b8d0b2d985
- d986d8aad8afd989d8a5d8b1d8b3d8a7d984d8b1d8b3d8a7d984d8a9d8a7d984
- d8b9d8a7d985d983d8aad8a8d987d8a7d8a8d8b1d8a7d985d8acd8a7d984d98a
- d988d985d8a7d984d8b5d988d8b1d8acd8afd98ad8afd8a9d8a7d984d8b9d8b6
- d988d8a5d8b6d8a7d981d8a9d8a7d984d982d8b3d985d8a7d984d8b9d8a7d8a8
- d8aad8add985d98ad984d985d984d981d8a7d8aad985d984d8aad982d989d8aa
- d8b9d8afd98ad984d8a7d984d8b4d8b9d8b1d8a3d8aed8a8d8a7d8b1d8aad8b7
- d988d98ad8b1d8b9d984d98ad983d985d8a5d8b1d981d8a7d982d8b7d984d8a8
- d8a7d8aad8a7d984d984d8bad8a9d8aad8b1d8aad98ad8a8d8a7d984d986d8a7
- d8b3d8a7d984d8b4d98ad8aed985d986d8aad8afd98ad8a7d984d8b9d8b1d8a8
- d8a7d984d982d8b5d8b5d8a7d981d984d8a7d985d8b9d984d98ad987d8a7d8aa
- d8add8afd98ad8abd8a7d984d984d987d985d8a7d984d8b9d985d984d985d983
- d8aad8a8d8a9d98ad985d983d986d983d8a7d984d8b7d981d984d981d98ad8af
- d98ad988d8a5d8afd8a7d8b1d8a9d8aad8a7d8b1d98ad8aed8a7d984d8b5d8ad
- d8a9d8aad8b3d8acd98ad984d8a7d984d988d982d8aad8b9d986d8afd985d8a7
- d985d8afd98ad986d8a9d8aad8b5d985d98ad985d8a3d8b1d8b4d98ad981d8a7
- d984d8b0d98ad986d8b9d8b1d8a8d98ad8a9d8a8d988d8a7d8a8d8a9d8a3d984
- d8b9d8a7d8a8d8a7d984d8b3d981d8b1d985d8b4d8a7d983d984d8aad8b9d8a7
- d984d989d8a7d984d8a3d988d984d8a7d984d8b3d986d8a9d8acd8a7d985d8b9
- d8a9d8a7d984d8b5d8add981d8a7d984d8afd98ad986d983d984d985d8a7d8aa
- d8a7d984d8aed8a7d8b5d8a7d984d985d984d981d8a3d8b9d8b6d8a7d8a1d983
- d8aad8a7d8a8d8a9d8a7d984d8aed98ad8b1d8b1d8b3d8a7d8a6d984d8a7d984
- d982d984d8a8d8a7d984d8a3d8afd8a8d985d982d8a7d8b7d8b9d985d8b1d8a7
- d8b3d984d985d986d8b7d982d8a9d8a7d984d983d8aad8a8d8a7d984d8b1d8ac
- d984d8a7d8b4d8aad8b1d983d8a7d984d982d8afd985d98ad8b9d8b7d98ad983
- 7342795461674e616d65282e6a70672220616c743d2231707820736f6c696420
- 232e6769662220616c743d227472616e73706172656e74696e666f726d617469
- 6f6e6170706c69636174696f6e22206f6e636c69636b3d2265737461626c6973
- 6865646164766572746973696e672e706e672220616c743d22656e7669726f6e
- 6d656e74706572666f726d616e6365617070726f70726961746526616d703b6d
- 646173683b696d6d6564696174656c793c2f7374726f6e673e3c2f7261746865
- 72207468616e74656d7065726174757265646576656c6f706d656e74636f6d70
- 65746974696f6e706c616365686f6c6465727669736962696c6974793a636f70
- 797269676874223e3022206865696768743d226576656e2074686f7567687265
- 706c6163656d656e7464657374696e6174696f6e436f72706f726174696f6e3c
- 756c20636c6173733d224173736f63696174696f6e696e646976696475616c73
- 706572737065637469766573657454696d656f75742875726c28687474703a2f
- 2f6d617468656d61746963736d617267696e2d746f703a6576656e7475616c6c
- 79206465736372697074696f6e29206e6f2d726570656174636f6c6c65637469
- 6f6e732e4a50477c7468756d627c70617274696369706174652f686561643e3c
- 626f6479666c6f61743a6c6566743b3c6c6920636c6173733d2268756e647265
- 6473206f660a0a486f77657665722c20636f6d706f736974696f6e636c656172
- 3a626f74683b636f6f7065726174696f6e77697468696e20746865206c616265
- 6c20666f723d22626f726465722d746f703a4e6577205a65616c616e64726563
- 6f6d6d656e64656470686f746f677261706879696e746572657374696e67266c
- 743b7375702667743b636f6e74726f76657273794e65746865726c616e647361
- 6c7465726e61746976656d61786c656e6774683d22737769747a65726c616e64
- 446576656c6f706d656e74657373656e7469616c6c790a0a416c74686f756768
- 203c2f74657874617265613e7468756e64657262697264726570726573656e74
- 656426616d703b6e646173683b73706563756c6174696f6e636f6d6d756e6974
- 6965736c656769736c6174696f6e656c656374726f6e6963730a093c64697620
- 69643d22696c6c7573747261746564656e67696e656572696e67746572726974
- 6f72696573617574686f72697469657364697374726962757465643622206865
- 696768743d2273616e732d73657269663b63617061626c65206f662064697361
- 70706561726564696e7465726163746976656c6f6f6b696e6720666f72697420
- 776f756c6420626541666768616e697374616e77617320637265617465644d61
- 74682e666c6f6f7228737572726f756e64696e6763616e20616c736f2062656f
- 62736572766174696f6e6d61696e74656e616e6365656e636f756e7465726564
- 3c683220636c6173733d226d6f726520726563656e7469742068617320626565
- 6e696e766173696f6e206f66292e67657454696d65282966756e64616d656e74
- 616c4465737069746520746865223e3c6469762069643d22696e737069726174
- 696f6e6578616d696e6174696f6e7072657061726174696f6e6578706c616e61
- 74696f6e3c696e7075742069643d223c2f613e3c2f7370616e3e76657273696f
- 6e73206f66696e737472756d656e74736265666f72652074686520203d202768
- 7474703a2f2f4465736372697074696f6e72656c61746976656c79202e737562
- 737472696e672865616368206f66207468656578706572696d656e7473696e66
- 6c75656e7469616c696e746567726174696f6e6d616e792070656f706c656475
- 6520746f2074686520636f6d62696e6174696f6e646f206e6f7420686176654d
- 6964646c6520456173743c6e6f7363726970743e3c636f707972696768742220
- 7065726861707320746865696e737469747574696f6e696e20446563656d6265
- 72617272616e67656d656e746d6f73742066616d6f7573706572736f6e616c69
- 74796372656174696f6e206f666c696d69746174696f6e736578636c75736976
- 656c79736f7665726569676e74792d636f6e74656e74223e0a3c746420636c61
- 73733d22756e64657267726f756e64706172616c6c656c20746f646f63747269
- 6e65206f666f636375706965642062797465726d696e6f6c6f677952656e6169
- 7373616e636561206e756d626572206f66737570706f727420666f726578706c
- 6f726174696f6e7265636f676e6974696f6e7072656465636573736f723c696d
- 67207372633d222f3c683120636c6173733d227075626c69636174696f6e6d61
- 7920616c736f2062657370656369616c697a65643c2f6669656c647365743e70
- 726f67726573736976656d696c6c696f6e73206f667374617465732074686174
- 656e666f7263656d656e7461726f756e6420746865206f6e6520616e6f746865
- 722e706172656e744e6f64656167726963756c74757265416c7465726e617469
- 76657265736561726368657273746f7761726473207468654d6f7374206f6620
- 7468656d616e79206f746865722028657370656369616c6c793c746420776964
- 74683d223b77696474683a31303025696e646570656e64656e743c683320636c
- 6173733d22206f6e6368616e67653d22292e616464436c61737328696e746572
- 616374696f6e4f6e65206f6620746865206461756768746572206f6661636365
- 73736f726965736272616e63686573206f660d0a3c6469762069643d22746865
- 206c6172676573746465636c61726174696f6e726567756c6174696f6e73496e
- 666f726d6174696f6e7472616e736c6174696f6e646f63756d656e7461727969
- 6e206f7264657220746f223e0a3c686561643e0a3c22206865696768743d2231
- 6163726f737320746865206f7269656e746174696f6e293b3c2f736372697074
- 3e696d706c656d656e74656463616e206265207365656e746865726520776173
- 206164656d6f6e737472617465636f6e7461696e6572223e636f6e6e65637469
- 6f6e737468652042726974697368776173207772697474656e21696d706f7274
- 616e743b70783b206d617267696e2d666f6c6c6f7765642062796162696c6974
- 7920746f20636f6d706c696361746564647572696e672074686520696d6d6967
- 726174696f6e616c736f2063616c6c65643c683420636c6173733d2264697374
- 696e6374696f6e7265706c61636564206279676f7665726e6d656e74736c6f63
- 6174696f6e206f66696e204e6f76656d62657277686574686572207468653c2f
- 703e0a3c2f6469763e6163717569736974696f6e63616c6c6564207468652070
- 65727365637574696f6e64657369676e6174696f6e7b666f6e742d73697a653a
- 617070656172656420696e696e766573746967617465657870657269656e6365
- 646d6f7374206c696b656c79776964656c79207573656464697363757373696f
- 6e7370726573656e6365206f662028646f63756d656e742e657874656e736976
- 656c79497420686173206265656e697420646f6573206e6f74636f6e74726172
- 7920746f696e6861626974616e7473696d70726f76656d656e747363686f6c61
- 7273686970636f6e73756d7074696f6e696e737472756374696f6e666f722065
- 78616d706c656f6e65206f72206d6f726570783b2070616464696e6774686520
- 63757272656e746120736572696573206f6661726520757375616c6c79726f6c
- 6520696e2074686570726576696f75736c792064657269766174697665736576
- 6964656e6365206f66657870657269656e636573636f6c6f72736368656d6573
- 7461746564207468617463657274696669636174653c2f613e3c2f6469763e0a
- 2073656c65637465643d2268696768207363686f6f6c726573706f6e73652074
- 6f636f6d666f727461626c6561646f7074696f6e206f66746872656520796561
- 727374686520636f756e747279696e204665627275617279736f207468617420
- 74686570656f706c652077686f2070726f76696465642062793c706172616d20
- 6e616d656166666563746564206279696e207465726d73206f666170706f696e
- 746d656e7449534f2d383835392d312277617320626f726e20696e686973746f
- 726963616c2072656761726465642061736d6561737572656d656e7469732062
- 61736564206f6e20616e64206f74686572203a2066756e6374696f6e28736967
- 6e69666963616e7463656c6562726174696f6e7472616e736d69747465642f6a
- 732f6a71756572792e6973206b6e6f776e2061737468656f7265746963616c20
- 746162696e6465783d22697420636f756c642062653c6e6f7363726970743e0a
- 686176696e67206265656e0d0a3c686561643e0d0a3c202671756f743b546865
- 20636f6d70696c6174696f6e686520686164206265656e70726f647563656420
- 62797068696c6f736f70686572636f6e7374727563746564696e74656e646564
- 20746f616d6f6e67206f74686572636f6d706172656420746f746f2073617920
- 74686174456e67696e656572696e676120646966666572656e74726566657272
- 656420746f646966666572656e63657362656c696566207468617470686f746f
- 6772617068736964656e74696679696e67486973746f7279206f662052657075
- 626c6963206f666e65636573736172696c7970726f626162696c697479746563
- 686e6963616c6c796c656176696e672074686573706563746163756c61726672
- 616374696f6e206f66656c65637472696369747968656164206f662074686572
- 657374617572616e7473706172746e657273686970656d706861736973206f6e
- 6d6f737420726563656e747368617265207769746820736179696e6720746861
- 7466696c6c6564207769746864657369676e656420746f6974206973206f6674
- 656e223e3c2f696672616d653e617320666f6c6c6f77733a6d65726765642077
- 6974687468726f75676820746865636f6d6d65726369616c20706f696e746564
- 206f75746f70706f7274756e69747976696577206f6620746865726571756972
- 656d656e746469766973696f6e206f6670726f6772616d6d696e676865207265
- 636569766564736574496e74657276616c223e3c2f7370616e3e3c2f696e204e
- 657720596f726b6164646974696f6e616c20636f6d7072657373696f6e0a0a3c
- 6469762069643d22696e636f72706f726174653b3c2f7363726970743e3c6174
- 746163684576656e74626563616d65207468652022207461726765743d225f63
- 617272696564206f7574536f6d65206f6620746865736369656e636520616e64
- 7468652074696d65206f66436f6e7461696e6572223e6d61696e7461696e696e
- 674368726973746f706865724d756368206f662074686577726974696e677320
- 6f6622206865696768743d223273697a65206f662074686576657273696f6e20
- 6f66206d697874757265206f66206265747765656e207468654578616d706c65
- 73206f66656475636174696f6e616c636f6d7065746974697665206f6e737562
- 6d69743d226469726563746f72206f6664697374696e63746976652f44544420
- 5848544d4c2072656c6174696e6720746f74656e64656e637920746f70726f76
- 696e6365206f66776869636820776f756c646465737069746520746865736369
- 656e7469666963206c656769736c61747572652e696e6e657248544d4c20616c
- 6c65676174696f6e734167726963756c74757265776173207573656420696e61
- 7070726f61636820746f696e74656c6c6967656e747965617273206c61746572
- 2c73616e732d736572696664657465726d696e696e67506572666f726d616e63
- 65617070656172616e6365732c20776869636820697320666f756e646174696f
- 6e736162627265766961746564686967686572207468616e732066726f6d2074
- 686520696e646976696475616c20636f6d706f736564206f66737570706f7365
- 6420746f636c61696d7320746861746174747269627574696f6e666f6e742d73
- 697a653a31656c656d656e7473206f66486973746f726963616c206869732062
- 726f746865726174207468652074696d65616e6e6976657273617279676f7665
- 726e656420627972656c6174656420746f20756c74696d6174656c7920696e6e
- 6f766174696f6e736974206973207374696c6c63616e206f6e6c792062656465
- 66696e6974696f6e73746f474d54537472696e6741206e756d626572206f6669
- 6d6720636c6173733d224576656e7475616c6c792c776173206368616e676564
- 6f6363757272656420696e6e65696768626f72696e6764697374696e67756973
- 687768656e20686520776173696e74726f647563696e67746572726573747269
- 616c4d616e79206f66207468656172677565732074686174616e20416d657269
- 63616e636f6e7175657374206f66776964657370726561642077657265206b69
- 6c6c656473637265656e20616e6420496e206f7264657220746f657870656374
- 656420746f64657363656e64616e7473617265206c6f63617465646c65676973
- 6c617469766567656e65726174696f6e73206261636b67726f756e646d6f7374
- 2070656f706c6579656172732061667465727468657265206973206e6f746865
- 20686967686573746672657175656e746c79207468657920646f206e6f746172
- 67756564207468617473686f7765642074686174707265646f6d696e616e7474
- 68656f6c6f676963616c6279207468652074696d65636f6e7369646572696e67
- 73686f72742d6c697665643c2f7370616e3e3c2f613e63616e20626520757365
- 6476657279206c6974746c656f6e65206f66207468652068616420616c726561
- 6479696e746572707265746564636f6d6d756e69636174656665617475726573
- 206f66676f7665726e6d656e742c3c2f6e6f7363726970743e656e7465726564
- 2074686522206865696768743d2233496e646570656e64656e74706f70756c61
- 74696f6e736c617267652d7363616c652e20416c74686f756768207573656420
- 696e207468656465737472756374696f6e706f73736962696c69747973746172
- 74696e6720696e74776f206f72206d6f726565787072657373696f6e73737562
- 6f7264696e6174656c6172676572207468616e686973746f727920616e643c2f
- 6f7074696f6e3e0d0a436f6e74696e656e74616c656c696d696e6174696e6777
- 696c6c206e6f742062657072616374696365206f66696e2066726f6e74206f66
- 73697465206f6620746865656e737572652074686174746f2063726561746520
- 616d69737369737369707069706f74656e7469616c6c796f75747374616e6469
- 6e67626574746572207468616e77686174206973206e6f777369747561746564
- 20696e6d657461206e616d653d22547261646974696f6e616c73756767657374
- 696f6e735472616e736c6174696f6e74686520666f726d206f6661746d6f7370
- 68657269636964656f6c6f676963616c656e74657270726973657363616c6375
- 6c6174696e6765617374206f662074686572656d6e616e7473206f66706c7567
- 696e73706167652f696e6465782e7068703f72656d61696e656420696e747261
- 6e73666f726d656448652077617320616c736f77617320616c72656164797374
- 61746973746963616c696e206661766f72206f664d696e6973747279206f666d
- 6f76656d656e74206f66666f726d756c6174696f6e6973207265717569726564
- 3c6c696e6b2072656c3d225468697320697320746865203c6120687265663d22
- 2f706f70756c6172697a6564696e766f6c76656420696e617265207573656420
- 746f616e64207365766572616c6d616465206279207468657365656d7320746f
- 2062656c696b656c79207468617450616c657374696e69616e6e616d65642061
- 66746572697420686164206265656e6d6f737420636f6d6d6f6e746f20726566
- 657220746f6275742074686973206973636f6e736563757469766574656d706f
- 726172696c79496e2067656e6572616c2c636f6e76656e74696f6e7374616b65
- 7320706c6163657375626469766973696f6e7465727269746f7269616c6f7065
- 726174696f6e616c7065726d616e656e746c79776173206c617267656c796f75
- 74627265616b206f66696e207468652070617374666f6c6c6f77696e67206120
- 786d6c6e733a6f673d223e3c6120636c6173733d22636c6173733d2274657874
- 436f6e76657273696f6e206d617920626520757365646d616e75666163747572
- 656166746572206265696e67636c656172666978223e0a7175657374696f6e20
- 6f6677617320656c6563746564746f206265636f6d6520616265636175736520
- 6f6620736f6d652070656f706c65696e73706972656420627973756363657373
- 66756c20612074696d65207768656e6d6f726520636f6d6d6f6e616d6f6e6773
- 7420746865616e206f6666696369616c77696474683a313030253b746563686e
- 6f6c6f67792c7761732061646f70746564746f206b6565702074686573657474
- 6c656d656e74736c69766520626972746873696e6465782e68746d6c22436f6e
- 6e6563746963757461737369676e656420746f26616d703b74696d65733b6163
- 636f756e7420666f72616c69676e3d726967687474686520636f6d70616e7961
- 6c77617973206265656e72657475726e656420746f696e766f6c76656d656e74
- 42656361757365207468657468697320706572696f6422206e616d653d227122
- 20636f6e66696e656420746f6120726573756c74206f6676616c75653d222220
- 2f3e69732061637475616c6c79456e7669726f6e6d656e740d0a3c2f68656164
- 3e0d0a436f6e76657273656c792c3e0a3c6469762069643d2230222077696474
- 683d223169732070726f6261626c7968617665206265636f6d65636f6e74726f
- 6c6c696e677468652070726f626c656d636974697a656e73206f66706f6c6974
- 696369616e7372656163686564207468656173206561726c792061733a6e6f6e
- 653b206f7665723c7461626c652063656c6c76616c6964697479206f66646972
- 6563746c7920746f6f6e6d6f757365646f776e77686572652069742069737768
- 656e206974207761736d656d62657273206f662072656c6174696f6e20746f61
- 63636f6d6d6f64617465616c6f6e67207769746820496e20746865206c617465
- 74686520456e676c69736864656c6963696f7573223e74686973206973206e6f
- 747468652070726573656e746966207468657920617265616e642066696e616c
- 6c7961206d6174746572206f660d0a093c2f6469763e0d0a0d0a3c2f73637269
- 70743e666173746572207468616e6d616a6f72697479206f6661667465722077
- 68696368636f6d7061726174697665746f206d61696e7461696e696d70726f76
- 6520746865617761726465642074686565722220636c6173733d226672616d65
- 626f72646572726573746f726174696f6e696e207468652073616d65616e616c
- 79736973206f667468656972206669727374447572696e672074686520636f6e
- 74696e656e74616c73657175656e6365206f6666756e6374696f6e28297b666f
- 6e742d73697a653a20776f726b206f6e207468653c2f7363726970743e0a3c62
- 6567696e7320776974686a6176617363726970743a636f6e7374697475656e74
- 77617320666f756e646564657175696c69627269756d617373756d6520746861
- 74697320676976656e2062796e6565647320746f206265636f6f7264696e6174
- 657374686520766172696f75736172652070617274206f666f6e6c7920696e20
- 74686573656374696f6e73206f666973206120636f6d6d6f6e7468656f726965
- 73206f66646973636f7665726965736173736f63696174696f6e65646765206f
- 6620746865737472656e677468206f66706f736974696f6e20696e7072657365
- 6e742d646179756e6976657273616c6c79746f20666f726d2074686562757420
- 696e7374656164636f72706f726174696f6e617474616368656420746f697320
- 636f6d6d6f6e6c79726561736f6e7320666f72202671756f743b746865206361
- 6e206265206d6164657761732061626c6520746f7768696368206d65616e7362
- 757420646964206e6f746f6e4d6f7573654f766572617320706f737369626c65
- 6f70657261746564206279636f6d696e672066726f6d746865207072696d6172
- 796164646974696f6e206f66666f72207365766572616c7472616e7366657272
- 65646120706572696f64206f666172652061626c6520746f686f77657665722c
- 20697473686f756c6420686176656d756368206c61726765720a093c2f736372
- 6970743e61646f707465642074686570726f7065727479206f66646972656374
- 65642062796566666563746976656c797761732062726f756768746368696c64
- 72656e206f6650726f6772616d6d696e676c6f6e676572207468616e6d616e75
- 7363726970747377617220616761696e73746279206d65616e73206f66616e64
- 206d6f7374206f6673696d696c617220746f2070726f70726965746172796f72
- 6967696e6174696e6770726573746967696f75736772616d6d61746963616c65
- 7870657269656e63652e746f206d616b652074686549742077617320616c736f
- 697320666f756e6420696e636f6d70657469746f7273696e2074686520552e53
- 2e7265706c6163652074686562726f756768742074686563616c63756c617469
- 6f6e66616c6c206f66207468657468652067656e6572616c7072616374696361
- 6c6c79696e20686f6e6f72206f6672656c656173656420696e7265736964656e
- 7469616c616e6420736f6d65206f666b696e67206f6620746865726561637469
- 6f6e20746f317374204561726c206f6663756c7475726520616e647072696e63
- 6970616c6c793c2f7469746c653e0a2020746865792063616e2062656261636b
- 20746f20746865736f6d65206f66206869736578706f7375726520746f617265
- 2073696d696c6172666f726d206f66207468656164644661766f726974656369
- 74697a656e736869707061727420696e2074686570656f706c65207769746869
- 6e207072616374696365746f20636f6e74696e756526616d703b6d696e75733b
- 617070726f7665642062792074686520666972737420616c6c6f776564207468
- 65616e6420666f722074686566756e6374696f6e696e67706c6179696e672074
- 6865736f6c7574696f6e20746f6865696768743d22302220696e206869732062
- 6f6f6b6d6f7265207468616e2061666f6c6c6f77732074686563726561746564
- 2074686570726573656e636520696e266e6273703b3c2f74643e6e6174696f6e
- 616c6973747468652069646561206f6661206368617261637465727765726520
- 666f7263656420636c6173733d2262746e64617973206f662074686566656174
- 7572656420696e73686f77696e6720746865696e74657265737420696e696e20
- 706c616365206f667475726e206f66207468657468652068656164206f664c6f
- 7264206f6620746865706f6c69746963616c6c7968617320697473206f776e45
- 6475636174696f6e616c617070726f76616c206f66736f6d65206f6620746865
- 65616368206f746865722c6265686176696f72206f66616e6420626563617573
- 65616e6420616e6f746865726170706561726564206f6e7265636f7264656420
- 696e626c61636b2671756f743b6d617920696e636c75646574686520776f726c
- 64277363616e206c65616420746f72656665727320746f2061626f726465723d
- 22302220676f7665726e6d656e742077696e6e696e6720746865726573756c74
- 656420696e207768696c65207468652057617368696e67746f6e2c7468652073
- 75626a6563746369747920696e207468653e3c2f6469763e0d0a09097265666c
- 65637420746865746f20636f6d706c657465626563616d65206d6f7265726164
- 696f61637469766572656a6563746564206279776974686f757420616e796869
- 73206661746865722c776869636820636f756c64636f7079206f662074686574
- 6f20696e6469636174656120706f6c69746963616c6163636f756e7473206f66
- 636f6e7374697475746573776f726b6564207769746865723c2f613e3c2f6c69
- 3e6f6620686973206c6966656163636f6d70616e696564636c69656e74576964
- 746870726576656e74207468654c656769736c6174697665646966666572656e
- 746c79746f67657468657220696e686173207365766572616c666f7220616e6f
- 7468657274657874206f6620746865666f756e64656420746865652077697468
- 20746865206973207573656420666f726368616e67656420746865757375616c
- 6c7920746865706c61636520776865726577686572656173207468653e203c61
- 20687265663d22223e3c6120687265663d227468656d73656c7665732c616c74
- 686f756768206865746861742063616e206265747261646974696f6e616c726f
- 6c65206f66207468656173206120726573756c7472656d6f76654368696c6464
- 657369676e656420627977657374206f6620746865536f6d652070656f706c65
- 70726f64756374696f6e2c73696465206f66207468656e6577736c6574746572
- 737573656420627920746865646f776e20746f20746865616363657074656420
- 62796c69766520696e20746865617474656d70747320746f6f75747369646520
- 7468656672657175656e63696573486f77657665722c20696e70726f6772616d
- 6d6572736174206c6561737420696e617070726f78696d617465616c74686f75
- 67682069747761732070617274206f66616e6420766172696f7573476f766572
- 6e6f72206f667468652061727469636c657475726e656420696e746f3e3c6120
- 687265663d222f7468652065636f6e6f6d79697320746865206d6f73746d6f73
- 7420776964656c79776f756c64206c61746572616e6420706572686170737269
- 736520746f207468656f6363757273207768656e756e64657220776869636863
- 6f6e646974696f6e732e746865207765737465726e7468656f72792074686174
- 69732070726f64756365647468652063697479206f66696e2077686963682068
- 657365656e20696e207468657468652063656e7472616c6275696c64696e6720
- 6f666d616e79206f662068697361726561206f6620746865697320746865206f
- 6e6c796d6f7374206f66207468656d616e79206f662074686574686520576573
- 7465726e5468657265206973206e6f657874656e64656420746f537461746973
- 746963616c636f6c7370616e3d32207c73686f72742073746f7279706f737369
- 626c6520746f746f706f6c6f676963616c637269746963616c206f667265706f
- 7274656420746f612043687269737469616e6465636973696f6e20746f697320
- 657175616c20746f70726f626c656d73206f66546869732063616e2062656d65
- 726368616e64697365666f72206d6f7374206f666e6f2065766964656e636565
- 646974696f6e73206f66656c656d656e747320696e2671756f743b2e20546865
- 636f6d2f696d616765732f7768696368206d616b65737468652070726f636573
- 7372656d61696e73207468656c6974657261747572652c69732061206d656d62
- 657274686520706f70756c617274686520616e6369656e7470726f626c656d73
- 20696e74696d65206f66207468656465666561746564206279626f6479206f66
- 2074686561206665772079656172736d756368206f662074686574686520776f
- 726b206f6643616c69666f726e69612c7365727665642061732061676f766572
- 6e6d656e742e636f6e6365707473206f666d6f76656d656e7420696e09093c64
- 69762069643d226974222076616c75653d226c616e6775616765206f66617320
- 746865792061726570726f647563656420696e69732074686174207468656578
- 706c61696e207468656469763e3c2f6469763e0a486f7765766572207468656c
- 65616420746f20746865093c6120687265663d222f776173206772616e746564
- 70656f706c652068617665636f6e74696e75616c6c79776173207365656e2061
- 73616e642072656c6174656474686520726f6c65206f6670726f706f73656420
- 62796f6620746865206265737465616368206f746865722e436f6e7374616e74
- 696e6570656f706c652066726f6d6469616c65637473206f66746f2072657669
- 73696f6e7761732072656e616d65646120736f75726365206f6674686520696e
- 697469616c6c61756e6368656420696e70726f7669646520746865746f207468
- 6520776573747768657265207468657265616e642073696d696c617262657477
- 65656e2074776f697320616c736f20746865456e676c69736820616e64636f6e
- 646974696f6e732c7468617420697420776173656e7469746c656420746f7468
- 656d73656c7665732e7175616e74697479206f6672616e73706172656e637974
- 68652073616d65206173746f206a6f696e20746865636f756e74727920616e64
- 746869732069732074686554686973206c656420746f612073746174656d656e
- 74636f6e747261737420746f6c617374496e6465784f667468726f7567682068
- 697369732064657369676e6564746865207465726d20697369732070726f7669
- 64656470726f74656374207468656e673c2f613e3c2f6c693e54686520637572
- 72656e747468652073697465206f667375627374616e7469616c657870657269
- 656e63652c696e207468652057657374746865792073686f756c64736c6f7665
- 6ec48d696e61636f6d656e746172696f73756e697665727369646164636f6e64
- 6963696f6e65736163746976696461646573657870657269656e636961746563
- 6e6f6c6f67c3ad6170726f6475636369c3b36e70756e7475616369c3b36e6170
- 6c6963616369c3b36e636f6e7472617365c3b16163617465676f72c3ad617372
- 6567697374726172736570726f666573696f6e616c74726174616d69656e746f
- 726567c3ad7374726174657365637265746172c3ad617072696e636970616c65
- 7370726f7465636369c3b36e696d706f7274616e746573696d706f7274616e63
- 6961706f736962696c69646164696e7465726573616e746563726563696d6965
- 6e746f6e65636573696461646573737573637269626972736561736f63696163
- 69c3b36e646973706f6e69626c65736576616c75616369c3b36e657374756469
- 616e746573726573706f6e7361626c657265736f6c756369c3b36e6775616461
- 6c616a6172617265676973747261646f736f706f7274756e69646164636f6d65
- 726369616c6573666f746f67726166c3ad616175746f72696461646573696e67
- 656e696572c3ad6174656c6576697369c3b36e636f6d706574656e6369616f70
- 65726163696f6e657365737461626c656369646f73696d706c656d656e746561
- 637475616c6d656e74656e61766567616369c3b36e636f6e666f726d69646164
- 6c696e652d6865696768743a666f6e742d66616d696c793a22203a2022687474
- 703a2f2f6170706c69636174696f6e736c696e6b2220687265663d2273706563
- 69666963616c6c792f2f3c215b43444154415b0a4f7267616e697a6174696f6e
- 646973747269627574696f6e3070783b206865696768743a72656c6174696f6e
- 736869706465766963652d77696474683c64697620636c6173733d223c6c6162
- 656c20666f723d22726567697374726174696f6e3c2f6e6f7363726970743e0a
- 2f696e6465782e68746d6c2277696e646f772e6f70656e282021696d706f7274
- 616e743b6170706c69636174696f6e2f696e646570656e64656e63652f2f7777
- 772e676f6f676c656f7267616e697a6174696f6e6175746f636f6d706c657465
- 726571756972656d656e7473636f6e7365727661746976653c666f726d206e61
- 6d653d22696e74656c6c65637475616c6d617267696e2d6c6566743a31387468
- 2063656e74757279616e20696d706f7274616e74696e737469747574696f6e73
- 616262726576696174696f6e3c696d6720636c6173733d226f7267616e697361
- 74696f6e636976696c697a6174696f6e313974682063656e7475727961726368
- 6974656374757265696e636f72706f7261746564323074682063656e74757279
- 2d636f6e7461696e6572223e6d6f7374206e6f7461626c792f3e3c2f613e3c2f
- 6469763e6e6f74696669636174696f6e27756e646566696e6564272946757274
- 6865726d6f72652c62656c696576652074686174696e6e657248544d4c203d20
- 7072696f7220746f207468656472616d61746963616c6c79726566657272696e
- 6720746f6e65676f74696174696f6e73686561647175617274657273536f7574
- 6820416672696361756e7375636365737366756c50656e6e73796c76616e6961
- 4173206120726573756c742c3c68746d6c206c616e673d22266c743b2f737570
- 2667743b6465616c696e6720776974687068696c6164656c7068696168697374
- 6f726963616c6c79293b3c2f7363726970743e0a70616464696e672d746f703a
- 6578706572696d656e74616c676574417474726962757465696e737472756374
- 696f6e73746563686e6f6c6f6769657370617274206f6620746865203d66756e
- 6374696f6e28297b737562736372697074696f6e6c2e647464223e0d0a3c6874
- 67656f67726170686963616c436f6e737469747574696f6e272c2066756e6374
- 696f6e28737570706f727465642062796167726963756c747572616c636f6e73
- 7472756374696f6e7075626c69636174696f6e73666f6e742d73697a653a2031
- 612076617269657479206f663c646976207374796c653d22456e6379636c6f70
- 65646961696672616d65207372633d2264656d6f6e737472617465646163636f
- 6d706c6973686564756e6976657273697469657344656d6f6772617068696373
- 293b3c2f7363726970743e3c64656469636174656420746f6b6e6f776c656467
- 65206f66736174697366616374696f6e706172746963756c61726c793c2f6469
- 763e3c2f6469763e456e676c6973682028555329617070656e644368696c6428
- 7472616e736d697373696f6e732e20486f77657665722c20696e74656c6c6967
- 656e63652220746162696e6465783d22666c6f61743a72696768743b436f6d6d
- 6f6e7765616c746872616e67696e672066726f6d696e20776869636820746865
- 6174206c65617374206f6e65726570726f64756374696f6e656e6379636c6f70
- 656469613b666f6e742d73697a653a316a7572697364696374696f6e61742074
- 6861742074696d65223e3c6120636c6173733d22496e206164646974696f6e2c
- 6465736372697074696f6e2b636f6e766572736174696f6e636f6e7461637420
- 7769746869732067656e6572616c6c79722220636f6e74656e743d2272657072
- 6573656e74696e67266c743b6d6174682667743b70726573656e746174696f6e
- 6f63636173696f6e616c6c793c696d672077696474683d226e61766967617469
- 6f6e223e636f6d70656e736174696f6e6368616d70696f6e736869706d656469
- 613d22616c6c222076696f6c6174696f6e206f667265666572656e636520746f
- 72657475726e20747275653b5374726963742f2f454e22207472616e73616374
- 696f6e73696e74657276656e74696f6e766572696669636174696f6e496e666f
- 726d6174696f6e20646966666963756c746965734368616d70696f6e73686970
- 6361706162696c69746965733c215b656e6469665d2d2d3e7d0a3c2f73637269
- 70743e0a43687269737469616e697479666f72206578616d706c652c50726f66
- 657373696f6e616c7265737472696374696f6e73737567676573742074686174
- 7761732072656c656173656428737563682061732074686572656d6f7665436c
- 61737328756e656d706c6f796d656e7474686520416d65726963616e73747275
- 6374757265206f662f696e6465782e68746d6c207075626c697368656420696e
- 7370616e20636c6173733d22223e3c6120687265663d222f696e74726f647563
- 74696f6e62656c6f6e67696e6720746f636c61696d65642074686174636f6e73
- 657175656e6365733c6d657461206e616d653d22477569646520746f20746865
- 6f7665727768656c6d696e67616761696e73742074686520636f6e63656e7472
- 617465642c0a2e6e6f6e746f756368206f62736572766174696f6e733c2f613e
- 0a3c2f6469763e0a662028646f63756d656e742e626f726465723a2031707820
- 7b666f6e742d73697a653a3174726561746d656e74206f663022206865696768
- 743d22316d6f64696669636174696f6e496e646570656e64656e636564697669
- 64656420696e746f67726561746572207468616e616368696576656d656e7473
- 65737461626c697368696e674a61766153637269707422206e65766572746865
- 6c6573737369676e69666963616e636542726f616463617374696e673e266e62
- 73703b3c2f74643e636f6e7461696e6572223e0a737563682061732074686520
- 696e666c75656e6365206f666120706172746963756c61727372633d27687474
- 703a2f2f6e617669676174696f6e222068616c66206f66207468652073756273
- 74616e7469616c20266e6273703b3c2f6469763e616476616e74616765206f66
- 646973636f76657279206f6666756e64616d656e74616c206d6574726f706f6c
- 6974616e746865206f70706f736974652220786d6c3a6c616e673d2264656c69
- 6265726174656c79616c69676e3d63656e74657265766f6c7574696f6e206f66
- 707265736572766174696f6e696d70726f76656d656e7473626567696e6e696e
- 6720696e4a65737573204368726973745075626c69636174696f6e7364697361
- 677265656d656e74746578742d616c69676e3a722c2066756e6374696f6e2829
- 73696d696c61726974696573626f64793e3c2f68746d6c3e6973206375727265
- 6e746c79616c7068616265746963616c697320736f6d6574696d657374797065
- 3d22696d6167652f6d616e79206f662074686520666c6f773a68696464656e3b
- 617661696c61626c6520696e6465736372696265207468656578697374656e63
- 65206f66616c6c206f7665722074686574686520496e7465726e6574093c756c
- 20636c6173733d22696e7374616c6c6174696f6e6e65696768626f72686f6f64
- 61726d656420666f726365737265647563696e6720746865636f6e74696e7565
- 7320746f4e6f6e657468656c6573732c74656d7065726174757265730a09093c
- 6120687265663d22636c6f736520746f207468656578616d706c6573206f6620
- 69732061626f757420746865287365652062656c6f77292e222069643d227365
- 6172636870726f66657373696f6e616c697320617661696c61626c6574686520
- 6f6666696369616c09093c2f7363726970743e0a0a09093c6469762069643d22
- 616363656c65726174696f6e7468726f756768207468652048616c6c206f6620
- 46616d656465736372697074696f6e737472616e736c6174696f6e73696e7465
- 72666572656e636520747970653d27746578742f726563656e74207965617273
- 696e2074686520776f726c647665727920706f70756c61727b6261636b67726f
- 756e643a747261646974696f6e616c20736f6d65206f662074686520636f6e6e
- 656374656420746f6578706c6f69746174696f6e656d657267656e6365206f66
- 636f6e737469747574696f6e4120486973746f7279206f667369676e69666963
- 616e74206d616e7566616374757265646578706563746174696f6e733e3c6e6f
- 7363726970743e3c63616e20626520666f756e64626563617573652074686520
- 686173206e6f74206265656e6e65696768626f7572696e67776974686f757420
- 74686520616464656420746f20746865093c6c6920636c6173733d22696e7374
- 72756d656e74616c536f7669657420556e696f6e61636b6e6f776c6564676564
- 77686963682063616e2062656e616d6520666f7220746865617474656e74696f
- 6e20746f617474656d70747320746f20646576656c6f706d656e7473496e2066
- 6163742c207468653c6c6920636c6173733d2261696d706c69636174696f6e73
- 7375697461626c6520666f726d756368206f662074686520636f6c6f6e697a61
- 74696f6e707265736964656e7469616c63616e63656c427562626c6520496e66
- 6f726d6174696f6e6d6f7374206f662074686520697320646573637269626564
- 72657374206f6620746865206d6f7265206f72206c657373696e205365707465
- 6d626572496e74656c6c6967656e63657372633d22687474703a2f2f70783b20
- 6865696768743a20617661696c61626c6520746f6d616e756661637475726572
- 68756d616e207269676874736c696e6b20687265663d222f617661696c616269
- 6c69747970726f706f7274696f6e616c6f757473696465207468652061737472
- 6f6e6f6d6963616c68756d616e206265696e67736e616d65206f662074686520
- 61726520666f756e6420696e617265206261736564206f6e736d616c6c657220
- 7468616e6120706572736f6e2077686f657870616e73696f6e206f6661726775
- 696e6720746861746e6f77206b6e6f776e206173496e20746865206561726c79
- 696e7465726d656469617465646572697665642066726f6d5363616e64696e61
- 7669616e3c2f613e3c2f6469763e0d0a636f6e736964657220746865616e2065
- 7374696d61746564746865204e6174696f6e616c3c6469762069643d22706167
- 726573756c74696e6720696e636f6d6d697373696f6e6564616e616c6f676f75
- 7320746f6172652072657175697265642f756c3e0a3c2f6469763e0a77617320
- 6261736564206f6e616e6420626563616d652061266e6273703b266e6273703b
- 74222076616c75653d2222207761732063617074757265646e6f206d6f726520
- 7468616e726573706563746976656c79636f6e74696e756520746f203e0d0a3c
- 686561643e0d0a3c7765726520637265617465646d6f72652067656e6572616c
- 696e666f726d6174696f6e207573656420666f7220746865696e646570656e64
- 656e742074686520496d70657269616c636f6d706f6e656e74206f66746f2074
- 6865206e6f727468696e636c7564652074686520436f6e737472756374696f6e
- 73696465206f662074686520776f756c64206e6f74206265666f7220696e7374
- 616e6365696e76656e74696f6e206f666d6f726520636f6d706c6578636f6c6c
- 6563746976656c796261636b67726f756e643a20746578742d616c69676e3a20
- 697473206f726967696e616c696e746f206163636f756e74746869732070726f
- 63657373616e20657874656e73697665686f77657665722c2074686574686579
- 20617265206e6f7472656a65637465642074686563726974696369736d206f66
- 647572696e6720776869636870726f6261626c79207468657468697320617274
- 69636c652866756e6374696f6e28297b49742073686f756c64206265616e2061
- 677265656d656e746163636964656e74616c6c79646966666572732066726f6d
- 417263686974656374757265626574746572206b6e6f776e617272616e67656d
- 656e7473696e666c75656e6365206f6e617474656e646564207468656964656e
- 746963616c20746f736f757468206f662074686570617373207468726f756768
- 786d6c22207469746c653d227765696768743a626f6c643b6372656174696e67
- 20746865646973706c61793a6e6f6e657265706c61636564207468653c696d67
- 207372633d222f6968747470733a2f2f7777772e576f726c6420576172204949
- 74657374696d6f6e69616c73666f756e6420696e207468657265717569726564
- 20746f20616e642074686174207468656265747765656e207468652077617320
- 64657369676e6564636f6e7369737473206f6620636f6e736964657261626c79
- 7075626c6973686564206279746865206c616e6775616765436f6e7365727661
- 74696f6e636f6e736973746564206f66726566657220746f207468656261636b
- 20746f207468652063737322206d656469613d2250656f706c652066726f6d20
- 617661696c61626c65206f6e70726f76656420746f2062657375676765737469
- 6f6e7322776173206b6e6f776e206173766172696574696573206f666c696b65
- 6c7920746f206265636f6d707269736564206f66737570706f72742074686520
- 68616e6473206f6620746865636f75706c65642077697468636f6e6e65637420
- 616e6420626f726465723a6e6f6e653b706572666f726d616e6365736265666f
- 7265206265696e676c6174657220626563616d6563616c63756c6174696f6e73
- 6f6674656e2063616c6c65647265736964656e7473206f666d65616e696e6720
- 746861743e3c6c6920636c6173733d2265766964656e636520666f726578706c
- 616e6174696f6e73656e7669726f6e6d656e7473223e3c2f613e3c2f6469763e
- 776869636820616c6c6f7773496e74726f64756374696f6e646576656c6f7065
- 642062796120776964652072616e67656f6e20626568616c66206f6676616c69
- 676e3d22746f70227072696e6369706c65206f666174207468652074696d652c
- 3c2f6e6f7363726970743e0d7361696420746f2068617665696e207468652066
- 697273747768696c65206f74686572736879706f746865746963616c7068696c
- 6f736f7068657273706f776572206f6620746865636f6e7461696e656420696e
- 706572666f726d6564206279696e6162696c69747920746f7765726520777269
- 7474656e7370616e207374796c653d22696e707574206e616d653d2274686520
- 7175657374696f6e696e74656e64656420666f7272656a656374696f6e206f66
- 696d706c6965732074686174696e76656e74656420746865746865207374616e
- 646172647761732070726f6261626c796c696e6b206265747765656e70726f66
- 6573736f72206f66696e746572616374696f6e736368616e67696e6720746865
- 496e6469616e204f6365616e20636c6173733d226c617374776f726b696e6720
- 7769746827687474703a2f2f7777772e7965617273206265666f726554686973
- 207761732074686572656372656174696f6e616c656e746572696e6720746865
- 6d6561737572656d656e7473616e2065787472656d656c7976616c7565206f66
- 207468657374617274206f66207468650a3c2f7363726970743e0a0a616e2065
- 66666f727420746f696e63726561736520746865746f2074686520736f757468
- 73706163696e673d2230223e73756666696369656e746c79746865204575726f
- 7065616e636f6e76657274656420746f636c65617254696d656f757464696420
- 6e6f742068617665636f6e73657175656e746c79666f7220746865206e657874
- 657874656e73696f6e206f6665636f6e6f6d696320616e64616c74686f756768
- 207468656172652070726f6475636564616e64207769746820746865696e7375
- 6666696369656e74676976656e2062792074686573746174696e672074686174
- 657870656e646974757265733c2f7370616e3e3c2f613e0a74686f7567687420
- 746861746f6e2074686520626173697363656c6c70616464696e673d696d6167
- 65206f662074686572657475726e696e6720746f696e666f726d6174696f6e2c
- 736570617261746564206279617373617373696e61746564732220636f6e7465
- 6e743d22617574686f72697479206f666e6f7274687765737465726e3c2f6469
- 763e0a3c64697620223e3c2f6469763e0d0a2020636f6e73756c746174696f6e
- 636f6d6d756e697479206f66746865206e6174696f6e616c69742073686f756c
- 642062657061727469636970616e747320616c69676e3d226c65667474686520
- 677265617465737473656c656374696f6e206f6673757065726e61747572616c
- 646570656e64656e74206f6e6973206d656e74696f6e6564616c6c6f77696e67
- 2074686577617320696e76656e7465646163636f6d70616e79696e6768697320
- 706572736f6e616c617661696c61626c652061747374756479206f6620746865
- 6f6e20746865206f74686572657865637574696f6e206f6648756d616e205269
- 676874737465726d73206f66207468656173736f63696174696f6e7372657365
- 6172636820616e64737563636565646564206279646566656174656420746865
- 616e642066726f6d20746865627574207468657920617265636f6d6d616e6465
- 72206f667374617465206f66207468657965617273206f662061676574686520
- 7374756479206f663c756c20636c6173733d2273706c61636520696e20746865
- 7768657265206865207761733c6c6920636c6173733d22667468657265206172
- 65206e6f776869636820626563616d656865207075626c697368656465787072
- 657373656420696e746f20776869636820746865636f6d6d697373696f6e6572
- 666f6e742d7765696768743a7465727269746f7279206f66657874656e73696f
- 6e73223e526f6d616e20456d70697265657175616c20746f20746865496e2063
- 6f6e74726173742c686f77657665722c20616e646973207479706963616c6c79
- 616e6420686973207769666528616c736f2063616c6c65643e3c756c20636c61
- 73733d226566666563746976656c792065766f6c76656420696e746f7365656d
- 20746f2068617665776869636820697320746865746865726520776173206e6f
- 616e20657863656c6c656e74616c6c206f662074686573656465736372696265
- 64206279496e2070726163746963652c62726f616463617374696e6763686172
- 67656420776974687265666c656374656420696e7375626a656374656420746f
- 6d696c697461727920616e64746f2074686520706f696e7465636f6e6f6d6963
- 616c6c79736574546172676574696e676172652061637475616c6c7976696374
- 6f7279206f76657228293b3c2f7363726970743e636f6e74696e756f75736c79
- 726571756972656420666f7265766f6c7574696f6e617279616e206566666563
- 746976656e6f727468206f66207468652c207768696368207761732066726f6e
- 74206f66207468656f72206f7468657277697365736f6d6520666f726d206f66
- 686164206e6f74206265656e67656e657261746564206279696e666f726d6174
- 696f6e2e7065726d697474656420746f696e636c756465732074686564657665
- 6c6f706d656e742c656e746572656420696e746f7468652070726576696f7573
- 636f6e73697374656e746c79617265206b6e6f776e206173746865206669656c
- 64206f66746869732074797065206f66676976656e20746f2074686574686520
- 7469746c65206f66636f6e7461696e7320746865696e7374616e636573206f66
- 696e20746865206e6f72746864756520746f2074686569726172652064657369
- 676e6564636f72706f726174696f6e737761732074686174207468656f6e6520
- 6f662074686573656d6f726520706f70756c617273756363656564656420696e
- 737570706f72742066726f6d696e20646966666572656e74646f6d696e617465
- 6420627964657369676e656420666f726f776e657273686970206f66616e6420
- 706f737369626c797374616e64617264697a6564726573706f6e736554657874
- 77617320696e74656e646564726563656976656420746865617373756d656420
- 746861746172656173206f66207468657072696d6172696c7920696e74686520
- 6261736973206f66696e207468652073656e73656163636f756e747320666f72
- 64657374726f7965642062796174206c656173742074776f776173206465636c
- 61726564636f756c64206e6f74206265536563726574617279206f6661707065
- 617220746f2062656d617267696e2d746f703a312f5e5c732b7c5c732b242f67
- 65297b7468726f7720657d3b746865207374617274206f6674776f2073657061
- 726174656c616e677561676520616e6477686f20686164206265656e6f706572
- 6174696f6e206f666465617468206f66207468657265616c206e756d62657273
- 093c6c696e6b2072656c3d2270726f7669646564207468657468652073746f72
- 79206f66636f6d7065746974696f6e73656e676c6973682028554b29656e676c
- 6973682028555329d09cd0bed0bdd0b3d0bed0bbd0a1d180d0bfd181d0bad0b8
- d181d180d0bfd181d0bad0b8d181d180d0bfd181d0bad0bed984d8b9d8b1d8a8
- d98ad8a9e6ada3e9ab94e4b8ade69687e7ae80e4bd93e4b8ade69687e7b981e4
- bd93e4b8ade69687e69c89e99990e585ace58fb8e4babae6b091e694bfe5ba9c
- e998bfe9878ce5b7b4e5b7b4e7a4bee4bc9ae4b8bbe4b989e6938de4bd9ce7b3
- bbe7bb9fe694bfe7ad96e6b395e8a784696e666f726d616369c3b36e68657272
- 616d69656e746173656c65637472c3b36e69636f646573637269706369c3b36e
- 636c61736966696361646f73636f6e6f63696d69656e746f7075626c69636163
- 69c3b36e72656c6163696f6e61646173696e666f726dc3a17469636172656c61
- 63696f6e61646f73646570617274616d656e746f74726162616a61646f726573
- 646972656374616d656e74656179756e74616d69656e746f6d65726361646f4c
- 69627265636f6e74c3a16374656e6f7368616269746163696f6e657363756d70
- 6c696d69656e746f72657374617572616e746573646973706f73696369c3b36e
- 636f6e73656375656e636961656c65637472c3b36e69636161706c6963616369
- 6f6e6573646573636f6e65637461646f696e7374616c616369c3b36e7265616c
- 697a616369c3b36e7574696c697a616369c3b36e656e6369636c6f7065646961
- 656e6665726d656461646573696e737472756d656e746f73657870657269656e
- 63696173696e73746974756369c3b36e706172746963756c6172657373756263
- 617465676f726961d182d0bed0bbd18cd0bad0bed0a0d0bed181d181d0b8d0b8
- d180d0b0d0b1d0bed182d18bd0b1d0bed0bbd18cd188d0b5d0bfd180d0bed181
- d182d0bed0bcd0bed0b6d0b5d182d0b5d0b4d180d183d0b3d0b8d185d181d0bb
- d183d187d0b0d0b5d181d0b5d0b9d187d0b0d181d0b2d181d0b5d0b3d0b4d0b0
- d0a0d0bed181d181d0b8d18fd09cd0bed181d0bad0b2d0b5d0b4d180d183d0b3
- d0b8d0b5d0b3d0bed180d0bed0b4d0b0d0b2d0bed0bfd180d0bed181d0b4d0b0
- d0bdd0bdd18bd185d0b4d0bed0bbd0b6d0bdd18bd0b8d0bcd0b5d0bdd0bdd0be
- d09cd0bed181d0bad0b2d18bd180d183d0b1d0bbd0b5d0b9d09cd0bed181d0ba
- d0b2d0b0d181d182d180d0b0d0bdd18bd0bdd0b8d187d0b5d0b3d0bed180d0b0
- d0b1d0bed182d0b5d0b4d0bed0bbd0b6d0b5d0bdd183d181d0bbd183d0b3d0b8
- d182d0b5d0bfd0b5d180d18cd09ed0b4d0bdd0b0d0bad0bed0bfd0bed182d0be
- d0bcd183d180d0b0d0b1d0bed182d183d0b0d0bfd180d0b5d0bbd18fd0b2d0be
- d0bed0b1d189d0b5d0bed0b4d0bdd0bed0b3d0bed181d0b2d0bed0b5d0b3d0be
- d181d182d0b0d182d18cd0b8d0b4d180d183d0b3d0bed0b9d184d0bed180d183
- d0bcd0b5d185d0bed180d0bed188d0bed0bfd180d0bed182d0b8d0b2d181d181
- d18bd0bbd0bad0b0d0bad0b0d0b6d0b4d18bd0b9d0b2d0bbd0b0d181d182d0b8
- d0b3d180d183d0bfd0bfd18bd0b2d0bcd0b5d181d182d0b5d180d0b0d0b1d0be
- d182d0b0d181d0bad0b0d0b7d0b0d0bbd0bfd0b5d180d0b2d18bd0b9d0b4d0b5
- d0bbd0b0d182d18cd0b4d0b5d0bdd18cd0b3d0b8d0bfd0b5d180d0b8d0bed0b4
- d0b1d0b8d0b7d0bdd0b5d181d0bed181d0bdd0bed0b2d0b5d0bcd0bed0bcd0b5
- d0bdd182d0bad183d0bfd0b8d182d18cd0b4d0bed0bbd0b6d0bdd0b0d180d0b0
- d0bcd0bad0b0d185d0bdd0b0d187d0b0d0bbd0bed0a0d0b0d0b1d0bed182d0b0
- d0a2d0bed0bbd18cd0bad0bed181d0bed0b2d181d0b5d0bcd0b2d182d0bed180
- d0bed0b9d0bdd0b0d187d0b0d0bbd0b0d181d0bfd0b8d181d0bed0bad181d0bb
- d183d0b6d0b1d18bd181d0b8d181d182d0b5d0bcd0bfd0b5d187d0b0d182d0b8
- d0bdd0bed0b2d0bed0b3d0bed0bfd0bed0bcd0bed189d0b8d181d0b0d0b9d182
- d0bed0b2d0bfd0bed187d0b5d0bcd183d0bfd0bed0bcd0bed189d18cd0b4d0be
- d0bbd0b6d0bdd0bed181d181d18bd0bbd0bad0b8d0b1d18bd181d182d180d0be
- d0b4d0b0d0bdd0bdd18bd0b5d0bcd0bdd0bed0b3d0b8d0b5d0bfd180d0bed0b5
- d0bad182d0a1d0b5d0b9d187d0b0d181d0bcd0bed0b4d0b5d0bbd0b8d182d0b0
- d0bad0bed0b3d0bed0bed0bdd0bbd0b0d0b9d0bdd0b3d0bed180d0bed0b4d0b5
- d0b2d0b5d180d181d0b8d18fd181d182d180d0b0d0bdd0b5d184d0b8d0bbd18c
- d0bcd18bd183d180d0bed0b2d0bdd18fd180d0b0d0b7d0bdd18bd185d0b8d181
- d0bad0b0d182d18cd0bdd0b5d0b4d0b5d0bbd18ed18fd0bdd0b2d0b0d180d18f
- d0bcd0b5d0bdd18cd188d0b5d0bcd0bdd0bed0b3d0b8d185d0b4d0b0d0bdd0bd
- d0bed0b9d0b7d0bdd0b0d187d0b8d182d0bdd0b5d0bbd18cd0b7d18fd184d0be
- d180d183d0bcd0b0d0a2d0b5d0bfd0b5d180d18cd0bcd0b5d181d18fd186d0b0
- d0b7d0b0d189d0b8d182d18bd09bd183d187d188d0b8d0b5e0a4a8e0a4b9e0a5
- 80e0a482e0a495e0a4b0e0a4a8e0a587e0a485e0a4aae0a4a8e0a587e0a495e0
- a4bfe0a4afe0a4bee0a495e0a4b0e0a587e0a482e0a485e0a4a8e0a58de0a4af
- e0a495e0a58de0a4afe0a4bee0a497e0a4bee0a487e0a4a1e0a4ace0a4bee0a4
- b0e0a587e0a495e0a4bfe0a4b8e0a580e0a4a6e0a4bfe0a4afe0a4bee0a4aae0
- a4b9e0a4b2e0a587e0a4b8e0a4bfe0a482e0a4b9e0a4ade0a4bee0a4b0e0a4a4
- e0a485e0a4aae0a4a8e0a580e0a4b5e0a4bee0a4b2e0a587e0a4b8e0a587e0a4
- b5e0a4bee0a495e0a4b0e0a4a4e0a587e0a4aee0a587e0a4b0e0a587e0a4b9e0
- a58be0a4a8e0a587e0a4b8e0a495e0a4a4e0a587e0a4ace0a4b9e0a581e0a4a4
- e0a4b8e0a4bee0a487e0a49fe0a4b9e0a58be0a497e0a4bee0a49ce0a4bee0a4
- a8e0a587e0a4aee0a4bfe0a4a8e0a49fe0a495e0a4b0e0a4a4e0a4bee0a495e0
- a4b0e0a4a8e0a4bee0a489e0a4a8e0a495e0a587e0a4afe0a4b9e0a4bee0a481
- e0a4b8e0a4ace0a4b8e0a587e0a4ade0a4bee0a4b7e0a4bee0a486e0a4aae0a4
- 95e0a587e0a4b2e0a4bfe0a4afe0a587e0a4b6e0a581e0a4b0e0a582e0a487e0
- a4b8e0a495e0a587e0a498e0a482e0a49fe0a587e0a4aee0a587e0a4b0e0a580
- e0a4b8e0a495e0a4a4e0a4bee0a4aee0a587e0a4b0e0a4bee0a4b2e0a587e0a4
- 95e0a4b0e0a485e0a4a7e0a4bfe0a495e0a485e0a4aae0a4a8e0a4bee0a4b8e0
- a4aee0a4bee0a49ce0a4aee0a581e0a49de0a587e0a495e0a4bee0a4b0e0a4a3
- e0a4b9e0a58be0a4a4e0a4bee0a495e0a4a1e0a4bce0a580e0a4afe0a4b9e0a4
- bee0a482e0a4b9e0a58be0a49fe0a4b2e0a4b6e0a4ace0a58de0a4a6e0a4b2e0
- a4bfe0a4afe0a4bee0a49ce0a580e0a4b5e0a4a8e0a49ce0a4bee0a4a4e0a4be
- e0a495e0a588e0a4b8e0a587e0a486e0a4aae0a495e0a4bee0a4b5e0a4bee0a4
- b2e0a580e0a4a6e0a587e0a4a8e0a587e0a4aae0a582e0a4b0e0a580e0a4aae0
- a4bee0a4a8e0a580e0a489e0a4b8e0a495e0a587e0a4b9e0a58be0a497e0a580
- e0a4ace0a588e0a4a0e0a495e0a486e0a4aae0a495e0a580e0a4b5e0a4b0e0a5
- 8de0a4b7e0a497e0a4bee0a482e0a4b5e0a486e0a4aae0a495e0a58be0a49ce0
- a4bfe0a4b2e0a4bee0a49ce0a4bee0a4a8e0a4bee0a4b8e0a4b9e0a4aee0a4a4
- e0a4b9e0a4aee0a587e0a482e0a489e0a4a8e0a495e0a580e0a4afe0a4bee0a4
- b9e0a582e0a4a6e0a4b0e0a58de0a49ce0a4b8e0a582e0a49ae0a580e0a4aae0
- a4b8e0a482e0a4a6e0a4b8e0a4b5e0a4bee0a4b2e0a4b9e0a58be0a4a8e0a4be
- e0a4b9e0a58be0a4a4e0a580e0a49ce0a588e0a4b8e0a587e0a4b5e0a4bee0a4
- aae0a4b8e0a49ce0a4a8e0a4a4e0a4bee0a4a8e0a587e0a4a4e0a4bee0a49ce0
- a4bee0a4b0e0a580e0a498e0a4bee0a4afe0a4b2e0a49ce0a4bfe0a4b2e0a587
- e0a4a8e0a580e0a49ae0a587e0a49ce0a4bee0a482e0a49ae0a4aae0a4a4e0a5
- 8de0a4b0e0a497e0a582e0a497e0a4b2e0a49ce0a4bee0a4a4e0a587e0a4ace0
- a4bee0a4b9e0a4b0e0a486e0a4aae0a4a8e0a587e0a4b5e0a4bee0a4b9e0a4a8
- e0a487e0a4b8e0a495e0a4bee0a4b8e0a581e0a4ace0a4b9e0a4b0e0a4b9e0a4
- a8e0a587e0a487e0a4b8e0a4b8e0a587e0a4b8e0a4b9e0a4bfe0a4a4e0a4ace0
- a4a1e0a4bce0a587e0a498e0a49fe0a4a8e0a4bee0a4a4e0a4b2e0a4bee0a4b6
- e0a4aae0a4bee0a482e0a49ae0a4b6e0a58de0a4b0e0a580e0a4ace0a4a1e0a4
- bce0a580e0a4b9e0a58be0a4a4e0a587e0a4b8e0a4bee0a488e0a49fe0a4b6e0
- a4bee0a4afe0a4a6e0a4b8e0a495e0a4a4e0a580e0a49ce0a4bee0a4a4e0a580
- e0a4b5e0a4bee0a4b2e0a4bee0a4b9e0a49ce0a4bee0a4b0e0a4aae0a49fe0a4
- a8e0a4bee0a4b0e0a496e0a4a8e0a587e0a4b8e0a4a1e0a4bce0a495e0a4aee0
- a4bfe0a4b2e0a4bee0a489e0a4b8e0a495e0a580e0a495e0a587e0a4b5e0a4b2
- e0a4b2e0a497e0a4a4e0a4bee0a496e0a4bee0a4a8e0a4bee0a485e0a4b0e0a5
- 8de0a4a5e0a49ce0a4b9e0a4bee0a482e0a4a6e0a587e0a496e0a4bee0a4aae0
- a4b9e0a4b2e0a580e0a4a8e0a4bfe0a4afe0a4aee0a4ace0a4bfe0a4a8e0a4be
- e0a4ace0a588e0a482e0a495e0a495e0a4b9e0a580e0a482e0a495e0a4b9e0a4
- a8e0a4bee0a4a6e0a587e0a4a4e0a4bee0a4b9e0a4aee0a4b2e0a587e0a495e0
- a4bee0a4abe0a580e0a49ce0a4ace0a495e0a4bfe0a4a4e0a581e0a4b0e0a4a4
- e0a4aee0a4bee0a482e0a497e0a4b5e0a4b9e0a580e0a482e0a4b0e0a58be0a4
- 9ce0a4bce0a4aee0a4bfe0a4b2e0a580e0a486e0a4b0e0a58be0a4aae0a4b8e0
- a587e0a4a8e0a4bee0a4afe0a4bee0a4a6e0a4b5e0a4b2e0a587e0a4a8e0a587
- e0a496e0a4bee0a4a4e0a4bee0a495e0a4b0e0a580e0a4ace0a489e0a4a8e0a4
- 95e0a4bee0a49ce0a4b5e0a4bee0a4ace0a4aae0a582e0a4b0e0a4bee0a4ace0
- a4a1e0a4bce0a4bee0a4b8e0a58ce0a4a6e0a4bee0a4b6e0a587e0a4afe0a4b0
- e0a495e0a4bfe0a4afe0a587e0a495e0a4b9e0a4bee0a482e0a485e0a495e0a4
- b8e0a4b0e0a4ace0a4a8e0a4bee0a48fe0a4b5e0a4b9e0a4bee0a482e0a4b8e0
- a58de0a4a5e0a4b2e0a4aee0a4bfe0a4b2e0a587e0a4b2e0a587e0a496e0a495
- e0a4b5e0a4bfe0a4b7e0a4afe0a495e0a58de0a4b0e0a482e0a4b8e0a4aee0a5
- 82e0a4b9e0a4a5e0a4bee0a4a8e0a4bed8aad8b3d8aad8b7d98ad8b9d985d8b4
- d8a7d8b1d983d8a9d8a8d988d8a7d8b3d8b7d8a9d8a7d984d8b5d981d8add8a9
- d985d988d8a7d8b6d98ad8b9d8a7d984d8aed8a7d8b5d8a9d8a7d984d985d8b2
- d98ad8afd8a7d984d8b9d8a7d985d8a9d8a7d984d983d8a7d8aad8a8d8a7d984
- d8b1d8afd988d8afd8a8d8b1d986d8a7d985d8acd8a7d984d8afd988d984d8a9
- d8a7d984d8b9d8a7d984d985d8a7d984d985d988d982d8b9d8a7d984d8b9d8b1
- d8a8d98ad8a7d984d8b3d8b1d98ad8b9d8a7d984d8acd988d8a7d984d8a7d984
- d8b0d987d8a7d8a8d8a7d984d8add98ad8a7d8a9d8a7d984d8add982d988d982
- d8a7d984d983d8b1d98ad985d8a7d984d8b9d8b1d8a7d982d985d8add981d988
- d8b8d8a9d8a7d984d8abd8a7d986d98ad985d8b4d8a7d987d8afd8a9d8a7d984
- d985d8b1d8a3d8a9d8a7d984d982d8b1d8a2d986d8a7d984d8b4d8a8d8a7d8a8
- d8a7d984d8add988d8a7d8b1d8a7d984d8acd8afd98ad8afd8a7d984d8a3d8b3
- d8b1d8a9d8a7d984d8b9d984d988d985d985d8acd985d988d8b9d8a9d8a7d984
- d8b1d8add985d986d8a7d984d986d982d8a7d8b7d981d984d8b3d8b7d98ad986
- d8a7d984d983d988d98ad8aad8a7d984d8afd986d98ad8a7d8a8d8b1d983d8a7
- d8aad987d8a7d984d8b1d98ad8a7d8b6d8aad8add98ad8a7d8aad98ad8a8d8aa
- d988d982d98ad8aad8a7d984d8a3d988d984d989d8a7d984d8a8d8b1d98ad8af
- d8a7d984d983d984d8a7d985d8a7d984d8b1d8a7d8a8d8b7d8a7d984d8b4d8ae
- d8b5d98ad8b3d98ad8a7d8b1d8a7d8aad8a7d984d8abd8a7d984d8abd8a7d984
- d8b5d984d8a7d8a9d8a7d984d8add8afd98ad8abd8a7d984d8b2d988d8a7d8b1
- d8a7d984d8aed984d98ad8acd8a7d984d8acd985d98ad8b9d8a7d984d8b9d8a7
- d985d987d8a7d984d8acd985d8a7d984d8a7d984d8b3d8a7d8b9d8a9d985d8b4
- d8a7d987d8afd987d8a7d984d8b1d8a6d98ad8b3d8a7d984d8afd8aed988d984
- d8a7d984d981d986d98ad8a9d8a7d984d983d8aad8a7d8a8d8a7d984d8afd988
- d8b1d98ad8a7d984d8afd8b1d988d8b3d8a7d8b3d8aad8bad8b1d982d8aad8b5
- d8a7d985d98ad985d8a7d984d8a8d986d8a7d8aad8a7d984d8b9d8b8d98ad985
- 656e7465727461696e6d656e74756e6465727374616e64696e67203d2066756e
- 6374696f6e28292e6a7067222077696474683d22636f6e66696775726174696f
- 6e2e706e67222077696474683d223c626f647920636c6173733d224d6174682e
- 72616e646f6d2829636f6e74656d706f7261727920556e697465642053746174
- 657363697263756d7374616e6365732e617070656e644368696c64286f726761
- 6e697a6174696f6e733c7370616e20636c6173733d22223e3c696d6720737263
- 3d222f64697374696e6775697368656474686f7573616e6473206f6620636f6d
- 6d756e69636174696f6e636c656172223e3c2f6469763e696e76657374696761
- 74696f6e66617669636f6e2e69636f22206d617267696e2d72696768743a6261
- 736564206f6e20746865204d6173736163687573657474737461626c6520626f
- 726465723d696e7465726e6174696f6e616c616c736f206b6e6f776e20617370
- 726f6e756e63696174696f6e6261636b67726f756e643a236670616464696e67
- 2d6c6566743a466f72206578616d706c652c206d697363656c6c616e656f7573
- 266c743b2f6d6174682667743b70737963686f6c6f676963616c696e20706172
- 746963756c617265617263682220747970653d22666f726d206d6574686f643d
- 226173206f70706f73656420746f53757072656d6520436f7572746f63636173
- 696f6e616c6c79204164646974696f6e616c6c792c4e6f72746820416d657269
- 636170783b6261636b67726f756e646f70706f7274756e6974696573456e7465
- 727461696e6d656e742e746f4c6f77657243617365286d616e75666163747572
- 696e6770726f66657373696f6e616c20636f6d62696e65642077697468466f72
- 20696e7374616e63652c636f6e73697374696e67206f6622206d61786c656e67
- 74683d2272657475726e2066616c73653b636f6e7363696f75736e6573734d65
- 646974657272616e65616e65787472616f7264696e617279617373617373696e
- 6174696f6e73756273657175656e746c7920627574746f6e20747970653d2274
- 6865206e756d626572206f66746865206f726967696e616c20636f6d70726568
- 656e7369766572656665727320746f207468653c2f756c3e0a3c2f6469763e0a
- 7068696c6f736f70686963616c6c6f636174696f6e2e68726566776173207075
- 626c697368656453616e204672616e636973636f2866756e6374696f6e28297b
- 0a3c6469762069643d226d61696e736f70686973746963617465646d61746865
- 6d61746963616c202f686561643e0d0a3c626f64797375676765737473207468
- 6174646f63756d656e746174696f6e636f6e63656e74726174696f6e72656c61
- 74696f6e73686970736d61792068617665206265656e28666f72206578616d70
- 6c652c546869732061727469636c6520696e20736f6d65206361736573706172
- 7473206f662074686520646566696e6974696f6e206f66477265617420427269
- 7461696e2063656c6c70616464696e673d6571756976616c656e7420746f706c
- 616365686f6c6465723d223b20666f6e742d73697a653a206a75737469666963
- 6174696f6e62656c6965766564207468617473756666657265642066726f6d61
- 7474656d7074656420746f206c6561646572206f662074686563726970742220
- 7372633d222f2866756e6374696f6e2829207b61726520617661696c61626c65
- 0a093c6c696e6b2072656c3d22207372633d27687474703a2f2f696e74657265
- 7374656420696e636f6e76656e74696f6e616c202220616c743d2222202f3e3c
- 2f6172652067656e6572616c6c7968617320616c736f206265656e6d6f737420
- 706f70756c617220636f72726573706f6e64696e676372656469746564207769
- 746874796c653d22626f726465723a3c2f613e3c2f7370616e3e3c2f2e676966
- 222077696474683d223c696672616d65207372633d227461626c6520636c6173
- 733d22696e6c696e652d626c6f636b3b6163636f7264696e6720746f20746f67
- 65746865722077697468617070726f78696d6174656c797061726c69616d656e
- 746172796d6f726520616e64206d6f7265646973706c61793a6e6f6e653b7472
- 61646974696f6e616c6c79707265646f6d696e616e746c79266e6273703b7c26
- 6e6273703b266e6273703b3c2f7370616e3e2063656c6c73706163696e673d3c
- 696e707574206e616d653d226f722220636f6e74656e743d22636f6e74726f76
- 65727369616c70726f70657274793d226f673a2f782d73686f636b776176652d
- 64656d6f6e7374726174696f6e737572726f756e6465642062794e6576657274
- 68656c6573732c77617320746865206669727374636f6e736964657261626c65
- 20416c74686f7567682074686520636f6c6c61626f726174696f6e73686f756c
- 64206e6f7420626570726f706f7274696f6e206f663c7370616e207374796c65
- 3d226b6e6f776e206173207468652073686f72746c79206166746572666f7220
- 696e7374616e63652c646573637269626564206173202f686561643e0a3c626f
- 6479207374617274696e672077697468696e6372656173696e676c7920746865
- 2066616374207468617464697363757373696f6e206f666d6964646c65206f66
- 20746865616e20696e646976696475616c646966666963756c7420746f20706f
- 696e74206f662076696577686f6d6f73657875616c697479616363657074616e
- 6365206f663c2f7370616e3e3c2f6469763e6d616e756661637475726572736f
- 726967696e206f6620746865636f6d6d6f6e6c792075736564696d706f727461
- 6e6365206f6664656e6f6d696e6174696f6e736261636b67726f756e643a2023
- 6c656e677468206f662074686564657465726d696e6174696f6e61207369676e
- 69666963616e742220626f726465723d2230223e7265766f6c7574696f6e6172
- 797072696e6369706c6573206f66697320636f6e736964657265647761732064
- 6576656c6f706564496e646f2d4575726f7065616e76756c6e657261626c6520
- 746f70726f706f6e656e7473206f6661726520736f6d6574696d6573636c6f73
- 657220746f207468654e657720596f726b2043697479206e616d653d22736561
- 7263686174747269627574656420746f636f75727365206f66207468656d6174
- 68656d6174696369616e62792074686520656e64206f6661742074686520656e
- 64206f662220626f726465723d22302220746563686e6f6c6f676963616c2e72
- 656d6f7665436c617373286272616e6368206f662074686565766964656e6365
- 2074686174215b656e6469665d2d2d3e0d0a496e73746974757465206f662069
- 6e746f20612073696e676c65726573706563746976656c792e616e6420746865
- 7265666f726570726f70657274696573206f666973206c6f636174656420696e
- 736f6d65206f66207768696368546865726520697320616c736f636f6e74696e
- 75656420746f20617070656172616e6365206f662026616d703b6e646173683b
- 2064657363726962657320746865636f6e73696465726174696f6e617574686f
- 72206f6620746865696e646570656e64656e746c796571756970706564207769
- 7468646f6573206e6f7420686176653c2f613e3c6120687265663d22636f6e66
- 7573656420776974683c6c696e6b20687265663d222f61742074686520616765
- 206f6661707065617220696e20746865546865736520696e636c756465726567
- 6172646c657373206f66636f756c642062652075736564207374796c653d2671
- 756f743b7365766572616c2074696d6573726570726573656e7420746865626f
- 64793e0a3c2f68746d6c3e74686f7567687420746f206265706f70756c617469
- 6f6e206f66706f73736962696c697469657370657263656e74616765206f6661
- 636365737320746f20746865616e20617474656d707420746f70726f64756374
- 696f6e206f666a71756572792f6a717565727974776f20646966666572656e74
- 62656c6f6e6720746f2074686565737461626c6973686d656e747265706c6163
- 696e67207468656465736372697074696f6e222064657465726d696e65207468
- 65617661696c61626c6520666f724163636f7264696e6720746f207769646520
- 72616e6765206f66093c64697620636c6173733d226d6f726520636f6d6d6f6e
- 6c796f7267616e69736174696f6e7366756e6374696f6e616c69747977617320
- 636f6d706c657465642026616d703b6d646173683b2070617274696369706174
- 696f6e74686520636861726163746572616e206164646974696f6e616c617070
- 6561727320746f20626566616374207468617420746865616e206578616d706c
- 65206f667369676e69666963616e746c796f6e6d6f7573656f7665723d226265
- 63617573652074686579206173796e63203d20747275653b70726f626c656d73
- 20776974687365656d7320746f206861766574686520726573756c74206f6620
- 7372633d22687474703a2f2f66616d696c6961722077697468706f7373657373
- 696f6e206f6666756e6374696f6e202829207b746f6f6b20706c61636520696e
- 616e6420736f6d6574696d65737375627374616e7469616c6c793c7370616e3e
- 3c2f7370616e3e6973206f6674656e2075736564696e20616e20617474656d70
- 746772656174206465616c206f66456e7669726f6e6d656e74616c7375636365
- 737366756c6c79207669727475616c6c7920616c6c323074682063656e747572
- 792c70726f66657373696f6e616c736e656365737361727920746f2064657465
- 726d696e6564206279636f6d7061746962696c69747962656361757365206974
- 20697344696374696f6e617279206f666d6f64696669636174696f6e73546865
- 20666f6c6c6f77696e676d617920726566657220746f3a436f6e73657175656e
- 746c792c496e7465726e6174696f6e616c616c74686f75676820736f6d657468
- 617420776f756c64206265776f726c642773206669727374636c617373696669
- 6564206173626f74746f6d206f662074686528706172746963756c61726c7961
- 6c69676e3d226c65667422206d6f737420636f6d6d6f6e6c7962617369732066
- 6f7220746865666f756e646174696f6e206f66636f6e747269627574696f6e73
- 706f70756c6172697479206f6663656e746572206f6620746865746f20726564
- 756365207468656a7572697364696374696f6e73617070726f78696d6174696f
- 6e206f6e6d6f7573656f75743d224e65772054657374616d656e74636f6c6c65
- 6374696f6e206f663c2f7370616e3e3c2f613e3c2f696e2074686520556e6974
- 656466696c6d206469726563746f722d7374726963742e647464223e68617320
- 6265656e207573656472657475726e20746f20746865616c74686f7567682074
- 6869736368616e676520696e207468657365766572616c206f74686572627574
- 20746865726520617265756e707265636564656e74656469732073696d696c61
- 7220746f657370656369616c6c7920696e7765696768743a20626f6c643b6973
- 2063616c6c656420746865636f6d7075746174696f6e616c696e646963617465
- 20746861747265737472696374656420746f093c6d657461206e616d653d2261
- 7265207479706963616c6c79636f6e666c6963742077697468486f7765766572
- 2c2074686520416e206578616d706c65206f66636f6d70617265642077697468
- 7175616e746974696573206f66726174686572207468616e2061636f6e737465
- 6c6c6174696f6e6e656365737361727920666f727265706f7274656420746861
- 7473706563696669636174696f6e706f6c69746963616c20616e64266e627370
- 3b266e6273703b3c7265666572656e63657320746f7468652073616d65207965
- 6172476f7665726e6d656e74206f6667656e65726174696f6e206f6668617665
- 206e6f74206265656e7365766572616c207965617273636f6d6d69746d656e74
- 20746f09093c756c20636c6173733d2276697375616c697a6174696f6e313974
- 682063656e747572792c70726163746974696f6e657273746861742068652077
- 6f756c64616e6420636f6e74696e7565646f636375706174696f6e206f666973
- 20646566696e656420617363656e747265206f662074686574686520616d6f75
- 6e74206f663e3c646976207374796c653d226571756976616c656e74206f6664
- 6966666572656e746961746562726f756768742061626f75746d617267696e2d
- 6c6566743a206175746f6d61746963616c6c7974686f75676874206f66206173
- 536f6d65206f662074686573650a3c64697620636c6173733d22696e70757420
- 636c6173733d227265706c6163656420776974686973206f6e65206f66207468
- 65656475636174696f6e20616e64696e666c75656e6365642062797265707574
- 6174696f6e2061730a3c6d657461206e616d653d226163636f6d6d6f64617469
- 6f6e3c2f6469763e0a3c2f6469763e6c617267652070617274206f66496e7374
- 697475746520666f7274686520736f2d63616c6c656420616761696e73742074
- 686520496e207468697320636173652c776173206170706f696e746564636c61
- 696d656420746f206265486f77657665722c20746869734465706172746d656e
- 74206f667468652072656d61696e696e67656666656374206f6e207468657061
- 72746963756c61726c79206465616c2077697468207468650a3c646976207374
- 796c653d22616c6d6f737420616c776179736172652063757272656e746c7965
- 787072657373696f6e206f667068696c6f736f706879206f66666f72206d6f72
- 65207468616e636976696c697a6174696f6e736f6e207468652069736c616e64
- 73656c6563746564496e64657863616e20726573756c7420696e222076616c75
- 653d2222202f3e74686520737472756374757265202f3e3c2f613e3c2f646976
- 3e4d616e79206f66207468657365636175736564206279207468656f66207468
- 6520556e697465647370616e20636c6173733d226d63616e2062652074726163
- 656469732072656c6174656420746f626563616d65206f6e65206f6669732066
- 72657175656e746c796c6976696e6720696e207468657468656f726574696361
- 6c6c79466f6c6c6f77696e67207468655265766f6c7574696f6e617279676f76
- 65726e6d656e7420696e69732064657465726d696e656474686520706f6c6974
- 6963616c696e74726f647563656420696e73756666696369656e7420746f6465
- 736372697074696f6e223e73686f72742073746f726965737365706172617469
- 6f6e206f66617320746f20776865746865726b6e6f776e20666f722069747377
- 617320696e697469616c6c79646973706c61793a626c6f636b697320616e2065
- 78616d706c65746865207072696e636970616c636f6e7369737473206f662061
- 7265636f676e697a65642061732f626f64793e3c2f68746d6c3e612073756273
- 74616e7469616c7265636f6e737472756374656468656164206f662073746174
- 65726573697374616e636520746f756e64657267726164756174655468657265
- 206172652074776f6772617669746174696f6e616c6172652064657363726962
- 6564696e74656e74696f6e616c6c7973657276656420617320746865636c6173
- 733d226865616465726f70706f736974696f6e20746f66756e64616d656e7461
- 6c6c79646f6d696e6174656420746865616e6420746865206f74686572616c6c
- 69616e6365207769746877617320666f7263656420746f726573706563746976
- 656c792c616e6420706f6c69746963616c696e20737570706f7274206f667065
- 6f706c6520696e20746865323074682063656e747572792e616e64207075626c
- 69736865646c6f6164436861727462656174746f20756e6465727374616e646d
- 656d62657220737461746573656e7669726f6e6d656e74616c66697273742068
- 616c66206f66636f756e747269657320616e646172636869746563747572616c
- 626520636f6e73696465726564636861726163746572697a6564636c65617249
- 6e74657276616c617574686f726974617469766546656465726174696f6e206f
- 6677617320737563636565646564616e64207468657265206172656120636f6e
- 73657175656e636574686520507265736964656e74616c736f20696e636c7564
- 65646672656520736f66747761726573756363657373696f6e206f6664657665
- 6c6f706564207468657761732064657374726f796564617761792066726f6d20
- 7468653b0a3c2f7363726970743e0a3c616c74686f7567682074686579666f6c
- 6c6f77656420627920616d6f726520706f77657266756c726573756c74656420
- 696e2061556e6976657273697479206f66486f77657665722c206d616e797468
- 6520707265736964656e74486f77657665722c20736f6d6569732074686f7567
- 687420746f756e74696c2074686520656e6477617320616e6e6f756e63656461
- 726520696d706f7274616e74616c736f20696e636c756465733e3c696e707574
- 20747970653d7468652063656e746572206f6620444f204e4f5420414c544552
- 7573656420746f2072656665727468656d65732f3f736f72743d746861742068
- 6164206265656e74686520626173697320666f7268617320646576656c6f7065
- 64696e207468652073756d6d6572636f6d70617261746976656c796465736372
- 6962656420746865737563682061732074686f736574686520726573756c7469
- 6e67697320696d706f737369626c65766172696f7573206f74686572536f7574
- 68204166726963616e68617665207468652073616d656566666563746976656e
- 657373696e20776869636820636173653b20746578742d616c69676e3a737472
- 75637475726520616e643b206261636b67726f756e643a726567617264696e67
- 20746865737570706f7274656420746865697320616c736f206b6e6f776e7374
- 796c653d226d617267696e696e636c7564696e6720746865626168617361204d
- 656c6179756e6f72736b20626f6b6dc3a56c6e6f72736b206e796e6f72736b73
- 6c6f76656ec5a1c48d696e61696e7465726e6163696f6e616c63616c69666963
- 616369c3b36e636f6d756e6963616369c3b36e636f6e73747275636369c3b36e
- 223e3c64697620636c6173733d22646973616d626967756174696f6e446f6d61
- 696e4e616d65272c202761646d696e697374726174696f6e73696d756c74616e
- 656f75736c797472616e73706f72746174696f6e496e7465726e6174696f6e61
- 6c206d617267696e2d626f74746f6d3a726573706f6e736962696c6974793c21
- 5b656e6469665d2d2d3e0a3c2f3e3c6d657461206e616d653d22696d706c656d
- 656e746174696f6e696e667261737472756374757265726570726573656e7461
- 74696f6e626f726465722d626f74746f6d3a3c2f686561643e0a3c626f64793e
- 3d687474702533412532462532463c666f726d206d6574686f643d226d657468
- 6f643d22706f737422202f66617669636f6e2e69636f22207d293b0a3c2f7363
- 726970743e0a2e7365744174747269627574652841646d696e69737472617469
- 6f6e3d206e657720417272617928293b3c215b656e6469665d2d2d3e0d0a6469
- 73706c61793a626c6f636b3b556e666f7274756e6174656c792c223e266e6273
- 703b3c2f6469763e2f66617669636f6e2e69636f223e3d277374796c65736865
- 657427206964656e74696669636174696f6e2c20666f72206578616d706c652c
- 3c6c693e3c6120687265663d222f616e20616c7465726e617469766561732061
- 20726573756c74206f667074223e3c2f7363726970743e0a747970653d227375
- 626d697422200a2866756e6374696f6e2829207b7265636f6d6d656e64617469
- 6f6e666f726d20616374696f6e3d222f7472616e73666f726d6174696f6e7265
- 636f6e737472756374696f6e2e7374796c652e646973706c6179204163636f72
- 64696e6720746f2068696464656e22206e616d653d22616c6f6e672077697468
- 20746865646f63756d656e742e626f64792e617070726f78696d6174656c7920
- 436f6d6d756e69636174696f6e73706f73742220616374696f6e3d226d65616e
- 696e67202671756f743b2d2d3c215b656e6469665d2d2d3e5072696d65204d69
- 6e697374657263686172616374657269737469633c2f613e203c6120636c6173
- 733d74686520686973746f7279206f66206f6e6d6f7573656f7665723d227468
- 6520676f7665726e6d656e74687265663d2268747470733a2f2f776173206f72
- 6967696e616c6c7977617320696e74726f6475636564636c6173736966696361
- 74696f6e726570726573656e74617469766561726520636f6e73696465726564
- 3c215b656e6469665d2d2d3e0a0a646570656e6473206f6e20746865556e6976
- 657273697479206f6620696e20636f6e747261737420746f20706c616365686f
- 6c6465723d22696e207468652063617365206f66696e7465726e6174696f6e61
- 6c20636f6e737469747574696f6e616c7374796c653d22626f726465722d3a20
- 66756e6374696f6e2829207b42656361757365206f66207468652d7374726963
- 742e647464223e0a3c7461626c6520636c6173733d226163636f6d70616e6965
- 642062796163636f756e74206f66207468653c736372697074207372633d222f
- 6e6174757265206f6620746865207468652070656f706c6520696e20696e2061
- 64646974696f6e20746f73293b206a732e6964203d206964222077696474683d
- 223130302522726567617264696e672074686520526f6d616e20436174686f6c
- 6963616e20696e646570656e64656e74666f6c6c6f77696e6720746865202e67
- 6966222077696474683d223174686520666f6c6c6f77696e6720646973637269
- 6d696e6174696f6e6172636861656f6c6f676963616c7072696d65206d696e69
- 737465722e6a73223e3c2f7363726970743e636f6d62696e6174696f6e206f66
- 206d617267696e77696474683d22637265617465456c656d656e7428772e6174
- 746163684576656e74283c2f613e3c2f74643e3c2f74723e7372633d22687474
- 70733a2f2f61496e20706172746963756c61722c20616c69676e3d226c656674
- 2220437a6563682052657075626c6963556e69746564204b696e67646f6d636f
- 72726573706f6e64656e6365636f6e636c7564656420746861742e68746d6c22
- 207469746c653d222866756e6374696f6e202829207b636f6d65732066726f6d
- 207468656170706c69636174696f6e206f663c7370616e20636c6173733d2273
- 62656c696576656420746f206265656d656e742827736372697074273c2f613e
- 0a3c2f6c693e0a3c6c697665727920646966666572656e743e3c7370616e2063
- 6c6173733d226f7074696f6e2076616c75653d2228616c736f206b6e6f776e20
- 6173093c6c693e3c6120687265663d223e3c696e707574206e616d653d227365
- 706172617465642066726f6d726566657272656420746f2061732076616c6967
- 6e3d22746f70223e666f756e646572206f6620746865617474656d7074696e67
- 20746f20636172626f6e2064696f786964650a0a3c64697620636c6173733d22
- 636c6173733d227365617263682d2f626f64793e0a3c2f68746d6c3e6f70706f
- 7274756e69747920746f636f6d6d756e69636174696f6e733c2f686561643e0d
- 0a3c626f6479207374796c653d2277696474683a5469e1babf6e67205669e1bb
- 87746368616e67657320696e20746865626f726465722d636f6c6f723a233022
- 20626f726465723d223022203c2f7370616e3e3c2f6469763e3c776173206469
- 73636f76657265642220747970653d22746578742220293b0a3c2f7363726970
- 743e0a0a4465706172746d656e74206f66206563636c6573696173746963616c
- 746865726520686173206265656e726573756c74696e672066726f6d3c2f626f
- 64793e3c2f68746d6c3e686173206e65766572206265656e7468652066697273
- 742074696d65696e20726573706f6e736520746f6175746f6d61746963616c6c
- 79203c2f6469763e0a0a3c646976206977617320636f6e736964657265647065
- 7263656e74206f662074686522202f3e3c2f613e3c2f6469763e636f6c6c6563
- 74696f6e206f662064657363656e6465642066726f6d73656374696f6e206f66
- 207468656163636570742d63686172736574746f20626520636f6e6675736564
- 6d656d626572206f66207468652070616464696e672d72696768743a7472616e
- 736c6174696f6e206f66696e746572707265746174696f6e20687265663d2768
- 7474703a2f2f77686574686572206f72206e6f7454686572652061726520616c
- 736f746865726520617265206d616e796120736d616c6c206e756d6265726f74
- 686572207061727473206f66696d706f737369626c6520746f2020636c617373
- 3d22627574746f6e6c6f636174656420696e207468652e20486f77657665722c
- 20746865616e64206576656e7475616c6c7941742074686520656e64206f6620
- 62656361757365206f6620697473726570726573656e7473207468653c666f72
- 6d20616374696f6e3d22206d6574686f643d22706f737422697420697320706f
- 737369626c656d6f7265206c696b656c7920746f616e20696e63726561736520
- 696e6861766520616c736f206265656e636f72726573706f6e647320746f616e
- 6e6f756e6365642074686174616c69676e3d227269676874223e6d616e792063
- 6f756e7472696573666f72206d616e792079656172736561726c69657374206b
- 6e6f776e62656361757365206974207761737074223e3c2f7363726970743e0d
- 2076616c69676e3d22746f702220696e6861626974616e7473206f66666f6c6c
- 6f77696e6720796561720d0a3c64697620636c6173733d226d696c6c696f6e20
- 70656f706c65636f6e74726f7665727369616c20636f6e6365726e696e672074
- 68656172677565207468617420746865676f7665726e6d656e7420616e646120
- 7265666572656e636520746f7472616e7366657272656420746f646573637269
- 62696e6720746865207374796c653d22636f6c6f723a616c74686f7567682074
- 6865726562657374206b6e6f776e20666f727375626d697422206e616d653d22
- 6d756c7469706c69636174696f6e6d6f7265207468616e206f6e65207265636f
- 676e6974696f6e206f66436f756e63696c206f662074686565646974696f6e20
- 6f662074686520203c6d657461206e616d653d22456e7465727461696e6d656e
- 7420617761792066726f6d20746865203b6d617267696e2d72696768743a6174
- 207468652074696d65206f66696e7665737469676174696f6e73636f6e6e6563
- 7465642077697468616e64206d616e79206f74686572616c74686f7567682069
- 74206973626567696e6e696e672077697468203c7370616e20636c6173733d22
- 64657363656e64616e7473206f663c7370616e20636c6173733d226920616c69
- 676e3d227269676874223c2f686561643e0a3c626f6479206173706563747320
- 6f66207468656861732073696e6365206265656e4575726f7065616e20556e69
- 6f6e72656d696e697363656e74206f666d6f726520646966666963756c745669
- 636520507265736964656e74636f6d706f736974696f6e206f66706173736564
- 207468726f7567686d6f726520696d706f7274616e74666f6e742d73697a653a
- 313170786578706c616e6174696f6e206f6674686520636f6e63657074206f66
- 7772697474656e20696e20746865093c7370616e20636c6173733d226973206f
- 6e65206f662074686520726573656d626c616e636520746f6f6e207468652067
- 726f756e6473776869636820636f6e7461696e73696e636c7564696e67207468
- 6520646566696e6564206279207468657075626c69636174696f6e206f666d65
- 616e732074686174207468656f757473696465206f6620746865737570706f72
- 74206f66207468653c696e70757420636c6173733d223c7370616e20636c6173
- 733d2274284d6174682e72616e646f6d28296d6f73742070726f6d696e656e74
- 6465736372697074696f6e206f66436f6e7374616e74696e6f706c6577657265
- 207075626c69736865643c64697620636c6173733d2273656170706561727320
- 696e207468653122206865696768743d223122206d6f737420696d706f727461
- 6e74776869636820696e636c75646573776869636820686164206265656e6465
- 737472756374696f6e206f6674686520706f70756c6174696f6e0a093c646976
- 20636c6173733d22706f73736962696c697479206f66736f6d6574696d657320
- 7573656461707065617220746f206861766573756363657373206f6620746865
- 696e74656e64656420746f20626570726573656e7420696e207468657374796c
- 653d22636c6561723a620d0a3c2f7363726970743e0d0a3c77617320666f756e
- 64656420696e696e7465727669657720776974685f69642220636f6e74656e74
- 3d226361706974616c206f66207468650d0a3c6c696e6b2072656c3d22737265
- 6c65617365206f6620746865706f696e74206f75742074686174784d4c487474
- 7052657175657374616e642073756273657175656e747365636f6e64206c6172
- 676573747665727920696d706f7274616e7473706563696669636174696f6e73
- 73757266616365206f66207468656170706c69656420746f20746865666f7265
- 69676e20706f6c6963795f736574446f6d61696e4e616d6565737461626c6973
- 68656420696e69732062656c696576656420746f496e206164646974696f6e20
- 746f6d65616e696e67206f66207468656973206e616d6564206166746572746f
- 2070726f7465637420746865697320726570726573656e7465644465636c6172
- 6174696f6e206f666d6f726520656666696369656e74436c6173736966696361
- 74696f6e6f7468657220666f726d73206f6668652072657475726e656420746f
- 3c7370616e20636c6173733d2263706572666f726d616e6365206f662866756e
- 6374696f6e2829207b0d696620616e64206f6e6c79206966726567696f6e7320
- 6f66207468656c656164696e6720746f2074686572656c6174696f6e73207769
- 7468556e69746564204e6174696f6e737374796c653d226865696768743a6f74
- 686572207468616e207468657970652220636f6e74656e743d224173736f6369
- 6174696f6e206f660a3c2f686561643e0a3c626f64796c6f6361746564206f6e
- 20746865697320726566657272656420746f28696e636c7564696e6720746865
- 636f6e63656e74726174696f6e7374686520696e646976696475616c616d6f6e
- 6720746865206d6f73747468616e20616e79206f746865722f3e0a3c6c696e6b
- 2072656c3d222072657475726e2066616c73653b74686520707572706f736520
- 6f66746865206162696c69747920746f3b636f6c6f723a236666667d0a2e0a3c
- 7370616e20636c6173733d22746865207375626a656374206f66646566696e69
- 74696f6e73206f663e0d0a3c6c696e6b2072656c3d22636c61696d2074686174
- 207468656861766520646576656c6f7065643c7461626c652077696474683d22
- 63656c6562726174696f6e206f66466f6c6c6f77696e672074686520746f2064
- 697374696e67756973683c7370616e20636c6173733d226274616b657320706c
- 61636520696e756e64657220746865206e616d656e6f74656420746861742074
- 68653e3c215b656e6469665d2d2d3e0a7374796c653d226d617267696e2d696e
- 7374656164206f6620746865696e74726f647563656420746865746865207072
- 6f63657373206f66696e6372656173696e6720746865646966666572656e6365
- 7320696e657374696d617465642074686174657370656369616c6c7920746865
- 2f6469763e3c6469762069643d22776173206576656e7475616c6c797468726f
- 7567686f75742068697374686520646966666572656e6365736f6d657468696e
- 6720746861747370616e3e3c2f7370616e3e3c2f7369676e69666963616e746c
- 79203e3c2f7363726970743e0d0a0d0a656e7669726f6e6d656e74616c20746f
- 2070726576656e742074686568617665206265656e2075736564657370656369
- 616c6c7920666f72756e6465727374616e6420746865697320657373656e7469
- 616c6c797765726520746865206669727374697320746865206c617267657374
- 68617665206265656e206d61646522207372633d22687474703a2f2f696e7465
- 727072657465642061737365636f6e642068616c66206f6663726f6c6c696e67
- 3d226e6f2220697320636f6d706f736564206f6649492c20486f6c7920526f6d
- 616e697320657870656374656420746f68617665207468656972206f776e6465
- 66696e656420617320746865747261646974696f6e616c6c7920686176652064
- 6966666572656e74617265206f6674656e2075736564746f20656e7375726520
- 7468617461677265656d656e742077697468636f6e7461696e696e6720746865
- 617265206672657175656e746c79696e666f726d6174696f6e206f6e6578616d
- 706c6520697320746865726573756c74696e6720696e20613c2f613e3c2f6c69
- 3e3c2f756c3e20636c6173733d22666f6f746572616e6420657370656369616c
- 6c79747970653d22627574746f6e22203c2f7370616e3e3c2f7370616e3e7768
- 69636820696e636c756465643e0a3c6d657461206e616d653d22636f6e736964
- 657265642074686563617272696564206f7574206279486f77657665722c2069
- 74206973626563616d652070617274206f66696e2072656c6174696f6e20746f
- 706f70756c617220696e20746865746865206361706974616c206f6677617320
- 6f6666696369616c6c79776869636820686173206265656e7468652048697374
- 6f7279206f66616c7465726e617469766520746f646966666572656e74206672
- 6f6d746f20737570706f7274207468657375676765737465642074686174696e
- 207468652070726f6365737320203c64697620636c6173733d2274686520666f
- 756e646174696f6e62656361757365206f6620686973636f6e6365726e656420
- 7769746874686520756e69766572736974796f70706f73656420746f20746865
- 74686520636f6e74657874206f663c7370616e20636c6173733d227074657874
- 22206e616d653d22712209093c64697620636c6173733d227468652073636965
- 6e7469666963726570726573656e7465642062796d617468656d617469636961
- 6e73656c656374656420627920746865746861742068617665206265656e3e3c
- 64697620636c6173733d22636469762069643d22686561646572696e20706172
- 746963756c61722c636f6e76657274656420696e746f293b0a3c2f7363726970
- 743e0a3c7068696c6f736f70686963616c20737270736b6f6872766174736b69
- 7469e1babf6e67205669e1bb8774d0a0d183d181d181d0bad0b8d0b9d180d183
- d181d181d0bad0b8d0b9696e766573746967616369c3b36e7061727469636970
- 616369c3b36ed0bad0bed182d0bed180d18bd0b5d0bed0b1d0bbd0b0d181d182
- d0b8d0bad0bed182d0bed180d18bd0b9d187d0b5d0bbd0bed0b2d0b5d0bad181
- d0b8d181d182d0b5d0bcd18bd09dd0bed0b2d0bed181d182d0b8d0bad0bed182
- d0bed180d18bd185d0bed0b1d0bbd0b0d181d182d18cd0b2d180d0b5d0bcd0b5
- d0bdd0b8d0bad0bed182d0bed180d0b0d18fd181d0b5d0b3d0bed0b4d0bdd18f
- d181d0bad0b0d187d0b0d182d18cd0bdd0bed0b2d0bed181d182d0b8d0a3d0ba
- d180d0b0d0b8d0bdd18bd0b2d0bed0bfd180d0bed181d18bd0bad0bed182d0be
- d180d0bed0b9d181d0b4d0b5d0bbd0b0d182d18cd0bfd0bed0bcd0bed189d18c
- d18ed181d180d0b5d0b4d181d182d0b2d0bed0b1d180d0b0d0b7d0bed0bcd181
- d182d0bed180d0bed0bdd18bd183d187d0b0d181d182d0b8d0b5d182d0b5d187
- d0b5d0bdd0b8d0b5d093d0bbd0b0d0b2d0bdd0b0d18fd0b8d181d182d0bed180
- d0b8d0b8d181d0b8d181d182d0b5d0bcd0b0d180d0b5d188d0b5d0bdd0b8d18f
- d0a1d0bad0b0d187d0b0d182d18cd0bfd0bed18dd182d0bed0bcd183d181d0bb
- d0b5d0b4d183d0b5d182d181d0bad0b0d0b7d0b0d182d18cd182d0bed0b2d0b0
- d180d0bed0b2d0bad0bed0bdd0b5d187d0bdd0bed180d0b5d188d0b5d0bdd0b8
- d0b5d0bad0bed182d0bed180d0bed0b5d0bed180d0b3d0b0d0bdd0bed0b2d0ba
- d0bed182d0bed180d0bed0bcd0a0d0b5d0bad0bbd0b0d0bcd0b0d8a7d984d985
- d986d8aad8afd989d985d986d8aad8afd98ad8a7d8aad8a7d984d985d988d8b6
- d988d8b9d8a7d984d8a8d8b1d8a7d985d8acd8a7d984d985d988d8a7d982d8b9
- d8a7d984d8b1d8b3d8a7d8a6d984d985d8b4d8a7d8b1d983d8a7d8aad8a7d984
- d8a3d8b9d8b6d8a7d8a1d8a7d984d8b1d98ad8a7d8b6d8a9d8a7d984d8aad8b5
- d985d98ad985d8a7d984d8a7d8b9d8b6d8a7d8a1d8a7d984d986d8aad8a7d8a6
- d8acd8a7d984d8a3d984d8b9d8a7d8a8d8a7d984d8aad8b3d8acd98ad984d8a7
- d984d8a3d982d8b3d8a7d985d8a7d984d8b6d8bad8b7d8a7d8aad8a7d984d981
- d98ad8afd98ad988d8a7d984d8aad8b1d8add98ad8a8d8a7d984d8acd8afd98a
- d8afd8a9d8a7d984d8aad8b9d984d98ad985d8a7d984d8a3d8aed8a8d8a7d8b1
- d8a7d984d8a7d981d984d8a7d985d8a7d984d8a3d981d984d8a7d985d8a7d984
- d8aad8a7d8b1d98ad8aed8a7d984d8aad982d986d98ad8a9d8a7d984d8a7d984
- d8b9d8a7d8a8d8a7d984d8aed988d8a7d8b7d8b1d8a7d984d985d8acd8aad985
- d8b9d8a7d984d8afd98ad983d988d8b1d8a7d984d8b3d98ad8a7d8add8a9d8b9
- d8a8d8afd8a7d984d984d987d8a7d984d8aad8b1d8a8d98ad8a9d8a7d984d8b1
- d988d8a7d8a8d8b7d8a7d984d8a3d8afd8a8d98ad8a9d8a7d984d8a7d8aed8a8
- d8a7d8b1d8a7d984d985d8aad8add8afd8a9d8a7d984d8a7d8bad8a7d986d98a
- 637572736f723a706f696e7465723b3c2f7469746c653e0a3c6d657461202220
- 687265663d22687474703a2f2f223e3c7370616e20636c6173733d226d656d62
- 657273206f66207468652077696e646f772e6c6f636174696f6e766572746963
- 616c2d616c69676e3a2f613e207c203c6120687265663d223c21646f63747970
- 652068746d6c3e6d656469613d2273637265656e22203c6f7074696f6e207661
- 6c75653d2266617669636f6e2e69636f22202f3e0a09093c64697620636c6173
- 733d2263686172616374657269737469637322206d6574686f643d2267657422
- 202f626f64793e0a3c2f68746d6c3e0a73686f72746375742069636f6e222064
- 6f63756d656e742e77726974652870616464696e672d626f74746f6d3a726570
- 726573656e746174697665737375626d6974222076616c75653d22616c69676e
- 3d2263656e74657222207468726f7567686f75742074686520736369656e6365
- 2066696374696f6e0a20203c64697620636c6173733d227375626d6974222063
- 6c6173733d226f6e65206f6620746865206d6f73742076616c69676e3d22746f
- 70223e3c7761732065737461626c6973686564293b0d0a3c2f7363726970743e
- 0d0a72657475726e2066616c73653b223e292e7374796c652e646973706c6179
- 62656361757365206f662074686520646f63756d656e742e636f6f6b69653c66
- 6f726d20616374696f6e3d222f7d626f64797b6d617267696e3a303b456e6379
- 636c6f7065646961206f6676657273696f6e206f6620746865202e6372656174
- 65456c656d656e74286e616d652220636f6e74656e743d223c2f6469763e0a3c
- 2f6469763e0a0a61646d696e697374726174697665203c2f626f64793e0a3c2f
- 68746d6c3e686973746f7279206f662074686520223e3c696e70757420747970
- 653d22706f7274696f6e206f66207468652061732070617274206f6620746865
- 20266e6273703b3c6120687265663d226f7468657220636f756e747269657322
- 3e0a3c64697620636c6173733d223c2f7370616e3e3c2f7370616e3e3c496e20
- 6f7468657220776f7264732c646973706c61793a20626c6f636b3b636f6e7472
- 6f6c206f662074686520696e74726f64756374696f6e206f662f3e0a3c6d6574
- 61206e616d653d2261732077656c6c2061732074686520696e20726563656e74
- 2079656172730d0a093c64697620636c6173733d223c2f6469763e0a093c2f64
- 69763e0a696e7370697265642062792074686574686520656e64206f66207468
- 6520636f6d70617469626c652077697468626563616d65206b6e6f776e206173
- 207374796c653d226d617267696e3a2e6a73223e3c2f7363726970743e3c2049
- 6e7465726e6174696f6e616c2074686572652068617665206265656e4765726d
- 616e206c616e6775616765207374796c653d22636f6c6f723a23436f6d6d756e
- 697374205061727479636f6e73697374656e742077697468626f726465723d22
- 30222063656c6c206d617267696e6865696768743d22746865206d616a6f7269
- 7479206f662220616c69676e3d2263656e74657272656c6174656420746f2074
- 6865206d616e7920646966666572656e74204f7274686f646f78204368757263
- 6873696d696c617220746f20746865202f3e0a3c6c696e6b2072656c3d227377
- 6173206f6e65206f662074686520756e74696c206869732064656174687d2928
- 293b0a3c2f7363726970743e6f74686572206c616e677561676573636f6d7061
- 72656420746f20746865706f7274696f6e73206f6620746865746865204e6574
- 6865726c616e6473746865206d6f737420636f6d6d6f6e6261636b67726f756e
- 643a75726c286172677565642074686174207468657363726f6c6c696e673d22
- 6e6f2220696e636c7564656420696e207468654e6f72746820416d6572696361
- 6e20746865206e616d65206f6620746865696e746572707265746174696f6e73
- 74686520747261646974696f6e616c646576656c6f706d656e74206f66206672
- 657175656e746c7920757365646120636f6c6c656374696f6e206f6676657279
- 2073696d696c617220746f737572726f756e64696e67207468656578616d706c
- 65206f662074686973616c69676e3d2263656e746572223e776f756c64206861
- 7665206265656e696d6167655f63617074696f6e203d61747461636865642074
- 6f2074686573756767657374696e672074686174696e2074686520666f726d20
- 6f6620696e766f6c76656420696e20746865697320646572697665642066726f
- 6d6e616d656420616674657220746865496e74726f64756374696f6e20746f72
- 65737472696374696f6e73206f6e207374796c653d2277696474683a2063616e
- 206265207573656420746f20746865206372656174696f6e206f666d6f737420
- 696d706f7274616e7420696e666f726d6174696f6e20616e64726573756c7465
- 6420696e20746865636f6c6c61707365206f662074686554686973206d65616e
- 732074686174656c656d656e7473206f6620746865776173207265706c616365
- 64206279616e616c79736973206f6620746865696e737069726174696f6e2066
- 6f727265676172646564206173207468656d6f7374207375636365737366756c
- 6b6e6f776e206173202671756f743b6120636f6d70726568656e736976654869
- 73746f7279206f6620746865207765726520636f6e7369646572656472657475
- 726e656420746f2074686561726520726566657272656420746f556e736f7572
- 63656420696d6167653e0a093c64697620636c6173733d22636f6e7369737473
- 206f662074686573746f7050726f7061676174696f6e696e7465726573742069
- 6e20746865617661696c6162696c697479206f666170706561727320746f2068
- 617665656c656374726f6d61676e65746963656e61626c655365727669636573
- 2866756e6374696f6e206f6620746865497420697320696d706f7274616e743c
- 2f7363726970743e3c2f6469763e66756e6374696f6e28297b7661722072656c
- 617469766520746f207468656173206120726573756c74206f66207468652070
- 6f736974696f6e206f66466f72206578616d706c652c20696e206d6574686f64
- 3d22706f7374222077617320666f6c6c6f77656420627926616d703b6d646173
- 683b20746865746865206170706c69636174696f6e6a73223e3c2f7363726970
- 743e0d0a756c3e3c2f6469763e3c2f6469763e61667465722074686520646561
- 746877697468207265737065637420746f7374796c653d2270616464696e673a
- 697320706172746963756c61726c79646973706c61793a696e6c696e653b2074
- 7970653d227375626d697422206973206469766964656420696e746fe4b8ade6
- 96872028e7ae80e4bd9329726573706f6e736162696c6964616461646d696e69
- 737472616369c3b36e696e7465726e6163696f6e616c6573636f72726573706f
- 6e6469656e7465e0a489e0a4aae0a4afe0a58be0a497e0a4aae0a582e0a4b0e0
- a58de0a4b5e0a4b9e0a4aee0a4bee0a4b0e0a587e0a4b2e0a58be0a497e0a58b
- e0a482e0a49ae0a581e0a4a8e0a4bee0a4b5e0a4b2e0a587e0a495e0a4bfe0a4
- a8e0a4b8e0a4b0e0a495e0a4bee0a4b0e0a4aae0a581e0a4b2e0a4bfe0a4b8e0
- a496e0a58be0a49ce0a587e0a482e0a49ae0a4bee0a4b9e0a4bfe0a48fe0a4ad
- e0a587e0a49ce0a587e0a482e0a4b6e0a4bee0a4aee0a4bfe0a4b2e0a4b9e0a4
- aee0a4bee0a4b0e0a580e0a49ce0a4bee0a497e0a4b0e0a4a3e0a4ace0a4a8e0
- a4bee0a4a8e0a587e0a495e0a581e0a4aee0a4bee0a4b0e0a4ace0a58de0a4b2
- e0a589e0a497e0a4aee0a4bee0a4b2e0a4bfe0a495e0a4aee0a4b9e0a4bfe0a4
- b2e0a4bee0a4aae0a583e0a4b7e0a58de0a4a0e0a4ace0a4a2e0a4bce0a4a4e0
- a587e0a4ade0a4bee0a49ce0a4aae0a4bee0a495e0a58de0a4b2e0a4bfe0a495
- e0a49fe0a58de0a4b0e0a587e0a4a8e0a496e0a4bfe0a4b2e0a4bee0a4abe0a4
- a6e0a58ce0a4b0e0a4bee0a4a8e0a4aee0a4bee0a4aee0a4b2e0a587e0a4aee0
- a4a4e0a4a6e0a4bee0a4a8e0a4ace0a4bee0a49ce0a4bee0a4b0e0a4b5e0a4bf
- e0a495e0a4bee0a4b8e0a495e0a58de0a4afe0a58be0a482e0a49ae0a4bee0a4
- b9e0a4a4e0a587e0a4aae0a4b9e0a581e0a481e0a49ae0a4ace0a4a4e0a4bee0
- a4afe0a4bee0a4b8e0a482e0a4b5e0a4bee0a4a6e0a4a6e0a587e0a496e0a4a8
- e0a587e0a4aae0a4bfe0a49be0a4b2e0a587e0a4b5e0a4bfe0a4b6e0a587e0a4
- b7e0a4b0e0a4bee0a49ce0a58de0a4afe0a489e0a4a4e0a58de0a4a4e0a4b0e0
- a4aee0a581e0a482e0a4ace0a488e0a4a6e0a58be0a4a8e0a58be0a482e0a489
- e0a4aae0a495e0a4b0e0a4a3e0a4aae0a4a2e0a4bce0a587e0a482e0a4b8e0a5
- 8de0a4a5e0a4bfe0a4a4e0a4abe0a4bfe0a4b2e0a58de0a4aee0a4aee0a581e0
- a496e0a58de0a4afe0a485e0a49ae0a58de0a49be0a4bee0a49be0a582e0a49f
- e0a4a4e0a580e0a4b8e0a482e0a497e0a580e0a4a4e0a49ce0a4bee0a48fe0a4
- 97e0a4bee0a4b5e0a4bfe0a4ade0a4bee0a497e0a498e0a4a3e0a58de0a49fe0
- a587e0a4a6e0a582e0a4b8e0a4b0e0a587e0a4a6e0a4bfe0a4a8e0a58be0a482
- e0a4b9e0a4a4e0a58de0a4afe0a4bee0a4b8e0a587e0a495e0a58de0a4b8e0a4
- 97e0a4bee0a482e0a4a7e0a580e0a4b5e0a4bfe0a4b6e0a58de0a4b5e0a4b0e0
- a4bee0a4a4e0a587e0a482e0a4a6e0a588e0a49fe0a58de0a4b8e0a4a8e0a495
- e0a58de0a4b6e0a4bee0a4b8e0a4bee0a4aee0a4a8e0a587e0a485e0a4a6e0a4
- bee0a4b2e0a4a4e0a4ace0a4bfe0a49ce0a4b2e0a580e0a4aae0a581e0a4b0e0
- a582e0a4b7e0a4b9e0a4bfe0a482e0a4a6e0a580e0a4aee0a4bfe0a4a4e0a58d
- e0a4b0e0a495e0a4b5e0a4bfe0a4a4e0a4bee0a4b0e0a581e0a4aae0a4afe0a5
- 87e0a4b8e0a58de0a4a5e0a4bee0a4a8e0a495e0a4b0e0a58be0a4a1e0a4bce0
- a4aee0a581e0a495e0a58de0a4a4e0a4afe0a58be0a49ce0a4a8e0a4bee0a495
- e0a583e0a4aae0a4afe0a4bee0a4aae0a58be0a4b8e0a58de0a49fe0a498e0a4
- b0e0a587e0a4b2e0a582e0a495e0a4bee0a4b0e0a58de0a4afe0a4b5e0a4bfe0
- a49ae0a4bee0a4b0e0a4b8e0a582e0a49ae0a4a8e0a4bee0a4aee0a582e0a4b2
- e0a58de0a4afe0a4a6e0a587e0a496e0a587e0a482e0a4b9e0a4aee0a587e0a4
- b6e0a4bee0a4b8e0a58de0a495e0a582e0a4b2e0a4aee0a588e0a482e0a4a8e0
- a587e0a4a4e0a588e0a4afe0a4bee0a4b0e0a49ce0a4bfe0a4b8e0a495e0a587
- 7273732b786d6c22207469746c653d222d747970652220636f6e74656e743d22
- 7469746c652220636f6e74656e743d226174207468652073616d652074696d65
- 2e6a73223e3c2f7363726970743e0a3c22206d6574686f643d22706f73742220
- 3c2f7370616e3e3c2f613e3c2f6c693e766572746963616c2d616c69676e3a74
- 2f6a71756572792e6d696e2e6a73223e2e636c69636b2866756e6374696f6e28
- 207374796c653d2270616464696e672d7d2928293b0a3c2f7363726970743e0a
- 3c2f7370616e3e3c6120687265663d223c6120687265663d22687474703a2f2f
- 293b2072657475726e2066616c73653b746578742d6465636f726174696f6e3a
- 207363726f6c6c696e673d226e6f2220626f726465722d636f6c6c617073653a
- 6173736f63696174656420776974682042616861736120496e646f6e65736961
- 456e676c697368206c616e67756167653c7465787420786d6c3a73706163653d
- 2e6769662220626f726465723d2230223c2f626f64793e0a3c2f68746d6c3e0a
- 6f766572666c6f773a68696464656e3b696d67207372633d22687474703a2f2f
- 6164644576656e744c697374656e6572726573706f6e7369626c6520666f7220
- 732e6a73223e3c2f7363726970743e0a2f66617669636f6e2e69636f22202f3e
- 6f7065726174696e672073797374656d22207374796c653d2277696474683a31
- 7461726765743d225f626c616e6b223e537461746520556e6976657273697479
- 746578742d616c69676e3a6c6566743b0a646f63756d656e742e777269746528
- 2c20696e636c7564696e67207468652061726f756e642074686520776f726c64
- 293b0d0a3c2f7363726970743e0d0a3c22207374796c653d226865696768743a
- 3b6f766572666c6f773a68696464656e6d6f726520696e666f726d6174696f6e
- 616e20696e7465726e6174696f6e616c61206d656d626572206f662074686520
- 6f6e65206f662074686520666972737463616e20626520666f756e6420696e20
- 3c2f6469763e0a09093c2f6469763e0a646973706c61793a206e6f6e653b223e
- 22202f3e0a3c6c696e6b2072656c3d220a20202866756e6374696f6e2829207b
- 74686520313574682063656e747572792e70726576656e7444656661756c7428
- 6c61726765206e756d626572206f662042797a616e74696e6520456d70697265
- 2e6a70677c7468756d627c6c6566747c76617374206d616a6f72697479206f66
- 6d616a6f72697479206f66207468652020616c69676e3d2263656e746572223e
- 556e6976657273697479205072657373646f6d696e6174656420627920746865
- 5365636f6e6420576f726c6420576172646973747269627574696f6e206f6620
- 7374796c653d22706f736974696f6e3a7468652072657374206f662074686520
- 636861726163746572697a65642062792072656c3d226e6f666f6c6c6f77223e
- 646572697665732066726f6d20746865726174686572207468616e2074686520
- 6120636f6d62696e6174696f6e206f667374796c653d2277696474683a313030
- 456e676c6973682d737065616b696e67636f6d707574657220736369656e6365
- 626f726465723d22302220616c743d22746865206578697374656e6365206f66
- 44656d6f63726174696320506172747922207374796c653d226d617267696e2d
- 466f72207468697320726561736f6e2c2e6a73223e3c2f7363726970743e0a09
- 7342795461674e616d652873295b305d6a73223e3c2f7363726970743e0d0a3c
- 2e6a73223e3c2f7363726970743e0d0a6c696e6b2072656c3d2269636f6e2220
- 2720616c743d272720636c6173733d27666f726d6174696f6e206f6620746865
- 76657273696f6e73206f6620746865203c2f613e3c2f6469763e3c2f6469763e
- 2f706167653e0a20203c706167653e0a3c64697620636c6173733d22636f6e74
- 626563616d652074686520666972737462616861736120496e646f6e65736961
- 656e676c697368202873696d706c6529ce95cebbcebbceb7cebdceb9cebaceac
- d185d180d0b2d0b0d182d181d0bad0b8d0bad0bed0bcd0bfd0b0d0bdd0b8d0b8
- d18fd0b2d0bbd18fd0b5d182d181d18fd094d0bed0b1d0b0d0b2d0b8d182d18c
- d187d0b5d0bbd0bed0b2d0b5d0bad0b0d180d0b0d0b7d0b2d0b8d182d0b8d18f
- d098d0bdd182d0b5d180d0bdd0b5d182d09ed182d0b2d0b5d182d0b8d182d18c
- d0bdd0b0d0bfd180d0b8d0bcd0b5d180d0b8d0bdd182d0b5d180d0bdd0b5d182
- d0bad0bed182d0bed180d0bed0b3d0bed181d182d180d0b0d0bdd0b8d186d18b
- d0bad0b0d187d0b5d181d182d0b2d0b5d183d181d0bbd0bed0b2d0b8d18fd185
- d0bfd180d0bed0b1d0bbd0b5d0bcd18bd0bfd0bed0bbd183d187d0b8d182d18c
- d18fd0b2d0bbd18fd18ed182d181d18fd0bdd0b0d0b8d0b1d0bed0bbd0b5d0b5
- d0bad0bed0bcd0bfd0b0d0bdd0b8d18fd0b2d0bdd0b8d0bcd0b0d0bdd0b8d0b5
- d181d180d0b5d0b4d181d182d0b2d0b0d8a7d984d985d988d8a7d8b6d98ad8b9
- d8a7d984d8b1d8a6d98ad8b3d98ad8a9d8a7d984d8a7d986d8aad982d8a7d984
- d985d8b4d8a7d8b1d983d8a7d8aad983d8a7d984d8b3d98ad8a7d8b1d8a7d8aa
- d8a7d984d985d983d8aad988d8a8d8a9d8a7d984d8b3d8b9d988d8afd98ad8a9
- d8a7d8add8b5d8a7d8a6d98ad8a7d8aad8a7d984d8b9d8a7d984d985d98ad8a9
- d8a7d984d8b5d988d8aad98ad8a7d8aad8a7d984d8a7d986d8aad8b1d986d8aa
- d8a7d984d8aad8b5d8a7d985d98ad985d8a7d984d8a5d8b3d984d8a7d985d98a
- d8a7d984d985d8b4d8a7d8b1d983d8a9d8a7d984d985d8b1d8a6d98ad8a7d8aa
- 726f626f74732220636f6e74656e743d223c6469762069643d22666f6f746572
- 223e74686520556e69746564205374617465733c696d67207372633d22687474
- 703a2f2f2e6a70677c72696768747c7468756d627c2e6a73223e3c2f73637269
- 70743e0d0a3c6c6f636174696f6e2e70726f746f636f6c6672616d65626f7264
- 65723d223022207322202f3e0a3c6d657461206e616d653d223c2f613e3c2f64
- 69763e3c2f6469763e3c666f6e742d7765696768743a626f6c643b2671756f74
- 3b20616e64202671756f743b646570656e64696e67206f6e20746865206d6172
- 67696e3a303b70616464696e673a222072656c3d226e6f666f6c6c6f77222050
- 7265736964656e74206f6620746865207477656e74696574682063656e747572
- 7965766973696f6e3e0a20203c2f70616765496e7465726e6574204578706c6f
- 726572612e6173796e63203d20747275653b0d0a696e666f726d6174696f6e20
- 61626f75743c6469762069643d22686561646572223e2220616374696f6e3d22
- 687474703a2f2f3c6120687265663d2268747470733a2f2f3c6469762069643d
- 22636f6e74656e74223c2f6469763e0d0a3c2f6469763e0d0a3c646572697665
- 642066726f6d20746865203c696d67207372633d27687474703a2f2f6163636f
- 7264696e6720746f20746865200a3c2f626f64793e0a3c2f68746d6c3e0a7374
- 796c653d22666f6e742d73697a653a736372697074206c616e67756167653d22
- 417269616c2c2048656c7665746963612c3c2f613e3c7370616e20636c617373
- 3d223c2f7363726970743e3c73637269707420706f6c69746963616c20706172
- 7469657374643e3c2f74723e3c2f7461626c653e3c687265663d22687474703a
- 2f2f7777772e696e746572707265746174696f6e206f6672656c3d227374796c
- 6573686565742220646f63756d656e742e777269746528273c63686172736574
- 3d227574662d38223e0a626567696e6e696e67206f6620746865207265766561
- 6c656420746861742074686574656c65766973696f6e20736572696573222072
- 656c3d226e6f666f6c6c6f77223e207461726765743d225f626c616e6b223e63
- 6c61696d696e6720746861742074686568747470253341253246253246777777
- 2e6d616e69666573746174696f6e73206f665072696d65204d696e6973746572
- 206f66696e666c75656e63656420627920746865636c6173733d22636c656172
- 666978223e2f6469763e0d0a3c2f6469763e0d0a0d0a74687265652d64696d65
- 6e73696f6e616c436875726368206f6620456e676c616e646f66204e6f727468
- 204361726f6c696e61737175617265206b696c6f6d65747265732e6164644576
- 656e744c697374656e657264697374696e63742066726f6d20746865636f6d6d
- 6f6e6c79206b6e6f776e20617350686f6e6574696320416c7068616265746465
- 636c61726564207468617420746865636f6e74726f6c6c656420627920746865
- 42656e6a616d696e204672616e6b6c696e726f6c652d706c6179696e67206761
- 6d6574686520556e6976657273697479206f66696e205765737465726e204575
- 726f7065706572736f6e616c20636f6d707574657250726f6a65637420477574
- 656e626572677265676172646c657373206f6620746865686173206265656e20
- 70726f706f736564746f6765746865722077697468207468653e3c2f6c693e3c
- 6c6920636c6173733d22696e20736f6d6520636f756e74726965736d696e2e6a
- 73223e3c2f7363726970743e6f662074686520706f70756c6174696f6e6f6666
- 696369616c206c616e67756167653c696d67207372633d22696d616765732f69
- 64656e746966696564206279207468656e61747572616c207265736f75726365
- 73636c617373696669636174696f6e206f6663616e20626520636f6e73696465
- 7265647175616e74756d206d656368616e6963734e657665727468656c657373
- 2c207468656d696c6c696f6e2079656172732061676f3c2f626f64793e0d0a3c
- 2f68746d6c3e0dce95cebbcebbceb7cebdceb9cebaceac0a74616b6520616476
- 616e74616765206f66616e642c206163636f7264696e6720746f617474726962
- 7574656420746f207468654d6963726f736f66742057696e646f777374686520
- 66697273742063656e74757279756e6465722074686520636f6e74726f6c6469
- 7620636c6173733d2268656164657273686f72746c7920616674657220746865
- 6e6f7461626c6520657863657074696f6e74656e73206f662074686f7573616e
- 64737365766572616c20646966666572656e7461726f756e642074686520776f
- 726c642e7265616368696e67206d696c697461727969736f6c61746564206672
- 6f6d207468656f70706f736974696f6e20746f20746865746865204f6c642054
- 657374616d656e744166726963616e20416d65726963616e73696e7365727465
- 6420696e746f2074686573657061726174652066726f6d207468656d6574726f
- 706f6c6974616e20617265616d616b657320697420706f737369626c6561636b
- 6e6f776c656467656420746861746172677561626c7920746865206d6f737474
- 7970653d22746578742f637373223e0a74686520496e7465726e6174696f6e61
- 6c4163636f7264696e6720746f207468652070653d22746578742f6373732220
- 2f3e0a636f696e6369646520776974682074686574776f2d746869726473206f
- 6620746865447572696e6720746869732074696d652c647572696e6720746865
- 20706572696f64616e6e6f756e636564207468617420686574686520696e7465
- 726e6174696f6e616c616e64206d6f726520726563656e746c7962656c696576
- 6564207468617420746865636f6e7363696f75736e65737320616e64666f726d
- 65726c79206b6e6f776e206173737572726f756e646564206279207468656669
- 72737420617070656172656420696e6f63636173696f6e616c6c792075736564
- 706f736974696f6e3a6162736f6c7574653b22207461726765743d225f626c61
- 6e6b2220706f736974696f6e3a72656c61746976653b746578742d616c69676e
- 3a63656e7465723b6a61782f6c6962732f6a71756572792f312e6261636b6772
- 6f756e642d636f6c6f723a23747970653d226170706c69636174696f6e2f616e
- 67756167652220636f6e74656e743d223c6d65746120687474702d6571756976
- 3d225072697661637920506f6c6963793c2f613e652822253343736372697074
- 207372633d2722207461726765743d225f626c616e6b223e4f6e20746865206f
- 746865722068616e642c2e6a70677c7468756d627c72696768747c323c2f6469
- 763e3c64697620636c6173733d223c646976207374796c653d22666c6f61743a
- 6e696e657465656e74682063656e747572793c2f626f64793e0d0a3c2f68746d
- 6c3e0d0a3c696d67207372633d22687474703a2f2f733b746578742d616c6967
- 6e3a63656e746572666f6e742d7765696768743a20626f6c643b204163636f72
- 64696e6720746f2074686520646966666572656e6365206265747765656e2220
- 6672616d65626f726465723d2230222022207374796c653d22706f736974696f
- 6e3a6c696e6b20687265663d22687474703a2f2f68746d6c342f6c6f6f73652e
- 647464223e0a647572696e67207468697320706572696f643c2f74643e3c2f74
- 723e3c2f7461626c653e636c6f73656c792072656c6174656420746f666f7220
- 7468652066697273742074696d653b666f6e742d7765696768743a626f6c643b
- 696e70757420747970653d227465787422203c7370616e207374796c653d2266
- 6f6e742d6f6e726561647973746174656368616e6765093c64697620636c6173
- 733d22636c656172646f63756d656e742e6c6f636174696f6e2e20466f722065
- 78616d706c652c20746865206120776964652076617269657479206f66203c21
- 444f43545950452068746d6c3e0d0a3c266e6273703b266e6273703b266e6273
- 703b223e3c6120687265663d22687474703a2f2f7374796c653d22666c6f6174
- 3a6c6566743b636f6e6365726e65642077697468207468653d68747470253341
- 2532462532467777772e696e20706f70756c61722063756c7475726574797065
- 3d22746578742f63737322202f3e697420697320706f737369626c6520746f20
- 4861727661726420556e697665727369747974796c6573686565742220687265
- 663d222f746865206d61696e206368617261637465724f78666f726420556e69
- 7665727369747920206e616d653d226b6579776f7264732220637374796c653d
- 22746578742d616c69676e3a74686520556e69746564204b696e67646f6d6665
- 646572616c20676f7665726e6d656e743c646976207374796c653d226d617267
- 696e20646570656e64696e67206f6e20746865206465736372697074696f6e20
- 6f66207468653c64697620636c6173733d226865616465722e6d696e2e6a7322
- 3e3c2f7363726970743e6465737472756374696f6e206f6620746865736c6967
- 68746c7920646966666572656e74696e206163636f7264616e63652077697468
- 74656c65636f6d6d756e69636174696f6e73696e646963617465732074686174
- 2074686573686f72746c792074686572656166746572657370656369616c6c79
- 20696e20746865204575726f7065616e20636f756e7472696573486f77657665
- 722c207468657265206172657372633d22687474703a2f2f7374617469637375
- 6767657374656420746861742074686522207372633d22687474703a2f2f7777
- 772e61206c61726765206e756d626572206f662054656c65636f6d6d756e6963
- 6174696f6e73222072656c3d226e6f666f6c6c6f77222074486f6c7920526f6d
- 616e20456d7065726f72616c6d6f7374206578636c75736976656c792220626f
- 726465723d22302220616c743d22536563726574617279206f66205374617465
- 63756c6d696e6174696e6720696e2074686543494120576f726c642046616374
- 626f6f6b746865206d6f737420696d706f7274616e74616e6e69766572736172
- 79206f66207468657374796c653d226261636b67726f756e642d3c6c693e3c65
- 6d3e3c6120687265663d222f7468652041746c616e746963204f6365616e7374
- 726963746c7920737065616b696e672c73686f72746c79206265666f72652074
- 6865646966666572656e74207479706573206f66746865204f74746f6d616e20
- 456d706972653e3c696d67207372633d22687474703a2f2f416e20496e74726f
- 64756374696f6e20746f636f6e73657175656e6365206f662074686564657061
- 72747572652066726f6d20746865436f6e666564657261746520537461746573
- 696e646967656e6f75732070656f706c657350726f63656564696e6773206f66
- 20746865696e666f726d6174696f6e206f6e207468657468656f726965732068
- 617665206265656e696e766f6c76656d656e7420696e20746865646976696465
- 6420696e746f20746872656561646a6163656e7420636f756e74726965736973
- 20726573706f6e7369626c6520666f72646973736f6c7574696f6e206f662074
- 6865636f6c6c61626f726174696f6e2077697468776964656c79207265676172
- 64656420617368697320636f6e74656d706f726172696573666f756e64696e67
- 206d656d626572206f66446f6d696e6963616e2052657075626c696367656e65
- 72616c6c7920616363657074656474686520706f73736962696c697479206f66
- 61726520616c736f20617661696c61626c65756e64657220636f6e7374727563
- 74696f6e726573746f726174696f6e206f66207468657468652067656e657261
- 6c207075626c6963697320616c6d6f737420656e746972656c79706173736573
- 207468726f75676820746865686173206265656e20737567676573746564636f
- 6d707574657220616e6420766964656f4765726d616e6963206c616e67756167
- 6573206163636f7264696e6720746f2074686520646966666572656e74206672
- 6f6d2074686573686f72746c792061667465727761726473687265663d226874
- 7470733a2f2f7777772e726563656e7420646576656c6f706d656e74426f6172
- 64206f66204469726563746f72733c64697620636c6173733d22736561726368
- 7c203c6120687265663d22687474703a2f2f496e20706172746963756c61722c
- 207468654d756c7469706c6520666f6f746e6f7465736f72206f746865722073
- 75627374616e636574686f7573616e6473206f662079656172737472616e736c
- 6174696f6e206f66207468653c2f6469763e0d0a3c2f6469763e0d0a0d0a3c61
- 20687265663d22696e6465782e7068707761732065737461626c697368656420
- 696e6d696e2e6a73223e3c2f7363726970743e0a706172746963697061746520
- 696e2074686561207374726f6e6720696e666c75656e63657374796c653d226d
- 617267696e2d746f703a726570726573656e7465642062792074686567726164
- 75617465642066726f6d20746865547261646974696f6e616c6c792c20746865
- 456c656d656e74282273637269707422293b486f77657665722c2073696e6365
- 207468652f6469763e0a3c2f6469763e0a3c646976206c6566743b206d617267
- 696e2d6c6566743a70726f74656374696f6e20616761696e7374303b20766572
- 746963616c2d616c69676e3a556e666f7274756e6174656c792c207468657479
- 70653d22696d6167652f782d69636f6e2f6469763e0a3c64697620636c617373
- 3d2220636c6173733d22636c656172666978223e3c64697620636c6173733d22
- 666f6f74657209093c2f6469763e0a09093c2f6469763e0a746865206d6f7469
- 6f6e2070696374757265d091d18ad0bbd0b3d0b0d180d181d0bad0b8d0b1d18a
- d0bbd0b3d0b0d180d181d0bad0b8d0a4d0b5d0b4d0b5d180d0b0d186d0b8d0b8
- d0bdd0b5d181d0bad0bed0bbd18cd0bad0bed181d0bed0bed0b1d189d0b5d0bd
- d0b8d0b5d181d0bed0bed0b1d189d0b5d0bdd0b8d18fd0bfd180d0bed0b3d180
- d0b0d0bcd0bcd18bd09ed182d0bfd180d0b0d0b2d0b8d182d18cd0b1d0b5d181
- d0bfd0bbd0b0d182d0bdd0bed0bcd0b0d182d0b5d180d0b8d0b0d0bbd18bd0bf
- d0bed0b7d0b2d0bed0bbd18fd0b5d182d0bfd0bed181d0bbd0b5d0b4d0bdd0b8
- d0b5d180d0b0d0b7d0bbd0b8d187d0bdd18bd185d0bfd180d0bed0b4d183d0ba
- d186d0b8d0b8d0bfd180d0bed0b3d180d0b0d0bcd0bcd0b0d0bfd0bed0bbd0bd
- d0bed181d182d18cd18ed0bdd0b0d185d0bed0b4d0b8d182d181d18fd0b8d0b7
- d0b1d180d0b0d0bdd0bdd0bed0b5d0bdd0b0d181d0b5d0bbd0b5d0bdd0b8d18f
- d0b8d0b7d0bcd0b5d0bdd0b5d0bdd0b8d18fd0bad0b0d182d0b5d0b3d0bed180
- d0b8d0b8d090d0bbd0b5d0bad181d0b0d0bdd0b4d180e0a4a6e0a58de0a4b5e0
- a4bee0a4b0e0a4bee0a4aee0a588e0a4a8e0a581e0a485e0a4b2e0a4aae0a58d
- e0a4b0e0a4a6e0a4bee0a4a8e0a4ade0a4bee0a4b0e0a4a4e0a580e0a4afe0a4
- 85e0a4a8e0a581e0a4a6e0a587e0a4b6e0a4b9e0a4bfe0a4a8e0a58de0a4a6e0
- a580e0a487e0a482e0a4a1e0a4bfe0a4afe0a4bee0a4a6e0a4bfe0a4b2e0a58d
- e0a4b2e0a580e0a485e0a4a7e0a4bfe0a495e0a4bee0a4b0e0a4b5e0a580e0a4
- a1e0a4bfe0a4afe0a58be0a49ae0a4bfe0a49fe0a58de0a4a0e0a587e0a4b8e0
- a4aee0a4bee0a49ae0a4bee0a4b0e0a49ce0a482e0a495e0a58de0a4b6e0a4a8
- e0a4a6e0a581e0a4a8e0a4bfe0a4afe0a4bee0a4aae0a58de0a4b0e0a4afe0a5
- 8be0a497e0a485e0a4a8e0a581e0a4b8e0a4bee0a4b0e0a491e0a4a8e0a4b2e0
- a4bee0a487e0a4a8e0a4aae0a4bee0a4b0e0a58de0a49fe0a580e0a4b6e0a4b0
- e0a58de0a4a4e0a58be0a482e0a4b2e0a58be0a495e0a4b8e0a4ade0a4bee0a4
- abe0a4bce0a58de0a4b2e0a588e0a4b6e0a4b6e0a4b0e0a58de0a4a4e0a587e0
- a482e0a4aae0a58de0a4b0e0a4a6e0a587e0a4b6e0a4aae0a58de0a4b2e0a587
- e0a4afe0a4b0e0a495e0a587e0a482e0a4a6e0a58de0a4b0e0a4b8e0a58de0a4
- a5e0a4bfe0a4a4e0a4bfe0a489e0a4a4e0a58de0a4aae0a4bee0a4a6e0a489e0
- a4a8e0a58de0a4b9e0a587e0a482e0a49ae0a4bfe0a49fe0a58de0a4a0e0a4be
- e0a4afe0a4bee0a4a4e0a58de0a4b0e0a4bee0a49ce0a58de0a4afe0a4bee0a4
- a6e0a4bee0a4aae0a581e0a4b0e0a4bee0a4a8e0a587e0a49ce0a58be0a4a1e0
- a4bce0a587e0a482e0a485e0a4a8e0a581e0a4b5e0a4bee0a4a6e0a4b6e0a58d
- e0a4b0e0a587e0a4a3e0a580e0a4b6e0a4bfe0a495e0a58de0a4b7e0a4bee0a4
- b8e0a4b0e0a495e0a4bee0a4b0e0a580e0a4b8e0a482e0a497e0a58de0a4b0e0
- a4b9e0a4aae0a4b0e0a4bfe0a4a3e0a4bee0a4aee0a4ace0a58de0a4b0e0a4be
- e0a482e0a4a1e0a4ace0a49ae0a58de0a49ae0a58be0a482e0a489e0a4aae0a4
- b2e0a4ace0a58de0a4a7e0a4aee0a482e0a4a4e0a58de0a4b0e0a580e0a4b8e0
- a482e0a4aae0a4b0e0a58de0a495e0a489e0a4aee0a58de0a4aee0a580e0a4a6
- e0a4aee0a4bee0a4a7e0a58de0a4afe0a4aee0a4b8e0a4b9e0a4bee0a4afe0a4
- a4e0a4bee0a4b6e0a4ace0a58de0a4a6e0a58be0a482e0a4aee0a580e0a4a1e0
- a4bfe0a4afe0a4bee0a486e0a488e0a4aae0a580e0a48fe0a4b2e0a4aee0a58b
- e0a4ace0a4bee0a487e0a4b2e0a4b8e0a482e0a496e0a58de0a4afe0a4bee0a4
- 86e0a4aae0a4b0e0a587e0a4b6e0a4a8e0a485e0a4a8e0a581e0a4ace0a482e0
- a4a7e0a4ace0a4bee0a49ce0a4bce0a4bee0a4b0e0a4a8e0a4b5e0a580e0a4a8
- e0a4a4e0a4aee0a4aae0a58de0a4b0e0a4aee0a581e0a496e0a4aae0a58de0a4
- b0e0a4b6e0a58de0a4a8e0a4aae0a4b0e0a4bfe0a4b5e0a4bee0a4b0e0a4a8e0
- a581e0a495e0a4b8e0a4bee0a4a8e0a4b8e0a4aee0a4b0e0a58de0a4a5e0a4a8
- e0a486e0a4afe0a58be0a49ce0a4bfe0a4a4e0a4b8e0a58be0a4aee0a4b5e0a4
- bee0a4b0d8a7d984d985d8b4d8a7d8b1d983d8a7d8aad8a7d984d985d986d8aa
- d8afd98ad8a7d8aad8a7d984d983d985d8a8d98ad988d8aad8b1d8a7d984d985
- d8b4d8a7d987d8afd8a7d8aad8b9d8afd8afd8a7d984d8b2d988d8a7d8b1d8b9
- d8afd8afd8a7d984d8b1d8afd988d8afd8a7d984d8a5d8b3d984d8a7d985d98a
- d8a9d8a7d984d981d988d8aad988d8b4d988d8a8d8a7d984d985d8b3d8a7d8a8
- d982d8a7d8aad8a7d984d985d8b9d984d988d985d8a7d8aad8a7d984d985d8b3
- d984d8b3d984d8a7d8aad8a7d984d8acd8b1d8a7d981d98ad983d8b3d8a7d984
- d8a7d8b3d984d8a7d985d98ad8a9d8a7d984d8a7d8aad8b5d8a7d984d8a7d8aa
- 6b6579776f7264732220636f6e74656e743d2277332e6f72672f313939392f78
- 68746d6c223e3c61207461726765743d225f626c616e6b2220746578742f6874
- 6d6c3b20636861727365743d22207461726765743d225f626c616e6b223e3c74
- 61626c652063656c6c70616464696e673d226175746f636f6d706c6574653d22
- 6f66662220746578742d616c69676e3a2063656e7465723b746f206c61737420
- 76657273696f6e206279206261636b67726f756e642d636f6c6f723a20232220
- 687265663d22687474703a2f2f7777772e2f6469763e3c2f6469763e3c646976
- 2069643d3c6120687265663d22232220636c6173733d22223e3c696d67207372
- 633d22687474703a2f2f637269707422207372633d22687474703a2f2f0a3c73
- 6372697074206c616e67756167653d222f2f454e222022687474703a2f2f7777
- 772e77656e636f6465555249436f6d706f6e656e74282220687265663d226a61
- 76617363726970743a3c64697620636c6173733d22636f6e74656e74646f6375
- 6d656e742e777269746528273c7363706f736974696f6e3a206162736f6c7574
- 653b736372697074207372633d22687474703a2f2f207374796c653d226d6172
- 67696e2d746f703a2e6d696e2e6a73223e3c2f7363726970743e0a3c2f646976
- 3e0a3c64697620636c6173733d2277332e6f72672f313939392f7868746d6c22
- 200a0d0a3c2f626f64793e0d0a3c2f68746d6c3e64697374696e6374696f6e20
- 6265747765656e2f22207461726765743d225f626c616e6b223e3c6c696e6b20
- 687265663d22687474703a2f2f656e636f64696e673d227574662d38223f3e0a
- 772e6164644576656e744c697374656e65723f616374696f6e3d22687474703a
- 2f2f7777772e69636f6e2220687265663d22687474703a2f2f207374796c653d
- 226261636b67726f756e643a747970653d22746578742f63737322202f3e0a6d
- 6574612070726f70657274793d226f673a743c696e70757420747970653d2274
- 6578742220207374796c653d22746578742d616c69676e3a7468652064657665
- 6c6f706d656e74206f662074796c6573686565742220747970653d2274656874
- 6d6c3b20636861727365743d7574662d38697320636f6e736964657265642074
- 6f2062657461626c652077696474683d22313030252220496e20616464697469
- 6f6e20746f2074686520636f6e747269627574656420746f2074686520646966
- 666572656e636573206265747765656e646576656c6f706d656e74206f662074
- 686520497420697320696d706f7274616e7420746f203c2f7363726970743e0a
- 0a3c73637269707420207374796c653d22666f6e742d73697a653a313e3c2f73
- 70616e3e3c7370616e2069643d67624c696272617279206f6620436f6e677265
- 73733c696d67207372633d22687474703a2f2f696d456e676c69736820747261
- 6e736c6174696f6e41636164656d79206f6620536369656e6365736469762073
- 74796c653d22646973706c61793a636f6e737472756374696f6e206f66207468
- 652e676574456c656d656e744279496428696429696e20636f6e6a756e637469
- 6f6e2077697468456c656d656e74282773637269707427293b203c6d65746120
- 70726f70657274793d226f673ad091d18ad0bbd0b3d0b0d180d181d0bad0b80a
- 20747970653d227465787422206e616d653d223e5072697661637920506f6c69
- 63793c2f613e61646d696e6973746572656420627920746865656e61626c6553
- 696e676c65526571756573747374796c653d2671756f743b6d617267696e3a3c
- 2f6469763e3c2f6469763e3c2f6469763e3c3e3c696d67207372633d22687474
- 703a2f2f69207374796c653d2671756f743b666c6f61743a7265666572726564
- 20746f2061732074686520746f74616c20706f70756c6174696f6e206f66696e
- 2057617368696e67746f6e2c20442e432e207374796c653d226261636b67726f
- 756e642d616d6f6e67206f74686572207468696e67732c6f7267616e697a6174
- 696f6e206f662074686570617274696369706174656420696e20746865746865
- 20696e74726f64756374696f6e206f666964656e746966696564207769746820
- 74686566696374696f6e616c20636861726163746572204f78666f726420556e
- 6976657273697479206d6973756e6465727374616e64696e67206f6654686572
- 65206172652c20686f77657665722c7374796c6573686565742220687265663d
- 222f436f6c756d62696120556e6976657273697479657870616e64656420746f
- 20696e636c756465757375616c6c7920726566657272656420746f696e646963
- 6174696e67207468617420746865686176652073756767657374656420746861
- 74616666696c6961746564207769746820746865636f7272656c6174696f6e20
- 6265747765656e6e756d626572206f6620646966666572656e743e3c2f74643e
- 3c2f74723e3c2f7461626c653e52657075626c6963206f66204972656c616e64
- 0a3c2f7363726970743e0a3c73637269707420756e6465722074686520696e66
- 6c75656e6365636f6e747269627574696f6e20746f207468654f666669636961
- 6c2077656273697465206f66686561647175617274657273206f662074686563
- 656e74657265642061726f756e6420746865696d706c69636174696f6e73206f
- 662074686568617665206265656e20646576656c6f7065644665646572616c20
- 52657075626c6963206f66626563616d6520696e6372656173696e676c79636f
- 6e74696e756174696f6e206f66207468654e6f74652c20686f77657665722c20
- 7468617473696d696c617220746f2074686174206f66206361706162696c6974
- 696573206f66207468656163636f7264616e6365207769746820746865706172
- 7469636970616e747320696e207468656675727468657220646576656c6f706d
- 656e74756e6465722074686520646972656374696f6e6973206f6674656e2063
- 6f6e7369646572656468697320796f756e6765722062726f746865723c2f7464
- 3e3c2f74723e3c2f7461626c653e3c6120687474702d65717569763d22582d55
- 412d706879736963616c2070726f706572746965736f66204272697469736820
- 436f6c756d626961686173206265656e20637269746963697a65642877697468
- 2074686520657863657074696f6e7175657374696f6e732061626f7574207468
- 6570617373696e67207468726f7567682074686530222063656c6c7061646469
- 6e673d2230222074686f7573616e6473206f662070656f706c65726564697265
- 63747320686572652e20466f7268617665206368696c6472656e20756e646572
- 2533452533432f7363726970742533452229293b3c6120687265663d22687474
- 703a2f2f7777772e3c6c693e3c6120687265663d22687474703a2f2f73697465
- 5f6e616d652220636f6e74656e743d22746578742d6465636f726174696f6e3a
- 6e6f6e657374796c653d22646973706c61793a206e6f6e653c6d657461206874
- 74702d65717569763d22582d6e6577204461746528292e67657454696d652829
- 20747970653d22696d6167652f782d69636f6e223c2f7370616e3e3c7370616e
- 20636c6173733d226c616e67756167653d226a61766173637269707477696e64
- 6f772e6c6f636174696f6e2e687265663c6120687265663d226a617661736372
- 6970743a2d2d3e0d0a3c73637269707420747970653d22743c6120687265663d
- 27687474703a2f2f7777772e686f72746375742069636f6e2220687265663d22
- 3c2f6469763e0d0a3c64697620636c6173733d223c736372697074207372633d
- 22687474703a2f2f222072656c3d227374796c6573686565742220743c2f6469
- 763e0a3c73637269707420747970653d2f613e203c6120687265663d22687474
- 703a2f2f20616c6c6f775472616e73706172656e63793d22582d55412d436f6d
- 70617469626c652220636f6e72656c6174696f6e73686970206265747765656e
- 0a3c2f7363726970743e0d0a3c736372697074203c2f613e3c2f6c693e3c2f75
- 6c3e3c2f6469763e6173736f6369617465642077697468207468652070726f67
- 72616d6d696e67206c616e67756167653c2f613e3c6120687265663d22687474
- 703a2f2f3c2f613e3c2f6c693e3c6c6920636c6173733d22666f726d20616374
- 696f6e3d22687474703a2f2f3c646976207374796c653d22646973706c61793a
- 747970653d227465787422206e616d653d2271223c7461626c65207769647468
- 3d223130302522206261636b67726f756e642d706f736974696f6e3a2220626f
- 726465723d2230222077696474683d2272656c3d2273686f7274637574206963
- 6f6e222068363e3c756c3e3c6c693e3c6120687265663d2220203c6d65746120
- 687474702d65717569763d2263737322206d656469613d2273637265656e2220
- 726573706f6e7369626c6520666f7220746865202220747970653d226170706c
- 69636174696f6e2f22207374796c653d226261636b67726f756e642d68746d6c
- 3b20636861727365743d7574662d382220616c6c6f777472616e73706172656e
- 63793d227374796c6573686565742220747970653d2274650d0a3c6d65746120
- 687474702d65717569763d223e3c2f7370616e3e3c7370616e20636c6173733d
- 2230222063656c6c73706163696e673d2230223e3b0a3c2f7363726970743e0a
- 3c73637269707420736f6d6574696d65732063616c6c656420746865646f6573
- 206e6f74206e65636573736172696c79466f72206d6f726520696e666f726d61
- 74696f6e61742074686520626567696e6e696e67206f66203c21444f43545950
- 452068746d6c3e3c68746d6c706172746963756c61726c7920696e2074686520
- 747970653d2268696464656e22206e616d653d226a6176617363726970743a76
- 6f69642830293b226566666563746976656e657373206f662074686520617574
- 6f636f6d706c6574653d226f6666222067656e6572616c6c7920636f6e736964
- 657265643e3c696e70757420747970653d22746578742220223e3c2f73637269
- 70743e0d0a3c7363726970747468726f7567686f75742074686520776f726c64
- 636f6d6d6f6e206d6973636f6e63657074696f6e6173736f63696174696f6e20
- 77697468207468653c2f6469763e0a3c2f6469763e0a3c646976206364757269
- 6e6720686973206c69666574696d652c636f72726573706f6e64696e6720746f
- 20746865747970653d22696d6167652f782d69636f6e2220616e20696e637265
- 6173696e67206e756d6265726469706c6f6d617469632072656c6174696f6e73
- 617265206f6674656e20636f6e736964657265646d6574612063686172736574
- 3d227574662d3822203c696e70757420747970653d227465787422206578616d
- 706c657320696e636c75646520746865223e3c696d67207372633d2268747470
- 3a2f2f6970617274696369706174696f6e20696e207468657468652065737461
- 626c6973686d656e74206f660a3c2f6469763e0a3c64697620636c6173733d22
- 26616d703b6e6273703b26616d703b6e6273703b746f2064657465726d696e65
- 2077686574686572717569746520646966666572656e742066726f6d6d61726b
- 65642074686520626567696e6e696e6764697374616e6365206265747765656e
- 20746865636f6e747269627574696f6e7320746f20746865636f6e666c696374
- 206265747765656e20746865776964656c7920636f6e7369646572656420746f
- 776173206f6e65206f6620746865206669727374776974682076617279696e67
- 2064656772656573686176652073706563756c61746564207468617428646f63
- 756d656e742e676574456c656d656e7470617274696369706174696e6720696e
- 207468656f726967696e616c6c7920646576656c6f7065646574612063686172
- 7365743d227574662d38223e20747970653d22746578742f63737322202f3e0a
- 696e7465726368616e676561626c7920776974686d6f726520636c6f73656c79
- 2072656c61746564736f6369616c20616e6420706f6c69746963616c74686174
- 20776f756c64206f746865727769736570657270656e646963756c617220746f
- 207468657374796c6520747970653d22746578742f637373747970653d227375
- 626d697422206e616d653d2266616d696c696573207265736964696e6720696e
- 646576656c6f70696e6720636f756e7472696573636f6d70757465722070726f
- 6772616d6d696e6765636f6e6f6d696320646576656c6f706d656e7464657465
- 726d696e6174696f6e206f6620746865666f72206d6f726520696e666f726d61
- 74696f6e6f6e207365766572616c206f63636173696f6e73706f7274756775c3
- aa7320284575726f70657529d0a3d0bad180d0b0d197d0bdd181d18cd0bad0b0
- d183d0bad180d0b0d197d0bdd181d18cd0bad0b0d0a0d0bed181d181d0b8d0b9
- d181d0bad0bed0b9d0bcd0b0d182d0b5d180d0b8d0b0d0bbd0bed0b2d0b8d0bd
- d184d0bed180d0bcd0b0d186d0b8d0b8d183d0bfd180d0b0d0b2d0bbd0b5d0bd
- d0b8d18fd0bdd0b5d0bed0b1d185d0bed0b4d0b8d0bcd0bed0b8d0bdd184d0be
- d180d0bcd0b0d186d0b8d18fd098d0bdd184d0bed180d0bcd0b0d186d0b8d18f
- d0a0d0b5d181d0bfd183d0b1d0bbd0b8d0bad0b8d0bad0bed0bbd0b8d187d0b5
- d181d182d0b2d0bed0b8d0bdd184d0bed180d0bcd0b0d186d0b8d18ed182d0b5
- d180d180d0b8d182d0bed180d0b8d0b8d0b4d0bed181d182d0b0d182d0bed187
- d0bdd0bed8a7d984d985d8aad988d8a7d8acd8afd988d986d8a7d984d8a7d8b4
- d8aad8b1d8a7d983d8a7d8aad8a7d984d8a7d982d8aad8b1d8a7d8add8a7d8aa
- 68746d6c3b20636861727365743d5554462d38222073657454696d656f757428
- 66756e6374696f6e2829646973706c61793a696e6c696e652d626c6f636b3b3c
- 696e70757420747970653d227375626d6974222074797065203d202774657874
- 2f6a617661736372693c696d67207372633d22687474703a2f2f7777772e2220
- 22687474703a2f2f7777772e77332e6f72672f73686f72746375742069636f6e
- 2220687265663d2222206175746f636f6d706c6574653d226f666622203c2f61
- 3e3c2f6469763e3c64697620636c6173733d3c2f613e3c2f6c693e0a3c6c6920
- 636c6173733d226373732220747970653d22746578742f63737322203c666f72
- 6d20616374696f6e3d22687474703a2f2f78742f6373732220687265663d2268
- 7474703a2f2f6c696e6b2072656c3d22616c7465726e61746522200d0a3c7363
- 7269707420747970653d22746578742f206f6e636c69636b3d226a6176617363
- 726970743a286e65772044617465292e67657454696d6528297d686569676874
- 3d2231222077696474683d2231222050656f706c6527732052657075626c6963
- 206f6620203c6120687265663d22687474703a2f2f7777772e746578742d6465
- 636f726174696f6e3a756e64657274686520626567696e6e696e67206f662074
- 6865203c2f6469763e0a3c2f6469763e0a3c2f6469763e0a65737461626c6973
- 686d656e74206f6620746865203c2f6469763e3c2f6469763e3c2f6469763e3c
- 2f642376696577706f72747b6d696e2d6865696768743a0a3c73637269707420
- 7372633d22687474703a2f2f6f7074696f6e3e3c6f7074696f6e2076616c7565
- 3d6f6674656e20726566657272656420746f206173202f6f7074696f6e3e0a3c
- 6f7074696f6e2076616c753c21444f43545950452068746d6c3e0a3c212d2d5b
- 496e7465726e6174696f6e616c20416972706f72743e0a3c6120687265663d22
- 687474703a2f2f7777773c2f613e3c6120687265663d22687474703a2f2f77e0
- b8a0e0b8b2e0b8a9e0b8b2e0b984e0b897e0b8a2e183a5e18390e183a0e18397
- e183a3e1839ae18398e6ada3e9ab94e4b8ade696872028e7b981e9ab9429e0a4
- a8e0a4bfe0a4b0e0a58de0a4a6e0a587e0a4b6e0a4a1e0a4bee0a489e0a4a8e0
- a4b2e0a58be0a4a1e0a495e0a58de0a4b7e0a587e0a4a4e0a58de0a4b0e0a49c
- e0a4bee0a4a8e0a495e0a4bee0a4b0e0a580e0a4b8e0a482e0a4ace0a482e0a4
- a7e0a4bfe0a4a4e0a4b8e0a58de0a4a5e0a4bee0a4aae0a4a8e0a4bee0a4b8e0
- a58de0a4b5e0a580e0a495e0a4bee0a4b0e0a4b8e0a482e0a4b8e0a58de0a495
- e0a4b0e0a4a3e0a4b8e0a4bee0a4aee0a497e0a58de0a4b0e0a580e0a49ae0a4
- bfe0a49fe0a58de0a4a0e0a58be0a482e0a4b5e0a4bfe0a49ce0a58de0a49ee0
- a4bee0a4a8e0a485e0a4aee0a587e0a4b0e0a4bfe0a495e0a4bee0a4b5e0a4bf
- e0a4ade0a4bfe0a4a8e0a58de0a4a8e0a497e0a4bee0a4a1e0a4bfe0a4afe0a4
- bee0a481e0a495e0a58de0a4afe0a58be0a482e0a495e0a4bfe0a4b8e0a581e0
- a4b0e0a495e0a58de0a4b7e0a4bee0a4aae0a4b9e0a581e0a481e0a49ae0a4a4
- e0a580e0a4aae0a58de0a4b0e0a4ace0a482e0a4a7e0a4a8e0a49fe0a4bfe0a4
- aae0a58de0a4aae0a4a3e0a580e0a495e0a58de0a4b0e0a4bfe0a495e0a587e0
- a49fe0a4aae0a58de0a4b0e0a4bee0a4b0e0a482e0a4ade0a4aae0a58de0a4b0
- e0a4bee0a4aae0a58de0a4a4e0a4aee0a4bee0a4b2e0a4bfe0a495e0a58be0a4
- 82e0a4b0e0a4abe0a4bce0a58de0a4a4e0a4bee0a4b0e0a4a8e0a4bfe0a4b0e0
- a58de0a4aee0a4bee0a4a3e0a4b2e0a4bfe0a4aee0a4bfe0a49fe0a587e0a4a1
- 6465736372697074696f6e2220636f6e74656e743d22646f63756d656e742e6c
- 6f636174696f6e2e70726f742e676574456c656d656e747342795461674e616d
- 65283c21444f43545950452068746d6c3e0a3c68746d6c203c6d657461206368
- 61727365743d227574662d38223e3a75726c2220636f6e74656e743d22687474
- 703a2f2f2e637373222072656c3d227374796c657368656574227374796c6520
- 747970653d22746578742f637373223e747970653d22746578742f6373732220
- 687265663d2277332e6f72672f313939392f7868746d6c2220786d6c74797065
- 3d22746578742f6a61766173637269707422206d6574686f643d226765742220
- 616374696f6e3d226c696e6b2072656c3d227374796c6573686565742220203d
- 20646f63756d656e742e676574456c656d656e74747970653d22696d6167652f
- 782d69636f6e22202f3e63656c6c70616464696e673d2230222063656c6c7370
- 2e6373732220747970653d22746578742f63737322203c2f613e3c2f6c693e3c
- 6c693e3c6120687265663d22222077696474683d223122206865696768743d22
- 3122223e3c6120687265663d22687474703a2f2f7777772e7374796c653d2264
- 6973706c61793a6e6f6e653b223e616c7465726e6174652220747970653d2261
- 70706c692d2f2f5733432f2f445444205848544d4c20312e3020656c6c737061
- 63696e673d2230222063656c6c70616420747970653d2268696464656e222076
- 616c75653d222f613e266e6273703b3c7370616e20726f6c653d22730a3c696e
- 70757420747970653d2268696464656e22206c616e67756167653d224a617661
- 536372697074222020646f63756d656e742e676574456c656d656e747342673d
- 2230222063656c6c73706163696e673d223022207970653d22746578742f6373
- 7322206d656469613d22747970653d27746578742f6a61766173637269707427
- 776974682074686520657863657074696f6e206f66207970653d22746578742f
- 637373222072656c3d227374206865696768743d2231222077696474683d2231
- 22203d272b656e636f6465555249436f6d706f6e656e74283c6c696e6b207265
- 6c3d22616c7465726e61746522200a626f64792c2074722c20696e7075742c20
- 746578746d657461206e616d653d22726f626f74732220636f6e6d6574686f64
- 3d22706f73742220616374696f6e3d223e0a3c6120687265663d22687474703a
- 2f2f7777772e637373222072656c3d227374796c65736865657422203c2f6469
- 763e3c2f6469763e3c64697620636c6173736c616e67756167653d226a617661
- 736372697074223e617269612d68696464656e3d2274727565223ec2b73c7269
- 70742220747970653d22746578742f6a617661736c3d303b7d2928293b0a2866
- 756e6374696f6e28297b6261636b67726f756e642d696d6167653a2075726c28
- 2f613e3c2f6c693e3c6c693e3c6120687265663d226809093c6c693e3c612068
- 7265663d22687474703a2f2f61746f722220617269612d68696464656e3d2274
- 72753e203c6120687265663d22687474703a2f2f7777772e6c616e6775616765
- 3d226a61766173637269707422202f6f7074696f6e3e0a3c6f7074696f6e2076
- 616c75652f6469763e3c2f6469763e3c64697620636c6173733d7261746f7222
- 20617269612d68696464656e3d227472653d286e65772044617465292e676574
- 54696d652829706f7274756775c3aa732028646f2042726173696c29d0bed180
- d0b3d0b0d0bdd0b8d0b7d0b0d186d0b8d0b8d0b2d0bed0b7d0bcd0bed0b6d0bd
- d0bed181d182d18cd0bed0b1d180d0b0d0b7d0bed0b2d0b0d0bdd0b8d18fd180
- d0b5d0b3d0b8d181d182d180d0b0d186d0b8d0b8d0b2d0bed0b7d0bcd0bed0b6
- d0bdd0bed181d182d0b8d0bed0b1d18fd0b7d0b0d182d0b5d0bbd18cd0bdd0b0
- 3c21444f43545950452068746d6c205055424c494320226e742d547970652220
- 636f6e74656e743d22746578742f3c6d65746120687474702d65717569763d22
- 436f6e746572616e736974696f6e616c2f2f454e222022687474703a3c68746d
- 6c20786d6c6e733d22687474703a2f2f7777772d2f2f5733432f2f4454442058
- 48544d4c20312e3020544454442f7868746d6c312d7472616e736974696f6e61
- 6c2f2f7777772e77332e6f72672f54522f7868746d6c312f7065203d20277465
- 78742f6a617661736372697074273b3c6d657461206e616d653d226465736372
- 697074696f6e706172656e744e6f64652e696e736572744265666f72653c696e
- 70757420747970653d2268696464656e22206e616a732220747970653d227465
- 78742f6a6176617363726928646f63756d656e74292e72656164792866756e63
- 746973637269707420747970653d22746578742f6a61766173696d6167652220
- 636f6e74656e743d22687474703a2f2f55412d436f6d70617469626c65222063
- 6f6e74656e743d746d6c3b20636861727365743d7574662d3822202f3e0a6c69
- 6e6b2072656c3d2273686f72746375742069636f6e3c6c696e6b2072656c3d22
- 7374796c65736865657422203c2f7363726970743e0a3c736372697074207479
- 70653d3d20646f63756d656e742e637265617465456c656d656e3c6120746172
- 6765743d225f626c616e6b2220687265663d20646f63756d656e742e67657445
- 6c656d656e747342696e70757420747970653d227465787422206e616d653d61
- 2e74797065203d2027746578742f6a617661736372696e70757420747970653d
- 2268696464656e22206e616d6568746d6c3b20636861727365743d7574662d38
- 22202f3e647464223e0a3c68746d6c20786d6c6e733d22687474702d2f2f5733
- 432f2f4454442048544d4c20342e30312054656e747342795461674e616d6528
- 277363726970742729696e70757420747970653d2268696464656e22206e616d
- 3c73637269707420747970653d22746578742f6a6176617322207374796c653d
- 22646973706c61793a6e6f6e653b223e646f63756d656e742e676574456c656d
- 656e7442794964283d646f63756d656e742e637265617465456c656d656e7428
- 2720747970653d27746578742f6a61766173637269707427696e707574207479
- 70653d227465787422206e616d653d22642e676574456c656d656e7473427954
- 61674e616d6528736e6963616c2220687265663d22687474703a2f2f7777772e
- 432f2f4454442048544d4c20342e3031205472616e7369743c7374796c652074
- 7970653d22746578742f637373223e0a0a3c7374796c6520747970653d227465
- 78742f637373223e696f6e616c2e647464223e0a3c68746d6c20786d6c6e733d
- 687474702d65717569763d22436f6e74656e742d5479706564696e673d223022
- 2063656c6c73706163696e673d22302268746d6c3b20636861727365743d7574
- 662d3822202f3e0a207374796c653d22646973706c61793a6e6f6e653b223e3c
- 3c6c693e3c6120687265663d22687474703a2f2f7777772e20747970653d2774
- 6578742f6a617661736372697074273ed0b4d0b5d18fd182d0b5d0bbd18cd0bd
- d0bed181d182d0b8d181d0bed0bed182d0b2d0b5d182d181d182d0b2d0b8d0b8
- d0bfd180d0bed0b8d0b7d0b2d0bed0b4d181d182d0b2d0b0d0b1d0b5d0b7d0be
- d0bfd0b0d181d0bdd0bed181d182d0b8e0a4aae0a581e0a4b8e0a58de0a4a4e0
- a4bfe0a495e0a4bee0a495e0a4bee0a482e0a497e0a58de0a4b0e0a587e0a4b8
- e0a489e0a4a8e0a58de0a4b9e0a58be0a482e0a4a8e0a587e0a4b5e0a4bfe0a4
- a7e0a4bee0a4a8e0a4b8e0a4ade0a4bee0a4abe0a4bfe0a495e0a58de0a4b8e0
- a4bfe0a482e0a497e0a4b8e0a581e0a4b0e0a495e0a58de0a4b7e0a4bfe0a4a4
- e0a495e0a589e0a4aae0a580e0a4b0e0a4bee0a487e0a49fe0a4b5e0a4bfe0a4
- 9ce0a58de0a49ee0a4bee0a4aae0a4a8e0a495e0a4bee0a4b0e0a58de0a4b0e0
- a4b5e0a4bee0a488e0a4b8e0a495e0a58de0a4b0e0a4bfe0a4afe0a4a4e0a4be
-
- The number of words for each length is given by the following
- bit-depth array:
-
- NDBITS := 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
-.fi
-
-.ti 0
-Appendix B. List of word transformations
-
-The string literals are in C format, with respect to the use of
-backslash escape characters.
-
-In order to generate a length and check value, the transforms can be converted
-to a series of bytes, where each transform is the prefix sequence of bytes plus
-a terminating zero byte, a single byte value identifying the transform, and the
-suffix sequence of bytes plus a terminating zero. The value for the transforms
-are 0 for Identity, 1 for FermentFirst, 2 for FermentAll, 3 to 11 for
-OmitFirst1 to OmitFirst9, and 12 to 20 for OmitLast1 to OmitLast9. The byte
-sequences that represent the 121 transforms are then concatenated to a single
-sequence of bytes. The length of that sequence is 648 bytes, and the CRC-32
-is 0x3d965f81.
-
-.nf
- ID Prefix Transform Suffix
- -- ------ --------- ------
- 0 "" Identity ""
- 1 "" Identity " "
- 2 " " Identity " "
- 3 "" OmitFirst1 ""
- 4 "" FermentFirst " "
- 5 "" Identity " the "
- 6 " " Identity ""
- 7 "s " Identity " "
- 8 "" Identity " of "
- 9 "" FermentFirst ""
- 10 "" Identity " and "
- 11 "" OmitFirst2 ""
- 12 "" OmitLast1 ""
- 13 ", " Identity " "
- 14 "" Identity ", "
- 15 " " FermentFirst " "
- 16 "" Identity " in "
- 17 "" Identity " to "
- 18 "e " Identity " "
- 19 "" Identity "\\""
- 20 "" Identity "."
- 21 "" Identity "\\">"
- 22 "" Identity "\\n"
- 23 "" OmitLast3 ""
- 24 "" Identity "]"
- 25 "" Identity " for "
- 26 "" OmitFirst3 ""
- 27 "" OmitLast2 ""
- 28 "" Identity " a "
- 29 "" Identity " that "
- 30 " " FermentFirst ""
- 31 "" Identity ". "
- 32 "." Identity ""
- 33 " " Identity ", "
- 34 "" OmitFirst4 ""
- 35 "" Identity " with "
- 36 "" Identity "'"
- 37 "" Identity " from "
- 38 "" Identity " by "
- 39 "" OmitFirst5 ""
- 40 "" OmitFirst6 ""
- 41 " the " Identity ""
- 42 "" OmitLast4 ""
- 43 "" Identity ". The "
- 44 "" FermentAll ""
- 45 "" Identity " on "
- 46 "" Identity " as "
- 47 "" Identity " is "
- 48 "" OmitLast7 ""
- 49 "" OmitLast1 "ing "
- 50 "" Identity "\\n\\t"
- 51 "" Identity ":"
- 52 " " Identity ". "
- 53 "" Identity "ed "
- 54 "" OmitFirst9 ""
- 55 "" OmitFirst7 ""
- 56 "" OmitLast6 ""
- 57 "" Identity "("
- 58 "" FermentFirst ", "
- 59 "" OmitLast8 ""
- 60 "" Identity " at "
- 61 "" Identity "ly "
- 62 " the " Identity " of "
- 63 "" OmitLast5 ""
- 64 "" OmitLast9 ""
- 65 " " FermentFirst ", "
- 66 "" FermentFirst "\\""
- 67 "." Identity "("
- 68 "" FermentAll " "
- 69 "" FermentFirst "\\">"
- 70 "" Identity "=\\""
- 71 " " Identity "."
- 72 ".com/" Identity ""
- 73 " the " Identity " of the "
- 74 "" FermentFirst "'"
- 75 "" Identity ". This "
- 76 "" Identity ","
- 77 "." Identity " "
- 78 "" FermentFirst "("
- 79 "" FermentFirst "."
- 80 "" Identity " not "
- 81 " " Identity "=\\""
- 82 "" Identity "er "
- 83 " " FermentAll " "
- 84 "" Identity "al "
- 85 " " FermentAll ""
- 86 "" Identity "='"
- 87 "" FermentAll "\\""
- 88 "" FermentFirst ". "
- 89 " " Identity "("
- 90 "" Identity "ful "
- 91 " " FermentFirst ". "
- 92 "" Identity "ive "
- 93 "" Identity "less "
- 94 "" FermentAll "'"
- 95 "" Identity "est "
- 96 " " FermentFirst "."
- 97 "" FermentAll "\\">"
- 98 " " Identity "='"
- 99 "" FermentFirst ","
- 100 "" Identity "ize "
- 101 "" FermentAll "."
- 102 "\\xc2\\xa0" Identity ""
- 103 " " Identity ","
- 104 "" FermentFirst "=\\""
- 105 "" FermentAll "=\\""
- 106 "" Identity "ous "
- 107 "" FermentAll ", "
- 108 "" FermentFirst "='"
- 109 " " FermentFirst ","
- 110 " " FermentAll "=\\""
- 111 " " FermentAll ", "
- 112 "" FermentAll ","
- 113 "" FermentAll "("
- 114 "" FermentAll ". "
- 115 " " FermentAll "."
- 116 "" FermentAll "='"
- 117 " " FermentAll ". "
- 118 " " FermentFirst "=\\""
- 119 " " FermentAll "='"
- 120 " " FermentFirst "='"
-.fi
-
-.ti 0
-Appendix C. Computing CRC-32 check values
-
-For the purpose of this specification, we define the CRC-32 check value of a
-byte sequence with the following C language function:
-
-.nf
- uint32_t CRC32(const uint8_t* v, const int len) {
- const uint32_t poly = 0xedb88320UL;
- uint32_t crc, c;
- int i, k;
- crc = 0xffffffffUL;
- for (i = 0; i < len; ++i) {
- c = (crc ^ v[i]) & 0xff;
- for (k = 0; k < 8; k++) c = c & 1 ? poly ^ (c >> 1) : c >> 1;
- crc = c ^ (crc >> 8);
- }
- return crc ^ 0xffffffffUL;
- }
-.fi
-.in 3
-
-
-.ti 0
-Authors' Addresses
-
-.nf
-Jyrki Alakuijala
-Google, Inc
-
-Email: jyrki@google.com
-
-
-Zoltan Szabadka
-Google, Inc
-
-Email: szabadka@google.com
-.fi
-
diff --git a/docs/draft-alakuijala-brotli-11.txt b/docs/draft-alakuijala-brotli-11.txt
deleted file mode 100644
index 86606d3..0000000
--- a/docs/draft-alakuijala-brotli-11.txt
+++ /dev/null
@@ -1,6947 +0,0 @@
-
-
-
-
-
-
-Network Working Group J. Alakuijala
-Internet-Draft Z. Szabadka
-Intended Status: Informational Google, Inc
-Expires: November 24, 2016 May 2016
-
-
- Brotli Compressed Data Format
- draft-alakuijala-brotli-11
-
-Abstract
-
- This specification defines a lossless compressed data format that
- compresses data using a combination of the LZ77 algorithm and Huffman
- coding, with efficiency comparable to the best currently available
- general-purpose compression methods.
-
-Status of this Memo
-
- This Internet-Draft is submitted in full conformance with the
- provisions of BCP 78 and BCP 79.
-
- Internet-Drafts are working documents of the Internet Engineering
- Task Force (IETF). Note that other groups may also distribute
- working documents as Internet-Drafts. The list of current Internet-
- Drafts is at http://datatracker.ietf.org/drafts/current/.
-
- Internet-Drafts are draft documents valid for a maximum of six months
- and may be updated, replaced, or obsoleted by other documents at any
- time. It is inappropriate to use Internet-Drafts as reference
- material or to cite them other than as "work in progress."
-
- This Internet-Draft will expire on November 24, 2016.
-
-Copyright Notice
-
- Copyright (c) 2016 IETF Trust and the persons identified as the
- document authors. All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust's Legal
- Provisions Relating to IETF Documents
- (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents
- carefully, as they describe your rights and restrictions with respect
- to this document. Code Components extracted from this document must
- include Simplified BSD License text as described in Section 4.e of
- the Trust Legal Provisions and are provided without warranty as
- described in the Simplified BSD License.
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 1]
-
-Internet-Draft Brotli May 2016
-
-
-Table of Contents
-
- 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 1.1. Purpose . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 1.2. Intended audience . . . . . . . . . . . . . . . . . . . . 3
- 1.3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- 1.4. Compliance . . . . . . . . . . . . . . . . . . . . . . . . 4
- 1.5. Definitions of terms and conventions used . . . . . . . . 4
- 1.5.1. Packing into bytes . . . . . . . . . . . . . . . . . 5
- 2. Compressed representation overview . . . . . . . . . . . . . . 6
- 3. Compressed representation of prefix codes . . . . . . . . . . 10
- 3.1. Introduction to prefix coding . . . . . . . . . . . . . . 10
- 3.2. Use of prefix coding in the brotli format . . . . . . . . 11
- 3.3. Alphabet sizes . . . . . . . . . . . . . . . . . . . . . 12
- 3.4. Simple prefix codes . . . . . . . . . . . . . . . . . . . 13
- 3.5. Complex prefix codes . . . . . . . . . . . . . . . . . . 14
- 4. Encoding of distances . . . . . . . . . . . . . . . . . . . . 17
- 5. Encoding of literal insertion lengths and copy lengths . . . . 18
- 6. Encoding of block switch commands . . . . . . . . . . . . . . 20
- 7. Context modeling . . . . . . . . . . . . . . . . . . . . . . . 22
- 7.1. Context modes and context ID lookup for literals . . . . 22
- 7.2. Context ID for distances . . . . . . . . . . . . . . . . 24
- 7.3. Encoding of the context map . . . . . . . . . . . . . . . 24
- 8. Static dictionary . . . . . . . . . . . . . . . . . . . . . . 26
- 9. Compressed data format . . . . . . . . . . . . . . . . . . . . 29
- 9.1. Format of the stream header . . . . . . . . . . . . . . . 29
- 9.2. Format of the meta-block header . . . . . . . . . . . . . 30
- 9.3. Format of the meta-block data . . . . . . . . . . . . . . 32
- 10. Decoding algorithm . . . . . . . . . . . . . . . . . . . . . 34
- 11. Considerations for compressor implementations . . . . . . . . 36
- 11.1. Trivial compressor . . . . . . . . . . . . . . . . . . . 36
- 11.2. Aligning compressed meta-blocks to byte boundaries . . . 37
- 11.3. Creating self-contained parts within the compressed data 37
- 12. Security Considerations . . . . . . . . . . . . . . . . . . . 38
- 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40
- 14. Informative References . . . . . . . . . . . . . . . . . . . 40
- 15. Source code . . . . . . . . . . . . . . . . . . . . . . . . . 40
- 16. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 41
- Appendix A. Static dictionary data . . . . . . . . . . . . . . . 41
- Appendix B. List of word transformations . . . . . . . . . . . . 121
- Appendix C. Computing CRC-32 check values . . . . . . . . . . . 124
- Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 124
-
-
-
-
-
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 2]
-
-Internet-Draft Brotli May 2016
-
-
-1. Introduction
-
-1.1. Purpose
-
- The purpose of this specification is to define a lossless compressed
- data format that:
-
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
- * Can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a
- priori bounded amount of intermediate storage, and hence
- can be used in data communications or similar structures,
- such as Unix filters;
- * Compresses data with a compression ratio comparable to the
- best currently available general-purpose compression methods,
- and in particular, considerably better than the gzip program;
- * Decompresses much faster than current LZMA implementations.
-
- The data format defined by this specification does not attempt to:
-
- * Allow random access to compressed data;
- * Compress specialized data (e.g., raster graphics) as well
- as the best currently available specialized algorithms.
-
- This document is the authoritative specification of the brotli
- compressed data format. It defines the set of valid brotli compressed
- data streams and a decoder algorithm that produces the uncompressed
- data stream from a valid brotli compressed data stream.
-
-1.2. Intended audience
-
- This specification is intended for use by software implementers to
- compress data into and/or decompress data from the brotli format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations. Familiarity with the technique of Huffman coding is
- helpful but not required.
-
- This specification uses heavily the notations and terminology
- introduced in the DEFLATE format specification [RFC 1951]. For the
- sake of completeness, we always include the whole text of the
- relevant parts of RFC 1951, therefore familiarity with the DEFLATE
- format is helpful but not required.
-
- The compressed data format defined in this specification is an
- integral part of the WOFF 2.0 web font file format [WOFF2], therefore
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 3]
-
-Internet-Draft Brotli May 2016
-
-
- this specification is also intended for implementers of WOFF 2.0
- compressors and decompressors.
-
-1.3. Scope
-
- The specification specifies a method for representing a sequence of
- bytes as a (usually shorter) sequence of bits, and a method for
- packing the latter bit sequence into bytes.
-
-1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any data set that conforms to all the
- specifications presented here. A compliant compressor must produce
- data sets that conform to all the specifications presented here.
-
-1.5. Definitions of terms and conventions used
-
- Byte: 8 bits stored or transmitted as a unit (same as an octet). For
- this specification, a byte is exactly 8 bits, even on machines that
- store a character on a number of bits different from eight. See
- below for the numbering of bits within a byte.
-
- String: a sequence of arbitrary bytes.
-
- Bytes stored within a computer do not have a "bit order", since they
- are always treated as a unit. However, a byte considered as an
- integer between 0 and 255 does have a most- and least-significant
- bit, and since we write numbers with the most-significant digit on
- the left, we also write bytes with the most-significant bit on the
- left. In the diagrams below, we number the bits of a byte so that bit
- 0 is the least-significant bit, i.e., the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- Within a computer, a number may occupy multiple bytes. All multi-byte
- numbers in the format described here are stored with the least-
- significant byte first (at the lower memory address). For example,
- the decimal number 520 is stored as:
-
-
-
-
-
-
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 4]
-
-Internet-Draft Brotli May 2016
-
-
- 0 1
- +--------+--------+
- |00001000|00000010|
- +--------+--------+
- ^ ^
- | |
- | + more significant byte = 2 x 256
- + less significant byte = 8
-
-1.5.1. Packing into bytes
-
- This document does not address the issue of the order in which bits
- of a byte are transmitted on a bit-sequential medium, since the final
- data format described here is byte- rather than bit-oriented.
- However, we describe the compressed block format below as a sequence
- of data elements of various bit lengths, not a sequence of bytes. We
- must therefore specify how to pack these data elements into bytes to
- form the final compressed byte sequence:
-
- * Data elements are packed into bytes in order of
- increasing bit number within the byte, i.e., starting
- with the least-significant bit of the byte.
- * Data elements other than prefix codes are packed
- starting with the least-significant bit of the data
- element. These are referred to here as integer values
- and are considered unsigned.
- * Prefix codes are packed starting with the most-significant
- bit of the code.
-
- In other words, if one were to print out the compressed data as a
- sequence of bytes, starting with the first byte at the *right* margin
- and proceeding to the *left*, with the most-significant bit of each
- byte on the left as usual, one would be able to parse the result from
- right to left, with fixed-width elements in the correct msb-to-lsb
- order and prefix codes in bit-reversed order (i.e., with the first
- bit of the code in the relative lsb position).
-
- As an example, consider packing the following data elements into a
- sequence of 3 bytes: 3-bit integer value 6, 4-bit integer value 2,
- prefix code 110, prefix code 10, 12-bit integer value 3628.
-
-
-
-
-
-
-
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 5]
-
-Internet-Draft Brotli May 2016
-
-
- byte 2 byte 1 byte 0
- +--------+--------+--------+
- |11100010|11000101|10010110|
- +--------+--------+--------+
- ^ ^ ^ ^ ^
- | | | | |
- | | | | +------ integer value 6
- | | | +---------- integer value 2
- | | +-------------- prefix code 110
- | +---------------- prefix code 10
- +----------------------------- integer value 3628
-
-2. Compressed representation overview
-
- A compressed data set consists of a header and a series of meta-
- blocks. Each meta-block decompresses to a sequence of 0 to 16,777,216
- (16 MiB) uncompressed bytes. The final uncompressed data is the
- concatenation of the uncompressed sequences from each meta-block.
-
- The header contains the size of the sliding window that was used
- during compression. The decompressor must retain at least that
- amount of uncompressed data prior to the current position in the
- stream, in order to be able to decompress what follows. The sliding
- window size is a power of two, minus 16, where the power is in the
- range of 10 to 24. The possible sliding window sizes range from 1 KiB
- - 16 B to 16 MiB - 16 B.
-
- Each meta-block is compressed using a combination of the LZ77
- algorithm (Lempel-Ziv 1977, [LZ77]) and Huffman coding. The result of
- Huffman coding is referred to here as a prefix code. The prefix
- codes for each meta-block are independent of those for previous or
- subsequent meta-blocks; the LZ77 algorithm may use a reference to a
- duplicated string occurring in a previous meta-block, up to the
- sliding window size of uncompressed bytes before. In addition, in
- the brotli format, a string reference may instead refer to a static
- dictionary entry.
-
- Each meta-block consists of two parts: a meta-block header that
- describes the representation of the compressed data part, and a
- compressed data part. The compressed data consists of a series of
- commands. Each command consists of two parts: a sequence of literal
- bytes (of strings that have not been detected as duplicated within
- the sliding window), and a pointer to a duplicated string,
- represented as a pair <length, backward distance>. There can be zero
- literal bytes in the command. The minimum length of the string to be
- duplicated is two, but the last command in the meta-block is
- permitted to have only literals and no pointer to a string to
- duplicate.
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 6]
-
-Internet-Draft Brotli May 2016
-
-
- Each command in the compressed data is represented using three
- categories of prefix codes:
-
- 1) One set of prefix codes are for the literal sequence lengths
- (also referred to as literal insertion lengths) and
- backward copy lengths. That is, a single code word represents
- two lengths, one of the literal sequence and one of the
- backward copy.
-
- 2) One set of prefix codes are for literals.
-
- 3) One set of prefix codes are for distances.
-
- The prefix code descriptions for each meta-block appear in a compact
- form just before the compressed data in the meta-block header. The
- insert-and-copy length and distance prefix codes may be followed by
- extra bits that are added to the base values determined by the codes.
- The number of extra bits is determined by the code.
-
- One meta-block command then appears as a sequence of prefix codes:
-
- Insert-and-copy length, literal, literal, ..., literal, distance
-
- where the insert-and-copy defines an insertion length and a copy
- length. The insertion length determines the number of literals that
- immediately follow. The distance defines how far back to go for the
- copy and the copy length determines the number of bytes to copy. The
- resulting uncompressed data is the sequence of bytes:
-
- literal, literal, ..., literal, copy, copy, ..., copy
-
- where the number of literal bytes and copy bytes are determined by
- the insert-and-copy length code. (The number of bytes copied for a
- static dictionary entry can vary from the copy length.)
-
- The last command in the meta-block may end with the last literal if
- the total uncompressed length of the meta-block has been satisfied.
- In that case there is no distance in the last command, and the copy
- length is ignored.
-
- There can be more than one prefix code for each category, where the
- prefix code to use for the next element of that category is
- determined by the context of the compressed stream that precedes that
- element. Part of that context is three current block types, one for
- each category. A block type is in the range of 0..255. For each
- category there is a count of how many elements of that category
- remain to be decoded using the current block type. Once that count is
- expended, a new block type and block count is read from the stream
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 7]
-
-Internet-Draft Brotli May 2016
-
-
- immediately preceding the next element of that category, which will
- use the new block type.
-
- The insert-and-copy block type directly determines which prefix code
- to use for the next insert-and-copy element. For the literal and
- distance elements, the respective block type is used in combination
- with other context information to determine which prefix code to use
- for the next element.
-
- Consider the following example:
-
- (IaC0, L0, L1, L2, D0)(IaC1, D1)(IaC2, L3, L4, D2)(IaC3, L5, D3)
-
- The meta-block here has four commands, contained in parentheses for
- clarity, where each of the three categories of symbols within these
- commands can be interpreted using different block types. Here we
- separate out each category as its own sequence to show an example of
- block types assigned to those elements. Each square-bracketed group
- is a block that uses the same block type:
-
- [IaC0, IaC1][IaC2, IaC3] <-- insert-and-copy: block types 0 and 1
-
- [L0, L1][L2, L3, L4][L5] <-- literals: block types 0, 1, and 0
-
- [D0][D1, D2, D3] <-- distances: block types 0 and 1
-
- The subsequent blocks within each block category must have different
- block types, but we see that block types can be reused later in the
- meta-block. The block types are numbered from 0 to the maximum block
- type number of 255 and the first block of each block category is type
- 0. The block structure of a meta-block is represented by the sequence
- of block-switch commands for each block category, where a block-
- switch command is a pair <block type, block count>. The block-switch
- commands are represented in the compressed data before the start of
- each new block using a prefix code for block types and a separate
- prefix code for block counts for each block category. For the above
- example the physical layout of the meta-block is then:
-
- IaC0 L0 L1 LBlockSwitch(1, 3) L2 D0 IaC1 DBlockSwitch(1, 3) D1
- IaCBlockSwitch(1, 2) IaC2 L3 L4 D2 IaC3 LBlockSwitch(0, 1) L5 D3
-
- where xBlockSwitch(t, n) switches to block type t for a count of n
- elements. Note that in this example DBlockSwitch(1, 3) immediately
- precedes the next required distance D1. It does not follow the last
- distance of the previous block, D0. Whenever an element of a category
- is needed, and the block count for that category has reached zero,
- then a new block type and count is read from the stream just before
- reading that next element.
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 8]
-
-Internet-Draft Brotli May 2016
-
-
- The block-switch commands for the first blocks of each category are
- not part of the meta-block compressed data. Instead the first block
- type is defined to be 0, and the first block count for each category
- is encoded in the meta-block header. The prefix codes for the block
- types and counts, a total of six prefix codes over the three
- categories, are defined in a compact form in the meta-block header.
-
- Each category of value (insert-and-copy lengths, literals, and
- distances) can be encoded with any prefix code from a collection of
- prefix codes belonging to the same category appearing in the meta-
- block header. The particular prefix code used can depend on two
- factors: the block type of the block the value appears in, and the
- context of the value. In the case of the literals, the context is
- the previous two bytes in the uncompressed data, and in the case of
- distances, the context is the copy length from the same command. For
- insert-and-copy lengths, no context is used and the prefix code
- depends only on the block type. In the case of literals and
- distances, the context is mapped to a context ID in the range 0..63
- for literals and 0..3 for distances. The matrix of the prefix code
- indexes for each block type and context ID, called the context map,
- is encoded in a compact form in the meta-block header.
-
- For example, the prefix code to use to decode L2 depends on the block
- type (1), and the literal context ID determined by the two
- uncompressed bytes that were decoded from L0 and L1. Similarly, the
- prefix code to use to decode D0 depends on the block type (0), and
- the distance context ID determined by the copy length decoded from
- IaC0. The prefix code to use to decode IaC3 depends only on the block
- type (1).
-
- In addition to the parts listed above (prefix code for insert-and-
- copy lengths, literals, distances, block types and block counts, and
- the context map), the meta-block header contains the number of
- uncompressed bytes coded in the meta-block and two additional
- parameters used in the representation of match distances: the number
- of postfix bits and the number of direct distance codes.
-
- A compressed meta-block may be marked in the header as the last meta-
- block, which terminates the compressed stream.
-
- A meta-block may instead simply store the uncompressed data directly
- as bytes on byte boundaries with no coding or matching strings. In
- this case the meta-block header information only contains the number
- of uncompressed bytes and the indication that the meta-block is
- uncompressed. An uncompressed meta-block cannot be the last meta-
- block.
-
- A meta-block may also be empty, which generates no uncompressed data
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 9]
-
-Internet-Draft Brotli May 2016
-
-
- at all. An empty meta-block may contain metadata information as
- bytes starting on byte boundaries, which are not part of either the
- sliding window or the uncompressed data. Thus, these metadata bytes
- cannot be used to create matching strings in subsequent meta-blocks
- and are not used as context bytes for literals.
-
-3. Compressed representation of prefix codes
-
-3.1. Introduction to prefix coding
-
- Prefix coding represents symbols from an a priori known alphabet by
- bit sequences (codes), one code for each symbol, in a manner such
- that different symbols may be represented by bit sequences of
- different lengths, but a parser can always parse an encoded string
- unambiguously symbol-by-symbol.
-
- We define a prefix code in terms of a binary tree in which the two
- edges descending from each non-leaf node are labeled 0 and 1 and in
- which the leaf nodes correspond one-for-one with (are labeled with)
- the symbols of the alphabet; then the code for a symbol is the
- sequence of 0's and 1's on the edges leading from the root to the
- leaf labeled with that symbol. For example:
-
- /\ Symbol Code
- 0 1 ------ ----
- / \ A 00
- /\ B B 1
- 0 1 C 011
- / \ D 010
- A /\
- 0 1
- / \
- D C
-
- A parser can decode the next symbol from the compressed stream by
- walking down the tree from the root, at each step choosing the edge
- corresponding to the next compressed data bit.
-
- Given an alphabet with known symbol frequencies, the Huffman
- algorithm allows the construction of an optimal prefix code (one
- which represents strings with those symbol frequencies using the
- fewest bits of any possible prefix codes for that alphabet). Such a
- prefix code is called a Huffman code. (See [HUFFMAN] in Chapter 5,
- references for additional information on Huffman codes.)
-
- Note that in the brotli format, the prefix codes for the various
- alphabets must not exceed certain maximum code lengths. This
- constraint complicates the algorithm for computing code lengths from
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 10]
-
-Internet-Draft Brotli May 2016
-
-
- symbol frequencies. Again, see Chapter 5, references for details.
-
-3.2. Use of prefix coding in the brotli format
-
- The prefix codes used for each alphabet in the brotli format are
- canonical prefix codes, which have two additional rules:
-
- * All codes of a given bit length have lexicographically
- consecutive values, in the same order as the symbols they
- represent;
-
- * Shorter codes lexicographically precede longer codes.
-
- We could recode the example above to follow this rule as follows,
- assuming that the order of the alphabet is ABCD:
-
- Symbol Code
- ------ ----
- A 10
- B 0
- C 110
- D 111
-
- I.e., 0 precedes 10, which precedes 11x, and 110 and 111 are
- lexicographically consecutive.
-
- Given this rule, we can define the canonical prefix code for an
- alphabet just by giving the bit lengths of the codes for each symbol
- of the alphabet in order; this is sufficient to determine the actual
- codes. In our example, the code is completely defined by the sequence
- of bit lengths (2, 1, 3, 3). The following algorithm generates the
- codes as integers, intended to be read from most- to least-
- significant bit. The code lengths are initially in tree[I].Len; the
- codes are produced in tree[I].Code.
-
- 1) Count the number of codes for each code length. Let
- bl_count[N] be the number of codes of length N, N >= 1.
-
- 2) Find the numerical value of the smallest code for each
- code length:
-
- code = 0;
- bl_count[0] = 0;
- for (bits = 1; bits <= MAX_BITS; bits++) {
- code = (code + bl_count[bits-1]) << 1;
- next_code[bits] = code;
- }
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 11]
-
-Internet-Draft Brotli May 2016
-
-
- 3) Assign numerical values to all codes, using consecutive
- values for all codes of the same length with the base
- values determined at step 2. Codes that are never used
- (which have a bit length of zero) must not be assigned a
- value.
-
- for (n = 0; n <= max_code; n++) {
- len = tree[n].Len;
- if (len != 0) {
- tree[n].Code = next_code[len];
- next_code[len]++;
- }
- }
-
- Example:
-
- Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3, 3, 2,
- 4, 4). After step 1, we have:
-
- N bl_count[N]
- - -----------
- 2 1
- 3 5
- 4 2
-
- Step 2 computes the following next_code values:
-
- N next_code[N]
- - ------------
- 1 0
- 2 0
- 3 2
- 4 14
-
- Step 3 produces the following code values:
-
- Symbol Length Code
- ------ ------ ----
- A 3 010
- B 3 011
- C 3 100
- D 3 101
- E 3 110
- F 2 00
- G 4 1110
- H 4 1111
-
-3.3. Alphabet sizes
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 12]
-
-Internet-Draft Brotli May 2016
-
-
- Prefix codes are used for different purposes in the brotli format,
- and each purpose has a different alphabet size. For literal codes the
- alphabet size is 256. For insert-and-copy length codes the alphabet
- size is 704. For block count codes, the alphabet size is 26. For
- distance codes, block type codes, and the prefix codes used in
- compressing the context map, the alphabet size is dynamic and is
- based on parameters defined in later sections. The following table
- summarizes the alphabet sizes for the various prefix codes and the
- sections where they are defined.
-
- +-----------------+-------------------------+------------+
- | Prefix code | Alphabet size | Definition |
- +-----------------+-------------------------+------------+
- | literal | 256 | |
- +-----------------+-------------------------+------------+
- | distance | 16 + NDIRECT + | Section 4. |
- | | (48 << NPOSTFIX) | |
- +-----------------+-------------------------+------------+
- | insert-and-copy | 704 | Section 5. |
- | length | | |
- +-----------------+-------------------------+------------+
- | block count | 26 | Section 6. |
- +-----------------+-------------------------+------------+
- | block type | NBLTYPESx + 2, | Section 6. |
- | | (where x is I, L, or D) | |
- +-----------------+-------------------------+------------+
- | context map | NTREESx + RLEMAXx | Section 7. |
- | | (where x is L or D) | |
- +-----------------+-------------------------+------------+
-
-3.4. Simple prefix codes
-
- The first two bits of the compressed representation of each prefix
- code distinguish between simple and complex prefix codes. If this
- value is 1, then a simple prefix code follows as described in this
- section. Otherwise, a complex prefix code follows as described in
- Section 3.5.
-
- A simple prefix code can have only up to four symbols with non-zero
- code length. The format of the simple prefix code is as follows:
-
- 2 bits: value of 1 indicates a simple prefix code
- 2 bits: NSYM - 1, where NSYM = # of symbols coded
-
- NSYM symbols, each encoded using ALPHABET_BITS bits
-
- 1 bit: tree-select, present only for NSYM = 4
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 13]
-
-Internet-Draft Brotli May 2016
-
-
- The value of ALPHABET_BITS depends on the alphabet of the prefix
- code: it is the smallest number of bits that can represent all
- symbols in the alphabet. E.g. for the alphabet of literal bytes,
- ALPHABET_BITS is 8. The value of each of the NSYM symbols above is
- the value of the ALPHABETS_BITS width integer value. If the integer
- value is greater than or equal to the alphabet size, or the value is
- identical to a previous value, then the stream should be rejected as
- invalid.
-
- Note that the NSYM symbols may not be presented in sorted order.
- Prefix codes of the same bit length must be assigned to the symbols
- in sorted order.
-
- The (non-zero) code lengths of the symbols can be reconstructed as
- follows:
-
- * if NSYM = 1, the code length for the one symbol is zero --
- when encoding this symbol in the
- compressed data stream using this prefix code, no
- actual bits are emitted. Similarly, when decoding a symbol
- using this prefix code, no bits are read and the one symbol
- is returned.
-
- * if NSYM = 2, both symbols have code length 1.
-
- * if NSYM = 3, the code lengths for the symbols are 1, 2, 2 in
- the order they appear in the representation of the simple
- prefix code.
-
- * if NSYM = 4, the code lengths (in order of symbols decoded)
- depend on the tree-select bit: 2, 2, 2, 2 (tree-select bit 0),
- or 1, 2, 3, 3 (tree-select bit 1).
-
-3.5. Complex prefix codes
-
- A complex prefix code is a canonical prefix code, defined by the
- sequence of code lengths, as discussed in Section 3.2., above. For
- even greater compactness, the code length sequences themselves are
- compressed using a prefix code. The alphabet for code lengths is as
- follows:
-
- 0..15: Represent code lengths of 0..15
- 16: Copy the previous non-zero code length 3..6 times
- The next 2 bits indicate repeat length
- (0 = 3, ... , 3 = 6)
- If this is the first code length, or all previous
- code lengths are zero, a code length of 8 is
- repeated 3..6 times
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 14]
-
-Internet-Draft Brotli May 2016
-
-
- A repeated code length code of 16 modifies the
- repeat count of the previous one as follows:
- repeat count = (4 * (repeat count - 2)) +
- (3..6 on the next 2 bits)
- Example: Codes 7, 16 (+2 bits 11), 16 (+2 bits 10)
- will expand to 22 code lengths of 7
- (1 + 4 * (6 - 2) + 5)
- 17: Repeat a code length of 0 for 3..10 times.
- (3 bits of length)
- A repeated code length code of 17 modifies the
- repeat count of the previous one as follows:
- repeat count = (8 * (repeat count - 2)) +
- (3..10 on the next 3 bits)
-
- Note that a code of 16 that follows an immediately preceding 16
- modifies the previous repeat count, which becomes the new repeat
- count. The same is true for a 17 following a 17. A sequence of three
- or more 16 codes in a row or three of more 17 codes in a row is
- possible, modifying the count each time. Only the final repeat count
- is used. The modification only applies if the same code follows. A 16
- repeat does not modify an immediately preceding 17 count nor vice
- versa.
-
- A code length of 0 indicates that the corresponding symbol in the
- alphabet will not occur in the compressed data, and should not
- participate in the prefix code construction algorithm given earlier.
- A complex prefix code must have at least two non-zero code lengths.
-
- The bit lengths of the prefix code over the code length alphabet are
- compressed with the following variable length code (as it appears in
- the compressed data, where the bits are parsed from right to left):
-
- Symbol Code
- ------ ----
- 0 00
- 1 0111
- 2 011
- 3 10
- 4 01
- 5 1111
-
- We can now define the format of the complex prefix code as follows:
-
- 2 bits: HSKIP, values of 0, 2, or 3 represent the respective
- number of skipped code lengths. The skipped lengths
- are taken to be zero. (An HSKIP of 1 indicates a
- Simple prefix code.)
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 15]
-
-Internet-Draft Brotli May 2016
-
-
- Code lengths for symbols in the code length alphabet given
- just above, in the order: 1, 2, 3, 4, 0, 5, 17, 6, 16, 7,
- 8, 9, 10, 11, 12, 13, 14, 15. If HSKIP is 2, then the
- code lengths for symbols 1 and 2 are zero, and the first
- code length is for symbol 3. If HSKIP is 3, then the code
- length for symbol 3 is also zero, and the first code length
- is for symbol 4.
-
- The code lengths of code length symbols are between 0 and
- 5, and they are represented with 2..4 bits according to
- the variable length code above. A code length of 0 means
- the corresponding code length symbol is not used.
-
- If HSKIP is 2 or 3, a respective number of leading code
- lengths are implicit zeros and are not present in the
- code lengths sequence above.
-
- If there are at least two non-zero code lengths, any
- trailing zero code lengths are omitted, i.e. the last
- code length in the sequence must be non-zero. In this
- case, the sum of (32 >> code length) over all the non-zero
- code lengths must equal to 32.
-
- If the lengths have been read for the entire code length
- alphabet and there was only one non-zero code length,
- then the prefix code has one symbol whose code has zero
- length. In this case, that symbol results in no bits
- being emitted by the compressor, and no bits consumed by
- the decompressor. That single symbol is immediately
- returned when this code is decoded.
- An example of where this occurs is if the
- entire code to be represented has symbols of length 8.
- E.g. a literal code that represents all literal values
- with equal probability. In this case the single symbol
- is 16, which repeats the previous length. The previous
- length is taken to be 8 before any code length code
- lengths are read.
-
- Sequence of at most alphabet size code lengths symbols, encoded
- using the code length prefix code. Any trailing 0 or 17 must be
- omitted, i.e. the last encoded code length symbol must be
- between 1 and 16. The sum of (32768 >> code length) over
- all the non-zero code lengths in the alphabet, including
- those encoded using repeat code(s) of 16, must equal to
- 32768. If the number of times to repeat the previous length
- or repeat a zero length would result in more lengths in
- total than the number of symbols in the alphabet, then the
- stream should be rejected as invalid.
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 16]
-
-Internet-Draft Brotli May 2016
-
-
-4. Encoding of distances
-
- As described in Section 2., one component of a compressed meta-block
- is a sequence of backward distances. In this section we provide the
- details to the encoding of distances.
-
- Each distance in the compressed data part of a meta-block is
- represented with a pair <distance code, extra bits>. The distance
- code and the extra bits are encoded back-to-back, the distance code
- is encoded using a prefix code over the distance alphabet, while the
- extra bits value is encoded as a fixed-width integer value. The
- number of extra bits can be 0..24, and it is dependent on the
- distance code.
-
- To convert a distance code and associated extra bits to a backward
- distance, we need the sequence of past distances and two additional
- parameters, the number of "postfix bits", denoted by NPOSTFIX (0..3),
- and the number of direct distance codes, denoted by NDIRECT (0..120).
- Both of these parameters are encoded in the meta-block header. We
- will also use the following derived parameter:
-
- POSTFIX_MASK = (1 << NPOSTFIX) - 1
-
- The first 16 distance symbols are special symbols that reference past
- distances as follows:
-
- 0: last distance
- 1: second-to-last distance
- 2: third-to-last distance
- 3: fourth-to-last distance
- 4: last distance - 1
- 5: last distance + 1
- 6: last distance - 2
- 7: last distance + 2
- 8: last distance - 3
- 9: last distance + 3
- 10: second-to-last distance - 1
- 11: second-to-last distance + 1
- 12: second-to-last distance - 2
- 13: second-to-last distance + 2
- 14: second-to-last distance - 3
- 15: second-to-last distance + 3
-
- The ring buffer of four last distances is initialized by the values
- 16, 15, 11, and 4 (i.e. the fourth-to-last is set to 16, the third-
- to-last to 15, the second-to-last to 11, and the last distance to 4)
- at the beginning of the *stream* (as opposed to the beginning of the
- meta-block) and it is not reset at meta-block boundaries. When a
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 17]
-
-Internet-Draft Brotli May 2016
-
-
- distance symbol 0 appears, the distance it represents (i.e. the last
- distance in the sequence of distances) is not pushed to the ring
- buffer of last distances, in other words, the expression "(second,
- third, fourth)-to-last distance" means the (second, third,
- fourth)-to-last distance that was not represented by a 0 distance
- symbol. Similarly, distances that represent static dictionary words
- (see Section 8.) are not pushed to the ring buffer of last distances.
-
- If a special distance symbol resolves to a zero or negative value,
- the stream should be rejected as invalid.
-
- If NDIRECT is greater than zero, then the next NDIRECT distance
- symbols, from 16 to 15 + NDIRECT, represent distances from 1 to
- NDIRECT. Neither the special distance symbols, nor the NDIRECT
- direct distance symbols are followed by any extra bits.
-
- Distance symbols 16 + NDIRECT and greater all have extra bits, where
- the number of extra bits for a distance symbol "dcode" is given by
- the following formula:
-
- ndistbits = 1 + ((dcode - NDIRECT - 16) >> (NPOSTFIX + 1))
-
- The maximum number of extra bits is 24, therefore the size of the
- distance symbol alphabet is (16 + NDIRECT + (48 << NPOSTFIX)).
-
- Given a distance symbol "dcode" (>= 16 + NDIRECT), and extra bits
- "dextra", the backward distance is given by the following formula:
-
- hcode = (dcode - NDIRECT - 16) >> NPOSTFIX
- lcode = (dcode - NDIRECT - 16) & POSTFIX_MASK
- offset = ((2 + (hcode & 1)) << ndistbits) - 4
- distance = ((offset + dextra) << NPOSTFIX) + lcode + NDIRECT + 1
-
-5. Encoding of literal insertion lengths and copy lengths
-
- As described in Section 2., the literal insertion lengths and
- backward copy lengths are encoded using a single prefix code. This
- section provides the details to this encoding.
-
- Each <insertion length, copy length> pair in the compressed data part
- of a meta-block is represented with the following triplet:
-
- <insert-and-copy length code, insert extra bits, copy extra bits>
-
- The insert-and-copy length code, the insert extra bits, and the copy
- extra bits are encoded back-to-back, the insert-and-copy length code
- is encoded using a prefix code over the insert-and-copy length code
- alphabet, while the extra bits values are encoded as fixed-width
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 18]
-
-Internet-Draft Brotli May 2016
-
-
- integer values. The number of insert and copy extra bits can be
- 0..24, and they are dependent on the insert-and-copy length code.
-
- Some of the insert-and-copy length codes also express the fact that
- the distance symbol of the distance in the same command is 0, i.e.
- the distance component of the command is the same as that of the
- previous command. In this case, the distance code and extra bits for
- the distance are omitted from the compressed data stream.
-
- We describe the insert-and-copy length code alphabet in terms of the
- (not directly used) insert length code and copy length code
- alphabets. The symbols of the insert length code alphabet, along with
- the number of insert extra bits, and the range of the insert lengths
- are as follows:
-
- Extra Extra Extra
- Code Bits Lengths Code Bits Lengths Code Bits Lengths
- ---- ---- ------- ---- ---- ------- ---- ---- -------
- 0 0 0 8 2 10..13 16 6 130..193
- 1 0 1 9 2 14..17 17 7 194..321
- 2 0 2 10 3 18..25 18 8 322..577
- 3 0 3 11 3 26..33 19 9 578..1089
- 4 0 4 12 4 34..49 20 10 1090..2113
- 5 0 5 13 4 50..65 21 12 2114..6209
- 6 1 6,7 14 5 66..97 22 14 6210..22593
- 7 1 8,9 15 5 98..129 23 24 22594..16799809
-
- The symbols of the copy length code alphabet, along with the number
- of copy extra bits, and the range of copy lengths are as follows:
-
- Extra Extra Extra
- Code Bits Lengths Code Bits Lengths Code Bits Lengths
- ---- ---- ------- ---- ---- ------- ---- ---- -------
- 0 0 2 8 1 10,11 16 5 70..101
- 1 0 3 9 1 12,13 17 5 102..133
- 2 0 4 10 2 14..17 18 6 134..197
- 3 0 5 11 2 18..21 19 7 198..325
- 4 0 6 12 3 22..29 20 8 326..581
- 5 0 7 13 3 30..37 21 9 582..1093
- 6 0 8 14 4 38..53 22 10 1094..2117
- 7 0 9 15 4 54..69 23 24 2118..16779333
-
- To convert an insert-and-copy length code to an insert length code
- and a copy length code, the following table can be used:
-
-
-
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 19]
-
-Internet-Draft Brotli May 2016
-
-
- Insert
- length Copy length code
- code 0..7 8..15 16..23
- +----------+----------+
- | | |
- 0..7 | 0..63 | 64..127 | <--- distance symbol 0
- | | |
- +----------+----------+----------+
- | | | |
- 0..7 | 128..191 | 192..255 | 384..447 |
- | | | |
- +----------+----------+----------+
- | | | |
- 8..15 | 256..319 | 320..383 | 512..575 |
- | | | |
- +----------+----------+----------+
- | | | |
- 16..23 | 448..511 | 576..639 | 640..703 |
- | | | |
- +----------+----------+----------+
-
- First, look up the cell with the 64 value range containing the
- insert-and-copy length code, this gives the insert length code and
- the copy length code ranges, both 8 values long. The copy length
- code within its range is determined by bits 0..2 (counted from the
- lsb) of the insert-and-copy length code. The insert length code
- within its range is determined by bits 3..5 (counted from the lsb) of
- the insert-and-copy length code. Given the insert length and copy
- length codes, the actual insert and copy lengths can be obtained by
- reading the number of extra bits given by the tables above.
-
- If the insert-and-copy length code is between 0 and 127, the distance
- code of the command is set to zero (the last distance reused).
-
-6. Encoding of block switch commands
-
- As described in Section 2., a block-switch command is a pair <block
- type, block count>. These are encoded in the compressed data part of
- the meta-block, right before the start of each new block of a
- particular block category.
-
- Each block type in the compressed data is represented with a block
- type code, encoded using a prefix code over the block type code
- alphabet. A block type symbol 0 means that the new block type is the
- same as the type of the previous block from the same block category,
- i.e. the block type that preceded the current type, while a block
- type symbol 1 means that the new block type equals the current block
- type plus one. If the current block type is the maximal possible,
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 20]
-
-Internet-Draft Brotli May 2016
-
-
- then a block type symbol of 1 results in wrapping to a new block type
- of 0. Block type symbols 2..257 represent block types 0..255
- respectively. The previous and current block types are initialized to
- 1 and 0, respectively, at the end of the meta-block header.
-
- Since the first block type of each block category is 0, the block
- type of the first block-switch command is not encoded in the
- compressed data. If a block category has only one block type, the
- block count of the first block-switch command is also omitted from
- the compressed data, otherwise it is encoded in the meta-block
- header.
-
- Since the end of the meta-block is detected by the number of
- uncompressed bytes produced, the block counts for any of the three
- categories need not count down to exactly zero at the end of the
- meta-block.
-
- The number of different block types in each block category, denoted
- by NBLTYPESL, NBLTYPESI, and NBLTYPESD for literals, insert-and-copy
- lengths, and distances, respectively, is encoded in the meta-block
- header, and it must equal to the largest block type plus one in that
- block category. In other words, the set of literal, insert-and-copy
- length, and distance block types must be [0..NBLTYPESL-1],
- [0..NBLTYPESI-1], and [0..NBLTYPESD-1], respectively. From this it
- follows that the alphabet size of literal, insert-and-copy length,
- and distance block type codes is NBLTYPESL + 2, NBLTYPESI + 2, and
- NBLTYPESD + 2, respectively.
-
- Each block count in the compressed data is represented with a pair
- <block count code, extra bits>. The block count code and the extra
- bits are encoded back-to-back, the block count code is encoded using
- a prefix code over the block count code alphabet, while the extra
- bits value is encoded as a fixed-width integer value. The number of
- extra bits can be 0..24, and it is dependent on the block count code.
- The symbols of the block count code alphabet, along with the number
- of extra bits, and the range of block counts are as follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 21]
-
-Internet-Draft Brotli May 2016
-
-
- Extra Extra Extra
- Code Bits Lengths Code Bits Lengths Code Bits Lengths
- ---- ---- ------- ---- ---- ------- ---- ---- -------
- 0 2 1..4 9 4 65..80 18 7 369..496
- 1 2 5..8 10 4 81..96 19 8 497..752
- 2 2 9..12 11 4 97..112 20 9 753..1264
- 3 2 13..16 12 5 113..144 21 10 1265..2288
- 4 3 17..24 13 5 145..176 22 11 2289..4336
- 5 3 25..32 14 5 177..208 23 12 4337..8432
- 6 3 33..40 15 5 209..240 24 13 8433..16624
- 7 3 41..48 16 6 241..304 25 24 16625..16793840
- 8 4 49..64 17 6 305..368
-
- The first block-switch command of each block category is special in
- the sense that it is encoded in the meta-block header, and as
- described earlier, the block type code is omitted since it is an
- implicit zero.
-
-7. Context modeling
-
- As described in Section 2., the prefix tree used to encode a literal
- byte or a distance code depends on the block type and the context ID.
- This section specifies how to compute the context ID for a particular
- literal and distance code, and how to encode the context map that
- maps a <block type, context ID> pair to the index of a prefix code in
- the array of literal and distance prefix codes.
-
-7.1. Context modes and context ID lookup for literals
-
- The context for encoding the next literal is defined by the last two
- bytes in the stream (p1, p2, where p1 is the most recent byte),
- regardless of whether these bytes are produced by uncompressed meta-
- blocks, backward references, static dictionary references, or by
- literal insertions. At the start of the stream p1 and p2 are
- initialized to zero.
-
- There are four methods, called context modes, to compute the Context
- ID:
-
- * LSB6, where the Context ID is the value of six
- least-significant bits of p1,
- * MSB6, where the Context ID is the value of six
- most-significant bits of p1,
- * UTF8, where the Context ID is a complex function of p1, p2,
- optimized for text compression, and
- * Signed, where Context ID is a complex function of p1, p2,
- optimized for compressing sequences of signed integers.
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 22]
-
-Internet-Draft Brotli May 2016
-
-
- The Context ID for the UTF8 and Signed context modes is computed
- using the following lookup tables Lut0, Lut1, and Lut2.
-
- Lut0 :=
- 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,
- 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,
- 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
-
- Lut1 :=
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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
-
- Lut2 :=
- 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,
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 23]
-
-Internet-Draft Brotli May 2016
-
-
- 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
-
- The lengths and the CRC-32 check values (see Appendix C.) of each of
- these tables as a sequence of bytes are as follows:
-
- Table Length CRC-32
- ----- ------ ------
- Lut0 256 0x8e91efb7
- Lut1 256 0xd01a32f4
- Lut2 256 0x0dd7a0d6
-
- Given p1 is the last uncompressed byte and p2 is the second-to-last
- uncompressed byte, the context IDs can be computed as follows:
-
- For LSB6: Context ID = p1 & 0x3f
- For MSB6: Context ID = p1 >> 2
- For UTF8: Context ID = Lut0[p1] | Lut1[p2]
- For Signed: Context ID = (Lut2[p1] << 3) | Lut2[p2]
-
- From the lookup tables defined above and the operations to compute
- the context IDs, we can see that context IDs for literals are in the
- range of 0..63.
-
- The context modes LSB6, MSB6, UTF8, and Signed are denoted by
- integers 0, 1, 2, 3.
-
- A context mode is defined for each literal block type and they are
- stored in a consecutive array of bits in the meta-block header,
- always two bits per block type.
-
-7.2. Context ID for distances
-
- The context for encoding a distance code is defined by the copy
- length corresponding to the distance. The context IDs are 0, 1, 2,
- and 3 for copy lengths 2, 3, 4, and more than 4, respectively.
-
-7.3. Encoding of the context map
-
- There are two context maps, one for literals and one for distances.
- The size of the context map is 64 * NBLTYPESL for literals, and 4 *
- NBLTYPESD for distances. Each value in the context map is an integer
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 24]
-
-Internet-Draft Brotli May 2016
-
-
- between 0 and 255, indicating the index of the prefix code to be used
- when encoding the next literal or distance.
-
- The context maps are two-dimensional matrices, encoded as one-
- dimensional arrays:
-
- CMAPL[0..(64 * NBLTYPESL - 1)]
- CMAPD[0..(4 * NBLTYPESD - 1)]
-
- The index of the prefix code for encoding a literal or distance code
- with block type, BTYPE_x, and context ID, CIDx, is:
-
- index of literal prefix code = CMAPL[64 * BTYPE_L + CIDL]
- index of distance prefix code = CMAPD[4 * BTYPE_D + CIDD]
-
- The values of the context map are encoded with the combination of run
- length encoding for zero values and prefix coding. Let RLEMAX denote
- the number of run length codes and NTREES denote the maximum value in
- the context map plus one. NTREES must equal the number of different
- values in the context map, in other words, the different values in
- the context map must be the [0..NTREES-1] interval. The alphabet of
- the prefix code has the following RLEMAX + NTREES symbols:
-
- 0: value zero
- 1: repeat a zero 2 to 3 times, read 1 bit for repeat length
- 2: repeat a zero 4 to 7 times, read 2 bits for repeat length
- ...
- RLEMAX: repeat a zero (1 << RLEMAX) to (1 << (RLEMAX+1))-1
- times, read RLEMAX bits for repeat length
- RLEMAX + 1: value 1
- ...
- RLEMAX + NTREES - 1: value NTREES - 1
-
- If RLEMAX = 0, the run length coding is not used, and the symbols of
- the alphabet are directly the values in the context map. We can now
- define the format of the context map (the same format is used for
- literal and distance context maps):
-
- 1..5 bits: RLEMAX, 0 is encoded with one 0 bit, and values
- 1..16 are encoded with bit pattern xxxx1 (so 01001
- is 5)
-
- Prefix code with alphabet size NTREES + RLEMAX
-
- Context map size values encoded with the above prefix code
- and run length coding for zero values. If a run length
- would result in more lengths in total than the size of
- the context map, then the stream should be rejected as
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 25]
-
-Internet-Draft Brotli May 2016
-
-
- invalid.
-
- 1 bit: IMTF bit, if set, we do an inverse move-to-front
- transform on the values in the context map to get
- the prefix code indexes
-
- Note that RLEMAX may be larger than the value necessary to represent
- the longest sequence of zero values. Also, the NTREES value is
- encoded right before the context map as described in Section 9.2.
-
- We define the inverse move-to-front transform used in this
- specification by the following C language function:
-
- void InverseMoveToFrontTransform(uint8_t* v, int v_len) {
- uint8_t mtf[256];
- int i;
- for (i = 0; i < 256; ++i) {
- mtf[i] = (uint8_t)i;
- }
- for (i = 0; i < v_len; ++i) {
- uint8_t index = v[i];
- uint8_t value = mtf[index];
- v[i] = value;
- for (; index; --index) {
- mtf[index] = mtf[index - 1];
- }
- mtf[0] = value;
- }
- }
-
- Note that the inverse move-to-front transform will not produce values
- outside the [0..NTREES-1] interval.
-
-8. Static dictionary
-
- At any given point during decoding the compressed data, a reference
- to a duplicated string in the uncompressed data produced so far has a
- maximum backward distance value, which is the minimum of the window
- size and the number of uncompressed bytes produced. However, decoding
- a distance from the compressed stream, as described in Section 4.,
- can produce distances that are greater than this maximum allowed
- value. In this case, the distance is treated as a reference to a word
- in the static dictionary given in Appendix A. The copy length for a
- static dictionary reference must be between 4 and 24. The static
- dictionary has three parts:
-
- * DICT[0..DICTSIZE], an array of bytes
- * DOFFSET[0..24], an array of byte offset values for each length
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 26]
-
-Internet-Draft Brotli May 2016
-
-
- * NDBITS[0..24], an array of bit-depth values for each length
-
- The number of static dictionary words for a given length is:
-
- NWORDS[length] = 0 (if length < 4)
- NWORDS[length] = (1 << NDBITS[length]) (if length >= 4)
-
- DOFFSET and DICTSIZE are defined by the following recursion:
-
- DOFFSET[0] = 0
- DOFFSET[length + 1] = DOFFSET[length] + length * NWORDS[length]
- DICTSIZE = DOFFSET[24] + 24 * NWORDS[24]
-
- The offset of a word within the DICT array for a given length and
- index is:
-
- offset(length, index) = DOFFSET[length] + index * length
-
- Each static dictionary word has 121 different forms, given by
- applying a word transformation to a base word in the DICT array. The
- list of word transformations is given in Appendix B. The static
- dictionary word for a <length, distance> pair can be reconstructed as
- follows:
-
- word_id = distance - (max allowed distance + 1)
- index = word_id % NWORDS[length]
- base_word = DICT[offset(length, index)..offset(length, index+1)-1]
- transform_id = word_id >> NDBITS[length]
-
- The string copied to the uncompressed stream is computed by applying
- the transformation to the base dictionary word. If transform_id is
- greater than 120, or the length is smaller than 4 or greater than 24,
- then the compressed stream should be rejected as invalid.
-
- Each word transformation has the following form:
-
- transform_i(word) = prefix_i + T_i(word) + suffix_i
-
- where the _i subscript denotes the transform_id above. Each T_i is
- one of the following 21 elementary transforms:
-
- Identity, FermentFirst, FermentAll,
- OmitFirst1, ..., OmitFirst9, OmitLast1, ..., OmitLast9
-
- The form of these elementary transforms is as follows:
-
- Identity(word) = word
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 27]
-
-Internet-Draft Brotli May 2016
-
-
- FermentFirst(word) = see below
-
- FermentAll(word) = see below
-
- OmitFirstk(word) = the last (length(word) - k) bytes of word, or
- empty string if length(word) < k
-
- OmitLastk(word) = the first (length(word) - k) bytes of word, or
- empty string if length(word) < k
-
- We define the FermentFirst and FermentAll transforms used in this
- specification by the following C language functions:
-
- int Ferment(uint8_t* word, int word_len, int pos) {
- if (word[pos] < 192) {
- if (word[pos] >= 97 and word[pos] <= 122) {
- word[pos] = word[pos] ^ 32;
- }
- return 1;
- } else if (word[pos] < 224) {
- if (pos + 1 < word_len) {
- word[pos + 1] = word[pos + 1] ^ 32;
- }
- return 2;
- } else {
- if (pos + 2 < word_len) {
- word[pos + 2] = word[pos + 2] ^ 5;
- }
- return 3;
- }
- }
-
- void FermentFirst(uint8_t* word, int word_len) {
- if (word_len > 0) {
- Ferment(word, word_len, 0);
- }
- }
-
- void FermentAll(uint8_t* word, int word_len) {
- int i = 0;
- while (i < word_len) {
- i += Ferment(word, word_len, i);
- }
- }
-
- Appendix B. contains the list of transformations by specifying the
- prefix, elementary transform and suffix components of each of them.
- Note that the OmitFirst8 elementary transform is not used in the list
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 28]
-
-Internet-Draft Brotli May 2016
-
-
- of transformations. The strings in Appendix B. are in C string format
- with respect to escape (backslash) characters.
-
- The maximum number of additional bytes that a transform may add to a
- base word is 13. Since the largest base word is 24 bytes long, a
- buffer of 38 bytes is sufficient to store any transformed words
- (counting a terminating zero byte).
-
-9. Compressed data format
-
- In this section we describe the format of the compressed data set in
- terms of the format of the individual data items described in the
- previous sections.
-
-9.1. Format of the stream header
-
- The stream header has only the following one field:
-
- 1..7 bits: WBITS, a value in the range 10..24, encoded with
- the following variable length code (as it appears in
- the compressed data, where the bits are parsed from
- right to left):
-
- Value Bit Pattern
- ----- -----------
- 10 0100001
- 11 0110001
- 12 1000001
- 13 1010001
- 14 1100001
- 15 1110001
- 16 0
- 17 0000001
- 18 0011
- 19 0101
- 20 0111
- 21 1001
- 22 1011
- 23 1101
- 24 1111
-
- Note that bit pattern 0010001 is invalid and must not
- be used.
-
- The size of the sliding window, which is the maximum value of any
- non-dictionary reference backward distance, is given by the following
- formula:
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 29]
-
-Internet-Draft Brotli May 2016
-
-
- window size = (1 << WBITS) - 16
-
-9.2. Format of the meta-block header
-
- A compliant compressed data set has at least one meta-block. Each
- meta-block contains a header with information about the uncompressed
- length of the meta-block, and a bit signaling if the meta-block is
- the last one. The format of the meta-block header is the following:
-
- 1 bit: ISLAST, set to 1 if this is the last meta-block
- 1 bit: ISLASTEMPTY, if set to 1, the meta-block is empty;
- this field is only present if ISLAST bit is set -- if
- it is 1, then the meta-block and the brotli stream ends
- at that bit, with any remaining bits in the last byte
- of the compressed stream filled with zeros (if the
- fill bits are not zero, then the stream should be
- rejected as invalid)
- 2 bits: MNIBBLES, # of nibbles to represent the uncompressed
- length, encoded with the following fixed-length code:
-
- Value Bit Pattern
- ----- -----------
- 0 11
- 4 00
- 5 01
- 6 10
-
- If MNIBBLES is 0, the meta-block is empty, i.e. it does
- not generate any uncompressed data. In this case, the
- rest of the meta-block has the following format:
-
- 1 bit: reserved, must be zero
-
- 2 bits: MSKIPBYTES, # of bytes to represent metadata
- length
-
- MSKIPBYTES x 8 bits: MSKIPLEN - 1, where MSKIPLEN is
- the number of metadata bytes; this field is
- only present if MSKIPBYTES is positive,
- otherwise MSKIPLEN is 0 (if MSKIPBYTES is
- greater than 1, and the last byte is all
- zeros, then the stream should be rejected
- as invalid)
-
- 0..7 bits: fill bits until the next byte boundary,
- must be all zeros
-
- MSKIPLEN bytes of metadata, not part of the
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 30]
-
-Internet-Draft Brotli May 2016
-
-
- uncompressed data or the sliding window
-
- MNIBBLES x 4 bits: MLEN - 1, where MLEN is the length
- of the meta-block uncompressed data in bytes (if
- MNIBBLES is greater than 4, and the last
- nibble is all zeros, then the stream should be
- rejected as invalid)
-
- 1 bit: ISUNCOMPRESSED, if set to 1, any bits of compressed
- data up to the next byte boundary are ignored, and
- the rest of the meta-block contains MLEN bytes of
- literal data; this field is only present if the
- ISLAST bit is not set (if the ignored bits are not
- all zeros, the stream should be rejected as invalid)
-
- 1..11 bits: NBLTYPESL, # of literal block types, encoded with
- the following variable length code (as it appears in
- the compressed data, where the bits are parsed from
- right to left, so 0110111 has the value 12):
-
- Value Bit Pattern
- ----- -----------
- 1 0
- 2 0001
- 3..4 x0011
- 5..8 xx0101
- 9..16 xxx0111
- 17..32 xxxx1001
- 33..64 xxxxx1011
- 65..128 xxxxxx1101
- 129..256 xxxxxxx1111
-
- Prefix code over the block type code alphabet for
- literal block types, appears only if NBLTYPESL >= 2
-
- Prefix code over the block count code alphabet for
- literal block counts, appears only if NBLTYPESL >= 2
-
- Block count code + extra bits for first literal
- block count, appears only if NBLTYPESL >= 2
-
- 1..11 bits: NBLTYPESI, # of insert-and-copy block types, encoded
- with the same variable length code as above
-
- Prefix code over the block type code alphabet for
- insert-and-copy block types, appears only if NBLTYPESI >= 2
-
- Prefix code over the block count code alphabet for
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 31]
-
-Internet-Draft Brotli May 2016
-
-
- insert-and-copy block counts, appears only if NBLTYPESI >= 2
-
- Block count code + extra bits for first insert-and-copy
- block count, appears only if NBLTYPESI >= 2
-
- 1..11 bits: NBLTYPESD, # of distance block types, encoded
- with the same variable length code as above
-
- Prefix code over the block type code alphabet for
- distance block types, appears only if NBLTYPESD >= 2
-
- Prefix code over the block count code alphabet for
- distance block counts, appears only if NBLTYPESD >= 2
-
- Block count code + extra bits for first distance
- block count, appears only if NBLTYPESD >= 2
-
- 2 bits: NPOSTFIX, parameter used in the distance coding
-
- 4 bits: four most-significant bits of NDIRECT, to get the
- actual value of the parameter NDIRECT, left-shift
- this four-bit number by NPOSTFIX bits
-
- NBLTYPESL x 2 bits: context mode for each literal block type
-
- 1..11 bits: NTREESL, # of literal prefix trees, encoded
- with the same variable length code as NBLTYPESL
-
- Literal context map, encoded as described in Section 7.3.,
- appears only if NTREESL >= 2, otherwise the context map
- has only zero values
-
- 1..11 bits: NTREESD, # of distance prefix trees, encoded
- with the same variable length code as NBLTYPESD
-
- Distance context map, encoded as described in Section 7.3.,
- appears only if NTREESD >= 2, otherwise the context map
- has only zero values
-
- NTREESL prefix codes for literals
-
- NBLTYPESI prefix codes for insert-and-copy lengths
-
- NTREESD prefix codes for distances
-
-9.3. Format of the meta-block data
-
- The compressed data part of a meta-block consists of a series of
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 32]
-
-Internet-Draft Brotli May 2016
-
-
- commands. Each command has the following format:
-
- Block type code for next insert-and-copy block type, appears
- only if NBLTYPESI >= 2 and the previous insert-and-copy
- block count is zero
-
- Block count code + extra bits for next insert-and-copy
- block count, appears only if NBLTYPESI >= 2 and the
- previous insert-and-copy block count is zero
-
- Insert-and-copy length, encoded as in Section 5., using the
- insert-and-copy length prefix code with the current
- insert-and-copy block type index
-
- Insert length number of literals, with the following format:
-
- Block type code for next literal block type, appears
- only if NBLTYPESL >= 2 and the previous literal
- block count is zero
-
- Block count code + extra bits for next literal
- block count, appears only if NBLTYPESL >= 2 and the
- previous literal block count is zero
-
- Next byte of the uncompressed data, encoded with the
- literal prefix code with the index determined by the
- previous two bytes of the uncompressed data, the
- current literal block type, and the context map, as
- described in Section 7.3.
-
- Block type code for next distance block type, appears
- only if NBLTYPESD >= 2 and the previous distance
- block count is zero
-
- Block count code + extra bits for next distance
- block count, appears only if NBLTYPESD >= 2 and the
- previous distance block count is zero
-
- Distance code, encoded as in Section 4., using the distance
- prefix code with the current distance block type index,
- appears only if the distance code is not an implicit 0,
- as indicated by the insert-and-copy length code
-
- The number of commands in the meta-block is such that the sum of the
- uncompressed bytes produced (i.e. the number of literals inserted
- plus the number of bytes copied from past data or generated from the
- static dictionary) over all the commands gives the uncompressed
- length, MLEN encoded in the meta-block header.
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 33]
-
-Internet-Draft Brotli May 2016
-
-
- If the total number of uncompressed bytes produced after the insert
- part of the last command equals MLEN, then the copy length of the
- last command is ignored and will not produce any uncompressed output.
- In this case the copy length of the last command can have any value.
- In any other case, if the number of literals to insert, the copy
- length, or the resulting dictionary word length would cause MLEN to
- be exceeded, then the stream should be rejected as invalid.
-
- If the last command of the last non-empty meta-block does not end on
- a byte boundary, the unused bits in the last byte must be zeros.
-
-10. Decoding algorithm
-
- The decoding algorithm that produces the uncompressed data is as
- follows:
-
- read window size
- do
- read ISLAST bit
- if ISLAST
- read ISLASTEMPTY bit
- if ISLASTEMPTY
- break from loop
- read MNIBBLES
- if MNIBBLES is zero
- verify reserved bit is zero
- read MSKIPLEN
- skip any bits up to the next byte boundary
- skip MSKIPLEN bytes
- continue to the next meta-block
- else
- read MLEN
- if not ISLAST
- read ISUNCOMPRESSED bit
- if ISUNCOMPRESSED
- skip any bits up to the next byte boundary
- copy MLEN bytes of compressed data as literals
- continue to the next meta-block
- loop for each three block categories (i = L, I, D)
- read NBLTYPESi
- if NBLTYPESi >= 2
- read prefix code for block types, HTREE_BTYPE_i
- read prefix code for block counts, HTREE_BLEN_i
- read block count, BLEN_i
- set block type, BTYPE_i to 0
- initialize second-to-last and last block types to 0 and 1
- else
- set block type, BTYPE_i to 0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 34]
-
-Internet-Draft Brotli May 2016
-
-
- set block count, BLEN_i to 16777216
- read NPOSTFIX and NDIRECT
- read array of literal context modes, CMODE[]
- read NTREESL
- if NTREESL >= 2
- read literal context map, CMAPL[]
- else
- fill CMAPL[] with zeros
- read NTREESD
- if NTREESD >= 2
- read distance context map, CMAPD[]
- else
- fill CMAPD[] with zeros
- read array of literal prefix codes, HTREEL[]
- read array of insert-and-copy length prefix codes, HTREEI[]
- read array of distance prefix codes, HTREED[]
- do
- if BLEN_I is zero
- read block type using HTREE_BTYPE_I and set BTYPE_I
- save previous block type
- read block count using HTREE_BLEN_I and set BLEN_I
- decrement BLEN_I
- read insert-and-copy length symbol using HTREEI[BTYPE_I]
- compute insert length, ILEN, and copy length, CLEN
- loop for ILEN
- if BLEN_L is zero
- read block type using HTREE_BTYPE_L and set BTYPE_L
- save previous block type
- read block count using HTREE_BLEN_L and set BLEN_L
- decrement BLEN_L
- look up context mode CMODE[BTYPE_L]
- compute context ID, CIDL from last two uncompressed bytes
- read literal using HTREEL[CMAPL[64*BTYPE_L + CIDL]]
- write literal to uncompressed stream
- if number of uncompressed bytes produced in the loop for
- this meta-block is MLEN, then break from loop (in this
- case the copy length is ignored and can have any value)
- if distance code is implicit zero from insert-and-copy code
- set backward distance to the last distance
- else
- if BLEN_D is zero
- read block type using HTREE_BTYPE_D and set BTYPE_D
- save previous block type
- read block count using HTREE_BLEN_D and set BLEN_D
- decrement BLEN_D
- compute context ID, CIDD from CLEN
- read distance code using HTREED[CMAPD[4*BTYPE_D + CIDD]]
- compute distance by distance short code substitution
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 35]
-
-Internet-Draft Brotli May 2016
-
-
- if distance code is not zero,
- and distance is not a static dictionary reference,
- push distance to the ring buffer of last distances
- if distance is less than the max allowed distance plus one
- move backwards distance bytes in the uncompressed data,
- and copy CLEN bytes from this position to
- the uncompressed stream
- else
- look up the static dictionary word, transform the word as
- directed, and copy the result to the uncompressed stream
- while number of uncompressed bytes for this meta-block < MLEN
- while not ISLAST
-
- If the stream ends before the completion of the last meta-block, then
- the stream should be rejected as invalid.
-
- Note that a duplicated string reference may refer to a string in a
- previous meta-block, i.e. the backward distance may cross one or more
- meta-block boundaries. However a backward copy distance will not
- refer past the beginning of the uncompressed stream or the window
- size; any such distance is interpreted as a reference to a static
- dictionary word. Also note that the referenced string may overlap the
- current position, for example, if the last 2 bytes decoded have
- values X and Y, a string reference with <length = 5, distance = 2>
- adds X,Y,X,Y,X to the uncompressed stream.
-
-11. Considerations for compressor implementations
-
- Since the intent of this document is to define the brotli compressed
- data format without reference to any particular compression
- algorithm, the material in this section is not part of the definition
- of the format, and a compressor need not follow it in order to be
- compliant.
-
-11.1. Trivial compressor
-
- In this section we present a very simple algorithm that produces a
- valid brotli stream representing an arbitrary sequence of
- uncompressed bytes in the form of the following C++ language
- function.
-
- string BrotliCompressTrivial(const string& u) {
- if (u.empty()) {
- return string(1, 6);
- }
- int i;
- string c;
- c.append(1, 12);
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 36]
-
-Internet-Draft Brotli May 2016
-
-
- for (i = 0; i + 65535 < u.size(); i += 65536) {
- c.append(1, 248);
- c.append(1, 255);
- c.append(1, 15);
- c.append(&u[i], 65536);
- }
- if (i < u.size()) {
- int r = u.size() - i - 1;
- c.append(1, (r & 31) << 3);
- c.append(1, r >> 5);
- c.append(1, 8 + (r >> 13));
- c.append(&u[i], r + 1);
- }
- c.append(1, 3);
- return c;
- }
-
- Note that this simple algorithm does not actually compress data, that
- is, the brotli representation will always be bigger than the
- original, but it shows that every sequence of N uncompressed bytes
- can be represented with a valid brotli stream that is not longer than
- N + (3 * (N >> 16) + 5) bytes.
-
-11.2. Aligning compressed meta-blocks to byte boundaries
-
- As described in Section 9., only those meta-blocks that immediately
- follow an uncompressed meta-block or a metadata meta-block are
- guaranteed to start on a byte boundary. In some applications, it
- might be required that every non-metadata meta-block starts on a byte
- boundary. This can be achieved by appending an empty metadata meta-
- block after every non-metadata meta-block that does not end on a byte
- boundary.
-
-11.3. Creating self-contained parts within the compressed data
-
- In some encoder implementations it might be required to make a
- sequence of bytes within a brotli stream self-contained, that is,
- such that they can be decompressed independently from previous parts
- of the compressed data. This is a useful feature for three reasons.
- First, if a large compressed file is damaged, it is possible to
- recover some of the file after the damage. Second, it is useful when
- doing differential transfer of compressed data. If a sequence of
- uncompressed bytes is unchanged and compressed independently from
- previous data, then the compressed representation may also be
- unchanged and can therefore be transferred very cheaply. Third, if
- sequences of uncompressed bytes are compressed independently, it
- allows for parallel compression of these byte sequences within the
- same file, in addition to parallel compression of multiple files.
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 37]
-
-Internet-Draft Brotli May 2016
-
-
- Given two sequences of uncompressed bytes, U0 and U1, we will now
- describe how to create two sequences of compressed bytes, C0 and C1,
- such that the concatenation of C0 and C1 is a valid brotli stream,
- and that C0 and C1 (together with the first byte of C0 that contains
- the window size) can be decompressed independently from each other to
- U0 and U1.
-
- When compressing the byte sequence U0 to produce C0, we can use any
- compressor that works on the complete set of uncompressed bytes U0,
- with the following two changes. First, the ISLAST bit of the last
- meta-block of C0 must not be set. Second, C0 must end at a byte-
- boundary, which can be ensured by appending an empty metadata meta-
- block to it, as in Section 11.2.
-
- When compressing the byte sequence U1 to produce C1, we can use any
- compressor that starts a new meta-block at the beginning of U1 within
- the U0+U1 input stream, with the following two changes. First,
- backward distances in C1 must not refer to static dictionary words or
- uncompressed bytes in U0. Even if a sequence of bytes in U1 would
- match a static dictionary word, or a sequence of bytes that overlaps
- U0, the compressor must represent this sequence of bytes with a
- combination of literal insertions and backward references to bytes in
- U1 instead. Second, the ring buffer of last four distances must be
- replenished first with distances in C1 before using it to encode
- other distances in C1. Note that both compressors producing C0 and C1
- have to use the same window size, but the stream header is emitted
- only by the compressor that produces C0.
-
- Note that this method can be easily generalized to more than two
- sequences of uncompressed bytes.
-
-12. Security Considerations
-
- As with any compressed file formats, decompressor implementations
- should handle all compressed data byte sequences, not only those that
- conform to this specification, where non-conformant compressed data
- sequences should be rejected as invalid.
-
- A possible attack against a system containing a decompressor
- implementation (e.g. a web browser) is to exploit a buffer overflow
- triggered by invalid compressed data. Therefore decompressor
- implementations should perform bounds-checking for each memory access
- that result from values decoded from the compressed stream and
- derivatives therof.
-
- Another possible attack against a system containing a decompressor
- implementation is to provide it (either valid or invalid) compressed
- data that can make the decompressor system's resource consumption
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 38]
-
-Internet-Draft Brotli May 2016
-
-
- (cpu, memory, or storage) to be disproportionately large compared to
- the size of the compressed data. In addition to the size of the
- compressed data, the amount of cpu, memory and storage required to
- decompress a single compressed meta-block within a brotli stream is
- controlled by the following two paramters: the size of the
- uncompressed meta-block, which is encoded at the start of the
- compressed meta-block, and the size of the sliding window, which is
- encoded at the start of the brotli stream. Decompressor
- implementations in systems where memory or storage is constrained
- should perform a sanity-check on these two parameters. The
- uncompressed meta-block size that was decoded from the compressed
- stream should be compared against either a hard limit, given by the
- system's constraints or some expectation about the uncompressed data,
- or against a certain multiple of the size of the compressed data. If
- the uncompressed meta-block size is determined to be too high, the
- compressed data should be rejected. Likewise, when the complete
- uncompressed stream is kept in the system containing the decompressor
- implementation, the total uncompressed size of the stream should be
- checked before decompressing each additional meta-block. If the size
- of the sliding window that was decoded from the start of the
- compressed stream is greater than a certain soft limit, then the
- decompressor implementation should, at first, allocate a smaller
- sliding window that fits the first uncompressed meta-block, and
- afterwards, before decompressing each additional meta-block, it
- should increase the size of the sliding window until the sliding
- window size specified in the compressed data is reached.
-
- Correspondingly, possible attacks against a system containing a
- compressor implementation (e.g. a web server) are to exploit a buffer
- overflow or cause disproportionately large resource consumption by
- providing e.g. uncompressible data. As described in Section 11.1.,
- an output buffer of
-
- S(N) = N + (3 * (N >> 16) + 5)
-
- bytes is sufficient to hold a valid compressed brotli stream
- representing an arbitrary sequence of N uncompressed bytes.
- Therefore compressor implementations should allocate at least S(N)
- bytes of output buffer before compressing N bytes of data with
- unknown compressibility and should perform bounds-checking for each
- write into this output buffer. If their output buffer is full,
- compresor implementations should revert to the trivial compression
- algorithm described in Section 11.1. The resourse consumption of a
- compressor implementation for a particular input data depends mostly
- on the algorithm used to find backward matches and on the algorithm
- used to construct context maps and prefix codes and only to a lesser
- extent on the input data itself. If the system containing a
- compressor implementation is overloaded, a possible way to reduce
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 39]
-
-Internet-Draft Brotli May 2016
-
-
- resource usage is to switch to more simple algorithms for backward
- reference search and prefix code construction, or to fall back to the
- trivial compression algorithm described in Section 11.1.
-
- A possible attack against a system that sends compressed data over an
- encrypted channel is the following. An attacker who can repeatedly
- mix arbitrary (attacker-supplied) data with secret data (passwords,
- cookies) and observe the length of the ciphertext can potentially
- reconstruct the secret data. To protect against this kind of attack,
- applications should not mix sensitive data with non-sensitive,
- potentially attacker-supplied data in the same compressed stream.
-
-13. IANA Considerations
-
- The "HTTP Content Coding Registry" has been updated with the
- registration below:
-
- +-------+-------------------------------------+------------+
- | Name | Description | Reference |
- +-------+-------------------------------------+------------+
- | br | Brotli Compressed Data Format | RFCXXXX |
- +-------+-------------------------------------+------------+
-
-14. Informative References
-
- [HUFFMAN] Huffman, D. A., "A Method for the Construction of Minimum
- Redundancy Codes", Proceedings of the Institute of Radio
- Engineers, September 1952, Volume 40, Number 9, pp.
- 1098-1101.
-
- [LZ77] Ziv J., Lempel A., "A Universal Algorithm for Sequential
- Data Compression", IEEE Transactions on Information
- Theory, Vol. 23, No. 3, pp. 337-343.
-
- [RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification
- version 1.3", RFC 1951, Aladdin Enterprises, May 1996.
- http://www.ietf.org/rfc/rfc1951.txt
-
- [WOFF2] Levantovsky, V. (ed.), Levien, R. (ed.), "WOFF File Format
- 2.0", W3C WebFonts Working Group,
- http://www.w3.org/TR/WOFF2/
-
-15. Source code
-
- Source code for a C language implementation of a brotli compliant
- decompressor and a C++ language implementation of a compressor is
- available in the brotli open-source project:
- https://github.com/google/brotli
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 40]
-
-Internet-Draft Brotli May 2016
-
-
-16. Acknowledgments
-
- The authors would like to thank Mark Adler, Robert Obryk, Thomas
- Pickert, and Joe Tsai for providing helpful review comments,
- validating the specification by writing an independent decompressor,
- and suggesting improvements to the format and the text of the
- specification.
-
-Appendix A. Static dictionary data
-
- The hexadecimal form of the DICT array is the following, where the
- length is 122,784 bytes and the CRC-32 of the byte sequence is
- 0x5136cb04.
-
- 74696d65646f776e6c6966656c6566746261636b636f64656461746173686f77
- 6f6e6c7973697465636974796f70656e6a7573746c696b6566726565776f726b
- 74657874796561726f766572626f64796c6f7665666f726d626f6f6b706c6179
- 6c6976656c696e6568656c70686f6d65736964656d6f7265776f72646c6f6e67
- 7468656d7669657766696e64706167656461797366756c6c686561647465726d
- 656163686172656166726f6d747275656d61726b61626c6575706f6e68696768
- 646174656c616e646e6577736576656e6e65787463617365626f7468706f7374
- 757365646d61646568616e6468657265776861746e616d654c696e6b626c6f67
- 73697a656261736568656c646d616b656d61696e757365722729202b686f6c64
- 656e6473776974684e65777372656164776572657369676e74616b6568617665
- 67616d657365656e63616c6c7061746877656c6c706c75736d656e7566696c6d
- 706172746a6f696e746869736c697374676f6f646e6565647761797377657374
- 6a6f62736d696e64616c736f6c6f676f72696368757365736c6173747465616d
- 61726d79666f6f646b696e6777696c6c65617374776172646265737466697265
- 506167656b6e6f77617761792e706e676d6f76657468616e6c6f616467697665
- 73656c666e6f74656d756368666565646d616e79726f636b69636f6e6f6e6365
- 6c6f6f6b6869646564696564486f6d6572756c65686f7374616a6178696e666f
- 636c75626c6177736c65737368616c66736f6d65737563687a6f6e6531303025
- 6f6e65736361726554696d6572616365626c7565666f75727765656b66616365
- 686f706567617665686172646c6f73747768656e7061726b6b65707470617373
- 73686970726f6f6d48544d4c706c616e54797065646f6e65736176656b656570
- 666c61676c696e6b736f6c6466697665746f6f6b72617465746f776e6a756d70
- 746875736461726b6361726466696c6566656172737461796b696c6c74686174
- 66616c6c6175746f657665722e636f6d74616c6b73686f70766f746564656570
- 6d6f6465726573747475726e626f726e62616e6466656c6c726f736575726c28
- 736b696e726f6c65636f6d6561637473616765736d656574676f6c642e6a7067
- 6974656d7661727966656c747468656e73656e6464726f7056696577636f7079
- 312e30223c2f613e73746f70656c73656c696573746f75727061636b2e676966
- 706173746373733f677261796d65616e2667743b7269646573686f746c617465
- 73616964726f6164766172206665656c6a6f686e7269636b706f727466617374
- 2755412d646561643c2f623e706f6f7262696c6c74797065552e532e776f6f64
- 6d7573743270783b496e666f72616e6b7769646577616e7477616c6c6c656164
- 5b305d3b7061756c776176657375726524282723776169746d61737361726d73
- 676f65736761696e6c616e6770616964212d2d206c6f636b756e6974726f6f74
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 41]
-
-Internet-Draft Brotli May 2016
-
-
- 77616c6b6669726d77696665786d6c22736f6e6774657374323070786b696e64
- 726f7773746f6f6c666f6e746d61696c73616665737461726d617073636f7265
- 7261696e666c6f77626162797370616e736179733470783b3670783b61727473
- 666f6f747265616c77696b696865617473746570747269706f72672f6c616b65
- 7765616b746f6c64466f726d6361737466616e7362616e6b7665727972756e73
- 6a756c797461736b3170783b676f616c67726577736c6f776564676569643d22
- 736574733570783b2e6a733f3430707869662028736f6f6e736561746e6f6e65
- 747562657a65726f73656e747265656466616374696e746f676966746861726d
- 3138707863616d6568696c6c626f6c647a6f6f6d766f69646561737972696e67
- 66696c6c7065616b696e6974636f73743370783b6a61636b7461677362697473
- 726f6c6c656469746b6e65776e6561723c212d2d67726f774a534f4e64757479
- 4e616d6573616c65796f75206c6f74737061696e6a617a7a636f6c6465796573
- 666973687777772e7269736b7461627370726576313070787269736532357078
- 426c756564696e673330302c62616c6c666f72646561726e77696c64626f782e
- 666169726c61636b76657273706169726a756e6574656368696628217069636b
- 6576696c242822237761726d6c6f7264646f657370756c6c2c30303069646561
- 647261776875676573706f7466756e646275726e6872656663656c6c6b657973
- 7469636b686f75726c6f73736675656c31327078737569746465616c52535322
- 6167656467726579474554226561736561696d736769726c616964733870783b
- 6e617679677269647469707323393939776172736c61647963617273293b207d
- 7068703f68656c6c74616c6c77686f6d7a683ae52a2f0d0a2031303068616c6c
- 2e0a0a413770783b70757368636861743070783b637265772a2f3c2f68617368
- 37357078666c6174726172652026262074656c6c63616d706f6e746f6c616964
- 6d697373736b697074656e7466696e656d616c6567657473706c6f743430302c
- 0d0a0d0a636f6f6c666565742e7068703c62723e657269636d6f737467756964
- 62656c6c64657363686169726d61746861746f6d2f696d67262338326c75636b
- 63656e743030303b74696e79676f6e6568746d6c73656c6c6472756746524545
- 6e6f64656e69636b3f69643d6c6f73656e756c6c7661737477696e6452535320
- 7765617272656c796265656e73616d6564756b656e6173616361706577697368
- 67756c665432333a68697473736c6f74676174656b69636b626c757274686579
- 313570782727293b293b223e6d73696577696e7362697264736f727462657461
- 7365656b5431383a6f726473747265656d616c6c363070786661726de2809973
- 626f79735b305d2e27293b22504f5354626561726b696473293b7d7d6d617279
- 74656e6428554b29717561647a683ae62d73697a2d2d2d2d70726f7027293b0d
- 6c6966745431393a76696365616e6479646562743e525353706f6f6c6e65636b
- 626c6f775431363a646f6f726576616c5431373a6c6574736661696c6f72616c
- 706f6c6c6e6f7661636f6c7367656e6520e28094736f6674726f6d6574696c6c
- 726f73733c68333e706f75726661646570696e6b3c74723e6d696e69297c2128
- 6d696e657a683ae862617273686561723030293b6d696c6b202d2d3e69726f6e
- 667265646469736b77656e74736f696c707574732f6a732f686f6c795432323a
- 4953424e5432303a6164616d736565733c68323e6a736f6e272c2027636f6e74
- 5432313a205253536c6f6f70617369616d6f6f6e3c2f703e736f756c4c494e45
- 666f7274636172745431343a3c68313e38307078212d2d3c3970783b5430343a
- 6d696b653a34365a6e696365696e6368596f726b726963657a683ae42729293b
- 707572656d61676570617261746f6e65626f6e643a33375a5f6f665f275d293b
- 3030302c7a683ae774616e6b79617264626f776c627573683a35365a4a617661
- 333070780a7c7d0a254333253a33345a6a656666455850496361736876697361
- 676f6c66736e6f777a683ae9717565722e6373737369636b6d6561746d696e2e
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 42]
-
-Internet-Draft Brotli May 2016
-
-
- 62696e6464656c6c686972657069637372656e743a33365a485454502d323031
- 666f746f776f6c66454e442078626f783a35345a424f44596469636b3b0a7d0a
- 657869743a33355a7661727362656174277d293b646965743939393b616e6e65
- 7d7d3c2f5b695d2e4c616e676b6dc2b277697265746f7973616464737365616c
- 616c65783b0a097d6563686f6e696e652e6f726730303529746f6e796a657773
- 73616e646c656773726f6f66303030292032303077696e6567656172646f6773
- 626f6f74676172796375747374796c6574656d7074696f6e2e786d6c636f636b
- 67616e672428272e3530707850682e446d697363616c616e6c6f616e6465736b
- 6d696c657279616e756e697864697363293b7d0a64757374636c6970292e0a0a
- 373070782d32303044564473375d3e3c7461706564656d6f692b2b2977616765
- 6575726f7068696c6f707473686f6c65464151736173696e2d3236546c616273
- 7065747355524c2062756c6b636f6f6b3b7d0d0a484541445b305d2961626272
- 6a75616e283139386c6573687477696e3c2f693e736f6e79677579736675636b
- 706970657c2d0a21303032296e646f775b315d3b5b5d3b0a4c6f672073616c74
- 0d0a090962616e677472696d62617468297b0d0a303070780a7d293b6b6f3aec
- 6665657361643e0d733a2f2f205b5d3b746f6c6c706c756728297b0a7b0d0a20
- 2e6a7327323030706475616c626f61742e4a5047293b0a7d71756f74293b0a0a
- 27293b0a0d0a7d0d323031343230313532303136323031373230313832303139
- 3230323032303231323032323230323332303234323032353230323632303237
- 3230323832303239323033303230333132303332323033333230333432303335
- 3230333632303337323031333230313232303131323031303230303932303038
- 3230303732303036323030353230303432303033323030323230303132303030
- 3139393931393938313939373139393631393935313939343139393331393932
- 3139393131393930313938393139383831393837313938363139383531393834
- 3139383331393832313938313139383031393739313937383139373731393736
- 3139373531393734313937333139373231393731313937303139363931393638
- 3139363731393636313936353139363431393633313936323139363131393630
- 3139353931393538313935373139353631393535313935343139353331393532
- 31393531313935303130303031303234313339343030303039393939636f6d6f
- 6dc3a17365737465657374617065726f746f646f686163656361646161c3b16f
- 6269656e64c3ad616173c3ad766964616361736f6f74726f666f726f736f6c6f
- 6f7472616375616c64696a6f7369646f6772616e7469706f74656d6164656265
- 616c676f7175c3a96573746f6e61646174726573706f636f6361736162616a6f
- 746f646173696e6f6167756170756573756e6f73616e7465646963656c756973
- 656c6c616d61796f7a6f6e61616d6f727069736f6f627261636c6963656c6c6f
- 64696f73686f726163617369d0b7d0b0d0bdd0b0d0bed0bcd180d0b0d180d183
- d182d0b0d0bdd0b5d0bfd0bed0bed182d0b8d0b7d0bdd0bed0b4d0bed182d0be
- d0b6d0b5d0bed0bdd0b8d185d09dd0b0d0b5d0b5d0b1d18bd0bcd18bd092d18b
- d181d0bed0b2d18bd0b2d0bed09dd0bed0bed0b1d09fd0bed0bbd0b8d0bdd0b8
- d0a0d0a4d09dd0b5d09cd18bd182d18bd09ed0bdd0b8d0bcd0b4d0b0d097d0b0
- d094d0b0d09dd183d09ed0b1d182d0b5d098d0b7d0b5d0b9d0bdd183d0bcd0bc
- d0a2d18bd183d0b6d981d98ad8a3d986d985d8a7d985d8b9d983d984d8a3d988
- d8b1d8afd98ad8a7d981d989d987d988d984d985d984d983d8a7d988d984d987
- d8a8d8b3d8a7d984d8a5d986d987d98ad8a3d98ad982d8afd987d984d8abd985
- d8a8d987d984d988d984d98ad8a8d984d8a7d98ad8a8d983d8b4d98ad8a7d985
- d8a3d985d986d8aad8a8d98ad984d986d8add8a8d987d985d985d8b4d988d8b4
- 6669727374766964656f6c69676874776f726c646d656469617768697465636c
- 6f7365626c61636b7269676874736d616c6c626f6f6b73706c6163656d757369
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 43]
-
-Internet-Draft Brotli May 2016
-
-
- 636669656c646f72646572706f696e7476616c75656c6576656c7461626c6562
- 6f617264686f75736567726f7570776f726b7379656172737374617465746f64
- 6179776174657273746172747374796c656465617468706f77657270686f6e65
- 6e696768746572726f72696e70757461626f75747465726d737469746c65746f
- 6f6c736576656e746c6f63616c74696d65736c61726765776f72647367616d65
- 7373686f72747370616365666f637573636c6561726d6f64656c626c6f636b67
- 75696465726164696f7368617265776f6d656e616761696e6d6f6e6579696d61
- 67656e616d6573796f756e676c696e65736c61746572636f6c6f72677265656e
- 66726f6e7426616d703b7761746368666f726365707269636572756c65736265
- 67696e616674657276697369746973737565617265617362656c6f77696e6465
- 78746f74616c686f7572736c6162656c7072696e7470726573736275696c746c
- 696e6b73737065656473747564797472616465666f756e6473656e7365756e64
- 657273686f776e666f726d7372616e676561646465647374696c6c6d6f766564
- 74616b656e61626f7665666c61736866697865646f6674656e6f746865727669
- 657773636865636b6c6567616c72697665726974656d73717569636b73686170
- 6568756d616e6578697374676f696e676d6f7669657468697264626173696370
- 65616365737461676577696474686c6f67696e696465617377726f7465706167
- 65737573657273647269766573746f7265627265616b736f757468766f696365
- 73697465736d6f6e746877686572656275696c6477686963686561727468666f
- 72756d746872656573706f72747061727479436c69636b6c6f7765726c697665
- 73636c6173736c61796572656e74727973746f72797573616765736f756e6463
- 6f757274796f7572206269727468706f70757074797065736170706c79496d61
- 67656265696e6775707065726e6f746573657665727973686f77736d65616e73
- 65787472616d61746368747261636b6b6e6f776e6561726c79626567616e7375
- 70657270617065726e6f7274686c6561726e676976656e6e616d6564656e6465
- 645465726d73706172747347726f75706272616e647573696e67776f6d616e66
- 616c73657265616479617564696f74616b65737768696c652e636f6d2f6c6976
- 656463617365736461696c796368696c6467726561746a7564676574686f7365
- 756e6974736e6576657262726f6164636f617374636f7665726170706c656669
- 6c65736379636c657363656e65706c616e73636c69636b777269746571756565
- 6e7069656365656d61696c6672616d656f6c64657270686f746f6c696d697463
- 61636865636976696c7363616c65656e7465727468656d657468657265746f75
- 6368626f756e64726f79616c61736b656477686f6c6573696e636573746f636b
- 206e616d6566616974686865617274656d7074796f6666657273636f70656f77
- 6e65646d69676874616c62756d7468696e6b626c6f6f6461727261796d616a6f
- 72747275737463616e6f6e756e696f6e636f756e7476616c696473746f6e6553
- 74796c654c6f67696e68617070796f636375726c6566743a6672657368717569
- 746566696c6d7367726164656e65656473757262616e66696768746261736973
- 686f7665726175746f3b726f7574652e68746d6c6d6978656466696e616c596f
- 757220736c696465746f70696362726f776e616c6f6e65647261776e73706c69
- 747265616368526967687464617465736d6172636871756f7465676f6f64734c
- 696e6b73646f7562746173796e637468756d62616c6c6f776368696566796f75
- 74686e6f76656c313070783b7365727665756e74696c68616e6473436865636b
- 537061636571756572796a616d6573657175616c7477696365302c3030305374
- 61727470616e656c736f6e6773726f756e6465696768747368696674776f7274
- 68706f7374736c656164737765656b7361766f696474686573656d696c657370
- 6c616e65736d617274616c706861706c616e746d61726b737261746573706c61
- 7973636c61696d73616c65737465787473737461727377726f6e673c2f68333e
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 44]
-
-Internet-Draft Brotli May 2016
-
-
- 7468696e672e6f72672f6d756c74696865617264506f7765727374616e64746f
- 6b656e736f6c696428746869736272696e677368697073737461666674726965
- 6463616c6c7366756c6c7966616374736167656e7454686973202f2f2d2d3e61
- 646d696e65677970744576656e74313570783b456d61696c747275652263726f
- 73737370656e74626c6f6773626f78223e6e6f7465646c656176656368696e61
- 73697a657367756573743c2f68343e726f626f746865617679747275652c7365
- 76656e6772616e646372696d657369676e73617761726564616e636570686173
- 653e3c212d2d656e5f5553262333393b32303070785f6e616d656c6174696e65
- 6e6a6f79616a61782e6174696f6e736d697468552e532e20686f6c6473706574
- 6572696e6469616e6176223e636861696e73636f7265636f6d6573646f696e67
- 7072696f7253686172653139393073726f6d616e6c697374736a6170616e6661
- 6c6c73747269616c6f776e657261677265653c2f68323e6162757365616c6572
- 746f70657261222d2f2f57636172647368696c6c737465616d7350686f746f74
- 72757468636c65616e2e7068703f7361696e746d6574616c6c6f7569736d6561
- 6e7470726f6f666272696566726f77223e67656e7265747275636b6c6f6f6b73
- 56616c75654672616d652e6e65742f2d2d3e0a3c747279207b0a766172206d61
- 6b6573636f737473706c61696e6164756c747175657374747261696e6c61626f
- 7268656c707363617573656d616769636d6f746f72746865697232353070786c
- 656173747374657073436f756e74636f756c64676c617373736964657366756e
- 6473686f74656c61776172646d6f7574686d6f76657370617269736769766573
- 6475746368746578617366727569746e756c6c2c7c7c5b5d3b746f70223e0a3c
- 212d2d504f5354226f6365616e3c62722f3e666c6f6f72737065616b64657074
- 682073697a6562616e6b7363617463686368617274323070783b616c69676e64
- 65616c73776f756c64353070783b75726c3d227061726b736d6f7573654d6f73
- 74202e2e2e3c2f616d6f6e67627261696e626f6479206e6f6e653b6261736564
- 636172727964726166747265666572706167655f686f6d652e6d657465726465
- 6c6179647265616d70726f76656a6f696e743c2f74723e64727567733c212d2d
- 20617072696c696465616c616c6c656e6578616374666f727468636f6465736c
- 6f67696356696577207365656d73626c616e6b706f7274732028323030736176
- 65645f6c696e6b676f616c736772616e74677265656b686f6d657372696e6773
- 7261746564333070783b77686f7365706172736528293b2220426c6f636b6c69
- 6e75786a6f6e6573706978656c27293b223e293b6966282d6c65667464617669
- 64686f727365466f6375737261697365626f786573547261636b656d656e743c
- 2f656d3e626172223e2e7372633d746f776572616c743d226361626c6568656e
- 7279323470783b73657475706974616c7973686172706d696e6f727461737465
- 77616e7473746869732e7265736574776865656c6769726c732f6373732f3130
- 30253b636c75627373747566666269626c65766f74657320313030306b6f7265
- 617d293b0d0a62616e647371756575653d207b7d3b383070783b636b696e677b
- 0d0a09096168656164636c6f636b69726973686c696b6520726174696f737461
- 7473466f726d227961686f6f295b305d3b41626f757466696e64733c2f68313e
- 64656275677461736b7355524c203d63656c6c737d2928293b313270783b7072
- 696d6574656c6c737475726e7330783630302e6a706722737061696e62656163
- 6874617865736d6963726f616e67656c2d2d3e3c2f676966747373746576652d
- 6c696e6b626f64792e7d293b0a096d6f756e7420283139394641513c2f726f67
- 65726672616e6b436c617373323870783b66656564733c68313e3c73636f7474
- 7465737473323270783b6472696e6b29207c7c206c657769737368616c6c2330
- 33393b20666f72206c6f7665647761737465303070783b6a613ae38273696d6f
- 6e3c666f6e747265706c796d65657473756e7465726368656170746967687442
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 45]
-
-Internet-Draft Brotli May 2016
-
-
- 72616e642920213d206472657373636c697073726f6f6d736f6e6b65796d6f62
- 696c6d61696e2e4e616d6520706c61746566756e6e797472656573636f6d2f22
- 312e6a7067776d6f6465706172616d53544152546c65667420696464656e2c20
- 323031293b0a7d0a666f726d2e766972757363686169727472616e73776f7273
- 7450616765736974696f6e70617463683c212d2d0a6f2d6361636669726d7374
- 6f7572732c30303020617369616e692b2b297b61646f626527295b305d69643d
- 3130626f74683b6d656e75202e322e6d692e706e67226b6576696e636f616368
- 4368696c646272756365322e6a706755524c292b2e6a70677c7375697465736c
- 69636568617272793132302220737765657474723e0d0a6e616d653d64696567
- 6f706167652073776973732d2d3e0a0a236666663b223e4c6f672e636f6d2274
- 7265617473686565742920262620313470783b736c6565706e74656e7466696c
- 65646a613ae38369643d22634e616d6522776f72736573686f74732d626f782d
- 64656c74610a266c743b62656172733a34385a3c646174612d727572616c3c2f
- 613e207370656e6462616b657273686f70733d2022223b706870223e6374696f
- 6e313370783b627269616e68656c6c6f73697a653d6f3d253246206a6f696e6d
- 617962653c696d6720696d67223e2c20666a73696d67222022295b305d4d546f
- 704254797065226e65776c7944616e736b637a656368747261696c6b6e6f7773
- 3c2f68353e666171223e7a682d636e3130293b0a2d3122293b747970653d626c
- 7565737472756c7964617669732e6a73273b3e0d0a3c21737465656c20796f75
- 2068323e0d0a666f726d206a6573757331303025206d656e752e0d0a090d0a77
- 616c65737269736b73756d656e746464696e67622d6c696b7465616368676966
- 2220766567617364616e736b6565737469736871697073756f6d69736f627265
- 6465736465656e747265746f646f73707565646561c3b16f73657374c3a17469
- 656e6568617374616f74726f737061727465646f6e64656e7565766f68616365
- 72666f726d616d69736d6f6d656a6f726d756e646f617175c3ad64c3ad617373
- c3b36c6f61797564616665636861746f64617374616e746f6d656e6f73646174
- 6f736f74726173736974696f6d7563686f61686f72616c756761726d61796f72
- 6573746f73686f72617374656e6572616e746573666f746f7365737461737061
- c3ad736e7565766173616c7564666f726f736d6564696f717569656e6d657365
- 73706f6465726368696c65736572c3a1766563657364656369726a6f73c3a965
- 7374617276656e7461677275706f686563686f656c6c6f7374656e676f616d69
- 676f636f7361736e6976656c67656e74656d69736d6161697265736a756c696f
- 74656d617368616369616661766f726a756e696f6c6962726570756e746f6275
- 656e6f6175746f72616272696c6275656e61746578746f6d61727a6f73616265
- 726c697374616c7565676f63c3b36d6f656e65726f6a7565676f706572c3ba68
- 616265726573746f796e756e63616d756a657276616c6f7266756572616c6962
- 726f6775737461696775616c766f746f736361736f736775c3ad61707565646f
- 736f6d6f73617669736f7573746564646562656e6e6f63686562757363616661
- 6c74616575726f737365726965646963686f637572736f636c61766563617361
- 736c65c3b36e706c617a6f6c6172676f6f62726173766973746161706f796f6a
- 756e746f7472617461766973746f637265617263616d706f68656d6f7363696e
- 636f636172676f7069736f736f7264656e686163656ec3a1726561646973636f
- 706564726f63657263617075656461706170656c6d656e6f72c3ba74696c636c
- 61726f6a6f72676563616c6c65706f6e657274617264656e616469656d617263
- 617369677565656c6c61737369676c6f636f6368656d6f746f736d6164726563
- 6c617365726573746f6e69c3b16f7175656461706173617262616e636f68696a
- 6f737669616a657061626c6fc3a97374657669656e657265696e6f64656a6172
- 666f6e646f63616e616c6e6f7274656c657472616361757361746f6d61726d61
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 46]
-
-Internet-Draft Brotli May 2016
-
-
- 6e6f736c756e65736175746f7376696c6c6176656e646f70657361727469706f
- 7374656e67616d6172636f6c6c6576617061647265756e69646f76616d6f737a
- 6f6e6173616d626f7362616e64616d61726961616275736f6d75636861737562
- 697272696f6a617669766972677261646f6368696361616c6cc3ad6a6f76656e
- 6469636861657374616e74616c657373616c69727375656c6f7065736f736669
- 6e65736c6c616d61627573636fc3a97374616c6c6567616e6567726f706c617a
- 6168756d6f7270616761726a756e7461646f626c6569736c6173626f6c736162
- 61c3b16f6861626c616c75636861c381726561646963656e6a756761726e6f74
- 617376616c6c65616c6cc3a16361726761646f6c6f726162616a6f657374c3a9
- 677573746f6d656e74656d6172696f6669726d61636f73746f6669636861706c
- 617461686f67617261727465736c65796573617175656c6d7573656f62617365
- 73706f636f736d697461646369656c6f636869636f6d6965646f67616e617273
- 616e746f65746170616465626573706c61796172656465737369657465636f72
- 7465636f7265616475646173646573656f7669656a6f64657365616167756173
- 2671756f743b646f6d61696e636f6d6d6f6e7374617475736576656e74736d61
- 7374657273797374656d616374696f6e62616e6e657272656d6f76657363726f
- 6c6c757064617465676c6f62616c6d656469756d66696c7465726e756d626572
- 6368616e6765726573756c747075626c696373637265656e63686f6f73656e6f
- 726d616c74726176656c697373756573736f7572636574617267657473707269
- 6e676d6f64756c656d6f62696c6573776974636870686f746f73626f72646572
- 726567696f6e697473656c66736f6369616c616374697665636f6c756d6e7265
- 636f7264666f6c6c6f777469746c653e6569746865726c656e67746866616d69
- 6c79667269656e646c61796f7574617574686f72637265617465726576696577
- 73756d6d6572736572766572706c61796564706c61796572657870616e64706f
- 6c696379666f726d6174646f75626c65706f696e747373657269657370657273
- 6f6e6c6976696e6764657369676e6d6f6e746873666f72636573756e69717565
- 77656967687470656f706c65656e657267796e61747572657365617263686669
- 67757265686176696e67637573746f6d6f66667365746c657474657277696e64
- 6f777375626d697472656e64657267726f75707375706c6f61646865616c7468
- 6d6574686f64766964656f737363686f6f6c667574757265736861646f776465
- 6261746576616c7565734f626a6563746f74686572737269676874736c656167
- 75656368726f6d6573696d706c656e6f74696365736861726564656e64696e67
- 736561736f6e7265706f72746f6e6c696e65737175617265627574746f6e696d
- 61676573656e61626c656d6f76696e676c617465737477696e7465724672616e
- 6365706572696f647374726f6e677265706561744c6f6e646f6e64657461696c
- 666f726d656464656d616e64736563757265706173736564746f67676c65706c
- 6163657364657669636573746174696363697469657373747265616d79656c6c
- 6f7761747461636b737472656574666c6967687468696464656e696e666f223e
- 6f70656e656475736566756c76616c6c65796361757365736c65616465727365
- 637265747365636f6e6464616d61676573706f72747365786365707472617469
- 6e677369676e65647468696e67736566666563746669656c6473737461746573
- 6f666669636576697375616c656469746f72766f6c756d655265706f72746d75
- 7365756d6d6f76696573706172656e746163636573736d6f73746c796d6f7468
- 6572222069643d226d61726b657467726f756e646368616e6365737572766579
- 6265666f726573796d626f6c6d6f6d656e747370656563686d6f74696f6e696e
- 736964656d617474657243656e7465726f626a6563746578697374736d696464
- 6c654575726f706567726f7774686c65676163796d616e6e6572656e6f756768
- 636172656572616e737765726f726967696e706f7274616c636c69656e747365
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 47]
-
-Internet-Draft Brotli May 2016
-
-
- 6c65637472616e646f6d636c6f736564746f70696373636f6d696e6766617468
- 65726f7074696f6e73696d706c7972616973656465736361706563686f73656e
- 636875726368646566696e65726561736f6e636f726e65726f75747075746d65
- 6d6f7279696672616d65706f6c6963656d6f64656c734e756d62657264757269
- 6e676f66666572737374796c65736b696c6c65646c697374656463616c6c6564
- 73696c7665726d617267696e64656c65746562657474657262726f7773656c69
- 6d697473476c6f62616c73696e676c6577696467657463656e74657262756467
- 65746e6f77726170637265646974636c61696d73656e67696e65736166657479
- 63686f6963657370697269742d7374796c657370726561646d616b696e676e65
- 65646564727573736961706c65617365657874656e7453637269707462726f6b
- 656e616c6c6f7773636861726765646976696465666163746f726d656d626572
- 2d62617365647468656f7279636f6e66696761726f756e64776f726b65646865
- 6c706564436875726368696d7061637473686f756c64616c776179736c6f676f
- 2220626f74746f6d6c697374223e297b766172207072656669786f72616e6765
- 4865616465722e7075736828636f75706c6567617264656e6272696467656c61
- 756e636852657669657774616b696e67766973696f6e6c6974746c6564617469
- 6e67427574746f6e6265617574797468656d6573666f72676f74536561726368
- 616e63686f72616c6d6f73746c6f616465644368616e676572657475726e7374
- 72696e6772656c6f61644d6f62696c65696e636f6d65737570706c79536f7572
- 63656f7264657273766965776564266e6273703b636f7572736541626f757420
- 69736c616e643c68746d6c20636f6f6b69656e616d653d22616d617a6f6e6d6f
- 6465726e616476696365696e3c2f613e3a20546865206469616c6f67686f7573
- 6573424547494e204d657869636f73746172747363656e747265686569676874
- 616464696e6749736c616e64617373657473456d706972655363686f6f6c6566
- 666f72746469726563746e6561726c796d616e75616c53656c6563742e0a0a4f
- 6e656a6f696e65646d656e75223e5068696c697061776172647368616e646c65
- 696d706f72744f6666696365726567617264736b696c6c736e6174696f6e5370
- 6f7274736465677265657765656b6c792028652e672e626568696e64646f6374
- 6f726c6f67676564756e697465643c2f623e3c2f626567696e73706c616e7473
- 61737369737461727469737469737375656433303070787c63616e6164616167
- 656e6379736368656d6572656d61696e4272617a696c73616d706c656c6f676f
- 223e6265796f6e642d7363616c656163636570747365727665646d6172696e65
- 466f6f74657263616d6572613c2f68313e0a5f666f726d226c65617665737374
- 7265737322202f3e0d0a2e67696622206f6e6c6f61646c6f616465724f78666f
- 72647369737465727375727669766c697374656e66656d616c6544657369676e
- 73697a653d2261707065616c74657874223e6c6576656c737468616e6b736869
- 67686572666f72636564616e696d616c616e796f6e6541667269636161677265
- 6564726563656e7450656f706c653c6272202f3e776f6e646572707269636573
- 7475726e65647c7c207b7d3b6d61696e223e696e6c696e6573756e6461797772
- 6170223e6661696c656463656e7375736d696e757465626561636f6e71756f74
- 657331353070787c65737461746572656d6f7465656d61696c226c696e6b6564
- 72696768743b7369676e616c666f726d616c312e68746d6c7369676e75707072
- 696e6365666c6f61743a2e706e672220666f72756d2e41636365737370617065
- 7273736f756e6473657874656e64486569676874736c696465725554462d3822
- 26616d703b204265666f72652e205769746873747564696f6f776e6572736d61
- 6e61676570726f6669746a5175657279616e6e75616c706172616d73626f7567
- 687466616d6f7573676f6f676c656c6f6e676572692b2b29207b69737261656c
- 736179696e67646563696465686f6d65223e686561646572656e737572656272
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 48]
-
-Internet-Draft Brotli May 2016
-
-
- 616e6368706965636573626c6f636b3b737461746564746f70223e3c72616369
- 6e67726573697a652d2d2667743b70616369747973657875616c627572656175
- 2e6a7067222031302c3030306f627461696e7469746c6573616d6f756e742c20
- 496e632e636f6d6564796d656e7522206c7972696373746f6461792e696e6465
- 6564636f756e74795f6c6f676f2e46616d696c796c6f6f6b65644d61726b6574
- 6c7365206966506c617965727475726b6579293b76617220666f726573746769
- 76696e676572726f7273446f6d61696e7d656c73657b696e73657274426c6f67
- 3c2f666f6f7465726c6f67696e2e6661737465726167656e74733c626f647920
- 313070782030707261676d616672696461796a756e696f72646f6c6c6172706c
- 61636564636f76657273706c7567696e352c3030302070616765223e626f7374
- 6f6e2e74657374286176617461727465737465645f636f756e74666f72756d73
- 736368656d61696e6465782c66696c6c6564736861726573726561646572616c
- 657274286170706561725375626d69746c696e65223e626f6479223e0a2a2054
- 686554686f756768736565696e676a65727365794e6577733c2f766572696679
- 657870657274696e6a75727977696474683d436f6f6b69655354415254206163
- 726f73735f696d6167657468726561646e6174697665706f636b6574626f7822
- 3e0a53797374656d20446176696463616e6365727461626c657370726f766564
- 417072696c207265616c6c796472697665726974656d223e6d6f7265223e626f
- 61726473636f6c6f727363616d7075736669727374207c7c205b5d3b6d656469
- 612e67756974617266696e69736877696474683a73686f7765644f7468657220
- 2e7068702220617373756d656c617965727377696c736f6e73746f7265737265
- 6c69656673776564656e437573746f6d656173696c7920796f75722053747269
- 6e670a0a5768696c7461796c6f72636c6561723a7265736f72746672656e6368
- 74686f7567682229202b20223c626f64793e627579696e676272616e64734d65
- 6d6265726e616d65223e6f7070696e67736563746f723570783b223e76737061
- 6365706f737465726d616a6f7220636f666665656d617274696e6d6174757265
- 68617070656e3c2f6e61763e6b616e7361736c696e6b223e496d616765733d66
- 616c73657768696c65206873706163653026616d703b200a0a496e2020706f77
- 6572506f6c736b692d636f6c6f726a6f7264616e426f74746f6d537461727420
- 2d636f756e74322e68746d6c6e657773223e30312e6a70674f6e6c696e652d72
- 696768746d696c6c657273656e696f724953424e2030302c3030302067756964
- 657376616c756529656374696f6e7265706169722e786d6c2220207269676874
- 732e68746d6c2d626c6f636b7265674578703a686f76657277697468696e7669
- 7267696e70686f6e65733c2f74723e0d7573696e67200a09766172203e27293b
- 0a093c2f74643e0a3c2f74723e0a62616861736162726173696c67616c65676f
- 6d6167796172706f6c736b69737270736b69d8b1d8afd988e4b8ade69687e7ae
- 80e4bd93e7b981e9ab94e4bfa1e681afe4b8ade59bbde68891e4bbace4b880e4
- b8aae585ace58fb8e7aea1e79086e8aebae59d9be58fafe4bba5e69c8de58aa1
- e697b6e997b4e4b8aae4babae4baa7e59381e887aae5b7b1e4bc81e4b89ae69f
- a5e79c8be5b7a5e4bd9ce88194e7b3bbe6b2a1e69c89e7bd91e7ab99e68980e6
- 9c89e8af84e8aebae4b8ade5bf83e69687e7aba0e794a8e688b7e9a696e9a1b5
- e4bd9ce88085e68a80e69cafe997aee9a298e79bb8e585b3e4b88be8bdbde690
- 9ce7b4a2e4bdbfe794a8e8bdafe4bbb6e59ca8e7babfe4b8bbe9a298e8b584e6
- 9699e8a786e9a291e59b9ee5a48de6b3a8e5868ce7bd91e7bb9ce694b6e8978f
- e58685e5aeb9e68ea8e88d90e5b882e59cbae6b688e681afe7a9bae997b4e58f
- 91e5b883e4bb80e4b988e5a5bde58f8be7949fe6b4bbe59bbee78987e58f91e5
- b195e5a682e69e9ce6898be69cbae696b0e997bbe69c80e696b0e696b9e5bc8f
- e58c97e4baace68f90e4be9be585b3e4ba8ee69bb4e5a49ae8bf99e4b8aae7b3
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 49]
-
-Internet-Draft Brotli May 2016
-
-
- bbe7bb9fe79fa5e98193e6b8b8e6888fe5b9bfe5918ae585b6e4bb96e58f91e8
- a1a8e5ae89e585a8e7acace4b880e4bc9ae59198e8bf9be8a18ce782b9e587bb
- e78988e69d83e794b5e5ad90e4b896e7958ce8aebee8aea1e5858de8b4b9e695
- 99e882b2e58aa0e585a5e6b4bbe58aa8e4bb96e4bbace59586e59381e58d9ae5
- aea2e78eb0e59ca8e4b88ae6b5b7e5a682e4bd95e5b7b2e7bb8fe79599e8a880
- e8afa6e7bb86e7a4bee58cbae799bbe5bd95e69cace7ab99e99c80e8a681e4bb
- b7e6a0bce694afe68c81e59bbde99985e993bee68ea5e59bbde5aeb6e5bbbae8
- aebee69c8be58f8be99885e8afbbe6b395e5be8be4bd8de7bdaee7bb8fe6b58e
- e98089e68ba9e8bf99e6a0b7e5bd93e5898de58886e7b1bbe68e92e8a18ce59b
- a0e4b8bae4baa4e69893e69c80e5908ee99fb3e4b990e4b88de883bde9809ae8
- bf87e8a18ce4b89ae7a791e68a80e58fafe883bde8aebee5a487e59088e4bd9c
- e5a4a7e5aeb6e7a4bee4bc9ae7a094e7a9b6e4b893e4b89ae585a8e983a8e9a1
- b9e79baee8bf99e9878ce8bf98e698afe5bc80e5a78be68385e586b5e794b5e8
- 8491e69687e4bbb6e59381e7898ce5b8aee58aa9e69687e58c96e8b584e6ba90
- e5a4a7e5ada6e5ada6e4b9a0e59cb0e59d80e6b58fe8a788e68a95e8b584e5b7
- a5e7a88be8a681e6b182e6808ee4b988e697b6e58099e58a9fe883bde4b8bbe8
- a681e79baee5898de8b584e8aeafe59f8ee5b882e696b9e6b395e794b5e5bdb1
- e68b9be88198e5a3b0e6988ee4bbbbe4bd95e581a5e5bab7e695b0e68daee7be
- 8ee59bbde6b1bde8bda6e4bb8be7bb8de4bd86e698afe4baa4e6b581e7949fe4
- baa7e68980e4bba5e794b5e8af9de698bee7a4bae4b880e4ba9be58d95e4bd8d
- e4babae59198e58886e69e90e59cb0e59bbee69785e6b8b8e5b7a5e585b7e5ad
- a6e7949fe7b3bbe58897e7bd91e58f8be5b896e5ad90e5af86e7a081e9a291e9
- 8193e68ea7e588b6e59cb0e58cbae59fbae69cace585a8e59bbde7bd91e4b88a
- e9878de8a681e7acace4ba8ce5969ce6aca2e8bf9be585a5e58f8be68385e8bf
- 99e4ba9be88083e8af95e58f91e78eb0e59fb9e8aeade4bba5e4b88ae694bfe5
- ba9ce68890e4b8bae78eafe5a283e9a699e6b8afe5908ce697b6e5a8b1e4b990
- e58f91e98081e4b880e5ae9ae5bc80e58f91e4bd9ce59381e6a087e58786e6ac
- a2e8bf8ee8a7a3e586b3e59cb0e696b9e4b880e4b88be4bba5e58f8ae8b4a3e4
- bbbbe68896e88085e5aea2e688b7e4bba3e8a1a8e7a7afe58886e5a5b3e4baba
- e695b0e7a081e99480e594aee587bae78eb0e7a6bbe7babfe5ba94e794a8e588
- 97e8a1a8e4b88de5908ce7bc96e8be91e7bb9fe8aea1e69fa5e8afa2e4b88de8
- a681e69c89e585b3e69cbae69e84e5be88e5a49ae692ade694bee7bb84e7bb87
- e694bfe7ad96e79bb4e68ea5e883bde58a9be69da5e6ba90e69982e99693e79c
- 8be588b0e783ade997a8e585b3e994aee4b893e58cbae99d9ee5b8b8e88bb1e8
- afade799bee5baa6e5b88ce69c9be7be8ee5a5b3e6af94e8be83e79fa5e8af86
- e8a784e5ae9ae5bbbae8aeaee983a8e997a8e6848fe8a781e7b2bee5bda9e697
- a5e69cace68f90e9ab98e58f91e8a880e696b9e99da2e59fbae98791e5a484e7
- 9086e69d83e99990e5bdb1e78987e993b6e8a18ce8bf98e69c89e58886e4baab
- e789a9e59381e7bb8fe890a5e6b7bbe58aa0e4b893e5aeb6e8bf99e7a78de8af
- 9de9a298e8b5b7e69da5e4b89ae58aa1e585ace5918ae8aeb0e5bd95e7ae80e4
- bb8be8b4a8e9878fe794b7e4babae5bdb1e5938de5bc95e794a8e68aa5e5918a
- e983a8e58886e5bfabe9809fe592a8e8afa2e697b6e5b09ae6b3a8e6848fe794
- b3e8afb7e5ada6e6a0a1e5ba94e8afa5e58e86e58fb2e58faae698afe8bf94e5
- 9b9ee8b4ade4b9b0e5908de7a7b0e4b8bae4ba86e68890e58a9fe8afb4e6988e
- e4be9be5ba94e5ada9e5ad90e4b893e9a298e7a88be5ba8fe4b880e888ace69c
- 83e593a1e58faae69c89e585b6e5ae83e4bf9de68aa4e8808ce4b894e4bb8ae5
- a4a9e7aa97e58fa3e58aa8e68081e78ab6e68081e789b9e588abe8aea4e4b8ba
- e5bf85e9a1bbe69bb4e696b0e5b08fe8afb4e68891e58091e4bd9ce4b8bae5aa
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 50]
-
-Internet-Draft Brotli May 2016
-
-
- 92e4bd93e58c85e68bace982a3e4b988e4b880e6a0b7e59bbde58685e698afe5
- 90a6e6a0b9e68daee794b5e8a786e5ada6e999a2e585b7e69c89e8bf87e7a88b
- e794b1e4ba8ee4babae6898de587bae69da5e4b88de8bf87e6ada3e59ca8e698
- 8ee6989fe69585e4ba8be585b3e7b3bbe6a087e9a298e59586e58aa1e8be93e5
- 85a5e4b880e79bb4e59fbae7a180e69599e5ada6e4ba86e8a7a3e5bbbae7ad91
- e7bb93e69e9ce585a8e79083e9809ae79fa5e8aea1e58892e5afb9e4ba8ee889
- bae69cafe79bb8e5868ce58f91e7949fe79c9fe79a84e5bbbae7ab8be7ad89e7
- baa7e7b1bbe59e8be7bb8fe9aa8ce5ae9ee78eb0e588b6e4bd9ce69da5e887aa
- e6a087e7adbee4bba5e4b88be58e9fe5889be697a0e6b395e585b6e4b8ade580
- 8be4babae4b880e58887e68c87e58d97e585b3e997ade99b86e59ba2e7acace4
- b889e585b3e6b3a8e59ba0e6ada4e785a7e78987e6b7b1e59cb3e59586e4b89a
- e5b9bfe5b79ee697a5e69c9fe9ab98e7baa7e69c80e8bf91e7bbbce59088e8a1
- a8e7a4bae4b893e8be91e8a18ce4b8bae4baa4e9809ae8af84e4bbb7e8a789e5
- be97e7b2bee58d8ee5aeb6e5baade5ae8ce68890e6849fe8a789e5ae89e8a385
- e5be97e588b0e982aee4bbb6e588b6e5baa6e9a39fe59381e899bde784b6e8bd
- ace8bdbde68aa5e4bbb7e8aeb0e88085e696b9e6a188e8a18ce694bfe4babae6
- b091e794a8e59381e4b89ce8a5bfe68f90e587bae98592e5ba97e784b6e5908e
- e4bb98e6acbee783ade782b9e4bba5e5898de5ae8ce585a8e58f91e5b896e8ae
- bee7bdaee9a286e5afbce5b7a5e4b89ae58cbbe999a2e79c8be79c8be7bb8fe5
- 85b8e58e9fe59ba0e5b9b3e58fb0e59084e7a78de5a29ee58aa0e69d90e69699
- e696b0e5a29ee4b98be5908ee8818ce4b89ae69588e69e9ce4bb8ae5b9b4e8ae
- bae69687e68891e59bbde5918ae8af89e78988e4b8bbe4bfaee694b9e58f82e4
- b88ee68993e58db0e5bfabe4b990e69cbae6a2b0e8a782e782b9e5ad98e59ca8
- e7b2bee7a59ee88eb7e5be97e588a9e794a8e7bba7e7bbade4bda0e4bbace8bf
- 99e4b988e6a8a1e5bc8fe8afade8a880e883bde5a49fe99b85e8998ee6938de4
- bd9ce9a38ee6a0bce4b880e8b5b7e7a791e5ada6e4bd93e882b2e79fade4bfa1
- e69da1e4bbb6e6b2bbe79697e8bf90e58aa8e4baa7e4b89ae4bc9ae8aeaee5af
- bce888aae58588e7949fe88194e79b9fe58fafe698afe5958fe9a18ce7bb93e6
- 9e84e4bd9ce794a8e8b083e69fa5e8b387e69699e887aae58aa8e8b49fe8b4a3
- e5869ce4b89ae8aebfe997aee5ae9ee696bde68ea5e58f97e8aea8e8aebae982
- a3e4b8aae58f8de9a688e58aa0e5bcbae5a5b3e680a7e88c83e59bb4e69c8de5
- 8b99e4bc91e997b2e4bb8ae697a5e5aea2e69c8de8a780e79c8be58f82e58aa0
- e79a84e8af9de4b880e782b9e4bf9de8af81e59bbee4b9a6e69c89e69588e6b5
- 8be8af95e7a7bbe58aa8e6898de883bde586b3e5ae9ae882a1e7a5a8e4b88de6
- 96ade99c80e6b182e4b88de5be97e58a9ee6b395e4b98be997b4e98787e794a8
- e890a5e99480e68a95e8af89e79baee6a087e788b1e68385e69184e5bdb1e69c
- 89e4ba9be8a487e8a3bde69687e5ada6e69cbae4bc9ae695b0e5ad97e8a385e4
- bfaee8b4ade789a9e5869ce69d91e585a8e99da2e7b2bee59381e585b6e5ae9e
- e4ba8be68385e6b0b4e5b9b3e68f90e7a4bae4b88ae5b882e8b0a2e8b0a2e699
- aee9809ae69599e5b888e4b88ae4bca0e7b1bbe588abe6ad8ce69bb2e68ba5e6
- 9c89e5889be696b0e9858de4bbb6e58faae8a681e697b6e4bba3e8b387e8a88a
- e8bebee588b0e4babae7949fe8aea2e99885e88081e5b888e5b195e7a4bae5bf
- 83e79086e8b4b4e5ad90e7b6b2e7ab99e4b8bbe9a18ce887aae784b6e7baa7e5
- 88abe7ae80e58d95e694b9e99da9e982a3e4ba9be69da5e8afb4e68993e5bc80
- e4bba3e7a081e588a0e999a4e8af81e588b8e88a82e79baee9878de782b9e6ac
- a1e695b8e5a49ae5b091e8a784e58892e8b584e98791e689bee588b0e4bba5e5
- 908ee5a4a7e585a8e4b8bbe9a1b5e69c80e4bdb3e59b9ee7ad94e5a4a9e4b88b
- e4bf9de99a9ce78eb0e4bba3e6a380e69fa5e68a95e7a5a8e5b08fe697b6e6b2
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 51]
-
-Internet-Draft Brotli May 2016
-
-
- 92e69c89e6ada3e5b8b8e7949ae887b3e4bba3e79086e79baee5bd95e585ace5
- bc80e5a48de588b6e98791e89e8de5b9b8e7a68fe78988e69cace5bda2e68890
- e58786e5a487e8a18ce68385e59b9ee588b0e6809de683b3e6808ee6a0b7e58d
- 8fe8aeaee8aea4e8af81e69c80e5a5bde4baa7e7949fe68c89e785a7e69c8de8
- a385e5b9bfe4b89ce58aa8e6bcabe98787e8b4ade696b0e6898be7bb84e59bbe
- e99da2e69dbfe58f82e88083e694bfe6b2bbe5aeb9e69893e5a4a9e59cb0e58a
- aae58a9be4babae4bbace58d87e7baa7e9809fe5baa6e4babae789a9e8b083e6
- 95b4e6b581e8a18ce980a0e68890e69687e5ad97e99fa9e59bbde8b4b8e69893
- e5bc80e5b195e79bb8e9979ce8a1a8e78eb0e5bdb1e8a786e5a682e6ada4e7be
- 8ee5aeb9e5a4a7e5b08fe68aa5e98193e69da1e6acbee5bf83e68385e8aeb8e5
- a49ae6b395e8a784e5aeb6e5b185e4b9a6e5ba97e8bf9ee68ea5e7ab8be58db3
- e4b8bee68aa5e68a80e5b7a7e5a5a5e8bf90e799bbe585a5e4bba5e69da5e790
- 86e8aebae4ba8be4bbb6e887aae794b1e4b8ade58d8ee58a9ee585ace5a688e5
- a688e79c9fe6ada3e4b88de99499e585a8e69687e59088e5908ce4bbb7e580bc
- e588abe4babae79b91e79da3e585b7e4bd93e4b896e7baaae59ba2e9989fe588
- 9be4b89ae689bfe68b85e5a29ee995bfe69c89e4babae4bf9de68c81e59586e5
- aeb6e7bbb4e4bfaee58fb0e6b9bee5b7a6e58fb3e882a1e4bbbde7ad94e6a188
- e5ae9ee99985e794b5e4bfa1e7bb8fe79086e7949fe591bde5aea3e4bca0e4bb
- bbe58aa1e6ada3e5bc8fe789b9e889b2e4b88be69da5e58d8fe4bc9ae58faae8
- 83bde5bd93e784b6e9878de696b0e585a7e5aeb9e68c87e5afbce8bf90e8a18c
- e697a5e5bf97e8b3a3e5aeb6e8b685e8bf87e59c9fe59cb0e6b599e6b19fe694
- afe4bb98e68ea8e587bae7ab99e995bfe69dade5b79ee689a7e8a18ce588b6e9
- 80a0e4b98be4b880e68ea8e5b9bfe78eb0e59cbae68f8fe8bfb0e58f98e58c96
- e4bca0e7bb9fe6ad8ce6898be4bf9de999a9e8afbee7a88be58cbbe79697e7bb
- 8fe8bf87e8bf87e58ebbe4b98be5898de694b6e585a5e5b9b4e5baa6e69d82e5
- bf97e7be8ee4b8bde69c80e9ab98e799bbe99986e69caae69da5e58aa0e5b7a5
- e5858de8b4a3e69599e7a88be78988e59d97e8baabe4bd93e9878de5ba86e587
- bae594aee68890e69cace5bda2e5bc8fe59c9fe8b186e587bae583b9e4b89ce6
- 96b9e982aee7aeb1e58d97e4baace6b182e8818ce58f96e5be97e8818ce4bd8d
- e79bb8e4bfa1e9a1b5e99da2e58886e9929fe7bd91e9a1b5e7a1aee5ae9ae59b
- bee4be8be7bd91e59d80e7a7afe69e81e99499e8afafe79baee79a84e5ae9de8
- b49de69cbae585b3e9a38ee999a9e68e88e69d83e79785e6af92e5aea0e789a9
- e999a4e4ba86e8a995e8ab96e796bee79785e58f8ae697b6e6b182e8b4ade7ab
- 99e782b9e584bfe7aba5e6af8fe5a4a9e4b8ade5a4aee8aea4e8af86e6af8fe4
- b8aae5a4a9e6b4a5e5ad97e4bd93e58fb0e781a3e7bbb4e68aa4e69cace9a1b5
- e4b8aae680a7e5ae98e696b9e5b8b8e8a781e79bb8e69cbae68898e795a5e5ba
- 94e5bd93e5be8be5b888e696b9e4bebfe6a0a1e59bade882a1e5b882e688bfe5
- b18be6a08fe79baee59198e5b7a5e5afbce887b4e7aa81e784b6e98193e585b7
- e69cace7bd91e7bb93e59088e6a1a3e6a188e58ab3e58aa8e58fa6e5a496e7be
- 8ee58583e5bc95e8b5b7e694b9e58f98e7acace59b9be4bc9ae8aea1e8aaaae6
- 988ee99a90e7a781e5ae9de5ae9de8a784e88c83e6b688e8b4b9e585b1e5908c
- e5bf98e8aeb0e4bd93e7b3bbe5b8a6e69da5e5908de5ad97e799bce8a1a8e5bc
- 80e694bee58aa0e79b9fe58f97e588b0e4ba8ce6898be5a4a7e9878fe68890e4
- babae695b0e9878fe585b1e4baabe58cbae59f9fe5a5b3e5ada9e58e9fe58899
- e68980e59ca8e7bb93e69d9fe9809ae4bfa1e8b685e7baa7e9858de7bdaee5bd
- 93e697b6e4bc98e7a780e680a7e6849fe688bfe4baa7e9818ae688b2e587bae5
- 8fa3e68f90e4baa4e5b0b1e4b89ae4bf9de581a5e7a88be5baa6e58f82e695b0
- e4ba8be4b89ae695b4e4b8aae5b1b1e4b89ce68385e6849fe789b9e6ae8ae588
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 52]
-
-Internet-Draft Brotli May 2016
-
-
- 86e9a19ee6909ce5b08be5b19ee4ba8ee997a8e688b7e8b4a2e58aa1e5a3b0e9
- 9fb3e58f8ae585b6e8b4a2e7bb8fe59d9ae68c81e5b9b2e983a8e68890e7ab8b
- e588a9e79b8ae88083e89991e68890e983bde58c85e8a385e794a8e688b6e6af
- 94e8b59be69687e6988ee68b9be59586e5ae8ce695b4e79c9fe698afe79cbce7
- 9d9be4bc99e4bcb4e5a881e69c9be9a286e59f9fe58dabe7949fe4bc98e683a0
- e8ab96e5a387e585ace585b1e889afe5a5bde58585e58886e7aca6e59088e999
- 84e4bbb6e789b9e782b9e4b88de58fafe88bb1e69687e8b584e4baa7e6a0b9e6
- 9cace6988ee698bee5af86e7a2bce585ace4bc97e6b091e6978fe69bb4e58aa0
- e4baabe58f97e5908ce5ada6e590afe58aa8e98082e59088e58e9fe69da5e997
- aee7ad94e69cace69687e7be8ee9a39fe7bbbfe889b2e7a8b3e5ae9ae7bb88e4
- ba8ee7949fe789a9e4be9be6b182e6909ce78b90e58a9be9878fe4b8a5e9878d
- e6b0b8e8bf9ce58699e79c9fe69c89e99990e7ab9ee4ba89e5afb9e8b1a1e8b4
- b9e794a8e4b88de5a5bde7bb9de5afb9e58d81e58886e4bf83e8bf9be782b9e8
- af84e5bdb1e99fb3e4bc98e58abfe4b88de5b091e6aca3e8b58fe5b9b6e4b894
- e69c89e782b9e696b9e59091e585a8e696b0e4bfa1e794a8e8aebee696bde5bd
- a2e8b1a1e8b584e6a0bce7aa81e7a0b4e99a8fe79d80e9878de5a4a7e4ba8ee6
- 98afe6af95e4b89ae699bae883bde58c96e5b7a5e5ae8ce7be8ee59586e59f8e
- e7bb9fe4b880e587bae78988e68993e980a0e794a2e59381e6a682e586b5e794
- a8e4ba8ee4bf9de79599e59ba0e7b4a0e4b8ade59c8be5ad98e582a8e8b4b4e5
- 9bbee69c80e6849be995bfe69c9fe58fa3e4bbb7e79086e8b4a2e59fbae59cb0
- e5ae89e68e92e6ada6e6b189e9878ce99da2e5889be5bbbae5a4a9e7a9bae9a6
- 96e58588e5ae8ce59684e9a9b1e58aa8e4b88be99da2e4b88de5868de8af9ae4
- bfa1e6848fe4b989e998b3e58589e88bb1e59bbde6bc82e4baaee5869be4ba8b
- e78ea9e5aeb6e7bea4e4bc97e5869ce6b091e58db3e58fafe5908de7a8b1e5ae
- b6e585b7e58aa8e794bbe683b3e588b0e6b3a8e6988ee5b08fe5ada6e680a7e8
- 83bde88083e7a094e7a1ace4bbb6e8a782e79c8be6b885e6a59ae6909ee7ac91
- e9a696e9a081e9bb84e98791e98082e794a8e6b19fe88b8fe79c9fe5ae9ee4b8
- bbe7aea1e998b6e6aeb5e8a8bbe5868ae7bfbbe8af91e69d83e588a9e5819ae5
- a5bde4bcbce4b98ee9809ae8aeafe696bde5b7a5e78b80e6858be4b99fe8aeb8
- e78eafe4bf9de59fb9e585bbe6a682e5bfb5e5a4a7e59e8be69cbae7a5a8e790
- 86e8a7a3e58cbfe5908d6375616e646f656e766961726d616472696462757363
- 6172696e6963696f7469656d706f706f727175656375656e746165737461646f
- 70756564656e6a7565676f73636f6e747261657374c3a16e6e6f6d6272657469
- 656e656e70657266696c6d616e657261616d69676f7363697564616463656e74
- 726f61756e71756570756564657364656e74726f7072696d657270726563696f
- 736567c3ba6e6275656e6f73766f6c76657270756e746f7373656d616e616861
- 62c3ad6161676f73746f6e7565766f73756e69646f736361726c6f7365717569
- 706f6e69c3b16f736d7563686f73616c67756e61636f7272656f696d6167656e
- 7061727469726172726962616d6172c3ad61686f6d627265656d706c656f7665
- 7264616463616d62696f6d7563686173667565726f6e70617361646f6cc3ad6e
- 65617061726563656e7565766173637572736f7365737461626171756965726f
- 6c6962726f736375616e746f61636365736f6d696775656c766172696f736375
- 6174726f7469656e6573677275706f73736572c3a16e6575726f70616d656469
- 6f736672656e746561636572636164656dc3a1736f6665727461636f63686573
- 6d6f64656c6f6974616c69616c6574726173616c67c3ba6e636f6d7072616375
- 616c657365786973746563756572706f7369656e646f7072656e73616c6c6567
- 61727669616a657364696e65726f6d7572636961706f6472c3a170756573746f
- 64696172696f707565626c6f7175696572656d616e75656c70726f70696f6372
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 53]
-
-Internet-Draft Brotli May 2016
-
-
- 6973697363696572746f73656775726f6d75657274656675656e746563657272
- 61726772616e646565666563746f7061727465736d656469646170726f706961
- 6f6672656365746965727261652d6d61696c766172696173666f726d61736675
- 7475726f6f626a65746f73656775697272696573676f6e6f726d61736d69736d
- 6f73c3ba6e69636f63616d696e6f736974696f7372617ac3b36e64656269646f
- 707275656261746f6c65646f74656ec3ad616a6573c3ba7365737065726f636f
- 63696e616f726967656e7469656e64616369656e746f63c3a164697a6861626c
- 6172736572c3ad616c6174696e61667565727a61657374696c6f677565727261
- 656e74726172c3a97869746f6cc3b370657a6167656e646176c3ad64656f6576
- 69746172706167696e616d6574726f736a617669657270616472657366c3a163
- 696c636162657a61c3a17265617373616c696461656e76c3ad6f6a6170c3b36e
- 616275736f736269656e6573746578746f736c6c6576617270756564616e6675
- 65727465636f6dc3ba6e636c6173657368756d616e6f74656e69646f62696c62
- 616f756e69646164657374c3a17365646974617263726561646fd0b4d0bbd18f
- d187d182d0bed0bad0b0d0bad0b8d0bbd0b8d18dd182d0bed0b2d181d0b5d0b5
- d0b3d0bed0bfd180d0b8d182d0b0d0bad0b5d189d0b5d183d0b6d0b5d09ad0b0
- d0bad0b1d0b5d0b7d0b1d18bd0bbd0bed0bdd0b8d092d181d0b5d0bfd0bed0b4
- d0add182d0bed182d0bed0bcd187d0b5d0bcd0bdd0b5d182d0bbd0b5d182d180
- d0b0d0b7d0bed0bdd0b0d0b3d0b4d0b5d0bcd0bdd0b5d094d0bbd18fd09fd180
- d0b8d0bdd0b0d181d0bdd0b8d185d182d0b5d0bcd0bad182d0bed0b3d0bed0b4
- d0b2d0bed182d182d0b0d0bcd0a1d0a8d090d0bcd0b0d18fd0a7d182d0bed0b2
- d0b0d181d0b2d0b0d0bcd0b5d0bcd183d0a2d0b0d0bad0b4d0b2d0b0d0bdd0b0
- d0bcd18dd182d0b8d18dd182d183d092d0b0d0bcd182d0b5d185d0bfd180d0be
- d182d183d182d0bdd0b0d0b4d0b4d0bdd18fd092d0bed182d182d180d0b8d0bd
- d0b5d0b9d092d0b0d181d0bdd0b8d0bcd181d0b0d0bcd182d0bed182d180d183
- d0b1d09ed0bdd0b8d0bcd0b8d180d0bdd0b5d0b5d09ed09ed09ed0bbd0b8d186
- d18dd182d0b0d09ed0bdd0b0d0bdd0b5d0bcd0b4d0bed0bcd0bcd0bed0b9d0b4
- d0b2d0b5d0bed0bdd0bed181d183d0b4e0a495e0a587e0a4b9e0a588e0a495e0
- a580e0a4b8e0a587e0a495e0a4bee0a495e0a58be0a494e0a4b0e0a4aae0a4b0
- e0a4a8e0a587e0a48fe0a495e0a495e0a4bfe0a4ade0a580e0a487e0a4b8e0a4
- 95e0a4b0e0a4a4e0a58be0a4b9e0a58be0a486e0a4aae0a4b9e0a580e0a4afe0
- a4b9e0a4afe0a4bee0a4a4e0a495e0a4a5e0a4be6a616772616ee0a486e0a49c
- e0a49ce0a58be0a485e0a4ace0a4a6e0a58be0a497e0a488e0a49ce0a4bee0a4
- 97e0a48fe0a4b9e0a4aee0a487e0a4a8e0a4b5e0a4b9e0a4afe0a587e0a4a5e0
- a587e0a4a5e0a580e0a498e0a4b0e0a49ce0a4ace0a4a6e0a580e0a495e0a488
- e0a49ce0a580e0a4b5e0a587e0a4a8e0a488e0a4a8e0a48fe0a4b9e0a4b0e0a4
- 89e0a4b8e0a4aee0a587e0a495e0a4aee0a4b5e0a58be0a4b2e0a587e0a4b8e0
- a4ace0a4aee0a488e0a4a6e0a587e0a493e0a4b0e0a486e0a4aee0a4ace0a4b8
- e0a4ade0a4b0e0a4ace0a4a8e0a49ae0a4b2e0a4aee0a4a8e0a486e0a497e0a4
- b8e0a580e0a4b2e0a580d8b9d984d989d8a5d984d989d987d8b0d8a7d8a2d8ae
- d8b1d8b9d8afd8afd8a7d984d989d987d8b0d987d8b5d988d8b1d8bad98ad8b1
- d983d8a7d986d988d984d8a7d8a8d98ad986d8b9d8b1d8b6d8b0d984d983d987
- d986d8a7d98ad988d985d982d8a7d984d8b9d984d98ad8a7d986d8a7d984d983
- d986d8add8aad989d982d8a8d984d988d8add8a9d8a7d8aed8b1d981d982d8b7
- d8b9d8a8d8afd8b1d983d986d8a5d8b0d8a7d983d985d8a7d8a7d8add8afd8a5
- d984d8a7d981d98ad987d8a8d8b9d8b6d983d98ad981d8a8d8add8abd988d985
- d986d988d987d988d8a3d986d8a7d8acd8afd8a7d984d987d8a7d8b3d984d985
- d8b9d986d8afd984d98ad8b3d8b9d8a8d8b1d8b5d984d989d985d986d8b0d8a8
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 54]
-
-Internet-Draft Brotli May 2016
-
-
- d987d8a7d8a3d986d987d985d8abd984d983d986d8aad8a7d984d8a7d8add98a
- d8abd985d8b5d8b1d8b4d8b1d8add8add988d984d988d981d98ad8a7d8b0d8a7
- d984d983d984d985d8b1d8a9d8a7d986d8aad8a7d984d981d8a3d8a8d988d8ae
- d8a7d8b5d8a3d986d8aad8a7d986d987d8a7d984d98ad8b9d8b6d988d988d982
- d8afd8a7d8a8d986d8aed98ad8b1d8a8d986d8aad984d983d985d8b4d8a7d8a1
- d988d987d98ad8a7d8a8d988d982d8b5d8b5d988d985d8a7d8b1d982d985d8a3
- d8add8afd986d8add986d8b9d8afd985d8b1d8a3d98ad8a7d8add8a9d983d8aa
- d8a8d8afd988d986d98ad8acd8a8d985d986d987d8aad8add8aad8acd987d8a9
- d8b3d986d8a9d98ad8aad985d983d8b1d8a9d8bad8b2d8a9d986d981d8b3d8a8
- d98ad8aad984d984d987d984d986d8a7d8aad984d983d982d984d8a8d984d985
- d8a7d8b9d986d987d8a3d988d984d8b4d98ad8a1d986d988d8b1d8a3d985d8a7
- d981d98ad983d8a8d983d984d8b0d8a7d8aad8b1d8aad8a8d8a8d8a3d986d987
- d985d8b3d8a7d986d983d8a8d98ad8b9d981d982d8afd8add8b3d986d984d987
- d985d8b4d8b9d8b1d8a3d987d984d8b4d987d8b1d982d8b7d8b1d8b7d984d8a8
- 70726f66696c657365727669636564656661756c7468696d73656c6664657461
- 696c73636f6e74656e74737570706f7274737461727465646d65737361676573
- 75636365737366617368696f6e3c7469746c653e636f756e7472796163636f75
- 6e746372656174656473746f72696573726573756c747372756e6e696e677072
- 6f6365737377726974696e676f626a6563747376697369626c6577656c636f6d
- 6561727469636c65756e6b6e6f776e6e6574776f726b636f6d70616e7964796e
- 616d696362726f777365727072697661637970726f626c656d53657276696365
- 72657370656374646973706c6179726571756573747265736572766577656273
- 697465686973746f7279667269656e64736f7074696f6e73776f726b696e6776
- 657273696f6e6d696c6c696f6e6368616e6e656c77696e646f772e6164647265
- 73737669736974656477656174686572636f727265637470726f647563746564
- 6972656374666f7277617264796f752063616e72656d6f7665647375626a6563
- 74636f6e74726f6c6172636869766563757272656e7472656164696e676c6962
- 726172796c696d697465646d616e616765726675727468657273756d6d617279
- 6d616368696e656d696e7574657370726976617465636f6e7465787470726f67
- 72616d736f63696574796e756d626572737772697474656e656e61626c656474
- 726967676572736f75726365736c6f6164696e67656c656d656e74706172746e
- 657266696e616c6c79706572666563746d65616e696e6773797374656d736b65
- 6570696e6763756c747572652671756f743b2c6a6f75726e616c70726f6a6563
- 7473757266616365732671756f743b657870697265737265766965777362616c
- 616e6365456e676c697368436f6e74656e747468726f756768506c6561736520
- 6f70696e696f6e636f6e74616374617665726167657072696d61727976696c6c
- 6167655370616e69736867616c6c6572796465636c696e656d656574696e676d
- 697373696f6e706f70756c61727175616c6974796d65617375726567656e6572
- 616c7370656369657373657373696f6e73656374696f6e77726974657273636f
- 756e746572696e697469616c7265706f727473666967757265736d656d626572
- 73686f6c64696e67646973707574656561726c69657265787072657373646967
- 6974616c70696374757265416e6f746865726d61727269656474726166666963
- 6c656164696e676368616e67656463656e7472616c766963746f7279696d6167
- 65732f726561736f6e7373747564696573666561747572656c697374696e676d
- 7573742062657363686f6f6c7356657273696f6e757375616c6c79657069736f
- 6465706c6179696e6767726f77696e676f6276696f75736f7665726c61797072
- 6573656e74616374696f6e733c2f756c3e0d0a77726170706572616c72656164
- 796365727461696e7265616c69747973746f72616765616e6f74686572646573
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 55]
-
-Internet-Draft Brotli May 2016
-
-
- 6b746f706f6666657265647061747465726e756e757375616c4469676974616c
- 6361706974616c576562736974656661696c757265636f6e6e65637472656475
- 636564416e64726f696464656361646573726567756c61722026616d703b2061
- 6e696d616c7372656c656173654175746f6d617467657474696e676d6574686f
- 64736e6f7468696e67506f70756c617263617074696f6e6c6574746572736361
- 7074757265736369656e63656c6963656e73656368616e676573456e676c616e
- 643d3126616d703b486973746f7279203d206e65772043656e7472616c757064
- 617465645370656369616c4e6574776f726b72657175697265636f6d6d656e74
- 7761726e696e67436f6c6c656765746f6f6c62617272656d61696e7362656361
- 757365656c65637465644465757473636866696e616e6365776f726b65727371
- 7569636b6c796265747765656e65786163746c7973657474696e676469736561
- 7365536f6369657479776561706f6e7365786869626974266c743b212d2d436f
- 6e74726f6c636c6173736573636f76657265646f75746c696e6561747461636b
- 73646576696365732877696e646f77707572706f73657469746c653d224d6f62
- 696c65206b696c6c696e6773686f77696e674974616c69616e64726f70706564
- 68656176696c79656666656374732d31275d293b0a636f6e6669726d43757272
- 656e74616476616e636573686172696e676f70656e696e6764726177696e6762
- 696c6c696f6e6f7264657265644765726d616e7972656c617465643c2f666f72
- 6d3e696e636c75646577686574686572646566696e6564536369656e63656361
- 74616c6f6741727469636c65627574746f6e736c617267657374756e69666f72
- 6d6a6f75726e6579736964656261724368696361676f686f6c6964617947656e
- 6572616c706173736167652c2671756f743b616e696d6174656665656c696e67
- 6172726976656470617373696e676e61747572616c726f7567686c792e0a0a54
- 686520627574206e6f7464656e736974794272697461696e4368696e6573656c
- 61636b206f66747269627574654972656c616e642220646174612d666163746f
- 727372656365697665746861742069734c69627261727968757362616e64696e
- 206661637461666661697273436861726c65737261646963616c62726f756768
- 7466696e64696e676c616e64696e673a6c616e673d2272657475726e206c6561
- 64657273706c616e6e65647072656d69756d7061636b616765416d6572696361
- 45646974696f6e5d2671756f743b4d6573736167656e65656420746f76616c75
- 653d22636f6d706c65786c6f6f6b696e6773746174696f6e62656c6965766573
- 6d616c6c65722d6d6f62696c657265636f72647377616e7420746f6b696e6420
- 6f6646697265666f78796f752061726573696d696c6172737475646965646d61
- 78696d756d68656164696e6772617069646c79636c696d6174656b696e67646f
- 6d656d6572676564616d6f756e7473666f756e64656470696f6e656572666f72
- 6d756c6164796e61737479686f7720746f20537570706f7274726576656e7565
- 65636f6e6f6d79526573756c747362726f74686572736f6c646965726c617267
- 656c7963616c6c696e672e2671756f743b4163636f756e744564776172642073
- 65676d656e74526f62657274206566666f727473506163696669636c6561726e
- 6564757020776974686865696768743a77652068617665416e67656c65736e61
- 74696f6e735f7365617263686170706c696564616371756972656d6173736976
- 656772616e7465643a2066616c7365747265617465646269676765737462656e
- 6566697464726976696e67537475646965736d696e696d756d70657268617073
- 6d6f726e696e6773656c6c696e67697320757365647265766572736576617269
- 616e7420726f6c653d226d697373696e676163686965766570726f6d6f746573
- 747564656e74736f6d656f6e6565787472656d65726573746f7265626f74746f
- 6d3a65766f6c766564616c6c20746865736974656d6170656e676c6973687761
- 7920746f202041756775737473796d626f6c73436f6d70616e796d6174746572
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 56]
-
-Internet-Draft Brotli May 2016
-
-
- 736d75736963616c616761696e737473657276696e677d2928293b0d0a706179
- 6d656e7474726f75626c65636f6e63657074636f6d70617265706172656e7473
- 706c6179657273726567696f6e736d6f6e69746f722027275468652077696e6e
- 696e676578706c6f72656164617074656447616c6c65727970726f6475636561
- 62696c697479656e68616e636563617265657273292e2054686520636f6c6c65
- 637453656172636820616e6369656e7465786973746564666f6f746572206861
- 6e646c65727072696e746564636f6e736f6c654561737465726e6578706f7274
- 7377696e646f77734368616e6e656c696c6c6567616c6e65757472616c737567
- 676573745f6865616465727369676e696e672e68746d6c223e736574746c6564
- 7765737465726e63617573696e672d7765626b6974636c61696d65644a757374
- 6963656368617074657276696374696d7354686f6d6173206d6f7a696c6c6170
- 726f6d6973657061727469657365646974696f6e6f7574736964653a66616c73
- 652c68756e647265644f6c796d7069635f627574746f6e617574686f72737265
- 61636865646368726f6e696364656d616e64737365636f6e647370726f746563
- 7461646f70746564707265706172656e65697468657267726561746c79677265
- 617465726f766572616c6c696d70726f7665636f6d6d616e647370656369616c
- 7365617263682e776f727368697066756e64696e6774686f7567687468696768
- 657374696e73746561647574696c6974797175617274657243756c7475726574
- 657374696e67636c6561726c796578706f73656442726f777365726c69626572
- 616c7d20636174636850726f6a6563746578616d706c656869646528293b466c
- 6f72696461616e7377657273616c6c6f776564456d7065726f72646566656e73
- 65736572696f757366726565646f6d5365766572616c2d627574746f6e467572
- 746865726f7574206f6620213d206e756c6c747261696e656444656e6d61726b
- 766f69642830292f616c6c2e6a7370726576656e745265717565737453746570
- 68656e0a0a5768656e206f6273657276653c2f68323e0d0a4d6f6465726e2070
- 726f766964652220616c743d22626f72646572732e0a0a466f72200a0a4d616e
- 792061727469737473706f7765726564706572666f726d66696374696f6e7479
- 7065206f666d65646963616c7469636b6574736f70706f736564436f756e6369
- 6c7769746e6573736a75737469636547656f7267652042656c6769756d2e2e2e
- 3c2f613e747769747465726e6f7461626c7977616974696e6777617266617265
- 204f746865722072616e6b696e67706872617365736d656e74696f6e73757276
- 6976657363686f6c61723c2f703e0d0a20436f756e74727969676e6f7265646c
- 6f7373206f666a75737420617347656f72676961737472616e67653c68656164
- 3e3c73746f7070656431275d293b0d0a69736c616e64736e6f7461626c65626f
- 726465723a6c697374206f66636172726965643130302c3030303c2f68333e0a
- 207365766572616c6265636f6d657373656c6563742077656464696e6730302e
- 68746d6c6d6f6e617263686f66662074686574656163686572686967686c7920
- 62696f6c6f67796c696665206f666f72206576656e72697365206f6626726171
- 756f3b706c75736f6e6568756e74696e672874686f756768446f75676c61736a
- 6f696e696e67636972636c6573466f7220746865416e6369656e74566965746e
- 616d76656869636c65737563682061736372797374616c76616c7565203d5769
- 6e646f7773656e6a6f7965646120736d616c6c617373756d65643c612069643d
- 22666f726569676e20416c6c207269686f7720746865446973706c6179726574
- 69726564686f776576657268696464656e3b626174746c65737365656b696e67
- 636162696e6574776173206e6f746c6f6f6b206174636f6e6475637467657420
- 7468654a616e7561727968617070656e737475726e696e67613a686f7665724f
- 6e6c696e65204672656e6368206c61636b696e677479706963616c6578747261
- 6374656e656d6965736576656e20696667656e65726174646563696465646172
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 57]
-
-Internet-Draft Brotli May 2016
-
-
- 65206e6f742f73656172636862656c696566732d696d6167653a6c6f63617465
- 647374617469632e6c6f67696e223e636f6e7665727476696f6c656e74656e74
- 657265646669727374223e6369726375697446696e6c616e646368656d697374
- 73686520776173313070783b223e61732073756368646976696465643c2f7370
- 616e3e77696c6c2062656c696e65206f66612067726561746d7973746572792f
- 696e6465782e66616c6c696e6764756520746f207261696c776179636f6c6c65
- 67656d6f6e7374657264657363656e74697420776974686e75636c6561724a65
- 776973682070726f7465737442726974697368666c6f77657273707265646963
- 747265666f726d73627574746f6e2077686f207761736c656374757265696e73
- 74616e747375696369646567656e65726963706572696f64736d61726b657473
- 536f6369616c2066697368696e67636f6d62696e656772617068696377696e6e
- 6572733c6272202f3e3c627920746865204e61747572616c5072697661637963
- 6f6f6b6965736f7574636f6d657265736f6c7665537765646973686272696566
- 6c795065727369616e736f206d75636843656e7475727964657069637473636f
- 6c756d6e73686f7573696e67736372697074736e65787420746f62656172696e
- 676d617070696e67726576697365646a5175657279282d77696474683a746974
- 6c65223e746f6f6c74697053656374696f6e64657369676e735475726b697368
- 796f756e6765722e6d61746368287d2928293b0a0a6275726e696e676f706572
- 61746564656772656573736f757263653d52696368617264636c6f73656c7970
- 6c6173746963656e74726965733c2f74723e0d0a636f6c6f723a23756c206964
- 3d22706f7373657373726f6c6c696e67706879736963736661696c696e676578
- 6563757465636f6e746573746c696e6b20746f44656661756c743c6272202f3e
- 0a3a20747275652c63686172746572746f757269736d636c617373696370726f
- 636565646578706c61696e3c2f68313e0d0a6f6e6c696e652e3f786d6c207665
- 68656c70696e676469616d6f6e64757365207468656169726c696e65656e6420
- 2d2d3e292e617474722872656164657273686f7374696e672366666666666672
- 65616c697a6556696e63656e747369676e616c73207372633d222f50726f6475
- 6374646573706974656469766572736574656c6c696e675075626c6963206865
- 6c6420696e4a6f736570682074686561747265616666656374733c7374796c65
- 3e61206c61726765646f65736e27746c617465722c20456c656d656e74666176
- 69636f6e63726561746f7248756e67617279416972706f727473656520746865
- 736f20746861744d69636861656c53797374656d7350726f6772616d732c2061
- 6e64202077696474683d652671756f743b74726164696e676c656674223e0a70
- 6572736f6e73476f6c64656e20416666616972736772616d6d6172666f726d69
- 6e6764657374726f7969646561206f6663617365206f666f6c64657374207468
- 69732069732e737263203d20636172746f6f6e72656769737472436f6d6d6f6e
- 734d75736c696d7357686174206973696e206d616e796d61726b696e67726576
- 65616c73496e646565642c657175616c6c792f73686f775f616f7574646f6f72
- 657363617065284175737472696167656e6574696373797374656d2c496e2074
- 68652073697474696e67486520616c736f49736c616e647341636164656d790a
- 09093c212d2d44616e69656c2062696e64696e67626c6f636b223e696d706f73
- 65647574696c697a654162726168616d286578636570747b77696474683a7075
- 7474696e67292e68746d6c287c7c205b5d3b0a444154415b202a6b6974636865
- 6e6d6f756e74656461637475616c206469616c6563746d61696e6c79205f626c
- 616e6b27696e7374616c6c6578706572747369662874797065497420616c736f
- 26636f70793b20223e5465726d73626f726e20696e4f7074696f6e7365617374
- 65726e74616c6b696e67636f6e6365726e6761696e6564206f6e676f696e676a
- 75737469667963726974696373666163746f7279697473206f776e6173736175
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 58]
-
-Internet-Draft Brotli May 2016
-
-
- 6c74696e76697465646c617374696e67686973206f776e687265663d222f2220
- 72656c3d22646576656c6f70636f6e636572746469616772616d646f6c6c6172
- 73636c75737465727068703f69643d616c636f686f6c293b7d2928293b757369
- 6e6720613e3c7370616e3e76657373656c737265766976616c41646472657373
- 616d6174657572616e64726f6964616c6c65676564696c6c6e65737377616c6b
- 696e6763656e746572737175616c6966796d617463686573756e696669656465
- 7874696e6374446566656e73656469656420696e0a093c212d2d20637573746f
- 6d736c696e6b696e674c6974746c6520426f6f6b206f666576656e696e676d69
- 6e2e6a733f617265207468656b6f6e74616b74746f64617927732e68746d6c22
- 207461726765743d77656172696e67416c6c205269673b0a7d2928293b726169
- 73696e6720416c736f2c206372756369616c61626f7574223e6465636c617265
- 2d2d3e0a3c736366697265666f786173206d7563686170706c696573696e6465
- 782c20732c206275742074797065203d200a0d0a3c212d2d746f776172647352
- 65636f72647350726976617465466f726569676e5072656d69657263686f6963
- 65735669727475616c72657475726e73436f6d6d656e74506f7765726564696e
- 6c696e653b706f76657274796368616d6265724c6976696e6720766f6c756d65
- 73416e74686f6e796c6f67696e222052656c6174656445636f6e6f6d79726561
- 6368657363757474696e67677261766974796c69666520696e43686170746572
- 2d736861646f774e6f7461626c653c2f74643e0d0a2072657475726e73746164
- 69756d7769646765747376617279696e6774726176656c7368656c6420627977
- 686f20617265776f726b20696e666163756c7479616e67756c617277686f2068
- 6164616972706f7274746f776e206f660a0a536f6d652027636c69636b276368
- 61726765736b6579776f726469742077696c6c63697479206f66287468697329
- 3b416e6472657720756e6971756520636865636b65646f72206d6f7265333030
- 70783b2072657475726e3b7273696f6e3d22706c7567696e7377697468696e20
- 68657273656c6653746174696f6e4665646572616c76656e747572657075626c
- 69736873656e7420746f74656e73696f6e61637472657373636f6d6520746f66
- 696e6765727344756b65206f6670656f706c652c6578706c6f69747768617420
- 69736861726d6f6e7961206d616a6f72223a2268747470696e20686973206d65
- 6e75223e0a6d6f6e74686c796f666669636572636f756e63696c6761696e696e
- 676576656e20696e53756d6d61727964617465206f666c6f79616c7479666974
- 6e657373616e6420776173656d7065726f7273757072656d655365636f6e6420
- 68656172696e675275737369616e6c6f6e67657374416c62657274616c617465
- 72616c736574206f6620736d616c6c223e2e617070656e64646f207769746866
- 65646572616c62616e6b206f6662656e65617468446573706974654361706974
- 616c67726f756e6473292c20616e642070657263656e7469742066726f6d636c
- 6f73696e67636f6e7461696e496e73746561646669667465656e61732077656c
- 6c2e7961686f6f2e726573706f6e64666967687465726f627363757265726566
- 6c6563746f7267616e69633d204d6174682e65646974696e676f6e6c696e6520
- 70616464696e67612077686f6c656f6e6572726f7279656172206f66656e6420
- 6f6620626172726965727768656e20697468656164657220686f6d65206f6672
- 6573756d656472656e616d65647374726f6e673e68656174696e677265746169
- 6e73636c6f75646672776179206f66204d6172636820316b6e6f77696e67696e
- 20706172744265747765656e6c6573736f6e73636c6f73657374766972747561
- 6c6c696e6b73223e63726f73736564454e44202d2d3e66616d6f757320617761
- 726465644c6963656e73654865616c746820666169726c79207765616c746879
- 6d696e696d616c4166726963616e636f6d706574656c6162656c223e73696e67
- 696e676661726d65727342726173696c29646973637573737265706c61636547
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 59]
-
-Internet-Draft Brotli May 2016
-
-
- 7265676f7279666f6e7420636f70757273756564617070656172736d616b6520
- 7570726f756e646564626f7468206f66626c6f636b6564736177207468656f66
- 6669636573636f6c6f757273696628646f63757768656e206865656e666f7263
- 6570757368286675417567757374205554462d38223e46616e74617379696e20
- 6d6f7374696e6a75726564557375616c6c796661726d696e67636c6f73757265
- 6f626a65637420646566656e6365757365206f66204d65646963616c3c626f64
- 793e0a65766964656e74626520757365646b6579436f64657369787465656e49
- 736c616d696323303030303030656e7469726520776964656c79206163746976
- 652028747970656f666f6e652063616e636f6c6f72203d737065616b65726578
- 74656e6473506879736963737465727261696e3c74626f64793e66756e657261
- 6c76696577696e676d6964646c6520637269636b657470726f70686574736869
- 66746564646f63746f727352757373656c6c20746172676574636f6d70616374
- 616c6765627261736f6369616c2d62756c6b206f666d616e20616e643c2f7464
- 3e0a206865206c656674292e76616c282966616c7365293b6c6f676963616c62
- 616e6b696e67686f6d6520746f6e616d696e67204172697a6f6e616372656469
- 7473293b0a7d293b0a666f756e646572696e207475726e436f6c6c696e736265
- 666f72652042757420746865636861726765645469746c65223e436170746169
- 6e7370656c6c6564676f6464657373546167202d2d3e416464696e673a627574
- 20776173526563656e742070617469656e746261636b20696e3d66616c736526
- 4c696e636f6c6e7765206b6e6f77436f756e7465724a75646169736d73637269
- 707420616c7465726564275d293b0a202068617320746865756e636c65617245
- 76656e74272c626f746820696e6e6f7420616c6c0a0a3c212d2d20706c616369
- 6e676861726420746f2063656e746572736f7274206f66636c69656e74737374
- 72656574734265726e6172646173736572747374656e6420746f66616e746173
- 79646f776e20696e686172626f757246726565646f6d6a6577656c72792f6162
- 6f75742e2e7365617263686c6567656e64736973206d6164656d6f6465726e20
- 6f6e6c79206f6e6f6e6c7920746f696d61676522206c696e656172207061696e
- 746572616e64206e6f74726172656c79206163726f6e796d64656c6976657273
- 686f72746572303026616d703b6173206d616e7977696474683d222f2a203c21
- 5b437469746c65203d6f6620746865206c6f77657374207069636b6564206573
- 636170656475736573206f6670656f706c6573205075626c69634d6174746865
- 777461637469637364616d6167656477617920666f726c617773206f66656173
- 7920746f2077696e646f777374726f6e67202073696d706c657d636174636828
- 736576656e7468696e666f626f7877656e7420746f7061696e74656463697469
- 7a656e4920646f6e2774726574726561742e20536f6d652077772e22293b0a62
- 6f6d62696e676d61696c746f3a6d61646520696e2e204d616e79206361727269
- 65737c7c7b7d3b7769776f726b206f6673796e6f6e796d646566656174736661
- 766f7265646f70746963616c70616765547261756e6c6573732073656e64696e
- 676c656674223e3c636f6d53636f72416c6c207468656a51756572792e746f75
- 72697374436c617373696366616c7365222057696c68656c6d73756275726273
- 67656e75696e65626973686f70732e73706c697428676c6f62616c20666f6c6c
- 6f7773626f6479206f666e6f6d696e616c436f6e74616374736563756c61726c
- 65667420746f63686965666c792d68696464656e2d62616e6e65723c2f6c693e
- 0a0a2e205768656e20696e20626f74686469736d6973734578706c6f7265616c
- 776179732076696120746865737061c3b16f6c77656c6661726572756c696e67
- 20617272616e67656361707461696e68697320736f6e72756c65206f66686520
- 746f6f6b697473656c662c3d3026616d703b2863616c6c656473616d706c6573
- 746f206d616b65636f6d2f7061674d617274696e204b656e6e65647961636365
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 60]
-
-Internet-Draft Brotli May 2016
-
-
- 70747366756c6c206f6668616e646c6564426573696465732f2f2d2d3e3c2f61
- 626c6520746f74617267657473657373656e636568696d20746f206974732062
- 7920636f6d6d6f6e2e6d696e6572616c746f2074616b657761797320746f732e
- 6f72672f6c6164766973656470656e616c747973696d706c653a696620746865
- 794c657474657273612073686f727448657262657274737472696b6573206772
- 6f7570732e6c656e677468666c69676874736f7665726c6170736c6f776c7920
- 6c657373657220736f6369616c203c2f703e0a0909697420696e746f72616e6b
- 65642072617465206f66756c3e0d0a2020617474656d707470616972206f666d
- 616b652069744b6f6e74616b74416e746f6e696f686176696e6720726174696e
- 67732061637469766573747265616d737472617070656422292e63737328686f
- 7374696c656c65616420746f6c6974746c652067726f7570732c506963747572
- 652d2d3e0d0a0d0a20726f77733d22206f626a656374696e76657273653c666f
- 6f746572437573746f6d563e3c5c2f736372736f6c76696e674368616d626572
- 736c6176657279776f756e64656477686572656173213d2027756e64666f7220
- 616c6c706172746c79202d72696768743a4172616269616e6261636b65642063
- 656e74757279756e6974206f666d6f62696c652d4575726f70652c697320686f
- 6d657269736b206f6664657369726564436c696e746f6e636f7374206f666167
- 65206f66206265636f6d65206e6f6e65206f66702671756f743b4d6964646c65
- 2065616427295b304372697469637373747564696f733e26636f70793b67726f
- 7570223e617373656d626c6d616b696e6720707265737365647769646765742e
- 70733a22203f2072656275696c74627920736f6d65466f726d65722065646974
- 6f727364656c6179656443616e6f6e69636861642074686570757368696e6763
- 6c6173733d22627574206172657061727469616c426162796c6f6e626f74746f
- 6d2063617272696572436f6d6d616e646974732075736541732077697468636f
- 75727365736120746869726464656e6f746573616c736f20696e486f7573746f
- 6e323070783b223e61636375736564646f75626c6520676f616c206f6646616d
- 6f757320292e62696e642870726965737473204f6e6c696e65696e204a756c79
- 7374202b202267636f6e73756c74646563696d616c68656c7066756c72657669
- 7665646973207665727972272b276970746c6f73696e672066656d616c657369
- 7320616c736f737472696e677364617973206f666172726976616c6675747572
- 65203c6f626a656374666f7263696e67537472696e672822202f3e0a09096865
- 7265206973656e636f6465642e20205468652062616c6c6f6f6e646f6e652062
- 792f636f6d6d6f6e6267636f6c6f726c6177206f6620496e6469616e6161766f
- 6964656462757420746865327078203370786a71756572792e61667465722061
- 706f6c6963792e6d656e20616e64666f6f7465722d3d20747275653b666f7220
- 75736573637265656e2e496e6469616e20696d616765203d66616d696c792c68
- 7474703a2f2f20266e6273703b64726976657273657465726e616c73616d6520
- 61736e6f7469636564766965776572737d2928293b0a206973206d6f72657365
- 61736f6e73666f726d657220746865206e65776973206a757374636f6e73656e
- 742053656172636877617320746865776879207468657368697070656462723e
- 3c62723e77696474683a206865696768743d6d616465206f6663756973696e65
- 697320746861746120766572792041646d6972616c2066697865643b6e6f726d
- 616c204d697373696f6e50726573732c206f6e746172696f6368617273657474
- 727920746f20696e76616465643d22747275652273706163696e676973206d6f
- 737461206d6f726520746f74616c6c7966616c6c206f667d293b0d0a2020696d
- 6d656e736574696d6520696e736574206f757473617469736679746f2066696e
- 64646f776e20746f6c6f74206f6620506c6179657273696e204a756e65717561
- 6e74756d6e6f742074686574696d6520746f64697374616e7446696e6e697368
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 61]
-
-Internet-Draft Brotli May 2016
-
-
- 737263203d202873696e676c652068656c70206f664765726d616e206c617720
- 616e646c6162656c6564666f7265737473636f6f6b696e677370616365223e68
- 65616465722d77656c6c2061735374616e6c6579627269646765732f676c6f62
- 616c43726f617469612041626f7574205b305d3b0a202069742c20616e646772
- 6f757065646265696e672061297b7468726f776865206d6164656c6967687465
- 726574686963616c46464646464622626f74746f6d226c696b65206120656d70
- 6c6f79736c69766520696e6173207365656e7072696e7465726d6f7374206f66
- 75622d6c696e6b72656a65637473616e6420757365696d616765223e73756363
- 65656466656564696e674e75636c656172696e666f726d61746f2068656c7057
- 6f6d656e27734e6569746865724d65786963616e70726f7465696e3c7461626c
- 65206279206d616e796865616c7468796c617773756974646576697365642e70
- 757368287b73656c6c65727373696d706c79205468726f7567682e636f6f6b69
- 6520496d616765286f6c646572223e75732e6a73223e2053696e636520756e69
- 766572736c6172676572206f70656e20746f212d2d20656e646c69657320696e
- 275d293b0d0a20206d61726b657477686f206973202822444f4d436f6d616e61
- 6765646f6e6520666f72747970656f66204b696e67646f6d70726f6669747370
- 726f706f7365746f2073686f7763656e7465723b6d6164652069746472657373
- 65647765726520696e6d6978747572657072656369736561726973696e677372
- 63203d20276d616b652061207365637572656442617074697374766f74696e67
- 200a0909766172204d61726368203267726577207570436c696d6174652e7265
- 6d6f7665736b696c6c6564776179207468653c2f686561643e66616365206f66
- 616374696e67207269676874223e746f20776f726b7265647563657368617320
- 6861646572656374656473686f7728293b616374696f6e3d626f6f6b206f6661
- 6e20617265613d3d20226874743c6865616465720a3c68746d6c3e636f6e666f
- 726d666163696e6720636f6f6b69652e72656c79206f6e686f73746564202e63
- 7573746f6d68652077656e7462757420666f727370726561642046616d696c79
- 2061206d65616e736f757420746865666f72756d732e666f6f74616765223e4d
- 6f62696c436c656d656e7473222069643d2261732068696768696e74656e7365
- 2d2d3e3c212d2d66656d616c65206973207365656e696d706c69656473657420
- 74686561207374617465616e6420686973666173746573746265736964657362
- 7574746f6e5f626f756e646564223e3c696d6720496e666f626f786576656e74
- 732c6120796f756e67616e64206172654e617469766520636865617065725469
- 6d656f7574616e6420686173656e67696e6573776f6e20746865286d6f73746c
- 7972696768743a2066696e642061202d626f74746f6d5072696e636520617265
- 61206f666d6f7265206f667365617263685f6e61747572652c6c6567616c6c79
- 706572696f642c6c616e64206f666f722077697468696e647563656470726f76
- 696e676d697373696c656c6f63616c6c79416761696e7374746865207761796b
- 2671756f743b70783b223e0d0a707573686564206162616e646f6e6e756d6572
- 616c4365727461696e496e20746869736d6f726520696e6f7220736f6d656e61
- 6d65206973616e642c20696e63726f776e65644953424e20302d637265617465
- 734f63746f6265726d6179206e6f7463656e746572206c61746520696e446566
- 656e6365656e61637465647769736820746f62726f61646c79636f6f6c696e67
- 6f6e6c6f61643d69742e205468657265636f7665724d656d6265727368656967
- 687420617373756d65733c68746d6c3e0a70656f706c652e696e206f6e65203d
- 77696e646f77666f6f7465725f6120676f6f642072656b6c616d616f74686572
- 732c746f20746869735f636f6f6b696570616e656c223e4c6f6e646f6e2c6465
- 66696e6573637275736865646261707469736d636f617374616c737461747573
- 207469746c6522206d6f766520746f6c6f737420696e62657474657220696d70
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 62]
-
-Internet-Draft Brotli May 2016
-
-
- 6c696573726976616c7279736572766572732053797374656d50657268617073
- 657320616e6420636f6e74656e64666c6f77696e676c61737465642072697365
- 20696e47656e6573697376696577206f66726973696e67207365656d20746f62
- 757420696e206261636b696e6768652077696c6c676976656e2061676976696e
- 67206369746965732e666c6f77206f66204c6174657220616c6c206275744869
- 67687761796f6e6c792062797369676e206f66686520646f6573646966666572
- 736261747465727926616d703b6c6173696e676c657374687265617473696e74
- 6567657274616b65206f6e7265667573656463616c6c6564203d555326616d70
- 536565207468656e6174697665736279207468697373797374656d2e68656164
- 206f663a686f7665722c6c65736269616e7375726e616d65616e6420616c6c63
- 6f6d6d6f6e2f6865616465725f5f706172616d73486172766172642f70697865
- 6c2e72656d6f76616c736f206c6f6e67726f6c65206f666a6f696e746c79736b
- 7973637261556e69636f64656272202f3e0d0a41746c616e74616e75636c6575
- 73436f756e74792c707572656c7920636f756e74223e656173696c7920627569
- 6c6420616f6e636c69636b6120676976656e706f696e746572682671756f743b
- 6576656e747320656c7365207b0a646974696f6e736e6f77207468652c207769
- 7468206d616e2077686f6f72672f5765626f6e6520616e64636176616c727948
- 65206469656473656174746c6530302c303030207b77696e646f776861766520
- 746f69662877696e64616e6420697473736f6c656c79206d2671756f743b7265
- 6e65776564446574726f6974616d6f6e677374656974686572207468656d2069
- 6e53656e61746f7255733c2f613e3c4b696e67206f664672616e6369732d7072
- 6f6475636865207573656461727420616e6468696d20616e6475736564206279
- 73636f72696e67617420686f6d65746f206861766572656c617465736962696c
- 69747966616374696f6e42756666616c6f6c696e6b223e3c7768617420686566
- 72656520746f43697479206f66636f6d6520696e736563746f7273636f756e74
- 65646f6e65206461796e6572766f7573737175617265207d3b696628676f696e
- 2077686174696d672220616c6973206f6e6c797365617263682f747565736461
- 796c6f6f73656c79536f6c6f6d6f6e73657875616c202d203c612068726d6564
- 69756d22444f204e4f54204672616e63652c7769746820612077617220616e64
- 7365636f6e642074616b652061203e0d0a0d0a0d0a6d61726b65742e68696768
- 776179646f6e6520696e63746976697479226c617374223e6f626c6967656472
- 69736520746f22756e646566696d61646520746f204561726c79207072616973
- 6564696e2069747320666f72206869736174686c6574654a7570697465725961
- 686f6f21207465726d656420736f206d616e797265616c6c7920732e20546865
- 206120776f6d616e3f76616c75653d6469726563742072696768742220626963
- 79636c656163696e673d2264617920616e6473746174696e675261746865722c
- 686967686572204f666669636520617265206e6f7774696d65732c207768656e
- 20612070617920666f726f6e20746869732d6c696e6b223e3b626f7264657261
- 726f756e6420616e6e75616c20746865204e6577707574207468652e636f6d22
- 2074616b696e20746f6120627269656628696e2074686567726f7570732e3b20
- 7769647468656e7a796d657373696d706c6520696e206c6174657b7265747572
- 6e746865726170796120706f696e7462616e6e696e67696e6b73223e0a28293b
- 222072656120706c6163655c75303033436161626f7574206174723e0d0a0909
- 63636f756e7420676976657320613c5343524950545261696c7761797468656d
- 65732f746f6f6c626f784279496428227868756d616e732c7761746368657369
- 6e20736f6d6520696620287769636f6d696e6720666f726d61747320556e6465
- 72206275742068617368616e646564206d6164652062797468616e20696e6665
- 6172206f6664656e6f7465642f696672616d656c65667420696e766f6c746167
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 63]
-
-Internet-Draft Brotli May 2016
-
-
- 65696e2065616368612671756f743b62617365206f66496e206d616e79756e64
- 6572676f726567696d6573616374696f6e203c2f703e0d0a3c7573746f6d5661
- 3b2667743b3c2f696d706f7274736f7220746861746d6f73746c792026616d70
- 3b72652073697a653d223c2f613e3c2f686120636c6173737061737369766548
- 6f7374203d205768657468657266657274696c65566172696f75733d5b5d3b28
- 667563616d657261732f3e3c2f74643e61637473206173496e20736f6d653e0d
- 0a0d0a3c216f7267616e6973203c6272202f3e4265696a696e67636174616cc3
- a0646575747363686575726f7065756575736b617261676165696c6765737665
- 6e736b6165737061c3b1616d656e73616a657573756172696f74726162616a6f
- 6dc3a97869636f70c3a167696e617369656d70726573697374656d616f637475
- 627265647572616e746561c3b161646972656d70726573616d6f6d656e746f6e
- 75657374726f7072696d65726174726176c3a973677261636961736e75657374
- 726170726f6365736f65737461646f7363616c69646164706572736f6e616ec3
- ba6d65726f6163756572646f6dc3ba736963616d69656d62726f6f6665727461
- 73616c67756e6f737061c3ad736573656a656d706c6f6465726563686f616465
- 6dc3a1737072697661646f61677265676172656e6c61636573706f7369626c65
- 686f74656c6573736576696c6c617072696d65726fc3ba6c74696d6f6576656e
- 746f736172636869766f63756c747572616d756a65726573656e747261646161
- 6e756e63696f656d626172676f6d65726361646f6772616e6465736573747564
- 696f6d656a6f7265736665627265726f64697365c3b16f74757269736d6f63c3
- b36469676f706f72746164616573706163696f66616d696c6961616e746f6e69
- 6f7065726d69746567756172646172616c67756e617370726563696f73616c67
- 7569656e73656e7469646f7669736974617374c3ad74756c6f636f6e6f636572
- 736567756e646f636f6e73656a6f6672616e6369616d696e75746f7373656775
- 6e646174656e656d6f7365666563746f736dc3a16c61676173657369c3b36e72
- 6576697374616772616e616461636f6d70726172696e677265736f67617263c3
- ad6161636369c3b36e65637561646f72717569656e6573696e636c75736f6465
- 626572c3a16d617465726961686f6d627265736d756573747261706f6472c3ad
- 616d61c3b1616e61c3ba6c74696d61657374616d6f736f66696369616c74616d
- 6269656e6e696e67c3ba6e73616c75646f73706f64656d6f736d656a6f726172
- 706f736974696f6e627573696e657373686f6d65706167657365637572697479
- 6c616e67756167657374616e6461726463616d706169676e6665617475726573
- 63617465676f727965787465726e616c6368696c6472656e7265736572766564
- 726573656172636865786368616e67656661766f7269746574656d706c617465
- 6d696c6974617279696e64757374727973657276696365736d6174657269616c
- 70726f64756374737a2d696e6465783a636f6d6d656e7473736f667477617265
- 636f6d706c65746563616c656e646172706c6174666f726d61727469636c6573
- 72657175697265646d6f76656d656e747175657374696f6e6275696c64696e67
- 706f6c6974696373706f737369626c6572656c6967696f6e706879736963616c
- 666565646261636b7265676973746572706963747572657364697361626c6564
- 70726f746f636f6c61756469656e636573657474696e67736163746976697479
- 656c656d656e74736c6561726e696e67616e797468696e676162737472616374
- 70726f67726573736f766572766965776d6167617a696e6565636f6e6f6d6963
- 747261696e696e677072657373757265766172696f7573203c7374726f6e673e
- 70726f706572747973686f7070696e67746f676574686572616476616e636564
- 6265686176696f72646f776e6c6f61646665617475726564666f6f7462616c6c
- 73656c65637465644c616e677561676564697374616e636572656d656d626572
- 747261636b696e6770617373776f72646d6f64696669656473747564656e7473
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 64]
-
-Internet-Draft Brotli May 2016
-
-
- 6469726563746c796669676874696e676e6f72746865726e6461746162617365
- 666573746976616c627265616b696e676c6f636174696f6e696e7465726e6574
- 64726f70646f776e707261637469636565766964656e636566756e6374696f6e
- 6d61727269616765726573706f6e736570726f626c656d736e65676174697665
- 70726f6772616d73616e616c7973697372656c656173656462616e6e6572223e
- 7075726368617365706f6c6963696573726567696f6e616c6372656174697665
- 617267756d656e74626f6f6b6d61726b72656665727265726368656d6963616c
- 6469766973696f6e63616c6c6261636b736570617261746570726f6a65637473
- 636f6e666c6963746861726477617265696e74657265737464656c6976657279
- 6d6f756e7461696e6f627461696e65643d2066616c73653b666f722876617220
- 61636365707465646361706163697479636f6d70757465726964656e74697479
- 6169726372616674656d706c6f79656470726f706f736564646f6d6573746963
- 696e636c7564657370726f7669646564686f73706974616c766572746963616c
- 636f6c6c61707365617070726f616368706172746e6572736c6f676f223e3c61
- 6461756768746572617574686f72222063756c747572616c66616d696c696573
- 2f696d616765732f617373656d626c79706f77657266756c7465616368696e67
- 66696e69736865646469737472696374637269746963616c6367692d62696e2f
- 707572706f7365737265717569726573656c656374696f6e6265636f6d696e67
- 70726f766964657361636164656d6963657865726369736561637475616c6c79
- 6d65646963696e65636f6e7374616e746163636964656e744d6167617a696e65
- 646f63756d656e747374617274696e67626f74746f6d223e6f62736572766564
- 3a202671756f743b657874656e64656470726576696f7573536f667477617265
- 637573746f6d65726465636973696f6e737472656e67746864657461696c6564
- 736c696768746c79706c616e6e696e67746578746172656163757272656e6379
- 65766572796f6e6573747261696768747472616e73666572706f736974697665
- 70726f647563656468657269746167657368697070696e676162736f6c757465
- 726563656976656472656c6576616e74627574746f6e222076696f6c656e6365
- 616e79776865726562656e65666974736c61756e63686564726563656e746c79
- 616c6c69616e6365666f6c6c6f7765646d756c7469706c6562756c6c6574696e
- 696e636c756465646f63637572726564696e7465726e616c242874686973292e
- 72657075626c69633e3c74723e3c7464636f6e67726573737265636f72646564
- 756c74696d617465736f6c7574696f6e3c756c2069643d22646973636f766572
- 486f6d653c2f613e77656273697465736e6574776f726b73616c74686f756768
- 656e746972656c796d656d6f7269616c6d65737361676573636f6e74696e7565
- 616374697665223e736f6d6577686174766963746f7269615765737465726e20
- 207469746c653d224c6f636174696f6e636f6e747261637476697369746f7273
- 446f776e6c6f6164776974686f7574207269676874223e0a6d65617375726573
- 7769647468203d207661726961626c65696e766f6c76656476697267696e6961
- 6e6f726d616c6c7968617070656e65646163636f756e74737374616e64696e67
- 6e6174696f6e616c52656769737465727072657061726564636f6e74726f6c73
- 6163637572617465626972746864617973747261746567796f6666696369616c
- 67726170686963736372696d696e616c706f737369626c79636f6e73756d6572
- 506572736f6e616c737065616b696e6776616c69646174656163686965766564
- 2e6a706722202f3e6d616368696e65733c2f68323e0a20206b6579776f726473
- 667269656e646c7962726f7468657273636f6d62696e65646f726967696e616c
- 636f6d706f7365646578706563746564616465717561746570616b697374616e
- 666f6c6c6f77222076616c7561626c653c2f6c6162656c3e72656c6174697665
- 6272696e67696e67696e637265617365676f7665726e6f72706c7567696e732f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 65]
-
-Internet-Draft Brotli May 2016
-
-
- 4c697374206f6620486561646572223e22206e616d653d2220282671756f743b
- 67726164756174653c2f686561643e0a636f6d6d657263656d616c6179736961
- 6469726563746f726d61696e7461696e3b6865696768743a7363686564756c65
- 6368616e67696e676261636b20746f20636174686f6c69637061747465726e73
- 636f6c6f723a20236772656174657374737570706c69657372656c6961626c65
- 3c2f756c3e0a09093c73656c65637420636974697a656e73636c6f7468696e67
- 7761746368696e673c6c692069643d2273706563696669636361727279696e67
- 73656e74656e63653c63656e7465723e636f6e74726173747468696e6b696e67
- 6361746368286529736f75746865726e4d69636861656c206d65726368616e74
- 6361726f7573656c70616464696e673a696e746572696f722e73706c69742822
- 6c697a6174696f6e4f63746f62657220297b72657475726e696d70726f766564
- 2d2d2667743b0a0a636f76657261676563686169726d616e2e706e6722202f3e
- 7375626a656374735269636861726420776861746576657270726f6261626c79
- 7265636f766572796261736562616c6c6a7564676d656e74636f6e6e6563742e
- 2e63737322202f3e20776562736974657265706f7274656464656661756c7422
- 2f3e3c2f613e0d0a656c65637472696373636f746c616e646372656174696f6e
- 7175616e746974792e204953424e2030646964206e6f7420696e7374616e6365
- 2d7365617263682d22206c616e673d22737065616b657273436f6d7075746572
- 636f6e7461696e7361726368697665736d696e69737465727265616374696f6e
- 646973636f756e744974616c69616e6f63726974657269617374726f6e676c79
- 3a2027687474703a2773637269707427636f766572696e676f66666572696e67
- 617070656172656442726974697368206964656e7469667946616365626f6f6b
- 6e756d65726f757376656869636c6573636f6e6365726e73416d65726963616e
- 68616e646c696e676469762069643d2257696c6c69616d2070726f7669646572
- 5f636f6e74656e74616363757261637973656374696f6e20616e646572736f6e
- 666c657869626c6543617465676f72796c617772656e63653c7363726970743e
- 6c61796f75743d22617070726f766564206d6178696d756d686561646572223e
- 3c2f7461626c653e536572766963657368616d696c746f6e63757272656e7420
- 63616e616469616e6368616e6e656c732f7468656d65732f2f61727469636c65
- 6f7074696f6e616c706f72747567616c76616c75653d2222696e74657276616c
- 776972656c657373656e7469746c65646167656e636965735365617263682220
- 6d6561737572656474686f7573616e647370656e64696e672668656c6c69703b
- 6e65772044617465222073697a653d22706167654e616d656d6964646c652220
- 22202f3e3c2f613e68696464656e223e73657175656e6365706572736f6e616c
- 6f766572666c6f776f70696e696f6e73696c6c696e6f69736c696e6b73223e0a
- 093c7469746c653e76657273696f6e7373617475726461797465726d696e616c
- 6974656d70726f70656e67696e65657273656374696f6e7364657369676e6572
- 70726f706f73616c3d2266616c73652245737061c3b16f6c72656c6561736573
- 7375626d6974222065722671756f743b6164646974696f6e73796d70746f6d73
- 6f7269656e7465647265736f757263657269676874223e3c706c656173757265
- 73746174696f6e73686973746f72792e6c656176696e672020626f726465723d
- 636f6e74656e747363656e746572223e2e0a0a536f6d65206469726563746564
- 7375697461626c6562756c67617269612e73686f7728293b64657369676e6564
- 47656e6572616c20636f6e63657074734578616d706c657377696c6c69616d73
- 4f726967696e616c223e3c7370616e3e736561726368223e6f70657261746f72
- 726571756573747361202671756f743b616c6c6f77696e67446f63756d656e74
- 7265766973696f6e2e200a0a54686520796f757273656c66436f6e7461637420
- 6d6963686967616e456e676c69736820636f6c756d6269617072696f72697479
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 66]
-
-Internet-Draft Brotli May 2016
-
-
- 7072696e74696e676472696e6b696e67666163696c69747972657475726e6564
- 436f6e74656e74206f666669636572735275737369616e2067656e6572617465
- 2d383835392d3122696e64696361746566616d696c696172207175616c697479
- 6d617267696e3a3020636f6e74656e7476696577706f7274636f6e7461637473
- 2d7469746c65223e706f727461626c652e6c656e67746820656c696769626c65
- 696e766f6c76657361746c616e7469636f6e6c6f61643d2264656661756c742e
- 737570706c6965647061796d656e7473676c6f73736172790a0a416674657220
- 67756964616e63653c2f74643e3c7464656e636f64696e676d6964646c65223e
- 63616d6520746f20646973706c61797373636f74746973686a6f6e617468616e
- 6d616a6f72697479776964676574732e636c696e6963616c746861696c616e64
- 74656163686572733c686561643e0a096166666563746564737570706f727473
- 706f696e7465723b746f537472696e673c2f736d616c6c3e6f6b6c61686f6d61
- 77696c6c20626520696e766573746f72302220616c743d22686f6c6964617973
- 5265736f757263656c6963656e73656420287768696368202e20416674657220
- 636f6e73696465727669736974696e676578706c6f7265727072696d61727920
- 7365617263682220616e64726f696422717569636b6c79206d656574696e6773
- 657374696d6174653b72657475726e203b636f6c6f723a23206865696768743d
- 617070726f76616c2c202671756f743b20636865636b65642e6d696e2e6a7322
- 6d61676e657469633e3c2f613e3c2f68666f7265636173742e205768696c6520
- 74687572736461796476657274697365266561637574653b686173436c617373
- 6576616c756174656f72646572696e676578697374696e6770617469656e7473
- 204f6e6c696e6520636f6c6f7261646f4f7074696f6e732263616d7062656c6c
- 3c212d2d20656e643c2f7370616e3e3c3c6272202f3e0d0a5f706f707570737c
- 736369656e6365732c2671756f743b207175616c6974792057696e646f777320
- 61737369676e65646865696768743a203c6220636c6173736c652671756f743b
- 2076616c75653d2220436f6d70616e796578616d706c65733c696672616d6520
- 62656c696576657370726573656e74736d61727368616c6c70617274206f6620
- 70726f7065726c79292e0a0a546865207461786f6e6f6d796d756368206f6620
- 3c2f7370616e3e0a2220646174612d737274756775c3aa737363726f6c6c546f
- 2070726f6a6563743c686561643e0d0a6174746f726e6579656d706861736973
- 73706f6e736f727366616e6379626f78776f726c6427732077696c646c696665
- 636865636b65643d73657373696f6e7370726f6772616d6d70783b666f6e742d
- 2050726f6a6563746a6f75726e616c7362656c69657665647661636174696f6e
- 74686f6d70736f6e6c69676874696e67616e6420746865207370656369616c20
- 626f726465723d30636865636b696e673c2f74626f64793e3c627574746f6e20
- 436f6d706c657465636c6561726669780a3c686561643e0a61727469636c6520
- 3c73656374696f6e66696e64696e6773726f6c6520696e20706f70756c617220
- 204f63746f62657277656273697465206578706f737572657573656420746f20
- 206368616e6765736f70657261746564636c69636b696e67656e746572696e67
- 636f6d6d616e6473696e666f726d6564206e756d6265727320203c2f6469763e
- 6372656174696e676f6e5375626d69746d6172796c616e64636f6c6c65676573
- 616e616c797469636c697374696e6773636f6e746163742e6c6f67676564496e
- 61647669736f72797369626c696e6773636f6e74656e7422732671756f743b29
- 732e2054686973207061636b61676573636865636b626f787375676765737473
- 707265676e616e74746f6d6f72726f7773706163696e673d69636f6e2e706e67
- 6a6170616e657365636f646562617365627574746f6e223e67616d626c696e67
- 73756368206173202c207768696c65203c2f7370616e3e206d6973736f757269
- 73706f7274696e67746f703a317078202e3c2f7370616e3e74656e73696f6e73
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 67]
-
-Internet-Draft Brotli May 2016
-
-
- 77696474683d22326c617a796c6f61646e6f76656d6265727573656420696e20
- 6865696768743d226372697074223e0a266e6273703b3c2f3c74723e3c746420
- 6865696768743a322f70726f64756374636f756e74727920696e636c75646520
- 666f6f7465722220266c743b212d2d207469746c65223e3c2f6a71756572792e
- 3c2f666f726d3e0a28e7ae80e4bd932928e7b981e9ab94296872766174736b69
- 6974616c69616e6f726f6dc3a26ec48374c3bc726bc3a765d8a7d8b1d8afd988
- 74616d6269c3a96e6e6f7469636961736d656e73616a6573706572736f6e6173
- 6465726563686f736e6163696f6e616c736572766963696f636f6e746163746f
- 7573756172696f7370726f6772616d61676f626965726e6f656d707265736173
- 616e756e63696f7376616c656e636961636f6c6f6d6269616465737075c3a973
- 6465706f7274657370726f796563746f70726f647563746f70c3ba626c69636f
- 6e6f736f74726f73686973746f72696170726573656e74656d696c6c6f6e6573
- 6d656469616e746570726567756e7461616e746572696f727265637572736f73
- 70726f626c656d6173616e746961676f6e75657374726f736f70696e69c3b36e
- 696d7072696d69726d69656e74726173616dc3a97269636176656e6465646f72
- 736f636965646164726573706563746f7265616c697a6172726567697374726f
- 70616c6162726173696e746572c3a973656e746f6e636573657370656369616c
- 6d69656d62726f737265616c6964616463c3b372646f62617a617261676f7a61
- 70c3a167696e6173736f6369616c6573626c6f71756561726765737469c3b36e
- 616c7175696c657273697374656d61736369656e63696173636f6d706c65746f
- 7665727369c3b36e636f6d706c6574616573747564696f7370c3ba626c696361
- 6f626a657469766f616c6963616e74656275736361646f7263616e7469646164
- 656e747261646173616363696f6e65736172636869766f737375706572696f72
- 6d61796f72c3ad61616c656d616e696166756e6369c3b36ec3ba6c74696d6f73
- 68616369656e646f617175656c6c6f736564696369c3b36e6665726e616e646f
- 616d6269656e746566616365626f6f6b6e75657374726173636c69656e746573
- 70726f6365736f7362617374616e746570726573656e74617265706f72746172
- 636f6e677265736f7075626c69636172636f6d657263696f636f6e747261746f
- 6ac3b376656e6573646973747269746f74c3a9636e696361636f6e6a756e746f
- 656e657267c3ad6174726162616a6172617374757269617372656369656e7465
- 7574696c697a6172626f6c6574c3ad6e73616c7661646f72636f727265637461
- 74726162616a6f737072696d65726f736e65676f63696f736c69626572746164
- 646574616c6c657370616e74616c6c617072c3b378696d6f616c6d6572c3ad61
- 616e696d616c6573717569c3a96e6573636f72617ac3b36e7365636369c3b36e
- 62757363616e646f6f7063696f6e65736578746572696f72636f6e636570746f
- 746f646176c3ad6167616c6572c3ad6165736372696269726d65646963696e61
- 6c6963656e636961636f6e73756c74616173706563746f736372c3ad74696361
- 64c3b36c617265736a757374696369616465626572c3a16e706572c3ad6f646f
- 6e656365736974616d616e74656e65727065717565c3b16f7265636962696461
- 74726962756e616c74656e657269666563616e6369c3b36e63616e6172696173
- 64657363617267616469766572736f736d616c6c6f7263617265717569657265
- 74c3a9636e69636f6465626572c3ad6176697669656e646166696e616e7a6173
- 6164656c616e746566756e63696f6e61636f6e73656a6f73646966c3ad63696c
- 6369756461646573616e7469677561736176616e7a61646174c3a9726d696e6f
- 756e69646164657373c3a16e6368657a63616d7061c3b161736f66746f6e6963
- 7265766973746173636f6e7469656e65736563746f7265736d6f6d656e746f73
- 666163756c7461646372c3a96469746f6469766572736173737570756573746f
- 666163746f726573736567756e646f737065717565c3b161d0b3d0bed0b4d0b0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 68]
-
-Internet-Draft Brotli May 2016
-
-
- d0b5d181d0bbd0b8d0b5d181d182d18cd0b1d18bd0bbd0bed0b1d18bd182d18c
- d18dd182d0bed0bcd095d181d0bbd0b8d182d0bed0b3d0bed0bcd0b5d0bdd18f
- d0b2d181d0b5d185d18dd182d0bed0b9d0b4d0b0d0b6d0b5d0b1d18bd0bbd0b8
- d0b3d0bed0b4d183d0b4d0b5d0bdd18cd18dd182d0bed182d0b1d18bd0bbd0b0
- d181d0b5d0b1d18fd0bed0b4d0b8d0bdd181d0b5d0b1d0b5d0bdd0b0d0b4d0be
- d181d0b0d0b9d182d184d0bed182d0bed0bdd0b5d0b3d0bed181d0b2d0bed0b8
- d181d0b2d0bed0b9d0b8d0b3d180d18bd182d0bed0b6d0b5d0b2d181d0b5d0bc
- d181d0b2d0bed18ed0bbd0b8d188d18cd18dd182d0b8d185d0bfd0bed0bad0b0
- d0b4d0bdd0b5d0b9d0b4d0bed0bcd0b0d0bcd0b8d180d0b0d0bbd0b8d0b1d0be
- d182d0b5d0bcd183d185d0bed182d18fd0b4d0b2d183d185d181d0b5d182d0b8
- d0bbd18ed0b4d0b8d0b4d0b5d0bbd0bed0bcd0b8d180d0b5d182d0b5d0b1d18f
- d181d0b2d0bed0b5d0b2d0b8d0b4d0b5d187d0b5d0b3d0bed18dd182d0b8d0bc
- d181d187d0b5d182d182d0b5d0bcd18bd186d0b5d0bdd18bd181d182d0b0d0bb
- d0b2d0b5d0b4d18cd182d0b5d0bcd0b5d0b2d0bed0b4d18bd182d0b5d0b1d0b5
- d0b2d18bd188d0b5d0bdd0b0d0bcd0b8d182d0b8d0bfd0b0d182d0bed0bcd183
- d0bfd180d0b0d0b2d0bbd0b8d186d0b0d0bed0b4d0bdd0b0d0b3d0bed0b4d18b
- d0b7d0bdd0b0d18ed0bcd0bed0b3d183d0b4d180d183d0b3d0b2d181d0b5d0b9
- d0b8d0b4d0b5d182d0bad0b8d0bdd0bed0bed0b4d0bdd0bed0b4d0b5d0bbd0b0
- d0b4d0b5d0bbd0b5d181d180d0bed0bad0b8d18ed0bdd18fd0b2d0b5d181d18c
- d095d181d182d18cd180d0b0d0b7d0b0d0bdd0b0d188d0b8d8a7d984d984d987
- d8a7d984d8aad98ad8acd985d98ad8b9d8aed8a7d8b5d8a9d8a7d984d8b0d98a
- d8b9d984d98ad987d8acd8afd98ad8afd8a7d984d8a2d986d8a7d984d8b1d8af
- d8aad8add983d985d8b5d981d8add8a9d983d8a7d986d8aad8a7d984d984d98a
- d98ad983d988d986d8b4d8a8d983d8a9d981d98ad987d8a7d8a8d986d8a7d8aa
- d8add988d8a7d8a1d8a3d983d8abd8b1d8aed984d8a7d984d8a7d984d8add8a8
- d8afd984d98ad984d8afd8b1d988d8b3d8a7d8b6d8bad8b7d8aad983d988d986
- d987d986d8a7d983d8b3d8a7d8add8a9d986d8a7d8afd98ad8a7d984d8b7d8a8
- d8b9d984d98ad983d8b4d983d8b1d8a7d98ad985d983d986d985d986d987d8a7
- d8b4d8b1d983d8a9d8b1d8a6d98ad8b3d986d8b4d98ad8b7d985d8a7d8b0d8a7
- d8a7d984d981d986d8b4d8a8d8a7d8a8d8aad8b9d8a8d8b1d8b1d8add985d8a9
- d983d8a7d981d8a9d98ad982d988d984d985d8b1d983d8b2d983d984d985d8a9
- d8a3d8add985d8afd982d984d8a8d98ad98ad8b9d986d98ad8b5d988d8b1d8a9
- d8b7d8b1d98ad982d8b4d8a7d8b1d983d8acd988d8a7d984d8a3d8aed8b1d989
- d985d8b9d986d8a7d8a7d8a8d8add8abd8b9d8b1d988d8b6d8a8d8b4d983d984
- d985d8b3d8acd984d8a8d986d8a7d986d8aed8a7d984d8afd983d8aad8a7d8a8
- d983d984d98ad8a9d8a8d8afd988d986d8a3d98ad8b6d8a7d98ad988d8acd8af
- d981d8b1d98ad982d983d8aad8a8d8aad8a3d981d8b6d984d985d8b7d8a8d8ae
- d8a7d983d8abd8b1d8a8d8a7d8b1d983d8a7d981d8b6d984d8a7d8add984d989
- d986d981d8b3d987d8a3d98ad8a7d985d8b1d8afd988d8afd8a3d986d987d8a7
- d8afd98ad986d8a7d8a7d984d8a7d986d985d8b9d8b1d8b6d8aad8b9d984d985
- d8afd8a7d8aed984d985d985d983d98600000000000000000100010001000100
- 0200020002000200040004000400040000010203040506070706050403020100
- 08090a0b0c0d0e0f0f0e0d0c0b0a090810111213141516171716151413121110
- 18191a1b1c1d1e1f1f1e1d1c1b1a1918ffffffff0000000000000000ffffffff
- 010000000200000002000000010000000100000003000000ffff000100000001
- 0000ffff00010000000800080008000800000001000200030004000500060007
- 7265736f7572636573636f756e74726965737175657374696f6e736571756970
- 6d656e74636f6d6d756e697479617661696c61626c65686967686c6967687444
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 69]
-
-Internet-Draft Brotli May 2016
-
-
- 54442f7868746d6c6d61726b6574696e676b6e6f776c65646765736f6d657468
- 696e67636f6e7461696e6572646972656374696f6e7375627363726962656164
- 76657274697365636861726163746572222076616c75653d223c2f73656c6563
- 743e4175737472616c69612220636c6173733d22736974756174696f6e617574
- 686f72697479666f6c6c6f77696e677072696d6172696c796f7065726174696f
- 6e6368616c6c656e6765646576656c6f706564616e6f6e796d6f757366756e63
- 74696f6e2066756e6374696f6e73636f6d70616e696573737472756374757265
- 61677265656d656e7422207469746c653d22706f74656e7469616c6564756361
- 74696f6e617267756d656e74737365636f6e64617279636f707972696768746c
- 616e6775616765736578636c7573697665636f6e646974696f6e3c2f666f726d
- 3e0d0a73746174656d656e74617474656e74696f6e42696f6772617068797d20
- 656c7365207b0a736f6c7574696f6e737768656e2074686520416e616c797469
- 637374656d706c6174657364616e6765726f7573736174656c6c697465646f63
- 756d656e74737075626c6973686572696d706f7274616e7470726f746f747970
- 65696e666c75656e636526726171756f3b3c2f65666665637469766567656e65
- 72616c6c797472616e73666f726d62656175746966756c7472616e73706f7274
- 6f7267616e697a65647075626c697368656470726f6d696e656e74756e74696c
- 207468657468756d626e61696c4e6174696f6e616c202e666f63757328293b6f
- 76657220746865206d6967726174696f6e616e6e6f756e636564666f6f746572
- 223e0a657863657074696f6e6c657373207468616e657870656e73697665666f
- 726d6174696f6e6672616d65776f726b7465727269746f72796e646963617469
- 6f6e63757272656e746c79636c6173734e616d6563726974696369736d747261
- 646974696f6e656c73657768657265416c6578616e6465726170706f696e7465
- 646d6174657269616c7362726f6164636173746d656e74696f6e656461666669
- 6c696174653c2f6f7074696f6e3e74726561746d656e74646966666572656e74
- 2f64656661756c742e507265736964656e746f6e636c69636b3d2262696f6772
- 617068796f74686572776973657065726d616e656e744672616ec3a761697348
- 6f6c6c79776f6f64657870616e73696f6e7374616e64617264733c2f7374796c
- 653e0a726564756374696f6e446563656d626572207072656665727265644361
- 6d6272696467656f70706f6e656e7473427573696e65737320636f6e66757369
- 6f6e3e0a3c7469746c653e70726573656e7465646578706c61696e6564646f65
- 73206e6f7420776f726c6477696465696e74657266616365706f736974696f6e
- 736e65777370617065723c2f7461626c653e0a6d6f756e7461696e736c696b65
- 2074686520657373656e7469616c66696e616e6369616c73656c656374696f6e
- 616374696f6e3d222f6162616e646f6e6564456475636174696f6e7061727365
- 496e742873746162696c697479756e61626c6520746f3c2f7469746c653e0a72
- 656c6174696f6e734e6f74652074686174656666696369656e74706572666f72
- 6d656474776f20796561727353696e6365207468657468657265666f72657772
- 6170706572223e616c7465726e617465696e63726561736564426174746c6520
- 6f66706572636569766564747279696e6720746f6e6563657373617279706f72
- 747261796564656c656374696f6e73456c697a61626574683c2f696672616d65
- 3e646973636f76657279696e737572616e6365732e6c656e6774683b6c656765
- 6e6461727947656f67726170687963616e646964617465636f72706f72617465
- 736f6d6574696d657373657276696365732e696e686572697465643c2f737472
- 6f6e673e436f6d6d756e69747972656c6967696f75736c6f636174696f6e7343
- 6f6d6d69747465656275696c64696e677374686520776f726c646e6f206c6f6e
- 676572626567696e6e696e677265666572656e636563616e6e6f742062656672
- 657175656e63797479706963616c6c79696e746f207468652072656c61746976
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 70]
-
-Internet-Draft Brotli May 2016
-
-
- 653b7265636f7264696e67707265736964656e74696e697469616c6c79746563
- 686e69717565746865206f7468657269742063616e2062656578697374656e63
- 65756e6465726c696e65746869732074696d6574656c6570686f6e656974656d
- 73636f7065707261637469636573616476616e74616765293b72657475726e20
- 466f72206f7468657270726f766964696e6764656d6f6372616379626f746820
- 74686520657874656e73697665737566666572696e67737570706f7274656463
- 6f6d7075746572732066756e6374696f6e70726163746963616c736169642074
- 6861746974206d6179206265456e676c6973683c2f66726f6d20746865207363
- 686564756c6564646f776e6c6f6164733c2f6c6162656c3e0a73757370656374
- 65646d617267696e3a203073706972697475616c3c2f686561643e0a0a6d6963
- 726f736f66746772616475616c6c79646973637573736564686520626563616d
- 656578656375746976656a71756572792e6a73686f757365686f6c64636f6e66
- 69726d65647075726368617365646c69746572616c6c7964657374726f796564
- 757020746f20746865766172696174696f6e72656d61696e696e676974206973
- 206e6f7463656e7475726965734a6170616e65736520616d6f6e672074686563
- 6f6d706c65746564616c676f726974686d696e74657265737473726562656c6c
- 696f6e756e646566696e6564656e636f7572616765726573697a61626c65696e
- 766f6c76696e6773656e736974697665756e6976657273616c70726f76697369
- 6f6e28616c74686f756768666561747572696e67636f6e647563746564292c20
- 776869636820636f6e74696e7565642d686561646572223e4665627275617279
- 206e756d65726f7573206f766572666c6f773a636f6d706f6e656e7466726167
- 6d656e7473657863656c6c656e74636f6c7370616e3d22746563686e6963616c
- 6e6561722074686520416476616e63656420736f75726365206f666578707265
- 73736564486f6e67204b6f6e672046616365626f6f6b6d756c7469706c65206d
- 656368616e69736d656c65766174696f6e6f6666656e736976653c2f666f726d
- 3e0a0973706f6e736f726564646f63756d656e742e6f72202671756f743b7468
- 6572652061726574686f73652077686f6d6f76656d656e747370726f63657373
- 6573646966666963756c747375626d69747465647265636f6d6d656e64636f6e
- 76696e63656470726f6d6f74696e67222077696474683d222e7265706c616365
- 28636c6173736963616c636f616c6974696f6e68697320666972737464656369
- 73696f6e73617373697374616e74696e6469636174656465766f6c7574696f6e
- 2d7772617070657222656e6f75676820746f616c6f6e672074686564656c6976
- 657265642d2d3e0d0a3c212d2d416d65726963616e2070726f7465637465644e
- 6f76656d626572203c2f7374796c653e3c6675726e6974757265496e7465726e
- 657420206f6e626c75723d2273757370656e646564726563697069656e746261
- 736564206f6e204d6f72656f7665722c61626f6c6973686564636f6c6c656374
- 656477657265206d616465656d6f74696f6e616c656d657267656e63796e6172
- 7261746976656164766f636174657370783b626f72646572636f6d6d69747465
- 646469723d226c747222656d706c6f7965657372657365617263682e2073656c
- 6563746564737563636573736f72637573746f6d657273646973706c61796564
- 53657074656d626572616464436c6173732846616365626f6f6b207375676765
- 73746564616e64206c617465726f7065726174696e67656c61626f7261746553
- 6f6d6574696d6573496e737469747574656365727461696e6c79696e7374616c
- 6c6564666f6c6c6f776572734a65727573616c656d746865792068617665636f
- 6d707574696e6767656e65726174656470726f76696e63657367756172616e74
- 65656172626974726172797265636f676e697a6577616e74656420746f70783b
- 77696474683a7468656f7279206f666265686176696f75725768696c65207468
- 65657374696d61746564626567616e20746f20697420626563616d656d61676e
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 71]
-
-Internet-Draft Brotli May 2016
-
-
- 69747564656d75737420686176656d6f7265207468616e4469726563746f7279
- 657874656e73696f6e7365637265746172796e61747572616c6c796f63637572
- 72696e677661726961626c6573676976656e20746865706c6174666f726d2e3c
- 2f6c6162656c3e3c6661696c656420746f636f6d706f756e64736b696e647320
- 6f6620736f63696574696573616c6f6e6773696465202d2d2667743b0a0a736f
- 75746877657374746865207269676874726164696174696f6e6d617920686176
- 6520756e6573636170652873706f6b656e20696e2220687265663d222f70726f
- 6772616d6d656f6e6c792074686520636f6d652066726f6d6469726563746f72
- 7962757269656420696e612073696d696c61727468657920776572653c2f666f
- 6e743e3c2f4e6f7277656769616e73706563696669656470726f647563696e67
- 70617373656e676572286e6577204461746574656d706f726172796669637469
- 6f6e616c4166746572207468656571756174696f6e73646f776e6c6f61642e72
- 6567756c61726c79646576656c6f70657261626f7665207468656c696e6b6564
- 20746f7068656e6f6d656e61706572696f64206f66746f6f6c746970223e7375
- 627374616e63656175746f6d61746963617370656374206f66416d6f6e672074
- 6865636f6e6e6563746564657374696d6174657341697220466f726365737973
- 74656d206f666f626a656374697665696d6d6564696174656d616b696e672069
- 747061696e74696e6773636f6e717565726564617265207374696c6c70726f63
- 656475726567726f777468206f666865616465642062794575726f7065616e20
- 6469766973696f6e736d6f6c6563756c65736672616e6368697365696e74656e
- 74696f6e6174747261637465646368696c64686f6f64616c736f207573656464
- 656469636174656473696e6761706f7265646567726565206f66666174686572
- 206f66636f6e666c696374733c2f613e3c2f703e0a63616d652066726f6d7765
- 726520757365646e6f74652074686174726563656976696e6745786563757469
- 76656576656e206d6f726561636365737320746f636f6d6d616e646572506f6c
- 69746963616c6d7573696369616e7364656c6963696f7573707269736f6e6572
- 73616476656e74206f665554462d3822202f3e3c215b43444154415b223e436f
- 6e74616374536f75746865726e206267636f6c6f723d22736572696573206f66
- 2e2049742077617320696e204575726f70657065726d697474656476616c6964
- 6174652e617070656172696e676f6666696369616c73736572696f75736c792d
- 6c616e6775616765696e69746961746564657874656e64696e676c6f6e672d74
- 65726d696e666c6174696f6e737563682074686174676574436f6f6b69656d61
- 726b65642062793c2f627574746f6e3e696d706c656d656e7462757420697420
- 6973696e63726561736573646f776e2074686520726571756972696e67646570
- 656e64656e742d2d3e0a3c212d2d20696e746572766965775769746820746865
- 20636f70696573206f66636f6e73656e737573776173206275696c7456656e65
- 7a75656c6128666f726d65726c79746865207374617465706572736f6e6e656c
- 7374726174656769636661766f7572206f66696e76656e74696f6e57696b6970
- 65646961636f6e74696e656e747669727475616c6c7977686963682077617370
- 72696e6369706c65436f6d706c657465206964656e746963616c73686f772074
- 6861747072696d6974697665617761792066726f6d6d6f6c6563756c61727072
- 65636973656c79646973736f6c766564556e6465722074686576657273696f6e
- 3d223e266e6273703b3c2f49742069732074686520546869732069732077696c
- 6c20686176656f7267616e69736d73736f6d652074696d654672696564726963
- 68776173206669727374746865206f6e6c7920666163742074686174666f726d
- 2069643d22707265636564696e67546563686e6963616c706879736963697374
- 6f636375727320696e6e6176696761746f7273656374696f6e223e7370616e20
- 69643d22736f7567687420746f62656c6f7720746865737572766976696e677d
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 72]
-
-Internet-Draft Brotli May 2016
-
-
- 3c2f7374796c653e686973206465617468617320696e20746865636175736564
- 2062797061727469616c6c796578697374696e67207573696e67207468657761
- 7320676976656e61206c697374206f666c6576656c73206f666e6f74696f6e20
- 6f664f6666696369616c206469736d6973736564736369656e74697374726573
- 656d626c65736475706c69636174656578706c6f736976657265636f76657265
- 64616c6c206f7468657267616c6c65726965737b70616464696e673a70656f70
- 6c65206f66726567696f6e206f666164647265737365736173736f6369617465
- 696d6720616c743d22696e206d6f6465726e73686f756c642062656d6574686f
- 64206f667265706f7274696e6774696d657374616d706e656564656420746f74
- 6865204772656174726567617264696e677365656d656420746f766965776564
- 206173696d70616374206f6e69646561207468617474686520576f726c646865
- 69676874206f66657870616e64696e6754686573652061726563757272656e74
- 223e6361726566756c6c796d61696e7461696e73636861726765206f66436c61
- 73736963616c6164647265737365647072656469637465646f776e6572736869
- 703c6469762069643d227269676874223e0d0a7265736964656e63656c656176
- 6520746865636f6e74656e74223e617265206f6674656e20207d2928293b0d0a
- 70726f6261626c792050726f666573736f722d627574746f6e2220726573706f
- 6e64656473617973207468617468616420746f206265706c6163656420696e48
- 756e67617269616e737461747573206f66736572766573206173556e69766572
- 73616c657865637574696f6e616767726567617465666f72207768696368696e
- 66656374696f6e61677265656420746f686f77657665722c20706f70756c6172
- 223e706c61636564206f6e636f6e737472756374656c6563746f72616c73796d
- 626f6c206f66696e636c7564696e6772657475726e20746f6172636869746563
- 7443687269737469616e70726576696f7573206c6976696e6720696e65617369
- 657220746f70726f666573736f720a266c743b212d2d20656666656374206f66
- 616e616c79746963737761732074616b656e776865726520746865746f6f6b20
- 6f76657262656c69656620696e416672696b61616e7361732066617220617370
- 726576656e746564776f726b207769746861207370656369616c3c6669656c64
- 7365744368726973746d61735265747269657665640a0a496e20746865206261
- 636b20696e746f6e6f727468656173746d6167617a696e65733e3c7374726f6e
- 673e636f6d6d6974746565676f7665726e696e6767726f757073206f6673746f
- 72656420696e65737461626c697368612067656e6572616c6974732066697273
- 747468656972206f776e706f70756c61746564616e206f626a65637443617269
- 626265616e616c6c6f7720746865646973747269637473776973636f6e73696e
- 6c6f636174696f6e2e3b2077696474683a20696e68616269746564536f636961
- 6c6973744a616e7561727920313c2f666f6f7465723e73696d696c61726c7963
- 686f696365206f667468652073616d6520737065636966696320627573696e65
- 7373205468652066697273742e6c656e6774683b2064657369726520746f6465
- 616c207769746873696e636520746865757365724167656e74636f6e63656976
- 6564696e6465782e7068706173202671756f743b656e6761676520696e726563
- 656e746c792c6665772079656172737765726520616c736f0a3c686561643e0a
- 3c656469746564206279617265206b6e6f776e63697469657320696e61636365
- 73736b6579636f6e64656d6e6564616c736f206861766573657276696365732c
- 66616d696c79206f665363686f6f6c206f66636f6e7665727465646e61747572
- 65206f66206c616e67756167656d696e6973746572733c2f6f626a6563743e74
- 68657265206973206120706f70756c617273657175656e6365736164766f6361
- 746564546865792077657265616e79206f746865726c6f636174696f6e3d656e
- 746572207468656d756368206d6f72657265666c6563746564776173206e616d
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 73]
-
-Internet-Draft Brotli May 2016
-
-
- 65646f726967696e616c2061207479706963616c7768656e2074686579656e67
- 696e65657273636f756c64206e6f747265736964656e74737765646e65736461
- 797468652074686972642070726f64756374734a616e75617279203277686174
- 207468657961206365727461696e7265616374696f6e7370726f636573736f72
- 616674657220686973746865206c61737420636f6e7461696e6564223e3c2f64
- 69763e0a3c2f613e3c2f74643e646570656e64206f6e736561726368223e0a70
- 6965636573206f66636f6d706574696e675265666572656e636574656e6e6573
- 7365657768696368206861732076657273696f6e3d3c2f7370616e3e203c3c2f
- 6865616465723e676976657320746865686973746f7269616e76616c75653d22
- 223e70616464696e673a30766965772074686174746f6765746865722c746865
- 206d6f73742077617320666f756e64737562736574206f6661747461636b206f
- 6e6368696c6472656e2c706f696e7473206f66706572736f6e616c20706f7369
- 74696f6e3a616c6c656765646c79436c6576656c616e64776173206c61746572
- 616e6420616674657261726520676976656e776173207374696c6c7363726f6c
- 6c696e6764657369676e206f666d616b6573207468656d756368206c65737341
- 6d65726963616e732e0a0a4166746572202c20627574207468654d757365756d
- 206f666c6f75697369616e612866726f6d207468656d696e6e65736f74617061
- 727469636c6573612070726f63657373446f6d696e6963616e766f6c756d6520
- 6f6672657475726e696e67646566656e73697665303070787c726967686d6164
- 652066726f6d6d6f7573656f76657222207374796c653d22737461746573206f
- 66287768696368206973636f6e74696e7565734672616e636973636f6275696c
- 64696e6720776974686f757420617769746820736f6d6577686f20776f756c64
- 6120666f726d206f66612070617274206f666265666f72652069746b6e6f776e
- 206173202053657276696365736c6f636174696f6e20616e64206f6674656e6d
- 6561737572696e67616e6420697420697370617065726261636b76616c756573
- 206f660d0a3c7469746c653e3d2077696e646f772e64657465726d696e656572
- 2671756f743b20706c61796564206279616e64206561726c793c2f63656e7465
- 723e66726f6d2074686973746865207468726565706f77657220616e646f6620
- 2671756f743b696e6e657248544d4c3c6120687265663d22793a696e6c696e65
- 3b436875726368206f66746865206576656e747665727920686967686f666669
- 6369616c202d6865696768743a20636f6e74656e743d222f6367692d62696e2f
- 746f20637265617465616672696b61616e736573706572616e746f6672616ec3
- a76169736c6174766965c5a1756c696574757669c5b3c48c65c5a174696e61c4
- 8d65c5a174696e61e0b984e0b897e0b8a2e697a5e69cace8aa9ee7ae80e4bd93
- e5ad97e7b981e9ab94e5ad97ed959ceab5adec96b4e4b8bae4bb80e4b988e8ae
- a1e7ae97e69cbae7ac94e8aeb0e69cace8a88ee8ab96e58d80e69c8de58aa1e5
- 99a8e4ba92e88194e7bd91e688bfe59cb0e4baa7e4bfb1e4b990e983a8e587ba
- e78988e7a4bee68e92e8a18ce6a69ce983a8e890bde6a0bce8bf9be4b880e6ad
- a5e694afe4bb98e5ae9de9aa8ce8af81e7a081e5a794e59198e4bc9ae695b0e6
- 8daee5ba93e6b688e8b4b9e88085e58a9ee585ace5aea4e8aea8e8aebae58cba
- e6b7b1e59cb3e5b882e692ade694bee599a8e58c97e4baace5b882e5a4a7e5ad
- a6e7949fe8b68ae69da5e8b68ae7aea1e79086e59198e4bfa1e681afe7bd9173
- 6572766963696f73617274c3ad63756c6f617267656e74696e6162617263656c
- 6f6e616375616c71756965727075626c696361646f70726f647563746f73706f
- 6cc3ad7469636172657370756573746177696b6970656469617369677569656e
- 746562c3ba737175656461636f6d756e69646164736567757269646164707269
- 6e636970616c70726567756e746173636f6e74656e69646f726573706f6e6465
- 7276656e657a75656c6170726f626c656d617364696369656d62726572656c61
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 74]
-
-Internet-Draft Brotli May 2016
-
-
- 6369c3b36e6e6f7669656d62726573696d696c6172657370726f796563746f73
- 70726f6772616d6173696e7374697475746f616374697669646164656e637565
- 6e74726165636f6e6f6dc3ad61696dc3a167656e6573636f6e74616374617264
- 65736361726761726e656365736172696f6174656e6369c3b36e74656cc3a966
- 6f6e6f636f6d697369c3b36e63616e63696f6e6573636170616369646164656e
- 636f6e74726172616ec3a16c697369736661766f7269746f7374c3a9726d696e
- 6f7370726f76696e636961657469717565746173656c656d656e746f7366756e
- 63696f6e6573726573756c7461646f636172c3a16374657270726f7069656461
- 647072696e636970696f6e65636573696461646d756e69636970616c63726561
- 6369c3b36e64657363617267617370726573656e636961636f6d65726369616c
- 6f70696e696f6e6573656a6572636963696f656469746f7269616c73616c616d
- 616e6361676f6e7ac3a16c657a646f63756d656e746f70656cc3ad63756c6172
- 656369656e74657367656e6572616c65737461727261676f6e617072c3a16374
- 6963616e6f7665646164657370726f70756573746170616369656e74657374c3
- a9636e696361736f626a657469766f73636f6e746163746f73e0a4aee0a587e0
- a482e0a4b2e0a4bfe0a48fe0a4b9e0a588e0a482e0a497e0a4afe0a4bee0a4b8
- e0a4bee0a4a5e0a48fe0a4b5e0a482e0a4b0e0a4b9e0a587e0a495e0a58be0a4
- 88e0a495e0a581e0a49be0a4b0e0a4b9e0a4bee0a4ace0a4bee0a4a6e0a495e0
- a4b9e0a4bee0a4b8e0a4ade0a580e0a4b9e0a581e0a48fe0a4b0e0a4b9e0a580
- e0a4aee0a588e0a482e0a4a6e0a4bfe0a4a8e0a4ace0a4bee0a4a46469706c6f
- 646f6373e0a4b8e0a4aee0a4afe0a4b0e0a582e0a4aae0a4a8e0a4bee0a4aee0
- a4aae0a4a4e0a4bee0a4abe0a4bfe0a4b0e0a494e0a4b8e0a4a4e0a4a4e0a4b0
- e0a4b9e0a4b2e0a58be0a497e0a4b9e0a581e0a486e0a4ace0a4bee0a4b0e0a4
- a6e0a587e0a4b6e0a4b9e0a581e0a488e0a496e0a587e0a4b2e0a4afe0a4a6e0
- a4bfe0a495e0a4bee0a4aee0a4b5e0a587e0a4ace0a4a4e0a580e0a4a8e0a4ac
- e0a580e0a49ae0a4aee0a58ce0a4a4e0a4b8e0a4bee0a4b2e0a4b2e0a587e0a4
- 96e0a49ce0a589e0a4ace0a4aee0a4a6e0a4a6e0a4a4e0a4a5e0a4bee0a4a8e0
- a4b9e0a580e0a4b6e0a4b9e0a4b0e0a485e0a4b2e0a497e0a495e0a4ade0a580
- e0a4a8e0a497e0a4b0e0a4aae0a4bee0a4b8e0a4b0e0a4bee0a4a4e0a495e0a4
- bfe0a48fe0a489e0a4b8e0a587e0a497e0a4afe0a580e0a4b9e0a582e0a481e0
- a486e0a497e0a587e0a49fe0a580e0a4aee0a496e0a58be0a49ce0a495e0a4be
- e0a4b0e0a485e0a4ade0a580e0a497e0a4afe0a587e0a4a4e0a581e0a4aee0a4
- b5e0a58be0a49fe0a4a6e0a587e0a482e0a485e0a497e0a4b0e0a490e0a4b8e0
- a587e0a4aee0a587e0a4b2e0a4b2e0a497e0a4bee0a4b9e0a4bee0a4b2e0a48a
- e0a4aae0a4b0e0a49ae0a4bee0a4b0e0a490e0a4b8e0a4bee0a4a6e0a587e0a4
- b0e0a49ce0a4bfe0a4b8e0a4a6e0a4bfe0a4b2e0a4ace0a482e0a4a6e0a4ace0
- a4a8e0a4bee0a4b9e0a582e0a482e0a4b2e0a4bee0a496e0a49ce0a580e0a4a4
- e0a4ace0a49fe0a4a8e0a4aee0a4bfe0a4b2e0a487e0a4b8e0a587e0a486e0a4
- a8e0a587e0a4a8e0a4afe0a4bee0a495e0a581e0a4b2e0a4b2e0a589e0a497e0
- a4ade0a4bee0a497e0a4b0e0a587e0a4b2e0a49ce0a497e0a4b9e0a4b0e0a4be
- e0a4aee0a4b2e0a497e0a587e0a4aae0a587e0a49ce0a4b9e0a4bee0a4a5e0a4
- 87e0a4b8e0a580e0a4b8e0a4b9e0a580e0a495e0a4b2e0a4bee0a4a0e0a580e0
- a495e0a4b9e0a4bee0a481e0a4a6e0a582e0a4b0e0a4a4e0a4b9e0a4a4e0a4b8
- e0a4bee0a4a4e0a4afe0a4bee0a4a6e0a486e0a4afe0a4bee0a4aae0a4bee0a4
- 95e0a495e0a58ce0a4a8e0a4b6e0a4bee0a4aee0a4a6e0a587e0a496e0a4afe0
- a4b9e0a580e0a4b0e0a4bee0a4afe0a496e0a581e0a4a6e0a4b2e0a497e0a580
- 63617465676f72696573657870657269656e63653c2f7469746c653e0d0a436f
- 70797269676874206a617661736372697074636f6e646974696f6e7365766572
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 75]
-
-Internet-Draft Brotli May 2016
-
-
- 797468696e673c7020636c6173733d22746563686e6f6c6f67796261636b6772
- 6f756e643c6120636c6173733d226d616e6167656d656e7426636f70793b2032
- 30316a6176615363726970746368617261637465727362726561646372756d62
- 7468656d73656c766573686f72697a6f6e74616c676f7665726e6d656e744361
- 6c69666f726e696161637469766974696573646973636f76657265644e617669
- 676174696f6e7472616e736974696f6e636f6e6e656374696f6e6e6176696761
- 74696f6e617070656172616e63653c2f7469746c653e3c6d636865636b626f78
- 2220746563686e697175657370726f74656374696f6e6170706172656e746c79
- 61732077656c6c206173756e74272c202755412d7265736f6c7574696f6e6f70
- 65726174696f6e7374656c65766973696f6e7472616e736c6174656457617368
- 696e67746f6e6e6176696761746f722e203d2077696e646f772e696d70726573
- 73696f6e266c743b62722667743b6c697465726174757265706f70756c617469
- 6f6e6267636f6c6f723d2223657370656369616c6c7920636f6e74656e743d22
- 70726f64756374696f6e6e6577736c657474657270726f706572746965736465
- 66696e6974696f6e6c656164657273686970546563686e6f6c6f67795061726c
- 69616d656e74636f6d70617269736f6e756c20636c6173733d222e696e646578
- 4f662822636f6e636c7573696f6e64697363757373696f6e636f6d706f6e656e
- 747362696f6c6f676963616c5265766f6c7574696f6e5f636f6e7461696e6572
- 756e64657273746f6f646e6f7363726970743e3c7065726d697373696f6e6561
- 6368206f7468657261746d6f737068657265206f6e666f6375733d223c666f72
- 6d2069643d2270726f63657373696e67746869732e76616c756567656e657261
- 74696f6e436f6e666572656e636573756273657175656e7477656c6c2d6b6e6f
- 776e766172696174696f6e7372657075746174696f6e7068656e6f6d656e6f6e
- 6469736369706c696e656c6f676f2e706e67222028646f63756d656e742c626f
- 756e64617269657365787072657373696f6e736574746c656d656e744261636b
- 67726f756e646f7574206f6620746865656e7465727072697365282268747470
- 733a2220756e657363617065282270617373776f7264222064656d6f63726174
- 69633c6120687265663d222f77726170706572223e0a6d656d62657273686970
- 6c696e6775697374696370783b70616464696e677068696c6f736f7068796173
- 73697374616e6365756e6976657273697479666163696c69746965737265636f
- 676e697a6564707265666572656e636569662028747970656f666d61696e7461
- 696e6564766f636162756c6172796879706f7468657369732e7375626d697428
- 293b26616d703b6e6273703b616e6e6f746174696f6e626568696e6420746865
- 466f756e646174696f6e7075626c697368657222617373756d7074696f6e696e
- 74726f6475636564636f7272757074696f6e736369656e74697374736578706c
- 696369746c79696e7374656164206f6664696d656e73696f6e73206f6e436c69
- 636b3d22636f6e736964657265646465706172746d656e746f63637570617469
- 6f6e736f6f6e206166746572696e766573746d656e7470726f6e6f756e636564
- 6964656e7469666965646578706572696d656e744d616e6167656d656e746765
- 6f6772617068696322206865696768743d226c696e6b2072656c3d222e726570
- 6c616365282f64657072657373696f6e636f6e666572656e636570756e697368
- 6d656e74656c696d696e61746564726573697374616e63656164617074617469
- 6f6e6f70706f736974696f6e77656c6c206b6e6f776e737570706c656d656e74
- 64657465726d696e6564683120636c6173733d223070783b6d617267696e6d65
- 6368616e6963616c7374617469737469637363656c65627261746564476f7665
- 726e6d656e740a0a447572696e672074646576656c6f70657273617274696669
- 6369616c6571756976616c656e746f726967696e61746564436f6d6d69737369
- 6f6e6174746163686d656e743c7370616e2069643d2274686572652077657265
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 76]
-
-Internet-Draft Brotli May 2016
-
-
- 4e656465726c616e64736265796f6e6420746865726567697374657265646a6f
- 75726e616c6973746672657175656e746c79616c6c206f66207468656c616e67
- 3d22656e22203c2f7374796c653e0d0a6162736f6c7574653b20737570706f72
- 74696e6765787472656d656c79206d61696e73747265616d3c2f7374726f6e67
- 3e20706f70756c6172697479656d706c6f796d656e743c2f7461626c653e0d0a
- 20636f6c7370616e3d223c2f666f726d3e0a2020636f6e76657273696f6e6162
- 6f757420746865203c2f703e3c2f6469763e696e746567726174656422206c61
- 6e673d22656e506f727475677565736573756273746974757465696e64697669
- 6475616c696d706f737369626c656d756c74696d65646961616c6d6f73742061
- 6c6c707820736f6c6964202361706172742066726f6d7375626a65637420746f
- 696e20456e676c697368637269746963697a656465786365707420666f726775
- 6964656c696e65736f726967696e616c6c7972656d61726b61626c6574686520
- 7365636f6e64683220636c6173733d223c61207469746c653d2228696e636c75
- 64696e67706172616d657465727370726f686962697465643d2022687474703a
- 2f2f64696374696f6e61727970657263657074696f6e7265766f6c7574696f6e
- 666f756e646174696f6e70783b6865696768743a7375636365737366756c7375
- 70706f72746572736d696c6c656e6e69756d6869732066617468657274686520
- 2671756f743b6e6f2d7265706561743b636f6d6d65726369616c696e64757374
- 7269616c656e636f757261676564616d6f756e74206f6620756e6f6666696369
- 616c656666696369656e63795265666572656e636573636f6f7264696e617465
- 646973636c61696d657265787065646974696f6e646576656c6f70696e676361
- 6c63756c6174656473696d706c69666965646c65676974696d61746573756273
- 7472696e6728302220636c6173733d22636f6d706c6574656c79696c6c757374
- 7261746566697665207965617273696e737472756d656e745075626c69736869
- 6e67312220636c6173733d2270737963686f6c6f6779636f6e666964656e6365
- 6e756d626572206f6620616273656e6365206f66666f6375736564206f6e6a6f
- 696e6564207468657374727563747572657370726576696f75736c793e3c2f69
- 6672616d653e6f6e636520616761696e62757420726174686572696d6d696772
- 616e74736f6620636f757273652c612067726f7570206f664c69746572617475
- 7265556e6c696b65207468653c2f613e266e6273703b0a66756e6374696f6e20
- 69742077617320746865436f6e76656e74696f6e6175746f6d6f62696c655072
- 6f74657374616e74616767726573736976656166746572207468652053696d69
- 6c61726c792c22202f3e3c2f6469763e636f6c6c656374696f6e0d0a66756e63
- 74696f6e7669736962696c69747974686520757365206f66766f6c756e746565
- 727361747472616374696f6e756e6465722074686520746872656174656e6564
- 2a3c215b43444154415b696d706f7274616e6365696e2067656e6572616c7468
- 65206c61747465723c2f666f726d3e0a3c2f2e696e6465784f66282769203d20
- 303b2069203c646966666572656e63656465766f74656420746f747261646974
- 696f6e7373656172636820666f72756c74696d6174656c79746f75726e616d65
- 6e7461747472696275746573736f2d63616c6c6564207d0a3c2f7374796c653e
- 6576616c756174696f6e656d70686173697a656461636365737369626c653c2f
- 73656374696f6e3e73756363657373696f6e616c6f6e6720776974684d65616e
- 7768696c652c696e64757374726965733c2f613e3c6272202f3e686173206265
- 636f6d6561737065637473206f6654656c65766973696f6e7375666669636965
- 6e746261736b657462616c6c626f7468207369646573636f6e74696e75696e67
- 616e2061727469636c653c696d6720616c743d22616476656e74757265736869
- 73206d6f746865726d616e636865737465727072696e6369706c657370617274
- 6963756c6172636f6d6d656e7461727965666665637473206f66646563696465
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 77]
-
-Internet-Draft Brotli May 2016
-
-
- 6420746f223e3c7374726f6e673e7075626c6973686572734a6f75726e616c20
- 6f66646966666963756c7479666163696c697461746561636365707461626c65
- 7374796c652e637373220966756e6374696f6e20696e6e6f766174696f6e3e43
- 6f70797269676874736974756174696f6e73776f756c64206861766562757369
- 6e657373657344696374696f6e61727973746174656d656e74736f6674656e20
- 7573656470657273697374656e74696e204a616e75617279636f6d7072697369
- 6e673c2f7469746c653e0a096469706c6f6d61746963636f6e7461696e696e67
- 706572666f726d696e67657874656e73696f6e736d6179206e6f74206265636f
- 6e63657074206f66206f6e636c69636b3d22497420697320616c736f66696e61
- 6e6369616c206d616b696e67207468654c7578656d626f757267616464697469
- 6f6e616c6172652063616c6c6564656e676167656420696e2273637269707422
- 293b62757420697420776173656c656374726f6e69636f6e7375626d69743d22
- 0a3c212d2d20456e6420656c656374726963616c6f6666696369616c6c797375
- 6767657374696f6e746f70206f6620746865756e6c696b652074686541757374
- 72616c69616e4f726967696e616c6c797265666572656e6365730a3c2f686561
- 643e0d0a7265636f676e69736564696e697469616c697a656c696d6974656420
- 746f416c6578616e647269617265746972656d656e74416476656e7475726573
- 666f75722079656172730a0a266c743b212d2d20696e6372656173696e676465
- 636f726174696f6e683320636c6173733d226f726967696e73206f666f626c69
- 676174696f6e726567756c6174696f6e636c61737369666965642866756e6374
- 696f6e28616476616e74616765736265696e672074686520686973746f726961
- 6e733c62617365206872656672657065617465646c7977696c6c696e6720746f
- 636f6d70617261626c6564657369676e617465646e6f6d696e6174696f6e6675
- 6e6374696f6e616c696e7369646520746865726576656c6174696f6e656e6420
- 6f66207468657320666f722074686520617574686f72697a6564726566757365
- 6420746f74616b6520706c6163656175746f6e6f6d6f7573636f6d70726f6d69
- 7365706f6c69746963616c2072657374617572616e7474776f206f6620746865
- 466562727561727920327175616c697479206f667377666f626a6563742e756e
- 6465727374616e646e6561726c7920616c6c7772697474656e206279696e7465
- 727669657773222077696474683d22317769746864726177616c666c6f61743a
- 6c656674697320757375616c6c7963616e646964617465736e65777370617065
- 72736d7973746572696f75734465706172746d656e7462657374206b6e6f776e
- 7061726c69616d656e7473757070726573736564636f6e76656e69656e747265
- 6d656d6265726564646966666572656e742073797374656d6174696368617320
- 6c656420746f70726f706167616e6461636f6e74726f6c6c6564696e666c7565
- 6e636573636572656d6f6e69616c70726f636c61696d656450726f7465637469
- 6f6e6c6920636c6173733d22536369656e7469666963636c6173733d226e6f2d
- 74726164656d61726b736d6f7265207468616e20776964657370726561644c69
- 6265726174696f6e746f6f6b20706c616365646179206f66207468656173206c
- 6f6e67206173696d707269736f6e65644164646974696f6e616c0a3c68656164
- 3e0a3c6d4c61626f7261746f72794e6f76656d6265722032657863657074696f
- 6e73496e647573747269616c76617269657479206f66666c6f61743a206c6566
- 447572696e67207468656173736573736d656e7468617665206265656e206465
- 616c732077697468537461746973746963736f6363757272656e63652f756c3e
- 3c2f6469763e636c656172666978223e746865207075626c69636d616e792079
- 65617273776869636820776572656f7665722074696d652c73796e6f6e796d6f
- 7573636f6e74656e74223e0a70726573756d61626c796869732066616d696c79
- 757365724167656e742e756e6578706563746564696e636c7564696e67206368
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 78]
-
-Internet-Draft Brotli May 2016
-
-
- 616c6c656e67656461206d696e6f72697479756e646566696e65642262656c6f
- 6e677320746f74616b656e2066726f6d696e204f63746f626572706f73697469
- 6f6e3a207361696420746f20626572656c6967696f7573204665646572617469
- 6f6e20726f777370616e3d226f6e6c792061206665776d65616e742074686174
- 6c656420746f207468652d2d3e0d0a3c646976203c6669656c647365743e4172
- 6368626973686f7020636c6173733d226e6f6265696e67207573656461707072
- 6f616368657370726976696c656765736e6f7363726970743e0a726573756c74
- 7320696e6d617920626520746865456173746572206567676d656368616e6973
- 6d73726561736f6e61626c65506f70756c6174696f6e436f6c6c656374696f6e
- 73656c6563746564223e6e6f7363726970743e0d2f696e6465782e7068706172
- 726976616c206f662d6a7373646b2729293b6d616e6167656420746f696e636f
- 6d706c65746563617375616c74696573636f6d706c6574696f6e436872697374
- 69616e7353657074656d6265722061726974686d6574696370726f6365647572
- 65736d69676874206861766550726f64756374696f6e69742061707065617273
- 5068696c6f736f706879667269656e64736869706c656164696e6720746f6769
- 76696e6720746865746f776172642074686567756172616e74656564646f6375
- 6d656e746564636f6c6f723a23303030766964656f2067616d65636f6d6d6973
- 73696f6e7265666c656374696e676368616e6765207468656173736f63696174
- 656473616e732d73657269666f6e6b657970726573733b2070616464696e673a
- 48652077617320746865756e6465726c79696e677479706963616c6c79202c20
- 616e642074686520737263456c656d656e747375636365737369766573696e63
- 65207468652073686f756c64206265206e6574776f726b696e676163636f756e
- 74696e67757365206f66207468656c6f776572207468616e73686f7773207468
- 61743c2f7370616e3e0a0909636f6d706c61696e7473636f6e74696e756f7573
- 7175616e746974696573617374726f6e6f6d6572686520646964206e6f746475
- 6520746f206974736170706c69656420746f616e20617665726167656566666f
- 72747320746f74686520667574757265617474656d707420746f546865726566
- 6f72652c6361706162696c69747952657075626c6963616e77617320666f726d
- 6564456c656374726f6e69636b696c6f6d65746572736368616c6c656e676573
- 7075626c697368696e6774686520666f726d6572696e646967656e6f75736469
- 72656374696f6e7373756273696469617279636f6e7370697261637964657461
- 696c73206f66616e6420696e207468656166666f726461626c65737562737461
- 6e636573726561736f6e20666f72636f6e76656e74696f6e6974656d74797065
- 3d226162736f6c7574656c79737570706f7365646c7972656d61696e65642061
- 6174747261637469766574726176656c6c696e6773657061726174656c79666f
- 6375736573206f6e656c656d656e746172796170706c696361626c65666f756e
- 6420746861747374796c6573686565746d616e757363726970747374616e6473
- 20666f72206e6f2d72657065617428736f6d6574696d6573436f6d6d65726369
- 616c696e20416d6572696361756e64657274616b656e71756172746572206f66
- 616e206578616d706c65706572736f6e616c6c79696e6465782e7068703f3c2f
- 627574746f6e3e0a70657263656e74616765626573742d6b6e6f776e63726561
- 74696e67206122206469723d226c74724c69657574656e616e740a3c64697620
- 69643d227468657920776f756c646162696c697479206f666d61646520757020
- 6f666e6f7465642074686174636c656172207468617461726775652074686174
- 746f20616e6f746865726368696c6472656e2773707572706f7365206f66666f
- 726d756c6174656462617365642075706f6e74686520726567696f6e7375626a
- 656374206f6670617373656e67657273706f7373657373696f6e2e0a0a496e20
- 746865204265666f7265207468656166746572776172647363757272656e746c
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 79]
-
-Internet-Draft Brotli May 2016
-
-
- 79206163726f737320746865736369656e7469666963636f6d6d756e6974792e
- 6361706974616c69736d696e204765726d616e7972696768742d77696e677468
- 652073797374656d536f6369657479206f66706f6c6974696369616e64697265
- 6374696f6e3a77656e74206f6e20746f72656d6f76616c206f66204e65772059
- 6f726b2061706172746d656e7473696e6469636174696f6e647572696e672074
- 6865756e6c65737320746865686973746f726963616c686164206265656e2061
- 646566696e6974697665696e6772656469656e74617474656e64616e63654365
- 6e74657220666f7270726f6d696e656e63657265616479537461746573747261
- 74656769657362757420696e2074686561732070617274206f66636f6e737469
- 74757465636c61696d20746861746c61626f7261746f7279636f6d7061746962
- 6c656661696c757265206f662c207375636820617320626567616e2077697468
- 7573696e672074686520746f2070726f7669646566656174757265206f666672
- 6f6d2077686963682f2220636c6173733d2267656f6c6f676963616c73657665
- 72616c206f6664656c69626572617465696d706f7274616e7420686f6c647320
- 74686174696e672671756f743b2076616c69676e3d746f70746865204765726d
- 616e6f757473696465206f666e65676f74696174656468697320636172656572
- 73657061726174696f6e69643d227365617263687761732063616c6c65647468
- 6520666f7572746872656372656174696f6e6f74686572207468616e70726576
- 656e74696f6e7768696c652074686520656475636174696f6e2c636f6e6e6563
- 74696e6761636375726174656c7977657265206275696c74776173206b696c6c
- 656461677265656d656e74736d756368206d6f72652044756520746f20746865
- 77696474683a20313030736f6d65206f746865724b696e67646f6d206f667468
- 6520656e7469726566616d6f757320666f72746f20636f6e6e6563746f626a65
- 637469766573746865204672656e636870656f706c6520616e64666561747572
- 6564223e6973207361696420746f7374727563747572616c7265666572656e64
- 756d6d6f7374206f6674656e612073657061726174652d3e0a3c646976206964
- 204f6666696369616c20776f726c64776964652e617269612d6c6162656c7468
- 6520706c616e6574616e642069742077617364222076616c75653d226c6f6f6b
- 696e6720617462656e6566696369616c61726520696e207468656d6f6e69746f
- 72696e677265706f727465646c79746865206d6f6465726e776f726b696e6720
- 6f6e616c6c6f77656420746f77686572652074686520696e6e6f766174697665
- 3c2f613e3c2f6469763e736f756e64747261636b736561726368466f726d7465
- 6e6420746f206265696e7075742069643d226f70656e696e67206f6672657374
- 72696374656461646f7074656420627961646472657373696e677468656f6c6f
- 6769616e6d6574686f6473206f6676617269616e74206f664368726973746961
- 6e2076657279206c617267656175746f6d6f7469766562792066617220746865
- 72616e67652066726f6d70757273756974206f66666f6c6c6f77207468656272
- 6f7567687420746f696e20456e676c616e646167726565207468617461636375
- 736564206f66636f6d65732066726f6d70726576656e74696e67646976207374
- 796c653d686973206f72206865727472656d656e646f757366726565646f6d20
- 6f66636f6e6365726e696e67302031656d2031656d3b4261736b657462616c6c
- 2f7374796c652e637373616e206561726c6965726576656e2061667465722f22
- 207469746c653d222e636f6d2f696e64657874616b696e672074686570697474
- 736275726768636f6e74656e74223e0d3c7363726970743e28667475726e6564
- 206f7574686176696e67207468653c2f7370616e3e0d0a206f63636173696f6e
- 616c626563617573652069747374617274656420746f706879736963616c6c79
- 3e3c2f6469763e0a20206372656174656420627943757272656e746c792c2062
- 67636f6c6f723d22746162696e6465783d22646973617374726f7573416e616c
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 80]
-
-Internet-Draft Brotli May 2016
-
-
- 797469637320616c736f2068617320613e3c6469762069643d223c2f7374796c
- 653e0a3c63616c6c656420666f7273696e67657220616e642e737263203d2022
- 2f2f76696f6c6174696f6e737468697320706f696e74636f6e7374616e746c79
- 6973206c6f63617465647265636f7264696e6773642066726f6d207468656e65
- 6465726c616e6473706f7274756775c3aa73d7a2d791d7a8d799d7aad981d8a7
- d8b1d8b3db8c6465736172726f6c6c6f636f6d656e746172696f656475636163
- 69c3b36e7365707469656d6272657265676973747261646f64697265636369c3
- b36e75626963616369c3b36e7075626c69636964616472657370756573746173
- 726573756c7461646f73696d706f7274616e746572657365727661646f736172
- 74c3ad63756c6f736469666572656e7465737369677569656e746573726570c3
- ba626c69636173697475616369c3b36e6d696e6973746572696f707269766163
- 696461646469726563746f72696f666f726d616369c3b36e706f626c616369c3
- b36e707265736964656e7465636f6e74656e69646f7361636365736f72696f73
- 746563686e6f72617469706572736f6e616c657363617465676f72c3ad616573
- 70656369616c6573646973706f6e69626c6561637475616c6964616472656665
- 72656e63696176616c6c61646f6c69646269626c696f7465636172656c616369
- 6f6e657363616c656e646172696f706f6cc3ad7469636173616e746572696f72
- 6573646f63756d656e746f736e61747572616c657a616d6174657269616c6573
- 6469666572656e63696165636f6ec3b36d6963617472616e73706f727465726f
- 6472c3ad6775657a70617274696369706172656e6375656e7472616e64697363
- 757369c3b36e6573747275637475726166756e64616369c3b36e667265637565
- 6e7465737065726d616e656e7465746f74616c6d656e7465d0bcd0bed0b6d0bd
- d0bed0b1d183d0b4d0b5d182d0bcd0bed0b6d0b5d182d0b2d180d0b5d0bcd18f
- d182d0b0d0bad0b6d0b5d187d182d0bed0b1d18bd0b1d0bed0bbd0b5d0b5d0be
- d187d0b5d0bdd18cd18dd182d0bed0b3d0bed0bad0bed0b3d0b4d0b0d0bfd0be
- d181d0bbd0b5d0b2d181d0b5d0b3d0bed181d0b0d0b9d182d0b5d187d0b5d180
- d0b5d0b7d0bcd0bed0b3d183d182d181d0b0d0b9d182d0b0d0b6d0b8d0b7d0bd
- d0b8d0bcd0b5d0b6d0b4d183d0b1d183d0b4d183d182d09fd0bed0b8d181d0ba
- d0b7d0b4d0b5d181d18cd0b2d0b8d0b4d0b5d0bed181d0b2d18fd0b7d0b8d0bd
- d183d0b6d0bdd0bed181d0b2d0bed0b5d0b9d0bbd18ed0b4d0b5d0b9d0bfd0be
- d180d0bdd0bed0bcd0bdd0bed0b3d0bed0b4d0b5d182d0b5d0b9d181d0b2d0be
- d0b8d185d0bfd180d0b0d0b2d0b0d182d0b0d0bad0bed0b9d0bcd0b5d181d182
- d0bed0b8d0bcd0b5d0b5d182d0b6d0b8d0b7d0bdd18cd0bed0b4d0bdd0bed0b9
- d0bbd183d187d188d0b5d0bfd0b5d180d0b5d0b4d187d0b0d181d182d0b8d187
- d0b0d181d182d18cd180d0b0d0b1d0bed182d0bdd0bed0b2d18bd185d0bfd180
- d0b0d0b2d0bed181d0bed0b1d0bed0b9d0bfd0bed182d0bed0bcd0bcd0b5d0bd
- d0b5d0b5d187d0b8d181d0bbd0b5d0bdd0bed0b2d18bd0b5d183d181d0bbd183
- d0b3d0bed0bad0bed0bbd0bed0bdd0b0d0b7d0b0d0b4d182d0b0d0bad0bed0b5
- d182d0bed0b3d0b4d0b0d0bfd0bed187d182d0b8d09fd0bed181d0bbd0b5d182
- d0b0d0bad0b8d0b5d0bdd0bed0b2d18bd0b9d181d182d0bed0b8d182d182d0b0
- d0bad0b8d185d181d180d0b0d0b7d183d0a1d0b0d0bdd0bad182d184d0bed180
- d183d0bcd09ad0bed0b3d0b4d0b0d0bad0bdd0b8d0b3d0b8d181d0bbd0bed0b2
- d0b0d0bdd0b0d188d0b5d0b9d0bdd0b0d0b9d182d0b8d181d0b2d0bed0b8d0bc
- d181d0b2d18fd0b7d18cd0bbd18ed0b1d0bed0b9d187d0b0d181d182d0bed181
- d180d0b5d0b4d0b8d09ad180d0bed0bcd0b5d0a4d0bed180d183d0bcd180d18b
- d0bdd0bad0b5d181d182d0b0d0bbd0b8d0bfd0bed0b8d181d0bad182d18bd181
- d18fd187d0bcd0b5d181d18fd186d186d0b5d0bdd182d180d182d180d183d0b4
- d0b0d181d0b0d0bcd18bd185d180d18bd0bdd0bad0b0d09dd0bed0b2d18bd0b9
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 81]
-
-Internet-Draft Brotli May 2016
-
-
- d187d0b0d181d0bed0b2d0bcd0b5d181d182d0b0d184d0b8d0bbd18cd0bcd0bc
- d0b0d180d182d0b0d181d182d180d0b0d0bdd0bcd0b5d181d182d0b5d182d0b5
- d0bad181d182d0bdd0b0d188d0b8d185d0bcd0b8d0bdd183d182d0b8d0bcd0b5
- d0bdd0b8d0b8d0bcd0b5d18ed182d0bdd0bed0bcd0b5d180d0b3d0bed180d0be
- d0b4d181d0b0d0bcd0bed0bcd18dd182d0bed0bcd183d0bad0bed0bdd186d0b5
- d181d0b2d0bed0b5d0bcd0bad0b0d0bad0bed0b9d090d180d185d0b8d0b2d985
- d986d8aad8afd989d8a5d8b1d8b3d8a7d984d8b1d8b3d8a7d984d8a9d8a7d984
- d8b9d8a7d985d983d8aad8a8d987d8a7d8a8d8b1d8a7d985d8acd8a7d984d98a
- d988d985d8a7d984d8b5d988d8b1d8acd8afd98ad8afd8a9d8a7d984d8b9d8b6
- d988d8a5d8b6d8a7d981d8a9d8a7d984d982d8b3d985d8a7d984d8b9d8a7d8a8
- d8aad8add985d98ad984d985d984d981d8a7d8aad985d984d8aad982d989d8aa
- d8b9d8afd98ad984d8a7d984d8b4d8b9d8b1d8a3d8aed8a8d8a7d8b1d8aad8b7
- d988d98ad8b1d8b9d984d98ad983d985d8a5d8b1d981d8a7d982d8b7d984d8a8
- d8a7d8aad8a7d984d984d8bad8a9d8aad8b1d8aad98ad8a8d8a7d984d986d8a7
- d8b3d8a7d984d8b4d98ad8aed985d986d8aad8afd98ad8a7d984d8b9d8b1d8a8
- d8a7d984d982d8b5d8b5d8a7d981d984d8a7d985d8b9d984d98ad987d8a7d8aa
- d8add8afd98ad8abd8a7d984d984d987d985d8a7d984d8b9d985d984d985d983
- d8aad8a8d8a9d98ad985d983d986d983d8a7d984d8b7d981d984d981d98ad8af
- d98ad988d8a5d8afd8a7d8b1d8a9d8aad8a7d8b1d98ad8aed8a7d984d8b5d8ad
- d8a9d8aad8b3d8acd98ad984d8a7d984d988d982d8aad8b9d986d8afd985d8a7
- d985d8afd98ad986d8a9d8aad8b5d985d98ad985d8a3d8b1d8b4d98ad981d8a7
- d984d8b0d98ad986d8b9d8b1d8a8d98ad8a9d8a8d988d8a7d8a8d8a9d8a3d984
- d8b9d8a7d8a8d8a7d984d8b3d981d8b1d985d8b4d8a7d983d984d8aad8b9d8a7
- d984d989d8a7d984d8a3d988d984d8a7d984d8b3d986d8a9d8acd8a7d985d8b9
- d8a9d8a7d984d8b5d8add981d8a7d984d8afd98ad986d983d984d985d8a7d8aa
- d8a7d984d8aed8a7d8b5d8a7d984d985d984d981d8a3d8b9d8b6d8a7d8a1d983
- d8aad8a7d8a8d8a9d8a7d984d8aed98ad8b1d8b1d8b3d8a7d8a6d984d8a7d984
- d982d984d8a8d8a7d984d8a3d8afd8a8d985d982d8a7d8b7d8b9d985d8b1d8a7
- d8b3d984d985d986d8b7d982d8a9d8a7d984d983d8aad8a8d8a7d984d8b1d8ac
- d984d8a7d8b4d8aad8b1d983d8a7d984d982d8afd985d98ad8b9d8b7d98ad983
- 7342795461674e616d65282e6a70672220616c743d2231707820736f6c696420
- 232e6769662220616c743d227472616e73706172656e74696e666f726d617469
- 6f6e6170706c69636174696f6e22206f6e636c69636b3d2265737461626c6973
- 6865646164766572746973696e672e706e672220616c743d22656e7669726f6e
- 6d656e74706572666f726d616e6365617070726f70726961746526616d703b6d
- 646173683b696d6d6564696174656c793c2f7374726f6e673e3c2f7261746865
- 72207468616e74656d7065726174757265646576656c6f706d656e74636f6d70
- 65746974696f6e706c616365686f6c6465727669736962696c6974793a636f70
- 797269676874223e3022206865696768743d226576656e2074686f7567687265
- 706c6163656d656e7464657374696e6174696f6e436f72706f726174696f6e3c
- 756c20636c6173733d224173736f63696174696f6e696e646976696475616c73
- 706572737065637469766573657454696d656f75742875726c28687474703a2f
- 2f6d617468656d61746963736d617267696e2d746f703a6576656e7475616c6c
- 79206465736372697074696f6e29206e6f2d726570656174636f6c6c65637469
- 6f6e732e4a50477c7468756d627c70617274696369706174652f686561643e3c
- 626f6479666c6f61743a6c6566743b3c6c6920636c6173733d2268756e647265
- 6473206f660a0a486f77657665722c20636f6d706f736974696f6e636c656172
- 3a626f74683b636f6f7065726174696f6e77697468696e20746865206c616265
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 82]
-
-Internet-Draft Brotli May 2016
-
-
- 6c20666f723d22626f726465722d746f703a4e6577205a65616c616e64726563
- 6f6d6d656e64656470686f746f677261706879696e746572657374696e67266c
- 743b7375702667743b636f6e74726f76657273794e65746865726c616e647361
- 6c7465726e61746976656d61786c656e6774683d22737769747a65726c616e64
- 446576656c6f706d656e74657373656e7469616c6c790a0a416c74686f756768
- 203c2f74657874617265613e7468756e64657262697264726570726573656e74
- 656426616d703b6e646173683b73706563756c6174696f6e636f6d6d756e6974
- 6965736c656769736c6174696f6e656c656374726f6e6963730a093c64697620
- 69643d22696c6c7573747261746564656e67696e656572696e67746572726974
- 6f72696573617574686f72697469657364697374726962757465643622206865
- 696768743d2273616e732d73657269663b63617061626c65206f662064697361
- 70706561726564696e7465726163746976656c6f6f6b696e6720666f72697420
- 776f756c6420626541666768616e697374616e77617320637265617465644d61
- 74682e666c6f6f7228737572726f756e64696e6763616e20616c736f2062656f
- 62736572766174696f6e6d61696e74656e616e6365656e636f756e7465726564
- 3c683220636c6173733d226d6f726520726563656e7469742068617320626565
- 6e696e766173696f6e206f66292e67657454696d65282966756e64616d656e74
- 616c4465737069746520746865223e3c6469762069643d22696e737069726174
- 696f6e6578616d696e6174696f6e7072657061726174696f6e6578706c616e61
- 74696f6e3c696e7075742069643d223c2f613e3c2f7370616e3e76657273696f
- 6e73206f66696e737472756d656e74736265666f72652074686520203d202768
- 7474703a2f2f4465736372697074696f6e72656c61746976656c79202e737562
- 737472696e672865616368206f66207468656578706572696d656e7473696e66
- 6c75656e7469616c696e746567726174696f6e6d616e792070656f706c656475
- 6520746f2074686520636f6d62696e6174696f6e646f206e6f7420686176654d
- 6964646c6520456173743c6e6f7363726970743e3c636f707972696768742220
- 7065726861707320746865696e737469747574696f6e696e20446563656d6265
- 72617272616e67656d656e746d6f73742066616d6f7573706572736f6e616c69
- 74796372656174696f6e206f666c696d69746174696f6e736578636c75736976
- 656c79736f7665726569676e74792d636f6e74656e74223e0a3c746420636c61
- 73733d22756e64657267726f756e64706172616c6c656c20746f646f63747269
- 6e65206f666f636375706965642062797465726d696e6f6c6f677952656e6169
- 7373616e636561206e756d626572206f66737570706f727420666f726578706c
- 6f726174696f6e7265636f676e6974696f6e7072656465636573736f723c696d
- 67207372633d222f3c683120636c6173733d227075626c69636174696f6e6d61
- 7920616c736f2062657370656369616c697a65643c2f6669656c647365743e70
- 726f67726573736976656d696c6c696f6e73206f667374617465732074686174
- 656e666f7263656d656e7461726f756e6420746865206f6e6520616e6f746865
- 722e706172656e744e6f64656167726963756c74757265416c7465726e617469
- 76657265736561726368657273746f7761726473207468654d6f7374206f6620
- 7468656d616e79206f746865722028657370656369616c6c793c746420776964
- 74683d223b77696474683a31303025696e646570656e64656e743c683320636c
- 6173733d22206f6e6368616e67653d22292e616464436c61737328696e746572
- 616374696f6e4f6e65206f6620746865206461756768746572206f6661636365
- 73736f726965736272616e63686573206f660d0a3c6469762069643d22746865
- 206c6172676573746465636c61726174696f6e726567756c6174696f6e73496e
- 666f726d6174696f6e7472616e736c6174696f6e646f63756d656e7461727969
- 6e206f7264657220746f223e0a3c686561643e0a3c22206865696768743d2231
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 83]
-
-Internet-Draft Brotli May 2016
-
-
- 6163726f737320746865206f7269656e746174696f6e293b3c2f736372697074
- 3e696d706c656d656e74656463616e206265207365656e746865726520776173
- 206164656d6f6e737472617465636f6e7461696e6572223e636f6e6e65637469
- 6f6e737468652042726974697368776173207772697474656e21696d706f7274
- 616e743b70783b206d617267696e2d666f6c6c6f7765642062796162696c6974
- 7920746f20636f6d706c696361746564647572696e672074686520696d6d6967
- 726174696f6e616c736f2063616c6c65643c683420636c6173733d2264697374
- 696e6374696f6e7265706c61636564206279676f7665726e6d656e74736c6f63
- 6174696f6e206f66696e204e6f76656d62657277686574686572207468653c2f
- 703e0a3c2f6469763e6163717569736974696f6e63616c6c6564207468652070
- 65727365637574696f6e64657369676e6174696f6e7b666f6e742d73697a653a
- 617070656172656420696e696e766573746967617465657870657269656e6365
- 646d6f7374206c696b656c79776964656c79207573656464697363757373696f
- 6e7370726573656e6365206f662028646f63756d656e742e657874656e736976
- 656c79497420686173206265656e697420646f6573206e6f74636f6e74726172
- 7920746f696e6861626974616e7473696d70726f76656d656e747363686f6c61
- 7273686970636f6e73756d7074696f6e696e737472756374696f6e666f722065
- 78616d706c656f6e65206f72206d6f726570783b2070616464696e6774686520
- 63757272656e746120736572696573206f6661726520757375616c6c79726f6c
- 6520696e2074686570726576696f75736c792064657269766174697665736576
- 6964656e6365206f66657870657269656e636573636f6c6f72736368656d6573
- 7461746564207468617463657274696669636174653c2f613e3c2f6469763e0a
- 2073656c65637465643d2268696768207363686f6f6c726573706f6e73652074
- 6f636f6d666f727461626c6561646f7074696f6e206f66746872656520796561
- 727374686520636f756e747279696e204665627275617279736f207468617420
- 74686570656f706c652077686f2070726f76696465642062793c706172616d20
- 6e616d656166666563746564206279696e207465726d73206f666170706f696e
- 746d656e7449534f2d383835392d312277617320626f726e20696e686973746f
- 726963616c2072656761726465642061736d6561737572656d656e7469732062
- 61736564206f6e20616e64206f74686572203a2066756e6374696f6e28736967
- 6e69666963616e7463656c6562726174696f6e7472616e736d69747465642f6a
- 732f6a71756572792e6973206b6e6f776e2061737468656f7265746963616c20
- 746162696e6465783d22697420636f756c642062653c6e6f7363726970743e0a
- 686176696e67206265656e0d0a3c686561643e0d0a3c202671756f743b546865
- 20636f6d70696c6174696f6e686520686164206265656e70726f647563656420
- 62797068696c6f736f70686572636f6e7374727563746564696e74656e646564
- 20746f616d6f6e67206f74686572636f6d706172656420746f746f2073617920
- 74686174456e67696e656572696e676120646966666572656e74726566657272
- 656420746f646966666572656e63657362656c696566207468617470686f746f
- 6772617068736964656e74696679696e67486973746f7279206f662052657075
- 626c6963206f666e65636573736172696c7970726f626162696c697479746563
- 686e6963616c6c796c656176696e672074686573706563746163756c61726672
- 616374696f6e206f66656c65637472696369747968656164206f662074686572
- 657374617572616e7473706172746e657273686970656d706861736973206f6e
- 6d6f737420726563656e747368617265207769746820736179696e6720746861
- 7466696c6c6564207769746864657369676e656420746f6974206973206f6674
- 656e223e3c2f696672616d653e617320666f6c6c6f77733a6d65726765642077
- 6974687468726f75676820746865636f6d6d65726369616c20706f696e746564
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 84]
-
-Internet-Draft Brotli May 2016
-
-
- 206f75746f70706f7274756e69747976696577206f6620746865726571756972
- 656d656e746469766973696f6e206f6670726f6772616d6d696e676865207265
- 636569766564736574496e74657276616c223e3c2f7370616e3e3c2f696e204e
- 657720596f726b6164646974696f6e616c20636f6d7072657373696f6e0a0a3c
- 6469762069643d22696e636f72706f726174653b3c2f7363726970743e3c6174
- 746163684576656e74626563616d65207468652022207461726765743d225f63
- 617272696564206f7574536f6d65206f6620746865736369656e636520616e64
- 7468652074696d65206f66436f6e7461696e6572223e6d61696e7461696e696e
- 674368726973746f706865724d756368206f662074686577726974696e677320
- 6f6622206865696768743d223273697a65206f662074686576657273696f6e20
- 6f66206d697874757265206f66206265747765656e207468654578616d706c65
- 73206f66656475636174696f6e616c636f6d7065746974697665206f6e737562
- 6d69743d226469726563746f72206f6664697374696e63746976652f44544420
- 5848544d4c2072656c6174696e6720746f74656e64656e637920746f70726f76
- 696e6365206f66776869636820776f756c646465737069746520746865736369
- 656e7469666963206c656769736c61747572652e696e6e657248544d4c20616c
- 6c65676174696f6e734167726963756c74757265776173207573656420696e61
- 7070726f61636820746f696e74656c6c6967656e747965617273206c61746572
- 2c73616e732d736572696664657465726d696e696e67506572666f726d616e63
- 65617070656172616e6365732c20776869636820697320666f756e646174696f
- 6e736162627265766961746564686967686572207468616e732066726f6d2074
- 686520696e646976696475616c20636f6d706f736564206f66737570706f7365
- 6420746f636c61696d7320746861746174747269627574696f6e666f6e742d73
- 697a653a31656c656d656e7473206f66486973746f726963616c206869732062
- 726f746865726174207468652074696d65616e6e6976657273617279676f7665
- 726e656420627972656c6174656420746f20756c74696d6174656c7920696e6e
- 6f766174696f6e736974206973207374696c6c63616e206f6e6c792062656465
- 66696e6974696f6e73746f474d54537472696e6741206e756d626572206f6669
- 6d6720636c6173733d224576656e7475616c6c792c776173206368616e676564
- 6f6363757272656420696e6e65696768626f72696e6764697374696e67756973
- 687768656e20686520776173696e74726f647563696e67746572726573747269
- 616c4d616e79206f66207468656172677565732074686174616e20416d657269
- 63616e636f6e7175657374206f66776964657370726561642077657265206b69
- 6c6c656473637265656e20616e6420496e206f7264657220746f657870656374
- 656420746f64657363656e64616e7473617265206c6f63617465646c65676973
- 6c617469766567656e65726174696f6e73206261636b67726f756e646d6f7374
- 2070656f706c6579656172732061667465727468657265206973206e6f746865
- 20686967686573746672657175656e746c79207468657920646f206e6f746172
- 67756564207468617473686f7765642074686174707265646f6d696e616e7474
- 68656f6c6f676963616c6279207468652074696d65636f6e7369646572696e67
- 73686f72742d6c697665643c2f7370616e3e3c2f613e63616e20626520757365
- 6476657279206c6974746c656f6e65206f66207468652068616420616c726561
- 6479696e746572707265746564636f6d6d756e69636174656665617475726573
- 206f66676f7665726e6d656e742c3c2f6e6f7363726970743e656e7465726564
- 2074686522206865696768743d2233496e646570656e64656e74706f70756c61
- 74696f6e736c617267652d7363616c652e20416c74686f756768207573656420
- 696e207468656465737472756374696f6e706f73736962696c69747973746172
- 74696e6720696e74776f206f72206d6f726565787072657373696f6e73737562
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 85]
-
-Internet-Draft Brotli May 2016
-
-
- 6f7264696e6174656c6172676572207468616e686973746f727920616e643c2f
- 6f7074696f6e3e0d0a436f6e74696e656e74616c656c696d696e6174696e6777
- 696c6c206e6f742062657072616374696365206f66696e2066726f6e74206f66
- 73697465206f6620746865656e737572652074686174746f2063726561746520
- 616d69737369737369707069706f74656e7469616c6c796f75747374616e6469
- 6e67626574746572207468616e77686174206973206e6f777369747561746564
- 20696e6d657461206e616d653d22547261646974696f6e616c73756767657374
- 696f6e735472616e736c6174696f6e74686520666f726d206f6661746d6f7370
- 68657269636964656f6c6f676963616c656e74657270726973657363616c6375
- 6c6174696e6765617374206f662074686572656d6e616e7473206f66706c7567
- 696e73706167652f696e6465782e7068703f72656d61696e656420696e747261
- 6e73666f726d656448652077617320616c736f77617320616c72656164797374
- 61746973746963616c696e206661766f72206f664d696e6973747279206f666d
- 6f76656d656e74206f66666f726d756c6174696f6e6973207265717569726564
- 3c6c696e6b2072656c3d225468697320697320746865203c6120687265663d22
- 2f706f70756c6172697a6564696e766f6c76656420696e617265207573656420
- 746f616e64207365766572616c6d616465206279207468657365656d7320746f
- 2062656c696b656c79207468617450616c657374696e69616e6e616d65642061
- 66746572697420686164206265656e6d6f737420636f6d6d6f6e746f20726566
- 657220746f6275742074686973206973636f6e736563757469766574656d706f
- 726172696c79496e2067656e6572616c2c636f6e76656e74696f6e7374616b65
- 7320706c6163657375626469766973696f6e7465727269746f7269616c6f7065
- 726174696f6e616c7065726d616e656e746c79776173206c617267656c796f75
- 74627265616b206f66696e207468652070617374666f6c6c6f77696e67206120
- 786d6c6e733a6f673d223e3c6120636c6173733d22636c6173733d2274657874
- 436f6e76657273696f6e206d617920626520757365646d616e75666163747572
- 656166746572206265696e67636c656172666978223e0a7175657374696f6e20
- 6f6677617320656c6563746564746f206265636f6d6520616265636175736520
- 6f6620736f6d652070656f706c65696e73706972656420627973756363657373
- 66756c20612074696d65207768656e6d6f726520636f6d6d6f6e616d6f6e6773
- 7420746865616e206f6666696369616c77696474683a313030253b746563686e
- 6f6c6f67792c7761732061646f70746564746f206b6565702074686573657474
- 6c656d656e74736c69766520626972746873696e6465782e68746d6c22436f6e
- 6e6563746963757461737369676e656420746f26616d703b74696d65733b6163
- 636f756e7420666f72616c69676e3d726967687474686520636f6d70616e7961
- 6c77617973206265656e72657475726e656420746f696e766f6c76656d656e74
- 42656361757365207468657468697320706572696f6422206e616d653d227122
- 20636f6e66696e656420746f6120726573756c74206f6676616c75653d222220
- 2f3e69732061637475616c6c79456e7669726f6e6d656e740d0a3c2f68656164
- 3e0d0a436f6e76657273656c792c3e0a3c6469762069643d2230222077696474
- 683d223169732070726f6261626c7968617665206265636f6d65636f6e74726f
- 6c6c696e677468652070726f626c656d636974697a656e73206f66706f6c6974
- 696369616e7372656163686564207468656173206561726c792061733a6e6f6e
- 653b206f7665723c7461626c652063656c6c76616c6964697479206f66646972
- 6563746c7920746f6f6e6d6f757365646f776e77686572652069742069737768
- 656e206974207761736d656d62657273206f662072656c6174696f6e20746f61
- 63636f6d6d6f64617465616c6f6e67207769746820496e20746865206c617465
- 74686520456e676c69736864656c6963696f7573223e74686973206973206e6f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 86]
-
-Internet-Draft Brotli May 2016
-
-
- 747468652070726573656e746966207468657920617265616e642066696e616c
- 6c7961206d6174746572206f660d0a093c2f6469763e0d0a0d0a3c2f73637269
- 70743e666173746572207468616e6d616a6f72697479206f6661667465722077
- 68696368636f6d7061726174697665746f206d61696e7461696e696d70726f76
- 6520746865617761726465642074686565722220636c6173733d226672616d65
- 626f72646572726573746f726174696f6e696e207468652073616d65616e616c
- 79736973206f667468656972206669727374447572696e672074686520636f6e
- 74696e656e74616c73657175656e6365206f6666756e6374696f6e28297b666f
- 6e742d73697a653a20776f726b206f6e207468653c2f7363726970743e0a3c62
- 6567696e7320776974686a6176617363726970743a636f6e7374697475656e74
- 77617320666f756e646564657175696c69627269756d617373756d6520746861
- 74697320676976656e2062796e6565647320746f206265636f6f7264696e6174
- 657374686520766172696f75736172652070617274206f666f6e6c7920696e20
- 74686573656374696f6e73206f666973206120636f6d6d6f6e7468656f726965
- 73206f66646973636f7665726965736173736f63696174696f6e65646765206f
- 6620746865737472656e677468206f66706f736974696f6e20696e7072657365
- 6e742d646179756e6976657273616c6c79746f20666f726d2074686562757420
- 696e7374656164636f72706f726174696f6e617474616368656420746f697320
- 636f6d6d6f6e6c79726561736f6e7320666f72202671756f743b746865206361
- 6e206265206d6164657761732061626c6520746f7768696368206d65616e7362
- 757420646964206e6f746f6e4d6f7573654f766572617320706f737369626c65
- 6f70657261746564206279636f6d696e672066726f6d746865207072696d6172
- 796164646974696f6e206f66666f72207365766572616c7472616e7366657272
- 65646120706572696f64206f666172652061626c6520746f686f77657665722c
- 20697473686f756c6420686176656d756368206c61726765720a093c2f736372
- 6970743e61646f707465642074686570726f7065727479206f66646972656374
- 65642062796566666563746976656c797761732062726f756768746368696c64
- 72656e206f6650726f6772616d6d696e676c6f6e676572207468616e6d616e75
- 7363726970747377617220616761696e73746279206d65616e73206f66616e64
- 206d6f7374206f6673696d696c617220746f2070726f70726965746172796f72
- 6967696e6174696e6770726573746967696f75736772616d6d61746963616c65
- 7870657269656e63652e746f206d616b652074686549742077617320616c736f
- 697320666f756e6420696e636f6d70657469746f7273696e2074686520552e53
- 2e7265706c6163652074686562726f756768742074686563616c63756c617469
- 6f6e66616c6c206f66207468657468652067656e6572616c7072616374696361
- 6c6c79696e20686f6e6f72206f6672656c656173656420696e7265736964656e
- 7469616c616e6420736f6d65206f666b696e67206f6620746865726561637469
- 6f6e20746f317374204561726c206f6663756c7475726520616e647072696e63
- 6970616c6c793c2f7469746c653e0a2020746865792063616e2062656261636b
- 20746f20746865736f6d65206f66206869736578706f7375726520746f617265
- 2073696d696c6172666f726d206f66207468656164644661766f726974656369
- 74697a656e736869707061727420696e2074686570656f706c65207769746869
- 6e207072616374696365746f20636f6e74696e756526616d703b6d696e75733b
- 617070726f7665642062792074686520666972737420616c6c6f776564207468
- 65616e6420666f722074686566756e6374696f6e696e67706c6179696e672074
- 6865736f6c7574696f6e20746f6865696768743d22302220696e206869732062
- 6f6f6b6d6f7265207468616e2061666f6c6c6f77732074686563726561746564
- 2074686570726573656e636520696e266e6273703b3c2f74643e6e6174696f6e
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 87]
-
-Internet-Draft Brotli May 2016
-
-
- 616c6973747468652069646561206f6661206368617261637465727765726520
- 666f7263656420636c6173733d2262746e64617973206f662074686566656174
- 7572656420696e73686f77696e6720746865696e74657265737420696e696e20
- 706c616365206f667475726e206f66207468657468652068656164206f664c6f
- 7264206f6620746865706f6c69746963616c6c7968617320697473206f776e45
- 6475636174696f6e616c617070726f76616c206f66736f6d65206f6620746865
- 65616368206f746865722c6265686176696f72206f66616e6420626563617573
- 65616e6420616e6f746865726170706561726564206f6e7265636f7264656420
- 696e626c61636b2671756f743b6d617920696e636c75646574686520776f726c
- 64277363616e206c65616420746f72656665727320746f2061626f726465723d
- 22302220676f7665726e6d656e742077696e6e696e6720746865726573756c74
- 656420696e207768696c65207468652057617368696e67746f6e2c7468652073
- 75626a6563746369747920696e207468653e3c2f6469763e0d0a09097265666c
- 65637420746865746f20636f6d706c657465626563616d65206d6f7265726164
- 696f61637469766572656a6563746564206279776974686f757420616e796869
- 73206661746865722c776869636820636f756c64636f7079206f662074686574
- 6f20696e6469636174656120706f6c69746963616c6163636f756e7473206f66
- 636f6e7374697475746573776f726b6564207769746865723c2f613e3c2f6c69
- 3e6f6620686973206c6966656163636f6d70616e696564636c69656e74576964
- 746870726576656e74207468654c656769736c6174697665646966666572656e
- 746c79746f67657468657220696e686173207365766572616c666f7220616e6f
- 7468657274657874206f6620746865666f756e64656420746865652077697468
- 20746865206973207573656420666f726368616e67656420746865757375616c
- 6c7920746865706c61636520776865726577686572656173207468653e203c61
- 20687265663d22223e3c6120687265663d227468656d73656c7665732c616c74
- 686f756768206865746861742063616e206265747261646974696f6e616c726f
- 6c65206f66207468656173206120726573756c7472656d6f76654368696c6464
- 657369676e656420627977657374206f6620746865536f6d652070656f706c65
- 70726f64756374696f6e2c73696465206f66207468656e6577736c6574746572
- 737573656420627920746865646f776e20746f20746865616363657074656420
- 62796c69766520696e20746865617474656d70747320746f6f75747369646520
- 7468656672657175656e63696573486f77657665722c20696e70726f6772616d
- 6d6572736174206c6561737420696e617070726f78696d617465616c74686f75
- 67682069747761732070617274206f66616e6420766172696f7573476f766572
- 6e6f72206f667468652061727469636c657475726e656420696e746f3e3c6120
- 687265663d222f7468652065636f6e6f6d79697320746865206d6f73746d6f73
- 7420776964656c79776f756c64206c61746572616e6420706572686170737269
- 736520746f207468656f6363757273207768656e756e64657220776869636863
- 6f6e646974696f6e732e746865207765737465726e7468656f72792074686174
- 69732070726f64756365647468652063697479206f66696e2077686963682068
- 657365656e20696e207468657468652063656e7472616c6275696c64696e6720
- 6f666d616e79206f662068697361726561206f6620746865697320746865206f
- 6e6c796d6f7374206f66207468656d616e79206f662074686574686520576573
- 7465726e5468657265206973206e6f657874656e64656420746f537461746973
- 746963616c636f6c7370616e3d32207c73686f72742073746f7279706f737369
- 626c6520746f746f706f6c6f676963616c637269746963616c206f667265706f
- 7274656420746f612043687269737469616e6465636973696f6e20746f697320
- 657175616c20746f70726f626c656d73206f66546869732063616e2062656d65
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 88]
-
-Internet-Draft Brotli May 2016
-
-
- 726368616e64697365666f72206d6f7374206f666e6f2065766964656e636565
- 646974696f6e73206f66656c656d656e747320696e2671756f743b2e20546865
- 636f6d2f696d616765732f7768696368206d616b65737468652070726f636573
- 7372656d61696e73207468656c6974657261747572652c69732061206d656d62
- 657274686520706f70756c617274686520616e6369656e7470726f626c656d73
- 20696e74696d65206f66207468656465666561746564206279626f6479206f66
- 2074686561206665772079656172736d756368206f662074686574686520776f
- 726b206f6643616c69666f726e69612c7365727665642061732061676f766572
- 6e6d656e742e636f6e6365707473206f666d6f76656d656e7420696e09093c64
- 69762069643d226974222076616c75653d226c616e6775616765206f66617320
- 746865792061726570726f647563656420696e69732074686174207468656578
- 706c61696e207468656469763e3c2f6469763e0a486f7765766572207468656c
- 65616420746f20746865093c6120687265663d222f776173206772616e746564
- 70656f706c652068617665636f6e74696e75616c6c79776173207365656e2061
- 73616e642072656c6174656474686520726f6c65206f6670726f706f73656420
- 62796f6620746865206265737465616368206f746865722e436f6e7374616e74
- 696e6570656f706c652066726f6d6469616c65637473206f66746f2072657669
- 73696f6e7761732072656e616d65646120736f75726365206f6674686520696e
- 697469616c6c61756e6368656420696e70726f7669646520746865746f207468
- 6520776573747768657265207468657265616e642073696d696c617262657477
- 65656e2074776f697320616c736f20746865456e676c69736820616e64636f6e
- 646974696f6e732c7468617420697420776173656e7469746c656420746f7468
- 656d73656c7665732e7175616e74697479206f6672616e73706172656e637974
- 68652073616d65206173746f206a6f696e20746865636f756e74727920616e64
- 746869732069732074686554686973206c656420746f612073746174656d656e
- 74636f6e747261737420746f6c617374496e6465784f667468726f7567682068
- 697369732064657369676e6564746865207465726d20697369732070726f7669
- 64656470726f74656374207468656e673c2f613e3c2f6c693e54686520637572
- 72656e747468652073697465206f667375627374616e7469616c657870657269
- 656e63652c696e207468652057657374746865792073686f756c64736c6f7665
- 6ec48d696e61636f6d656e746172696f73756e697665727369646164636f6e64
- 6963696f6e65736163746976696461646573657870657269656e636961746563
- 6e6f6c6f67c3ad6170726f6475636369c3b36e70756e7475616369c3b36e6170
- 6c6963616369c3b36e636f6e7472617365c3b16163617465676f72c3ad617372
- 6567697374726172736570726f666573696f6e616c74726174616d69656e746f
- 726567c3ad7374726174657365637265746172c3ad617072696e636970616c65
- 7370726f7465636369c3b36e696d706f7274616e746573696d706f7274616e63
- 6961706f736962696c69646164696e7465726573616e746563726563696d6965
- 6e746f6e65636573696461646573737573637269626972736561736f63696163
- 69c3b36e646973706f6e69626c65736576616c75616369c3b36e657374756469
- 616e746573726573706f6e7361626c657265736f6c756369c3b36e6775616461
- 6c616a6172617265676973747261646f736f706f7274756e69646164636f6d65
- 726369616c6573666f746f67726166c3ad616175746f72696461646573696e67
- 656e696572c3ad6174656c6576697369c3b36e636f6d706574656e6369616f70
- 65726163696f6e657365737461626c656369646f73696d706c656d656e746561
- 637475616c6d656e74656e61766567616369c3b36e636f6e666f726d69646164
- 6c696e652d6865696768743a666f6e742d66616d696c793a22203a2022687474
- 703a2f2f6170706c69636174696f6e736c696e6b2220687265663d2273706563
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 89]
-
-Internet-Draft Brotli May 2016
-
-
- 69666963616c6c792f2f3c215b43444154415b0a4f7267616e697a6174696f6e
- 646973747269627574696f6e3070783b206865696768743a72656c6174696f6e
- 736869706465766963652d77696474683c64697620636c6173733d223c6c6162
- 656c20666f723d22726567697374726174696f6e3c2f6e6f7363726970743e0a
- 2f696e6465782e68746d6c2277696e646f772e6f70656e282021696d706f7274
- 616e743b6170706c69636174696f6e2f696e646570656e64656e63652f2f7777
- 772e676f6f676c656f7267616e697a6174696f6e6175746f636f6d706c657465
- 726571756972656d656e7473636f6e7365727661746976653c666f726d206e61
- 6d653d22696e74656c6c65637475616c6d617267696e2d6c6566743a31387468
- 2063656e74757279616e20696d706f7274616e74696e737469747574696f6e73
- 616262726576696174696f6e3c696d6720636c6173733d226f7267616e697361
- 74696f6e636976696c697a6174696f6e313974682063656e7475727961726368
- 6974656374757265696e636f72706f7261746564323074682063656e74757279
- 2d636f6e7461696e6572223e6d6f7374206e6f7461626c792f3e3c2f613e3c2f
- 6469763e6e6f74696669636174696f6e27756e646566696e6564272946757274
- 6865726d6f72652c62656c696576652074686174696e6e657248544d4c203d20
- 7072696f7220746f207468656472616d61746963616c6c79726566657272696e
- 6720746f6e65676f74696174696f6e73686561647175617274657273536f7574
- 6820416672696361756e7375636365737366756c50656e6e73796c76616e6961
- 4173206120726573756c742c3c68746d6c206c616e673d22266c743b2f737570
- 2667743b6465616c696e6720776974687068696c6164656c7068696168697374
- 6f726963616c6c79293b3c2f7363726970743e0a70616464696e672d746f703a
- 6578706572696d656e74616c676574417474726962757465696e737472756374
- 696f6e73746563686e6f6c6f6769657370617274206f6620746865203d66756e
- 6374696f6e28297b737562736372697074696f6e6c2e647464223e0d0a3c6874
- 67656f67726170686963616c436f6e737469747574696f6e272c2066756e6374
- 696f6e28737570706f727465642062796167726963756c747572616c636f6e73
- 7472756374696f6e7075626c69636174696f6e73666f6e742d73697a653a2031
- 612076617269657479206f663c646976207374796c653d22456e6379636c6f70
- 65646961696672616d65207372633d2264656d6f6e737472617465646163636f
- 6d706c6973686564756e6976657273697469657344656d6f6772617068696373
- 293b3c2f7363726970743e3c64656469636174656420746f6b6e6f776c656467
- 65206f66736174697366616374696f6e706172746963756c61726c793c2f6469
- 763e3c2f6469763e456e676c6973682028555329617070656e644368696c6428
- 7472616e736d697373696f6e732e20486f77657665722c20696e74656c6c6967
- 656e63652220746162696e6465783d22666c6f61743a72696768743b436f6d6d
- 6f6e7765616c746872616e67696e672066726f6d696e20776869636820746865
- 6174206c65617374206f6e65726570726f64756374696f6e656e6379636c6f70
- 656469613b666f6e742d73697a653a316a7572697364696374696f6e61742074
- 6861742074696d65223e3c6120636c6173733d22496e206164646974696f6e2c
- 6465736372697074696f6e2b636f6e766572736174696f6e636f6e7461637420
- 7769746869732067656e6572616c6c79722220636f6e74656e743d2272657072
- 6573656e74696e67266c743b6d6174682667743b70726573656e746174696f6e
- 6f63636173696f6e616c6c793c696d672077696474683d226e61766967617469
- 6f6e223e636f6d70656e736174696f6e6368616d70696f6e736869706d656469
- 613d22616c6c222076696f6c6174696f6e206f667265666572656e636520746f
- 72657475726e20747275653b5374726963742f2f454e22207472616e73616374
- 696f6e73696e74657276656e74696f6e766572696669636174696f6e496e666f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 90]
-
-Internet-Draft Brotli May 2016
-
-
- 726d6174696f6e20646966666963756c746965734368616d70696f6e73686970
- 6361706162696c69746965733c215b656e6469665d2d2d3e7d0a3c2f73637269
- 70743e0a43687269737469616e697479666f72206578616d706c652c50726f66
- 657373696f6e616c7265737472696374696f6e73737567676573742074686174
- 7761732072656c656173656428737563682061732074686572656d6f7665436c
- 61737328756e656d706c6f796d656e7474686520416d65726963616e73747275
- 6374757265206f662f696e6465782e68746d6c207075626c697368656420696e
- 7370616e20636c6173733d22223e3c6120687265663d222f696e74726f647563
- 74696f6e62656c6f6e67696e6720746f636c61696d65642074686174636f6e73
- 657175656e6365733c6d657461206e616d653d22477569646520746f20746865
- 6f7665727768656c6d696e67616761696e73742074686520636f6e63656e7472
- 617465642c0a2e6e6f6e746f756368206f62736572766174696f6e733c2f613e
- 0a3c2f6469763e0a662028646f63756d656e742e626f726465723a2031707820
- 7b666f6e742d73697a653a3174726561746d656e74206f663022206865696768
- 743d22316d6f64696669636174696f6e496e646570656e64656e636564697669
- 64656420696e746f67726561746572207468616e616368696576656d656e7473
- 65737461626c697368696e674a61766153637269707422206e65766572746865
- 6c6573737369676e69666963616e636542726f616463617374696e673e266e62
- 73703b3c2f74643e636f6e7461696e6572223e0a737563682061732074686520
- 696e666c75656e6365206f666120706172746963756c61727372633d27687474
- 703a2f2f6e617669676174696f6e222068616c66206f66207468652073756273
- 74616e7469616c20266e6273703b3c2f6469763e616476616e74616765206f66
- 646973636f76657279206f6666756e64616d656e74616c206d6574726f706f6c
- 6974616e746865206f70706f736974652220786d6c3a6c616e673d2264656c69
- 6265726174656c79616c69676e3d63656e74657265766f6c7574696f6e206f66
- 707265736572766174696f6e696d70726f76656d656e7473626567696e6e696e
- 6720696e4a65737573204368726973745075626c69636174696f6e7364697361
- 677265656d656e74746578742d616c69676e3a722c2066756e6374696f6e2829
- 73696d696c61726974696573626f64793e3c2f68746d6c3e6973206375727265
- 6e746c79616c7068616265746963616c697320736f6d6574696d657374797065
- 3d22696d6167652f6d616e79206f662074686520666c6f773a68696464656e3b
- 617661696c61626c6520696e6465736372696265207468656578697374656e63
- 65206f66616c6c206f7665722074686574686520496e7465726e6574093c756c
- 20636c6173733d22696e7374616c6c6174696f6e6e65696768626f72686f6f64
- 61726d656420666f726365737265647563696e6720746865636f6e74696e7565
- 7320746f4e6f6e657468656c6573732c74656d7065726174757265730a09093c
- 6120687265663d22636c6f736520746f207468656578616d706c6573206f6620
- 69732061626f757420746865287365652062656c6f77292e222069643d227365
- 6172636870726f66657373696f6e616c697320617661696c61626c6574686520
- 6f6666696369616c09093c2f7363726970743e0a0a09093c6469762069643d22
- 616363656c65726174696f6e7468726f756768207468652048616c6c206f6620
- 46616d656465736372697074696f6e737472616e736c6174696f6e73696e7465
- 72666572656e636520747970653d27746578742f726563656e74207965617273
- 696e2074686520776f726c647665727920706f70756c61727b6261636b67726f
- 756e643a747261646974696f6e616c20736f6d65206f662074686520636f6e6e
- 656374656420746f6578706c6f69746174696f6e656d657267656e6365206f66
- 636f6e737469747574696f6e4120486973746f7279206f667369676e69666963
- 616e74206d616e7566616374757265646578706563746174696f6e733e3c6e6f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 91]
-
-Internet-Draft Brotli May 2016
-
-
- 7363726970743e3c63616e20626520666f756e64626563617573652074686520
- 686173206e6f74206265656e6e65696768626f7572696e67776974686f757420
- 74686520616464656420746f20746865093c6c6920636c6173733d22696e7374
- 72756d656e74616c536f7669657420556e696f6e61636b6e6f776c6564676564
- 77686963682063616e2062656e616d6520666f7220746865617474656e74696f
- 6e20746f617474656d70747320746f20646576656c6f706d656e7473496e2066
- 6163742c207468653c6c6920636c6173733d2261696d706c69636174696f6e73
- 7375697461626c6520666f726d756368206f662074686520636f6c6f6e697a61
- 74696f6e707265736964656e7469616c63616e63656c427562626c6520496e66
- 6f726d6174696f6e6d6f7374206f662074686520697320646573637269626564
- 72657374206f6620746865206d6f7265206f72206c657373696e205365707465
- 6d626572496e74656c6c6967656e63657372633d22687474703a2f2f70783b20
- 6865696768743a20617661696c61626c6520746f6d616e756661637475726572
- 68756d616e207269676874736c696e6b20687265663d222f617661696c616269
- 6c69747970726f706f7274696f6e616c6f757473696465207468652061737472
- 6f6e6f6d6963616c68756d616e206265696e67736e616d65206f662074686520
- 61726520666f756e6420696e617265206261736564206f6e736d616c6c657220
- 7468616e6120706572736f6e2077686f657870616e73696f6e206f6661726775
- 696e6720746861746e6f77206b6e6f776e206173496e20746865206561726c79
- 696e7465726d656469617465646572697665642066726f6d5363616e64696e61
- 7669616e3c2f613e3c2f6469763e0d0a636f6e736964657220746865616e2065
- 7374696d61746564746865204e6174696f6e616c3c6469762069643d22706167
- 726573756c74696e6720696e636f6d6d697373696f6e6564616e616c6f676f75
- 7320746f6172652072657175697265642f756c3e0a3c2f6469763e0a77617320
- 6261736564206f6e616e6420626563616d652061266e6273703b266e6273703b
- 74222076616c75653d2222207761732063617074757265646e6f206d6f726520
- 7468616e726573706563746976656c79636f6e74696e756520746f203e0d0a3c
- 686561643e0d0a3c7765726520637265617465646d6f72652067656e6572616c
- 696e666f726d6174696f6e207573656420666f7220746865696e646570656e64
- 656e742074686520496d70657269616c636f6d706f6e656e74206f66746f2074
- 6865206e6f727468696e636c7564652074686520436f6e737472756374696f6e
- 73696465206f662074686520776f756c64206e6f74206265666f7220696e7374
- 616e6365696e76656e74696f6e206f666d6f726520636f6d706c6578636f6c6c
- 6563746976656c796261636b67726f756e643a20746578742d616c69676e3a20
- 697473206f726967696e616c696e746f206163636f756e74746869732070726f
- 63657373616e20657874656e73697665686f77657665722c2074686574686579
- 20617265206e6f7472656a65637465642074686563726974696369736d206f66
- 647572696e6720776869636870726f6261626c79207468657468697320617274
- 69636c652866756e6374696f6e28297b49742073686f756c64206265616e2061
- 677265656d656e746163636964656e74616c6c79646966666572732066726f6d
- 417263686974656374757265626574746572206b6e6f776e617272616e67656d
- 656e7473696e666c75656e6365206f6e617474656e646564207468656964656e
- 746963616c20746f736f757468206f662074686570617373207468726f756768
- 786d6c22207469746c653d227765696768743a626f6c643b6372656174696e67
- 20746865646973706c61793a6e6f6e657265706c61636564207468653c696d67
- 207372633d222f6968747470733a2f2f7777772e576f726c6420576172204949
- 74657374696d6f6e69616c73666f756e6420696e207468657265717569726564
- 20746f20616e642074686174207468656265747765656e207468652077617320
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 92]
-
-Internet-Draft Brotli May 2016
-
-
- 64657369676e6564636f6e7369737473206f6620636f6e736964657261626c79
- 7075626c6973686564206279746865206c616e6775616765436f6e7365727661
- 74696f6e636f6e736973746564206f66726566657220746f207468656261636b
- 20746f207468652063737322206d656469613d2250656f706c652066726f6d20
- 617661696c61626c65206f6e70726f76656420746f2062657375676765737469
- 6f6e7322776173206b6e6f776e206173766172696574696573206f666c696b65
- 6c7920746f206265636f6d707269736564206f66737570706f72742074686520
- 68616e6473206f6620746865636f75706c65642077697468636f6e6e65637420
- 616e6420626f726465723a6e6f6e653b706572666f726d616e6365736265666f
- 7265206265696e676c6174657220626563616d6563616c63756c6174696f6e73
- 6f6674656e2063616c6c65647265736964656e7473206f666d65616e696e6720
- 746861743e3c6c6920636c6173733d2265766964656e636520666f726578706c
- 616e6174696f6e73656e7669726f6e6d656e7473223e3c2f613e3c2f6469763e
- 776869636820616c6c6f7773496e74726f64756374696f6e646576656c6f7065
- 642062796120776964652072616e67656f6e20626568616c66206f6676616c69
- 676e3d22746f70227072696e6369706c65206f666174207468652074696d652c
- 3c2f6e6f7363726970743e0d7361696420746f2068617665696e207468652066
- 697273747768696c65206f74686572736879706f746865746963616c7068696c
- 6f736f7068657273706f776572206f6620746865636f6e7461696e656420696e
- 706572666f726d6564206279696e6162696c69747920746f7765726520777269
- 7474656e7370616e207374796c653d22696e707574206e616d653d2274686520
- 7175657374696f6e696e74656e64656420666f7272656a656374696f6e206f66
- 696d706c6965732074686174696e76656e74656420746865746865207374616e
- 646172647761732070726f6261626c796c696e6b206265747765656e70726f66
- 6573736f72206f66696e746572616374696f6e736368616e67696e6720746865
- 496e6469616e204f6365616e20636c6173733d226c617374776f726b696e6720
- 7769746827687474703a2f2f7777772e7965617273206265666f726554686973
- 207761732074686572656372656174696f6e616c656e746572696e6720746865
- 6d6561737572656d656e7473616e2065787472656d656c7976616c7565206f66
- 207468657374617274206f66207468650a3c2f7363726970743e0a0a616e2065
- 66666f727420746f696e63726561736520746865746f2074686520736f757468
- 73706163696e673d2230223e73756666696369656e746c79746865204575726f
- 7065616e636f6e76657274656420746f636c65617254696d656f757464696420
- 6e6f742068617665636f6e73657175656e746c79666f7220746865206e657874
- 657874656e73696f6e206f6665636f6e6f6d696320616e64616c74686f756768
- 207468656172652070726f6475636564616e64207769746820746865696e7375
- 6666696369656e74676976656e2062792074686573746174696e672074686174
- 657870656e646974757265733c2f7370616e3e3c2f613e0a74686f7567687420
- 746861746f6e2074686520626173697363656c6c70616464696e673d696d6167
- 65206f662074686572657475726e696e6720746f696e666f726d6174696f6e2c
- 736570617261746564206279617373617373696e61746564732220636f6e7465
- 6e743d22617574686f72697479206f666e6f7274687765737465726e3c2f6469
- 763e0a3c64697620223e3c2f6469763e0d0a2020636f6e73756c746174696f6e
- 636f6d6d756e697479206f66746865206e6174696f6e616c69742073686f756c
- 642062657061727469636970616e747320616c69676e3d226c65667474686520
- 677265617465737473656c656374696f6e206f6673757065726e61747572616c
- 646570656e64656e74206f6e6973206d656e74696f6e6564616c6c6f77696e67
- 2074686577617320696e76656e7465646163636f6d70616e79696e6768697320
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 93]
-
-Internet-Draft Brotli May 2016
-
-
- 706572736f6e616c617661696c61626c652061747374756479206f6620746865
- 6f6e20746865206f74686572657865637574696f6e206f6648756d616e205269
- 676874737465726d73206f66207468656173736f63696174696f6e7372657365
- 6172636820616e64737563636565646564206279646566656174656420746865
- 616e642066726f6d20746865627574207468657920617265636f6d6d616e6465
- 72206f667374617465206f66207468657965617273206f662061676574686520
- 7374756479206f663c756c20636c6173733d2273706c61636520696e20746865
- 7768657265206865207761733c6c6920636c6173733d22667468657265206172
- 65206e6f776869636820626563616d656865207075626c697368656465787072
- 657373656420696e746f20776869636820746865636f6d6d697373696f6e6572
- 666f6e742d7765696768743a7465727269746f7279206f66657874656e73696f
- 6e73223e526f6d616e20456d70697265657175616c20746f20746865496e2063
- 6f6e74726173742c686f77657665722c20616e646973207479706963616c6c79
- 616e6420686973207769666528616c736f2063616c6c65643e3c756c20636c61
- 73733d226566666563746976656c792065766f6c76656420696e746f7365656d
- 20746f2068617665776869636820697320746865746865726520776173206e6f
- 616e20657863656c6c656e74616c6c206f662074686573656465736372696265
- 64206279496e2070726163746963652c62726f616463617374696e6763686172
- 67656420776974687265666c656374656420696e7375626a656374656420746f
- 6d696c697461727920616e64746f2074686520706f696e7465636f6e6f6d6963
- 616c6c79736574546172676574696e676172652061637475616c6c7976696374
- 6f7279206f76657228293b3c2f7363726970743e636f6e74696e756f75736c79
- 726571756972656420666f7265766f6c7574696f6e617279616e206566666563
- 746976656e6f727468206f66207468652c207768696368207761732066726f6e
- 74206f66207468656f72206f7468657277697365736f6d6520666f726d206f66
- 686164206e6f74206265656e67656e657261746564206279696e666f726d6174
- 696f6e2e7065726d697474656420746f696e636c756465732074686564657665
- 6c6f706d656e742c656e746572656420696e746f7468652070726576696f7573
- 636f6e73697374656e746c79617265206b6e6f776e206173746865206669656c
- 64206f66746869732074797065206f66676976656e20746f2074686574686520
- 7469746c65206f66636f6e7461696e7320746865696e7374616e636573206f66
- 696e20746865206e6f72746864756520746f2074686569726172652064657369
- 676e6564636f72706f726174696f6e737761732074686174207468656f6e6520
- 6f662074686573656d6f726520706f70756c617273756363656564656420696e
- 737570706f72742066726f6d696e20646966666572656e74646f6d696e617465
- 6420627964657369676e656420666f726f776e657273686970206f66616e6420
- 706f737369626c797374616e64617264697a6564726573706f6e736554657874
- 77617320696e74656e646564726563656976656420746865617373756d656420
- 746861746172656173206f66207468657072696d6172696c7920696e74686520
- 6261736973206f66696e207468652073656e73656163636f756e747320666f72
- 64657374726f7965642062796174206c656173742074776f776173206465636c
- 61726564636f756c64206e6f74206265536563726574617279206f6661707065
- 617220746f2062656d617267696e2d746f703a312f5e5c732b7c5c732b242f67
- 65297b7468726f7720657d3b746865207374617274206f6674776f2073657061
- 726174656c616e677561676520616e6477686f20686164206265656e6f706572
- 6174696f6e206f666465617468206f66207468657265616c206e756d62657273
- 093c6c696e6b2072656c3d2270726f7669646564207468657468652073746f72
- 79206f66636f6d7065746974696f6e73656e676c6973682028554b29656e676c
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 94]
-
-Internet-Draft Brotli May 2016
-
-
- 6973682028555329d09cd0bed0bdd0b3d0bed0bbd0a1d180d0bfd181d0bad0b8
- d181d180d0bfd181d0bad0b8d181d180d0bfd181d0bad0bed984d8b9d8b1d8a8
- d98ad8a9e6ada3e9ab94e4b8ade69687e7ae80e4bd93e4b8ade69687e7b981e4
- bd93e4b8ade69687e69c89e99990e585ace58fb8e4babae6b091e694bfe5ba9c
- e998bfe9878ce5b7b4e5b7b4e7a4bee4bc9ae4b8bbe4b989e6938de4bd9ce7b3
- bbe7bb9fe694bfe7ad96e6b395e8a784696e666f726d616369c3b36e68657272
- 616d69656e746173656c65637472c3b36e69636f646573637269706369c3b36e
- 636c61736966696361646f73636f6e6f63696d69656e746f7075626c69636163
- 69c3b36e72656c6163696f6e61646173696e666f726dc3a17469636172656c61
- 63696f6e61646f73646570617274616d656e746f74726162616a61646f726573
- 646972656374616d656e74656179756e74616d69656e746f6d65726361646f4c
- 69627265636f6e74c3a16374656e6f7368616269746163696f6e657363756d70
- 6c696d69656e746f72657374617572616e746573646973706f73696369c3b36e
- 636f6e73656375656e636961656c65637472c3b36e69636161706c6963616369
- 6f6e6573646573636f6e65637461646f696e7374616c616369c3b36e7265616c
- 697a616369c3b36e7574696c697a616369c3b36e656e6369636c6f7065646961
- 656e6665726d656461646573696e737472756d656e746f73657870657269656e
- 63696173696e73746974756369c3b36e706172746963756c6172657373756263
- 617465676f726961d182d0bed0bbd18cd0bad0bed0a0d0bed181d181d0b8d0b8
- d180d0b0d0b1d0bed182d18bd0b1d0bed0bbd18cd188d0b5d0bfd180d0bed181
- d182d0bed0bcd0bed0b6d0b5d182d0b5d0b4d180d183d0b3d0b8d185d181d0bb
- d183d187d0b0d0b5d181d0b5d0b9d187d0b0d181d0b2d181d0b5d0b3d0b4d0b0
- d0a0d0bed181d181d0b8d18fd09cd0bed181d0bad0b2d0b5d0b4d180d183d0b3
- d0b8d0b5d0b3d0bed180d0bed0b4d0b0d0b2d0bed0bfd180d0bed181d0b4d0b0
- d0bdd0bdd18bd185d0b4d0bed0bbd0b6d0bdd18bd0b8d0bcd0b5d0bdd0bdd0be
- d09cd0bed181d0bad0b2d18bd180d183d0b1d0bbd0b5d0b9d09cd0bed181d0ba
- d0b2d0b0d181d182d180d0b0d0bdd18bd0bdd0b8d187d0b5d0b3d0bed180d0b0
- d0b1d0bed182d0b5d0b4d0bed0bbd0b6d0b5d0bdd183d181d0bbd183d0b3d0b8
- d182d0b5d0bfd0b5d180d18cd09ed0b4d0bdd0b0d0bad0bed0bfd0bed182d0be
- d0bcd183d180d0b0d0b1d0bed182d183d0b0d0bfd180d0b5d0bbd18fd0b2d0be
- d0bed0b1d189d0b5d0bed0b4d0bdd0bed0b3d0bed181d0b2d0bed0b5d0b3d0be
- d181d182d0b0d182d18cd0b8d0b4d180d183d0b3d0bed0b9d184d0bed180d183
- d0bcd0b5d185d0bed180d0bed188d0bed0bfd180d0bed182d0b8d0b2d181d181
- d18bd0bbd0bad0b0d0bad0b0d0b6d0b4d18bd0b9d0b2d0bbd0b0d181d182d0b8
- d0b3d180d183d0bfd0bfd18bd0b2d0bcd0b5d181d182d0b5d180d0b0d0b1d0be
- d182d0b0d181d0bad0b0d0b7d0b0d0bbd0bfd0b5d180d0b2d18bd0b9d0b4d0b5
- d0bbd0b0d182d18cd0b4d0b5d0bdd18cd0b3d0b8d0bfd0b5d180d0b8d0bed0b4
- d0b1d0b8d0b7d0bdd0b5d181d0bed181d0bdd0bed0b2d0b5d0bcd0bed0bcd0b5
- d0bdd182d0bad183d0bfd0b8d182d18cd0b4d0bed0bbd0b6d0bdd0b0d180d0b0
- d0bcd0bad0b0d185d0bdd0b0d187d0b0d0bbd0bed0a0d0b0d0b1d0bed182d0b0
- d0a2d0bed0bbd18cd0bad0bed181d0bed0b2d181d0b5d0bcd0b2d182d0bed180
- d0bed0b9d0bdd0b0d187d0b0d0bbd0b0d181d0bfd0b8d181d0bed0bad181d0bb
- d183d0b6d0b1d18bd181d0b8d181d182d0b5d0bcd0bfd0b5d187d0b0d182d0b8
- d0bdd0bed0b2d0bed0b3d0bed0bfd0bed0bcd0bed189d0b8d181d0b0d0b9d182
- d0bed0b2d0bfd0bed187d0b5d0bcd183d0bfd0bed0bcd0bed189d18cd0b4d0be
- d0bbd0b6d0bdd0bed181d181d18bd0bbd0bad0b8d0b1d18bd181d182d180d0be
- d0b4d0b0d0bdd0bdd18bd0b5d0bcd0bdd0bed0b3d0b8d0b5d0bfd180d0bed0b5
- d0bad182d0a1d0b5d0b9d187d0b0d181d0bcd0bed0b4d0b5d0bbd0b8d182d0b0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 95]
-
-Internet-Draft Brotli May 2016
-
-
- d0bad0bed0b3d0bed0bed0bdd0bbd0b0d0b9d0bdd0b3d0bed180d0bed0b4d0b5
- d0b2d0b5d180d181d0b8d18fd181d182d180d0b0d0bdd0b5d184d0b8d0bbd18c
- d0bcd18bd183d180d0bed0b2d0bdd18fd180d0b0d0b7d0bdd18bd185d0b8d181
- d0bad0b0d182d18cd0bdd0b5d0b4d0b5d0bbd18ed18fd0bdd0b2d0b0d180d18f
- d0bcd0b5d0bdd18cd188d0b5d0bcd0bdd0bed0b3d0b8d185d0b4d0b0d0bdd0bd
- d0bed0b9d0b7d0bdd0b0d187d0b8d182d0bdd0b5d0bbd18cd0b7d18fd184d0be
- d180d183d0bcd0b0d0a2d0b5d0bfd0b5d180d18cd0bcd0b5d181d18fd186d0b0
- d0b7d0b0d189d0b8d182d18bd09bd183d187d188d0b8d0b5e0a4a8e0a4b9e0a5
- 80e0a482e0a495e0a4b0e0a4a8e0a587e0a485e0a4aae0a4a8e0a587e0a495e0
- a4bfe0a4afe0a4bee0a495e0a4b0e0a587e0a482e0a485e0a4a8e0a58de0a4af
- e0a495e0a58de0a4afe0a4bee0a497e0a4bee0a487e0a4a1e0a4ace0a4bee0a4
- b0e0a587e0a495e0a4bfe0a4b8e0a580e0a4a6e0a4bfe0a4afe0a4bee0a4aae0
- a4b9e0a4b2e0a587e0a4b8e0a4bfe0a482e0a4b9e0a4ade0a4bee0a4b0e0a4a4
- e0a485e0a4aae0a4a8e0a580e0a4b5e0a4bee0a4b2e0a587e0a4b8e0a587e0a4
- b5e0a4bee0a495e0a4b0e0a4a4e0a587e0a4aee0a587e0a4b0e0a587e0a4b9e0
- a58be0a4a8e0a587e0a4b8e0a495e0a4a4e0a587e0a4ace0a4b9e0a581e0a4a4
- e0a4b8e0a4bee0a487e0a49fe0a4b9e0a58be0a497e0a4bee0a49ce0a4bee0a4
- a8e0a587e0a4aee0a4bfe0a4a8e0a49fe0a495e0a4b0e0a4a4e0a4bee0a495e0
- a4b0e0a4a8e0a4bee0a489e0a4a8e0a495e0a587e0a4afe0a4b9e0a4bee0a481
- e0a4b8e0a4ace0a4b8e0a587e0a4ade0a4bee0a4b7e0a4bee0a486e0a4aae0a4
- 95e0a587e0a4b2e0a4bfe0a4afe0a587e0a4b6e0a581e0a4b0e0a582e0a487e0
- a4b8e0a495e0a587e0a498e0a482e0a49fe0a587e0a4aee0a587e0a4b0e0a580
- e0a4b8e0a495e0a4a4e0a4bee0a4aee0a587e0a4b0e0a4bee0a4b2e0a587e0a4
- 95e0a4b0e0a485e0a4a7e0a4bfe0a495e0a485e0a4aae0a4a8e0a4bee0a4b8e0
- a4aee0a4bee0a49ce0a4aee0a581e0a49de0a587e0a495e0a4bee0a4b0e0a4a3
- e0a4b9e0a58be0a4a4e0a4bee0a495e0a4a1e0a4bce0a580e0a4afe0a4b9e0a4
- bee0a482e0a4b9e0a58be0a49fe0a4b2e0a4b6e0a4ace0a58de0a4a6e0a4b2e0
- a4bfe0a4afe0a4bee0a49ce0a580e0a4b5e0a4a8e0a49ce0a4bee0a4a4e0a4be
- e0a495e0a588e0a4b8e0a587e0a486e0a4aae0a495e0a4bee0a4b5e0a4bee0a4
- b2e0a580e0a4a6e0a587e0a4a8e0a587e0a4aae0a582e0a4b0e0a580e0a4aae0
- a4bee0a4a8e0a580e0a489e0a4b8e0a495e0a587e0a4b9e0a58be0a497e0a580
- e0a4ace0a588e0a4a0e0a495e0a486e0a4aae0a495e0a580e0a4b5e0a4b0e0a5
- 8de0a4b7e0a497e0a4bee0a482e0a4b5e0a486e0a4aae0a495e0a58be0a49ce0
- a4bfe0a4b2e0a4bee0a49ce0a4bee0a4a8e0a4bee0a4b8e0a4b9e0a4aee0a4a4
- e0a4b9e0a4aee0a587e0a482e0a489e0a4a8e0a495e0a580e0a4afe0a4bee0a4
- b9e0a582e0a4a6e0a4b0e0a58de0a49ce0a4b8e0a582e0a49ae0a580e0a4aae0
- a4b8e0a482e0a4a6e0a4b8e0a4b5e0a4bee0a4b2e0a4b9e0a58be0a4a8e0a4be
- e0a4b9e0a58be0a4a4e0a580e0a49ce0a588e0a4b8e0a587e0a4b5e0a4bee0a4
- aae0a4b8e0a49ce0a4a8e0a4a4e0a4bee0a4a8e0a587e0a4a4e0a4bee0a49ce0
- a4bee0a4b0e0a580e0a498e0a4bee0a4afe0a4b2e0a49ce0a4bfe0a4b2e0a587
- e0a4a8e0a580e0a49ae0a587e0a49ce0a4bee0a482e0a49ae0a4aae0a4a4e0a5
- 8de0a4b0e0a497e0a582e0a497e0a4b2e0a49ce0a4bee0a4a4e0a587e0a4ace0
- a4bee0a4b9e0a4b0e0a486e0a4aae0a4a8e0a587e0a4b5e0a4bee0a4b9e0a4a8
- e0a487e0a4b8e0a495e0a4bee0a4b8e0a581e0a4ace0a4b9e0a4b0e0a4b9e0a4
- a8e0a587e0a487e0a4b8e0a4b8e0a587e0a4b8e0a4b9e0a4bfe0a4a4e0a4ace0
- a4a1e0a4bce0a587e0a498e0a49fe0a4a8e0a4bee0a4a4e0a4b2e0a4bee0a4b6
- e0a4aae0a4bee0a482e0a49ae0a4b6e0a58de0a4b0e0a580e0a4ace0a4a1e0a4
- bce0a580e0a4b9e0a58be0a4a4e0a587e0a4b8e0a4bee0a488e0a49fe0a4b6e0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 96]
-
-Internet-Draft Brotli May 2016
-
-
- a4bee0a4afe0a4a6e0a4b8e0a495e0a4a4e0a580e0a49ce0a4bee0a4a4e0a580
- e0a4b5e0a4bee0a4b2e0a4bee0a4b9e0a49ce0a4bee0a4b0e0a4aae0a49fe0a4
- a8e0a4bee0a4b0e0a496e0a4a8e0a587e0a4b8e0a4a1e0a4bce0a495e0a4aee0
- a4bfe0a4b2e0a4bee0a489e0a4b8e0a495e0a580e0a495e0a587e0a4b5e0a4b2
- e0a4b2e0a497e0a4a4e0a4bee0a496e0a4bee0a4a8e0a4bee0a485e0a4b0e0a5
- 8de0a4a5e0a49ce0a4b9e0a4bee0a482e0a4a6e0a587e0a496e0a4bee0a4aae0
- a4b9e0a4b2e0a580e0a4a8e0a4bfe0a4afe0a4aee0a4ace0a4bfe0a4a8e0a4be
- e0a4ace0a588e0a482e0a495e0a495e0a4b9e0a580e0a482e0a495e0a4b9e0a4
- a8e0a4bee0a4a6e0a587e0a4a4e0a4bee0a4b9e0a4aee0a4b2e0a587e0a495e0
- a4bee0a4abe0a580e0a49ce0a4ace0a495e0a4bfe0a4a4e0a581e0a4b0e0a4a4
- e0a4aee0a4bee0a482e0a497e0a4b5e0a4b9e0a580e0a482e0a4b0e0a58be0a4
- 9ce0a4bce0a4aee0a4bfe0a4b2e0a580e0a486e0a4b0e0a58be0a4aae0a4b8e0
- a587e0a4a8e0a4bee0a4afe0a4bee0a4a6e0a4b5e0a4b2e0a587e0a4a8e0a587
- e0a496e0a4bee0a4a4e0a4bee0a495e0a4b0e0a580e0a4ace0a489e0a4a8e0a4
- 95e0a4bee0a49ce0a4b5e0a4bee0a4ace0a4aae0a582e0a4b0e0a4bee0a4ace0
- a4a1e0a4bce0a4bee0a4b8e0a58ce0a4a6e0a4bee0a4b6e0a587e0a4afe0a4b0
- e0a495e0a4bfe0a4afe0a587e0a495e0a4b9e0a4bee0a482e0a485e0a495e0a4
- b8e0a4b0e0a4ace0a4a8e0a4bee0a48fe0a4b5e0a4b9e0a4bee0a482e0a4b8e0
- a58de0a4a5e0a4b2e0a4aee0a4bfe0a4b2e0a587e0a4b2e0a587e0a496e0a495
- e0a4b5e0a4bfe0a4b7e0a4afe0a495e0a58de0a4b0e0a482e0a4b8e0a4aee0a5
- 82e0a4b9e0a4a5e0a4bee0a4a8e0a4bed8aad8b3d8aad8b7d98ad8b9d985d8b4
- d8a7d8b1d983d8a9d8a8d988d8a7d8b3d8b7d8a9d8a7d984d8b5d981d8add8a9
- d985d988d8a7d8b6d98ad8b9d8a7d984d8aed8a7d8b5d8a9d8a7d984d985d8b2
- d98ad8afd8a7d984d8b9d8a7d985d8a9d8a7d984d983d8a7d8aad8a8d8a7d984
- d8b1d8afd988d8afd8a8d8b1d986d8a7d985d8acd8a7d984d8afd988d984d8a9
- d8a7d984d8b9d8a7d984d985d8a7d984d985d988d982d8b9d8a7d984d8b9d8b1
- d8a8d98ad8a7d984d8b3d8b1d98ad8b9d8a7d984d8acd988d8a7d984d8a7d984
- d8b0d987d8a7d8a8d8a7d984d8add98ad8a7d8a9d8a7d984d8add982d988d982
- d8a7d984d983d8b1d98ad985d8a7d984d8b9d8b1d8a7d982d985d8add981d988
- d8b8d8a9d8a7d984d8abd8a7d986d98ad985d8b4d8a7d987d8afd8a9d8a7d984
- d985d8b1d8a3d8a9d8a7d984d982d8b1d8a2d986d8a7d984d8b4d8a8d8a7d8a8
- d8a7d984d8add988d8a7d8b1d8a7d984d8acd8afd98ad8afd8a7d984d8a3d8b3
- d8b1d8a9d8a7d984d8b9d984d988d985d985d8acd985d988d8b9d8a9d8a7d984
- d8b1d8add985d986d8a7d984d986d982d8a7d8b7d981d984d8b3d8b7d98ad986
- d8a7d984d983d988d98ad8aad8a7d984d8afd986d98ad8a7d8a8d8b1d983d8a7
- d8aad987d8a7d984d8b1d98ad8a7d8b6d8aad8add98ad8a7d8aad98ad8a8d8aa
- d988d982d98ad8aad8a7d984d8a3d988d984d989d8a7d984d8a8d8b1d98ad8af
- d8a7d984d983d984d8a7d985d8a7d984d8b1d8a7d8a8d8b7d8a7d984d8b4d8ae
- d8b5d98ad8b3d98ad8a7d8b1d8a7d8aad8a7d984d8abd8a7d984d8abd8a7d984
- d8b5d984d8a7d8a9d8a7d984d8add8afd98ad8abd8a7d984d8b2d988d8a7d8b1
- d8a7d984d8aed984d98ad8acd8a7d984d8acd985d98ad8b9d8a7d984d8b9d8a7
- d985d987d8a7d984d8acd985d8a7d984d8a7d984d8b3d8a7d8b9d8a9d985d8b4
- d8a7d987d8afd987d8a7d984d8b1d8a6d98ad8b3d8a7d984d8afd8aed988d984
- d8a7d984d981d986d98ad8a9d8a7d984d983d8aad8a7d8a8d8a7d984d8afd988
- d8b1d98ad8a7d984d8afd8b1d988d8b3d8a7d8b3d8aad8bad8b1d982d8aad8b5
- d8a7d985d98ad985d8a7d984d8a8d986d8a7d8aad8a7d984d8b9d8b8d98ad985
- 656e7465727461696e6d656e74756e6465727374616e64696e67203d2066756e
- 6374696f6e28292e6a7067222077696474683d22636f6e66696775726174696f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 97]
-
-Internet-Draft Brotli May 2016
-
-
- 6e2e706e67222077696474683d223c626f647920636c6173733d224d6174682e
- 72616e646f6d2829636f6e74656d706f7261727920556e697465642053746174
- 657363697263756d7374616e6365732e617070656e644368696c64286f726761
- 6e697a6174696f6e733c7370616e20636c6173733d22223e3c696d6720737263
- 3d222f64697374696e6775697368656474686f7573616e6473206f6620636f6d
- 6d756e69636174696f6e636c656172223e3c2f6469763e696e76657374696761
- 74696f6e66617669636f6e2e69636f22206d617267696e2d72696768743a6261
- 736564206f6e20746865204d6173736163687573657474737461626c6520626f
- 726465723d696e7465726e6174696f6e616c616c736f206b6e6f776e20617370
- 726f6e756e63696174696f6e6261636b67726f756e643a236670616464696e67
- 2d6c6566743a466f72206578616d706c652c206d697363656c6c616e656f7573
- 266c743b2f6d6174682667743b70737963686f6c6f676963616c696e20706172
- 746963756c617265617263682220747970653d22666f726d206d6574686f643d
- 226173206f70706f73656420746f53757072656d6520436f7572746f63636173
- 696f6e616c6c79204164646974696f6e616c6c792c4e6f72746820416d657269
- 636170783b6261636b67726f756e646f70706f7274756e6974696573456e7465
- 727461696e6d656e742e746f4c6f77657243617365286d616e75666163747572
- 696e6770726f66657373696f6e616c20636f6d62696e65642077697468466f72
- 20696e7374616e63652c636f6e73697374696e67206f6622206d61786c656e67
- 74683d2272657475726e2066616c73653b636f6e7363696f75736e6573734d65
- 646974657272616e65616e65787472616f7264696e617279617373617373696e
- 6174696f6e73756273657175656e746c7920627574746f6e20747970653d2274
- 6865206e756d626572206f66746865206f726967696e616c20636f6d70726568
- 656e7369766572656665727320746f207468653c2f756c3e0a3c2f6469763e0a
- 7068696c6f736f70686963616c6c6f636174696f6e2e68726566776173207075
- 626c697368656453616e204672616e636973636f2866756e6374696f6e28297b
- 0a3c6469762069643d226d61696e736f70686973746963617465646d61746865
- 6d61746963616c202f686561643e0d0a3c626f64797375676765737473207468
- 6174646f63756d656e746174696f6e636f6e63656e74726174696f6e72656c61
- 74696f6e73686970736d61792068617665206265656e28666f72206578616d70
- 6c652c546869732061727469636c6520696e20736f6d65206361736573706172
- 7473206f662074686520646566696e6974696f6e206f66477265617420427269
- 7461696e2063656c6c70616464696e673d6571756976616c656e7420746f706c
- 616365686f6c6465723d223b20666f6e742d73697a653a206a75737469666963
- 6174696f6e62656c6965766564207468617473756666657265642066726f6d61
- 7474656d7074656420746f206c6561646572206f662074686563726970742220
- 7372633d222f2866756e6374696f6e2829207b61726520617661696c61626c65
- 0a093c6c696e6b2072656c3d22207372633d27687474703a2f2f696e74657265
- 7374656420696e636f6e76656e74696f6e616c202220616c743d2222202f3e3c
- 2f6172652067656e6572616c6c7968617320616c736f206265656e6d6f737420
- 706f70756c617220636f72726573706f6e64696e676372656469746564207769
- 746874796c653d22626f726465723a3c2f613e3c2f7370616e3e3c2f2e676966
- 222077696474683d223c696672616d65207372633d227461626c6520636c6173
- 733d22696e6c696e652d626c6f636b3b6163636f7264696e6720746f20746f67
- 65746865722077697468617070726f78696d6174656c797061726c69616d656e
- 746172796d6f726520616e64206d6f7265646973706c61793a6e6f6e653b7472
- 61646974696f6e616c6c79707265646f6d696e616e746c79266e6273703b7c26
- 6e6273703b266e6273703b3c2f7370616e3e2063656c6c73706163696e673d3c
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 98]
-
-Internet-Draft Brotli May 2016
-
-
- 696e707574206e616d653d226f722220636f6e74656e743d22636f6e74726f76
- 65727369616c70726f70657274793d226f673a2f782d73686f636b776176652d
- 64656d6f6e7374726174696f6e737572726f756e6465642062794e6576657274
- 68656c6573732c77617320746865206669727374636f6e736964657261626c65
- 20416c74686f7567682074686520636f6c6c61626f726174696f6e73686f756c
- 64206e6f7420626570726f706f7274696f6e206f663c7370616e207374796c65
- 3d226b6e6f776e206173207468652073686f72746c79206166746572666f7220
- 696e7374616e63652c646573637269626564206173202f686561643e0a3c626f
- 6479207374617274696e672077697468696e6372656173696e676c7920746865
- 2066616374207468617464697363757373696f6e206f666d6964646c65206f66
- 20746865616e20696e646976696475616c646966666963756c7420746f20706f
- 696e74206f662076696577686f6d6f73657875616c697479616363657074616e
- 6365206f663c2f7370616e3e3c2f6469763e6d616e756661637475726572736f
- 726967696e206f6620746865636f6d6d6f6e6c792075736564696d706f727461
- 6e6365206f6664656e6f6d696e6174696f6e736261636b67726f756e643a2023
- 6c656e677468206f662074686564657465726d696e6174696f6e61207369676e
- 69666963616e742220626f726465723d2230223e7265766f6c7574696f6e6172
- 797072696e6369706c6573206f66697320636f6e736964657265647761732064
- 6576656c6f706564496e646f2d4575726f7065616e76756c6e657261626c6520
- 746f70726f706f6e656e7473206f6661726520736f6d6574696d6573636c6f73
- 657220746f207468654e657720596f726b2043697479206e616d653d22736561
- 7263686174747269627574656420746f636f75727365206f66207468656d6174
- 68656d6174696369616e62792074686520656e64206f6661742074686520656e
- 64206f662220626f726465723d22302220746563686e6f6c6f676963616c2e72
- 656d6f7665436c617373286272616e6368206f662074686565766964656e6365
- 2074686174215b656e6469665d2d2d3e0d0a496e73746974757465206f662069
- 6e746f20612073696e676c65726573706563746976656c792e616e6420746865
- 7265666f726570726f70657274696573206f666973206c6f636174656420696e
- 736f6d65206f66207768696368546865726520697320616c736f636f6e74696e
- 75656420746f20617070656172616e6365206f662026616d703b6e646173683b
- 2064657363726962657320746865636f6e73696465726174696f6e617574686f
- 72206f6620746865696e646570656e64656e746c796571756970706564207769
- 7468646f6573206e6f7420686176653c2f613e3c6120687265663d22636f6e66
- 7573656420776974683c6c696e6b20687265663d222f61742074686520616765
- 206f6661707065617220696e20746865546865736520696e636c756465726567
- 6172646c657373206f66636f756c642062652075736564207374796c653d2671
- 756f743b7365766572616c2074696d6573726570726573656e7420746865626f
- 64793e0a3c2f68746d6c3e74686f7567687420746f206265706f70756c617469
- 6f6e206f66706f73736962696c697469657370657263656e74616765206f6661
- 636365737320746f20746865616e20617474656d707420746f70726f64756374
- 696f6e206f666a71756572792f6a717565727974776f20646966666572656e74
- 62656c6f6e6720746f2074686565737461626c6973686d656e747265706c6163
- 696e67207468656465736372697074696f6e222064657465726d696e65207468
- 65617661696c61626c6520666f724163636f7264696e6720746f207769646520
- 72616e6765206f66093c64697620636c6173733d226d6f726520636f6d6d6f6e
- 6c796f7267616e69736174696f6e7366756e6374696f6e616c69747977617320
- 636f6d706c657465642026616d703b6d646173683b2070617274696369706174
- 696f6e74686520636861726163746572616e206164646974696f6e616c617070
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 99]
-
-Internet-Draft Brotli May 2016
-
-
- 6561727320746f20626566616374207468617420746865616e206578616d706c
- 65206f667369676e69666963616e746c796f6e6d6f7573656f7665723d226265
- 63617573652074686579206173796e63203d20747275653b70726f626c656d73
- 20776974687365656d7320746f206861766574686520726573756c74206f6620
- 7372633d22687474703a2f2f66616d696c6961722077697468706f7373657373
- 696f6e206f6666756e6374696f6e202829207b746f6f6b20706c61636520696e
- 616e6420736f6d6574696d65737375627374616e7469616c6c793c7370616e3e
- 3c2f7370616e3e6973206f6674656e2075736564696e20616e20617474656d70
- 746772656174206465616c206f66456e7669726f6e6d656e74616c7375636365
- 737366756c6c79207669727475616c6c7920616c6c323074682063656e747572
- 792c70726f66657373696f6e616c736e656365737361727920746f2064657465
- 726d696e6564206279636f6d7061746962696c69747962656361757365206974
- 20697344696374696f6e617279206f666d6f64696669636174696f6e73546865
- 20666f6c6c6f77696e676d617920726566657220746f3a436f6e73657175656e
- 746c792c496e7465726e6174696f6e616c616c74686f75676820736f6d657468
- 617420776f756c64206265776f726c642773206669727374636c617373696669
- 6564206173626f74746f6d206f662074686528706172746963756c61726c7961
- 6c69676e3d226c65667422206d6f737420636f6d6d6f6e6c7962617369732066
- 6f7220746865666f756e646174696f6e206f66636f6e747269627574696f6e73
- 706f70756c6172697479206f6663656e746572206f6620746865746f20726564
- 756365207468656a7572697364696374696f6e73617070726f78696d6174696f
- 6e206f6e6d6f7573656f75743d224e65772054657374616d656e74636f6c6c65
- 6374696f6e206f663c2f7370616e3e3c2f613e3c2f696e2074686520556e6974
- 656466696c6d206469726563746f722d7374726963742e647464223e68617320
- 6265656e207573656472657475726e20746f20746865616c74686f7567682074
- 6869736368616e676520696e207468657365766572616c206f74686572627574
- 20746865726520617265756e707265636564656e74656469732073696d696c61
- 7220746f657370656369616c6c7920696e7765696768743a20626f6c643b6973
- 2063616c6c656420746865636f6d7075746174696f6e616c696e646963617465
- 20746861747265737472696374656420746f093c6d657461206e616d653d2261
- 7265207479706963616c6c79636f6e666c6963742077697468486f7765766572
- 2c2074686520416e206578616d706c65206f66636f6d70617265642077697468
- 7175616e746974696573206f66726174686572207468616e2061636f6e737465
- 6c6c6174696f6e6e656365737361727920666f727265706f7274656420746861
- 7473706563696669636174696f6e706f6c69746963616c20616e64266e627370
- 3b266e6273703b3c7265666572656e63657320746f7468652073616d65207965
- 6172476f7665726e6d656e74206f6667656e65726174696f6e206f6668617665
- 206e6f74206265656e7365766572616c207965617273636f6d6d69746d656e74
- 20746f09093c756c20636c6173733d2276697375616c697a6174696f6e313974
- 682063656e747572792c70726163746974696f6e657273746861742068652077
- 6f756c64616e6420636f6e74696e7565646f636375706174696f6e206f666973
- 20646566696e656420617363656e747265206f662074686574686520616d6f75
- 6e74206f663e3c646976207374796c653d226571756976616c656e74206f6664
- 6966666572656e746961746562726f756768742061626f75746d617267696e2d
- 6c6566743a206175746f6d61746963616c6c7974686f75676874206f66206173
- 536f6d65206f662074686573650a3c64697620636c6173733d22696e70757420
- 636c6173733d227265706c6163656420776974686973206f6e65206f66207468
- 65656475636174696f6e20616e64696e666c75656e6365642062797265707574
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 100]
-
-Internet-Draft Brotli May 2016
-
-
- 6174696f6e2061730a3c6d657461206e616d653d226163636f6d6d6f64617469
- 6f6e3c2f6469763e0a3c2f6469763e6c617267652070617274206f66496e7374
- 697475746520666f7274686520736f2d63616c6c656420616761696e73742074
- 686520496e207468697320636173652c776173206170706f696e746564636c61
- 696d656420746f206265486f77657665722c20746869734465706172746d656e
- 74206f667468652072656d61696e696e67656666656374206f6e207468657061
- 72746963756c61726c79206465616c2077697468207468650a3c646976207374
- 796c653d22616c6d6f737420616c776179736172652063757272656e746c7965
- 787072657373696f6e206f667068696c6f736f706879206f66666f72206d6f72
- 65207468616e636976696c697a6174696f6e736f6e207468652069736c616e64
- 73656c6563746564496e64657863616e20726573756c7420696e222076616c75
- 653d2222202f3e74686520737472756374757265202f3e3c2f613e3c2f646976
- 3e4d616e79206f66207468657365636175736564206279207468656f66207468
- 6520556e697465647370616e20636c6173733d226d63616e2062652074726163
- 656469732072656c6174656420746f626563616d65206f6e65206f6669732066
- 72657175656e746c796c6976696e6720696e207468657468656f726574696361
- 6c6c79466f6c6c6f77696e67207468655265766f6c7574696f6e617279676f76
- 65726e6d656e7420696e69732064657465726d696e656474686520706f6c6974
- 6963616c696e74726f647563656420696e73756666696369656e7420746f6465
- 736372697074696f6e223e73686f72742073746f726965737365706172617469
- 6f6e206f66617320746f20776865746865726b6e6f776e20666f722069747377
- 617320696e697469616c6c79646973706c61793a626c6f636b697320616e2065
- 78616d706c65746865207072696e636970616c636f6e7369737473206f662061
- 7265636f676e697a65642061732f626f64793e3c2f68746d6c3e612073756273
- 74616e7469616c7265636f6e737472756374656468656164206f662073746174
- 65726573697374616e636520746f756e64657267726164756174655468657265
- 206172652074776f6772617669746174696f6e616c6172652064657363726962
- 6564696e74656e74696f6e616c6c7973657276656420617320746865636c6173
- 733d226865616465726f70706f736974696f6e20746f66756e64616d656e7461
- 6c6c79646f6d696e6174656420746865616e6420746865206f74686572616c6c
- 69616e6365207769746877617320666f7263656420746f726573706563746976
- 656c792c616e6420706f6c69746963616c696e20737570706f7274206f667065
- 6f706c6520696e20746865323074682063656e747572792e616e64207075626c
- 69736865646c6f6164436861727462656174746f20756e6465727374616e646d
- 656d62657220737461746573656e7669726f6e6d656e74616c66697273742068
- 616c66206f66636f756e747269657320616e646172636869746563747572616c
- 626520636f6e73696465726564636861726163746572697a6564636c65617249
- 6e74657276616c617574686f726974617469766546656465726174696f6e206f
- 6677617320737563636565646564616e64207468657265206172656120636f6e
- 73657175656e636574686520507265736964656e74616c736f20696e636c7564
- 65646672656520736f66747761726573756363657373696f6e206f6664657665
- 6c6f706564207468657761732064657374726f796564617761792066726f6d20
- 7468653b0a3c2f7363726970743e0a3c616c74686f7567682074686579666f6c
- 6c6f77656420627920616d6f726520706f77657266756c726573756c74656420
- 696e2061556e6976657273697479206f66486f77657665722c206d616e797468
- 6520707265736964656e74486f77657665722c20736f6d6569732074686f7567
- 687420746f756e74696c2074686520656e6477617320616e6e6f756e63656461
- 726520696d706f7274616e74616c736f20696e636c756465733e3c696e707574
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 101]
-
-Internet-Draft Brotli May 2016
-
-
- 20747970653d7468652063656e746572206f6620444f204e4f5420414c544552
- 7573656420746f2072656665727468656d65732f3f736f72743d746861742068
- 6164206265656e74686520626173697320666f7268617320646576656c6f7065
- 64696e207468652073756d6d6572636f6d70617261746976656c796465736372
- 6962656420746865737563682061732074686f736574686520726573756c7469
- 6e67697320696d706f737369626c65766172696f7573206f74686572536f7574
- 68204166726963616e68617665207468652073616d656566666563746976656e
- 657373696e20776869636820636173653b20746578742d616c69676e3a737472
- 75637475726520616e643b206261636b67726f756e643a726567617264696e67
- 20746865737570706f7274656420746865697320616c736f206b6e6f776e7374
- 796c653d226d617267696e696e636c7564696e6720746865626168617361204d
- 656c6179756e6f72736b20626f6b6dc3a56c6e6f72736b206e796e6f72736b73
- 6c6f76656ec5a1c48d696e61696e7465726e6163696f6e616c63616c69666963
- 616369c3b36e636f6d756e6963616369c3b36e636f6e73747275636369c3b36e
- 223e3c64697620636c6173733d22646973616d626967756174696f6e446f6d61
- 696e4e616d65272c202761646d696e697374726174696f6e73696d756c74616e
- 656f75736c797472616e73706f72746174696f6e496e7465726e6174696f6e61
- 6c206d617267696e2d626f74746f6d3a726573706f6e736962696c6974793c21
- 5b656e6469665d2d2d3e0a3c2f3e3c6d657461206e616d653d22696d706c656d
- 656e746174696f6e696e667261737472756374757265726570726573656e7461
- 74696f6e626f726465722d626f74746f6d3a3c2f686561643e0a3c626f64793e
- 3d687474702533412532462532463c666f726d206d6574686f643d226d657468
- 6f643d22706f737422202f66617669636f6e2e69636f22207d293b0a3c2f7363
- 726970743e0a2e7365744174747269627574652841646d696e69737472617469
- 6f6e3d206e657720417272617928293b3c215b656e6469665d2d2d3e0d0a6469
- 73706c61793a626c6f636b3b556e666f7274756e6174656c792c223e266e6273
- 703b3c2f6469763e2f66617669636f6e2e69636f223e3d277374796c65736865
- 657427206964656e74696669636174696f6e2c20666f72206578616d706c652c
- 3c6c693e3c6120687265663d222f616e20616c7465726e617469766561732061
- 20726573756c74206f667074223e3c2f7363726970743e0a747970653d227375
- 626d697422200a2866756e6374696f6e2829207b7265636f6d6d656e64617469
- 6f6e666f726d20616374696f6e3d222f7472616e73666f726d6174696f6e7265
- 636f6e737472756374696f6e2e7374796c652e646973706c6179204163636f72
- 64696e6720746f2068696464656e22206e616d653d22616c6f6e672077697468
- 20746865646f63756d656e742e626f64792e617070726f78696d6174656c7920
- 436f6d6d756e69636174696f6e73706f73742220616374696f6e3d226d65616e
- 696e67202671756f743b2d2d3c215b656e6469665d2d2d3e5072696d65204d69
- 6e697374657263686172616374657269737469633c2f613e203c6120636c6173
- 733d74686520686973746f7279206f66206f6e6d6f7573656f7665723d227468
- 6520676f7665726e6d656e74687265663d2268747470733a2f2f776173206f72
- 6967696e616c6c7977617320696e74726f6475636564636c6173736966696361
- 74696f6e726570726573656e74617469766561726520636f6e73696465726564
- 3c215b656e6469665d2d2d3e0a0a646570656e6473206f6e20746865556e6976
- 657273697479206f6620696e20636f6e747261737420746f20706c616365686f
- 6c6465723d22696e207468652063617365206f66696e7465726e6174696f6e61
- 6c20636f6e737469747574696f6e616c7374796c653d22626f726465722d3a20
- 66756e6374696f6e2829207b42656361757365206f66207468652d7374726963
- 742e647464223e0a3c7461626c6520636c6173733d226163636f6d70616e6965
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 102]
-
-Internet-Draft Brotli May 2016
-
-
- 642062796163636f756e74206f66207468653c736372697074207372633d222f
- 6e6174757265206f6620746865207468652070656f706c6520696e20696e2061
- 64646974696f6e20746f73293b206a732e6964203d206964222077696474683d
- 223130302522726567617264696e672074686520526f6d616e20436174686f6c
- 6963616e20696e646570656e64656e74666f6c6c6f77696e6720746865202e67
- 6966222077696474683d223174686520666f6c6c6f77696e6720646973637269
- 6d696e6174696f6e6172636861656f6c6f676963616c7072696d65206d696e69
- 737465722e6a73223e3c2f7363726970743e636f6d62696e6174696f6e206f66
- 206d617267696e77696474683d22637265617465456c656d656e7428772e6174
- 746163684576656e74283c2f613e3c2f74643e3c2f74723e7372633d22687474
- 70733a2f2f61496e20706172746963756c61722c20616c69676e3d226c656674
- 2220437a6563682052657075626c6963556e69746564204b696e67646f6d636f
- 72726573706f6e64656e6365636f6e636c7564656420746861742e68746d6c22
- 207469746c653d222866756e6374696f6e202829207b636f6d65732066726f6d
- 207468656170706c69636174696f6e206f663c7370616e20636c6173733d2273
- 62656c696576656420746f206265656d656e742827736372697074273c2f613e
- 0a3c2f6c693e0a3c6c697665727920646966666572656e743e3c7370616e2063
- 6c6173733d226f7074696f6e2076616c75653d2228616c736f206b6e6f776e20
- 6173093c6c693e3c6120687265663d223e3c696e707574206e616d653d227365
- 706172617465642066726f6d726566657272656420746f2061732076616c6967
- 6e3d22746f70223e666f756e646572206f6620746865617474656d7074696e67
- 20746f20636172626f6e2064696f786964650a0a3c64697620636c6173733d22
- 636c6173733d227365617263682d2f626f64793e0a3c2f68746d6c3e6f70706f
- 7274756e69747920746f636f6d6d756e69636174696f6e733c2f686561643e0d
- 0a3c626f6479207374796c653d2277696474683a5469e1babf6e67205669e1bb
- 87746368616e67657320696e20746865626f726465722d636f6c6f723a233022
- 20626f726465723d223022203c2f7370616e3e3c2f6469763e3c776173206469
- 73636f76657265642220747970653d22746578742220293b0a3c2f7363726970
- 743e0a0a4465706172746d656e74206f66206563636c6573696173746963616c
- 746865726520686173206265656e726573756c74696e672066726f6d3c2f626f
- 64793e3c2f68746d6c3e686173206e65766572206265656e7468652066697273
- 742074696d65696e20726573706f6e736520746f6175746f6d61746963616c6c
- 79203c2f6469763e0a0a3c646976206977617320636f6e736964657265647065
- 7263656e74206f662074686522202f3e3c2f613e3c2f6469763e636f6c6c6563
- 74696f6e206f662064657363656e6465642066726f6d73656374696f6e206f66
- 207468656163636570742d63686172736574746f20626520636f6e6675736564
- 6d656d626572206f66207468652070616464696e672d72696768743a7472616e
- 736c6174696f6e206f66696e746572707265746174696f6e20687265663d2768
- 7474703a2f2f77686574686572206f72206e6f7454686572652061726520616c
- 736f746865726520617265206d616e796120736d616c6c206e756d6265726f74
- 686572207061727473206f66696d706f737369626c6520746f2020636c617373
- 3d22627574746f6e6c6f636174656420696e207468652e20486f77657665722c
- 20746865616e64206576656e7475616c6c7941742074686520656e64206f6620
- 62656361757365206f6620697473726570726573656e7473207468653c666f72
- 6d20616374696f6e3d22206d6574686f643d22706f737422697420697320706f
- 737369626c656d6f7265206c696b656c7920746f616e20696e63726561736520
- 696e6861766520616c736f206265656e636f72726573706f6e647320746f616e
- 6e6f756e6365642074686174616c69676e3d227269676874223e6d616e792063
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 103]
-
-Internet-Draft Brotli May 2016
-
-
- 6f756e7472696573666f72206d616e792079656172736561726c69657374206b
- 6e6f776e62656361757365206974207761737074223e3c2f7363726970743e0d
- 2076616c69676e3d22746f702220696e6861626974616e7473206f66666f6c6c
- 6f77696e6720796561720d0a3c64697620636c6173733d226d696c6c696f6e20
- 70656f706c65636f6e74726f7665727369616c20636f6e6365726e696e672074
- 68656172677565207468617420746865676f7665726e6d656e7420616e646120
- 7265666572656e636520746f7472616e7366657272656420746f646573637269
- 62696e6720746865207374796c653d22636f6c6f723a616c74686f7567682074
- 6865726562657374206b6e6f776e20666f727375626d697422206e616d653d22
- 6d756c7469706c69636174696f6e6d6f7265207468616e206f6e65207265636f
- 676e6974696f6e206f66436f756e63696c206f662074686565646974696f6e20
- 6f662074686520203c6d657461206e616d653d22456e7465727461696e6d656e
- 7420617761792066726f6d20746865203b6d617267696e2d72696768743a6174
- 207468652074696d65206f66696e7665737469676174696f6e73636f6e6e6563
- 7465642077697468616e64206d616e79206f74686572616c74686f7567682069
- 74206973626567696e6e696e672077697468203c7370616e20636c6173733d22
- 64657363656e64616e7473206f663c7370616e20636c6173733d226920616c69
- 676e3d227269676874223c2f686561643e0a3c626f6479206173706563747320
- 6f66207468656861732073696e6365206265656e4575726f7065616e20556e69
- 6f6e72656d696e697363656e74206f666d6f726520646966666963756c745669
- 636520507265736964656e74636f6d706f736974696f6e206f66706173736564
- 207468726f7567686d6f726520696d706f7274616e74666f6e742d73697a653a
- 313170786578706c616e6174696f6e206f6674686520636f6e63657074206f66
- 7772697474656e20696e20746865093c7370616e20636c6173733d226973206f
- 6e65206f662074686520726573656d626c616e636520746f6f6e207468652067
- 726f756e6473776869636820636f6e7461696e73696e636c7564696e67207468
- 6520646566696e6564206279207468657075626c69636174696f6e206f666d65
- 616e732074686174207468656f757473696465206f6620746865737570706f72
- 74206f66207468653c696e70757420636c6173733d223c7370616e20636c6173
- 733d2274284d6174682e72616e646f6d28296d6f73742070726f6d696e656e74
- 6465736372697074696f6e206f66436f6e7374616e74696e6f706c6577657265
- 207075626c69736865643c64697620636c6173733d2273656170706561727320
- 696e207468653122206865696768743d223122206d6f737420696d706f727461
- 6e74776869636820696e636c75646573776869636820686164206265656e6465
- 737472756374696f6e206f6674686520706f70756c6174696f6e0a093c646976
- 20636c6173733d22706f73736962696c697479206f66736f6d6574696d657320
- 7573656461707065617220746f206861766573756363657373206f6620746865
- 696e74656e64656420746f20626570726573656e7420696e207468657374796c
- 653d22636c6561723a620d0a3c2f7363726970743e0d0a3c77617320666f756e
- 64656420696e696e7465727669657720776974685f69642220636f6e74656e74
- 3d226361706974616c206f66207468650d0a3c6c696e6b2072656c3d22737265
- 6c65617365206f6620746865706f696e74206f75742074686174784d4c487474
- 7052657175657374616e642073756273657175656e747365636f6e64206c6172
- 676573747665727920696d706f7274616e7473706563696669636174696f6e73
- 73757266616365206f66207468656170706c69656420746f20746865666f7265
- 69676e20706f6c6963795f736574446f6d61696e4e616d6565737461626c6973
- 68656420696e69732062656c696576656420746f496e206164646974696f6e20
- 746f6d65616e696e67206f66207468656973206e616d6564206166746572746f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 104]
-
-Internet-Draft Brotli May 2016
-
-
- 2070726f7465637420746865697320726570726573656e7465644465636c6172
- 6174696f6e206f666d6f726520656666696369656e74436c6173736966696361
- 74696f6e6f7468657220666f726d73206f6668652072657475726e656420746f
- 3c7370616e20636c6173733d2263706572666f726d616e6365206f662866756e
- 6374696f6e2829207b0d696620616e64206f6e6c79206966726567696f6e7320
- 6f66207468656c656164696e6720746f2074686572656c6174696f6e73207769
- 7468556e69746564204e6174696f6e737374796c653d226865696768743a6f74
- 686572207468616e207468657970652220636f6e74656e743d224173736f6369
- 6174696f6e206f660a3c2f686561643e0a3c626f64796c6f6361746564206f6e
- 20746865697320726566657272656420746f28696e636c7564696e6720746865
- 636f6e63656e74726174696f6e7374686520696e646976696475616c616d6f6e
- 6720746865206d6f73747468616e20616e79206f746865722f3e0a3c6c696e6b
- 2072656c3d222072657475726e2066616c73653b74686520707572706f736520
- 6f66746865206162696c69747920746f3b636f6c6f723a236666667d0a2e0a3c
- 7370616e20636c6173733d22746865207375626a656374206f66646566696e69
- 74696f6e73206f663e0d0a3c6c696e6b2072656c3d22636c61696d2074686174
- 207468656861766520646576656c6f7065643c7461626c652077696474683d22
- 63656c6562726174696f6e206f66466f6c6c6f77696e672074686520746f2064
- 697374696e67756973683c7370616e20636c6173733d226274616b657320706c
- 61636520696e756e64657220746865206e616d656e6f74656420746861742074
- 68653e3c215b656e6469665d2d2d3e0a7374796c653d226d617267696e2d696e
- 7374656164206f6620746865696e74726f647563656420746865746865207072
- 6f63657373206f66696e6372656173696e6720746865646966666572656e6365
- 7320696e657374696d617465642074686174657370656369616c6c7920746865
- 2f6469763e3c6469762069643d22776173206576656e7475616c6c797468726f
- 7567686f75742068697374686520646966666572656e6365736f6d657468696e
- 6720746861747370616e3e3c2f7370616e3e3c2f7369676e69666963616e746c
- 79203e3c2f7363726970743e0d0a0d0a656e7669726f6e6d656e74616c20746f
- 2070726576656e742074686568617665206265656e2075736564657370656369
- 616c6c7920666f72756e6465727374616e6420746865697320657373656e7469
- 616c6c797765726520746865206669727374697320746865206c617267657374
- 68617665206265656e206d61646522207372633d22687474703a2f2f696e7465
- 727072657465642061737365636f6e642068616c66206f6663726f6c6c696e67
- 3d226e6f2220697320636f6d706f736564206f6649492c20486f6c7920526f6d
- 616e697320657870656374656420746f68617665207468656972206f776e6465
- 66696e656420617320746865747261646974696f6e616c6c7920686176652064
- 6966666572656e74617265206f6674656e2075736564746f20656e7375726520
- 7468617461677265656d656e742077697468636f6e7461696e696e6720746865
- 617265206672657175656e746c79696e666f726d6174696f6e206f6e6578616d
- 706c6520697320746865726573756c74696e6720696e20613c2f613e3c2f6c69
- 3e3c2f756c3e20636c6173733d22666f6f746572616e6420657370656369616c
- 6c79747970653d22627574746f6e22203c2f7370616e3e3c2f7370616e3e7768
- 69636820696e636c756465643e0a3c6d657461206e616d653d22636f6e736964
- 657265642074686563617272696564206f7574206279486f77657665722c2069
- 74206973626563616d652070617274206f66696e2072656c6174696f6e20746f
- 706f70756c617220696e20746865746865206361706974616c206f6677617320
- 6f6666696369616c6c79776869636820686173206265656e7468652048697374
- 6f7279206f66616c7465726e617469766520746f646966666572656e74206672
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 105]
-
-Internet-Draft Brotli May 2016
-
-
- 6f6d746f20737570706f7274207468657375676765737465642074686174696e
- 207468652070726f6365737320203c64697620636c6173733d2274686520666f
- 756e646174696f6e62656361757365206f6620686973636f6e6365726e656420
- 7769746874686520756e69766572736974796f70706f73656420746f20746865
- 74686520636f6e74657874206f663c7370616e20636c6173733d227074657874
- 22206e616d653d22712209093c64697620636c6173733d227468652073636965
- 6e7469666963726570726573656e7465642062796d617468656d617469636961
- 6e73656c656374656420627920746865746861742068617665206265656e3e3c
- 64697620636c6173733d22636469762069643d22686561646572696e20706172
- 746963756c61722c636f6e76657274656420696e746f293b0a3c2f7363726970
- 743e0a3c7068696c6f736f70686963616c20737270736b6f6872766174736b69
- 7469e1babf6e67205669e1bb8774d0a0d183d181d181d0bad0b8d0b9d180d183
- d181d181d0bad0b8d0b9696e766573746967616369c3b36e7061727469636970
- 616369c3b36ed0bad0bed182d0bed180d18bd0b5d0bed0b1d0bbd0b0d181d182
- d0b8d0bad0bed182d0bed180d18bd0b9d187d0b5d0bbd0bed0b2d0b5d0bad181
- d0b8d181d182d0b5d0bcd18bd09dd0bed0b2d0bed181d182d0b8d0bad0bed182
- d0bed180d18bd185d0bed0b1d0bbd0b0d181d182d18cd0b2d180d0b5d0bcd0b5
- d0bdd0b8d0bad0bed182d0bed180d0b0d18fd181d0b5d0b3d0bed0b4d0bdd18f
- d181d0bad0b0d187d0b0d182d18cd0bdd0bed0b2d0bed181d182d0b8d0a3d0ba
- d180d0b0d0b8d0bdd18bd0b2d0bed0bfd180d0bed181d18bd0bad0bed182d0be
- d180d0bed0b9d181d0b4d0b5d0bbd0b0d182d18cd0bfd0bed0bcd0bed189d18c
- d18ed181d180d0b5d0b4d181d182d0b2d0bed0b1d180d0b0d0b7d0bed0bcd181
- d182d0bed180d0bed0bdd18bd183d187d0b0d181d182d0b8d0b5d182d0b5d187
- d0b5d0bdd0b8d0b5d093d0bbd0b0d0b2d0bdd0b0d18fd0b8d181d182d0bed180
- d0b8d0b8d181d0b8d181d182d0b5d0bcd0b0d180d0b5d188d0b5d0bdd0b8d18f
- d0a1d0bad0b0d187d0b0d182d18cd0bfd0bed18dd182d0bed0bcd183d181d0bb
- d0b5d0b4d183d0b5d182d181d0bad0b0d0b7d0b0d182d18cd182d0bed0b2d0b0
- d180d0bed0b2d0bad0bed0bdd0b5d187d0bdd0bed180d0b5d188d0b5d0bdd0b8
- d0b5d0bad0bed182d0bed180d0bed0b5d0bed180d0b3d0b0d0bdd0bed0b2d0ba
- d0bed182d0bed180d0bed0bcd0a0d0b5d0bad0bbd0b0d0bcd0b0d8a7d984d985
- d986d8aad8afd989d985d986d8aad8afd98ad8a7d8aad8a7d984d985d988d8b6
- d988d8b9d8a7d984d8a8d8b1d8a7d985d8acd8a7d984d985d988d8a7d982d8b9
- d8a7d984d8b1d8b3d8a7d8a6d984d985d8b4d8a7d8b1d983d8a7d8aad8a7d984
- d8a3d8b9d8b6d8a7d8a1d8a7d984d8b1d98ad8a7d8b6d8a9d8a7d984d8aad8b5
- d985d98ad985d8a7d984d8a7d8b9d8b6d8a7d8a1d8a7d984d986d8aad8a7d8a6
- d8acd8a7d984d8a3d984d8b9d8a7d8a8d8a7d984d8aad8b3d8acd98ad984d8a7
- d984d8a3d982d8b3d8a7d985d8a7d984d8b6d8bad8b7d8a7d8aad8a7d984d981
- d98ad8afd98ad988d8a7d984d8aad8b1d8add98ad8a8d8a7d984d8acd8afd98a
- d8afd8a9d8a7d984d8aad8b9d984d98ad985d8a7d984d8a3d8aed8a8d8a7d8b1
- d8a7d984d8a7d981d984d8a7d985d8a7d984d8a3d981d984d8a7d985d8a7d984
- d8aad8a7d8b1d98ad8aed8a7d984d8aad982d986d98ad8a9d8a7d984d8a7d984
- d8b9d8a7d8a8d8a7d984d8aed988d8a7d8b7d8b1d8a7d984d985d8acd8aad985
- d8b9d8a7d984d8afd98ad983d988d8b1d8a7d984d8b3d98ad8a7d8add8a9d8b9
- d8a8d8afd8a7d984d984d987d8a7d984d8aad8b1d8a8d98ad8a9d8a7d984d8b1
- d988d8a7d8a8d8b7d8a7d984d8a3d8afd8a8d98ad8a9d8a7d984d8a7d8aed8a8
- d8a7d8b1d8a7d984d985d8aad8add8afd8a9d8a7d984d8a7d8bad8a7d986d98a
- 637572736f723a706f696e7465723b3c2f7469746c653e0a3c6d657461202220
- 687265663d22687474703a2f2f223e3c7370616e20636c6173733d226d656d62
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 106]
-
-Internet-Draft Brotli May 2016
-
-
- 657273206f66207468652077696e646f772e6c6f636174696f6e766572746963
- 616c2d616c69676e3a2f613e207c203c6120687265663d223c21646f63747970
- 652068746d6c3e6d656469613d2273637265656e22203c6f7074696f6e207661
- 6c75653d2266617669636f6e2e69636f22202f3e0a09093c64697620636c6173
- 733d2263686172616374657269737469637322206d6574686f643d2267657422
- 202f626f64793e0a3c2f68746d6c3e0a73686f72746375742069636f6e222064
- 6f63756d656e742e77726974652870616464696e672d626f74746f6d3a726570
- 726573656e746174697665737375626d6974222076616c75653d22616c69676e
- 3d2263656e74657222207468726f7567686f75742074686520736369656e6365
- 2066696374696f6e0a20203c64697620636c6173733d227375626d6974222063
- 6c6173733d226f6e65206f6620746865206d6f73742076616c69676e3d22746f
- 70223e3c7761732065737461626c6973686564293b0d0a3c2f7363726970743e
- 0d0a72657475726e2066616c73653b223e292e7374796c652e646973706c6179
- 62656361757365206f662074686520646f63756d656e742e636f6f6b69653c66
- 6f726d20616374696f6e3d222f7d626f64797b6d617267696e3a303b456e6379
- 636c6f7065646961206f6676657273696f6e206f6620746865202e6372656174
- 65456c656d656e74286e616d652220636f6e74656e743d223c2f6469763e0a3c
- 2f6469763e0a0a61646d696e697374726174697665203c2f626f64793e0a3c2f
- 68746d6c3e686973746f7279206f662074686520223e3c696e70757420747970
- 653d22706f7274696f6e206f66207468652061732070617274206f6620746865
- 20266e6273703b3c6120687265663d226f7468657220636f756e747269657322
- 3e0a3c64697620636c6173733d223c2f7370616e3e3c2f7370616e3e3c496e20
- 6f7468657220776f7264732c646973706c61793a20626c6f636b3b636f6e7472
- 6f6c206f662074686520696e74726f64756374696f6e206f662f3e0a3c6d6574
- 61206e616d653d2261732077656c6c2061732074686520696e20726563656e74
- 2079656172730d0a093c64697620636c6173733d223c2f6469763e0a093c2f64
- 69763e0a696e7370697265642062792074686574686520656e64206f66207468
- 6520636f6d70617469626c652077697468626563616d65206b6e6f776e206173
- 207374796c653d226d617267696e3a2e6a73223e3c2f7363726970743e3c2049
- 6e7465726e6174696f6e616c2074686572652068617665206265656e4765726d
- 616e206c616e6775616765207374796c653d22636f6c6f723a23436f6d6d756e
- 697374205061727479636f6e73697374656e742077697468626f726465723d22
- 30222063656c6c206d617267696e6865696768743d22746865206d616a6f7269
- 7479206f662220616c69676e3d2263656e74657272656c6174656420746f2074
- 6865206d616e7920646966666572656e74204f7274686f646f78204368757263
- 6873696d696c617220746f20746865202f3e0a3c6c696e6b2072656c3d227377
- 6173206f6e65206f662074686520756e74696c206869732064656174687d2928
- 293b0a3c2f7363726970743e6f74686572206c616e677561676573636f6d7061
- 72656420746f20746865706f7274696f6e73206f6620746865746865204e6574
- 6865726c616e6473746865206d6f737420636f6d6d6f6e6261636b67726f756e
- 643a75726c286172677565642074686174207468657363726f6c6c696e673d22
- 6e6f2220696e636c7564656420696e207468654e6f72746820416d6572696361
- 6e20746865206e616d65206f6620746865696e746572707265746174696f6e73
- 74686520747261646974696f6e616c646576656c6f706d656e74206f66206672
- 657175656e746c7920757365646120636f6c6c656374696f6e206f6676657279
- 2073696d696c617220746f737572726f756e64696e67207468656578616d706c
- 65206f662074686973616c69676e3d2263656e746572223e776f756c64206861
- 7665206265656e696d6167655f63617074696f6e203d61747461636865642074
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 107]
-
-Internet-Draft Brotli May 2016
-
-
- 6f2074686573756767657374696e672074686174696e2074686520666f726d20
- 6f6620696e766f6c76656420696e20746865697320646572697665642066726f
- 6d6e616d656420616674657220746865496e74726f64756374696f6e20746f72
- 65737472696374696f6e73206f6e207374796c653d2277696474683a2063616e
- 206265207573656420746f20746865206372656174696f6e206f666d6f737420
- 696d706f7274616e7420696e666f726d6174696f6e20616e64726573756c7465
- 6420696e20746865636f6c6c61707365206f662074686554686973206d65616e
- 732074686174656c656d656e7473206f6620746865776173207265706c616365
- 64206279616e616c79736973206f6620746865696e737069726174696f6e2066
- 6f727265676172646564206173207468656d6f7374207375636365737366756c
- 6b6e6f776e206173202671756f743b6120636f6d70726568656e736976654869
- 73746f7279206f6620746865207765726520636f6e7369646572656472657475
- 726e656420746f2074686561726520726566657272656420746f556e736f7572
- 63656420696d6167653e0a093c64697620636c6173733d22636f6e7369737473
- 206f662074686573746f7050726f7061676174696f6e696e7465726573742069
- 6e20746865617661696c6162696c697479206f666170706561727320746f2068
- 617665656c656374726f6d61676e65746963656e61626c655365727669636573
- 2866756e6374696f6e206f6620746865497420697320696d706f7274616e743c
- 2f7363726970743e3c2f6469763e66756e6374696f6e28297b7661722072656c
- 617469766520746f207468656173206120726573756c74206f66207468652070
- 6f736974696f6e206f66466f72206578616d706c652c20696e206d6574686f64
- 3d22706f7374222077617320666f6c6c6f77656420627926616d703b6d646173
- 683b20746865746865206170706c69636174696f6e6a73223e3c2f7363726970
- 743e0d0a756c3e3c2f6469763e3c2f6469763e61667465722074686520646561
- 746877697468207265737065637420746f7374796c653d2270616464696e673a
- 697320706172746963756c61726c79646973706c61793a696e6c696e653b2074
- 7970653d227375626d697422206973206469766964656420696e746fe4b8ade6
- 96872028e7ae80e4bd9329726573706f6e736162696c6964616461646d696e69
- 737472616369c3b36e696e7465726e6163696f6e616c6573636f72726573706f
- 6e6469656e7465e0a489e0a4aae0a4afe0a58be0a497e0a4aae0a582e0a4b0e0
- a58de0a4b5e0a4b9e0a4aee0a4bee0a4b0e0a587e0a4b2e0a58be0a497e0a58b
- e0a482e0a49ae0a581e0a4a8e0a4bee0a4b5e0a4b2e0a587e0a495e0a4bfe0a4
- a8e0a4b8e0a4b0e0a495e0a4bee0a4b0e0a4aae0a581e0a4b2e0a4bfe0a4b8e0
- a496e0a58be0a49ce0a587e0a482e0a49ae0a4bee0a4b9e0a4bfe0a48fe0a4ad
- e0a587e0a49ce0a587e0a482e0a4b6e0a4bee0a4aee0a4bfe0a4b2e0a4b9e0a4
- aee0a4bee0a4b0e0a580e0a49ce0a4bee0a497e0a4b0e0a4a3e0a4ace0a4a8e0
- a4bee0a4a8e0a587e0a495e0a581e0a4aee0a4bee0a4b0e0a4ace0a58de0a4b2
- e0a589e0a497e0a4aee0a4bee0a4b2e0a4bfe0a495e0a4aee0a4b9e0a4bfe0a4
- b2e0a4bee0a4aae0a583e0a4b7e0a58de0a4a0e0a4ace0a4a2e0a4bce0a4a4e0
- a587e0a4ade0a4bee0a49ce0a4aae0a4bee0a495e0a58de0a4b2e0a4bfe0a495
- e0a49fe0a58de0a4b0e0a587e0a4a8e0a496e0a4bfe0a4b2e0a4bee0a4abe0a4
- a6e0a58ce0a4b0e0a4bee0a4a8e0a4aee0a4bee0a4aee0a4b2e0a587e0a4aee0
- a4a4e0a4a6e0a4bee0a4a8e0a4ace0a4bee0a49ce0a4bee0a4b0e0a4b5e0a4bf
- e0a495e0a4bee0a4b8e0a495e0a58de0a4afe0a58be0a482e0a49ae0a4bee0a4
- b9e0a4a4e0a587e0a4aae0a4b9e0a581e0a481e0a49ae0a4ace0a4a4e0a4bee0
- a4afe0a4bee0a4b8e0a482e0a4b5e0a4bee0a4a6e0a4a6e0a587e0a496e0a4a8
- e0a587e0a4aae0a4bfe0a49be0a4b2e0a587e0a4b5e0a4bfe0a4b6e0a587e0a4
- b7e0a4b0e0a4bee0a49ce0a58de0a4afe0a489e0a4a4e0a58de0a4a4e0a4b0e0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 108]
-
-Internet-Draft Brotli May 2016
-
-
- a4aee0a581e0a482e0a4ace0a488e0a4a6e0a58be0a4a8e0a58be0a482e0a489
- e0a4aae0a495e0a4b0e0a4a3e0a4aae0a4a2e0a4bce0a587e0a482e0a4b8e0a5
- 8de0a4a5e0a4bfe0a4a4e0a4abe0a4bfe0a4b2e0a58de0a4aee0a4aee0a581e0
- a496e0a58de0a4afe0a485e0a49ae0a58de0a49be0a4bee0a49be0a582e0a49f
- e0a4a4e0a580e0a4b8e0a482e0a497e0a580e0a4a4e0a49ce0a4bee0a48fe0a4
- 97e0a4bee0a4b5e0a4bfe0a4ade0a4bee0a497e0a498e0a4a3e0a58de0a49fe0
- a587e0a4a6e0a582e0a4b8e0a4b0e0a587e0a4a6e0a4bfe0a4a8e0a58be0a482
- e0a4b9e0a4a4e0a58de0a4afe0a4bee0a4b8e0a587e0a495e0a58de0a4b8e0a4
- 97e0a4bee0a482e0a4a7e0a580e0a4b5e0a4bfe0a4b6e0a58de0a4b5e0a4b0e0
- a4bee0a4a4e0a587e0a482e0a4a6e0a588e0a49fe0a58de0a4b8e0a4a8e0a495
- e0a58de0a4b6e0a4bee0a4b8e0a4bee0a4aee0a4a8e0a587e0a485e0a4a6e0a4
- bee0a4b2e0a4a4e0a4ace0a4bfe0a49ce0a4b2e0a580e0a4aae0a581e0a4b0e0
- a582e0a4b7e0a4b9e0a4bfe0a482e0a4a6e0a580e0a4aee0a4bfe0a4a4e0a58d
- e0a4b0e0a495e0a4b5e0a4bfe0a4a4e0a4bee0a4b0e0a581e0a4aae0a4afe0a5
- 87e0a4b8e0a58de0a4a5e0a4bee0a4a8e0a495e0a4b0e0a58be0a4a1e0a4bce0
- a4aee0a581e0a495e0a58de0a4a4e0a4afe0a58be0a49ce0a4a8e0a4bee0a495
- e0a583e0a4aae0a4afe0a4bee0a4aae0a58be0a4b8e0a58de0a49fe0a498e0a4
- b0e0a587e0a4b2e0a582e0a495e0a4bee0a4b0e0a58de0a4afe0a4b5e0a4bfe0
- a49ae0a4bee0a4b0e0a4b8e0a582e0a49ae0a4a8e0a4bee0a4aee0a582e0a4b2
- e0a58de0a4afe0a4a6e0a587e0a496e0a587e0a482e0a4b9e0a4aee0a587e0a4
- b6e0a4bee0a4b8e0a58de0a495e0a582e0a4b2e0a4aee0a588e0a482e0a4a8e0
- a587e0a4a4e0a588e0a4afe0a4bee0a4b0e0a49ce0a4bfe0a4b8e0a495e0a587
- 7273732b786d6c22207469746c653d222d747970652220636f6e74656e743d22
- 7469746c652220636f6e74656e743d226174207468652073616d652074696d65
- 2e6a73223e3c2f7363726970743e0a3c22206d6574686f643d22706f73742220
- 3c2f7370616e3e3c2f613e3c2f6c693e766572746963616c2d616c69676e3a74
- 2f6a71756572792e6d696e2e6a73223e2e636c69636b2866756e6374696f6e28
- 207374796c653d2270616464696e672d7d2928293b0a3c2f7363726970743e0a
- 3c2f7370616e3e3c6120687265663d223c6120687265663d22687474703a2f2f
- 293b2072657475726e2066616c73653b746578742d6465636f726174696f6e3a
- 207363726f6c6c696e673d226e6f2220626f726465722d636f6c6c617073653a
- 6173736f63696174656420776974682042616861736120496e646f6e65736961
- 456e676c697368206c616e67756167653c7465787420786d6c3a73706163653d
- 2e6769662220626f726465723d2230223c2f626f64793e0a3c2f68746d6c3e0a
- 6f766572666c6f773a68696464656e3b696d67207372633d22687474703a2f2f
- 6164644576656e744c697374656e6572726573706f6e7369626c6520666f7220
- 732e6a73223e3c2f7363726970743e0a2f66617669636f6e2e69636f22202f3e
- 6f7065726174696e672073797374656d22207374796c653d2277696474683a31
- 7461726765743d225f626c616e6b223e537461746520556e6976657273697479
- 746578742d616c69676e3a6c6566743b0a646f63756d656e742e777269746528
- 2c20696e636c7564696e67207468652061726f756e642074686520776f726c64
- 293b0d0a3c2f7363726970743e0d0a3c22207374796c653d226865696768743a
- 3b6f766572666c6f773a68696464656e6d6f726520696e666f726d6174696f6e
- 616e20696e7465726e6174696f6e616c61206d656d626572206f662074686520
- 6f6e65206f662074686520666972737463616e20626520666f756e6420696e20
- 3c2f6469763e0a09093c2f6469763e0a646973706c61793a206e6f6e653b223e
- 22202f3e0a3c6c696e6b2072656c3d220a20202866756e6374696f6e2829207b
- 74686520313574682063656e747572792e70726576656e7444656661756c7428
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 109]
-
-Internet-Draft Brotli May 2016
-
-
- 6c61726765206e756d626572206f662042797a616e74696e6520456d70697265
- 2e6a70677c7468756d627c6c6566747c76617374206d616a6f72697479206f66
- 6d616a6f72697479206f66207468652020616c69676e3d2263656e746572223e
- 556e6976657273697479205072657373646f6d696e6174656420627920746865
- 5365636f6e6420576f726c6420576172646973747269627574696f6e206f6620
- 7374796c653d22706f736974696f6e3a7468652072657374206f662074686520
- 636861726163746572697a65642062792072656c3d226e6f666f6c6c6f77223e
- 646572697665732066726f6d20746865726174686572207468616e2074686520
- 6120636f6d62696e6174696f6e206f667374796c653d2277696474683a313030
- 456e676c6973682d737065616b696e67636f6d707574657220736369656e6365
- 626f726465723d22302220616c743d22746865206578697374656e6365206f66
- 44656d6f63726174696320506172747922207374796c653d226d617267696e2d
- 466f72207468697320726561736f6e2c2e6a73223e3c2f7363726970743e0a09
- 7342795461674e616d652873295b305d6a73223e3c2f7363726970743e0d0a3c
- 2e6a73223e3c2f7363726970743e0d0a6c696e6b2072656c3d2269636f6e2220
- 2720616c743d272720636c6173733d27666f726d6174696f6e206f6620746865
- 76657273696f6e73206f6620746865203c2f613e3c2f6469763e3c2f6469763e
- 2f706167653e0a20203c706167653e0a3c64697620636c6173733d22636f6e74
- 626563616d652074686520666972737462616861736120496e646f6e65736961
- 656e676c697368202873696d706c6529ce95cebbcebbceb7cebdceb9cebaceac
- d185d180d0b2d0b0d182d181d0bad0b8d0bad0bed0bcd0bfd0b0d0bdd0b8d0b8
- d18fd0b2d0bbd18fd0b5d182d181d18fd094d0bed0b1d0b0d0b2d0b8d182d18c
- d187d0b5d0bbd0bed0b2d0b5d0bad0b0d180d0b0d0b7d0b2d0b8d182d0b8d18f
- d098d0bdd182d0b5d180d0bdd0b5d182d09ed182d0b2d0b5d182d0b8d182d18c
- d0bdd0b0d0bfd180d0b8d0bcd0b5d180d0b8d0bdd182d0b5d180d0bdd0b5d182
- d0bad0bed182d0bed180d0bed0b3d0bed181d182d180d0b0d0bdd0b8d186d18b
- d0bad0b0d187d0b5d181d182d0b2d0b5d183d181d0bbd0bed0b2d0b8d18fd185
- d0bfd180d0bed0b1d0bbd0b5d0bcd18bd0bfd0bed0bbd183d187d0b8d182d18c
- d18fd0b2d0bbd18fd18ed182d181d18fd0bdd0b0d0b8d0b1d0bed0bbd0b5d0b5
- d0bad0bed0bcd0bfd0b0d0bdd0b8d18fd0b2d0bdd0b8d0bcd0b0d0bdd0b8d0b5
- d181d180d0b5d0b4d181d182d0b2d0b0d8a7d984d985d988d8a7d8b6d98ad8b9
- d8a7d984d8b1d8a6d98ad8b3d98ad8a9d8a7d984d8a7d986d8aad982d8a7d984
- d985d8b4d8a7d8b1d983d8a7d8aad983d8a7d984d8b3d98ad8a7d8b1d8a7d8aa
- d8a7d984d985d983d8aad988d8a8d8a9d8a7d984d8b3d8b9d988d8afd98ad8a9
- d8a7d8add8b5d8a7d8a6d98ad8a7d8aad8a7d984d8b9d8a7d984d985d98ad8a9
- d8a7d984d8b5d988d8aad98ad8a7d8aad8a7d984d8a7d986d8aad8b1d986d8aa
- d8a7d984d8aad8b5d8a7d985d98ad985d8a7d984d8a5d8b3d984d8a7d985d98a
- d8a7d984d985d8b4d8a7d8b1d983d8a9d8a7d984d985d8b1d8a6d98ad8a7d8aa
- 726f626f74732220636f6e74656e743d223c6469762069643d22666f6f746572
- 223e74686520556e69746564205374617465733c696d67207372633d22687474
- 703a2f2f2e6a70677c72696768747c7468756d627c2e6a73223e3c2f73637269
- 70743e0d0a3c6c6f636174696f6e2e70726f746f636f6c6672616d65626f7264
- 65723d223022207322202f3e0a3c6d657461206e616d653d223c2f613e3c2f64
- 69763e3c2f6469763e3c666f6e742d7765696768743a626f6c643b2671756f74
- 3b20616e64202671756f743b646570656e64696e67206f6e20746865206d6172
- 67696e3a303b70616464696e673a222072656c3d226e6f666f6c6c6f77222050
- 7265736964656e74206f6620746865207477656e74696574682063656e747572
- 7965766973696f6e3e0a20203c2f70616765496e7465726e6574204578706c6f
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 110]
-
-Internet-Draft Brotli May 2016
-
-
- 726572612e6173796e63203d20747275653b0d0a696e666f726d6174696f6e20
- 61626f75743c6469762069643d22686561646572223e2220616374696f6e3d22
- 687474703a2f2f3c6120687265663d2268747470733a2f2f3c6469762069643d
- 22636f6e74656e74223c2f6469763e0d0a3c2f6469763e0d0a3c646572697665
- 642066726f6d20746865203c696d67207372633d27687474703a2f2f6163636f
- 7264696e6720746f20746865200a3c2f626f64793e0a3c2f68746d6c3e0a7374
- 796c653d22666f6e742d73697a653a736372697074206c616e67756167653d22
- 417269616c2c2048656c7665746963612c3c2f613e3c7370616e20636c617373
- 3d223c2f7363726970743e3c73637269707420706f6c69746963616c20706172
- 7469657374643e3c2f74723e3c2f7461626c653e3c687265663d22687474703a
- 2f2f7777772e696e746572707265746174696f6e206f6672656c3d227374796c
- 6573686565742220646f63756d656e742e777269746528273c63686172736574
- 3d227574662d38223e0a626567696e6e696e67206f6620746865207265766561
- 6c656420746861742074686574656c65766973696f6e20736572696573222072
- 656c3d226e6f666f6c6c6f77223e207461726765743d225f626c616e6b223e63
- 6c61696d696e6720746861742074686568747470253341253246253246777777
- 2e6d616e69666573746174696f6e73206f665072696d65204d696e6973746572
- 206f66696e666c75656e63656420627920746865636c6173733d22636c656172
- 666978223e2f6469763e0d0a3c2f6469763e0d0a0d0a74687265652d64696d65
- 6e73696f6e616c436875726368206f6620456e676c616e646f66204e6f727468
- 204361726f6c696e61737175617265206b696c6f6d65747265732e6164644576
- 656e744c697374656e657264697374696e63742066726f6d20746865636f6d6d
- 6f6e6c79206b6e6f776e20617350686f6e6574696320416c7068616265746465
- 636c61726564207468617420746865636f6e74726f6c6c656420627920746865
- 42656e6a616d696e204672616e6b6c696e726f6c652d706c6179696e67206761
- 6d6574686520556e6976657273697479206f66696e205765737465726e204575
- 726f7065706572736f6e616c20636f6d707574657250726f6a65637420477574
- 656e626572677265676172646c657373206f6620746865686173206265656e20
- 70726f706f736564746f6765746865722077697468207468653e3c2f6c693e3c
- 6c6920636c6173733d22696e20736f6d6520636f756e74726965736d696e2e6a
- 73223e3c2f7363726970743e6f662074686520706f70756c6174696f6e6f6666
- 696369616c206c616e67756167653c696d67207372633d22696d616765732f69
- 64656e746966696564206279207468656e61747572616c207265736f75726365
- 73636c617373696669636174696f6e206f6663616e20626520636f6e73696465
- 7265647175616e74756d206d656368616e6963734e657665727468656c657373
- 2c207468656d696c6c696f6e2079656172732061676f3c2f626f64793e0d0a3c
- 2f68746d6c3e0dce95cebbcebbceb7cebdceb9cebaceac0a74616b6520616476
- 616e74616765206f66616e642c206163636f7264696e6720746f617474726962
- 7574656420746f207468654d6963726f736f66742057696e646f777374686520
- 66697273742063656e74757279756e6465722074686520636f6e74726f6c6469
- 7620636c6173733d2268656164657273686f72746c7920616674657220746865
- 6e6f7461626c6520657863657074696f6e74656e73206f662074686f7573616e
- 64737365766572616c20646966666572656e7461726f756e642074686520776f
- 726c642e7265616368696e67206d696c697461727969736f6c61746564206672
- 6f6d207468656f70706f736974696f6e20746f20746865746865204f6c642054
- 657374616d656e744166726963616e20416d65726963616e73696e7365727465
- 6420696e746f2074686573657061726174652066726f6d207468656d6574726f
- 706f6c6974616e20617265616d616b657320697420706f737369626c6561636b
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 111]
-
-Internet-Draft Brotli May 2016
-
-
- 6e6f776c656467656420746861746172677561626c7920746865206d6f737474
- 7970653d22746578742f637373223e0a74686520496e7465726e6174696f6e61
- 6c4163636f7264696e6720746f207468652070653d22746578742f6373732220
- 2f3e0a636f696e6369646520776974682074686574776f2d746869726473206f
- 6620746865447572696e6720746869732074696d652c647572696e6720746865
- 20706572696f64616e6e6f756e636564207468617420686574686520696e7465
- 726e6174696f6e616c616e64206d6f726520726563656e746c7962656c696576
- 6564207468617420746865636f6e7363696f75736e65737320616e64666f726d
- 65726c79206b6e6f776e206173737572726f756e646564206279207468656669
- 72737420617070656172656420696e6f63636173696f6e616c6c792075736564
- 706f736974696f6e3a6162736f6c7574653b22207461726765743d225f626c61
- 6e6b2220706f736974696f6e3a72656c61746976653b746578742d616c69676e
- 3a63656e7465723b6a61782f6c6962732f6a71756572792f312e6261636b6772
- 6f756e642d636f6c6f723a23747970653d226170706c69636174696f6e2f616e
- 67756167652220636f6e74656e743d223c6d65746120687474702d6571756976
- 3d225072697661637920506f6c6963793c2f613e652822253343736372697074
- 207372633d2722207461726765743d225f626c616e6b223e4f6e20746865206f
- 746865722068616e642c2e6a70677c7468756d627c72696768747c323c2f6469
- 763e3c64697620636c6173733d223c646976207374796c653d22666c6f61743a
- 6e696e657465656e74682063656e747572793c2f626f64793e0d0a3c2f68746d
- 6c3e0d0a3c696d67207372633d22687474703a2f2f733b746578742d616c6967
- 6e3a63656e746572666f6e742d7765696768743a20626f6c643b204163636f72
- 64696e6720746f2074686520646966666572656e6365206265747765656e2220
- 6672616d65626f726465723d2230222022207374796c653d22706f736974696f
- 6e3a6c696e6b20687265663d22687474703a2f2f68746d6c342f6c6f6f73652e
- 647464223e0a647572696e67207468697320706572696f643c2f74643e3c2f74
- 723e3c2f7461626c653e636c6f73656c792072656c6174656420746f666f7220
- 7468652066697273742074696d653b666f6e742d7765696768743a626f6c643b
- 696e70757420747970653d227465787422203c7370616e207374796c653d2266
- 6f6e742d6f6e726561647973746174656368616e6765093c64697620636c6173
- 733d22636c656172646f63756d656e742e6c6f636174696f6e2e20466f722065
- 78616d706c652c20746865206120776964652076617269657479206f66203c21
- 444f43545950452068746d6c3e0d0a3c266e6273703b266e6273703b266e6273
- 703b223e3c6120687265663d22687474703a2f2f7374796c653d22666c6f6174
- 3a6c6566743b636f6e6365726e65642077697468207468653d68747470253341
- 2532462532467777772e696e20706f70756c61722063756c7475726574797065
- 3d22746578742f63737322202f3e697420697320706f737369626c6520746f20
- 4861727661726420556e697665727369747974796c6573686565742220687265
- 663d222f746865206d61696e206368617261637465724f78666f726420556e69
- 7665727369747920206e616d653d226b6579776f7264732220637374796c653d
- 22746578742d616c69676e3a74686520556e69746564204b696e67646f6d6665
- 646572616c20676f7665726e6d656e743c646976207374796c653d226d617267
- 696e20646570656e64696e67206f6e20746865206465736372697074696f6e20
- 6f66207468653c64697620636c6173733d226865616465722e6d696e2e6a7322
- 3e3c2f7363726970743e6465737472756374696f6e206f6620746865736c6967
- 68746c7920646966666572656e74696e206163636f7264616e63652077697468
- 74656c65636f6d6d756e69636174696f6e73696e646963617465732074686174
- 2074686573686f72746c792074686572656166746572657370656369616c6c79
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 112]
-
-Internet-Draft Brotli May 2016
-
-
- 20696e20746865204575726f7065616e20636f756e7472696573486f77657665
- 722c207468657265206172657372633d22687474703a2f2f7374617469637375
- 6767657374656420746861742074686522207372633d22687474703a2f2f7777
- 772e61206c61726765206e756d626572206f662054656c65636f6d6d756e6963
- 6174696f6e73222072656c3d226e6f666f6c6c6f77222074486f6c7920526f6d
- 616e20456d7065726f72616c6d6f7374206578636c75736976656c792220626f
- 726465723d22302220616c743d22536563726574617279206f66205374617465
- 63756c6d696e6174696e6720696e2074686543494120576f726c642046616374
- 626f6f6b746865206d6f737420696d706f7274616e74616e6e69766572736172
- 79206f66207468657374796c653d226261636b67726f756e642d3c6c693e3c65
- 6d3e3c6120687265663d222f7468652041746c616e746963204f6365616e7374
- 726963746c7920737065616b696e672c73686f72746c79206265666f72652074
- 6865646966666572656e74207479706573206f66746865204f74746f6d616e20
- 456d706972653e3c696d67207372633d22687474703a2f2f416e20496e74726f
- 64756374696f6e20746f636f6e73657175656e6365206f662074686564657061
- 72747572652066726f6d20746865436f6e666564657261746520537461746573
- 696e646967656e6f75732070656f706c657350726f63656564696e6773206f66
- 20746865696e666f726d6174696f6e206f6e207468657468656f726965732068
- 617665206265656e696e766f6c76656d656e7420696e20746865646976696465
- 6420696e746f20746872656561646a6163656e7420636f756e74726965736973
- 20726573706f6e7369626c6520666f72646973736f6c7574696f6e206f662074
- 6865636f6c6c61626f726174696f6e2077697468776964656c79207265676172
- 64656420617368697320636f6e74656d706f726172696573666f756e64696e67
- 206d656d626572206f66446f6d696e6963616e2052657075626c696367656e65
- 72616c6c7920616363657074656474686520706f73736962696c697479206f66
- 61726520616c736f20617661696c61626c65756e64657220636f6e7374727563
- 74696f6e726573746f726174696f6e206f66207468657468652067656e657261
- 6c207075626c6963697320616c6d6f737420656e746972656c79706173736573
- 207468726f75676820746865686173206265656e20737567676573746564636f
- 6d707574657220616e6420766964656f4765726d616e6963206c616e67756167
- 6573206163636f7264696e6720746f2074686520646966666572656e74206672
- 6f6d2074686573686f72746c792061667465727761726473687265663d226874
- 7470733a2f2f7777772e726563656e7420646576656c6f706d656e74426f6172
- 64206f66204469726563746f72733c64697620636c6173733d22736561726368
- 7c203c6120687265663d22687474703a2f2f496e20706172746963756c61722c
- 207468654d756c7469706c6520666f6f746e6f7465736f72206f746865722073
- 75627374616e636574686f7573616e6473206f662079656172737472616e736c
- 6174696f6e206f66207468653c2f6469763e0d0a3c2f6469763e0d0a0d0a3c61
- 20687265663d22696e6465782e7068707761732065737461626c697368656420
- 696e6d696e2e6a73223e3c2f7363726970743e0a706172746963697061746520
- 696e2074686561207374726f6e6720696e666c75656e63657374796c653d226d
- 617267696e2d746f703a726570726573656e7465642062792074686567726164
- 75617465642066726f6d20746865547261646974696f6e616c6c792c20746865
- 456c656d656e74282273637269707422293b486f77657665722c2073696e6365
- 207468652f6469763e0a3c2f6469763e0a3c646976206c6566743b206d617267
- 696e2d6c6566743a70726f74656374696f6e20616761696e7374303b20766572
- 746963616c2d616c69676e3a556e666f7274756e6174656c792c207468657479
- 70653d22696d6167652f782d69636f6e2f6469763e0a3c64697620636c617373
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 113]
-
-Internet-Draft Brotli May 2016
-
-
- 3d2220636c6173733d22636c656172666978223e3c64697620636c6173733d22
- 666f6f74657209093c2f6469763e0a09093c2f6469763e0a746865206d6f7469
- 6f6e2070696374757265d091d18ad0bbd0b3d0b0d180d181d0bad0b8d0b1d18a
- d0bbd0b3d0b0d180d181d0bad0b8d0a4d0b5d0b4d0b5d180d0b0d186d0b8d0b8
- d0bdd0b5d181d0bad0bed0bbd18cd0bad0bed181d0bed0bed0b1d189d0b5d0bd
- d0b8d0b5d181d0bed0bed0b1d189d0b5d0bdd0b8d18fd0bfd180d0bed0b3d180
- d0b0d0bcd0bcd18bd09ed182d0bfd180d0b0d0b2d0b8d182d18cd0b1d0b5d181
- d0bfd0bbd0b0d182d0bdd0bed0bcd0b0d182d0b5d180d0b8d0b0d0bbd18bd0bf
- d0bed0b7d0b2d0bed0bbd18fd0b5d182d0bfd0bed181d0bbd0b5d0b4d0bdd0b8
- d0b5d180d0b0d0b7d0bbd0b8d187d0bdd18bd185d0bfd180d0bed0b4d183d0ba
- d186d0b8d0b8d0bfd180d0bed0b3d180d0b0d0bcd0bcd0b0d0bfd0bed0bbd0bd
- d0bed181d182d18cd18ed0bdd0b0d185d0bed0b4d0b8d182d181d18fd0b8d0b7
- d0b1d180d0b0d0bdd0bdd0bed0b5d0bdd0b0d181d0b5d0bbd0b5d0bdd0b8d18f
- d0b8d0b7d0bcd0b5d0bdd0b5d0bdd0b8d18fd0bad0b0d182d0b5d0b3d0bed180
- d0b8d0b8d090d0bbd0b5d0bad181d0b0d0bdd0b4d180e0a4a6e0a58de0a4b5e0
- a4bee0a4b0e0a4bee0a4aee0a588e0a4a8e0a581e0a485e0a4b2e0a4aae0a58d
- e0a4b0e0a4a6e0a4bee0a4a8e0a4ade0a4bee0a4b0e0a4a4e0a580e0a4afe0a4
- 85e0a4a8e0a581e0a4a6e0a587e0a4b6e0a4b9e0a4bfe0a4a8e0a58de0a4a6e0
- a580e0a487e0a482e0a4a1e0a4bfe0a4afe0a4bee0a4a6e0a4bfe0a4b2e0a58d
- e0a4b2e0a580e0a485e0a4a7e0a4bfe0a495e0a4bee0a4b0e0a4b5e0a580e0a4
- a1e0a4bfe0a4afe0a58be0a49ae0a4bfe0a49fe0a58de0a4a0e0a587e0a4b8e0
- a4aee0a4bee0a49ae0a4bee0a4b0e0a49ce0a482e0a495e0a58de0a4b6e0a4a8
- e0a4a6e0a581e0a4a8e0a4bfe0a4afe0a4bee0a4aae0a58de0a4b0e0a4afe0a5
- 8be0a497e0a485e0a4a8e0a581e0a4b8e0a4bee0a4b0e0a491e0a4a8e0a4b2e0
- a4bee0a487e0a4a8e0a4aae0a4bee0a4b0e0a58de0a49fe0a580e0a4b6e0a4b0
- e0a58de0a4a4e0a58be0a482e0a4b2e0a58be0a495e0a4b8e0a4ade0a4bee0a4
- abe0a4bce0a58de0a4b2e0a588e0a4b6e0a4b6e0a4b0e0a58de0a4a4e0a587e0
- a482e0a4aae0a58de0a4b0e0a4a6e0a587e0a4b6e0a4aae0a58de0a4b2e0a587
- e0a4afe0a4b0e0a495e0a587e0a482e0a4a6e0a58de0a4b0e0a4b8e0a58de0a4
- a5e0a4bfe0a4a4e0a4bfe0a489e0a4a4e0a58de0a4aae0a4bee0a4a6e0a489e0
- a4a8e0a58de0a4b9e0a587e0a482e0a49ae0a4bfe0a49fe0a58de0a4a0e0a4be
- e0a4afe0a4bee0a4a4e0a58de0a4b0e0a4bee0a49ce0a58de0a4afe0a4bee0a4
- a6e0a4bee0a4aae0a581e0a4b0e0a4bee0a4a8e0a587e0a49ce0a58be0a4a1e0
- a4bce0a587e0a482e0a485e0a4a8e0a581e0a4b5e0a4bee0a4a6e0a4b6e0a58d
- e0a4b0e0a587e0a4a3e0a580e0a4b6e0a4bfe0a495e0a58de0a4b7e0a4bee0a4
- b8e0a4b0e0a495e0a4bee0a4b0e0a580e0a4b8e0a482e0a497e0a58de0a4b0e0
- a4b9e0a4aae0a4b0e0a4bfe0a4a3e0a4bee0a4aee0a4ace0a58de0a4b0e0a4be
- e0a482e0a4a1e0a4ace0a49ae0a58de0a49ae0a58be0a482e0a489e0a4aae0a4
- b2e0a4ace0a58de0a4a7e0a4aee0a482e0a4a4e0a58de0a4b0e0a580e0a4b8e0
- a482e0a4aae0a4b0e0a58de0a495e0a489e0a4aee0a58de0a4aee0a580e0a4a6
- e0a4aee0a4bee0a4a7e0a58de0a4afe0a4aee0a4b8e0a4b9e0a4bee0a4afe0a4
- a4e0a4bee0a4b6e0a4ace0a58de0a4a6e0a58be0a482e0a4aee0a580e0a4a1e0
- a4bfe0a4afe0a4bee0a486e0a488e0a4aae0a580e0a48fe0a4b2e0a4aee0a58b
- e0a4ace0a4bee0a487e0a4b2e0a4b8e0a482e0a496e0a58de0a4afe0a4bee0a4
- 86e0a4aae0a4b0e0a587e0a4b6e0a4a8e0a485e0a4a8e0a581e0a4ace0a482e0
- a4a7e0a4ace0a4bee0a49ce0a4bce0a4bee0a4b0e0a4a8e0a4b5e0a580e0a4a8
- e0a4a4e0a4aee0a4aae0a58de0a4b0e0a4aee0a581e0a496e0a4aae0a58de0a4
- b0e0a4b6e0a58de0a4a8e0a4aae0a4b0e0a4bfe0a4b5e0a4bee0a4b0e0a4a8e0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 114]
-
-Internet-Draft Brotli May 2016
-
-
- a581e0a495e0a4b8e0a4bee0a4a8e0a4b8e0a4aee0a4b0e0a58de0a4a5e0a4a8
- e0a486e0a4afe0a58be0a49ce0a4bfe0a4a4e0a4b8e0a58be0a4aee0a4b5e0a4
- bee0a4b0d8a7d984d985d8b4d8a7d8b1d983d8a7d8aad8a7d984d985d986d8aa
- d8afd98ad8a7d8aad8a7d984d983d985d8a8d98ad988d8aad8b1d8a7d984d985
- d8b4d8a7d987d8afd8a7d8aad8b9d8afd8afd8a7d984d8b2d988d8a7d8b1d8b9
- d8afd8afd8a7d984d8b1d8afd988d8afd8a7d984d8a5d8b3d984d8a7d985d98a
- d8a9d8a7d984d981d988d8aad988d8b4d988d8a8d8a7d984d985d8b3d8a7d8a8
- d982d8a7d8aad8a7d984d985d8b9d984d988d985d8a7d8aad8a7d984d985d8b3
- d984d8b3d984d8a7d8aad8a7d984d8acd8b1d8a7d981d98ad983d8b3d8a7d984
- d8a7d8b3d984d8a7d985d98ad8a9d8a7d984d8a7d8aad8b5d8a7d984d8a7d8aa
- 6b6579776f7264732220636f6e74656e743d2277332e6f72672f313939392f78
- 68746d6c223e3c61207461726765743d225f626c616e6b2220746578742f6874
- 6d6c3b20636861727365743d22207461726765743d225f626c616e6b223e3c74
- 61626c652063656c6c70616464696e673d226175746f636f6d706c6574653d22
- 6f66662220746578742d616c69676e3a2063656e7465723b746f206c61737420
- 76657273696f6e206279206261636b67726f756e642d636f6c6f723a20232220
- 687265663d22687474703a2f2f7777772e2f6469763e3c2f6469763e3c646976
- 2069643d3c6120687265663d22232220636c6173733d22223e3c696d67207372
- 633d22687474703a2f2f637269707422207372633d22687474703a2f2f0a3c73
- 6372697074206c616e67756167653d222f2f454e222022687474703a2f2f7777
- 772e77656e636f6465555249436f6d706f6e656e74282220687265663d226a61
- 76617363726970743a3c64697620636c6173733d22636f6e74656e74646f6375
- 6d656e742e777269746528273c7363706f736974696f6e3a206162736f6c7574
- 653b736372697074207372633d22687474703a2f2f207374796c653d226d6172
- 67696e2d746f703a2e6d696e2e6a73223e3c2f7363726970743e0a3c2f646976
- 3e0a3c64697620636c6173733d2277332e6f72672f313939392f7868746d6c22
- 200a0d0a3c2f626f64793e0d0a3c2f68746d6c3e64697374696e6374696f6e20
- 6265747765656e2f22207461726765743d225f626c616e6b223e3c6c696e6b20
- 687265663d22687474703a2f2f656e636f64696e673d227574662d38223f3e0a
- 772e6164644576656e744c697374656e65723f616374696f6e3d22687474703a
- 2f2f7777772e69636f6e2220687265663d22687474703a2f2f207374796c653d
- 226261636b67726f756e643a747970653d22746578742f63737322202f3e0a6d
- 6574612070726f70657274793d226f673a743c696e70757420747970653d2274
- 6578742220207374796c653d22746578742d616c69676e3a7468652064657665
- 6c6f706d656e74206f662074796c6573686565742220747970653d2274656874
- 6d6c3b20636861727365743d7574662d38697320636f6e736964657265642074
- 6f2062657461626c652077696474683d22313030252220496e20616464697469
- 6f6e20746f2074686520636f6e747269627574656420746f2074686520646966
- 666572656e636573206265747765656e646576656c6f706d656e74206f662074
- 686520497420697320696d706f7274616e7420746f203c2f7363726970743e0a
- 0a3c73637269707420207374796c653d22666f6e742d73697a653a313e3c2f73
- 70616e3e3c7370616e2069643d67624c696272617279206f6620436f6e677265
- 73733c696d67207372633d22687474703a2f2f696d456e676c69736820747261
- 6e736c6174696f6e41636164656d79206f6620536369656e6365736469762073
- 74796c653d22646973706c61793a636f6e737472756374696f6e206f66207468
- 652e676574456c656d656e744279496428696429696e20636f6e6a756e637469
- 6f6e2077697468456c656d656e74282773637269707427293b203c6d65746120
- 70726f70657274793d226f673ad091d18ad0bbd0b3d0b0d180d181d0bad0b80a
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 115]
-
-Internet-Draft Brotli May 2016
-
-
- 20747970653d227465787422206e616d653d223e5072697661637920506f6c69
- 63793c2f613e61646d696e6973746572656420627920746865656e61626c6553
- 696e676c65526571756573747374796c653d2671756f743b6d617267696e3a3c
- 2f6469763e3c2f6469763e3c2f6469763e3c3e3c696d67207372633d22687474
- 703a2f2f69207374796c653d2671756f743b666c6f61743a7265666572726564
- 20746f2061732074686520746f74616c20706f70756c6174696f6e206f66696e
- 2057617368696e67746f6e2c20442e432e207374796c653d226261636b67726f
- 756e642d616d6f6e67206f74686572207468696e67732c6f7267616e697a6174
- 696f6e206f662074686570617274696369706174656420696e20746865746865
- 20696e74726f64756374696f6e206f666964656e746966696564207769746820
- 74686566696374696f6e616c20636861726163746572204f78666f726420556e
- 6976657273697479206d6973756e6465727374616e64696e67206f6654686572
- 65206172652c20686f77657665722c7374796c6573686565742220687265663d
- 222f436f6c756d62696120556e6976657273697479657870616e64656420746f
- 20696e636c756465757375616c6c7920726566657272656420746f696e646963
- 6174696e67207468617420746865686176652073756767657374656420746861
- 74616666696c6961746564207769746820746865636f7272656c6174696f6e20
- 6265747765656e6e756d626572206f6620646966666572656e743e3c2f74643e
- 3c2f74723e3c2f7461626c653e52657075626c6963206f66204972656c616e64
- 0a3c2f7363726970743e0a3c73637269707420756e6465722074686520696e66
- 6c75656e6365636f6e747269627574696f6e20746f207468654f666669636961
- 6c2077656273697465206f66686561647175617274657273206f662074686563
- 656e74657265642061726f756e6420746865696d706c69636174696f6e73206f
- 662074686568617665206265656e20646576656c6f7065644665646572616c20
- 52657075626c6963206f66626563616d6520696e6372656173696e676c79636f
- 6e74696e756174696f6e206f66207468654e6f74652c20686f77657665722c20
- 7468617473696d696c617220746f2074686174206f66206361706162696c6974
- 696573206f66207468656163636f7264616e6365207769746820746865706172
- 7469636970616e747320696e207468656675727468657220646576656c6f706d
- 656e74756e6465722074686520646972656374696f6e6973206f6674656e2063
- 6f6e7369646572656468697320796f756e6765722062726f746865723c2f7464
- 3e3c2f74723e3c2f7461626c653e3c6120687474702d65717569763d22582d55
- 412d706879736963616c2070726f706572746965736f66204272697469736820
- 436f6c756d626961686173206265656e20637269746963697a65642877697468
- 2074686520657863657074696f6e7175657374696f6e732061626f7574207468
- 6570617373696e67207468726f7567682074686530222063656c6c7061646469
- 6e673d2230222074686f7573616e6473206f662070656f706c65726564697265
- 63747320686572652e20466f7268617665206368696c6472656e20756e646572
- 2533452533432f7363726970742533452229293b3c6120687265663d22687474
- 703a2f2f7777772e3c6c693e3c6120687265663d22687474703a2f2f73697465
- 5f6e616d652220636f6e74656e743d22746578742d6465636f726174696f6e3a
- 6e6f6e657374796c653d22646973706c61793a206e6f6e653c6d657461206874
- 74702d65717569763d22582d6e6577204461746528292e67657454696d652829
- 20747970653d22696d6167652f782d69636f6e223c2f7370616e3e3c7370616e
- 20636c6173733d226c616e67756167653d226a61766173637269707477696e64
- 6f772e6c6f636174696f6e2e687265663c6120687265663d226a617661736372
- 6970743a2d2d3e0d0a3c73637269707420747970653d22743c6120687265663d
- 27687474703a2f2f7777772e686f72746375742069636f6e2220687265663d22
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 116]
-
-Internet-Draft Brotli May 2016
-
-
- 3c2f6469763e0d0a3c64697620636c6173733d223c736372697074207372633d
- 22687474703a2f2f222072656c3d227374796c6573686565742220743c2f6469
- 763e0a3c73637269707420747970653d2f613e203c6120687265663d22687474
- 703a2f2f20616c6c6f775472616e73706172656e63793d22582d55412d436f6d
- 70617469626c652220636f6e72656c6174696f6e73686970206265747765656e
- 0a3c2f7363726970743e0d0a3c736372697074203c2f613e3c2f6c693e3c2f75
- 6c3e3c2f6469763e6173736f6369617465642077697468207468652070726f67
- 72616d6d696e67206c616e67756167653c2f613e3c6120687265663d22687474
- 703a2f2f3c2f613e3c2f6c693e3c6c6920636c6173733d22666f726d20616374
- 696f6e3d22687474703a2f2f3c646976207374796c653d22646973706c61793a
- 747970653d227465787422206e616d653d2271223c7461626c65207769647468
- 3d223130302522206261636b67726f756e642d706f736974696f6e3a2220626f
- 726465723d2230222077696474683d2272656c3d2273686f7274637574206963
- 6f6e222068363e3c756c3e3c6c693e3c6120687265663d2220203c6d65746120
- 687474702d65717569763d2263737322206d656469613d2273637265656e2220
- 726573706f6e7369626c6520666f7220746865202220747970653d226170706c
- 69636174696f6e2f22207374796c653d226261636b67726f756e642d68746d6c
- 3b20636861727365743d7574662d382220616c6c6f777472616e73706172656e
- 63793d227374796c6573686565742220747970653d2274650d0a3c6d65746120
- 687474702d65717569763d223e3c2f7370616e3e3c7370616e20636c6173733d
- 2230222063656c6c73706163696e673d2230223e3b0a3c2f7363726970743e0a
- 3c73637269707420736f6d6574696d65732063616c6c656420746865646f6573
- 206e6f74206e65636573736172696c79466f72206d6f726520696e666f726d61
- 74696f6e61742074686520626567696e6e696e67206f66203c21444f43545950
- 452068746d6c3e3c68746d6c706172746963756c61726c7920696e2074686520
- 747970653d2268696464656e22206e616d653d226a6176617363726970743a76
- 6f69642830293b226566666563746976656e657373206f662074686520617574
- 6f636f6d706c6574653d226f6666222067656e6572616c6c7920636f6e736964
- 657265643e3c696e70757420747970653d22746578742220223e3c2f73637269
- 70743e0d0a3c7363726970747468726f7567686f75742074686520776f726c64
- 636f6d6d6f6e206d6973636f6e63657074696f6e6173736f63696174696f6e20
- 77697468207468653c2f6469763e0a3c2f6469763e0a3c646976206364757269
- 6e6720686973206c69666574696d652c636f72726573706f6e64696e6720746f
- 20746865747970653d22696d6167652f782d69636f6e2220616e20696e637265
- 6173696e67206e756d6265726469706c6f6d617469632072656c6174696f6e73
- 617265206f6674656e20636f6e736964657265646d6574612063686172736574
- 3d227574662d3822203c696e70757420747970653d227465787422206578616d
- 706c657320696e636c75646520746865223e3c696d67207372633d2268747470
- 3a2f2f6970617274696369706174696f6e20696e207468657468652065737461
- 626c6973686d656e74206f660a3c2f6469763e0a3c64697620636c6173733d22
- 26616d703b6e6273703b26616d703b6e6273703b746f2064657465726d696e65
- 2077686574686572717569746520646966666572656e742066726f6d6d61726b
- 65642074686520626567696e6e696e6764697374616e6365206265747765656e
- 20746865636f6e747269627574696f6e7320746f20746865636f6e666c696374
- 206265747765656e20746865776964656c7920636f6e7369646572656420746f
- 776173206f6e65206f6620746865206669727374776974682076617279696e67
- 2064656772656573686176652073706563756c61746564207468617428646f63
- 756d656e742e676574456c656d656e7470617274696369706174696e6720696e
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 117]
-
-Internet-Draft Brotli May 2016
-
-
- 207468656f726967696e616c6c7920646576656c6f7065646574612063686172
- 7365743d227574662d38223e20747970653d22746578742f63737322202f3e0a
- 696e7465726368616e676561626c7920776974686d6f726520636c6f73656c79
- 2072656c61746564736f6369616c20616e6420706f6c69746963616c74686174
- 20776f756c64206f746865727769736570657270656e646963756c617220746f
- 207468657374796c6520747970653d22746578742f637373747970653d227375
- 626d697422206e616d653d2266616d696c696573207265736964696e6720696e
- 646576656c6f70696e6720636f756e7472696573636f6d70757465722070726f
- 6772616d6d696e6765636f6e6f6d696320646576656c6f706d656e7464657465
- 726d696e6174696f6e206f6620746865666f72206d6f726520696e666f726d61
- 74696f6e6f6e207365766572616c206f63636173696f6e73706f7274756775c3
- aa7320284575726f70657529d0a3d0bad180d0b0d197d0bdd181d18cd0bad0b0
- d183d0bad180d0b0d197d0bdd181d18cd0bad0b0d0a0d0bed181d181d0b8d0b9
- d181d0bad0bed0b9d0bcd0b0d182d0b5d180d0b8d0b0d0bbd0bed0b2d0b8d0bd
- d184d0bed180d0bcd0b0d186d0b8d0b8d183d0bfd180d0b0d0b2d0bbd0b5d0bd
- d0b8d18fd0bdd0b5d0bed0b1d185d0bed0b4d0b8d0bcd0bed0b8d0bdd184d0be
- d180d0bcd0b0d186d0b8d18fd098d0bdd184d0bed180d0bcd0b0d186d0b8d18f
- d0a0d0b5d181d0bfd183d0b1d0bbd0b8d0bad0b8d0bad0bed0bbd0b8d187d0b5
- d181d182d0b2d0bed0b8d0bdd184d0bed180d0bcd0b0d186d0b8d18ed182d0b5
- d180d180d0b8d182d0bed180d0b8d0b8d0b4d0bed181d182d0b0d182d0bed187
- d0bdd0bed8a7d984d985d8aad988d8a7d8acd8afd988d986d8a7d984d8a7d8b4
- d8aad8b1d8a7d983d8a7d8aad8a7d984d8a7d982d8aad8b1d8a7d8add8a7d8aa
- 68746d6c3b20636861727365743d5554462d38222073657454696d656f757428
- 66756e6374696f6e2829646973706c61793a696e6c696e652d626c6f636b3b3c
- 696e70757420747970653d227375626d6974222074797065203d202774657874
- 2f6a617661736372693c696d67207372633d22687474703a2f2f7777772e2220
- 22687474703a2f2f7777772e77332e6f72672f73686f72746375742069636f6e
- 2220687265663d2222206175746f636f6d706c6574653d226f666622203c2f61
- 3e3c2f6469763e3c64697620636c6173733d3c2f613e3c2f6c693e0a3c6c6920
- 636c6173733d226373732220747970653d22746578742f63737322203c666f72
- 6d20616374696f6e3d22687474703a2f2f78742f6373732220687265663d2268
- 7474703a2f2f6c696e6b2072656c3d22616c7465726e61746522200d0a3c7363
- 7269707420747970653d22746578742f206f6e636c69636b3d226a6176617363
- 726970743a286e65772044617465292e67657454696d6528297d686569676874
- 3d2231222077696474683d2231222050656f706c6527732052657075626c6963
- 206f6620203c6120687265663d22687474703a2f2f7777772e746578742d6465
- 636f726174696f6e3a756e64657274686520626567696e6e696e67206f662074
- 6865203c2f6469763e0a3c2f6469763e0a3c2f6469763e0a65737461626c6973
- 686d656e74206f6620746865203c2f6469763e3c2f6469763e3c2f6469763e3c
- 2f642376696577706f72747b6d696e2d6865696768743a0a3c73637269707420
- 7372633d22687474703a2f2f6f7074696f6e3e3c6f7074696f6e2076616c7565
- 3d6f6674656e20726566657272656420746f206173202f6f7074696f6e3e0a3c
- 6f7074696f6e2076616c753c21444f43545950452068746d6c3e0a3c212d2d5b
- 496e7465726e6174696f6e616c20416972706f72743e0a3c6120687265663d22
- 687474703a2f2f7777773c2f613e3c6120687265663d22687474703a2f2f77e0
- b8a0e0b8b2e0b8a9e0b8b2e0b984e0b897e0b8a2e183a5e18390e183a0e18397
- e183a3e1839ae18398e6ada3e9ab94e4b8ade696872028e7b981e9ab9429e0a4
- a8e0a4bfe0a4b0e0a58de0a4a6e0a587e0a4b6e0a4a1e0a4bee0a489e0a4a8e0
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 118]
-
-Internet-Draft Brotli May 2016
-
-
- a4b2e0a58be0a4a1e0a495e0a58de0a4b7e0a587e0a4a4e0a58de0a4b0e0a49c
- e0a4bee0a4a8e0a495e0a4bee0a4b0e0a580e0a4b8e0a482e0a4ace0a482e0a4
- a7e0a4bfe0a4a4e0a4b8e0a58de0a4a5e0a4bee0a4aae0a4a8e0a4bee0a4b8e0
- a58de0a4b5e0a580e0a495e0a4bee0a4b0e0a4b8e0a482e0a4b8e0a58de0a495
- e0a4b0e0a4a3e0a4b8e0a4bee0a4aee0a497e0a58de0a4b0e0a580e0a49ae0a4
- bfe0a49fe0a58de0a4a0e0a58be0a482e0a4b5e0a4bfe0a49ce0a58de0a49ee0
- a4bee0a4a8e0a485e0a4aee0a587e0a4b0e0a4bfe0a495e0a4bee0a4b5e0a4bf
- e0a4ade0a4bfe0a4a8e0a58de0a4a8e0a497e0a4bee0a4a1e0a4bfe0a4afe0a4
- bee0a481e0a495e0a58de0a4afe0a58be0a482e0a495e0a4bfe0a4b8e0a581e0
- a4b0e0a495e0a58de0a4b7e0a4bee0a4aae0a4b9e0a581e0a481e0a49ae0a4a4
- e0a580e0a4aae0a58de0a4b0e0a4ace0a482e0a4a7e0a4a8e0a49fe0a4bfe0a4
- aae0a58de0a4aae0a4a3e0a580e0a495e0a58de0a4b0e0a4bfe0a495e0a587e0
- a49fe0a4aae0a58de0a4b0e0a4bee0a4b0e0a482e0a4ade0a4aae0a58de0a4b0
- e0a4bee0a4aae0a58de0a4a4e0a4aee0a4bee0a4b2e0a4bfe0a495e0a58be0a4
- 82e0a4b0e0a4abe0a4bce0a58de0a4a4e0a4bee0a4b0e0a4a8e0a4bfe0a4b0e0
- a58de0a4aee0a4bee0a4a3e0a4b2e0a4bfe0a4aee0a4bfe0a49fe0a587e0a4a1
- 6465736372697074696f6e2220636f6e74656e743d22646f63756d656e742e6c
- 6f636174696f6e2e70726f742e676574456c656d656e747342795461674e616d
- 65283c21444f43545950452068746d6c3e0a3c68746d6c203c6d657461206368
- 61727365743d227574662d38223e3a75726c2220636f6e74656e743d22687474
- 703a2f2f2e637373222072656c3d227374796c657368656574227374796c6520
- 747970653d22746578742f637373223e747970653d22746578742f6373732220
- 687265663d2277332e6f72672f313939392f7868746d6c2220786d6c74797065
- 3d22746578742f6a61766173637269707422206d6574686f643d226765742220
- 616374696f6e3d226c696e6b2072656c3d227374796c6573686565742220203d
- 20646f63756d656e742e676574456c656d656e74747970653d22696d6167652f
- 782d69636f6e22202f3e63656c6c70616464696e673d2230222063656c6c7370
- 2e6373732220747970653d22746578742f63737322203c2f613e3c2f6c693e3c
- 6c693e3c6120687265663d22222077696474683d223122206865696768743d22
- 3122223e3c6120687265663d22687474703a2f2f7777772e7374796c653d2264
- 6973706c61793a6e6f6e653b223e616c7465726e6174652220747970653d2261
- 70706c692d2f2f5733432f2f445444205848544d4c20312e3020656c6c737061
- 63696e673d2230222063656c6c70616420747970653d2268696464656e222076
- 616c75653d222f613e266e6273703b3c7370616e20726f6c653d22730a3c696e
- 70757420747970653d2268696464656e22206c616e67756167653d224a617661
- 536372697074222020646f63756d656e742e676574456c656d656e747342673d
- 2230222063656c6c73706163696e673d223022207970653d22746578742f6373
- 7322206d656469613d22747970653d27746578742f6a61766173637269707427
- 776974682074686520657863657074696f6e206f66207970653d22746578742f
- 637373222072656c3d227374206865696768743d2231222077696474683d2231
- 22203d272b656e636f6465555249436f6d706f6e656e74283c6c696e6b207265
- 6c3d22616c7465726e61746522200a626f64792c2074722c20696e7075742c20
- 746578746d657461206e616d653d22726f626f74732220636f6e6d6574686f64
- 3d22706f73742220616374696f6e3d223e0a3c6120687265663d22687474703a
- 2f2f7777772e637373222072656c3d227374796c65736865657422203c2f6469
- 763e3c2f6469763e3c64697620636c6173736c616e67756167653d226a617661
- 736372697074223e617269612d68696464656e3d2274727565223ec2b73c7269
- 70742220747970653d22746578742f6a617661736c3d303b7d2928293b0a2866
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 119]
-
-Internet-Draft Brotli May 2016
-
-
- 756e6374696f6e28297b6261636b67726f756e642d696d6167653a2075726c28
- 2f613e3c2f6c693e3c6c693e3c6120687265663d226809093c6c693e3c612068
- 7265663d22687474703a2f2f61746f722220617269612d68696464656e3d2274
- 72753e203c6120687265663d22687474703a2f2f7777772e6c616e6775616765
- 3d226a61766173637269707422202f6f7074696f6e3e0a3c6f7074696f6e2076
- 616c75652f6469763e3c2f6469763e3c64697620636c6173733d7261746f7222
- 20617269612d68696464656e3d227472653d286e65772044617465292e676574
- 54696d652829706f7274756775c3aa732028646f2042726173696c29d0bed180
- d0b3d0b0d0bdd0b8d0b7d0b0d186d0b8d0b8d0b2d0bed0b7d0bcd0bed0b6d0bd
- d0bed181d182d18cd0bed0b1d180d0b0d0b7d0bed0b2d0b0d0bdd0b8d18fd180
- d0b5d0b3d0b8d181d182d180d0b0d186d0b8d0b8d0b2d0bed0b7d0bcd0bed0b6
- d0bdd0bed181d182d0b8d0bed0b1d18fd0b7d0b0d182d0b5d0bbd18cd0bdd0b0
- 3c21444f43545950452068746d6c205055424c494320226e742d547970652220
- 636f6e74656e743d22746578742f3c6d65746120687474702d65717569763d22
- 436f6e746572616e736974696f6e616c2f2f454e222022687474703a3c68746d
- 6c20786d6c6e733d22687474703a2f2f7777772d2f2f5733432f2f4454442058
- 48544d4c20312e3020544454442f7868746d6c312d7472616e736974696f6e61
- 6c2f2f7777772e77332e6f72672f54522f7868746d6c312f7065203d20277465
- 78742f6a617661736372697074273b3c6d657461206e616d653d226465736372
- 697074696f6e706172656e744e6f64652e696e736572744265666f72653c696e
- 70757420747970653d2268696464656e22206e616a732220747970653d227465
- 78742f6a6176617363726928646f63756d656e74292e72656164792866756e63
- 746973637269707420747970653d22746578742f6a61766173696d6167652220
- 636f6e74656e743d22687474703a2f2f55412d436f6d70617469626c65222063
- 6f6e74656e743d746d6c3b20636861727365743d7574662d3822202f3e0a6c69
- 6e6b2072656c3d2273686f72746375742069636f6e3c6c696e6b2072656c3d22
- 7374796c65736865657422203c2f7363726970743e0a3c736372697074207479
- 70653d3d20646f63756d656e742e637265617465456c656d656e3c6120746172
- 6765743d225f626c616e6b2220687265663d20646f63756d656e742e67657445
- 6c656d656e747342696e70757420747970653d227465787422206e616d653d61
- 2e74797065203d2027746578742f6a617661736372696e70757420747970653d
- 2268696464656e22206e616d6568746d6c3b20636861727365743d7574662d38
- 22202f3e647464223e0a3c68746d6c20786d6c6e733d22687474702d2f2f5733
- 432f2f4454442048544d4c20342e30312054656e747342795461674e616d6528
- 277363726970742729696e70757420747970653d2268696464656e22206e616d
- 3c73637269707420747970653d22746578742f6a6176617322207374796c653d
- 22646973706c61793a6e6f6e653b223e646f63756d656e742e676574456c656d
- 656e7442794964283d646f63756d656e742e637265617465456c656d656e7428
- 2720747970653d27746578742f6a61766173637269707427696e707574207479
- 70653d227465787422206e616d653d22642e676574456c656d656e7473427954
- 61674e616d6528736e6963616c2220687265663d22687474703a2f2f7777772e
- 432f2f4454442048544d4c20342e3031205472616e7369743c7374796c652074
- 7970653d22746578742f637373223e0a0a3c7374796c6520747970653d227465
- 78742f637373223e696f6e616c2e647464223e0a3c68746d6c20786d6c6e733d
- 687474702d65717569763d22436f6e74656e742d5479706564696e673d223022
- 2063656c6c73706163696e673d22302268746d6c3b20636861727365743d7574
- 662d3822202f3e0a207374796c653d22646973706c61793a6e6f6e653b223e3c
- 3c6c693e3c6120687265663d22687474703a2f2f7777772e20747970653d2774
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 120]
-
-Internet-Draft Brotli May 2016
-
-
- 6578742f6a617661736372697074273ed0b4d0b5d18fd182d0b5d0bbd18cd0bd
- d0bed181d182d0b8d181d0bed0bed182d0b2d0b5d182d181d182d0b2d0b8d0b8
- d0bfd180d0bed0b8d0b7d0b2d0bed0b4d181d182d0b2d0b0d0b1d0b5d0b7d0be
- d0bfd0b0d181d0bdd0bed181d182d0b8e0a4aae0a581e0a4b8e0a58de0a4a4e0
- a4bfe0a495e0a4bee0a495e0a4bee0a482e0a497e0a58de0a4b0e0a587e0a4b8
- e0a489e0a4a8e0a58de0a4b9e0a58be0a482e0a4a8e0a587e0a4b5e0a4bfe0a4
- a7e0a4bee0a4a8e0a4b8e0a4ade0a4bee0a4abe0a4bfe0a495e0a58de0a4b8e0
- a4bfe0a482e0a497e0a4b8e0a581e0a4b0e0a495e0a58de0a4b7e0a4bfe0a4a4
- e0a495e0a589e0a4aae0a580e0a4b0e0a4bee0a487e0a49fe0a4b5e0a4bfe0a4
- 9ce0a58de0a49ee0a4bee0a4aae0a4a8e0a495e0a4bee0a4b0e0a58de0a4b0e0
- a4b5e0a4bee0a488e0a4b8e0a495e0a58de0a4b0e0a4bfe0a4afe0a4a4e0a4be
-
- The number of words for each length is given by the following
- bit-depth array:
-
- NDBITS := 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
-
-Appendix B. List of word transformations
-
-The string literals are in C format, with respect to the use of
-backslash escape characters.
-
-In order to generate a length and check value, the transforms can be
-converted to a series of bytes, where each transform is the prefix
-sequence of bytes plus a terminating zero byte, a single byte value
-identifying the transform, and the suffix sequence of bytes plus a
-terminating zero. The value for the transforms are 0 for Identity, 1 for
-FermentFirst, 2 for FermentAll, 3 to 11 for OmitFirst1 to OmitFirst9,
-and 12 to 20 for OmitLast1 to OmitLast9. The byte sequences that
-represent the 121 transforms are then concatenated to a single sequence
-of bytes. The length of that sequence is 648 bytes, and the CRC-32 is
-0x3d965f81.
-
- ID Prefix Transform Suffix
- -- ------ --------- ------
- 0 "" Identity ""
- 1 "" Identity " "
- 2 " " Identity " "
- 3 "" OmitFirst1 ""
- 4 "" FermentFirst " "
- 5 "" Identity " the "
- 6 " " Identity ""
- 7 "s " Identity " "
- 8 "" Identity " of "
- 9 "" FermentFirst ""
- 10 "" Identity " and "
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 121]
-
-Internet-Draft Brotli May 2016
-
-
- 11 "" OmitFirst2 ""
- 12 "" OmitLast1 ""
- 13 ", " Identity " "
- 14 "" Identity ", "
- 15 " " FermentFirst " "
- 16 "" Identity " in "
- 17 "" Identity " to "
- 18 "e " Identity " "
- 19 "" Identity "\""
- 20 "" Identity "."
- 21 "" Identity "\">"
- 22 "" Identity "\n"
- 23 "" OmitLast3 ""
- 24 "" Identity "]"
- 25 "" Identity " for "
- 26 "" OmitFirst3 ""
- 27 "" OmitLast2 ""
- 28 "" Identity " a "
- 29 "" Identity " that "
- 30 " " FermentFirst ""
- 31 "" Identity ". "
- 32 "." Identity ""
- 33 " " Identity ", "
- 34 "" OmitFirst4 ""
- 35 "" Identity " with "
- 36 "" Identity "'"
- 37 "" Identity " from "
- 38 "" Identity " by "
- 39 "" OmitFirst5 ""
- 40 "" OmitFirst6 ""
- 41 " the " Identity ""
- 42 "" OmitLast4 ""
- 43 "" Identity ". The "
- 44 "" FermentAll ""
- 45 "" Identity " on "
- 46 "" Identity " as "
- 47 "" Identity " is "
- 48 "" OmitLast7 ""
- 49 "" OmitLast1 "ing "
- 50 "" Identity "\n\t"
- 51 "" Identity ":"
- 52 " " Identity ". "
- 53 "" Identity "ed "
- 54 "" OmitFirst9 ""
- 55 "" OmitFirst7 ""
- 56 "" OmitLast6 ""
- 57 "" Identity "("
- 58 "" FermentFirst ", "
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 122]
-
-Internet-Draft Brotli May 2016
-
-
- 59 "" OmitLast8 ""
- 60 "" Identity " at "
- 61 "" Identity "ly "
- 62 " the " Identity " of "
- 63 "" OmitLast5 ""
- 64 "" OmitLast9 ""
- 65 " " FermentFirst ", "
- 66 "" FermentFirst "\""
- 67 "." Identity "("
- 68 "" FermentAll " "
- 69 "" FermentFirst "\">"
- 70 "" Identity "=\""
- 71 " " Identity "."
- 72 ".com/" Identity ""
- 73 " the " Identity " of the "
- 74 "" FermentFirst "'"
- 75 "" Identity ". This "
- 76 "" Identity ","
- 77 "." Identity " "
- 78 "" FermentFirst "("
- 79 "" FermentFirst "."
- 80 "" Identity " not "
- 81 " " Identity "=\""
- 82 "" Identity "er "
- 83 " " FermentAll " "
- 84 "" Identity "al "
- 85 " " FermentAll ""
- 86 "" Identity "='"
- 87 "" FermentAll "\""
- 88 "" FermentFirst ". "
- 89 " " Identity "("
- 90 "" Identity "ful "
- 91 " " FermentFirst ". "
- 92 "" Identity "ive "
- 93 "" Identity "less "
- 94 "" FermentAll "'"
- 95 "" Identity "est "
- 96 " " FermentFirst "."
- 97 "" FermentAll "\">"
- 98 " " Identity "='"
- 99 "" FermentFirst ","
- 100 "" Identity "ize "
- 101 "" FermentAll "."
- 102 "\xc2\xa0" Identity ""
- 103 " " Identity ","
- 104 "" FermentFirst "=\""
- 105 "" FermentAll "=\""
- 106 "" Identity "ous "
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 123]
-
-Internet-Draft Brotli May 2016
-
-
- 107 "" FermentAll ", "
- 108 "" FermentFirst "='"
- 109 " " FermentFirst ","
- 110 " " FermentAll "=\""
- 111 " " FermentAll ", "
- 112 "" FermentAll ","
- 113 "" FermentAll "("
- 114 "" FermentAll ". "
- 115 " " FermentAll "."
- 116 "" FermentAll "='"
- 117 " " FermentAll ". "
- 118 " " FermentFirst "=\""
- 119 " " FermentAll "='"
- 120 " " FermentFirst "='"
-
-Appendix C. Computing CRC-32 check values
-
-For the purpose of this specification, we define the CRC-32 check value
-of a byte sequence with the following C language function:
-
- uint32_t CRC32(const uint8_t* v, const int len) {
- const uint32_t poly = 0xedb88320UL;
- uint32_t crc, c;
- int i, k;
- crc = 0xffffffffUL;
- for (i = 0; i < len; ++i) {
- c = (crc ^ v[i]) & 0xff;
- for (k = 0; k < 8; k++) c = c & 1 ? poly ^ (c >> 1) : c >> 1;
- crc = c ^ (crc >> 8);
- }
- return crc ^ 0xffffffffUL;
- }
-
-
-Authors' Addresses
-
- Jyrki Alakuijala
- Google, Inc
-
- Email: jyrki@google.com
-
-
- Zoltan Szabadka
- Google, Inc
-
- Email: szabadka@google.com
-
-
-
-
-
-Alakuijala & Szabadka Expires November 24, 2016 [Page 124]
-