summaryrefslogtreecommitdiff
path: root/plugins/updater
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/updater')
-rw-r--r--plugins/updater/Docs/licence_updater.txt52
-rw-r--r--plugins/updater/allocations.cpp5
-rw-r--r--plugins/updater/allocations.h72
-rw-r--r--plugins/updater/bzip2-1.0.3/CHANGES327
-rw-r--r--plugins/updater/bzip2-1.0.3/LICENSE42
-rw-r--r--plugins/updater/bzip2-1.0.3/Makefile217
-rw-r--r--plugins/updater/bzip2-1.0.3/Makefile-libbz2_so59
-rw-r--r--plugins/updater/bzip2-1.0.3/README215
-rw-r--r--plugins/updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS58
-rw-r--r--plugins/updater/bzip2-1.0.3/README.XML.STUFF45
-rw-r--r--plugins/updater/bzip2-1.0.3/Y2K_INFO34
-rw-r--r--plugins/updater/bzip2-1.0.3/blocksort.c1094
-rw-r--r--plugins/updater/bzip2-1.0.3/bz-common.xsl39
-rw-r--r--plugins/updater/bzip2-1.0.3/bz-fo.xsl276
-rw-r--r--plugins/updater/bzip2-1.0.3/bz-html.xsl20
-rw-r--r--plugins/updater/bzip2-1.0.3/bzdiff76
-rw-r--r--plugins/updater/bzip2-1.0.3/bzdiff.147
-rw-r--r--plugins/updater/bzip2-1.0.3/bzgrep75
-rw-r--r--plugins/updater/bzip2-1.0.3/bzgrep.156
-rw-r--r--plugins/updater/bzip2-1.0.3/bzip.css74
-rw-r--r--plugins/updater/bzip2-1.0.3/bzip2.1454
-rw-r--r--plugins/updater/bzip2-1.0.3/bzip2.1.preformatted399
-rw-r--r--plugins/updater/bzip2-1.0.3/bzip2.c2034
-rw-r--r--plugins/updater/bzip2-1.0.3/bzip2.txt391
-rw-r--r--plugins/updater/bzip2-1.0.3/bzip2recover.c514
-rw-r--r--plugins/updater/bzip2-1.0.3/bzlib.c1572
-rw-r--r--plugins/updater/bzip2-1.0.3/bzlib.h282
-rw-r--r--plugins/updater/bzip2-1.0.3/bzlib_private.h509
-rw-r--r--plugins/updater/bzip2-1.0.3/bzmore61
-rw-r--r--plugins/updater/bzip2-1.0.3/bzmore.1152
-rw-r--r--plugins/updater/bzip2-1.0.3/compress.c672
-rw-r--r--plugins/updater/bzip2-1.0.3/crctable.c104
-rw-r--r--plugins/updater/bzip2-1.0.3/decompress.c646
-rw-r--r--plugins/updater/bzip2-1.0.3/dlltest.c175
-rw-r--r--plugins/updater/bzip2-1.0.3/dlltest.dsp93
-rw-r--r--plugins/updater/bzip2-1.0.3/entities.xml9
-rw-r--r--plugins/updater/bzip2-1.0.3/format.pl68
-rw-r--r--plugins/updater/bzip2-1.0.3/huffman.c205
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.001130
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.def27
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.dllbin344187 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.dsp130
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.dsw29
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.ilkbin311456 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/libbz2.plg95
-rw-r--r--plugins/updater/bzip2-1.0.3/makefile.msc63
-rw-r--r--plugins/updater/bzip2-1.0.3/manual.html2540
-rw-r--r--plugins/updater/bzip2-1.0.3/manual.pdfbin256905 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/manual.ps72843
-rw-r--r--plugins/updater/bzip2-1.0.3/manual.xml2964
-rw-r--r--plugins/updater/bzip2-1.0.3/mk251.c31
-rw-r--r--plugins/updater/bzip2-1.0.3/randtable.c84
-rw-r--r--plugins/updater/bzip2-1.0.3/sample1.bz2bin32348 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/sample1.refbin98696 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/sample2.bz2bin73732 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/sample2.refbin212340 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/sample3.bz2bin235 -> 0 bytes
-rw-r--r--plugins/updater/bzip2-1.0.3/sample3.ref30007
-rw-r--r--plugins/updater/bzip2-1.0.3/spewG.c54
-rw-r--r--plugins/updater/bzip2-1.0.3/unzcrash.c141
-rw-r--r--plugins/updater/bzip2-1.0.3/words09
-rw-r--r--plugins/updater/bzip2-1.0.3/words14
-rw-r--r--plugins/updater/bzip2-1.0.3/words25
-rw-r--r--plugins/updater/bzip2-1.0.3/words330
-rw-r--r--plugins/updater/bzip2-1.0.3/xmlproc.sh114
-rw-r--r--plugins/updater/common.cpp72
-rw-r--r--plugins/updater/common.h145
-rw-r--r--plugins/updater/conf_comp_dialog.cpp204
-rw-r--r--plugins/updater/conf_comp_dialog.h8
-rw-r--r--plugins/updater/conf_dialog.cpp288
-rw-r--r--plugins/updater/conf_dialog.h14
-rw-r--r--plugins/updater/extern.cpp524
-rw-r--r--plugins/updater/extern.h20
-rw-r--r--plugins/updater/ezxml.c967
-rw-r--r--plugins/updater/ezxml.h165
-rw-r--r--plugins/updater/icons.cpp56
-rw-r--r--plugins/updater/icons.h13
-rw-r--r--plugins/updater/options.cpp508
-rw-r--r--plugins/updater/options.h49
-rw-r--r--plugins/updater/popups.cpp212
-rw-r--r--plugins/updater/popups.h32
-rw-r--r--plugins/updater/progress_dialog.cpp111
-rw-r--r--plugins/updater/progress_dialog.h13
-rw-r--r--plugins/updater/resource.h57
-rw-r--r--plugins/updater/resource.rc6
-rw-r--r--plugins/updater/restart.icobin2550 -> 0 bytes
-rw-r--r--plugins/updater/scan.cpp396
-rw-r--r--plugins/updater/scan.h18
-rw-r--r--plugins/updater/services.cpp889
-rw-r--r--plugins/updater/services.h78
-rw-r--r--plugins/updater/socket.cpp355
-rw-r--r--plugins/updater/socket.h20
-rw-r--r--plugins/updater/u.icobin2550 -> 0 bytes
-rw-r--r--plugins/updater/ue.icobin2550 -> 0 bytes
-rw-r--r--plugins/updater/unzipfile.cpp108
-rw-r--r--plugins/updater/updater.cpp300
-rw-r--r--plugins/updater/updater.def3
-rw-r--r--plugins/updater/updater.h19
-rw-r--r--plugins/updater/updater.rc213
-rw-r--r--plugins/updater/updater_10.sln26
-rw-r--r--plugins/updater/updater_10.vcxproj339
-rw-r--r--plugins/updater/updater_10.vcxproj.filters214
-rw-r--r--plugins/updater/utils.cpp248
-rw-r--r--plugins/updater/utils.h20
-rw-r--r--plugins/updater/version.h32
-rw-r--r--plugins/updater/version.rc33
-rw-r--r--plugins/updater/xmldata.cpp495
-rw-r--r--plugins/updater/xmldata.h29
-rw-r--r--plugins/updater/zbin/minizip/crypt.h131
-rw-r--r--plugins/updater/zbin/minizip/ioapi.c246
-rw-r--r--plugins/updater/zbin/minizip/ioapi.h200
-rw-r--r--plugins/updater/zbin/minizip/ioapi_mem.c270
-rw-r--r--plugins/updater/zbin/minizip/iowin32.c389
-rw-r--r--plugins/updater/zbin/minizip/iowin32.h28
-rw-r--r--plugins/updater/zbin/minizip/miniunz.c648
-rw-r--r--plugins/updater/zbin/minizip/minizip.c507
-rw-r--r--plugins/updater/zbin/minizip/mztools.c281
-rw-r--r--plugins/updater/zbin/minizip/mztools.h31
-rw-r--r--plugins/updater/zbin/minizip/unzip.c2125
-rw-r--r--plugins/updater/zbin/minizip/unzip.h437
-rw-r--r--plugins/updater/zbin/minizip/zip.c2004
-rw-r--r--plugins/updater/zbin/minizip/zip.h362
-rw-r--r--plugins/updater/zbin/x32/zlib.libbin10532 -> 0 bytes
-rw-r--r--plugins/updater/zbin/x64/zlib.libbin10278 -> 0 bytes
-rw-r--r--plugins/updater/zbin/zconf.h428
-rw-r--r--plugins/updater/zbin/zlib.h1613
126 files changed, 0 insertions, 137522 deletions
diff --git a/plugins/updater/Docs/licence_updater.txt b/plugins/updater/Docs/licence_updater.txt
deleted file mode 100644
index 1ee28cf3c7..0000000000
--- a/plugins/updater/Docs/licence_updater.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-// This software is Copyright (c) 2005 Scott Ellis (mail@scottellis.com.au)
-// http://www.scottellis.com.au
-// It is released under the General Public Licence, available here:
-// http://www.gnu.org/copyleft/gpl.html
-
-// *except* for the zip decompression, which is covered by the following licence:
-
-
-// Copyright (c) 1990-1999 Info-ZIP. All rights reserved.
-//
-// For the purposes of this copyright and license, "Info-ZIP" is defined as
-// the following set of individuals:
-//
-// Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois,
-// Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase,
-// Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum,
-// Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller,
-// Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel,
-// Steve Salisbury, Dave Smith, Christian Spieler, Antoine Verheijen,
-// Paul von Behren, Rich Wales, Mike White
-//
-// This software is provided "as is," without warranty of any kind, express
-// or implied. In no event shall Info-ZIP or its contributors be held liable
-// for any direct, indirect, incidental, special or consequential damages
-// arising out of the use of or inability to use this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// definition, disclaimer, and this list of conditions.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, definition, disclaimer, and this list of conditions in
-// documentation and/or other materials provided with the distribution.
-//
-// 3. Altered versions--including, but not limited to, ports to new operating
-// systems, existing ports with new graphical interfaces, and dynamic,
-// shared, or static library versions--must be plainly marked as such
-// and must not be misrepresented as being the original source. Such
-// altered versions also must not be misrepresented as being Info-ZIP
-// releases--including, but not limited to, labeling of the altered
-// versions with the names "Info-ZIP" (or any variation thereof, including,
-// but not limited to, different capitalizations), "Pocket UnZip," "WiZ"
-// or "MacZip" without the explicit permission of Info-ZIP. Such altered
-// versions are further prohibited from misrepresentative use of the
-// Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s).
-//
-// 4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip,"
-// "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and
-// binary releases.
diff --git a/plugins/updater/allocations.cpp b/plugins/updater/allocations.cpp
deleted file mode 100644
index 733e4145bf..0000000000
--- a/plugins/updater/allocations.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "common.h"
-#include "allocations.h"
-
-Allocations allocations;
-
diff --git a/plugins/updater/allocations.h b/plugins/updater/allocations.h
deleted file mode 100644
index 842d7daf01..0000000000
--- a/plugins/updater/allocations.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef _ALLOCATION_INC
-#define _ALLOCATION_INC
-
-// store allocated memory pointers for deallocation when shutting down
-class Allocations {
-public:
- Allocations(): head(0) {}
- virtual ~Allocations() { free_all(); }
-
- void push_back(void *pt) { Node *n = new Node; n->value = pt; n->next = head; head = n;}
-
-protected:
-
- class Node {
- public:
- void *value;
- Node *next;
- };
-
- Node *head;
-
- void free_all() {
- Node *current;
- while(head) {
- current = head;
- head = head->next;
- free(current->value);
- delete current;
- }
- }
-};
-
-extern Allocations allocations;
-
-__inline static void *safe_alloc(size_t bytes) {
- if(bytes == 0) return 0;
- void *ret = malloc(bytes);
- allocations.push_back(ret);
- return ret;
-}
-
-__inline static char *safe_strdup(const char *s) {
- if(!s) return 0;
- char *ret = _strdup(s);
- allocations.push_back(ret);
- return ret;
-}
-
-__inline static wchar_t *safe_wstrdup(const wchar_t *s) {
- if(!s) return 0;
- wchar_t *ret = _wcsdup(s);
- allocations.push_back(ret);
- return ret;
-}
-
-#ifdef _UNICODE
-#define safe_tstrdup(x) safe_wstrdup(x)
-#else
-#define sage_tstrdup(x) safe_strdup(x)
-#endif
-
-__inline static BYTE *safe_bytedup(BYTE *bytes, int size) {
- if(!bytes || size == 0) return 0;
-
- BYTE *ret = (BYTE *)malloc(size + 1);
- memcpy(ret, bytes, size);
- *(ret + size) = 0;
- allocations.push_back(ret);
- return ret;
-}
-
-#endif
diff --git a/plugins/updater/bzip2-1.0.3/CHANGES b/plugins/updater/bzip2-1.0.3/CHANGES
deleted file mode 100644
index 81e97ca6fa..0000000000
--- a/plugins/updater/bzip2-1.0.3/CHANGES
+++ /dev/null
@@ -1,327 +0,0 @@
- ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------
-
-
-0.9.0
-~~~~~
-First version.
-
-
-0.9.0a
-~~~~~~
-Removed 'ranlib' from Makefile, since most modern Unix-es
-don't need it, or even know about it.
-
-
-0.9.0b
-~~~~~~
-Fixed a problem with error reporting in bzip2.c. This does not effect
-the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
-program proper) compress and decompress correctly, but give misleading
-error messages (internal panics) when an I/O error occurs, instead of
-reporting the problem correctly. This shouldn't give any data loss
-(as far as I can see), but is confusing.
-
-Made the inline declarations disappear for non-GCC compilers.
-
-
-0.9.0c
-~~~~~~
-Fixed some problems in the library pertaining to some boundary cases.
-This makes the library behave more correctly in those situations. The
-fixes apply only to features (calls and parameters) not used by
-bzip2.c, so the non-fixedness of them in previous versions has no
-effect on reliability of bzip2.c.
-
-In bzlib.c:
- * made zero-length BZ_FLUSH work correctly in bzCompress().
- * fixed bzWrite/bzRead to ignore zero-length requests.
- * fixed bzread to correctly handle read requests after EOF.
- * wrong parameter order in call to bzDecompressInit in
- bzBuffToBuffDecompress. Fixed.
-
-In compress.c:
- * changed setting of nGroups in sendMTFValues() so as to
- do a bit better on small files. This _does_ effect
- bzip2.c.
-
-
-0.9.5a
-~~~~~~
-Major change: add a fallback sorting algorithm (blocksort.c)
-to give reasonable behaviour even for very repetitive inputs.
-Nuked --repetitive-best and --repetitive-fast since they are
-no longer useful.
-
-Minor changes: mostly a whole bunch of small changes/
-bugfixes in the driver (bzip2.c). Changes pertaining to the
-user interface are:
-
- allow decompression of symlink'd files to stdout
- decompress/test files even without .bz2 extension
- give more accurate error messages for I/O errors
- when compressing/decompressing to stdout, don't catch control-C
- read flags from BZIP2 and BZIP environment variables
- decline to break hard links to a file unless forced with -f
- allow -c flag even with no filenames
- preserve file ownerships as far as possible
- make -s -1 give the expected block size (100k)
- add a flag -q --quiet to suppress nonessential warnings
- stop decoding flags after --, so files beginning in - can be handled
- resolved inconsistent naming: bzcat or bz2cat ?
- bzip2 --help now returns 0
-
-Programming-level changes are:
-
- fixed syntax error in GET_LL4 for Borland C++ 5.02
- let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
- fix overshoot of mode-string end in bzopen_or_bzdopen
- wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
- close file handles under all error conditions
- added minor mods so it compiles with DJGPP out of the box
- fixed Makefile so it doesn't give problems with BSD make
- fix uninitialised memory reads in dlltest.c
-
-0.9.5b
-~~~~~~
-Open stdin/stdout in binary mode for DJGPP.
-
-0.9.5c
-~~~~~~
-Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
-version could cause the sorted order to be wrong in some extremely
-obscure cases. Also changed setting of quadrant in blocksort.c.
-
-0.9.5d
-~~~~~~
-The only functional change is to make bzlibVersion() in the library
-return the correct string. This has no effect whatsoever on the
-functioning of the bzip2 program or library. Added a couple of casts
-so the library compiles without warnings at level 3 in MS Visual
-Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
-changes are minor documentation changes.
-
-1.0
-~~~
-Several minor bugfixes and enhancements:
-
-* Large file support. The library uses 64-bit counters to
- count the volume of data passing through it. bzip2.c
- is now compiled with -D_FILE_OFFSET_BITS=64 to get large
- file support from the C library. -v correctly prints out
- file sizes greater than 4 gigabytes. All these changes have
- been made without assuming a 64-bit platform or a C compiler
- which supports 64-bit ints, so, except for the C library
- aspect, they are fully portable.
-
-* Decompression robustness. The library/program should be
- robust to any corruption of compressed data, detecting and
- handling _all_ corruption, instead of merely relying on
- the CRCs. What this means is that the program should
- never crash, given corrupted data, and the library should
- always return BZ_DATA_ERROR.
-
-* Fixed an obscure race-condition bug only ever observed on
- Solaris, in which, if you were very unlucky and issued
- control-C at exactly the wrong time, both input and output
- files would be deleted.
-
-* Don't run out of file handles on test/decompression when
- large numbers of files have invalid magic numbers.
-
-* Avoid library namespace pollution. Prefix all exported
- symbols with BZ2_.
-
-* Minor sorting enhancements from my DCC2000 paper.
-
-* Advance the version number to 1.0, so as to counteract the
- (false-in-this-case) impression some people have that programs
- with version numbers less than 1.0 are in some way, experimental,
- pre-release versions.
-
-* Create an initial Makefile-libbz2_so to build a shared library.
- Yes, I know I should really use libtool et al ...
-
-* Make the program exit with 2 instead of 0 when decompression
- fails due to a bad magic number (ie, an invalid bzip2 header).
- Also exit with 1 (as the manual claims :-) whenever a diagnostic
- message would have been printed AND the corresponding operation
- is aborted, for example
- bzip2: Output file xx already exists.
- When a diagnostic message is printed but the operation is not
- aborted, for example
- bzip2: Can't guess original name for wurble -- using wurble.out
- then the exit value 0 is returned, unless some other problem is
- also detected.
-
- I think it corresponds more closely to what the manual claims now.
-
-
-1.0.1
-~~~~~
-* Modified dlltest.c so it uses the new BZ2_ naming scheme.
-* Modified makefile-msc to fix minor build probs on Win2k.
-* Updated README.COMPILATION.PROBLEMS.
-
-There are no functionality changes or bug fixes relative to version
-1.0.0. This is just a documentation update + a fix for minor Win32
-build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
-utterly pointless. Don't bother.
-
-
-1.0.2
-~~~~~
-A bug fix release, addressing various minor issues which have appeared
-in the 18 or so months since 1.0.1 was released. Most of the fixes
-are to do with file-handling or documentation bugs. To the best of my
-knowledge, there have been no data-loss-causing bugs reported in the
-compression/decompression engine of 1.0.0 or 1.0.1.
-
-Note that this release does not improve the rather crude build system
-for Unix platforms. The general plan here is to autoconfiscate/
-libtoolise 1.0.2 soon after release, and release the result as 1.1.0
-or perhaps 1.2.0. That, however, is still just a plan at this point.
-
-Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in
-parentheses.
-
-* Fix an infinite segfault loop in 1.0.1 when a directory is
- encountered in -f (force) mode.
- (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
-
-* Avoid double fclose() of output file on certain I/O error paths.
- (Solar Designer)
-
-* Don't fail with internal error 1007 when fed a long stream (> 48MB)
- of byte 251. Also print useful message suggesting that 1007s may be
- caused by bad memory.
- (noticed by Juan Pedro Vallejo, fixed by me)
-
-* Fix uninitialised variable silly bug in demo prog dlltest.c.
- (Jorj Bauer)
-
-* Remove 512-MB limitation on recovered file size for bzip2recover
- on selected platforms which support 64-bit ints. At the moment
- all GCC supported platforms, and Win32.
- (me, Alson van der Meulen)
-
-* Hard-code header byte values, to give correct operation on platforms
- using EBCDIC as their native character set (IBM's OS/390).
- (Leland Lucius)
-
-* Copy file access times correctly.
- (Marty Leisner)
-
-* Add distclean and check targets to Makefile.
- (Michael Carmack)
-
-* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
- (Rich Ireland, Bo Thorsen)
-
-* Pass -p (create parent dirs as needed) to mkdir during make install.
- (Jeremy Fusco)
-
-* Dereference symlinks when copying file permissions in -f mode.
- (Volker Schmidt)
-
-* Majorly simplify implementation of uInt64_qrm10.
- (Bo Lindbergh)
-
-* Check the input file still exists before deleting the output one,
- when aborting in cleanUpAndFail().
- (Joerg Prante, Robert Linden, Matthias Krings)
-
-Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
-of bzip2:
-
-* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
-
-* Spelling changes and minor enhancements in bzip2.1.
-
-* Avoid race condition between creating the output file and setting its
- interim permissions safely, by using fopen_output_safely().
- No changes to bzip2recover since there is no issue with file
- permissions there.
-
-* do not print senseless report with -v when compressing an empty
- file.
-
-* bzcat -f works on non-bzip2 files.
-
-* do not try to escape shell meta-characters on unix (the shell takes
- care of these).
-
-* added --fast and --best aliases for -1 -9 for gzip compatibility.
-
-
-1.0.3 (15 Feb 05)
-~~~~~~~~~~~~~~~~~
-Fixes some minor bugs since the last version, 1.0.2.
-
-* Further robustification against corrupted compressed data.
- There are currently no known bitstreams which can cause the
- decompressor to crash, loop or access memory which does not
- belong to it. If you are using bzip2 or the library to
- decompress bitstreams from untrusted sources, an upgrade
- to 1.0.3 is recommended. This fixes CAN-2005-1260.
-
-* The documentation has been converted to XML, from which html
- and pdf can be derived.
-
-* Various minor bugs in the documentation have been fixed.
-
-* Fixes for various compilation warnings with newer versions of
- gcc, and on 64-bit platforms.
-
-* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
- This has been fixed.
-
-
-1.0.4 (20 Dec 06)
-~~~~~~~~~~~~~~~~~
-Fixes some minor bugs since the last version, 1.0.3.
-
-* Fix file permissions race problem (CAN-2005-0953).
-
-* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD
- scan.
-
-* 'const'/prototype cleanups in the C code.
-
-* Change default install location to /usr/local, and handle multiple
- 'make install's without error.
-
-* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758
- to the extent that applies to bzgrep.
-
-* Use 'mktemp' rather than 'tempfile' in bzdiff.
-
-* Tighten up a couple of assertions in blocksort.c following automated
- analysis.
-
-* Fix minor doc/comment bugs.
-
-
-1.0.5 (10 Dec 07)
-~~~~~~~~~~~~~~~~~
-Security fix only. Fixes CERT-FI 20469 as it applies to bzip2.
-
-
-1.0.6 (6 Sept 10)
-~~~~~~~~~~~~~~~~~
-
-* Security fix for CVE-2010-0405. This was reported by Mikolaj
- Izdebski.
-
-* Make the documentation build on Ubuntu 10.04
diff --git a/plugins/updater/bzip2-1.0.3/LICENSE b/plugins/updater/bzip2-1.0.3/LICENSE
deleted file mode 100644
index cc614178cf..0000000000
--- a/plugins/updater/bzip2-1.0.3/LICENSE
+++ /dev/null
@@ -1,42 +0,0 @@
-
---------------------------------------------------------------------------
-
-This program, "bzip2", the associated library "libbzip2", and all
-documentation, are copyright (C) 1996-2010 Julian R Seward. All
-rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
-2. The origin of this software must not be misrepresented; you must
- not claim that you wrote the original software. If you use this
- software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
-3. Altered source versions must be plainly marked as such, and must
- not be misrepresented as being the original software.
-
-4. The name of the author may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Julian Seward, jseward@bzip.org
-bzip2/libbzip2 version 1.0.6 of 6 September 2010
-
---------------------------------------------------------------------------
diff --git a/plugins/updater/bzip2-1.0.3/Makefile b/plugins/updater/bzip2-1.0.3/Makefile
deleted file mode 100644
index 9754ddf286..0000000000
--- a/plugins/updater/bzip2-1.0.3/Makefile
+++ /dev/null
@@ -1,217 +0,0 @@
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.6 of 6 September 2010
-# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ------------------------------------------------------------------
-
-SHELL=/bin/sh
-
-# To assist in cross-compiling
-CC=gcc
-AR=ar
-RANLIB=ranlib
-LDFLAGS=
-
-BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
-
-# Where you want it installed when you do 'make install'
-PREFIX=/usr/local
-
-
-OBJS= blocksort.o \
- huffman.o \
- crctable.o \
- randtable.o \
- compress.o \
- decompress.o \
- bzlib.o
-
-all: libbz2.a bzip2 bzip2recover test
-
-bzip2: libbz2.a bzip2.o
- $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
-
-bzip2recover: bzip2recover.o
- $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o
-
-libbz2.a: $(OBJS)
- rm -f libbz2.a
- $(AR) cq libbz2.a $(OBJS)
- @if ( test -f $(RANLIB) -o -f /usr/bin/ranlib -o \
- -f /bin/ranlib -o -f /usr/ccs/bin/ranlib ) ; then \
- echo $(RANLIB) libbz2.a ; \
- $(RANLIB) libbz2.a ; \
- fi
-
-check: test
-test: bzip2
- @cat words1
- ./bzip2 -1 < sample1.ref > sample1.rb2
- ./bzip2 -2 < sample2.ref > sample2.rb2
- ./bzip2 -3 < sample3.ref > sample3.rb2
- ./bzip2 -d < sample1.bz2 > sample1.tst
- ./bzip2 -d < sample2.bz2 > sample2.tst
- ./bzip2 -ds < sample3.bz2 > sample3.tst
- cmp sample1.bz2 sample1.rb2
- cmp sample2.bz2 sample2.rb2
- cmp sample3.bz2 sample3.rb2
- cmp sample1.tst sample1.ref
- cmp sample2.tst sample2.ref
- cmp sample3.tst sample3.ref
- @cat words3
-
-install: bzip2 bzip2recover
- if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
- if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
- if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
- if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
- if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
- cp -f bzip2 $(PREFIX)/bin/bzip2
- cp -f bzip2 $(PREFIX)/bin/bunzip2
- cp -f bzip2 $(PREFIX)/bin/bzcat
- cp -f bzip2recover $(PREFIX)/bin/bzip2recover
- chmod a+x $(PREFIX)/bin/bzip2
- chmod a+x $(PREFIX)/bin/bunzip2
- chmod a+x $(PREFIX)/bin/bzcat
- chmod a+x $(PREFIX)/bin/bzip2recover
- cp -f bzip2.1 $(PREFIX)/man/man1
- chmod a+r $(PREFIX)/man/man1/bzip2.1
- cp -f bzlib.h $(PREFIX)/include
- chmod a+r $(PREFIX)/include/bzlib.h
- cp -f libbz2.a $(PREFIX)/lib
- chmod a+r $(PREFIX)/lib/libbz2.a
- cp -f bzgrep $(PREFIX)/bin/bzgrep
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
- chmod a+x $(PREFIX)/bin/bzgrep
- cp -f bzmore $(PREFIX)/bin/bzmore
- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
- chmod a+x $(PREFIX)/bin/bzmore
- cp -f bzdiff $(PREFIX)/bin/bzdiff
- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
- chmod a+x $(PREFIX)/bin/bzdiff
- cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
- chmod a+r $(PREFIX)/man/man1/bzgrep.1
- chmod a+r $(PREFIX)/man/man1/bzmore.1
- chmod a+r $(PREFIX)/man/man1/bzdiff.1
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
- echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
- echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
-
-clean:
- rm -f *.o libbz2.a bzip2 bzip2recover \
- sample1.rb2 sample2.rb2 sample3.rb2 \
- sample1.tst sample2.tst sample3.tst
-
-blocksort.o: blocksort.c
- @cat words0
- $(CC) $(CFLAGS) -c blocksort.c
-huffman.o: huffman.c
- $(CC) $(CFLAGS) -c huffman.c
-crctable.o: crctable.c
- $(CC) $(CFLAGS) -c crctable.c
-randtable.o: randtable.c
- $(CC) $(CFLAGS) -c randtable.c
-compress.o: compress.c
- $(CC) $(CFLAGS) -c compress.c
-decompress.o: decompress.c
- $(CC) $(CFLAGS) -c decompress.c
-bzlib.o: bzlib.c
- $(CC) $(CFLAGS) -c bzlib.c
-bzip2.o: bzip2.c
- $(CC) $(CFLAGS) -c bzip2.c
-bzip2recover.o: bzip2recover.c
- $(CC) $(CFLAGS) -c bzip2recover.c
-
-
-distclean: clean
- rm -f manual.ps manual.html manual.pdf
-
-DISTNAME=bzip2-1.0.6
-dist: check manual
- rm -f $(DISTNAME)
- ln -s -f . $(DISTNAME)
- tar cvf $(DISTNAME).tar \
- $(DISTNAME)/blocksort.c \
- $(DISTNAME)/huffman.c \
- $(DISTNAME)/crctable.c \
- $(DISTNAME)/randtable.c \
- $(DISTNAME)/compress.c \
- $(DISTNAME)/decompress.c \
- $(DISTNAME)/bzlib.c \
- $(DISTNAME)/bzip2.c \
- $(DISTNAME)/bzip2recover.c \
- $(DISTNAME)/bzlib.h \
- $(DISTNAME)/bzlib_private.h \
- $(DISTNAME)/Makefile \
- $(DISTNAME)/LICENSE \
- $(DISTNAME)/bzip2.1 \
- $(DISTNAME)/bzip2.1.preformatted \
- $(DISTNAME)/bzip2.txt \
- $(DISTNAME)/words0 \
- $(DISTNAME)/words1 \
- $(DISTNAME)/words2 \
- $(DISTNAME)/words3 \
- $(DISTNAME)/sample1.ref \
- $(DISTNAME)/sample2.ref \
- $(DISTNAME)/sample3.ref \
- $(DISTNAME)/sample1.bz2 \
- $(DISTNAME)/sample2.bz2 \
- $(DISTNAME)/sample3.bz2 \
- $(DISTNAME)/dlltest.c \
- $(DISTNAME)/manual.html \
- $(DISTNAME)/manual.pdf \
- $(DISTNAME)/manual.ps \
- $(DISTNAME)/README \
- $(DISTNAME)/README.COMPILATION.PROBLEMS \
- $(DISTNAME)/README.XML.STUFF \
- $(DISTNAME)/CHANGES \
- $(DISTNAME)/libbz2.def \
- $(DISTNAME)/libbz2.dsp \
- $(DISTNAME)/dlltest.dsp \
- $(DISTNAME)/makefile.msc \
- $(DISTNAME)/unzcrash.c \
- $(DISTNAME)/spewG.c \
- $(DISTNAME)/mk251.c \
- $(DISTNAME)/bzdiff \
- $(DISTNAME)/bzdiff.1 \
- $(DISTNAME)/bzmore \
- $(DISTNAME)/bzmore.1 \
- $(DISTNAME)/bzgrep \
- $(DISTNAME)/bzgrep.1 \
- $(DISTNAME)/Makefile-libbz2_so \
- $(DISTNAME)/bz-common.xsl \
- $(DISTNAME)/bz-fo.xsl \
- $(DISTNAME)/bz-html.xsl \
- $(DISTNAME)/bzip.css \
- $(DISTNAME)/entities.xml \
- $(DISTNAME)/manual.xml \
- $(DISTNAME)/format.pl \
- $(DISTNAME)/xmlproc.sh
- gzip -v $(DISTNAME).tar
-
-# For rebuilding the manual from sources on my SuSE 9.1 box
-
-MANUAL_SRCS= bz-common.xsl bz-fo.xsl bz-html.xsl bzip.css \
- entities.xml manual.xml
-
-manual: manual.html manual.ps manual.pdf
-
-manual.ps: $(MANUAL_SRCS)
- ./xmlproc.sh -ps manual.xml
-
-manual.pdf: $(MANUAL_SRCS)
- ./xmlproc.sh -pdf manual.xml
-
-manual.html: $(MANUAL_SRCS)
- ./xmlproc.sh -html manual.xml
diff --git a/plugins/updater/bzip2-1.0.3/Makefile-libbz2_so b/plugins/updater/bzip2-1.0.3/Makefile-libbz2_so
deleted file mode 100644
index e58791b3b3..0000000000
--- a/plugins/updater/bzip2-1.0.3/Makefile-libbz2_so
+++ /dev/null
@@ -1,59 +0,0 @@
-
-# This Makefile builds a shared version of the library,
-# libbz2.so.1.0.6, with soname libbz2.so.1.0,
-# at least on x86-Linux (RedHat 7.2),
-# with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98).
-# Please see the README file for some important info
-# about building the library like this.
-
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.6 of 6 September 2010
-# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ------------------------------------------------------------------
-
-
-SHELL=/bin/sh
-CC=gcc
-BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
-
-OBJS= blocksort.o \
- huffman.o \
- crctable.o \
- randtable.o \
- compress.o \
- decompress.o \
- bzlib.o
-
-all: $(OBJS)
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
- rm -f libbz2.so.1.0
- ln -s libbz2.so.1.0.6 libbz2.so.1.0
-
-clean:
- rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared
-
-blocksort.o: blocksort.c
- $(CC) $(CFLAGS) -c blocksort.c
-huffman.o: huffman.c
- $(CC) $(CFLAGS) -c huffman.c
-crctable.o: crctable.c
- $(CC) $(CFLAGS) -c crctable.c
-randtable.o: randtable.c
- $(CC) $(CFLAGS) -c randtable.c
-compress.o: compress.c
- $(CC) $(CFLAGS) -c compress.c
-decompress.o: decompress.c
- $(CC) $(CFLAGS) -c decompress.c
-bzlib.o: bzlib.c
- $(CC) $(CFLAGS) -c bzlib.c
diff --git a/plugins/updater/bzip2-1.0.3/README b/plugins/updater/bzip2-1.0.3/README
deleted file mode 100644
index 9fb0f63601..0000000000
--- a/plugins/updater/bzip2-1.0.3/README
+++ /dev/null
@@ -1,215 +0,0 @@
-
-This is the README for bzip2/libzip2.
-This version is fully compatible with the previous public releases.
-
-------------------------------------------------------------------
-This file is part of bzip2/libbzip2, a program and library for
-lossless, block-sorting data compression.
-
-bzip2/libbzip2 version 1.0.6 of 6 September 2010
-Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
-Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
-
-This program is released under the terms of the license contained
-in the file LICENSE.
-------------------------------------------------------------------
-
-Complete documentation is available in Postscript form (manual.ps),
-PDF (manual.pdf) or html (manual.html). A plain-text version of the
-manual page is available as bzip2.txt.
-
-
-HOW TO BUILD -- UNIX
-
-Type 'make'. This builds the library libbz2.a and then the programs
-bzip2 and bzip2recover. Six self-tests are run. If the self-tests
-complete ok, carry on to installation:
-
-To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
-/usr/local/include, type
-
- make install
-
-To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
-
- make install PREFIX=/xxx/yyy
-
-If you are (justifiably) paranoid and want to see what 'make install'
-is going to do, you can first do
-
- make -n install or
- make -n install PREFIX=/xxx/yyy respectively.
-
-The -n instructs make to show the commands it would execute, but not
-actually execute them.
-
-
-HOW TO BUILD -- UNIX, shared library libbz2.so.
-
-Do 'make -f Makefile-libbz2_so'. This Makefile seems to work for
-Linux-ELF (RedHat 7.2 on an x86 box), with gcc. I make no claims
-that it works for any other platform, though I suspect it probably
-will work for most platforms employing both ELF and gcc.
-
-bzip2-shared, a client of the shared library, is also built, but not
-self-tested. So I suggest you also build using the normal Makefile,
-since that conducts a self-test. A second reason to prefer the
-version statically linked to the library is that, on x86 platforms,
-building shared objects makes a valuable register (%ebx) unavailable
-to gcc, resulting in a slowdown of 10%-20%, at least for bzip2.
-
-Important note for people upgrading .so's from 0.9.0/0.9.5 to version
-1.0.X. All the functions in the library have been renamed, from (eg)
-bzCompress to BZ2_bzCompress, to avoid namespace pollution.
-Unfortunately this means that the libbz2.so created by
-Makefile-libbz2_so will not work with any program which used an older
-version of the library. I do encourage library clients to make the
-effort to upgrade to use version 1.0, since it is both faster and more
-robust than previous versions.
-
-
-HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
-
-It's difficult for me to support compilation on all these platforms.
-My approach is to collect binaries for these platforms, and put them
-on the master web site (http://www.bzip.org). Look there. However
-(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
-unmodified with MS Visual C. If you have difficulties building, you
-might want to read README.COMPILATION.PROBLEMS.
-
-At least using MS Visual C++ 6, you can build from the unmodified
-sources by issuing, in a command shell:
-
- nmake -f makefile.msc
-
-(you may need to first run the MSVC-provided script VCVARS32.BAT
- so as to set up paths to the MSVC tools correctly).
-
-
-VALIDATION
-
-Correct operation, in the sense that a compressed file can always be
-decompressed to reproduce the original, is obviously of paramount
-importance. To validate bzip2, I used a modified version of Mark
-Nelson's churn program. Churn is an automated test driver which
-recursively traverses a directory structure, using bzip2 to compress
-and then decompress each file it encounters, and checking that the
-decompressed data is the same as the original.
-
-
-
-Please read and be aware of the following:
-
-WARNING:
-
- This program and library (attempts to) compress data by
- performing several non-trivial transformations on it.
- Unless you are 100% familiar with *all* the algorithms
- contained herein, and with the consequences of modifying them,
- you should NOT meddle with the compression or decompression
- machinery. Incorrect changes can and very likely *will*
- lead to disastrous loss of data.
-
-
-DISCLAIMER:
-
- I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
- USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED.
-
- Every compression of a file implies an assumption that the
- compressed file can be decompressed to reproduce the original.
- Great efforts in design, coding and testing have been made to
- ensure that this program works correctly. However, the complexity
- of the algorithms, and, in particular, the presence of various
- special cases in the code which occur with very low but non-zero
- probability make it impossible to rule out the possibility of bugs
- remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS
- PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
- SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
-
- That is not to say this program is inherently unreliable.
- Indeed, I very much hope the opposite is true. bzip2/libbzip2
- has been carefully constructed and extensively tested.
-
-
-PATENTS:
-
- To the best of my knowledge, bzip2/libbzip2 does not use any
- patented algorithms. However, I do not have the resources
- to carry out a patent search. Therefore I cannot give any
- guarantee of the above statement.
-
-
-
-WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
-
- * Approx 10% faster compression, 30% faster decompression
- * -t (test mode) is a lot quicker
- * Can decompress concatenated compressed files
- * Programming interface, so programs can directly read/write .bz2 files
- * Less restrictive (BSD-style) licensing
- * Flag handling more compatible with GNU gzip
- * Much more documentation, i.e., a proper user manual
- * Hopefully, improved portability (at least of the library)
-
-WHAT'S NEW IN 0.9.5 ?
-
- * Compression speed is much less sensitive to the input
- data than in previous versions. Specifically, the very
- slow performance caused by repetitive data is fixed.
- * Many small improvements in file and flag handling.
- * A Y2K statement.
-
-WHAT'S NEW IN 1.0.0 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.2 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.3 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.4 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.5 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.6 ?
-
- See the CHANGES file.
-
-
-I hope you find bzip2 useful. Feel free to contact me at
- jseward@bzip.org
-if you have any suggestions or queries. Many people mailed me with
-comments, suggestions and patches after the releases of bzip-0.15,
-bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
-1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
-feedback. I thank you for your comments.
-
-bzip2's "home" is http://www.bzip.org/
-
-Julian Seward
-jseward@bzip.org
-Cambridge, UK.
-
-18 July 1996 (version 0.15)
-25 August 1996 (version 0.21)
- 7 August 1997 (bzip2, version 0.1)
-29 August 1997 (bzip2, version 0.1pl2)
-23 August 1998 (bzip2, version 0.9.0)
- 8 June 1999 (bzip2, version 0.9.5)
- 4 Sept 1999 (bzip2, version 0.9.5d)
- 5 May 2000 (bzip2, version 1.0pre8)
-30 December 2001 (bzip2, version 1.0.2pre1)
-15 February 2005 (bzip2, version 1.0.3)
-20 December 2006 (bzip2, version 1.0.4)
-10 December 2007 (bzip2, version 1.0.5)
- 6 Sept 2010 (bzip2, version 1.0.6)
diff --git a/plugins/updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS b/plugins/updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS
deleted file mode 100644
index 667d0d6dfe..0000000000
--- a/plugins/updater/bzip2-1.0.3/README.COMPILATION.PROBLEMS
+++ /dev/null
@@ -1,58 +0,0 @@
-------------------------------------------------------------------
-This file is part of bzip2/libbzip2, a program and library for
-lossless, block-sorting data compression.
-
-bzip2/libbzip2 version 1.0.6 of 6 September 2010
-Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
-Please read the WARNING, DISCLAIMER and PATENTS sections in the
-README file.
-
-This program is released under the terms of the license contained
-in the file LICENSE.
-------------------------------------------------------------------
-
-bzip2-1.0.6 should compile without problems on the vast majority of
-platforms. Using the supplied Makefile, I've built and tested it
-myself for x86-linux and amd64-linux. With makefile.msc, Visual C++
-6.0 and nmake, you can build a native Win32 version too. Large file
-support seems to work correctly on at least on amd64-linux.
-
-When I say "large file" I mean a file of size 2,147,483,648 (2^31)
-bytes or above. Many older OSs can't handle files above this size,
-but many newer ones can. Large files are pretty huge -- most files
-you'll encounter are not Large Files.
-
-Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety
-of platforms without difficulty, and I hope this version will continue
-in that tradition. However, in order to support large files, I've had
-to include the define -D_FILE_OFFSET_BITS=64 in the Makefile. This
-can cause problems.
-
-The technique of adding -D_FILE_OFFSET_BITS=64 to get large file
-support is, as far as I know, the Recommended Way to get correct large
-file support. For more details, see the Large File Support
-Specification, published by the Large File Summit, at
-
- http://ftp.sas.com/standards/large.file
-
-As a general comment, if you get compilation errors which you think
-are related to large file support, try removing the above define from
-the Makefile, ie, delete the line
-
- BIGFILES=-D_FILE_OFFSET_BITS=64
-
-from the Makefile, and do 'make clean ; make'. This will give you a
-version of bzip2 without large file support, which, for most
-applications, is probably not a problem.
-
-Alternatively, try some of the platform-specific hints listed below.
-
-You can use the spewG.c program to generate huge files to test bzip2's
-large file support, if you are feeling paranoid. Be aware though that
-any compilation problems which affect bzip2 will also affect spewG.c,
-alas.
-
-AIX: I have reports that for large file support, you need to specify
--D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64. I have not tested
-this myself.
diff --git a/plugins/updater/bzip2-1.0.3/README.XML.STUFF b/plugins/updater/bzip2-1.0.3/README.XML.STUFF
deleted file mode 100644
index 3a57f3fa89..0000000000
--- a/plugins/updater/bzip2-1.0.3/README.XML.STUFF
+++ /dev/null
@@ -1,45 +0,0 @@
- ----------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ----------------------------------------------------------------
-
-The script xmlproc.sh takes an xml file as input,
-and processes it to create .pdf, .html or .ps output.
-It uses format.pl, a perl script to format <pre> blocks nicely,
- and add CDATA tags so writers do not have to use eg. &lt;
-
-The file "entities.xml" must be edited to reflect current
-version, year, etc.
-
-
-Usage:
-
- ./xmlproc.sh -v manual.xml
- Validates an xml file to ensure no dtd-compliance errors
-
- ./xmlproc.sh -html manual.xml
- Output: manual.html
-
- ./xmlproc.sh -pdf manual.xml
- Output: manual.pdf
-
- ./xmlproc.sh -ps manual.xml
- Output: manual.ps
-
-
-Notum bene:
-- pdfxmltex barfs if given a filename with an underscore in it
-
-- xmltex won't work yet - there's a bug in passivetex
- which we are all waiting for Sebastian to fix.
- So we are going the xml -> pdf -> ps route for the time being,
- using pdfxmltex.
diff --git a/plugins/updater/bzip2-1.0.3/Y2K_INFO b/plugins/updater/bzip2-1.0.3/Y2K_INFO
deleted file mode 100644
index 55fd56a2ed..0000000000
--- a/plugins/updater/bzip2-1.0.3/Y2K_INFO
+++ /dev/null
@@ -1,34 +0,0 @@
-
-Y2K status of bzip2 and libbzip2, versions 0.1, 0.9.0 and 0.9.5
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Informally speaking:
- bzip2 is a compression program built on top of libbzip2,
- a library which does the real work of compression and
- decompression. As far as I am aware, libbzip2 does not have
- any date-related code at all.
-
- bzip2 itself copies dates from source to destination files
- when compressing or decompressing, using the 'stat' and 'utime'
- UNIX system calls. It doesn't examine, manipulate or store the
- dates in any way. So as far as I can see, there shouldn't be any
- problem with bzip2 providing 'stat' and 'utime' work correctly
- on your system.
-
- On non-unix platforms (those for which BZ_UNIX in bzip2.c is
- not set to 1), bzip2 doesn't even do the date copying.
-
- Overall, informally speaking, I don't think bzip2 or libbzip2
- have a Y2K problem.
-
-Formally speaking:
- I am not prepared to offer you any assurance whatsoever
- regarding Y2K issues in my software. You alone assume the
- entire risk of using the software. The disclaimer of liability
- in the LICENSE file in the bzip2 source distribution continues
- to apply on this issue as with every other issue pertaining
- to the software.
-
-Julian Seward
-Cambridge, UK
-25 August 1999
diff --git a/plugins/updater/bzip2-1.0.3/blocksort.c b/plugins/updater/bzip2-1.0.3/blocksort.c
deleted file mode 100644
index d0d662cd4e..0000000000
--- a/plugins/updater/bzip2-1.0.3/blocksort.c
+++ /dev/null
@@ -1,1094 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Block sorting machinery ---*/
-/*--- blocksort.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include "bzlib_private.h"
-
-/*---------------------------------------------*/
-/*--- Fallback O(N log(N)^2) sorting ---*/
-/*--- algorithm, for repetitive blocks ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-void fallbackSimpleSort ( UInt32* fmap,
- UInt32* eclass,
- Int32 lo,
- Int32 hi )
-{
- Int32 i, j, tmp;
- UInt32 ec_tmp;
-
- if (lo == hi) return;
-
- if (hi - lo > 3) {
- for ( i = hi-4; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+4; j <= hi && ec_tmp > eclass[fmap[j]]; j += 4 )
- fmap[j-4] = fmap[j];
- fmap[j-4] = tmp;
- }
- }
-
- for ( i = hi-1; i >= lo; i-- ) {
- tmp = fmap[i];
- ec_tmp = eclass[tmp];
- for ( j = i+1; j <= hi && ec_tmp > eclass[fmap[j]]; j++ )
- fmap[j-1] = fmap[j];
- fmap[j-1] = tmp;
- }
-}
-
-
-/*---------------------------------------------*/
-#define fswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define fvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- fswap(fmap[yyp1], fmap[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-
-#define fmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define fpush(lz,hz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- sp++; }
-
-#define fpop(lz,hz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; }
-
-#define FALLBACK_QSORT_SMALL_THRESH 10
-#define FALLBACK_QSORT_STACK_SIZE 100
-
-
-static
-void fallbackQSort3 ( UInt32* fmap,
- UInt32* eclass,
- Int32 loSt,
- Int32 hiSt )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m;
- Int32 sp, lo, hi;
- UInt32 med, r, r3;
- Int32 stackLo[FALLBACK_QSORT_STACK_SIZE];
- Int32 stackHi[FALLBACK_QSORT_STACK_SIZE];
-
- r = 0;
-
- sp = 0;
- fpush ( loSt, hiSt );
-
- while (sp > 0) {
-
- AssertH ( sp < FALLBACK_QSORT_STACK_SIZE - 1, 1004 );
-
- fpop ( lo, hi );
- if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
- fallbackSimpleSort ( fmap, eclass, lo, hi );
- continue;
- }
-
- /* Random partitioning. Median of 3 sometimes fails to
- avoid bad cases. Median of 9 seems to help but
- looks rather expensive. This too seems to work but
- is cheaper. Guidance for the magic constants
- 7621 and 32768 is taken from Sedgewick's algorithms
- book, chapter 35.
- */
- r = ((r * 7621) + 1) % 32768;
- r3 = r % 3;
- if (r3 == 0) med = eclass[fmap[lo]]; else
- if (r3 == 1) med = eclass[fmap[(lo+hi)>>1]]; else
- med = eclass[fmap[hi]];
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (1) {
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unLo]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unLo], fmap[ltLo]);
- ltLo++; unLo++;
- continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (1) {
- if (unLo > unHi) break;
- n = (Int32)eclass[fmap[unHi]] - (Int32)med;
- if (n == 0) {
- fswap(fmap[unHi], fmap[gtHi]);
- gtHi--; unHi--;
- continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- fswap(fmap[unLo], fmap[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "fallbackQSort3(2)" );
-
- if (gtHi < ltLo) continue;
-
- n = fmin(ltLo-lo, unLo-ltLo); fvswap(lo, unLo-n, n);
- m = fmin(hi-gtHi, gtHi-unHi); fvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- if (n - lo > hi - m) {
- fpush ( lo, n );
- fpush ( m, hi );
- } else {
- fpush ( m, hi );
- fpush ( lo, n );
- }
- }
-}
-
-#undef fmin
-#undef fpush
-#undef fpop
-#undef fswap
-#undef fvswap
-#undef FALLBACK_QSORT_SMALL_THRESH
-#undef FALLBACK_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- eclass exists for [0 .. nblock-1]
- ((UChar*)eclass) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)eclass) [0 .. nblock-1] holds block
- All other areas of eclass destroyed
- fmap [0 .. nblock-1] holds sorted order
- bhtab [ 0 .. 2+(nblock/32) ] destroyed
-*/
-
-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
-#define WORD_BH(zz) bhtab[(zz) >> 5]
-#define UNALIGNED_BH(zz) ((zz) & 0x01f)
-
-static
-void fallbackSort ( UInt32* fmap,
- UInt32* eclass,
- UInt32* bhtab,
- Int32 nblock,
- Int32 verb )
-{
- Int32 ftab[257];
- Int32 ftabCopy[256];
- Int32 H, i, j, k, l, r, cc, cc1;
- Int32 nNotDone;
- Int32 nBhtab;
- UChar* eclass8 = (UChar*)eclass;
-
- /*--
- Initial 1-char radix sort to generate
- initial fmap and initial BH bits.
- --*/
- if (verb >= 4)
- VPrintf0 ( " bucket sorting ...\n" );
- for (i = 0; i < 257; i++) ftab[i] = 0;
- for (i = 0; i < nblock; i++) ftab[eclass8[i]]++;
- for (i = 0; i < 256; i++) ftabCopy[i] = ftab[i];
- for (i = 1; i < 257; i++) ftab[i] += ftab[i-1];
-
- for (i = 0; i < nblock; i++) {
- j = eclass8[i];
- k = ftab[j] - 1;
- ftab[j] = k;
- fmap[k] = i;
- }
-
- nBhtab = 2 + (nblock / 32);
- for (i = 0; i < nBhtab; i++) bhtab[i] = 0;
- for (i = 0; i < 256; i++) SET_BH(ftab[i]);
-
- /*--
- Inductively refine the buckets. Kind-of an
- "exponential radix sort" (!), inspired by the
- Manber-Myers suffix array construction algorithm.
- --*/
-
- /*-- set sentinel bits for block-end detection --*/
- for (i = 0; i < 32; i++) {
- SET_BH(nblock + 2*i);
- CLEAR_BH(nblock + 2*i + 1);
- }
-
- /*-- the log(N) loop --*/
- H = 1;
- while (1) {
-
- if (verb >= 4)
- VPrintf1 ( " depth %6d has ", H );
-
- j = 0;
- for (i = 0; i < nblock; i++) {
- if (ISSET_BH(i)) j = i;
- k = fmap[i] - H; if (k < 0) k += nblock;
- eclass[k] = j;
- }
-
- nNotDone = 0;
- r = -1;
- while (1) {
-
- /*-- find the next non-singleton bucket --*/
- k = r + 1;
- while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (ISSET_BH(k)) {
- while (WORD_BH(k) == 0xffffffff) k += 32;
- while (ISSET_BH(k)) k++;
- }
- l = k - 1;
- if (l >= nblock) break;
- while (!ISSET_BH(k) && UNALIGNED_BH(k)) k++;
- if (!ISSET_BH(k)) {
- while (WORD_BH(k) == 0x00000000) k += 32;
- while (!ISSET_BH(k)) k++;
- }
- r = k - 1;
- if (r >= nblock) break;
-
- /*-- now [l, r] bracket current bucket --*/
- if (r > l) {
- nNotDone += (r - l + 1);
- fallbackQSort3 ( fmap, eclass, l, r );
-
- /*-- scan bucket and generate header bits-- */
- cc = -1;
- for (i = l; i <= r; i++) {
- cc1 = eclass[fmap[i]];
- if (cc != cc1) { SET_BH(i); cc = cc1; };
- }
- }
- }
-
- if (verb >= 4)
- VPrintf1 ( "%6d unresolved strings\n", nNotDone );
-
- H *= 2;
- if (H > nblock || nNotDone == 0) break;
- }
-
- /*--
- Reconstruct the original block in
- eclass8 [0 .. nblock-1], since the
- previous phase destroyed it.
- --*/
- if (verb >= 4)
- VPrintf0 ( " reconstructing block ...\n" );
- j = 0;
- for (i = 0; i < nblock; i++) {
- while (ftabCopy[j] == 0) j++;
- ftabCopy[j]--;
- eclass8[fmap[i]] = (UChar)j;
- }
- AssertH ( j < 256, 1005 );
-}
-
-#undef SET_BH
-#undef CLEAR_BH
-#undef ISSET_BH
-#undef WORD_BH
-#undef UNALIGNED_BH
-
-
-/*---------------------------------------------*/
-/*--- The main, O(N^2 log(N)) sorting ---*/
-/*--- algorithm. Faster for "normal" ---*/
-/*--- non-repetitive blocks. ---*/
-/*---------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-__inline__
-Bool mainGtU ( UInt32 i1,
- UInt32 i2,
- UChar* block,
- UInt16* quadrant,
- UInt32 nblock,
- Int32* budget )
-{
- Int32 k;
- UChar c1, c2;
- UInt16 s1, s2;
-
- AssertD ( i1 != i2, "mainGtU" );
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 9 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 10 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 11 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
- /* 12 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- i1++; i2++;
-
- k = nblock + 8;
-
- do {
- /* 1 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 2 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 3 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 4 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 5 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 6 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 7 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
- /* 8 */
- c1 = block[i1]; c2 = block[i2];
- if (c1 != c2) return (c1 > c2);
- s1 = quadrant[i1]; s2 = quadrant[i2];
- if (s1 != s2) return (s1 > s2);
- i1++; i2++;
-
- if (i1 >= nblock) i1 -= nblock;
- if (i2 >= nblock) i2 -= nblock;
-
- k -= 8;
- (*budget)--;
- }
- while (k >= 0);
-
- return False;
-}
-
-
-/*---------------------------------------------*/
-/*--
- Knuth's increments seem to work better
- than Incerpi-Sedgewick here. Possibly
- because the number of elems to sort is
- usually small, typically <= 20.
---*/
-static
-Int32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,
- 9841, 29524, 88573, 265720,
- 797161, 2391484 };
-
-static
-void mainSimpleSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 lo,
- Int32 hi,
- Int32 d,
- Int32* budget )
-{
- Int32 i, j, h, bigN, hp;
- UInt32 v;
-
- bigN = hi - lo + 1;
- if (bigN < 2) return;
-
- hp = 0;
- while (incs[hp] < bigN) hp++;
- hp--;
-
- for (; hp >= 0; hp--) {
- h = incs[hp];
-
- i = lo + h;
- while (True) {
-
- /*-- copy 1 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 2 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- /*-- copy 3 --*/
- if (i > hi) break;
- v = ptr[i];
- j = i;
- while ( mainGtU (
- ptr[j-h]+d, v+d, block, quadrant, nblock, budget
- ) ) {
- ptr[j] = ptr[j-h];
- j = j - h;
- if (j <= (lo + h - 1)) break;
- }
- ptr[j] = v;
- i++;
-
- if (*budget < 0) return;
- }
- }
-}
-
-
-/*---------------------------------------------*/
-/*--
- The following is an implementation of
- an elegant 3-way quicksort for strings,
- described in a paper "Fast Algorithms for
- Sorting and Searching Strings", by Robert
- Sedgewick and Jon L. Bentley.
---*/
-
-#define mswap(zz1, zz2) \
- { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }
-
-#define mvswap(zzp1, zzp2, zzn) \
-{ \
- Int32 yyp1 = (zzp1); \
- Int32 yyp2 = (zzp2); \
- Int32 yyn = (zzn); \
- while (yyn > 0) { \
- mswap(ptr[yyp1], ptr[yyp2]); \
- yyp1++; yyp2++; yyn--; \
- } \
-}
-
-static
-__inline__
-UChar mmed3 ( UChar a, UChar b, UChar c )
-{
- UChar t;
- if (a > b) { t = a; a = b; b = t; };
- if (b > c) {
- b = c;
- if (a > b) b = a;
- }
- return b;
-}
-
-#define mmin(a,b) ((a) < (b)) ? (a) : (b)
-
-#define mpush(lz,hz,dz) { stackLo[sp] = lz; \
- stackHi[sp] = hz; \
- stackD [sp] = dz; \
- sp++; }
-
-#define mpop(lz,hz,dz) { sp--; \
- lz = stackLo[sp]; \
- hz = stackHi[sp]; \
- dz = stackD [sp]; }
-
-
-#define mnextsize(az) (nextHi[az]-nextLo[az])
-
-#define mnextswap(az,bz) \
- { Int32 tz; \
- tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \
- tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \
- tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }
-
-
-#define MAIN_QSORT_SMALL_THRESH 20
-#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)
-#define MAIN_QSORT_STACK_SIZE 100
-
-static
-void mainQSort3 ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- Int32 nblock,
- Int32 loSt,
- Int32 hiSt,
- Int32 dSt,
- Int32* budget )
-{
- Int32 unLo, unHi, ltLo, gtHi, n, m, med;
- Int32 sp, lo, hi, d;
-
- Int32 stackLo[MAIN_QSORT_STACK_SIZE];
- Int32 stackHi[MAIN_QSORT_STACK_SIZE];
- Int32 stackD [MAIN_QSORT_STACK_SIZE];
-
- Int32 nextLo[3];
- Int32 nextHi[3];
- Int32 nextD [3];
-
- sp = 0;
- mpush ( loSt, hiSt, dSt );
-
- while (sp > 0) {
-
- AssertH ( sp < MAIN_QSORT_STACK_SIZE - 2, 1001 );
-
- mpop ( lo, hi, d );
- if (hi - lo < MAIN_QSORT_SMALL_THRESH ||
- d > MAIN_QSORT_DEPTH_THRESH) {
- mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );
- if (*budget < 0) return;
- continue;
- }
-
- med = (Int32)
- mmed3 ( block[ptr[ lo ]+d],
- block[ptr[ hi ]+d],
- block[ptr[ (lo+hi)>>1 ]+d] );
-
- unLo = ltLo = lo;
- unHi = gtHi = hi;
-
- while (True) {
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unLo]+d]) - med;
- if (n == 0) {
- mswap(ptr[unLo], ptr[ltLo]);
- ltLo++; unLo++; continue;
- };
- if (n > 0) break;
- unLo++;
- }
- while (True) {
- if (unLo > unHi) break;
- n = ((Int32)block[ptr[unHi]+d]) - med;
- if (n == 0) {
- mswap(ptr[unHi], ptr[gtHi]);
- gtHi--; unHi--; continue;
- };
- if (n < 0) break;
- unHi--;
- }
- if (unLo > unHi) break;
- mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;
- }
-
- AssertD ( unHi == unLo-1, "mainQSort3(2)" );
-
- if (gtHi < ltLo) {
- mpush(lo, hi, d+1 );
- continue;
- }
-
- n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);
- m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);
-
- n = lo + unLo - ltLo - 1;
- m = hi - (gtHi - unHi) + 1;
-
- nextLo[0] = lo; nextHi[0] = n; nextD[0] = d;
- nextLo[1] = m; nextHi[1] = hi; nextD[1] = d;
- nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;
-
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
- if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);
- if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);
-
- AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );
- AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );
-
- mpush (nextLo[0], nextHi[0], nextD[0]);
- mpush (nextLo[1], nextHi[1], nextD[1]);
- mpush (nextLo[2], nextHi[2], nextD[2]);
- }
-}
-
-#undef mswap
-#undef mvswap
-#undef mpush
-#undef mpop
-#undef mmin
-#undef mnextsize
-#undef mnextswap
-#undef MAIN_QSORT_SMALL_THRESH
-#undef MAIN_QSORT_DEPTH_THRESH
-#undef MAIN_QSORT_STACK_SIZE
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > N_OVERSHOOT
- block32 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)block32) [0 .. nblock-1] holds block
- ptr exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)block32) [0 .. nblock-1] holds block
- All other areas of block32 destroyed
- ftab [0 .. 65536 ] destroyed
- ptr [0 .. nblock-1] holds sorted order
- if (*budget < 0), sorting was abandoned
-*/
-
-#define BIGFREQ(b) (ftab[((b)+1) << 8] - ftab[(b) << 8])
-#define SETMASK (1 << 21)
-#define CLEARMASK (~(SETMASK))
-
-static
-void mainSort ( UInt32* ptr,
- UChar* block,
- UInt16* quadrant,
- UInt32* ftab,
- Int32 nblock,
- Int32 verb,
- Int32* budget )
-{
- Int32 i, j, k, ss, sb;
- Int32 runningOrder[256];
- Bool bigDone[256];
- Int32 copyStart[256];
- Int32 copyEnd [256];
- UChar c1;
- Int32 numQSorted;
- UInt16 s;
- if (verb >= 4) VPrintf0 ( " main sort initialise ...\n" );
-
- /*-- set up the 2-byte frequency table --*/
- for (i = 65536; i >= 0; i--) ftab[i] = 0;
-
- j = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- quadrant[i-1] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-1]) << 8);
- ftab[j]++;
- quadrant[i-2] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-2]) << 8);
- ftab[j]++;
- quadrant[i-3] = 0;
- j = (j >> 8) | ( ((UInt16)block[i-3]) << 8);
- ftab[j]++;
- }
- for (; i >= 0; i--) {
- quadrant[i] = 0;
- j = (j >> 8) | ( ((UInt16)block[i]) << 8);
- ftab[j]++;
- }
-
- /*-- (emphasises close relationship of block & quadrant) --*/
- for (i = 0; i < BZ_N_OVERSHOOT; i++) {
- block [nblock+i] = block[i];
- quadrant[nblock+i] = 0;
- }
-
- if (verb >= 4) VPrintf0 ( " bucket sorting ...\n" );
-
- /*-- Complete the initial radix sort --*/
- for (i = 1; i <= 65536; i++) ftab[i] += ftab[i-1];
-
- s = block[0] << 8;
- i = nblock-1;
- for (; i >= 3; i -= 4) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- s = (s >> 8) | (block[i-1] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-1;
- s = (s >> 8) | (block[i-2] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-2;
- s = (s >> 8) | (block[i-3] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i-3;
- }
- for (; i >= 0; i--) {
- s = (s >> 8) | (block[i] << 8);
- j = ftab[s] -1;
- ftab[s] = j;
- ptr[j] = i;
- }
-
- /*--
- Now ftab contains the first loc of every small bucket.
- Calculate the running order, from smallest to largest
- big bucket.
- --*/
- for (i = 0; i <= 255; i++) {
- bigDone [i] = False;
- runningOrder[i] = i;
- }
-
- {
- Int32 vv;
- Int32 h = 1;
- do h = 3 * h + 1; while (h <= 256);
- do {
- h = h / 3;
- for (i = h; i <= 255; i++) {
- vv = runningOrder[i];
- j = i;
- while ( BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv) ) {
- runningOrder[j] = runningOrder[j-h];
- j = j - h;
- if (j <= (h - 1)) goto zero;
- }
- zero:
- runningOrder[j] = vv;
- }
- } while (h != 1);
- }
-
- /*--
- The main sorting loop.
- --*/
-
- numQSorted = 0;
-
- for (i = 0; i <= 255; i++) {
-
- /*--
- Process big buckets, starting with the least full.
- Basically this is a 3-step process in which we call
- mainQSort3 to sort the small buckets [ss, j], but
- also make a big effort to avoid the calls if we can.
- --*/
- ss = runningOrder[i];
-
- /*--
- Step 1:
- Complete the big bucket [ss] by quicksorting
- any unsorted small buckets [ss, j], for j != ss.
- Hopefully previous pointer-scanning phases have already
- completed many of the small buckets [ss, j], so
- we don't have to sort them at all.
- --*/
- for (j = 0; j <= 255; j++) {
- if (j != ss) {
- sb = (ss << 8) + j;
- if ( ! (ftab[sb] & SETMASK) ) {
- Int32 lo = ftab[sb] & CLEARMASK;
- Int32 hi = (ftab[sb+1] & CLEARMASK) - 1;
- if (hi > lo) {
- if (verb >= 4)
- VPrintf4 ( " qsort [0x%x, 0x%x] "
- "done %d this %d\n",
- ss, j, numQSorted, hi - lo + 1 );
- mainQSort3 (
- ptr, block, quadrant, nblock,
- lo, hi, BZ_N_RADIX, budget
- );
- numQSorted += (hi - lo + 1);
- if (*budget < 0) return;
- }
- }
- ftab[sb] |= SETMASK;
- }
- }
-
- AssertH ( !bigDone[ss], 1006 );
-
- /*--
- Step 2:
- Now scan this big bucket [ss] so as to synthesise the
- sorted order for small buckets [t, ss] for all t,
- including, magically, the bucket [ss,ss] too.
- This will avoid doing Real Work in subsequent Step 1's.
- --*/
- {
- for (j = 0; j <= 255; j++) {
- copyStart[j] = ftab[(j << 8) + ss] & CLEARMASK;
- copyEnd [j] = (ftab[(j << 8) + ss + 1] & CLEARMASK) - 1;
- }
- for (j = ftab[ss << 8] & CLEARMASK; j < copyStart[ss]; j++) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyStart[c1]++ ] = k;
- }
- for (j = (ftab[(ss+1) << 8] & CLEARMASK) - 1; j > copyEnd[ss]; j--) {
- k = ptr[j]-1; if (k < 0) k += nblock;
- c1 = block[k];
- if (!bigDone[c1])
- ptr[ copyEnd[c1]-- ] = k;
- }
- }
-
- AssertH ( (copyStart[ss]-1 == copyEnd[ss])
- ||
- /* Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
- Necessity for this case is demonstrated by compressing
- a sequence of approximately 48.5 million of character
- 251; 1.0.0/1.0.1 will then die here. */
- (copyStart[ss] == 0 && copyEnd[ss] == nblock-1),
- 1007 )
-
- for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
-
- /*--
- Step 3:
- The [ss] big bucket is now done. Record this fact,
- and update the quadrant descriptors. Remember to
- update quadrants in the overshoot area too, if
- necessary. The "if (i < 255)" test merely skips
- this updating for the last bucket processed, since
- updating for the last bucket is pointless.
-
- The quadrant array provides a way to incrementally
- cache sort orderings, as they appear, so as to
- make subsequent comparisons in fullGtU() complete
- faster. For repetitive blocks this makes a big
- difference (but not big enough to be able to avoid
- the fallback sorting mechanism, exponential radix sort).
-
- The precise meaning is: at all times:
-
- for 0 <= i < nblock and 0 <= j <= nblock
-
- if block[i] != block[j],
-
- then the relative values of quadrant[i] and
- quadrant[j] are meaningless.
-
- else {
- if quadrant[i] < quadrant[j]
- then the string starting at i lexicographically
- precedes the string starting at j
-
- else if quadrant[i] > quadrant[j]
- then the string starting at j lexicographically
- precedes the string starting at i
-
- else
- the relative ordering of the strings starting
- at i and j has not yet been determined.
- }
- --*/
- bigDone[ss] = True;
-
- if (i < 255) {
- Int32 bbStart = ftab[ss << 8] & CLEARMASK;
- Int32 bbSize = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart;
- Int32 shifts = 0;
-
- while ((bbSize >> shifts) > 65534) shifts++;
-
- for (j = bbSize-1; j >= 0; j--) {
- Int32 a2update = ptr[bbStart + j];
- UInt16 qVal = (UInt16)(j >> shifts);
- quadrant[a2update] = qVal;
- if (a2update < BZ_N_OVERSHOOT)
- quadrant[a2update + nblock] = qVal;
- }
- AssertH ( ((bbSize-1) >> shifts) <= 65535, 1002 );
- }
-
- }
-
- if (verb >= 4)
- VPrintf3 ( " %d pointers, %d sorted, %d scanned\n",
- nblock, numQSorted, nblock - numQSorted );
-}
-
-#undef BIGFREQ
-#undef SETMASK
-#undef CLEARMASK
-
-
-/*---------------------------------------------*/
-/* Pre:
- nblock > 0
- arr2 exists for [0 .. nblock-1 +N_OVERSHOOT]
- ((UChar*)arr2) [0 .. nblock-1] holds block
- arr1 exists for [0 .. nblock-1]
-
- Post:
- ((UChar*)arr2) [0 .. nblock-1] holds block
- All other areas of block destroyed
- ftab [ 0 .. 65536 ] destroyed
- arr1 [0 .. nblock-1] holds sorted order
-*/
-void BZ2_blockSort ( EState* s )
-{
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt32* ftab = s->ftab;
- Int32 nblock = s->nblock;
- Int32 verb = s->verbosity;
- Int32 wfact = s->workFactor;
- UInt16* quadrant;
- Int32 budget;
- Int32 budgetInit;
- Int32 i;
-
- if (nblock < 10000) {
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- } else {
- /* Calculate the location for quadrant, remembering to get
- the alignment right. Assumes that &(block[0]) is at least
- 2-byte aligned -- this should be ok since block is really
- the first section of arr2.
- */
- i = nblock+BZ_N_OVERSHOOT;
- if (i & 1) i++;
- quadrant = (UInt16*)(&(block[i]));
-
- /* (wfact-1) / 3 puts the default-factor-30
- transition point at very roughly the same place as
- with v0.1 and v0.9.0.
- Not that it particularly matters any more, since the
- resulting compressed stream is now the same regardless
- of whether or not we use the main sort or fallback sort.
- */
- if (wfact < 1 ) wfact = 1;
- if (wfact > 100) wfact = 100;
- budgetInit = nblock * ((wfact-1) / 3);
- budget = budgetInit;
-
- mainSort ( ptr, block, quadrant, ftab, nblock, verb, &budget );
- if (verb >= 3)
- VPrintf3 ( " %d work, %d block, ratio %5.2f\n",
- budgetInit - budget,
- nblock,
- (float)(budgetInit - budget) /
- (float)(nblock==0 ? 1 : nblock) );
- if (budget < 0) {
- if (verb >= 2)
- VPrintf0 ( " too repetitive; using fallback"
- " sorting algorithm\n" );
- fallbackSort ( s->arr1, s->arr2, ftab, nblock, verb );
- }
- }
-
- s->origPtr = -1;
- for (i = 0; i < s->nblock; i++)
- if (ptr[i] == 0)
- { s->origPtr = i; break; };
-
- AssertH( s->origPtr != -1, 1003 );
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end blocksort.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/bz-common.xsl b/plugins/updater/bzip2-1.0.3/bz-common.xsl
deleted file mode 100644
index 66fcd6fe0b..0000000000
--- a/plugins/updater/bzip2-1.0.3/bz-common.xsl
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0"?> <!-- -*- sgml -*- -->
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<!-- we like '1.2 Title' -->
-<xsl:param name="section.autolabel" select="'1'"/>
-<xsl:param name="section.label.includes.component.label" select="'1'"/>
-
-<!-- Do not put 'Chapter' at the start of eg 'Chapter 1. Doing This' -->
-<xsl:param name="local.l10n.xml" select="document('')"/>
-<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
- <l:l10n language="en">
- <l:context name="title-numbered">
- <l:template name="chapter" text="%n.&#160;%t"/>
- </l:context>
- </l:l10n>
-</l:i18n>
-
-<!-- don't generate sub-tocs for qanda sets -->
-<xsl:param name="generate.toc">
-set toc,title
-book toc,title,figure,table,example,equation
-chapter toc,title
-section toc
-sect1 toc
-sect2 toc
-sect3 toc
-sect4 nop
-sect5 nop
-qandaset toc
-qandadiv nop
-appendix toc,title
-article/appendix nop
-article toc,title
-preface toc,title
-reference toc,title
-</xsl:param>
-
-</xsl:stylesheet>
diff --git a/plugins/updater/bzip2-1.0.3/bz-fo.xsl b/plugins/updater/bzip2-1.0.3/bz-fo.xsl
deleted file mode 100644
index ba3e30123f..0000000000
--- a/plugins/updater/bzip2-1.0.3/bz-fo.xsl
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> <!-- -*- sgml -*- -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
-
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
-<xsl:import href="bz-common.xsl"/>
-
-<!-- set indent = yes while debugging, then change to NO -->
-<xsl:output method="xml" indent="yes"/>
-
-<!-- ensure only passivetex extensions are on -->
-<xsl:param name="stylesheet.result.type" select="'fo'"/>
-<!-- fo extensions: PDF bookmarks and index terms -->
-<xsl:param name="use.extensions" select="'1'"/>
-<xsl:param name="xep.extensions" select="0"/>
-<xsl:param name="fop.extensions" select="0"/>
-<xsl:param name="saxon.extensions" select="0"/>
-<xsl:param name="passivetex.extensions" select="1"/>
-<xsl:param name="tablecolumns.extension" select="'1'"/>
-
-<!-- ensure we are using single sided -->
-<xsl:param name="double.sided" select="'0'"/>
-
-<!-- insert cross references to page numbers -->
-<xsl:param name="insert.xref.page.number" select="1"/>
-
-<!-- <?custom-pagebreak?> inserts a page break at this point -->
-<xsl:template match="processing-instruction('custom-pagebreak')">
- <fo:block break-before='page'/>
-</xsl:template>
-
-<!-- show links in color -->
-<xsl:attribute-set name="xref.properties">
- <xsl:attribute name="color">blue</xsl:attribute>
-</xsl:attribute-set>
-
-<!-- make pre listings indented a bit + a bg colour -->
-<xsl:template match="programlisting | screen">
- <fo:block start-indent="0.25in" wrap-option="no-wrap"
- white-space-collapse="false" text-align="start"
- font-family="monospace" background-color="#f2f2f9"
- linefeed-treatment="preserve"
- xsl:use-attribute-sets="normal.para.spacing">
- <xsl:apply-templates/>
- </fo:block>
-</xsl:template>
-<!-- make verbatim output prettier -->
-<xsl:template match="literallayout">
- <fo:block start-indent="0.25in" wrap-option="no-wrap"
- white-space-collapse="false" text-align="start"
- font-family="monospace" background-color="#edf7f4"
- linefeed-treatment="preserve"
- space-before="0em" space-after="0em">
- <xsl:apply-templates/>
- </fo:block>
-</xsl:template>
-
-<!-- workaround bug in passivetex fo output for itemizedlist -->
-<xsl:template match="itemizedlist/listitem">
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/></xsl:variable>
- <xsl:variable name="itemsymbol">
- <xsl:call-template name="list.itemsymbol">
- <xsl:with-param name="node" select="parent::itemizedlist"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="item.contents">
- <fo:list-item-label end-indent="label-end()">
- <fo:block>
- <xsl:choose>
- <xsl:when test="$itemsymbol='disc'">&#x2022;</xsl:when>
- <xsl:when test="$itemsymbol='bullet'">&#x2022;</xsl:when>
- <xsl:otherwise>&#x2022;</xsl:otherwise>
- </xsl:choose>
- </fo:block>
- </fo:list-item-label>
- <fo:list-item-body start-indent="body-start()">
- <xsl:apply-templates/> <!-- removed extra block wrapper -->
- </fo:list-item-body>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="parent::*/@spacing = 'compact'">
- <fo:list-item id="{$id}"
- xsl:use-attribute-sets="compact.list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:when>
- <xsl:otherwise>
- <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<!-- workaround bug in passivetex fo output for orderedlist -->
-<xsl:template match="orderedlist/listitem">
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/></xsl:variable>
- <xsl:variable name="item.contents">
- <fo:list-item-label end-indent="label-end()">
- <fo:block>
- <xsl:apply-templates select="." mode="item-number"/>
- </fo:block>
- </fo:list-item-label>
- <fo:list-item-body start-indent="body-start()">
- <xsl:apply-templates/> <!-- removed extra block wrapper -->
- </fo:list-item-body>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="parent::*/@spacing = 'compact'">
- <fo:list-item id="{$id}"
- xsl:use-attribute-sets="compact.list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:when>
- <xsl:otherwise>
- <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<!-- workaround bug in passivetex fo output for variablelist -->
-<xsl:param name="variablelist.as.blocks" select="1"/>
-<xsl:template match="varlistentry" mode="vl.as.blocks">
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/></xsl:variable>
- <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"
- keep-together.within-column="always"
- keep-with-next.within-column="always">
- <xsl:apply-templates select="term"/>
- </fo:block>
- <fo:block start-indent="0.5in" end-indent="0in"
- space-after.minimum="0.2em"
- space-after.optimum="0.4em"
- space-after.maximum="0.6em">
- <fo:block>
- <xsl:apply-templates select="listitem"/>
- </fo:block>
- </fo:block>
-</xsl:template>
-
-
-<!-- workaround bug in footers: force right-align w/two 80|30 cols -->
-<xsl:template name="footer.table">
- <xsl:param name="pageclass" select="''"/>
- <xsl:param name="sequence" select="''"/>
- <xsl:param name="gentext-key" select="''"/>
- <xsl:choose>
- <xsl:when test="$pageclass = 'index'">
- <xsl:attribute name="margin-left">0pt</xsl:attribute>
- </xsl:when>
- </xsl:choose>
- <xsl:variable name="candidate">
- <fo:table table-layout="fixed" width="100%">
- <fo:table-column column-number="1" column-width="80%"/>
- <fo:table-column column-number="2" column-width="20%"/>
- <fo:table-body>
- <fo:table-row height="14pt">
- <fo:table-cell text-align="left" display-align="after">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <fo:block> </fo:block><!-- empty cell -->
- </fo:block>
- </fo:table-cell>
- <fo:table-cell text-align="center" display-align="after">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <xsl:call-template name="footer.content">
- <xsl:with-param name="pageclass" select="$pageclass"/>
- <xsl:with-param name="sequence" select="$sequence"/>
- <xsl:with-param name="position" select="'center'"/>
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
- </xsl:call-template>
- </fo:block>
- </fo:table-cell>
- </fo:table-row>
- </fo:table-body>
- </fo:table>
- </xsl:variable>
- <!-- Really output a footer? -->
- <xsl:choose>
- <xsl:when test="$pageclass='titlepage' and $gentext-key='book'
- and $sequence='first'">
- <!-- no, book titlepages have no footers at all -->
- </xsl:when>
- <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0">
- <!-- no output -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$candidate"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<!-- fix bug in headers: force right-align w/two 40|60 cols -->
-<xsl:template name="header.table">
- <xsl:param name="pageclass" select="''"/>
- <xsl:param name="sequence" select="''"/>
- <xsl:param name="gentext-key" select="''"/>
- <xsl:choose>
- <xsl:when test="$pageclass = 'index'">
- <xsl:attribute name="margin-left">0pt</xsl:attribute>
- </xsl:when>
- </xsl:choose>
- <xsl:variable name="candidate">
- <fo:table table-layout="fixed" width="100%">
- <xsl:call-template name="head.sep.rule">
- <xsl:with-param name="pageclass" select="$pageclass"/>
- <xsl:with-param name="sequence" select="$sequence"/>
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
- </xsl:call-template>
- <fo:table-column column-number="1" column-width="40%"/>
- <fo:table-column column-number="2" column-width="60%"/>
- <fo:table-body>
- <fo:table-row height="14pt">
- <fo:table-cell text-align="left" display-align="before">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <fo:block> </fo:block><!-- empty cell -->
- </fo:block>
- </fo:table-cell>
- <fo:table-cell text-align="center" display-align="before">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <xsl:call-template name="header.content">
- <xsl:with-param name="pageclass" select="$pageclass"/>
- <xsl:with-param name="sequence" select="$sequence"/>
- <xsl:with-param name="position" select="'center'"/>
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
- </xsl:call-template>
- </fo:block>
- </fo:table-cell>
- </fo:table-row>
- </fo:table-body>
- </fo:table>
- </xsl:variable>
- <!-- Really output a header? -->
- <xsl:choose>
- <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book'
- and $sequence='first'">
- <!-- no, book titlepages have no headers at all -->
- </xsl:when>
- <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0">
- <!-- no output -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$candidate"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<!-- Bug-fix for Suse 10 PassiveTex version -->
-<!-- Precompute attribute values 'cos PassiveTex is too stupid: -->
-<xsl:attribute-set name="component.title.properties">
- <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
- <xsl:attribute name="space-before.optimum">
- <xsl:value-of select="concat($body.font.master, 'pt')"/>
- </xsl:attribute>
- <xsl:attribute name="space-before.minimum">
- <xsl:value-of select="$body.font.master * 0.8"/>
- <xsl:text>pt</xsl:text>
- </xsl:attribute>
- <xsl:attribute name="space-before.maximum">
- <xsl:value-of select="$body.font.master * 1.2"/>
- <xsl:text>pt</xsl:text>
- </xsl:attribute>
- <xsl:attribute name="hyphenate">false</xsl:attribute>
-</xsl:attribute-set>
-
-
-</xsl:stylesheet>
diff --git a/plugins/updater/bzip2-1.0.3/bz-html.xsl b/plugins/updater/bzip2-1.0.3/bz-html.xsl
deleted file mode 100644
index 1785fffbc9..0000000000
--- a/plugins/updater/bzip2-1.0.3/bz-html.xsl
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?> <!-- -*- sgml -*- -->
-<!DOCTYPE xsl:stylesheet [ <!ENTITY bz-css SYSTEM "./bzip.css"> ]>
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
-<xsl:import href="bz-common.xsl"/>
-
-<!-- use 8859-1 encoding -->
-<xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
-
-<!-- we include the css directly when generating one large file -->
-<xsl:template name="user.head.content">
- <style type="text/css" media="screen">
- <xsl:text>&bz-css;</xsl:text>
- </style>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/plugins/updater/bzip2-1.0.3/bzdiff b/plugins/updater/bzip2-1.0.3/bzdiff
deleted file mode 100644
index 6fc38f92d2..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzdiff
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-
-# Bzcmp/diff wrapped for bzip2,
-# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-# Bzcmp and bzdiff are used to invoke the cmp or the diff pro-
-# gram on compressed files. All options specified are passed
-# directly to cmp or diff. If only 1 file is specified, then
-# the files compared are file1 and an uncompressed file1.gz.
-# If two files are specified, then they are uncompressed (if
-# necessary) and fed to cmp or diff. The exit status from cmp
-# or diff is preserved.
-
-PATH="/usr/bin:/bin:$PATH"; export PATH
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
- *cmp) comp=${CMP-cmp} ;;
- *) comp=${DIFF-diff} ;;
-esac
-
-OPTIONS=
-FILES=
-for ARG
-do
- case "$ARG" in
- -*) OPTIONS="$OPTIONS $ARG";;
- *) if test -f "$ARG"; then
- FILES="$FILES $ARG"
- else
- echo "${prog}: $ARG not found or not a regular file"
- exit 1
- fi ;;
- esac
-done
-if test -z "$FILES"; then
- echo "Usage: $prog [${comp}_options] file [file]"
- exit 1
-fi
-tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || {
- echo 'cannot create a temporary file' >&2
- exit 1
-}
-set $FILES
-if test $# -eq 1; then
- FILE=`echo "$1" | sed 's/.bz2$//'`
- bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
- STAT="$?"
-
-elif test $# -eq 2; then
- case "$1" in
- *.bz2)
- case "$2" in
- *.bz2)
- F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
- bzip2 -cdfq "$2" > $tmp
- bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
- STAT="$?"
- /bin/rm -f $tmp;;
-
- *) bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
- STAT="$?";;
- esac;;
- *) case "$2" in
- *.bz2)
- bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
- STAT="$?";;
- *) $comp $OPTIONS "$1" "$2"
- STAT="$?";;
- esac;;
- esac
- exit "$STAT"
-else
- echo "Usage: $prog [${comp}_options] file [file]"
- exit 1
-fi
diff --git a/plugins/updater/bzip2-1.0.3/bzdiff.1 b/plugins/updater/bzip2-1.0.3/bzdiff.1
deleted file mode 100644
index adb7a8e724..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzdiff.1
+++ /dev/null
@@ -1,47 +0,0 @@
-\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
-\"for Debian GNU/Linux
-.TH BZDIFF 1
-.SH NAME
-bzcmp, bzdiff \- compare bzip2 compressed files
-.SH SYNOPSIS
-.B bzcmp
-[ cmp_options ] file1
-[ file2 ]
-.br
-.B bzdiff
-[ diff_options ] file1
-[ file2 ]
-.SH DESCRIPTION
-.I Bzcmp
-and
-.I bzdiff
-are used to invoke the
-.I cmp
-or the
-.I diff
-program on bzip2 compressed files. All options specified are passed
-directly to
-.I cmp
-or
-.IR diff "."
-If only 1 file is specified, then the files compared are
-.I file1
-and an uncompressed
-.IR file1 ".bz2."
-If two files are specified, then they are uncompressed if necessary and fed to
-.I cmp
-or
-.IR diff "."
-The exit status from
-.I cmp
-or
-.I diff
-is preserved.
-.SH "SEE ALSO"
-cmp(1), diff(1), bzmore(1), bzless(1), bzgrep(1), bzip2(1)
-.SH BUGS
-Messages from the
-.I cmp
-or
-.I diff
-programs refer to temporary filenames instead of those specified.
diff --git a/plugins/updater/bzip2-1.0.3/bzgrep b/plugins/updater/bzip2-1.0.3/bzgrep
deleted file mode 100644
index 9a04b8337d..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzgrep
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-
-# Bzgrep wrapped for bzip2,
-# adapted from zgrep by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-## zgrep notice:
-## zgrep -- a wrapper around a grep program that decompresses files as needed
-## Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
- *egrep) grep=${EGREP-egrep} ;;
- *fgrep) grep=${FGREP-fgrep} ;;
- *) grep=${GREP-grep} ;;
-esac
-pat=""
-while test $# -ne 0; do
- case "$1" in
- -e | -f) opt="$opt $1"; shift; pat="$1"
- if test "$grep" = grep; then # grep is buggy with -e on SVR4
- grep=egrep
- fi;;
- -A | -B) opt="$opt $1 $2"; shift;;
- -*) opt="$opt $1";;
- *) if test -z "$pat"; then
- pat="$1"
- else
- break;
- fi;;
- esac
- shift
-done
-
-if test -z "$pat"; then
- echo "grep through bzip2 files"
- echo "usage: $prog [grep_options] pattern [files]"
- exit 1
-fi
-
-list=0
-silent=0
-op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
-case "$op" in
- *l*) list=1
-esac
-case "$op" in
- *h*) silent=1
-esac
-
-if test $# -eq 0; then
- bzip2 -cdfq | $grep $opt "$pat"
- exit $?
-fi
-
-res=0
-for i do
- if test -f "$i"; then :; else if test -f "$i.bz2"; then i="$i.bz2"; fi; fi
- if test $list -eq 1; then
- bzip2 -cdfq "$i" | $grep $opt "$pat" 2>&1 > /dev/null && echo $i
- r=$?
- elif test $# -eq 1 -o $silent -eq 1; then
- bzip2 -cdfq "$i" | $grep $opt "$pat"
- r=$?
- else
- j=${i//\\/\\\\}
- j=${j//|/\\|}
- j=${j//&/\\&}
- j=`printf "%s" "$j" | tr '\n' ' '`
- bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
- r=$?
- fi
- test "$r" -ne 0 && res="$r"
-done
-exit $res
diff --git a/plugins/updater/bzip2-1.0.3/bzgrep.1 b/plugins/updater/bzip2-1.0.3/bzgrep.1
deleted file mode 100644
index 930af8c7fc..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzgrep.1
+++ /dev/null
@@ -1,56 +0,0 @@
-\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
-\"for Debian GNU/Linux
-.TH BZGREP 1
-.SH NAME
-bzgrep, bzfgrep, bzegrep \- search possibly bzip2 compressed files for a regular expression
-.SH SYNOPSIS
-.B bzgrep
-[ grep_options ]
-.BI [\ -e\ ] " pattern"
-.IR filename ".\|.\|."
-.br
-.B bzegrep
-[ egrep_options ]
-.BI [\ -e\ ] " pattern"
-.IR filename ".\|.\|."
-.br
-.B bzfgrep
-[ fgrep_options ]
-.BI [\ -e\ ] " pattern"
-.IR filename ".\|.\|."
-.SH DESCRIPTION
-.IR Bzgrep
-is used to invoke the
-.I grep
-on bzip2-compressed files. All options specified are passed directly to
-.I grep.
-If no file is specified, then the standard input is decompressed
-if necessary and fed to grep.
-Otherwise the given files are uncompressed if necessary and fed to
-.I grep.
-.PP
-If
-.I bzgrep
-is invoked as
-.I bzegrep
-or
-.I bzfgrep
-then
-.I egrep
-or
-.I fgrep
-is used instead of
-.I grep.
-If the GREP environment variable is set,
-.I bzgrep
-uses it as the
-.I grep
-program to be invoked. For example:
-
- for sh: GREP=fgrep bzgrep string files
- for csh: (setenv GREP fgrep; bzgrep string files)
-.SH AUTHOR
-Charles Levert (charles@comm.polymtl.ca). Adapted to bzip2 by Philippe
-Troin <phil@fifi.org> for Debian GNU/Linux.
-.SH "SEE ALSO"
-grep(1), egrep(1), fgrep(1), bzdiff(1), bzmore(1), bzless(1), bzip2(1)
diff --git a/plugins/updater/bzip2-1.0.3/bzip.css b/plugins/updater/bzip2-1.0.3/bzip.css
deleted file mode 100644
index 43193d8db0..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzip.css
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Colours:
-#74240f dark brown h1, h2, h3, h4
-#336699 medium blue links
-#339999 turquoise link hover colour
-#202020 almost black general text
-#761596 purple md5sum text
-#626262 dark gray pre border
-#eeeeee very light gray pre background
-#f2f2f9 very light blue nav table background
-#3366cc medium blue nav table border
-*/
-
-a, a:link, a:visited, a:active { color: #336699; }
-a:hover { color: #339999; }
-
-body { font: 80%/126% sans-serif; }
-h1, h2, h3, h4 { color: #74240f; }
-
-dt { color: #336699; font-weight: bold }
-dd {
- margin-left: 1.5em;
- padding-bottom: 0.8em;
-}
-
-/* -- ruler -- */
-div.hr_blue {
- height: 3px;
- background:#ffffff url("/images/hr_blue.png") repeat-x; }
-div.hr_blue hr { display:none; }
-
-/* release styles */
-#release p { margin-top: 0.4em; }
-#release .md5sum { color: #761596; }
-
-
-/* ------ styles for docs|manuals|howto ------ */
-/* -- lists -- */
-ul {
- margin: 0px 4px 16px 16px;
- padding: 0px;
- list-style: url("/images/li-blue.png");
-}
-ul li {
- margin-bottom: 10px;
-}
-ul ul {
- list-style-type: none;
- list-style-image: none;
- margin-left: 0px;
-}
-
-/* header / footer nav tables */
-table.nav {
- border: solid 1px #3366cc;
- background: #f2f2f9;
- background-color: #f2f2f9;
- margin-bottom: 0.5em;
-}
-/* don't have underlined links in chunked nav menus */
-table.nav a { text-decoration: none; }
-table.nav a:hover { text-decoration: underline; }
-table.nav td { font-size: 85%; }
-
-code, tt, pre { font-size: 120%; }
-code, tt { color: #761596; }
-
-div.literallayout, pre.programlisting, pre.screen {
- color: #000000;
- padding: 0.5em;
- background: #eeeeee;
- border: 1px solid #626262;
- background-color: #eeeeee;
- margin: 4px 0px 4px 0px;
-}
diff --git a/plugins/updater/bzip2-1.0.3/bzip2.1 b/plugins/updater/bzip2-1.0.3/bzip2.1
deleted file mode 100644
index ce3a78e6b4..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzip2.1
+++ /dev/null
@@ -1,454 +0,0 @@
-.PU
-.TH bzip2 1
-.SH NAME
-bzip2, bunzip2 \- a block-sorting file compressor, v1.0.6
-.br
-bzcat \- decompresses files to stdout
-.br
-bzip2recover \- recovers data from damaged bzip2 files
-
-.SH SYNOPSIS
-.ll +8
-.B bzip2
-.RB [ " \-cdfkqstvzVL123456789 " ]
-[
-.I "filenames \&..."
-]
-.ll -8
-.br
-.B bunzip2
-.RB [ " \-fkvsVL " ]
-[
-.I "filenames \&..."
-]
-.br
-.B bzcat
-.RB [ " \-s " ]
-[
-.I "filenames \&..."
-]
-.br
-.B bzip2recover
-.I "filename"
-
-.SH DESCRIPTION
-.I bzip2
-compresses files using the Burrows-Wheeler block sorting
-text compression algorithm, and Huffman coding. Compression is
-generally considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of the PPM
-family of statistical compressors.
-
-The command-line options are deliberately very similar to
-those of
-.I GNU gzip,
-but they are not identical.
-
-.I bzip2
-expects a list of file names to accompany the
-command-line flags. Each file is replaced by a compressed version of
-itself, with the name "original_name.bz2".
-Each compressed file
-has the same modification date, permissions, and, when possible,
-ownership as the corresponding original, so that these properties can
-be correctly restored at decompression time. File name handling is
-naive in the sense that there is no mechanism for preserving original
-file names, permissions, ownerships or dates in filesystems which lack
-these concepts, or have serious file name length restrictions, such as
-MS-DOS.
-
-.I bzip2
-and
-.I bunzip2
-will by default not overwrite existing
-files. If you want this to happen, specify the \-f flag.
-
-If no file names are specified,
-.I bzip2
-compresses from standard
-input to standard output. In this case,
-.I bzip2
-will decline to
-write compressed output to a terminal, as this would be entirely
-incomprehensible and therefore pointless.
-
-.I bunzip2
-(or
-.I bzip2 \-d)
-decompresses all
-specified files. Files which were not created by
-.I bzip2
-will be detected and ignored, and a warning issued.
-.I bzip2
-attempts to guess the filename for the decompressed file
-from that of the compressed file as follows:
-
- filename.bz2 becomes filename
- filename.bz becomes filename
- filename.tbz2 becomes filename.tar
- filename.tbz becomes filename.tar
- anyothername becomes anyothername.out
-
-If the file does not end in one of the recognised endings,
-.I .bz2,
-.I .bz,
-.I .tbz2
-or
-.I .tbz,
-.I bzip2
-complains that it cannot
-guess the name of the original file, and uses the original name
-with
-.I .out
-appended.
-
-As with compression, supplying no
-filenames causes decompression from
-standard input to standard output.
-
-.I bunzip2
-will correctly decompress a file which is the
-concatenation of two or more compressed files. The result is the
-concatenation of the corresponding uncompressed files. Integrity
-testing (\-t)
-of concatenated
-compressed files is also supported.
-
-You can also compress or decompress files to the standard output by
-giving the \-c flag. Multiple files may be compressed and
-decompressed like this. The resulting outputs are fed sequentially to
-stdout. Compression of multiple files
-in this manner generates a stream
-containing multiple compressed file representations. Such a stream
-can be decompressed correctly only by
-.I bzip2
-version 0.9.0 or
-later. Earlier versions of
-.I bzip2
-will stop after decompressing
-the first file in the stream.
-
-.I bzcat
-(or
-.I bzip2 -dc)
-decompresses all specified files to
-the standard output.
-
-.I bzip2
-will read arguments from the environment variables
-.I BZIP2
-and
-.I BZIP,
-in that order, and will process them
-before any arguments read from the command line. This gives a
-convenient way to supply default arguments.
-
-Compression is always performed, even if the compressed
-file is slightly
-larger than the original. Files of less than about one hundred bytes
-tend to get larger, since the compression mechanism has a constant
-overhead in the region of 50 bytes. Random data (including the output
-of most file compressors) is coded at about 8.05 bits per byte, giving
-an expansion of around 0.5%.
-
-As a self-check for your protection,
-.I
-bzip2
-uses 32-bit CRCs to
-make sure that the decompressed version of a file is identical to the
-original. This guards against corruption of the compressed data, and
-against undetected bugs in
-.I bzip2
-(hopefully very unlikely). The
-chances of data corruption going undetected is microscopic, about one
-chance in four billion for each file processed. Be aware, though, that
-the check occurs upon decompression, so it can only tell you that
-something is wrong. It can't help you
-recover the original uncompressed
-data. You can use
-.I bzip2recover
-to try to recover data from
-damaged files.
-
-Return values: 0 for a normal exit, 1 for environmental problems (file
-not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt
-compressed file, 3 for an internal consistency error (eg, bug) which
-caused
-.I bzip2
-to panic.
-
-.SH OPTIONS
-.TP
-.B \-c --stdout
-Compress or decompress to standard output.
-.TP
-.B \-d --decompress
-Force decompression.
-.I bzip2,
-.I bunzip2
-and
-.I bzcat
-are
-really the same program, and the decision about what actions to take is
-done on the basis of which name is used. This flag overrides that
-mechanism, and forces
-.I bzip2
-to decompress.
-.TP
-.B \-z --compress
-The complement to \-d: forces compression, regardless of the
-invocation name.
-.TP
-.B \-t --test
-Check integrity of the specified file(s), but don't decompress them.
-This really performs a trial decompression and throws away the result.
-.TP
-.B \-f --force
-Force overwrite of output files. Normally,
-.I bzip2
-will not overwrite
-existing output files. Also forces
-.I bzip2
-to break hard links
-to files, which it otherwise wouldn't do.
-
-bzip2 normally declines to decompress files which don't have the
-correct magic header bytes. If forced (-f), however, it will pass
-such files through unmodified. This is how GNU gzip behaves.
-.TP
-.B \-k --keep
-Keep (don't delete) input files during compression
-or decompression.
-.TP
-.B \-s --small
-Reduce memory usage, for compression, decompression and testing. Files
-are decompressed and tested using a modified algorithm which only
-requires 2.5 bytes per block byte. This means any file can be
-decompressed in 2300k of memory, albeit at about half the normal speed.
-
-During compression, \-s selects a block size of 200k, which limits
-memory use to around the same figure, at the expense of your compression
-ratio. In short, if your machine is low on memory (8 megabytes or
-less), use \-s for everything. See MEMORY MANAGEMENT below.
-.TP
-.B \-q --quiet
-Suppress non-essential warning messages. Messages pertaining to
-I/O errors and other critical events will not be suppressed.
-.TP
-.B \-v --verbose
-Verbose mode -- show the compression ratio for each file processed.
-Further \-v's increase the verbosity level, spewing out lots of
-information which is primarily of interest for diagnostic purposes.
-.TP
-.B \-L --license -V --version
-Display the software version, license terms and conditions.
-.TP
-.B \-1 (or \-\-fast) to \-9 (or \-\-best)
-Set the block size to 100 k, 200 k .. 900 k when compressing. Has no
-effect when decompressing. See MEMORY MANAGEMENT below.
-The \-\-fast and \-\-best aliases are primarily for GNU gzip
-compatibility. In particular, \-\-fast doesn't make things
-significantly faster.
-And \-\-best merely selects the default behaviour.
-.TP
-.B \--
-Treats all subsequent arguments as file names, even if they start
-with a dash. This is so you can handle files with names beginning
-with a dash, for example: bzip2 \-- \-myfilename.
-.TP
-.B \--repetitive-fast --repetitive-best
-These flags are redundant in versions 0.9.5 and above. They provided
-some coarse control over the behaviour of the sorting algorithm in
-earlier versions, which was sometimes useful. 0.9.5 and above have an
-improved algorithm which renders these flags irrelevant.
-
-.SH MEMORY MANAGEMENT
-.I bzip2
-compresses large files in blocks. The block size affects
-both the compression ratio achieved, and the amount of memory needed for
-compression and decompression. The flags \-1 through \-9
-specify the block size to be 100,000 bytes through 900,000 bytes (the
-default) respectively. At decompression time, the block size used for
-compression is read from the header of the compressed file, and
-.I bunzip2
-then allocates itself just enough memory to decompress
-the file. Since block sizes are stored in compressed files, it follows
-that the flags \-1 to \-9 are irrelevant to and so ignored
-during decompression.
-
-Compression and decompression requirements,
-in bytes, can be estimated as:
-
- Compression: 400k + ( 8 x block size )
-
- Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-
-Larger block sizes give rapidly diminishing marginal returns. Most of
-the compression comes from the first two or three hundred k of block
-size, a fact worth bearing in mind when using
-.I bzip2
-on small machines.
-It is also important to appreciate that the decompression memory
-requirement is set at compression time by the choice of block size.
-
-For files compressed with the default 900k block size,
-.I bunzip2
-will require about 3700 kbytes to decompress. To support decompression
-of any file on a 4 megabyte machine,
-.I bunzip2
-has an option to
-decompress using approximately half this amount of memory, about 2300
-kbytes. Decompression speed is also halved, so you should use this
-option only where necessary. The relevant flag is -s.
-
-In general, try and use the largest block size memory constraints allow,
-since that maximises the compression achieved. Compression and
-decompression speed are virtually unaffected by block size.
-
-Another significant point applies to files which fit in a single block
--- that means most files you'd encounter using a large block size. The
-amount of real memory touched is proportional to the size of the file,
-since the file is smaller than a block. For example, compressing a file
-20,000 bytes long with the flag -9 will cause the compressor to
-allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
-kbytes of it. Similarly, the decompressor will allocate 3700k but only
-touch 100k + 20000 * 4 = 180 kbytes.
-
-Here is a table which summarises the maximum memory usage for different
-block sizes. Also recorded is the total compressed size for 14 files of
-the Calgary Text Compression Corpus totalling 3,141,622 bytes. This
-column gives some feel for how compression varies with block size.
-These figures tend to understate the advantage of larger block sizes for
-larger files, since the Corpus is dominated by smaller files.
-
- Compress Decompress Decompress Corpus
- Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642
-
-.SH RECOVERING DATA FROM DAMAGED FILES
-.I bzip2
-compresses files in blocks, usually 900kbytes long. Each
-block is handled independently. If a media or transmission error causes
-a multi-block .bz2
-file to become damaged, it may be possible to
-recover data from the undamaged blocks in the file.
-
-The compressed representation of each block is delimited by a 48-bit
-pattern, which makes it possible to find the block boundaries with
-reasonable certainty. Each block also carries its own 32-bit CRC, so
-damaged blocks can be distinguished from undamaged ones.
-
-.I bzip2recover
-is a simple program whose purpose is to search for
-blocks in .bz2 files, and write each block out into its own .bz2
-file. You can then use
-.I bzip2
-\-t
-to test the
-integrity of the resulting files, and decompress those which are
-undamaged.
-
-.I bzip2recover
-takes a single argument, the name of the damaged file,
-and writes a number of files "rec00001file.bz2",
-"rec00002file.bz2", etc, containing the extracted blocks.
-The output filenames are designed so that the use of
-wildcards in subsequent processing -- for example,
-"bzip2 -dc rec*file.bz2 > recovered_data" -- processes the files in
-the correct order.
-
-.I bzip2recover
-should be of most use dealing with large .bz2
-files, as these will contain many blocks. It is clearly
-futile to use it on damaged single-block files, since a
-damaged block cannot be recovered. If you wish to minimise
-any potential data loss through media or transmission errors,
-you might consider compressing with a smaller
-block size.
-
-.SH PERFORMANCE NOTES
-The sorting phase of compression gathers together similar strings in the
-file. Because of this, files containing very long runs of repeated
-symbols, like "aabaabaabaab ..." (repeated several hundred times) may
-compress more slowly than normal. Versions 0.9.5 and above fare much
-better than previous versions in this respect. The ratio between
-worst-case and average-case compression time is in the region of 10:1.
-For previous versions, this figure was more like 100:1. You can use the
-\-vvvv option to monitor progress in great detail, if you want.
-
-Decompression speed is unaffected by these phenomena.
-
-.I bzip2
-usually allocates several megabytes of memory to operate
-in, and then charges all over it in a fairly random fashion. This means
-that performance, both for compressing and decompressing, is largely
-determined by the speed at which your machine can service cache misses.
-Because of this, small changes to the code to reduce the miss rate have
-been observed to give disproportionately large performance improvements.
-I imagine
-.I bzip2
-will perform best on machines with very large caches.
-
-.SH CAVEATS
-I/O error messages are not as helpful as they could be.
-.I bzip2
-tries hard to detect I/O errors and exit cleanly, but the details of
-what the problem is sometimes seem rather misleading.
-
-This manual page pertains to version 1.0.6 of
-.I bzip2.
-Compressed data created by this version is entirely forwards and
-backwards compatible with the previous public releases, versions
-0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and above, but with the following
-exception: 0.9.0 and above can correctly decompress multiple
-concatenated compressed files. 0.1pl2 cannot do this; it will stop
-after decompressing just the first file in the stream.
-
-.I bzip2recover
-versions prior to 1.0.2 used 32-bit integers to represent
-bit positions in compressed files, so they could not handle compressed
-files more than 512 megabytes long. Versions 1.0.2 and above use
-64-bit ints on some platforms which support them (GNU supported
-targets, and Windows). To establish whether or not bzip2recover was
-built with such a limitation, run it without arguments. In any event
-you can build yourself an unlimited version if you can recompile it
-with MaybeUInt64 set to be an unsigned 64-bit integer.
-
-
-
-.SH AUTHOR
-Julian Seward, jsewardbzip.org.
-
-http://www.bzip.org
-
-The ideas embodied in
-.I bzip2
-are due to (at least) the following
-people: Michael Burrows and David Wheeler (for the block sorting
-transformation), David Wheeler (again, for the Huffman coder), Peter
-Fenwick (for the structured coding model in the original
-.I bzip,
-and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
-(for the arithmetic coder in the original
-.I bzip).
-I am much
-indebted for their help, support and advice. See the manual in the
-source distribution for pointers to sources of documentation. Christian
-von Roques encouraged me to look for faster sorting algorithms, so as to
-speed up compression. Bela Lubkin encouraged me to improve the
-worst-case compression performance.
-Donna Robinson XMLised the documentation.
-The bz* scripts are derived from those of GNU gzip.
-Many people sent patches, helped
-with portability problems, lent machines, gave advice and were generally
-helpful.
diff --git a/plugins/updater/bzip2-1.0.3/bzip2.1.preformatted b/plugins/updater/bzip2-1.0.3/bzip2.1.preformatted
deleted file mode 100644
index 63c33be99e..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzip2.1.preformatted
+++ /dev/null
@@ -1,399 +0,0 @@
-bzip2(1) bzip2(1)
-
-
-
-NNAAMMEE
- bzip2, bunzip2 − a blockâ€sorting file compressor, v1.0.6
- bzcat − decompresses files to stdout
- bzip2recover − recovers data from damaged bzip2 files
-
-
-SSYYNNOOPPSSIISS
- bbzziipp22 [ −−ccddffkkqqssttvvzzVVLL112233445566778899 ] [ _f_i_l_e_n_a_m_e_s _._._. ]
- bbuunnzziipp22 [ −−ffkkvvssVVLL ] [ _f_i_l_e_n_a_m_e_s _._._. ]
- bbzzccaatt [ −−ss ] [ _f_i_l_e_n_a_m_e_s _._._. ]
- bbzziipp22rreeccoovveerr _f_i_l_e_n_a_m_e
-
-
-DDEESSCCRRIIPPTTIIOONN
- _b_z_i_p_2 compresses files using the Burrowsâ€Wheeler block
- sorting text compression algorithm, and Huffman coding.
- Compression is generally considerably better than that
- achieved by more conventional LZ77/LZ78â€based compressors,
- and approaches the performance of the PPM family of sta­
- tistical compressors.
-
- The commandâ€line options are deliberately very similar to
- those of _G_N_U _g_z_i_p_, but they are not identical.
-
- _b_z_i_p_2 expects a list of file names to accompany the com­
- mandâ€line flags. Each file is replaced by a compressed
- version of itself, with the name "original_name.bz2".
- Each compressed file has the same modification date, per­
- missions, and, when possible, ownership as the correspond­
- ing original, so that these properties can be correctly
- restored at decompression time. File name handling is
- naive in the sense that there is no mechanism for preserv­
- ing original file names, permissions, ownerships or dates
- in filesystems which lack these concepts, or have serious
- file name length restrictions, such as MSâ€DOS.
-
- _b_z_i_p_2 and _b_u_n_z_i_p_2 will by default not overwrite existing
- files. If you want this to happen, specify the −f flag.
-
- If no file names are specified, _b_z_i_p_2 compresses from
- standard input to standard output. In this case, _b_z_i_p_2
- will decline to write compressed output to a terminal, as
- this would be entirely incomprehensible and therefore
- pointless.
-
- _b_u_n_z_i_p_2 (or _b_z_i_p_2 _−_d_) decompresses all specified files.
- Files which were not created by _b_z_i_p_2 will be detected and
- ignored, and a warning issued. _b_z_i_p_2 attempts to guess
- the filename for the decompressed file from that of the
- compressed file as follows:
-
- filename.bz2 becomes filename
- filename.bz becomes filename
- filename.tbz2 becomes filename.tar
- filename.tbz becomes filename.tar
- anyothername becomes anyothername.out
-
- If the file does not end in one of the recognised endings,
- _._b_z_2_, _._b_z_, _._t_b_z_2 or _._t_b_z_, _b_z_i_p_2 complains that it cannot
- guess the name of the original file, and uses the original
- name with _._o_u_t appended.
-
- As with compression, supplying no filenames causes decom­
- pression from standard input to standard output.
-
- _b_u_n_z_i_p_2 will correctly decompress a file which is the con­
- catenation of two or more compressed files. The result is
- the concatenation of the corresponding uncompressed files.
- Integrity testing (−t) of concatenated compressed files is
- also supported.
-
- You can also compress or decompress files to the standard
- output by giving the −c flag. Multiple files may be com­
- pressed and decompressed like this. The resulting outputs
- are fed sequentially to stdout. Compression of multiple
- files in this manner generates a stream containing multi­
- ple compressed file representations. Such a stream can be
- decompressed correctly only by _b_z_i_p_2 version 0.9.0 or
- later. Earlier versions of _b_z_i_p_2 will stop after decom­
- pressing the first file in the stream.
-
- _b_z_c_a_t (or _b_z_i_p_2 _â€_d_c_) decompresses all specified files to
- the standard output.
-
- _b_z_i_p_2 will read arguments from the environment variables
- _B_Z_I_P_2 and _B_Z_I_P_, in that order, and will process them
- before any arguments read from the command line. This
- gives a convenient way to supply default arguments.
-
- Compression is always performed, even if the compressed
- file is slightly larger than the original. Files of less
- than about one hundred bytes tend to get larger, since the
- compression mechanism has a constant overhead in the
- region of 50 bytes. Random data (including the output of
- most file compressors) is coded at about 8.05 bits per
- byte, giving an expansion of around 0.5%.
-
- As a selfâ€check for your protection, _b_z_i_p_2 uses 32â€bit
- CRCs to make sure that the decompressed version of a file
- is identical to the original. This guards against corrup­
- tion of the compressed data, and against undetected bugs
- in _b_z_i_p_2 (hopefully very unlikely). The chances of data
- corruption going undetected is microscopic, about one
- chance in four billion for each file processed. Be aware,
- though, that the check occurs upon decompression, so it
- can only tell you that something is wrong. It can’t help
- you recover the original uncompressed data. You can use
- _b_z_i_p_2_r_e_c_o_v_e_r to try to recover data from damaged files.
-
- Return values: 0 for a normal exit, 1 for environmental
- problems (file not found, invalid flags, I/O errors, &c),
- 2 to indicate a corrupt compressed file, 3 for an internal
- consistency error (eg, bug) which caused _b_z_i_p_2 to panic.
-
-
-OOPPTTIIOONNSS
- −−cc â€â€â€â€ssttddoouutt
- Compress or decompress to standard output.
-
- −−dd â€â€â€â€ddeeccoommpprreessss
- Force decompression. _b_z_i_p_2_, _b_u_n_z_i_p_2 and _b_z_c_a_t are
- really the same program, and the decision about
- what actions to take is done on the basis of which
- name is used. This flag overrides that mechanism,
- and forces _b_z_i_p_2 to decompress.
-
- −−zz â€â€â€â€ccoommpprreessss
- The complement to −d: forces compression,
- regardless of the invocation name.
-
- −−tt â€â€â€â€tteesstt
- Check integrity of the specified file(s), but don’t
- decompress them. This really performs a trial
- decompression and throws away the result.
-
- −−ff â€â€â€â€ffoorrccee
- Force overwrite of output files. Normally, _b_z_i_p_2
- will not overwrite existing output files. Also
- forces _b_z_i_p_2 to break hard links to files, which it
- otherwise wouldn’t do.
-
- bzip2 normally declines to decompress files which
- don’t have the correct magic header bytes. If
- forced (â€f), however, it will pass such files
- through unmodified. This is how GNU gzip behaves.
-
- −−kk â€â€â€â€kkeeeepp
- Keep (don’t delete) input files during compression
- or decompression.
-
- −−ss â€â€â€â€ssmmaallll
- Reduce memory usage, for compression, decompression
- and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5
- bytes per block byte. This means any file can be
- decompressed in 2300k of memory, albeit at about
- half the normal speed.
-
- During compression, −s selects a block size of
- 200k, which limits memory use to around the same
- figure, at the expense of your compression ratio.
- In short, if your machine is low on memory (8
- megabytes or less), use −s for everything. See
- MEMORY MANAGEMENT below.
-
- −−qq â€â€â€â€qquuiieett
- Suppress nonâ€essential warning messages. Messages
- pertaining to I/O errors and other critical events
- will not be suppressed.
-
- −−vv â€â€â€â€vveerrbboossee
- Verbose mode â€â€ show the compression ratio for each
- file processed. Further −v’s increase the ver­
- bosity level, spewing out lots of information which
- is primarily of interest for diagnostic purposes.
-
- −−LL â€â€â€â€lliicceennssee â€â€VV â€â€â€â€vveerrssiioonn
- Display the software version, license terms and
- conditions.
-
- −−11 ((oorr −−−−ffaasstt)) ttoo −−99 ((oorr −−−−bbeesstt))
- Set the block size to 100 k, 200 k .. 900 k when
- compressing. Has no effect when decompressing.
- See MEMORY MANAGEMENT below. The −−fast and −−best
- aliases are primarily for GNU gzip compatibility.
- In particular, −−fast doesn’t make things signifi­
- cantly faster. And −−best merely selects the
- default behaviour.
-
- −− Treats all subsequent arguments as file names, even
- if they start with a dash. This is so you can han­
- dle files with names beginning with a dash, for
- example: bzip2 −†−myfilename.
-
- −−â€â€rreeppeettiittiivveeâ€â€ffaasstt â€â€â€â€rreeppeettiittiivveeâ€â€bbeesstt
- These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the
- behaviour of the sorting algorithm in earlier ver­
- sions, which was sometimes useful. 0.9.5 and above
- have an improved algorithm which renders these
- flags irrelevant.
-
-
-MMEEMMOORRYY MMAANNAAGGEEMMEENNTT
- _b_z_i_p_2 compresses large files in blocks. The block size
- affects both the compression ratio achieved, and the
- amount of memory needed for compression and decompression.
- The flags −1 through −9 specify the block size to be
- 100,000 bytes through 900,000 bytes (the default) respec­
- tively. At decompression time, the block size used for
- compression is read from the header of the compressed
- file, and _b_u_n_z_i_p_2 then allocates itself just enough memory
- to decompress the file. Since block sizes are stored in
- compressed files, it follows that the flags −1 to −9 are
- irrelevant to and so ignored during decompression.
-
- Compression and decompression requirements, in bytes, can
- be estimated as:
-
- Compression: 400k + ( 8 x block size )
-
- Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-
- Larger block sizes give rapidly diminishing marginal
- returns. Most of the compression comes from the first two
- or three hundred k of block size, a fact worth bearing in
- mind when using _b_z_i_p_2 on small machines. It is also
- important to appreciate that the decompression memory
- requirement is set at compression time by the choice of
- block size.
-
- For files compressed with the default 900k block size,
- _b_u_n_z_i_p_2 will require about 3700 kbytes to decompress. To
- support decompression of any file on a 4 megabyte machine,
- _b_u_n_z_i_p_2 has an option to decompress using approximately
- half this amount of memory, about 2300 kbytes. Decompres­
- sion speed is also halved, so you should use this option
- only where necessary. The relevant flag is â€s.
-
- In general, try and use the largest block size memory con­
- straints allow, since that maximises the compression
- achieved. Compression and decompression speed are virtu­
- ally unaffected by block size.
-
- Another significant point applies to files which fit in a
- single block â€â€ that means most files you’d encounter
- using a large block size. The amount of real memory
- touched is proportional to the size of the file, since the
- file is smaller than a block. For example, compressing a
- file 20,000 bytes long with the flag â€9 will cause the
- compressor to allocate around 7600k of memory, but only
- touch 400k + 20000 * 8 = 560 kbytes of it. Similarly, the
- decompressor will allocate 3700k but only touch 100k +
- 20000 * 4 = 180 kbytes.
-
- Here is a table which summarises the maximum memory usage
- for different block sizes. Also recorded is the total
- compressed size for 14 files of the Calgary Text Compres­
- sion Corpus totalling 3,141,622 bytes. This column gives
- some feel for how compression varies with block size.
- These figures tend to understate the advantage of larger
- block sizes for larger files, since the Corpus is domi­
- nated by smaller files.
-
- Compress Decompress Decompress Corpus
- Flag usage usage â€s usage Size
-
- â€1 1200k 500k 350k 914704
- â€2 2000k 900k 600k 877703
- â€3 2800k 1300k 850k 860338
- â€4 3600k 1700k 1100k 846899
- â€5 4400k 2100k 1350k 845160
- â€6 5200k 2500k 1600k 838626
- â€7 6100k 2900k 1850k 834096
- â€8 6800k 3300k 2100k 828642
- â€9 7600k 3700k 2350k 828642
-
-
-RREECCOOVVEERRIINNGG DDAATTAA FFRROOMM DDAAMMAAGGEEDD FFIILLEESS
- _b_z_i_p_2 compresses files in blocks, usually 900kbytes long.
- Each block is handled independently. If a media or trans­
- mission error causes a multiâ€block .bz2 file to become
- damaged, it may be possible to recover data from the
- undamaged blocks in the file.
-
- The compressed representation of each block is delimited
- by a 48â€bit pattern, which makes it possible to find the
- block boundaries with reasonable certainty. Each block
- also carries its own 32â€bit CRC, so damaged blocks can be
- distinguished from undamaged ones.
-
- _b_z_i_p_2_r_e_c_o_v_e_r is a simple program whose purpose is to
- search for blocks in .bz2 files, and write each block out
- into its own .bz2 file. You can then use _b_z_i_p_2 −t to test
- the integrity of the resulting files, and decompress those
- which are undamaged.
-
- _b_z_i_p_2_r_e_c_o_v_e_r takes a single argument, the name of the dam­
- aged file, and writes a number of files
- "rec00001file.bz2", "rec00002file.bz2", etc, containing
- the extracted blocks. The output filenames are
- designed so that the use of wildcards in subsequent pro­
- cessing â€â€ for example, "bzip2 â€dc rec*file.bz2 > recov­
- ered_data" â€â€ processes the files in the correct order.
-
- _b_z_i_p_2_r_e_c_o_v_e_r should be of most use dealing with large .bz2
- files, as these will contain many blocks. It is clearly
- futile to use it on damaged singleâ€block files, since a
- damaged block cannot be recovered. If you wish to min­
- imise any potential data loss through media or transmis­
- sion errors, you might consider compressing with a smaller
- block size.
-
-
-PPEERRFFOORRMMAANNCCEE NNOOTTEESS
- The sorting phase of compression gathers together similar
- strings in the file. Because of this, files containing
- very long runs of repeated symbols, like "aabaabaabaab
- ..." (repeated several hundred times) may compress more
- slowly than normal. Versions 0.9.5 and above fare much
- better than previous versions in this respect. The ratio
- between worstâ€case and averageâ€case compression time is in
- the region of 10:1. For previous versions, this figure
- was more like 100:1. You can use the −vvvv option to mon­
- itor progress in great detail, if you want.
-
- Decompression speed is unaffected by these phenomena.
-
- _b_z_i_p_2 usually allocates several megabytes of memory to
- operate in, and then charges all over it in a fairly ran­
- dom fashion. This means that performance, both for com­
- pressing and decompressing, is largely determined by the
- speed at which your machine can service cache misses.
- Because of this, small changes to the code to reduce the
- miss rate have been observed to give disproportionately
- large performance improvements. I imagine _b_z_i_p_2 will per­
- form best on machines with very large caches.
-
-
-CCAAVVEEAATTSS
- I/O error messages are not as helpful as they could be.
- _b_z_i_p_2 tries hard to detect I/O errors and exit cleanly,
- but the details of what the problem is sometimes seem
- rather misleading.
-
- This manual page pertains to version 1.0.6 of _b_z_i_p_2_. Com­
- pressed data created by this version is entirely forwards
- and backwards compatible with the previous public
- releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
- 1.0.2 and above, but with the following exception: 0.9.0
- and above can correctly decompress multiple concatenated
- compressed files. 0.1pl2 cannot do this; it will stop
- after decompressing just the first file in the stream.
-
- _b_z_i_p_2_r_e_c_o_v_e_r versions prior to 1.0.2 used 32â€bit integers
- to represent bit positions in compressed files, so they
- could not handle compressed files more than 512 megabytes
- long. Versions 1.0.2 and above use 64â€bit ints on some
- platforms which support them (GNU supported targets, and
- Windows). To establish whether or not bzip2recover was
- built with such a limitation, run it without arguments.
- In any event you can build yourself an unlimited version
- if you can recompile it with MaybeUInt64 set to be an
- unsigned 64â€bit integer.
-
-
-
-
-AAUUTTHHOORR
- Julian Seward, jsewardbzip.org.
-
- http://www.bzip.org
-
- The ideas embodied in _b_z_i_p_2 are due to (at least) the fol­
- lowing people: Michael Burrows and David Wheeler (for the
- block sorting transformation), David Wheeler (again, for
- the Huffman coder), Peter Fenwick (for the structured cod­
- ing model in the original _b_z_i_p_, and many refinements), and
- Alistair Moffat, Radford Neal and Ian Witten (for the
- arithmetic coder in the original _b_z_i_p_)_. I am much
- indebted for their help, support and advice. See the man­
- ual in the source distribution for pointers to sources of
- documentation. Christian von Roques encouraged me to look
- for faster sorting algorithms, so as to speed up compres­
- sion. Bela Lubkin encouraged me to improve the worstâ€case
- compression performance. Donna Robinson XMLised the docu­
- mentation. The bz* scripts are derived from those of GNU
- gzip. Many people sent patches, helped with portability
- problems, lent machines, gave advice and were generally
- helpful.
-
-
-
- bzip2(1)
diff --git a/plugins/updater/bzip2-1.0.3/bzip2.c b/plugins/updater/bzip2-1.0.3/bzip2.c
deleted file mode 100644
index 6de9d1d148..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzip2.c
+++ /dev/null
@@ -1,2034 +0,0 @@
-
-/*-----------------------------------------------------------*/
-/*--- A block-sorting, lossless compressor bzip2.c ---*/
-/*-----------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-/* Place a 1 beside your platform, and 0 elsewhere.
- Generic 32-bit Unix.
- Also works on 64-bit Unix boxes.
- This is the default.
-*/
-#define BZ_UNIX 1
-
-/*--
- Win32, as seen by Jacob Navia's excellent
- port of (Chris Fraser & David Hanson)'s excellent
- lcc compiler. Or with MS Visual C.
- This is selected automatically if compiled by a compiler which
- defines _WIN32, not including the Cygwin GCC.
---*/
-#define BZ_LCCWIN32 0
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-#undef BZ_LCCWIN32
-#define BZ_LCCWIN32 1
-#undef BZ_UNIX
-#define BZ_UNIX 0
-#endif
-
-
-/*---------------------------------------------*/
-/*--
- Some stuff for all platforms.
---*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <signal.h>
-#include <math.h>
-#include <errno.h>
-#include <ctype.h>
-#include "bzlib.h"
-
-#define ERROR_IF_EOF(i) { if ((i) == EOF) ioError(); }
-#define ERROR_IF_NOT_ZERO(i) { if ((i) != 0) ioError(); }
-#define ERROR_IF_MINUS_ONE(i) { if ((i) == (-1)) ioError(); }
-
-
-/*---------------------------------------------*/
-/*--
- Platform-specific stuff.
---*/
-
-#if BZ_UNIX
-# include <fcntl.h>
-# include <sys/types.h>
-# include <utime.h>
-# include <unistd.h>
-# include <sys/stat.h>
-# include <sys/times.h>
-
-# define PATH_SEP '/'
-# define MY_LSTAT lstat
-# define MY_STAT stat
-# define MY_S_ISREG S_ISREG
-# define MY_S_ISDIR S_ISDIR
-
-# define APPEND_FILESPEC(root, name) \
- root=snocString((root), (name))
-
-# define APPEND_FLAG(root, name) \
- root=snocString((root), (name))
-
-# define SET_BINARY_MODE(fd) /**/
-
-# ifdef __GNUC__
-# define NORETURN __attribute__ ((noreturn))
-# else
-# define NORETURN /**/
-# endif
-
-# ifdef __DJGPP__
-# include <io.h>
-# include <fcntl.h>
-# undef MY_LSTAT
-# undef MY_STAT
-# define MY_LSTAT stat
-# define MY_STAT stat
-# undef SET_BINARY_MODE
-# define SET_BINARY_MODE(fd) \
- do { \
- int retVal = setmode ( fileno ( fd ), \
- O_BINARY ); \
- ERROR_IF_MINUS_ONE ( retVal ); \
- } while ( 0 )
-# endif
-
-# ifdef __CYGWIN__
-# include <io.h>
-# include <fcntl.h>
-# undef SET_BINARY_MODE
-# define SET_BINARY_MODE(fd) \
- do { \
- int retVal = setmode ( fileno ( fd ), \
- O_BINARY ); \
- ERROR_IF_MINUS_ONE ( retVal ); \
- } while ( 0 )
-# endif
-#endif /* BZ_UNIX */
-
-
-
-#if BZ_LCCWIN32
-# include <io.h>
-# include <fcntl.h>
-# include <sys\stat.h>
-
-# define NORETURN /**/
-# define PATH_SEP '\\'
-# define MY_LSTAT _stat
-# define MY_STAT _stat
-# define MY_S_ISREG(x) ((x) & _S_IFREG)
-# define MY_S_ISDIR(x) ((x) & _S_IFDIR)
-
-# define APPEND_FLAG(root, name) \
- root=snocString((root), (name))
-
-# define APPEND_FILESPEC(root, name) \
- root = snocString ((root), (name))
-
-# define SET_BINARY_MODE(fd) \
- do { \
- int retVal = setmode ( fileno ( fd ), \
- O_BINARY ); \
- ERROR_IF_MINUS_ONE ( retVal ); \
- } while ( 0 )
-
-#endif /* BZ_LCCWIN32 */
-
-
-/*---------------------------------------------*/
-/*--
- Some more stuff for all platforms :-)
---*/
-
-typedef char Char;
-typedef unsigned char Bool;
-typedef unsigned char UChar;
-typedef int Int32;
-typedef unsigned int UInt32;
-typedef short Int16;
-typedef unsigned short UInt16;
-
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-/*--
- IntNative is your platform's `native' int size.
- Only here to avoid probs with 64-bit platforms.
---*/
-typedef int IntNative;
-
-
-/*---------------------------------------------------*/
-/*--- Misc (file handling) data decls ---*/
-/*---------------------------------------------------*/
-
-Int32 verbosity;
-Bool keepInputFiles, smallMode, deleteOutputOnInterrupt;
-Bool forceOverwrite, testFailsExist, unzFailsExist, noisy;
-Int32 numFileNames, numFilesProcessed, blockSize100k;
-Int32 exitValue;
-
-/*-- source modes; F==file, I==stdin, O==stdout --*/
-#define SM_I2O 1
-#define SM_F2O 2
-#define SM_F2F 3
-
-/*-- operation modes --*/
-#define OM_Z 1
-#define OM_UNZ 2
-#define OM_TEST 3
-
-Int32 opMode;
-Int32 srcMode;
-
-#define FILE_NAME_LEN 1034
-
-Int32 longestFileName;
-Char inName [FILE_NAME_LEN];
-Char outName[FILE_NAME_LEN];
-Char tmpName[FILE_NAME_LEN];
-Char *progName;
-Char progNameReally[FILE_NAME_LEN];
-FILE *outputHandleJustInCase;
-Int32 workFactor;
-
-static void panic ( const Char* ) NORETURN;
-static void ioError ( void ) NORETURN;
-static void outOfMemory ( void ) NORETURN;
-static void configError ( void ) NORETURN;
-static void crcError ( void ) NORETURN;
-static void cleanUpAndFail ( Int32 ) NORETURN;
-static void compressedStreamEOF ( void ) NORETURN;
-
-static void copyFileName ( Char*, Char* );
-static void* myMalloc ( Int32 );
-static void applySavedFileAttrToOutputFile ( IntNative fd );
-
-
-
-/*---------------------------------------------------*/
-/*--- An implementation of 64-bit ints. Sigh. ---*/
-/*--- Roll on widespread deployment of ANSI C9X ! ---*/
-/*---------------------------------------------------*/
-
-typedef
- struct { UChar b[8]; }
- UInt64;
-
-
-static
-void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 )
-{
- n->b[7] = (UChar)((hi32 >> 24) & 0xFF);
- n->b[6] = (UChar)((hi32 >> 16) & 0xFF);
- n->b[5] = (UChar)((hi32 >> 8) & 0xFF);
- n->b[4] = (UChar) (hi32 & 0xFF);
- n->b[3] = (UChar)((lo32 >> 24) & 0xFF);
- n->b[2] = (UChar)((lo32 >> 16) & 0xFF);
- n->b[1] = (UChar)((lo32 >> 8) & 0xFF);
- n->b[0] = (UChar) (lo32 & 0xFF);
-}
-
-
-static
-double uInt64_to_double ( UInt64* n )
-{
- Int32 i;
- double base = 1.0;
- double sum = 0.0;
- for (i = 0; i < 8; i++) {
- sum += base * (double)(n->b[i]);
- base *= 256.0;
- }
- return sum;
-}
-
-
-static
-Bool uInt64_isZero ( UInt64* n )
-{
- Int32 i;
- for (i = 0; i < 8; i++)
- if (n->b[i] != 0) return 0;
- return 1;
-}
-
-
-/* Divide *n by 10, and return the remainder. */
-static
-Int32 uInt64_qrm10 ( UInt64* n )
-{
- UInt32 rem, tmp;
- Int32 i;
- rem = 0;
- for (i = 7; i >= 0; i--) {
- tmp = rem * 256 + n->b[i];
- n->b[i] = tmp / 10;
- rem = tmp % 10;
- }
- return rem;
-}
-
-
-/* ... and the Whole Entire Point of all this UInt64 stuff is
- so that we can supply the following function.
-*/
-static
-void uInt64_toAscii ( char* outbuf, UInt64* n )
-{
- Int32 i, q;
- UChar buf[32];
- Int32 nBuf = 0;
- UInt64 n_copy = *n;
- do {
- q = uInt64_qrm10 ( &n_copy );
- buf[nBuf] = q + '0';
- nBuf++;
- } while (!uInt64_isZero(&n_copy));
- outbuf[nBuf] = 0;
- for (i = 0; i < nBuf; i++)
- outbuf[i] = buf[nBuf-i-1];
-}
-
-
-/*---------------------------------------------------*/
-/*--- Processing of complete files and streams ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-Bool myfeof ( FILE* f )
-{
- Int32 c = fgetc ( f );
- if (c == EOF) return True;
- ungetc ( c, f );
- return False;
-}
-
-
-/*---------------------------------------------*/
-static
-void compressStream ( FILE *stream, FILE *zStream )
-{
- BZFILE* bzf = NULL;
- UChar ibuf[5000];
- Int32 nIbuf;
- UInt32 nbytes_in_lo32, nbytes_in_hi32;
- UInt32 nbytes_out_lo32, nbytes_out_hi32;
- Int32 bzerr, bzerr_dummy, ret;
-
- SET_BINARY_MODE(stream);
- SET_BINARY_MODE(zStream);
-
- if (ferror(stream)) goto errhandler_io;
- if (ferror(zStream)) goto errhandler_io;
-
- bzf = BZ2_bzWriteOpen ( &bzerr, zStream,
- blockSize100k, verbosity, workFactor );
- if (bzerr != BZ_OK) goto errhandler;
-
- if (verbosity >= 2) fprintf ( stderr, "\n" );
-
- while (True) {
-
- if (myfeof(stream)) break;
- nIbuf = fread ( ibuf, sizeof(UChar), 5000, stream );
- if (ferror(stream)) goto errhandler_io;
- if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
- if (bzerr != BZ_OK) goto errhandler;
-
- }
-
- BZ2_bzWriteClose64 ( &bzerr, bzf, 0,
- &nbytes_in_lo32, &nbytes_in_hi32,
- &nbytes_out_lo32, &nbytes_out_hi32 );
- if (bzerr != BZ_OK) goto errhandler;
-
- if (ferror(zStream)) goto errhandler_io;
- ret = fflush ( zStream );
- if (ret == EOF) goto errhandler_io;
- if (zStream != stdout) {
- Int32 fd = fileno ( zStream );
- if (fd < 0) goto errhandler_io;
- applySavedFileAttrToOutputFile ( fd );
- ret = fclose ( zStream );
- outputHandleJustInCase = NULL;
- if (ret == EOF) goto errhandler_io;
- }
- outputHandleJustInCase = NULL;
- if (ferror(stream)) goto errhandler_io;
- ret = fclose ( stream );
- if (ret == EOF) goto errhandler_io;
-
- if (verbosity >= 1) {
- if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) {
- fprintf ( stderr, " no data compressed.\n");
- } else {
- Char buf_nin[32], buf_nout[32];
- UInt64 nbytes_in, nbytes_out;
- double nbytes_in_d, nbytes_out_d;
- uInt64_from_UInt32s ( &nbytes_in,
- nbytes_in_lo32, nbytes_in_hi32 );
- uInt64_from_UInt32s ( &nbytes_out,
- nbytes_out_lo32, nbytes_out_hi32 );
- nbytes_in_d = uInt64_to_double ( &nbytes_in );
- nbytes_out_d = uInt64_to_double ( &nbytes_out );
- uInt64_toAscii ( buf_nin, &nbytes_in );
- uInt64_toAscii ( buf_nout, &nbytes_out );
- fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, "
- "%5.2f%% saved, %s in, %s out.\n",
- nbytes_in_d / nbytes_out_d,
- (8.0 * nbytes_out_d) / nbytes_in_d,
- 100.0 * (1.0 - nbytes_out_d / nbytes_in_d),
- buf_nin,
- buf_nout
- );
- }
- }
-
- return;
-
- errhandler:
- BZ2_bzWriteClose64 ( &bzerr_dummy, bzf, 1,
- &nbytes_in_lo32, &nbytes_in_hi32,
- &nbytes_out_lo32, &nbytes_out_hi32 );
- switch (bzerr) {
- case BZ_CONFIG_ERROR:
- configError(); break;
- case BZ_MEM_ERROR:
- outOfMemory (); break;
- case BZ_IO_ERROR:
- errhandler_io:
- ioError(); break;
- default:
- panic ( "compress:unexpected error" );
- }
-
- panic ( "compress:end" );
- /*notreached*/
-}
-
-
-
-/*---------------------------------------------*/
-static
-Bool uncompressStream ( FILE *zStream, FILE *stream )
-{
- BZFILE* bzf = NULL;
- Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i;
- UChar obuf[5000];
- UChar unused[BZ_MAX_UNUSED];
- Int32 nUnused;
- void* unusedTmpV;
- UChar* unusedTmp;
-
- nUnused = 0;
- streamNo = 0;
-
- SET_BINARY_MODE(stream);
- SET_BINARY_MODE(zStream);
-
- if (ferror(stream)) goto errhandler_io;
- if (ferror(zStream)) goto errhandler_io;
-
- while (True) {
-
- bzf = BZ2_bzReadOpen (
- &bzerr, zStream, verbosity,
- (int)smallMode, unused, nUnused
- );
- if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
- streamNo++;
-
- while (bzerr == BZ_OK) {
- nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
- if (bzerr == BZ_DATA_ERROR_MAGIC) goto trycat;
- if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
- fwrite ( obuf, sizeof(UChar), nread, stream );
- if (ferror(stream)) goto errhandler_io;
- }
- if (bzerr != BZ_STREAM_END) goto errhandler;
-
- BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
- if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
-
- unusedTmp = (UChar*)unusedTmpV;
- for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
-
- BZ2_bzReadClose ( &bzerr, bzf );
- if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
-
- if (nUnused == 0 && myfeof(zStream)) break;
- }
-
- closeok:
- if (ferror(zStream)) goto errhandler_io;
- if (stream != stdout) {
- Int32 fd = fileno ( stream );
- if (fd < 0) goto errhandler_io;
- applySavedFileAttrToOutputFile ( fd );
- }
- ret = fclose ( zStream );
- if (ret == EOF) goto errhandler_io;
-
- if (ferror(stream)) goto errhandler_io;
- ret = fflush ( stream );
- if (ret != 0) goto errhandler_io;
- if (stream != stdout) {
- ret = fclose ( stream );
- outputHandleJustInCase = NULL;
- if (ret == EOF) goto errhandler_io;
- }
- outputHandleJustInCase = NULL;
- if (verbosity >= 2) fprintf ( stderr, "\n " );
- return True;
-
- trycat:
- if (forceOverwrite) {
- rewind(zStream);
- while (True) {
- if (myfeof(zStream)) break;
- nread = fread ( obuf, sizeof(UChar), 5000, zStream );
- if (ferror(zStream)) goto errhandler_io;
- if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream );
- if (ferror(stream)) goto errhandler_io;
- }
- goto closeok;
- }
-
- errhandler:
- BZ2_bzReadClose ( &bzerr_dummy, bzf );
- switch (bzerr) {
- case BZ_CONFIG_ERROR:
- configError(); break;
- case BZ_IO_ERROR:
- errhandler_io:
- ioError(); break;
- case BZ_DATA_ERROR:
- crcError();
- case BZ_MEM_ERROR:
- outOfMemory();
- case BZ_UNEXPECTED_EOF:
- compressedStreamEOF();
- case BZ_DATA_ERROR_MAGIC:
- if (zStream != stdin) fclose(zStream);
- if (stream != stdout) fclose(stream);
- if (streamNo == 1) {
- return False;
- } else {
- if (noisy)
- fprintf ( stderr,
- "\n%s: %s: trailing garbage after EOF ignored\n",
- progName, inName );
- return True;
- }
- default:
- panic ( "decompress:unexpected error" );
- }
-
- panic ( "decompress:end" );
- return True; /*notreached*/
-}
-
-
-/*---------------------------------------------*/
-static
-Bool testStream ( FILE *zStream )
-{
- BZFILE* bzf = NULL;
- Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i;
- UChar obuf[5000];
- UChar unused[BZ_MAX_UNUSED];
- Int32 nUnused;
- void* unusedTmpV;
- UChar* unusedTmp;
-
- nUnused = 0;
- streamNo = 0;
-
- SET_BINARY_MODE(zStream);
- if (ferror(zStream)) goto errhandler_io;
-
- while (True) {
-
- bzf = BZ2_bzReadOpen (
- &bzerr, zStream, verbosity,
- (int)smallMode, unused, nUnused
- );
- if (bzf == NULL || bzerr != BZ_OK) goto errhandler;
- streamNo++;
-
- while (bzerr == BZ_OK) {
- nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
- if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
- }
- if (bzerr != BZ_STREAM_END) goto errhandler;
-
- BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
- if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
-
- unusedTmp = (UChar*)unusedTmpV;
- for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
-
- BZ2_bzReadClose ( &bzerr, bzf );
- if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
- if (nUnused == 0 && myfeof(zStream)) break;
-
- }
-
- if (ferror(zStream)) goto errhandler_io;
- ret = fclose ( zStream );
- if (ret == EOF) goto errhandler_io;
-
- if (verbosity >= 2) fprintf ( stderr, "\n " );
- return True;
-
- errhandler:
- BZ2_bzReadClose ( &bzerr_dummy, bzf );
- if (verbosity == 0)
- fprintf ( stderr, "%s: %s: ", progName, inName );
- switch (bzerr) {
- case BZ_CONFIG_ERROR:
- configError(); break;
- case BZ_IO_ERROR:
- errhandler_io:
- ioError(); break;
- case BZ_DATA_ERROR:
- fprintf ( stderr,
- "data integrity (CRC) error in data\n" );
- return False;
- case BZ_MEM_ERROR:
- outOfMemory();
- case BZ_UNEXPECTED_EOF:
- fprintf ( stderr,
- "file ends unexpectedly\n" );
- return False;
- case BZ_DATA_ERROR_MAGIC:
- if (zStream != stdin) fclose(zStream);
- if (streamNo == 1) {
- fprintf ( stderr,
- "bad magic number (file not created by bzip2)\n" );
- return False;
- } else {
- if (noisy)
- fprintf ( stderr,
- "trailing garbage after EOF ignored\n" );
- return True;
- }
- default:
- panic ( "test:unexpected error" );
- }
-
- panic ( "test:end" );
- return True; /*notreached*/
-}
-
-
-/*---------------------------------------------------*/
-/*--- Error [non-] handling grunge ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------*/
-static
-void setExit ( Int32 v )
-{
- if (v > exitValue) exitValue = v;
-}
-
-
-/*---------------------------------------------*/
-static
-void cadvise ( void )
-{
- if (noisy)
- fprintf (
- stderr,
- "\nIt is possible that the compressed file(s) have become corrupted.\n"
- "You can use the -tvv option to test integrity of such files.\n\n"
- "You can use the `bzip2recover' program to attempt to recover\n"
- "data from undamaged sections of corrupted files.\n\n"
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void showFileNames ( void )
-{
- if (noisy)
- fprintf (
- stderr,
- "\tInput file = %s, output file = %s\n",
- inName, outName
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void cleanUpAndFail ( Int32 ec )
-{
- IntNative retVal;
- struct MY_STAT statBuf;
-
- if ( srcMode == SM_F2F
- && opMode != OM_TEST
- && deleteOutputOnInterrupt ) {
-
- /* Check whether input file still exists. Delete output file
- only if input exists to avoid loss of data. Joerg Prante, 5
- January 2002. (JRS 06-Jan-2002: other changes in 1.0.2 mean
- this is less likely to happen. But to be ultra-paranoid, we
- do the check anyway.) */
- retVal = MY_STAT ( inName, &statBuf );
- if (retVal == 0) {
- if (noisy)
- fprintf ( stderr,
- "%s: Deleting output file %s, if it exists.\n",
- progName, outName );
- if (outputHandleJustInCase != NULL)
- fclose ( outputHandleJustInCase );
- retVal = remove ( outName );
- if (retVal != 0)
- fprintf ( stderr,
- "%s: WARNING: deletion of output file "
- "(apparently) failed.\n",
- progName );
- } else {
- fprintf ( stderr,
- "%s: WARNING: deletion of output file suppressed\n",
- progName );
- fprintf ( stderr,
- "%s: since input file no longer exists. Output file\n",
- progName );
- fprintf ( stderr,
- "%s: `%s' may be incomplete.\n",
- progName, outName );
- fprintf ( stderr,
- "%s: I suggest doing an integrity test (bzip2 -tv)"
- " of it.\n",
- progName );
- }
- }
-
- if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) {
- fprintf ( stderr,
- "%s: WARNING: some files have not been processed:\n"
- "%s: %d specified on command line, %d not processed yet.\n\n",
- progName, progName,
- numFileNames, numFileNames - numFilesProcessed );
- }
- setExit(ec);
- exit(exitValue);
-}
-
-
-/*---------------------------------------------*/
-static
-void panic ( const Char* s )
-{
- fprintf ( stderr,
- "\n%s: PANIC -- internal consistency error:\n"
- "\t%s\n"
- "\tThis is a BUG. Please report it to me at:\n"
- "\tjseward@bzip.org\n",
- progName, s );
- showFileNames();
- cleanUpAndFail( 3 );
-}
-
-
-/*---------------------------------------------*/
-static
-void crcError ( void )
-{
- fprintf ( stderr,
- "\n%s: Data integrity error when decompressing.\n",
- progName );
- showFileNames();
- cadvise();
- cleanUpAndFail( 2 );
-}
-
-
-/*---------------------------------------------*/
-static
-void compressedStreamEOF ( void )
-{
- if (noisy) {
- fprintf ( stderr,
- "\n%s: Compressed file ends unexpectedly;\n\t"
- "perhaps it is corrupted? *Possible* reason follows.\n",
- progName );
- perror ( progName );
- showFileNames();
- cadvise();
- }
- cleanUpAndFail( 2 );
-}
-
-
-/*---------------------------------------------*/
-static
-void ioError ( void )
-{
- fprintf ( stderr,
- "\n%s: I/O or other error, bailing out. "
- "Possible reason follows.\n",
- progName );
- perror ( progName );
- showFileNames();
- cleanUpAndFail( 1 );
-}
-
-
-/*---------------------------------------------*/
-static
-void mySignalCatcher ( IntNative n )
-{
- fprintf ( stderr,
- "\n%s: Control-C or similar caught, quitting.\n",
- progName );
- cleanUpAndFail(1);
-}
-
-
-/*---------------------------------------------*/
-static
-void mySIGSEGVorSIGBUScatcher ( IntNative n )
-{
- if (opMode == OM_Z)
- fprintf (
- stderr,
- "\n%s: Caught a SIGSEGV or SIGBUS whilst compressing.\n"
- "\n"
- " Possible causes are (most likely first):\n"
- " (1) This computer has unreliable memory or cache hardware\n"
- " (a surprisingly common problem; try a different machine.)\n"
- " (2) A bug in the compiler used to create this executable\n"
- " (unlikely, if you didn't compile bzip2 yourself.)\n"
- " (3) A real bug in bzip2 -- I hope this should never be the case.\n"
- " The user's manual, Section 4.3, has more info on (1) and (2).\n"
- " \n"
- " If you suspect this is a bug in bzip2, or are unsure about (1)\n"
- " or (2), feel free to report it to me at: jseward@bzip.org.\n"
- " Section 4.3 of the user's manual describes the info a useful\n"
- " bug report should have. If the manual is available on your\n"
- " system, please try and read it before mailing me. If you don't\n"
- " have the manual or can't be bothered to read it, mail me anyway.\n"
- "\n",
- progName );
- else
- fprintf (
- stderr,
- "\n%s: Caught a SIGSEGV or SIGBUS whilst decompressing.\n"
- "\n"
- " Possible causes are (most likely first):\n"
- " (1) The compressed data is corrupted, and bzip2's usual checks\n"
- " failed to detect this. Try bzip2 -tvv my_file.bz2.\n"
- " (2) This computer has unreliable memory or cache hardware\n"
- " (a surprisingly common problem; try a different machine.)\n"
- " (3) A bug in the compiler used to create this executable\n"
- " (unlikely, if you didn't compile bzip2 yourself.)\n"
- " (4) A real bug in bzip2 -- I hope this should never be the case.\n"
- " The user's manual, Section 4.3, has more info on (2) and (3).\n"
- " \n"
- " If you suspect this is a bug in bzip2, or are unsure about (2)\n"
- " or (3), feel free to report it to me at: jseward@bzip.org.\n"
- " Section 4.3 of the user's manual describes the info a useful\n"
- " bug report should have. If the manual is available on your\n"
- " system, please try and read it before mailing me. If you don't\n"
- " have the manual or can't be bothered to read it, mail me anyway.\n"
- "\n",
- progName );
-
- showFileNames();
- if (opMode == OM_Z)
- cleanUpAndFail( 3 ); else
- { cadvise(); cleanUpAndFail( 2 ); }
-}
-
-
-/*---------------------------------------------*/
-static
-void outOfMemory ( void )
-{
- fprintf ( stderr,
- "\n%s: couldn't allocate enough memory\n",
- progName );
- showFileNames();
- cleanUpAndFail(1);
-}
-
-
-/*---------------------------------------------*/
-static
-void configError ( void )
-{
- fprintf ( stderr,
- "bzip2: I'm not configured correctly for this platform!\n"
- "\tI require Int32, Int16 and Char to have sizes\n"
- "\tof 4, 2 and 1 bytes to run properly, and they don't.\n"
- "\tProbably you can fix this by defining them correctly,\n"
- "\tand recompiling. Bye!\n" );
- setExit(3);
- exit(exitValue);
-}
-
-
-/*---------------------------------------------------*/
-/*--- The main driver machinery ---*/
-/*---------------------------------------------------*/
-
-/* All rather crufty. The main problem is that input files
- are stat()d multiple times before use. This should be
- cleaned up.
-*/
-
-/*---------------------------------------------*/
-static
-void pad ( Char *s )
-{
- Int32 i;
- if ( (Int32)strlen(s) >= longestFileName ) return;
- for (i = 1; i <= longestFileName - (Int32)strlen(s); i++)
- fprintf ( stderr, " " );
-}
-
-
-/*---------------------------------------------*/
-static
-void copyFileName ( Char* to, Char* from )
-{
- if ( strlen(from) > FILE_NAME_LEN-10 ) {
- fprintf (
- stderr,
- "bzip2: file name\n`%s'\n"
- "is suspiciously (more than %d chars) long.\n"
- "Try using a reasonable file name instead. Sorry! :-)\n",
- from, FILE_NAME_LEN-10
- );
- setExit(1);
- exit(exitValue);
- }
-
- strncpy(to,from,FILE_NAME_LEN-10);
- to[FILE_NAME_LEN-10]='\0';
-}
-
-
-/*---------------------------------------------*/
-static
-Bool fileExists ( Char* name )
-{
- FILE *tmp = fopen ( name, "rb" );
- Bool exists = (tmp != NULL);
- if (tmp != NULL) fclose ( tmp );
- return exists;
-}
-
-
-/*---------------------------------------------*/
-/* Open an output file safely with O_EXCL and good permissions.
- This avoids a race condition in versions < 1.0.2, in which
- the file was first opened and then had its interim permissions
- set safely. We instead use open() to create the file with
- the interim permissions required. (--- --- rw-).
-
- For non-Unix platforms, if we are not worrying about
- security issues, simple this simply behaves like fopen.
-*/
-static
-FILE* fopen_output_safely ( Char* name, const char* mode )
-{
-# if BZ_UNIX
- FILE* fp;
- IntNative fh;
- fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR);
- if (fh == -1) return NULL;
- fp = fdopen(fh, mode);
- if (fp == NULL) close(fh);
- return fp;
-# else
- return fopen(name, mode);
-# endif
-}
-
-
-/*---------------------------------------------*/
-/*--
- if in doubt, return True
---*/
-static
-Bool notAStandardFile ( Char* name )
-{
- IntNative i;
- struct MY_STAT statBuf;
-
- i = MY_LSTAT ( name, &statBuf );
- if (i != 0) return True;
- if (MY_S_ISREG(statBuf.st_mode)) return False;
- return True;
-}
-
-
-/*---------------------------------------------*/
-/*--
- rac 11/21/98 see if file has hard links to it
---*/
-static
-Int32 countHardLinks ( Char* name )
-{
- IntNative i;
- struct MY_STAT statBuf;
-
- i = MY_LSTAT ( name, &statBuf );
- if (i != 0) return 0;
- return (statBuf.st_nlink - 1);
-}
-
-
-/*---------------------------------------------*/
-/* Copy modification date, access date, permissions and owner from the
- source to destination file. We have to copy this meta-info off
- into fileMetaInfo before starting to compress / decompress it,
- because doing it afterwards means we get the wrong access time.
-
- To complicate matters, in compress() and decompress() below, the
- sequence of tests preceding the call to saveInputFileMetaInfo()
- involves calling fileExists(), which in turn establishes its result
- by attempting to fopen() the file, and if successful, immediately
- fclose()ing it again. So we have to assume that the fopen() call
- does not cause the access time field to be updated.
-
- Reading of the man page for stat() (man 2 stat) on RedHat 7.2 seems
- to imply that merely doing open() will not affect the access time.
- Therefore we merely need to hope that the C library only does
- open() as a result of fopen(), and not any kind of read()-ahead
- cleverness.
-
- It sounds pretty fragile to me. Whether this carries across
- robustly to arbitrary Unix-like platforms (or even works robustly
- on this one, RedHat 7.2) is unknown to me. Nevertheless ...
-*/
-#if BZ_UNIX
-static
-struct MY_STAT fileMetaInfo;
-#endif
-
-static
-void saveInputFileMetaInfo ( Char *srcName )
-{
-# if BZ_UNIX
- IntNative retVal;
- /* Note use of stat here, not lstat. */
- retVal = MY_STAT( srcName, &fileMetaInfo );
- ERROR_IF_NOT_ZERO ( retVal );
-# endif
-}
-
-
-static
-void applySavedTimeInfoToOutputFile ( Char *dstName )
-{
-# if BZ_UNIX
- IntNative retVal;
- struct utimbuf uTimBuf;
-
- uTimBuf.actime = fileMetaInfo.st_atime;
- uTimBuf.modtime = fileMetaInfo.st_mtime;
-
- retVal = utime ( dstName, &uTimBuf );
- ERROR_IF_NOT_ZERO ( retVal );
-# endif
-}
-
-static
-void applySavedFileAttrToOutputFile ( IntNative fd )
-{
-# if BZ_UNIX
- IntNative retVal;
-
- retVal = fchmod ( fd, fileMetaInfo.st_mode );
- ERROR_IF_NOT_ZERO ( retVal );
-
- (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
- /* chown() will in many cases return with EPERM, which can
- be safely ignored.
- */
-# endif
-}
-
-
-/*---------------------------------------------*/
-static
-Bool containsDubiousChars ( Char* name )
-{
-# if BZ_UNIX
- /* On unix, files can contain any characters and the file expansion
- * is performed by the shell.
- */
- return False;
-# else /* ! BZ_UNIX */
- /* On non-unix (Win* platforms), wildcard characters are not allowed in
- * filenames.
- */
- for (; *name != '\0'; name++)
- if (*name == '?' || *name == '*') return True;
- return False;
-# endif /* BZ_UNIX */
-}
-
-
-/*---------------------------------------------*/
-#define BZ_N_SUFFIX_PAIRS 4
-
-const Char* zSuffix[BZ_N_SUFFIX_PAIRS]
- = { ".bz2", ".bz", ".tbz2", ".tbz" };
-const Char* unzSuffix[BZ_N_SUFFIX_PAIRS]
- = { "", "", ".tar", ".tar" };
-
-static
-Bool hasSuffix ( Char* s, const Char* suffix )
-{
- Int32 ns = strlen(s);
- Int32 nx = strlen(suffix);
- if (ns < nx) return False;
- if (strcmp(s + ns - nx, suffix) == 0) return True;
- return False;
-}
-
-static
-Bool mapSuffix ( Char* name,
- const Char* oldSuffix,
- const Char* newSuffix )
-{
- if (!hasSuffix(name,oldSuffix)) return False;
- name[strlen(name)-strlen(oldSuffix)] = 0;
- strcat ( name, newSuffix );
- return True;
-}
-
-
-/*---------------------------------------------*/
-static
-void compress ( Char *name )
-{
- FILE *inStr;
- FILE *outStr;
- Int32 n, i;
- struct MY_STAT statBuf;
-
- deleteOutputOnInterrupt = False;
-
- if (name == NULL && srcMode != SM_I2O)
- panic ( "compress: bad modes\n" );
-
- switch (srcMode) {
- case SM_I2O:
- copyFileName ( inName, (Char*)"(stdin)" );
- copyFileName ( outName, (Char*)"(stdout)" );
- break;
- case SM_F2F:
- copyFileName ( inName, name );
- copyFileName ( outName, name );
- strcat ( outName, ".bz2" );
- break;
- case SM_F2O:
- copyFileName ( inName, name );
- copyFileName ( outName, (Char*)"(stdout)" );
- break;
- }
-
- if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
- if (noisy)
- fprintf ( stderr, "%s: There are no files matching `%s'.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- }
- for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) {
- if (hasSuffix(inName, zSuffix[i])) {
- if (noisy)
- fprintf ( stderr,
- "%s: Input file %s already has %s suffix.\n",
- progName, inName, zSuffix[i] );
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
- MY_STAT(inName, &statBuf);
- if ( MY_S_ISDIR(statBuf.st_mode) ) {
- fprintf( stderr,
- "%s: Input file %s is a directory.\n",
- progName,inName);
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
- if (noisy)
- fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode == SM_F2F && fileExists ( outName ) ) {
- if (forceOverwrite) {
- remove(outName);
- } else {
- fprintf ( stderr, "%s: Output file %s already exists.\n",
- progName, outName );
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite &&
- (n=countHardLinks ( inName )) > 0) {
- fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
- progName, inName, n, n > 1 ? "s" : "" );
- setExit(1);
- return;
- }
-
- if ( srcMode == SM_F2F ) {
- /* Save the file's meta-info before we open it. Doing it later
- means we mess up the access times. */
- saveInputFileMetaInfo ( inName );
- }
-
- switch ( srcMode ) {
-
- case SM_I2O:
- inStr = stdin;
- outStr = stdout;
- if ( isatty ( fileno ( stdout ) ) ) {
- fprintf ( stderr,
- "%s: I won't write compressed data to a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2O:
- inStr = fopen ( inName, "rb" );
- outStr = stdout;
- if ( isatty ( fileno ( stdout ) ) ) {
- fprintf ( stderr,
- "%s: I won't write compressed data to a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- };
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2F:
- inStr = fopen ( inName, "rb" );
- outStr = fopen_output_safely ( outName, "wb" );
- if ( outStr == NULL) {
- fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
- progName, outName, strerror(errno) );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- }
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- if ( outStr != NULL ) fclose ( outStr );
- setExit(1);
- return;
- };
- break;
-
- default:
- panic ( "compress: bad srcMode" );
- break;
- }
-
- if (verbosity >= 1) {
- fprintf ( stderr, " %s: ", inName );
- pad ( inName );
- fflush ( stderr );
- }
-
- /*--- Now the input and output handles are sane. Do the Biz. ---*/
- outputHandleJustInCase = outStr;
- deleteOutputOnInterrupt = True;
- compressStream ( inStr, outStr );
- outputHandleJustInCase = NULL;
-
- /*--- If there was an I/O error, we won't get here. ---*/
- if ( srcMode == SM_F2F ) {
- applySavedTimeInfoToOutputFile ( outName );
- deleteOutputOnInterrupt = False;
- if ( !keepInputFiles ) {
- IntNative retVal = remove ( inName );
- ERROR_IF_NOT_ZERO ( retVal );
- }
- }
-
- deleteOutputOnInterrupt = False;
-}
-
-
-/*---------------------------------------------*/
-static
-void uncompress ( Char *name )
-{
- FILE *inStr;
- FILE *outStr;
- Int32 n, i;
- Bool magicNumberOK;
- Bool cantGuess;
- struct MY_STAT statBuf;
-
- deleteOutputOnInterrupt = False;
-
- if (name == NULL && srcMode != SM_I2O)
- panic ( "uncompress: bad modes\n" );
-
- cantGuess = False;
- switch (srcMode) {
- case SM_I2O:
- copyFileName ( inName, (Char*)"(stdin)" );
- copyFileName ( outName, (Char*)"(stdout)" );
- break;
- case SM_F2F:
- copyFileName ( inName, name );
- copyFileName ( outName, name );
- for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++)
- if (mapSuffix(outName,zSuffix[i],unzSuffix[i]))
- goto zzz;
- cantGuess = True;
- strcat ( outName, ".out" );
- break;
- case SM_F2O:
- copyFileName ( inName, name );
- copyFileName ( outName, (Char*)"(stdout)" );
- break;
- }
-
- zzz:
- if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
- if (noisy)
- fprintf ( stderr, "%s: There are no files matching `%s'.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- }
- if ( srcMode == SM_F2F || srcMode == SM_F2O ) {
- MY_STAT(inName, &statBuf);
- if ( MY_S_ISDIR(statBuf.st_mode) ) {
- fprintf( stderr,
- "%s: Input file %s is a directory.\n",
- progName,inName);
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) {
- if (noisy)
- fprintf ( stderr, "%s: Input file %s is not a normal file.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( /* srcMode == SM_F2F implied && */ cantGuess ) {
- if (noisy)
- fprintf ( stderr,
- "%s: Can't guess original name for %s -- using %s\n",
- progName, inName, outName );
- /* just a warning, no return */
- }
- if ( srcMode == SM_F2F && fileExists ( outName ) ) {
- if (forceOverwrite) {
- remove(outName);
- } else {
- fprintf ( stderr, "%s: Output file %s already exists.\n",
- progName, outName );
- setExit(1);
- return;
- }
- }
- if ( srcMode == SM_F2F && !forceOverwrite &&
- (n=countHardLinks ( inName ) ) > 0) {
- fprintf ( stderr, "%s: Input file %s has %d other link%s.\n",
- progName, inName, n, n > 1 ? "s" : "" );
- setExit(1);
- return;
- }
-
- if ( srcMode == SM_F2F ) {
- /* Save the file's meta-info before we open it. Doing it later
- means we mess up the access times. */
- saveInputFileMetaInfo ( inName );
- }
-
- switch ( srcMode ) {
-
- case SM_I2O:
- inStr = stdin;
- outStr = stdout;
- if ( isatty ( fileno ( stdin ) ) ) {
- fprintf ( stderr,
- "%s: I won't read compressed data from a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2O:
- inStr = fopen ( inName, "rb" );
- outStr = stdout;
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
- progName, inName, strerror(errno) );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- };
- break;
-
- case SM_F2F:
- inStr = fopen ( inName, "rb" );
- outStr = fopen_output_safely ( outName, "wb" );
- if ( outStr == NULL) {
- fprintf ( stderr, "%s: Can't create output file %s: %s.\n",
- progName, outName, strerror(errno) );
- if ( inStr != NULL ) fclose ( inStr );
- setExit(1);
- return;
- }
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s: %s.\n",
- progName, inName, strerror(errno) );
- if ( outStr != NULL ) fclose ( outStr );
- setExit(1);
- return;
- };
- break;
-
- default:
- panic ( "uncompress: bad srcMode" );
- break;
- }
-
- if (verbosity >= 1) {
- fprintf ( stderr, " %s: ", inName );
- pad ( inName );
- fflush ( stderr );
- }
-
- /*--- Now the input and output handles are sane. Do the Biz. ---*/
- outputHandleJustInCase = outStr;
- deleteOutputOnInterrupt = True;
- magicNumberOK = uncompressStream ( inStr, outStr );
- outputHandleJustInCase = NULL;
-
- /*--- If there was an I/O error, we won't get here. ---*/
- if ( magicNumberOK ) {
- if ( srcMode == SM_F2F ) {
- applySavedTimeInfoToOutputFile ( outName );
- deleteOutputOnInterrupt = False;
- if ( !keepInputFiles ) {
- IntNative retVal = remove ( inName );
- ERROR_IF_NOT_ZERO ( retVal );
- }
- }
- } else {
- unzFailsExist = True;
- deleteOutputOnInterrupt = False;
- if ( srcMode == SM_F2F ) {
- IntNative retVal = remove ( outName );
- ERROR_IF_NOT_ZERO ( retVal );
- }
- }
- deleteOutputOnInterrupt = False;
-
- if ( magicNumberOK ) {
- if (verbosity >= 1)
- fprintf ( stderr, "done\n" );
- } else {
- setExit(2);
- if (verbosity >= 1)
- fprintf ( stderr, "not a bzip2 file.\n" ); else
- fprintf ( stderr,
- "%s: %s is not a bzip2 file.\n",
- progName, inName );
- }
-
-}
-
-
-/*---------------------------------------------*/
-static
-void testf ( Char *name )
-{
- FILE *inStr;
- Bool allOK;
- struct MY_STAT statBuf;
-
- deleteOutputOnInterrupt = False;
-
- if (name == NULL && srcMode != SM_I2O)
- panic ( "testf: bad modes\n" );
-
- copyFileName ( outName, (Char*)"(none)" );
- switch (srcMode) {
- case SM_I2O: copyFileName ( inName, (Char*)"(stdin)" ); break;
- case SM_F2F: copyFileName ( inName, name ); break;
- case SM_F2O: copyFileName ( inName, name ); break;
- }
-
- if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) {
- if (noisy)
- fprintf ( stderr, "%s: There are no files matching `%s'.\n",
- progName, inName );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O && !fileExists ( inName ) ) {
- fprintf ( stderr, "%s: Can't open input %s: %s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- }
- if ( srcMode != SM_I2O ) {
- MY_STAT(inName, &statBuf);
- if ( MY_S_ISDIR(statBuf.st_mode) ) {
- fprintf( stderr,
- "%s: Input file %s is a directory.\n",
- progName,inName);
- setExit(1);
- return;
- }
- }
-
- switch ( srcMode ) {
-
- case SM_I2O:
- if ( isatty ( fileno ( stdin ) ) ) {
- fprintf ( stderr,
- "%s: I won't read compressed data from a terminal.\n",
- progName );
- fprintf ( stderr, "%s: For help, type: `%s --help'.\n",
- progName, progName );
- setExit(1);
- return;
- };
- inStr = stdin;
- break;
-
- case SM_F2O: case SM_F2F:
- inStr = fopen ( inName, "rb" );
- if ( inStr == NULL ) {
- fprintf ( stderr, "%s: Can't open input file %s:%s.\n",
- progName, inName, strerror(errno) );
- setExit(1);
- return;
- };
- break;
-
- default:
- panic ( "testf: bad srcMode" );
- break;
- }
-
- if (verbosity >= 1) {
- fprintf ( stderr, " %s: ", inName );
- pad ( inName );
- fflush ( stderr );
- }
-
- /*--- Now the input handle is sane. Do the Biz. ---*/
- outputHandleJustInCase = NULL;
- allOK = testStream ( inStr );
-
- if (allOK && verbosity >= 1) fprintf ( stderr, "ok\n" );
- if (!allOK) testFailsExist = True;
-}
-
-
-/*---------------------------------------------*/
-static
-void license ( void )
-{
- fprintf ( stderr,
-
- "bzip2, a block-sorting file compressor. "
- "Version %s.\n"
- " \n"
- " Copyright (C) 1996-2010 by Julian Seward.\n"
- " \n"
- " This program is free software; you can redistribute it and/or modify\n"
- " it under the terms set out in the LICENSE file, which is included\n"
- " in the bzip2-1.0.6 source distribution.\n"
- " \n"
- " This program is distributed in the hope that it will be useful,\n"
- " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
- " LICENSE file for more details.\n"
- " \n",
- BZ2_bzlibVersion()
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void usage ( Char *fullProgName )
-{
- fprintf (
- stderr,
- "bzip2, a block-sorting file compressor. "
- "Version %s.\n"
- "\n usage: %s [flags and input files in any order]\n"
- "\n"
- " -h --help print this message\n"
- " -d --decompress force decompression\n"
- " -z --compress force compression\n"
- " -k --keep keep (don't delete) input files\n"
- " -f --force overwrite existing output files\n"
- " -t --test test compressed file integrity\n"
- " -c --stdout output to standard out\n"
- " -q --quiet suppress noncritical error messages\n"
- " -v --verbose be verbose (a 2nd -v gives more)\n"
- " -L --license display software version & license\n"
- " -V --version display software version & license\n"
- " -s --small use less memory (at most 2500k)\n"
- " -1 .. -9 set block size to 100k .. 900k\n"
- " --fast alias for -1\n"
- " --best alias for -9\n"
- "\n"
- " If invoked as `bzip2', default action is to compress.\n"
- " as `bunzip2', default action is to decompress.\n"
- " as `bzcat', default action is to decompress to stdout.\n"
- "\n"
- " If no file names are given, bzip2 compresses or decompresses\n"
- " from standard input to standard output. You can combine\n"
- " short flags, so `-v -4' means the same as -v4 or -4v, &c.\n"
-# if BZ_UNIX
- "\n"
-# endif
- ,
-
- BZ2_bzlibVersion(),
- fullProgName
- );
-}
-
-
-/*---------------------------------------------*/
-static
-void redundant ( Char* flag )
-{
- fprintf (
- stderr,
- "%s: %s is redundant in versions 0.9.5 and above\n",
- progName, flag );
-}
-
-
-/*---------------------------------------------*/
-/*--
- All the garbage from here to main() is purely to
- implement a linked list of command-line arguments,
- into which main() copies argv[1 .. argc-1].
-
- The purpose of this exercise is to facilitate
- the expansion of wildcard characters * and ? in
- filenames for OSs which don't know how to do it
- themselves, like MSDOS, Windows 95 and NT.
-
- The actual Dirty Work is done by the platform-
- specific macro APPEND_FILESPEC.
---*/
-
-typedef
- struct zzzz {
- Char *name;
- struct zzzz *link;
- }
- Cell;
-
-
-/*---------------------------------------------*/
-static
-void *myMalloc ( Int32 n )
-{
- void* p;
-
- p = malloc ( (size_t)n );
- if (p == NULL) outOfMemory ();
- return p;
-}
-
-
-/*---------------------------------------------*/
-static
-Cell *mkCell ( void )
-{
- Cell *c;
-
- c = (Cell*) myMalloc ( sizeof ( Cell ) );
- c->name = NULL;
- c->link = NULL;
- return c;
-}
-
-
-/*---------------------------------------------*/
-static
-Cell *snocString ( Cell *root, Char *name )
-{
- if (root == NULL) {
- Cell *tmp = mkCell();
- tmp->name = (Char*) myMalloc ( 5 + strlen(name) );
- strcpy ( tmp->name, name );
- return tmp;
- } else {
- Cell *tmp = root;
- while (tmp->link != NULL) tmp = tmp->link;
- tmp->link = snocString ( tmp->link, name );
- return root;
- }
-}
-
-
-/*---------------------------------------------*/
-static
-void addFlagsFromEnvVar ( Cell** argList, Char* varName )
-{
- Int32 i, j, k;
- Char *envbase, *p;
-
- envbase = getenv(varName);
- if (envbase != NULL) {
- p = envbase;
- i = 0;
- while (True) {
- if (p[i] == 0) break;
- p += i;
- i = 0;
- while (isspace((Int32)(p[0]))) p++;
- while (p[i] != 0 && !isspace((Int32)(p[i]))) i++;
- if (i > 0) {
- k = i; if (k > FILE_NAME_LEN-10) k = FILE_NAME_LEN-10;
- for (j = 0; j < k; j++) tmpName[j] = p[j];
- tmpName[k] = 0;
- APPEND_FLAG(*argList, tmpName);
- }
- }
- }
-}
-
-
-/*---------------------------------------------*/
-#define ISFLAG(s) (strcmp(aa->name, (s))==0)
-
-IntNative main ( IntNative argc, Char *argv[] )
-{
- Int32 i, j;
- Char *tmp;
- Cell *argList;
- Cell *aa;
- Bool decode;
-
- /*-- Be really really really paranoid :-) --*/
- if (sizeof(Int32) != 4 || sizeof(UInt32) != 4 ||
- sizeof(Int16) != 2 || sizeof(UInt16) != 2 ||
- sizeof(Char) != 1 || sizeof(UChar) != 1)
- configError();
-
- /*-- Initialise --*/
- outputHandleJustInCase = NULL;
- smallMode = False;
- keepInputFiles = False;
- forceOverwrite = False;
- noisy = True;
- verbosity = 0;
- blockSize100k = 9;
- testFailsExist = False;
- unzFailsExist = False;
- numFileNames = 0;
- numFilesProcessed = 0;
- workFactor = 30;
- deleteOutputOnInterrupt = False;
- exitValue = 0;
- i = j = 0; /* avoid bogus warning from egcs-1.1.X */
-
- /*-- Set up signal handlers for mem access errors --*/
- signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
-# if BZ_UNIX
-# ifndef __DJGPP__
- signal (SIGBUS, mySIGSEGVorSIGBUScatcher);
-# endif
-# endif
-
- copyFileName ( inName, (Char*)"(none)" );
- copyFileName ( outName, (Char*)"(none)" );
-
- copyFileName ( progNameReally, argv[0] );
- progName = &progNameReally[0];
- for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++)
- if (*tmp == PATH_SEP) progName = tmp + 1;
-
-
- /*-- Copy flags from env var BZIP2, and
- expand filename wildcards in arg list.
- --*/
- argList = NULL;
- addFlagsFromEnvVar ( &argList, (Char*)"BZIP2" );
- addFlagsFromEnvVar ( &argList, (Char*)"BZIP" );
- for (i = 1; i <= argc-1; i++)
- APPEND_FILESPEC(argList, argv[i]);
-
-
- /*-- Find the length of the longest filename --*/
- longestFileName = 7;
- numFileNames = 0;
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFileNames++;
- if (longestFileName < (Int32)strlen(aa->name) )
- longestFileName = (Int32)strlen(aa->name);
- }
-
-
- /*-- Determine source modes; flag handling may change this too. --*/
- if (numFileNames == 0)
- srcMode = SM_I2O; else srcMode = SM_F2F;
-
-
- /*-- Determine what to do (compress/uncompress/test/cat). --*/
- /*-- Note that subsequent flag handling may change this. --*/
- opMode = OM_Z;
-
- if ( (strstr ( progName, "unzip" ) != 0) ||
- (strstr ( progName, "UNZIP" ) != 0) )
- opMode = OM_UNZ;
-
- if ( (strstr ( progName, "z2cat" ) != 0) ||
- (strstr ( progName, "Z2CAT" ) != 0) ||
- (strstr ( progName, "zcat" ) != 0) ||
- (strstr ( progName, "ZCAT" ) != 0) ) {
- opMode = OM_UNZ;
- srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O;
- }
-
-
- /*-- Look at the flags. --*/
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) break;
- if (aa->name[0] == '-' && aa->name[1] != '-') {
- for (j = 1; aa->name[j] != '\0'; j++) {
- switch (aa->name[j]) {
- case 'c': srcMode = SM_F2O; break;
- case 'd': opMode = OM_UNZ; break;
- case 'z': opMode = OM_Z; break;
- case 'f': forceOverwrite = True; break;
- case 't': opMode = OM_TEST; break;
- case 'k': keepInputFiles = True; break;
- case 's': smallMode = True; break;
- case 'q': noisy = False; break;
- case '1': blockSize100k = 1; break;
- case '2': blockSize100k = 2; break;
- case '3': blockSize100k = 3; break;
- case '4': blockSize100k = 4; break;
- case '5': blockSize100k = 5; break;
- case '6': blockSize100k = 6; break;
- case '7': blockSize100k = 7; break;
- case '8': blockSize100k = 8; break;
- case '9': blockSize100k = 9; break;
- case 'V':
- case 'L': license(); break;
- case 'v': verbosity++; break;
- case 'h': usage ( progName );
- exit ( 0 );
- break;
- default: fprintf ( stderr, "%s: Bad flag `%s'\n",
- progName, aa->name );
- usage ( progName );
- exit ( 1 );
- break;
- }
- }
- }
- }
-
- /*-- And again ... --*/
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) break;
- if (ISFLAG("--stdout")) srcMode = SM_F2O; else
- if (ISFLAG("--decompress")) opMode = OM_UNZ; else
- if (ISFLAG("--compress")) opMode = OM_Z; else
- if (ISFLAG("--force")) forceOverwrite = True; else
- if (ISFLAG("--test")) opMode = OM_TEST; else
- if (ISFLAG("--keep")) keepInputFiles = True; else
- if (ISFLAG("--small")) smallMode = True; else
- if (ISFLAG("--quiet")) noisy = False; else
- if (ISFLAG("--version")) license(); else
- if (ISFLAG("--license")) license(); else
- if (ISFLAG("--exponential")) workFactor = 1; else
- if (ISFLAG("--repetitive-best")) redundant(aa->name); else
- if (ISFLAG("--repetitive-fast")) redundant(aa->name); else
- if (ISFLAG("--fast")) blockSize100k = 1; else
- if (ISFLAG("--best")) blockSize100k = 9; else
- if (ISFLAG("--verbose")) verbosity++; else
- if (ISFLAG("--help")) { usage ( progName ); exit ( 0 ); }
- else
- if (strncmp ( aa->name, "--", 2) == 0) {
- fprintf ( stderr, "%s: Bad flag `%s'\n", progName, aa->name );
- usage ( progName );
- exit ( 1 );
- }
- }
-
- if (verbosity > 4) verbosity = 4;
- if (opMode == OM_Z && smallMode && blockSize100k > 2)
- blockSize100k = 2;
-
- if (opMode == OM_TEST && srcMode == SM_F2O) {
- fprintf ( stderr, "%s: -c and -t cannot be used together.\n",
- progName );
- exit ( 1 );
- }
-
- if (srcMode == SM_F2O && numFileNames == 0)
- srcMode = SM_I2O;
-
- if (opMode != OM_Z) blockSize100k = 0;
-
- if (srcMode == SM_F2F) {
- signal (SIGINT, mySignalCatcher);
- signal (SIGTERM, mySignalCatcher);
-# if BZ_UNIX
- signal (SIGHUP, mySignalCatcher);
-# endif
- }
-
- if (opMode == OM_Z) {
- if (srcMode == SM_I2O) {
- compress ( NULL );
- } else {
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFilesProcessed++;
- compress ( aa->name );
- }
- }
- }
- else
-
- if (opMode == OM_UNZ) {
- unzFailsExist = False;
- if (srcMode == SM_I2O) {
- uncompress ( NULL );
- } else {
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFilesProcessed++;
- uncompress ( aa->name );
- }
- }
- if (unzFailsExist) {
- setExit(2);
- exit(exitValue);
- }
- }
-
- else {
- testFailsExist = False;
- if (srcMode == SM_I2O) {
- testf ( NULL );
- } else {
- decode = True;
- for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
- if (aa->name[0] == '-' && decode) continue;
- numFilesProcessed++;
- testf ( aa->name );
- }
- }
- if (testFailsExist && noisy) {
- fprintf ( stderr,
- "\n"
- "You can use the `bzip2recover' program to attempt to recover\n"
- "data from undamaged sections of corrupted files.\n\n"
- );
- setExit(2);
- exit(exitValue);
- }
- }
-
- /* Free the argument list memory to mollify leak detectors
- (eg) Purify, Checker. Serves no other useful purpose.
- */
- aa = argList;
- while (aa != NULL) {
- Cell* aa2 = aa->link;
- if (aa->name != NULL) free(aa->name);
- free(aa);
- aa = aa2;
- }
-
- return exitValue;
-}
-
-
-/*-----------------------------------------------------------*/
-/*--- end bzip2.c ---*/
-/*-----------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/bzip2.txt b/plugins/updater/bzip2-1.0.3/bzip2.txt
deleted file mode 100644
index d2deb39491..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzip2.txt
+++ /dev/null
@@ -1,391 +0,0 @@
-
-NAME
- bzip2, bunzip2 - a block-sorting file compressor, v1.0.6
- bzcat - decompresses files to stdout
- bzip2recover - recovers data from damaged bzip2 files
-
-
-SYNOPSIS
- bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ]
- bunzip2 [ -fkvsVL ] [ filenames ... ]
- bzcat [ -s ] [ filenames ... ]
- bzip2recover filename
-
-
-DESCRIPTION
- bzip2 compresses files using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding.
- Compression is generally considerably better than that
- achieved by more conventional LZ77/LZ78-based compressors,
- and approaches the performance of the PPM family of sta-
- tistical compressors.
-
- The command-line options are deliberately very similar to
- those of GNU gzip, but they are not identical.
-
- bzip2 expects a list of file names to accompany the com-
- mand-line flags. Each file is replaced by a compressed
- version of itself, with the name "original_name.bz2".
- Each compressed file has the same modification date, per-
- missions, and, when possible, ownership as the correspond-
- ing original, so that these properties can be correctly
- restored at decompression time. File name handling is
- naive in the sense that there is no mechanism for preserv-
- ing original file names, permissions, ownerships or dates
- in filesystems which lack these concepts, or have serious
- file name length restrictions, such as MS-DOS.
-
- bzip2 and bunzip2 will by default not overwrite existing
- files. If you want this to happen, specify the -f flag.
-
- If no file names are specified, bzip2 compresses from
- standard input to standard output. In this case, bzip2
- will decline to write compressed output to a terminal, as
- this would be entirely incomprehensible and therefore
- pointless.
-
- bunzip2 (or bzip2 -d) decompresses all specified files.
- Files which were not created by bzip2 will be detected and
- ignored, and a warning issued. bzip2 attempts to guess
- the filename for the decompressed file from that of the
- compressed file as follows:
-
- filename.bz2 becomes filename
- filename.bz becomes filename
- filename.tbz2 becomes filename.tar
- filename.tbz becomes filename.tar
- anyothername becomes anyothername.out
-
- If the file does not end in one of the recognised endings,
- .bz2, .bz, .tbz2 or .tbz, bzip2 complains that it cannot
- guess the name of the original file, and uses the original
- name with .out appended.
-
- As with compression, supplying no filenames causes decom-
- pression from standard input to standard output.
-
- bunzip2 will correctly decompress a file which is the con-
- catenation of two or more compressed files. The result is
- the concatenation of the corresponding uncompressed files.
- Integrity testing (-t) of concatenated compressed files is
- also supported.
-
- You can also compress or decompress files to the standard
- output by giving the -c flag. Multiple files may be com-
- pressed and decompressed like this. The resulting outputs
- are fed sequentially to stdout. Compression of multiple
- files in this manner generates a stream containing multi-
- ple compressed file representations. Such a stream can be
- decompressed correctly only by bzip2 version 0.9.0 or
- later. Earlier versions of bzip2 will stop after decom-
- pressing the first file in the stream.
-
- bzcat (or bzip2 -dc) decompresses all specified files to
- the standard output.
-
- bzip2 will read arguments from the environment variables
- BZIP2 and BZIP, in that order, and will process them
- before any arguments read from the command line. This
- gives a convenient way to supply default arguments.
-
- Compression is always performed, even if the compressed
- file is slightly larger than the original. Files of less
- than about one hundred bytes tend to get larger, since the
- compression mechanism has a constant overhead in the
- region of 50 bytes. Random data (including the output of
- most file compressors) is coded at about 8.05 bits per
- byte, giving an expansion of around 0.5%.
-
- As a self-check for your protection, bzip2 uses 32-bit
- CRCs to make sure that the decompressed version of a file
- is identical to the original. This guards against corrup-
- tion of the compressed data, and against undetected bugs
- in bzip2 (hopefully very unlikely). The chances of data
- corruption going undetected is microscopic, about one
- chance in four billion for each file processed. Be aware,
- though, that the check occurs upon decompression, so it
- can only tell you that something is wrong. It can't help
- you recover the original uncompressed data. You can use
- bzip2recover to try to recover data from damaged files.
-
- Return values: 0 for a normal exit, 1 for environmental
- problems (file not found, invalid flags, I/O errors, &c),
- 2 to indicate a corrupt compressed file, 3 for an internal
- consistency error (eg, bug) which caused bzip2 to panic.
-
-
-OPTIONS
- -c --stdout
- Compress or decompress to standard output.
-
- -d --decompress
- Force decompression. bzip2, bunzip2 and bzcat are
- really the same program, and the decision about
- what actions to take is done on the basis of which
- name is used. This flag overrides that mechanism,
- and forces bzip2 to decompress.
-
- -z --compress
- The complement to -d: forces compression,
- regardless of the invocation name.
-
- -t --test
- Check integrity of the specified file(s), but don't
- decompress them. This really performs a trial
- decompression and throws away the result.
-
- -f --force
- Force overwrite of output files. Normally, bzip2
- will not overwrite existing output files. Also
- forces bzip2 to break hard links to files, which it
- otherwise wouldn't do.
-
- bzip2 normally declines to decompress files which
- don't have the correct magic header bytes. If
- forced (-f), however, it will pass such files
- through unmodified. This is how GNU gzip behaves.
-
- -k --keep
- Keep (don't delete) input files during compression
- or decompression.
-
- -s --small
- Reduce memory usage, for compression, decompression
- and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5
- bytes per block byte. This means any file can be
- decompressed in 2300k of memory, albeit at about
- half the normal speed.
-
- During compression, -s selects a block size of
- 200k, which limits memory use to around the same
- figure, at the expense of your compression ratio.
- In short, if your machine is low on memory (8
- megabytes or less), use -s for everything. See
- MEMORY MANAGEMENT below.
-
- -q --quiet
- Suppress non-essential warning messages. Messages
- pertaining to I/O errors and other critical events
- will not be suppressed.
-
- -v --verbose
- Verbose mode -- show the compression ratio for each
- file processed. Further -v's increase the ver-
- bosity level, spewing out lots of information which
- is primarily of interest for diagnostic purposes.
-
- -L --license -V --version
- Display the software version, license terms and
- conditions.
-
- -1 (or --fast) to -9 (or --best)
- Set the block size to 100 k, 200 k .. 900 k when
- compressing. Has no effect when decompressing.
- See MEMORY MANAGEMENT below. The --fast and --best
- aliases are primarily for GNU gzip compatibility.
- In particular, --fast doesn't make things signifi-
- cantly faster. And --best merely selects the
- default behaviour.
-
- -- Treats all subsequent arguments as file names, even
- if they start with a dash. This is so you can han-
- dle files with names beginning with a dash, for
- example: bzip2 -- -myfilename.
-
- --repetitive-fast --repetitive-best
- These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the
- behaviour of the sorting algorithm in earlier ver-
- sions, which was sometimes useful. 0.9.5 and above
- have an improved algorithm which renders these
- flags irrelevant.
-
-
-MEMORY MANAGEMENT
- bzip2 compresses large files in blocks. The block size
- affects both the compression ratio achieved, and the
- amount of memory needed for compression and decompression.
- The flags -1 through -9 specify the block size to be
- 100,000 bytes through 900,000 bytes (the default) respec-
- tively. At decompression time, the block size used for
- compression is read from the header of the compressed
- file, and bunzip2 then allocates itself just enough memory
- to decompress the file. Since block sizes are stored in
- compressed files, it follows that the flags -1 to -9 are
- irrelevant to and so ignored during decompression.
-
- Compression and decompression requirements, in bytes, can
- be estimated as:
-
- Compression: 400k + ( 8 x block size )
-
- Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-
- Larger block sizes give rapidly diminishing marginal
- returns. Most of the compression comes from the first two
- or three hundred k of block size, a fact worth bearing in
- mind when using bzip2 on small machines. It is also
- important to appreciate that the decompression memory
- requirement is set at compression time by the choice of
- block size.
-
- For files compressed with the default 900k block size,
- bunzip2 will require about 3700 kbytes to decompress. To
- support decompression of any file on a 4 megabyte machine,
- bunzip2 has an option to decompress using approximately
- half this amount of memory, about 2300 kbytes. Decompres-
- sion speed is also halved, so you should use this option
- only where necessary. The relevant flag is -s.
-
- In general, try and use the largest block size memory con-
- straints allow, since that maximises the compression
- achieved. Compression and decompression speed are virtu-
- ally unaffected by block size.
-
- Another significant point applies to files which fit in a
- single block -- that means most files you'd encounter
- using a large block size. The amount of real memory
- touched is proportional to the size of the file, since the
- file is smaller than a block. For example, compressing a
- file 20,000 bytes long with the flag -9 will cause the
- compressor to allocate around 7600k of memory, but only
- touch 400k + 20000 * 8 = 560 kbytes of it. Similarly, the
- decompressor will allocate 3700k but only touch 100k +
- 20000 * 4 = 180 kbytes.
-
- Here is a table which summarises the maximum memory usage
- for different block sizes. Also recorded is the total
- compressed size for 14 files of the Calgary Text Compres-
- sion Corpus totalling 3,141,622 bytes. This column gives
- some feel for how compression varies with block size.
- These figures tend to understate the advantage of larger
- block sizes for larger files, since the Corpus is domi-
- nated by smaller files.
-
- Compress Decompress Decompress Corpus
- Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642
-
-
-RECOVERING DATA FROM DAMAGED FILES
- bzip2 compresses files in blocks, usually 900kbytes long.
- Each block is handled independently. If a media or trans-
- mission error causes a multi-block .bz2 file to become
- damaged, it may be possible to recover data from the
- undamaged blocks in the file.
-
- The compressed representation of each block is delimited
- by a 48-bit pattern, which makes it possible to find the
- block boundaries with reasonable certainty. Each block
- also carries its own 32-bit CRC, so damaged blocks can be
- distinguished from undamaged ones.
-
- bzip2recover is a simple program whose purpose is to
- search for blocks in .bz2 files, and write each block out
- into its own .bz2 file. You can then use bzip2 -t to test
- the integrity of the resulting files, and decompress those
- which are undamaged.
-
- bzip2recover takes a single argument, the name of the dam-
- aged file, and writes a number of files
- "rec00001file.bz2", "rec00002file.bz2", etc, containing
- the extracted blocks. The output filenames are
- designed so that the use of wildcards in subsequent pro-
- cessing -- for example, "bzip2 -dc rec*file.bz2 > recov-
- ered_data" -- processes the files in the correct order.
-
- bzip2recover should be of most use dealing with large .bz2
- files, as these will contain many blocks. It is clearly
- futile to use it on damaged single-block files, since a
- damaged block cannot be recovered. If you wish to min-
- imise any potential data loss through media or transmis-
- sion errors, you might consider compressing with a smaller
- block size.
-
-
-PERFORMANCE NOTES
- The sorting phase of compression gathers together similar
- strings in the file. Because of this, files containing
- very long runs of repeated symbols, like "aabaabaabaab
- ..." (repeated several hundred times) may compress more
- slowly than normal. Versions 0.9.5 and above fare much
- better than previous versions in this respect. The ratio
- between worst-case and average-case compression time is in
- the region of 10:1. For previous versions, this figure
- was more like 100:1. You can use the -vvvv option to mon-
- itor progress in great detail, if you want.
-
- Decompression speed is unaffected by these phenomena.
-
- bzip2 usually allocates several megabytes of memory to
- operate in, and then charges all over it in a fairly ran-
- dom fashion. This means that performance, both for com-
- pressing and decompressing, is largely determined by the
- speed at which your machine can service cache misses.
- Because of this, small changes to the code to reduce the
- miss rate have been observed to give disproportionately
- large performance improvements. I imagine bzip2 will per-
- form best on machines with very large caches.
-
-
-CAVEATS
- I/O error messages are not as helpful as they could be.
- bzip2 tries hard to detect I/O errors and exit cleanly,
- but the details of what the problem is sometimes seem
- rather misleading.
-
- This manual page pertains to version 1.0.6 of bzip2. Com-
- pressed data created by this version is entirely forwards
- and backwards compatible with the previous public
- releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
- 1.0.2 and above, but with the following exception: 0.9.0
- and above can correctly decompress multiple concatenated
- compressed files. 0.1pl2 cannot do this; it will stop
- after decompressing just the first file in the stream.
-
- bzip2recover versions prior to 1.0.2 used 32-bit integers
- to represent bit positions in compressed files, so they
- could not handle compressed files more than 512 megabytes
- long. Versions 1.0.2 and above use 64-bit ints on some
- platforms which support them (GNU supported targets, and
- Windows). To establish whether or not bzip2recover was
- built with such a limitation, run it without arguments.
- In any event you can build yourself an unlimited version
- if you can recompile it with MaybeUInt64 set to be an
- unsigned 64-bit integer.
-
-
-AUTHOR
- Julian Seward, jsewardbzip.org.
-
- http://www.bzip.org
-
- The ideas embodied in bzip2 are due to (at least) the fol-
- lowing people: Michael Burrows and David Wheeler (for the
- block sorting transformation), David Wheeler (again, for
- the Huffman coder), Peter Fenwick (for the structured cod-
- ing model in the original bzip, and many refinements), and
- Alistair Moffat, Radford Neal and Ian Witten (for the
- arithmetic coder in the original bzip). I am much
- indebted for their help, support and advice. See the man-
- ual in the source distribution for pointers to sources of
- documentation. Christian von Roques encouraged me to look
- for faster sorting algorithms, so as to speed up compres-
- sion. Bela Lubkin encouraged me to improve the worst-case
- compression performance. Donna Robinson XMLised the docu-
- mentation. The bz* scripts are derived from those of GNU
- gzip. Many people sent patches, helped with portability
- problems, lent machines, gave advice and were generally
- helpful.
-
diff --git a/plugins/updater/bzip2-1.0.3/bzip2recover.c b/plugins/updater/bzip2-1.0.3/bzip2recover.c
deleted file mode 100644
index f9de0496ab..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzip2recover.c
+++ /dev/null
@@ -1,514 +0,0 @@
-/*-----------------------------------------------------------*/
-/*--- Block recoverer program for bzip2 ---*/
-/*--- bzip2recover.c ---*/
-/*-----------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-/* This program is a complete hack and should be rewritten properly.
- It isn't very complicated. */
-
-#include <stdio.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-/* This program records bit locations in the file to be recovered.
- That means that if 64-bit ints are not supported, we will not
- be able to recover .bz2 files over 512MB (2^32 bits) long.
- On GNU supported platforms, we take advantage of the 64-bit
- int support to circumvent this problem. Ditto MSVC.
-
- This change occurred in version 1.0.2; all prior versions have
- the 512MB limitation.
-*/
-#ifdef __GNUC__
- typedef unsigned long long int MaybeUInt64;
-# define MaybeUInt64_FMT "%Lu"
-#else
-#ifdef _MSC_VER
- typedef unsigned __int64 MaybeUInt64;
-# define MaybeUInt64_FMT "%I64u"
-#else
- typedef unsigned int MaybeUInt64;
-# define MaybeUInt64_FMT "%u"
-#endif
-#endif
-
-typedef unsigned int UInt32;
-typedef int Int32;
-typedef unsigned char UChar;
-typedef char Char;
-typedef unsigned char Bool;
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-
-#define BZ_MAX_FILENAME 2000
-
-Char inFileName[BZ_MAX_FILENAME];
-Char outFileName[BZ_MAX_FILENAME];
-Char progName[BZ_MAX_FILENAME];
-
-MaybeUInt64 bytesOut = 0;
-MaybeUInt64 bytesIn = 0;
-
-
-/*---------------------------------------------------*/
-/*--- Header bytes ---*/
-/*---------------------------------------------------*/
-
-#define BZ_HDR_B 0x42 /* 'B' */
-#define BZ_HDR_Z 0x5a /* 'Z' */
-#define BZ_HDR_h 0x68 /* 'h' */
-#define BZ_HDR_0 0x30 /* '0' */
-
-
-/*---------------------------------------------------*/
-/*--- I/O errors ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------*/
-static void readError ( void )
-{
- fprintf ( stderr,
- "%s: I/O error reading `%s', possible reason follows.\n",
- progName, inFileName );
- perror ( progName );
- fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
- progName );
- exit ( 1 );
-}
-
-
-/*---------------------------------------------*/
-static void writeError ( void )
-{
- fprintf ( stderr,
- "%s: I/O error reading `%s', possible reason follows.\n",
- progName, inFileName );
- perror ( progName );
- fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
- progName );
- exit ( 1 );
-}
-
-
-/*---------------------------------------------*/
-static void mallocFail ( Int32 n )
-{
- fprintf ( stderr,
- "%s: malloc failed on request for %d bytes.\n",
- progName, n );
- fprintf ( stderr, "%s: warning: output file(s) may be incomplete.\n",
- progName );
- exit ( 1 );
-}
-
-
-/*---------------------------------------------*/
-static void tooManyBlocks ( Int32 max_handled_blocks )
-{
- fprintf ( stderr,
- "%s: `%s' appears to contain more than %d blocks\n",
- progName, inFileName, max_handled_blocks );
- fprintf ( stderr,
- "%s: and cannot be handled. To fix, increase\n",
- progName );
- fprintf ( stderr,
- "%s: BZ_MAX_HANDLED_BLOCKS in bzip2recover.c, and recompile.\n",
- progName );
- exit ( 1 );
-}
-
-
-
-/*---------------------------------------------------*/
-/*--- Bit stream I/O ---*/
-/*---------------------------------------------------*/
-
-typedef
- struct {
- FILE* handle;
- Int32 buffer;
- Int32 buffLive;
- Char mode;
- }
- BitStream;
-
-
-/*---------------------------------------------*/
-static BitStream* bsOpenReadStream ( FILE* stream )
-{
- BitStream *bs = malloc ( sizeof(BitStream) );
- if (bs == NULL) mallocFail ( sizeof(BitStream) );
- bs->handle = stream;
- bs->buffer = 0;
- bs->buffLive = 0;
- bs->mode = 'r';
- return bs;
-}
-
-
-/*---------------------------------------------*/
-static BitStream* bsOpenWriteStream ( FILE* stream )
-{
- BitStream *bs = malloc ( sizeof(BitStream) );
- if (bs == NULL) mallocFail ( sizeof(BitStream) );
- bs->handle = stream;
- bs->buffer = 0;
- bs->buffLive = 0;
- bs->mode = 'w';
- return bs;
-}
-
-
-/*---------------------------------------------*/
-static void bsPutBit ( BitStream* bs, Int32 bit )
-{
- if (bs->buffLive == 8) {
- Int32 retVal = putc ( (UChar) bs->buffer, bs->handle );
- if (retVal == EOF) writeError();
- bytesOut++;
- bs->buffLive = 1;
- bs->buffer = bit & 0x1;
- } else {
- bs->buffer = ( (bs->buffer << 1) | (bit & 0x1) );
- bs->buffLive++;
- };
-}
-
-
-/*---------------------------------------------*/
-/*--
- Returns 0 or 1, or 2 to indicate EOF.
---*/
-static Int32 bsGetBit ( BitStream* bs )
-{
- if (bs->buffLive > 0) {
- bs->buffLive --;
- return ( ((bs->buffer) >> (bs->buffLive)) & 0x1 );
- } else {
- Int32 retVal = getc ( bs->handle );
- if ( retVal == EOF ) {
- if (errno != 0) readError();
- return 2;
- }
- bs->buffLive = 7;
- bs->buffer = retVal;
- return ( ((bs->buffer) >> 7) & 0x1 );
- }
-}
-
-
-/*---------------------------------------------*/
-static void bsClose ( BitStream* bs )
-{
- Int32 retVal;
-
- if ( bs->mode == 'w' ) {
- while ( bs->buffLive < 8 ) {
- bs->buffLive++;
- bs->buffer <<= 1;
- };
- retVal = putc ( (UChar) (bs->buffer), bs->handle );
- if (retVal == EOF) writeError();
- bytesOut++;
- retVal = fflush ( bs->handle );
- if (retVal == EOF) writeError();
- }
- retVal = fclose ( bs->handle );
- if (retVal == EOF) {
- if (bs->mode == 'w') writeError(); else readError();
- }
- free ( bs );
-}
-
-
-/*---------------------------------------------*/
-static void bsPutUChar ( BitStream* bs, UChar c )
-{
- Int32 i;
- for (i = 7; i >= 0; i--)
- bsPutBit ( bs, (((UInt32) c) >> i) & 0x1 );
-}
-
-
-/*---------------------------------------------*/
-static void bsPutUInt32 ( BitStream* bs, UInt32 c )
-{
- Int32 i;
-
- for (i = 31; i >= 0; i--)
- bsPutBit ( bs, (c >> i) & 0x1 );
-}
-
-
-/*---------------------------------------------*/
-static Bool endsInBz2 ( Char* name )
-{
- Int32 n = strlen ( name );
- if (n <= 4) return False;
- return
- (name[n-4] == '.' &&
- name[n-3] == 'b' &&
- name[n-2] == 'z' &&
- name[n-1] == '2');
-}
-
-
-/*---------------------------------------------------*/
-/*--- ---*/
-/*---------------------------------------------------*/
-
-/* This logic isn't really right when it comes to Cygwin. */
-#ifdef _WIN32
-# define BZ_SPLIT_SYM '\\' /* path splitter on Windows platform */
-#else
-# define BZ_SPLIT_SYM '/' /* path splitter on Unix platform */
-#endif
-
-#define BLOCK_HEADER_HI 0x00003141UL
-#define BLOCK_HEADER_LO 0x59265359UL
-
-#define BLOCK_ENDMARK_HI 0x00001772UL
-#define BLOCK_ENDMARK_LO 0x45385090UL
-
-/* Increase if necessary. However, a .bz2 file with > 50000 blocks
- would have an uncompressed size of at least 40GB, so the chances
- are low you'll need to up this.
-*/
-#define BZ_MAX_HANDLED_BLOCKS 50000
-
-MaybeUInt64 bStart [BZ_MAX_HANDLED_BLOCKS];
-MaybeUInt64 bEnd [BZ_MAX_HANDLED_BLOCKS];
-MaybeUInt64 rbStart[BZ_MAX_HANDLED_BLOCKS];
-MaybeUInt64 rbEnd [BZ_MAX_HANDLED_BLOCKS];
-
-Int32 main ( Int32 argc, Char** argv )
-{
- FILE* inFile;
- FILE* outFile;
- BitStream* bsIn, *bsWr;
- Int32 b, wrBlock, currBlock, rbCtr;
- MaybeUInt64 bitsRead;
-
- UInt32 buffHi, buffLo, blockCRC;
- Char* p;
-
- strcpy ( progName, argv[0] );
- inFileName[0] = outFileName[0] = 0;
-
- fprintf ( stderr,
- "bzip2recover 1.0.6: extracts blocks from damaged .bz2 files.\n" );
-
- if (argc != 2) {
- fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
- progName, progName );
- switch (sizeof(MaybeUInt64)) {
- case 8:
- fprintf(stderr,
- "\trestrictions on size of recovered file: None\n");
- break;
- case 4:
- fprintf(stderr,
- "\trestrictions on size of recovered file: 512 MB\n");
- fprintf(stderr,
- "\tto circumvent, recompile with MaybeUInt64 as an\n"
- "\tunsigned 64-bit int.\n");
- break;
- default:
- fprintf(stderr,
- "\tsizeof(MaybeUInt64) is not 4 or 8 -- "
- "configuration error.\n");
- break;
- }
- exit(1);
- }
-
- if (strlen(argv[1]) >= BZ_MAX_FILENAME-20) {
- fprintf ( stderr,
- "%s: supplied filename is suspiciously (>= %d chars) long. Bye!\n",
- progName, (int)strlen(argv[1]) );
- exit(1);
- }
-
- strcpy ( inFileName, argv[1] );
-
- inFile = fopen ( inFileName, "rb" );
- if (inFile == NULL) {
- fprintf ( stderr, "%s: can't read `%s'\n", progName, inFileName );
- exit(1);
- }
-
- bsIn = bsOpenReadStream ( inFile );
- fprintf ( stderr, "%s: searching for block boundaries ...\n", progName );
-
- bitsRead = 0;
- buffHi = buffLo = 0;
- currBlock = 0;
- bStart[currBlock] = 0;
-
- rbCtr = 0;
-
- while (True) {
- b = bsGetBit ( bsIn );
- bitsRead++;
- if (b == 2) {
- if (bitsRead >= bStart[currBlock] &&
- (bitsRead - bStart[currBlock]) >= 40) {
- bEnd[currBlock] = bitsRead-1;
- if (currBlock > 0)
- fprintf ( stderr, " block %d runs from " MaybeUInt64_FMT
- " to " MaybeUInt64_FMT " (incomplete)\n",
- currBlock, bStart[currBlock], bEnd[currBlock] );
- } else
- currBlock--;
- break;
- }
- buffHi = (buffHi << 1) | (buffLo >> 31);
- buffLo = (buffLo << 1) | (b & 1);
- if ( ( (buffHi & 0x0000ffff) == BLOCK_HEADER_HI
- && buffLo == BLOCK_HEADER_LO)
- ||
- ( (buffHi & 0x0000ffff) == BLOCK_ENDMARK_HI
- && buffLo == BLOCK_ENDMARK_LO)
- ) {
- if (bitsRead > 49) {
- bEnd[currBlock] = bitsRead-49;
- } else {
- bEnd[currBlock] = 0;
- }
- if (currBlock > 0 &&
- (bEnd[currBlock] - bStart[currBlock]) >= 130) {
- fprintf ( stderr, " block %d runs from " MaybeUInt64_FMT
- " to " MaybeUInt64_FMT "\n",
- rbCtr+1, bStart[currBlock], bEnd[currBlock] );
- rbStart[rbCtr] = bStart[currBlock];
- rbEnd[rbCtr] = bEnd[currBlock];
- rbCtr++;
- }
- if (currBlock >= BZ_MAX_HANDLED_BLOCKS)
- tooManyBlocks(BZ_MAX_HANDLED_BLOCKS);
- currBlock++;
-
- bStart[currBlock] = bitsRead;
- }
- }
-
- bsClose ( bsIn );
-
- /*-- identified blocks run from 1 to rbCtr inclusive. --*/
-
- if (rbCtr < 1) {
- fprintf ( stderr,
- "%s: sorry, I couldn't find any block boundaries.\n",
- progName );
- exit(1);
- };
-
- fprintf ( stderr, "%s: splitting into blocks\n", progName );
-
- inFile = fopen ( inFileName, "rb" );
- if (inFile == NULL) {
- fprintf ( stderr, "%s: can't open `%s'\n", progName, inFileName );
- exit(1);
- }
- bsIn = bsOpenReadStream ( inFile );
-
- /*-- placate gcc's dataflow analyser --*/
- blockCRC = 0; bsWr = 0;
-
- bitsRead = 0;
- outFile = NULL;
- wrBlock = 0;
- while (True) {
- b = bsGetBit(bsIn);
- if (b == 2) break;
- buffHi = (buffHi << 1) | (buffLo >> 31);
- buffLo = (buffLo << 1) | (b & 1);
- if (bitsRead == 47+rbStart[wrBlock])
- blockCRC = (buffHi << 16) | (buffLo >> 16);
-
- if (outFile != NULL && bitsRead >= rbStart[wrBlock]
- && bitsRead <= rbEnd[wrBlock]) {
- bsPutBit ( bsWr, b );
- }
-
- bitsRead++;
-
- if (bitsRead == rbEnd[wrBlock]+1) {
- if (outFile != NULL) {
- bsPutUChar ( bsWr, 0x17 ); bsPutUChar ( bsWr, 0x72 );
- bsPutUChar ( bsWr, 0x45 ); bsPutUChar ( bsWr, 0x38 );
- bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
- bsPutUInt32 ( bsWr, blockCRC );
- bsClose ( bsWr );
- }
- if (wrBlock >= rbCtr) break;
- wrBlock++;
- } else
- if (bitsRead == rbStart[wrBlock]) {
- /* Create the output file name, correctly handling leading paths.
- (31.10.2001 by Sergey E. Kusikov) */
- Char* split;
- Int32 ofs, k;
- for (k = 0; k < BZ_MAX_FILENAME; k++)
- outFileName[k] = 0;
- strcpy (outFileName, inFileName);
- split = strrchr (outFileName, BZ_SPLIT_SYM);
- if (split == NULL) {
- split = outFileName;
- } else {
- ++split;
- }
- /* Now split points to the start of the basename. */
- ofs = split - outFileName;
- sprintf (split, "rec%5d", wrBlock+1);
- for (p = split; *p != 0; p++) if (*p == ' ') *p = '0';
- strcat (outFileName, inFileName + ofs);
-
- if ( !endsInBz2(outFileName)) strcat ( outFileName, ".bz2" );
-
- fprintf ( stderr, " writing block %d to `%s' ...\n",
- wrBlock+1, outFileName );
-
- outFile = fopen ( outFileName, "wb" );
- if (outFile == NULL) {
- fprintf ( stderr, "%s: can't write `%s'\n",
- progName, outFileName );
- exit(1);
- }
- bsWr = bsOpenWriteStream ( outFile );
- bsPutUChar ( bsWr, BZ_HDR_B );
- bsPutUChar ( bsWr, BZ_HDR_Z );
- bsPutUChar ( bsWr, BZ_HDR_h );
- bsPutUChar ( bsWr, BZ_HDR_0 + 9 );
- bsPutUChar ( bsWr, 0x31 ); bsPutUChar ( bsWr, 0x41 );
- bsPutUChar ( bsWr, 0x59 ); bsPutUChar ( bsWr, 0x26 );
- bsPutUChar ( bsWr, 0x53 ); bsPutUChar ( bsWr, 0x59 );
- }
- }
-
- fprintf ( stderr, "%s: finished\n", progName );
- return 0;
-}
-
-
-
-/*-----------------------------------------------------------*/
-/*--- end bzip2recover.c ---*/
-/*-----------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/bzlib.c b/plugins/updater/bzip2-1.0.3/bzlib.c
deleted file mode 100644
index bd358a793b..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzlib.c
+++ /dev/null
@@ -1,1572 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Library top-level functions. ---*/
-/*--- bzlib.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-/* CHANGES
- 0.9.0 -- original version.
- 0.9.0a/b -- no changes in this file.
- 0.9.0c -- made zero-length BZ_FLUSH work correctly in bzCompress().
- fixed bzWrite/bzRead to ignore zero-length requests.
- fixed bzread to correctly handle read requests after EOF.
- wrong parameter order in call to bzDecompressInit in
- bzBuffToBuffDecompress. Fixed.
-*/
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-/*--- Compression stuff ---*/
-/*---------------------------------------------------*/
-
-
-/*---------------------------------------------------*/
-#ifndef BZ_NO_STDIO
-void BZ2_bz__AssertH__fail ( int errcode )
-{
- fprintf(stderr,
- "\n\nbzip2/libbzip2: internal error number %d.\n"
- "This is a bug in bzip2/libbzip2, %s.\n"
- "Please report it to me at: jseward@bzip.org. If this happened\n"
- "when you were using some program which uses libbzip2 as a\n"
- "component, you should also report this bug to the author(s)\n"
- "of that program. Please make an effort to report this bug;\n"
- "timely and accurate bug reports eventually lead to higher\n"
- "quality software. Thanks. Julian Seward, 10 December 2007.\n\n",
- errcode,
- BZ2_bzlibVersion()
- );
-
- if (errcode == 1007) {
- fprintf(stderr,
- "\n*** A special note about internal error number 1007 ***\n"
- "\n"
- "Experience suggests that a common cause of i.e. 1007\n"
- "is unreliable memory or other hardware. The 1007 assertion\n"
- "just happens to cross-check the results of huge numbers of\n"
- "memory reads/writes, and so acts (unintendedly) as a stress\n"
- "test of your memory system.\n"
- "\n"
- "I suggest the following: try compressing the file again,\n"
- "possibly monitoring progress in detail with the -vv flag.\n"
- "\n"
- "* If the error cannot be reproduced, and/or happens at different\n"
- " points in compression, you may have a flaky memory system.\n"
- " Try a memory-test program. I have used Memtest86\n"
- " (www.memtest86.com). At the time of writing it is free (GPLd).\n"
- " Memtest86 tests memory much more thorougly than your BIOSs\n"
- " power-on test, and may find failures that the BIOS doesn't.\n"
- "\n"
- "* If the error can be repeatably reproduced, this is a bug in\n"
- " bzip2, and I would very much like to hear about it. Please\n"
- " let me know, and, ideally, save a copy of the file causing the\n"
- " problem -- without which I will be unable to investigate it.\n"
- "\n"
- );
- }
-
- exit(3);
-}
-#endif
-
-
-/*---------------------------------------------------*/
-static
-int bz_config_ok ( void )
-{
- if (sizeof(int) != 4) return 0;
- if (sizeof(short) != 2) return 0;
- if (sizeof(char) != 1) return 0;
- return 1;
-}
-
-
-/*---------------------------------------------------*/
-static
-void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
-{
- void* v = malloc ( items * size );
- return v;
-}
-
-static
-void default_bzfree ( void* opaque, void* addr )
-{
- if (addr != NULL) free ( addr );
-}
-
-
-/*---------------------------------------------------*/
-static
-void prepare_new_block ( EState* s )
-{
- Int32 i;
- s->nblock = 0;
- s->numZ = 0;
- s->state_out_pos = 0;
- BZ_INITIALISE_CRC ( s->blockCRC );
- for (i = 0; i < 256; i++) s->inUse[i] = False;
- s->blockNo++;
-}
-
-
-/*---------------------------------------------------*/
-static
-void init_RL ( EState* s )
-{
- s->state_in_ch = 256;
- s->state_in_len = 0;
-}
-
-
-static
-Bool isempty_RL ( EState* s )
-{
- if (s->state_in_ch < 256 && s->state_in_len > 0)
- return False; else
- return True;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressInit)
- ( bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 n;
- EState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(EState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
-
- s->arr1 = NULL;
- s->arr2 = NULL;
- s->ftab = NULL;
-
- n = 100000 * blockSize100k;
- s->arr1 = BZALLOC( n * sizeof(UInt32) );
- s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
- s->ftab = BZALLOC( 65537 * sizeof(UInt32) );
-
- if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- if (s != NULL) BZFREE(s);
- return BZ_MEM_ERROR;
- }
-
- s->blockNo = 0;
- s->state = BZ_S_INPUT;
- s->mode = BZ_M_RUNNING;
- s->combinedCRC = 0;
- s->blockSize100k = blockSize100k;
- s->nblockMAX = 100000 * blockSize100k - 19;
- s->verbosity = verbosity;
- s->workFactor = workFactor;
-
- s->block = (UChar*)s->arr2;
- s->mtfv = (UInt16*)s->arr1;
- s->zbits = NULL;
- s->ptr = (UInt32*)s->arr1;
-
- strm->state = s;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- init_RL ( s );
- prepare_new_block ( s );
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-static
-void add_pair_to_block ( EState* s )
-{
- Int32 i;
- UChar ch = (UChar)(s->state_in_ch);
- for (i = 0; i < s->state_in_len; i++) {
- BZ_UPDATE_CRC( s->blockCRC, ch );
- }
- s->inUse[s->state_in_ch] = True;
- switch (s->state_in_len) {
- case 1:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 2:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- case 3:
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- break;
- default:
- s->inUse[s->state_in_len-4] = True;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = (UChar)ch; s->nblock++;
- s->block[s->nblock] = ((UChar)(s->state_in_len-4));
- s->nblock++;
- break;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void flush_RL ( EState* s )
-{
- if (s->state_in_ch < 256) add_pair_to_block ( s );
- init_RL ( s );
-}
-
-
-/*---------------------------------------------------*/
-#define ADD_CHAR_TO_BLOCK(zs,zchh0) \
-{ \
- UInt32 zchh = (UInt32)(zchh0); \
- /*-- fast track the common case --*/ \
- if (zchh != zs->state_in_ch && \
- zs->state_in_len == 1) { \
- UChar ch = (UChar)(zs->state_in_ch); \
- BZ_UPDATE_CRC( zs->blockCRC, ch ); \
- zs->inUse[zs->state_in_ch] = True; \
- zs->block[zs->nblock] = (UChar)ch; \
- zs->nblock++; \
- zs->state_in_ch = zchh; \
- } \
- else \
- /*-- general, uncommon cases --*/ \
- if (zchh != zs->state_in_ch || \
- zs->state_in_len == 255) { \
- if (zs->state_in_ch < 256) \
- add_pair_to_block ( zs ); \
- zs->state_in_ch = zchh; \
- zs->state_in_len = 1; \
- } else { \
- zs->state_in_len++; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_input_until_stop ( EState* s )
-{
- Bool progress_in = False;
-
- if (s->mode == BZ_M_RUNNING) {
-
- /*-- fast track the common case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- }
-
- } else {
-
- /*-- general, uncommon case --*/
- while (True) {
- /*-- block full? --*/
- if (s->nblock >= s->nblockMAX) break;
- /*-- no input? --*/
- if (s->strm->avail_in == 0) break;
- /*-- flush/finish end? --*/
- if (s->avail_in_expect == 0) break;
- progress_in = True;
- ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
- s->strm->next_in++;
- s->strm->avail_in--;
- s->strm->total_in_lo32++;
- if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
- s->avail_in_expect--;
- }
- }
- return progress_in;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool copy_output_until_stop ( EState* s )
-{
- Bool progress_out = False;
-
- while (True) {
-
- /*-- no output space? --*/
- if (s->strm->avail_out == 0) break;
-
- /*-- block done? --*/
- if (s->state_out_pos >= s->numZ) break;
-
- progress_out = True;
- *(s->strm->next_out) = s->zbits[s->state_out_pos];
- s->state_out_pos++;
- s->strm->avail_out--;
- s->strm->next_out++;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- return progress_out;
-}
-
-
-/*---------------------------------------------------*/
-static
-Bool handle_compress ( bz_stream* strm )
-{
- Bool progress_in = False;
- Bool progress_out = False;
- EState* s = strm->state;
-
- while (True) {
-
- if (s->state == BZ_S_OUTPUT) {
- progress_out |= copy_output_until_stop ( s );
- if (s->state_out_pos < s->numZ) break;
- if (s->mode == BZ_M_FINISHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- prepare_new_block ( s );
- s->state = BZ_S_INPUT;
- if (s->mode == BZ_M_FLUSHING &&
- s->avail_in_expect == 0 &&
- isempty_RL(s)) break;
- }
-
- if (s->state == BZ_S_INPUT) {
- progress_in |= copy_input_until_stop ( s );
- if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
- flush_RL ( s );
- BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->nblock >= s->nblockMAX) {
- BZ2_compressBlock ( s, False );
- s->state = BZ_S_OUTPUT;
- }
- else
- if (s->strm->avail_in == 0) {
- break;
- }
- }
-
- }
-
- return progress_in || progress_out;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
-{
- Bool progress;
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- preswitch:
- switch (s->mode) {
-
- case BZ_M_IDLE:
- return BZ_SEQUENCE_ERROR;
-
- case BZ_M_RUNNING:
- if (action == BZ_RUN) {
- progress = handle_compress ( strm );
- return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
- }
- else
- if (action == BZ_FLUSH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FLUSHING;
- goto preswitch;
- }
- else
- if (action == BZ_FINISH) {
- s->avail_in_expect = strm->avail_in;
- s->mode = BZ_M_FINISHING;
- goto preswitch;
- }
- else
- return BZ_PARAM_ERROR;
-
- case BZ_M_FLUSHING:
- if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
- s->mode = BZ_M_RUNNING;
- return BZ_RUN_OK;
-
- case BZ_M_FINISHING:
- if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect != s->strm->avail_in)
- return BZ_SEQUENCE_ERROR;
- progress = handle_compress ( strm );
- if (!progress) return BZ_SEQUENCE_ERROR;
- if (s->avail_in_expect > 0 || !isempty_RL(s) ||
- s->state_out_pos < s->numZ) return BZ_FINISH_OK;
- s->mode = BZ_M_IDLE;
- return BZ_STREAM_END;
- }
- return BZ_OK; /*--not reached--*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzCompressEnd) ( bz_stream *strm )
-{
- EState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->arr1 != NULL) BZFREE(s->arr1);
- if (s->arr2 != NULL) BZFREE(s->arr2);
- if (s->ftab != NULL) BZFREE(s->ftab);
- BZFREE(strm->state);
-
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-/*--- Decompression stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressInit)
- ( bz_stream* strm,
- int verbosity,
- int small )
-{
- DState* s;
-
- if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-
- if (strm == NULL) return BZ_PARAM_ERROR;
- if (small != 0 && small != 1) return BZ_PARAM_ERROR;
- if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR;
-
- if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc;
- if (strm->bzfree == NULL) strm->bzfree = default_bzfree;
-
- s = BZALLOC( sizeof(DState) );
- if (s == NULL) return BZ_MEM_ERROR;
- s->strm = strm;
- strm->state = s;
- s->state = BZ_X_MAGIC_1;
- s->bsLive = 0;
- s->bsBuff = 0;
- s->calculatedCombinedCRC = 0;
- strm->total_in_lo32 = 0;
- strm->total_in_hi32 = 0;
- strm->total_out_lo32 = 0;
- strm->total_out_hi32 = 0;
- s->smallDecompress = (Bool)small;
- s->ll4 = NULL;
- s->ll16 = NULL;
- s->tt = NULL;
- s->currBlockNo = 0;
- s->verbosity = verbosity;
-
- return BZ_OK;
-}
-
-
-/*---------------------------------------------------*/
-/* Return True iff data corruption is discovered.
- Returns False if there is no problem.
-*/
-static
-Bool unRLE_obuf_to_output_FAST ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return False;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return False;
-
- /* Only caused by corrupt data stream? */
- if (s->nblock_used > s->save_nblock+1)
- return True;
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_FAST(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- /* restore */
- UInt32 c_calculatedBlockCRC = s->calculatedBlockCRC;
- UChar c_state_out_ch = s->state_out_ch;
- Int32 c_state_out_len = s->state_out_len;
- Int32 c_nblock_used = s->nblock_used;
- Int32 c_k0 = s->k0;
- UInt32* c_tt = s->tt;
- UInt32 c_tPos = s->tPos;
- char* cs_next_out = s->strm->next_out;
- unsigned int cs_avail_out = s->strm->avail_out;
- Int32 ro_blockSize100k = s->blockSize100k;
- /* end restore */
-
- UInt32 avail_out_INIT = cs_avail_out;
- Int32 s_save_nblockPP = s->save_nblock+1;
- unsigned int total_out_lo32_old;
-
- while (True) {
-
- /* try to finish existing run */
- if (c_state_out_len > 0) {
- while (True) {
- if (cs_avail_out == 0) goto return_notr;
- if (c_state_out_len == 1) break;
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- c_state_out_len--;
- cs_next_out++;
- cs_avail_out--;
- }
- s_state_out_len_eq_one:
- {
- if (cs_avail_out == 0) {
- c_state_out_len = 1; goto return_notr;
- };
- *( (UChar*)(cs_next_out) ) = c_state_out_ch;
- BZ_UPDATE_CRC ( c_calculatedBlockCRC, c_state_out_ch );
- cs_next_out++;
- cs_avail_out--;
- }
- }
- /* Only caused by corrupt data stream? */
- if (c_nblock_used > s_save_nblockPP)
- return True;
-
- /* can a new run be started? */
- if (c_nblock_used == s_save_nblockPP) {
- c_state_out_len = 0; goto return_notr;
- };
- c_state_out_ch = c_k0;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (k1 != c_k0) {
- c_k0 = k1; goto s_state_out_len_eq_one;
- };
- if (c_nblock_used == s_save_nblockPP)
- goto s_state_out_len_eq_one;
-
- c_state_out_len = 2;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- c_state_out_len = 3;
- BZ_GET_FAST_C(k1); c_nblock_used++;
- if (c_nblock_used == s_save_nblockPP) continue;
- if (k1 != c_k0) { c_k0 = k1; continue; };
-
- BZ_GET_FAST_C(k1); c_nblock_used++;
- c_state_out_len = ((Int32)k1) + 4;
- BZ_GET_FAST_C(c_k0); c_nblock_used++;
- }
-
- return_notr:
- total_out_lo32_old = s->strm->total_out_lo32;
- s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
- if (s->strm->total_out_lo32 < total_out_lo32_old)
- s->strm->total_out_hi32++;
-
- /* save */
- s->calculatedBlockCRC = c_calculatedBlockCRC;
- s->state_out_ch = c_state_out_ch;
- s->state_out_len = c_state_out_len;
- s->nblock_used = c_nblock_used;
- s->k0 = c_k0;
- s->tt = c_tt;
- s->tPos = c_tPos;
- s->strm->next_out = cs_next_out;
- s->strm->avail_out = cs_avail_out;
- /* end save */
- }
- return False;
-}
-
-
-
-/*---------------------------------------------------*/
-__inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
-{
- Int32 nb, na, mid;
- nb = 0;
- na = 256;
- do {
- mid = (nb + na) >> 1;
- if (indx >= cftab[mid]) nb = mid; else na = mid;
- }
- while (na - nb != 1);
- return nb;
-}
-
-
-/*---------------------------------------------------*/
-/* Return True iff data corruption is discovered.
- Returns False if there is no problem.
-*/
-static
-Bool unRLE_obuf_to_output_SMALL ( DState* s )
-{
- UChar k1;
-
- if (s->blockRandomised) {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return False;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return False;
-
- /* Only caused by corrupt data stream? */
- if (s->nblock_used > s->save_nblock+1)
- return True;
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK;
- k1 ^= BZ_RAND_MASK; s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK;
- s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
- }
-
- } else {
-
- while (True) {
- /* try to finish existing run */
- while (True) {
- if (s->strm->avail_out == 0) return False;
- if (s->state_out_len == 0) break;
- *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
- BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
- s->state_out_len--;
- s->strm->next_out++;
- s->strm->avail_out--;
- s->strm->total_out_lo32++;
- if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
- }
-
- /* can a new run be started? */
- if (s->nblock_used == s->save_nblock+1) return False;
-
- /* Only caused by corrupt data stream? */
- if (s->nblock_used > s->save_nblock+1)
- return True;
-
- s->state_out_len = 1;
- s->state_out_ch = s->k0;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 2;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- s->state_out_len = 3;
- BZ_GET_SMALL(k1); s->nblock_used++;
- if (s->nblock_used == s->save_nblock+1) continue;
- if (k1 != s->k0) { s->k0 = k1; continue; };
-
- BZ_GET_SMALL(k1); s->nblock_used++;
- s->state_out_len = ((Int32)k1) + 4;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
-{
- Bool corrupt;
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- while (True) {
- if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
- if (s->state == BZ_X_OUTPUT) {
- if (s->smallDecompress)
- corrupt = unRLE_obuf_to_output_SMALL ( s ); else
- corrupt = unRLE_obuf_to_output_FAST ( s );
- if (corrupt) return BZ_DATA_ERROR;
- if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
- BZ_FINALISE_CRC ( s->calculatedBlockCRC );
- if (s->verbosity >= 3)
- VPrintf2 ( " {0x%08x, 0x%08x}", s->storedBlockCRC,
- s->calculatedBlockCRC );
- if (s->verbosity >= 2) VPrintf0 ( "]" );
- if (s->calculatedBlockCRC != s->storedBlockCRC)
- return BZ_DATA_ERROR;
- s->calculatedCombinedCRC
- = (s->calculatedCombinedCRC << 1) |
- (s->calculatedCombinedCRC >> 31);
- s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
- s->state = BZ_X_BLKHDR_1;
- } else {
- return BZ_OK;
- }
- }
- if (s->state >= BZ_X_MAGIC_1) {
- Int32 r = BZ2_decompress ( s );
- if (r == BZ_STREAM_END) {
- if (s->verbosity >= 3)
- VPrintf2 ( "\n combined CRCs: stored = 0x%08x, computed = 0x%08x",
- s->storedCombinedCRC, s->calculatedCombinedCRC );
- if (s->calculatedCombinedCRC != s->storedCombinedCRC)
- return BZ_DATA_ERROR;
- return r;
- }
- if (s->state != BZ_X_OUTPUT) return r;
- }
- }
-
- AssertH ( 0, 6001 );
-
- return 0; /*NOTREACHED*/
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzDecompressEnd) ( bz_stream *strm )
-{
- DState* s;
- if (strm == NULL) return BZ_PARAM_ERROR;
- s = strm->state;
- if (s == NULL) return BZ_PARAM_ERROR;
- if (s->strm != strm) return BZ_PARAM_ERROR;
-
- if (s->tt != NULL) BZFREE(s->tt);
- if (s->ll16 != NULL) BZFREE(s->ll16);
- if (s->ll4 != NULL) BZFREE(s->ll4);
-
- BZFREE(strm->state);
- strm->state = NULL;
-
- return BZ_OK;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-/*--- File I/O stuff ---*/
-/*---------------------------------------------------*/
-
-#define BZ_SETERR(eee) \
-{ \
- if (bzerror != NULL) *bzerror = eee; \
- if (bzf != NULL) bzf->lastErr = eee; \
-}
-
-typedef
- struct {
- FILE* handle;
- Char buf[BZ_MAX_UNUSED];
- Int32 bufN;
- Bool writing;
- bz_stream strm;
- Int32 lastErr;
- Bool initialisedOk;
- }
- bzFile;
-
-
-/*---------------------------------------------*/
-static Bool myfeof ( FILE* f )
-{
- Int32 c = fgetc ( f );
- if (c == EOF) return True;
- ungetc ( c, f );
- return False;
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzWriteOpen)
- ( int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- Int32 ret;
- bzFile* bzf = NULL;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (blockSize100k < 1 || blockSize100k > 9) ||
- (workFactor < 0 || workFactor > 250) ||
- (verbosity < 0 || verbosity > 4))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
- bzf->initialisedOk = False;
- bzf->bufN = 0;
- bzf->handle = f;
- bzf->writing = True;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- if (workFactor == 0) workFactor = 30;
- ret = BZ2_bzCompressInit ( &(bzf->strm), blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = 0;
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWrite)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return; };
-
- bzf->strm.avail_in = len;
- bzf->strm.next_in = buf;
-
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_RUN );
- if (ret != BZ_RUN_OK)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (bzf->strm.avail_in == 0)
- { BZ_SETERR(BZ_OK); return; };
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzWriteClose)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out )
-{
- BZ2_bzWriteClose64 ( bzerror, b, abandon,
- nbytes_in, NULL, nbytes_out, NULL );
-}
-
-
-void BZ_API(BZ2_bzWriteClose64)
- ( int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 )
-{
- Int32 n, n2, ret;
- bzFile* bzf = (bzFile*)b;
-
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
- if (!(bzf->writing))
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
-
- if (nbytes_in_lo32 != NULL) *nbytes_in_lo32 = 0;
- if (nbytes_in_hi32 != NULL) *nbytes_in_hi32 = 0;
- if (nbytes_out_lo32 != NULL) *nbytes_out_lo32 = 0;
- if (nbytes_out_hi32 != NULL) *nbytes_out_hi32 = 0;
-
- if ((!abandon) && bzf->lastErr == BZ_OK) {
- while (True) {
- bzf->strm.avail_out = BZ_MAX_UNUSED;
- bzf->strm.next_out = bzf->buf;
- ret = BZ2_bzCompress ( &(bzf->strm), BZ_FINISH );
- if (ret != BZ_FINISH_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return; };
-
- if (bzf->strm.avail_out < BZ_MAX_UNUSED) {
- n = BZ_MAX_UNUSED - bzf->strm.avail_out;
- n2 = fwrite ( (void*)(bzf->buf), sizeof(UChar),
- n, bzf->handle );
- if (n != n2 || ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (ret == BZ_STREAM_END) break;
- }
- }
-
- if ( !abandon && !ferror ( bzf->handle ) ) {
- fflush ( bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return; };
- }
-
- if (nbytes_in_lo32 != NULL)
- *nbytes_in_lo32 = bzf->strm.total_in_lo32;
- if (nbytes_in_hi32 != NULL)
- *nbytes_in_hi32 = bzf->strm.total_in_hi32;
- if (nbytes_out_lo32 != NULL)
- *nbytes_out_lo32 = bzf->strm.total_out_lo32;
- if (nbytes_out_hi32 != NULL)
- *nbytes_out_hi32 = bzf->strm.total_out_hi32;
-
- BZ_SETERR(BZ_OK);
- BZ2_bzCompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-BZFILE* BZ_API(BZ2_bzReadOpen)
- ( int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused )
-{
- bzFile* bzf = NULL;
- int ret;
-
- BZ_SETERR(BZ_OK);
-
- if (f == NULL ||
- (small != 0 && small != 1) ||
- (verbosity < 0 || verbosity > 4) ||
- (unused == NULL && nUnused != 0) ||
- (unused != NULL && (nUnused < 0 || nUnused > BZ_MAX_UNUSED)))
- { BZ_SETERR(BZ_PARAM_ERROR); return NULL; };
-
- if (ferror(f))
- { BZ_SETERR(BZ_IO_ERROR); return NULL; };
-
- bzf = malloc ( sizeof(bzFile) );
- if (bzf == NULL)
- { BZ_SETERR(BZ_MEM_ERROR); return NULL; };
-
- BZ_SETERR(BZ_OK);
-
- bzf->initialisedOk = False;
- bzf->handle = f;
- bzf->bufN = 0;
- bzf->writing = False;
- bzf->strm.bzalloc = NULL;
- bzf->strm.bzfree = NULL;
- bzf->strm.opaque = NULL;
-
- while (nUnused > 0) {
- bzf->buf[bzf->bufN] = *((UChar*)(unused)); bzf->bufN++;
- unused = ((void*)( 1 + ((UChar*)(unused)) ));
- nUnused--;
- }
-
- ret = BZ2_bzDecompressInit ( &(bzf->strm), verbosity, small );
- if (ret != BZ_OK)
- { BZ_SETERR(ret); free(bzf); return NULL; };
-
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
-
- bzf->initialisedOk = True;
- return bzf;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadClose) ( int *bzerror, BZFILE *b )
-{
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
- if (bzf == NULL)
- { BZ_SETERR(BZ_OK); return; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
-
- if (bzf->initialisedOk)
- (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
- free ( bzf );
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzRead)
- ( int* bzerror,
- BZFILE* b,
- void* buf,
- int len )
-{
- Int32 n, ret;
- bzFile* bzf = (bzFile*)b;
-
- BZ_SETERR(BZ_OK);
-
- if (bzf == NULL || buf == NULL || len < 0)
- { BZ_SETERR(BZ_PARAM_ERROR); return 0; };
-
- if (bzf->writing)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return 0; };
-
- if (len == 0)
- { BZ_SETERR(BZ_OK); return 0; };
-
- bzf->strm.avail_out = len;
- bzf->strm.next_out = buf;
-
- while (True) {
-
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
-
- if (bzf->strm.avail_in == 0 && !myfeof(bzf->handle)) {
- n = fread ( bzf->buf, sizeof(UChar),
- BZ_MAX_UNUSED, bzf->handle );
- if (ferror(bzf->handle))
- { BZ_SETERR(BZ_IO_ERROR); return 0; };
- bzf->bufN = n;
- bzf->strm.avail_in = bzf->bufN;
- bzf->strm.next_in = bzf->buf;
- }
-
- ret = BZ2_bzDecompress ( &(bzf->strm) );
-
- if (ret != BZ_OK && ret != BZ_STREAM_END)
- { BZ_SETERR(ret); return 0; };
-
- if (ret == BZ_OK && myfeof(bzf->handle) &&
- bzf->strm.avail_in == 0 && bzf->strm.avail_out > 0)
- { BZ_SETERR(BZ_UNEXPECTED_EOF); return 0; };
-
- if (ret == BZ_STREAM_END)
- { BZ_SETERR(BZ_STREAM_END);
- return len - bzf->strm.avail_out; };
- if (bzf->strm.avail_out == 0)
- { BZ_SETERR(BZ_OK); return len; };
-
- }
-
- return 0; /*not reached*/
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzReadGetUnused)
- ( int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused )
-{
- bzFile* bzf = (bzFile*)b;
- if (bzf == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
- if (bzf->lastErr != BZ_STREAM_END)
- { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
- if (unused == NULL || nUnused == NULL)
- { BZ_SETERR(BZ_PARAM_ERROR); return; };
-
- BZ_SETERR(BZ_OK);
- *nUnused = bzf->strm.avail_in;
- *unused = bzf->strm.next_in;
-}
-#endif
-
-
-/*---------------------------------------------------*/
-/*--- Misc convenience stuff ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffCompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- blockSize100k < 1 || blockSize100k > 9 ||
- verbosity < 0 || verbosity > 4 ||
- workFactor < 0 || workFactor > 250)
- return BZ_PARAM_ERROR;
-
- if (workFactor == 0) workFactor = 30;
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzCompressInit ( &strm, blockSize100k,
- verbosity, workFactor );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzCompress ( &strm, BZ_FINISH );
- if (ret == BZ_FINISH_OK) goto output_overflow;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzCompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow:
- BZ2_bzCompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
-
- errhandler:
- BZ2_bzCompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzBuffToBuffDecompress)
- ( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity )
-{
- bz_stream strm;
- int ret;
-
- if (dest == NULL || destLen == NULL ||
- source == NULL ||
- (small != 0 && small != 1) ||
- verbosity < 0 || verbosity > 4)
- return BZ_PARAM_ERROR;
-
- strm.bzalloc = NULL;
- strm.bzfree = NULL;
- strm.opaque = NULL;
- ret = BZ2_bzDecompressInit ( &strm, verbosity, small );
- if (ret != BZ_OK) return ret;
-
- strm.next_in = source;
- strm.next_out = dest;
- strm.avail_in = sourceLen;
- strm.avail_out = *destLen;
-
- ret = BZ2_bzDecompress ( &strm );
- if (ret == BZ_OK) goto output_overflow_or_eof;
- if (ret != BZ_STREAM_END) goto errhandler;
-
- /* normal termination */
- *destLen -= strm.avail_out;
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OK;
-
- output_overflow_or_eof:
- if (strm.avail_out > 0) {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_UNEXPECTED_EOF;
- } else {
- BZ2_bzDecompressEnd ( &strm );
- return BZ_OUTBUFF_FULL;
- };
-
- errhandler:
- BZ2_bzDecompressEnd ( &strm );
- return ret;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-/*--
- return version like "0.9.5d, 4-Sept-1999".
---*/
-const char * BZ_API(BZ2_bzlibVersion)(void)
-{
- return BZ_VERSION;
-}
-
-
-#ifndef BZ_NO_STDIO
-/*---------------------------------------------------*/
-
-#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
-# include <fcntl.h>
-# include <io.h>
-# define SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
-#else
-# define SET_BINARY_MODE(file)
-#endif
-static
-BZFILE * bzopen_or_bzdopen
- ( const char *path, /* no use when bzdopen */
- int fd, /* no use when bzdopen */
- const char *mode,
- int open_mode) /* bzopen: 0, bzdopen:1 */
-{
- int bzerr;
- char unused[BZ_MAX_UNUSED];
- int blockSize100k = 9;
- int writing = 0;
- char mode2[10] = "";
- FILE *fp = NULL;
- BZFILE *bzfp = NULL;
- int verbosity = 0;
- int workFactor = 30;
- int smallMode = 0;
- int nUnused = 0;
-
- if (mode == NULL) return NULL;
- while (*mode) {
- switch (*mode) {
- case 'r':
- writing = 0; break;
- case 'w':
- writing = 1; break;
- case 's':
- smallMode = 1; break;
- default:
- if (isdigit((int)(*mode))) {
- blockSize100k = *mode-BZ_HDR_0;
- }
- }
- mode++;
- }
- strcat(mode2, writing ? "w" : "r" );
- strcat(mode2,"b"); /* binary mode */
-
- if (open_mode==0) {
- if (path==NULL || strcmp(path,"")==0) {
- fp = (writing ? stdout : stdin);
- SET_BINARY_MODE(fp);
- } else {
- fp = fopen(path,mode2);
- }
- } else {
-#ifdef BZ_STRICT_ANSI
- fp = NULL;
-#else
- fp = fdopen(fd,mode2);
-#endif
- }
- if (fp == NULL) return NULL;
-
- if (writing) {
- /* Guard against total chaos and anarchy -- JRS */
- if (blockSize100k < 1) blockSize100k = 1;
- if (blockSize100k > 9) blockSize100k = 9;
- bzfp = BZ2_bzWriteOpen(&bzerr,fp,blockSize100k,
- verbosity,workFactor);
- } else {
- bzfp = BZ2_bzReadOpen(&bzerr,fp,verbosity,smallMode,
- unused,nUnused);
- }
- if (bzfp == NULL) {
- if (fp != stdin && fp != stdout) fclose(fp);
- return NULL;
- }
- return bzfp;
-}
-
-
-/*---------------------------------------------------*/
-/*--
- open file for read or write.
- ex) bzopen("file","w9")
- case path="" or NULL => use stdin or stdout.
---*/
-BZFILE * BZ_API(BZ2_bzopen)
- ( const char *path,
- const char *mode )
-{
- return bzopen_or_bzdopen(path,-1,mode,/*bzopen*/0);
-}
-
-
-/*---------------------------------------------------*/
-BZFILE * BZ_API(BZ2_bzdopen)
- ( int fd,
- const char *mode )
-{
- return bzopen_or_bzdopen(NULL,fd,mode,/*bzdopen*/1);
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzread) (BZFILE* b, void* buf, int len )
-{
- int bzerr, nread;
- if (((bzFile*)b)->lastErr == BZ_STREAM_END) return 0;
- nread = BZ2_bzRead(&bzerr,b,buf,len);
- if (bzerr == BZ_OK || bzerr == BZ_STREAM_END) {
- return nread;
- } else {
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
-{
- int bzerr;
-
- BZ2_bzWrite(&bzerr,b,buf,len);
- if(bzerr == BZ_OK){
- return len;
- }else{
- return -1;
- }
-}
-
-
-/*---------------------------------------------------*/
-int BZ_API(BZ2_bzflush) (BZFILE *b)
-{
- /* do nothing now... */
- return 0;
-}
-
-
-/*---------------------------------------------------*/
-void BZ_API(BZ2_bzclose) (BZFILE* b)
-{
- int bzerr;
- FILE *fp;
-
- if (b==NULL) {return;}
- fp = ((bzFile *)b)->handle;
- if(((bzFile*)b)->writing){
- BZ2_bzWriteClose(&bzerr,b,0,NULL,NULL);
- if(bzerr != BZ_OK){
- BZ2_bzWriteClose(NULL,b,1,NULL,NULL);
- }
- }else{
- BZ2_bzReadClose(&bzerr,b);
- }
- if(fp!=stdin && fp!=stdout){
- fclose(fp);
- }
-}
-
-
-/*---------------------------------------------------*/
-/*--
- return last error code
---*/
-static const char *bzerrorstrings[] = {
- "OK"
- ,"SEQUENCE_ERROR"
- ,"PARAM_ERROR"
- ,"MEM_ERROR"
- ,"DATA_ERROR"
- ,"DATA_ERROR_MAGIC"
- ,"IO_ERROR"
- ,"UNEXPECTED_EOF"
- ,"OUTBUFF_FULL"
- ,"CONFIG_ERROR"
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
-};
-
-
-const char * BZ_API(BZ2_bzerror) (BZFILE *b, int *errnum)
-{
- int err = ((bzFile *)b)->lastErr;
-
- if(err>0) err = 0;
- *errnum = err;
- return bzerrorstrings[err*-1];
-}
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/bzlib.h b/plugins/updater/bzip2-1.0.3/bzlib.h
deleted file mode 100644
index 8277123da8..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzlib.h
+++ /dev/null
@@ -1,282 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Public header file for the library. ---*/
-/*--- bzlib.h ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#ifndef _BZLIB_H
-#define _BZLIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BZ_RUN 0
-#define BZ_FLUSH 1
-#define BZ_FINISH 2
-
-#define BZ_OK 0
-#define BZ_RUN_OK 1
-#define BZ_FLUSH_OK 2
-#define BZ_FINISH_OK 3
-#define BZ_STREAM_END 4
-#define BZ_SEQUENCE_ERROR (-1)
-#define BZ_PARAM_ERROR (-2)
-#define BZ_MEM_ERROR (-3)
-#define BZ_DATA_ERROR (-4)
-#define BZ_DATA_ERROR_MAGIC (-5)
-#define BZ_IO_ERROR (-6)
-#define BZ_UNEXPECTED_EOF (-7)
-#define BZ_OUTBUFF_FULL (-8)
-#define BZ_CONFIG_ERROR (-9)
-
-typedef
- struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
- }
- bz_stream;
-
-
-#ifndef BZ_IMPORT
-#define BZ_EXPORT
-#endif
-
-#ifndef BZ_NO_STDIO
-/* Need a definitition for FILE */
-#include <stdio.h>
-#endif
-
-#ifdef _WIN32
-# include <windows.h>
-# ifdef small
- /* windows.h define small to char */
-# undef small
-# endif
-# ifdef BZ_EXPORT
-# define BZ_API(func) WINAPI func
-# define BZ_EXTERN extern
-# else
- /* import windows dll dynamically */
-# define BZ_API(func) (WINAPI * func)
-# define BZ_EXTERN
-# endif
-#else
-# define BZ_API(func) func
-# define BZ_EXTERN extern
-#endif
-
-
-/*-- Core (low-level) library functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
- bz_stream* strm,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompress) (
- bz_stream* strm,
- int action
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
- bz_stream *strm,
- int verbosity,
- int small
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
- bz_stream* strm
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
- bz_stream *strm
- );
-
-
-
-/*-- High(er) level library functions --*/
-
-#ifndef BZ_NO_STDIO
-#define BZ_MAX_UNUSED 5000
-
-typedef void BZFILE;
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
- int* bzerror,
- FILE* f,
- int verbosity,
- int small,
- void* unused,
- int nUnused
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
- int* bzerror,
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
- int* bzerror,
- BZFILE* b,
- void** unused,
- int* nUnused
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzRead) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
- int* bzerror,
- FILE* f,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWrite) (
- int* bzerror,
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
- int* bzerror,
- BZFILE* b,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32
- );
-#endif
-
-
-/*-- Utility functions --*/
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
- char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity
- );
-
-
-/*--
- Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
- to support better zlib compatibility.
- This code is not _officially_ part of libbzip2 (yet);
- I haven't tested it, documented it, or considered the
- threading-safeness of it.
- If this code breaks, please contact both Yoshioka and me.
---*/
-
-BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
- void
- );
-
-#ifndef BZ_NO_STDIO
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
- const char *path,
- const char *mode
- );
-
-BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
- int fd,
- const char *mode
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzread) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzwrite) (
- BZFILE* b,
- void* buf,
- int len
- );
-
-BZ_EXTERN int BZ_API(BZ2_bzflush) (
- BZFILE* b
- );
-
-BZ_EXTERN void BZ_API(BZ2_bzclose) (
- BZFILE* b
- );
-
-BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
- BZFILE *b,
- int *errnum
- );
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib.h ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/bzlib_private.h b/plugins/updater/bzip2-1.0.3/bzlib_private.h
deleted file mode 100644
index 5d0217f463..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzlib_private.h
+++ /dev/null
@@ -1,509 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Private header file for the library. ---*/
-/*--- bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#ifndef _BZLIB_PRIVATE_H
-#define _BZLIB_PRIVATE_H
-
-#include <stdlib.h>
-
-#ifndef BZ_NO_STDIO
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#endif
-
-#include "bzlib.h"
-
-
-
-/*-- General stuff. --*/
-
-#define BZ_VERSION "1.0.6, 6-Sept-2010"
-
-typedef char Char;
-typedef unsigned char Bool;
-typedef unsigned char UChar;
-typedef int Int32;
-typedef unsigned int UInt32;
-typedef short Int16;
-typedef unsigned short UInt16;
-
-#define True ((Bool)1)
-#define False ((Bool)0)
-
-#ifndef __GNUC__
-#define __inline__ /* */
-#endif
-
-#ifndef BZ_NO_STDIO
-
-extern void BZ2_bz__AssertH__fail ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); }
-
-#if BZ_DEBUG
-#define AssertD(cond,msg) \
- { if (!(cond)) { \
- fprintf ( stderr, \
- "\n\nlibbzip2(debug build): internal error\n\t%s\n", msg );\
- exit(1); \
- }}
-#else
-#define AssertD(cond,msg) /* */
-#endif
-
-#define VPrintf0(zf) \
- fprintf(stderr,zf)
-#define VPrintf1(zf,za1) \
- fprintf(stderr,zf,za1)
-#define VPrintf2(zf,za1,za2) \
- fprintf(stderr,zf,za1,za2)
-#define VPrintf3(zf,za1,za2,za3) \
- fprintf(stderr,zf,za1,za2,za3)
-#define VPrintf4(zf,za1,za2,za3,za4) \
- fprintf(stderr,zf,za1,za2,za3,za4)
-#define VPrintf5(zf,za1,za2,za3,za4,za5) \
- fprintf(stderr,zf,za1,za2,za3,za4,za5)
-
-#else
-
-extern void bz_internal_error ( int errcode );
-#define AssertH(cond,errcode) \
- { if (!(cond)) bz_internal_error ( errcode ); }
-#define AssertD(cond,msg) do { } while (0)
-#define VPrintf0(zf) do { } while (0)
-#define VPrintf1(zf,za1) do { } while (0)
-#define VPrintf2(zf,za1,za2) do { } while (0)
-#define VPrintf3(zf,za1,za2,za3) do { } while (0)
-#define VPrintf4(zf,za1,za2,za3,za4) do { } while (0)
-#define VPrintf5(zf,za1,za2,za3,za4,za5) do { } while (0)
-
-#endif
-
-
-#define BZALLOC(nnn) (strm->bzalloc)(strm->opaque,(nnn),1)
-#define BZFREE(ppp) (strm->bzfree)(strm->opaque,(ppp))
-
-
-/*-- Header bytes. --*/
-
-#define BZ_HDR_B 0x42 /* 'B' */
-#define BZ_HDR_Z 0x5a /* 'Z' */
-#define BZ_HDR_h 0x68 /* 'h' */
-#define BZ_HDR_0 0x30 /* '0' */
-
-/*-- Constants for the back end. --*/
-
-#define BZ_MAX_ALPHA_SIZE 258
-#define BZ_MAX_CODE_LEN 23
-
-#define BZ_RUNA 0
-#define BZ_RUNB 1
-
-#define BZ_N_GROUPS 6
-#define BZ_G_SIZE 50
-#define BZ_N_ITERS 4
-
-#define BZ_MAX_SELECTORS (2 + (900000 / BZ_G_SIZE))
-
-
-
-/*-- Stuff for randomising repetitive blocks. --*/
-
-extern Int32 BZ2_rNums[512];
-
-#define BZ_RAND_DECLS \
- Int32 rNToGo; \
- Int32 rTPos \
-
-#define BZ_RAND_INIT_MASK \
- s->rNToGo = 0; \
- s->rTPos = 0 \
-
-#define BZ_RAND_MASK ((s->rNToGo == 1) ? 1 : 0)
-
-#define BZ_RAND_UPD_MASK \
- if (s->rNToGo == 0) { \
- s->rNToGo = BZ2_rNums[s->rTPos]; \
- s->rTPos++; \
- if (s->rTPos == 512) s->rTPos = 0; \
- } \
- s->rNToGo--;
-
-
-
-/*-- Stuff for doing CRCs. --*/
-
-extern UInt32 BZ2_crc32Table[256];
-
-#define BZ_INITIALISE_CRC(crcVar) \
-{ \
- crcVar = 0xffffffffL; \
-}
-
-#define BZ_FINALISE_CRC(crcVar) \
-{ \
- crcVar = ~(crcVar); \
-}
-
-#define BZ_UPDATE_CRC(crcVar,cha) \
-{ \
- crcVar = (crcVar << 8) ^ \
- BZ2_crc32Table[(crcVar >> 24) ^ \
- ((UChar)cha)]; \
-}
-
-
-
-/*-- States and modes for compression. --*/
-
-#define BZ_M_IDLE 1
-#define BZ_M_RUNNING 2
-#define BZ_M_FLUSHING 3
-#define BZ_M_FINISHING 4
-
-#define BZ_S_OUTPUT 1
-#define BZ_S_INPUT 2
-
-#define BZ_N_RADIX 2
-#define BZ_N_QSORT 12
-#define BZ_N_SHELL 18
-#define BZ_N_OVERSHOOT (BZ_N_RADIX + BZ_N_QSORT + BZ_N_SHELL + 2)
-
-
-
-
-/*-- Structure holding all the compression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* mode this stream is in, and whether inputting */
- /* or outputting data */
- Int32 mode;
- Int32 state;
-
- /* remembers avail_in when flush/finish requested */
- UInt32 avail_in_expect;
-
- /* for doing the block sorting */
- UInt32* arr1;
- UInt32* arr2;
- UInt32* ftab;
- Int32 origPtr;
-
- /* aliases for arr1 and arr2 */
- UInt32* ptr;
- UChar* block;
- UInt16* mtfv;
- UChar* zbits;
-
- /* for deciding when to use the fallback sorting algorithm */
- Int32 workFactor;
-
- /* run-length-encoding of the input */
- UInt32 state_in_ch;
- Int32 state_in_len;
- BZ_RAND_DECLS;
-
- /* input and output limits and current posns */
- Int32 nblock;
- Int32 nblockMAX;
- Int32 numZ;
- Int32 state_out_pos;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- UChar unseqToSeq[256];
-
- /* the buffer for bit stream creation */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* block and combined CRCs */
- UInt32 blockCRC;
- UInt32 combinedCRC;
-
- /* misc administratium */
- Int32 verbosity;
- Int32 blockNo;
- Int32 blockSize100k;
-
- /* stuff for coding the MTF values */
- Int32 nMTF;
- Int32 mtfFreq [BZ_MAX_ALPHA_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
-
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 code [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- /* second dimension: only 3 needed; 4 makes index calculations faster */
- UInt32 len_pack[BZ_MAX_ALPHA_SIZE][4];
-
- }
- EState;
-
-
-
-/*-- externs for compression. --*/
-
-extern void
-BZ2_blockSort ( EState* );
-
-extern void
-BZ2_compressBlock ( EState*, Bool );
-
-extern void
-BZ2_bsInitWrite ( EState* );
-
-extern void
-BZ2_hbAssignCodes ( Int32*, UChar*, Int32, Int32, Int32 );
-
-extern void
-BZ2_hbMakeCodeLengths ( UChar*, Int32*, Int32, Int32 );
-
-
-
-/*-- states for decompression. --*/
-
-#define BZ_X_IDLE 1
-#define BZ_X_OUTPUT 2
-
-#define BZ_X_MAGIC_1 10
-#define BZ_X_MAGIC_2 11
-#define BZ_X_MAGIC_3 12
-#define BZ_X_MAGIC_4 13
-#define BZ_X_BLKHDR_1 14
-#define BZ_X_BLKHDR_2 15
-#define BZ_X_BLKHDR_3 16
-#define BZ_X_BLKHDR_4 17
-#define BZ_X_BLKHDR_5 18
-#define BZ_X_BLKHDR_6 19
-#define BZ_X_BCRC_1 20
-#define BZ_X_BCRC_2 21
-#define BZ_X_BCRC_3 22
-#define BZ_X_BCRC_4 23
-#define BZ_X_RANDBIT 24
-#define BZ_X_ORIGPTR_1 25
-#define BZ_X_ORIGPTR_2 26
-#define BZ_X_ORIGPTR_3 27
-#define BZ_X_MAPPING_1 28
-#define BZ_X_MAPPING_2 29
-#define BZ_X_SELECTOR_1 30
-#define BZ_X_SELECTOR_2 31
-#define BZ_X_SELECTOR_3 32
-#define BZ_X_CODING_1 33
-#define BZ_X_CODING_2 34
-#define BZ_X_CODING_3 35
-#define BZ_X_MTF_1 36
-#define BZ_X_MTF_2 37
-#define BZ_X_MTF_3 38
-#define BZ_X_MTF_4 39
-#define BZ_X_MTF_5 40
-#define BZ_X_MTF_6 41
-#define BZ_X_ENDHDR_2 42
-#define BZ_X_ENDHDR_3 43
-#define BZ_X_ENDHDR_4 44
-#define BZ_X_ENDHDR_5 45
-#define BZ_X_ENDHDR_6 46
-#define BZ_X_CCRC_1 47
-#define BZ_X_CCRC_2 48
-#define BZ_X_CCRC_3 49
-#define BZ_X_CCRC_4 50
-
-
-
-/*-- Constants for the fast MTF decoder. --*/
-
-#define MTFA_SIZE 4096
-#define MTFL_SIZE 16
-
-
-
-/*-- Structure holding all the decompression-side stuff. --*/
-
-typedef
- struct {
- /* pointer back to the struct bz_stream */
- bz_stream* strm;
-
- /* state indicator for this stream */
- Int32 state;
-
- /* for doing the final run-length decoding */
- UChar state_out_ch;
- Int32 state_out_len;
- Bool blockRandomised;
- BZ_RAND_DECLS;
-
- /* the buffer for bit stream reading */
- UInt32 bsBuff;
- Int32 bsLive;
-
- /* misc administratium */
- Int32 blockSize100k;
- Bool smallDecompress;
- Int32 currBlockNo;
- Int32 verbosity;
-
- /* for undoing the Burrows-Wheeler transform */
- Int32 origPtr;
- UInt32 tPos;
- Int32 k0;
- Int32 unzftab[256];
- Int32 nblock_used;
- Int32 cftab[257];
- Int32 cftabCopy[257];
-
- /* for undoing the Burrows-Wheeler transform (FAST) */
- UInt32 *tt;
-
- /* for undoing the Burrows-Wheeler transform (SMALL) */
- UInt16 *ll16;
- UChar *ll4;
-
- /* stored and calculated CRCs */
- UInt32 storedBlockCRC;
- UInt32 storedCombinedCRC;
- UInt32 calculatedBlockCRC;
- UInt32 calculatedCombinedCRC;
-
- /* map of bytes used in block */
- Int32 nInUse;
- Bool inUse[256];
- Bool inUse16[16];
- UChar seqToUnseq[256];
-
- /* for decoding the MTF values */
- UChar mtfa [MTFA_SIZE];
- Int32 mtfbase[256 / MTFL_SIZE];
- UChar selector [BZ_MAX_SELECTORS];
- UChar selectorMtf[BZ_MAX_SELECTORS];
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
-
- Int32 limit [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 base [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 perm [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 minLens[BZ_N_GROUPS];
-
- /* save area for scalars in the main decompress code */
- Int32 save_i;
- Int32 save_j;
- Int32 save_t;
- Int32 save_alphaSize;
- Int32 save_nGroups;
- Int32 save_nSelectors;
- Int32 save_EOB;
- Int32 save_groupNo;
- Int32 save_groupPos;
- Int32 save_nextSym;
- Int32 save_nblockMAX;
- Int32 save_nblock;
- Int32 save_es;
- Int32 save_N;
- Int32 save_curr;
- Int32 save_zt;
- Int32 save_zn;
- Int32 save_zvec;
- Int32 save_zj;
- Int32 save_gSel;
- Int32 save_gMinlen;
- Int32* save_gLimit;
- Int32* save_gBase;
- Int32* save_gPerm;
-
- }
- DState;
-
-
-
-/*-- Macros for decompression. --*/
-
-#define BZ_GET_FAST(cccc) \
- /* c_tPos is unsigned, hence test < 0 is pointless. */ \
- if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
- s->tPos = s->tt[s->tPos]; \
- cccc = (UChar)(s->tPos & 0xff); \
- s->tPos >>= 8;
-
-#define BZ_GET_FAST_C(cccc) \
- /* c_tPos is unsigned, hence test < 0 is pointless. */ \
- if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \
- c_tPos = c_tt[c_tPos]; \
- cccc = (UChar)(c_tPos & 0xff); \
- c_tPos >>= 8;
-
-#define SET_LL4(i,n) \
- { if (((i) & 0x1) == 0) \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0xf0) | (n); else \
- s->ll4[(i) >> 1] = (s->ll4[(i) >> 1] & 0x0f) | ((n) << 4); \
- }
-
-#define GET_LL4(i) \
- ((((UInt32)(s->ll4[(i) >> 1])) >> (((i) << 2) & 0x4)) & 0xF)
-
-#define SET_LL(i,n) \
- { s->ll16[i] = (UInt16)(n & 0x0000ffff); \
- SET_LL4(i, n >> 16); \
- }
-
-#define GET_LL(i) \
- (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16))
-
-#define BZ_GET_SMALL(cccc) \
- /* c_tPos is unsigned, hence test < 0 is pointless. */ \
- if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \
- cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \
- s->tPos = GET_LL(s->tPos);
-
-
-/*-- externs for decompression. --*/
-
-extern Int32
-BZ2_indexIntoF ( Int32, Int32* );
-
-extern Int32
-BZ2_decompress ( DState* );
-
-extern void
-BZ2_hbCreateDecodeTables ( Int32*, Int32*, Int32*, UChar*,
- Int32, Int32, Int32 );
-
-
-#endif
-
-
-/*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
-
-#ifdef BZ_NO_STDIO
-#ifndef NULL
-#define NULL 0
-#endif
-#endif
-
-
-/*-------------------------------------------------------------*/
-/*--- end bzlib_private.h ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/bzmore b/plugins/updater/bzip2-1.0.3/bzmore
deleted file mode 100644
index d314043404..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzmore
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-
-# Bzmore wrapped for bzip2,
-# adapted from zmore by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
- *less) more=less ;;
- *) more=more ;;
-esac
-
-if test "`echo -n a`" = "-n a"; then
- # looks like a SysV system:
- n1=''; n2='\c'
-else
- n1='-n'; n2=''
-fi
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
- cb='cbreak'; ncb='-cbreak'
-else
- # 'stty min 1' resets eof to ^a on both SunOS and SysV!
- cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 -a -n "$oldtty"; then
- trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
-else
- trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
-fi
-
-if test $# = 0; then
- if test -t 0; then
- echo usage: $prog files...
- else
- bzip2 -cdfq | eval $more
- fi
-else
- FIRST=1
- for FILE
- do
- if test $FIRST -eq 0; then
- echo $n1 "--More--(Next file: $FILE)$n2"
- stty $cb -echo 2>/dev/null
- ANS=`dd bs=1 count=1 2>/dev/null`
- stty $ncb echo 2>/dev/null
- echo " "
- if test "$ANS" = 'e' -o "$ANS" = 'q'; then
- exit
- fi
- fi
- if test "$ANS" != 's'; then
- echo "------> $FILE <------"
- bzip2 -cdfq "$FILE" | eval $more
- fi
- if test -t; then
- FIRST=0
- fi
- done
-fi
diff --git a/plugins/updater/bzip2-1.0.3/bzmore.1 b/plugins/updater/bzip2-1.0.3/bzmore.1
deleted file mode 100644
index b437d3b031..0000000000
--- a/plugins/updater/bzip2-1.0.3/bzmore.1
+++ /dev/null
@@ -1,152 +0,0 @@
-.\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
-.\"for Debian GNU/Linux
-.TH BZMORE 1
-.SH NAME
-bzmore, bzless \- file perusal filter for crt viewing of bzip2 compressed text
-.SH SYNOPSIS
-.B bzmore
-[ name ... ]
-.br
-.B bzless
-[ name ... ]
-.SH NOTE
-In the following description,
-.I bzless
-and
-.I less
-can be used interchangeably with
-.I bzmore
-and
-.I more.
-.SH DESCRIPTION
-.I Bzmore
-is a filter which allows examination of compressed or plain text files
-one screenful at a time on a soft-copy terminal.
-.I bzmore
-works on files compressed with
-.I bzip2
-and also on uncompressed files.
-If a file does not exist,
-.I bzmore
-looks for a file of the same name with the addition of a .bz2 suffix.
-.PP
-.I Bzmore
-normally pauses after each screenful, printing --More--
-at the bottom of the screen.
-If the user then types a carriage return, one more line is displayed.
-If the user hits a space,
-another screenful is displayed. Other possibilities are enumerated later.
-.PP
-.I Bzmore
-looks in the file
-.I /etc/termcap
-to determine terminal characteristics,
-and to determine the default window size.
-On a terminal capable of displaying 24 lines,
-the default window size is 22 lines.
-Other sequences which may be typed when
-.I bzmore
-pauses, and their effects, are as follows (\fIi\fP is an optional integer
-argument, defaulting to 1) :
-.PP
-.IP \fIi\|\fP<space>
-display
-.I i
-more lines, (or another screenful if no argument is given)
-.PP
-.IP ^D
-display 11 more lines (a ``scroll'').
-If
-.I i
-is given, then the scroll size is set to \fIi\|\fP.
-.PP
-.IP d
-same as ^D (control-D)
-.PP
-.IP \fIi\|\fPz
-same as typing a space except that \fIi\|\fP, if present, becomes the new
-window size. Note that the window size reverts back to the default at the
-end of the current file.
-.PP
-.IP \fIi\|\fPs
-skip \fIi\|\fP lines and print a screenful of lines
-.PP
-.IP \fIi\|\fPf
-skip \fIi\fP screenfuls and print a screenful of lines
-.PP
-.IP "q or Q"
-quit reading the current file; go on to the next (if any)
-.PP
-.IP "e or q"
-When the prompt --More--(Next file:
-.IR file )
-is printed, this command causes bzmore to exit.
-.PP
-.IP s
-When the prompt --More--(Next file:
-.IR file )
-is printed, this command causes bzmore to skip the next file and continue.
-.PP
-.IP =
-Display the current line number.
-.PP
-.IP \fIi\|\fP/expr
-search for the \fIi\|\fP-th occurrence of the regular expression \fIexpr.\fP
-If the pattern is not found,
-.I bzmore
-goes on to the next file (if any).
-Otherwise, a screenful is displayed, starting two lines before the place
-where the expression was found.
-The user's erase and kill characters may be used to edit the regular
-expression.
-Erasing back past the first column cancels the search command.
-.PP
-.IP \fIi\|\fPn
-search for the \fIi\|\fP-th occurrence of the last regular expression entered.
-.PP
-.IP !command
-invoke a shell with \fIcommand\|\fP.
-The character `!' in "command" are replaced with the
-previous shell command. The sequence "\\!" is replaced by "!".
-.PP
-.IP ":q or :Q"
-quit reading the current file; go on to the next (if any)
-(same as q or Q).
-.PP
-.IP .
-(dot) repeat the previous command.
-.PP
-The commands take effect immediately, i.e., it is not necessary to
-type a carriage return.
-Up to the time when the command character itself is given,
-the user may hit the line kill character to cancel the numerical
-argument being formed.
-In addition, the user may hit the erase character to redisplay the
---More-- message.
-.PP
-At any time when output is being sent to the terminal, the user can
-hit the quit key (normally control\-\\).
-.I Bzmore
-will stop sending output, and will display the usual --More--
-prompt.
-The user may then enter one of the above commands in the normal manner.
-Unfortunately, some output is lost when this is done, due to the
-fact that any characters waiting in the terminal's output queue
-are flushed when the quit signal occurs.
-.PP
-The terminal is set to
-.I noecho
-mode by this program so that the output can be continuous.
-What you type will thus not show on your terminal, except for the / and !
-commands.
-.PP
-If the standard output is not a teletype, then
-.I bzmore
-acts just like
-.I bzcat,
-except that a header is printed before each file.
-.SH FILES
-.DT
-/etc/termcap Terminal data base
-.SH "SEE ALSO"
-more(1), less(1), bzip2(1), bzdiff(1), bzgrep(1)
diff --git a/plugins/updater/bzip2-1.0.3/compress.c b/plugins/updater/bzip2-1.0.3/compress.c
deleted file mode 100644
index caf7696011..0000000000
--- a/plugins/updater/bzip2-1.0.3/compress.c
+++ /dev/null
@@ -1,672 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Compression machinery (not incl block sorting) ---*/
-/*--- compress.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-/* CHANGES
- 0.9.0 -- original version.
- 0.9.0a/b -- no changes in this file.
- 0.9.0c -- changed setting of nGroups in sendMTFValues()
- so as to do a bit better on small files
-*/
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-/*--- Bit stream I/O ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-void BZ2_bsInitWrite ( EState* s )
-{
- s->bsLive = 0;
- s->bsBuff = 0;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsFinishWrite ( EState* s )
-{
- while (s->bsLive > 0) {
- s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);
- s->numZ++;
- s->bsBuff <<= 8;
- s->bsLive -= 8;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define bsNEEDW(nz) \
-{ \
- while (s->bsLive >= 8) { \
- s->zbits[s->numZ] \
- = (UChar)(s->bsBuff >> 24); \
- s->numZ++; \
- s->bsBuff <<= 8; \
- s->bsLive -= 8; \
- } \
-}
-
-
-/*---------------------------------------------------*/
-static
-__inline__
-void bsW ( EState* s, Int32 n, UInt32 v )
-{
- bsNEEDW ( n );
- s->bsBuff |= (v << (32 - s->bsLive - n));
- s->bsLive += n;
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUInt32 ( EState* s, UInt32 u )
-{
- bsW ( s, 8, (u >> 24) & 0xffL );
- bsW ( s, 8, (u >> 16) & 0xffL );
- bsW ( s, 8, (u >> 8) & 0xffL );
- bsW ( s, 8, u & 0xffL );
-}
-
-
-/*---------------------------------------------------*/
-static
-void bsPutUChar ( EState* s, UChar c )
-{
- bsW( s, 8, (UInt32)c );
-}
-
-
-/*---------------------------------------------------*/
-/*--- The back end proper ---*/
-/*---------------------------------------------------*/
-
-/*---------------------------------------------------*/
-static
-void makeMaps_e ( EState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->unseqToSeq[i] = s->nInUse;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-static
-void generateMTFValues ( EState* s )
-{
- UChar yy[256];
- Int32 i, j;
- Int32 zPend;
- Int32 wr;
- Int32 EOB;
-
- /*
- After sorting (eg, here),
- s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,
- and
- ((UChar*)s->arr2) [ 0 .. s->nblock-1 ]
- holds the original block data.
-
- The first thing to do is generate the MTF values,
- and put them in
- ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].
- Because there are strictly fewer or equal MTF values
- than block values, ptr values in this area are overwritten
- with MTF values only when they are no longer needed.
-
- The final compressed bitstream is generated into the
- area starting at
- (UChar*) (&((UChar*)s->arr2)[s->nblock])
-
- These storage aliases are set up in bzCompressInit(),
- except for the last one, which is arranged in
- compressBlock().
- */
- UInt32* ptr = s->ptr;
- UChar* block = s->block;
- UInt16* mtfv = s->mtfv;
-
- makeMaps_e ( s );
- EOB = s->nInUse+1;
-
- for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;
-
- wr = 0;
- zPend = 0;
- for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;
-
- for (i = 0; i < s->nblock; i++) {
- UChar ll_i;
- AssertD ( wr <= i, "generateMTFValues(1)" );
- j = ptr[i]-1; if (j < 0) j += s->nblock;
- ll_i = s->unseqToSeq[block[j]];
- AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );
-
- if (yy[0] == ll_i) {
- zPend++;
- } else {
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
- {
- register UChar rtmp;
- register UChar* ryy_j;
- register UChar rll_i;
- rtmp = yy[1];
- yy[1] = yy[0];
- ryy_j = &(yy[1]);
- rll_i = ll_i;
- while ( rll_i != rtmp ) {
- register UChar rtmp2;
- ryy_j++;
- rtmp2 = rtmp;
- rtmp = *ryy_j;
- *ryy_j = rtmp2;
- };
- yy[0] = rtmp;
- j = ryy_j - &(yy[0]);
- mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;
- }
-
- }
- }
-
- if (zPend > 0) {
- zPend--;
- while (True) {
- if (zPend & 1) {
- mtfv[wr] = BZ_RUNB; wr++;
- s->mtfFreq[BZ_RUNB]++;
- } else {
- mtfv[wr] = BZ_RUNA; wr++;
- s->mtfFreq[BZ_RUNA]++;
- }
- if (zPend < 2) break;
- zPend = (zPend - 2) / 2;
- };
- zPend = 0;
- }
-
- mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;
-
- s->nMTF = wr;
-}
-
-
-/*---------------------------------------------------*/
-#define BZ_LESSER_ICOST 0
-#define BZ_GREATER_ICOST 15
-
-static
-void sendMTFValues ( EState* s )
-{
- Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
- Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
- Int32 nGroups, nBytes;
-
- /*--
- UChar len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- is a global since the decoder also needs it.
-
- Int32 code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- Int32 rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];
- are also globals only used in this proc.
- Made global to keep stack frame size small.
- --*/
-
-
- UInt16 cost[BZ_N_GROUPS];
- Int32 fave[BZ_N_GROUPS];
-
- UInt16* mtfv = s->mtfv;
-
- if (s->verbosity >= 3)
- VPrintf3( " %d in block, %d after MTF & 1-2 coding, "
- "%d+2 syms in use\n",
- s->nblock, s->nMTF, s->nInUse );
-
- alphaSize = s->nInUse+2;
- for (t = 0; t < BZ_N_GROUPS; t++)
- for (v = 0; v < alphaSize; v++)
- s->len[t][v] = BZ_GREATER_ICOST;
-
- /*--- Decide how many coding tables to use ---*/
- AssertH ( s->nMTF > 0, 3001 );
- if (s->nMTF < 200) nGroups = 2; else
- if (s->nMTF < 600) nGroups = 3; else
- if (s->nMTF < 1200) nGroups = 4; else
- if (s->nMTF < 2400) nGroups = 5; else
- nGroups = 6;
-
- /*--- Generate an initial set of coding tables ---*/
- {
- Int32 nPart, remF, tFreq, aFreq;
-
- nPart = nGroups;
- remF = s->nMTF;
- gs = 0;
- while (nPart > 0) {
- tFreq = remF / nPart;
- ge = gs-1;
- aFreq = 0;
- while (aFreq < tFreq && ge < alphaSize-1) {
- ge++;
- aFreq += s->mtfFreq[ge];
- }
-
- if (ge > gs
- && nPart != nGroups && nPart != 1
- && ((nGroups-nPart) % 2 == 1)) {
- aFreq -= s->mtfFreq[ge];
- ge--;
- }
-
- if (s->verbosity >= 3)
- VPrintf5( " initial group %d, [%d .. %d], "
- "has %d syms (%4.1f%%)\n",
- nPart, gs, ge, aFreq,
- (100.0 * (float)aFreq) / (float)(s->nMTF) );
-
- for (v = 0; v < alphaSize; v++)
- if (v >= gs && v <= ge)
- s->len[nPart-1][v] = BZ_LESSER_ICOST; else
- s->len[nPart-1][v] = BZ_GREATER_ICOST;
-
- nPart--;
- gs = ge+1;
- remF -= aFreq;
- }
- }
-
- /*---
- Iterate up to BZ_N_ITERS times to improve the tables.
- ---*/
- for (iter = 0; iter < BZ_N_ITERS; iter++) {
-
- for (t = 0; t < nGroups; t++) fave[t] = 0;
-
- for (t = 0; t < nGroups; t++)
- for (v = 0; v < alphaSize; v++)
- s->rfreq[t][v] = 0;
-
- /*---
- Set up an auxiliary length table which is used to fast-track
- the common case (nGroups == 6).
- ---*/
- if (nGroups == 6) {
- for (v = 0; v < alphaSize; v++) {
- s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
- s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
- s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
- }
- }
-
- nSelectors = 0;
- totc = 0;
- gs = 0;
- while (True) {
-
- /*--- Set group start & end marks. --*/
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
-
- /*--
- Calculate the cost of this group as coded
- by each of the coding tables.
- --*/
- for (t = 0; t < nGroups; t++) cost[t] = 0;
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- register UInt32 cost01, cost23, cost45;
- register UInt16 icv;
- cost01 = cost23 = cost45 = 0;
-
-# define BZ_ITER(nn) \
- icv = mtfv[gs+(nn)]; \
- cost01 += s->len_pack[icv][0]; \
- cost23 += s->len_pack[icv][1]; \
- cost45 += s->len_pack[icv][2]; \
-
- BZ_ITER(0); BZ_ITER(1); BZ_ITER(2); BZ_ITER(3); BZ_ITER(4);
- BZ_ITER(5); BZ_ITER(6); BZ_ITER(7); BZ_ITER(8); BZ_ITER(9);
- BZ_ITER(10); BZ_ITER(11); BZ_ITER(12); BZ_ITER(13); BZ_ITER(14);
- BZ_ITER(15); BZ_ITER(16); BZ_ITER(17); BZ_ITER(18); BZ_ITER(19);
- BZ_ITER(20); BZ_ITER(21); BZ_ITER(22); BZ_ITER(23); BZ_ITER(24);
- BZ_ITER(25); BZ_ITER(26); BZ_ITER(27); BZ_ITER(28); BZ_ITER(29);
- BZ_ITER(30); BZ_ITER(31); BZ_ITER(32); BZ_ITER(33); BZ_ITER(34);
- BZ_ITER(35); BZ_ITER(36); BZ_ITER(37); BZ_ITER(38); BZ_ITER(39);
- BZ_ITER(40); BZ_ITER(41); BZ_ITER(42); BZ_ITER(43); BZ_ITER(44);
- BZ_ITER(45); BZ_ITER(46); BZ_ITER(47); BZ_ITER(48); BZ_ITER(49);
-
-# undef BZ_ITER
-
- cost[0] = cost01 & 0xffff; cost[1] = cost01 >> 16;
- cost[2] = cost23 & 0xffff; cost[3] = cost23 >> 16;
- cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- UInt16 icv = mtfv[i];
- for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
- }
- }
-
- /*--
- Find the coding table which is best for this group,
- and record its identity in the selector table.
- --*/
- bc = 999999999; bt = -1;
- for (t = 0; t < nGroups; t++)
- if (cost[t] < bc) { bc = cost[t]; bt = t; };
- totc += bc;
- fave[bt]++;
- s->selector[nSelectors] = bt;
- nSelectors++;
-
- /*--
- Increment the symbol frequencies for the selected table.
- --*/
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
-
-# define BZ_ITUR(nn) s->rfreq[bt][ mtfv[gs+(nn)] ]++
-
- BZ_ITUR(0); BZ_ITUR(1); BZ_ITUR(2); BZ_ITUR(3); BZ_ITUR(4);
- BZ_ITUR(5); BZ_ITUR(6); BZ_ITUR(7); BZ_ITUR(8); BZ_ITUR(9);
- BZ_ITUR(10); BZ_ITUR(11); BZ_ITUR(12); BZ_ITUR(13); BZ_ITUR(14);
- BZ_ITUR(15); BZ_ITUR(16); BZ_ITUR(17); BZ_ITUR(18); BZ_ITUR(19);
- BZ_ITUR(20); BZ_ITUR(21); BZ_ITUR(22); BZ_ITUR(23); BZ_ITUR(24);
- BZ_ITUR(25); BZ_ITUR(26); BZ_ITUR(27); BZ_ITUR(28); BZ_ITUR(29);
- BZ_ITUR(30); BZ_ITUR(31); BZ_ITUR(32); BZ_ITUR(33); BZ_ITUR(34);
- BZ_ITUR(35); BZ_ITUR(36); BZ_ITUR(37); BZ_ITUR(38); BZ_ITUR(39);
- BZ_ITUR(40); BZ_ITUR(41); BZ_ITUR(42); BZ_ITUR(43); BZ_ITUR(44);
- BZ_ITUR(45); BZ_ITUR(46); BZ_ITUR(47); BZ_ITUR(48); BZ_ITUR(49);
-
-# undef BZ_ITUR
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++)
- s->rfreq[bt][ mtfv[i] ]++;
- }
-
- gs = ge+1;
- }
- if (s->verbosity >= 3) {
- VPrintf2 ( " pass %d: size is %d, grp uses are ",
- iter+1, totc/8 );
- for (t = 0; t < nGroups; t++)
- VPrintf1 ( "%d ", fave[t] );
- VPrintf0 ( "\n" );
- }
-
- /*--
- Recompute the tables based on the accumulated frequencies.
- --*/
- /* maxLen was changed from 20 to 17 in bzip2-1.0.3. See
- comment in huffman.c for details. */
- for (t = 0; t < nGroups; t++)
- BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
- alphaSize, 17 /*20*/ );
- }
-
-
- AssertH( nGroups < 8, 3002 );
- AssertH( nSelectors < 32768 &&
- nSelectors <= (2 + (900000 / BZ_G_SIZE)),
- 3003 );
-
-
- /*--- Compute MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], ll_i, tmp2, tmp;
- for (i = 0; i < nGroups; i++) pos[i] = i;
- for (i = 0; i < nSelectors; i++) {
- ll_i = s->selector[i];
- j = 0;
- tmp = pos[j];
- while ( ll_i != tmp ) {
- j++;
- tmp2 = tmp;
- tmp = pos[j];
- pos[j] = tmp2;
- };
- pos[0] = tmp;
- s->selectorMtf[i] = j;
- }
- };
-
- /*--- Assign actual codes for the tables. --*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
- AssertH ( !(minLen < 1), 3005 );
- BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
- minLen, maxLen, alphaSize );
- }
-
- /*--- Transmit the mapping table. ---*/
- {
- Bool inUse16[16];
- for (i = 0; i < 16; i++) {
- inUse16[i] = False;
- for (j = 0; j < 16; j++)
- if (s->inUse[i * 16 + j]) inUse16[i] = True;
- }
-
- nBytes = s->numZ;
- for (i = 0; i < 16; i++)
- if (inUse16[i]) bsW(s,1,1); else bsW(s,1,0);
-
- for (i = 0; i < 16; i++)
- if (inUse16[i])
- for (j = 0; j < 16; j++) {
- if (s->inUse[i * 16 + j]) bsW(s,1,1); else bsW(s,1,0);
- }
-
- if (s->verbosity >= 3)
- VPrintf1( " bytes: mapping %d, ", s->numZ-nBytes );
- }
-
- /*--- Now the selectors. ---*/
- nBytes = s->numZ;
- bsW ( s, 3, nGroups );
- bsW ( s, 15, nSelectors );
- for (i = 0; i < nSelectors; i++) {
- for (j = 0; j < s->selectorMtf[i]; j++) bsW(s,1,1);
- bsW(s,1,0);
- }
- if (s->verbosity >= 3)
- VPrintf1( "selectors %d, ", s->numZ-nBytes );
-
- /*--- Now the coding tables. ---*/
- nBytes = s->numZ;
-
- for (t = 0; t < nGroups; t++) {
- Int32 curr = s->len[t][0];
- bsW ( s, 5, curr );
- for (i = 0; i < alphaSize; i++) {
- while (curr < s->len[t][i]) { bsW(s,2,2); curr++; /* 10 */ };
- while (curr > s->len[t][i]) { bsW(s,2,3); curr--; /* 11 */ };
- bsW ( s, 1, 0 );
- }
- }
-
- if (s->verbosity >= 3)
- VPrintf1 ( "code lengths %d, ", s->numZ-nBytes );
-
- /*--- And finally, the block data proper ---*/
- nBytes = s->numZ;
- selCtr = 0;
- gs = 0;
- while (True) {
- if (gs >= s->nMTF) break;
- ge = gs + BZ_G_SIZE - 1;
- if (ge >= s->nMTF) ge = s->nMTF-1;
- AssertH ( s->selector[selCtr] < nGroups, 3006 );
-
- if (nGroups == 6 && 50 == ge-gs+1) {
- /*--- fast track the common case ---*/
- UInt16 mtfv_i;
- UChar* s_len_sel_selCtr
- = &(s->len[s->selector[selCtr]][0]);
- Int32* s_code_sel_selCtr
- = &(s->code[s->selector[selCtr]][0]);
-
-# define BZ_ITAH(nn) \
- mtfv_i = mtfv[gs+(nn)]; \
- bsW ( s, \
- s_len_sel_selCtr[mtfv_i], \
- s_code_sel_selCtr[mtfv_i] )
-
- BZ_ITAH(0); BZ_ITAH(1); BZ_ITAH(2); BZ_ITAH(3); BZ_ITAH(4);
- BZ_ITAH(5); BZ_ITAH(6); BZ_ITAH(7); BZ_ITAH(8); BZ_ITAH(9);
- BZ_ITAH(10); BZ_ITAH(11); BZ_ITAH(12); BZ_ITAH(13); BZ_ITAH(14);
- BZ_ITAH(15); BZ_ITAH(16); BZ_ITAH(17); BZ_ITAH(18); BZ_ITAH(19);
- BZ_ITAH(20); BZ_ITAH(21); BZ_ITAH(22); BZ_ITAH(23); BZ_ITAH(24);
- BZ_ITAH(25); BZ_ITAH(26); BZ_ITAH(27); BZ_ITAH(28); BZ_ITAH(29);
- BZ_ITAH(30); BZ_ITAH(31); BZ_ITAH(32); BZ_ITAH(33); BZ_ITAH(34);
- BZ_ITAH(35); BZ_ITAH(36); BZ_ITAH(37); BZ_ITAH(38); BZ_ITAH(39);
- BZ_ITAH(40); BZ_ITAH(41); BZ_ITAH(42); BZ_ITAH(43); BZ_ITAH(44);
- BZ_ITAH(45); BZ_ITAH(46); BZ_ITAH(47); BZ_ITAH(48); BZ_ITAH(49);
-
-# undef BZ_ITAH
-
- } else {
- /*--- slow version which correctly handles all situations ---*/
- for (i = gs; i <= ge; i++) {
- bsW ( s,
- s->len [s->selector[selCtr]] [mtfv[i]],
- s->code [s->selector[selCtr]] [mtfv[i]] );
- }
- }
-
-
- gs = ge+1;
- selCtr++;
- }
- AssertH( selCtr == nSelectors, 3007 );
-
- if (s->verbosity >= 3)
- VPrintf1( "codes %d\n", s->numZ-nBytes );
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_compressBlock ( EState* s, Bool is_last_block )
-{
- if (s->nblock > 0) {
-
- BZ_FINALISE_CRC ( s->blockCRC );
- s->combinedCRC = (s->combinedCRC << 1) | (s->combinedCRC >> 31);
- s->combinedCRC ^= s->blockCRC;
- if (s->blockNo > 1) s->numZ = 0;
-
- if (s->verbosity >= 2)
- VPrintf4( " block %d: crc = 0x%08x, "
- "combined CRC = 0x%08x, size = %d\n",
- s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
-
- BZ2_blockSort ( s );
- }
-
- s->zbits = (UChar*) (&((UChar*)s->arr2)[s->nblock]);
-
- /*-- If this is the first block, create the stream header. --*/
- if (s->blockNo == 1) {
- BZ2_bsInitWrite ( s );
- bsPutUChar ( s, BZ_HDR_B );
- bsPutUChar ( s, BZ_HDR_Z );
- bsPutUChar ( s, BZ_HDR_h );
- bsPutUChar ( s, (UChar)(BZ_HDR_0 + s->blockSize100k) );
- }
-
- if (s->nblock > 0) {
-
- bsPutUChar ( s, 0x31 ); bsPutUChar ( s, 0x41 );
- bsPutUChar ( s, 0x59 ); bsPutUChar ( s, 0x26 );
- bsPutUChar ( s, 0x53 ); bsPutUChar ( s, 0x59 );
-
- /*-- Now the block's CRC, so it is in a known place. --*/
- bsPutUInt32 ( s, s->blockCRC );
-
- /*--
- Now a single bit indicating (non-)randomisation.
- As of version 0.9.5, we use a better sorting algorithm
- which makes randomisation unnecessary. So always set
- the randomised bit to 'no'. Of course, the decoder
- still needs to be able to handle randomised blocks
- so as to maintain backwards compatibility with
- older versions of bzip2.
- --*/
- bsW(s,1,0);
-
- bsW ( s, 24, s->origPtr );
- generateMTFValues ( s );
- sendMTFValues ( s );
- }
-
-
- /*-- If this is the last block, add the stream trailer. --*/
- if (is_last_block) {
-
- bsPutUChar ( s, 0x17 ); bsPutUChar ( s, 0x72 );
- bsPutUChar ( s, 0x45 ); bsPutUChar ( s, 0x38 );
- bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
- bsPutUInt32 ( s, s->combinedCRC );
- if (s->verbosity >= 2)
- VPrintf1( " final combined CRC = 0x%08x\n ", s->combinedCRC );
- bsFinishWrite ( s );
- }
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end compress.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/crctable.c b/plugins/updater/bzip2-1.0.3/crctable.c
deleted file mode 100644
index 1fea7e946c..0000000000
--- a/plugins/updater/bzip2-1.0.3/crctable.c
+++ /dev/null
@@ -1,104 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Table for doing CRCs ---*/
-/*--- crctable.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include "bzlib_private.h"
-
-/*--
- I think this is an implementation of the AUTODIN-II,
- Ethernet & FDDI 32-bit CRC standard. Vaguely derived
- from code by Rob Warnock, in Section 51 of the
- comp.compression FAQ.
---*/
-
-UInt32 BZ2_crc32Table[256] = {
-
- /*-- Ugly, innit? --*/
-
- 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
- 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
- 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
- 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
- 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
- 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
- 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
- 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
- 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
- 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
- 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
- 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
- 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
- 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
- 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
- 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
- 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
- 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
- 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
- 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
- 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
- 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
- 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
- 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
- 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
- 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
- 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
- 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
- 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
- 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
- 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
- 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
- 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
- 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
- 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
- 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
- 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
- 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
- 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
- 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
- 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
- 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
- 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
- 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
- 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
- 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
- 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
- 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
- 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
- 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
- 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
- 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
- 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
- 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
- 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
- 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
- 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
- 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
- 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
- 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
- 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
- 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
- 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
- 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end crctable.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/decompress.c b/plugins/updater/bzip2-1.0.3/decompress.c
deleted file mode 100644
index 311f5668f9..0000000000
--- a/plugins/updater/bzip2-1.0.3/decompress.c
+++ /dev/null
@@ -1,646 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Decompression machinery ---*/
-/*--- decompress.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------------*/
-static
-void makeMaps_d ( DState* s )
-{
- Int32 i;
- s->nInUse = 0;
- for (i = 0; i < 256; i++)
- if (s->inUse[i]) {
- s->seqToUnseq[s->nInUse] = i;
- s->nInUse++;
- }
-}
-
-
-/*---------------------------------------------------*/
-#define RETURN(rrr) \
- { retVal = rrr; goto save_state_and_return; };
-
-#define GET_BITS(lll,vvv,nnn) \
- case lll: s->state = lll; \
- while (True) { \
- if (s->bsLive >= nnn) { \
- UInt32 v; \
- v = (s->bsBuff >> \
- (s->bsLive-nnn)) & ((1 << nnn)-1); \
- s->bsLive -= nnn; \
- vvv = v; \
- break; \
- } \
- if (s->strm->avail_in == 0) RETURN(BZ_OK); \
- s->bsBuff \
- = (s->bsBuff << 8) | \
- ((UInt32) \
- (*((UChar*)(s->strm->next_in)))); \
- s->bsLive += 8; \
- s->strm->next_in++; \
- s->strm->avail_in--; \
- s->strm->total_in_lo32++; \
- if (s->strm->total_in_lo32 == 0) \
- s->strm->total_in_hi32++; \
- }
-
-#define GET_UCHAR(lll,uuu) \
- GET_BITS(lll,uuu,8)
-
-#define GET_BIT(lll,uuu) \
- GET_BITS(lll,uuu,1)
-
-/*---------------------------------------------------*/
-#define GET_MTF_VAL(label1,label2,lval) \
-{ \
- if (groupPos == 0) { \
- groupNo++; \
- if (groupNo >= nSelectors) \
- RETURN(BZ_DATA_ERROR); \
- groupPos = BZ_G_SIZE; \
- gSel = s->selector[groupNo]; \
- gMinlen = s->minLens[gSel]; \
- gLimit = &(s->limit[gSel][0]); \
- gPerm = &(s->perm[gSel][0]); \
- gBase = &(s->base[gSel][0]); \
- } \
- groupPos--; \
- zn = gMinlen; \
- GET_BITS(label1, zvec, zn); \
- while (1) { \
- if (zn > 20 /* the longest code */) \
- RETURN(BZ_DATA_ERROR); \
- if (zvec <= gLimit[zn]) break; \
- zn++; \
- GET_BIT(label2, zj); \
- zvec = (zvec << 1) | zj; \
- }; \
- if (zvec - gBase[zn] < 0 \
- || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \
- RETURN(BZ_DATA_ERROR); \
- lval = gPerm[zvec - gBase[zn]]; \
-}
-
-
-/*---------------------------------------------------*/
-Int32 BZ2_decompress ( DState* s )
-{
- UChar uc;
- Int32 retVal;
- Int32 minLen, maxLen;
- bz_stream* strm = s->strm;
-
- /* stuff that needs to be saved/restored */
- Int32 i;
- Int32 j;
- Int32 t;
- Int32 alphaSize;
- Int32 nGroups;
- Int32 nSelectors;
- Int32 EOB;
- Int32 groupNo;
- Int32 groupPos;
- Int32 nextSym;
- Int32 nblockMAX;
- Int32 nblock;
- Int32 es;
- Int32 N;
- Int32 curr;
- Int32 zt;
- Int32 zn;
- Int32 zvec;
- Int32 zj;
- Int32 gSel;
- Int32 gMinlen;
- Int32* gLimit;
- Int32* gBase;
- Int32* gPerm;
-
- if (s->state == BZ_X_MAGIC_1) {
- /*initialise the save area*/
- s->save_i = 0;
- s->save_j = 0;
- s->save_t = 0;
- s->save_alphaSize = 0;
- s->save_nGroups = 0;
- s->save_nSelectors = 0;
- s->save_EOB = 0;
- s->save_groupNo = 0;
- s->save_groupPos = 0;
- s->save_nextSym = 0;
- s->save_nblockMAX = 0;
- s->save_nblock = 0;
- s->save_es = 0;
- s->save_N = 0;
- s->save_curr = 0;
- s->save_zt = 0;
- s->save_zn = 0;
- s->save_zvec = 0;
- s->save_zj = 0;
- s->save_gSel = 0;
- s->save_gMinlen = 0;
- s->save_gLimit = NULL;
- s->save_gBase = NULL;
- s->save_gPerm = NULL;
- }
-
- /*restore from the save area*/
- i = s->save_i;
- j = s->save_j;
- t = s->save_t;
- alphaSize = s->save_alphaSize;
- nGroups = s->save_nGroups;
- nSelectors = s->save_nSelectors;
- EOB = s->save_EOB;
- groupNo = s->save_groupNo;
- groupPos = s->save_groupPos;
- nextSym = s->save_nextSym;
- nblockMAX = s->save_nblockMAX;
- nblock = s->save_nblock;
- es = s->save_es;
- N = s->save_N;
- curr = s->save_curr;
- zt = s->save_zt;
- zn = s->save_zn;
- zvec = s->save_zvec;
- zj = s->save_zj;
- gSel = s->save_gSel;
- gMinlen = s->save_gMinlen;
- gLimit = s->save_gLimit;
- gBase = s->save_gBase;
- gPerm = s->save_gPerm;
-
- retVal = BZ_OK;
-
- switch (s->state) {
-
- GET_UCHAR(BZ_X_MAGIC_1, uc);
- if (uc != BZ_HDR_B) RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_2, uc);
- if (uc != BZ_HDR_Z) RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_UCHAR(BZ_X_MAGIC_3, uc)
- if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC);
-
- GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8)
- if (s->blockSize100k < (BZ_HDR_0 + 1) ||
- s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC);
- s->blockSize100k -= BZ_HDR_0;
-
- if (s->smallDecompress) {
- s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) );
- s->ll4 = BZALLOC(
- ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar)
- );
- if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR);
- } else {
- s->tt = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) );
- if (s->tt == NULL) RETURN(BZ_MEM_ERROR);
- }
-
- GET_UCHAR(BZ_X_BLKHDR_1, uc);
-
- if (uc == 0x17) goto endhdr_2;
- if (uc != 0x31) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_2, uc);
- if (uc != 0x41) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_3, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_4, uc);
- if (uc != 0x26) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_5, uc);
- if (uc != 0x53) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_BLKHDR_6, uc);
- if (uc != 0x59) RETURN(BZ_DATA_ERROR);
-
- s->currBlockNo++;
- if (s->verbosity >= 2)
- VPrintf1 ( "\n [%d: huff+mtf ", s->currBlockNo );
-
- s->storedBlockCRC = 0;
- GET_UCHAR(BZ_X_BCRC_1, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_2, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_3, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_BCRC_4, uc);
- s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc);
-
- GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1);
-
- s->origPtr = 0;
- GET_UCHAR(BZ_X_ORIGPTR_1, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_2, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
- GET_UCHAR(BZ_X_ORIGPTR_3, uc);
- s->origPtr = (s->origPtr << 8) | ((Int32)uc);
-
- if (s->origPtr < 0)
- RETURN(BZ_DATA_ERROR);
- if (s->origPtr > 10 + 100000*s->blockSize100k)
- RETURN(BZ_DATA_ERROR);
-
- /*--- Receive the mapping table ---*/
- for (i = 0; i < 16; i++) {
- GET_BIT(BZ_X_MAPPING_1, uc);
- if (uc == 1)
- s->inUse16[i] = True; else
- s->inUse16[i] = False;
- }
-
- for (i = 0; i < 256; i++) s->inUse[i] = False;
-
- for (i = 0; i < 16; i++)
- if (s->inUse16[i])
- for (j = 0; j < 16; j++) {
- GET_BIT(BZ_X_MAPPING_2, uc);
- if (uc == 1) s->inUse[i * 16 + j] = True;
- }
- makeMaps_d ( s );
- if (s->nInUse == 0) RETURN(BZ_DATA_ERROR);
- alphaSize = s->nInUse+2;
-
- /*--- Now the selectors ---*/
- GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
- if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
- GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
- if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
- for (i = 0; i < nSelectors; i++) {
- j = 0;
- while (True) {
- GET_BIT(BZ_X_SELECTOR_3, uc);
- if (uc == 0) break;
- j++;
- if (j >= nGroups) RETURN(BZ_DATA_ERROR);
- }
- s->selectorMtf[i] = j;
- }
-
- /*--- Undo the MTF values for the selectors. ---*/
- {
- UChar pos[BZ_N_GROUPS], tmp, v;
- for (v = 0; v < nGroups; v++) pos[v] = v;
-
- for (i = 0; i < nSelectors; i++) {
- v = s->selectorMtf[i];
- tmp = pos[v];
- while (v > 0) { pos[v] = pos[v-1]; v--; }
- pos[0] = tmp;
- s->selector[i] = tmp;
- }
- }
-
- /*--- Now the coding tables ---*/
- for (t = 0; t < nGroups; t++) {
- GET_BITS(BZ_X_CODING_1, curr, 5);
- for (i = 0; i < alphaSize; i++) {
- while (True) {
- if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR);
- GET_BIT(BZ_X_CODING_2, uc);
- if (uc == 0) break;
- GET_BIT(BZ_X_CODING_3, uc);
- if (uc == 0) curr++; else curr--;
- }
- s->len[t][i] = curr;
- }
- }
-
- /*--- Create the Huffman decoding tables ---*/
- for (t = 0; t < nGroups; t++) {
- minLen = 32;
- maxLen = 0;
- for (i = 0; i < alphaSize; i++) {
- if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
- if (s->len[t][i] < minLen) minLen = s->len[t][i];
- }
- BZ2_hbCreateDecodeTables (
- &(s->limit[t][0]),
- &(s->base[t][0]),
- &(s->perm[t][0]),
- &(s->len[t][0]),
- minLen, maxLen, alphaSize
- );
- s->minLens[t] = minLen;
- }
-
- /*--- Now the MTF values ---*/
-
- EOB = s->nInUse+1;
- nblockMAX = 100000 * s->blockSize100k;
- groupNo = -1;
- groupPos = 0;
-
- for (i = 0; i <= 255; i++) s->unzftab[i] = 0;
-
- /*-- MTF init --*/
- {
- Int32 ii, jj, kk;
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj);
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- /*-- end MTF init --*/
-
- nblock = 0;
- GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym);
-
- while (True) {
-
- if (nextSym == EOB) break;
-
- if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) {
-
- es = -1;
- N = 1;
- do {
- /* Check that N doesn't get too big, so that es doesn't
- go negative. The maximum value that can be
- RUNA/RUNB encoded is equal to the block size (post
- the initial RLE), viz, 900k, so bounding N at 2
- million should guard against overflow without
- rejecting any legitimate inputs. */
- if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
- if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
- if (nextSym == BZ_RUNB) es = es + (1+1) * N;
- N = N * 2;
- GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym);
- }
- while (nextSym == BZ_RUNA || nextSym == BZ_RUNB);
-
- es++;
- uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ];
- s->unzftab[uc] += es;
-
- if (s->smallDecompress)
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->ll16[nblock] = (UInt16)uc;
- nblock++;
- es--;
- }
- else
- while (es > 0) {
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
- s->tt[nblock] = (UInt32)uc;
- nblock++;
- es--;
- };
-
- continue;
-
- } else {
-
- if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR);
-
- /*-- uc = MTF ( nextSym-1 ) --*/
- {
- Int32 ii, jj, kk, pp, lno, off;
- UInt32 nn;
- nn = (UInt32)(nextSym - 1);
-
- if (nn < MTFL_SIZE) {
- /* avoid general-case expense */
- pp = s->mtfbase[0];
- uc = s->mtfa[pp+nn];
- while (nn > 3) {
- Int32 z = pp+nn;
- s->mtfa[(z) ] = s->mtfa[(z)-1];
- s->mtfa[(z)-1] = s->mtfa[(z)-2];
- s->mtfa[(z)-2] = s->mtfa[(z)-3];
- s->mtfa[(z)-3] = s->mtfa[(z)-4];
- nn -= 4;
- }
- while (nn > 0) {
- s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--;
- };
- s->mtfa[pp] = uc;
- } else {
- /* general case */
- lno = nn / MTFL_SIZE;
- off = nn % MTFL_SIZE;
- pp = s->mtfbase[lno] + off;
- uc = s->mtfa[pp];
- while (pp > s->mtfbase[lno]) {
- s->mtfa[pp] = s->mtfa[pp-1]; pp--;
- };
- s->mtfbase[lno]++;
- while (lno > 0) {
- s->mtfbase[lno]--;
- s->mtfa[s->mtfbase[lno]]
- = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1];
- lno--;
- }
- s->mtfbase[0]--;
- s->mtfa[s->mtfbase[0]] = uc;
- if (s->mtfbase[0] == 0) {
- kk = MTFA_SIZE-1;
- for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) {
- for (jj = MTFL_SIZE-1; jj >= 0; jj--) {
- s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj];
- kk--;
- }
- s->mtfbase[ii] = kk + 1;
- }
- }
- }
- }
- /*-- end uc = MTF ( nextSym-1 ) --*/
-
- s->unzftab[s->seqToUnseq[uc]]++;
- if (s->smallDecompress)
- s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else
- s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]);
- nblock++;
-
- GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym);
- continue;
- }
- }
-
- /* Now we know what nblock is, we can do a better sanity
- check on s->origPtr.
- */
- if (s->origPtr < 0 || s->origPtr >= nblock)
- RETURN(BZ_DATA_ERROR);
-
- /*-- Set up cftab to facilitate generation of T^(-1) --*/
- /* Check: unzftab entries in range. */
- for (i = 0; i <= 255; i++) {
- if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
- RETURN(BZ_DATA_ERROR);
- }
- /* Actually generate cftab. */
- s->cftab[0] = 0;
- for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
- for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
- /* Check: cftab entries in range. */
- for (i = 0; i <= 256; i++) {
- if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
- /* s->cftab[i] can legitimately be == nblock */
- RETURN(BZ_DATA_ERROR);
- }
- }
- /* Check: cftab entries non-descending. */
- for (i = 1; i <= 256; i++) {
- if (s->cftab[i-1] > s->cftab[i]) {
- RETURN(BZ_DATA_ERROR);
- }
- }
-
- s->state_out_len = 0;
- s->state_out_ch = 0;
- BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
- s->state = BZ_X_OUTPUT;
- if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
-
- if (s->smallDecompress) {
-
- /*-- Make a copy of cftab, used in generation of T --*/
- for (i = 0; i <= 256; i++) s->cftabCopy[i] = s->cftab[i];
-
- /*-- compute the T vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->ll16[i]);
- SET_LL(i, s->cftabCopy[uc]);
- s->cftabCopy[uc]++;
- }
-
- /*-- Compute T^(-1) by pointer reversal on T --*/
- i = s->origPtr;
- j = GET_LL(i);
- do {
- Int32 tmp = GET_LL(j);
- SET_LL(j, i);
- i = j;
- j = tmp;
- }
- while (i != s->origPtr);
-
- s->tPos = s->origPtr;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_SMALL(s->k0); s->nblock_used++;
- }
-
- } else {
-
- /*-- compute the T^(-1) vector --*/
- for (i = 0; i < nblock; i++) {
- uc = (UChar)(s->tt[i] & 0xff);
- s->tt[s->cftab[uc]] |= (i << 8);
- s->cftab[uc]++;
- }
-
- s->tPos = s->tt[s->origPtr] >> 8;
- s->nblock_used = 0;
- if (s->blockRandomised) {
- BZ_RAND_INIT_MASK;
- BZ_GET_FAST(s->k0); s->nblock_used++;
- BZ_RAND_UPD_MASK; s->k0 ^= BZ_RAND_MASK;
- } else {
- BZ_GET_FAST(s->k0); s->nblock_used++;
- }
-
- }
-
- RETURN(BZ_OK);
-
-
-
- endhdr_2:
-
- GET_UCHAR(BZ_X_ENDHDR_2, uc);
- if (uc != 0x72) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_3, uc);
- if (uc != 0x45) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_4, uc);
- if (uc != 0x38) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_5, uc);
- if (uc != 0x50) RETURN(BZ_DATA_ERROR);
- GET_UCHAR(BZ_X_ENDHDR_6, uc);
- if (uc != 0x90) RETURN(BZ_DATA_ERROR);
-
- s->storedCombinedCRC = 0;
- GET_UCHAR(BZ_X_CCRC_1, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_2, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_3, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
- GET_UCHAR(BZ_X_CCRC_4, uc);
- s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
-
- s->state = BZ_X_IDLE;
- RETURN(BZ_STREAM_END);
-
- default: AssertH ( False, 4001 );
- }
-
- AssertH ( False, 4002 );
-
- save_state_and_return:
-
- s->save_i = i;
- s->save_j = j;
- s->save_t = t;
- s->save_alphaSize = alphaSize;
- s->save_nGroups = nGroups;
- s->save_nSelectors = nSelectors;
- s->save_EOB = EOB;
- s->save_groupNo = groupNo;
- s->save_groupPos = groupPos;
- s->save_nextSym = nextSym;
- s->save_nblockMAX = nblockMAX;
- s->save_nblock = nblock;
- s->save_es = es;
- s->save_N = N;
- s->save_curr = curr;
- s->save_zt = zt;
- s->save_zn = zn;
- s->save_zvec = zvec;
- s->save_zj = zj;
- s->save_gSel = gSel;
- s->save_gMinlen = gMinlen;
- s->save_gLimit = gLimit;
- s->save_gBase = gBase;
- s->save_gPerm = gPerm;
-
- return retVal;
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end decompress.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/dlltest.c b/plugins/updater/bzip2-1.0.3/dlltest.c
deleted file mode 100644
index 03fa14620e..0000000000
--- a/plugins/updater/bzip2-1.0.3/dlltest.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- minibz2
- libbz2.dll test program.
- by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
- This file is Public Domain. Welcome any email to me.
-
- usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]
-*/
-
-#define BZ_IMPORT
-#include <stdio.h>
-#include <stdlib.h>
-#include "bzlib.h"
-#ifdef _WIN32
-#include <io.h>
-#endif
-
-
-#ifdef _WIN32
-
-#define BZ2_LIBNAME "libbz2-1.0.2.DLL"
-
-#include <windows.h>
-static int BZ2DLLLoaded = 0;
-static HINSTANCE BZ2DLLhLib;
-int BZ2DLLLoadLibrary(void)
-{
- HINSTANCE hLib;
-
- if(BZ2DLLLoaded==1){return 0;}
- hLib=LoadLibrary(BZ2_LIBNAME);
- if(hLib == NULL){
- fprintf(stderr,"Can't load %s\n",BZ2_LIBNAME);
- return -1;
- }
- BZ2_bzlibVersion=GetProcAddress(hLib,"BZ2_bzlibVersion");
- BZ2_bzopen=GetProcAddress(hLib,"BZ2_bzopen");
- BZ2_bzdopen=GetProcAddress(hLib,"BZ2_bzdopen");
- BZ2_bzread=GetProcAddress(hLib,"BZ2_bzread");
- BZ2_bzwrite=GetProcAddress(hLib,"BZ2_bzwrite");
- BZ2_bzflush=GetProcAddress(hLib,"BZ2_bzflush");
- BZ2_bzclose=GetProcAddress(hLib,"BZ2_bzclose");
- BZ2_bzerror=GetProcAddress(hLib,"BZ2_bzerror");
-
- if (!BZ2_bzlibVersion || !BZ2_bzopen || !BZ2_bzdopen
- || !BZ2_bzread || !BZ2_bzwrite || !BZ2_bzflush
- || !BZ2_bzclose || !BZ2_bzerror) {
- fprintf(stderr,"GetProcAddress failed.\n");
- return -1;
- }
- BZ2DLLLoaded=1;
- BZ2DLLhLib=hLib;
- return 0;
-
-}
-int BZ2DLLFreeLibrary(void)
-{
- if(BZ2DLLLoaded==0){return 0;}
- FreeLibrary(BZ2DLLhLib);
- BZ2DLLLoaded=0;
-}
-#endif /* WIN32 */
-
-void usage(void)
-{
- puts("usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]");
-}
-
-int main(int argc,char *argv[])
-{
- int decompress = 0;
- int level = 9;
- char *fn_r = NULL;
- char *fn_w = NULL;
-
-#ifdef _WIN32
- if(BZ2DLLLoadLibrary()<0){
- fprintf(stderr,"Loading of %s failed. Giving up.\n", BZ2_LIBNAME);
- exit(1);
- }
- printf("Loading of %s succeeded. Library version is %s.\n",
- BZ2_LIBNAME, BZ2_bzlibVersion() );
-#endif
- while(++argv,--argc){
- if(**argv =='-' || **argv=='/'){
- char *p;
-
- for(p=*argv+1;*p;p++){
- if(*p=='d'){
- decompress = 1;
- }else if('1'<=*p && *p<='9'){
- level = *p - '0';
- }else{
- usage();
- exit(1);
- }
- }
- }else{
- break;
- }
- }
- if(argc>=1){
- fn_r = *argv;
- argc--;argv++;
- }else{
- fn_r = NULL;
- }
- if(argc>=1){
- fn_w = *argv;
- argc--;argv++;
- }else{
- fn_w = NULL;
- }
- {
- int len;
- char buff[0x1000];
- char mode[10];
-
- if(decompress){
- BZFILE *BZ2fp_r = NULL;
- FILE *fp_w = NULL;
-
- if(fn_w){
- if((fp_w = fopen(fn_w,"wb"))==NULL){
- printf("can't open [%s]\n",fn_w);
- perror("reason:");
- exit(1);
- }
- }else{
- fp_w = stdout;
- }
- if((fn_r == NULL && (BZ2fp_r = BZ2_bzdopen(fileno(stdin),"rb"))==NULL)
- || (fn_r != NULL && (BZ2fp_r = BZ2_bzopen(fn_r,"rb"))==NULL)){
- printf("can't bz2openstream\n");
- exit(1);
- }
- while((len=BZ2_bzread(BZ2fp_r,buff,0x1000))>0){
- fwrite(buff,1,len,fp_w);
- }
- BZ2_bzclose(BZ2fp_r);
- if(fp_w != stdout) fclose(fp_w);
- }else{
- BZFILE *BZ2fp_w = NULL;
- FILE *fp_r = NULL;
-
- if(fn_r){
- if((fp_r = fopen(fn_r,"rb"))==NULL){
- printf("can't open [%s]\n",fn_r);
- perror("reason:");
- exit(1);
- }
- }else{
- fp_r = stdin;
- }
- mode[0]='w';
- mode[1] = '0' + level;
- mode[2] = '\0';
-
- if((fn_w == NULL && (BZ2fp_w = BZ2_bzdopen(fileno(stdout),mode))==NULL)
- || (fn_w !=NULL && (BZ2fp_w = BZ2_bzopen(fn_w,mode))==NULL)){
- printf("can't bz2openstream\n");
- exit(1);
- }
- while((len=fread(buff,1,0x1000,fp_r))>0){
- BZ2_bzwrite(BZ2fp_w,buff,len);
- }
- BZ2_bzclose(BZ2fp_w);
- if(fp_r!=stdin)fclose(fp_r);
- }
- }
-#ifdef _WIN32
- BZ2DLLFreeLibrary();
-#endif
- return 0;
-}
diff --git a/plugins/updater/bzip2-1.0.3/dlltest.dsp b/plugins/updater/bzip2-1.0.3/dlltest.dsp
deleted file mode 100644
index 4b1615edcd..0000000000
--- a/plugins/updater/bzip2-1.0.3/dlltest.dsp
+++ /dev/null
@@ -1,93 +0,0 @@
-# Microsoft Developer Studio Project File - Name="dlltest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** •ÒW‚µ‚È‚¢‚Å‚­‚¾‚³‚¢ **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=dlltest - Win32 Debug
-!MESSAGE ‚±‚ê‚Í—LŒø‚ÈÒ²¸Ì§²Ù‚ł͂ ‚è‚Ü‚¹‚ñB ‚±‚ÌÌßÛ¼Þª¸Ä‚ðËÞÙÄÞ‚·‚邽‚ß‚É‚Í NMAKE ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
-!MESSAGE [Ò²¸Ì§²Ù‚Ì´¸½Îß°Ä] ºÏÝÄÞ‚ðŽg—p‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢
-!MESSAGE
-!MESSAGE NMAKE /f "dlltest.mak".
-!MESSAGE
-!MESSAGE NMAKE ‚ÌŽÀsŽž‚É\¬‚ðŽw’è‚Å‚«‚Ü‚·
-!MESSAGE ºÏÝÄÞ ×²Ýã‚ÅϸۂÌÝ’è‚ð’è‹`‚µ‚Ü‚·B—á:
-!MESSAGE
-!MESSAGE NMAKE /f "dlltest.mak" CFG="dlltest - Win32 Debug"
-!MESSAGE
-!MESSAGE ‘I‘ð‰Â”\‚ÈËÞÙÄÞ Ó°ÄÞ:
-!MESSAGE
-!MESSAGE "dlltest - Win32 Release" ("Win32 (x86) Console Application" —p)
-!MESSAGE "dlltest - Win32 Debug" ("Win32 (x86) Console Application" —p)
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "dlltest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x411 /d "NDEBUG"
-# ADD RSC /l 0x411 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"minibz2.exe"
-
-!ELSEIF "$(CFG)" == "dlltest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "dlltest_"
-# PROP BASE Intermediate_Dir "dlltest_"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "dlltest_"
-# PROP Intermediate_Dir "dlltest_"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x411 /d "_DEBUG"
-# ADD RSC /l 0x411 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"minibz2.exe" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "dlltest - Win32 Release"
-# Name "dlltest - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\bzlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dlltest.c
-# End Source File
-# End Target
-# End Project
diff --git a/plugins/updater/bzip2-1.0.3/entities.xml b/plugins/updater/bzip2-1.0.3/entities.xml
deleted file mode 100644
index 4b28f34659..0000000000
--- a/plugins/updater/bzip2-1.0.3/entities.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- misc. strings -->
-<!ENTITY bz-url "http://www.bzip.org">
-<!ENTITY bz-email "jseward@bzip.org">
-<!ENTITY bz-lifespan "1996-2010">
-
-<!ENTITY bz-version "1.0.6">
-<!ENTITY bz-date "6 September 2010">
-
-<!ENTITY manual-title "bzip2 Manual">
diff --git a/plugins/updater/bzip2-1.0.3/format.pl b/plugins/updater/bzip2-1.0.3/format.pl
deleted file mode 100644
index f169fd9de2..0000000000
--- a/plugins/updater/bzip2-1.0.3/format.pl
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/perl -w
-#
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.6 of 6 September 2010
-# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ------------------------------------------------------------------
-#
-use strict;
-
-# get command line values:
-if ( $#ARGV !=1 ) {
- die "Usage: $0 xml_infile xml_outfile\n";
-}
-
-my $infile = shift;
-# check infile exists
-die "Can't find file \"$infile\""
- unless -f $infile;
-# check we can read infile
-if (! -r $infile) {
- die "Can't read input $infile\n";
-}
-# check we can open infile
-open( INFILE,"<$infile" ) or
- die "Can't input $infile $!";
-
-#my $outfile = 'fmt-manual.xml';
-my $outfile = shift;
-#print "Infile: $infile, Outfile: $outfile\n";
-# check we can write to outfile
-open( OUTFILE,">$outfile" ) or
- die "Can't output $outfile $! for writing";
-
-my ($prev, $curr, $str);
-$prev = ''; $curr = '';
-while ( <INFILE> ) {
-
- print OUTFILE $prev;
- $prev = $curr;
- $curr = $_;
- $str = '';
-
- if ( $prev =~ /<programlisting>$|<screen>$/ ) {
- chomp $prev;
- $curr = join( '', $prev, "<![CDATA[", $curr );
- $prev = '';
- next;
- }
- elsif ( $curr =~ /<\/programlisting>|<\/screen>/ ) {
- chomp $prev;
- $curr = join( '', $prev, "]]>", $curr );
- $prev = '';
- next;
- }
-}
-print OUTFILE $curr;
-close INFILE;
-close OUTFILE;
-exit;
diff --git a/plugins/updater/bzip2-1.0.3/huffman.c b/plugins/updater/bzip2-1.0.3/huffman.c
deleted file mode 100644
index 2283fdbc5a..0000000000
--- a/plugins/updater/bzip2-1.0.3/huffman.c
+++ /dev/null
@@ -1,205 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Huffman coding low-level stuff ---*/
-/*--- huffman.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include "bzlib_private.h"
-
-/*---------------------------------------------------*/
-#define WEIGHTOF(zz0) ((zz0) & 0xffffff00)
-#define DEPTHOF(zz1) ((zz1) & 0x000000ff)
-#define MYMAX(zz2,zz3) ((zz2) > (zz3) ? (zz2) : (zz3))
-
-#define ADDWEIGHTS(zw1,zw2) \
- (WEIGHTOF(zw1)+WEIGHTOF(zw2)) | \
- (1 + MYMAX(DEPTHOF(zw1),DEPTHOF(zw2)))
-
-#define UPHEAP(z) \
-{ \
- Int32 zz, tmp; \
- zz = z; tmp = heap[zz]; \
- while (weight[tmp] < weight[heap[zz >> 1]]) { \
- heap[zz] = heap[zz >> 1]; \
- zz >>= 1; \
- } \
- heap[zz] = tmp; \
-}
-
-#define DOWNHEAP(z) \
-{ \
- Int32 zz, yy, tmp; \
- zz = z; tmp = heap[zz]; \
- while (True) { \
- yy = zz << 1; \
- if (yy > nHeap) break; \
- if (yy < nHeap && \
- weight[heap[yy+1]] < weight[heap[yy]]) \
- yy++; \
- if (weight[tmp] < weight[heap[yy]]) break; \
- heap[zz] = heap[yy]; \
- zz = yy; \
- } \
- heap[zz] = tmp; \
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbMakeCodeLengths ( UChar *len,
- Int32 *freq,
- Int32 alphaSize,
- Int32 maxLen )
-{
- /*--
- Nodes and heap entries run from 1. Entry 0
- for both the heap and nodes is a sentinel.
- --*/
- Int32 nNodes, nHeap, n1, n2, i, j, k;
- Bool tooLong;
-
- Int32 heap [ BZ_MAX_ALPHA_SIZE + 2 ];
- Int32 weight [ BZ_MAX_ALPHA_SIZE * 2 ];
- Int32 parent [ BZ_MAX_ALPHA_SIZE * 2 ];
-
- for (i = 0; i < alphaSize; i++)
- weight[i+1] = (freq[i] == 0 ? 1 : freq[i]) << 8;
-
- while (True) {
-
- nNodes = alphaSize;
- nHeap = 0;
-
- heap[0] = 0;
- weight[0] = 0;
- parent[0] = -2;
-
- for (i = 1; i <= alphaSize; i++) {
- parent[i] = -1;
- nHeap++;
- heap[nHeap] = i;
- UPHEAP(nHeap);
- }
-
- AssertH( nHeap < (BZ_MAX_ALPHA_SIZE+2), 2001 );
-
- while (nHeap > 1) {
- n1 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- n2 = heap[1]; heap[1] = heap[nHeap]; nHeap--; DOWNHEAP(1);
- nNodes++;
- parent[n1] = parent[n2] = nNodes;
- weight[nNodes] = ADDWEIGHTS(weight[n1], weight[n2]);
- parent[nNodes] = -1;
- nHeap++;
- heap[nHeap] = nNodes;
- UPHEAP(nHeap);
- }
-
- AssertH( nNodes < (BZ_MAX_ALPHA_SIZE * 2), 2002 );
-
- tooLong = False;
- for (i = 1; i <= alphaSize; i++) {
- j = 0;
- k = i;
- while (parent[k] >= 0) { k = parent[k]; j++; }
- len[i-1] = j;
- if (j > maxLen) tooLong = True;
- }
-
- if (! tooLong) break;
-
- /* 17 Oct 04: keep-going condition for the following loop used
- to be 'i < alphaSize', which missed the last element,
- theoretically leading to the possibility of the compressor
- looping. However, this count-scaling step is only needed if
- one of the generated Huffman code words is longer than
- maxLen, which up to and including version 1.0.2 was 20 bits,
- which is extremely unlikely. In version 1.0.3 maxLen was
- changed to 17 bits, which has minimal effect on compression
- ratio, but does mean this scaling step is used from time to
- time, enough to verify that it works.
-
- This means that bzip2-1.0.3 and later will only produce
- Huffman codes with a maximum length of 17 bits. However, in
- order to preserve backwards compatibility with bitstreams
- produced by versions pre-1.0.3, the decompressor must still
- handle lengths of up to 20. */
-
- for (i = 1; i <= alphaSize; i++) {
- j = weight[i] >> 8;
- j = 1 + (j / 2);
- weight[i] = j << 8;
- }
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbAssignCodes ( Int32 *code,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 n, vec, i;
-
- vec = 0;
- for (n = minLen; n <= maxLen; n++) {
- for (i = 0; i < alphaSize; i++)
- if (length[i] == n) { code[i] = vec; vec++; };
- vec <<= 1;
- }
-}
-
-
-/*---------------------------------------------------*/
-void BZ2_hbCreateDecodeTables ( Int32 *limit,
- Int32 *base,
- Int32 *perm,
- UChar *length,
- Int32 minLen,
- Int32 maxLen,
- Int32 alphaSize )
-{
- Int32 pp, i, j, vec;
-
- pp = 0;
- for (i = minLen; i <= maxLen; i++)
- for (j = 0; j < alphaSize; j++)
- if (length[j] == i) { perm[pp] = j; pp++; };
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) base[i] = 0;
- for (i = 0; i < alphaSize; i++) base[length[i]+1]++;
-
- for (i = 1; i < BZ_MAX_CODE_LEN; i++) base[i] += base[i-1];
-
- for (i = 0; i < BZ_MAX_CODE_LEN; i++) limit[i] = 0;
- vec = 0;
-
- for (i = minLen; i <= maxLen; i++) {
- vec += (base[i+1] - base[i]);
- limit[i] = vec-1;
- vec <<= 1;
- }
- for (i = minLen + 1; i <= maxLen; i++)
- base[i] = ((limit[i-1] + 1) << 1) - base[i];
-}
-
-
-/*-------------------------------------------------------------*/
-/*--- end huffman.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.001 b/plugins/updater/bzip2-1.0.3/libbz2.001
deleted file mode 100644
index a21a20f75f..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.001
+++ /dev/null
@@ -1,130 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libbz2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** •ÒW‚µ‚È‚¢‚Å‚­‚¾‚³‚¢ **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libbz2 - Win32 Debug
-!MESSAGE ‚±‚ê‚Í—LŒø‚ÈÒ²¸Ì§²Ù‚ł͂ ‚è‚Ü‚¹‚ñB ‚±‚ÌÌßÛ¼Þª¸Ä‚ðËÞÙÄÞ‚·‚邽‚ß‚É‚Í NMAKE ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
-!MESSAGE [Ò²¸Ì§²Ù‚Ì´¸½Îß°Ä] ºÏÝÄÞ‚ðŽg—p‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢
-!MESSAGE
-!MESSAGE NMAKE /f "libbz2.mak".
-!MESSAGE
-!MESSAGE NMAKE ‚ÌŽÀsŽž‚É\¬‚ðŽw’è‚Å‚«‚Ü‚·
-!MESSAGE ºÏÝÄÞ ×²Ýã‚ÅϸۂÌÝ’è‚ð’è‹`‚µ‚Ü‚·B—á:
-!MESSAGE
-!MESSAGE NMAKE /f "libbz2.mak" CFG="libbz2 - Win32 Debug"
-!MESSAGE
-!MESSAGE ‘I‘ð‰Â”\‚ÈËÞÙÄÞ Ó°ÄÞ:
-!MESSAGE
-!MESSAGE "libbz2 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" —p)
-!MESSAGE "libbz2 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" —p)
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libbz2 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD BASE RSC /l 0x411 /d "NDEBUG"
-# ADD RSC /l 0x411 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"libbz2.dll"
-
-!ELSEIF "$(CFG)" == "libbz2 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD BASE RSC /l 0x411 /d "_DEBUG"
-# ADD RSC /l 0x411 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"libbz2.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "libbz2 - Win32 Release"
-# Name "libbz2 - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\blocksort.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bzlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bzlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\bzlib_private.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\compress.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\crctable.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\decompress.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libbz2.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\randtable.c
-# End Source File
-# End Target
-# End Project
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.def b/plugins/updater/bzip2-1.0.3/libbz2.def
deleted file mode 100644
index 2dc0dd891d..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.def
+++ /dev/null
@@ -1,27 +0,0 @@
-LIBRARY LIBBZ2
-DESCRIPTION "libbzip2: library for data compression"
-EXPORTS
- BZ2_bzCompressInit
- BZ2_bzCompress
- BZ2_bzCompressEnd
- BZ2_bzDecompressInit
- BZ2_bzDecompress
- BZ2_bzDecompressEnd
- BZ2_bzReadOpen
- BZ2_bzReadClose
- BZ2_bzReadGetUnused
- BZ2_bzRead
- BZ2_bzWriteOpen
- BZ2_bzWrite
- BZ2_bzWriteClose
- BZ2_bzWriteClose64
- BZ2_bzBuffToBuffCompress
- BZ2_bzBuffToBuffDecompress
- BZ2_bzlibVersion
- BZ2_bzopen
- BZ2_bzdopen
- BZ2_bzread
- BZ2_bzwrite
- BZ2_bzflush
- BZ2_bzclose
- BZ2_bzerror
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.dll b/plugins/updater/bzip2-1.0.3/libbz2.dll
deleted file mode 100644
index 5452b54c8c..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.dll
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.dsp b/plugins/updater/bzip2-1.0.3/libbz2.dsp
deleted file mode 100644
index a21a20f75f..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.dsp
+++ /dev/null
@@ -1,130 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libbz2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** •ÒW‚µ‚È‚¢‚Å‚­‚¾‚³‚¢ **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libbz2 - Win32 Debug
-!MESSAGE ‚±‚ê‚Í—LŒø‚ÈÒ²¸Ì§²Ù‚ł͂ ‚è‚Ü‚¹‚ñB ‚±‚ÌÌßÛ¼Þª¸Ä‚ðËÞÙÄÞ‚·‚邽‚ß‚É‚Í NMAKE ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
-!MESSAGE [Ò²¸Ì§²Ù‚Ì´¸½Îß°Ä] ºÏÝÄÞ‚ðŽg—p‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢
-!MESSAGE
-!MESSAGE NMAKE /f "libbz2.mak".
-!MESSAGE
-!MESSAGE NMAKE ‚ÌŽÀsŽž‚É\¬‚ðŽw’è‚Å‚«‚Ü‚·
-!MESSAGE ºÏÝÄÞ ×²Ýã‚ÅϸۂÌÝ’è‚ð’è‹`‚µ‚Ü‚·B—á:
-!MESSAGE
-!MESSAGE NMAKE /f "libbz2.mak" CFG="libbz2 - Win32 Debug"
-!MESSAGE
-!MESSAGE ‘I‘ð‰Â”\‚ÈËÞÙÄÞ Ó°ÄÞ:
-!MESSAGE
-!MESSAGE "libbz2 - Win32 Release" ("Win32 (x86) Dynamic-Link Library" —p)
-!MESSAGE "libbz2 - Win32 Debug" ("Win32 (x86) Dynamic-Link Library" —p)
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libbz2 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD BASE RSC /l 0x411 /d "NDEBUG"
-# ADD RSC /l 0x411 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"libbz2.dll"
-
-!ELSEIF "$(CFG)" == "libbz2 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD BASE RSC /l 0x411 /d "_DEBUG"
-# ADD RSC /l 0x411 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"libbz2.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "libbz2 - Win32 Release"
-# Name "libbz2 - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\blocksort.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bzlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\bzlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\bzlib_private.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\compress.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\crctable.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\decompress.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libbz2.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\randtable.c
-# End Source File
-# End Target
-# End Project
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.dsw b/plugins/updater/bzip2-1.0.3/libbz2.dsw
deleted file mode 100644
index 38476efd11..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libbz2"=".\libbz2.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.ilk b/plugins/updater/bzip2-1.0.3/libbz2.ilk
deleted file mode 100644
index 4172c7cfc7..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.ilk
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/libbz2.plg b/plugins/updater/bzip2-1.0.3/libbz2.plg
deleted file mode 100644
index 3fc4fea20d..0000000000
--- a/plugins/updater/bzip2-1.0.3/libbz2.plg
+++ /dev/null
@@ -1,95 +0,0 @@
-<html>
-<body>
-<pre>
-<h1>Build Log</h1>
-<h3>
---------------------Configuration: libbz2 - Win32 Release--------------------
-</h3>
-<h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSP9.tmp" with contents
-[
-/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"Release/libbz2.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\blocksort.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\bzlib.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\compress.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\crctable.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\decompress.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\huffman.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\randtable.c"
-]
-Creating command line "cl.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSP9.tmp"
-Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSPA.tmp" with contents
-[
-kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"Release/libbz2.pdb" /machine:I386 /def:".\libbz2.def" /out:"libbz2.dll" /implib:"Release/libbz2.lib"
-".\Release\blocksort.obj"
-".\Release\bzlib.obj"
-".\Release\compress.obj"
-".\Release\crctable.obj"
-".\Release\decompress.obj"
-".\Release\huffman.obj"
-".\Release\randtable.obj"
-]
-Creating command line "link.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSPA.tmp"
-<h3>Output Window</h3>
-Compiling...
-blocksort.c
-bzlib.c
-compress.c
-crctable.c
-decompress.c
-huffman.c
-randtable.c
-Linking...
- Creating library Release/libbz2.lib and object Release/libbz2.exp
-
-
-
-<h3>Results</h3>
-libbz2.dll - 0 error(s), 0 warning(s)
-<h3>
---------------------Configuration: libbz2 - Win32 Debug--------------------
-</h3>
-<h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSPE.tmp" with contents
-[
-/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"Debug/libbz2.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /c
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\blocksort.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\bzlib.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\compress.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\crctable.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\decompress.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\huffman.c"
-"C:\Documents and Settings\sje\My Documents\MyProjects\miranda\plugins\updater\bzip2-1.0.3\randtable.c"
-]
-Creating command line "cl.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSPE.tmp"
-Creating temporary file "C:\DOCUME~1\sje\LOCALS~1\Temp\RSPF.tmp" with contents
-[
-kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"Debug/libbz2.pdb" /debug /machine:I386 /def:".\libbz2.def" /out:"libbz2.dll" /implib:"Debug/libbz2.lib" /pdbtype:sept
-".\Debug\blocksort.obj"
-".\Debug\bzlib.obj"
-".\Debug\compress.obj"
-".\Debug\crctable.obj"
-".\Debug\decompress.obj"
-".\Debug\huffman.obj"
-".\Debug\randtable.obj"
-]
-Creating command line "link.exe @C:\DOCUME~1\sje\LOCALS~1\Temp\RSPF.tmp"
-<h3>Output Window</h3>
-Compiling...
-blocksort.c
-bzlib.c
-compress.c
-crctable.c
-decompress.c
-huffman.c
-randtable.c
-Linking...
- Creating library Debug/libbz2.lib and object Debug/libbz2.exp
-
-
-
-<h3>Results</h3>
-libbz2.dll - 0 error(s), 0 warning(s)
-</pre>
-</body>
-</html>
diff --git a/plugins/updater/bzip2-1.0.3/makefile.msc b/plugins/updater/bzip2-1.0.3/makefile.msc
deleted file mode 100644
index 799a18a5f1..0000000000
--- a/plugins/updater/bzip2-1.0.3/makefile.msc
+++ /dev/null
@@ -1,63 +0,0 @@
-# Makefile for Microsoft Visual C++ 6.0
-# usage: nmake -f makefile.msc
-# K.M. Syring (syring@gsf.de)
-# Fixed up by JRS for bzip2-0.9.5d release.
-
-CC=cl
-CFLAGS= -DWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo
-
-OBJS= blocksort.obj \
- huffman.obj \
- crctable.obj \
- randtable.obj \
- compress.obj \
- decompress.obj \
- bzlib.obj
-
-all: lib bzip2 test
-
-bzip2: lib
- $(CC) $(CFLAGS) -o bzip2 bzip2.c libbz2.lib setargv.obj
- $(CC) $(CFLAGS) -o bzip2recover bzip2recover.c
-
-lib: $(OBJS)
- lib /out:libbz2.lib $(OBJS)
-
-test: bzip2
- type words1
- .\\bzip2 -1 < sample1.ref > sample1.rb2
- .\\bzip2 -2 < sample2.ref > sample2.rb2
- .\\bzip2 -3 < sample3.ref > sample3.rb2
- .\\bzip2 -d < sample1.bz2 > sample1.tst
- .\\bzip2 -d < sample2.bz2 > sample2.tst
- .\\bzip2 -ds < sample3.bz2 > sample3.tst
- @echo All six of the fc's should find no differences.
- @echo If fc finds an error on sample3.bz2, this could be
- @echo because WinZip's 'TAR file smart CR/LF conversion'
- @echo is too clever for its own good. Disable this option.
- @echo The correct size for sample3.ref is 120,244. If it
- @echo is 150,251, WinZip has messed it up.
- fc sample1.bz2 sample1.rb2
- fc sample2.bz2 sample2.rb2
- fc sample3.bz2 sample3.rb2
- fc sample1.tst sample1.ref
- fc sample2.tst sample2.ref
- fc sample3.tst sample3.ref
-
-
-
-clean:
- del *.obj
- del libbz2.lib
- del bzip2.exe
- del bzip2recover.exe
- del sample1.rb2
- del sample2.rb2
- del sample3.rb2
- del sample1.tst
- del sample2.tst
- del sample3.tst
-
-.c.obj:
- $(CC) $(CFLAGS) -c $*.c -o $*.obj
-
diff --git a/plugins/updater/bzip2-1.0.3/manual.html b/plugins/updater/bzip2-1.0.3/manual.html
deleted file mode 100644
index f59427f7f0..0000000000
--- a/plugins/updater/bzip2-1.0.3/manual.html
+++ /dev/null
@@ -1,2540 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>bzip2 and libbzip2, version 1.0.6</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<style type="text/css" media="screen">/* Colours:
-#74240f dark brown h1, h2, h3, h4
-#336699 medium blue links
-#339999 turquoise link hover colour
-#202020 almost black general text
-#761596 purple md5sum text
-#626262 dark gray pre border
-#eeeeee very light gray pre background
-#f2f2f9 very light blue nav table background
-#3366cc medium blue nav table border
-*/
-
-a, a:link, a:visited, a:active { color: #336699; }
-a:hover { color: #339999; }
-
-body { font: 80%/126% sans-serif; }
-h1, h2, h3, h4 { color: #74240f; }
-
-dt { color: #336699; font-weight: bold }
-dd {
- margin-left: 1.5em;
- padding-bottom: 0.8em;
-}
-
-/* -- ruler -- */
-div.hr_blue {
- height: 3px;
- background:#ffffff url("/images/hr_blue.png") repeat-x; }
-div.hr_blue hr { display:none; }
-
-/* release styles */
-#release p { margin-top: 0.4em; }
-#release .md5sum { color: #761596; }
-
-
-/* ------ styles for docs|manuals|howto ------ */
-/* -- lists -- */
-ul {
- margin: 0px 4px 16px 16px;
- padding: 0px;
- list-style: url("/images/li-blue.png");
-}
-ul li {
- margin-bottom: 10px;
-}
-ul ul {
- list-style-type: none;
- list-style-image: none;
- margin-left: 0px;
-}
-
-/* header / footer nav tables */
-table.nav {
- border: solid 1px #3366cc;
- background: #f2f2f9;
- background-color: #f2f2f9;
- margin-bottom: 0.5em;
-}
-/* don't have underlined links in chunked nav menus */
-table.nav a { text-decoration: none; }
-table.nav a:hover { text-decoration: underline; }
-table.nav td { font-size: 85%; }
-
-code, tt, pre { font-size: 120%; }
-code, tt { color: #761596; }
-
-div.literallayout, pre.programlisting, pre.screen {
- color: #000000;
- padding: 0.5em;
- background: #eeeeee;
- border: 1px solid #626262;
- background-color: #eeeeee;
- margin: 4px 0px 4px 0px;
-}
-</style>
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book" title="bzip2 and libbzip2, version 1.0.6">
-<div class="titlepage">
-<div>
-<div><h1 class="title">
-<a name="userman"></a>bzip2 and libbzip2, version 1.0.6</h1></div>
-<div><h2 class="subtitle">A program and library for data compression</h2></div>
-<div><div class="authorgroup"><div class="author">
-<h3 class="author">
-<span class="firstname">Julian</span> <span class="surname">Seward</span>
-</h3>
-<div class="affiliation"><span class="orgname">http://www.bzip.org<br></span></div>
-</div></div></div>
-<div><p class="releaseinfo">Version 1.0.6 of 6 September 2010</p></div>
-<div><p class="copyright">Copyright © 1996-2010 Julian Seward</p></div>
-<div><div class="legalnotice" title="Legal Notice">
-<a name="id537185"></a><p>This program, <code class="computeroutput">bzip2</code>, the
- associated library <code class="computeroutput">libbzip2</code>, and
- all documentation, are copyright © 1996-2010 Julian Seward.
- All rights reserved.</p>
-<p>Redistribution and use in source and binary forms, with
- or without modification, are permitted provided that the
- following conditions are met:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p>Redistributions of source code must retain the
- above copyright notice, this list of conditions and the
- following disclaimer.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>The origin of this software must not be
- misrepresented; you must not claim that you wrote the original
- software. If you use this software in a product, an
- acknowledgment in the product documentation would be
- appreciated but is not required.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>Altered source versions must be plainly marked
- as such, and must not be misrepresented as being the original
- software.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>The name of the author may not be used to
- endorse or promote products derived from this software without
- specific prior written permission.</p></li>
-</ul></div>
-<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.</p>
-<p>PATENTS: To the best of my knowledge,
- <code class="computeroutput">bzip2</code> and
- <code class="computeroutput">libbzip2</code> do not use any patented
- algorithms. However, I do not have the resources to carry
- out a patent search. Therefore I cannot give any guarantee of
- the above statement.
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="chapter"><a href="#intro">1. Introduction</a></span></dt>
-<dt><span class="chapter"><a href="#using">2. How to use bzip2</a></span></dt>
-<dd><dl>
-<dt><span class="sect1"><a href="#name">2.1. NAME</a></span></dt>
-<dt><span class="sect1"><a href="#synopsis">2.2. SYNOPSIS</a></span></dt>
-<dt><span class="sect1"><a href="#description">2.3. DESCRIPTION</a></span></dt>
-<dt><span class="sect1"><a href="#options">2.4. OPTIONS</a></span></dt>
-<dt><span class="sect1"><a href="#memory-management">2.5. MEMORY MANAGEMENT</a></span></dt>
-<dt><span class="sect1"><a href="#recovering">2.6. RECOVERING DATA FROM DAMAGED FILES</a></span></dt>
-<dt><span class="sect1"><a href="#performance">2.7. PERFORMANCE NOTES</a></span></dt>
-<dt><span class="sect1"><a href="#caveats">2.8. CAVEATS</a></span></dt>
-<dt><span class="sect1"><a href="#author">2.9. AUTHOR</a></span></dt>
-</dl></dd>
-<dt><span class="chapter"><a href="#libprog">3.
-Programming with <code class="computeroutput">libbzip2</code>
-</a></span></dt>
-<dd><dl>
-<dt><span class="sect1"><a href="#top-level">3.1. Top-level structure</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#ll-summary">3.1.1. Low-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#hl-summary">3.1.2. High-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#util-fns-summary">3.1.3. Utility functions summary</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#err-handling">3.2. Error handling</a></span></dt>
-<dt><span class="sect1"><a href="#low-level">3.3. Low-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzcompress-init">3.3.1. BZ2_bzCompressInit</a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress">3.3.2. BZ2_bzCompress</a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress-end">3.3.3. BZ2_bzCompressEnd</a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-init">3.3.4. BZ2_bzDecompressInit</a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress">3.3.5. BZ2_bzDecompress</a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-end">3.3.6. BZ2_bzDecompressEnd</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#hl-interface">3.4. High-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzreadopen">3.4.1. BZ2_bzReadOpen</a></span></dt>
-<dt><span class="sect2"><a href="#bzread">3.4.2. BZ2_bzRead</a></span></dt>
-<dt><span class="sect2"><a href="#bzreadgetunused">3.4.3. BZ2_bzReadGetUnused</a></span></dt>
-<dt><span class="sect2"><a href="#bzreadclose">3.4.4. BZ2_bzReadClose</a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteopen">3.4.5. BZ2_bzWriteOpen</a></span></dt>
-<dt><span class="sect2"><a href="#bzwrite">3.4.6. BZ2_bzWrite</a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteclose">3.4.7. BZ2_bzWriteClose</a></span></dt>
-<dt><span class="sect2"><a href="#embed">3.4.8. Handling embedded compressed data streams</a></span></dt>
-<dt><span class="sect2"><a href="#std-rdwr">3.4.9. Standard file-reading/writing code</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#util-fns">3.5. Utility functions</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzbufftobuffcompress">3.5.1. BZ2_bzBuffToBuffCompress</a></span></dt>
-<dt><span class="sect2"><a href="#bzbufftobuffdecompress">3.5.2. BZ2_bzBuffToBuffDecompress</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#zlib-compat">3.6. zlib compatibility functions</a></span></dt>
-<dt><span class="sect1"><a href="#stdio-free">3.7. Using the library in a stdio-free environment</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#stdio-bye">3.7.1. Getting rid of stdio</a></span></dt>
-<dt><span class="sect2"><a href="#critical-error">3.7.2. Critical error handling</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#win-dll">3.8. Making a Windows DLL</a></span></dt>
-</dl></dd>
-<dt><span class="chapter"><a href="#misc">4. Miscellanea</a></span></dt>
-<dd><dl>
-<dt><span class="sect1"><a href="#limits">4.1. Limitations of the compressed file format</a></span></dt>
-<dt><span class="sect1"><a href="#port-issues">4.2. Portability issues</a></span></dt>
-<dt><span class="sect1"><a href="#bugs">4.3. Reporting bugs</a></span></dt>
-<dt><span class="sect1"><a href="#package">4.4. Did you get the right package?</a></span></dt>
-<dt><span class="sect1"><a href="#reading">4.5. Further Reading</a></span></dt>
-</dl></dd>
-</dl>
-</div>
-<div class="chapter" title="1. Introduction">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="intro"></a>1. Introduction</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses files
-using the Burrows-Wheeler block-sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</p>
-<p><code class="computeroutput">bzip2</code> is built on top of
-<code class="computeroutput">libbzip2</code>, a flexible library for
-handling compressed data in the
-<code class="computeroutput">bzip2</code> format. This manual
-describes both how to use the program and how to work with the
-library interface. Most of the manual is devoted to this
-library, not the program, which is good news if your interest is
-only in the program.</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p><a class="xref" href="#using" title="2. How to use bzip2">How to use bzip2</a> describes how to use
- <code class="computeroutput">bzip2</code>; this is the only part
- you need to read if you just want to know how to operate the
- program.</p></li>
-<li class="listitem" style="list-style-type: disc"><p><a class="xref" href="#libprog" title="3.  Programming with libbzip2">Programming with libbzip2</a> describes the
- programming interfaces in detail, and</p></li>
-<li class="listitem" style="list-style-type: disc"><p><a class="xref" href="#misc" title="4. Miscellanea">Miscellanea</a> records some
- miscellaneous notes which I thought ought to be recorded
- somewhere.</p></li>
-</ul></div>
-</div>
-<div class="chapter" title="2. How to use bzip2">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="using"></a>2. How to use bzip2</h2></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="sect1"><a href="#name">2.1. NAME</a></span></dt>
-<dt><span class="sect1"><a href="#synopsis">2.2. SYNOPSIS</a></span></dt>
-<dt><span class="sect1"><a href="#description">2.3. DESCRIPTION</a></span></dt>
-<dt><span class="sect1"><a href="#options">2.4. OPTIONS</a></span></dt>
-<dt><span class="sect1"><a href="#memory-management">2.5. MEMORY MANAGEMENT</a></span></dt>
-<dt><span class="sect1"><a href="#recovering">2.6. RECOVERING DATA FROM DAMAGED FILES</a></span></dt>
-<dt><span class="sect1"><a href="#performance">2.7. PERFORMANCE NOTES</a></span></dt>
-<dt><span class="sect1"><a href="#caveats">2.8. CAVEATS</a></span></dt>
-<dt><span class="sect1"><a href="#author">2.9. AUTHOR</a></span></dt>
-</dl>
-</div>
-<p>This chapter contains a copy of the
-<code class="computeroutput">bzip2</code> man page, and nothing
-else.</p>
-<div class="sect1" title="2.1. NAME">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="name"></a>2.1. NAME</h2></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzip2</code>,
- <code class="computeroutput">bunzip2</code> - a block-sorting file
- compressor, v1.0.6</p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzcat</code> -
- decompresses files to stdout</p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzip2recover</code> -
- recovers data from damaged bzip2 files</p></li>
-</ul></div>
-</div>
-<div class="sect1" title="2.2. SYNOPSIS">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="synopsis"></a>2.2. SYNOPSIS</h2></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzip2</code> [
- -cdfkqstvzVL123456789 ] [ filenames ... ]</p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bunzip2</code> [
- -fkvsVL ] [ filenames ... ]</p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzcat</code> [ -s ] [
- filenames ... ]</p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzip2recover</code>
- filename</p></li>
-</ul></div>
-</div>
-<div class="sect1" title="2.3. DESCRIPTION">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="description"></a>2.3. DESCRIPTION</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses files
-using the Burrows-Wheeler block sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</p>
-<p>The command-line options are deliberately very similar to
-those of GNU <code class="computeroutput">gzip</code>, but they are
-not identical.</p>
-<p><code class="computeroutput">bzip2</code> expects a list of
-file names to accompany the command-line flags. Each file is
-replaced by a compressed version of itself, with the name
-<code class="computeroutput">original_name.bz2</code>. Each
-compressed file has the same modification date, permissions, and,
-when possible, ownership as the corresponding original, so that
-these properties can be correctly restored at decompression time.
-File name handling is naive in the sense that there is no
-mechanism for preserving original file names, permissions,
-ownerships or dates in filesystems which lack these concepts, or
-have serious file name length restrictions, such as
-MS-DOS.</p>
-<p><code class="computeroutput">bzip2</code> and
-<code class="computeroutput">bunzip2</code> will by default not
-overwrite existing files. If you want this to happen, specify
-the <code class="computeroutput">-f</code> flag.</p>
-<p>If no file names are specified,
-<code class="computeroutput">bzip2</code> compresses from standard
-input to standard output. In this case,
-<code class="computeroutput">bzip2</code> will decline to write
-compressed output to a terminal, as this would be entirely
-incomprehensible and therefore pointless.</p>
-<p><code class="computeroutput">bunzip2</code> (or
-<code class="computeroutput">bzip2 -d</code>) decompresses all
-specified files. Files which were not created by
-<code class="computeroutput">bzip2</code> will be detected and
-ignored, and a warning issued.
-<code class="computeroutput">bzip2</code> attempts to guess the
-filename for the decompressed file from that of the compressed
-file as follows:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">filename.bz2 </code>
- becomes
- <code class="computeroutput">filename</code></p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">filename.bz </code>
- becomes
- <code class="computeroutput">filename</code></p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">filename.tbz2</code>
- becomes
- <code class="computeroutput">filename.tar</code></p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">filename.tbz </code>
- becomes
- <code class="computeroutput">filename.tar</code></p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">anyothername </code>
- becomes
- <code class="computeroutput">anyothername.out</code></p></li>
-</ul></div>
-<p>If the file does not end in one of the recognised endings,
-<code class="computeroutput">.bz2</code>,
-<code class="computeroutput">.bz</code>,
-<code class="computeroutput">.tbz2</code> or
-<code class="computeroutput">.tbz</code>,
-<code class="computeroutput">bzip2</code> complains that it cannot
-guess the name of the original file, and uses the original name
-with <code class="computeroutput">.out</code> appended.</p>
-<p>As with compression, supplying no filenames causes
-decompression from standard input to standard output.</p>
-<p><code class="computeroutput">bunzip2</code> will correctly
-decompress a file which is the concatenation of two or more
-compressed files. The result is the concatenation of the
-corresponding uncompressed files. Integrity testing
-(<code class="computeroutput">-t</code>) of concatenated compressed
-files is also supported.</p>
-<p>You can also compress or decompress files to the standard
-output by giving the <code class="computeroutput">-c</code> flag.
-Multiple files may be compressed and decompressed like this. The
-resulting outputs are fed sequentially to stdout. Compression of
-multiple files in this manner generates a stream containing
-multiple compressed file representations. Such a stream can be
-decompressed correctly only by
-<code class="computeroutput">bzip2</code> version 0.9.0 or later.
-Earlier versions of <code class="computeroutput">bzip2</code> will
-stop after decompressing the first file in the stream.</p>
-<p><code class="computeroutput">bzcat</code> (or
-<code class="computeroutput">bzip2 -dc</code>) decompresses all
-specified files to the standard output.</p>
-<p><code class="computeroutput">bzip2</code> will read arguments
-from the environment variables
-<code class="computeroutput">BZIP2</code> and
-<code class="computeroutput">BZIP</code>, in that order, and will
-process them before any arguments read from the command line.
-This gives a convenient way to supply default arguments.</p>
-<p>Compression is always performed, even if the compressed
-file is slightly larger than the original. Files of less than
-about one hundred bytes tend to get larger, since the compression
-mechanism has a constant overhead in the region of 50 bytes.
-Random data (including the output of most file compressors) is
-coded at about 8.05 bits per byte, giving an expansion of around
-0.5%.</p>
-<p>As a self-check for your protection,
-<code class="computeroutput">bzip2</code> uses 32-bit CRCs to make
-sure that the decompressed version of a file is identical to the
-original. This guards against corruption of the compressed data,
-and against undetected bugs in
-<code class="computeroutput">bzip2</code> (hopefully very unlikely).
-The chances of data corruption going undetected is microscopic,
-about one chance in four billion for each file processed. Be
-aware, though, that the check occurs upon decompression, so it
-can only tell you that something is wrong. It can't help you
-recover the original uncompressed data. You can use
-<code class="computeroutput">bzip2recover</code> to try to recover
-data from damaged files.</p>
-<p>Return values: 0 for a normal exit, 1 for environmental
-problems (file not found, invalid flags, I/O errors, etc.), 2
-to indicate a corrupt compressed file, 3 for an internal
-consistency error (eg, bug) which caused
-<code class="computeroutput">bzip2</code> to panic.</p>
-</div>
-<div class="sect1" title="2.4. OPTIONS">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="options"></a>2.4. OPTIONS</h2></div></div></div>
-<div class="variablelist"><dl>
-<dt><span class="term"><code class="computeroutput">-c --stdout</code></span></dt>
-<dd><p>Compress or decompress to standard
- output.</p></dd>
-<dt><span class="term"><code class="computeroutput">-d --decompress</code></span></dt>
-<dd><p>Force decompression.
- <code class="computeroutput">bzip2</code>,
- <code class="computeroutput">bunzip2</code> and
- <code class="computeroutput">bzcat</code> are really the same
- program, and the decision about what actions to take is done on
- the basis of which name is used. This flag overrides that
- mechanism, and forces bzip2 to decompress.</p></dd>
-<dt><span class="term"><code class="computeroutput">-z --compress</code></span></dt>
-<dd><p>The complement to
- <code class="computeroutput">-d</code>: forces compression,
- regardless of the invokation name.</p></dd>
-<dt><span class="term"><code class="computeroutput">-t --test</code></span></dt>
-<dd><p>Check integrity of the specified file(s), but
- don't decompress them. This really performs a trial
- decompression and throws away the result.</p></dd>
-<dt><span class="term"><code class="computeroutput">-f --force</code></span></dt>
-<dd>
-<p>Force overwrite of output files. Normally,
- <code class="computeroutput">bzip2</code> will not overwrite
- existing output files. Also forces
- <code class="computeroutput">bzip2</code> to break hard links to
- files, which it otherwise wouldn't do.</p>
-<p><code class="computeroutput">bzip2</code> normally declines
- to decompress files which don't have the correct magic header
- bytes. If forced (<code class="computeroutput">-f</code>),
- however, it will pass such files through unmodified. This is
- how GNU <code class="computeroutput">gzip</code> behaves.</p>
-</dd>
-<dt><span class="term"><code class="computeroutput">-k --keep</code></span></dt>
-<dd><p>Keep (don't delete) input files during
- compression or decompression.</p></dd>
-<dt><span class="term"><code class="computeroutput">-s --small</code></span></dt>
-<dd>
-<p>Reduce memory usage, for compression,
- decompression and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5 bytes per
- block byte. This means any file can be decompressed in 2300k
- of memory, albeit at about half the normal speed.</p>
-<p>During compression, <code class="computeroutput">-s</code>
- selects a block size of 200k, which limits memory use to around
- the same figure, at the expense of your compression ratio. In
- short, if your machine is low on memory (8 megabytes or less),
- use <code class="computeroutput">-s</code> for everything. See
- <a class="xref" href="#memory-management" title="2.5. MEMORY MANAGEMENT">MEMORY MANAGEMENT</a> below.</p>
-</dd>
-<dt><span class="term"><code class="computeroutput">-q --quiet</code></span></dt>
-<dd><p>Suppress non-essential warning messages.
- Messages pertaining to I/O errors and other critical events
- will not be suppressed.</p></dd>
-<dt><span class="term"><code class="computeroutput">-v --verbose</code></span></dt>
-<dd><p>Verbose mode -- show the compression ratio for
- each file processed. Further
- <code class="computeroutput">-v</code>'s increase the verbosity
- level, spewing out lots of information which is primarily of
- interest for diagnostic purposes.</p></dd>
-<dt><span class="term"><code class="computeroutput">-L --license -V --version</code></span></dt>
-<dd><p>Display the software version, license terms and
- conditions.</p></dd>
-<dt><span class="term"><code class="computeroutput">-1</code> (or
- <code class="computeroutput">--fast</code>) to
- <code class="computeroutput">-9</code> (or
- <code class="computeroutput">-best</code>)</span></dt>
-<dd><p>Set the block size to 100 k, 200 k ... 900 k
- when compressing. Has no effect when decompressing. See <a class="xref" href="#memory-management" title="2.5. MEMORY MANAGEMENT">MEMORY MANAGEMENT</a> below. The
- <code class="computeroutput">--fast</code> and
- <code class="computeroutput">--best</code> aliases are primarily
- for GNU <code class="computeroutput">gzip</code> compatibility.
- In particular, <code class="computeroutput">--fast</code> doesn't
- make things significantly faster. And
- <code class="computeroutput">--best</code> merely selects the
- default behaviour.</p></dd>
-<dt><span class="term"><code class="computeroutput">--</code></span></dt>
-<dd><p>Treats all subsequent arguments as file names,
- even if they start with a dash. This is so you can handle
- files with names beginning with a dash, for example:
- <code class="computeroutput">bzip2 --
- -myfilename</code>.</p></dd>
-<dt>
-<span class="term"><code class="computeroutput">--repetitive-fast</code>, </span><span class="term"><code class="computeroutput">--repetitive-best</code></span>
-</dt>
-<dd><p>These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the behaviour of
- the sorting algorithm in earlier versions, which was sometimes
- useful. 0.9.5 and above have an improved algorithm which
- renders these flags irrelevant.</p></dd>
-</dl></div>
-</div>
-<div class="sect1" title="2.5. MEMORY MANAGEMENT">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="memory-management"></a>2.5. MEMORY MANAGEMENT</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses large
-files in blocks. The block size affects both the compression
-ratio achieved, and the amount of memory needed for compression
-and decompression. The flags <code class="computeroutput">-1</code>
-through <code class="computeroutput">-9</code> specify the block
-size to be 100,000 bytes through 900,000 bytes (the default)
-respectively. At decompression time, the block size used for
-compression is read from the header of the compressed file, and
-<code class="computeroutput">bunzip2</code> then allocates itself
-just enough memory to decompress the file. Since block sizes are
-stored in compressed files, it follows that the flags
-<code class="computeroutput">-1</code> to
-<code class="computeroutput">-9</code> are irrelevant to and so
-ignored during decompression.</p>
-<p>Compression and decompression requirements, in bytes, can be
-estimated as:</p>
-<pre class="programlisting">Compression: 400k + ( 8 x block size )
-
-Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )</pre>
-<p>Larger block sizes give rapidly diminishing marginal
-returns. Most of the compression comes from the first two or
-three hundred k of block size, a fact worth bearing in mind when
-using <code class="computeroutput">bzip2</code> on small machines.
-It is also important to appreciate that the decompression memory
-requirement is set at compression time by the choice of block
-size.</p>
-<p>For files compressed with the default 900k block size,
-<code class="computeroutput">bunzip2</code> will require about 3700
-kbytes to decompress. To support decompression of any file on a
-4 megabyte machine, <code class="computeroutput">bunzip2</code> has
-an option to decompress using approximately half this amount of
-memory, about 2300 kbytes. Decompression speed is also halved,
-so you should use this option only where necessary. The relevant
-flag is <code class="computeroutput">-s</code>.</p>
-<p>In general, try and use the largest block size memory
-constraints allow, since that maximises the compression achieved.
-Compression and decompression speed are virtually unaffected by
-block size.</p>
-<p>Another significant point applies to files which fit in a
-single block -- that means most files you'd encounter using a
-large block size. The amount of real memory touched is
-proportional to the size of the file, since the file is smaller
-than a block. For example, compressing a file 20,000 bytes long
-with the flag <code class="computeroutput">-9</code> will cause the
-compressor to allocate around 7600k of memory, but only touch
-400k + 20000 * 8 = 560 kbytes of it. Similarly, the decompressor
-will allocate 3700k but only touch 100k + 20000 * 4 = 180
-kbytes.</p>
-<p>Here is a table which summarises the maximum memory usage
-for different block sizes. Also recorded is the total compressed
-size for 14 files of the Calgary Text Compression Corpus
-totalling 3,141,622 bytes. This column gives some feel for how
-compression varies with block size. These figures tend to
-understate the advantage of larger block sizes for larger files,
-since the Corpus is dominated by smaller files.</p>
-<pre class="programlisting"> Compress Decompress Decompress Corpus
-Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642</pre>
-</div>
-<div class="sect1" title="2.6. RECOVERING DATA FROM DAMAGED FILES">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="recovering"></a>2.6. RECOVERING DATA FROM DAMAGED FILES</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses files in
-blocks, usually 900kbytes long. Each block is handled
-independently. If a media or transmission error causes a
-multi-block <code class="computeroutput">.bz2</code> file to become
-damaged, it may be possible to recover data from the undamaged
-blocks in the file.</p>
-<p>The compressed representation of each block is delimited by
-a 48-bit pattern, which makes it possible to find the block
-boundaries with reasonable certainty. Each block also carries
-its own 32-bit CRC, so damaged blocks can be distinguished from
-undamaged ones.</p>
-<p><code class="computeroutput">bzip2recover</code> is a simple
-program whose purpose is to search for blocks in
-<code class="computeroutput">.bz2</code> files, and write each block
-out into its own <code class="computeroutput">.bz2</code> file. You
-can then use <code class="computeroutput">bzip2 -t</code> to test
-the integrity of the resulting files, and decompress those which
-are undamaged.</p>
-<p><code class="computeroutput">bzip2recover</code> takes a
-single argument, the name of the damaged file, and writes a
-number of files <code class="computeroutput">rec0001file.bz2</code>,
-<code class="computeroutput">rec0002file.bz2</code>, etc, containing
-the extracted blocks. The output filenames are designed so that
-the use of wildcards in subsequent processing -- for example,
-<code class="computeroutput">bzip2 -dc rec*file.bz2 &gt;
-recovered_data</code> -- lists the files in the correct
-order.</p>
-<p><code class="computeroutput">bzip2recover</code> should be of
-most use dealing with large <code class="computeroutput">.bz2</code>
-files, as these will contain many blocks. It is clearly futile
-to use it on damaged single-block files, since a damaged block
-cannot be recovered. If you wish to minimise any potential data
-loss through media or transmission errors, you might consider
-compressing with a smaller block size.</p>
-</div>
-<div class="sect1" title="2.7. PERFORMANCE NOTES">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="performance"></a>2.7. PERFORMANCE NOTES</h2></div></div></div>
-<p>The sorting phase of compression gathers together similar
-strings in the file. Because of this, files containing very long
-runs of repeated symbols, like "aabaabaabaab ..." (repeated
-several hundred times) may compress more slowly than normal.
-Versions 0.9.5 and above fare much better than previous versions
-in this respect. The ratio between worst-case and average-case
-compression time is in the region of 10:1. For previous
-versions, this figure was more like 100:1. You can use the
-<code class="computeroutput">-vvvv</code> option to monitor progress
-in great detail, if you want.</p>
-<p>Decompression speed is unaffected by these
-phenomena.</p>
-<p><code class="computeroutput">bzip2</code> usually allocates
-several megabytes of memory to operate in, and then charges all
-over it in a fairly random fashion. This means that performance,
-both for compressing and decompressing, is largely determined by
-the speed at which your machine can service cache misses.
-Because of this, small changes to the code to reduce the miss
-rate have been observed to give disproportionately large
-performance improvements. I imagine
-<code class="computeroutput">bzip2</code> will perform best on
-machines with very large caches.</p>
-</div>
-<div class="sect1" title="2.8. CAVEATS">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="caveats"></a>2.8. CAVEATS</h2></div></div></div>
-<p>I/O error messages are not as helpful as they could be.
-<code class="computeroutput">bzip2</code> tries hard to detect I/O
-errors and exit cleanly, but the details of what the problem is
-sometimes seem rather misleading.</p>
-<p>This manual page pertains to version 1.0.6 of
-<code class="computeroutput">bzip2</code>. Compressed data created by
-this version is entirely forwards and backwards compatible with the
-previous public releases, versions 0.1pl2, 0.9.0 and 0.9.5, 1.0.0,
-1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and
-above can correctly decompress multiple concatenated compressed files.
-0.1pl2 cannot do this; it will stop after decompressing just the first
-file in the stream.</p>
-<p><code class="computeroutput">bzip2recover</code> versions
-prior to 1.0.2 used 32-bit integers to represent bit positions in
-compressed files, so it could not handle compressed files more
-than 512 megabytes long. Versions 1.0.2 and above use 64-bit ints
-on some platforms which support them (GNU supported targets, and
-Windows). To establish whether or not
-<code class="computeroutput">bzip2recover</code> was built with such
-a limitation, run it without arguments. In any event you can
-build yourself an unlimited version if you can recompile it with
-<code class="computeroutput">MaybeUInt64</code> set to be an
-unsigned 64-bit integer.</p>
-</div>
-<div class="sect1" title="2.9. AUTHOR">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="author"></a>2.9. AUTHOR</h2></div></div></div>
-<p>Julian Seward,
-<code class="computeroutput">jseward@bzip.org</code></p>
-<p>The ideas embodied in
-<code class="computeroutput">bzip2</code> are due to (at least) the
-following people: Michael Burrows and David Wheeler (for the
-block sorting transformation), David Wheeler (again, for the
-Huffman coder), Peter Fenwick (for the structured coding model in
-the original <code class="computeroutput">bzip</code>, and many
-refinements), and Alistair Moffat, Radford Neal and Ian Witten
-(for the arithmetic coder in the original
-<code class="computeroutput">bzip</code>). I am much indebted for
-their help, support and advice. See the manual in the source
-distribution for pointers to sources of documentation. Christian
-von Roques encouraged me to look for faster sorting algorithms,
-so as to speed up compression. Bela Lubkin encouraged me to
-improve the worst-case compression performance.
-Donna Robinson XMLised the documentation.
-Many people sent
-patches, helped with portability problems, lent machines, gave
-advice and were generally helpful.</p>
-</div>
-</div>
-<div class="chapter" title="3.  Programming with libbzip2">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="libprog"></a>3. 
-Programming with <code class="computeroutput">libbzip2</code>
-</h2></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="sect1"><a href="#top-level">3.1. Top-level structure</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#ll-summary">3.1.1. Low-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#hl-summary">3.1.2. High-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#util-fns-summary">3.1.3. Utility functions summary</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#err-handling">3.2. Error handling</a></span></dt>
-<dt><span class="sect1"><a href="#low-level">3.3. Low-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzcompress-init">3.3.1. BZ2_bzCompressInit</a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress">3.3.2. BZ2_bzCompress</a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress-end">3.3.3. BZ2_bzCompressEnd</a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-init">3.3.4. BZ2_bzDecompressInit</a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress">3.3.5. BZ2_bzDecompress</a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-end">3.3.6. BZ2_bzDecompressEnd</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#hl-interface">3.4. High-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzreadopen">3.4.1. BZ2_bzReadOpen</a></span></dt>
-<dt><span class="sect2"><a href="#bzread">3.4.2. BZ2_bzRead</a></span></dt>
-<dt><span class="sect2"><a href="#bzreadgetunused">3.4.3. BZ2_bzReadGetUnused</a></span></dt>
-<dt><span class="sect2"><a href="#bzreadclose">3.4.4. BZ2_bzReadClose</a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteopen">3.4.5. BZ2_bzWriteOpen</a></span></dt>
-<dt><span class="sect2"><a href="#bzwrite">3.4.6. BZ2_bzWrite</a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteclose">3.4.7. BZ2_bzWriteClose</a></span></dt>
-<dt><span class="sect2"><a href="#embed">3.4.8. Handling embedded compressed data streams</a></span></dt>
-<dt><span class="sect2"><a href="#std-rdwr">3.4.9. Standard file-reading/writing code</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#util-fns">3.5. Utility functions</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzbufftobuffcompress">3.5.1. BZ2_bzBuffToBuffCompress</a></span></dt>
-<dt><span class="sect2"><a href="#bzbufftobuffdecompress">3.5.2. BZ2_bzBuffToBuffDecompress</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#zlib-compat">3.6. zlib compatibility functions</a></span></dt>
-<dt><span class="sect1"><a href="#stdio-free">3.7. Using the library in a stdio-free environment</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#stdio-bye">3.7.1. Getting rid of stdio</a></span></dt>
-<dt><span class="sect2"><a href="#critical-error">3.7.2. Critical error handling</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#win-dll">3.8. Making a Windows DLL</a></span></dt>
-</dl>
-</div>
-<p>This chapter describes the programming interface to
-<code class="computeroutput">libbzip2</code>.</p>
-<p>For general background information, particularly about
-memory use and performance aspects, you'd be well advised to read
-<a class="xref" href="#using" title="2. How to use bzip2">How to use bzip2</a> as well.</p>
-<div class="sect1" title="3.1. Top-level structure">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="top-level"></a>3.1. Top-level structure</h2></div></div></div>
-<p><code class="computeroutput">libbzip2</code> is a flexible
-library for compressing and decompressing data in the
-<code class="computeroutput">bzip2</code> data format. Although
-packaged as a single entity, it helps to regard the library as
-three separate parts: the low level interface, and the high level
-interface, and some utility functions.</p>
-<p>The structure of
-<code class="computeroutput">libbzip2</code>'s interfaces is similar
-to that of Jean-loup Gailly's and Mark Adler's excellent
-<code class="computeroutput">zlib</code> library.</p>
-<p>All externally visible symbols have names beginning
-<code class="computeroutput">BZ2_</code>. This is new in version
-1.0. The intention is to minimise pollution of the namespaces of
-library clients.</p>
-<p>To use any part of the library, you need to
-<code class="computeroutput">#include &lt;bzlib.h&gt;</code>
-into your sources.</p>
-<div class="sect2" title="3.1.1. Low-level summary">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="ll-summary"></a>3.1.1. Low-level summary</h3></div></div></div>
-<p>This interface provides services for compressing and
-decompressing data in memory. There's no provision for dealing
-with files, streams or any other I/O mechanisms, just straight
-memory-to-memory work. In fact, this part of the library can be
-compiled without inclusion of
-<code class="computeroutput">stdio.h</code>, which may be helpful
-for embedded applications.</p>
-<p>The low-level part of the library has no global variables
-and is therefore thread-safe.</p>
-<p>Six routines make up the low level interface:
-<code class="computeroutput">BZ2_bzCompressInit</code>,
-<code class="computeroutput">BZ2_bzCompress</code>, and
-<code class="computeroutput">BZ2_bzCompressEnd</code> for
-compression, and a corresponding trio
-<code class="computeroutput">BZ2_bzDecompressInit</code>,
-<code class="computeroutput">BZ2_bzDecompress</code> and
-<code class="computeroutput">BZ2_bzDecompressEnd</code> for
-decompression. The <code class="computeroutput">*Init</code>
-functions allocate memory for compression/decompression and do
-other initialisations, whilst the
-<code class="computeroutput">*End</code> functions close down
-operations and release memory.</p>
-<p>The real work is done by
-<code class="computeroutput">BZ2_bzCompress</code> and
-<code class="computeroutput">BZ2_bzDecompress</code>. These
-compress and decompress data from a user-supplied input buffer to
-a user-supplied output buffer. These buffers can be any size;
-arbitrary quantities of data are handled by making repeated calls
-to these functions. This is a flexible mechanism allowing a
-consumer-pull style of activity, or producer-push, or a mixture
-of both.</p>
-</div>
-<div class="sect2" title="3.1.2. High-level summary">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="hl-summary"></a>3.1.2. High-level summary</h3></div></div></div>
-<p>This interface provides some handy wrappers around the
-low-level interface to facilitate reading and writing
-<code class="computeroutput">bzip2</code> format files
-(<code class="computeroutput">.bz2</code> files). The routines
-provide hooks to facilitate reading files in which the
-<code class="computeroutput">bzip2</code> data stream is embedded
-within some larger-scale file structure, or where there are
-multiple <code class="computeroutput">bzip2</code> data streams
-concatenated end-to-end.</p>
-<p>For reading files,
-<code class="computeroutput">BZ2_bzReadOpen</code>,
-<code class="computeroutput">BZ2_bzRead</code>,
-<code class="computeroutput">BZ2_bzReadClose</code> and
-<code class="computeroutput">BZ2_bzReadGetUnused</code> are
-supplied. For writing files,
-<code class="computeroutput">BZ2_bzWriteOpen</code>,
-<code class="computeroutput">BZ2_bzWrite</code> and
-<code class="computeroutput">BZ2_bzWriteFinish</code> are
-available.</p>
-<p>As with the low-level library, no global variables are used
-so the library is per se thread-safe. However, if I/O errors
-occur whilst reading or writing the underlying compressed files,
-you may have to consult <code class="computeroutput">errno</code> to
-determine the cause of the error. In that case, you'd need a C
-library which correctly supports
-<code class="computeroutput">errno</code> in a multithreaded
-environment.</p>
-<p>To make the library a little simpler and more portable,
-<code class="computeroutput">BZ2_bzReadOpen</code> and
-<code class="computeroutput">BZ2_bzWriteOpen</code> require you to
-pass them file handles (<code class="computeroutput">FILE*</code>s)
-which have previously been opened for reading or writing
-respectively. That avoids portability problems associated with
-file operations and file attributes, whilst not being much of an
-imposition on the programmer.</p>
-</div>
-<div class="sect2" title="3.1.3. Utility functions summary">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="util-fns-summary"></a>3.1.3. Utility functions summary</h3></div></div></div>
-<p>For very simple needs,
-<code class="computeroutput">BZ2_bzBuffToBuffCompress</code> and
-<code class="computeroutput">BZ2_bzBuffToBuffDecompress</code> are
-provided. These compress data in memory from one buffer to
-another buffer in a single function call. You should assess
-whether these functions fulfill your memory-to-memory
-compression/decompression requirements before investing effort in
-understanding the more general but more complex low-level
-interface.</p>
-<p>Yoshioka Tsuneo
-(<code class="computeroutput">tsuneo@rr.iij4u.or.jp</code>) has
-contributed some functions to give better
-<code class="computeroutput">zlib</code> compatibility. These
-functions are <code class="computeroutput">BZ2_bzopen</code>,
-<code class="computeroutput">BZ2_bzread</code>,
-<code class="computeroutput">BZ2_bzwrite</code>,
-<code class="computeroutput">BZ2_bzflush</code>,
-<code class="computeroutput">BZ2_bzclose</code>,
-<code class="computeroutput">BZ2_bzerror</code> and
-<code class="computeroutput">BZ2_bzlibVersion</code>. You may find
-these functions more convenient for simple file reading and
-writing, than those in the high-level interface. These functions
-are not (yet) officially part of the library, and are minimally
-documented here. If they break, you get to keep all the pieces.
-I hope to document them properly when time permits.</p>
-<p>Yoshioka also contributed modifications to allow the
-library to be built as a Windows DLL.</p>
-</div>
-</div>
-<div class="sect1" title="3.2. Error handling">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="err-handling"></a>3.2. Error handling</h2></div></div></div>
-<p>The library is designed to recover cleanly in all
-situations, including the worst-case situation of decompressing
-random data. I'm not 100% sure that it can always do this, so
-you might want to add a signal handler to catch segmentation
-violations during decompression if you are feeling especially
-paranoid. I would be interested in hearing more about the
-robustness of the library to corrupted compressed data.</p>
-<p>Version 1.0.3 more robust in this respect than any
-previous version. Investigations with Valgrind (a tool for detecting
-problems with memory management) indicate
-that, at least for the few files I tested, all single-bit errors
-in the decompressed data are caught properly, with no
-segmentation faults, no uses of uninitialised data, no out of
-range reads or writes, and no infinite looping in the decompressor.
-So it's certainly pretty robust, although
-I wouldn't claim it to be totally bombproof.</p>
-<p>The file <code class="computeroutput">bzlib.h</code> contains
-all definitions needed to use the library. In particular, you
-should definitely not include
-<code class="computeroutput">bzlib_private.h</code>.</p>
-<p>In <code class="computeroutput">bzlib.h</code>, the various
-return values are defined. The following list is not intended as
-an exhaustive description of the circumstances in which a given
-value may be returned -- those descriptions are given later.
-Rather, it is intended to convey the rough meaning of each return
-value. The first five actions are normal and not intended to
-denote an error situation.</p>
-<div class="variablelist"><dl>
-<dt><span class="term"><code class="computeroutput">BZ_OK</code></span></dt>
-<dd><p>The requested action was completed
- successfully.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_RUN_OK, BZ_FLUSH_OK,
- BZ_FINISH_OK</code></span></dt>
-<dd><p>In
- <code class="computeroutput">BZ2_bzCompress</code>, the requested
- flush/finish/nothing-special action was completed
- successfully.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_STREAM_END</code></span></dt>
-<dd><p>Compression of data was completed, or the
- logical stream end was detected during
- decompression.</p></dd>
-</dl></div>
-<p>The following return values indicate an error of some
-kind.</p>
-<div class="variablelist"><dl>
-<dt><span class="term"><code class="computeroutput">BZ_CONFIG_ERROR</code></span></dt>
-<dd><p>Indicates that the library has been improperly
- compiled on your platform -- a major configuration error.
- Specifically, it means that
- <code class="computeroutput">sizeof(char)</code>,
- <code class="computeroutput">sizeof(short)</code> and
- <code class="computeroutput">sizeof(int)</code> are not 1, 2 and
- 4 respectively, as they should be. Note that the library
- should still work properly on 64-bit platforms which follow
- the LP64 programming model -- that is, where
- <code class="computeroutput">sizeof(long)</code> and
- <code class="computeroutput">sizeof(void*)</code> are 8. Under
- LP64, <code class="computeroutput">sizeof(int)</code> is still 4,
- so <code class="computeroutput">libbzip2</code>, which doesn't
- use the <code class="computeroutput">long</code> type, is
- OK.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_SEQUENCE_ERROR</code></span></dt>
-<dd><p>When using the library, it is important to call
- the functions in the correct sequence and with data structures
- (buffers etc) in the correct states.
- <code class="computeroutput">libbzip2</code> checks as much as it
- can to ensure this is happening, and returns
- <code class="computeroutput">BZ_SEQUENCE_ERROR</code> if not.
- Code which complies precisely with the function semantics, as
- detailed below, should never receive this value; such an event
- denotes buggy code which you should
- investigate.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_PARAM_ERROR</code></span></dt>
-<dd><p>Returned when a parameter to a function call is
- out of range or otherwise manifestly incorrect. As with
- <code class="computeroutput">BZ_SEQUENCE_ERROR</code>, this
- denotes a bug in the client code. The distinction between
- <code class="computeroutput">BZ_PARAM_ERROR</code> and
- <code class="computeroutput">BZ_SEQUENCE_ERROR</code> is a bit
- hazy, but still worth making.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_MEM_ERROR</code></span></dt>
-<dd><p>Returned when a request to allocate memory
- failed. Note that the quantity of memory needed to decompress
- a stream cannot be determined until the stream's header has
- been read. So
- <code class="computeroutput">BZ2_bzDecompress</code> and
- <code class="computeroutput">BZ2_bzRead</code> may return
- <code class="computeroutput">BZ_MEM_ERROR</code> even though some
- of the compressed data has been read. The same is not true
- for compression; once
- <code class="computeroutput">BZ2_bzCompressInit</code> or
- <code class="computeroutput">BZ2_bzWriteOpen</code> have
- successfully completed,
- <code class="computeroutput">BZ_MEM_ERROR</code> cannot
- occur.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_DATA_ERROR</code></span></dt>
-<dd><p>Returned when a data integrity error is
- detected during decompression. Most importantly, this means
- when stored and computed CRCs for the data do not match. This
- value is also returned upon detection of any other anomaly in
- the compressed data.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_DATA_ERROR_MAGIC</code></span></dt>
-<dd><p>As a special case of
- <code class="computeroutput">BZ_DATA_ERROR</code>, it is
- sometimes useful to know when the compressed stream does not
- start with the correct magic bytes (<code class="computeroutput">'B' 'Z'
- 'h'</code>).</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_IO_ERROR</code></span></dt>
-<dd><p>Returned by
- <code class="computeroutput">BZ2_bzRead</code> and
- <code class="computeroutput">BZ2_bzWrite</code> when there is an
- error reading or writing in the compressed file, and by
- <code class="computeroutput">BZ2_bzReadOpen</code> and
- <code class="computeroutput">BZ2_bzWriteOpen</code> for attempts
- to use a file for which the error indicator (viz,
- <code class="computeroutput">ferror(f)</code>) is set. On
- receipt of <code class="computeroutput">BZ_IO_ERROR</code>, the
- caller should consult <code class="computeroutput">errno</code>
- and/or <code class="computeroutput">perror</code> to acquire
- operating-system specific information about the
- problem.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_UNEXPECTED_EOF</code></span></dt>
-<dd><p>Returned by
- <code class="computeroutput">BZ2_bzRead</code> when the
- compressed file finishes before the logical end of stream is
- detected.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_OUTBUFF_FULL</code></span></dt>
-<dd><p>Returned by
- <code class="computeroutput">BZ2_bzBuffToBuffCompress</code> and
- <code class="computeroutput">BZ2_bzBuffToBuffDecompress</code> to
- indicate that the output data will not fit into the output
- buffer provided.</p></dd>
-</dl></div>
-</div>
-<div class="sect1" title="3.3. Low-level interface">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="low-level"></a>3.3. Low-level interface</h2></div></div></div>
-<div class="sect2" title="3.3.1. BZ2_bzCompressInit">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzcompress-init"></a>3.3.1. BZ2_bzCompressInit</h3></div></div></div>
-<pre class="programlisting">typedef struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
-} bz_stream;
-
-int BZ2_bzCompressInit ( bz_stream *strm,
- int blockSize100k,
- int verbosity,
- int workFactor );</pre>
-<p>Prepares for compression. The
-<code class="computeroutput">bz_stream</code> structure holds all
-data pertaining to the compression activity. A
-<code class="computeroutput">bz_stream</code> structure should be
-allocated and initialised prior to the call. The fields of
-<code class="computeroutput">bz_stream</code> comprise the entirety
-of the user-visible data. <code class="computeroutput">state</code>
-is a pointer to the private data structures required for
-compression.</p>
-<p>Custom memory allocators are supported, via fields
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code>, and
-<code class="computeroutput">opaque</code>. The value
-<code class="computeroutput">opaque</code> is passed to as the first
-argument to all calls to <code class="computeroutput">bzalloc</code>
-and <code class="computeroutput">bzfree</code>, but is otherwise
-ignored by the library. The call <code class="computeroutput">bzalloc (
-opaque, n, m )</code> is expected to return a pointer
-<code class="computeroutput">p</code> to <code class="computeroutput">n *
-m</code> bytes of memory, and <code class="computeroutput">bzfree (
-opaque, p )</code> should free that memory.</p>
-<p>If you don't want to use a custom memory allocator, set
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code> and
-<code class="computeroutput">opaque</code> to
-<code class="computeroutput">NULL</code>, and the library will then
-use the standard <code class="computeroutput">malloc</code> /
-<code class="computeroutput">free</code> routines.</p>
-<p>Before calling
-<code class="computeroutput">BZ2_bzCompressInit</code>, fields
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code> and
-<code class="computeroutput">opaque</code> should be filled
-appropriately, as just described. Upon return, the internal
-state will have been allocated and initialised, and
-<code class="computeroutput">total_in_lo32</code>,
-<code class="computeroutput">total_in_hi32</code>,
-<code class="computeroutput">total_out_lo32</code> and
-<code class="computeroutput">total_out_hi32</code> will have been
-set to zero. These four fields are used by the library to inform
-the caller of the total amount of data passed into and out of the
-library, respectively. You should not try to change them. As of
-version 1.0, 64-bit counts are maintained, even on 32-bit
-platforms, using the <code class="computeroutput">_hi32</code>
-fields to store the upper 32 bits of the count. So, for example,
-the total amount of data in is <code class="computeroutput">(total_in_hi32
-&lt;&lt; 32) + total_in_lo32</code>.</p>
-<p>Parameter <code class="computeroutput">blockSize100k</code>
-specifies the block size to be used for compression. It should
-be a value between 1 and 9 inclusive, and the actual block size
-used is 100000 x this figure. 9 gives the best compression but
-takes most memory.</p>
-<p>Parameter <code class="computeroutput">verbosity</code> should
-be set to a number between 0 and 4 inclusive. 0 is silent, and
-greater numbers give increasingly verbose monitoring/debugging
-output. If the library has been compiled with
-<code class="computeroutput">-DBZ_NO_STDIO</code>, no such output
-will appear for any verbosity setting.</p>
-<p>Parameter <code class="computeroutput">workFactor</code>
-controls how the compression phase behaves when presented with
-worst case, highly repetitive, input data. If compression runs
-into difficulties caused by repetitive data, the library switches
-from the standard sorting algorithm to a fallback algorithm. The
-fallback is slower than the standard algorithm by perhaps a
-factor of three, but always behaves reasonably, no matter how bad
-the input.</p>
-<p>Lower values of <code class="computeroutput">workFactor</code>
-reduce the amount of effort the standard algorithm will expend
-before resorting to the fallback. You should set this parameter
-carefully; too low, and many inputs will be handled by the
-fallback algorithm and so compress rather slowly, too high, and
-your average-to-worst case compression times can become very
-large. The default value of 30 gives reasonable behaviour over a
-wide range of circumstances.</p>
-<p>Allowable values range from 0 to 250 inclusive. 0 is a
-special case, equivalent to using the default value of 30.</p>
-<p>Note that the compressed output generated is the same
-regardless of whether or not the fallback algorithm is
-used.</p>
-<p>Be aware also that this parameter may disappear entirely in
-future versions of the library. In principle it should be
-possible to devise a good way to automatically choose which
-algorithm to use. Such a mechanism would render the parameter
-obsolete.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if strm is NULL
- or blockSize &lt; 1 or blockSize &gt; 9
- or verbosity &lt; 0 or verbosity &gt; 4
- or workFactor &lt; 0 or workFactor &gt; 250
-BZ_MEM_ERROR
- if not enough memory is available
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzCompress
- if BZ_OK is returned
- no specific action needed in case of error</pre>
-</div>
-<div class="sect2" title="3.3.2. BZ2_bzCompress">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzCompress"></a>3.3.2. BZ2_bzCompress</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzCompress ( bz_stream *strm, int action );</pre>
-<p>Provides more input and/or output buffer space for the
-library. The caller maintains input and output buffers, and
-calls <code class="computeroutput">BZ2_bzCompress</code> to transfer
-data between them.</p>
-<p>Before each call to
-<code class="computeroutput">BZ2_bzCompress</code>,
-<code class="computeroutput">next_in</code> should point at the data
-to be compressed, and <code class="computeroutput">avail_in</code>
-should indicate how many bytes the library may read.
-<code class="computeroutput">BZ2_bzCompress</code> updates
-<code class="computeroutput">next_in</code>,
-<code class="computeroutput">avail_in</code> and
-<code class="computeroutput">total_in</code> to reflect the number
-of bytes it has read.</p>
-<p>Similarly, <code class="computeroutput">next_out</code> should
-point to a buffer in which the compressed data is to be placed,
-with <code class="computeroutput">avail_out</code> indicating how
-much output space is available.
-<code class="computeroutput">BZ2_bzCompress</code> updates
-<code class="computeroutput">next_out</code>,
-<code class="computeroutput">avail_out</code> and
-<code class="computeroutput">total_out</code> to reflect the number
-of bytes output.</p>
-<p>You may provide and remove as little or as much data as you
-like on each call of
-<code class="computeroutput">BZ2_bzCompress</code>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</p>
-<p>A second purpose of
-<code class="computeroutput">BZ2_bzCompress</code> is to request a
-change of mode of the compressed stream.</p>
-<p>Conceptually, a compressed stream can be in one of four
-states: IDLE, RUNNING, FLUSHING and FINISHING. Before
-initialisation
-(<code class="computeroutput">BZ2_bzCompressInit</code>) and after
-termination (<code class="computeroutput">BZ2_bzCompressEnd</code>),
-a stream is regarded as IDLE.</p>
-<p>Upon initialisation
-(<code class="computeroutput">BZ2_bzCompressInit</code>), the stream
-is placed in the RUNNING state. Subsequent calls to
-<code class="computeroutput">BZ2_bzCompress</code> should pass
-<code class="computeroutput">BZ_RUN</code> as the requested action;
-other actions are illegal and will result in
-<code class="computeroutput">BZ_SEQUENCE_ERROR</code>.</p>
-<p>At some point, the calling program will have provided all
-the input data it wants to. It will then want to finish up -- in
-effect, asking the library to process any data it might have
-buffered internally. In this state,
-<code class="computeroutput">BZ2_bzCompress</code> will no longer
-attempt to read data from
-<code class="computeroutput">next_in</code>, but it will want to
-write data to <code class="computeroutput">next_out</code>. Because
-the output buffer supplied by the user can be arbitrarily small,
-the finishing-up operation cannot necessarily be done with a
-single call of
-<code class="computeroutput">BZ2_bzCompress</code>.</p>
-<p>Instead, the calling program passes
-<code class="computeroutput">BZ_FINISH</code> as an action to
-<code class="computeroutput">BZ2_bzCompress</code>. This changes
-the stream's state to FINISHING. Any remaining input (ie,
-<code class="computeroutput">next_in[0 .. avail_in-1]</code>) is
-compressed and transferred to the output buffer. To do this,
-<code class="computeroutput">BZ2_bzCompress</code> must be called
-repeatedly until all the output has been consumed. At that
-point, <code class="computeroutput">BZ2_bzCompress</code> returns
-<code class="computeroutput">BZ_STREAM_END</code>, and the stream's
-state is set back to IDLE.
-<code class="computeroutput">BZ2_bzCompressEnd</code> should then be
-called.</p>
-<p>Just to make sure the calling program does not cheat, the
-library makes a note of <code class="computeroutput">avail_in</code>
-at the time of the first call to
-<code class="computeroutput">BZ2_bzCompress</code> which has
-<code class="computeroutput">BZ_FINISH</code> as an action (ie, at
-the time the program has announced its intention to not supply
-any more input). By comparing this value with that of
-<code class="computeroutput">avail_in</code> over subsequent calls
-to <code class="computeroutput">BZ2_bzCompress</code>, the library
-can detect any attempts to slip in more data to compress. Any
-calls for which this is detected will return
-<code class="computeroutput">BZ_SEQUENCE_ERROR</code>. This
-indicates a programming mistake which should be corrected.</p>
-<p>Instead of asking to finish, the calling program may ask
-<code class="computeroutput">BZ2_bzCompress</code> to take all the
-remaining input, compress it and terminate the current
-(Burrows-Wheeler) compression block. This could be useful for
-error control purposes. The mechanism is analogous to that for
-finishing: call <code class="computeroutput">BZ2_bzCompress</code>
-with an action of <code class="computeroutput">BZ_FLUSH</code>,
-remove output data, and persist with the
-<code class="computeroutput">BZ_FLUSH</code> action until the value
-<code class="computeroutput">BZ_RUN</code> is returned. As with
-finishing, <code class="computeroutput">BZ2_bzCompress</code>
-detects any attempt to provide more input data once the flush has
-begun.</p>
-<p>Once the flush is complete, the stream returns to the
-normal RUNNING state.</p>
-<p>This all sounds pretty complex, but isn't really. Here's a
-table which shows which actions are allowable in each state, what
-action will be taken, what the next state is, and what the
-non-error return values are. Note that you can't explicitly ask
-what state the stream is in, but nor do you need to -- it can be
-inferred from the values returned by
-<code class="computeroutput">BZ2_bzCompress</code>.</p>
-<pre class="programlisting">IDLE/any
- Illegal. IDLE state only exists after BZ2_bzCompressEnd or
- before BZ2_bzCompressInit.
- Return value = BZ_SEQUENCE_ERROR
-
-RUNNING/BZ_RUN
- Compress from next_in to next_out as much as possible.
- Next state = RUNNING
- Return value = BZ_RUN_OK
-
-RUNNING/BZ_FLUSH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FLUSHING
- Return value = BZ_FLUSH_OK
-
-RUNNING/BZ_FINISH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FINISHING
- Return value = BZ_FINISH_OK
-
-FLUSHING/BZ_FLUSH
- Compress from next_in to next_out as much as possible,
- but do not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = RUNNING; Return value = BZ_RUN_OK
- else
- Next state = FLUSHING; Return value = BZ_FLUSH_OK
-
-FLUSHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR
-
-FINISHING/BZ_FINISH
- Compress from next_in to next_out as much as possible,
- but to not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = IDLE; Return value = BZ_STREAM_END
- else
- Next state = FINISHING; Return value = BZ_FINISH_OK
-
-FINISHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR</pre>
-<p>That still looks complicated? Well, fair enough. The
-usual sequence of calls for compressing a load of data is:</p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><p>Get started with
- <code class="computeroutput">BZ2_bzCompressInit</code>.</p></li>
-<li class="listitem"><p>Shovel data in and shlurp out its compressed form
- using zero or more calls of
- <code class="computeroutput">BZ2_bzCompress</code> with action =
- <code class="computeroutput">BZ_RUN</code>.</p></li>
-<li class="listitem"><p>Finish up. Repeatedly call
- <code class="computeroutput">BZ2_bzCompress</code> with action =
- <code class="computeroutput">BZ_FINISH</code>, copying out the
- compressed output, until
- <code class="computeroutput">BZ_STREAM_END</code> is
- returned.</p></li>
-<li class="listitem"><p>Close up and go home. Call
- <code class="computeroutput">BZ2_bzCompressEnd</code>.</p></li>
-</ol></div>
-<p>If the data you want to compress fits into your input
-buffer all at once, you can skip the calls of
-<code class="computeroutput">BZ2_bzCompress ( ..., BZ_RUN )</code>
-and just do the <code class="computeroutput">BZ2_bzCompress ( ..., BZ_FINISH
-)</code> calls.</p>
-<p>All required memory is allocated by
-<code class="computeroutput">BZ2_bzCompressInit</code>. The
-compression library can accept any data at all (obviously). So
-you shouldn't get any error return values from the
-<code class="computeroutput">BZ2_bzCompress</code> calls. If you
-do, they will be
-<code class="computeroutput">BZ_SEQUENCE_ERROR</code>, and indicate
-a bug in your programming.</p>
-<p>Trivial other possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if strm is NULL, or strm-&gt;s is NULL</pre>
-</div>
-<div class="sect2" title="3.3.3. BZ2_bzCompressEnd">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzCompress-end"></a>3.3.3. BZ2_bzCompressEnd</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzCompressEnd ( bz_stream *strm );</pre>
-<p>Releases all memory associated with a compression
-stream.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR if strm is NULL or strm-&gt;s is NULL
-BZ_OK otherwise</pre>
-</div>
-<div class="sect2" title="3.3.4. BZ2_bzDecompressInit">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzDecompress-init"></a>3.3.4. BZ2_bzDecompressInit</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );</pre>
-<p>Prepares for decompression. As with
-<code class="computeroutput">BZ2_bzCompressInit</code>, a
-<code class="computeroutput">bz_stream</code> record should be
-allocated and initialised before the call. Fields
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code> and
-<code class="computeroutput">opaque</code> should be set if a custom
-memory allocator is required, or made
-<code class="computeroutput">NULL</code> for the normal
-<code class="computeroutput">malloc</code> /
-<code class="computeroutput">free</code> routines. Upon return, the
-internal state will have been initialised, and
-<code class="computeroutput">total_in</code> and
-<code class="computeroutput">total_out</code> will be zero.</p>
-<p>For the meaning of parameter
-<code class="computeroutput">verbosity</code>, see
-<code class="computeroutput">BZ2_bzCompressInit</code>.</p>
-<p>If <code class="computeroutput">small</code> is nonzero, the
-library will use an alternative decompression algorithm which
-uses less memory but at the cost of decompressing more slowly
-(roughly speaking, half the speed, but the maximum memory
-requirement drops to around 2300k). See <a class="xref" href="#using" title="2. How to use bzip2">How to use bzip2</a>
-for more information on memory management.</p>
-<p>Note that the amount of memory needed to decompress a
-stream cannot be determined until the stream's header has been
-read, so even if
-<code class="computeroutput">BZ2_bzDecompressInit</code> succeeds, a
-subsequent <code class="computeroutput">BZ2_bzDecompress</code>
-could fail with
-<code class="computeroutput">BZ_MEM_ERROR</code>.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if ( small != 0 &amp;&amp; small != 1 )
- or (verbosity &lt;; 0 || verbosity &gt; 4)
-BZ_MEM_ERROR
- if insufficient memory is available</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzDecompress
- if BZ_OK was returned
- no specific action required in case of error</pre>
-</div>
-<div class="sect2" title="3.3.5. BZ2_bzDecompress">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzDecompress"></a>3.3.5. BZ2_bzDecompress</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzDecompress ( bz_stream *strm );</pre>
-<p>Provides more input and/out output buffer space for the
-library. The caller maintains input and output buffers, and uses
-<code class="computeroutput">BZ2_bzDecompress</code> to transfer
-data between them.</p>
-<p>Before each call to
-<code class="computeroutput">BZ2_bzDecompress</code>,
-<code class="computeroutput">next_in</code> should point at the
-compressed data, and <code class="computeroutput">avail_in</code>
-should indicate how many bytes the library may read.
-<code class="computeroutput">BZ2_bzDecompress</code> updates
-<code class="computeroutput">next_in</code>,
-<code class="computeroutput">avail_in</code> and
-<code class="computeroutput">total_in</code> to reflect the number
-of bytes it has read.</p>
-<p>Similarly, <code class="computeroutput">next_out</code> should
-point to a buffer in which the uncompressed output is to be
-placed, with <code class="computeroutput">avail_out</code>
-indicating how much output space is available.
-<code class="computeroutput">BZ2_bzCompress</code> updates
-<code class="computeroutput">next_out</code>,
-<code class="computeroutput">avail_out</code> and
-<code class="computeroutput">total_out</code> to reflect the number
-of bytes output.</p>
-<p>You may provide and remove as little or as much data as you
-like on each call of
-<code class="computeroutput">BZ2_bzDecompress</code>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</p>
-<p>Use of <code class="computeroutput">BZ2_bzDecompress</code> is
-simpler than
-<code class="computeroutput">BZ2_bzCompress</code>.</p>
-<p>You should provide input and remove output as described
-above, and repeatedly call
-<code class="computeroutput">BZ2_bzDecompress</code> until
-<code class="computeroutput">BZ_STREAM_END</code> is returned.
-Appearance of <code class="computeroutput">BZ_STREAM_END</code>
-denotes that <code class="computeroutput">BZ2_bzDecompress</code>
-has detected the logical end of the compressed stream.
-<code class="computeroutput">BZ2_bzDecompress</code> will not
-produce <code class="computeroutput">BZ_STREAM_END</code> until all
-output data has been placed into the output buffer, so once
-<code class="computeroutput">BZ_STREAM_END</code> appears, you are
-guaranteed to have available all the decompressed output, and
-<code class="computeroutput">BZ2_bzDecompressEnd</code> can safely
-be called.</p>
-<p>If case of an error return value, you should call
-<code class="computeroutput">BZ2_bzDecompressEnd</code> to clean up
-and release memory.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if strm is NULL or strm-&gt;s is NULL
- or strm-&gt;avail_out &lt; 1
-BZ_DATA_ERROR
- if a data integrity error is detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the compressed stream doesn't begin with the right magic bytes
-BZ_MEM_ERROR
- if there wasn't enough memory available
-BZ_STREAM_END
- if the logical end of the data stream was detected and all
- output in has been consumed, eg s--&gt;avail_out &gt; 0
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzDecompress
- if BZ_OK was returned
-BZ2_bzDecompressEnd
- otherwise</pre>
-</div>
-<div class="sect2" title="3.3.6. BZ2_bzDecompressEnd">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzDecompress-end"></a>3.3.6. BZ2_bzDecompressEnd</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzDecompressEnd ( bz_stream *strm );</pre>
-<p>Releases all memory associated with a decompression
-stream.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if strm is NULL or strm-&gt;s is NULL
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting"> None.</pre>
-</div>
-</div>
-<div class="sect1" title="3.4. High-level interface">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="hl-interface"></a>3.4. High-level interface</h2></div></div></div>
-<p>This interface provides functions for reading and writing
-<code class="computeroutput">bzip2</code> format files. First, some
-general points.</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p>All of the functions take an
- <code class="computeroutput">int*</code> first argument,
- <code class="computeroutput">bzerror</code>. After each call,
- <code class="computeroutput">bzerror</code> should be consulted
- first to determine the outcome of the call. If
- <code class="computeroutput">bzerror</code> is
- <code class="computeroutput">BZ_OK</code>, the call completed
- successfully, and only then should the return value of the
- function (if any) be consulted. If
- <code class="computeroutput">bzerror</code> is
- <code class="computeroutput">BZ_IO_ERROR</code>, there was an
- error reading/writing the underlying compressed file, and you
- should then consult <code class="computeroutput">errno</code> /
- <code class="computeroutput">perror</code> to determine the cause
- of the difficulty. <code class="computeroutput">bzerror</code>
- may also be set to various other values; precise details are
- given on a per-function basis below.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>If <code class="computeroutput">bzerror</code> indicates
- an error (ie, anything except
- <code class="computeroutput">BZ_OK</code> and
- <code class="computeroutput">BZ_STREAM_END</code>), you should
- immediately call
- <code class="computeroutput">BZ2_bzReadClose</code> (or
- <code class="computeroutput">BZ2_bzWriteClose</code>, depending on
- whether you are attempting to read or to write) to free up all
- resources associated with the stream. Once an error has been
- indicated, behaviour of all calls except
- <code class="computeroutput">BZ2_bzReadClose</code>
- (<code class="computeroutput">BZ2_bzWriteClose</code>) is
- undefined. The implication is that (1)
- <code class="computeroutput">bzerror</code> should be checked
- after each call, and (2) if
- <code class="computeroutput">bzerror</code> indicates an error,
- <code class="computeroutput">BZ2_bzReadClose</code>
- (<code class="computeroutput">BZ2_bzWriteClose</code>) should then
- be called to clean up.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>The <code class="computeroutput">FILE*</code> arguments
- passed to <code class="computeroutput">BZ2_bzReadOpen</code> /
- <code class="computeroutput">BZ2_bzWriteOpen</code> should be set
- to binary mode. Most Unix systems will do this by default, but
- other platforms, including Windows and Mac, will not. If you
- omit this, you may encounter problems when moving code to new
- platforms.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>Memory allocation requests are handled by
- <code class="computeroutput">malloc</code> /
- <code class="computeroutput">free</code>. At present there is no
- facility for user-defined memory allocators in the file I/O
- functions (could easily be added, though).</p></li>
-</ul></div>
-<div class="sect2" title="3.4.1. BZ2_bzReadOpen">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzreadopen"></a>3.4.1. BZ2_bzReadOpen</h3></div></div></div>
-<pre class="programlisting">typedef void BZFILE;
-
-BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f,
- int verbosity, int small,
- void *unused, int nUnused );</pre>
-<p>Prepare to read compressed data from file handle
-<code class="computeroutput">f</code>.
-<code class="computeroutput">f</code> should refer to a file which
-has been opened for reading, and for which the error indicator
-(<code class="computeroutput">ferror(f)</code>)is not set. If
-<code class="computeroutput">small</code> is 1, the library will try
-to decompress using less memory, at the expense of speed.</p>
-<p>For reasons explained below,
-<code class="computeroutput">BZ2_bzRead</code> will decompress the
-<code class="computeroutput">nUnused</code> bytes starting at
-<code class="computeroutput">unused</code>, before starting to read
-from the file <code class="computeroutput">f</code>. At most
-<code class="computeroutput">BZ_MAX_UNUSED</code> bytes may be
-supplied like this. If this facility is not required, you should
-pass <code class="computeroutput">NULL</code> and
-<code class="computeroutput">0</code> for
-<code class="computeroutput">unused</code> and
-n<code class="computeroutput">Unused</code> respectively.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">small</code> and
-<code class="computeroutput">verbosity</code>, see
-<code class="computeroutput">BZ2_bzDecompressInit</code>.</p>
-<p>The amount of memory needed to decompress a file cannot be
-determined until the file's header has been read. So it is
-possible that <code class="computeroutput">BZ2_bzReadOpen</code>
-returns <code class="computeroutput">BZ_OK</code> but a subsequent
-call of <code class="computeroutput">BZ2_bzRead</code> will return
-<code class="computeroutput">BZ_MEM_ERROR</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or small is neither 0 nor 1
- or ( unused == NULL &amp;&amp; nUnused != 0 )
- or ( unused != NULL &amp;&amp; !(0 &lt;= nUnused &lt;= BZ_MAX_UNUSED) )
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise.</pre>
-<p>Possible return values:</p>
-<pre class="programlisting">Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzRead
- if bzerror is BZ_OK
-BZ2_bzClose
- otherwise</pre>
-</div>
-<div class="sect2" title="3.4.2. BZ2_bzRead">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzread"></a>3.4.2. BZ2_bzRead</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );</pre>
-<p>Reads up to <code class="computeroutput">len</code>
-(uncompressed) bytes from the compressed file
-<code class="computeroutput">b</code> into the buffer
-<code class="computeroutput">buf</code>. If the read was
-successful, <code class="computeroutput">bzerror</code> is set to
-<code class="computeroutput">BZ_OK</code> and the number of bytes
-read is returned. If the logical end-of-stream was detected,
-<code class="computeroutput">bzerror</code> will be set to
-<code class="computeroutput">BZ_STREAM_END</code>, and the number of
-bytes read is returned. All other
-<code class="computeroutput">bzerror</code> values denote an
-error.</p>
-<p><code class="computeroutput">BZ2_bzRead</code> will supply
-<code class="computeroutput">len</code> bytes, unless the logical
-stream end is detected or an error occurs. Because of this, it
-is possible to detect the stream end by observing when the number
-of bytes returned is less than the number requested.
-Nevertheless, this is regarded as inadvisable; you should instead
-check <code class="computeroutput">bzerror</code> after every call
-and watch out for
-<code class="computeroutput">BZ_STREAM_END</code>.</p>
-<p>Internally, <code class="computeroutput">BZ2_bzRead</code>
-copies data from the compressed file in chunks of size
-<code class="computeroutput">BZ_MAX_UNUSED</code> bytes before
-decompressing it. If the file contains more bytes than strictly
-needed to reach the logical end-of-stream,
-<code class="computeroutput">BZ2_bzRead</code> will almost certainly
-read some of the trailing data before signalling
-<code class="computeroutput">BZ_SEQUENCE_END</code>. To collect the
-read but unused data once
-<code class="computeroutput">BZ_SEQUENCE_END</code> has appeared,
-call <code class="computeroutput">BZ2_bzReadGetUnused</code>
-immediately before
-<code class="computeroutput">BZ2_bzReadClose</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len &lt; 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzWriteOpen
-BZ_IO_ERROR
- if there is an error reading from the compressed file
-BZ_UNEXPECTED_EOF
- if the compressed file ended before
- the logical end-of-stream was detected
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the stream does not begin with the requisite header bytes
- (ie, is not a bzip2 data file). This is really
- a special case of BZ_DATA_ERROR.
-BZ_MEM_ERROR
- if insufficient memory was available
-BZ_STREAM_END
- if the logical end of stream was detected.
-BZ_OK
- otherwise.</pre>
-<p>Possible return values:</p>
-<pre class="programlisting">number of bytes read
- if bzerror is BZ_OK or BZ_STREAM_END
-undefined
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
- if bzerror is BZ_OK
-collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
- if bzerror is BZ_SEQUENCE_END
-BZ2_bzReadClose
- otherwise</pre>
-</div>
-<div class="sect2" title="3.4.3. BZ2_bzReadGetUnused">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzreadgetunused"></a>3.4.3. BZ2_bzReadGetUnused</h3></div></div></div>
-<pre class="programlisting">void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b,
- void** unused, int* nUnused );</pre>
-<p>Returns data which was read from the compressed file but
-was not needed to get to the logical end-of-stream.
-<code class="computeroutput">*unused</code> is set to the address of
-the data, and <code class="computeroutput">*nUnused</code> to the
-number of bytes. <code class="computeroutput">*nUnused</code> will
-be set to a value between <code class="computeroutput">0</code> and
-<code class="computeroutput">BZ_MAX_UNUSED</code> inclusive.</p>
-<p>This function may only be called once
-<code class="computeroutput">BZ2_bzRead</code> has signalled
-<code class="computeroutput">BZ_STREAM_END</code> but before
-<code class="computeroutput">BZ2_bzReadClose</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if b is NULL
- or unused is NULL or nUnused is NULL
-BZ_SEQUENCE_ERROR
- if BZ_STREAM_END has not been signalled
- or if b was opened with BZ2_bzWriteOpen
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzReadClose</pre>
-</div>
-<div class="sect2" title="3.4.4. BZ2_bzReadClose">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzreadclose"></a>3.4.4. BZ2_bzReadClose</h3></div></div></div>
-<pre class="programlisting">void BZ2_bzReadClose ( int *bzerror, BZFILE *b );</pre>
-<p>Releases all memory pertaining to the compressed file
-<code class="computeroutput">b</code>.
-<code class="computeroutput">BZ2_bzReadClose</code> does not call
-<code class="computeroutput">fclose</code> on the underlying file
-handle, so you should do that yourself if appropriate.
-<code class="computeroutput">BZ2_bzReadClose</code> should be called
-to clean up after all error situations.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzOpenWrite
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">none</pre>
-</div>
-<div class="sect2" title="3.4.5. BZ2_bzWriteOpen">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzwriteopen"></a>3.4.5. BZ2_bzWriteOpen</h3></div></div></div>
-<pre class="programlisting">BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f,
- int blockSize100k, int verbosity,
- int workFactor );</pre>
-<p>Prepare to write compressed data to file handle
-<code class="computeroutput">f</code>.
-<code class="computeroutput">f</code> should refer to a file which
-has been opened for writing, and for which the error indicator
-(<code class="computeroutput">ferror(f)</code>)is not set.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">blockSize100k</code>,
-<code class="computeroutput">verbosity</code> and
-<code class="computeroutput">workFactor</code>, see
-<code class="computeroutput">BZ2_bzCompressInit</code>.</p>
-<p>All required memory is allocated at this stage, so if the
-call completes successfully,
-<code class="computeroutput">BZ_MEM_ERROR</code> cannot be signalled
-by a subsequent call to
-<code class="computeroutput">BZ2_bzWrite</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or blockSize100k &lt; 1 or blockSize100k &gt; 9
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise</pre>
-<p>Possible return values:</p>
-<pre class="programlisting">Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzWrite
- if bzerror is BZ_OK
- (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
-BZ2_bzWriteClose
- otherwise</pre>
-</div>
-<div class="sect2" title="3.4.6. BZ2_bzWrite">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzwrite"></a>3.4.6. BZ2_bzWrite</h3></div></div></div>
-<pre class="programlisting">void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );</pre>
-<p>Absorbs <code class="computeroutput">len</code> bytes from the
-buffer <code class="computeroutput">buf</code>, eventually to be
-compressed and written to the file.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len &lt; 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file.
-BZ_OK
- otherwise</pre>
-</div>
-<div class="sect2" title="3.4.7. BZ2_bzWriteClose">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzwriteclose"></a>3.4.7. BZ2_bzWriteClose</h3></div></div></div>
-<pre class="programlisting">void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out );
-
-void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 );</pre>
-<p>Compresses and flushes to the compressed file all data so
-far supplied by <code class="computeroutput">BZ2_bzWrite</code>.
-The logical end-of-stream markers are also written, so subsequent
-calls to <code class="computeroutput">BZ2_bzWrite</code> are
-illegal. All memory associated with the compressed file
-<code class="computeroutput">b</code> is released.
-<code class="computeroutput">fflush</code> is called on the
-compressed file, but it is not
-<code class="computeroutput">fclose</code>'d.</p>
-<p>If <code class="computeroutput">BZ2_bzWriteClose</code> is
-called to clean up after an error, the only action is to release
-the memory. The library records the error codes issued by
-previous calls, so this situation will be detected automatically.
-There is no attempt to complete the compression operation, nor to
-<code class="computeroutput">fflush</code> the compressed file. You
-can force this behaviour to happen even in the case of no error,
-by passing a nonzero value to
-<code class="computeroutput">abandon</code>.</p>
-<p>If <code class="computeroutput">nbytes_in</code> is non-null,
-<code class="computeroutput">*nbytes_in</code> will be set to be the
-total volume of uncompressed data handled. Similarly,
-<code class="computeroutput">nbytes_out</code> will be set to the
-total volume of compressed data written. For compatibility with
-older versions of the library,
-<code class="computeroutput">BZ2_bzWriteClose</code> only yields the
-lower 32 bits of these counts. Use
-<code class="computeroutput">BZ2_bzWriteClose64</code> if you want
-the full 64 bit counts. These two functions are otherwise
-absolutely identical.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file
-BZ_OK
- otherwise</pre>
-</div>
-<div class="sect2" title="3.4.8. Handling embedded compressed data streams">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="embed"></a>3.4.8. Handling embedded compressed data streams</h3></div></div></div>
-<p>The high-level library facilitates use of
-<code class="computeroutput">bzip2</code> data streams which form
-some part of a surrounding, larger data stream.</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p>For writing, the library takes an open file handle,
- writes compressed data to it,
- <code class="computeroutput">fflush</code>es it but does not
- <code class="computeroutput">fclose</code> it. The calling
- application can write its own data before and after the
- compressed data stream, using that same file handle.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>Reading is more complex, and the facilities are not as
- general as they could be since generality is hard to reconcile
- with efficiency. <code class="computeroutput">BZ2_bzRead</code>
- reads from the compressed file in blocks of size
- <code class="computeroutput">BZ_MAX_UNUSED</code> bytes, and in
- doing so probably will overshoot the logical end of compressed
- stream. To recover this data once decompression has ended,
- call <code class="computeroutput">BZ2_bzReadGetUnused</code> after
- the last call of <code class="computeroutput">BZ2_bzRead</code>
- (the one returning
- <code class="computeroutput">BZ_STREAM_END</code>) but before
- calling
- <code class="computeroutput">BZ2_bzReadClose</code>.</p></li>
-</ul></div>
-<p>This mechanism makes it easy to decompress multiple
-<code class="computeroutput">bzip2</code> streams placed end-to-end.
-As the end of one stream, when
-<code class="computeroutput">BZ2_bzRead</code> returns
-<code class="computeroutput">BZ_STREAM_END</code>, call
-<code class="computeroutput">BZ2_bzReadGetUnused</code> to collect
-the unused data (copy it into your own buffer somewhere). That
-data forms the start of the next compressed stream. To start
-uncompressing that next stream, call
-<code class="computeroutput">BZ2_bzReadOpen</code> again, feeding in
-the unused data via the <code class="computeroutput">unused</code> /
-<code class="computeroutput">nUnused</code> parameters. Keep doing
-this until <code class="computeroutput">BZ_STREAM_END</code> return
-coincides with the physical end of file
-(<code class="computeroutput">feof(f)</code>). In this situation
-<code class="computeroutput">BZ2_bzReadGetUnused</code> will of
-course return no data.</p>
-<p>This should give some feel for how the high-level interface
-can be used. If you require extra flexibility, you'll have to
-bite the bullet and get to grips with the low-level
-interface.</p>
-</div>
-<div class="sect2" title="3.4.9. Standard file-reading/writing code">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="std-rdwr"></a>3.4.9. Standard file-reading/writing code</h3></div></div></div>
-<p>Here's how you'd write data to a compressed file:</p>
-<pre class="programlisting">FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "w" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzWriteOpen( &amp;bzerror, f, 9 );
-if (bzerror != BZ_OK) {
- BZ2_bzWriteClose ( b );
- /* handle error */
-}
-
-while ( /* condition */ ) {
- /* get data to write into buf, and set nBuf appropriately */
- nWritten = BZ2_bzWrite ( &amp;bzerror, b, buf, nBuf );
- if (bzerror == BZ_IO_ERROR) {
- BZ2_bzWriteClose ( &amp;bzerror, b );
- /* handle error */
- }
-}
-
-BZ2_bzWriteClose( &amp;bzerror, b );
-if (bzerror == BZ_IO_ERROR) {
- /* handle error */
-}</pre>
-<p>And to read from a compressed file:</p>
-<pre class="programlisting">FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "r" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzReadOpen ( &amp;bzerror, f, 0, NULL, 0 );
-if ( bzerror != BZ_OK ) {
- BZ2_bzReadClose ( &amp;bzerror, b );
- /* handle error */
-}
-
-bzerror = BZ_OK;
-while ( bzerror == BZ_OK &amp;&amp; /* arbitrary other conditions */) {
- nBuf = BZ2_bzRead ( &amp;bzerror, b, buf, /* size of buf */ );
- if ( bzerror == BZ_OK ) {
- /* do something with buf[0 .. nBuf-1] */
- }
-}
-if ( bzerror != BZ_STREAM_END ) {
- BZ2_bzReadClose ( &amp;bzerror, b );
- /* handle error */
-} else {
- BZ2_bzReadClose ( &amp;bzerror, b );
-}</pre>
-</div>
-</div>
-<div class="sect1" title="3.5. Utility functions">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="util-fns"></a>3.5. Utility functions</h2></div></div></div>
-<div class="sect2" title="3.5.1. BZ2_bzBuffToBuffCompress">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzbufftobuffcompress"></a>3.5.1. BZ2_bzBuffToBuffCompress</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzBuffToBuffCompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor );</pre>
-<p>Attempts to compress the data in <code class="computeroutput">source[0
-.. sourceLen-1]</code> into the destination buffer,
-<code class="computeroutput">dest[0 .. *destLen-1]</code>. If the
-destination buffer is big enough,
-<code class="computeroutput">*destLen</code> is set to the size of
-the compressed data, and <code class="computeroutput">BZ_OK</code>
-is returned. If the compressed data won't fit,
-<code class="computeroutput">*destLen</code> is unchanged, and
-<code class="computeroutput">BZ_OUTBUFF_FULL</code> is
-returned.</p>
-<p>Compression in this manner is a one-shot event, done with a
-single call to this function. The resulting compressed data is a
-complete <code class="computeroutput">bzip2</code> format data
-stream. There is no mechanism for making additional calls to
-provide extra input data. If you want that kind of mechanism,
-use the low-level interface.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">blockSize100k</code>,
-<code class="computeroutput">verbosity</code> and
-<code class="computeroutput">workFactor</code>, see
-<code class="computeroutput">BZ2_bzCompressInit</code>.</p>
-<p>To guarantee that the compressed data will fit in its
-buffer, allocate an output buffer of size 1% larger than the
-uncompressed data, plus six hundred extra bytes.</p>
-<p><code class="computeroutput">BZ2_bzBuffToBuffDecompress</code>
-will not write data at or beyond
-<code class="computeroutput">dest[*destLen]</code>, even in case of
-buffer overflow.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or blockSize100k &lt; 1 or blockSize100k &gt; 9
- or verbosity &lt; 0 or verbosity &gt; 4
- or workFactor &lt; 0 or workFactor &gt; 250
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_OK
- otherwise</pre>
-</div>
-<div class="sect2" title="3.5.2. BZ2_bzBuffToBuffDecompress">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzbufftobuffdecompress"></a>3.5.2. BZ2_bzBuffToBuffDecompress</h3></div></div></div>
-<pre class="programlisting">int BZ2_bzBuffToBuffDecompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity );</pre>
-<p>Attempts to decompress the data in <code class="computeroutput">source[0
-.. sourceLen-1]</code> into the destination buffer,
-<code class="computeroutput">dest[0 .. *destLen-1]</code>. If the
-destination buffer is big enough,
-<code class="computeroutput">*destLen</code> is set to the size of
-the uncompressed data, and <code class="computeroutput">BZ_OK</code>
-is returned. If the compressed data won't fit,
-<code class="computeroutput">*destLen</code> is unchanged, and
-<code class="computeroutput">BZ_OUTBUFF_FULL</code> is
-returned.</p>
-<p><code class="computeroutput">source</code> is assumed to hold
-a complete <code class="computeroutput">bzip2</code> format data
-stream.
-<code class="computeroutput">BZ2_bzBuffToBuffDecompress</code> tries
-to decompress the entirety of the stream into the output
-buffer.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">small</code> and
-<code class="computeroutput">verbosity</code>, see
-<code class="computeroutput">BZ2_bzDecompressInit</code>.</p>
-<p>Because the compression ratio of the compressed data cannot
-be known in advance, there is no easy way to guarantee that the
-output buffer will be big enough. You may of course make
-arrangements in your code to record the size of the uncompressed
-data, but such a mechanism is beyond the scope of this
-library.</p>
-<p><code class="computeroutput">BZ2_bzBuffToBuffDecompress</code>
-will not write data at or beyond
-<code class="computeroutput">dest[*destLen]</code>, even in case of
-buffer overflow.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or small != 0 &amp;&amp; small != 1
- or verbosity &lt; 0 or verbosity &gt; 4
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed data
-BZ_DATA_ERROR_MAGIC
- if the compressed data doesn't begin with the right magic bytes
-BZ_UNEXPECTED_EOF
- if the compressed data ends unexpectedly
-BZ_OK
- otherwise</pre>
-</div>
-</div>
-<div class="sect1" title="3.6. zlib compatibility functions">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="zlib-compat"></a>3.6. zlib compatibility functions</h2></div></div></div>
-<p>Yoshioka Tsuneo has contributed some functions to give
-better <code class="computeroutput">zlib</code> compatibility.
-These functions are <code class="computeroutput">BZ2_bzopen</code>,
-<code class="computeroutput">BZ2_bzread</code>,
-<code class="computeroutput">BZ2_bzwrite</code>,
-<code class="computeroutput">BZ2_bzflush</code>,
-<code class="computeroutput">BZ2_bzclose</code>,
-<code class="computeroutput">BZ2_bzerror</code> and
-<code class="computeroutput">BZ2_bzlibVersion</code>. These
-functions are not (yet) officially part of the library. If they
-break, you get to keep all the pieces. Nevertheless, I think
-they work ok.</p>
-<pre class="programlisting">typedef void BZFILE;
-
-const char * BZ2_bzlibVersion ( void );</pre>
-<p>Returns a string indicating the library version.</p>
-<pre class="programlisting">BZFILE * BZ2_bzopen ( const char *path, const char *mode );
-BZFILE * BZ2_bzdopen ( int fd, const char *mode );</pre>
-<p>Opens a <code class="computeroutput">.bz2</code> file for
-reading or writing, using either its name or a pre-existing file
-descriptor. Analogous to <code class="computeroutput">fopen</code>
-and <code class="computeroutput">fdopen</code>.</p>
-<pre class="programlisting">int BZ2_bzread ( BZFILE* b, void* buf, int len );
-int BZ2_bzwrite ( BZFILE* b, void* buf, int len );</pre>
-<p>Reads/writes data from/to a previously opened
-<code class="computeroutput">BZFILE</code>. Analogous to
-<code class="computeroutput">fread</code> and
-<code class="computeroutput">fwrite</code>.</p>
-<pre class="programlisting">int BZ2_bzflush ( BZFILE* b );
-void BZ2_bzclose ( BZFILE* b );</pre>
-<p>Flushes/closes a <code class="computeroutput">BZFILE</code>.
-<code class="computeroutput">BZ2_bzflush</code> doesn't actually do
-anything. Analogous to <code class="computeroutput">fflush</code>
-and <code class="computeroutput">fclose</code>.</p>
-<pre class="programlisting">const char * BZ2_bzerror ( BZFILE *b, int *errnum )</pre>
-<p>Returns a string describing the more recent error status of
-<code class="computeroutput">b</code>, and also sets
-<code class="computeroutput">*errnum</code> to its numerical
-value.</p>
-</div>
-<div class="sect1" title="3.7. Using the library in a stdio-free environment">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="stdio-free"></a>3.7. Using the library in a stdio-free environment</h2></div></div></div>
-<div class="sect2" title="3.7.1. Getting rid of stdio">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="stdio-bye"></a>3.7.1. Getting rid of stdio</h3></div></div></div>
-<p>In a deeply embedded application, you might want to use
-just the memory-to-memory functions. You can do this
-conveniently by compiling the library with preprocessor symbol
-<code class="computeroutput">BZ_NO_STDIO</code> defined. Doing this
-gives you a library containing only the following eight
-functions:</p>
-<p><code class="computeroutput">BZ2_bzCompressInit</code>,
-<code class="computeroutput">BZ2_bzCompress</code>,
-<code class="computeroutput">BZ2_bzCompressEnd</code>
-<code class="computeroutput">BZ2_bzDecompressInit</code>,
-<code class="computeroutput">BZ2_bzDecompress</code>,
-<code class="computeroutput">BZ2_bzDecompressEnd</code>
-<code class="computeroutput">BZ2_bzBuffToBuffCompress</code>,
-<code class="computeroutput">BZ2_bzBuffToBuffDecompress</code></p>
-<p>When compiled like this, all functions will ignore
-<code class="computeroutput">verbosity</code> settings.</p>
-</div>
-<div class="sect2" title="3.7.2. Critical error handling">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="critical-error"></a>3.7.2. Critical error handling</h3></div></div></div>
-<p><code class="computeroutput">libbzip2</code> contains a number
-of internal assertion checks which should, needless to say, never
-be activated. Nevertheless, if an assertion should fail,
-behaviour depends on whether or not the library was compiled with
-<code class="computeroutput">BZ_NO_STDIO</code> set.</p>
-<p>For a normal compile, an assertion failure yields the
-message:</p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>bzip2/libbzip2: internal error number N.</p>
-<p>This is a bug in bzip2/libbzip2, 1.0.6 of 6 September 2010.
-Please report it to me at: jseward@bzip.org. If this happened
-when you were using some program which uses libbzip2 as a
-component, you should also report this bug to the author(s)
-of that program. Please make an effort to report this bug;
-timely and accurate bug reports eventually lead to higher
-quality software. Thanks. Julian Seward, 6 September 2010.
-</p>
-</blockquote></div>
-<p>where <code class="computeroutput">N</code> is some error code
-number. If <code class="computeroutput">N == 1007</code>, it also
-prints some extra text advising the reader that unreliable memory
-is often associated with internal error 1007. (This is a
-frequently-observed-phenomenon with versions 1.0.0/1.0.1).</p>
-<p><code class="computeroutput">exit(3)</code> is then
-called.</p>
-<p>For a <code class="computeroutput">stdio</code>-free library,
-assertion failures result in a call to a function declared
-as:</p>
-<pre class="programlisting">extern void bz_internal_error ( int errcode );</pre>
-<p>The relevant code is passed as a parameter. You should
-supply such a function.</p>
-<p>In either case, once an assertion failure has occurred, any
-<code class="computeroutput">bz_stream</code> records involved can
-be regarded as invalid. You should not attempt to resume normal
-operation with them.</p>
-<p>You may, of course, change critical error handling to suit
-your needs. As I said above, critical errors indicate bugs in
-the library and should not occur. All "normal" error situations
-are indicated via error return codes from functions, and can be
-recovered from.</p>
-</div>
-</div>
-<div class="sect1" title="3.8. Making a Windows DLL">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="win-dll"></a>3.8. Making a Windows DLL</h2></div></div></div>
-<p>Everything related to Windows has been contributed by
-Yoshioka Tsuneo
-(<code class="computeroutput">tsuneo@rr.iij4u.or.jp</code>), so
-you should send your queries to him (but perhaps Cc: me,
-<code class="computeroutput">jseward@bzip.org</code>).</p>
-<p>My vague understanding of what to do is: using Visual C++
-5.0, open the project file
-<code class="computeroutput">libbz2.dsp</code>, and build. That's
-all.</p>
-<p>If you can't open the project file for some reason, make a
-new one, naming these files:
-<code class="computeroutput">blocksort.c</code>,
-<code class="computeroutput">bzlib.c</code>,
-<code class="computeroutput">compress.c</code>,
-<code class="computeroutput">crctable.c</code>,
-<code class="computeroutput">decompress.c</code>,
-<code class="computeroutput">huffman.c</code>,
-<code class="computeroutput">randtable.c</code> and
-<code class="computeroutput">libbz2.def</code>. You will also need
-to name the header files <code class="computeroutput">bzlib.h</code>
-and <code class="computeroutput">bzlib_private.h</code>.</p>
-<p>If you don't use VC++, you may need to define the
-proprocessor symbol
-<code class="computeroutput">_WIN32</code>.</p>
-<p>Finally, <code class="computeroutput">dlltest.c</code> is a
-sample program using the DLL. It has a project file,
-<code class="computeroutput">dlltest.dsp</code>.</p>
-<p>If you just want a makefile for Visual C, have a look at
-<code class="computeroutput">makefile.msc</code>.</p>
-<p>Be aware that if you compile
-<code class="computeroutput">bzip2</code> itself on Win32, you must
-set <code class="computeroutput">BZ_UNIX</code> to 0 and
-<code class="computeroutput">BZ_LCCWIN32</code> to 1, in the file
-<code class="computeroutput">bzip2.c</code>, before compiling.
-Otherwise the resulting binary won't work correctly.</p>
-<p>I haven't tried any of this stuff myself, but it all looks
-plausible.</p>
-</div>
-</div>
-<div class="chapter" title="4. Miscellanea">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="misc"></a>4. Miscellanea</h2></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="sect1"><a href="#limits">4.1. Limitations of the compressed file format</a></span></dt>
-<dt><span class="sect1"><a href="#port-issues">4.2. Portability issues</a></span></dt>
-<dt><span class="sect1"><a href="#bugs">4.3. Reporting bugs</a></span></dt>
-<dt><span class="sect1"><a href="#package">4.4. Did you get the right package?</a></span></dt>
-<dt><span class="sect1"><a href="#reading">4.5. Further Reading</a></span></dt>
-</dl>
-</div>
-<p>These are just some random thoughts of mine. Your mileage
-may vary.</p>
-<div class="sect1" title="4.1. Limitations of the compressed file format">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="limits"></a>4.1. Limitations of the compressed file format</h2></div></div></div>
-<p><code class="computeroutput">bzip2-1.0.X</code>,
-<code class="computeroutput">0.9.5</code> and
-<code class="computeroutput">0.9.0</code> use exactly the same file
-format as the original version,
-<code class="computeroutput">bzip2-0.1</code>. This decision was
-made in the interests of stability. Creating yet another
-incompatible compressed file format would create further
-confusion and disruption for users.</p>
-<p>Nevertheless, this is not a painless decision. Development
-work since the release of
-<code class="computeroutput">bzip2-0.1</code> in August 1997 has
-shown complexities in the file format which slow down
-decompression and, in retrospect, are unnecessary. These
-are:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p>The run-length encoder, which is the first of the
- compression transformations, is entirely irrelevant. The
- original purpose was to protect the sorting algorithm from the
- very worst case input: a string of repeated symbols. But
- algorithm steps Q6a and Q6b in the original Burrows-Wheeler
- technical report (SRC-124) show how repeats can be handled
- without difficulty in block sorting.</p></li>
-<li class="listitem" style="list-style-type: disc">
-<p>The randomisation mechanism doesn't really need to be
- there. Udi Manber and Gene Myers published a suffix array
- construction algorithm a few years back, which can be employed
- to sort any block, no matter how repetitive, in O(N log N)
- time. Subsequent work by Kunihiko Sadakane has produced a
- derivative O(N (log N)^2) algorithm which usually outperforms
- the Manber-Myers algorithm.</p>
-<p>I could have changed to Sadakane's algorithm, but I find
- it to be slower than <code class="computeroutput">bzip2</code>'s
- existing algorithm for most inputs, and the randomisation
- mechanism protects adequately against bad cases. I didn't
- think it was a good tradeoff to make. Partly this is due to
- the fact that I was not flooded with email complaints about
- <code class="computeroutput">bzip2-0.1</code>'s performance on
- repetitive data, so perhaps it isn't a problem for real
- inputs.</p>
-<p>Probably the best long-term solution, and the one I have
- incorporated into 0.9.5 and above, is to use the existing
- sorting algorithm initially, and fall back to a O(N (log N)^2)
- algorithm if the standard algorithm gets into
- difficulties.</p>
-</li>
-<li class="listitem" style="list-style-type: disc"><p>The compressed file format was never designed to be
- handled by a library, and I have had to jump though some hoops
- to produce an efficient implementation of decompression. It's
- a bit hairy. Try passing
- <code class="computeroutput">decompress.c</code> through the C
- preprocessor and you'll see what I mean. Much of this
- complexity could have been avoided if the compressed size of
- each block of data was recorded in the data stream.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>An Adler-32 checksum, rather than a CRC32 checksum,
- would be faster to compute.</p></li>
-</ul></div>
-<p>It would be fair to say that the
-<code class="computeroutput">bzip2</code> format was frozen before I
-properly and fully understood the performance consequences of
-doing so.</p>
-<p>Improvements which I was able to incorporate into 0.9.0,
-despite using the same file format, are:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc"><p>Single array implementation of the inverse BWT. This
- significantly speeds up decompression, presumably because it
- reduces the number of cache misses.</p></li>
-<li class="listitem" style="list-style-type: disc"><p>Faster inverse MTF transform for large MTF values.
- The new implementation is based on the notion of sliding blocks
- of values.</p></li>
-<li class="listitem" style="list-style-type: disc"><p><code class="computeroutput">bzip2-0.9.0</code> now reads
- and writes files with <code class="computeroutput">fread</code>
- and <code class="computeroutput">fwrite</code>; version 0.1 used
- <code class="computeroutput">putc</code> and
- <code class="computeroutput">getc</code>. Duh! Well, you live
- and learn.</p></li>
-</ul></div>
-<p>Further ahead, it would be nice to be able to do random
-access into files. This will require some careful design of
-compressed file formats.</p>
-</div>
-<div class="sect1" title="4.2. Portability issues">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="port-issues"></a>4.2. Portability issues</h2></div></div></div>
-<p>After some consideration, I have decided not to use GNU
-<code class="computeroutput">autoconf</code> to configure 0.9.5 or
-1.0.</p>
-<p><code class="computeroutput">autoconf</code>, admirable and
-wonderful though it is, mainly assists with portability problems
-between Unix-like platforms. But
-<code class="computeroutput">bzip2</code> doesn't have much in the
-way of portability problems on Unix; most of the difficulties
-appear when porting to the Mac, or to Microsoft's operating
-systems. <code class="computeroutput">autoconf</code> doesn't help
-in those cases, and brings in a whole load of new
-complexity.</p>
-<p>Most people should be able to compile the library and
-program under Unix straight out-of-the-box, so to speak,
-especially if you have a version of GNU C available.</p>
-<p>There are a couple of
-<code class="computeroutput">__inline__</code> directives in the
-code. GNU C (<code class="computeroutput">gcc</code>) should be
-able to handle them. If you're not using GNU C, your C compiler
-shouldn't see them at all. If your compiler does, for some
-reason, see them and doesn't like them, just
-<code class="computeroutput">#define</code>
-<code class="computeroutput">__inline__</code> to be
-<code class="computeroutput">/* */</code>. One easy way to do this
-is to compile with the flag
-<code class="computeroutput">-D__inline__=</code>, which should be
-understood by most Unix compilers.</p>
-<p>If you still have difficulties, try compiling with the
-macro <code class="computeroutput">BZ_STRICT_ANSI</code> defined.
-This should enable you to build the library in a strictly ANSI
-compliant environment. Building the program itself like this is
-dangerous and not supported, since you remove
-<code class="computeroutput">bzip2</code>'s checks against
-compressing directories, symbolic links, devices, and other
-not-really-a-file entities. This could cause filesystem
-corruption!</p>
-<p>One other thing: if you create a
-<code class="computeroutput">bzip2</code> binary for public distribution,
-please consider linking it statically (<code class="computeroutput">gcc
--static</code>). This avoids all sorts of library-version
-issues that others may encounter later on.</p>
-<p>If you build <code class="computeroutput">bzip2</code> on
-Win32, you must set <code class="computeroutput">BZ_UNIX</code> to 0
-and <code class="computeroutput">BZ_LCCWIN32</code> to 1, in the
-file <code class="computeroutput">bzip2.c</code>, before compiling.
-Otherwise the resulting binary won't work correctly.</p>
-</div>
-<div class="sect1" title="4.3. Reporting bugs">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="bugs"></a>4.3. Reporting bugs</h2></div></div></div>
-<p>I tried pretty hard to make sure
-<code class="computeroutput">bzip2</code> is bug free, both by
-design and by testing. Hopefully you'll never need to read this
-section for real.</p>
-<p>Nevertheless, if <code class="computeroutput">bzip2</code> dies
-with a segmentation fault, a bus error or an internal assertion
-failure, it will ask you to email me a bug report. Experience from
-years of feedback of bzip2 users indicates that almost all these
-problems can be traced to either compiler bugs or hardware
-problems.</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="bullet">
-<li class="listitem" style="list-style-type: disc">
-<p>Recompile the program with no optimisation, and
- see if it works. And/or try a different compiler. I heard all
- sorts of stories about various flavours of GNU C (and other
- compilers) generating bad code for
- <code class="computeroutput">bzip2</code>, and I've run across two
- such examples myself.</p>
-<p>2.7.X versions of GNU C are known to generate bad code
- from time to time, at high optimisation levels. If you get
- problems, try using the flags
- <code class="computeroutput">-O2</code>
- <code class="computeroutput">-fomit-frame-pointer</code>
- <code class="computeroutput">-fno-strength-reduce</code>. You
- should specifically <span class="emphasis"><em>not</em></span> use
- <code class="computeroutput">-funroll-loops</code>.</p>
-<p>You may notice that the Makefile runs six tests as part
- of the build process. If the program passes all of these, it's
- a pretty good (but not 100%) indication that the compiler has
- done its job correctly.</p>
-</li>
-<li class="listitem" style="list-style-type: disc">
-<p>If <code class="computeroutput">bzip2</code>
- crashes randomly, and the crashes are not repeatable, you may
- have a flaky memory subsystem.
- <code class="computeroutput">bzip2</code> really hammers your
- memory hierarchy, and if it's a bit marginal, you may get these
- problems. Ditto if your disk or I/O subsystem is slowly
- failing. Yup, this really does happen.</p>
-<p>Try using a different machine of the same type, and see
- if you can repeat the problem.</p>
-</li>
-<li class="listitem" style="list-style-type: disc"><p>This isn't really a bug, but ... If
- <code class="computeroutput">bzip2</code> tells you your file is
- corrupted on decompression, and you obtained the file via FTP,
- there is a possibility that you forgot to tell FTP to do a
- binary mode transfer. That absolutely will cause the file to
- be non-decompressible. You'll have to transfer it
- again.</p></li>
-</ul></div>
-<p>If you've incorporated
-<code class="computeroutput">libbzip2</code> into your own program
-and are getting problems, please, please, please, check that the
-parameters you are passing in calls to the library, are correct,
-and in accordance with what the documentation says is allowable.
-I have tried to make the library robust against such problems,
-but I'm sure I haven't succeeded.</p>
-<p>Finally, if the above comments don't help, you'll have to
-send me a bug report. Now, it's just amazing how many people
-will send me a bug report saying something like:</p>
-<pre class="programlisting">bzip2 crashed with segmentation fault on my machine</pre>
-<p>and absolutely nothing else. Needless to say, a such a
-report is <span class="emphasis"><em>totally, utterly, completely and
-comprehensively 100% useless; a waste of your time, my time, and
-net bandwidth</em></span>. With no details at all, there's no way
-I can possibly begin to figure out what the problem is.</p>
-<p>The rules of the game are: facts, facts, facts. Don't omit
-them because "oh, they won't be relevant". At the bare
-minimum:</p>
-<pre class="programlisting">Machine type. Operating system version.
-Exact version of bzip2 (do bzip2 -V).
-Exact version of the compiler used.
-Flags passed to the compiler.</pre>
-<p>However, the most important single thing that will help me
-is the file that you were trying to compress or decompress at the
-time the problem happened. Without that, my ability to do
-anything more than speculate about the cause, is limited.</p>
-</div>
-<div class="sect1" title="4.4. Did you get the right package?">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="package"></a>4.4. Did you get the right package?</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> is a resource hog.
-It soaks up large amounts of CPU cycles and memory. Also, it
-gives very large latencies. In the worst case, you can feed many
-megabytes of uncompressed data into the library before getting
-any compressed output, so this probably rules out applications
-requiring interactive behaviour.</p>
-<p>These aren't faults of my implementation, I hope, but more
-an intrinsic property of the Burrows-Wheeler transform
-(unfortunately). Maybe this isn't what you want.</p>
-<p>If you want a compressor and/or library which is faster,
-uses less memory but gets pretty good compression, and has
-minimal latency, consider Jean-loup Gailly's and Mark Adler's
-work, <code class="computeroutput">zlib-1.2.1</code> and
-<code class="computeroutput">gzip-1.2.4</code>. Look for them at
-<a class="ulink" href="http://www.zlib.org" target="_top">http://www.zlib.org</a> and
-<a class="ulink" href="http://www.gzip.org" target="_top">http://www.gzip.org</a>
-respectively.</p>
-<p>For something faster and lighter still, you might try Markus F
-X J Oberhumer's <code class="computeroutput">LZO</code> real-time
-compression/decompression library, at
-<a class="ulink" href="http://www.oberhumer.com/opensource" target="_top">http://www.oberhumer.com/opensource</a>.</p>
-</div>
-<div class="sect1" title="4.5. Further Reading">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="reading"></a>4.5. Further Reading</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> is not research
-work, in the sense that it doesn't present any new ideas.
-Rather, it's an engineering exercise based on existing
-ideas.</p>
-<p>Four documents describe essentially all the ideas behind
-<code class="computeroutput">bzip2</code>:</p>
-<div class="literallayout"><p>Michael Burrows and D. J. Wheeler:<br>
-  "A block-sorting lossless data compression algorithm"<br>
-   10th May 1994. <br>
-   Digital SRC Research Report 124.<br>
-   ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz<br>
-   If you have trouble finding it, try searching at the<br>
-   New Zealand Digital Library, http://www.nzdl.org.<br>
-<br>
-Daniel S. Hirschberg and Debra A. LeLewer<br>
-  "Efficient Decoding of Prefix Codes"<br>
-   Communications of the ACM, April 1990, Vol 33, Number 4.<br>
-   You might be able to get an electronic copy of this<br>
-   from the ACM Digital Library.<br>
-<br>
-David J. Wheeler<br>
-   Program bred3.c and accompanying document bred3.ps.<br>
-   This contains the idea behind the multi-table Huffman coding scheme.<br>
-   ftp://ftp.cl.cam.ac.uk/users/djw3/<br>
-<br>
-Jon L. Bentley and Robert Sedgewick<br>
-  "Fast Algorithms for Sorting and Searching Strings"<br>
-   Available from Sedgewick's web page,<br>
-   www.cs.princeton.edu/~rs<br>
-</p></div>
-<p>The following paper gives valuable additional insights into
-the algorithm, but is not immediately the basis of any code used
-in bzip2.</p>
-<div class="literallayout"><p>Peter Fenwick:<br>
-   Block Sorting Text Compression<br>
-   Proceedings of the 19th Australasian Computer Science Conference,<br>
-     Melbourne, Australia.  Jan 31 - Feb 2, 1996.<br>
-   ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps</p></div>
-<p>Kunihiko Sadakane's sorting algorithm, mentioned above, is
-available from:</p>
-<div class="literallayout"><p>http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz<br>
-</p></div>
-<p>The Manber-Myers suffix array construction algorithm is
-described in a paper available from:</p>
-<div class="literallayout"><p>http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps<br>
-</p></div>
-<p>Finally, the following papers document some
-investigations I made into the performance of sorting
-and decompression algorithms:</p>
-<div class="literallayout"><p>Julian Seward<br>
-   On the Performance of BWT Sorting Algorithms<br>
-   Proceedings of the IEEE Data Compression Conference 2000<br>
-     Snowbird, Utah.  28-30 March 2000.<br>
-<br>
-Julian Seward<br>
-   Space-time Tradeoffs in the Inverse B-W Transform<br>
-   Proceedings of the IEEE Data Compression Conference 2001<br>
-     Snowbird, Utah.  27-29 March 2001.<br>
-</p></div>
-</div>
-</div>
-</div></body>
-</html>
diff --git a/plugins/updater/bzip2-1.0.3/manual.pdf b/plugins/updater/bzip2-1.0.3/manual.pdf
deleted file mode 100644
index f1c31a0ed2..0000000000
--- a/plugins/updater/bzip2-1.0.3/manual.pdf
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/manual.ps b/plugins/updater/bzip2-1.0.3/manual.ps
deleted file mode 100644
index cbc6f924df..0000000000
--- a/plugins/updater/bzip2-1.0.3/manual.ps
+++ /dev/null
@@ -1,72843 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: PassiveTeX 1.25
-%%LanguageLevel: 2
-%%DocumentSuppliedResources: (atend)
-%%DocumentMedia: plain 612 792 0 () ()
-%%BoundingBox: 0 0 612 792
-%%Pages: 38
-%%EndComments
-%%BeginDefaults
-%%PageMedia: plain
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset xpdf 3.00 0
-%%Copyright: Copyright 1996-2004 Glyph & Cog, LLC
-/xpdf 75 dict def xpdf begin
-% PDF special state
-/pdfDictSize 15 def
-/pdfSetup {
- 3 1 roll 2 array astore
- /setpagedevice where {
- pop 3 dict begin
- /PageSize exch def
- /ImagingBBox null def
- { /Duplex true def } if
- currentdict end setpagedevice
- } {
- pop pop
- } ifelse
-} def
-/pdfStartPage {
- pdfDictSize dict begin
- /pdfFillCS [] def
- /pdfFillXform {} def
- /pdfStrokeCS [] def
- /pdfStrokeXform {} def
- /pdfFill [0] def
- /pdfStroke [0] def
- /pdfFillOP false def
- /pdfStrokeOP false def
- /pdfLastFill false def
- /pdfLastStroke false def
- /pdfTextMat [1 0 0 1 0 0] def
- /pdfFontSize 0 def
- /pdfCharSpacing 0 def
- /pdfTextRender 0 def
- /pdfTextRise 0 def
- /pdfWordSpacing 0 def
- /pdfHorizScaling 1 def
- /pdfTextClipPath [] def
-} def
-/pdfEndPage { end } def
-% PDF color state
-/cs { /pdfFillXform exch def dup /pdfFillCS exch def
- setcolorspace } def
-/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def
- setcolorspace } def
-/sc { pdfLastFill not { pdfFillCS setcolorspace } if
- dup /pdfFill exch def aload pop pdfFillXform setcolor
- /pdfLastFill true def /pdfLastStroke false def } def
-/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if
- dup /pdfStroke exch def aload pop pdfStrokeXform setcolor
- /pdfLastStroke true def /pdfLastFill false def } def
-/op { /pdfFillOP exch def
- pdfLastFill { pdfFillOP setoverprint } if } def
-/OP { /pdfStrokeOP exch def
- pdfLastStroke { pdfStrokeOP setoverprint } if } def
-/fCol {
- pdfLastFill not {
- pdfFillCS setcolorspace
- pdfFill aload pop pdfFillXform setcolor
- pdfFillOP setoverprint
- /pdfLastFill true def /pdfLastStroke false def
- } if
-} def
-/sCol {
- pdfLastStroke not {
- pdfStrokeCS setcolorspace
- pdfStroke aload pop pdfStrokeXform setcolor
- pdfStrokeOP setoverprint
- /pdfLastStroke true def /pdfLastFill false def
- } if
-} def
-% build a font
-/pdfMakeFont {
- 4 3 roll findfont
- 4 2 roll matrix scale makefont
- dup length dict begin
- { 1 index /FID ne { def } { pop pop } ifelse } forall
- /Encoding exch def
- currentdict
- end
- definefont pop
-} def
-/pdfMakeFont16 {
- exch findfont
- dup length dict begin
- { 1 index /FID ne { def } { pop pop } ifelse } forall
- /WMode exch def
- currentdict
- end
- definefont pop
-} def
-% graphics state operators
-/q { gsave pdfDictSize dict begin } def
-/Q {
- end grestore
- /pdfLastFill where {
- pop
- pdfLastFill {
- pdfFillOP setoverprint
- } {
- pdfStrokeOP setoverprint
- } ifelse
- } if
-} def
-/cm { concat } def
-/d { setdash } def
-/i { setflat } def
-/j { setlinejoin } def
-/J { setlinecap } def
-/M { setmiterlimit } def
-/w { setlinewidth } def
-% path segment operators
-/m { moveto } def
-/l { lineto } def
-/c { curveto } def
-/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
- neg 0 rlineto closepath } def
-/h { closepath } def
-% path painting operators
-/S { sCol stroke } def
-/Sf { fCol stroke } def
-/f { fCol fill } def
-/f* { fCol eofill } def
-% clipping operators
-/W { clip newpath } def
-/W* { eoclip newpath } def
-/Ws { strokepath clip newpath } def
-% text state operators
-/Tc { /pdfCharSpacing exch def } def
-/Tf { dup /pdfFontSize exch def
- dup pdfHorizScaling mul exch matrix scale
- pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put
- exch findfont exch makefont setfont } def
-/Tr { /pdfTextRender exch def } def
-/Ts { /pdfTextRise exch def } def
-/Tw { /pdfWordSpacing exch def } def
-/Tz { /pdfHorizScaling exch def } def
-% text positioning operators
-/Td { pdfTextMat transform moveto } def
-/Tm { /pdfTextMat exch def } def
-% text string operators
-/cshow where {
- pop
- /cshow2 {
- dup {
- pop pop
- 1 string dup 0 3 index put 3 index exec
- } exch cshow
- pop pop
- } def
-}{
- /cshow2 {
- currentfont /FontType get 0 eq {
- 0 2 2 index length 1 sub {
- 2 copy get exch 1 add 2 index exch get
- 2 copy exch 256 mul add
- 2 string dup 0 6 5 roll put dup 1 5 4 roll put
- 3 index exec
- } for
- } {
- dup {
- 1 string dup 0 3 index put 3 index exec
- } forall
- } ifelse
- pop pop
- } def
-} ifelse
-/awcp {
- exch {
- false charpath
- 5 index 5 index rmoveto
- 6 index eq { 7 index 7 index rmoveto } if
- } exch cshow2
- 6 {pop} repeat
-} def
-/Tj {
- fCol
- 1 index stringwidth pdfTextMat idtransform pop
- sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse
- pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
- 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
- pdfTextMat dtransform
- 6 5 roll Tj1
-} def
-/Tj16 {
- fCol
- 2 index stringwidth pdfTextMat idtransform pop
- sub exch div
- pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
- 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
- pdfTextMat dtransform
- 6 5 roll Tj1
-} def
-/Tj16V {
- fCol
- 2 index stringwidth pdfTextMat idtransform exch pop
- sub exch div
- 0 pdfWordSpacing pdfTextMat dtransform 32
- 4 3 roll pdfCharSpacing add 0 exch
- pdfTextMat dtransform
- 6 5 roll Tj1
-} def
-/Tj1 {
- 0 pdfTextRise pdfTextMat dtransform rmoveto
- currentpoint 8 2 roll
- pdfTextRender 1 and 0 eq {
- 6 copy awidthshow
- } if
- pdfTextRender 3 and dup 1 eq exch 2 eq or {
- 7 index 7 index moveto
- 6 copy
- currentfont /FontType get 3 eq { fCol } { sCol } ifelse
- false awcp currentpoint stroke moveto
- } if
- pdfTextRender 4 and 0 ne {
- 8 6 roll moveto
- false awcp
- /pdfTextClipPath [ pdfTextClipPath aload pop
- {/moveto cvx}
- {/lineto cvx}
- {/curveto cvx}
- {/closepath cvx}
- pathforall ] def
- currentpoint newpath moveto
- } {
- 8 {pop} repeat
- } ifelse
- 0 pdfTextRise neg pdfTextMat dtransform rmoveto
-} def
-/TJm { pdfFontSize 0.001 mul mul neg 0
- pdfTextMat dtransform rmoveto } def
-/TJmV { pdfFontSize 0.001 mul mul neg 0 exch
- pdfTextMat dtransform rmoveto } def
-/Tclip { pdfTextClipPath cvx exec clip newpath
- /pdfTextClipPath [] def } def
-/Tclip* { pdfTextClipPath cvx exec eoclip newpath
- /pdfTextClipPath [] def } def
-% Level 2 image operators
-/pdfImBuf 100 string def
-/pdfIm {
- image
- { currentfile pdfImBuf readline
- not { pop exit } if
- (%-EOD-) eq { exit } if } loop
-} def
-/pdfImM {
- fCol imagemask
- { currentfile pdfImBuf readline
- not { pop exit } if
- (%-EOD-) eq { exit } if } loop
-} def
-/pr { 2 index 2 index 3 2 roll putinterval 4 add } def
-/pdfImClip {
- gsave
- 0 2 4 index length 1 sub {
- dup 4 index exch 2 copy
- get 5 index div put
- 1 add 3 index exch 2 copy
- get 3 index div put
- } for
- pop pop rectclip
-} def
-/pdfImClipEnd { grestore } def
-% shading operators
-/colordelta {
- false 0 1 3 index length 1 sub {
- dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt {
- pop true
- } if
- } for
- exch pop exch pop
-} def
-/funcCol { func n array astore } def
-/funcSH {
- dup 0 eq {
- true
- } {
- dup 6 eq {
- false
- } {
- 4 index 4 index funcCol dup
- 6 index 4 index funcCol dup
- 3 1 roll colordelta 3 1 roll
- 5 index 5 index funcCol dup
- 3 1 roll colordelta 3 1 roll
- 6 index 8 index funcCol dup
- 3 1 roll colordelta 3 1 roll
- colordelta or or or
- } ifelse
- } ifelse
- {
- 1 add
- 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch
- 6 index 6 index 4 index 4 index 4 index funcSH
- 2 index 6 index 6 index 4 index 4 index funcSH
- 6 index 2 index 4 index 6 index 4 index funcSH
- 5 3 roll 3 2 roll funcSH pop pop
- } {
- pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul
- funcCol sc
- dup 4 index exch mat transform m
- 3 index 3 index mat transform l
- 1 index 3 index mat transform l
- mat transform l pop pop h f*
- } ifelse
-} def
-/axialCol {
- dup 0 lt {
- pop t0
- } {
- dup 1 gt {
- pop t1
- } {
- dt mul t0 add
- } ifelse
- } ifelse
- func n array astore
-} def
-/axialSH {
- dup 0 eq {
- true
- } {
- dup 8 eq {
- false
- } {
- 2 index axialCol 2 index axialCol colordelta
- } ifelse
- } ifelse
- {
- 1 add 3 1 roll 2 copy add 0.5 mul
- dup 4 3 roll exch 4 index axialSH
- exch 3 2 roll axialSH
- } {
- pop 2 copy add 0.5 mul
- axialCol sc
- exch dup dx mul x0 add exch dy mul y0 add
- 3 2 roll dup dx mul x0 add exch dy mul y0 add
- dx abs dy abs ge {
- 2 copy yMin sub dy mul dx div add yMin m
- yMax sub dy mul dx div add yMax l
- 2 copy yMax sub dy mul dx div add yMax l
- yMin sub dy mul dx div add yMin l
- h f*
- } {
- exch 2 copy xMin sub dx mul dy div add xMin exch m
- xMax sub dx mul dy div add xMax exch l
- exch 2 copy xMax sub dx mul dy div add xMax exch l
- xMin sub dx mul dy div add xMin exch l
- h f*
- } ifelse
- } ifelse
-} def
-/radialCol {
- dup t0 lt {
- pop t0
- } {
- dup t1 gt {
- pop t1
- } if
- } ifelse
- func n array astore
-} def
-/radialSH {
- dup 0 eq {
- true
- } {
- dup 8 eq {
- false
- } {
- 2 index dt mul t0 add radialCol
- 2 index dt mul t0 add radialCol colordelta
- } ifelse
- } ifelse
- {
- 1 add 3 1 roll 2 copy add 0.5 mul
- dup 4 3 roll exch 4 index radialSH
- exch 3 2 roll radialSH
- } {
- pop 2 copy add 0.5 mul dt mul t0 add
- radialCol sc
- encl {
- exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- 0 360 arc h
- dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- 360 0 arcn h f
- } {
- 2 copy
- dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- a1 a2 arcn
- dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- a2 a1 arcn h
- dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- a1 a2 arc
- dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- a2 a1 arc h f
- } ifelse
- } ifelse
-} def
-end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-xpdf begin
-%%BeginResource: font PYRIYB+NimbusSanL-Bold
-%!PS-AdobeFont-1.0: NimbusSanL-Bold 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Sans L Bold) readonly def
-/FamilyName (Nimbus Sans L) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -155 def
-/UnderlineThickness 69 def
-end readonly def
-/FontName /PYRIYB+NimbusSanL-Bold def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-173 -307 1003 949} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b61177e95ea219474796072f4b363fd772dae3a9d9385cd2163
-c2c8062ef9af240bc02404e5411b401d68ee5d983d33df8a63b6da7ed443e71a
-e94a32ce1db15d759113b684bdc92cb4c920e35cb677534219abcea434fba862
-2fbc8237219af7943fb467616d86b4251b350647c43c8df74289646adecf0367
-7c838d720affd234259e947e6ac432993323e8fc0b1c7609675558ae470b19fc
-ba7b5ca1eff86dfe4d9ef0356f5d57d03f0b2d0f449d6165b92c78c00162b164
-648ca123b1ffa8c2bcdf125864ccc81c7d58f19374b71dcdacc3c43450bca81c
-364753c7d444062a98ce202aa990c652d540b1dd09459bd4818f7675d21cd2e1
-45a0d2670c3136a6c56fed36fa640520c0a880f954cf4bea74789d14c9b7ca0a
-e91f4ece020bb0d3cf1890cb79d94675c25c7ca667199195134e70ef0db9949a
-416f0a0443f1191421f2323202445f5af44871eed6956d3a3de21a34e302d41b
-d7eef2a4023a66862fef89ca6386a8e47ba55e6f89db590cc810feb27b68238a
-205275e7573968693cfe1f8a60b5af3fc965dc05bbac5bbd6d2ef74c4f140423
-9fb13eda8457a5b26248ca5ca4d3f896b0a93b69a9045b0adc25b43df700e90b
-820f28307cc6f6ff2fa4a06a8a6deb8cba4cb0d136da07593fabc1c8ba1149d9
-1c422f461a429ece40b7c90417320167d99ffa9490f9abc3101f2359bef6c6f2
-15c5585c8733ca06a9cb793d618247757063ff41c5fce1a209ea5a138777dad8
-943b73186bc17e03fb06ba658e5b3305e39078f5de984bfe093ab3d782150e2f
-8545c9601bd2a531a8196e157f8f18017c0331881abf07d6c21931fcf9b81c51
-be05d2ace462ab8899e2929f0d821eddb18e9887cb7e8e3ae0beda34ccd0428a
-38c4429417cebce5ef4bebf7f64eedca8769d004d2432ded2240b732481a6da7
-458cd26e4730c4aecdc1078ee3fbaf6cd275b426bbca2d0cbd42eb7b100b1c58
-f043391fc5929fca7ccb7d2188b6cec6bbdb78079e36d67129c17aef9fa72fa7
-5357dda5167e3c0ddb4f9266f3ef69c2ce9b6191ba911c1fc740549496aa76af
-b86e4fddc0f31f92595f8bc0bdd3ac613b16426d722c0d27822944899572bdd7
-96d248b1adba5ec18a7f0cab096e134c36b2fcccd0b2104e43b2123936dbf7d6
-e0706616a7676da73a30a36cfe2231fba5e1fe69952a2f0ac15145c5cff411a8
-b57db37742efd6b78096d0fc69fbcdea39cb05d034f31c23b04ee90fcb4484ab
-2053e8dd69a2eaf120a6bb64bd55409ab4b6a6e92d305e40974b0df80009f4d9
-8fe9e8aceddb346f8e75941c1189aeb685f4f02d20814ad6bbe3c4364bd1c64f
-9c1f111790dd74d635520606a6bc978b65ccb6e8bcfd8fdbae26ea62e36d0317
-5564995f2a07393255d7c3450303f5a26b783afa95962e9438fc3b10239fc8be
-7809f48340aa9a61ded2e1de62b8ece240dbd1dc8be3819ac3e9aacb6e165923
-4a264036c6017b46af959f7e574185e66a3a161eed1f99b8496a9fcfac13492d
-fe3f21bf1c0c1dd432fb523701060720730e9f51b76082ef4e72d2f2ebae7a00
-ecc0e1a922d6ded5c4f0a76eef3f6e157210a3a46a4a30114f032ba029d8207a
-5946b8242fc9b939559654b5c9831eab6bc2f1a8cd2779f95698f26bdfe2e421
-cccfadd7e6684364a8ce71574f2d675239e404f754237da4cb564bc7b23d7159
-5b1dd8a0b62d6bc044fe0bd2ea98458fb2188b8ab1af6438e9693ebf939c7c9e
-db285c87698d8eb206cf58d89a05e74a150ae0f0f0300dc1b3bcf1f3d6b73bd4
-70e604c23d313121a4cdcfedcc834feec5b1894e5384979966f496fea5cbf1db
-7f3645abc9a5e9fe04f056648f8b5882a5399fafad915207a1434b7184b48949
-43aa2c3ae059f96905277ec06fc91c4536efe679c6fa6e71167496cc0d2f297d
-d07159b01a02731e578879fb16f9ffd84768207629ba38f902230a03fc844eee
-f9fb458929cc8e1c988b486e9cdc3d00a84de8bf078ba4f1c73cf88a2cbb20a4
-e19a8c02d1bd767103c08b8ce14162a9cd99d167fd5cdbf53bc39fa14cab520b
-2e91ef7a2952c936c9825e30e3ed350ce9ad799b27b1091a0b2f3be2208838d3
-1bcdb3aad13a1299bd93b3f1a972c04f117f05bd9e5029b6c799eb25e3e98734
-a0ca4a814d824ee4ca5383c6eb8c6c45882289cf2a52934fb7764f3556eaebba
-2823e5007f83f6a3d3a6eb0f7fbc3b91320de755745ab44513deeb65d6d81c0d
-838125bc1480d494b8cdecb253a230fb950df5fd1cfdf3b8b0c56aa0168b01aa
-a690593f22c25e6ea9d2de70b8bb93cccde841d2b923b4a70c7cccfdc1c400e5
-d3d71cf640a201397f09e13d27faec5d041b9d904467c4c573c6fb1820a55c1a
-8d0ec1f6ad502bbda597925ab353429a5bbdf3df01066e5cb3c2bf2d19e7df4c
-285766c06ea868f915e051139ecfe22ac9b8466a5da38e4e2f92c01428ac9051
-4930a9e9420c49bb8dac35d2a7e9846b0c9c8db992bd5dd95fdc0c8d5bf2e7d0
-baefc4ce8fe265e57b7b6c8c91e1797db85d90eb1888170744db916ca7e353bc
-4edb9fc4a1d42013ba275d3efc76259e25860a3549d104880157db843cc75fcd
-5a14800ab8743fdacc4c5ff064cbf3ba6e737833850e618ad9674d0fb01918e8
-ba87eb21aab2c494c6f6ff275d1501d78a9a97d2774ef4d5fbc8032955669b04
-69e354b9984fcf4c0b890e4e8a7796d3b7b3855815f5565b13d95b139c32ee02
-4a2057235cef0b98b1c0bb84d64921dce789c2eccf58364e832cc2bef739d807
-012512769f57dfefa384083415b668285db3f6f9e5c850205dba7c66b2da0280
-f771183b302ff529a691590321a6b06dff8593a28e83a7c66008ae45b2989da0
-0455253031ed2da983e9f1ad6fbaaf85035b4715cc1525cc8d7f1a3c0ec40f9c
-9eca905a50a0f4b1f5db072918617213f7863ef202c0adf926e3be1c8307b571
-2c94daf13b6a659d0f613cb319e8782a0a2781b3a61227424ff5e554eba32b55
-de5bae43483ff916e37a129c877f10f7c8c0ec1fee0fe10b3fc813d976e6e54c
-8ea8aeaa179727d3335f86662bd318260fbc314986a2f97f919ccd564e001903
-eec90c13abbf988114cd330ccd7e9fde42e218a9484b565a0cd7e9c1807ada0e
-e6a7f916c5a38d64dae17faae3e84822e6c63bf32148ae3dffc010920509491b
-424d27fc1970abe5ac799936aac46c4a98cf4c66b3182e73df72431e53ab1f36
-460e6c6a9b2db27e38eda8972835ba64210b45dd04a778d59c5751b8478312b4
-38012796f5a8be056c8e3a9e656bfa909f7ebfb7f32fa1ae99dc291b0f002a0f
-8873351e9684adbefe40d607631559c78f5688a708160ad3803db743282353bc
-20098c6212dfad417f106d92527506ca0c9a8864c1eb61997dfedbbbf1d052d9
-81ea593f2a6c4a90676aec9354a6598436d1de7e15e4979344eb976a917471cf
-c85e52ecf3437ebb4b6f8e9b292b7db33be0a9ead500b9353f3f367ceff8dd77
-32b67a559e56ffa3b5311fb52689c1e296c01a362a5c33bbf54b84624f2373bd
-2c25e90644683376f03da577dad1fb9a9903c5ee9f531a5f9da82aadb2098e3d
-15896c3c727d60ee5de0ee1cefa7e4aa3a5336ad2f1a845d16bb2ee58c50d2e8
-055e3e11272224b23c689f2e7ca0051d10ae4d4514b89483ed8d97c2a77894a5
-640d45bc86b1f66de1fd24b08034e70a443cf1c3ee17f2e7c7e11da524781c7a
-75a1f69de55aad4a309e27fc8ae9b1ce1c7d52f94fc84c59f37165e35f0f721a
-9d3d5c3bcead85d8150408c1387e5a348d1f0f376b3cc2d24346280af119df86
-b62f46e2ddf46f38db4aeaa456accf3f29082f73e9c5f003d77d99eea3d5156f
-2043e9b573fe34694910236ef3a1ce03ffb205406f3466e028b635f3ec5173e7
-482c796060bcb0efae62308e3624c466df5b49b1dfd3445233a03cff1f58bf86
-0a2b46225d1784e91f65ecd52504c8605aaf2a5dca560db5b8ce7eb86187e6df
-677c977ab4d1fec4f124324bc896ee7d669aa295897fec0b881221434fae3a4b
-1a3a1f1457fca374bca91885e74543ee919b881181642cb1f6c34ff817fa8e81
-18aa5e21c994d8aa12e1fdf5d6ff6726dd3d075dcd056f046ddd86894235d7db
-fc11532518f8d8695ae74dfbb769528840e8c30572ad06d6ef7b0ed471db9418
-11ea9cd32b4ba6205b5c198bd528b06092df3f50b9714fc1275aa5105a3a7422
-823d4a30d7fd19f77bb2cc4c5df23202d6a74092a710a9a855d8059031ec6ec9
-4d4fc86b37186c46a5cd183a81fc12a743c7168837953d2b5202ade986b4b00d
-86e41a88fad5ba0d91c150f4a7c396a02aef1ae9b96c0cea83b3306785ab3ba5
-39c49d9f984a08a9e8c06d282af94d87606d5601296456b6a0ef4ea8c88a1fcb
-96cd1b1bc0e287adfd1b9aa1a8c8a7d4a6b14ed3b04b1f0532ed5d40238ebf71
-5bd8c8b032afdccd26a940b19a1340b1e93041b2265b8534c099d14f00b82fbb
-2b55d8dc64691c3e5a6dd7c0cdc1212d0c80be2f454a7d8613d0cf64ac5bcc7c
-64d4166bfda12bc262de9cdfc614d7dc1bc569109bb84bf469071963e5a576db
-b19f3e748799d49c30612c1d7fa918d72051db6cfba44520b5b5689c87541560
-292dd6bf1f40f6a5af97c3ff71b1fb57cb36234be973890a1a610551a724abb6
-b01bb5bd1fc5191c9f99b389b6445a99de978b0d81e4baa92e8b121a1e1b32b1
-601a34dbe6cd348e56f59a92af56caa782b3b416958a6f1bb73771f35000fb9e
-a55a132f9b151bea59cafa3a1cc72f7cd60952852c53379530e0a6bd4e9545bd
-f78da021349902332707106bbb5d307960ea2bd811adf35b869bb210e44a5717
-8893af229268d805262725a0904bcb5ea7c17a39552a1f26283f54ae45449943
-5270b17b9afe2e0c0729e5f10461a8ddb85efc35dc8a32bcfebfdb16a0642e5c
-c69e5a25a661cfbd1f3a9386aa2433b68a356f36404f96d97fff817b42a58a62
-a5fcb5653373df412068876f541169bf642bce8458297fb6a6e936d80af2004c
-e9a248e1c92fb63b3e53caadd749924c390fd9f542496cf2347a3a429cc25917
-c31fc437291fa9856a7d3b2b6a5644d82e23a14d0281ed4d8f9dd687e06f23a0
-d0e8a3dab5fe6ded172ebbcac68218092f4480c7ceabc55b059877d7e82d2846
-b4f9e82aabc56f397be2c6b67040dc71a9d1f39b1a60c33288bbae4e41457830
-f8d8c96c8dce7c01bc6efd70e021a0c2d160a61b906a3ea551b7e3fe8c1f9952
-7e9583c6b6010e0887560f1c3e19e0be82efe91f0114e726c888f580d6b514cb
-a0933ccde04de0872dd0e07b1a7cede67bf9f4e73400d118a6d600e13debe6f2
-aa1d895dcc127c76ff82e579a06d8a3a323458808bad060afc953c2158d476d0
-fe0725dee6886bde038e2726886d255dec9052e9ba886a318c75b8c7a218edc5
-78783ab8dd90b738b16cfb47ef8610f428a4315c703763d6b3dda570cd0a89af
-4e6c215ea5395b13a5c1f0883faa2eb2d6de918ec5fef99c21758e4b6bf72861
-b684a28787b63d3ae7f1096b1c56e4862e7f3650884d0803db03362c587e2ed7
-bf5c7f2847bebe35327f1f7fb76f3cf7e9fec9a5c057acedf6245c724a8e754b
-d44e028181b75ad590b3989a7f340fd59c3b75cc4a8e28b155b5da0fbf3cc358
-375edb0992206514347924c69ab28e30c707f24199767937bd7990bc70bd5849
-5c335a752c06bdd9f0520c6d8b2f5fffce931b601151b37f1be9885e41864e31
-1ea0f33e17fb4b844425ee7de31d839ad3a8609bfc9e393079b9a7891e17b48f
-2e5fed17943313afccc55826cc0144c2e7ac9784261bb40d51bbd4467103f432
-865cd4b821dd5be8fc760171b49b70141ce2042376e879013edf8180d185d988
-591f9084536cbf97816291ee77255315987422c2c2489d209d78e0a2fd3fa71c
-28edfc1577db5c080e7881848222220a63605f00205c205b35d0a017013ca099
-deb71a9ffd511549c61f9ee36a63ee00b0610d1b290e073b8a067dd91bf52f9c
-ab53a258ccd29d9220a659e44717f84062d39dd554294996c46e69608ca111e1
-088494c6c3c0b75cf06c2b39a08172700b35d1efd0526d78f2ca5388056b02d8
-28962b456a44b1348bc4c199c2425217cee4297873ba2018259ad02cdb518b24
-023f4ffc5fd7c2b7b022d8f61aecd1e97bf78c7d0448611c0af788af2447d5a7
-b66b496dfde8522f9dc0ff8513baf8b19b51256da57159b87df032545708fad8
-0b15a0764cb951263a5008d1a61a1b69f171a5d7449f1c1d2cba92e9ae340e13
-ee455edc278caf37e5733a34a5c1b2206833d4ec3c41db8e8c760624c6031550
-7124f71f9d18399c3df46c5023a753a08ecc991b61acb6ad781cd9c258af17ae
-33a2f8c5a86b5dae8ae1061893bdbca4e76473fb073cc9c5c3389e525553a879
-16c23e3fb51d65f3cc3bf3e87f97a02eedfbb928cd37a770e7e7b5413cbfb0c1
-3281f30eac6290a85ffe8ebf68a7fe77b4a68982d010a2284051861a35230401
-234b3278bd810686b1ee0c63104adfeaeb7ec79e0a4fae757018fc05fb12db3d
-81e0400f7760b46fa0ac5f9e52583f2af265843cbb2ec1d1392ee68c7410c9f5
-87351a0f3247036a01080242732f5453b54a88de2d7515b5b570d94bd2b97f2a
-d3894658627178dc90029c8e7131855b422c912c9fb6141439042b1df9f3739f
-063d8d054258cb1c9cc893aed8097aa06fbb7e923b3756409c61b7cff54c2c87
-51cc2f11c2b7bc0be6868584f64bbbc22a1e0ed325b6c2064cc0ef2fa8acfde8
-6fa40b544ab6d2c360b6786c29b69e80d20566e1e25cbb075f9a687b428f4ed2
-10c028936c8f5e7308d2a3984290d96e5c8df5c959a563b4be5b7ce15c24d5d2
-fd6dfeee85e0e9595f52ef13aa08f52db73e858a3932e9e913f5ba674289523d
-0eaaefd670f3ba4fb5a0295816fcfc042f7141c64ce577b103558455dbd0852b
-730b2acb37b3115ca4ff017602f9428879e96a621a760e7961c006801c5908c5
-f291981da07820a11aaafc3f4ae613c7cb4424b0e1b797094ddd88829d5d4eff
-d8613b50b2df38eef34ad0b05a9f13dac5b3c31d44c06bcc58d737f7d239ebe3
-eee1a4f981b35641482b536ee869389888c2eb28b56a5d0864a7f451f7d362e3
-d56ef1ec01fc6eb85c40c78d791b16aedf904c7d75890bf99bfef9783fdff55d
-ee19cdf9e0217133b8af29fd87ad09382b8f64a6690f4ece0ff8116d44bac576
-be9a602084c63bd4dbf56354dfe69300cfcbbb99ae3c8226d02b1bef022851fd
-896d83549c594e8fa709d23465207626632319b253dbb32a74155939d9fa0631
-8aaeaf9c26c04a55e1fe935fc5d21f1d798107a625fc25cb90d2ca72c31b3eb2
-c2aef7615eeb8c7f0e7f767aa672ffc236271f98c01bf41acd72da9d108792e4
-66ed133eced633ba0fe7503aaf68ebb226ed6d0e18561eb03c9b9763680f9295
-7709b653d3940ddc7703da6c3fcd893ace04627cc6bd92b65b80cfba4d0a50c6
-d48c5239a76bdaa4319fa9f0382e5ff6bb51c5a390678ef4bcb6a56a13828f32
-fa51ba7bd7d6a11405b0873d4e96b93fc693f21bada72f9f257d89630711cca0
-c3a78e2a0e5735617e77a7a77881b37d77877df4eff9da9d465239f1f2dfb5dc
-9351a5dd8216e98c15cf443250b85be6a463526d8aaed42fabc1cdc095ef9e42
-8f956a2abed2cb7fa127f49bd2b5accf7ed80cef4fe96fea42c0ed4991bbb734
-596379a991607836c6ea74bbc359ecf2eb52d015910b847534a519cfc32d5216
-9510940a9ded08ed2a83fe52ee1275b05d19666994836add094ad38cc0a3e081
-bed96e0cec2d8e17d51bbe3a63a34884da909733ab092c9ce8d8e411ca3b2831
-a022e5a3fd1abccb902647e484833b8181d1b9edcb5448098e13b5ad289c9aa5
-8e4726f0c2df0ceb089401871c26c7ddfc5d5cbeeae249871ac5604056b69e96
-3c1bf9b8ce006b701c9523b5b9b145be6f6c7b9e513973df94cc2d37694850ec
-e54c80d2ce79309ce51515d2ba0d44855014654d1a999cad1a5e9dd53a34e44c
-9cb32ea91176d5c3294e3064016e8554b9b6c6d2e6c03b4e655bf2a7957d95ff
-01cae1dc020e577abe5775f656caf198f1073b7bfe06ea127ba3b1edf4784917
-51d41bea93204e6ad3aada6f2415a8bcd5c987b6629874253852ca417bf6a259
-27b0e7f34e0ed0f9dfbe1be2c64d805c2edf0bd62c77be4224613f2e788c56eb
-0dccd0a467bb30d529610944338ea0b832d3ecedd85ad4da22ea2b47e799a1a1
-1cd56274f7dcd9a66a32d8509f3d0eb4c4a160a723a9e71f504da5549eab101c
-70c73efbf1ee0805c0f8e394f94f3e6623eb2fb5896563404fe4a7f0d47e802f
-698295ca19ad813ae552e8dce8d6f73a7e676308a07f230edb99902132ca5b6e
-0e95558764ff3f6f854cc29b338a5e1bc14c9468b5528f5b5dc8bcce69bcd0b8
-e295f3ff96dff56779de49a1157c7d1fe777e3a94cf95e3c707d6c1fb41b279e
-9abf7b4077fe611a1669c689c1d9a81c933e8075af7b5b440c24318b26a1206e
-92266a64a0577abd20659d83fbc433621c7a01f74c6863d43b02651ea96fd0a1
-e1a553a05978a4fbff7d591254a5e3a2642c0eec9b4a0988e4aae449964323b7
-9bade117a3ce68969f62944d027dd0bf7ff0f73b0283c8843e9a3001bd096baa
-f61833401353462890af71b05b84b2e8a8a3bce954febceeaf5c10ec704a68ff
-24364e70e1749dbc2b1299887309e014f82b805c37aecf05fd413220403e48c3
-3cb49d0c265ec2511211833f8c475d7bdc3959c3378597773f02b5d41fbded8f
-eb58a06037a79c3424e56d48a1cf82672026b3122e379a0012322a325bef16b1
-f95958c7b22cce273e8aaa1e8e40978abf5626000a2563577e164b89e24e4d06
-483f503454a37fac420c7945ad53a6c102f1713208c99ab6ccb0bb3e50a70b6a
-38b38bce6444a7951cd669008776a1720790b0b6722be634f90120f42e3b5cdf
-9007d9b8fcfeb1c2042367c5f7445e69bbc19cbea5b305b1bca2f6398211ca07
-96d5bd57d23639b1a7d7a5f50b609dff3c7622e922714dffc7dbd6b820460c67
-e8ea1c017e57fd172fa3cac1678df44f20e718542342847e33698d382ec37f60
-21b7d901ca384beec87374854e4a1372610ef8fe5c69a141b860b5a9c51af0be
-8e33cd57dc6f1d2fe672e72fd0f370cef74a02fef6a0e6303b7445efa72758ff
-b98b3549de42d525c166c92b652ef1e71c92b0ed3c1ba2418dd13a2d301ea894
-7b3d54d469676944a58f147851fcd8500747899ec3bd885f25e1631a3dedd10b
-4eeb87c74ac62e316d2ebd3aa0ce027e91b39450ea3e30cb01baafab02ed0567
-cd83c482d6e92d7835fe387cd6c050d8f4f2f64b95fc44e1101d89e112b971e6
-61d975a98183617bc942f425b837e4e868136b17ecde0e1380ce8a52b95881da
-2bf547a37f38c603e43ae53f32b5a347e4b43c0bb86d8aaf447bb5f4c983616e
-be1a48c7dc636242f20e876baef484506e2888f0913d8b76b1086b60409a2a03
-e82ac9970d6c120a6621bd68250d88e95c01abb861af559132e6d9b8f5abbb66
-4152d65779019e678cc86909e31bee3d13a16d764998d94ae5df24f02fc8153d
-72b41953605ca86a99bc3dd05ca620e7a28d51beddff28596ec8eb878c09c041
-74baef8d2fc52b3b0c55e95b7482dde018c706a3fb83b945d3df90cffeb1380b
-09c4576040668f537083afc50a1e26d28c4d58bad52b17964871210ecb2f148c
-daa07db5d3780ecd1635cc5d5dc23867a13e152872c78e20b95f11a4afb8508e
-813f4c580f80546b2d5dcda546a6fa4b28a906511be9ae09f3adf926fa237825
-ac9f250d275294c5f21466af681e4e61ea6915d623c7d48837d0bbfd7f893a2c
-d347cd7514ace7badbbff683aa9c6eef46d1c830afac64a9f64b95a6fba4bc48
-a33135b70cf12c2eb19c2af6a45b9be09619e4b89f47ef4b9d3d234466822c1f
-3ce559a85fc52ac8aa947f981fb5fe7605a373f5484d4929932590eb79a504e5
-ec35c263a30ab3e50ca900c2488baf5f1c1c23cd42d6401bfd7b09172be16f1a
-df93f41ab0b4465a4f1e2ab556078dbe76729d69434690fec8f59894a77d3b8b
-bbd3a87346b6706fb127da2f6b458208befdd75d68207bc88ca1f2e36b65d170
-922071549c382790beee82ba0dfde07d7d5f58ebd02b19feeaeb6aaad59792cf
-461d467665cb3a0cda48058fb5181273c8632075e2f11f8de7181373a9b73901
-a816cfde3e2029a04b1139eb306132f989f4a2e85cbebfdc52bda2e88bd8d1df
-3f331602fe0fc1802abcb35b8e6dbe5bff9740a4af24077a725d17660fee662b
-209db93c54baffeffbce92a9e2e696d5f56f5d7c81b29cd00a59ccaa389183b0
-ae2507f0ec1a9e224097be40e0db4c8099a96a858425c6a680365704f39a05cd
-4887bf94f49e4f8efacdab96877a18272900237356ce576042dcb16e5851e1b9
-4fa0ef754cc9d84e91486d771871151a5983f158b7e05cecad73ba064c258397
-cd00cd6b8cecbb898c5d4609531d387ebf15a5c38b80efe629bedc9314736e90
-d4117c763f18dda7974d519ef1bef9824934159d0fe29edaea2173c69c56967e
-ff9c37eea1e8b38eaed338699c6a3763c6353dfb2584f6da9923ab74b18cbe05
-278a5ed2936b193c75c986e8bfdcc63904a25ecb4a04e998ef8789e9c3ec618f
-1fefe74fe5a23d368b563579e318bbe956f29d191748ee26bc883bec714e1f8c
-88c98dc012b95385e894919f1de5afc62c9c513014d6105baf24ecaf88275909
-4d13079cccc3f103d6751b4f79b785577686abc760a6c56bf34db0f2ac3d0b82
-ee63f9e750c7790d7a3a1626d66e70d26617459a8103e08b6f14af71c017d3c4
-e5b4450986908ec345af9bfc4d650cf35f337026ae940513a9b3de95df3e16c0
-588a59a7f2f1d5e2a418410b5e2fcb4692998921834fa44f30f2117228005347
-9a3a82341434ea71f82d87e1bbcaed725ede9f6001ae4c8651da9afa36b3e6ef
-07a8b311afe1bda98e3143c8e2417fc188bfd48627d9b6aae94f510054dab99c
-12fa0d5d73069f48c86391d27e37265c91ab1c06ce4d4bf0af63db65e16e783f
-7dc649a88967284c9d9fe861add619a3ffde0a31a5719bb456d1ab8010ccc8ec
-89615ae875db7a321398ff923c088a6ab51ffe2fd21d3541474d79f07e536709
-46d1a8c65e8dd6ba6f19410b76ee7b5468462b9aadd9f8ddb68c32b08b0df0c4
-f3b909fe714f453bb1ebe914752c5eb5f68377a82e5d5b90abc19402bd589b43
-05f905efc12878733902c54391c267fd81aecb8cd692aaaac3218d34a4c1612a
-5aa9844d171e6ebf94f4d8900236e8e27c5bd7460fa1e195c1077da5918afdc3
-90abc6db247885a42158c3cd36ee89d82cbf2471c6daf51120ba3f6937d537e9
-370af7ce73f3b50b742ade8264df9288120dd74094a064909c00764e9347d2f9
-a3f92bb53d8263053a3082809e04e9bc7c9f3b8a7c97c5cc1f9f886115676a18
-cc04c656aa33535e5893b8db3ba5d627f8810048b2a7a28e6d1374afd6af6980
-ace96ee05d890339773f6dbdc92f2f840b50770213bf6188dcdd1bad8d527e71
-9692ab1dfc47e7673c175a1b9841d56e2e0b30e8685b01a68ce561bfc6463a6a
-d34557d05276f7befbc1fec7bd56a18bf0292cd25eae57450b3b590e60181258
-4b35e2004e7b1e27f3b26d7108a03c94dea662b7342e38f8300adbd92261809e
-bee8ec971a7f2f59487c89357580f9aa8145a1825573f037a0ade5b98be24a86
-530435bcb82e17054f67fa873946c732c8840b9eaa9130bbd360ef27fe72ecfb
-b421627d2d52578373ca7ef9fc6f850f4b7f22e6501378de0a9dd56f5f5815f2
-7ea81d8ee3a4f7b98e59ea1cb3159f5816fa703b18f03c5b0aafbbdcc979df41
-7258af2ed57f7da62871c0efdab55fafcbda5fbef92ce65aa0ff37b92ce6c953
-a9d92a8c6e02b8a1f9a9f0c66461c5a62097e12e9f656c87ae283e6f3b63ed10
-a6a723316b9beb28b62a55d372b9a22bdc669b51533c5690e593f2a409619b2a
-d73655a40a33e83c65e66f18a40c8e77b048674fad760b9a7d86621181d498b5
-59707d36440af3e015851ce43cfad5d1d96e9274ad714ef46cac1a02974245a8
-d25d894caa256c320af31f954bf574dd95bf32e5841333063d32709b93b009fe
-e680d5b2bb5f95275d118a085e98506d0272fd1b8220a2343979bb1467f9006a
-1f17b2ae2941413683c3cbbaa1c0a3aa55193d46a2573f2cbb8b7adc7e74d0d0
-135dfa18405bfaeda37f3d4787a965192ca64e4462a0c701de5c361088b3319e
-7b5d19a14337068661abc7c36002ff4dbe90e7b655b8e06bd70e283cad1c5d88
-de63628c638083b303ee6b038836893707f6e1121ef56292a75bd9301d987ae1
-ada2acdf61ef74f2b3dc4f87c6374254f865f6e8f6c0933c54265e9a5cc7ef62
-432baad5fa08dd485c3b1d0e75ffd5180e99df967b85861d9710ff294e93cfc3
-7ba6c006164690c10339aae9c1113cb48687672e8a2dd88ea9af6d0cae13ac05
-9b61095b999c87bc3c80748fe6722bb76818b2339223dc051a4938f435b92629
-4395dc3d2b9b3a0e370363535d960735fca855ffcba0aefe767732f7991c5977
-46fb683b9a0c11fcd6a3eb370bb56d6611e7c20dfa1d9fdb3b90ef31bf0a6aaa
-d8bee6d7ceb116373e74f072d2c61b646f0da308955829be7578d1909b03c4d9
-307709be75ab3d72d0864af89bb713da0938f038ffb3459b793d06bb37d6efd5
-5d4e755f3403c32c28201fa5f979f51f3a9d4c521480e58ccf06cc60a056a5b1
-c48f27872ef36da126d580ec0520ee9d252cd27c207b6a12b27b1861ae0debbc
-21e549144604b277ac8e7b4caaf5f7220d67fa9a985001488c128e1a4c9ebaa9
-de54a13cd4baedcd50653b73a6514ac47bb5411d8094854212c9219caa4e4c7c
-447324ab35edc9ceeeef505fb71a2348c3be2082fba20b8ab572bf9276e84e2b
-0b328828eb0c636750dc104e741c5df9caf3808a061484a23dd0aafcf5bfd1a7
-319c50d09cb55d73c87d3ab59e74e29de58723ea32cb96a0b497e2e530b54b9a
-355a27d988ef4387d8260863e8beecbcc27e4b051961aeffcb8475d7da9bdec6
-42d6a55f06ae9af2450545811fc6486c6be309955c53121db95ac255263e93ef
-3adb9e07e56b1133c491b550a511204ed55c8dd911e2fc0669c90fd904267f0e
-79d56ddeb72895002a7f795349da2137b6eedcc300c1206dbdfdc3a52f71c86b
-8141b63c3d33957c66a9e074bfa703ba2344d802028d787878f9fea87fa9ccdf
-f4ed49f4daa6e6839fd64c91e60f99b8e10652bffdac46169c413a36e8105d8d
-9343496c1a9b5bc33cb5e573166d4097fb4f3f5517b38f9298de2ac6d51121e2
-0eb9f07ecaf4d70c56a5280948c67e506e47fe9d3465c7cd156e5768b70f694c
-57c11c80e7a4d1417c25690197d058d02216a81d7104ef27003dadb3ed10c742
-4b03f54aeba13d17f681fee3a8797754348b134d89572a2083225178a9db4466
-ababce914cf2777d3ae7effca5f4973eb2945672c0218c420173d8d2fdb8d60a
-a1b40773a74f904955e7991bc973d12eb5bffc4dd0032b1a1397cb5ba3b431cf
-92b76b1f7bf1f9eec8389e525553a8791692a9a9eb495822684df34bc5209953
-1b38bc4875beb62a391a8e0fdef5b0ad35190c44c782e374e3ca17b9f5e2f5b7
-c8566acd0df90ef22b50100f501a80c17a32ef4eb28da320c20ff407fa116404
-aef81d37037013406eb51aa024605e01257fd78c625bd120d4bbbed7bfd4f95f
-a3c3088a0fb237d44fdf4aa0bff28254063416918e276e7b68c545def20f896e
-509cdc2c31b65668200637bbfa587b547b77f81bad98ff0b70805d9c6fd17abd
-f107e1d39d98d9ba1a7bcdf98ed607a3770508ada6bc25fcb63f5bb642a4e028
-bed525fcd1a9dbf1e1520c5164a53c0ddb1b3974366b8feaaf766f02a4085f57
-948854365bad4f6cf18fc871256f9ba3c60a79f3d08617f6a483fb6b50ef2dd5
-0755b2b824dad8935247fcff268b7cd152cab7e7a876b381491589f3d4c65c50
-3353d07c94786db7346cb89cf5350b585cf890fde7a891e7646e5fb912b71db0
-10e73de1100848dd1bd100d0daf43c4bef2b43440513be6281ea0359ae0be4ff
-a861b07d06a311b97028daf2fcfb14eb8e8f713bca854befa5a46172dbc0dbd4
-448a8c20ce02a71d33457d4c52704733b90b005b03fe89fa90b73e747f273118
-4bc20d38fca2e51eb0d5bd5454a23e0fa6616a330d61e5a487aa516daa6ca1d7
-b8cfc260bedbfcdfd3d3d0c115359c73a67c1921df252899298bc9015a6c96dd
-e70e6dee29597cc7c111a565a6877ec4efe425783478bd79ae97b5d1bac5d10f
-5cf77c6c026966155264c7ff1dd30028f21bfe0b7948edb1710f30ee09747272
-81aa09b166177f5e507ce6a09a6368505a1d7b58d5aa2d63dac1b073442be702
-9b2ba6a5a6073bb8aa8c6f741e1b135a73675ef22ea810435f4b1a899d180e2e
-be37106d4db6ac2c01d2d962117c4b6a62b1eafdd923d89cc830c00f4cacf98a
-3e02d0863389d2dd73db37d8af50cee306da798989047e47c165d47926ec533d
-5e1f5fd0d039ff2fb3e01c61509b3ddc62754cc30b7946c4a705d56f16730b99
-8a40275da604170fe8da1f8d8c5e4a393c701aa708f916fb66939adf2546097f
-2ad583fd795ad2fd059e9450c6df7be3a22f36c359ddcd8de44e1106b1edeed8
-65e317c06382f6473e3d15fd731ee92b39d3a3dc42c9107ca046febf2ed214f8
-014ea9efdd078b94dfe6a53e5357dcb99a937583a89b90105349829575a5f474
-ce7519336dedef19083bf6d9312f19c78f09085db567895a10edb5a6cfbf3532
-5cec8e3db206815af7bd78c8dcde6a910eb9232eea4b9e68684be8083f335761
-916fc1f64c649fefda1b3fd499e851cdfa7ad22acd535a04986f35b62c2adf2e
-74519f043c7c1864c6b3a9d5126fd87c105f123711b560531f46628f872b085d
-ad00961bf770b386b416ca2c5a738ba54f7a7a2e234dd97b2918d007c135aabe
-9ba541eaa0d19c216b5a6f245cd33a1666e26bcd5ece41bbd5bfb3aea9511bd7
-da27388e8b62f49f0b4db0b190c5dbb7bfdb1fec5a786bf43783cbecf09d8056
-15ce4179710883f8fe7bf4fde22e8a7b46273172e9a4751b4fdf6ec099e8d685
-32a4c9c4708902285df499de4a6b0e143d72c13b747461bda19f5e3a34f1dc8a
-96dd2194b6083c75715f9f5261947ef0eb21c496effe37f407f45c5f66aadb99
-cf42aea5fab6694a64cd89daecab44bcc134280a3614f02c432b98054ff8be39
-7cb464de7b1ee896f798a90377bdd07afbc9394ba931c3fe490d11fc60506a3e
-476d86bff5d3d850683942744d651355cb081b39d8d2147409a4bbf3ec699da2
-d79303ca40261fa3b6ab5b17ff331eb3d9f01896590905a2c7841d1f4b1f85a0
-b4afeb0183a61e21958ab3f541d321ac6bc81dafc5dc633cf1f4231b0e4dbc9e
-bd3c
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F116_0 /PYRIYB+NimbusSanL-Bold 1 1
-[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section
- /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl
- /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet
- /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown
- /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent
- /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron
- /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef
- /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef
- /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef
- /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font XDVKOU+NimbusRomNo9L-Regu
-%!PS-AdobeFont-1.0: NimbusRomNo9L-Regu 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Roman No9 L Regular) readonly def
-/FamilyName (Nimbus Roman No9 L) readonly def
-/Weight (Regular) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /XDVKOU+NimbusRomNo9L-Regu def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-168 -281 1000 924} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa763773acd59cb757
-ae119355777a1bfbd6751f24f58ee0133199ed331e67ff4101e33040d6628f4b
-77ee87860b8e32a4923e2c1fca43cf544a5eb1bcd649ebd836daecb23e3a986b
-9bd8398e690be6b48bd6479823a435defe1156284048c4d49b5a869164485630
-3810995159568b3dcf3734b11a3f25453e0e8b40b080c9aa94e140a58d5ebb74
-7d1e083dbe00ad5498c3b19deb502dc63d69032d8d31e6778af4713c30404059
-6a862aeb8cf607fa52a9348e3fe23c1a0296ddb41642aacd6aacd2c6d905073f
-98b58ebd11af774beee32533fa19871148dd6db41f3a8c499f25f37cf3955eb7
-bf5bbdbe984535820dd33f60cfe7c2b44ba6e10879b3c65948beed00a84b093e
-8e4ea07e34955aebfd0ed462afc5b4b42c5b8be85ce0ab1b9cba42969bbf8a36
-e2943b1d9b20f6ef3416e226763f55a196ca0d86788a6b0ed38ec5b0124ac901
-f55f2f67306ce94aae5809b2203bbb5a8b185b66b2f8a18a456d028f62d8e17f
-4cfccddc0743fb02567f0294ab77dca0b9708b262570e3097c76769bd590a09f
-ad1523e3bd1ed5fd8475c0b57b95011759d1a55c70b39970dccf76069cdb9690
-68a4626bc863ae1d579604011354cd3ebd51b54a1ba9789f7678546bdef64c9c
-51cb6f654c25578c3b4b7c2bbfad476423ab58c57f48b2a54c9d44ad356d106d
-8186a85f8578b1735610f6767883701431f5a2503341005020b639f45810440f
-f341eda457f8ad2213058a3369016452185f849ee25140060264a04eda7e04b8
-afedf6924f2da0adf944e4ee346e33735f6e78691634e18c4179f28fdb673ec1
-6a2b093eec51a4611030ffe1d4c1a1456e3ead051b01c94e5d9ee94c855cf31b
-b8e544e687f2e2a99fd8865ad44eb929430ed39ac0985e4a5c382e16aa2d6ec3
-3b396fe9643124dc587fde09d3d867e9efde49c283dd44fd33b04ba4eacded81
-b3e7d3f7c09d565a6412ac30fc8e81be8821a9031850579b02cefe615c8e7c22
-61a77e73f5382e58ae160043a5defca7470ea62b90e0260faaf5a97a7254b091
-2a187ace29ac6adfa49c7d6f35cdab93ad32553137363ba2f0dcbafd40fa8ffa
-7747eb9bb51dcd01291bc073331531dbdcea7db24c9a0302c9896a1c2cd0191a
-d88b33d0b0352b356c93987ed9613720cf2be3b164c6a4a3360bf41c9f178831
-62fb73ae514d9c57675572e8c1f93313fbd1b05302f57bbebaa2e76feefea0b8
-9c83d511164b53b481bc920f40d59d152bb1f5674344801f0dc7e71ca5de4e24
-cc79207c66d0b692fe7c1c258be75488f2a0bfd5c81ec5bd0585986d0c5d4575
-82e9ce40b7477b87facaa826ebf147bddb1dc60788dec671c199d18dcd2ca48a
-4653963ca85e8944074c501c8143685306d4f133037fea449b0d1cb4ab3bce89
-04a311f9410984d754a3509f51d89a4ef73ffa7f9f3bccd80daa0a34e0e10912
-b7897005607925758237d0bd3b92ac9669b1a1dcf19ff0864f84a993bf7cf266
-1d1b3981fbc5e4fdc3a5b70bd79bce35c6fcfc0a5aca0006433bc0c120073e96
-dd4ae86f022260fcfe119fd4655c3bf00be48c470b0d86e721afca140fe6bf31
-836d578fdae49d71676c77ebe2d09016e1ab71d7c681c8c0565cff9b73d79920
-1ee2def2f16d65647262f96082dd5c44fa3993d3bd1d10c217ea56b73b38428c
-767dd9b71530c5f01be2d2611cf9644c28f3f52fd814e463358d70de7bc6bafe
-cd377b48633d0107b05ad2472ad6652a1ad30c39adce69ebde3aadb1c5fcdaa6
-96fa9b3c3e63a7c4dac907e3b5cb7a3713505c5ad53c8dd8710acdb3786a919f
-b356cc2695cb227540a5f235ae1ba3c6f3547ff24606651e5887fe889cd8913d
-de9f3b04019ce0d724c1f6521925bd4fd8154f6f4d640ff94a0b0b027e483f9a
-bd1188942cdff486f1a234fdf8adeb552b7e7e10aa577ed3d559010aea480709
-fa1f644fe5b7ca3479599a7e708dcd3ba33a6b2d640f8e39492565965e3b7c74
-bc8c48f3ea9a6048e86197146abc446788a3c83782f797cd278ee1b740627726
-3e1703246bc561faa060de93d224ed3eb1bf548892bc64806c4e9186a2b276d0
-fed43a3021b5a54530de20db8168d44e1947cce7fa1dc8f7927a591d6798c5a2
-b51185c3e74bb6ac782af6f089a4204b6379298617c8f67e38900ac231610ab9
-79400dfaf270c91679c516d2062b949a8d91bd5c8c1a0af1e7401489ad6e8101
-b9103cb5f50dc53ddcf2b32afa218289e9f1b5e29e5c5a2a0f67238558343524
-78cb11a68006685e13f8b9ae54732c180b4949f09839b935b1f7a944f1d4bd84
-a5074b583202cc4aeccb4b8e18096e258bff705476440b9864e746f18703321e
-5d5e2f8ca5e2d07b195779f6a0d6a731116f1a26a484fb0d9931dfaafef53b41
-e56e00f32e3952261c0205afbb6f2afaffee7cc1fd39b2e108841f39dc8df97c
-0f776adaf41423b47c551d48add01398dad167f4590dccc3106a5a4386499462
-78831779383abaae807b3b03b5dbd4b973219f2d1d19369889dd72e446ec95e1
-37017fbf85f4064f81f27cdb4f9117be248a8d5a65225edca22e833df98da456
-98a428edafa84085c323399562865aaa8286eb5dc63dad6839b597386e0558d2
-11bc45d66e0e60a86c968519b8b305d5ba7ebc2fad7cb5004559544330668c1a
-7b77dc9762baafb4190dcc1aae670824824e00f023c574e1c017e33650e24fb5
-d4ad701ab8d93f0fd91867bd21299867f966e93cd621ec0332fa04a2a691ae0b
-179d1dd6364166f94716b69027d8d0bcfc6622a086dbe92198e5c625699d0bbf
-a9dee06d20554b4d82584108208ca24d7509c4ea30e71ec44f014f8cd97b8eeb
-f1322fd5b116009584559a3b0574e24329aef35d2964756d50ee8a0fdae1be91
-19e20fb52c3437ef677f37b549851cc9bb60c04cbee8d80b6f1442cd8676b0e7
-bc4b2c4883d212135bcde4fc15eff6d20269a6f4463b12c214d99e68f113c5c6
-7c2d25384d8e7b9eb31d79e2c4607421389827e2fac887dbf08a43a5ddbc5797
-797a1fd10143a4e97ad79bd0bd7f3f1205130061a6581a4d30183e71fe80d570
-42083823e3ecdb6d6352b6bd54413a9b6bbaab94a76d12ad93ff99f9433e3ec6
-bab36ccf8168cfb64c4b15987379cc129f6c7c1761df5d7dc46e0996e5588298
-b329b023056dd59f4befb792c4e43fa095d63df49b6e25f821b999b56ae05919
-16346777c2579ecd17b5a87f1505f4686ba2aad3045cb414cc65cde98b92c76f
-20a9be4a42b77e077b9c00eaa3914709c3fc1a16787e639a2c7fd9a30d9e8ffa
-1d5a900dc9cfd5c319ec34570cb758bae3a342d936a30915dbd5160922aaf241
-74c014836eb17224a681c1d7cae7fe0d0627bd5af08286c59e2640cadf9e33db
-6636197d955a073214899ae76156146452d063a460fdc5a82df0eafe9ad88a24
-905f7db7dc8097c0d9b0f9319aea0aaf7aaed4a85c93979445e8d1e5a9bdd3b5
-4d74320a1b797ace38376db0b2f6566432b8a90ca4fc7842b90623603f7aa2e5
-a2f0298157822d42f334b8f9f80fb04c36bfde0eb1187c1b15ad0666031c5c09
-62bab12d2476f696939130c5b59fe70b61320e4510be29e04f13236cbcc78a8f
-93bd11c24fcc4b45405a13a65ea47c13be1f82075662c316b4de144f89beb6aa
-cfb84f0d288c67d488faed8dbfff92be9a24bed443e9db3f1deab63ae94eecef
-43ae1d68455826cb3a48c456d7e9a849a9822c77503e5b9f029fe70168831ea5
-2ec0c2c4471627fb5f2d03bdf8726bcce14a8a162bd9bb26137253ba8b581941
-e759a7ca7917d4244da33f45df6684d3dc361bda88b4a0a02e5e55a1efb0d851
-b4e418bc6a0e213172a08b7596b1fd93aaf111f2778006da546ca1db88d5db98
-4ae9658c1d31adf6ecd3180c19791c85a0ddd1547fdb800479a6dfea56ff1e11
-9b3c1dc388c0f372a44712954373ab66cc420b2cc80a92c2fa011d91c441bab2
-f54dbbea462e186e0617b2f3921f1aa33dcd2c1c5eccbcc37dc50bc29d0ffb03
-e45372aefe3b44d8584035f3bf5ad94459a65fa170516c271b722a2f08bd241b
-7816ae887856fef57292179987b26bbff4cf1da6cd2bb092df2f6ae3064d61b9
-e7bed1d13e534b991610a2c067a1c107ec6b0a8dfa6f6c4c2539c8747ad33057
-f5a9d083a689e34c8ca2957263786c1f78cff0347ba42730544865be79b7c461
-7ebf003f8cec1e4b6af75689fa6f6dcc317c7f6975df451eada5382583a1d1c6
-510ca60fd85e55c6e16ed39a86dea378d6f41c00beed05ff2f9f1a2219e6838c
-819e9576e4ef216802c4a913de00062e70df8d83754166a27708337ec6b8a031
-04a426a1c31371eaf807c8d638d16e6515ef0693651bc2dfc870a1a7e340d504
-be0feabf24b5bc879e75801d188856be2225a82eae90a792fb4e0d66ca0c4a64
-a5064e1c9c2fbe84b5d6578c2af56fef340a49911a0a346813fd5da9e694726e
-a0dea4f42008ef28f8d6ea9f974327fe71889fe76945b30fa99c4c8c7bd3c40c
-ccaa4f19c0e0e0c4cc88611829bdca334cd69463228c2f83e1467125b7eb3c9e
-812c62fdaf831871ea0af75efe4c81224eff156fb21bf1a27123d020beb9e1a4
-d72626ddf4dfd474b98694e87ef0691b71a8aa4d346d03eb56e0715d8f6148fc
-424cc472407f00bbff0cb49d05b0b5923821fccfc27869a85fedae1ecd60b31b
-1c8e8810879809ec069ca308454613df0f673b5516598fb5b822833fe3e0c0fd
-1b3684f7a66ff0f9132de78d198fb6dd459c42208ddd13ecf433d4c9901b0aaf
-4c8ca7685711deb49d9a2cfa4209a0d058aa8490963164652bbd3cf858e53975
-0af2b20db08bad60ac71809271597b65071e7946d81c02d8e8eac13adf5d5249
-ac0b42f5c602e16b6199dde3666d58abec0c1485ba6ba71086c36481229891a6
-89bd1c4d67e91e5ad6d75ae80420cac489198821227c1ac94954cd0c94098773
-ef4313cd8aa49aacd7d34bec814e77f9aa794e57bd14f678a5f3d9311036fcf3
-d39a94b0b23b982214469f645fdb728751627c28359d6613978a340b2b2ba9b6
-a0304f87a77389a09a36a660cc983072063683920005b2434951a9c8ff375cb8
-17ce6c78b6991ab5a5efd7dd4e8b3171133da1cb44af59bd84724150d09f13b4
-39a1046904d4d3ec3d2a90cf5275a9527f8c3c62a0ae24a60e9e7d1765eabd75
-cdfc9a14c4043fd34ea73afa2e08cec40386f048879987699fb8123ded9709a8
-75b020943bfafac56dcbe4a2101223949b0179cf7de6b550657c91bf3116ee7c
-66e23e4ff64cedac326536ca1f75ed1bc7113f0267ea7a26fd44728714e2a1a3
-13e88daf24c9a46de29e3767648e961b346ddc72a6724a0857078c9a2ed39df9
-d17c65b89136a6cc0c954e0c46e9f23900c7ce91ae71d74237ea1128637a673c
-f6ea0c8286ef99801cc6d45bb780e21c5a7464d16f77b45236bb9819ed3a8c4c
-7e1b15400eac8a99511e77effdceaf8af6cef034b79862eaaaaa00bd02f5667a
-c1a03c0188d09fe4d1fcc0b0d3354c880b2943b9666224238db22257a3873b36
-be9a8a55e01165f4e8d3c8eb3521ed57aa834a4f88b97f2fd77b3b3c39ae4bbe
-869a24a4714476b3d396eff67982ba0a8f9ac34bf7b247951c0c241a01f347f7
-84bf841495d76f9fb2ac130779145677c799a07678eb8a3ea3de9fd00430d46c
-b1b3b6c392afd853df1d0bcee9a053d6fecad859bb9bad0bf186a6196b89fcb8
-44799928b4da77817a8cd1c36cf9515090cbf63f373aaf151154a769cb58704c
-2c0263028c641e1ae224235cdb17d89af5398f3d1daf44254089e6b4db47475a
-1fc228e0151f244b025e5c14411c8834486e483e4cb4406752788fa99336d980
-a7a6e6f1afecbd87f2c615880f3a6bc21524abd7076eaba6ea1bae0f995fee85
-f938283c60a7a1dfdfc053a8353051b18bd03129dfe6b472e73958d11467aded
-ced7829ddf6e7879dced36391a1d113cb87969b0465d64b96b5360f774a98596
-1272aefdb74ea23d85c8af588ae0f6b43ec47292c880217c0ad03d87e1cc22bd
-8117ee06e36394a8fa5e72cab0825bc3af8bea7256e7f8abe7fcf57a38e38df6
-b60d783d56905a5d7794904c0cb95e2aa835145062e022b159fa7247af415890
-117a2c9a99674891b134760def15804badb8d4ae414a1410886eff8d5284b042
-9586db6610fc1e7c2ff53f19060e6b43dfb0d8bf8dd94efd5105ee20ae0bddd9
-58176c666d2ccdbaa1a3b0a8cda0b452409c8cf61b9e085d9a9164b7eac06dad
-f878ef8ff5e36bbd6414aa86e1d73d211175ab042ed5ff72030b44aba32b970b
-917282a1d69f3005b0a110f90942ea6f9cb2d9eb57a43000c48bfc2af2b572c3
-f8387ab21c90facde17d772ed98280b44061671ea4d98e901f33b8a8bf0f97a3
-d87d0c4d81d6e29d895f50c1552fcbef2df93a75e3b0046c794d20229d7eae01
-7f230053c4c2f463020d060b8552cfd6463018b4c03275dea0ac42977b3dbe97
-3d7efc22c9ddbf499f2a2358f6287a8c9946fd16e6e998dc763b5abaa6888484
-c2430f2fb9f2b0ae84984af32ba54cb191274f7b85695f5faa3cd5eb154b0f1b
-fa2a0b9ae93d591648d33b6c23e27f9a18e0b8548bf1f45158ba7c171bd1136c
-d045e9dd27e4f23dbfe5b29a66695628a87949cd0d4d15cd066916eeddc6cbc6
-f0a5c77201d4cd352584ae70d1b8e4ad2d5278a472d230997c7c03d16cb5ea0d
-d04df0bccfc7a277a0ec9516e10134a9ff93b3e6267c5ede4e5b848bdeb76b87
-52249e458b602c175ce8717e89da05ceb850d2538c340ef6142f0b5cf5906f99
-c271b6e5b9e614d64a7c72372835ec4a99bb39a7aecbc41d021118dd56d21326
-c818bff4de332c9c00e96755e71288117c19e3b920c23766f249b1abf4ebb173
-3f9d38f1772128cad4514c4c06fee49abf401feaf2368edf5b4f78fb13336189
-5040b953d2ec56876cc72fdf69ea7692da01a508c2ff7096e17d78e2f61a04b5
-400d9c28610aa8d48b790edb4bd5cf08646923b0d5a86178956bf7940f291242
-1c4f3bc76fd991e36e18d40f813095c5b9165700cf94403b23b2b7887458c4d4
-4a4f160ceee87c7d50fb4ddc3d4e3242d9ac170b060d472889e553c988126096
-dd343532e74b54d664d63141b1eda0e6ffd1d82ce4d084352e97f09e2e05a17d
-cd8bed5a8adc08494e5ba8b57ce522758413cbe5e5d74e6d3b251a6567fbea78
-5d838a9506c98691e0ee47be4421a95e6b02e8c66aa06f9c88b0ab94a1a32660
-fa0d8a24f2d5873ac94ff8e0670b96d4eb007ab89f1c77e0f1d1be46155fa2c4
-5930779b70c9a6d559a3646af2b83590b2f1ac3a3f1c9e8d465e145c69fc07cb
-5df5093b7cda7f1780def8060d7daf747491b0486e7ca427857946d2f3d0e22e
-018cf12b04b2ecfe3accb88e5e52dde2d9118a1747917e6a9f211c1d210b2b15
-8f31adac46b63cc00beed35638a2e8155805bc068a00b757d6f9dca2ae540883
-11ed782d682b511c557ab8c413e95ea8b6dd3a6c12ea9716d670fe4446629890
-d14a1ff76cdb4eb9e2ff314ed9094148bb33db76e4f6bbd5b6ec76aac13c6660
-38b1790d9c6ecf2f33b6d4ece409f012d58a75a1a4ef5e580986db61edcd97c9
-7ae81fa20bd7fcb07053311dbd6f3f73077ddd3949fa6dc327ad2fc056a8b798
-53b22c193126e73803c83fc4b7bd9cdc54c2fb1f6353ebddc027d3925bd32d89
-219a778cdc38e5f9621b41a27cb8fee8ffc1a2fc48ebd25828373b9bca8742c3
-0a58b2473a33b4805383415deeed7197a840f6c39267de16ecfcafe7d585f672
-b5ff6bb9d143e8e615d349ed779b847f2b5930aa83b08792e193d64aa163a090
-586a383d4ef4bc273f162164154d9abe6e68e23078cbbbd0a357a771bbc427c2
-3b6a3f24401e31edd9fd7091e8849c8e37d83ef396dc505f8f843f4ef305c505
-53776af2c088aaaa5a5efc05258cf692b579cba82efe7dd3f3394d985a5518cf
-93c258a168969d01842a624f56b4a6e50fde64083aa7cd0a8f3c0eea6e6d9a06
-d24b1f96d34d66c2fed66cf844b490b537561865299d18dbea55e025643f78d0
-2419619759dbcd65ed0ac4a2866c61f37383902b4e1665b2fd9414d348b4d41f
-ebaf2a1e4bc97f5497de6237170ec27597c98e6cdbefee9c6a7b106b3b6aff2f
-7dbc6ba1b2d145285029bed2766715781b230aedca4dbe0c92945bb7954d9fd6
-1702f5a981dc0c5c876c28659d744803202a5929f03db99b32f776a794afbec5
-3f03ab51fbdf52c98de52fcae577c7ef0a72cb1f4170bffa48734f1df30ac772
-9f23e8541aed00a2cb2bfa219626421f669494c472c88e288e5698541185b862
-29881c30d6b6124b276110bca39fc496691eb1c61432cf296b055401f2f63e03
-22b0f37395a0489a031945a21fba843a881730d3298008bb4c023b24b195dd5a
-1e30b76210c17a06095e3222bd39ff2b7f7b6366a173a9e0cb527172e1da2308
-5eb7568000e9e9fa521f977c341e7c4cefc883522696ab5617d6f6854bcaaafe
-ccb82352f821fd30f6edbab80310bfff84779899bc62743894dd9e726c6a585d
-b4a2883fddf1d1ccb7dc8242c6d0f16d008d551ee9e02cddd4a21a28cb56bba4
-0bcaaaf95dc41650643302346318e7eef6bba6f4fb6eb956f99457f2d2ebf601
-65b6b1e4405501ddedc0d2cce1a9cc7ee6282a2432e88ff45ac520a8155a2b4c
-4bfbef1e1a860ac2a2f2d25c1bcbd864001a54be48c3686cf72e98856e8d4e4f
-2b3f382c3e3a75bef479a567bab3764282da78b388d27a6dec10e31db5088362
-d3586e219c55ec4e24bdfcd77b920f5ea332d29630559785a900d05813400556
-d1d0721754258799fb25bb59a79699f6f4e56f0e58f6748bf8091d848e4bf22b
-728c913b0db74e9bae863413ba5ba04ec732d6f50d838424dd1a47b29e51aaaf
-8ee4831f52722e1627bc84cbc737535206f251d92549b8e2d24bc6b3d2cd5687
-9c4bdc972846bceecb47b5ad23df0a82cc481e37d74ff3389ad3535d0d6254d6
-d8ec450fa1e3b81b7be26897b75025a64f480dada26aa777cda828ed66cd65fc
-9d02717638bdb88571460a45aaf9abe1b460659f7893c1c64008192e38cef686
-8a076a626165bb53e34766580ea78b2bb63e45d6fa0ec31687bc4f243760d452
-b459dbed951640b1f5083a19705a3384af93eaf503a000e3f2384062bb52559e
-1e0d8bdaf66cdacfaaf91636d01f7a76dd5424b7b620a706304cae6fc50f0dd3
-8d395cf39dc796c7ec271721e13b1dcff35f06b5bf5cbb6b2eb908714f4fdd35
-9763585e39484118b080504f1bdb293321cfd1b2913fb217c7b41d7212b1daac
-1c4d770cfe91a1f649d760c132fd77024f7a0a4e8d0cfb275f5435f3dd911be1
-1db381c01a9c04645631fd9e1c871c5d2c91ac39a18d8b9dc563633d709a909d
-614024729bbb2824c33c216612efe88278d6b1082e18f486631fde76aefda526
-2a194ecb406ec7315a43695256b1f7503d323c8fcce1f572ce5410edc931f97a
-fe2671156d0167b444ab02691b81fa57696d07e235dda15640ce4d2a936d1dbc
-a0d1f41aff8f3ca1792ac1c146021056a40ba5b30278222286a89825638edeaf
-429cfba89cc85ff869cc5d51e41a8ffe937e03744732e3fab250127c9eb21d53
-48e3f6fbfa7d4abb16dac3c45e68e355e43d59c67a717495a6acdff50208c2c9
-7ecc5243915c0ba12e420d4fbc39c5332db7d681e51158af491169d7f7212fdf
-47b9a9dd0af18a2c28bf94199e0480f9cd97c2ed0e79a57a02adae4b0cd3c1c8
-f91521a111933abee28bfa1ee0810db409fe8dfa17195a9a7637f180ec400844
-e497a7f9cbafb57866834f37b2937cd71cfd5a88eb86b64a01e33e9a639ee133
-89460417242cec260f151b9613f6aca727b2578770e86b45b395b951caba7afd
-94c3442bd844ff531d069b8a2bc52710d341882860864884714eacfe23bc1cb9
-e4823b3c2315c09342cf097030f14fd7e663c2d030d2d71079b6d53799e5917c
-9798624793a0f850b6046e7c987f7b1b01b586a83e8fea61486dcbe8b1362ba3
-a2ddf29c622fa55d54800823824af57e426b41b6aeb440da475e13240445d467
-26a6d4518ca92a6003209d30974a40872e176ec005233706148979aa159c2b7e
-dcd5136921bb9116855f20b0de9f99a919854a9fb381d71265dbe5375b06ffcd
-490b11631704a069a04c0cf952ea0d9c4176d5acfbc48d8a48074357b1b4a8d7
-1a9bff215c77e14d23e09393eb10015a5474701d12005e66a31aaaafcae6a030
-34e2281bec8d06f7b41e9b2dabb7783daec99bc7a3a8dd48e90d36848efdde98
-c09309fb1c506f5a1c0af132020b07afb2a9b3c457cb0f1a66684e043872b794
-534308404c4d7faeb296d9f1561cac5fac91f4b02f89b429212c58c55cb96fc8
-bd812563b864833a0f9fd69422d24eb4a4acc9cb2bebc4ff8b9d8e891a63babe
-c423cda2fcb7cd52a04774b3738108a19eeb1208256540bfcea23ba55f4dce15
-e1d176c21f166ddc1c2bb79b75d40e38050c6658a23c416650a1dadd17e15584
-b382a148d2df13b0d186484217ce6e11308856598534befb42a76389263e975b
-0a17b79be1c651630970b99d5956213b5da9d41d160dfdbb14de1e25f83725df
-ee7b04c5f1eb6cf4914ce25d050de1e1fd701490f5e4d82dd51b28cdd8cce9e9
-e39bba025c012e85b2b1c125c45943798f8b93c791b06f159bbbe9a3ab1e0fde
-320164f98cb091b751a57d86d15a0fe812f9a8de5306b3cb033c9e7eaaba9054
-54af59e9d61518b06302c9aad9a4884c222a41898ed8e340c7b0163e5152a394
-ded4c2abb46fa6e763e27b55fad2c1f9c5e4ddf0bc39fb7178f9f5c84eb6d793
-04815fb8fe12ba84b91019d3c52d36febd917e5fc58c423b5c9e09ea31bf78f1
-da64ca6686189475dbdaa3fa111c24cd98c82e2a9f4c768969ca12ab4d160b85
-7aff1f4af235f5127e7735fd8a4e1f4023de13c477e98d7190bf7b6e45b4f867
-38f0c045e958f0e2e20fef19fe492044c0c04fa16a3a0d33dcdbded65d83cc01
-38ae67b6b6c82ce18705e39c04ad8308ff32f03939586fade451f2dc110ab4dc
-fb3125e09d8edeeb9c0ebf3d289f9354973ed883cc9df86e126f0cdf91d07622
-8d14814c51a72aaf37bf555a0e2e8ea5eb932165a430a9d0364247f0ef15886d
-fb61e13710f14ee5ff73120542ea256894a17034c5b5d2db4089ee4ae8a5aaa2
-cedfa0b8453c045c75ccf036b34d53f810c2a219e2765e0f6b1aa7c7d78dd6ed
-27df905f4874e65d79c161371032be490231487d9b877b3a2c6e8a9840e8f421
-7c2a536aa271ac2f44ee7037758b75f5eccdf5ffc7cb94cb100a8710a118e0cd
-cdee5ffe9a3cb0797b1015e78da676e14b78a252fe4f86deb0bda164d4058b46
-3cbc28247564d64fca96b4e6f54499e08714982e495918059ef68b396226aaeb
-e5ea86f697256fbb59abc1c752d459d585ddeec5792b769e8f1c55c79f9dccf9
-cb52f236496e84fd5e9a7e4e63d037835b976d5cbad20aa538a07fca3e44ee5e
-f03e7b4acf304a825c3d1783a46fe5c046e30f75e8935fd323a022161f2636d7
-287b209d2aff608abf3074cba61563cbe724afa0f51b8e2b49023d2165aba623
-aac35969666595b7f010b911eac958005ac45a5b756a9a1b711f79f2d64067a9
-d4258ff5e7b4fb2142de1e561d8d098a11d63934a065585dafb5693d7b9a546a
-ec40b879bb5b7c167e85cc4e9df665cbf0ea67d12e230d9bd922af96eb39dfb5
-e7bf1751f575552d9df1da8402ef816ba3be8f3c19b8912004e1da13463baf48
-ff7b3b33a57aed2a3e9e9f145be50f2e84900daa0b996632263af132f7e6b374
-35d91cbcf393cb46649ff8ee35a93b7e27a9bf39734b53cf410ab3f3a2fc4027
-af2c873a42c13aff732acc9bb83bf2862e7da328eecac95b7c0f0bf79744ea95
-363f54a5b19fd37f0282ffc0c1779d733f531ff661381dc983de2858e791ff20
-17a15a90500c579a5f61209d9a1f503788babb313bfb33f3ca0732c984c398db
-687dd0868699e20655fa21040c952224811bceceb52c86e3666430e4fec39c47
-4462ea17dbd53ce9feb02d52615b93ffd7928c8f6d24b3be92f7731b8b087c0c
-1d51c663dba72b2a6879c6f55c1de28f339676d7bb9af94fbe12af5488d4b3f5
-b529a6a3474e3f0cc46869343243748527080265184bbfb93eb971bdcb298e54
-16030d4076d4402b653b180ca984be40eebf024d2a7faf3910fa14a5545c6242
-fc6d8a9b6380cae5e75df338e07b8784bcbbd5369ad30a2c6a7ec32cf5d78219
-41b18b7aa533b522565cfa592c54a428813751b5943328dcd2c6a622ebd2ba11
-c6d2d65f03b4f419ba4375c714e62974b83a5a5c4392c26da2650e0ef90e5905
-402cbcac72fe007cdc6dd09bab715b7776e327215024acc013cc55f0a3a26859
-2a02a0a9f87370cc81e5c185db2e6090b6b2e947170a41ebd0cc6d71a264f0ca
-16eb08e781695fd8d35777542ba057443ec42bf0a822c27327b1e064af38db65
-9233639f837a74efb758b74a117ec8841779afda95ef3f0f916c97936ec16bbe
-f2b917a8e8e686aca6930649129fbe9dfd1f8247b34dbc586678999dbff6a12a
-c51c1881425432805a253cfeb23c5ea0cdf05c62f99d34aa7f73d90272af0969
-68ab75f3f1ebb30b5ddd6233202fdae3573f67a51662367833673f7ff1344346
-446dcd3e29699b9028c7bbed09471ebc899cb3139284a914b98fabb1d50119b2
-347ed0d201cfd78dee828badc1655fa2c70191b24e20e699454570fb31850dac
-38ae12ca5cdbbe2b0f22f0de8ef8b927dc6c54ecf3801e5c2544710a2e8f726d
-cf297becfb7a93b4b422089200aafafb934334704c3d384379d34147f7d163af
-3cb42599ea902106ca1befeae26d641d49b7a3490f09bf16b8d17c026e40a2f0
-8d727fa2aefcbe4ac82dafeef86eb672a95f413b73858600c7d9dc544694e25f
-259b039558da35ba48443e6c931f6cc6ed108e765c879314e532d888a79c1b2d
-460204838fb662dc90465032792f03f18ceb654a379648ba449922c9447c00d5
-08b81dddf1fd0304b2b803785ee94ae63b9700b36fcc894782782f51f397ccff
-2a1734032660685070d6d5fe94636e6de386bf347f063dff5819b6b8554ea416
-59da8bb46c01807fdc883e15a200a6cedd4b95810da0a805c3d71c6467d84899
-6b88c60191c3a5e3c4dff6863ff024a5c4d4092164792a397b7d390b4306b56d
-b002e6533752ab431804dcd2ec8c9cf242efc7b93dd9c3fdb21824068d3abb6a
-831d89d241613946e097ce77a82f68c92da11dfcbde58e3450f2830a3a049bdf
-c6e9bdff298b4800f150ad3833a612643316cb420af3db29f008ba36a2ef0181
-f64b4bdbb6334233c58e0e68876a6d2048db062b61a9cd020ed7ef071525cdb9
-3880a24eaeadf171b5c077e4de8527b5ed5b7e5005f73c09b2279ecf72e1ec79
-a3e4837d33cfd614e6d82df617f77eab048e71b51b3ba4334d8be27798576a28
-a21ed866fa75cd39ad747a1fea7a57446111ca317372060aacb159ee90e5efbc
-dc5fd16b41a5e63363b41f13c0160f719ce353b913d069e4126743b420562d52
-e56b970fe3e660f4a850e8ef45f7262128f936ab5610401756ebeb0d9b5dab1c
-8ef2d95e0cbe3542bfe0c6f29febf3f5a39fbd16a5c27d652c4a0c542124855f
-4b53071df5537a5fd5bcf653c0578b4e324bfd7587ed10318333382ea137d90b
-f0f83b4eb5d4796e42fb7053d4cd9feeb842d909cb67ba4bedf8592c876a83cf
-48e4a2f7e92558e57a5cc6c3c6a4eddd68bba96359eef224fd78f909e016c5f0
-ad7740a686e566386c4f000764c8b6e97a1f3e9e98b047f75cad6b84d502c377
-846904339303da4c0436f1f67fcefa9fc0581f769b319c38d4221576b74b949e
-532b99ed1cc90a2de4189b346dab2d48777ba5bd5cfc80bb15f0c8d4f478d007
-b84aff3121f7c0cc0887dc20cf195b1d964e14685acd86aabdecf09337ac26bb
-b0e45caec8be479279364fb840c6ff36d164b7be25f9f811a466ce04c2ce5a77
-4ee329b9bd773657737db17709d3a6913793de0357bdea11ddd259b5bdc94e1a
-bf95d33b8396ae9b26342cc1d2a2831e95939a0ef5f13443a9150f35aac5623b
-cbaf6cc5d24d51225c2920e3bcee9d09ca5c60f22b07f24a26dd856f8efec9ef
-b184f8a92781ea228c2f15ad9ab1da75002c9b352316a588d00af46a86b73aac
-feb16d461c9cf969977681a88806c8e6330c1e9e8d428c91de717fe3908802ec
-38abd40d988b018fd7a4c02a20f2f3c18d8364fb18692c310d4d1977be4108a8
-56f807519b471ded405d1e7ed6c02676970c2a1df6cdcda3b38edad9b5cee11e
-5b221716f3137083d4a433e6af2eafe4760b0cf8ccbd5c15af998b5d5785a3f9
-b79a81aeaa9a6706b2dcd217ed437b23de309a360ff60ca82a8251be5671a625
-a90de4daee9941d44d8d1e3a19399f13b93d9b567b2ab2f9cf2b71058ccd9776
-3b6a3f95ea470066f36b343c0429655f8f25c89e65074a52cc6047885f4105de
-2ceb8f80846530a88228b1f44c73e8cf8ff1e99d5cdcd3c91487caba9cce19ac
-bee693c2479d8dc2c8799895e188155502f957b20e26619874cebe43d125f6e8
-638092ae98ef4429bf719bf6cbd17b1f1fd9a7c90bbb6b0b34614b32234a7f4b
-1c259e4b10ec72d3a2e5526473e551450a11d8537cd6d3dfc472576307ad3354
-b2a9c24ae22c90aa37b1ac70352969e2aeb30d0fa894724d5e47a87e7319bb35
-7b76e95d7f665952ce39e05815e5718a7ec0d09dfb566e589c3655e87588b6b6
-95a272aba75b07eff8041298b7a1bf6fd1b10c5ce008180940df9f4235fab68d
-bc3d2ab597192b0912b5d9486b5c8f6cd5238cb94a0c807f4baabe7e81f072ca
-0b626d0a5cb1b8254a4ef588149c84c53d27ca3cbc729416976bf6a20bbed57c
-6c0fd85c86dabd7ade406b27a8890bef705bf3c5c8a59615d858ca2707c47404
-78f55c4d6da862b50f90997989ce492d884f97482166d5ddd4eae075395d7be3
-cb0dfed4d966b2fd24c41acb6ba9f1280ca84aa8cf607bf1d2cae3c6dae6871e
-c5eb10a943c84b83095fe1b7b9bc3682b5681a850001be80a48a2b1bf22790ec
-f53a1ddb50e2325392f118cd56727005b947495ae8ca6e46cab765670ea03488
-39275b5711fd6b227ed1a6b66c02c9f199c8d54b46609a0804fcffcfe0cc8b65
-0f1ec83354d395ae89ef02d548088674fcbc0ac0daed78ab47e3ed00df77c01f
-2d0e5967da9348fc0434d71eaf90785c3666694604f48bf2043bd54dae61ea1d
-3e2da8efc1ae867ecb0e7d11093ba20786413e80c8f05dabcf474d6d9a1149b1
-be96ad65eeb5b865f4b321de61ff8904a072092910bbfce7bd5a42f10c355e73
-c0890e342af2f2f4d7fac20c846d372877c7b12776b76756a9002723d5ee71fe
-5b1c0e5fbed5c354cf4b9cfb843f01b9e378e90e7a56994325c7c447e5269204
-c83b98d99dafc77ddb6a3fcfbbf430f6d0ab8a832c262f879369fd9ddd33b1df
-602f5462b9f2b29360f1a1b7d7eecacc4f10f188e7e2ba08005878b1d9c3762c
-ab8a29d01c0c164efe8d37328deb51567d5f17b25c11590a1078d53a36bee786
-5813fee10723c1acefe111dbc08b796895f2e1bb190f3da6accd6dc6c884eb44
-ec4d78df308ae7e774cef87ed4d6200bde349c35d7262448f165a6706c33563d
-24d04d409c69924949aae19c13d07ee64910d1c29d15ac711fb56e3dd05a980f
-acc11d9c08863c32a28bf94eb2c8fd1fa0ee61b939ed944b017a46b681e95cbd
-0365d77433a27195df9d20a3483ec94192fec56b9af5c656bfc2924ca0c19fef
-ad23207ac6d0169a15cc273d66899cc044b5efca9ef4078b9bc1e91f83842624
-c08a91c1c0d20306b1479e749386cc50fed78f22a27579fcfe943b033738bd67
-db8c4cba7f60e8ebbefeb2ceba747c757e902b70dc09622aa4ba96347b6948fb
-3ed5c54ac78148b5976001bd3f0474d93f4903d15a6cd68727714ebcda244345
-d9a4b0020bde3e2c74385736f244206da78d0331de35feb4960d8fcd0ef4bb75
-5ab20087c2aa1da104d16ade37b9159caa0f8bf528b55cc005f017d6823268d9
-b13d199ce47d3c95e492ac8067fc44b42ac8be86b639770a91c75b7f7a55ff60
-0181451587fca8bea1721f4950b3322dd9c8a09cf8e4d2abef3ec038c8302e9a
-3194d54745d5798e3b3844696d3c4566b179c98b7adcff4bd2a4fb402ab275f4
-30f2c77eecfb3c473d2e7102592e101c3d38f79a08021227f8f782a59d20cdf9
-c9750a8c0ac70e34d983356c313f85acb56ced4467357e07e23a62ab3fb6ed71
-9f9bf85edd20af93c1c1736b6112dfc8447b6d06ca12202f84b34f892a1a13af
-4423b723c13701aa57982dbf20ed6ca129b72f79f77f1705485967980db5df42
-c662f0ed38a02b55cf048e713c0c6a1a85c900acaeaf6d045dc96bea5d45ecf2
-8ae85d1accc9b38a45d6f516078c72388e5337b9c1a2023d086e97e3affd3f64
-517df9ece75c3afd0e3dc74e2ed3b4aef8a8c032cdd70127ec4698db19c78646
-58f9dcd6b98676dede88a1efae04d182ba73475290ba87fdc71cee2737057855
-c9b151917eb5b3cde9f70db961ab5c8a10443a7aff427bae1d1e720a604c39a0
-14de8b45e528237198f086421b5938871ef89008148eac965bfcc850ed7aeae5
-ec3e8e37b9762a8a6580c791cd89c4d25fcdbe778bae071bb1e18257fefe9771
-255f977611825be7f64134c3521ebe7c549741265838ef00f0687ce14c463d97
-884893e5c967d3ca5286b52d0aaca5ada20e778a4f4c807a9cd97f0c05ed4876
-1cb09c787085e213a86b7aaf33acf64552ce5d8c3459c261447024035997ae76
-85d1d4337cd1a1def984e185779b2a0a8a3c8da6212730f96174f4c3b104d096
-3e0e395fb85f918cdd5f98c77daeb09a64169dfac253730c7da4122a7025ef19
-dec6042fc24d4565a1f8a7b37da00d170b6c4be72475544dc73b111c775e5c20
-401ad5b382559c2dde0bc3ec0e46c07e42a08de477b3c07159666bda273e29d1
-8ef5b8e6d514e510d8210e0a998508c3062ae26b504abb3613f3d1f167c87bc6
-48308196ff8fe6ca97db5fe0baadbfa22593c01bfab9640edc31410fa037bc90
-f6ca35ea8010a6b3c031b43e19c38a010e84f1c5c97b73fb3330ac18268c16bb
-88648034875df43ea61c877c3278caddd457ee47509154aef00a86d801f8ddb1
-44e43f5ee5683e3ae84b7f6ba7aaa51f038607beb96ad79183364c49793ff0c6
-98c2a8fb0ac71b8f38eb7479a4995e1fbac92278b9f3528261d822db91d5d4f1
-9876784d0651ec7291f19a5437e987cd727afdcd267f983eabe8e5f3879805d1
-3f2089d9fca9d35e4fbfae0d72d7d0021c386bf7608fbfaa87d26a57933bb6ec
-95739fbc3f7229a82efe4343b679165df1ed79eb650fac11cb7f1e74d6fdc9b9
-a8847a85bd24f58e2d988aea2f26eaea9d27f5892d2cdd77669b849a92f8d0d7
-5c54ed9682ba9d0c7058e04997279bdb3454d2b6a44598267a269a814aa9e1f0
-abf598a1b6c2afb75e173eb6fc2634253c04fcee9cb2a896523aad92457ef0eb
-321e0a037eb6cfe349911c148473f86b5aff5b8985533a5f6d3b406ddac73d35
-23071332a8fc34a4816171b2c8a19bf458b4ce7259270785060b9d673f3c4997
-2da999ce0f2e7ebc2b2cce6de818d40f020d5e53b882f0d3754c341d5740ae72
-2868f364a2faa97e8c8143de444a9f3ae27eab6c4f7c838f3a5f8b9600d70831
-cbc2dc64ed3189f33030d0b32211b757f6682949ab889db99693f4dea2f670cf
-057032d3034aaa6c3e75a0bbdc092c5f4886b169e59ad2d7f4d41cf7ad2f5882
-77914fdb7253e198a40b2186b1a9a0aa958ba9fb99f21a074825e053e562c2af
-8cd8866861ae914042dc4b8b5342089b21013d519c44c28482cb8801c73de3a4
-9d6dd060294e4ccdc55f000f0ab7900b088e141fc2d8ce68cf771a068541657a
-8b41e95fd2b1b452949716ad5bb0b8c2ece99d07a41f3c3ec381212baf8cca9d
-801a993c8a3926b0e0d60637618f69facf70c7b3e6af9762afde0deb9e5be5a9
-105c3164b4d8372414fbee3181066f1772d21da04d0b350c806935669fd69cf9
-6073c324b8ea582638b11e58e43267c3854fa35c3deb3160d7756d66b87c8385
-92f86ab8a97bc9d6260e2723d435769d15dce8cec387318add815687ddb99d5f
-1980da44a5332e5c98c59c8d6ba28a995ef8d809d783a9b2510e1c6b820c25bb
-90f52ccb9fa3fdeaa661a69921794a60a591fc9157e755c28aa399f30e93d298
-9e7b35fcce14d5fe6bedab37c173d384d3f67323e702b14ea74951c5c07917af
-f9f9fcc450950a8232cfc4744dd38ba79b9fc41a37205c97f44ddac6ea5d423d
-7af9883610084080de39e5a71db472081595235f72c7ccea69a20cac059f2357
-b4d60e158834ad26f85fc1e9bbc948db8fe7a03c5c401ac2ed880fef8803e464
-76b00961ff910f1fcc897e1fa4f6b697a616f07aa95f5616a313ca01f39aa99e
-8a5a9fcd389c99d750ccfa38bdbdd9a0376452970f91859aefebe5b55779516e
-665c6f786b3d22a1cc781a729e477c5f82a65027c87b54a97d9130bd4464956d
-735fa5b8f710cea51eb9bb909e89716160cdb112e44876ac49494f62b8f46e63
-c978f80f3a57d99ede832bb7bc1ae59ad0025944669343f432bfeadf8d7408f0
-50c7568da4400df96139c1d243b8634b19f2134fd13c783fe9012a58a7e7843d
-55bc3b7c768579bee6f5931f1ea9caa44bd6808b12bf4550c852c1ee3cfa72b3
-5c883f0b6a4f4e5d768f93aed79bb5c70b681c3a9d604b6eecb7026c1b22e28d
-c184d2fdade4c6afb6b9fe8d7495abe07547d092bdd73c5701696e6f256cda8e
-1a6e58f3335e51498df75cf37a7213fa50f6d9a7a4ea4a251c3cd004b75b8805
-8c8b8efba9f66bbe5e8f321981aa2d8f5d455b47347e368686689d00fa5f996a
-b6922e325bf4e72ac9cb09fd5802f365e4a15045683884b45f15175cabb62651
-3e71fdf4e7ac9b4b91772644ca8e55c530a9459719e181f9f2d211601d1bc5d0
-55731eebc2964f4add0f713c6b22abd36bd9163902a147f5172c4e054ff44ff1
-1999337a57a673028374a04b65e7e77ef2ce24a75c90fa2bb48cad9e9fa77111
-24514b9400e2cadf75e9d7f62fb7993f82cc336c77716bea4c00c931ac21e95b
-04f35462cee46670514510bfa22ded3ea18bbb8b511f42c637bbd06134280404
-05d4355a5d252d9bc291c14cc81d77c491f62a54387442b9a884b3d21e0adc5e
-1c120ac2c0b03a0355204eda408570d379547d40314f5c61f8c97971b91c521c
-a5e86c1c321a90ae21dfbed0688e8c7287e7a35a1f0807b0a9a811a6d2d68636
-0fe12a04126f19c9b0fbed1083265ef6b2f4d463563df3b1be5b9fd0d277d53f
-f4f5ee43b113f580be21183338592a57e29c025bfcbd56dad49e4b5bef14363a
-db5594baba9ec550bd4cda1759277595d677a71c91925e6e1960f31a24117609
-4213750579cf163fdf9b3590951bb5e2a8f117412025f1807584ce1a4cd382f0
-9da5d7b56954f85327c0eb4ae556b79c08048b127101d2fb38f16996f1b66fbe
-0040841b5578762c35849b0641d3343d8290f2aba7f075a0e2721718e08f0a85
-1fc82805f23c2cb0cd67740ce3d5bc6b97f98f8818cd39ad76ea2779c48ce48d
-43302c382ec8d61904242e9a5e28527ea6a3bfcf9dce17a9d36398152c7c47ed
-777c944db9ba4bec4f30a1261a0096081ceb94708ebe98e7165ebcbd768240be
-d03fa2a0904086e1a4fbae8788315c7f864754e63f2399702bf2dca498b2b352
-09ce951389384a9e8ec4f01b207f61112956e9a59c0bf46677b9b1f8459b41e1
-b8323e5bb1ecde22bf2c47938e0e2f548cb02758dc7135004e448d9e689cf431
-11d2fa0a98f3e31b3882cf8689c76d276b85177cb27357bcb2ff0de3cb032166
-c58f25e0ddec5971b6a81325abcad1fc2a27cf0b20332769e80028ea27b841aa
-16506f7c22dd55171341687682311e1f884ef87494bccfec13f5b0b217333376
-fb86573ee65386e19628e78f49c6cd9fbe4cfdaf21ab25e6f62a99cba323ebbf
-c5eeaa523613eddbf85de5dbb9c66de1748624c271d8fdbc16bb8f9196428516
-f85e26d904878f9da7bd61848e96250c225e09dbd4f15180759e3e5da86d0dc3
-f5f4c5df81625a466d31872b9644afa35c81cd8a84a052b954bbada87c1e50c2
-c39594078c068c9b0aed83074cf941bc7afa3afbbcf3f40f34e4e3d1f133a57e
-9c10799313813684dc597fe5ae551cec1f61802dd873526fde81f323b6c62530
-0a5ad9bec4131b9cc9cf26a4554d6d64bbd5c7eb59024b2526f12f3f9352dad4
-7043446118b2339223dc051a4938bc6a2c691029d693b8bd3d35fcc458f7df7d
-bc2e51ea969285ad222a233e5331f99ee402eaf6d76403f6fec3114e6315a2db
-23659ff88a0cf2738c290fb6ccacc2472bcaa3e0ce03f9e9d8357b89580c95f6
-f97c1ef3f0bad43253b8e97e6613f0ac04f55f2f321b5688fbe4076558738b71
-b378712d45c48ff6ec34057bb2a0aa7086c27716aed9c3e6ca6703ffdcfc451a
-0471ae9d6512f0fa82155ae17e133b685717138397757d0230b62cda0ab1ee9b
-b1f0bb791daad5f3789ec0f22d13b44143b63250f09ac760e86ce3219292c6f1
-ca0e77313611d8282d8f62c986fd525baf75a8ab194038359f6e0217d1a5fde7
-ec7de056f4fc6893e740dd8c9efcd629fe529d5116db5482d12bf39b0e3a40bc
-bf1b3f99f627cbe937656f38909e3924b89ef1478be176320b6fb8a7c750f41b
-90dfa427229c900b51d806d959be3b8b2b6e6187fb1bd406fd179dac8af5e70d
-be10e747e198dd6cb67872b48585f33aec68a3ca94a22224056a32a8139cdba7
-aa07ea5cecad1d2e1054cd265d35c6b2ec0a25a0dc415955186cffd2c4b6a86c
-028129fe12b4fd07dde82836ded99925994f058cf323bd1b362a86a8b4ac5aa5
-dbad763abb2613b41ae6b947fb79a7edf3ad23eb7d732727376a1fa9ee0e8d79
-3b5871fc0e4535563bccef6ce24a71b717f90590a7317652d7978bfa78a72454
-353fcf512ec5e804ff6d2984c3e905401b69246e1b040693c581e794e6d57ed2
-5dba59acdedbc4114116da97b749c4007f51addf7dc9bec79c77cfe29b6a93c2
-61e2007b01a0b8d6f95a9e6c25551a20ed592c90c7ab5071280e5d85200d776d
-938df156ecd2d863f8b1848dfbe5d3a40d4b817deab66d5c191b4b05035e0009
-5f04c4cdfa26de785889829564c27377ff1f2518da932d4559017881aa68a802
-5bdaacfd2611e101ac667d3b69e7895337d522e56b4d9698c4c5f9a0e83c2386
-f084f40a75282c72b2fcc12973e5edf34e810fd247f9c0317899fe6efc833822
-8a788d33265883fcb78366ce69783b9a15e8c041e4556293f61c571bcc985d69
-b1761aca9460781c4b9f9035370dda95c777de8d35e1d7aac234987fe1a8ff45
-37888fde3267d97e27c8fb6d95088f0d207e4b8d3e3d689172b2d89b8dc28b34
-43d14646b23e3807afeaf3c83a22f45cbfe9eabdcee160ab7b1a664bb5fdba38
-4446b84b6b863c892a6ecf33f7a569d82df118582e514c11314dc73fdb04be15
-b6bc9b3be801419d90b74cdc52ac40e1342167440621fcaaeaaf9db8f78f9e20
-045d3a26e1b51f2c786b23c09cb94f9cc91df0b5236e3f54062925ce8804113b
-c93c3ab041948a2027d00e112043ef82ce54365fe241a2c503fa334df6973406
-3402fc6d246a8694f436b318bd5558f69c9f182746a25aea1bf1993f61ca48b3
-b04074f8a44206716d6a6d834ed3c455e272b41810c6d70133c455f246aa7764
-a104c482caff864d86eebb2e1764735775e78850006f959de537d66dfcea3f2a
-45e24e7d905439a59ab155474bb3dc63897c1dcb7e8f298366dd49b9b1e42f94
-816a3c275460375dbdf175ca420b46df137a34bb1ad7983807677f093a05b90e
-81fd0ee6b6de147a9813a1a1ec0c7d859777c0b2945edf2901f883b8b54aca59
-814b951e4c97fdbf48aaff19cb9fe7c6c0de6532f656e5b1f03193b58ee693f8
-4684114fdbbc86134a483ba1be41cf4fd823a23f5a52ceab00021c2954e5c04c
-865ec7222d33d82f19e09375610ff6dfcea95e0a25a1cd3d6156b63bcfa13740
-63bfe1d8a5e45659b0c924eb81cb3d4e70e59515ca1be45f66faadb5993ec547
-966f70f5d761c8731063422a510984f7b4587efe6799d2f28d90236b49ac10b6
-fbc45ecb7d91017e16e4fbf716709b37120d3586363e33d94ac92b01d1349c00
-18825eddd5cd9cccbf8c70046ca295d885209aa3fb0b6209c5298ef4843c39ed
-d64dc504c278334107d322cde4a388a4a079bd303c4d5588be979eaa6cbdf8b4
-942ffd0d27b2ebe1533f1d31b3da2c7fb5c8b663391151fe897cffda8c227d45
-e292e9113ed2538712b40601f1f0c8f3d0d69ccb584abe6db54b4044034791b7
-d7a0838aa9d80c971f45486b4304f20d68b76ebc6e55bb683dc20c356176006c
-b1f902f8d0be642da9f9209703c23e48235c35778221689c16d426fbd2903d19
-7fd00e071a1989e8b2ccef17d51e7d73d7189c06adcda120cd3e849c603729f8
-85006337a3a1136ca31e0e41d674620f97f0101a297a1b731b1d0348c51d72c1
-4be0366a2667999067d102d7007d510f31074799ec5cf6ee355e59bb68dd85fe
-3e3f553168c337afddf1bbf895c0df509355dd9120735dec0715fac5804075fd
-cd57fda443cffeb9e9d8e6f24a3daf1d9523ddbd29532a6c5a79e6b1ea1f2b1e
-55e0369cff1bf0c074873ac1226354a6a74e62faf42f1a15c863c0ba21c3c399
-b9c1ddc4ff6e9bc9a3ba58581b6bf67b89b7045b9542694b9c2dc3e185a1390b
-67aacd3c344d37467671f728fddce8bb08e2c6b8cd4a8abc60de087fdd560130
-3f40599da3a1d4abe2e93cffc5628e62d972f034681db1c6b07cdd0e7f9963dc
-0b146051fe8140004c5cb27f0f0411027ba88646baa9d6f02931a762300a8085
-7aba1853932d380a72753ebcf4c9c24a03fedbb2dc057c6f62f31695d35a7e8d
-da73ea4a610f515fb52ad509605b8deed5e44c36b7210dbafb46cf2c5ca7f42e
-00571a8a157a953226cc00a87592050135386c5e7fa1c5e3c023edb0359cc26e
-96762eff0ea623651b10ff61835614486760930756e59d54919f0dfe0b8fe93b
-9b28c474055246750aa1679389c5204657d283981a5cb160e21c1737503ab109
-044a661a3b3d100ec7f4581bf7b67b50970078319890d5a67d133bdc07265d22
-99504698a00ed8c9747feb1e747737e19850d39c03a837f0d504f9b43c8fe9a5
-725eba04ee6cd478f8416470ed154a11484aed5822bf9979b1ebd5e56af698f3
-4b865aecd29c67ca74814b0cd0109767f6d582205574670b0182e0ec6d23675a
-11e489fcd58f0965af4c2f2b891aabd05185de26ba4e0a86b4fce3ba710d9c81
-3a97ecb07ce16ba156e2627048da3a2155ae68a5063f6c2eebc0091711290605
-b540ca4ddd10838e2a64835ba38ecba8043074be230baddd628d8b253734397a
-a213b0a9bee70d623dd5411eb58e25855209b3648a42e4681f90d51b13354f28
-267d48d1b8aaec412be2dc199ea3ed041bc3edaace1af401d01e56b5762f7c71
-cadaf26892f3e1f6ab0438a4ba0e3f5ad953fb15a7d821f6444efc966c67082e
-47e1af0e6e0d199189a994239c9716711f9ed82f6fc2fa1f923b4e3aa45e5ad8
-c0dc71bb5481fa6a105b90a77bf4b8b9b852714cdf4fa814e9d0d89d349ba57e
-dce13210f79ceb8733526aff221386f826a435af47f027d81bfd4d263b84f8a2
-a807c55d1bada31a59649717a4ed8d560d4f5b81ae7f6943c66e9b2ba9739c3b
-559d49fe652de7c968c64030d91099ceacb9ac69417e8210f64eeb6dbec7ab1e
-fe4a3babea0a42ed49cba2e70a6db7018ea0ff1b2b0af498dc6b5e686eecd7a2
-a6b85e07401e08b825457e99d0b5fe48ef13a14fc0ceaea7bd7748b2c7414522
-59ef4ddcd6a12d5e84ad402badb6af6b8d50738250677ac12324e4e3c5d72887
-c3f36f99c04cc898704bada948b431f543765f3112175412fdb80af9850ac5cd
-19b65b018df357498fb4255439913acd686e3edd9a3bed54235ca6a3d93ac968
-6ccc1400b8ecc647ad4fb7334eb768ee32d3213b8a30ac2caae37e99ebd9e903
-b319139533fffa9289c29424a030940ab2b43df031c3f72542e7a8227d56c29c
-a3b07551a0be3cc4d406d2b0db792e9e72942777388d1dcb4d48704c64a99434
-885c4f4f170294c7179dd43944d60739ba9412245f2c34699d04f9815db6db1e
-b3835adbf1d8d9cba2da0d217562a25e0adeaa51bd8258b9b49f1ab66fb1e72b
-d0312788da672625511e07ba68cb0eaf05485044acd338305f55c7b67e52af4c
-124e54d8e3bbd2c6ec6080dd3e191416acaef07bfecc0e77acc92236749ecd88
-96577190a9e86b7ee306b613e0b19015af7bd544e26c6a3e98c51d98cbef559b
-29d79e6bc3ff0966663de38b24b2449d38846e6652159ea825303122ffb55333
-a108e242a05d015a9abb0089a5b9974cffa5eef0de271c243fd9a4f5ebed3b53
-324de92d22fae131fc7676b747460fdcf199076cb5d922e2098446275946481d
-681674c97c00466e79ed31008c4f83626ac2dda6b0464b589f01082e5ed3d7b3
-1caaff1052012b1da1e37f3c0049623555b7d1525f44c0824a53903b54d4da9c
-083d7acf2717e26be8596a07574661a53c504866959e13dfe3547fb8c5ee9c54
-e4d16952d25f0d32c103c1b2381a3b06ab7a26262f95755e2cef7a028266ffdf
-3687304ec78638f3607e1d4c76af0cea8a30bdb7afd9fed23b79acabfe622c82
-9059c90c5bc732c53d8ae7e55f6385ab5d78e0c4e0b55bb9c5867ff9a498d3d8
-dbe4f0c548de9edc0944f1119bd9a2c33d5d1c8de7c5156bccf7d4e52265464e
-5e58d93fd79f40f0ad593f50bafdad06a77fbb22982b35516497305e78f50471
-746076b77160149dd7a38f2fdd678ddc2a954ed788a19ddac34ba6ecfa9f0ed2
-f7bcb5f97eb077bf90e7c3852ea49b1a64b3a1e618cc83bffeabd15abb82fcd5
-38b644942b6b9741b3eff1409c67632c6a40d77c42ee0846d8edeedf56100f28
-ce8a9fb58b4aea6fd3fa0345832062d748ede2877fbe30187b635ae95227a7ae
-e15f86beee2718058ee928c73d0e6f2bfba3c144d5fcabdfdcd499f8b8db426e
-0553781a197bad1798327e3bdd32060bb55c660c24f3ea4e658d4e95f69fd589
-e9b35a2153bd45fde6f56e50a7cbdf803e26103a62824b24ee929b16add5f9d3
-5817264fbd1d0b3171fff576d67bf6aecb15eb25c5bc6024d558725718ea8406
-de77df6446ce372a13fc2d96fa72f65932fc34e7caf2ea065d3c94367070ad57
-84e94fef2858bcaf7c60f999caa4d0a483fcf77bfda5ead04c77b87c69a3bda4
-9e752456a8a91e78c89e72b3d805cddf729c8d13346df0c1150a7e16f37abdf4
-07f8a69b062fa83cc8996e8857d26bb0c09d5a5182cacc745772b78b584cde14
-6f5e78de240c5f6bc995606afd03afb003e0f8f07f4f62478caf38494a162a82
-ecbcedb9ba0d4f074611e68f0cb7bbfb76bb11615cf4cf26772a57d635613fbb
-9fae0485183a90656c81750e962f35cb61689ec21f11539df17b2662006e2391
-b5d31851ae55c40d408649349ae3500bd52990f1ad042a09d0f31fef1a5c7c89
-5ea1118ea0c1576b630bdba01bc628ceded0ad35e6decc10c02be1a05be5259c
-f318b84f4a0d5eeef0ef8d991e029c55213d73a07306160751c8fa142d010c1b
-9e85dce81b6c4638de70603f7dddf7fc3a80540151b985066926c581d21cda9e
-9a2a0b9f428fca992ef1970a985b3f5fa6e80e5923db4de6ed7898c508852a47
-439a8c50e416c2b75d7b3c8046513d91af6de66ee4b6f26f6b639d492b105b1c
-9049b04aeb7962405871e868f15b6e1a8e8806253672c6eba1d9447c1b453d36
-59860fc02c285f5f2d773f0e76c75d5fb2493a5c26901d9559a9f3550411039c
-129fa2d0fb9f5aa4d6a11f490488a08fb3de699fe868ce02120fa973fa0ae84f
-fb524eb2d7823fe52ed58ebf40ef5c7609b7b8a5e1d47cdb9f624d53d35a40fe
-c7ae7c17bc941a7fe4c9c50777595a97573e3ef83582033e1851577036e02f5a
-65aea4282fe5171269ab39a07939b2a71890ca4043102dfd0afcd8688996a45e
-7b6a858c30e54a6f32fb19bd71adabd584ab82ebb85535e53788081e553fa09a
-d97345c2ff7e6b7dda5093bb78844783002adae6217581860729e94f5455e6bf
-8050a1df07128cfd83f682b4d11696a62d204a7d7be0a43a653d1cb6f58a760e
-cc565ef2e33662ddd7daf376653963f1485cd1c523d9341b1131d527ddc5e166
-f49f08b1bf9344bf9f7551a2688bb258cf46775a6a31a4e38dd1114fe2e44e5b
-3b56d7f3d7f44e3c9f09c6e9e098d425370daf4dc3c638581a3f34336e80e8de
-9016f94e65ef7664a4ffc441c52d073d47da7b90c39aea70ee619b199ef79773
-bbf5ad46ce9dd19afdb335492d31fe45cd69650eac723a9d6d0a3c9c00eea011
-daae00acdde96c901f111c402703f7b1732e1527aabdab32fe1355348e76081b
-27491e40f472c84e26568e8fe043ae3b0813137b34205d5a005eecd8003b244c
-20e0fd57bdb3755e7bed94304a77ddf69a9c6ad5f286bd2e95e4f4f37b6b6004
-b9f7436171c6a17af1136c05bea345577c488112c7c8cecfe7c57f2601265076
-dc5cbfd0d2e66b8587d92d02ecf628c297f4d08c149fb2efd989e9ad7a41cdea
-03b48ae9853b03768a1528cef605f9d64045b1c1de64a5e0d26ec5af66ff278d
-296f02349a6344767f0b0983530d314a370687f2019ef6c778654c011206e8a7
-c47e5572f904f2946372e8ce442bef2cca4fde1ada3a06580539088c11804c76
-e66c32e076f0e3de041e9c9950dab9d79886a404c081f61d1eb5e0bb4ff05df3
-8412f34b01dac78411e4cd8c6322b956fdce30b66dbaa9e8df62f797e553b83e
-e379d96df6a2b11fa7edb9ea2f1fd8ec4b89b5ddf937bf91d3b574ea667a9847
-5737f2bce293b7f9ed9ae06ec39ca2befe1d4378b707e266ee3363acba05eef4
-7a9d71f8a205bbe81569ff184de2e187735829b17680534888904fe67fdadf4b
-146c1d80f3453840667908b0bd497d22c8ffbfd1400fbd57e140afe219fa8f51
-c8354af1cb982ef423f250eb9e8aebf30166780d631400ec33bd84bf71140403
-f5cd03fe38b27f08167cbe99bcaa3fbca13d734c74148a4321627b672468905e
-c93b528e396a0d2a917ce042d8dfa63eb2575723962063a2487f044c365462fc
-907b42eee612f0fb4e34a3fe9ea1a0f168da2cb89cccc1b5422e81f09bfa175e
-3479915053e90007ad92ab92a2a0644726bf022737f3b7b0ee7579fb7731ac29
-e7e043175277ef22942a9030e0bf91a1e775f9fa3f6d86ea3b72c8ddb42a670c
-68694780e5a7ab25968592d823bdc6e812d19641c1e176e26351ea5355435739
-7f0f92c33c67
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F122_0 /XDVKOU+NimbusRomNo9L-Regu 1 1
-[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section
- /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl
- /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet
- /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown
- /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent
- /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron
- /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef
- /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef
- /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef
- /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font QYKIKI+NimbusMonL-Regu
-%!PS-AdobeFont-1.0: NimbusMonL-Regu 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Mono L Regular) readonly def
-/FamilyName (Nimbus Mono L) readonly def
-/Weight (Regular) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /QYKIKI+NimbusMonL-Regu def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-12 -237 650 811} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa763777e13b518310
-ac032eeb94b88c7dc8741fef59c541b57b0441c6888237a2b66a182599d1517f
-9ec474a9539f1632c9a5a1801fd646b529cec2b430f1cd205feff509b4092535
-29e0b7b372145ddf62052c9c08b7673d36dce58e3e78a8e4788b34e36eb543c0
-d68a36e2831e23c440c3e5f1ba2248633aec75ba8d6c9e7fc0da01af08776246
-9a8009a4f3a93241f2f34c72db3361e701c06538a631f6a8cc47b1b5df7cbf9e
-9029d42fad4b90f81cdc2b4cf52c09864f657c7c357180375c0b64206515e472
-c6d71a2c5d03c5143600d0dd439998956b9896ffbcbbb77fc1b6675f1e428390
-144b29367ed224ea9e5f51cb3e349dd118422bda8b6adfe217a02320be72983f
-d6fa232c9289e529552708746c4c76df4ff0c7b27fbca194c650679504c0fcaf
-0c643c945a2563ed47cd8538edd441bfee93dc4160421cd9efe6cb32d81a8e1d
-e1c446eb5ec2a6c855e4449731ed3da1c3ebbc3cfb6553c0f78fe88bea6edb14
-a4abb572eaea91681b7e9f6a2a08005164340dc1983f75b8abe75fc02747fc2f
-0c5b31e0f9a8960410d5cc677ea77d0b1b28681ab5e6b3ac11368b1e493f594e
-9d037f4fa4c47ee06351cb471af4c1966aad3e51415d70e57eb0d84ec3a655d2
-b0e3a818baebfcc472b485625414c4e20d63b9673b0a0780d8838b0b4004df79
-da0444405db6a534a7571cb1aaff7d4975ea8a578ac37044cb1395a056c7d9e1
-ccd617391a2e852a4d71101cdc3c9350e57657b376cfc7cf7e387414e4a017f9
-943ba9c3aa45e955812e6b8173acbb5e5fd0f0654868def282d134d0b4533159
-c2bf0fb6959689dde7e8e5d22618fe9c8a973a87ac0e853af5542de5b89e7b94
-44ad4496afb696be0eafc9dd7a421856b1c0baf95b5fa887669124ad3698b544
-5e82a4c5cfba4e5083784e52462f3724e7273de6e00e84a1d83b6a8c0e79afcd
-1df167b97e2dd796b6826231d31fd02991e990dcf2dbbb0026f9a151c0720467
-e68e2cc0a5fce825564902efd08e2ce18896ca20df47d2df8928baa632825543
-d0f6a5c94630e63411a6adb264443eb7d0f6c3883d195661ca3a1bbaea7bcb41
-d5c18fee8453579ee23f1785112e31c6dfd8e9ecb8681b248f0ce3d77aef339f
-b455f3817cf7182d1fb0c53589750be5bd6543beb9c341427d0a4107dd5d6ef6
-2197b85088749f3cafa40a6a3223d4ced495d6228b3398fbbd0d4765cad178a6
-f93c5217bd254777c20cbfbd33673c5ba58e2b021580d63c76bf196391815c05
-d05159b171c9034edbd0e861c5a26f2dd38736457fcd38003882a66a4cf8d7b1
-e2803ccfc1c9fc2abda0271c331247360b7f2cee58ad9cef1b325f62dbe2be6c
-babe23a220f662247df70428c1f79c79684890324e6b7166b269b174b98ec8cf
-f33b589cc3d3daf1aba6835a22aa2f59f8d386610bfe936a05794242e99cddea
-8da5b4e5e56a875c49267e2d48ccae616053235b4b64ae53a573922009e8a05c
-a56fe84205488200ac68b62fe4f07572392940638301363c4131ccb86462c242
-afa463e3f7f036f63e622243893261e7ef744ed489397030a6604318da3f592d
-037a620fcdc10da51b8f31c816f91016d38efc65b6d463779720ebe8df03be2d
-0ec52886ef9205fbfc6563ca80accfecb7c686f0212f85da5024129f01bd81b0
-bb90d58eefd17fb353ca143a4757421323238c5653a3bf9f28cabdce6ff9d946
-867a33fc9ffe0adabd3679b555a9ed3c181d3e108f776e13bb39794cb9f4edd7
-7a607e017fe054811b3ea3f5b02c95343a5eb449723c9fe7857441feab37cc93
-70c285d3d91df0a0e1bb21d022f68f0c0c8bfb311b8efd056f47c67b03b45dc9
-0bd78333d366796421469cda8df6f0095a5eee1a56621d055a5b12d6464cceee
-9f5fb6a40ce44ab669786f4f0ff1f348c9d3712761a07eb8aac26c35c694e1cd
-65b01b32a2319a381734864a06a349db71a2fba74ddd58010c94aeec901ddeb5
-41e0205df489d02664b4e2fa03a404c8aeeddd6d1506bfe56e2e8a6d3a83f79f
-35f2d552dfff754bad59df45582e3aa87e6bd45725b2c44260e651b70af70186
-8b168e440bd70014be5c4ff89028997bde67279b107f9fec9b4b2f2dc112d811
-4dae65205429ffb3c9734df32328ede30565ad65d8a1aa620bd543286908d747
-d13cec2a2f19cafbd2ad480206f8b2b39524a2fee286cea20b22b67dde321e3e
-3ed87d8f7d9b253a16c648de1c9c8cd84c4f2304510ee263083ac617954b7c9e
-62f397daee458e60e6058addaa14ea573888162b6777c4b5e80c2fbfc8f75ebb
-2026c01a1ea38b85c4fca949d15b9a470f36e0b697ef5dcee10c45f01230dc48
-728f50abafaa52ec5f2899b09db8b74f46ed55c8efbd3f54f6afb0691a992b15
-e1bfe3b6fcb6764227aabba94c4450183f139da7e12df63878b0aff0d07c51e5
-21a29ab9fa0482e9dcb043cf704f17bdc1fa1f79bac725d6fb01dda18a700eff
-5d691d1573cb0ba677a9b1a62dc483fbbb7e4fb0ee0c87cd631f7145b710d181
-85d5bf85df1cff42d9dda4430a8f6f4b6f6c01d20055d8d9cf1d48f268e046a4
-9bc64bcbd7742d090608a1c025f39d44bad9a05ec2c7b5ea4b48959f1cab0974
-537bdbb8828a830843ecb3b6bac3589cb8a35fddf8a55fe4445ee3419ecb9dc1
-3c9a3045f5fa5264860b6e310854cfec5bf920061c6a4784d911fbd82c6b5353
-72cdc7ff3dba22cbd02303654e4d1ce6c5f03ea5719bb456d1ab804a6a9e08e1
-15d0ddbc46f2ff494f0703fcb9f6c079e5af3f4a7bb5a4546f9ef8d708732fbb
-1bb4d11a942470e0a96d5c83d20343876d89fd6db3ae1fe60034cb97659382b8
-03a4c8ee4a01738285c8af5812c4de7a97b1eae85315c9497c082b28990e232d
-7603a06ade5075fa217ef86ed78492c31ce4082f14a6952e0d07ca9d8e15589e
-7c3f49cfde17055e8695923477b71b4c09986c62875e25576dfc3a3854c1cf5f
-73004b97da00a3deef1be0aec1920342613d3e4f805eda2ac121809b02a42d3f
-de9e9245943a23627ae0c1c34b5e6bb1504ceb67966e9b6f104fddff62e82b16
-cbe3d401aaff4d9b44236ef0d04b7edf16eb08b7d19862effe88b696d05008ae
-ffbfd118722a55a1597604e232416c2190b36c30928f82b208006c26b85d7428
-7153fccc92a65f04229c8d7b2c27ac4294034a051b45f6ed5b0fa3e23af3b5a3
-5f996bb65cf298c4e15e98d228a719e1c968e7d5d0a75a9bc3cdf8b5c4a136cd
-a6995d94f5dbe307ae1ca6beb56dfd09a6683bb1437fdcd537e43cb1633a72bc
-1e72a5f98497227072d863dee990660c137064f8f73d78d9c5a40096dcff10a9
-4e3c9dff0d2bb80c429e2c135895b2b3c5be663adb1bf39e3125e4017a6050c5
-d4dac24a8149a6166cf87493f766d9706e13a4c3b443722d7ddedf777c5d0bdd
-780e839b10a61dcbb8c06caf2246feccc66c6fbaaaf8270e06a4838391d7ba0a
-a3d35b278235fff9a707e8da8344c078d88e8eb2b5e2f8cd8f2134d458221623
-1dd96524af97b92662292f6e1759e004e2255dbdc4e0a9fe007e550144af357a
-32cd32e348fd2e60d4c10c33d032fc02ff8a897c4b4b5c35992e6caa8bc4c966
-6a520e2e98184efcb59e2d534fa34c428bb51998e68e91dc9382e28798845da1
-ae9d6e418c2e3b05373fe26901654e1e1a7849431681479cf05e0c19392ac9e0
-562794d94316670bdf9afe2d368fdc31fc2a2a98dc8f23bc236690d897e209b1
-c6048724f4ad378857640140a356919180b348fd6ceeb5da8e4b3f9dae1cda65
-fc155e10b53a271f23c65397711cedf404dc45dcfd9d3c87d57c1365cf9e6f9d
-64a11df0f71f72ff52a8a4c899879f38e797867570844ce904c3104e28f1b85c
-e31f5e4dc09852f5b47b4fcf2b1fb394f4a8c9cc8b807eaa9ad4d8ddd816a28d
-7bdea3811e47722cb0a11f3967bfdc501f5f19f5b7f925455da271243465b55f
-56030748235d6c1e8cda657c5fb7c1ef58427b148713c569d2fa172a2d32e50f
-7440f4cb961d34feff587acfc3009b39005f8ef1b91c28718601d140034b4030
-05dcca93b5d4a0778cfc1a3fbf7e489221c88c27e05652d3c3aacae2cbcd9b5a
-439d3687e32bdaa54a317a6f70833c88af86056dcd68e8546832e7662713ce20
-98e5bd9dcfee48545391246e794e408adbeba57fc3a3ba4e18e487abd6f26a3d
-085eed9bf8e30a77c85271294eff2f8e3def17482c5455dd60fb942f85dc73ec
-9f57db31ce83e7e3574e17004ebe6fd903f485e5ea88c8294ac48ed09afa41d3
-80ea17e2cd33190477a0492a51ba20be31a367e6260d0dbab050cedae7659cf5
-a67d94540d7022178ae1d4463f84630d51af81054a6b7ecf1229d9ba0a6773c8
-e3aa1a9d95416fbeea9ed901f1dab166058080d42f90499b415ad8aafd99ac0b
-7220401edb7a32b298bd9b9010679a1f9369a5bbe7cbe04b2c395f1159c2a2fe
-b4a85292714a8f491e29c703932acd583f6405828ca8331612f5f580c049da26
-22a27b7aef2806c427af57147beef345e56a2ad82b0fa3662a31828bab7f6b6a
-abf00d5bdcf2d595ef576d7da2ea634a82458444145803d443560553a7d17313
-b67ce7fa22fe118e9e8187dae14e79860b371c83ae2ae787210a86a6fdcb95d0
-c05f1b2ac98eaf239af2469397fd8afa989eb8ba0c15412b9f90c1555cbef583
-25c0999b1b10ce4345e6e949b375a91ec348eda0b0d418ad25ae482e02cb47d9
-ec19b444406d720a45986bdf85b4181b8064872f65e7a93bde15ff80ebe555dd
-8adfc28b6ab58525a6a72bbe50cde6461edd83ac9359c0042709e63ffda54a50
-a5a6e72058b498b7c494b2a7e68014bf1c354506c4dda52d7173e6530340f834
-7db62785ac8e70a8f560574249630f3f89c159f31ce437b8a86cac7f5b25ccfd
-b2fc41fc8392430c296146477d501ea752cf52ec9bfbf462d12b39291f49ae74
-28485eec80df5a1fa01806b3013bda44477e671e87e82f58fab32ffc10c111cb
-76e7099f297d6a67a7374e26109f751361768ef8118dca742c8f20774549a2d4
-da72d15706888cec1edbfba70bb8149b54655eba7caaa85529df4bea9ce0c633
-38837abff2597c6b75bd058dfe7091d3719efc3964d1a386b7c6b93d491b02ac
-86b08ff115b548abdb68f67de3b6cd280ee1544ddf344782fe30913a21eadc6e
-314f3ea2ab3d9a3783d5f9be76c4caed815af7def664098cf1a167444f31cf02
-b9229bfdd8109322df0cce8fe0405d523bd8020753f3d80f49365d5006829fed
-63cb9571b219b3869dddfdc2212f0fd468aa3a8c78d06f58fc6be0753bf19eb2
-b014e28d06053e931257185ff8a46b2c443b163f9d9997cd2225a33ec6bef513
-41aeafb9f384bdb7f3c78de5d4adb511c16259b1916b29440fd8cc01dde8ccf4
-e8bf0a4dc53a1e26c020f813cab07eda515e7d395348ecbf8c64186fa5a81390
-7653da3f3143382a374b96398d14bf60fcc5f7603512bed7e8b33e7b20529244
-187795b01754b61d5aaab742be9be4532ddcbe6b88671076aa9551ffd58e4930
-1f3fa48529d85586f1e197dd896f91f0c64ce80bd48519f8c1bf9c4816622cad
-d9cbbb97e7628a64f96b6816c5b0312bb98a23715c3de2a797015203e2787aa5
-ef40b3e17cac398805fe76a33819d4825f80654270445ba955779204f5e8fb5f
-418edf66b627b992cd3db5f04b18b5dd3f742689b3182d41760bfe95be97e313
-ed97e32ecdc16d3d574a2ba1092408b5ad6c165a39eb148b2513bcdd01141a77
-0720028f31693360e9909897d85bcb5364188d391e34dc98d86d4909fb41a13a
-cd4e43c7f943889aaf1d430714d1b0f3302432135a39b11be63f77d04780a191
-cb686729a89c7badec30d3a9b416c32350eb416fbd37104d038b0252a8b91f77
-45b543618155a76f06274dfcc284bfea8726e55ee8b47df6b4760e22c8f2020c
-e0da1fbba9564cd974075c1670bbbfa32b5b1598d198a1a9b82d87a7814f5d6a
-e5a97d890ae6e9307f3147d78d4fa40f5388b9759429acdb0e20d9ddc923f4cf
-f2865f95a8fc0595724b0043e90091a2315ea8c071ab631ccd04c3ea77541646
-b2fae2bd69c5bb80849b85fcc583ed6bc743c7ab0e83634e9625262ca557911a
-3715e19e727337fd16171908a75e44fd7f6ba76157167a214f11c228bb1f132a
-b6cb965beb1aeb597276e4e1bf52614076a37eb859f9d61669257c195560586b
-b567183114c9895464a71774bae8eb31e9de3c11e0011f85024f749a571a3e2f
-0fa7d8ce0d53deb20fd2f10895bb8aed95ac89f8956a8c93e809536e9087cca8
-09106a42a59417359e0ec681c5905a6024bd3208fed44320b723392e3f900e90
-767a6af4c4e67b407b215422a6f409d59c309d1999f973fd9b3746d983b0bb9e
-1675aa41b9f6713630710faa59328b3659f559a5e547451191d88e336863256e
-d43a577b77f81bad982c3d06cbe5a12321cf45da2d300346d8534c4ed6f449e5
-14ad627693dd361913862aa14548113a553b5558f8da4f5fe5cce86ef8b6efec
-00b188a5fa1ac6cf819110e6feb793411cfac4f900a379178c2d7990f8adfe06
-4d741594d2134678e7f9789fd72e87985334ce7e531f0855525b9dcac36196cd
-2d75d8bbe2b02ad9b20184d54e9ac6bbcfdb0d13367e2b4b4310b9f89172d59c
-385866af42d06f9477dbb56e8d3bc8ee8c129849080ced3d7b83d9dc1a32da0d
-b79f6e1760b7b836e2d9a0b59dc7312a3cd10932fc771d14f0f2278479e7168f
-2f4e058c0177456811b2de2b5358ef33a162bdbd4d908e3332930d0e1bfdcf35
-ebaad4210a5f80a39279c5faad2803a748d96651778d0ce97289bb70ba010d93
-60ca05073141c30ee35fb9b8d9eb3ba37cb97fe42fdeef382fd604a1cccbee9a
-65716ccdb777bee502ce3b654612362291ab13fcb507ab797d697f4f32d85763
-39b9cf437eb119eba024e775fe01501a8e7982d266531a5a9316abcbaf5b9672
-8ffdd900cd9814cf82b9ee6e789309cbf1dfc11f715b1a201dda33cf7527da51
-cff0e36d2f4856808b522d5344596058508302f36554419f9654f941ca0804e6
-b38a6d596ca3fd660901d1c3553aa92bcc95703219cdb0cc8bb540c2e60ce0ad
-0eaeab36ac18b3ae477967bf586ddc3a45b5949ca5fad78910e834d8c83faed8
-3cd8b0546efd2575a42e8d4e44c80f375c9d960686e6885a6cd283ad3c1f1a9e
-8e0cd7ed0590ffcad9da423285a26c04960dfbde0a5315d81e5170ae081644b0
-2aee581ab984fc189b5adbfb155a52d9f7ed759091062e9d2b2c2b03c9272ebc
-a0101422d252aeba66664b23a123ab5fb05da5c62e83934c10f7a9489fe6a26e
-72ae45fa17dfe3c1badf296c09a375d2451b7b7ed5dfd262a7c74fa4a9a4f5d1
-f431bfd1e79decc99db3f7eddfa78dfc46a47c0881f500f8fdb96aeb4fc4dcaa
-ae0f9687e6edb2519ea85fef772477c3e33ddb52900657f018ff227701992647
-c9db8e4802cb0d6976b1cb0e3dccbc573bfb38ecc9db8a95bed9c4d90c97d3b7
-0f87ecba2fc8b03a7088f1eb02875c27cbfa32efbbf38ddfa77ab23c8fb36d1b
-ce1112bfc0de7f911f1b096461faf86cc41be0bf61ef31581847b1b478fe28c2
-cf6a34770e43a95e08ba67e429545a65bb9e6e18a6c4dd2a34ca9cfbdba9cfe6
-63826142391f15c543076928f9867bde8b2b1acefe68c777fbcb70707f4f91e4
-7eff73b0c3c26986d1ca582bd05873f4e40179723271d1799dc4fc5e3dd9cf77
-64e41b8aa8dfb907abf53e3a0007a714d6c941114f5beaac82c46927441e3402
-36c2fb70de002ae35627ee5119577ad7fcb9fe5deefc239aa09e6bef15aee873
-db24b3cd614565415a3077b20c1b095a5726ae475c889cd9341c93d4a1984709
-5ffa8e8ef4f31ea7dcf6375177f319a05e551a8905bb47c9f23cc5c0e5fcd8e0
-29b3072632a060e6891f2b77bc1da20cf7da33173db210baaaf8270e0315b6ff
-3fd6c2207b1a429577d5d9d66a0f8268d4aaeb29681a21f7319ab813e2a1eadc
-39b8eb7aec1c33cc62809a10ef560d2453ed7551f097960efb4e4708858d5729
-6307189fdfd3ab62c75a7c501fada7428e157752fcabfe629902715193acb11f
-ca4aff2b0ed13442450e4f2a4873d5cc3689f7d4f7e372326e2f7093bd7df4d0
-ca957794a61a2e813e24155ee3a67c4312a06c72f84acba679e67e6c71f43027
-cdf8a21da3bb5f68e576405c1283016e541a3e9eadd67a20ff9ad7a658a8b831
-2f30c18c451f553c1149960156b201304263eff2f2549fef2e4906909c1b4904
-ced62fd9c0c973b82dd66044bfcd36e1991e0b6b84b6102258e205a458952aa9
-53832d094e6915c3a1669d4f532132424fc707dce60bf9ee9e06d4035394192d
-922641adf5777d563ae7960c8cd6175dafb255747737b02c40687953c766601e
-caf56e747afdc67f8163de81bec4dbd48b3712c0d24e92747d98d5d1da952de3
-eb9ccb3a132121cb1c9b2de42fe1417bea313043b5aec119bb0d1e3058a82087
-bea4d00203fefed8ac113723b1081e92ca7e91363b86eec7bb5dc2e123e41c66
-577dce271c93c667cd8665372d5d3b906070bd229489a91867551f3127591bca
-b1ce86d7d9bbd5f265bebdca4c58af03023e9ba2c291d78b629ef48bdd731c45
-591edf98d4eae6290a00c331780943d1c6671ac237a2844cbb84082c06d39cd6
-b04a2e5819d27a25da749ee7c94488fff5f59eb0a3789522ea85eb999c66f359
-d1ecc77cfe14774fd76b97270e30e95bec696aef56f99123db82304bc662d8d4
-6b342e53171a512e7d435f3009de3613d91a6f32f9ec2e11bc98b09c4dc4d516
-8a2ed64ac351109e5e38a68caac84ab583421eafafee02980bf8d8fc700f1a00
-129564d5efcd4f7896130e76fbcc6c6ad66411285958e3d17c2d408960cecab4
-02c5068c43df99d4de6b9876ec4fa2128d9ddcb0f10aa89aa8935f22c9445804
-4c1b0ce6cd07c272cfaddab0719ef5cc8c597960b7eea7b4cb5a10c826bed1b8
-219d464d72a0be58ae80de6edf876c04dd2abdca41253efcefc0552989dea491
-9605795e6ecbac4ffbc39307ce1fc794d4bd78b64ae38b2750546b8613378f70
-7c5c29640874f1bc3549f9a381ec1d13ab38b1c20d59f90dbd2397a573ffc9df
-525a4d4e995618a58148687c5c949e14c0879316236284a571a5a386fc94cb2c
-c5f7327f9269996e2483e9c4f22a813db3ba38cd036a454d335497f53d654d6f
-e28e4583febc2fe34cac50be37bb6e42b8f92f694cfd4f805c6423089bba4461
-8e36e92d90a06f749d8a1dfd93bd0645dc66cd18ee797ffc06d4938ed9fe7959
-ee2ee5daac4e5f2e15a8b4c311eff43f5ea1a13fb288ac57267b71bd0ae02964
-f1901a7b5005a834e366399eae62532648625bbc13c64c006c372491878ef7fc
-645667f249fc7ba564e152012e485320fb3c5dffbfcd936a93916045e0ddf257
-992e927120370994664643e2d57678fb19f0754ec4c483a8b6ceae60d39703d9
-f309e68388cf20bc752caee575c86ba39575a07528b65400cbe9fdae6a5f307a
-b199a54aaf70c5889bc64a30d5cce65c2276ed1d9fb30bcdc94a65941a2b0e76
-3940f7d243c8de8120b5b2f2995d2ec3c7be6421aa1f7a5f8b6050c17771c5f9
-d61330fb818df90f3062f9f21c23fd0a59d6ad28e023e0d3d7eb4dfbcf0c6bc9
-9fdfb74f740579c8460fa6755dfc800c5327da99e494d9e18efc6752f1e6eb31
-5e399606ddfe98339d085bf92634d2f557d2a07db440f45fc2e60732c51fc4c3
-047f9f6dfaccaea71a9b14ae1e22223987cfc33856fa6d78be0c8b4cfbd8d608
-96c0699ff248a80af31d111d3d7437427688430782e1e99858a2379852ca04de
-bf7d0922b11865b5771d902dae865c3ff7aba28da86ce91a6c031a647b6d5676
-672480a7ea057dd805ade4318482e9f5c7e2592df1672342b98c8b67cf25dda2
-f69d55e28f1c35b070acca2e4c5100c18b102164f534b151375bf8e9ec27cd8e
-e43a7a23cca2c5462ea92b202d9eaae4da36f8df69c38a4689b04ba3e6e6a2a7
-8b06763decd52595b21d5348e3f6fbfa775f8b88330a4f35bc3213a5ba19d277
-4fa8c256d06787e6aced43124b422d3ed2ca884c64da93933135926880b21cac
-35e222c4b6076bb2b391357e0c643f04d209788fc140c7303c90a3c3faf5fccc
-046d3b268154e017f1e4082819de8a5bef0c1725f008b936a243b2eb850d0900
-4560651003c30ae5fd462d8e68e4ae51d17b636bf9d45c7fe07255e470d2748e
-f9720203181e528304f71c1fa2fdde7872ccfe55bb77c8a04b529cc5ff114c64
-544c4896f091965dafaa0eef5e8671d258f4303512567dfe2eacc764f0ab9a78
-206ddb0942d1dc868d52241185e7c830c57f31ca9c08453c6a8f35bfd7220a52
-3e3148beb6fca0c2d56048b7755f068220d59d4fc713056bde03b1146e8e4b37
-cb5cb8a90858920236e561fa21f179c12f7be7cb63eba15759bf0b6299ef3835
-b8d41edd37c1f1098fa2bf3cbbfe0f7a98620e7b072f5ce1c90bdb8d5f6fa9e7
-8629f3c6b4bfb047c9ac1869daf234e4a95bc0bb73f036de76595dcfa2d5e856
-22b48bec72edc8a798ae673dd434b01e89019a908f59089c9789f58b8350a43d
-b00ca1fe192390daa4e85e7235492ce567dc403ae5fe8f0761274973e07ec119
-1b0ae1cb7f6f31076771d896139920861da5c58d3403a416f243f1b58cf54e94
-f3dbc9351633887e8d7ea6f88fc4a0dc6d2a471a78f98ebdc2a98613499a80fe
-b166a4b803b7b4ed05ccabefb2405745f1ff28921a05a0245bfae09355910031
-180305de2f64f071a7abb75a72eff13539eecbc4cf54ff0bc87f6d72d8a742cf
-5073aaf7942a137ab2f273e22391ad1d0dec9dafd58ec68553be5fc4e6c4936f
-a3e67a86f4ec045cf294a1cb7f9a60ebe5178026fda700042cf5bfadac3d7ad3
-17f9bfb62ebd5946992569e9aedbdce9f3abfaecd6d8fee82559f0888d48f794
-697c54b805026ceb1d708751d88af0e5cf88332068833ceeb24223f5b5025384
-066f67ce49e586ebc4249bfb15074cb522c3626bf2571af43f0164b044b5aa66
-9d8217230edeae2453fe02f018bf8a8043cfd63d744388c12cc8430ca4157c81
-e7018b963021ef43aeb42f1f5246eedde76ad7507e65225430f2ed40877214ad
-78a2e199f951e52790e30ca09c0ea8bb318756137639532e638661228e314364
-1b1d60aefb5222a3b724674ab6fbbc3445b878f99b629de47e52e36693dc4060
-9fcb048910f3d70211659cdbce05f0733af96afad264d1841b2fe33f3df5262a
-92e98f7a5873f70b931a7c78863dbaacfde460906281d5ba5accd188edb2924a
-bfc1c6313cf0cd29ac91d2d374734280adb1ec4b2dac9b53da1134b7ef26d10e
-e05685ea4b31e5396c4281ba371b59b12516816675ef303fe4f01f1f84de922d
-69edc0d18568c06d4dc79be0b9754b8f88632fc3a74fa418833aa2943c05c912
-b7b60343a7dc7a3f6f1aea9d83011afcc00619ca95cd8f97ea85176570bcb441
-e9b74ce8b100efa22290b3dc8113db1b383ec98f8367eca2844bf1742d752d29
-7cca604ed822c3f7b560300b39afe9fc8d9340735a718b09064157fd10d43dbf
-96302c60195fa1d5bde0c68c4f235184898d0381849a6011239ed7d6c47814e0
-a163b82e56389248e7594fb9f4a2522ccea4eca0d36e1295b3ef67aead84cc8b
-c297009eb5d21eaad7ab4176a443acadee13915c5ca44ff41ccc2bb9abb47fd9
-6461ec3d38876df77e5fa9993a300c39813f788e17320de56592806658b42a04
-dbcdaf7bd0684f445884e6f1a574467e52019ee8fc129ff3fe74fb03a5d67047
-80155de767defb2964317f6d058d5b8cc35324368469291ebb15cd320d566b96
-c5079d12493a8f84dda5005f8f3fd7038c40d1e704b4faade3ccbbdc7e90903d
-fd3da3bfeb37ba41db2557640f2bbd6f3f49d9e37925007cb97f98c6e365d06d
-282a433e1aa95dbef41be2facde3f5a08254a366a74b7a2f5c14898881d4be99
-aec4b0ee10022dcc55501637ef6f6570d437dc8120e63045002d7419057e5c15
-6a5539ebefa7d632d343a41df8804a6f855eaa3186b3f97fb7f79fe1377f5472
-04e186f1a97011fb950ecfbdeec1ff992b1ebc6837afbc0d9362c1712b114bb4
-4747c291759e7fee3f81b000f9ce65feaed5c16287f5e812f152ec27815bc6aa
-35aaa245c882c9176baabcbb81548b5f271c42169287da48a7c6140af35f09a6
-b82abdc84b8220577cbf0ecf0d8edfd303f468ab9d6a2b89d806b3e19297eb13
-eedade8e405ae9e0e9412525f95e6a7716948fa2ac037dce19d67a156c5b813c
-0af189b9b778bbfdf730c2050091018865e23d6cff0ea4fc0d26a0cc510ddf5f
-456f6aa4f1c33fe7b40f5f8576b477970d6487275389ce7b2444f09e3fa5c426
-9090dc59354fba985544a261230fb1758bac67e142c4a1e71664d7f66eafd525
-22b83d1f2cbb5f97f04924e8cc4645b27331eae812266982efccbccc4ee93bed
-e1e0ae7e88768e690cfaa0abba98973caff66daa632834527b26260e0a4b1655
-3994bdc9c729f2d45f72ba1c510a000b731ac3d9191e1faa5c9cbb7b94056d90
-f65df04c47abd4bc12b9ba0c1f84e4d77081d773a9dd939ba4c4b32785bbb337
-ab4df32d20ce0df7ef0374dcbf88be107e8813b5a769d530cded5649ec7de7de
-0f7f373f006ce997b6f7bef0c52d49b8a62a620a37069ee851e7d23244f6a014
-4d50911d347551a63f9ea59cfe0159797af521c09bdf75e12a4a8e4c38ede4c4
-4e7a9712340d42110b7cbf4061ba2f2a5ddcf67a39eef57345975a9198fb8573
-f34b9a350845815873e4ddb7866c702ba7193fb92d21bb74d8bb4c49f2f3c7fc
-3b703bcee9e7745fa637a9383786fc2729c73c29d2efa5ea274d9573265df506
-c1ddb510c9f3fdcd3a80c0ab90748651537efa2d8e0bf374472b5c7bb50b0101
-7263ffae7f90a979c3e5f3cd8a5cea478627890536251c4c16c0f63c1c822efa
-66a75e01a68758fd97c5928bb2b1df6f2b74d2950015f2eacca793e7888c26ee
-723e78f3cd926b1979bdf422bc83b4b51d1a0ae3ce120540e9b653728d769265
-c03c0a3cbee6240c0de90646e7ab730e5e0cf1124566bc16ec17989c1052f8e1
-84590223348e5b4510204322929d8632c4bd136c89169d45718a88babd7f2cda
-62afba21cc46bb3207676b96695d911fb99bbf37b375ff4fb8be949fcc4b0481
-3776a3451fe65a47d623565160358c977d4bebce7aadea5648814b8769dfbaee
-b8bc2da767da69b10daaff6a50b6a7006ab74f8bd0ec64e5681199b7f3bafeb9
-bd0ebd1a79554e8cf3e5896956d279d4d27202a4667afbc46b84c6b9873e8ef6
-9d5b0777a750a5c8ce86f3d5851cf3203e8b47edaabcc6c6256872f31ff228d5
-7b686b38b35d5dca23c755a5ab9e661630e61d1d376a46466b1f0100f66affcb
-fd1d6befb5b196143998848e48119456d6f5791bf1473a2cacb9973bb80421fa
-781d90e0c1e6912dcff9ff07ebe821aaff09597bdea4e71e72136c4e37946f0c
-146b9d507ee79dc7a715cf4d65db2614cd87c5709112938acf9bb2e01187fc03
-5cea0fd5c2ca980adb6bbf5b9eb427971bed47970a13775be150a7a87bb2b8df
-a92f8c86b98a36ab956ece9f5c562071306642d74f177ea0ebc1eadf96cda6ee
-4c53703763505ff273c296a11adf59c4919f63c78f9b7c2fa998f5befc631ab5
-4dfec01d96fbd7d076357fd85f26eef6c10aaf99a7639c5111b3a13bd144bdfa
-daf1fa9633b69feb2590a878ce4621251a2b860b3e1ad8d7a6ac1a896380f206
-158dbd525bde081e9e7c58f7aba0ba68a22065d3fb7638ab4b2027cfdf4dd926
-0f624b197d19691e1219f705d63781d6eac4ed8bddc3cbe2e7c735f73aabbfa8
-01081532536832bb4455483b827fa9f37d547a4d2cfc98707e5a4efe77037671
-faafb5489b64ea22fa51f2df96a89e8f986b3fa39e113be69438f1a4bb1b5d1f
-33ed7ca77228938a98bf47fa54eeb2da8d81ecedec102f71c278d824c2bf5bb5
-37cde6342b1ac156946de7f6c4c12e1d639d83cbe78d8775cce11584a4edbcf4
-59c05abd0b590172401b83fe9cd49b347c01671277ea43400b1ff4212b3d02fa
-cc6d384f815d7fdb652ab34d7bacca2e9b2b120de79e3532f81d778b6081d631
-32c88f10184f07abe8830a3f5efe712e7e3cac875f3b157ca3a0dd8a0417d512
-9554ac58171e09ae6ad91f69d3235be00c67d41e00b6988b7df3a07e5d65538b
-6f600988178e4c98db360c5ded8f7f8b7866e6d3168a085ca9a823a347519ab3
-5f4fb80774aa4bcee175c02cbe39ea9a0ca56044f50ffb2fd637f925339d30ba
-8f4f7fd7ea5a606dfd7b82ba69b4724c960a5cb49ad40f1900a0969cd912957f
-345c08603ed7e8292789984bcfafc504dcfc19eadb79ee198dcb6539164db7bd
-4d210c9bde5bfe4207c363af21967146511d70f7a0fd682afb045cf22a37bfaa
-edf500dc18251dd086a8d2a91ceb979d2a1e9cb45a6b59afedf66174b764dfc1
-1048356c96b585d142f943ec97c62de95f9b8a8253ee0d6b2b0153c445563826
-787921b9a60417cd4075922332dfd82be6d45b581b581c24c4548ac5782f726b
-0bf70d2d08493e9a96668054bccea2db3f66cfa6a4d37b36418f9fc8d8058c9f
-e713810483a5e75b3f61cfc012dae494dfc2b717cc59e417e25e8c0e21f62186
-acab4158cdf47343ad8b73dc8e43dc792dd29897d8aa1fbb977e9a3dd20fd247
-d0ceb53d2fcc627179dabb49f2920cf8a1fa4d57f39da7e5ca0a94d377cbb20e
-2c98445881201bebff5e33ce17d8089f552c3dea96bc70b99cdad2289a3686dc
-b5aea099076ae9450c3aa43f18a3d98d711e43835c31f566866ca556b2945738
-f359ef7e7ade8e1f56bfbb0317fc2d08846163cf343c919adbe19686ab94f7b0
-7a06f3d97d5545df781e11a06b06b175fbdd1316580a66af1d94f4247f158c59
-d8e1fee6ecb6ad565e772fdcfead3898a5be123f2d0303ddda02b8e86c7baeea
-70eca3cbd43509a85b853eb3286deae9e29921782ed417b13cf1e6775921b2dc
-ff5b2424f98bf14408d446d0ab530d88f49d231315c6739ccd0cc8d01cfdc259
-f47bedfe7a53dd893cd5be51674e6ba162e1a8aeb2b21ad54819bd3d648318e5
-4d651933c280e81a327934ef0eebb83b795b3b384a129c16536bdb05bb2ea560
-72241eeb5f35e10fa050fc0f05fe4deb3e2e8eb52a97450c56594746d0278802
-9559abdc108ddd3431c2cea2da1886ebc7a973ef73038004fa13752c80a35ee2
-8e5772676df858dc9ff0d05c735576262b80e3e49751d78f2febd65ae4c1d0d7
-66cb53656583299d2c058bc94f272d398f72728e72368362a69f69af06a708f7
-ceac24a0846496457635fdfae466621eb4e0755230abb71bb5abe293abf7cc5f
-8ea2fc15c66a5b2fc6a6d510a6730d9fb678a485616374f5c1c01b2ce834add5
-6f8dba31a95983c97af9e9ec5b8406fc67dc045c551ddf6131834edd18f79d55
-983aec1d18d5fb2209e87f1157df947772de42d04da8085d3691dc7010505c0f
-a9724190d9a82611cf435b360971bdcd2e569629d98d439da052bda080ce1e33
-bfa5ebd35ef2e7dd77bd517f1cae2250b13a031c69bfe0d147919c53ad773024
-142ecb1a3ba1ab50a941fb54e63ef49edf844306f7e5d12c9090d2819dc6e450
-42936015482c7bd75693e910eaae10f04385f624083d00276d0499cf9891cecc
-d31b06128a7afa49154eed960f37e7fc260e1372f1d4559062471db4f0db6faf
-efd3e6e06b578e2ba8ffa1e9c3f5a787124a22e0111ae960bd85fb1d62b6ca5c
-b2b3a87e3081470706237fcf936e37dc5b408d0c41299f921d810e01b5052751
-cfcc27024185194c147fe01bc1c4409c520b3e3a5c0f5514aea4cc899ca9e9ff
-7834dfe5bb0b4b0b019c1e8163f294fb6ee50b05fec276b53f04160fce3defca
-2c33ff34f6b1515705ecaba0aebd40a99fba99942bd8d451e1c1e489655daf7d
-39437b97be715b11ff28fb291b972b143da98f5c66b2d02a47850765017bf4e9
-82e2bb732dc64b51fd4fdd3d8144d1231548dcc29bb9927280492da505dfe82a
-dd17fb67b02ef0804bc82339d60dcc1c0f8789074747a805a7250f494dd1e9b9
-173110c4b3f2154e865371295ebad4e321f15826b3d3e61a400bdcd15ead2adc
-2a5f00bc25e36413e46e195eab01069a35f34fe5c00f46b90d2e444c8d5e8a53
-bfaf1fa61745cec24611b2854a7ee8532b54b40ad523f955a4fa2a9c546dea87
-e6d9e2de21fc4b3b2da747fb3075a641b29f6d6cfc3ecd725f26972e31594686
-111bfe80caba23be92b04171b738c1709bad40060fb0b603d3a2ed6e7d49daa2
-627ea6916d3fc19815fbd0fcbe5d1ec8a8c7a6a7488b465973d3c1991664bf71
-003353d2b025d571348227ec1700407e16fc5bda2cae07dbe55bcd7dd0207219
-f4e61479f22c8b7aaa0ec7281e933379b5d25a6ad9ce46a1c67a488cbb315f2c
-08fece286194bb86c66bfcda0fbc668b8b84c2af3e9cc85d065e17f55863529c
-d1668f07dcd6e51caca4eca02811c1ffb9a4eaea01a41e8bbb12b1d23cdd10a4
-97d1a6b9ad43927837f9b12b9f703d414070ee06729c1e0f78d5f63629739f5d
-95cbfaa9a695db4862149ee51c566b8f94f79ef9a3de87c0ebfd3bcdf4940bfb
-314e1bcd17595f3d041b65e4e7765b60a192c4ed917b8361ba0b5fb4fce8f49c
-b09412a1ae8f99d878a8fbdd375de3631a63119042e11e6d742f909fcd775784
-1f5a40a168b4da3dddc65d947ad0950a1a275fc72a923422db5fda3d54e4ed03
-a1ae04ab0f59134abf88aa65d6944affa2bd46ed8c5596062e4d32536d2c8ffd
-e5cee1bf927d1affbf9dd4e214ef0f323a9f48af8ce0ef87e858edac7a6cbc3f
-9ee530f7609cf023032a19298b334306ab3f5ed123b7652aaf77ef421dfa4ea2
-e1dbc68390082b50940aef52f583767e8a5d9eb33142f9883ec9dd26a4c0a446
-31e1b1e55031a9defc48060e783c7a56426e4f690aa6cd006c5a9fa76310d351
-9f8ba5c79c301bb370d30c7b3adcab60adb70e4b4cb9b9dbeac8bb08f07aba62
-3fa6c7805a38a4cf9c5b7f2ddd6dd510b174f7c63b2d5f4e391005bacb81b7e8
-5249518ce22a99e8811376e7a464e22fbdc4574ab3684b416dab3526b3bd0c75
-0acea306c0d448fc4942d2c61d44566f8a058ab93651eb319affdd9ecf2655c1
-d00500943b59360b6c75b780beaa2f1b98165ce2ea6a64aa9435ad5b4d57a089
-0fb6274b5f137ff957e2dc801dfcc8f778fec72a96b31e7457f421399dbd9dfa
-c99e611405a24bdf0bdce785d6ade5a5c09ffb66f787bcc2ca4b7e0f5dad5453
-b3d87e5ba383065143952a9364df8cf4063b2f7b3ab30c263e5b92ec64c43c30
-502894c1b01fee36aac472a6e2adbb9b74129074e25e4cfa3c70e8ac2b3d645c
-8f54f45ba3ed89629cb4f2f35c418ef74a194c496c4b2518429067932d57bc0f
-7569bf4fcac26e621327db71e19eeb5335d8a6f25c99d6aea57bc6ca73238c6f
-ea54a43c09c65c83d5319231adc05299a668372a9f77833064c460b312fd39e7
-49426fa209cb1f5d3d90c043603c8f997470de5cded5bef35daf0145f5dca5da
-50de2bb8b678e6f36c53643aa97f3fb0bfb3191ef20abf0022d160732455237d
-45d23239e4700ca5d7b71231d537bd032c3f2e7fee61b5e32caafd5de34b2a31
-9a4745e6e94da94286497233f66637586af51856552b0430710606bb3aefe457
-acaae21b8cdcd140b2bc4ff16705fcc80d04e0bd9b6a3207d933388b624893fc
-349fce3e420690841637e1ce83247d5de15a109350c60944853a42fc3adabeeb
-69e78bb11a5143fd2c465be7f72c9478a96883d1369414bcbc5b20bb60457eb5
-22e748594f23e082c29689369e48e01187efc53b3637218a36813cc4da7faa36
-9e29596f5de513074eb3a364b82e1af8a0cdcc513ec66d60f1173dd50937ee3f
-dc888950c9a6b86ceebd3bf64b6319eee63db2199b824dc84e53553442b80e6a
-6f29d9ed68d767c3d1ae78037e2c7835800e08a67c5be8f57571a71426c25e30
-a80439f9976ba351cc64a15249905b04742ab07e98b867d4985444e7a9096346
-8f70bfe63fe94f0a4f23257703e8793d059ffdc798ef3cf642a870aa311abca2
-c2a19fcbe68054c2bc94e2d030e8bede94db3c839e3d85302c297369903b9c9a
-fc45596809d3c3f2be2c287d8b49273640d1dde3c7a4000616cb0821a01ee775
-e7e1b96c796acb7764ce16478e2c98547840df255eb133fe407b5081d808f368
-c575cc039dfd5fcc9e332e629e8565cf227079d25627dcd5e4d6a0710b486b00
-7189b9cc441a094d4be628d1990b63cbc5cb7fa127f49bd2b5ac659115bbb018
-dfb667d4154218d907abe558d4fa3ea3c753aef0e05b94772e6ddba0b88961ce
-49d8d6f1d85930efde0fbd9dfa0682c5a8adb81d8d0be2fcd209238765af1977
-dcb18c4f80bbafa42b4cccb09f9da4db574398d30754f0c2870f0ff1d628dd4c
-b57e3791ffd27ee4a9793f3ee5e105a917cbf9b6dc9fb7a32c752519b8334b71
-8fbdd41eb77d5e6c5438c6cb200559b914cb5b562cb914d777f889dc0af180a0
-3d2c2036358f8a105ec2a6f6313155cb96c5d792e2dd3c2fec6c56084f295047
-c1ef4ce1317930046ee382913d7df30626801fc5f6d1501fa31e643345128e7c
-1f9dbd43ba580ef2bffd9af99a7a325a4e39f02f4ff5d372fd1ad895c3741914
-b1b944da9fefbe268e9a4763767718dae9d44728591c4e60845231f31ee5e929
-30f7c26c3235548323c5d14c3d7bc73033940071739c215441a9e72f2ff242f5
-5c65173ef32f00001340a53936c3f926a54e0818aa8cb28dd6fe9fd1c62ea09e
-141fd00782dc1203b43dadebeb2104286082a14af250bf64ec9bc75371a9542a
-2d27f971d3ff426371bfaae72a51d2aba44e859625120ccdfb350ba1c7f31413
-4669405f69b8515e23b0e305f3cfb9b0f29b410d26062bc8a1930ca753184e1e
-dc97b40c9769450780c4a742ece35d726475e7d5ca91700e23cd325c7853b6c2
-b9b439ea12ea4576d7267e7e19baa00665f42d0cd312715e3b92493bb6a3a6db
-54afd1f4c5e7f7bb20be232591b37778de18eecb0d6cfd30d247240b777501c8
-82b269a8959952836bf7d26713019f7677937a97354fd1106f6ee6d09f6c75d0
-296b22831ecac76882f68bb9434dfeef9d18f0d5b8ff6615dcafb348ec7a9866
-6fd749afbcf651be1ed1ca671a6013ce0c183f1ea86566dc9159cd9383b9e5ea
-9900ae6c384ce3409aa4db1603fdc010083db0f0ee139b27c6090b8135799e8b
-420f8f7b10e7334d53df7a0b1581485bc449776ca4b2678a490f9d0ec5207514
-de7bf64d8cf9711cbaef78b6b599d518d77b4544434b8cd95d04149e1b546204
-32b266a48da343d0704d10661485e4c11d4fd05fb727ab2db4975482edbc7c42
-b9b3af2806828da2173a304f83b9cff0ac4c5d4f553fe7276caec477bef48321
-ba153884a05e23002239cef2f5c95d8f6e99dc9554ea767409ce0108e73b76a4
-273aa49f123dfd32d27fb45f80622c7f61bc3242b8e00e6f50ea21d0b2c35f0f
-10308818835feeb760d0ae64c755aae98e40eacb8f0ce744c8aa6d6b5c1d256a
-0a476118f5f2d1de2bf12a0dfa68ca2a2e99f5cc0fb1aeb3e56cd8ee3221dd3d
-5ad1fd57901727acb63a9aac3aef6c753f57e34aec57d0876b442066c2e324cf
-b6637243db0a9cb9d2fe8e82e0dd2d513ad2b33f99bdf99b5c551cc0114da38e
-392ac1ba0d3f536963f6e078a6a123f973395ae4846dbd335e30af20c3c23134
-91e2bc5987f44b6d377af7c5242e4f9ffb43517017dc7340f54460977dd8f8b5
-d1461c6707040c47de84d198d4164ddd7e7715a70abd458507fb336b824ba24c
-ac0e6901295372b2863c119d0ee2fab224f7c0b56af33c8b82436ba9303cc0ee
-3a809129e3c15b8c7a45538ec88fd1597406f696adc7ecdce383d3715325bcec
-7563f1f4baaad70af9d24dbe272710dbff77d95c3462aec9e75a1e24e9f0f716
-2f82f1410d4b77344983fcae866279a98112d6718ff23da33bf16255c1b10736
-e8f98e8ef876d73ab139009bda89836d18dd03dfb13e332c50227032ff403ec7
-26dc8fa78d77aaef79bee7e0656275fbb6cc6aba6bec4920167380a1b07f8ede
-5fa970f56f530ea2cb06be96def3b5327ff0f35d2d2152d23d712013bfb47b1f
-e34f9339712f75c84d90df05f9ba2e8ab689f7804c588e5e075942b6dd11d875
-c56c016d18f48d569ff5ddcf4e323fd9fe03d5c702da6b98776601e925c73ff1
-7943756f5a4867c8d9c3f0a23280e873a891a6371c258e1cca3c4dd8be44e16c
-267512e5fcf49a6db090e47da0f7a2f56804992df1c5387639b67aea74912727
-2d54a49823165ad330dd59020f1351f22d2172d018383555b8bd88bd50d5f715
-0839576ac6b14c3d651b54411167189c9b93f44e1783880a4c1b31f671988e19
-be05d3e519b72857420d6053ee7e459e98b31ee77dbe9242fb65d39e7065b67d
-4c4b6619bb0a8bf1f860b98111710a61e2038d8ecf06c4f825322a66d327a631
-0bc1e8941fc36ff52d7286dfa8d2c38b76864f062457c198ee7335602cd975ec
-1958a3930918b4959aeee256b98e0bbba1c370c9ea62913e9ef33ec799bcccea
-de68997283d202476f1f065861c7d611478ffca395677e4152bc82e9686bc4fa
-a82c0cc2a7e8b025eabf0fdc11e0564eab69bcdd8c4a05e5c249164c117ba859
-3b0d1c7293455320b0dd104b95afbfde7a03c0ec5b25f9d9ac6accc4de9ce736
-eab4c6726b23a116ff885b29258a57981be31f03ea5c5bf6db8c9ba21b831f37
-41c32223133c36127a0b3ea1d378a31002722f439564eaa70bf9c6465c3a7d03
-da8deaf66b1534bf11654562b6f4ee776d5fd7f3d288b51bb1e78808d261120b
-b367cab8ac4ad2e910abe6bd80f9d421127cacdd282116a4bd376ff6999746f1
-4202272291588b6acc250700f32398d7ca3229bdad1e2244fa8d5a93af30fd0b
-98f114afb0e4f4f917aa0935f735ec4d5d3293ba3c9d70af980d3fc9b9ba6db0
-ec2d4038a4c9872775c3ff227583bf4a0bb3baa3a14fa3757b01c461b2f6b1c9
-4e549e58ea596670aa747ee95f8b881391593f409cf52daeed278831aaede2f4
-b7dc53a8ea279127c7ac74bd500f97c86a513e546e05b343a3d590b7081df88a
-3acc4d21a3c8bb060bd4ac8cf01971a8ba33d1e7828a5e64453028be2731bb48
-dec51bd85a6114c8dbb2f6ee87ed07af749318c90fb75a672b2b9c656c0b760c
-ee4c6c462f9d6fae1d26469b37a043720fc710031abe62cf4deb987749340f27
-43a142310687a8b5822724b7b0657e7b291e803d14d2eee8b795b432a983f54e
-53b17161d32c7a2d937fc8151c37866d3e25469c346b59c13930312fbbed651b
-3019b9f09ef2c2a217780eebe098bb92f43e86c1062e161110d23b17b9b92682
-e32feb15891454b1c6201c375d58c4f66bb0a322fa8cdcdb2ad5556a9b6f0eea
-2b3066c1c89a44adf94a7ee1cf4e15d51ae4c17052ac66df51d27e2b1cc36871
-14867d0fc33ea44338e9823c1016ee6263b1bf8365b900d2acdf2dc41b53429c
-b64e9e89bf148370f62822b51bc4faf675fac2c9cf47a29f34f37628a471c4e3
-6daa47bc0b23ea7c1933d849ed2cec6eecc3ca56cc93a14a4258ce5148c0dc0c
-f4f236316363140a32b91a4a7d78f7bd49e9e138b037621e52dd5e8e30062fb4
-1c537aac83e2e85b2e57cb43102568966d75c37fedd7799108a24de96670fd6a
-4e5d9b9b778b6d25d0030070ba7329e482c82696e65df223e0579823f0db7323
-e7ff8a4bbe8ed37afde9a15deb7fc8521a1179e9197e2d3e6640e591c50606e9
-11815ea278b0809d5b7ed1dac77d333638b027e340fb624e9f1d6fdc40ad7cf5
-bc8b03e4cae755be841a9c72c86930024006b17f89f9d4ee22bef17b5baf4cd1
-364f889aecf94c1cce61909dd22f6d35a389136125d44a6b4c27efac337d8e46
-6d657a804eefea97ad0b436468e088a93764365d2481aa2d5e79ab437ecde035
-43f6023c3b75a1eb4c5b1685bf0eb3b9e3944a78c9aa0d410d20f7e366670095
-8f17d09d8b713ba121c46774ce83b09ce675193b845ace5496ed1ed96bd0f1bf
-505353ed69f2aab2eef00169531e57f8ae498ec78d5d01aa45f4d7e2c96c486b
-e14a1b21a1b61f6e73c970630692e385184d32c08036af05fe240976397d06e1
-18892245ebace16be7ad3445945b9edfd4794f190bc4bdd159813aba09f80544
-58a0c5d5b5624fe081c09dcf2b1707890dbc43def71d3222f8f853a5d169fdaa
-95a33d1667b9e9bd7bf5883cdab58f17708bed530ebf7eee4acb2c9bae6b8337
-f1b4cb61b37c32cc0b3e390fdf35df5bb198a2d704ffbee24e27c4c1248f3f85
-606de45396611b4ba6ddbe1e9434e7e48273365ec73dd8df8aa378822e6f1f6f
-8f35454c47ac054c77d62fddaa17b41f60997bb9f1ba5b700e7f840f1cbad1cd
-e2305a92564e0f4c88bc4f3ccc6ee1175af3b2f83cbc57fcf10f0e63e7f635e7
-1e428064be1542f59407f2a18f70adb7d0eeff6baf6ed415d7a2a0237d17a726
-e84344dd77c48b43f47451142ae90d22b0e90e993715c55d0be8c808944f24d7
-d3b167f8f6f6469aba9fba2bde048298e85784ade8d96fe228ae328a0c8532b8
-1d97be36095fb1a3930417db8c50713f86e647113b607c7c93bfb424316e1aa4
-4f8543880efeb8b9be6fc7b978a4acaae9782a2721757f32173cc39142103963
-9da323208310b292114a62ff42e3cc0c986f709f986e07b9364634fad4a3be7a
-8a63cb7b26036eb8515b8ae6af058874ca36054c184f2626ec2683bf21304e1b
-5fde01772a0895de5ae8caa031125b614a83b949bf40681252218b10f5d4ec6c
-21e8190dafab34551a3b8712b13d195ad6c934cf96b9da70302e84b34e6f8bc0
-ef3d383ccb7adb2e5d67ee464f9b2124cd034dd4ffb20962a6abd3764694e07f
-4b4d244fad6fcee6167f5f44f943a02caa9b326726e949a8424496a79f5acb37
-d8c7c3b10d5fec76b568ee77b02061eec7bfc67c9e75ea1784e15ecaf2bade6b
-48a80532beea72fbe2ce5062da978663984b2cfcf067ddef4de6155f60a6c34b
-b469c3db6fdc40e5f79f3562cf6f8bc43ff8032692ec0f95a03263e2cd7cbfe7
-5b2f4a7c4dc6b8445dbecf16b800f43a6835ba3226b5b112cb09a18bb0161210
-4ab91a24919291406a436f4cafde0ed998da1b99718d003d3afa3729203b5999
-a87df0b91c5adda6e678039344bb36495fb1b5e5965fcfc86f6f61763d48c0d3
-7c55d221b1fded8a9a359371f8c08c778e269334c2af994b75186f3b75b7f61f
-6d6d48def0aa6856962f7b9c468c795abec3b622ed16241f4c506963acf2cb36
-29ab91296d06193741f36343fe0f315877a090df94858d93c527d44670760ba5
-68b61609a3d750e4153c0f17dcd5f870b3a38b7d2272ee60a24668afc2b54084
-63664a6fff7ebdf7d2bdf9b1636b17041bb12f49ee3cda336f84c77746fb5036
-61b18775cf02fbb4c635fd09886798b09085b8cdb795bab93438ad36f4e9c23b
-b30e1fcff1bab17fe49566f755ff904cbc11da5e966a545c6c7d7259ba4c729a
-391ae47953a99bc4d500d68420204e23a07f6c0e137bd1a7034d670e1e9d8804
-1bc039653a023a6edcae8f73c93ddcd8a2e85396f5debed0d0565be384f21c5f
-1171e37ce2443cd8ea5b20da6bab9b62ce5e8f1f485a4b3fd7fb22ba4bdd28df
-f76493059c56b7a5c65209ee98f2e81ab6e25cd0a0f81cb511004e9da7fcd65a
-8e73b549ee33577db68adc05e0b24e820500cd50523470eb760844155d4ffcd1
-759d5f50b803888f3bb3a616f99aad9a18a745fc6c248684c2b0df40e38234fe
-1d21017d2a7a1def67c9dd2884d2239e9e1790910a8486e5cd001d2aed32e05c
-bf6fd016f4e70e6af610330f47048bfc8d0a490e60b9e27cc75098a74147b30f
-267ca6983b5940b8ce47d4fdbfc3a7f89f78ff4c35ec0a50228aed5907e05dd7
-ea33ef10c079981b1ab1c361d78f58f78fcbb3d9d4a569e0c8e1f86067bd61a6
-cdcc34c490078ea150b792d466b7a6a1a4ed7c46f4ca2e46800f5498820464f2
-c88c8e6ea79bac3535fe2c12f9e121a07588426e60067e13e77999939ac6e36d
-9b63c024d67d2dd1a1e7172a6441a051b2e1405877aea4ad0e78cabb4cff67cb
-82535954d4ba25bbffaf67dfa0d2a889592d2ba5718168b3a620ed8fcc10720f
-b25da0cabd8265af47ce144b68c6058350d643d8f0746c43ace3b7445efebca4
-8d48d6f46c9154a95a4f4b8962fe1392418ab22e84ffe824554c74679bfd6662
-09b79c6d147858aa4ea978389503c1b8f0dd5ce10af89739f19a42a932c3cc14
-25882a16c505ddd2547572b93581ae8f0eea2c7725f91b8b2bddfed70ce9b39c
-398a0beb2d83471822dc81039695f6fda204907ea0078d854dc4b86318921169
-c744ac7d846af8980e123b6219f8663b9fdbaa3416e6cba8ae367755309372ee
-84b812650858053cd0f7f2d4e62d8905b0cd349112adac19953517ac36219044
-3cfb831fbe6e045dc567c182337d4148036e6e715a366a7e2be5bf0da704808d
-7bf418275826e99d696b0c296e7b5a15f5e63f9c90c5ac093822290c8d254e7e
-828104afc3ef7c5a8d8fe631f191e266434f34d9e10619a7f4b7df6566c86463
-a86f6dfff94f01f8b4c7688e999f306a65628679ab9123af6dca39e88808dfe3
-e99107b918a8dbb02b1d5ed0f6bb82d115cb36889e5aa14c9cef78bf09d3b429
-c1e3cf2ff96d289a6279d186130ec5cfcdd5a7dea4d23124f012646dca173108
-2ad555c142a587d98fca7b8308cccf3856b0901dbb3ca53082b368cd2850613b
-32da388cffd23ab28d932eeff2a7388295286539aaf03746f35eb28338ad23f9
-f4fb3c91c79ab2fef1e061cdf2aa1f2a991b39fd0afa1063cd54dae5d31d2f44
-516cd6be0ee051bbb0201cc747a04d5b171d4f13686e77b9ebf9ba2236886c4a
-505461037b7a5f2ee8db790e6fdfd047033354f60786c1f2c00aa6847c8fa0f6
-3ab3215c78229d47364fc91ac88f98eec9e5d96ecaf41c0aedb88dc216964a52
-54bf9f88a7bc9f5ed16fd210252dd2f8e7f54ca4b4ef4a7356023556fb69a31e
-72df664882f57b786417d6955b17783e9c206fd33064f6d9a9e23ca274189782
-1c18375d12d1ee22e74713f6911c3ab08b1d7f35f00f18f5e9b669ad15d4e1ad
-0831fb8edaa74fc257fcc5ab9ade88ed85a19cc22d32b2a9e2ff3830e76caa2d
-15f5c1fe3fc21bd1eb96d1d35e8966ac563d1ea40d6d3d2b79a9c602bafadceb
-31cc10aa90012955cef8982620ae3d6d01ce14bc184f5dcdbebf94cfb5b10c42
-d174ae261dbed22fb969fcf1bb64f2bdfe0e43ef54eacce5fb5e537e872eb1bd
-d7070d3bee6768186c4bc824cb828830b8696af783d3410a62fca2b996aaafab
-4ee639122e65f121b941485cfb581c57df7e0c5b7e4c912b75eb6409352ff5c0
-33b1c7e4dca272245235cd8b23a5e9452652d212fad18eaa899935b90bebf320
-3c50b223eb1caaa160a4ce8469a1311c69ba2ae787edc9ee304f32afa013a0e9
-092d80c29dde16413909f3d00f9844e86dc234442748128e96b3ee0d243ac8a8
-00d872aba50e81604e5270aa9972e57b021dbb1eac08a064d250df6acf727c6a
-098c99b2074af3b4bf14913fe867707fe0f9b058e05c38205d1603925f7fe1a2
-54eaa39ce49ff00bfb494cbfeec9b738750b53feaead8bce2bfa1e20cedb5e2f
-d815755c40352198c1daa5d092c700d3745eaf183bc281b86e7762985bb5f730
-baa1ffa889dbb0e2f7aee08d5abc2180466eecef7c588a1c0f78453685526911
-165bcbf5cf3e9e
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F124_0 /QYKIKI+NimbusMonL-Regu 1 1
-[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section
- /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl
- /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet
- /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown
- /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent
- /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron
- /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef
- /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef
- /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef
- /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font BITXNG+CMMI10
-%!PS-AdobeFont-1.0: CMMI10 003.002
-%%Title: CMMI10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
-/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /BITXNG+CMMI10 def
-/FontBBox {-32 -250 1048 750 }readonly def
-/UniqueID 5087385 def
-/PaintType 0 def
-/FontInfo 10 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/ascent 750 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 45 /arrowhookright put
-dup 58 /period put
-readonly def
-currentdict end
-currentfile eexec
-d9d66f633b846ab284bcf8b0411b772de5ce3c05ef98f858322dcea45e0874c5
-45d25fe192539d9cda4baa46d9c431465e6abf4e4271f89eded7f37be4b31fb4
-7934f62d1f46e8671f6290d6fff601d4937bf71c22d60fb800a15796421e3aa7
-72c500501d8b10c0093f6467c553250f7c27b2c3d893772614a846374a85bc4e
-bec0b0a89c4c161c3956ece25274b962c854e535f418279fe26d8f83e38c5c89
-974e9a224b3cbef90a9277af10e0c7cac8dc11c41dc18b814a7682e5f0248674
-11453bc81c443407af56dca20efc9fa776eb9a127b62471340eb64c5abdf2996
-f8b24ef268e4f2eb5d212894c037686094668c31ec7af91d1170dc14429872a0
-a3e68a64db9e871f03b7c73e93f77356c3996948c2deade21d6b4a87854b79da
-d4c3d1e0fc754b97495bcfc684282c4d923dfeace4ec7db525bd8d76668602ba
-27b09611e4452b169c29ea7d6683a2c6246c9ddcf62885d457325b389868bc54
-3ea6dc3984ba80581133330d766998ae550e2fb5e7c707a559f67b7a34fea2f3
-bebe4226da71af8b6e8d128c7ae0b3dc7c9aa4a1faef312fc9b46399b18c437a
-776de1f67caf78e15d4cc76d6fa57dad7abc6d35ede0d7118e8c6f3a201f9ea9
-eabf8a848d182eba8922addbe3c488f51eac02906400a84ea0abfaf48116cdc6
-6fbc00330a76a8818cfaeb7afdeb029a204e0a70b47a05aa50153b56d2bf6736
-c7a2c50b023ed92cfff13eba974f804a346d4130ccfd5233b6d6b92a14c87bbe
-2ba216bae4123911e1856975e5cf4d94e44f400f687d2d13db288e0d821451c8
-83e9928f8cbc41e0f4b99f8b29d3b11bd4ed0cbca83d81082e39a9e79cebf433
-671b1af39c3d0e1f5bbe5f1fff62ff6f5f15f0421c56a4dffac682cb07b6f257
-221fed1902e4b69d9bc2e061f2e96f5a46734f91298494a425ef6432f2b9778c
-4ebbadd3483ef5447df5f008db9d91c559950ebcedb4b1316a5aae8367a80e06
-bf3162beb99c4aaa617c60be688da7627f29c1775983ef635b26306a94f0b258
-003779f8670a1398681953b785a226057f7d1270fe2dd2ea66d65e2061fbd65f
-0ac51b6c347a56e9f3e86e52f3e0bf1d5f8d6540afb32a027a7c96919557692e
-b739cc298ec7999b4286538edf7333cf8f8f6ba02c5e8c62929af07acbb90861
-0bcb85345f4206e3ea130512dcfbc6cefa31ef2bd1da11d3010fec57b5b232ca
-706f9c44fb9cab8903be783eca66d748b3fa5b1f5d5445f6c16a9a52c88a7e2f
-2bfb0be4e416ea209a9810dd6c38e47a58dc9270b2f49f9b9d482156f7dc8164
-b621b6803b6434a2a354a50fd9353a2ce3fa761423634b8f2adcd63b2b7acf15
-07588caf127a0d6b2017a451d3df77c53e6171c66236e5318d49fab9ce4b1026
-853f65d0d5f7913d88ea66b9b63cf06a4bfc8ed3246bb86cf6de255ff46d245d
-109939e32dc483a0e5176b614ccb7f1adcf99854cf50317bd081131a146ea089
-8ed59e46da7b6254bdccbc660686e2eda0ad7b894cd2eb2688c0c00aca589d39
-e3caa6e0faf7eeb5df3e3f8113dae4b454a0d8c86fee52779ad3e13a0a871e9b
-65b9ef0a2ff20989bae81d1cc1181679fbedb80e7d84a08774e6da58a283ba22
-3780f2717484e066fa7dc012e6d19429b08638045352d358957917123c9c73b4
-326a954f5ebce183ba1025c00c8f559dba85e07b3ed48d2fa0acafa9436d6fdf
-e530ce25ac7da170db1764e77b6816343e8a128a075e7744a6f0406551f4640e
-c403ea61696459d15ee040bfb53f08700c69333b1cb28142c5b9411d65fbfb1e
-c7f4f50c03d122ad4b63e9e65f0a0af43efcc9fc546fd13da42a1c13b8c9cbfa
-79a480d923701306249955ce1c61a680b2809d3551325a333a189db71bc83c59
-47d17b31f8ff63564919b00336285f724d22f889748564808083ddaa4eeb8632
-5d636961e1f634f3ff3def1dcd7299bb7679dbaf685e2ac1484bd9b17c5cf4d8
-59897713b51a4deba3332c2ab5c48a76357d2eaaa539a617b09f223661bcb411
-0e6559e99a7d900336a9327d4b8330ee5f56b016cebb8c07dbcc2fa736c07ecb
-8930f26b429288c6fe6cee3e7792de58ea3ce248598db0c604787612bd137d80
-e4462d249b229b62142128b57a6b44515262743bb3c70ee96aa4b8c49d6b0be4
-4e19f634add30634f999f4dfb3dcff6a412a9b6067d28751aab1b20928a6e73b
-cb81b0510d551f84437062e8cd403bf8c343003965e926465b288b0aa2fc85f9
-90f9a63fce188d72008aed98bcba5ff4ae850711d2664f0857ded002e3a89fa8
-75f930ddf7918d6b2f92ae26af35f50cc9d2a8f9b5d5d80981b12ddf4c59565a
-aa62ec34589e5bcc3075cc6a163e45d46bb280b22158c5c04c90beb6f8a1c791
-5597b0f69be3204d876cfa54481cc86ed2fe799bc46555c6c6fffc73854104dc
-9c8a6f85331fce7c5d1f20af5d99e4e61b7ab981dd4eae26951a9447d5553140
-b5862e2f39023bc7d14901eacf467a9424a6be8055d82f4b02036cd766367871
-e0a01d09790ab2777db18248482fb32a25fadb62956b93affc59b1796f78d0b6
-6aaeee9778a3b253bd98035c79b5296e173fba9e56e8824ab6191ef9062b1fc8
-1b6b6185a05b167adccc6698b1801297d766492add5b66193d024d121633d329
-25bcf1a9ae109371aaaeb64f2805bf5c2d5a218c191e9eeb4ac30a48291c7251
-f690b51d5135f6a37f5418624c7d2f3ece356b12ec18f73d5177a24ffe371635
-fc88231b3a95d72ca2555f164c503f91b5c7ca174e43aee6534df6d569efd50d
-da3e950e11c6cff788e50ce5f1332ad76a2357c39d44ea38e88b24f2d37cf29e
-21b7468adfcacc8ab8fe1ae9da4c933b5f7f0a6451964a4924b6ba96c359c828
-d818166d5271e813f7a34a5b18927e66d61003392c96ab36b3e2175f31faa3d3
-7e77200bbbeba91c532c053f318f3f83080bf3d641d4c5df796c2882e34c01b9
-cf74bba01f03ef559012eeece809c019ab6d40d22a16fb9054143990db45b902
-a5574f672dda96d6c18c0fb048e970e6180e6148061e22085c7aa4fdc2102fd2
-d31e84456a56057b9d3189f331cc8354b195564cfdd23579574b7c7a80d2f3e3
-97f07cdab67407a46a4264e985563dae7ad933dac054d64a7ebce65bb2beb5fe
-d53360fd76a0fe706e7283550c4d5657aa9bf62ee713592d74e89998e9b0adb2
-327a9dd5f19184a500870a3c53367431b56cc4dd60bb629ae68a009fba0049eb
-16d11d5f299d5a99f3d45f6510450e53740da5556335eccd43e1408b826fc535
-10c7784c44cdbf41988ab67ffdc54ea61dd05208204c8bed9c66c678e6324428
-9682cc6ea0b2dad69cdb69dc8daacfd1a98c730dc3d9bc8d83e2fa2e72de08b0
-031ef3455ba92d03acfdb7ecf50ee883a8817abd96e58f72ae050feae0d224a5
-42aa0b4c022f8a90e73ab84216f520d6ded72680471b9ed2ce317536305d7360
-810a92f4957c9aba9328b116349fdfa728e9f042b2fd2d116bbcbbb99ec6966b
-a5e1f4fbbb4b1eae6d8bdd40de5fa44127e6d7c05abad3c012082c245265096d
-d4445b03ad8dc08d707ecbf0aef0890b0658dc9341fd386d417ad9f5e79c0464
-be4e3b22e4997e1806d192a8be70dfbcf69715b8194347a60e80934ed09fb08e
-c4df7c3b204b07ee3610c041dff7d4c76060e4be6a3a2f0b0217005ab38f80ff
-fe55a6252afa361b5cd8f3b642e6e193da913ccaeae5508c2470036aad80c0c6
-e977c374852b69a8de69aea44aaad49eb7fcd420bd55a5c5cbf073e859ba9d6a
-857da20a5cc2744843ea07efcaf91e992f0a44e1e520bbca097b6965c4e30c99
-03ac3ca1af1bbeeacffd7cc22e7b9763b0876cf8308ea38828a716da7f430898
-2beecd1cb81cd95ab8fe70242026f11061a70fb42445aa9246488d6d0029df17
-dea43305ac74df52e5699b6c243025786b21fd43993a8039e9e75fce2dbb7d6b
-7e4cd140e7edacc20dcb473dc45eab68d8ea296baf9bb969093862d391f84073
-5e17f87847ff2e9186080feb184ff7869a5a8bee6aafe3461454dcbcd00d2c24
-61ef831a52dbb0fa736694b4a3a4d85c6d80636b316fb12be67f0887cce6df04
-80c145ea8762ef8b2c43ae71f3c32686fd5813eb49a39bc6d4980472bd5cdbb6
-c282c9ffe2fb52656f607692e1ba726417703feccfd4aeaf9c66d543ce1506b1
-a9d6b95705f67086d4f36b06a283cec841a01f1028d95d4de419d7110f091014
-f6dc905e81add1d54f95b16cddcfd0793d1cf4a85e7a35458c81197a24fe82cb
-63edde30cb6b538a708fbd41f00268a772730b85bd8860054acd93fe6b8bbcb9
-cc474568d426e83f15838520a313e0ae1b60959de340398b21986f5c404c9361
-54975d52740bec0f7abfaf271a2ac1f7553b862d45d11ae585936fbb5462e2dd
-bf35e4afb7bffcbd3294be3eabec4b787133c3a5e0c95f74a71dad9be990d07c
-d157d7258830a3cc3de6459140afba942eef325ee072b3a53a9f281d483eac65
-e8da50ccddb3d43baff7d8c7d7a1847d6d579ce92df1b54de141ce7a73607362
-7d909e8cd9fdc373b840145f9373bc2f02979ee34688bf840f4f9245c2ab976c
-ee8bde685c47606201f6611e38a49ab72428def2c85e553313af719ab4d4f5ef
-e3f3430522abff76bf8bb8f56afe11008d3f989ffadccb411dd3b7e6352ea873
-3abe5dc71b3b4832ae85bdb23f6cbfb4b2631412e4fe0050a5f7f4216508a3db
-ea2d74318ed82f1a2fc791623c869593dcfd6bfb2fe57bdf06e9d1946f9bcea0
-13848fcdc603e3eca5384725118970cebcc9ebc6b74df13ad395fa6efdc22463
-5380eb1b3521aa929eba30958ae2da40852196b67ee44409d323383b0c7fa1f2
-b4fff373041d9f5eeab03d6743f0a291b481dd3ff9e8ebd77a073b8d5f5d93bc
-727e6566204893af892f74fc0bc3f3e83643a93747678eb998f9c91b3a0ff942
-3d3924f507f1c7eb18249b2ab73691f5fac868720ff52183091f65ac3be8cb0e
-80d257c52ea8647ef747fe304598e1ce0900a4de4031e4b6a58d7869b08a56aa
-710c91ccb8afab94ad10d670e767a44e0177795ddfd65c9cdc7332716deefe3f
-9e2ed8a54bb6faf63b7bf5f554b934821086c09fc28fa74ea2efd410e006be6b
-ebe0c464e078c14968453dc783a788a55d925d72205492c07d0dbaee4982fbed
-9b32dd19ae230da5870499feeac55b09b0970ad5926375fd79b95552816be003
-90515262b5ca891babcd81bf86847cbc5850d4a056bdc528e97aded1ea6d7b76
-bd8ec34e742a9fccf19a6310004499b1cc1a920b5f3b746bd4de2d9b9dea341d
-25a7a7b60546a8f9ef99190cf8ddedb21a0103414f9f28ae8673c966b12528dc
-fb70ce44db4822322605982d708a0b4bef7eb08962e3f433213d7545f351e994
-970828eb443c3bb36ab0c4cab7fadfd949e5f93273141da2b6dffb41b4678647
-93cd4e53c78a63c632d4fcbad772122e86dde337d5438e5e4342a0e18be8b014
-3ddd7290d16096f2149c6c71ad28325dddbf994e651b9d4be89430b31dec3fa7
-d2703196f7f10b5e8d98f20e14151160507e53ff1f3d4bddff3f45f9e64b1b9b
-9b26b32bf389a3725c243209245bd78c2f78d67033be00ebe25955a1ac718305
-b52a0260a07220a9f7410bad935538c6c7c56f902a70730c1cf90d45a5f66c6b
-a762406e512bf3cc3b52918c6e9e92893279cf86af1684d9b67d1ebbe84be9d8
-4b56548323ab381ae18c9e9570453abe77ca9d9ed1164563120b939fc3acc33d
-49f5e989a74ac760f0c99458295278efde92e99003c4780935d12eda68a82308
-ba444819ea9fd930c80263b57ec1b9164aa50ce386b8ef81a53a710416c6c868
-794bddb4fe463b3c59ff9fd085fc7ec37cf2abb7df09d41113f4542f72bffda6
-1fafef41c462eabcc7a3b4fbe46cac256c7af4309a617e73e7934450434e344b
-5cb6ddf2e63f4523f1526ed2f79522eae16b23dd9ff4924053a0fa7c4a0b29ff
-f4485c041b06147d2c94d276553f443c2980cb96ef5da49bfda4ee95bbf092ac
-e2dee947d0c711c1930500b79a5424e8494df6e1798b009a3816342f4d1d7cb0
-b7bf239f3d60361ac605020591740d13ce386bca1e69a2e8063c62f9959c9fb9
-010ae39f18882b1e3b3d0d9b0447db7f7f7a3810375372702686b224896bf5e4
-cd40e308b5a6988b614d8088c296171423cab2657cfb98f462afe21e990b0c74
-4c8738d1b13097ca887ccfd3eabe4f1e29df71d0e51046957409964f9f02a33d
-78b2a5bac5058bda0dd8a65fe6c53dff9310fd2b97afd24f39e586417dcc18a1
-5c0be1795e0f2c3d785f8cc1ab5505bb8fc0dfa1364f08876a42dae3383f853f
-84e7e54405bb8d00911c5b8ef4794494d9bf076d57a65f2392628b61ff967c77
-29114960e00fadc36961617c61c673bd2d2e4a9d54702233c8414026e67940bd
-ed16e2d3822f06068502c0966f2ff68f74d11a0b780b95f3f52bcc162a37b6ef
-48cf5ff8513cf4183176734f80b9835401b3db6bd53597645873fa96488eb183
-646b577037e5717952d23cc71ee1780b3df42d9c768804fc47cf147db059b9ee
-7a6399d4f4afcf2d296902f16d56d6df28ac4c9a96e357678ba901fe72ce3d2f
-b10fbf263146547d455df1bc33a1dfa753251c264db8798da35943a4940962f9
-e3b8a68d2b094177154ba30af7bd201cad919c09a34536e41d6c5772873c0634
-fef84dca5f1a5d5488997e279876af1dfb3f51790a6ae085d09ea4e1947fc10b
-987c2db0634c100484f4b45404119fee7a7ec81111029cff1b4cfa1a8637d4a5
-ad472b5ac0cb9f428cb1df8abfea3db8082a26cc815437ab387e7f87902398d2
-e0c6bf6c95c2381f15b61fb2c5bdb8684afbb7a6c1a01ca2286a8dff62e52a16
-3d7c748c1b2c63d2933012c5306cb7efb0b4cd733c56ba7700acc731d294f7a1
-1f2a1f8f461983f2972da8c3dbb3f9117f7a6f3583c8a5dcabb364ac0310457f
-93fbca26c31482d806c6a7a4f87f4cb92e3f30b4dd2dd5e3da5360430c008237
-7165549aa416a73c62a50b707074b2b7ded2b07454574f60861cd2f0342e4f78
-24789278e711f18ef858b819a0accb67384b47145fee30b32181d66ff47aa657
-83f0cccb693ac70657bc2bf204974bb3bcbffcd6540477e7a973718754acbe68
-823672daeaf24c93263a57598ac4bc999120e367aaa4b54c643e8c8987024b07
-9b0d40fb33d55cee534e3a38a1a316276704e9a6df08553fde29e4d4526225d1
-fbda6f8cb78098e83e8a360de3c4c77e2998094f920aaba9c7587735cd2f22cb
-e17c6b99a8286519242f18de4aabbe470bb8e0931ec7f5c19e1c304df56f2368
-70d154e925c4f2e5012d52a0283ea52acefa09d2a8ecc832358868bce8efba7c
-492e3575c1605150a3f7d6822960f1a9975151c7b6e928fc07f73493351895b3
-5ea783de8482144ddfaf6f881d0835472a603fcd52464da80de0c380fed5cc67
-e38eea70c066dadf026e03fe00be35c6310f64aca4b991ed4bc4eb125b4c0a79
-b87109b442c0b624c340271988ca36e92157ebe00ace90fa4515b6c649b9ef36
-f82cfb4954c124878dfece799bd987ee930148967069b9e6ff5663689e5d186c
-26dbdfa146c3dd3ab9c2104fa4e92423c88a0821443aa8008b11008525290207
-146118e39b4d7893fdc8c7225f4c97fa3f1cc264122afa3a87d630ef325d3778
-28ecba34700bae5038bc2a1c2e0476351d9e73cb623cf58eb35d4c518630ef2a
-f8b64bed95d72bb7403e652e2dda6faad38fe8fe4319ae190f0496a1c6806cca
-10efc6d15c7e19522b152476c36f9644a599da6786df08fe7981f9eaa0e8611f
-880ce7444e6e72e82aefccf6ae7aa0ae68f883d9f85b8126a6c52687c0ffe6d4
-fc712eae8bcaf81dbfddd0a58717c4cea5ebc76c94567833f5549daa0cf6254c
-627a1a0662537ad3b43c6f3a90d553bd6e7e841769777c502e4dd5fb8b15431a
-61ad9b26cd69b5d7d2b28776074e7b7beb25da2d5b8ce39e2d982b9fb9122e6f
-401cdba8684365458bd82680150de4ea9c386dc6666e613f4de18bcf4540ce5e
-663a6f3de86e8ff97339085dd62fc33bdaed076740de76c1830a14618ced99f8
-07519a5526f787b5f96e8086ff187ddc36ab3b385520dd23ceb0b0a779c97537
-496cdcbd8b82bc87bd2473acc490c6a86a6e6f85496a2dabbe2c92f4394c23bb
-714c0cdce7c02a397f2a66862ac165931eadc3dd374873357e315c8cd99f00b9
-20d3c62c04401d15413d4c640c2aa4caf5fa5db6eecf4ecf43478b2ed317e06f
-cdbab783a6921463b346d8bf72e98a4d7fbe011cbe565cb54a7157af3fa4d5c9
-d6a36c7600f5a884595278efddf5085f74c3d7d8e9beb3be3f7f6131e8233b08
-4b16dfda9cc778dc10adda42786156d707750d12c920cc297e8f58578d5084a8
-6d68a5180a
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F230_0 /BITXNG+CMMI10 1 1
-[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/arrowhookright/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/period/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font ZWXELK+NimbusMonL-Bold
-%!PS-AdobeFont-1.0: NimbusMonL-Bold 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Mono L Bold) readonly def
-/FamilyName (Nimbus Mono L) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /ZWXELK+NimbusMonL-Bold def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-43 -278 681 871} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa7637750ee32abe88
-6f7c1368d9ce6c8e0c490dfce9b86d093c646a926013616599be4a08eeab1ef9
-4d9066aa43407ce8754ca1bb33035af23db30794e2d3368c4fa14ccccbdeaf01
-2caf3cd75f4a9430011661c1bf054a530ddc57f032ecffb56ef20be97a76074d
-a40f2ab5f5ca4b83c12482c76211aebb54d996a3771a33008145b436f16e5100
-3c766da4e9fc3ac88ac60879f47b0d72099a606f615cd397a05aed4a92a6e86b
-6a9685a3fce4cb303371639026c74f19dd67a353e70a7f40b4d317f830c0342a
-9f2fec7a3304e4c4009e2bc3f0dcee97c8381bc7682c6d3f80d93a69ce5d74bb
-b3ae9b016bca6cf044056c8ab210f7f1ab28c6b4c457d0184278951c4e2bd743
-41f9c9c8fafb9f11da77c2ce9f820e65ba3b7184d08598f9ecc956d38ffa3d71
-0ef485905434474fbb7cf4b43b193a537efe076c26a9251d45d06ff575a5b9a6
-20ec66effcfa67a9e089a1a78ab7331d3841898dd7476d70a2a97c8f6c283fae
-4010a9eb770604ba65878fa2105d063a44c56e21bd4847b542af04cec1cfc7d5
-ec2b1ee2103bd35e162f2dc6d1f224925a0d7eb5b883a6eff782245605bb8fcc
-1e0453694af4725205d9225ffa329bbdd4392fcccb8dac6a0e8be2059177757e
-2fc359426f4e1ed2e19ca9b5311c2e77ef9f97618b0c337a906ff39926d2b0b7
-883abba6508102d9f4fb0387d88d82973b53718c98d58c9b83d2a62386b74c16
-9cb5c33dda965420dd78aa19ff23f88bd2355f93ebaca543d8b18ea36b4ee8fc
-b5924e01f73a9501819be812383107d361fe8c805163a6957de6aa4af7fa6963
-e77ac8e5d39349be33448d2f6258da61aaf47917c66c7c5ae99a990b727c6c70
-20f14175225efea39202b489cb6623c51f41fe9a5f6d3be27796e51be6945774
-6cdc1ec49ed6114400f4724ecff05fe0bed476dd3d5650ce735475ff6f232456
-5918f9ed222319d2a544aa4a74be19f45cd466fcf191e7ea641ea38f9d3133f8
-872bafe19691dcdf0bce48ed6fd0e0ee9a81faa6dff8b239874ffe2072a73107
-0ffb5095f90a653a1690655a9b4287545138b8049e04eeb928256a05a73edf71
-4e0c8692f37cf1d7e3defd43b2b428f853f35bd79f3811fa7bf788d1c1cf4a61
-65b8eebc60521fac324403d3bca11817c9d15012e0be84e194435fd27361e68d
-79b52b6c9a96c1a40596f048a31c49088b883ee21d9bd24b48e4d1e03e7378c0
-5b62dc00623f9c5dbe5087eb9122de23199ac72b491ff847674d6141ca7facd9
-6bdbfc373e1e1f87881fd7bc3a7d64292c55a687f3837424612103bd6be8fe2c
-0b3f529ff61d27d3fe8cbb25636f48e6a41f205d04a802e50fd974cfa67f94ec
-19c3ec32aa714e650af284926ec5f2e29bb880efc696d77d210536d7d1148ac9
-ea9263bc02d2ba97369f2ab531944e132484c3f2c2638b01fc97731f1b39a492
-4822b5265773a5e86a17a41e7346b7c4c48029f58450663e0d09836d75ca7f8a
-d9a78eeea4f41976945501f32bb383455467d217777e642f32777bbd74cff9c7
-97041d0a982ab1c0d4999077201cc9ab52a92cf959cafd2e6790ab45f6927c7e
-96f24481280a0242e823e22a4e32669bc829ef1b7ec3fa34e9cdd920b0f7e2c3
-8f138ee0922fbdd3d7bec614805aa562591c3969760019c54ede008db2c2f8af
-bc66034e5810bc32c823b819eb39a15c0f25be8f2dfe5a01b90848a5adcc95de
-49241dc602f4b71f8901fbb38725ee7ff097f769c017f16598b835a0b93cc6aa
-c437310f1a7d586cc05048684af27ef3c09f72ac62adb2f4fe7f99d1340d27c4
-479c144afdc37e4131d8fc6479afbb1004ba15e3e5d0ee470b9811a0f51294c6
-dee3fa7431267cb6ec7a96c590ebc1cc7333a103eddc21219f392ddbea601d6d
-dce7a8645953235a0ab6d46578e8e438ffc41be6b509b844b73e586131f694bf
-f0ed77a7847f7c747410cbba2473f5869eda83ec8118d800f3b2a7b5ea03e16b
-204962bc68ac47bcc5d29f88aee951c2452d22aa967d32c3f37a91ba88baad3d
-bc74cf2c7fbf0c76faa4eb347390dd08303b439cb1f1a3363d265fec5734c81c
-bf1af913f88820cc29f4a3b54c712e006e1d6bd993668999c3ad54676c71fda5
-e29df4c794a4fa812b13ad32b28bc57e05c7908b8334bd4fe842d57b04423fd0
-db3a43eb047f86eb925dfe31a012031f36d5f6099187724b0e2203ca1da764db
-623d1e0a59b9fe47d7d4d67c241d297bc5a6641770f5e9f75c572675ae6e69e7
-ae37627c1e4d3ba60b95605da55c67c5f6ef7ae2049ea3d1246a0c03309ebd39
-951a398883fc919a711e8e891d914459d4296bc3a584610663af1c2ff053c137
-9f447f918ca55c5dd4a52a060d1725c26e6940371eb4fd9d254749d04ebc0f11
-06f62a30d3f714a33e4f65f4dd0b20daaa10aa02b9a6e6eeec07fd93d19f9c0a
-6cd6bde1d7ccd1a973bf297fe6a8821e03a381c468b9adfde87a4b7f484a55ff
-a5b83052ac23f4b3644234d935485f912cba1c84227a609b32509552ad1d7ce4
-6f564f7f9da1e131d9921befbf53cad1adfee699702cb6bc949688b30f0b4f3f
-d3afc9caa04a796e5afe2aa8f8e14a7959731a74dc4b215d7ec095ebe86a3863
-ef6d7975c3d2edc2e7c2f5d2c8cfc5f6fda37368a54dc07a7026ebe9e2d290b1
-eedfe0322838aad2f5be5c299a658f47d0487584b1f9e7def39aaddd212138e0
-8a8d2479be76477e5193944353796d86aa5e2ebce0a453bae8cd9bc976a14910
-93b30d44f25a29808227330b98bb42bad91b4964f6832f2946b0ff1701853c49
-dc522636d5b7fb6ef764097a17da725c3af793585d24c91627f49e83271b7498
-cbd67abde015c94f5f24579852564ef01dc4ad98f15d522bd15fb9043b241350
-2b1f128d874c1d119798ebb0e11be341f78db622204aef7778aa81055bf4b7e8
-c455a6398d7d5dac94a5007b4f76265bc8875392b5354bd38ddc111dbb8b5b92
-15beaf72f041f17d55b49b81f3d1279bb7a5ccb1a9daaf125e79d5ad7dab0595
-9e694040bce7da09f795dd3cd508b405c6bd07cc7ee9bfe298156ff2620bc3cb
-cc7b27d9618e04a2ee6e3744d7a344f6554e0baa2290b2082f996026adc420c6
-76ad5978868e062323522240a388179de4d224f19182ba7a35c3aa952844df49
-f6c532d429e5c86f89d1e697fce1b50861cca95504dd63423bf603b14459b7c6
-91bf64bed93e5ca158ed057c9bf9160f61584608ee366e3be548bf2dc46c219e
-9e0acdbaaca1a5b02770bbf21dede6a80f3af65ae92a9089683dce3ec5e6ec68
-9de2dc208f7304afddf88f35e1f428dbe74e7042766346ec02e1eda87b8c246f
-89a0eb22d1c6fdb17142af0c8c0b565ab6db819d2ae2bb3bad7c7778c53b2686
-72191116278357d8659bcc81753c2906eac08fc3fb966aa5ded522da2a5edf40
-9a3eeb5735617e77a7a77009cd38c2b62bcb89ab73052cce4526f4f02bbec777
-e6ca65c90ff5931dadf03da48afb8561fc2e71008fb1d1d4343512ada1b78e71
-0a10079f211faa5227eb0b30588e9e03fad6d901dca2b6bac956eb8cd2ccfad8
-80e8cb37e31fa6a8206f6a9a2a9e1cfff1205345019a0feaecde57fb0fa418c6
-f4cb83025e7180e50394f52064d8ea0383b80482e48ac91c24d10c7ddabe98b2
-13eaacad917275e916fc0803796efc1f9597f8952547d27dee1fad9ac1fa6d10
-27127514e0f2dcdf9ca30393cefc7cda027c85e53d10ce53796529fb13b079c2
-0c7402109235a0c25965b3b7d741e90e500ec2476c5dd11dfae57d6f57b218c4
-b9cce956161aff0a55a52eb58a59d7a62d90b110f9a0dd26b8c902122271a38b
-7923957a15d11cf1427ce56323c7e4428d2ee1ec6b1c465be35668b0a7ac8eb8
-af1f080a993c3c74871e4b7bdb2602d07587aed96ddb05374c2aadaa24486f9a
-831ba1179b2ea3602d071411f1756b58168f9ffb572d787b2ffe01bc07c04d48
-f893271ee576454a86a0c216b224e0de81d66ace456d352a5b2537eb96be26e0
-342e4165d30208448c9314ec962ac31ee36f887d0cf61a575444b31180850172
-10ce125407e77e5c63c947fa320845efd26c85ae8813a99e518d679137ae1dfa
-9e9f19c49b461da073dc1be4a9d32f6ad62d05afdcdce4e33091132d471edcae
-38607b7f5a17e7340b4e1a110bf7ed2bbbb9ad9b8ab909430f29f87b1db0a04f
-a4a80796d144bc1875a846990df6fb3f14a1457be695a3cf1a5c16878d44be38
-107e327ec4096cd66caa90efb30bf9837ad04d995c4f9165b1ef14d394b71ff1
-281b0d67d4d3cd375c79603efa6e0830183be17f77e7d5423dbe0776fa1387d7
-df0dccfbda67f6ada4d87dc8c6325f0460690be677aa6db7e0250b5196b420d0
-cc8d66fec329d81a7584a5d001c2c3e42350eb22313f036b5ae64868fc6aeed9
-af95ec8f2aeefe4a95e69cc77f321fb7e7aeaa45b2f56d92d0956bf321ad859b
-d2e2bbe984b17fe9303f13428a68d6a1959288ffb63d800c11ffb6226920324f
-6517eb5373f2b8f058be35adbc7ff15a2b0a81683aea4ff11071451a49efd1cc
-f15664182fc26672cf89416da86a3b8cfb45510e1ebbe11060963434bcb7581c
-4816bbd63c6d79dbdca7dcf26a4217bff8060ad7955402af67fe4743997a028c
-c33d49847b57712e0e23a1c5b72da33198426130a132be52890df4423fe21d4d
-2625e646ce72588478bf941f1f74e875812f7d7ac9c54d0ddcd12178abf50bcf
-f5131713cf9c42d0faf6cde696534896406a8a5234a8ac19bfd531ca934c35e1
-576099082701fce199811dd294cc46ca147d5a187c3737d3d128ee8d437a2afb
-114183da45b49ddc768c31e35c395c3bf67a79f8b1ac292f38ab2ef721453256
-523e9dc08e80bedabece9bc9af135276c819140d7a0e966156dea6e2f7aae463
-c634c4de83feff86407b556651a455077d64b52c5ff4b80250d312dbdf83dc0e
-b9ebd541aa9fbfddef1f775be0c411788b054aad44c85d8723ca7d2a6b00cca2
-4ac55e90ec48e4acc15be17b9544bb71ad967c4b8437470e4d020fc6e8677251
-92e2307b51148b2cf46fc1b7f2b149ebc1ebb02c33477b4c56e56a9f06566377
-d2de31c00d90ff5ddb509f8ed457e915c6fee8103da73b5d782bffad7f7c029e
-12e1930e95fd7b7bb37c48b7cc48d99dc9aa79388c90bf6c7c0b83c7f7fc0935
-8fd5f673dcc906c7e0fa7711abe8258828289ef48a40723e39b7ec79f2d3822c
-6f45a6ae0745413ce860467d7cc0aef52c680b8cf1767915d3550d9813b5bde7
-1c21b0f7b7119bb0e1eae6a7874ff0588adf14626d101b4e117c63f2e7a60627
-dc40cb9ab16032434469f390804b9039e21f1afc9380f26571e3b2c64a86c851
-74fc32a61b787769985079d60cf71131977accec6954da9032b1333396fd5450
-00e364e7e6a79bdbc9f1e842e222ca480f1f22089a38079692312519392296ef
-08f00707ec53e1cf114795631e3b14687b9e351f1b7bd44d6f7d41ac91e8404d
-8ae952c3c78e4a6bc9ad64ac1baeb952053c409cfad43a877a7c420006ce3e9e
-0278a33cebd6d9d9737432c982165ed82c45d26f55c133162a41be27005cd6fd
-e60cc41bc098314a5a1619dedc6bd9acc637f398219f9a3c543f8421ad4c4e58
-9265d23edb6cb45f2273a908ca416ad8c32c2992d9efa95d86e631ac8fad778f
-ef9936c2dff4053cfb253c24c65bd20fd534d6509c0c141a358d4ad95bd9b5af
-8abb5cacb94788cbf6c43bb54d52751d05a1a2e6848c33ab9b769ca9bccd8e3b
-ee742c0d93ecba4c5c31c1d32a567d4213522f2a5687b014351cc01a42c14208
-69ef5852aa703ba076abcd4c6653fe6c4100bfbe047e34d4d6e9c62a6e5532e3
-f9ac9e7cac24e076546134c226f38ad0f51f8f2dd8501a001b5c0da65d9286eb
-3560b947ee38fa27a502e87f8c99ffcd54b1d128096360be6c5b6f3e536c57e9
-1acffa0392e87026f5acadd1d81295d54155ac6154e247d95bad5d9ace11215a
-e0ca996979f6dd8e94e7567ea17b8827ea4d5d5c9a8484ca568332bac134f993
-91505c7fbd8ba336f9c37d6dedd17261483c232995658b078fe8f1a312cf74ca
-de87453964bc73a936a0ea09f74e9b0822b8336cc888f0f1f399061c342c8b18
-1d93b17a0afe2a2a69acf2f91ecbc8441db2aa35091968a0408b2abbfa35e4cc
-77208f81b76a199312d8b3c3426e49e08f8359e6ceb694550f4b8fb113f2b977
-937eb20585083e72e0abd60e60ca4ac0f216b65b7a9bcbe1005c5b8bbddb702d
-ca9da36f1fd416315266905f3ca5ed221be1ec496c5b16070bbe38ea094ae5ef
-be93eb0eacb95603d7c36ba04f606a11ad22580b1ee5498ffae48f218108b774
-d71bde64b7de26f696d95abd3c13853aa368cd2582f2b03be9b7ac59e9bf0207
-df0ad55054c594811c5e89277d3804d058e1fa5419b15d11605066742d284108
-7411f111e7375c6710060d26e0b60f6aa8387f348cf2bcc5762c16ef320e24c1
-755f88376f5f2ec00b4121861518c97145a7105bd0d571454c177da407fbfbc3
-4a93ee4852b09cb436f682f9f84da4d61ecf72f8f801a548a9304f19163d6bb8
-12f5de6e1f2b4ccc494015627416d54877ee71221b95fe357bf67271242a8f17
-a4eb4be3b7a649c234524b2554a8fd24210b7acefdecb2198265167b8bb28593
-07ed7a654e9a6e2119e6dd14fb33faa084c71e930b8035952b87fe8b4a297dc0
-e4a89d17214cf1063caac03d4bdd5b4fd62bfa6897811c3494ec3018c558282c
-2efa94538edde156727152eea21c6e3f88f68a0176aaee333b79e6b37344bfe2
-77292544c72d4023a3728c2e39d2841c2450465852d02503fe0a871700b470c1
-a73d8c1db644db39e9c1ce3ccbf2149625e915599ecc3091e15e0a74768ed5b1
-8271fc242e10bd83e73b4636cf874ca6e6d756e707e671d99fc43d61ce6bf80c
-3a3be178d9f5d3cb32ca669cf99b70b10dad7d270d0cd85a9865d60df07fdd94
-cd
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F440_0 /ZWXELK+NimbusMonL-Bold 1 1
-[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section
- /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl
- /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet
- /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown
- /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent
- /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron
- /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef
- /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef
- /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef
- /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font FRBTTO+CMSY10
-%!PS-AdobeFont-1.0: CMSY10 003.002
-%%Title: CMSY10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
-% This Font Software is licensed under the SIL Open Font License, Version 1.1.
-% This license is in the accompanying file OFL.txt, and is also
-% available with a FAQ at: http://scripts.sil.org/OFL.
-%%EndComments
-FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
-/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-11 dict begin
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
-/FontName /FRBTTO+CMSY10 def
-/FontBBox {-29 -960 1116 775 }readonly def
-/UniqueID 5096651 def
-/PaintType 0 def
-/FontInfo 9 dict dup begin
-/version (003.002) readonly def
-/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
-/FullName (CMSY10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 32 /arrowleft put
-readonly def
-currentdict end
-currentfile eexec
-d9d66f633b846ab284bcf8b0411b772de5cd06dfe1be899059c588357426d7a0
-7b684c079a47d271426064ad18cb9750d8a986d1d67c1b2aeef8ce785cc19c81
-de96489f740045c5e342f02da1c9f9f3c167651e646f1a67cf379789e311ef91
-511d0f605b045b279357d6fc8537c233e7aee6a4fdbe73e75a39eb206d20a6f6
-1021961b748d419ebeeb028b592124e174ca595c108e12725b9875544955cffd
-028b698ef742bc8c19f979e35b8e99caddddc89cc6c59733f2a24bc3af36ad86
-1319147a4a219ecb92c71915919c4ab77300264235f643a995902219a56d8626
-de036037defbd3a2c6bb91c73375b5674e43810b4f7eccb675b36f35d63d9ec2
-def21c5fe49b54f92f0d18b89289682cb097244225af6400f6ca98efaf336c9f
-c304161e2006b3bedbff4dd36fa7a8f7594c02dab68c077e83335ee6d018f860
-8d9a9131325d953d6c38c7e0a34236506c1e70cb6657dafc3c9520131a251350
-49034e216ae175cb232c2ef5a3c569ab581f936ef4e8b8c8bccac287f06f24ee
-1d15d2819058bd9aebc4ea91b74935f6d411562a453674b14bd76fbf5f298f9e
-8fd37f529f9e0450bbbe473b5a4039d8d0228f56330fa15411d7544ce700984e
-09593a854180d3100e136beea91daedaac36cca03d82b83d953880307edbd0f0
-014451ec8f10b1e30b51c2f9055e906272f02f32085e4b9fbe5a6860a74e274a
-74349069b6eb90fce84259d281f037d6de9f42fe557f5f13a87e5c9f668dfb8e
-f5e7f4b5ef9f5841b3885a6c8994bfd27fe35fa3cc1dbd5ac68e1c98c0d0ecc3
-bd2795e77848b5faf604f01362ca473ac72284a56cabb68f35ba43ddc6158955
-5bc6614cbcf4b80872c2cc66b6f4f90c315bf73b34e481705ee8b54eef70fbaa
-71424420120f27d8853933e3ad4d8026397b040c88567f440df538120d61d0b5
-8232d66e2e006866b60ae46c3f4bda16a2eb5b248bb88a11b3fa4770f0f6c31c
-dd13bab11c2f4ac77a63f703a5824638fb765033dce02f584f36c879416fbfb1
-ee7eebe75d57711b44824db906885934dfa7f386b811a2598fd5cca2585045f0
-4cfd32e35f32b90badb9a96f48957b0a311778d21914c9ea27bfbc75197cbb6f
-0df8f6fa574e1f1d529a4594f2a6ed99b98fd302f4fb2694e3986c1f46ff165c
-7f4c1102526831ae1e469e62f1a6adcf7d2b876c0d43f85d20a6a5dbc2280884
-1c7666d56f832b66cf189c4debed1fb37df76c3f1c632ade8822eead5e7f52ac
-e65daa6d86e410d469a7844baa4fc9d28e21490b8cb2d3b2fbe718f55211fe5f
-74d3573b99bfccf198c775402823aa742acca713d30b55a09c7b7ce3f5f5517d
-6133e546a86c0395bef3387804ac1b07a4d27492485741a8c2ade23bb321da56
-ded0fe0d43baca1483566fb397db76ba9eec923fc2b3941f3b949cb13dcbdc3e
-2c84c6e3a7abbe5c22abf9b6959a17d152ed0576524395d8a5049c5144680a19
-0ed3405f2c9ec716cb9c0fbd6b12168d62666ce74149f8505e02aab39977d99a
-13a66449c9487a6b2863f7338378fb901e8ac981ec53ca555049b3667b4bcea9
-cd731a850ceecd59afbca1ed2fec76c18fcf5ba1b9fbd81eb84c254fa140eb99
-48838693123cde50278e4aa3cbdb7f7691d52cc624b4226855a74d3ff4b3eb3f
-e193702ad68437760ed7173ddb5031737de3470f9340a44e92355ef033958954
-e5b33866ba86201a7951a68783b94f2984b40dac3037d3e6d2250e850984470c
-a4fa92527aa313f3f366e97b87d05e114468dcf43ce4a27b9999e24295cbead6
-7dfac0c6d99e7332662743f379dee2b05fc7aed3ae405d631e3893b16e1a3771
-278319e6014b88fc346b4f3d17edfeab40d6552092a8dc6c2cdd506f458bde17
-e66b02d4992a0e370871035bda2106ecf7fab7ced8e8d35c6fbb825ed724b726
-8ce5f3f25d11386c958fe4b773b9268484c12f90e2e25e299a2154e5c480610d
-f302e1aceed9d0b3e11681bd5322a13b8fe895fc755e0053890a4135f2993642
-3d11dba2766edb9954e308ad998fb1cfbc2285d1f7a9135d2f06cd2d7f7d7b88
-d1c6c9409fd3962b8b1c9a690e01fda96361ce706ec9dbe3b4d3e0d57baa0d4e
-a98200ef682573f9aae9f09e2000b9d7e14ea41682e4e5ac56dae4cec783bf61
-a99a5df4e83fd52c0c02edf26274a16c939868103691ff4f8876c25fa70652e9
-ccb3399053205e0350ed215170f709c1901bf7b97236f7bcc13ba5b35a96e8bf
-c6e476d81e396b0c79118e16b5489279703b1a44c9d7e320936a19ed319cd03a
-f052845dacdd9b627a47433f2225827c65dda57721e8b196cd368dcba55250e8
-24e6b7b93affbdd429c9bd8e4523d8e8a56427acc3e5bf1b2db9b60cc832002f
-1bc52025f18e7d87d9bf1b8cd8dc170c6dcb85af5afc1ac4a24c0e38cfc0f4d9
-8d63cbf3b5cf6f14d902ac8a9b4c48a5d4ba4bdcf4f3b69e2998f507719e2bd7
-db63597995c5cdbba59f9b010a135f4dcc8cfd602d40b30730125606fd1b27f4
-9ccfb1d0f6a97453a8c9a40f643fddb1581504132883598385c4f76b4e57b559
-c0ed46d83ce8427db396e96bb3dbc307df52ed28dad5cf5e32d82510300241fc
-fdec6d84bb008cce0fe96c7c6d836fd3c8eca9341951e5ba15ad84a1799d137c
-938fda761f12ef2b7e90a49f1ec49445b5638ed4b2d903924dc6ebd72fadf61d
-16eb74d88503fc48659a86d95043b4e9764eeee72247367d0ca6ec0dee079f9e
-5db531a1411790c08c942b7ce7b028e4b956d5f1df8a47a8ac6c37824b661b57
-147ade729f5fed3dfb47227b27aa34cb86584d20a628bf18c395b186ef197a2f
-dcb3b6d97ad24cc35a847cb98944011ec6342d0ff9e13045ed70b68a1a5a53fa
-b8f341c7e187ac0888b3c8e119d8b841e494b9c1bd746cbeb1ce48fda15b0054
-817873ce4da21d8550892ab4a06565a98fa666a6be00776bda87181ef8483129
-3708a88f69228dd0c3ef8224301dd8fe81b4abc3563f69bf1212897af3e738c6
-c57cbfa53e64ff6a79549a8d81c3b5566dc7e697e11971a7cc6743ca1991f391
-efd8c0ba9a01397a05bbe5548843de7f2fc4747eba91c5988605a76f1d2aed97
-398cc672cfd5498ba16f6aaf55ed4bf613786aa1ba2e092c06cdf82b6231b0d6
-b2f10cc3499b6c444cef515a033381f7b6502d6e6ff4bcf2bd273cd059bddf06
-652dec312ff80e8c9f37818c2a453523976487f1a46f8e967b5d43aa3e24fe03
-46097a6721d0882aa36fba00d3056a8ad42d4efb81edcda5cdad6ff2388fc54b
-775167dd8d709c2a315e130e822ed68a889dcec2ebb10c4c56897ef4c8fffcf8
-6d0d146c61ce0d5d2514ec2e22a66090bba95fae51b7691c7f1ae470c0f6c58e
-1eca070773920235792e58838f031cd2cdae29f1e61ca254a1ed00a6f664314b
-9fa26bababcc8a6add7faba2081b6e307a17aa47ae1de11f7189b78feb61a957
-51e9257a84d3184ab2b9d858a41aa2c23374497930c4bea32e04d32389c55b93
-23a41d83442345d482927070af462aaba8f5b1de9876ef724fd364ce6e376e0b
-a411d2036639832aaf1bec583af5bee73ec7bc9a3a2acdde4c1d6602cd8d15c3
-39922661926a3b2b1d7b15bb30870929d0da419267c3b04b2aea81584bc202db
-56b6277ad95af3cc411dda29096eeef6cf0bb3d554bc9411c39990db4ccedf0e
-4aebeff2e95e4469a8fd5ba6f03a733c9ddcb832c221f114de5587fa7c9b0096
-2306f9355684eb66d1558aea7150817df7fcd27c3dff8c9abbbe47c2354f7c50
-c306e8739a39f1a71e8e7de4e5932a0a1d2b677041802cb02cc13d7c6aab3235
-1143c982379bf5d50c92ef96afb597d81c107f2ee92f46a81b1bc9b9cb30a296
-74529ce1ba8a022e221c77650c681a19bf0e5080a065e4d66d70f2ee4a876fb4
-40b0b1e29681ff5ff0ea41d27f33a7e25115e9bf421e56f47e24f03945a2ba16
-906a3d0a8b5d3f20abe89d7b7705af5f0f3533f7a546ee67d3bfb3349d4299e8
-e49bec41a8ab12e1bd71b2cff0cb0f1fdfc0ded134b5078a1e87a490d0ee31ae
-506618d409acf32cd653c59f36f4e3bc051ca072a4a75b91ddc17660e00cbcb5
-b1fb8d17f4bf7f78f74724ff9f1b84a5eacf2e7da1b9ce0bcc94b7a817dccfbe
-46cd999463b0b19a91823d18adc1662117011f2acbbdaa2e062fe77706c48952
-38ba2840d9d98b9a7a0d63b8bd40c34e26496d979edda33e5821c86d9565f1ca
-40ce6c160e57ff22d2564348e8f89d38d46b17d591053c79f89c4e750d619407
-eaa5a8bdc52ea6c6ef02744eb4a5c4886c32b210b86b41495d8729174df80f7f
-b653a2e6ff5996d96eb51a828d0606998fd526a82a5e8e1dc79127fc6340000f
-e218fc26b7c97c3cdfcec5a497f7be1ed11aedb012ffead9aa2b94630ead80b6
-3ca17e79276dec733c9955e9813970215fbe02a751bcdaf5e427a64e9b47b4ef
-e105983e0e02c5a8cdc06a5db4126ef333583e4aa17a3fd944ed803d4ef88501
-bd626e0d1d8d7b71176259283e22d9382ae88bbec9cd6ba87933f86fe28af800
-dc2080f38948e3c20d8f4477e2b9f85da4800cbd1b9015eb64a07b459215caa5
-c38b7781d919e199112e241556e1e7681a749cf67a6b246b6b245d34ebaf1504
-f06366b8a1faaf10bb4304579640f2cbf3fb339df697701f6c51afa09351e699
-890462e1a8152f70f301b5f3a01c549371be46d138045ffed5411192bf6eeb13
-51d407ffa26d4b8e7b267a3b3cd5bf9e06816df2e35b6937cccf16b4eb9ca3f1
-272a16fd71588054016ef2743c1bd58c6bf22f083fa9326d19299ecbcf66f4b9
-afed95e1e2a2f8792328e3af6025da7baa1b10a721bc511e9c2f302673df78b9
-f466e742ab2bacd5728bef45dfef5b74d1da674f4b1c8d51a324fa24b23d141a
-e082d79c3fea6440336329105d33aa1a960eead51cd500252a4d7d481cc31a99
-e9a59e3b4364a3e19805c97270bd19b031146afd9f46111a10bf886385731d74
-95ed4727f7e2435c96ba702904ad29f606fe9c5f1f9a11a229b1d528b9fa9ba5
-b50b4d4dba0ab5b3840d71c67626b6afcaf743dfe5334e00b64c5a73b3775450
-757b911673bcbacfb0f8509e8b2b2d9dada9a1558b97b146f555f85022bb4bce
-86862babbcd259be6537133f30ab2895f60869641b1b9a4cb43b676b0739c112
-2859492d908c6c60aef5ee3b60d515e7e641d008483ab4aea0e159481d623193
-b5e2bb48c77bb87783c7525e59d19a190e2c0aa02446a8d4964844d9f2561a3f
-70f20779d197b91450de25463dbb82c2c7c6428706f6d9f6a1474bd85068b37e
-4eb45bb80449ca5fea88804308f054167aded26609e7093cd396948cfc810160
-347c6d834531d64a27bcfde1dd24607d5209060f8207da7f5ca88011e24e326b
-66a261f36f754a37339d7f10eab4f276e1eabff47f4bdb577b9c4dd3de333fd7
-8f8da94df25df93a57193b1411761f908510980558e23b0584421f920989a758
-138f2e50e1493b3f9f2154a488202e0bb77316ec03f6555de4ae83923dd1588a
-fe0bfd9235b4c08a8072804d743e793daf862ae381624303be7e5e0dbd74c51b
-4172b1a16c27b6f8c5a695fcf3015cf4f7d89fc91c4c8102eb83a15093263774
-740f02f675477a3b4b6734daf3d18d1e3bb7752922e9b33bfadc539596c276bd
-cbf0fcf5437eb33fbf4a83bb2f92462236552eb0303ee70602f42bdc4b51d384
-301922cad3abd13deb81f173e9deed83786f4a5de1d7aa21cc77fc364fdd2e7d
-8b9e8074ebcb7f3511f0a256e2cba9b32bac11a5b7acadc0fc1d378ab3557382
-9aaed6a9c679e7e5cac49307549f8c4335fc477267e25506c41035cc248f8797
-8c267cb08fb5bf8a087e95dd47aae4d8389e97ea0da1af064d76e5df286a1774
-a783e3df200df1cfa26ef1ed9b5dce5dc55102cc5718854fd8911a886d0e2e8c
-a38eadf009525bbe17d0986f4e3c6a23e608fe2782e7c4bc31ad13d80ec03b7d
-1f0ff0855c4d7f9d63d6283ad8658fb13ff68586e3135a99341e4b88678704a9
-c5e8a4c2a9e70f13408c9c54ac9420d52761f62225c64b7c60514b7de0a2c8e3
-f27544869c93890e7df32680fdc438392efdd6a7bbe7621a7642632b7f45bf2b
-3f0cc935a688266c39f458b9503ed06e67f4094946e73a3fc27494d890065355
-4fce63c60e6a32436d5ba5e0ab4f373e816b57fa6ba5a2a9bd02cb58af2783b2
-ee1da6169c0f15c23c55a7b2d74edb384c6f646adb73d70e3310873e0c99231b
-1af196d1742758956415392b4537b1f04ee4060899648c387bc55df28c6db99d
-2f87190bc6f1109ebbd78e15a5641a76198b590286065996f6fe1f776f7013f4
-e999219945c4509d37463f6f18cfc46a500f39e2f2ad229bc16793428a9d8cce
-c5d950ee8ef43b425e518f4fa99333f9bf2a420b33b383756ebb0324b7df49c6
-0eeaff9f5f4f0665fe60d40a1f9824c0df60827d2d3915512fc4a5e54db36580
-9e3fd8c1c7c9ead2b0b5011e10ec68e4035d8aa662f0bf09fde9bbeaab5fea32
-3cd1f8cd96c62b0410ec741cc2aab05bcf9cb188194aa1fea94f40a4254d9149
-82dee90d74a6b5d876068386d55c1ab92f62e3d1c3f24d564615ca3035ffce2b
-6b49e53257393e66967da9b72010d0f8c4b6f4337487b6abffbaa16aaa86a6c3
-7c22a7b4e6f4ee90d60a9fc7c95b15d34c8a689f028e591215b329d86f35376b
-15dffe9323257f0748925c002cac78ce7cf473af7378eda5489e3c464b11e3e4
-87d805cded68a70bb95a36d01885006d2cded168532d575a128f0e03ce4a1827
-b7b0f7ca3da8e4dc774ee59db3616caa3a8924f84f35df50e48477c35fd08945
-308a214bde3389d0cb225ee5d1f96771fe3930b16645c6283b70223dfeca6663
-d72e9b6b4773edd543cbeb81e38a094ff9f1eb6012ca08a77092987bb8dfa849
-361743964bfd43032f77b09d6d1407abdcca53d424ae51fb1ed1434cf4a2f391
-b81678987709e0bea61d8546b8de9b05260d7e2284e445933ecd867cb63b6004
-0fc50c76fb25f81fdaaf545bed63d6065def8265028a224797551a6a8ddfab06
-84798af0747678d53a7564519116755a795f14b254642293aaa3622be7c14f86
-5dd86caf78e0273677f2e33658b24310bf444b1e4f0719c187669b286740775d
-66a65699cbc25bea7f7eeb8c3146f9e91e5e0f413376ac09c7e24f9b76d2af1c
-b63201760c0a7afae554b8defacb30d9dd146223f69b015b9b7a79cf92d52404
-6531acdb6bd53597645241ec6028c585407b903d0579573ebff088e43efa91af
-e77940e6c5ffb955e1fa083b949cb13dc3483bc7637b96f03c79426237a96c21
-26788fbaf00540a987d4ef95082d64a104dbbd75e4ea5c00c2cd02e622987ff7
-2775eeca7c15213edb33fb30b48d17c3bca35ed5ae941829d5992d7bb74f8fb9
-b04fd6fa321052a8c2b40f78c8e8eb081f8851c508f4774267d091e2bcfd53fd
-bb9e9b22d7aa6c9b62f0f67a3bb9b1984979d55c45d705c1cbea897072a86b4d
-0cb7400640c26526c0a03395986cc3ca897453f7e6c4251d81ed29e82f7052c7
-f8ded9c0aa221832b5750a9845659235f82bc4d9b073a75af2271a0814b1b9a7
-f598e0e7628851b21af4f0b0536c129f6ac5f62090191a7a0776190010de80e2
-7e252e134b7a5c4e14a18a84e7fce3f71645ea072ce3655632d2113d4d176f13
-29142d814a63c756e0a43ad21a55d932d1b83ec93188d7c893220fbf5157baa0
-834ffdf5d191342a4f7afbba2e63b8f36a6394ab5926fcdfdcd8d8cf138fecea
-3deb371294591899b4f6f8c8f0ea2c41356eca49df468a952f9c3ffccc8a99e1
-0d5d61732eb44e2ae7b254bab320d13990ffcdb63f3d541ed21ae022e86ddf20
-1eac6701a072aaf27664dd4e7874c4e428682c44de9d9b14c25fa8c2e8760acd
-79f11c13e198602be9d9573f6f04643b80abae1cb6269e00c8ab419d49c3606b
-11b1f8f46e7977789b19ee83c5bc35bfc48da6d32dd4d16c1303b0799dfe98fa
-0cf8531205195af9e992dac76c6cb79ef51865e6b012f29df6d3333daae56b36
-8ede2fc26a580344fdedcdf9c61366f5887fb1e7300f7898e38de35b4dac436d
-c4f79f7b365cdf9b6a32d842b6f8494b7b6c91c122af116dd8a3c3c1a35a21a9
-509f5c0c8479c5e57b2c0e175fbb4a85d3b52c927a20fd0cfdf3e2273ec8726b
-58c23b0d4f56d69ec2c59d8ce896ea7dd86cea423c2f7250170a09991fdba4f2
-40a6df094cd170ee83bab69d4b8706441730cf417284c8206c646b5105d592da
-9274bc54d07e141fcdcd130e51bacc353ea2e99dfae63ecfb9138e0aaa07178e
-de98a4f4d365375190585c8579e73929b840667afbc659f5ba4b9f25fe55c75a
-2a42fe330a4b90f3a088202806baa50fa1e99fb32973f23819fba8
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F548_0 /FRBTTO+CMSY10 1 1
-[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /arrowleft/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font AMYDOG+NimbusRomNo9L-ReguItal
-%!PS-AdobeFont-1.0: NimbusRomNo9L-ReguItal 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Roman No9 L Regular Italic) readonly def
-/FamilyName (Nimbus Roman No9 L) readonly def
-/Weight (Regular) readonly def
-/ItalicAngle -15.5 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /AMYDOG+NimbusRomNo9L-ReguItal def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-169 -270 1010 924} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b61177e95ea219474796072f4b363fe05fa7637750b770d7b13
-99fd7523816e22986f43b17ad2f9328028bba7f383ce5c429773b3d968b4307a
-efc6f468433d2320871c85fc9a377c8146b0238e6386f2f010e4c23bf50f301c
-95de2b4a559abd765880f5b3d8960d7c462f28339aec4978f261a05761583468
-b73b46da2852db1d9b0b53f6427551b6e87f1a1492a19dd774ccc6a1d0bf8d1f
-afb24bc1b3a56e452791e8fb9206a2c9df1677e848a67c4dc754cd0833116c84
-25127a919ffae922f6ec724252ae53662f3eeab1dba230a6ab6ad98cf27afcb2
-6837487ece5214be13a113d27d5ec449ac017cc7f12ff7b731b6aea24462f3bf
-e743debd18a99eda36d085ad3602ee939e3c2a40fb9551f4e5e904578e8df0ae
-a6e10910d5205c917b45b0d0f44caa993ea6fc2e17ea43b83e62abb31717b3cf
-d783d25486084caa1c642a4d9719906889510d7e60c8ba0b48b9d40222d36a01
-1aa4c8148ba57f165bb7181534df0a597bcd1df98fd644fd3e3a09a21bb018bf
-637e620e494eeb843c575bdc71016214e19d0d3d030b8a9eaea88822ee97d8ba
-ffbd2f522d3ac2f34927961e189b0c163c365ebb410088e95a5bd200e62bd5b5
-e846bdf4c127018a54a78bce6dc744c4c1aec0087df470d72e461c8079f1e8a5
-12794d770d391a02d428fccaaa4fc4ce3eefcf12b553d8fc59588b922565aba2
-c179b29dcecea5254dd73f388bb94a7ea4f16c0ea0278deaa11f2be56dadb4b0
-43bf781fb5151a4d2491bfa2d439082e8cf7a05cbc84393aa92f1d09af1e69f1
-692065dfb293c7d7bb552469bead4b1479ad1b75e552af4c162d37027dda9863
-5e1ff0b4c3ba9cdb41e9c292e901446d40a10906ca0c3f649f7968b4ffd2c653
-650bb2320e55fa19938e4c3775f286a05a1011cff4e4c7f353bfdd88ce318584
-799cd9350da919e462621dc3556b48bf53edce91940eab01870741f0fbbebd2b
-c6a26e593fd78e7ab5d05af43231c262477a5309acf964c0fbc114419c98df24
-279612da5ae02b2db3eb07c329891aeab0da742593183a92a619912d6e53b33e
-f9489dfb011045b4f20c79a7038e473f435dcc8dfed5b9071acab5a322d4e4b9
-f225eef68b8281688882693085432c16d81dbadaa3df3c2ed508a5547c4b8b18
-2cbe2aab5bfd98acf80d5927a07da8a3aa987a899e28e69a49aca9aa960b45b0
-53079246f09b1f8be89a5912784ef566497df949ac722c37b8b4c641f602217d
-e1c7fcd757c04c263aa2a4a08d7e08055e5b922d850c2a898cf32baf2418e0a1
-fa6e54e2459ef6283fbcdd406b9079950669763106c9d8b16d0aac8815fe894b
-e1c7af9702ca13b36325fdd90110f1b8a03ce3e7aff614a0a2b1b15a1041800b
-b72ceea17cf4a939410c53d5bac0b89eeeb9e2f9cfc6bcdfd9a438c109784adf
-9d2843fc809a040b9287f0c71d93f7c2b3273d39c5ed535a8e130b46d3c97f4d
-e0bf14ef07eec07f1c747a6b5d294cf4d47ac12f1d9282d2de0f808a4c609e4a
-0e2a68646e9583b6b9a75c95840bab3fe259ad8846a82af91f44923f25bac677
-3c8ad0a810731fafb0a95a5445b5800d0be0378909aec60f544c3e7438760b6b
-feb2b9b16652caab36f65ac444ce9358670e060a90cc422043b8ea8f0b065446
-0b4ed94690003cc77027d8a3c0a06a48bccdf5d6d6770402b4f44ed2673b1329
-06d4f88bf12a3445794fc9db3f1bb4afb8d380def7dc1dc78624c748192fa321
-c96b32dc26b30e54dffe770165d1759d82a5542cfc4a772d8c2cadcd2e2fb1ca
-1517ac15deb0bccf94ce83436e989adba2903489abb6b2eb9f977f3f4d690b31
-e8f6e27faa56bde2c4fd331ceb502ad286857dd67d898f8b86e13a98044f77c9
-ef13c7b14a754fd0e07c68a90940f3fe3594afe83c605102c08ccb046b807975
-e69c165c9b833f41da40d17653b80730495803061fe194ca599d53a3367ba3c2
-8db6183ae68f6564178dc0372c58a103da58de056b7b0f8795cccb1cbd4239ee
-a2b6af7eeec2f7da99f12110e07d663dfbdc0645dbf9e051f91924855405f022
-13933f1c51af2ca7a39ae3204ed31d68b15f2b74914bf86548d87316170a909e
-e9638b25282a209e9d8bbea3ecfa3ed46c2dba5cb3b38d8fadd66baf9417f5cb
-6b3a9186e34d1710c011e3a16fe8f9dbc207edeaa72c2f7d4b7b7112bfdd1b0a
-1330a7f88ee867f55c828a9154dda3c57b6e596b830b33ff636e46d8d00fb39e
-cc497f82e037ae6f7975a36876d66694e3dfccdd4a5f9ee70883fde704969531
-9cf38a1bbe0c7fbea056326e41636e17d93850a1df92ee50089f30f3c4ade4d3
-07305271d998208c7ac0f998b96ab3e3e182e29b819fd861e52b04e00f9b6be0
-8f5766fa4f3557d0ccc9edf31bf84531d664fc186ae2e7f9c81fe8c4f9f1f2ae
-3b9560c9df5fe69d969a0d6c120a6621bd68991fd5593f3197223c9f09613eb7
-1ae0c78d9ffad6be1e36df5885f657994ffb6eefb5e0949674c34768f001827f
-12f1ba77ae821657e3e96f17de324f9355152cd28c7bc3bb93b0bd0d40d17d35
-2b303f2518e05cfdc4dfa697683ecbd6a949a2eab9cce57b8b14c53ba2265a49
-5c28d22dab35e36b5b02d2fc02738aa6fa7c4cc66c88f5bf25b2be88a4987cfd
-39ca40be4ebe0174ba827e7dba9579fe52b869142fe488f9ea5cff30111d6400
-ac3cdd3e1476468fb113f2b977937e70b7214069a06007d987d0f3ade59460c4
-35361b9ee2378b0b2365178ce4fdaff19dc8e52a4eba7cea25387a2e330bea1f
-dac191c9e385c837ee253220a279f05876328864c9c2248258814f7a16030c60
-5a0da56b130757b262ba58ab68340b32d30ba67ae01efd748994a6510bdfb15b
-50c31f5dedaa1866ee9123cfc235591e6516e8210dc0157687a8f081c3aae846
-7481d16e8af6d8caa9c8596c801dd5948cf7361cafb8e01268eaf0cb40ae29d0
-de3bb879970e06fea94930ffce9d4a15ff822de7486a4023fb6bcf27d496e0a5
-2c73d409ed6aea6923de8e6ddcd7615d76b5af4f2be2cee210bb781fd622574e
-042b2fa03ff6e45cbefae7dfb53447fc56da42938717098806352776208567e1
-f07e8372e0bd8a19332de3a09320e82dfb6ac58689a65ec1fb97808e3ecfc84c
-1173378bbcabc629bb8d4f2642cfbe1bfa1a25137db295526810f349baa1e4fe
-9bc755f32a1ed330171ada792e10540d41b177bffbd9b94c2c008ff74a20138b
-eb2d0b23fcdc136e434d7fc5e7710559b91756ad1171ed3bae249960384eb4b8
-4ec4c71e91d872b1db3b7ee412aa9b4e66c8e5a03d5f1d98de47ab51dd77014c
-2926ab5e994a095d9ee5fb336746bba506603279bfa91724f6cc868abb2ce5b2
-c145dae2b6128e6c913c8814a5a0b4134c30edc7f97908ddc6e7bb65cf8a58de
-88ffab9273afe5819be1d31040559f763e95cfe230d48681d0b4103ebb92a3f8
-01177bde9bdd61e288e9c5dbd18163eac0a67899acfc1c386f8b261fabd320ab
-89fe9be450e41549b3753c32e2cd3069e82101530513728dc24d8c2c25b06ae0
-91db97dcde55f701a63895445c0bcce07ccf4c82b318494f42c776d9482c8c19
-46fce4e987e770a4a7512b5276e36ec3072c6dc9812e56e11b34baaaf9bed596
-e52d1ac1768e8e0a8b20b94f320d56406f4ea3202920fe665809102ba71932b5
-51ad5c83f6f34b1e87272e8ac300761cb99c9104a20557c09df9cf7ac51625ab
-05c5a60689321d8cef7eb8edd092b9feaba272a94e133aa84a9b7cded15c6824
-3f7ef11eee530323afe1153fbd6285b2302588252609824ed75c05416beae011
-98155779dec43c2e7fc92532951a1ce0dd6613afb3f9c73055f528f993a342c2
-3ea326391cb99feae1d61d95af36536b1c53d0a2c19709f7c85f07715f95a98a
-cdb7722e297692fc187c000a9e64bdfb0c56852bf7ff946f932852d3931043f2
-60b7beabb6b6faf76bd8ff3f2a6fca03fb36ef04f59a9f67d26da5ddbc23bf20
-d82e99326a41155cfc7b4fedb80f69d361c31826743ec395b7aa83c10f9b5eed
-80044f3c258d7e2052d2cfe08f6046189bd0022ad8e6e7890cd31848b2477ecd
-095ba2ca9f4e9ad4bc8c7b2dae33d20d4cd01885c2f172052c1f8bcea593fff3
-4821540e79f626f4d7fa64c0bb4cc5485309e67071d0277a61369645ad3a4d8c
-fbfb1722ef6011fa6b2095aa4e5b32746f64c16af093df2e9bc175409949d440
-795f6f2b72a69435be1621154ade8d4dfb1bfbb0e28da8f08c76cd0521ff176a
-d2e7dd44916af6a1dfa3ecd6194189190b428cb56e2ef4a1bdc5d739ff1cbefc
-39eac4b5934d3707bd30caf67adb3612b37056151b45e9eb73c3bde4b4350148
-23c3ea6ad5be04886842418ea1872bc169f92a890670fe0b8bdd86421400b49d
-57e5ae8fdded5d706eebe573a5a172004e59b9c81fc990d2cf7036344c4335b1
-842a5c879354a84cc837d76b2babf981d4e60c857649054fc69fc59bf14aea72
-51210ac8babc95d58f4f3b497d5db3395a638fe339c5149f284b8dfd340c0b0c
-1984d43b5951b7bdb82423182dce8af2baad5eb25e037c5d976b534a3459f742
-751b5ed1c5bbe4915a7b281d1b1c806c58bbf900d5ca092fe2119ce099e52872
-0e5c8231dd6d7ed8fa5d2c953bd8bdc13781119d2b31a94bf39948d4b3688e58
-8aeae48e2d66e17935058ed16528d28e50e37bbeb1d155450364517018b1b44d
-bb0703befedb3681a2b609063302129628fcc24d88653589b431fb84e4ddb650
-c2f783594de613ebdad8a1324574cad1fd05a37844799928b4da778710e3a4cf
-b85afd46ed46ccad840106074f69ae7c306abf4cead6c66f4fbc0fdeef002570
-25305004426efca887ed5b4f2ef6dcb912ff552089f383d270c1312811b510f4
-11622aab22c5add53e1979fa80a9ac5ab80b3255c901cda700904e4254725a18
-6925971163b35469c55ddf9d36d2e690c988678e2be17e2668807c0fee64d264
-5a8f26899ceae3abc5553bc58674333d43f27d0ead9297619e8169554512d7f2
-9984c12dd44285a3d8a75dd20ebdb5280b95471bcbe5473447fcf750c3b061ba
-bf491a61adf487ccefc79cc514569978f12a7a3420ee046e1c28776c96c550e7
-fb0e2b46b3e57b2b8a6ae7d306fd0eaeb026beb5b13b8c980828f78905369fad
-aa7ac9c3b91df9a4d1be00b3aea709995849ae4ece16c126b99c3d0fc0bdc084
-f8486d70022e0d5a8e50a27e9439e37d3bc175c3a3bb19914a4bded2feb81ec1
-fa7e274b027f4f4bfb331bf4fcb58fcdd1b999a775bd2a9002e846d7fe61c6d2
-e29fedf3121af6edcef90f23f54b128efad5fcc3e2236e1f9f59218994460d1a
-f21eb9a2999501fc489873e9eafb986d9e9e780b4eddf332aa72697ec956f63a
-4307133ed0fd2dfafe283677469b7b14b155b17a8da4a81cbce56da716149124
-bb3b20fa7a2b64b58d6eab90dbaff1d560e5e5492f17615b7308cf7670f09a04
-6115d454937c733ed45b1156c2e7d0ed43c093d6416b91533637d5d5f649bca5
-50a5ca5522b0f8362042caa30a4bc87a4a4339710e2de9b2c0c84baebedd073f
-25cacf0e4c4bdba46f4c545e27d20536827ea4a4d5f5e19518fae6ba2d45b5e0
-b247f20752a795594d9ce548b5c0217ef480cc5a0be6794178fc7c017aa8a3bd
-74686310f635ae6153d9e18a0514882d4ccfe9d7dae9f24b393985e8da776880
-1d9a6515ed7bfad3cabd1e13f2a9be17d42dda60f38dc5dd5412b03b938bed86
-0f9cc900eba7eb281e619edc39b5413af1e242ab56171d3a01203c76788d9024
-2f72c89b7adb10f5caf6851acd3a4369972f796d5a1a9816023f5a454dbf5bfa
-5ea34c00df81a76fd79a0198e91ea01efbf7d89d78f9da5253250bb29770c4e8
-df955af85d48c33fbdff3845d6868920a3b09ceb0b7de798354e80d1f3ec05d6
-3ceeb37751ab5f9d5f7e682958235c0fb224551296108eeded2e000bf86193ad
-5f290f698375727743a699633867f03f2d7801b18627f25628c0b65ace0e766e
-ed22bae384ad0305bbba6a3cbb913641106259e2947e77caa437856febd8b604
-7621e8be93bf909cf3893cb2e0b4c75afabcac6ee9ebfa30dc6ba5e9bb572318
-ba844429bd3b5bec550ebf2b7a3776f11dcb71c930489a792bbad9f6a1679b6e
-22a32048d0652fe2e3c1dfebce17cf97281087ed892b5d02d83a97dba1b3b221
-4f52eaa45592670902f979905281d7e92e9bbeebb909d5152f97aa49068d3b2e
-8ce26b784b48936a3f8e569e5d96d8f3cf19335c7ca5f139815f26b62ef0be05
-2f436d3d7ad037451cef14021a15b0b10a07048ffd4cc4b4ca987cde5290318d
-7100cdfb146fa044c694c79f3ff3ac98f1067bcdddc054cb3867af0b7e340e39
-81cc10ba0763901afa3f492590664fbddc6fe2ef568d6765579eaa5ff1501a1e
-6b6b303c415557a70b4d60994b9841785a8791b51814f08ce8f0b048c690dc05
-fce223f392df0b93c030960e7a4717203c957f428fa52cf5d206eac92a7ec569
-b1353585ae6a14877eebbd8c402163bec563feab67ed764809e5205bc3f50fcb
-557af616a430215a7f9915872478572a2335fa3817abd8ff113020f023c513b4
-202a3015e22d173b07d87e6d6eeeb3e0b0891c00831843c6a2613c15bfbcaf5a
-8bad5d9e69a88eed3a1965e1876b223b74dedd8f16a2302c7f70ed7c8b5e60e2
-25c39cd88e4b559888007abc4f48955fe377c69b00be16bf9eec8248ebeb6808
-5a80b2f60ae03c29fa29b91f30efb4ca29bc51fb2bc09a7343d0b107ffd02a03
-b26ffb1c6b1d2b5adb3647d37bdb45420e8a115beadb142e3aeedbcc8d0ecd93
-8777fb9ee661d5db7088e3faf04e91f1865418e2723565fe2617d2d8e106a230
-a2dcb6a4502528d22457a4399cb7f9e4f788a03d6c8b5757cf59267fd86ac4f9
-21675f6da1a90156bbdfa77facf6df331491cd2cde707e509b8e5d03ba1b6781
-eacd2ac3eeabb5f5ac4d0d8f5b10676e7357557c23bd6412c625d7944302c969
-561c704f937fe5304e1704b20352a758d6237e52c4a356a08f9893743a5c20da
-6a817899bb2edbadbf4234e1ece52b9b3f3e29095f0975259c931b67595f0ce0
-db8e4ccd5f6fdfdda07663d252bd05fd4ca58fa54a9fa6acceabd97f2313c59d
-195cbc3bfb55f9050d5e3ec4e42f883635f18d17efb2a0ab333e09c2521705be
-aa147b6717c816e57d38adfb2f4658249a3a345b337251b7537cd305c6424dbf
-b204417f4c36086edaa8da348dc065aa5a7f68a0ad3e3676a7c240e76ddc8786
-96b56cd4e70c28c3009185ae13ad4e96c8522735074ad649cabf39201903e974
-12967a45b574790d727dc68222dff726fd162dbfee4964afbe6549abeead5264
-a033fb29e70f1d17fe58934bfdd5ee6defe6056ea4a0e39a39b7fc1a6da06713
-f952bc20c689bdddb94bd67997f60f31fa6239387089deee5b687455a5c06fa9
-fe941781f0d9835d8d020cc6286c2fb8ed5906eccffacadd71ee0b7c7b67d8c7
-aaa95f9cb24fd22bea989e0e0919a4ea35fac630a9090346da895bb5b6e1c1ba
-ff90f1e16665998ab7612444979edefd96f1f701d13950e0ca2daa7787735fc8
-4b268e36cba6d7de0506dc5353f3d13ad666cba8f8c56e27e44b57873adee581
-fafd1f33a85b6169d4794b1d73940c134f11dfde03ccc5709f6d806cfffdb6fd
-f9361520d0023ac6aa3c93b843d8cd8a652a665eb31d6b75d752e7679a9e1327
-d0adf92820acc78b0793b9f0307c776c201a408a883f99f9d2ade3960b1e62e2
-db5d6ca4115a028f87f77651c95bd71456ba087709827b05a80ff78746cd3c09
-72eec0baa7ebc8a05043e18e63517fb66e333973dfa6bc796af520e8efbae640
-a2f4b94f244d365b76fb3e229726dd7c61478dff4d616cdceaec1ad70d9cefd6
-0e9e6affa41f34b777da7174b3281acda204977bcedb3f5f9f0c5d77607237a6
-9d6780dd18cef875257fd719d237a35864498978239cc0933a9ad0fb8ac74f3d
-869fab0c30e8001a2df0ada8f56de43c5e9a7dc78220720dae05f0fff948adf9
-0e8319eafa3fc8e936c9c040b1498e7eafc36f03bb4cd11a6fed37b7a8d05b1d
-00b5f36799e9556526f5e5f2205dd641ee39a4bd6c8ec20a36473eadfe1a499e
-88284d2fb544b7bdb637868345ae4b3dca6bc0754bad59df4558d2d608faf166
-68daeac6bfb73db431a3146628d371c2d158a1ba65c8d2d47ceec7addae77864
-042ef587a6d6c04dce664bf83492d164d2fc00c1313c220bfdd7a30dede201c5
-1e84d9573c79235a8d847d0a4c231fe009058f5848c775e343c61835c7c8e025
-44dbe77ccfff9e9c950ace49091771604234e586c1335904da22349a847ade3c
-060aec69c2987eb1f3332d8b66e59be53edab3da137d59cc6efa0f579f8a1d03
-882c720c27834570c10bf892f79b30340ead8535881b11171b2040fb6637140b
-e927369f803a4ff311d78d7e68f4b5f8628fdcfa2cc376442d78e6f47cb378eb
-31f079902cd32d6aec688f02a7365b66797de1ea022afec2f3aae36fe01a3e5e
-6cc49c79ca23dc10ed8071eea3a0f8924a0dcc610f842e4e30c1104f859ac970
-06c7490195599c65393be11269c8dd7247c96d632523256f59edeb144329b8da
-b35303c922432e92394a95196dad464e35858f00e6a27320cf515b7b8af90d06
-82e89f09afb605862d14eab6a99218b3f66f11ea2f345629c402bd9aeb25e3e9
-8734a0ca4a814d824ee4ca5383c6eb8ff1458c767dd9b71530c5f01be2d2611c
-f9644c28f3f52ac748749b54eb652f76630e3a62b63a3562a54144c306beddfd
-557e154c7d4931bafe9a9136c3aae071b00e7204150cece0d45e10bd736b633c
-8abf3817168828ba17b23c8ef8ee35119c43cd7fe068e1f016aadc734d4338d7
-8abd60567f307d6ec471f99b03cc7b5e8140dc07f726303c2185590f9f2224c1
-52bf01b038ae1e963098a309edf98ce5ba1ab235e1190ba23732e42841b2bf69
-36560701e1653df36a29c8c3254d402d0140f5ffeda15ded4728c176e3f39c35
-48b5a2be25266587b52bda256f255c940adddbfcaf37ba2500213239f12dc7e0
-0b61230190a4380917962c18effc6774f6db08b799c5966ca7133fadfd7e2b25
-75116286d1c2a40545f973870cbb5cf97691afe304ca7b586f198c426a71dfa8
-cedbe3d94bda4267b9b5ff1454ac7d54f59c5d94588bb274601cee186b9ee892
-5f359ec5bc402442bba33b2663d564461ca130d7f1405b0467027ec1e27bbec4
-8d51c674c81b66ec733c4c57410956520f9c16708aaee0d9ae34f1050f6412c7
-7a23c8c3364dad8e407319772c9b201c49b75dea4685566d9c912acdb47aece3
-f9786e47398891c07b0269e74e2eb935991c9d7a835eb88bc04eb2b195ddeb02
-38dcd1e4bb773e269ad58fa9e2f5482db94a661f065bfafee3ccc1c812e9fac3
-31fd70975e3a0c72d37207d6c90f998103a821c35734f0153950e5f72ff6a8ac
-cb831f57267142dcc4079c915a4d01807fdc883e15a15b67e8cea1ef8d26e4fc
-b55c69418d7a4dcef51473a037050cc43e204fc7de2392905800993bbccaf459
-3bd84187fd1c295d111867930dd068988631f5d0abb9adc48b7ca8134f8a3baf
-3569f5ffbf19291022b3e13fdabbf0ddf64fef601cf97dc70ed2e4355de38f1c
-0ca81966adfc95cf03e794d875025af92bbeaacd9ee58b49c3f0b67d72b13a0a
-971076819781d91814c47a0a3b53f767b7630fb55df3d2706d834b127d56fc95
-b9b30ab934839b8324c9ee0147f0bbec998eb1b2939a2102c59c896b9f57c9b2
-fc138cfd94fd5c512bd83e30e8356e983cceb0de72224f78b3c8a98359e46f22
-c19ab808b70c4287397eade3b28a311244385d3d49fb80adc4f90f32366fcf42
-eaea8d05392164a48f03184563922bcbeb78376f512b9a289325a61c0c357e40
-bb3dbeebf870ec12ef096a8997bb6ec55251ad55bd881ebdda84056556380935
-b0b8eb1f74ef96bf02375a30dc53795da638252a12a2e9bc18bfd7ff5aa7a8f4
-4a6bb4a34f1c94a781a129fc975823bd16a6df7c5d75b7f6dff55ac5f82e3e2f
-572f339f48024e93f0c59fb1fc95bacf7bf5fd7c683c9b159c3b5d937c3a2110
-e78889021ebbbbe76b1f984317d310ea61f7b5cdb4ed1754a35adc9c6924c3e0
-2e3b157261eea5092e0e7a914a259eea2b14192343680a18710db9f82e54c920
-369587bcdeed8f8acb72d2565ca89ea92b6b58bb861012ccab7270200ed5cef3
-9bdc58f4831161e8ce4ef5c6fc839deb8216482d906d60c1a3292de191b40c79
-85529eae01de8fadd442ec8bfa775366070a9e193138a4c6f6eca7ff554c57a0
-19346015d6ed5dfe8b9dd876a207e7247deaa1e42a41c3edccb32d47e5fa97c0
-9bf3f8324a366856d6c6df8f295da2a9164a99b6e66adf4247dd79bbf54525dd
-bcf518651fd8b374cbca6ac532ed443a1c952ce148a67cc655d92b670ab76c64
-cba90089f1d252ab55d93cfd0ec1545e79b65c5337fc57e46ad6ddcf5ca56204
-867e467d3982d77c2e603fee7ec4b57bd8718e5be9203666459815b7428679b2
-134188b7c2c89f64b7426e0dde73f586a7a86a4cc4136bcd5b09b2482aaf3ea2
-6a9c99cdc852ae0a7262b57c06143f1a6528b02cdd69b9fd5edc635873997b4d
-7c5644daa467783e154ad0a787e72bf5a627f712267198d9368b480a4e764627
-b268d7f1500b8e155615bf9e59bedc125774802dcbe33451e222f6a9ba24afc1
-92933742c74822f138baac4bddcfbf447dea77a4e913028db069e802014b5d57
-b0c7d6b7a727742eebb6a7c7a2231c94d63fbe66fa8030f3b378006027ceb4b2
-74d8d75d001c7b4d0225ec9cb04ca7f5e1668b44682847a8b14dda4ecd87fda2
-6b1694a2810f90537c403ff242d0accc8b73fa0088d668fb4fd50c4a0b0aafe3
-0dddc6e893c1bb127147fd1b35254e2ef659f023cd826cbf5e400dfba85f4df9
-f70b30a42df485bf5dd6c620e37c82bedef5841131716bc5eeb40aefec8c0379
-f9348a1d7ad0618a422d85300bc0f4208a5b4baf9dd1f568da943f0023eec988
-21187716ec2104282a7fed77b0c5b01e78d5d9d5d99994a9f232859ce68a62a9
-e6960f557f153d7101dd98b7836d7841d3180be3b34a99d4434af82db181de42
-e7f3fd86d86678ea86c4ea4d0af845955141ca4f9266f3ef69c2ce9b73ae1558
-9dd98a8a0802572fba00fc509918a64f1dcabd06286039e75042d53d472ae66e
-38ecb6e6795e3dd12757255e786909f306fc17d14ed432f5107aac6cc50236b7
-d381ad2c4da239669d94cb276610a846e991f508a75e1a3a851be789b9a3f75b
-f5d7dfde15eadd55e7710d79b5a4127b5e9f85f6bceace031aa9ad412541848d
-59dd3f66886672db5d90f51fd15334eb973e64baa4181186cc3c090b2a5bbb70
-e9e1fd9420a31674e9e517b1dc0196fcb5624668785a65dfa60a0944386beda0
-66e2a3d871913d23001c0b5f22c4136fa48e6fbd636fe0bbc104cba53ecd15b7
-0034db9200070b7924ab31ea318cffc35cb44bbda45e04f64516b48bbaceed37
-56a2aaa5d5c0a2d06f71a5ca689c8c8afc991638fff960d060555d9ee7a13868
-434853e22d4d9aed6231039517aa713e67e7c08467c687a21bfb00e6c99c9b15
-51859fb8f437c77bca2b0fc97a36ee9b552645b83ddcd2ae48049085693c356c
-53b214b9216d5466852340dbb92eadc60bb6225d9c08bb9f5e9f50e40dfb7c12
-2b5126c6e11393d04691831af2707bf11e0c4e887511a59442469df76bc8eb2e
-d2e97d09b6b2f1b533ac64d85d454f57702af92cc88d5ddc46388d6c203ba06a
-f57846d420ef1727d97d964da29018245d91f1e37e3e3f9f04e02d997b0c28fe
-4c99293e87c978606c3a0c7ca1d121c60ac58fad627be407057eae2ebc2074dd
-fd2bd9fb017ad048ead3d1243b7634701508034a934c81a9f63a05b7319676d7
-bb9af94fbe826f84d4149e81b46424e482c8c1c655affecb4393177d768eaa24
-a68a71e4faf578e57865b15f459315a26ddf6e39bd3d16958a3a8cbeab793eaa
-533eaa3d89e78d292fe37f0c23e32abfd50b2c9fba8261331c66458340bb4cd5
-4e7a7cac3df5ca530fbffd93789357877ad2fe127377b899340416d6100e2165
-64c62ed803d484656ef5ff7587902285671f280de39228b9432ba46c3ecbdd23
-46222998ef3c528cec6da555eb72092d97664cf35ea21e31ffb70e8b8102ddf6
-0203d3dddaa7593a8dc0b1c6af796d891e80860e6bba501e4c38dd5c6b5a6f35
-a38ef0c7cd4ab7cce0e17fae913eec2572565070169cce8517c37b21699fe4d3
-58439dcec0066047253d42a74ba564d2fc7ccf34b3b4e77fbac09d950c3c134c
-5671c64b9964c124d123a299d2070826fde61b7f637bf87739e7a0de70ef82af
-c901821eabb31969a27596e9826dd506912d05918ddd2981d5fb153526683f83
-04bbb13678af6d8a65aaae58240688caf7a8419f7bacf078dae7495ab646fc40
-c9004cbabf4c76143e33fe49fed460a102129b9f6cdda0797e53df9b9db99890
-7dc89ecb49ee18cd7556b44b096c9337f6a5618b589c6d7c87ea0f292bb446fe
-c901b120180e3b514e3e7e32e52028a30cfd6879068a68b7ef5db202f575a6f3
-52748c45a3509d747d672b446efd09b0dcab7b3f8808c011a0470eb5c9d8d632
-0f413186fdf227c7f9c45c403ef93db5fb63819de4ca368f1b9387dfb0f039e8
-2c47f56fa0d3073c901393803ae628eba7313821a01b07918efa4d901aca044e
-90d0227813c537cdc2c906e44140bdcb8717e95b7597ad7c01b51b7dac732e65
-fa3870fe8865ae6dbc96b5a984e2e363c4b67a3a07fe4eb42044112ecfff74f4
-09329f03a55e1f57656f88a08e597bfccb97a2b0bc0c26db9aa5bc5f1d1bafa3
-65f32c6ae5de5f798233ed6878583d8335e8988021438e992be94f6b73608413
-b83693b45e539261664f851652bd9458e643bd60628d0acb48a0edd350749e13
-9e480bb10cfb50b4fa0e37348d2f5ebc3e3f3457128b9793ef1359076da9e92d
-e3bbd59ccc0c0327867bd7895a19cb93fdcd6ef8d459ccabadb1e0bc6896b456
-b13cab755da348b349da1b485947a23d05e9bb5dfeb8300f8fef30d7f09d288f
-681ee6e23d21f76f806440680e7913d323a264fd6d69d4be33527e050856f8d7
-20fcf33f81e5021271c2cefd7b1c6a2dc9e207140be0030fd866fb65e33cf5fb
-8879dd70eed5e887537c45d136be8bb191bd9dc4cea400137903a12b66dcd359
-9b6c2e43306759110af0878c8f37c8daf847657c2bd68d5c3ca105b332d18d5e
-03269eedc1ae92f4e45c79915981c1f32b5a39c46c358708460301ca4298bbb4
-5b91e0d45fd1de756c6885545bdf5bce1cd40bb0c92c481a629b0d8dafb6b895
-995c6777d9355af0b03720d3c7456ad60eaa5a80549bb54c0820e000eb30a3e6
-f81c1cdc55b70d902a432d13a233c63ae54f98718d6ddae3c6aabebc65760e59
-d87abb67a5171a4ec2b2377bb5a39f
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F621_0 /AMYDOG+NimbusRomNo9L-ReguItal 1 1
-[ /.notdef/.notdef/fi/fl/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/bullet/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/exclamdown/cent/sterling/fraction/yen/florin/section
- /currency/copyright/quotedblleft/guillemotleft/guilsinglleft/guilsinglright/fi/fl
- /.notdef/endash/dagger/daggerdbl/periodcentered/.notdef/paragraph/bullet
- /quotesinglbase/quotedblbase/quotedblright/guillemotright/ellipsis/perthousand/.notdef/questiondown
- /.notdef/grave/acute/circumflex/tilde/macron/breve/dotaccent
- /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron
- /emdash/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/AE/.notdef/ordfeminine/.notdef/.notdef/.notdef/.notdef
- /Lslash/Oslash/OE/ordmasculine/.notdef/.notdef/.notdef/.notdef
- /.notdef/ae/.notdef/.notdef/.notdef/dotlessi/.notdef/.notdef
- /lslash/oslash/oe/germandbls/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-612 792 false pdfSetup
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-117.435 701.916 Td
-/F116_0 24.7902 Tf
-(bzip2) 63.3638 Tj
--278 TJm
-(and) 44.077 Tj
--278 TJm
-(libbzip2,) 99.1856 Tj
--278 TJm
-(ver) 37.2101 Tj
-15 TJm
-(sion) 50.9687 Tj
--278 TJm
-(1.0.6) 55.1334 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-90.493 661.631 Td
-/F116_0 20.6585 Tf
-(A) 14.9154 Tj
--278 TJm
-(pr) 20.6585 Tj
-20 TJm
-(ogram) 63.1324 Tj
--278 TJm
-(and) 36.7308 Tj
--278 TJm
-(librar) 51.6669 Tj
--10 TJm
-(y) 11.4861 Tj
--278 TJm
-(f) 6.8793 Tj
-20 TJm
-(or) 20.6585 Tj
--278 TJm
-(data) 42.4739 Tj
--278 TJm
-(compression) 128.5785 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-207.676 503.285 Td
-/F116_0 11.9552 Tf
-(J) 6.6471 Tj
-20 TJm
-(ulian) 27.9034 Tj
--278 TJm
-(Se) 14.6212 Tj
-15 TJm
-(war) 20.5988 Tj
-20 TJm
-(d,) 10.6282 Tj
--278 TJm
-(http://www) 61.103 Tj
-40 TJm
-(.bzip.or) 42.5127 Tj
-15 TJm
-(g) 7.3046 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 2 2
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 709.534 Td
-/F116_0 14.3462 Tf
-(bzip2) 36.6689 Tj
--489 TJm
-(and) 25.5075 Tj
--488 TJm
-(libbzip2,) 57.3991 Tj
--542 TJm
-(ver) 21.5336 Tj
-15 TJm
-(sion) 29.4958 Tj
--488 TJm
-(1.0.6:) 36.6832 Tj
--766 TJm
-(A) 10.358 Tj
--488 TJm
-(pr) 14.3462 Tj
-20 TJm
-(ogram) 43.842 Tj
--489 TJm
-(and) 25.5075 Tj
--489 TJm
-(librar) 35.8798 Tj
--10 TJm
-(y) 7.9765 Tj
--488 TJm
-(f) 4.7773 Tj
-20 TJm
-(or) 14.3462 Tj
--489 TJm
-(data) 29.4958 Tj
-72 692.319 Td
-(compression) 89.2907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 680.364 Td
-/F122_0 9.9626 Tf
-(by) 9.9626 Tj
--250 TJm
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 663.427 Td
-(V) 7.193 Tj
-111 TJm
-(ersion) 24.3486 Tj
--250 TJm
-(1.0.6) 19.9252 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(6) 4.9813 Tj
--250 TJm
-(September) 42.61 Tj
--250 TJm
-(2010) 19.9252 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 651.472 Td
-(Cop) 16.6077 Tj
-10 TJm
-(yright) 23.8007 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(\251) 7.5716 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(1996-2010) 43.1679 Tj
--250 TJm
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 633.938 Td
-/F122_0 7.9701 Tf
-(This) 14.1708 Tj
--250 TJm
-(program,) 28.9952 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-119.151 633.938 Td
-/F124_0 7.9701 Tf
-(bzip2) 23.9103 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-143.061 633.938 Td
-/F122_0 7.9701 Tf
-(,) 1.9925 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(associated) 32.7571 Tj
--250 TJm
-(library) 21.2483 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.768 633.938 Td
-/F124_0 7.9701 Tf
-(libbzip2) 38.2565 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-255.025 633.938 Td
-/F122_0 7.9701 Tf
-(,) 1.9925 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(all) 7.9701 Tj
--250 TJm
-(documentation,) 49.3668 Tj
--250 TJm
-(are) 9.7315 Tj
--250 TJm
-(cop) 11.5088 Tj
-10 TJm
-(yright) 19.0406 Tj
--250 TJm
-(\251) 6.0573 Tj
--250 TJm
-(1996-2010) 34.5344 Tj
--250 TJm
-(Julian) 19.0406 Tj
--250 TJm
-(Se) 7.9701 Tj
-25 TJm
-(w) 5.7544 Tj
-10 TJm
-(ard.) 12.1703 Tj
--310 TJm
-(All) 10.1858 Tj
--250 TJm
-(rights) 18.1559 Tj
--250 TJm
-(reserv) 19.471 Tj
-15 TJm
-(ed.) 9.5163 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 616.404 Td
-(Redistrib) 29.2264 Tj
-20 TJm
-(ution) 16.3865 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(use) 10.6241 Tj
--250 TJm
-(in) 6.2007 Tj
--250 TJm
-(source) 20.802 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(binary) 20.3636 Tj
--250 TJm
-(forms,) 20.5868 Tj
--250 TJm
-(with) 14.1708 Tj
--250 TJm
-(or) 6.6391 Tj
--250 TJm
-(without) 24.3566 Tj
--250 TJm
-(modi\002cation,) 42.2894 Tj
--250 TJm
-(are) 9.7315 Tj
--250 TJm
-(permitted) 30.5494 Tj
--250 TJm
-(pro) 10.6241 Tj
-15 TJm
-(vided) 17.7096 Tj
--250 TJm
-(that) 11.9552 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(follo) 15.0555 Tj
-25 TJm
-(wing) 15.9402 Tj
--250 TJm
-(conditions) 33.2114 Tj
--250 TJm
-(are) 9.7315 Tj
--250 TJm
-(met:) 14.1708 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-73.993 590.899 Td
-(\225) 2.7895 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(Redistrib) 29.2264 Tj
-20 TJm
-(utions) 19.4869 Tj
--250 TJm
-(of) 6.6391 Tj
--250 TJm
-(source) 20.802 Tj
--250 TJm
-(code) 15.0475 Tj
--250 TJm
-(must) 15.5018 Tj
--250 TJm
-(retain) 18.1479 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(abo) 11.5088 Tj
-15 TJm
-(v) 3.9851 Tj
-15 TJm
-(e) 3.5387 Tj
--250 TJm
-(cop) 11.5088 Tj
-10 TJm
-(yright) 19.0406 Tj
--250 TJm
-(notice,) 21.4714 Tj
--250 TJm
-(this) 11.5168 Tj
--250 TJm
-(list) 9.7474 Tj
--250 TJm
-(of) 6.6391 Tj
--250 TJm
-(conditions) 33.2114 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(follo) 15.0555 Tj
-25 TJm
-(wing) 15.9402 Tj
--250 TJm
-(disclaimer) 33.2034 Tj
-55 TJm
-(.) 1.9925 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-73.993 573.365 Td
-(\225) 2.7895 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(The) 12.3935 Tj
--285 TJm
-(origin) 19.0406 Tj
--284 TJm
-(of) 6.6391 Tj
--285 TJm
-(this) 11.5168 Tj
--285 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are) 9.7315 Tj
--284 TJm
-(must) 15.5018 Tj
--285 TJm
-(not) 10.1858 Tj
--285 TJm
-(be) 7.5238 Tj
--285 TJm
-(misrepresente) 44.2659 Tj
-1 TJm
-(d;) 6.2007 Tj
--303 TJm
-(you) 11.9552 Tj
--284 TJm
-(must) 15.5018 Tj
--285 TJm
-(not) 10.1858 Tj
--285 TJm
-(claim) 17.7096 Tj
--284 TJm
-(that) 11.9552 Tj
--285 TJm
-(you) 11.9552 Tj
--285 TJm
-(wrote) 18.1479 Tj
--284 TJm
-(the) 9.7395 Tj
--285 TJm
-(original) 24.795 Tj
--285 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are.) 11.724 Tj
--828 TJm
-(If) 5.3081 Tj
--285 TJm
-(you) 11.9552 Tj
--285 TJm
-(use) 10.6241 Tj
--284 TJm
-(this) 11.5168 Tj
--285 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are) 9.7315 Tj
--285 TJm
-(in) 6.2007 Tj
--284 TJm
-(a) 3.5387 Tj
-79.97 563.801 Td
-(product,) 26.3412 Tj
--250 TJm
-(an) 7.5238 Tj
--250 TJm
-(ackno) 19.0326 Tj
-25 TJm
-(wledgment) 35.4191 Tj
--250 TJm
-(in) 6.2007 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(product) 24.3487 Tj
--250 TJm
-(documentation) 47.3743 Tj
--250 TJm
-(w) 5.7544 Tj
-10 TJm
-(ould) 14.1708 Tj
--250 TJm
-(be) 7.5238 Tj
--250 TJm
-(appreciated) 36.7342 Tj
--250 TJm
-(b) 3.9851 Tj
-20 TJm
-(ut) 6.2007 Tj
--250 TJm
-(is) 5.3161 Tj
--250 TJm
-(not) 10.1858 Tj
--250 TJm
-(required.) 28.5489 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-73.993 546.267 Td
-(\225) 2.7895 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(Altered) 23.9023 Tj
--250 TJm
-(source) 20.802 Tj
--250 TJm
-(v) 3.9851 Tj
-15 TJm
-(ersions) 22.5793 Tj
--250 TJm
-(must) 15.5018 Tj
--250 TJm
-(be) 7.5238 Tj
--250 TJm
-(plainly) 22.1409 Tj
--250 TJm
-(mark) 16.3786 Tj
-10 TJm
-(ed) 7.5238 Tj
--250 TJm
-(as) 6.6391 Tj
--250 TJm
-(such,) 16.6017 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(must) 15.5018 Tj
--250 TJm
-(not) 10.1858 Tj
--250 TJm
-(be) 7.5238 Tj
--250 TJm
-(misrepresented) 48.251 Tj
--250 TJm
-(as) 6.6391 Tj
--250 TJm
-(being) 17.7096 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(original) 24.795 Tj
--250 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are.) 11.724 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-73.993 528.733 Td
-(\225) 2.7895 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(The) 12.3935 Tj
--250 TJm
-(name) 17.2632 Tj
--250 TJm
-(of) 6.6391 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(author) 20.3636 Tj
--250 TJm
-(may) 13.7245 Tj
--250 TJm
-(not) 10.1858 Tj
--250 TJm
-(be) 7.5238 Tj
--250 TJm
-(used) 14.6092 Tj
--250 TJm
-(to) 6.2007 Tj
--250 TJm
-(endorse) 24.787 Tj
--250 TJm
-(or) 6.6391 Tj
--250 TJm
-(promote) 26.5643 Tj
--250 TJm
-(products) 27.449 Tj
--250 TJm
-(deri) 12.3935 Tj
-25 TJm
-(v) 3.9851 Tj
-15 TJm
-(ed) 7.5238 Tj
--250 TJm
-(from) 15.4939 Tj
--250 TJm
-(this) 11.5168 Tj
--250 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are) 9.7315 Tj
--250 TJm
-(without) 24.3566 Tj
--250 TJm
-(speci\002c) 24.3487 Tj
--250 TJm
-(prior) 15.4939 Tj
--250 TJm
-(written) 22.5793 Tj
--250 TJm
-(permission.) 36.9733 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 511.198 Td
-(THIS) 17.7096 Tj
--401 TJm
-(SOFTW) 27.0107 Tj
-120 TJm
-(ARE) 15.9402 Tj
--401 TJm
-(IS) 7.0854 Tj
--400 TJm
-(PR) 9.7474 Tj
-40 TJm
-(O) 5.7544 Tj
-50 TJm
-(VIDED) 24.787 Tj
--401 TJm
-(BY) 11.0705 Tj
--401 TJm
-(THE) 15.4939 Tj
--401 TJm
-(A) 5.7544 Tj
-55 TJm
-(UTHOR) 27.449 Tj
--401 TJm
-("AS) 13.4376 Tj
--401 TJm
-(IS") 10.3372 Tj
--401 TJm
-(AND) 17.2632 Tj
--400 TJm
-(ANY) 17.2632 Tj
--401 TJm
-(EXPRESS) 34.1041 Tj
--401 TJm
-(OR) 11.0705 Tj
--401 TJm
-(IMPLIED) 32.3188 Tj
--401 TJm
-(W) 7.5238 Tj
-120 TJm
-(ARRANTIES,) 46.7128 Tj
--401 TJm
-(INCLUDING,) 46.2585 Tj
--401 TJm
-(B) 5.3161 Tj
-11 TJm
-(UT) 10.6241 Tj
-72 501.634 Td
-(NO) 11.5088 Tj
-40 TJm
-(T) 4.8697 Tj
--304 TJm
-(LIMITED) 32.7571 Tj
--304 TJm
-(T) 4.8697 Tj
-18 TJm
-(O,) 7.7469 Tj
--305 TJm
-(THE) 15.4939 Tj
--304 TJm
-(IMPLIED) 32.3188 Tj
--304 TJm
-(W) 7.5238 Tj
-120 TJm
-(ARRANTIES) 44.7202 Tj
--304 TJm
-(OF) 10.1858 Tj
--304 TJm
-(MERCHANT) 44.7202 Tj
-93 TJm
-(ABILITY) 31.8724 Tj
--304 TJm
-(AND) 17.2632 Tj
--305 TJm
-(FITNESS) 31.442 Tj
--304 TJm
-(FOR) 15.5018 Tj
--304 TJm
-(A) 5.7544 Tj
--304 TJm
-(P) 4.4314 Tj
-92 TJm
-(AR) 11.0705 Tj
-60 TJm
-(TICULAR) 34.5344 Tj
--304 TJm
-(PURPOSE) 34.9887 Tj
--304 TJm
-(ARE) 15.9402 Tj
--305 TJm
-(DIS) 12.8398 Tj
-1 TJm
-(-) 2.654 Tj
-72 492.07 Td
-(CLAIMED.) 38.2963 Tj
--576 TJm
-(IN) 8.4085 Tj
--287 TJm
-(NO) 11.5088 Tj
--288 TJm
-(EVENT) 26.118 Tj
--288 TJm
-(SHALL) 25.6797 Tj
--288 TJm
-(THE) 15.4939 Tj
--287 TJm
-(A) 5.7544 Tj
-55 TJm
-(UTHOR) 27.449 Tj
--288 TJm
-(BE) 10.1858 Tj
--288 TJm
-(LIABLE) 28.3337 Tj
--288 TJm
-(FOR) 15.5018 Tj
--288 TJm
-(ANY) 17.2632 Tj
--287 TJm
-(DIRECT) 28.78 Tj
-74 TJm
-(,) 1.9925 Tj
--288 TJm
-(INDIRECT) 37.1885 Tj
-74 TJm
-(,) 1.9925 Tj
--288 TJm
-(INCIDENT) 37.6268 Tj
-93 TJm
-(AL,) 12.6167 Tj
--288 TJm
-(SPECIAL,) 34.3193 Tj
--288 TJm
-(EXEMPLAR) 42.9509 Tj
-65 TJm
-(Y) 5.7544 Tj
-129 TJm
-(,) 1.9925 Tj
-72 482.506 Td
-(OR) 11.0705 Tj
--299 TJm
-(CONSEQ) 31.8804 Tj
-10 TJm
-(UENTIAL) 34.5265 Tj
--300 TJm
-(D) 5.7544 Tj
-40 TJm
-(AMA) 18.5942 Tj
-40 TJm
-(GES) 15.0555 Tj
--299 TJm
-(\(INCLUDING,) 48.9125 Tj
--299 TJm
-(B) 5.3161 Tj
-10 TJm
-(UT) 10.6241 Tj
--299 TJm
-(NO) 11.5088 Tj
-40 TJm
-(T) 4.8697 Tj
--300 TJm
-(LIMITED) 32.7571 Tj
--299 TJm
-(T) 4.8697 Tj
-18 TJm
-(O,) 7.7469 Tj
--299 TJm
-(PR) 9.7474 Tj
-40 TJm
-(OCUREMENT) 49.59 Tj
--299 TJm
-(OF) 10.1858 Tj
--300 TJm
-(SUBSTITUTE) 47.8206 Tj
--299 TJm
-(GOODS) 27.449 Tj
--299 TJm
-(OR) 11.0705 Tj
--300 TJm
-(SER) 14.6172 Tj
-80 TJm
-(VICES) 23.0256 Tj
-1 TJm
-(;) 2.2157 Tj
-72 472.942 Td
-(LOSS) 19.4869 Tj
--360 TJm
-(OF) 10.1858 Tj
--360 TJm
-(USE,) 17.048 Tj
--360 TJm
-(D) 5.7544 Tj
-40 TJm
-(A) 5.7544 Tj
-111 TJm
-(T) 4.8697 Tj
-93 TJm
-(A,) 7.7469 Tj
--360 TJm
-(OR) 11.0705 Tj
--359 TJm
-(PR) 9.7474 Tj
-40 TJm
-(OFITS;) 24.3566 Tj
--360 TJm
-(OR) 11.0705 Tj
--360 TJm
-(B) 5.3161 Tj
-10 TJm
-(USINESS) 32.3267 Tj
--360 TJm
-(INTERR) 28.78 Tj
-40 TJm
-(UPTION\)) 31.8724 Tj
--360 TJm
-(HO) 11.5088 Tj
-35 TJm
-(WEVER) 28.3337 Tj
--360 TJm
-(CA) 11.0705 Tj
-55 TJm
-(USED) 20.8099 Tj
--359 TJm
-(AND) 17.2632 Tj
--360 TJm
-(ON) 11.5088 Tj
--360 TJm
-(ANY) 17.2632 Tj
--360 TJm
-(THEOR) 26.5643 Tj
-65 TJm
-(Y) 5.7544 Tj
--360 TJm
-(OF) 10.1858 Tj
--360 TJm
-(LIABI) 21.2483 Tj
-1 TJm
-(LITY) 18.1479 Tj
-128 TJm
-(,) 1.9925 Tj
-72 463.378 Td
-(WHETHER) 38.9578 Tj
--247 TJm
-(IN) 8.4085 Tj
--247 TJm
-(CONTRA) 32.7651 Tj
-40 TJm
-(CT) 10.1858 Tj
-74 TJm
-(,) 1.9925 Tj
--247 TJm
-(STRICT) 27.457 Tj
--247 TJm
-(LIABILITY) 39.3962 Tj
-129 TJm
-(,) 1.9925 Tj
--247 TJm
-(O) 5.7544 Tj
-1 TJm
-(R) 5.3161 Tj
--247 TJm
-(T) 4.8697 Tj
-18 TJm
-(OR) 11.0705 Tj
-60 TJm
-(T) 4.8697 Tj
--247 TJm
-(\(INCLUDING) 46.92 Tj
--247 TJm
-(NEGLIGENCE) 50.4667 Tj
--247 TJm
-(OR) 11.0705 Tj
--247 TJm
-(O) 5.7544 Tj
-40 TJm
-(THER) 20.8099 Tj
-55 TJm
-(WISE\)) 22.133 Tj
--247 TJm
-(ARISING) 32.3188 Tj
--247 TJm
-(IN) 8.4085 Tj
--247 TJm
-(ANY) 17.2632 Tj
--247 TJm
-(W) 7.5238 Tj
-120 TJm
-(A) 5.7544 Tj
-105 TJm
-(Y) 5.7544 Tj
--247 TJm
-(OUT) 16.3786 Tj
-72 453.814 Td
-(OF) 10.1858 Tj
--250 TJm
-(THE) 15.4939 Tj
--250 TJm
-(USE) 15.0555 Tj
--250 TJm
-(OF) 10.1858 Tj
--250 TJm
-(THIS) 17.7096 Tj
--250 TJm
-(SOFTW) 27.0107 Tj
-120 TJm
-(ARE,) 17.9327 Tj
--250 TJm
-(EVEN) 21.2483 Tj
--250 TJm
-(IF) 7.0854 Tj
--250 TJm
-(AD) 11.5088 Tj
-40 TJm
-(VISED) 23.464 Tj
--250 TJm
-(OF) 10.1858 Tj
--250 TJm
-(THE) 15.4939 Tj
--250 TJm
-(POSSIBILITY) 47.8206 Tj
--250 TJm
-(OF) 10.1858 Tj
--250 TJm
-(SUCH) 21.2563 Tj
--250 TJm
-(D) 5.7544 Tj
-40 TJm
-(AMA) 18.5942 Tj
-40 TJm
-(GE.) 12.6167 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 436.279 Td
-(P) 4.4314 Tj
-92 TJm
-(A) 5.7544 Tj
-111 TJm
-(TENTS:) 27.0107 Tj
--296 TJm
-(T) 4.8697 Tj
-80 TJm
-(o) 3.9851 Tj
--295 TJm
-(the) 9.7395 Tj
--296 TJm
-(best) 12.8398 Tj
--295 TJm
-(of) 6.6391 Tj
--296 TJm
-(my) 10.1858 Tj
--295 TJm
-(kno) 11.9552 Tj
-25 TJm
-(wledge,) 25.0102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-208.544 436.279 Td
-/F124_0 7.9701 Tf
-(bzip2) 23.9103 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-234.81 436.279 Td
-/F122_0 7.9701 Tf
-(and) 11.5088 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-248.674 436.279 Td
-/F124_0 7.9701 Tf
-(libbzip2) 38.2565 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-289.286 436.279 Td
-/F122_0 7.9701 Tf
-(do) 7.9701 Tj
--296 TJm
-(not) 10.1858 Tj
--295 TJm
-(use) 10.6241 Tj
--296 TJm
-(an) 7.5238 Tj
-15 TJm
-(y) 3.9851 Tj
--295 TJm
-(patented) 27.0027 Tj
--296 TJm
-(algorithms.) 36.0886 Tj
--893 TJm
-(Ho) 9.7395 Tj
-25 TJm
-(we) 9.2931 Tj
-25 TJm
-(v) 3.9851 Tj
-15 TJm
-(er) 6.1928 Tj
-40 TJm
-(,) 1.9925 Tj
--307 TJm
-(I) 2.654 Tj
--295 TJm
-(do) 7.9701 Tj
--296 TJm
-(not) 10.1858 Tj
--295 TJm
-(ha) 7.5238 Tj
-20 TJm
-(v) 3.9851 Tj
-15 TJm
-(e) 3.5387 Tj
--296 TJm
-(the) 9.7395 Tj
--295 TJm
-(resources) 30.0951 Tj
--296 TJm
-(to) 6.2007 Tj
-72 426.715 Td
-(carry) 16.3706 Tj
--250 TJm
-(out) 10.1858 Tj
--250 TJm
-(a) 3.5387 Tj
--250 TJm
-(patent) 19.4789 Tj
--250 TJm
-(search.) 22.3482 Tj
--620 TJm
-(Therefore) 31.4181 Tj
--250 TJm
-(I) 2.654 Tj
--250 TJm
-(cannot) 21.2483 Tj
--250 TJm
-(gi) 6.2007 Tj
-25 TJm
-(v) 3.9851 Tj
-15 TJm
-(e) 3.5387 Tj
--250 TJm
-(an) 7.5238 Tj
-15 TJm
-(y) 3.9851 Tj
--250 TJm
-(guarantee) 30.9798 Tj
--250 TJm
-(of) 6.6391 Tj
--250 TJm
-(the) 9.7395 Tj
--250 TJm
-(abo) 11.5088 Tj
-15 TJm
-(v) 3.9851 Tj
-15 TJm
-(e) 3.5387 Tj
--250 TJm
-(statement.) 32.5419 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 3 3
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 707.441 Td
-/F116_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 686.878 Td
-/F122_0 9.9626 Tf
-(1.) 7.472 Tj
--310 TJm
-(Introduction) 49.2551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.733 686.878 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 686.878 Td
-/F122_0 9.9626 Tf
-(1) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 674.923 Td
-(2.) 7.472 Tj
--310 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-167.054 674.923 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 674.923 Td
-/F122_0 9.9626 Tf
-(2) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 662.968 Td
-(2.1.) 14.9439 Tj
--310 TJm
-(N) 7.193 Tj
-35 TJm
-(AME) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-132.691 662.968 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 662.968 Td
-/F122_0 9.9626 Tf
-(2) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 651.013 Td
-(2.2.) 14.9439 Tj
--310 TJm
-(SYNOPSIS) 47.0534 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-150.582 651.013 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 651.013 Td
-/F122_0 9.9626 Tf
-(2) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 639.058 Td
-(2.3.) 14.9439 Tj
--310 TJm
-(DESCRIPTION) 64.7569 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-168.29 639.058 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 639.058 Td
-/F122_0 9.9626 Tf
-(3) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 627.103 Td
-(2.4.) 14.9439 Tj
--310 TJm
-(OPTIONS) 42.0621 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.873 627.103 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 627.103 Td
-/F122_0 9.9626 Tf
-(4) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 615.147 Td
-(2.5.) 14.9439 Tj
--310 TJm
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--250 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.412 615.147 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 615.147 Td
-/F122_0 9.9626 Tf
-(5) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 603.192 Td
-(2.6.) 14.9439 Tj
--310 TJm
-(RECO) 26.5703 Tj
-50 TJm
-(VERING) 37.6287 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(A) 7.193 Tj
-111 TJm
-(T) 6.0871 Tj
-93 TJm
-(A) 7.193 Tj
--250 TJm
-(FR) 12.1843 Tj
-40 TJm
-(OM) 16.0497 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(AMA) 23.2427 Tj
-40 TJm
-(GED) 20.4731 Tj
--250 TJm
-(FILES) 26.5703 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-308.464 603.192 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 603.192 Td
-/F122_0 9.9626 Tf
-(6) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 591.237 Td
-(2.7.) 14.9439 Tj
--310 TJm
-(PERFORMANCE) 73.6236 Tj
--250 TJm
-(NO) 14.386 Tj
-40 TJm
-(TES) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-211.958 591.237 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 591.237 Td
-/F122_0 9.9626 Tf
-(6) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 579.282 Td
-(2.8.) 14.9439 Tj
--310 TJm
-(CA) 13.8381 Tj
-135 TJm
-(VEA) 20.4731 Tj
-111 TJm
-(TS) 11.6264 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-148.799 579.282 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 579.282 Td
-/F122_0 9.9626 Tf
-(7) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 567.327 Td
-(2.9.) 14.9439 Tj
--310 TJm
-(A) 7.193 Tj
-55 TJm
-(UTHOR) 34.3112 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.32 567.327 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 567.327 Td
-/F122_0 9.9626 Tf
-(7) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 555.372 Td
-(3.) 7.472 Tj
--310 TJm
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-160.049 555.372 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-224.856 555.372 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 555.372 Td
-/F122_0 9.9626 Tf
-(8) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 543.416 Td
-(3.1.) 14.9439 Tj
--310 TJm
-(T) 6.0871 Tj
-80 TJm
-(op-le) 20.4731 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(structure) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-179.997 543.416 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 543.416 Td
-/F122_0 9.9626 Tf
-(8) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 531.461 Td
-(3.1.1.) 22.4159 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-192.866 531.461 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 531.461 Td
-/F122_0 9.9626 Tf
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 519.506 Td
-(3.1.2.) 22.4159 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.822 519.506 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 519.506 Td
-/F122_0 9.9626 Tf
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 507.551 Td
-(3.1.3.) 22.4159 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(summary) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.582 507.551 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 507.551 Td
-/F122_0 9.9626 Tf
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 495.596 Td
-(3.2.) 14.9439 Tj
--310 TJm
-(Error) 21.0211 Tj
--250 TJm
-(handling) 34.8691 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-162.611 495.596 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 495.596 Td
-/F122_0 9.9626 Tf
-(10) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 483.64 Td
-(3.3.) 14.9439 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-181.045 483.64 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 483.64 Td
-/F122_0 9.9626 Tf
-(11) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 471.685 Td
-(3.3.1.) 22.4159 Tj
--310 TJm
-(BZ2_bzCompressInit) 85.7879 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-197.762 471.685 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 471.685 Td
-/F122_0 9.9626 Tf
-(11) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 459.73 Td
-(3.3.2.) 22.4159 Tj
--310 TJm
-(BZ2_bzCompress) 71.9499 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-184.201 459.73 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 459.73 Td
-/F122_0 9.9626 Tf
-(13) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 447.775 Td
-(3.3.3.) 22.4159 Tj
--310 TJm
-(BZ2_bzCompressEnd) 87.9996 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-198.868 447.775 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 447.775 Td
-/F122_0 9.9626 Tf
-(16) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 435.82 Td
-(3.3.4.) 22.4159 Tj
--310 TJm
-(BZ2_bzDecompressInit) 95.1827 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-206.887 435.82 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 435.82 Td
-/F122_0 9.9626 Tf
-(16) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 423.865 Td
-(3.3.5.) 22.4159 Tj
--310 TJm
-(BZ2_bzDecompress) 81.3446 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.326 423.865 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 423.865 Td
-/F122_0 9.9626 Tf
-(17) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 411.909 Td
-(3.3.6.) 22.4159 Tj
--310 TJm
-(BZ2_bzDecompressEnd) 97.3944 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.207 411.909 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 411.909 Td
-/F122_0 9.9626 Tf
-(18) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 399.954 Td
-(3.4.) 14.9439 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-184.216 399.954 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 399.954 Td
-/F122_0 9.9626 Tf
-(18) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 387.999 Td
-(3.4.1.) 22.4159 Tj
--310 TJm
-(BZ2_bzReadOpen) 74.1516 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-185.302 387.999 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 387.999 Td
-/F122_0 9.9626 Tf
-(19) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 376.044 Td
-(3.4.2.) 22.4159 Tj
--310 TJm
-(BZ2_bzRead) 52.5726 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-163.443 376.044 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 376.044 Td
-/F122_0 9.9626 Tf
-(20) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 364.089 Td
-(3.4.3.) 22.4159 Tj
--310 TJm
-(BZ2_bzReadGetUnused) 97.3944 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.207 364.089 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 364.089 Td
-/F122_0 9.9626 Tf
-(21) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 352.134 Td
-(3.4.4.) 22.4159 Tj
--310 TJm
-(BZ2_bzReadClose) 75.2674 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.074 352.134 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 352.134 Td
-/F122_0 9.9626 Tf
-(22) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 340.178 Td
-(3.4.5.) 22.4159 Tj
--310 TJm
-(BZ2_bzWriteOpen) 76.3633 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.622 340.178 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 340.178 Td
-/F122_0 9.9626 Tf
-(22) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 328.223 Td
-(3.4.6.) 22.4159 Tj
--310 TJm
-(BZ2_bzWrite) 54.7843 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.763 328.223 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 328.223 Td
-/F122_0 9.9626 Tf
-(23) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 316.268 Td
-(3.4.7.) 22.4159 Tj
--310 TJm
-(BZ2_bzWriteClose) 77.4791 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-189.179 316.268 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 316.268 Td
-/F122_0 9.9626 Tf
-(23) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 304.313 Td
-(3.4.8.) 22.4159 Tj
--310 TJm
-(Handling) 37.0808 Tj
--250 TJm
-(embedded) 40.9463 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(streams) 30.4357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.601 304.313 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 304.313 Td
-/F122_0 9.9626 Tf
-(24) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 292.358 Td
-(3.4.9.) 22.4159 Tj
--310 TJm
-(Standard) 35.417 Tj
--250 TJm
-(\002le-reading/writing) 77.4791 Tj
--250 TJm
-(code) 18.8094 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-247.564 292.358 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 292.358 Td
-/F122_0 9.9626 Tf
-(25) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 280.403 Td
-(3.5.) 14.9439 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-170.645 280.403 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 280.403 Td
-/F122_0 9.9626 Tf
-(26) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 268.447 Td
-(3.5.1.) 22.4159 Tj
--310 TJm
-(BZ2_bzBuf) 47.0434 Tj
-25 TJm
-(fT) 9.4047 Tj
-80 TJm
-(oBuf) 19.9252 Tj
-25 TJm
-(fCompress) 43.1679 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-229.488 268.447 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 268.447 Td
-/F122_0 9.9626 Tf
-(26) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 256.492 Td
-(3.5.2.) 22.4159 Tj
--310 TJm
-(BZ2_bzBuf) 47.0434 Tj
-25 TJm
-(fT) 9.4047 Tj
-80 TJm
-(oBuf) 19.9252 Tj
-25 TJm
-(fDecompress) 52.5627 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-238.613 256.492 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 256.492 Td
-/F122_0 9.9626 Tf
-(27) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 244.537 Td
-(3.6.) 14.9439 Tj
--310 TJm
-(zlib) 14.9439 Tj
--250 TJm
-(compatibility) 53.1405 Tj
--250 TJm
-(functions) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-215.06 244.537 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 244.537 Td
-/F122_0 9.9626 Tf
-(28) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 232.582 Td
-(3.7.) 14.9439 Tj
--310 TJm
-(Using) 23.8007 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(stdio-free) 38.1767 Tj
--250 TJm
-(en) 9.4047 Tj
-40 TJm
-(vironment) 40.9562 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-282.092 232.582 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 232.582 Td
-/F122_0 9.9626 Tf
-(28) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 220.627 Td
-(3.7.1.) 22.4159 Tj
--310 TJm
-(Getting) 29.8878 Tj
--250 TJm
-(rid) 11.0684 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(stdio) 19.3773 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.492 220.627 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 220.627 Td
-/F122_0 9.9626 Tf
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 208.671 Td
-(3.7.2.) 22.4159 Tj
--310 TJm
-(Critical) 29.8878 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(handling) 34.8691 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-201.629 208.671 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 208.671 Td
-/F122_0 9.9626 Tf
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 196.716 Td
-(3.8.) 14.9439 Tj
--310 TJm
-(Making) 30.9936 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(W) 9.4047 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(DLL) 19.3673 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.243 196.716 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 196.716 Td
-/F122_0 9.9626 Tf
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 184.761 Td
-(4.) 7.472 Tj
--310 TJm
-(Miscellanea) 48.1393 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-144.898 184.761 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 184.761 Td
-/F122_0 9.9626 Tf
-(31) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 172.806 Td
-(4.1.) 14.9439 Tj
--310 TJm
-(Limitations) 45.9475 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(format) 26.5603 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-269.154 172.806 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 172.806 Td
-/F122_0 9.9626 Tf
-(31) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 160.851 Td
-(4.2.) 14.9439 Tj
--310 TJm
-(Portability) 42.0721 Tj
--250 TJm
-(issues) 23.8007 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.03 160.851 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 160.851 Td
-/F122_0 9.9626 Tf
-(32) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 148.896 Td
-(4.3.) 14.9439 Tj
--310 TJm
-(Reporting) 39.8504 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.115 148.896 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 148.896 Td
-/F122_0 9.9626 Tf
-(32) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 136.94 Td
-(4.4.) 14.9439 Tj
--310 TJm
-(Did) 14.9439 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(get) 12.1743 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(right) 18.8194 Tj
--250 TJm
-(package?) 37.0609 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-229.109 136.94 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 136.94 Td
-/F122_0 9.9626 Tf
-(33) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 124.985 Td
-(4.5.) 14.9439 Tj
--310 TJm
-(Further) 29.3299 Tj
--250 TJm
-(Reading) 33.2053 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-170.361 124.985 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 124.985 Td
-/F122_0 9.9626 Tf
-(34) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-536.068 50.852 Td
-(iii) 8.3088 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 1 4
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F116_0 24.7902 Tf
-(1.) 20.675 Tj
--278 TJm
-(Intr) 39.937 Tj
-20 TJm
-(oduction) 104.6642 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 679.998 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.507 679.998 Td
-/F122_0 9.9626 Tf
-(compresses) 45.9276 Tj
--263 TJm
-(\002les) 16.6077 Tj
--263 TJm
-(using) 21.589 Tj
--263 TJm
-(the) 12.1743 Tj
--262 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--263 TJm
-(block-sorting) 53.1305 Tj
--263 TJm
-(te) 7.193 Tj
-15 TJm
-(xt) 7.7509 Tj
--263 TJm
-(compression) 50.3609 Tj
--263 TJm
-(algorithm,) 41.2352 Tj
--266 TJm
-(and) 14.386 Tj
--263 TJm
-(Huf) 15.4918 Tj
-25 TJm
-(fman) 20.4731 Tj
--263 TJm
-(coding.) 29.6088 Tj
-72 668.043 Td
-(Compression) 52.5826 Tj
--203 TJm
-(is) 6.6451 Tj
--204 TJm
-(generally) 37.0708 Tj
--203 TJm
-(considerably) 50.9089 Tj
--203 TJm
-(better) 22.6848 Tj
--204 TJm
-(t) 2.7696 Tj
-1 TJm
-(han) 14.386 Tj
--204 TJm
-(that) 14.9439 Tj
--203 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed) 9.4047 Tj
--203 TJm
-(by) 9.9626 Tj
--204 TJm
-(more) 20.4731 Tj
--203 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(entional) 32.0995 Tj
--203 TJm
-(LZ77/LZ78-based) 73.0458 Tj
--204 TJm
-(compressors,) 52.2937 Tj
-72 656.087 Td
-(and) 14.386 Tj
--250 TJm
-(approaches) 44.8118 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(performance) 50.341 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(PPM) 19.9352 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(amily) 22.6948 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(statistical) 37.6387 Tj
--250 TJm
-(compressors.) 52.2937 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 634.17 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-105.074 634.17 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--320 TJm
-(b) 4.9813 Tj
-20 TJm
-(uilt) 13.2901 Tj
--319 TJm
-(on) 9.9626 Tj
--320 TJm
-(top) 12.7322 Tj
--320 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-176.712 634.17 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-224.533 634.17 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--337 TJm
-(a) 4.4234 Tj
--320 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xible) 19.9252 Tj
--320 TJm
-(library) 26.5603 Tj
--319 TJm
-(for) 11.6164 Tj
--320 TJm
-(handling) 34.8691 Tj
--320 TJm
-(compressed) 47.0334 Tj
--320 TJm
-(data) 16.5977 Tj
--319 TJm
-(in) 7.7509 Tj
--320 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-449.816 634.17 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-482.889 634.17 Td
-/F122_0 9.9626 Tf
-(format.) 29.0509 Tj
--1039 TJm
-(This) 17.7135 Tj
-72 622.214 Td
-(manual) 29.3299 Tj
--316 TJm
-(describes) 37.0708 Tj
--316 TJm
-(both) 17.7135 Tj
--317 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--316 TJm
-(to) 7.7509 Tj
--316 TJm
-(use) 13.2801 Tj
--316 TJm
-(the) 12.1743 Tj
--316 TJm
-(program) 33.7533 Tj
--316 TJm
-(and) 14.386 Tj
--317 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--316 TJm
-(to) 7.7509 Tj
--316 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--316 TJm
-(with) 17.7135 Tj
--316 TJm
-(the) 12.1743 Tj
--317 TJm
-(library) 26.5603 Tj
--316 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
--1017 TJm
-(Most) 20.4831 Tj
--316 TJm
-(of) 8.2988 Tj
--316 TJm
-(the) 12.1743 Tj
--317 TJm
-(manual) 29.3299 Tj
--316 TJm
-(is) 6.6451 Tj
-72 610.259 Td
-(de) 9.4047 Tj
-25 TJm
-(v) 4.9813 Tj
-20 TJm
-(oted) 17.1556 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(program,) 36.2439 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(good) 19.9252 Tj
--250 TJm
-(ne) 9.4047 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(if) 6.0871 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(interest) 29.3299 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(program.) 36.2439 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 578.379 Td
-(\225) 3.4869 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--450 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--278 TJm
-(to) 7.7509 Tj
--278 TJm
-(use) 13.2801 Tj
--277 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--278 TJm
-([2]) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--278 TJm
-(describes) 37.0708 Tj
--278 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--278 TJm
-(to) 7.7509 Tj
--278 TJm
-(use) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-256.282 578.379 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-286.17 578.379 Td
-/F122_0 9.9626 Tf
-(;) 2.7696 Tj
--292 TJm
-(this) 14.396 Tj
--278 TJm
-(is) 6.6451 Tj
--277 TJm
-(the) 12.1743 Tj
--278 TJm
-(only) 17.7135 Tj
--278 TJm
-(part) 15.4918 Tj
--278 TJm
-(you) 14.9439 Tj
--278 TJm
-(need) 18.8094 Tj
--278 TJm
-(to) 7.7509 Tj
--277 TJm
-(read) 17.1456 Tj
--278 TJm
-(if) 6.0871 Tj
--278 TJm
-(you) 14.9439 Tj
--278 TJm
-(just) 14.396 Tj
--278 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--277 TJm
-(to) 7.7509 Tj
--278 TJm
-(kno) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-81.963 566.424 Td
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(operate) 29.3199 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(program.) 36.2439 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 544.506 Td
-(\225) 3.4869 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--450 TJm
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(libbzip2) 32.6574 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-([8]) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(describes) 37.0708 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(programming) 54.2364 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(aces) 17.1456 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(detail,) 24.6275 Tj
--250 TJm
-(and) 14.386 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 522.588 Td
-(\225) 3.4869 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--450 TJm
-(Miscellanea) 48.1393 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-([31]) 16.5977 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(records) 29.3199 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(miscellaneous) 56.4481 Tj
--250 TJm
-(notes) 21.031 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(I) 3.3175 Tj
--250 TJm
-(thought) 30.4457 Tj
--250 TJm
-(ought) 22.6948 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(recorded) 34.8492 Tj
--250 TJm
-(some) 21.031 Tj
-25 TJm
-(where.) 26.8293 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.852 Td
-(1) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 2 5
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F116_0 24.7902 Tf
-(2.) 20.675 Tj
--278 TJm
-(Ho) 33.0453 Tj
-15 TJm
-(w) 19.2868 Tj
--278 TJm
-(to) 23.4019 Tj
--278 TJm
-(use) 42.7135 Tj
--278 TJm
-(bzip2) 63.3638 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 656.35 Td
-/F116_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 635.788 Td
-/F122_0 9.9626 Tf
-(2.1.) 14.9439 Tj
--310 TJm
-(N) 7.193 Tj
-35 TJm
-(AME) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-132.691 635.788 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 635.788 Td
-/F122_0 9.9626 Tf
-(2) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 623.832 Td
-(2.2.) 14.9439 Tj
--310 TJm
-(SYNOPSIS) 47.0534 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-150.582 623.832 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 623.832 Td
-/F122_0 9.9626 Tf
-(2) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 611.877 Td
-(2.3.) 14.9439 Tj
--310 TJm
-(DESCRIPTION) 64.7569 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-168.29 611.877 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 611.877 Td
-/F122_0 9.9626 Tf
-(3) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 599.922 Td
-(2.4.) 14.9439 Tj
--310 TJm
-(OPTIONS) 42.0621 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.873 599.922 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 599.922 Td
-/F122_0 9.9626 Tf
-(4) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 587.967 Td
-(2.5.) 14.9439 Tj
--310 TJm
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--250 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.412 587.967 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 587.967 Td
-/F122_0 9.9626 Tf
-(5) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 576.012 Td
-(2.6.) 14.9439 Tj
--310 TJm
-(RECO) 26.5703 Tj
-50 TJm
-(VERING) 37.6287 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(A) 7.193 Tj
-111 TJm
-(T) 6.0871 Tj
-93 TJm
-(A) 7.193 Tj
--250 TJm
-(FR) 12.1843 Tj
-40 TJm
-(OM) 16.0497 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(AMA) 23.2427 Tj
-40 TJm
-(GED) 20.4731 Tj
--250 TJm
-(FILES) 26.5703 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-308.464 576.012 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 576.012 Td
-/F122_0 9.9626 Tf
-(6) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 564.057 Td
-(2.7.) 14.9439 Tj
--310 TJm
-(PERFORMANCE) 73.6236 Tj
--250 TJm
-(NO) 14.386 Tj
-40 TJm
-(TES) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-211.958 564.057 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 564.057 Td
-/F122_0 9.9626 Tf
-(6) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 552.101 Td
-(2.8.) 14.9439 Tj
--310 TJm
-(CA) 13.8381 Tj
-135 TJm
-(VEA) 20.4731 Tj
-111 TJm
-(TS) 11.6264 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-148.799 552.101 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 552.101 Td
-/F122_0 9.9626 Tf
-(7) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 540.146 Td
-(2.9.) 14.9439 Tj
--310 TJm
-(A) 7.193 Tj
-55 TJm
-(UTHOR) 34.3112 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.32 540.146 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 540.146 Td
-/F122_0 9.9626 Tf
-(7) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 508.266 Td
-(This) 17.7135 Tj
--250 TJm
-(chapter) 29.3199 Tj
--250 TJm
-(contains) 33.2053 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(cop) 14.386 Tj
-10 TJm
-(y) 4.9813 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-213.837 508.266 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-246.215 508.266 Td
-/F122_0 9.9626 Tf
-(man) 17.1556 Tj
--250 TJm
-(page,) 21.3 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(nothing) 30.4457 Tj
--250 TJm
-(else.) 17.9825 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 473.513 Td
-/F116_0 20.6585 Tf
-(2.1.) 34.4584 Tj
--278 TJm
-(NAME) 60.8186 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 441.632 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 441.632 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-112.349 441.632 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-117.33 441.632 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.664 441.632 Td
-/F122_0 9.9626 Tf
-(-) 3.3175 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(block-sorting) 53.1305 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(compressor) 45.9276 Tj
-40 TJm
-(,) 2.4907 Tj
--250 TJm
-(v1.0.6) 24.9065 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 419.715 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 419.715 Td
-/F124_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-114.839 419.715 Td
-/F122_0 9.9626 Tf
-(-) 3.3175 Tj
--250 TJm
-(decompresses) 55.3323 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(stdout) 24.3586 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 397.797 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 397.797 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-156.682 397.797 Td
-/F122_0 9.9626 Tf
-(-) 3.3175 Tj
--250 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ers) 11.6164 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(damaged) 35.965 Tj
--250 TJm
-(bzip2) 22.1369 Tj
--250 TJm
-(\002les) 16.6077 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 353.081 Td
-/F116_0 20.6585 Tf
-(2.2.) 34.4584 Tj
--278 TJm
-(SYNOPSIS) 105.6269 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 321.201 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 321.201 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-114.839 321.201 Td
-/F122_0 9.9626 Tf
-([) 3.3175 Tj
--250 TJm
-(-cdfkqstvzVL123456789) 100.164 Tj
--250 TJm
-(]) 3.3175 Tj
--250 TJm
-([) 3.3175 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(...) 7.472 Tj
--620 TJm
-(]) 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 299.283 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 299.283 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-126.795 299.283 Td
-/F122_0 9.9626 Tf
-([) 3.3175 Tj
--250 TJm
-(-fkvsVL) 33.7533 Tj
--250 TJm
-(]) 3.3175 Tj
--250 TJm
-([) 3.3175 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(...) 7.472 Tj
--620 TJm
-(]) 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 277.365 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 277.365 Td
-/F124_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-114.839 277.365 Td
-/F122_0 9.9626 Tf
-([) 3.3175 Tj
--250 TJm
-(-s) 7.193 Tj
--250 TJm
-(]) 3.3175 Tj
--250 TJm
-([) 3.3175 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(...) 7.472 Tj
--620 TJm
-(]) 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 255.447 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 255.447 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-156.683 255.447 Td
-/F122_0 9.9626 Tf
-(\002lename) 34.3112 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.852 Td
-(2) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 3 6
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F122_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 704.93 Td
-/F116_0 20.6585 Tf
-(2.3.) 34.4584 Tj
--278 TJm
-(DESCRIPTION) 141.1802 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 683.012 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.56 683.012 Td
-/F122_0 9.9626 Tf
-(compresses) 45.9276 Tj
--268 TJm
-(\002les) 16.6077 Tj
--268 TJm
-(using) 21.589 Tj
--268 TJm
-(the) 12.1743 Tj
--269 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--268 TJm
-(block) 22.1369 Tj
--268 TJm
-(sorting) 27.6761 Tj
--268 TJm
-(te) 7.193 Tj
-15 TJm
-(xt) 7.7509 Tj
--268 TJm
-(compression) 50.3609 Tj
--268 TJm
-(algorithm,) 41.2352 Tj
--273 TJm
-(and) 14.386 Tj
--268 TJm
-(Huf) 15.4918 Tj
-25 TJm
-(fman) 20.4731 Tj
--268 TJm
-(coding.) 29.6088 Tj
-72 671.057 Td
-(Compression) 52.5826 Tj
--203 TJm
-(is) 6.6451 Tj
--204 TJm
-(generally) 37.0708 Tj
--203 TJm
-(considerably) 50.9089 Tj
--203 TJm
-(better) 22.6848 Tj
--204 TJm
-(t) 2.7696 Tj
-1 TJm
-(han) 14.386 Tj
--204 TJm
-(that) 14.9439 Tj
--203 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed) 9.4047 Tj
--203 TJm
-(by) 9.9626 Tj
--204 TJm
-(more) 20.4731 Tj
--203 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(entional) 32.0995 Tj
--203 TJm
-(LZ77/LZ78-based) 73.0458 Tj
--204 TJm
-(compressors,) 52.2937 Tj
-72 659.101 Td
-(and) 14.386 Tj
--250 TJm
-(approaches) 44.8118 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(performance) 50.341 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(PPM) 19.9352 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(amily) 22.6948 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(statistical) 37.6387 Tj
--250 TJm
-(compressors.) 52.2937 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 637.184 Td
-(The) 15.4918 Tj
--250 TJm
-(command-line) 57.5539 Tj
--250 TJm
-(options) 29.3399 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(deliberately) 47.0334 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--250 TJm
-(similar) 27.6761 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(those) 21.031 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(GNU) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-364.869 637.184 Td
-/F124_0 9.9626 Tf
-(gzip) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-388.779 637.184 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(identical.) 36.8018 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 615.266 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-105.175 615.266 Td
-/F122_0 9.9626 Tf
-(e) 4.4234 Tj
-15 TJm
-(xpects) 25.4544 Tj
--330 TJm
-(a) 4.4234 Tj
--330 TJm
-(list) 12.1843 Tj
--330 TJm
-(of) 8.2988 Tj
--330 TJm
-(\002le) 12.7322 Tj
--329 TJm
-(names) 25.4544 Tj
--330 TJm
-(to) 7.7509 Tj
--330 TJm
-(accompan) 40.3884 Tj
-15 TJm
-(y) 4.9813 Tj
--330 TJm
-(the) 12.1743 Tj
--330 TJm
-(command-line) 57.5539 Tj
--330 TJm
-(\003ags.) 21.31 Tj
--1099 TJm
-(Each) 19.9152 Tj
--330 TJm
-(\002le) 12.7322 Tj
--330 TJm
-(is) 6.6451 Tj
--330 TJm
-(replaced) 33.7433 Tj
--330 TJm
-(by) 9.9626 Tj
--330 TJm
-(a) 4.4234 Tj
--330 TJm
-(compressed) 47.0334 Tj
-72 603.311 Td
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--349 TJm
-(of) 8.2988 Tj
--348 TJm
-(itself,) 22.4159 Tj
--373 TJm
-(with) 17.7135 Tj
--349 TJm
-(the) 12.1743 Tj
--349 TJm
-(name) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-204.444 603.311 Td
-/F124_0 9.9626 Tf
-(original_name.bz2) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-306.063 603.311 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1212 TJm
-(Each) 19.9152 Tj
--348 TJm
-(compressed) 47.0334 Tj
--349 TJm
-(\002le) 12.7322 Tj
--348 TJm
-(has) 13.2801 Tj
--349 TJm
-(the) 12.1743 Tj
--348 TJm
-(same) 20.4731 Tj
--349 TJm
-(modi\002cation) 50.3709 Tj
--349 TJm
-(date,) 19.0883 Tj
-72 591.356 Td
-(permissions,) 50.092 Tj
--344 TJm
-(and,) 16.8766 Tj
--344 TJm
-(when) 21.579 Tj
--325 TJm
-(possible,) 35.1481 Tj
--344 TJm
-(o) 4.9813 Tj
-25 TJm
-(wnership) 36.5229 Tj
--325 TJm
-(as) 8.2988 Tj
--325 TJm
-(the) 12.1743 Tj
--326 TJm
-(corresponding) 56.996 Tj
--325 TJm
-(original,) 33.4843 Tj
--344 TJm
-(so) 8.8568 Tj
--325 TJm
-(that) 14.9439 Tj
--325 TJm
-(these) 20.4731 Tj
--325 TJm
-(properties) 39.8404 Tj
--325 TJm
-(can) 13.8281 Tj
--326 TJm
-(be) 9.4047 Tj
--325 TJm
-(correctly) 35.4071 Tj
-72 579.4 Td
-(restored) 32.0895 Tj
--308 TJm
-(at) 7.193 Tj
--308 TJm
-(decompression) 59.7656 Tj
--307 TJm
-(time.) 20.2042 Tj
--484 TJm
-(File) 15.5018 Tj
--308 TJm
-(name) 21.579 Tj
--308 TJm
-(handling) 34.8691 Tj
--308 TJm
-(is) 6.6451 Tj
--307 TJm
-(nai) 12.1743 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--308 TJm
-(in) 7.7509 Tj
--308 TJm
-(the) 12.1743 Tj
--308 TJm
-(sense) 21.579 Tj
--308 TJm
-(that) 14.9439 Tj
--308 TJm
-(there) 19.9152 Tj
--307 TJm
-(is) 6.6451 Tj
--308 TJm
-(no) 9.9626 Tj
--308 TJm
-(mechanism) 45.3796 Tj
--308 TJm
-(for) 11.6164 Tj
--308 TJm
-(preserving) 42.0521 Tj
-72 567.445 Td
-(original) 30.9936 Tj
--334 TJm
-(\002le) 12.7322 Tj
--333 TJm
-(names,) 27.9451 Tj
--355 TJm
-(permissions,) 50.092 Tj
--355 TJm
-(o) 4.9813 Tj
-25 TJm
-(wnerships) 40.3983 Tj
--333 TJm
-(or) 8.2988 Tj
--334 TJm
-(dates) 20.4731 Tj
--334 TJm
-(in) 7.7509 Tj
--333 TJm
-(\002lesystems) 44.2838 Tj
--334 TJm
-(which) 24.3486 Tj
--334 TJm
-(lack) 16.5977 Tj
--333 TJm
-(these) 20.4731 Tj
--334 TJm
-(concepts,) 37.3498 Tj
--355 TJm
-(or) 8.2988 Tj
--333 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--334 TJm
-(serious) 28.224 Tj
--334 TJm
-(\002le) 12.7322 Tj
-72 555.49 Td
-(name) 21.579 Tj
--250 TJm
-(length) 24.9065 Tj
--250 TJm
-(restrictions,) 46.7644 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(as) 8.2988 Tj
--250 TJm
-(MS-DOS.) 40.1294 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 533.572 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.379 533.572 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-121.255 533.572 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-165.589 533.572 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erwrite) 28.2141 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xisting) 27.1282 Tj
--250 TJm
-(\002les.) 19.0983 Tj
--620 TJm
-(If) 6.6351 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(happen,) 31.2626 Tj
--250 TJm
-(specify) 28.772 Tj
--250 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-495.977 533.572 Td
-/F124_0 9.9626 Tf
-(-f) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-510.423 533.572 Td
-/F122_0 9.9626 Tf
-(\003ag.) 17.4346 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 511.654 Td
-(If) 6.6351 Tj
--284 TJm
-(no) 9.9626 Tj
--285 TJm
-(\002le) 12.7322 Tj
--284 TJm
-(names) 25.4544 Tj
--284 TJm
-(are) 12.1643 Tj
--284 TJm
-(speci\002ed,) 37.9077 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.935 511.654 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-226.655 511.654 Td
-/F122_0 9.9626 Tf
-(compresses) 45.9276 Tj
--284 TJm
-(from) 19.3673 Tj
--285 TJm
-(standard) 33.7533 Tj
--284 TJm
-(input) 20.4831 Tj
--284 TJm
-(to) 7.7509 Tj
--284 TJm
-(standard) 33.7533 Tj
--285 TJm
-(output.) 27.9551 Tj
--825 TJm
-(In) 8.2988 Tj
--285 TJm
-(this) 14.396 Tj
--284 TJm
-(case,) 19.6363 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-491.778 511.654 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-524.499 511.654 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
-72 499.699 Td
-(decline) 28.772 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(write) 20.4731 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(terminal,) 35.696 Tj
--250 TJm
-(as) 8.2988 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(entirely) 30.4357 Tj
--250 TJm
-(incomprehensible) 70.8341 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(therefore) 35.955 Tj
--250 TJm
-(pointless.) 37.9177 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 477.781 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-116.176 477.781 Td
-/F122_0 9.9626 Tf
-(\(or) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-130.125 477.781 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-d) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-177.946 477.781 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--234 TJm
-(decompresses) 55.3323 Tj
--234 TJm
-(all) 9.9626 Tj
--234 TJm
-(speci\002ed) 35.417 Tj
--235 TJm
-(\002les.) 19.0983 Tj
--609 TJm
-(Files) 19.3773 Tj
--234 TJm
-(which) 24.3486 Tj
--234 TJm
-(were) 19.3573 Tj
--234 TJm
-(not) 12.7322 Tj
--235 TJm
-(created) 28.762 Tj
--234 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-445.012 477.781 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-477.233 477.781 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--234 TJm
-(be) 9.4047 Tj
--234 TJm
-(detected) 33.1954 Tj
-72 465.826 Td
-(and) 14.386 Tj
--280 TJm
-(i) 2.7696 Tj
-1 TJm
-(gnored,) 30.1568 Tj
--287 TJm
-(and) 14.386 Tj
--280 TJm
-(a) 4.4234 Tj
--279 TJm
-(w) 7.193 Tj
-10 TJm
-(arning) 25.4544 Tj
--280 TJm
-(issued.) 27.3972 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.033 465.826 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-248.705 465.826 Td
-/F122_0 9.9626 Tf
-(attempts) 33.7633 Tj
--279 TJm
-(to) 7.7509 Tj
--280 TJm
-(guess) 22.1369 Tj
--279 TJm
-(the) 12.1743 Tj
--280 TJm
-(\002lename) 34.3112 Tj
--279 TJm
-(for) 11.6164 Tj
--280 TJm
-(the) 12.1743 Tj
--279 TJm
-(decompressed) 56.4381 Tj
--280 TJm
-(\002le) 12.7322 Tj
--279 TJm
-(from) 19.3673 Tj
--280 TJm
-(that) 14.9439 Tj
--279 TJm
-(of) 8.2988 Tj
--280 TJm
-(the) 12.1743 Tj
-72 453.871 Td
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(as) 8.2988 Tj
--250 TJm
-(follo) 18.8194 Tj
-25 TJm
-(ws:) 13.8381 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 421.991 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 421.991 Td
-/F124_0 9.9626 Tf
-(filename.bz2) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-162.66 421.991 Td
-/F122_0 9.9626 Tf
-(becomes) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.01 421.991 Td
-/F124_0 9.9626 Tf
-(filename) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 400.073 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 400.073 Td
-/F124_0 9.9626 Tf
-(filename.bz) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-156.682 400.073 Td
-/F122_0 9.9626 Tf
-(becomes) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-194.032 400.073 Td
-/F124_0 9.9626 Tf
-(filename) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 378.155 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 378.155 Td
-/F124_0 9.9626 Tf
-(filename.tbz2) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-162.66 378.155 Td
-/F122_0 9.9626 Tf
-(becomes) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.01 378.155 Td
-/F124_0 9.9626 Tf
-(filename.tar) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 356.237 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 356.237 Td
-/F124_0 9.9626 Tf
-(filename.tbz) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-162.66 356.237 Td
-/F122_0 9.9626 Tf
-(becomes) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.01 356.237 Td
-/F124_0 9.9626 Tf
-(filename.tar) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 334.319 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 334.319 Td
-/F124_0 9.9626 Tf
-(anyothername) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-162.66 334.319 Td
-/F122_0 9.9626 Tf
-(becomes) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.01 334.319 Td
-/F124_0 9.9626 Tf
-(anyothername.out) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 312.402 Td
-/F122_0 9.9626 Tf
-(If) 6.6351 Tj
--342 TJm
-(the) 12.1743 Tj
--342 TJm
-(\002le) 12.7322 Tj
--342 TJm
-(does) 18.2614 Tj
--342 TJm
-(n) 4.9813 Tj
--1 TJm
-(ot) 7.7509 Tj
--342 TJm
-(end) 14.386 Tj
--342 TJm
-(in) 7.7509 Tj
--342 TJm
-(one) 14.386 Tj
--342 TJm
-(of) 8.2988 Tj
--342 TJm
-(the) 12.1743 Tj
--342 TJm
-(recognised) 43.158 Tj
--342 TJm
-(endings,) 33.4843 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-309.305 312.402 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-333.215 312.402 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-339.344 312.402 Td
-/F124_0 9.9626 Tf
-(.bz) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-357.276 312.402 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.405 312.402 Td
-/F124_0 9.9626 Tf
-(.tbz2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-396.702 312.402 Td
-/F122_0 9.9626 Tf
-(or) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-408.409 312.402 Td
-/F124_0 9.9626 Tf
-(.tbz) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-432.319 312.402 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-438.448 312.402 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-471.744 312.402 Td
-/F122_0 9.9626 Tf
-(complains) 40.9562 Tj
--342 TJm
-(that) 14.9439 Tj
--342 TJm
-(it) 5.5392 Tj
-72 300.446 Td
-(cannot) 26.5603 Tj
--250 TJm
-(guess) 22.1369 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(name) 21.579 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(original) 30.9936 Tj
--250 TJm
-(\002le,) 15.2229 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(uses) 17.1556 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(original) 30.9936 Tj
--250 TJm
-(name) 21.579 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-370.009 300.446 Td
-/F124_0 9.9626 Tf
-(.out) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-396.41 300.446 Td
-/F122_0 9.9626 Tf
-(appended.) 40.6673 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 278.529 Td
-(As) 11.0684 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(compression,) 52.8516 Tj
--250 TJm
-(supplying) 39.3025 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(causes) 26.0024 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(input) 20.4831 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(output.) 27.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 256.611 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-116.409 256.611 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--257 TJm
-(correctly) 35.4071 Tj
--258 TJm
-(decompress) 47.0334 Tj
--257 TJm
-(a) 4.4234 Tj
--258 TJm
-(\002le) 12.7322 Tj
--257 TJm
-(which) 24.3486 Tj
--258 TJm
-(is) 6.6451 Tj
--257 TJm
-(the) 12.1743 Tj
--258 TJm
-(concatenation) 55.3323 Tj
--257 TJm
-(of) 8.2988 Tj
--258 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--258 TJm
-(or) 8.2988 Tj
--257 TJm
-(more) 20.4731 Tj
--258 TJm
-(compressed) 47.0334 Tj
--257 TJm
-(\002les.) 19.0983 Tj
--665 TJm
-(The) 15.4918 Tj
--258 TJm
-(result) 22.1369 Tj
--257 TJm
-(is) 6.6451 Tj
-72 244.656 Td
-(the) 12.1743 Tj
--239 TJm
-(concatenation) 55.3323 Tj
--238 TJm
-(of) 8.2988 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(corresponding) 56.996 Tj
--239 TJm
-(uncompressed) 56.996 Tj
--238 TJm
-(\002les.) 19.0983 Tj
--613 TJm
-(Inte) 15.4918 Tj
-15 TJm
-(grity) 18.8194 Tj
--238 TJm
-(testing) 26.5703 Tj
--239 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-382.247 244.656 Td
-/F124_0 9.9626 Tf
-(-t) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-394.202 244.656 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--239 TJm
-(of) 8.2988 Tj
--238 TJm
-(concatenated) 52.0048 Tj
--239 TJm
-(compressed) 47.0334 Tj
--239 TJm
-(\002les) 16.6077 Tj
--239 TJm
-(is) 6.6451 Tj
-72 232.7 Td
-(also) 16.0497 Tj
--250 TJm
-(supported.) 41.7831 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 210.783 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--399 TJm
-(can) 13.8281 Tj
--399 TJm
-(also) 16.0497 Tj
--399 TJm
-(compress) 37.6287 Tj
--400 TJm
-(or) 8.2988 Tj
--399 TJm
-(decompress) 47.0334 Tj
--399 TJm
-(\002les) 16.6077 Tj
--399 TJm
-(to) 7.7509 Tj
--399 TJm
-(the) 12.1743 Tj
--399 TJm
-(standard) 33.7533 Tj
--399 TJm
-(output) 25.4644 Tj
--399 TJm
-(by) 9.9626 Tj
--400 TJm
-(gi) 7.7509 Tj
-25 TJm
-(ving) 17.7135 Tj
--399 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-409.67 210.783 Td
-/F124_0 9.9626 Tf
-(-c) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-425.602 210.783 Td
-/F122_0 9.9626 Tf
-(\003ag.) 17.4346 Tj
--757 TJm
-(Multiple) 34.3212 Tj
--400 TJm
-(\002l) 8.3088 Tj
-1 TJm
-(es) 8.2988 Tj
--400 TJm
-(may) 17.1556 Tj
--399 TJm
-(be) 9.4047 Tj
-72 198.827 Td
-(compressed) 47.0334 Tj
--367 TJm
-(and) 14.386 Tj
--367 TJm
-(decompressed) 56.4381 Tj
--367 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--367 TJm
-(this.) 16.8866 Tj
--1321 TJm
-(The) 15.4918 Tj
--367 TJm
-(resulting) 34.8691 Tj
--367 TJm
-(outputs) 29.3399 Tj
--367 TJm
-(are) 12.1643 Tj
--367 TJm
-(fed) 12.7222 Tj
--367 TJm
-(sequentially) 48.1492 Tj
--366 TJm
-(to) 7.7509 Tj
--367 TJm
-(stdout.) 26.8492 Tj
--1322 TJm
-(Compression) 52.5826 Tj
--367 TJm
-(of) 8.2988 Tj
-72 186.872 Td
-(multiple) 33.2153 Tj
--289 TJm
-(\002les) 16.6077 Tj
--289 TJm
-(in) 7.7509 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(manner) 29.8778 Tj
--288 TJm
-(generates) 37.6188 Tj
--289 TJm
-(a) 4.4234 Tj
--289 TJm
-(stream) 26.5603 Tj
--289 TJm
-(containing) 42.0621 Tj
--289 TJm
-(multiple) 33.2153 Tj
--289 TJm
-(compressed) 47.0334 Tj
--289 TJm
-(\002le) 12.7322 Tj
--289 TJm
-(representations.) 62.8042 Tj
--853 TJm
-(Such) 19.9252 Tj
--289 TJm
-(a) 4.4234 Tj
--289 TJm
-(stream) 26.5603 Tj
-72 174.917 Td
-(can) 13.8281 Tj
--391 TJm
-(be) 9.4047 Tj
--391 TJm
-(decompressed) 56.4381 Tj
--390 TJm
-(correctly) 35.4071 Tj
--391 TJm
-(only) 17.7135 Tj
--391 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-238.116 174.917 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-271.898 174.917 Td
-/F122_0 9.9626 Tf
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--391 TJm
-(0.9.0) 19.9252 Tj
--391 TJm
-(or) 8.2988 Tj
--390 TJm
-(later) 17.7035 Tj
-55 TJm
-(.) 2.4907 Tj
--733 TJm
-(Earlier) 27.1082 Tj
--391 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--391 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-448.071 174.917 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-481.852 174.917 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--391 TJm
-(stop) 16.6077 Tj
--391 TJm
-(after) 18.2515 Tj
-72 162.962 Td
-(decompressing) 59.7656 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002rst) 15.5018 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 141.044 Td
-/F124_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.379 141.044 Td
-/F122_0 9.9626 Tf
-(\(or) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-118.486 141.044 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-dc) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.284 141.044 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--250 TJm
-(decompresses) 55.3323 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(speci\002ed) 35.417 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(output.) 27.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 119.126 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.866 119.126 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--299 TJm
-(read) 17.1456 Tj
--299 TJm
-(ar) 7.7409 Tj
-18 TJm
-(guments) 33.7633 Tj
--299 TJm
-(from) 19.3673 Tj
--299 TJm
-(the) 12.1743 Tj
--299 TJm
-(en) 9.4047 Tj
-40 TJm
-(vironment) 40.9562 Tj
--298 TJm
-(v) 4.9813 Tj
-25 TJm
-(ariables) 30.9837 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-316.903 119.126 Td
-/F124_0 9.9626 Tf
-(BZIP2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-349.769 119.126 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-367.133 119.126 Td
-/F124_0 9.9626 Tf
-(BZIP) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-391.043 119.126 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--299 TJm
-(in) 7.7509 Tj
--299 TJm
-(that) 14.9439 Tj
--299 TJm
-(order) 21.0211 Tj
-40 TJm
-(,) 2.4907 Tj
--311 TJm
-(and) 14.386 Tj
--299 TJm
-(will) 15.5018 Tj
--299 TJm
-(process) 29.8778 Tj
--299 TJm
-(them) 19.9252 Tj
-72 107.171 Td
-(before) 25.4445 Tj
--250 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(ar) 7.7409 Tj
-18 TJm
-(guments) 33.7633 Tj
--250 TJm
-(read) 17.1456 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(command) 39.2925 Tj
--250 TJm
-(line.) 17.4346 Tj
--310 TJm
-(This) 17.7135 Tj
--250 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(enient) 24.3486 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(supply) 26.5703 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(ar) 7.7409 Tj
-18 TJm
-(guments.) 36.2539 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 85.253 Td
-(Compression) 52.5826 Tj
--294 TJm
-(is) 6.6451 Tj
--294 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--294 TJm
-(performed,) 43.9849 Tj
--305 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--294 TJm
-(if) 6.0871 Tj
--294 TJm
-(the) 12.1743 Tj
--294 TJm
-(compressed) 47.0334 Tj
--294 TJm
-(\002le) 12.7322 Tj
--293 TJm
-(is) 6.6451 Tj
--294 TJm
-(slightly) 29.8978 Tj
--294 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--294 TJm
-(than) 17.1556 Tj
--294 TJm
-(the) 12.1743 Tj
--294 TJm
-(original.) 33.4843 Tj
--884 TJm
-(Files) 19.3773 Tj
--294 TJm
-(of) 8.2988 Tj
--294 TJm
-(less) 14.9439 Tj
--294 TJm
-(than) 17.1556 Tj
-72 73.298 Td
-(about) 22.1369 Tj
--246 TJm
-(one) 14.386 Tj
--246 TJm
-(hundred) 32.6474 Tj
--245 TJm
-(bytes) 21.031 Tj
--246 TJm
-(tend) 17.1556 Tj
--246 TJm
-(to) 7.7509 Tj
--246 TJm
-(get) 12.1743 Tj
--246 TJm
-(l) 2.7696 Tj
-1 TJm
-(ar) 7.7409 Tj
-18 TJm
-(ger) 12.7222 Tj
-40 TJm
-(,) 2.4907 Tj
--247 TJm
-(since) 20.4731 Tj
--246 TJm
-(the) 12.1743 Tj
--246 TJm
-(compression) 50.3609 Tj
--245 TJm
-(mechanism) 45.3796 Tj
--246 TJm
-(has) 13.2801 Tj
--246 TJm
-(a) 4.4234 Tj
--246 TJm
-(constant) 33.2053 Tj
--246 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erhead) 26.5503 Tj
--245 TJm
-(in) 7.7509 Tj
--246 TJm
-(the) 12.1743 Tj
--246 TJm
-(re) 7.7409 Tj
-15 TJm
-(gion) 17.7135 Tj
--246 TJm
-(of) 8.2988 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.951 Td
-(3) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 4 7
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F122_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(50) 9.9626 Tj
--264 TJm
-(bytes.) 23.5217 Tj
--351 TJm
-(Random) 33.7633 Tj
--264 TJm
-(dat) 12.1743 Tj
-1 TJm
-(a) 4.4234 Tj
--264 TJm
-(\(including) 40.9562 Tj
--264 TJm
-(the) 12.1743 Tj
--264 TJm
-(output) 25.4644 Tj
--263 TJm
-(of) 8.2988 Tj
--264 TJm
-(most) 19.3773 Tj
--264 TJm
-(\002le) 12.7322 Tj
--263 TJm
-(compressors\)) 53.1206 Tj
--264 TJm
-(is) 6.6451 Tj
--264 TJm
-(coded) 23.7907 Tj
--263 TJm
-(at) 7.193 Tj
--264 TJm
-(about) 22.1369 Tj
--264 TJm
-(8.05) 17.4346 Tj
--263 TJm
-(bits) 14.396 Tj
--264 TJm
-(per) 12.7222 Tj
--264 TJm
-(byte,) 19.6462 Tj
--267 TJm
-(gi) 7.7509 Tj
-25 TJm
-(ving) 17.7135 Tj
--264 TJm
-(an) 9.4047 Tj
-72 698.082 Td
-(e) 4.4234 Tj
-15 TJm
-(xpansion) 35.9749 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(around) 27.6661 Tj
--250 TJm
-(0.5%.) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 676.283 Td
-(As) 11.0684 Tj
--268 TJm
-(a) 4.4234 Tj
--268 TJm
-(self-check) 40.9363 Tj
--269 TJm
-(for) 11.6164 Tj
--268 TJm
-(your) 18.2614 Tj
--268 TJm
-(protection,) 42.889 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-217.273 676.283 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-249.833 676.283 Td
-/F122_0 9.9626 Tf
-(uses) 17.1556 Tj
--268 TJm
-(32-bit) 23.8007 Tj
--268 TJm
-(CRCs) 23.8106 Tj
--269 TJm
-(to) 7.7509 Tj
--268 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--268 TJm
-(sure) 16.5977 Tj
--268 TJm
-(that) 14.9439 Tj
--268 TJm
-(the) 12.1743 Tj
--269 TJm
-(decompressed) 56.4381 Tj
--268 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--268 TJm
-(of) 8.2988 Tj
--268 TJm
-(a) 4.4234 Tj
--268 TJm
-(\002le) 12.7322 Tj
--269 TJm
-(is) 6.6451 Tj
-72 664.328 Td
-(identical) 34.3112 Tj
--200 TJm
-(to) 7.7509 Tj
--199 TJm
-(the) 12.1743 Tj
--200 TJm
-(original.) 33.4843 Tj
--586 TJm
-(This) 17.7135 Tj
--200 TJm
-(guards) 26.5603 Tj
--199 TJm
-(ag) 9.4047 Tj
-5 TJm
-(ainst) 18.8194 Tj
--200 TJm
-(corruption) 41.5042 Tj
--199 TJm
-(of) 8.2988 Tj
--200 TJm
-(the) 12.1743 Tj
--200 TJm
-(compressed) 47.0334 Tj
--199 TJm
-(data,) 19.0883 Tj
--210 TJm
-(and) 14.386 Tj
--199 TJm
-(ag) 9.4047 Tj
-5 TJm
-(ainst) 18.8194 Tj
--200 TJm
-(undetected) 43.158 Tj
--200 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
--199 TJm
-(in) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-510.112 664.328 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 652.373 Td
-/F122_0 9.9626 Tf
-(\(hopefully) 41.5042 Tj
--275 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--274 TJm
-(unlik) 20.4831 Tj
-10 TJm
-(ely\).) 17.9825 Tj
--384 TJm
-(The) 15.4918 Tj
--275 TJm
-(chances) 31.5316 Tj
--275 TJm
-(of) 8.2988 Tj
--275 TJm
-(data) 16.5977 Tj
--274 TJm
-(corruption) 41.5042 Tj
--275 TJm
-(going) 22.6948 Tj
--275 TJm
-(undetected) 43.158 Tj
--274 TJm
-(is) 6.6451 Tj
--275 TJm
-(microscopic,) 51.1878 Tj
--281 TJm
-(about) 22.1369 Tj
--275 TJm
-(one) 14.386 Tj
--274 TJm
-(chance) 27.6562 Tj
--275 TJm
-(in) 7.7509 Tj
--275 TJm
-(four) 16.5977 Tj
-72 640.417 Td
-(billion) 26.0223 Tj
--279 TJm
-(for) 11.6164 Tj
--279 TJm
-(each) 18.2515 Tj
--279 TJm
-(\002le) 12.7322 Tj
--280 TJm
-(processed.) 41.7732 Tj
--795 TJm
-(Be) 11.0684 Tj
--279 TJm
-(a) 4.4234 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(are,) 14.655 Tj
--286 TJm
-(though,) 30.1668 Tj
--287 TJm
-(that) 14.9439 Tj
--279 TJm
-(the) 12.1743 Tj
--279 TJm
-(check) 23.2328 Tj
--279 TJm
-(occurs) 26.0024 Tj
--279 TJm
-(upon) 19.9252 Tj
--279 TJm
-(decompression,) 62.2563 Tj
--287 TJm
-(so) 8.8568 Tj
--279 TJm
-(it) 5.5392 Tj
--279 TJm
-(can) 13.8281 Tj
--279 TJm
-(only) 17.7135 Tj
--280 TJm
-(tell) 12.7322 Tj
--279 TJm
-(you) 14.9439 Tj
-72 628.462 Td
-(that) 14.9439 Tj
--237 TJm
-(something) 41.5142 Tj
--236 TJm
-(is) 6.6451 Tj
--237 TJm
-(wrong.) 27.9451 Tj
--611 TJm
-(It) 6.0871 Tj
--237 TJm
-(can') 17.1456 Tj
-18 TJm
-(t) 2.7696 Tj
--237 TJm
-(help) 17.1556 Tj
--237 TJm
-(you) 14.9439 Tj
--236 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--237 TJm
-(the) 12.1743 Tj
--237 TJm
-(original) 30.9936 Tj
--237 TJm
-(uncompressed) 56.996 Tj
--236 TJm
-(data.) 19.0883 Tj
--612 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--236 TJm
-(can) 13.8281 Tj
--237 TJm
-(use) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-458.159 628.462 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-532.249 628.462 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
-72 616.507 Td
-(try) 11.0684 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(damaged) 35.965 Tj
--250 TJm
-(\002les.) 19.0983 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 594.708 Td
-(Return) 27.1182 Tj
--298 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
--406 TJm
-(0) 4.9813 Tj
--298 TJm
-(for) 11.6164 Tj
--298 TJm
-(a) 4.4234 Tj
--298 TJm
-(normal) 28.224 Tj
--298 TJm
-(e) 4.4234 Tj
-15 TJm
-(xit,) 13.0112 Tj
--310 TJm
-(1) 4.9813 Tj
--298 TJm
-(for) 11.6164 Tj
--297 TJm
-(en) 9.4047 Tj
-40 TJm
-(vironmental) 48.1492 Tj
--298 TJm
-(problems) 37.0808 Tj
--298 TJm
-(\(\002le) 16.0497 Tj
--298 TJm
-(not) 12.7322 Tj
--298 TJm
-(found,) 25.7334 Tj
--310 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-25 TJm
-(alid) 14.9439 Tj
--298 TJm
-(\003ags,) 21.31 Tj
--310 TJm
-(I/O) 13.2801 Tj
--298 TJm
-(errors,) 25.7234 Tj
--310 TJm
-(etc.\),) 19.9152 Tj
--310 TJm
-(2) 4.9813 Tj
--298 TJm
-(to) 7.7509 Tj
-72 582.753 Td
-(indicate) 31.5416 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(corrupt) 28.772 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le,) 15.2229 Tj
--250 TJm
-(3) 4.9813 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(internal) 30.4357 Tj
--250 TJm
-(consistenc) 41.5042 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(\(e) 7.7409 Tj
-15 TJm
-(g,) 7.472 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug\)) 13.2801 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(caused) 27.1082 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-443.065 582.753 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-475.444 582.753 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(panic.) 24.0696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 548.118 Td
-/F116_0 20.6585 Tf
-(2.4.) 34.4584 Tj
--278 TJm
-(OPTIONS) 92.9839 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 516.475 Td
-/F124_0 9.9626 Tf
-(-c) 11.9551 Tj
--600 TJm
-(--stdout) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 504.52 Td
-/F122_0 9.9626 Tf
-(Compress) 39.8504 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(decompress) 47.0334 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(output.) 27.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 478.854 Td
-/F124_0 9.9626 Tf
-(-d) 11.9551 Tj
--600 TJm
-(--decompress) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 466.899 Td
-/F122_0 9.9626 Tf
-(F) 5.5392 Tj
-15 TJm
-(orce) 17.1456 Tj
--296 TJm
-(decompression.) 62.2563 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.214 466.899 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-230.102 466.899 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-235.659 466.899 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-280.454 466.899 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-297.791 466.899 Td
-/F124_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-330.631 466.899 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--296 TJm
-(really) 22.6848 Tj
--296 TJm
-(the) 12.1743 Tj
--297 TJm
-(same) 20.4731 Tj
--296 TJm
-(program,) 36.2439 Tj
--308 TJm
-(and) 14.386 Tj
--296 TJm
-(the) 12.1743 Tj
--296 TJm
-(decision) 33.2053 Tj
--297 TJm
-(about) 22.1369 Tj
-108 454.944 Td
-(what) 19.3673 Tj
--303 TJm
-(actions) 28.224 Tj
--303 TJm
-(to) 7.7509 Tj
--303 TJm
-(tak) 12.1743 Tj
-10 TJm
-(e) 4.4234 Tj
--303 TJm
-(is) 6.6451 Tj
--303 TJm
-(done) 19.3673 Tj
--303 TJm
-(on) 9.9626 Tj
--304 TJm
-(the) 12.1743 Tj
--303 TJm
-(basis) 19.9252 Tj
--303 TJm
-(of) 8.2988 Tj
--303 TJm
-(which) 24.3486 Tj
--303 TJm
-(name) 21.579 Tj
--303 TJm
-(is) 6.6451 Tj
--303 TJm
-(used.) 20.7521 Tj
--939 TJm
-(This) 17.7135 Tj
--303 TJm
-(\003ag) 14.9439 Tj
--303 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(errides) 27.1082 Tj
--303 TJm
-(that) 14.9439 Tj
--303 TJm
-(mechanism,) 47.8703 Tj
--316 TJm
-(and) 14.386 Tj
-108 442.988 Td
-(forces) 24.3386 Tj
--250 TJm
-(bzip2) 22.1369 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(decompress.) 49.5241 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 417.323 Td
-/F124_0 9.9626 Tf
-(-z) 11.9551 Tj
--600 TJm
-(--compress) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 405.368 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(complement) 49.2551 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-187.969 405.368 Td
-/F124_0 9.9626 Tf
-(-d) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-199.924 405.368 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
--310 TJm
-(forces) 24.3386 Tj
--250 TJm
-(compression,) 52.8516 Tj
--250 TJm
-(re) 7.7409 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(ardless) 27.6661 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-20 TJm
-(okation) 29.8878 Tj
--250 TJm
-(name.) 24.0696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 379.702 Td
-/F124_0 9.9626 Tf
-(-t) 11.9551 Tj
--600 TJm
-(--test) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 367.747 Td
-/F122_0 9.9626 Tf
-(Check) 25.4544 Tj
--270 TJm
-(inte) 14.9439 Tj
-15 TJm
-(grity) 18.8194 Tj
--271 TJm
-(of) 8.2988 Tj
--270 TJm
-(the) 12.1743 Tj
--271 TJm
-(speci\002ed) 35.417 Tj
--270 TJm
-(\002le\(s\),) 25.7334 Tj
--276 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--270 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--270 TJm
-(decompress) 47.0334 Tj
--271 TJm
-(them.) 22.4159 Tj
--742 TJm
-(This) 17.7135 Tj
--271 TJm
-(really) 22.6848 Tj
--270 TJm
-(performs) 35.965 Tj
--270 TJm
-(a) 4.4234 Tj
--271 TJm
-(trial) 16.0497 Tj
--270 TJm
-(decompres-) 46.4755 Tj
-108 355.792 Td
-(sion) 16.6077 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(thro) 16.0497 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(a) 4.4234 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(result.) 24.6275 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 330.126 Td
-/F124_0 9.9626 Tf
-(-f) 11.9551 Tj
--600 TJm
-(--force) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 318.171 Td
-/F122_0 9.9626 Tf
-(F) 5.5392 Tj
-15 TJm
-(orce) 17.1456 Tj
--338 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erwrite) 28.2141 Tj
--339 TJm
-(of) 8.2988 Tj
--338 TJm
-(output) 25.4644 Tj
--338 TJm
-(\002les.) 19.0983 Tj
--1150 TJm
-(Normally) 38.1866 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-289.831 318.171 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-323.089 318.171 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--338 TJm
-(not) 12.7322 Tj
--339 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erwrite) 28.2141 Tj
--338 TJm
-(e) 4.4234 Tj
-15 TJm
-(xisting) 27.1282 Tj
--338 TJm
-(output) 25.4644 Tj
--338 TJm
-(\002les.) 19.0983 Tj
--1150 TJm
-(Also) 18.8194 Tj
--339 TJm
-(forces) 24.3386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 306.215 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-140.379 306.215 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(break) 22.1269 Tj
--250 TJm
-(hard) 17.7035 Tj
--250 TJm
-(links) 19.3773 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(\002les,) 19.0983 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(otherwise) 38.7346 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ouldn') 26.0123 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(do.) 12.4533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 284.416 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-141.211 284.416 Td
-/F122_0 9.9626 Tf
-(normally) 35.9749 Tj
--334 TJm
-(declines) 32.6474 Tj
--333 TJm
-(to) 7.7509 Tj
--334 TJm
-(decompress) 47.0334 Tj
--333 TJm
-(\002les) 16.6077 Tj
--334 TJm
-(which) 24.3486 Tj
--333 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--334 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--333 TJm
-(the) 12.1743 Tj
--334 TJm
-(correct) 27.6562 Tj
--333 TJm
-(magic) 24.3486 Tj
--334 TJm
-(header) 26.5503 Tj
--333 TJm
-(bytes.) 23.5217 Tj
--561 TJm
-(If) 6.6351 Tj
--334 TJm
-(forced) 25.4445 Tj
-108 272.461 Td
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-111.318 272.461 Td
-/F124_0 9.9626 Tf
-(-f) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-123.273 272.461 Td
-/F122_0 9.9626 Tf
-(\),) 5.8082 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(we) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
-40 TJm
-(,) 2.4907 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(pass) 17.1556 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(through) 30.9936 Tj
--250 TJm
-(unmodi\002ed.) 47.8803 Tj
--310 TJm
-(This) 17.7135 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(GNU) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-412.585 272.461 Td
-/F124_0 9.9626 Tf
-(gzip) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-438.986 272.461 Td
-/F122_0 9.9626 Tf
-(beha) 18.8094 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(es.) 10.7895 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 246.795 Td
-/F124_0 9.9626 Tf
-(-k) 11.9551 Tj
--600 TJm
-(--keep) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 234.84 Td
-/F122_0 9.9626 Tf
-(K) 7.193 Tj
-25 TJm
-(eep) 13.8281 Tj
--250 TJm
-(\(don') 21.579 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(delete\)) 27.1082 Tj
--250 TJm
-(input) 20.4831 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(during) 26.0123 Tj
--250 TJm
-(compression) 50.3609 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(decompression.) 62.2563 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 209.174 Td
-/F124_0 9.9626 Tf
-(-s) 11.9551 Tj
--600 TJm
-(--small) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 197.219 Td
-/F122_0 9.9626 Tf
-(Reduce) 29.8778 Tj
--347 TJm
-(memory) 33.2053 Tj
--347 TJm
-(usage,) 25.1755 Tj
--371 TJm
-(for) 11.6164 Tj
--346 TJm
-(compression,) 52.8516 Tj
--371 TJm
-(decompression) 59.7656 Tj
--347 TJm
-(and) 14.386 Tj
--347 TJm
-(testing.) 29.0609 Tj
--1201 TJm
-(Files) 19.3773 Tj
--347 TJm
-(are) 12.1643 Tj
--347 TJm
-(decompressed) 56.4381 Tj
--346 TJm
-(and) 14.386 Tj
--347 TJm
-(tested) 23.2427 Tj
-108 185.264 Td
-(using) 21.589 Tj
--388 TJm
-(a) 4.4234 Tj
--388 TJm
-(modi\002ed) 35.427 Tj
--388 TJm
-(algorithm) 38.7446 Tj
--389 TJm
-(which) 24.3486 Tj
--388 TJm
-(only) 17.7135 Tj
--388 TJm
-(requires) 32.0895 Tj
--388 TJm
-(2.5) 12.4533 Tj
--388 TJm
-(bytes) 21.031 Tj
--388 TJm
-(per) 12.7222 Tj
--388 TJm
-(block) 22.1369 Tj
--389 TJm
-(byte.) 19.6462 Tj
--1448 TJm
-(This) 17.7135 Tj
--389 TJm
-(means) 25.4544 Tj
--388 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--388 TJm
-(\002le) 12.7322 Tj
--388 TJm
-(can) 13.8281 Tj
--388 TJm
-(be) 9.4047 Tj
-108 173.309 Td
-(decompressed) 56.4381 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(2300k) 24.9065 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(albeit) 22.1369 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(about) 22.1369 Tj
--250 TJm
-(half) 15.4918 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(speed.) 25.1755 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 151.51 Td
-(During) 28.224 Tj
--252 TJm
-(compr) 25.4544 Tj
-1 TJm
-(ession,) 27.3972 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-194.091 151.51 Td
-/F124_0 9.9626 Tf
-(-s) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-208.551 151.51 Td
-/F122_0 9.9626 Tf
-(selects) 26.5603 Tj
--252 TJm
-(a) 4.4234 Tj
--251 TJm
-(block) 22.1369 Tj
--252 TJm
-(size) 15.4918 Tj
--251 TJm
-(of) 8.2988 Tj
--252 TJm
-(200k,) 22.4159 Tj
--251 TJm
-(which) 24.3486 Tj
--252 TJm
-(limits) 22.7048 Tj
--251 TJm
-(memory) 33.2053 Tj
--252 TJm
-(use) 13.2801 Tj
--251 TJm
-(to) 7.7509 Tj
--252 TJm
-(around) 27.6661 Tj
--251 TJm
-(the) 12.1743 Tj
--252 TJm
-(same) 20.4731 Tj
--251 TJm
-(\002gure,) 25.7334 Tj
--252 TJm
-(at) 7.193 Tj
-108 139.554 Td
-(the) 12.1743 Tj
--287 TJm
-(e) 4.4234 Tj
-15 TJm
-(xpense) 27.6661 Tj
--287 TJm
-(of) 8.2988 Tj
--288 TJm
-(your) 18.2614 Tj
--287 TJm
-(compression) 50.3609 Tj
--287 TJm
-(ratio.) 20.7521 Tj
--843 TJm
-(In) 8.2988 Tj
--287 TJm
-(short,) 22.4159 Tj
--297 TJm
-(if) 6.0871 Tj
--287 TJm
-(your) 18.2614 Tj
--287 TJm
-(machine) 33.7533 Tj
--287 TJm
-(is) 6.6451 Tj
--287 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
--287 TJm
-(on) 9.9626 Tj
--288 TJm
-(memory) 33.2053 Tj
--287 TJm
-(\(8) 8.2988 Tj
--287 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abytes) 25.4544 Tj
--287 TJm
-(or) 8.2988 Tj
--287 TJm
-(less\),) 20.7521 Tj
-108 127.599 Td
-(use) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-123.771 127.599 Td
-/F124_0 9.9626 Tf
-(-s) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-138.217 127.599 Td
-/F122_0 9.9626 Tf
-(for) 11.6164 Tj
--250 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(erything.) 35.696 Tj
--620 TJm
-(See) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--250 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-([5]) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 101.933 Td
-/F124_0 9.9626 Tf
-(-q) 11.9551 Tj
--600 TJm
-(--quiet) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 89.978 Td
-/F122_0 9.9626 Tf
-(Suppress) 35.9749 Tj
--221 TJm
-(non-essential) 52.5726 Tj
--220 TJm
-(w) 7.193 Tj
-10 TJm
-(arning) 25.4544 Tj
--221 TJm
-(messages.) 40.1194 Tj
--300 TJm
-(Messages) 38.7346 Tj
--221 TJm
-(pertaining) 40.3983 Tj
--221 TJm
-(to) 7.7509 Tj
--220 TJm
-(I/O) 13.2801 Tj
--221 TJm
-(errors) 23.2328 Tj
--221 TJm
-(and) 14.386 Tj
--220 TJm
-(other) 20.4731 Tj
--221 TJm
-(critical) 27.6661 Tj
--221 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ents) 16.0497 Tj
--221 TJm
-(wi) 9.9626 Tj
-1 TJm
-(ll) 5.5392 Tj
--221 TJm
-(not) 12.7322 Tj
-108 78.023 Td
-(be) 9.4047 Tj
--250 TJm
-(suppressed.) 46.2065 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.852 Td
-(4) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 5 8
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F122_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F124_0 9.9626 Tf
-(-v) 11.9551 Tj
--600 TJm
-(--verbose) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 698.082 Td
-/F122_0 9.9626 Tf
-(V) 7.193 Tj
-111 TJm
-(erbose) 26.0024 Tj
--323 TJm
-(mode) 22.1369 Tj
--322 TJm
-(--) 6.6351 Tj
--323 TJm
-(sho) 13.8381 Tj
-25 TJm
-(w) 7.193 Tj
--322 TJm
-(the) 12.1743 Tj
--323 TJm
-(compression) 50.3609 Tj
--323 TJm
-(ratio) 18.2614 Tj
--322 TJm
-(for) 11.6164 Tj
--323 TJm
-(each) 18.2515 Tj
--322 TJm
-(\002le) 12.7322 Tj
--323 TJm
-(processed.) 41.7732 Tj
--1056 TJm
-(Further) 29.3299 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-430.015 698.082 Td
-/F124_0 9.9626 Tf
-(-v) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-441.97 698.082 Td
-/F122_0 9.9626 Tf
-(') 3.3175 Tj
-55 TJm
-(s) 3.8755 Tj
--323 TJm
-(increase) 32.6375 Tj
--322 TJm
-(the) 12.1743 Tj
--323 TJm
-(v) 4.9813 Tj
-15 TJm
-(erbosity) 32.0995 Tj
-108 686.127 Td
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el,) 9.6836 Tj
--250 TJm
-(spe) 13.2801 Tj
-25 TJm
-(wing) 19.9252 Tj
--250 TJm
-(out) 12.7322 Tj
--250 TJm
-(lots) 14.396 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(information) 47.0434 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(primarily) 37.0808 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(interest) 29.3299 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(diagnostic) 40.9562 Tj
--250 TJm
-(purposes.) 37.9077 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 660.224 Td
-/F124_0 9.9626 Tf
-(-L) 11.9551 Tj
--600 TJm
-(--license) 53.798 Tj
--600 TJm
-(-V) 11.9551 Tj
--600 TJm
-(--version) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 648.269 Td
-/F122_0 9.9626 Tf
-(Display) 30.9936 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(softw) 22.1369 Tj
-10 TJm
-(are) 12.1643 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion,) 26.8392 Tj
--250 TJm
-(license) 27.6661 Tj
--250 TJm
-(terms) 22.1369 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(conditions.) 44.0048 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 622.366 Td
-/F124_0 9.9626 Tf
-(-1) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-86.446 622.366 Td
-/F122_0 9.9626 Tf
-(\(or) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-100.553 622.366 Td
-/F124_0 9.9626 Tf
-(--fast) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-136.418 622.366 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-152.468 622.366 Td
-/F124_0 9.9626 Tf
-(-9) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.914 622.366 Td
-/F122_0 9.9626 Tf
-(\(or) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-181.021 622.366 Td
-/F124_0 9.9626 Tf
-(-best) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.909 622.366 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 610.411 Td
-(Set) 12.7322 Tj
--288 TJm
-(the) 12.1743 Tj
--289 TJm
-(block) 22.1369 Tj
--288 TJm
-(size) 15.4918 Tj
--288 TJm
-(to) 7.7509 Tj
--288 TJm
-(100) 14.9439 Tj
--289 TJm
-(k,) 7.472 Tj
--298 TJm
-(200) 14.9439 Tj
--288 TJm
-(k) 4.9813 Tj
--288 TJm
-(...) 7.472 Tj
--850 TJm
-(900) 14.9439 Tj
--288 TJm
-(k) 4.9813 Tj
--288 TJm
-(when) 21.579 Tj
--289 TJm
-(compressing.) 52.8516 Tj
--849 TJm
-(Has) 15.4918 Tj
--289 TJm
-(no) 9.9626 Tj
--288 TJm
-(ef) 7.7409 Tj
-25 TJm
-(fect) 14.9339 Tj
--288 TJm
-(when) 21.579 Tj
--288 TJm
-(decompressing.) 62.2563 Tj
--850 TJm
-(See) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-108 598.456 Td
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--297 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--297 TJm
-([5]) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--298 TJm
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.4907 Tj
--904 TJm
-(The) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-297.278 598.456 Td
-/F124_0 9.9626 Tf
-(--fast) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-336.106 598.456 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-353.454 598.456 Td
-/F124_0 9.9626 Tf
-(--best) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-392.281 598.456 Td
-/F122_0 9.9626 Tf
-(aliases) 26.5603 Tj
--297 TJm
-(are) 12.1643 Tj
--298 TJm
-(primarily) 37.0808 Tj
--297 TJm
-(for) 11.6164 Tj
--297 TJm
-(GNU) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-516.09 598.456 Td
-/F124_0 9.9626 Tf
-(gzip) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 586.501 Td
-/F122_0 9.9626 Tf
-(compatibility) 53.1405 Tj
-65 TJm
-(.) 2.4907 Tj
--356 TJm
-(In) 8.2988 Tj
--265 TJm
-(particular) 38.1767 Tj
-40 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-220.423 586.501 Td
-/F124_0 9.9626 Tf
-(--fast) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-258.932 586.501 Td
-/F122_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--265 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--266 TJm
-(things) 24.3586 Tj
--265 TJm
-(signi\002cantly) 49.2651 Tj
--265 TJm
-(f) 3.3175 Tj
-10 TJm
-(aster) 18.8094 Tj
-55 TJm
-(.) 2.4907 Tj
--712 TJm
-(And) 17.1556 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-444.622 586.501 Td
-/F124_0 9.9626 Tf
-(--best) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-483.131 586.501 Td
-/F122_0 9.9626 Tf
-(merely) 27.6661 Tj
--265 TJm
-(selects) 26.5603 Tj
-108 574.545 Td
-(the) 12.1743 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 548.643 Td
-/F124_0 9.9626 Tf
-(--) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 536.688 Td
-/F122_0 9.9626 Tf
-(T) 6.0871 Tj
-35 TJm
-(reats) 18.8094 Tj
--261 TJm
-(all) 9.9626 Tj
--261 TJm
-(subsequent) 44.2738 Tj
--260 TJm
-(ar) 7.7409 Tj
-18 TJm
-(guments) 33.7633 Tj
--261 TJm
-(as) 8.2988 Tj
--261 TJm
-(\002le) 12.7322 Tj
--261 TJm
-(names,) 27.9451 Tj
--263 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--261 TJm
-(if) 6.0871 Tj
--261 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--260 TJm
-(start) 17.1556 Tj
--261 TJm
-(with) 17.7135 Tj
--261 TJm
-(a) 4.4234 Tj
--261 TJm
-(dash.) 20.7521 Tj
--685 TJm
-(This) 17.7135 Tj
--260 TJm
-(is) 6.6451 Tj
--261 TJm
-(so) 8.8568 Tj
--261 TJm
-(you) 14.9439 Tj
--261 TJm
-(can) 13.8281 Tj
--260 TJm
-(handle) 26.5603 Tj
--261 TJm
-(\002les) 16.6077 Tj
-108 524.732 Td
-(with) 17.7135 Tj
--250 TJm
-(names) 25.4544 Tj
--250 TJm
-(be) 9.4047 Tj
-15 TJm
-(ginning) 30.4457 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(dash,) 20.7521 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xample:) 32.0995 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-302.27 524.732 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(--) 11.9551 Tj
--600 TJm
-(-myfilename) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-421.821 524.732 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 498.83 Td
-/F124_0 9.9626 Tf
-(--repetitive-fast) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-178.6 498.83 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.563 498.83 Td
-/F124_0 9.9626 Tf
-(--repetitive-best) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 486.874 Td
-/F122_0 9.9626 Tf
-(These) 23.7907 Tj
--207 TJm
-(\003ags) 18.8194 Tj
--206 TJm
-(are) 12.1643 Tj
--207 TJm
-(redundant) 39.8404 Tj
--207 TJm
-(in) 7.7509 Tj
--206 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--207 TJm
-(0.9.5) 19.9252 Tj
--207 TJm
-(and) 14.386 Tj
--206 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.914 Tj
--591 TJm
-(The) 15.4918 Tj
-15 TJm
-(y) 4.9813 Tj
--207 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vided) 22.1369 Tj
--207 TJm
-(some) 21.031 Tj
--207 TJm
-(coa) 13.8281 Tj
-1 TJm
-(rse) 11.6164 Tj
--207 TJm
-(control) 28.224 Tj
--207 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--207 TJm
-(the) 12.1743 Tj
--206 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
-108 474.919 Td
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--251 TJm
-(sorting) 27.6761 Tj
--250 TJm
-(algorithm) 38.7446 Tj
--250 TJm
-(in) 7.7509 Tj
--251 TJm
-(earlier) 25.4445 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions,) 30.7147 Tj
--250 TJm
-(which) 24.3486 Tj
--251 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(sometimes) 42.62 Tj
--250 TJm
-(useful.) 26.8392 Tj
--622 TJm
-(0.9.5) 19.9252 Tj
--251 TJm
-(and) 14.386 Tj
--250 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--251 TJm
-(an) 9.4047 Tj
--250 TJm
-(impro) 23.8007 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed) 9.4047 Tj
-108 462.964 Td
-(algorithm) 38.7446 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(renders) 29.3199 Tj
--250 TJm
-(these) 20.4731 Tj
--250 TJm
-(\003ags) 18.8194 Tj
--250 TJm
-(irrele) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant.) 14.6649 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 414.264 Td
-/F116_0 20.6585 Tf
-(2.5.) 34.4584 Tj
--278 TJm
-(MEMOR) 79.184 Tj
-50 TJm
-(Y) 13.7792 Tj
--278 TJm
-(MANA) 61.9548 Tj
-50 TJm
-(GEMENT) 88.3771 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 392.346 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.454 392.346 Td
-/F122_0 9.9626 Tf
-(compresses) 45.9276 Tj
--258 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--257 TJm
-(\002les) 16.6077 Tj
--258 TJm
-(in) 7.7509 Tj
--257 TJm
-(blocks.) 28.503 Tj
--666 TJm
-(The) 15.4918 Tj
--257 TJm
-(block) 22.1369 Tj
--258 TJm
-(size) 15.4918 Tj
--258 TJm
-(af) 7.7409 Tj
-25 TJm
-(fects) 18.8094 Tj
--257 TJm
-(both) 17.7135 Tj
--258 TJm
-(the) 12.1743 Tj
--257 TJm
-(compression) 50.3609 Tj
--258 TJm
-(ratio) 18.2614 Tj
--257 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed,) 11.8953 Tj
--260 TJm
-(and) 14.386 Tj
--258 TJm
-(the) 12.1743 Tj
--257 TJm
-(amount) 29.8878 Tj
-72 380.391 Td
-(of) 8.2988 Tj
--215 TJm
-(memory) 33.2053 Tj
--215 TJm
-(needed) 28.2141 Tj
--215 TJm
-(for) 11.6164 Tj
--215 TJm
-(compression) 50.3609 Tj
--214 TJm
-(and) 14.386 Tj
--215 TJm
-(decompression.) 62.2563 Tj
--597 TJm
-(The) 15.4918 Tj
--215 TJm
-(\003ags) 18.8194 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-337.719 380.391 Td
-/F124_0 9.9626 Tf
-(-1) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-351.815 380.391 Td
-/F122_0 9.9626 Tf
-(through) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-384.95 380.391 Td
-/F124_0 9.9626 Tf
-(-9) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-399.046 380.391 Td
-/F122_0 9.9626 Tf
-(specify) 28.772 Tj
--215 TJm
-(the) 12.1743 Tj
--215 TJm
-(block) 22.1369 Tj
--215 TJm
-(size) 15.4918 Tj
--215 TJm
-(to) 7.7509 Tj
--214 TJm
-(be) 9.4047 Tj
--215 TJm
-(100,000) 32.3785 Tj
-72 368.435 Td
-(bytes) 21.031 Tj
--278 TJm
-(through) 30.9936 Tj
--277 TJm
-(900,000) 32.3785 Tj
--278 TJm
-(bytes) 21.031 Tj
--278 TJm
-(\(the) 15.4918 Tj
--277 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault\)) 18.2614 Tj
--278 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.4907 Tj
--786 TJm
-(At) 9.9626 Tj
--278 TJm
-(decompression) 59.7656 Tj
--278 TJm
-(time,) 20.2042 Tj
--284 TJm
-(the) 12.1743 Tj
--278 TJm
-(block) 22.1369 Tj
--278 TJm
-(size) 15.4918 Tj
--277 TJm
-(used) 18.2614 Tj
--278 TJm
-(for) 11.6164 Tj
--278 TJm
-(compression) 50.3609 Tj
-72 356.48 Td
-(is) 6.6451 Tj
--243 TJm
-(read) 17.1456 Tj
--242 TJm
-(from) 19.3673 Tj
--243 TJm
-(the) 12.1743 Tj
--242 TJm
-(header) 26.5503 Tj
--243 TJm
-(of) 8.2988 Tj
--242 TJm
-(the) 12.1743 Tj
--243 TJm
-(compressed) 47.0334 Tj
--242 TJm
-(\002le,) 15.2229 Tj
--244 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-275.174 356.48 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-319.433 356.48 Td
-/F122_0 9.9626 Tf
-(then) 17.1556 Tj
--243 TJm
-(all) 9.9626 Tj
-1 TJm
-(o) 4.9813 Tj
--1 TJm
-(c) 4.4234 Tj
-1 TJm
-(ates) 15.4918 Tj
--243 TJm
-(itself) 19.9252 Tj
--242 TJm
-(just) 14.396 Tj
--243 TJm
-(enough) 29.3299 Tj
--243 TJm
-(memory) 33.2053 Tj
--242 TJm
-(to) 7.7509 Tj
--243 TJm
-(decompress) 47.0334 Tj
-72 344.525 Td
-(the) 12.1743 Tj
--303 TJm
-(\002le.) 15.2229 Tj
--940 TJm
-(Since) 22.1369 Tj
--304 TJm
-(block) 22.1369 Tj
--303 TJm
-(sizes) 19.3673 Tj
--303 TJm
-(are) 12.1643 Tj
--303 TJm
-(stored) 24.3486 Tj
--304 TJm
-(in) 7.7509 Tj
--303 TJm
-(compressed) 47.0334 Tj
--303 TJm
-(\002les,) 19.0983 Tj
--317 TJm
-(it) 5.5392 Tj
--303 TJm
-(follo) 18.8194 Tj
-25 TJm
-(ws) 11.0684 Tj
--304 TJm
-(that) 14.9439 Tj
--303 TJm
-(the) 12.1743 Tj
--303 TJm
-(\003ags) 18.8194 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-406.35 344.525 Td
-/F124_0 9.9626 Tf
-(-1) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-421.327 344.525 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-432.1 344.525 Td
-/F124_0 9.9626 Tf
-(-9) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-447.077 344.525 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--303 TJm
-(irrele) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant) 12.1743 Tj
--304 TJm
-(to) 7.7509 Tj
--303 TJm
-(and) 14.386 Tj
--303 TJm
-(so) 8.8568 Tj
-72 332.57 Td
-(ignored) 30.4357 Tj
--250 TJm
-(during) 26.0123 Tj
--250 TJm
-(decompression.) 62.2563 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 310.652 Td
-(Compression) 52.5826 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(requirements,) 54.5054 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(bytes,) 23.5217 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(estimated) 38.1866 Tj
--250 TJm
-(as:) 11.0684 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 247.723] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 299.131 Td
-/F124_0 9.9626 Tf
-(Compression:) 71.7307 Tj
--1278 TJm
-(400k) 23.9102 Tj
--426 TJm
-(+) 5.9776 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(8) 5.9776 Tj
--426 TJm
-(x) 5.9776 Tj
--426 TJm
-(block) 29.8878 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(\)) 5.9776 Tj
-90 275.22 Td
-(Decompression:) 83.6858 Tj
--426 TJm
-(100k) 23.9102 Tj
--426 TJm
-(+) 5.9776 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(4) 5.9776 Tj
--426 TJm
-(x) 5.9776 Tj
--426 TJm
-(block) 29.8878 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(\),) 11.9551 Tj
--426 TJm
-(or) 11.9551 Tj
-153.66 263.265 Td
-(100k) 23.9102 Tj
--426 TJm
-(+) 5.9776 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(2.5) 17.9327 Tj
--426 TJm
-(x) 5.9776 Tj
--426 TJm
-(block) 29.8878 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 225.805 Td
-/F122_0 9.9626 Tf
-(Lar) 13.8281 Tj
-18 TJm
-(ger) 12.7222 Tj
--292 TJm
-(block) 22.1369 Tj
--292 TJm
-(sizes) 19.3673 Tj
--291 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--292 TJm
-(rapidly) 28.224 Tj
--292 TJm
-(diminishing) 47.6113 Tj
--292 TJm
-(mar) 15.4918 Tj
-18 TJm
-(ginal) 19.9252 Tj
--291 TJm
-(returns.) 30.1568 Tj
--871 TJm
-(Most) 20.4831 Tj
--292 TJm
-(of) 8.2988 Tj
--291 TJm
-(the) 12.1743 Tj
--292 TJm
-(compression) 50.3609 Tj
--292 TJm
-(comes) 25.4544 Tj
--292 TJm
-(from) 19.3673 Tj
--291 TJm
-(the) 12.1743 Tj
--292 TJm
-(\002rst) 15.5018 Tj
--292 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--292 TJm
-(or) 8.2988 Tj
-72 213.85 Td
-(three) 19.9152 Tj
--232 TJm
-(hundred) 32.6474 Tj
--232 TJm
-(k) 4.9813 Tj
--232 TJm
-(of) 8.2988 Tj
--232 TJm
-(block) 22.1369 Tj
--232 TJm
-(size,) 17.9825 Tj
--235 TJm
-(a) 4.4234 Tj
--232 TJm
-(f) 3.3175 Tj
-10 TJm
-(act) 11.6164 Tj
--232 TJm
-(w) 7.193 Tj
-10 TJm
-(orth) 16.0497 Tj
--232 TJm
-(bearing) 29.8778 Tj
--232 TJm
-(in) 7.7509 Tj
--232 TJm
-(mind) 20.4831 Tj
--232 TJm
-(when) 21.579 Tj
--231 TJm
-(using) 21.589 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-354.025 213.85 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-386.223 213.85 Td
-/F122_0 9.9626 Tf
-(on) 9.9626 Tj
--232 TJm
-(small) 21.589 Tj
--232 TJm
-(machines.) 40.1194 Tj
--304 TJm
-(It) 6.0871 Tj
--232 TJm
-(is) 6.6451 Tj
--232 TJm
-(also) 16.0497 Tj
--231 TJm
-(important) 38.7446 Tj
-72 201.895 Td
-(to) 7.7509 Tj
--250 TJm
-(appreciate) 40.9363 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(requirement) 48.1393 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(set) 11.0684 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(compression) 50.3609 Tj
--250 TJm
-(time) 17.7135 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(choice) 26.0024 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(size.) 17.9825 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 179.977 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--388 TJm
-(\002les) 16.6077 Tj
--389 TJm
-(compressed) 47.0334 Tj
--388 TJm
-(with) 17.7135 Tj
--389 TJm
-(the) 12.1743 Tj
--388 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--389 TJm
-(900k) 19.9252 Tj
--388 TJm
-(block) 22.1369 Tj
--389 TJm
-(size,) 17.9825 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-302.002 179.977 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-347.716 179.977 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--388 TJm
-(require) 28.2141 Tj
--389 TJm
-(about) 22.1369 Tj
--388 TJm
-(3700) 19.9252 Tj
--389 TJm
-(kbytes) 26.0123 Tj
--388 TJm
-(to) 7.7509 Tj
--389 TJm
-(decompress.) 49.5241 Tj
-72 168.022 Td
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--424 TJm
-(support) 29.8878 Tj
--425 TJm
-(decompression) 59.7656 Tj
--424 TJm
-(of) 8.2988 Tj
--424 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--425 TJm
-(\002l) 8.3088 Tj
-1 TJm
-(e) 4.4234 Tj
--425 TJm
-(on) 9.9626 Tj
--424 TJm
-(a) 4.4234 Tj
--424 TJm
-(4) 4.9813 Tj
--425 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abyte) 21.579 Tj
--424 TJm
-(machine,) 36.2439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-348.272 168.022 Td
-/F124_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-394.342 168.022 Td
-/F122_0 9.9626 Tf
-(has) 13.2801 Tj
--424 TJm
-(an) 9.4047 Tj
--425 TJm
-(option) 25.4644 Tj
--424 TJm
-(to) 7.7509 Tj
--424 TJm
-(decompress) 47.0334 Tj
--424 TJm
-(using) 21.589 Tj
-72 156.067 Td
-(approximately) 57.5539 Tj
--281 TJm
-(half) 15.4918 Tj
--281 TJm
-(this) 14.396 Tj
--280 TJm
-(amount) 29.8878 Tj
--281 TJm
-(of) 8.2988 Tj
--281 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.4907 Tj
--288 TJm
-(about) 22.1369 Tj
--281 TJm
-(2300) 19.9252 Tj
--281 TJm
-(kbytes.) 28.503 Tj
--805 TJm
-(Decompression) 61.9773 Tj
--280 TJm
-(speed) 22.6848 Tj
--281 TJm
-(is) 6.6451 Tj
--281 TJm
-(also) 16.0497 Tj
--281 TJm
-(halv) 17.1556 Tj
-15 TJm
-(ed,) 11.8953 Tj
--288 TJm
-(so) 8.8568 Tj
--281 TJm
-(you) 14.9439 Tj
--281 TJm
-(should) 26.5703 Tj
-72 144.112 Td
-(use) 13.2801 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(option) 25.4644 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(where) 24.3386 Tj
--250 TJm
-(necessary) 38.7246 Tj
-65 TJm
-(.) 2.4907 Tj
--620 TJm
-(The) 15.4918 Tj
--250 TJm
-(rele) 14.9339 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant) 12.1743 Tj
--250 TJm
-(\003ag) 14.9439 Tj
--250 TJm
-(is) 6.6451 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-305.024 144.112 Td
-/F124_0 9.9626 Tf
-(-s) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-316.979 144.112 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 122.194 Td
-(In) 8.2988 Tj
--204 TJm
-(general,) 31.8106 Tj
--214 TJm
-(try) 11.0684 Tj
--204 TJm
-(and) 14.386 Tj
--205 TJm
-(use) 13.2801 Tj
--204 TJm
-(the) 12.1743 Tj
--204 TJm
-(lar) 10.5105 Tj
-18 TJm
-(gest) 16.0497 Tj
--205 TJm
-(block) 22.1369 Tj
--204 TJm
-(size) 15.4918 Tj
--205 TJm
-(memory) 33.2053 Tj
--204 TJm
-(constraints) 43.1679 Tj
--204 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.4907 Tj
--214 TJm
-(since) 20.4731 Tj
--204 TJm
-(that) 14.9439 Tj
--205 TJm
-(maximises) 42.62 Tj
--204 TJm
-(the) 12.1743 Tj
--204 TJm
-(compression) 50.3609 Tj
--205 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed.) 11.8953 Tj
-72 110.239 Td
-(Compression) 52.5826 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(speed) 22.6848 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(virtually) 33.7633 Tj
--250 TJm
-(unaf) 17.7035 Tj
-25 TJm
-(fected) 24.3386 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(size.) 17.9825 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 88.321 Td
-(Another) 32.6474 Tj
--296 TJm
-(signi\002cant) 41.5142 Tj
--296 TJm
-(point) 20.4831 Tj
--295 TJm
-(applies) 28.224 Tj
--296 TJm
-(to) 7.7509 Tj
--296 TJm
-(\002les) 16.6077 Tj
--296 TJm
-(which) 24.3486 Tj
--296 TJm
-(\002t) 8.3088 Tj
--296 TJm
-(in) 7.7509 Tj
--296 TJm
-(a) 4.4234 Tj
--295 TJm
-(single) 23.8007 Tj
--296 TJm
-(block) 22.1369 Tj
--296 TJm
-(--) 6.6351 Tj
--296 TJm
-(that) 14.9439 Tj
--296 TJm
-(means) 25.4544 Tj
--296 TJm
-(most) 19.3773 Tj
--295 TJm
-(\002les) 16.6077 Tj
--296 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--296 TJm
-(encounter) 39.2825 Tj
--296 TJm
-(using) 21.589 Tj
--296 TJm
-(a) 4.4234 Tj
-72 76.366 Td
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--290 TJm
-(block) 22.1369 Tj
--290 TJm
-(size.) 17.9825 Tj
--859 TJm
-(The) 15.4918 Tj
--290 TJm
-(amount) 29.8878 Tj
--290 TJm
-(of) 8.2988 Tj
--290 TJm
-(real) 14.9339 Tj
--290 TJm
-(memory) 33.2053 Tj
--289 TJm
-(touched) 31.5416 Tj
--290 TJm
-(is) 6.6451 Tj
--290 TJm
-(proportional) 49.2551 Tj
--290 TJm
-(to) 7.7509 Tj
--290 TJm
-(the) 12.1743 Tj
--290 TJm
-(size) 15.4918 Tj
--290 TJm
-(of) 8.2988 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(\002le,) 15.2229 Tj
--300 TJm
-(since) 20.4731 Tj
--290 TJm
-(the) 12.1743 Tj
--290 TJm
-(\002le) 12.7322 Tj
--290 TJm
-(is) 6.6451 Tj
--290 TJm
-(smaller) 29.3299 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.951 Td
-(5) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 6 9
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F122_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(than) 17.1556 Tj
--362 TJm
-(a) 4.4234 Tj
--362 TJm
-(block.) 24.6275 Tj
--1293 TJm
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--362 TJm
-(e) 4.4234 Tj
-15 TJm
-(xample,) 31.8205 Tj
--390 TJm
-(compressing) 50.3609 Tj
--362 TJm
-(a) 4.4234 Tj
--362 TJm
-(\002le) 12.7322 Tj
--362 TJm
-(20,000) 27.3972 Tj
--362 TJm
-(bytes) 21.031 Tj
--362 TJm
-(long) 17.7135 Tj
--362 TJm
-(with) 17.7135 Tj
--362 TJm
-(the) 12.1743 Tj
--362 TJm
-(\003ag) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-406.528 710.037 Td
-/F124_0 9.9626 Tf
-(-9) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-422.09 710.037 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--362 TJm
-(cause) 22.1269 Tj
--362 TJm
-(the) 12.1743 Tj
--362 TJm
-(compressor) 45.9276 Tj
--362 TJm
-(to) 7.7509 Tj
-72 698.082 Td
-(allocate) 30.9837 Tj
--271 TJm
-(around) 27.6661 Tj
--272 TJm
-(7600k) 24.9065 Tj
--271 TJm
-(of) 8.2988 Tj
--272 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.4907 Tj
--277 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--271 TJm
-(only) 17.7135 Tj
--272 TJm
-(touch) 22.1369 Tj
--271 TJm
-(400k) 19.9252 Tj
--272 TJm
-(+) 5.6189 Tj
--271 TJm
-(20000) 24.9065 Tj
--272 TJm
-(*) 4.9813 Tj
--271 TJm
-(8) 4.9813 Tj
--272 TJm
-(=) 5.6189 Tj
--271 TJm
-(560) 14.9439 Tj
--272 TJm
-(kbytes) 26.0123 Tj
--271 TJm
-(of) 8.2988 Tj
--272 TJm
-(it.) 8.0299 Tj
--748 TJm
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.4907 Tj
--277 TJm
-(the) 12.1743 Tj
--272 TJm
-(decompressor) 55.3323 Tj
-72 686.127 Td
-(will) 15.5018 Tj
--250 TJm
-(allocate) 30.9837 Tj
--250 TJm
-(3700k) 24.9065 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(touch) 22.1369 Tj
--250 TJm
-(100k) 19.9252 Tj
--250 TJm
-(+) 5.6189 Tj
--250 TJm
-(20000) 24.9065 Tj
--250 TJm
-(*) 4.9813 Tj
--250 TJm
-(4) 4.9813 Tj
--250 TJm
-(=) 5.6189 Tj
--250 TJm
-(180) 14.9439 Tj
--250 TJm
-(kbytes.) 28.503 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 664.209 Td
-(Here) 19.3573 Tj
--293 TJm
-(is) 6.6451 Tj
--294 TJm
-(a) 4.4234 Tj
--293 TJm
-(table) 19.3673 Tj
--294 TJm
-(which) 24.3486 Tj
--293 TJm
-(summarises) 47.0434 Tj
--294 TJm
-(the) 12.1743 Tj
--293 TJm
-(maximum) 40.4083 Tj
--294 TJm
-(memory) 33.2053 Tj
--293 TJm
-(usage) 22.6848 Tj
--294 TJm
-(for) 11.6164 Tj
--293 TJm
-(dif) 11.0684 Tj
-25 TJm
-(ferent) 23.2328 Tj
--294 TJm
-(block) 22.1369 Tj
--293 TJm
-(sizes.) 21.8579 Tj
--881 TJm
-(Also) 18.8194 Tj
--293 TJm
-(recorded) 34.8492 Tj
--294 TJm
-(is) 6.6451 Tj
--293 TJm
-(the) 12.1743 Tj
--294 TJm
-(total) 17.7135 Tj
-72 652.254 Td
-(compressed) 47.0334 Tj
--289 TJm
-(size) 15.4918 Tj
--289 TJm
-(for) 11.6164 Tj
--289 TJm
-(14) 9.9626 Tj
--289 TJm
-(\002les) 16.6077 Tj
--290 TJm
-(of) 8.2988 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(Calg) 18.8194 Tj
-5 TJm
-(ary) 12.7222 Tj
--289 TJm
-(T) 6.0871 Tj
-70 TJm
-(e) 4.4234 Tj
-15 TJm
-(xt) 7.7509 Tj
--289 TJm
-(Compression) 52.5826 Tj
--289 TJm
-(Corpus) 28.782 Tj
--289 TJm
-(totalling) 33.2153 Tj
--289 TJm
-(3,141,622) 39.8504 Tj
--290 TJm
-(bytes.) 23.5217 Tj
--854 TJm
-(This) 17.7135 Tj
--290 TJm
-(column) 29.8878 Tj
--289 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
-72 640.299 Td
-(some) 21.031 Tj
--253 TJm
-(feel) 14.9339 Tj
--253 TJm
-(for) 11.6164 Tj
--253 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--253 TJm
-(compression) 50.3609 Tj
--253 TJm
-(v) 4.9813 Tj
-25 TJm
-(aries) 18.8094 Tj
--253 TJm
-(with) 17.7135 Tj
--253 TJm
-(block) 22.1369 Tj
--253 TJm
-(size.) 17.9825 Tj
--638 TJm
-(These) 23.7907 Tj
--253 TJm
-(\002gures) 27.1182 Tj
--253 TJm
-(tend) 17.1556 Tj
--254 TJm
-(to) 7.7509 Tj
--253 TJm
-(understate) 40.9463 Tj
--253 TJm
-(the) 12.1743 Tj
--253 TJm
-(adv) 14.386 Tj
-25 TJm
-(antage) 26.0024 Tj
--253 TJm
-(of) 8.2988 Tj
--253 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--253 TJm
-(block) 22.1369 Tj
-72 628.344 Td
-(sizes) 19.3673 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--250 TJm
-(\002les,) 19.0983 Tj
--250 TJm
-(since) 20.4731 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(Corpus) 28.782 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(dominated) 42.0621 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(smaller) 29.3299 Tj
--250 TJm
-(\002les.) 19.0983 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 469.773] cm
-0 0 468 155.417 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-123.952 616.822 Td
-/F124_0 9.9626 Tf
-(Compress) 47.8205 Tj
--1278 TJm
-(Decompress) 59.7756 Tj
--1278 TJm
-(Decompress) 59.7756 Tj
--1278 TJm
-(Corpus) 35.8654 Tj
-90 604.867 Td
-(Flag) 23.9102 Tj
--2130 TJm
-(usage) 29.8878 Tj
--2556 TJm
-(usage) 29.8878 Tj
--2982 TJm
-(-s) 11.9551 Tj
--426 TJm
-(usage) 29.8878 Tj
--2130 TJm
-(Size) 23.9102 Tj
-94.244 580.957 Td
-(-1) 11.9551 Tj
--2556 TJm
-(1200k) 29.8878 Tj
--2982 TJm
-(500k) 23.9102 Tj
--3834 TJm
-(350k) 23.9102 Tj
--2556 TJm
-(914704) 35.8654 Tj
-94.244 569.001 Td
-(-2) 11.9551 Tj
--2556 TJm
-(2000k) 29.8878 Tj
--2982 TJm
-(900k) 23.9102 Tj
--3834 TJm
-(600k) 23.9102 Tj
--2556 TJm
-(877703) 35.8654 Tj
-94.244 557.046 Td
-(-3) 11.9551 Tj
--2556 TJm
-(2800k) 29.8878 Tj
--2556 TJm
-(1300k) 29.8878 Tj
--3834 TJm
-(850k) 23.9102 Tj
--2556 TJm
-(860338) 35.8654 Tj
-94.244 545.091 Td
-(-4) 11.9551 Tj
--2556 TJm
-(3600k) 29.8878 Tj
--2556 TJm
-(1700k) 29.8878 Tj
--3408 TJm
-(1100k) 29.8878 Tj
--2556 TJm
-(846899) 35.8654 Tj
-94.244 533.136 Td
-(-5) 11.9551 Tj
--2556 TJm
-(4400k) 29.8878 Tj
--2556 TJm
-(2100k) 29.8878 Tj
--3408 TJm
-(1350k) 29.8878 Tj
--2556 TJm
-(845160) 35.8654 Tj
-94.244 521.181 Td
-(-6) 11.9551 Tj
--2556 TJm
-(5200k) 29.8878 Tj
--2556 TJm
-(2500k) 29.8878 Tj
--3408 TJm
-(1600k) 29.8878 Tj
--2556 TJm
-(838626) 35.8654 Tj
-94.244 509.225 Td
-(-7) 11.9551 Tj
--2556 TJm
-(6100k) 29.8878 Tj
--2556 TJm
-(2900k) 29.8878 Tj
--3408 TJm
-(1850k) 29.8878 Tj
--2556 TJm
-(834096) 35.8654 Tj
-94.244 497.27 Td
-(-8) 11.9551 Tj
--2556 TJm
-(6800k) 29.8878 Tj
--2556 TJm
-(3300k) 29.8878 Tj
--3408 TJm
-(2100k) 29.8878 Tj
--2556 TJm
-(828642) 35.8654 Tj
-94.244 485.315 Td
-(-9) 11.9551 Tj
--2556 TJm
-(7600k) 29.8878 Tj
--2556 TJm
-(3700k) 29.8878 Tj
--3408 TJm
-(2350k) 29.8878 Tj
--2556 TJm
-(828642) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 435.021 Td
-/F116_0 20.6585 Tf
-(2.6.) 34.4584 Tj
--278 TJm
-(RECO) 59.6824 Tj
-50 TJm
-(VERING) 79.2047 Tj
--278 TJm
-(D) 14.9154 Tj
-40 TJm
-(A) 14.9154 Tj
-90 TJm
-(T) 12.6223 Tj
-90 TJm
-(A) 14.9154 Tj
--278 TJm
-(FR) 27.5378 Tj
-20 TJm
-(OM) 33.2808 Tj
--278 TJm
-(D) 14.9154 Tj
-40 TJm
-(AMA) 47.0394 Tj
-50 TJm
-(GED) 44.767 Tj
-72 410.23 Td
-(FILES) 58.5462 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 388.312 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-105.138 388.312 Td
-/F122_0 9.9626 Tf
-(compresses) 45.9276 Tj
--326 TJm
-(\002les) 16.6077 Tj
--326 TJm
-(in) 7.7509 Tj
--326 TJm
-(blocks,) 28.503 Tj
--346 TJm
-(usually) 28.782 Tj
--326 TJm
-(900kbytes) 40.9562 Tj
--326 TJm
-(long.) 20.2042 Tj
--1077 TJm
-(Each) 19.9152 Tj
--326 TJm
-(block) 22.1369 Tj
--326 TJm
-(is) 6.6451 Tj
--327 TJm
-(handled) 31.5416 Tj
--326 TJm
-(independently) 56.4481 Tj
-65 TJm
-(.) 2.4907 Tj
--1077 TJm
-(If) 6.6351 Tj
--326 TJm
-(a) 4.4234 Tj
--326 TJm
-(media) 24.3486 Tj
--326 TJm
-(or) 8.2988 Tj
-72 376.357 Td
-(transmission) 50.3709 Tj
--319 TJm
-(error) 19.3573 Tj
--318 TJm
-(causes) 26.0024 Tj
--319 TJm
-(a) 4.4234 Tj
--318 TJm
-(multi-block) 46.4955 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-234.519 376.357 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-261.603 376.357 Td
-/F122_0 9.9626 Tf
-(\002le) 12.7322 Tj
--319 TJm
-(to) 7.7509 Tj
--318 TJm
-(become) 30.9837 Tj
--319 TJm
-(damaged,) 38.4556 Tj
--336 TJm
-(i) 2.7696 Tj
-1 TJm
-(t) 2.7696 Tj
--319 TJm
-(may) 17.1556 Tj
--319 TJm
-(be) 9.4047 Tj
--318 TJm
-(possible) 32.6574 Tj
--319 TJm
-(to) 7.7509 Tj
--318 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--319 TJm
-(data) 16.5977 Tj
--319 TJm
-(from) 19.3673 Tj
--318 TJm
-(the) 12.1743 Tj
-72 364.402 Td
-(undamaged) 45.9276 Tj
--250 TJm
-(blocks) 26.0123 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002le.) 15.2229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 342.484 Td
-(The) 15.4918 Tj
--358 TJm
-(compressed) 47.0334 Tj
--357 TJm
-(representation) 56.4381 Tj
--358 TJm
-(of) 8.2988 Tj
--357 TJm
-(each) 18.2515 Tj
--358 TJm
-(block) 22.1369 Tj
--358 TJm
-(is) 6.6451 Tj
--357 TJm
-(delimited) 37.6387 Tj
--358 TJm
-(by) 9.9626 Tj
--357 TJm
-(a) 4.4234 Tj
--358 TJm
-(48-bit) 23.8007 Tj
--358 TJm
-(pattern,) 30.1568 Tj
--384 TJm
-(which) 24.3486 Tj
--358 TJm
-(mak) 17.1556 Tj
-10 TJm
-(es) 8.2988 Tj
--357 TJm
-(it) 5.5392 Tj
--358 TJm
-(possible) 32.6574 Tj
--357 TJm
-(to) 7.7509 Tj
--358 TJm
-(\002nd) 15.5018 Tj
--358 TJm
-(the) 12.1743 Tj
-72 330.529 Td
-(block) 22.1369 Tj
--286 TJm
-(boundaries) 43.7159 Tj
--286 TJm
-(with) 17.7135 Tj
--285 TJm
-(reasonable) 42.6001 Tj
--286 TJm
-(certainty) 34.8591 Tj
-65 TJm
-(.) 2.4907 Tj
--835 TJm
-(Each) 19.9152 Tj
--285 TJm
-(block) 22.1369 Tj
--286 TJm
-(also) 16.0497 Tj
--286 TJm
-(carries) 26.5503 Tj
--286 TJm
-(its) 9.4147 Tj
--285 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--286 TJm
-(32-bit) 23.8007 Tj
--286 TJm
-(CRC,) 22.4258 Tj
--286 TJm
-(so) 8.8568 Tj
--285 TJm
-(damaged) 35.965 Tj
--286 TJm
-(blocks) 26.0123 Tj
--286 TJm
-(can) 13.8281 Tj
--286 TJm
-(be) 9.4047 Tj
-72 318.574 Td
-(distinguished) 53.1405 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(undamaged) 45.9276 Tj
--250 TJm
-(ones.) 20.7521 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 296.656 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-146.448 296.656 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--273 TJm
-(a) 4.4234 Tj
--272 TJm
-(simple) 26.5703 Tj
--273 TJm
-(program) 33.7533 Tj
--273 TJm
-(whose) 25.4544 Tj
--272 TJm
-(purpose) 31.5416 Tj
--273 TJm
-(is) 6.6451 Tj
--273 TJm
-(to) 7.7509 Tj
--272 TJm
-(search) 25.4445 Tj
--273 TJm
-(for) 11.6164 Tj
--273 TJm
-(blocks) 26.0123 Tj
--272 TJm
-(in) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-392.655 296.656 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-419.282 296.656 Td
-/F122_0 9.9626 Tf
-(\002les,) 19.0983 Tj
--278 TJm
-(and) 14.386 Tj
--273 TJm
-(write) 20.4731 Tj
--273 TJm
-(each) 18.2515 Tj
--272 TJm
-(block) 22.1369 Tj
--273 TJm
-(out) 12.7322 Tj
-72 284.701 Td
-(into) 15.5018 Tj
--255 TJm
-(i) 2.7696 Tj
-1 TJm
-(ts) 6.6451 Tj
--255 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-121.429 284.701 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-147.875 284.701 Td
-/F122_0 9.9626 Tf
-(\002le.) 15.2229 Tj
--647 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--255 TJm
-(can) 13.8281 Tj
--254 TJm
-(then) 17.1556 Tj
--255 TJm
-(use) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-240.01 284.701 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-t) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-290.367 284.701 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--254 TJm
-(test) 13.8381 Tj
--255 TJm
-(the) 12.1743 Tj
--254 TJm
-(inte) 14.9439 Tj
-15 TJm
-(grity) 18.8194 Tj
--255 TJm
-(of) 8.2988 Tj
--254 TJm
-(the) 12.1743 Tj
--255 TJm
-(resulting) 34.8691 Tj
--254 TJm
-(\002les,) 19.0983 Tj
--256 TJm
-(and) 14.386 Tj
--255 TJm
-(decompress) 47.0334 Tj
--254 TJm
-(those) 21.031 Tj
-72 272.746 Td
-(which) 24.3486 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(undamaged.) 48.4182 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 250.828 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-150.099 250.828 Td
-/F122_0 9.9626 Tf
-(tak) 12.1743 Tj
-10 TJm
-(es) 8.2988 Tj
--639 TJm
-(a) 4.4234 Tj
--639 TJm
-(single) 23.8007 Tj
--639 TJm
-(ar) 7.7409 Tj
-18 TJm
-(gument,) 32.3785 Tj
--737 TJm
-(the) 12.1743 Tj
--639 TJm
-(name) 21.579 Tj
--639 TJm
-(of) 8.2988 Tj
--639 TJm
-(the) 12.1743 Tj
--639 TJm
-(damaged) 35.965 Tj
--639 TJm
-(\002le,) 15.2229 Tj
--737 TJm
-(and) 14.386 Tj
--639 TJm
-(writes) 24.3486 Tj
--639 TJm
-(a) 4.4234 Tj
--639 TJm
-(number) 30.4357 Tj
--639 TJm
-(of) 8.2988 Tj
--640 TJm
-(\002) 5.5392 Tj
-1 TJm
-(les) 11.0684 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 238.873 Td
-/F124_0 9.9626 Tf
-(rec0001file.bz2) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.664 238.873 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.072 238.873 Td
-/F124_0 9.9626 Tf
-(rec0002file.bz2) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-258.736 238.873 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--494 TJm
-(etc,) 14.107 Tj
--493 TJm
-(containing) 42.0621 Tj
--445 TJm
-(the) 12.1743 Tj
--445 TJm
-(e) 4.4234 Tj
-15 TJm
-(xtracted) 32.0895 Tj
--445 TJm
-(blocks.) 28.503 Tj
--1789 TJm
-(The) 15.4918 Tj
--445 TJm
-(output) 25.4644 Tj
--445 TJm
-(\002lenames) 38.1866 Tj
--445 TJm
-(are) 12.1643 Tj
-72 226.918 Td
-(designed) 35.417 Tj
--337 TJm
-(so) 8.8568 Tj
--337 TJm
-(that) 14.9439 Tj
--337 TJm
-(the) 12.1743 Tj
--337 TJm
-(use) 13.2801 Tj
--337 TJm
-(of) 8.2988 Tj
--337 TJm
-(wildc) 22.1369 Tj
-1 TJm
-(ards) 16.5977 Tj
--337 TJm
-(in) 7.7509 Tj
--337 TJm
-(subsequent) 44.2738 Tj
--337 TJm
-(processing) 42.61 Tj
--337 TJm
-(--) 6.6351 Tj
--337 TJm
-(for) 11.6164 Tj
--337 TJm
-(e) 4.4234 Tj
-15 TJm
-(xample,) 31.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-396.538 226.918 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-dc) 17.9327 Tj
--600 TJm
-(rec) 17.9327 Tj
-474.247 225.174 Td
-(*) 5.9776 Tj
-480.224 226.918 Td
-(file.bz2) 47.8205 Tj
--600 TJm
-(>) 5.9776 Tj
-72 214.962 Td
-(recovered_data) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-158.177 214.962 Td
-/F122_0 9.9626 Tf
-(--) 6.6351 Tj
--250 TJm
-(lists) 16.0597 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(correct) 27.6562 Tj
--250 TJm
-(order) 21.0211 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 193.045 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.93 193.045 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--221 TJm
-(be) 9.4047 Tj
--220 TJm
-(of) 8.2988 Tj
--221 TJm
-(most) 19.3773 Tj
--221 TJm
-(use) 13.2801 Tj
--220 TJm
-(dealing) 29.3299 Tj
--221 TJm
-(with) 17.7135 Tj
--221 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-307.229 193.045 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-333.338 193.045 Td
-/F122_0 9.9626 Tf
-(\002les,) 19.0983 Tj
--227 TJm
-(as) 8.2988 Tj
--220 TJm
-(these) 20.4731 Tj
--221 TJm
-(will) 15.5018 Tj
--221 TJm
-(contain) 29.3299 Tj
--220 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--221 TJm
-(blocks.) 28.503 Tj
--600 TJm
-(It) 6.0871 Tj
--221 TJm
-(is) 6.6451 Tj
--221 TJm
-(clearly) 27.1082 Tj
-72 181.089 Td
-(futile) 21.031 Tj
--289 TJm
-(to) 7.7509 Tj
--289 TJm
-(use) 13.2801 Tj
--289 TJm
-(it) 5.5392 Tj
--289 TJm
-(on) 9.9626 Tj
--289 TJm
-(damaged) 35.965 Tj
--289 TJm
-(single-block) 49.2551 Tj
--290 TJm
-(\002les) 16.6077 Tj
-1 TJm
-(,) 2.4907 Tj
--299 TJm
-(since) 20.4731 Tj
--289 TJm
-(a) 4.4234 Tj
--290 TJm
-(damaged) 35.965 Tj
--289 TJm
-(block) 22.1369 Tj
--289 TJm
-(cannot) 26.5603 Tj
--289 TJm
-(be) 9.4047 Tj
--289 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ered.) 19.6363 Tj
--854 TJm
-(If) 6.6351 Tj
--289 TJm
-(you) 14.9439 Tj
--290 TJm
-(wish) 18.8194 Tj
--289 TJm
-(to) 7.7509 Tj
--289 TJm
-(minimise) 37.0908 Tj
-72 169.134 Td
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--320 TJm
-(potential) 34.8691 Tj
--320 TJm
-(data) 16.5977 Tj
--319 TJm
-(loss) 15.5018 Tj
--320 TJm
-(through) 30.9936 Tj
--320 TJm
-(media) 24.3486 Tj
--320 TJm
-(or) 8.2988 Tj
--319 TJm
-(transmission) 50.3709 Tj
--320 TJm
-(errors,) 25.7234 Tj
--337 TJm
-(you) 14.9439 Tj
--320 TJm
-(might) 23.2527 Tj
--320 TJm
-(consider) 33.7533 Tj
--320 TJm
-(compressing) 50.3609 Tj
--319 TJm
-(with) 17.7135 Tj
--320 TJm
-(a) 4.4234 Tj
--320 TJm
-(smaller) 29.3299 Tj
--320 TJm
-(block) 22.1369 Tj
-72 157.179 Td
-(size.) 17.9825 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 122.426 Td
-/F116_0 20.6585 Tf
-(2.7.) 34.4584 Tj
--278 TJm
-(PERFORMANCE) 161.818 Tj
--278 TJm
-(NO) 30.9878 Tj
-40 TJm
-(TES) 40.1808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 100.508 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--305 TJm
-(sorting) 27.6761 Tj
--304 TJm
-(phase) 22.6848 Tj
--305 TJm
-(of) 8.2988 Tj
--304 TJm
-(compression) 50.3609 Tj
--305 TJm
-(g) 4.9813 Tj
-5 TJm
-(athers) 23.7907 Tj
--304 TJm
-(together) 32.6474 Tj
--305 TJm
-(similar) 27.6761 Tj
--304 TJm
-(strings) 26.5703 Tj
--305 TJm
-(in) 7.7509 Tj
--304 TJm
-(the) 12.1743 Tj
--305 TJm
-(\002le.) 15.2229 Tj
--947 TJm
-(Because) 33.1954 Tj
--305 TJm
-(of) 8.2988 Tj
--304 TJm
-(this,) 16.8866 Tj
--319 TJm
-(\002les) 16.6077 Tj
--304 TJm
-(containing) 42.0621 Tj
--305 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
-72 88.553 Td
-(long) 17.7135 Tj
--286 TJm
-(runs) 17.1556 Tj
--285 TJm
-(of) 8.2988 Tj
--286 TJm
-(repeated) 33.7433 Tj
--285 TJm
-(symbols,) 35.706 Tj
--295 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--286 TJm
-("aabaabaabaab) 59.3771 Tj
--285 TJm
-(...") 11.5367 Tj
--571 TJm
-(\(repeated) 37.0609 Tj
--286 TJm
-(se) 8.2988 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(eral) 14.9339 Tj
--286 TJm
-(hundred) 32.6474 Tj
--285 TJm
-(times\)) 24.9065 Tj
--286 TJm
-(may) 17.1556 Tj
--286 TJm
-(com) 17.1556 Tj
-1 TJm
-(press) 20.4731 Tj
--286 TJm
-(more) 20.4731 Tj
--286 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
-72 76.598 Td
-(than) 17.1556 Tj
--322 TJm
-(normal.) 30.7147 Tj
--524 TJm
-(V) 7.193 Tj
-111 TJm
-(ersions) 28.224 Tj
--322 TJm
-(0.9.5) 19.9252 Tj
--321 TJm
-(and) 14.386 Tj
--322 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--322 TJm
-(f) 3.3175 Tj
-10 TJm
-(are) 12.1643 Tj
--321 TJm
-(much) 22.1369 Tj
--322 TJm
-(better) 22.6848 Tj
--321 TJm
-(than) 17.1556 Tj
--322 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--321 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--322 TJm
-(in) 7.7509 Tj
--322 TJm
-(this) 14.396 Tj
--321 TJm
-(respect.) 30.7047 Tj
--1050 TJm
-(The) 15.4918 Tj
--321 TJm
-(ratio) 18.2614 Tj
--322 TJm
-(between) 33.1954 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.951 Td
-(6) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 7 10
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F122_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(w) 7.193 Tj
-10 TJm
-(orst-case) 35.4071 Tj
--289 TJm
-(and) 14.386 Tj
--290 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(erage-case) 42.0322 Tj
--289 TJm
-(compression) 50.3609 Tj
--290 TJm
-(time) 17.7135 Tj
--289 TJm
-(is) 6.6451 Tj
--290 TJm
-(in) 7.7509 Tj
--289 TJm
-(the) 12.1743 Tj
--290 TJm
-(re) 7.7409 Tj
-15 TJm
-(gion) 17.7135 Tj
--289 TJm
-(of) 8.2988 Tj
--289 TJm
-(10:1.) 20.2042 Tj
--857 TJm
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--290 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--289 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions,) 30.7147 Tj
--299 TJm
-(this) 14.396 Tj
--290 TJm
-(\002gure) 23.2427 Tj
--289 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--290 TJm
-(more) 20.4731 Tj
-72 698.082 Td
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--250 TJm
-(100:1.) 25.1855 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-186.002 698.082 Td
-/F124_0 9.9626 Tf
-(-vvvv) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-218.38 698.082 Td
-/F122_0 9.9626 Tf
-(option) 25.4644 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(monitor) 31.5516 Tj
--250 TJm
-(progress) 33.7533 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(great) 19.9152 Tj
--250 TJm
-(detail,) 24.6275 Tj
--250 TJm
-(if) 6.0871 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant.) 14.6649 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 676.164 Td
-(Decompression) 61.9773 Tj
--250 TJm
-(speed) 22.6848 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(unaf) 17.7035 Tj
-25 TJm
-(fected) 24.3386 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(these) 20.4731 Tj
--250 TJm
-(phenomena.) 48.4182 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 654.247 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.863 654.247 Td
-/F122_0 9.9626 Tf
-(usually) 28.782 Tj
--299 TJm
-(allocates) 34.8591 Tj
--298 TJm
-(se) 8.2988 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(eral) 14.9339 Tj
--299 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abytes) 25.4544 Tj
--298 TJm
-(of) 8.2988 Tj
--299 TJm
-(memory) 33.2053 Tj
--299 TJm
-(to) 7.7509 Tj
--298 TJm
-(operate) 29.3199 Tj
--299 TJm
-(in,) 10.2416 Tj
--311 TJm
-(and) 14.386 Tj
--298 TJm
-(then) 17.1556 Tj
--299 TJm
-(char) 17.1456 Tj
-18 TJm
-(ges) 13.2801 Tj
--298 TJm
-(all) 9.9626 Tj
--299 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--299 TJm
-(it) 5.5392 Tj
--298 TJm
-(in) 7.7509 Tj
--299 TJm
-(a) 4.4234 Tj
--298 TJm
-(f) 3.3175 Tj
-10 TJm
-(airly) 18.2614 Tj
--299 TJm
-(random) 30.4357 Tj
-72 642.291 Td
-(f) 3.3175 Tj
-10 TJm
-(ashion.) 28.503 Tj
--743 TJm
-(This) 17.7135 Tj
--270 TJm
-(means) 25.4544 Tj
--271 TJm
-(that) 14.9439 Tj
--270 TJm
-(performance,) 52.8317 Tj
--276 TJm
-(both) 17.7135 Tj
--270 TJm
-(for) 11.6164 Tj
--271 TJm
-(compressing) 50.3609 Tj
--270 TJm
-(and) 14.386 Tj
--271 TJm
-(decompressing,) 62.2563 Tj
--275 TJm
-(is) 6.6451 Tj
--271 TJm
-(lar) 10.5105 Tj
-18 TJm
-(gely) 17.1556 Tj
--270 TJm
-(determined) 44.8217 Tj
--271 TJm
-(by) 9.9626 Tj
--270 TJm
-(the) 12.1743 Tj
--271 TJm
-(speed) 22.6848 Tj
-72 630.336 Td
-(at) 7.193 Tj
--294 TJm
-(which) 24.3486 Tj
--294 TJm
-(your) 18.2614 Tj
--294 TJm
-(machine) 33.7533 Tj
--295 TJm
-(ca) 8.8468 Tj
-1 TJm
-(n) 4.9813 Tj
--295 TJm
-(service) 28.2141 Tj
--294 TJm
-(cache) 22.6749 Tj
--294 TJm
-(misses.) 29.0609 Tj
--442 TJm
-(Because) 33.1954 Tj
--294 TJm
-(of) 8.2988 Tj
--294 TJm
-(this,) 16.8866 Tj
--306 TJm
-(small) 21.589 Tj
--294 TJm
-(changes) 32.0895 Tj
--294 TJm
-(to) 7.7509 Tj
--294 TJm
-(the) 12.1743 Tj
--294 TJm
-(code) 18.8094 Tj
--294 TJm
-(to) 7.7509 Tj
--294 TJm
-(reduce) 26.5503 Tj
--294 TJm
-(the) 12.1743 Tj
--295 TJm
-(miss) 18.2714 Tj
--294 TJm
-(rate) 14.9339 Tj
-72 618.381 Td
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--253 TJm
-(been) 18.8094 Tj
--253 TJm
-(observ) 26.5603 Tj
-15 TJm
-(ed) 9.4047 Tj
--253 TJm
-(to) 7.7509 Tj
--253 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--253 TJm
-(disproportionately) 73.0557 Tj
--253 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--253 TJm
-(performance) 50.341 Tj
--253 TJm
-(impro) 23.8007 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ements.) 30.7147 Tj
--639 TJm
-(I) 3.3175 Tj
--253 TJm
-(imagine) 32.0995 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-438.909 618.381 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-471.318 618.381 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--253 TJm
-(perform) 32.0895 Tj
--253 TJm
-(best) 16.0497 Tj
-72 606.426 Td
-(on) 9.9626 Tj
--250 TJm
-(machines) 37.6287 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--250 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--250 TJm
-(caches.) 29.041 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 571.673 Td
-/F116_0 20.6585 Tf
-(2.8.) 34.4584 Tj
--278 TJm
-(CA) 29.8309 Tj
-80 TJm
-(VEA) 42.4739 Tj
-90 TJm
-(TS) 26.4016 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 549.755 Td
-/F122_0 9.9626 Tf
-(I/O) 13.2801 Tj
--268 TJm
-(error) 19.3573 Tj
--267 TJm
-(messages) 37.6287 Tj
--268 TJm
-(are) 12.1643 Tj
--268 TJm
-(not) 12.7322 Tj
--268 TJm
-(as) 8.2988 Tj
--267 TJm
-(helpful) 28.224 Tj
--268 TJm
-(as) 8.2988 Tj
--268 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--267 TJm
-(could) 22.1369 Tj
--268 TJm
-(be.) 11.8953 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-293.313 549.755 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-325.868 549.755 Td
-/F122_0 9.9626 Tf
-(tries) 17.1556 Tj
--268 TJm
-(hard) 17.7035 Tj
--267 TJm
-(to) 7.7509 Tj
--268 TJm
-(detect) 23.7907 Tj
--268 TJm
-(I/O) 13.2801 Tj
--268 TJm
-(errors) 23.2328 Tj
--267 TJm
-(and) 14.386 Tj
--268 TJm
-(e) 4.4234 Tj
-15 TJm
-(xit) 10.5205 Tj
--268 TJm
-(cleanly) 28.772 Tj
-65 TJm
-(,) 2.4907 Tj
--272 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--268 TJm
-(the) 12.1743 Tj
-72 537.8 Td
-(details) 26.0123 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(what) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem) 33.2053 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(sometimes) 42.62 Tj
--250 TJm
-(seem) 20.4731 Tj
--250 TJm
-(rather) 23.2328 Tj
--250 TJm
-(misleading.) 46.2165 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 515.882 Td
-(This) 17.7135 Tj
--280 TJm
-(manual) 29.3299 Tj
--279 TJm
-(page) 18.8094 Tj
--280 TJm
-(pertains) 31.5416 Tj
--280 TJm
-(to) 7.7509 Tj
--279 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--280 TJm
-(1.0.6) 19.9252 Tj
--280 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-256.84 515.882 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-286.728 515.882 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--798 TJm
-(Compressed) 49.2551 Tj
--280 TJm
-(data) 16.5977 Tj
--279 TJm
-(created) 28.762 Tj
--280 TJm
-(by) 9.9626 Tj
--280 TJm
-(this) 14.396 Tj
--279 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--280 TJm
-(is) 6.6451 Tj
--280 TJm
-(entirely) 30.4357 Tj
--279 TJm
-(forw) 18.8094 Tj
-10 TJm
-(ards) 16.5977 Tj
-72 503.927 Td
-(and) 14.386 Tj
--294 TJm
-(backw) 26.0024 Tj
-10 TJm
-(ards) 16.5977 Tj
--293 TJm
-(compatible) 44.2738 Tj
--294 TJm
-(with) 17.7135 Tj
--294 TJm
-(the) 12.1743 Tj
--293 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--294 TJm
-(public) 24.9065 Tj
--294 TJm
-(releases,) 34.0223 Tj
--304 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--294 TJm
-(0.1pl2,) 27.6761 Tj
--305 TJm
-(0.9.0) 19.9252 Tj
--293 TJm
-(and) 14.386 Tj
--294 TJm
-(0.9.5,) 22.4159 Tj
--305 TJm
-(1.0.0,) 22.4159 Tj
--304 TJm
-(1.0.1,) 22.4159 Tj
--305 TJm
-(1.0.2) 19.9252 Tj
--294 TJm
-(and) 14.386 Tj
-72 491.972 Td
-(1.0.3,) 22.4159 Tj
--263 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--260 TJm
-(with) 17.7135 Tj
--260 TJm
-(the) 12.1743 Tj
--260 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--260 TJm
-(e) 4.4234 Tj
-15 TJm
-(xception:) 37.0808 Tj
--330 TJm
-(0.9.0) 19.9252 Tj
--260 TJm
-(and) 14.386 Tj
--260 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--260 TJm
-(can) 13.8281 Tj
--260 TJm
-(correctly) 35.4071 Tj
--260 TJm
-(decompress) 47.0334 Tj
--260 TJm
-(multiple) 33.2153 Tj
--260 TJm
-(concatenated) 52.0048 Tj
--260 TJm
-(compressed) 47.0334 Tj
-72 480.017 Td
-(\002les.) 19.0983 Tj
--310 TJm
-(0.1pl2) 25.1855 Tj
--250 TJm
-(cannot) 26.5603 Tj
--250 TJm
-(do) 9.9626 Tj
--250 TJm
-(this;) 17.1656 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(stop) 16.6077 Tj
--250 TJm
-(after) 18.2515 Tj
--250 TJm
-(decompressing) 59.7656 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002rst) 15.5018 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 458.099 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-146.174 458.099 Td
-/F122_0 9.9626 Tf
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--245 TJm
-(prior) 19.3673 Tj
--245 TJm
-(to) 7.7509 Tj
--245 TJm
-(1.0.2) 19.9252 Tj
--246 TJm
-(used) 18.2614 Tj
--245 TJm
-(32-bit) 23.8007 Tj
--245 TJm
-(inte) 14.9439 Tj
-15 TJm
-(gers) 16.5977 Tj
--245 TJm
-(to) 7.7509 Tj
--245 TJm
-(represent) 36.5129 Tj
--245 TJm
-(bit) 10.5205 Tj
--246 TJm
-(positions) 35.9849 Tj
--245 TJm
-(in) 7.7509 Tj
--245 TJm
-(compressed) 47.0334 Tj
--245 TJm
-(\002les,) 19.0983 Tj
--246 TJm
-(so) 8.8568 Tj
--245 TJm
-(it) 5.5392 Tj
--245 TJm
-(could) 22.1369 Tj
-72 446.144 Td
-(not) 12.7322 Tj
--384 TJm
-(handle) 26.5603 Tj
--383 TJm
-(compressed) 47.0334 Tj
--384 TJm
-(\002les) 16.6077 Tj
--383 TJm
-(more) 20.4731 Tj
--384 TJm
-(than) 17.1556 Tj
--383 TJm
-(512) 14.9439 Tj
--384 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abytes) 25.4544 Tj
--383 TJm
-(long.) 20.2042 Tj
--1421 TJm
-(V) 7.193 Tj
-111 TJm
-(ersions) 28.224 Tj
--384 TJm
-(1.0.2) 19.9252 Tj
--383 TJm
-(and) 14.386 Tj
--384 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--384 TJm
-(use) 13.2801 Tj
--383 TJm
-(64-bit) 23.8007 Tj
--384 TJm
-(ints) 14.396 Tj
--383 TJm
-(on) 9.9626 Tj
--384 TJm
-(some) 21.031 Tj
-72 434.189 Td
-(platforms) 38.1866 Tj
--245 TJm
-(which) 24.3486 Tj
--246 TJm
-(support) 29.8878 Tj
--245 TJm
-(them) 19.9252 Tj
--246 TJm
-(\(GNU) 24.8965 Tj
--245 TJm
-(supported) 39.2925 Tj
--245 TJm
-(tar) 10.5105 Tj
-18 TJm
-(gets,) 18.5404 Tj
--247 TJm
-(and) 14.386 Tj
--245 TJm
-(W) 9.4047 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws\).) 16.8766 Tj
--309 TJm
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--245 TJm
-(establish) 34.8691 Tj
--245 TJm
-(whether) 32.0895 Tj
--246 TJm
-(or) 8.2988 Tj
--245 TJm
-(not) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-468.269 434.189 Td
-/F124_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 422.233 Td
-/F122_0 9.9626 Tf
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--255 TJm
-(b) 4.9813 Tj
-20 TJm
-(uilt) 13.2901 Tj
--255 TJm
-(with) 17.7135 Tj
--255 TJm
-(such) 18.2614 Tj
--255 TJm
-(a) 4.4234 Tj
--255 TJm
-(limitation,) 41.2452 Tj
--256 TJm
-(run) 13.2801 Tj
--255 TJm
-(it) 5.5392 Tj
--255 TJm
-(without) 30.4457 Tj
--255 TJm
-(ar) 7.7409 Tj
-18 TJm
-(guments.) 36.2539 Tj
--325 TJm
-(In) 8.2988 Tj
--255 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--256 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ent) 12.1743 Tj
--255 TJm
-(you) 14.9439 Tj
--255 TJm
-(can) 13.8281 Tj
--255 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
--255 TJm
-(yourself) 32.6474 Tj
--255 TJm
-(an) 9.4047 Tj
--255 TJm
-(unlimited) 38.1966 Tj
--255 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--255 TJm
-(if) 6.0871 Tj
-72 410.278 Td
-(you) 14.9439 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(recompile) 39.8404 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-176.318 410.278 Td
-/F124_0 9.9626 Tf
-(MaybeUInt64) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-244.562 410.278 Td
-/F122_0 9.9626 Tf
-(set) 11.0684 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(unsigned) 35.9749 Tj
--250 TJm
-(64-bit) 23.8007 Tj
--250 TJm
-(inte) 14.9439 Tj
-15 TJm
-(ger) 12.7222 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 375.525 Td
-/F116_0 20.6585 Tf
-(2.9.) 34.4584 Tj
--278 TJm
-(A) 14.9154 Tj
-50 TJm
-(UTHOR) 73.441 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 353.607 Td
-/F122_0 9.9626 Tf
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard,) 15.2129 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-132.801 353.607 Td
-/F124_0 9.9626 Tf
-(jseward@bzip.org) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 331.69 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--299 TJm
-(ideas) 20.4731 Tj
--300 TJm
-(embodied) 39.2925 Tj
--299 TJm
-(in) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.942 331.69 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-199.813 331.69 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--299 TJm
-(du) 9.9626 Tj
--1 TJm
-(e) 4.4234 Tj
--299 TJm
-(to) 7.7509 Tj
--299 TJm
-(\(at) 10.5105 Tj
--300 TJm
-(least\)) 21.579 Tj
--299 TJm
-(the) 12.1743 Tj
--300 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--299 TJm
-(people:) 29.3299 Tj
--409 TJm
-(Michael) 32.6474 Tj
--300 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws) 11.0684 Tj
--299 TJm
-(and) 14.386 Tj
--300 TJm
-(Da) 11.6164 Tj
-20 TJm
-(vid) 12.7322 Tj
--299 TJm
-(Wheeler) 33.7433 Tj
--299 TJm
-(\(for) 14.9339 Tj
-72 319.735 Td
-(the) 12.1743 Tj
--312 TJm
-(block) 22.1369 Tj
--313 TJm
-(sorting) 27.6761 Tj
--312 TJm
-(transformation\),) 64.468 Tj
--328 TJm
-(Da) 11.6164 Tj
-20 TJm
-(vid) 12.7322 Tj
--312 TJm
-(Wheeler) 33.7433 Tj
--313 TJm
-(\(ag) 12.7222 Tj
-5 TJm
-(ain,) 14.6649 Tj
--327 TJm
-(for) 11.6164 Tj
--313 TJm
-(the) 12.1743 Tj
--312 TJm
-(Huf) 15.4918 Tj
-25 TJm
-(fman) 20.4731 Tj
--312 TJm
-(coder\),) 27.9351 Tj
--328 TJm
-(Peter) 20.4731 Tj
--313 TJm
-(Fenwick) 34.3112 Tj
--312 TJm
-(\(for) 14.9339 Tj
--312 TJm
-(the) 12.1743 Tj
--313 TJm
-(structured) 39.8404 Tj
-72 307.779 Td
-(coding) 27.1182 Tj
--325 TJm
-(model) 24.9065 Tj
--326 TJm
-(in) 7.7509 Tj
--325 TJm
-(the) 12.1743 Tj
--326 TJm
-(original) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-191.156 307.779 Td
-/F124_0 9.9626 Tf
-(bzip) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-215.067 307.779 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--344 TJm
-(and) 14.386 Tj
--326 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--325 TJm
-(re\002nements\),) 52.2937 Tj
--345 TJm
-(and) 14.386 Tj
--325 TJm
-(Alistair) 29.8878 Tj
--326 TJm
-(Mof) 17.1556 Tj
-25 TJm
-(f) 3.3175 Tj
-10 TJm
-(at,) 9.6836 Tj
--344 TJm
-(Radford) 32.6474 Tj
--325 TJm
-(Neal) 18.8094 Tj
--326 TJm
-(and) 14.386 Tj
--325 TJm
-(Ian) 12.7222 Tj
--326 TJm
-(W) 9.4047 Tj
-40 TJm
-(itten) 17.7135 Tj
--325 TJm
-(\(for) 14.9339 Tj
-72 295.824 Td
-(the) 12.1743 Tj
--277 TJm
-(arithmetic) 40.3983 Tj
--277 TJm
-(coder) 22.1269 Tj
--277 TJm
-(in) 7.7509 Tj
--277 TJm
-(the) 12.1743 Tj
--277 TJm
-(original) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-214.171 295.824 Td
-/F124_0 9.9626 Tf
-(bzip) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-238.082 295.824 Td
-/F122_0 9.9626 Tf
-(\).) 5.8082 Tj
--782 TJm
-(I) 3.3175 Tj
--277 TJm
-(am) 12.1743 Tj
--276 TJm
-(much) 22.1369 Tj
--277 TJm
-(indebted) 34.3112 Tj
--277 TJm
-(for) 11.6164 Tj
--277 TJm
-(their) 18.2614 Tj
--277 TJm
-(help,) 19.6462 Tj
--284 TJm
-(support) 29.8878 Tj
--277 TJm
-(and) 14.386 Tj
--277 TJm
-(advice.) 28.493 Tj
--781 TJm
-(See) 14.386 Tj
--277 TJm
-(the) 12.1743 Tj
--277 TJm
-(manual) 29.3299 Tj
-72 283.869 Td
-(in) 7.7509 Tj
--330 TJm
-(the) 12.1743 Tj
--330 TJm
-(source) 26.0024 Tj
--330 TJm
-(distrib) 25.4644 Tj
-20 TJm
-(ution) 20.4831 Tj
--330 TJm
-(for) 11.6164 Tj
--329 TJm
-(pointers) 32.0995 Tj
--330 TJm
-(to) 7.7509 Tj
--330 TJm
-(sources) 29.8778 Tj
--330 TJm
-(of) 8.2988 Tj
--330 TJm
-(documentation.) 61.7083 Tj
--1099 TJm
-(Christian) 36.5329 Tj
--330 TJm
-(v) 4.9813 Tj
-20 TJm
-(on) 9.9626 Tj
--330 TJm
-(Roques) 29.8878 Tj
--330 TJm
-(encouraged) 45.9176 Tj
--330 TJm
-(me) 12.1743 Tj
--330 TJm
-(to) 7.7509 Tj
--330 TJm
-(look) 17.7135 Tj
-72 271.914 Td
-(for) 11.6164 Tj
--271 TJm
-(f) 3.3175 Tj
-10 TJm
-(aster) 18.8094 Tj
--271 TJm
-(sorting) 27.6761 Tj
--271 TJm
-(algorithms,) 45.1107 Tj
--276 TJm
-(so) 8.8568 Tj
--272 TJm
-(as) 8.2988 Tj
--271 TJm
-(to) 7.7509 Tj
--271 TJm
-(speed) 22.6848 Tj
--271 TJm
-(up) 9.9626 Tj
--271 TJm
-(compression.) 52.8516 Tj
--746 TJm
-(Bela) 18.2614 Tj
--271 TJm
-(Lubkin) 28.782 Tj
--271 TJm
-(encouraged) 45.9176 Tj
--271 TJm
-(me) 12.1743 Tj
--272 TJm
-(to) 7.7509 Tj
--271 TJm
-(impro) 23.8007 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--271 TJm
-(the) 12.1743 Tj
--271 TJm
-(w) 7.193 Tj
-10 TJm
-(orst-case) 35.4071 Tj
-72 259.959 Td
-(compression) 50.3609 Tj
--340 TJm
-(performance.) 52.8317 Tj
--580 TJm
-(Donna) 26.5603 Tj
--339 TJm
-(Robinson) 38.1966 Tj
--340 TJm
-(XMLised) 38.1866 Tj
--340 TJm
-(the) 12.1743 Tj
--340 TJm
-(documentation.) 61.7083 Tj
--580 TJm
-(Man) 18.2614 Tj
-15 TJm
-(y) 4.9813 Tj
--340 TJm
-(people) 26.5603 Tj
--340 TJm
-(sent) 16.0497 Tj
--339 TJm
-(patches,) 32.3685 Tj
--363 TJm
-(helped) 26.5603 Tj
--340 TJm
-(with) 17.7135 Tj
-72 248.003 Td
-(portability) 41.5142 Tj
--250 TJm
-(problems,) 39.5714 Tj
--250 TJm
-(lent) 14.9439 Tj
--250 TJm
-(machines,) 40.1194 Tj
--250 TJm
-(g) 4.9813 Tj
-5 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(advice) 26.0024 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(were) 19.3573 Tj
--250 TJm
-(generally) 37.0708 Tj
--250 TJm
-(helpful.) 30.7147 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-539.395 50.951 Td
-(7) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 8 11
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 75.786 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F116_0 24.7902 Tf
-(3.) 20.675 Tj
--556 TJm
-(Pr) 26.1785 Tj
-20 TJm
-(ogramming) 134.9826 Tj
--278 TJm
-(with) 49.5804 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-330.484 701.916 Td
-/F440_0 24.7902 Tf
-(libbzip2) 118.993 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 656.35 Td
-/F116_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 635.788 Td
-/F122_0 9.9626 Tf
-(3.1.) 14.9439 Tj
--310 TJm
-(T) 6.0871 Tj
-80 TJm
-(op-le) 20.4731 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(structure) 34.8591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-179.997 635.788 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 635.788 Td
-/F122_0 9.9626 Tf
-(8) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 623.832 Td
-(3.1.1.) 22.4159 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-192.866 623.832 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 623.832 Td
-/F122_0 9.9626 Tf
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 611.877 Td
-(3.1.2.) 22.4159 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.822 611.877 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 611.877 Td
-/F122_0 9.9626 Tf
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 599.922 Td
-(3.1.3.) 22.4159 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(summary) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.582 599.922 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.108 599.922 Td
-/F122_0 9.9626 Tf
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 587.967 Td
-(3.2.) 14.9439 Tj
--310 TJm
-(Error) 21.0211 Tj
--250 TJm
-(handling) 34.8691 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-162.611 587.967 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 587.967 Td
-/F122_0 9.9626 Tf
-(10) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 576.012 Td
-(3.3.) 14.9439 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-181.045 576.012 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 576.012 Td
-/F122_0 9.9626 Tf
-(11) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 564.057 Td
-(3.3.1.) 22.4159 Tj
--310 TJm
-(BZ2_bzCompressInit) 85.7879 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-197.762 564.057 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 564.057 Td
-/F122_0 9.9626 Tf
-(11) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 552.101 Td
-(3.3.2.) 22.4159 Tj
--310 TJm
-(BZ2_bzCompress) 71.9499 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-184.201 552.101 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 552.101 Td
-/F122_0 9.9626 Tf
-(13) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 540.146 Td
-(3.3.3.) 22.4159 Tj
--310 TJm
-(BZ2_bzCompressEnd) 87.9996 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-198.868 540.146 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 540.146 Td
-/F122_0 9.9626 Tf
-(16) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 528.191 Td
-(3.3.4.) 22.4159 Tj
--310 TJm
-(BZ2_bzDecompressInit) 95.1827 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-206.887 528.191 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 528.191 Td
-/F122_0 9.9626 Tf
-(16) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 516.236 Td
-(3.3.5.) 22.4159 Tj
--310 TJm
-(BZ2_bzDecompress) 81.3446 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.326 516.236 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 516.236 Td
-/F122_0 9.9626 Tf
-(17) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 504.281 Td
-(3.3.6.) 22.4159 Tj
--310 TJm
-(BZ2_bzDecompressEnd) 97.3944 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.207 504.281 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 504.281 Td
-/F122_0 9.9626 Tf
-(18) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 492.325 Td
-(3.4.) 14.9439 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-184.216 492.325 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 492.325 Td
-/F122_0 9.9626 Tf
-(18) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 480.37 Td
-(3.4.1.) 22.4159 Tj
--310 TJm
-(BZ2_bzReadOpen) 74.1516 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-185.302 480.37 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 480.37 Td
-/F122_0 9.9626 Tf
-(19) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 468.415 Td
-(3.4.2.) 22.4159 Tj
--310 TJm
-(BZ2_bzRead) 52.5726 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-163.443 468.415 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 468.415 Td
-/F122_0 9.9626 Tf
-(20) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 456.46 Td
-(3.4.3.) 22.4159 Tj
--310 TJm
-(BZ2_bzReadGetUnused) 97.3944 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.207 456.46 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 456.46 Td
-/F122_0 9.9626 Tf
-(21) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 444.505 Td
-(3.4.4.) 22.4159 Tj
--310 TJm
-(BZ2_bzReadClose) 75.2674 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.074 444.505 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 444.505 Td
-/F122_0 9.9626 Tf
-(22) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 432.55 Td
-(3.4.5.) 22.4159 Tj
--310 TJm
-(BZ2_bzWriteOpen) 76.3633 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.622 432.55 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 432.55 Td
-/F122_0 9.9626 Tf
-(22) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 420.594 Td
-(3.4.6.) 22.4159 Tj
--310 TJm
-(BZ2_bzWrite) 54.7843 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.763 420.594 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 420.594 Td
-/F122_0 9.9626 Tf
-(23) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 408.639 Td
-(3.4.7.) 22.4159 Tj
--310 TJm
-(BZ2_bzWriteClose) 77.4791 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-189.179 408.639 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 408.639 Td
-/F122_0 9.9626 Tf
-(23) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 396.684 Td
-(3.4.8.) 22.4159 Tj
--310 TJm
-(Handling) 37.0808 Tj
--250 TJm
-(embedded) 40.9463 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(streams) 30.4357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.601 396.684 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 396.684 Td
-/F122_0 9.9626 Tf
-(24) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 384.729 Td
-(3.4.9.) 22.4159 Tj
--310 TJm
-(Standard) 35.417 Tj
--250 TJm
-(\002le-reading/writing) 77.4791 Tj
--250 TJm
-(code) 18.8094 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-247.564 384.729 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 384.729 Td
-/F122_0 9.9626 Tf
-(25) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 372.774 Td
-(3.5.) 14.9439 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-170.645 372.774 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 372.774 Td
-/F122_0 9.9626 Tf
-(26) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 360.819 Td
-(3.5.1.) 22.4159 Tj
--310 TJm
-(BZ2_bzBuf) 47.0434 Tj
-25 TJm
-(fT) 9.4047 Tj
-80 TJm
-(oBuf) 19.9252 Tj
-25 TJm
-(fCompress) 43.1679 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-229.488 360.819 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 360.819 Td
-/F122_0 9.9626 Tf
-(26) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 348.863 Td
-(3.5.2.) 22.4159 Tj
--310 TJm
-(BZ2_bzBuf) 47.0434 Tj
-25 TJm
-(fT) 9.4047 Tj
-80 TJm
-(oBuf) 19.9252 Tj
-25 TJm
-(fDecompress) 52.5627 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-238.613 348.863 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 348.863 Td
-/F122_0 9.9626 Tf
-(27) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 336.908 Td
-(3.6.) 14.9439 Tj
--310 TJm
-(zlib) 14.9439 Tj
--250 TJm
-(compatibility) 53.1405 Tj
--250 TJm
-(functions) 37.0808 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-215.06 336.908 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 336.908 Td
-/F122_0 9.9626 Tf
-(28) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 324.953 Td
-(3.7.) 14.9439 Tj
--310 TJm
-(Using) 23.8007 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(stdio-free) 38.1767 Tj
--250 TJm
-(en) 9.4047 Tj
-40 TJm
-(vironment) 40.9562 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-282.092 324.953 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 324.953 Td
-/F122_0 9.9626 Tf
-(28) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 312.998 Td
-(3.7.1.) 22.4159 Tj
--310 TJm
-(Getting) 29.8878 Tj
--250 TJm
-(rid) 11.0684 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(stdio) 19.3773 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.492 312.998 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 312.998 Td
-/F122_0 9.9626 Tf
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 301.043 Td
-(3.7.2.) 22.4159 Tj
--310 TJm
-(Critical) 29.8878 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(handling) 34.8691 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-201.629 301.043 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 301.043 Td
-/F122_0 9.9626 Tf
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 289.088 Td
-(3.8.) 14.9439 Tj
--310 TJm
-(Making) 30.9936 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(W) 9.4047 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(DLL) 19.3673 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.243 289.088 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 289.088 Td
-/F122_0 9.9626 Tf
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 257.207 Td
-(This) 17.7135 Tj
--250 TJm
-(chapter) 29.3199 Tj
--250 TJm
-(describes) 37.0708 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(programming) 54.2364 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-282.448 257.207 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-330.269 257.207 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 235.289 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--273 TJm
-(general) 29.3199 Tj
--272 TJm
-(background) 47.0334 Tj
--273 TJm
-(information,) 49.534 Tj
--278 TJm
-(particularly) 45.9276 Tj
--273 TJm
-(about) 22.1369 Tj
--273 TJm
-(memory) 33.2053 Tj
--272 TJm
-(use) 13.2801 Tj
--273 TJm
-(and) 14.386 Tj
--273 TJm
-(performance) 50.341 Tj
--272 TJm
-(aspects,) 31.2626 Tj
--279 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--272 TJm
-(be) 9.4047 Tj
--273 TJm
-(well) 17.1556 Tj
--273 TJm
-(advised) 30.4357 Tj
-72 223.334 Td
-(to) 7.7509 Tj
--250 TJm
-(read) 17.1456 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-([2]) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(as) 8.2988 Tj
--250 TJm
-(well.) 19.6462 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 188.581 Td
-/F116_0 20.6585 Tf
-(3.1.) 34.4584 Tj
--278 TJm
-(T) 12.6223 Tj
-80 TJm
-(op-le) 49.3532 Tj
-15 TJm
-(vel) 28.7153 Tj
--278 TJm
-(structure) 89.5339 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 166.663 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-123.608 166.663 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--380 TJm
-(a) 4.4234 Tj
--380 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xible) 19.9252 Tj
--381 TJm
-(library) 26.5603 Tj
--380 TJm
-(for) 11.6164 Tj
--380 TJm
-(compressing) 50.3609 Tj
--380 TJm
-(and) 14.386 Tj
--380 TJm
-(decompressing) 59.7656 Tj
--380 TJm
-(data) 16.5977 Tj
--381 TJm
-(in) 7.7509 Tj
--380 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-405.291 166.663 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-438.966 166.663 Td
-/F122_0 9.9626 Tf
-(data) 16.5977 Tj
--380 TJm
-(format.) 29.0509 Tj
--1401 TJm
-(Although) 37.6387 Tj
-72 154.708 Td
-(packaged) 37.6188 Tj
--285 TJm
-(as) 8.2988 Tj
--284 TJm
-(a) 4.4234 Tj
--285 TJm
-(single) 23.8007 Tj
--285 TJm
-(entity) 22.6948 Tj
-65 TJm
-(,) 2.4907 Tj
--293 TJm
-(it) 5.5392 Tj
--285 TJm
-(helps) 21.031 Tj
--285 TJm
-(to) 7.7509 Tj
--284 TJm
-(re) 7.7409 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(ard) 12.7222 Tj
--285 TJm
-(the) 12.1743 Tj
--285 TJm
-(library) 26.5603 Tj
--284 TJm
-(as) 8.2988 Tj
--285 TJm
-(three) 19.9152 Tj
--285 TJm
-(separate) 32.6375 Tj
--284 TJm
-(parts:) 22.1369 Tj
--380 TJm
-(the) 12.1743 Tj
--285 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
--284 TJm
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--285 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace,) 15.7608 Tj
--293 TJm
-(and) 14.386 Tj
--285 TJm
-(the) 12.1743 Tj
--285 TJm
-(high) 17.7135 Tj
-72 142.753 Td
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace,) 15.7608 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(utility) 23.8106 Tj
--250 TJm
-(functions.) 39.5714 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 120.835 Td
-(The) 15.4918 Tj
--349 TJm
-(structure) 34.8591 Tj
--349 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-141.082 120.835 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.903 120.835 Td
-/F122_0 9.9626 Tf
-(') 3.3175 Tj
-55 TJm
-(s) 3.8755 Tj
--349 TJm
-(interf) 21.579 Tj
-10 TJm
-(aces) 17.1456 Tj
--349 TJm
-(is) 6.6451 Tj
--349 TJm
-(similar) 27.6761 Tj
--349 TJm
-(to) 7.7509 Tj
--349 TJm
-(that) 14.9439 Tj
--349 TJm
-(of) 8.2988 Tj
--349 TJm
-(Jean-loup) 38.7346 Tj
--349 TJm
-(Gailly') 28.224 Tj
-55 TJm
-(s) 3.8755 Tj
--349 TJm
-(and) 14.386 Tj
--349 TJm
-(Mark) 21.579 Tj
--349 TJm
-(Adler') 26.0024 Tj
-55 TJm
-(s) 3.8755 Tj
--349 TJm
-(e) 4.4234 Tj
-15 TJm
-(xcellent) 31.5416 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-516.09 120.835 Td
-/F124_0 9.9626 Tf
-(zlib) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 108.88 Td
-/F122_0 9.9626 Tf
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 86.962 Td
-(All) 12.7322 Tj
--242 TJm
-(e) 4.4234 Tj
-15 TJm
-(xternally) 35.417 Tj
--242 TJm
-(visible) 26.5703 Tj
--241 TJm
-(symbols) 33.2153 Tj
--242 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--242 TJm
-(names) 25.4544 Tj
--242 TJm
-(be) 9.4047 Tj
-15 TJm
-(ginning) 30.4457 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-284.687 86.962 Td
-/F124_0 9.9626 Tf
-(BZ2_) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-308.597 86.962 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--615 TJm
-(This) 17.7135 Tj
--241 TJm
-(is) 6.6451 Tj
--242 TJm
-(ne) 9.4047 Tj
-25 TJm
-(w) 7.193 Tj
--242 TJm
-(in) 7.7509 Tj
--242 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--242 TJm
-(1.0.) 14.9439 Tj
--614 TJm
-(The) 15.4918 Tj
--242 TJm
-(intention) 35.427 Tj
--242 TJm
-(is) 6.6451 Tj
--241 TJm
-(to) 7.7509 Tj
--242 TJm
-(minimise) 37.0908 Tj
-72 75.007 Td
-(pollution) 35.9849 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(namespaces) 47.5814 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(clients.) 28.503 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-541.288 50.951 Td
-(8) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 9 12
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-420.96 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-498.449 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 75.786 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(part) 15.4918 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(need) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-240.567 710.037 Td
-/F124_0 9.9626 Tf
-(#include) 47.8205 Tj
--600 TJm
-(<bzlib.h>) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-350.654 710.037 Td
-/F122_0 9.9626 Tf
-(into) 15.5018 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(sources.) 32.3685 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 679.416 Td
-/F116_0 17.2154 Tf
-(3.1.1.) 43.0729 Tj
--278 TJm
-(Lo) 21.0372 Tj
-15 TJm
-(w-le) 33.484 Tj
-15 TJm
-(vel) 23.9294 Tj
--278 TJm
-(summar) 66.9679 Tj
--10 TJm
-(y) 9.5718 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 657.498 Td
-/F122_0 9.9626 Tf
-(This) 17.7135 Tj
--212 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--212 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vides) 21.031 Tj
--212 TJm
-(services) 32.0895 Tj
--212 TJm
-(for) 11.6164 Tj
--212 TJm
-(compressing) 50.3609 Tj
--212 TJm
-(and) 14.386 Tj
--212 TJm
-(decompress) 47.0334 Tj
-1 TJm
-(ing) 12.7322 Tj
--212 TJm
-(data) 16.5977 Tj
--212 TJm
-(in) 7.7509 Tj
--212 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
--595 TJm
-(There') 26.5503 Tj
-55 TJm
-(s) 3.8755 Tj
--212 TJm
-(no) 9.9626 Tj
--212 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vision) 24.3586 Tj
--212 TJm
-(for) 11.6164 Tj
--212 TJm
-(dealing) 29.3299 Tj
-72 645.543 Td
-(with) 17.7135 Tj
--213 TJm
-(\002les,) 19.0983 Tj
--220 TJm
-(streams) 30.4357 Tj
--213 TJm
-(or) 8.2988 Tj
--213 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--213 TJm
-(other) 20.4731 Tj
--213 TJm
-(I/O) 13.2801 Tj
--213 TJm
-(mechanisms,) 51.7457 Tj
--221 TJm
-(just) 14.396 Tj
--213 TJm
-(straight) 29.8878 Tj
--213 TJm
-(memory-to-memory) 80.7967 Tj
--213 TJm
-(w) 7.193 Tj
-10 TJm
-(ork.) 15.7708 Tj
--595 TJm
-(In) 8.2988 Tj
--213 TJm
-(f) 3.3175 Tj
-10 TJm
-(act,) 14.107 Tj
--221 TJm
-(this) 14.396 Tj
--213 TJm
-(part) 15.4918 Tj
--213 TJm
-(of) 8.2988 Tj
--213 TJm
-(the) 12.1743 Tj
--213 TJm
-(library) 26.5603 Tj
-72 633.588 Td
-(can) 13.8281 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(compiled) 37.0808 Tj
--250 TJm
-(without) 30.4457 Tj
--250 TJm
-(inclusion) 36.5329 Tj
--250 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-222.534 633.588 Td
-/F124_0 9.9626 Tf
-(stdio.h) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-264.377 633.588 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(helpful) 28.224 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(embedded) 40.9463 Tj
--250 TJm
-(applications.) 50.6399 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 611.67 Td
-(The) 15.4918 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(part) 15.4918 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(global) 24.9065 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(ariables) 30.9837 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(therefore) 35.955 Tj
--250 TJm
-(thread-safe.) 46.7445 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 589.752 Td
-(Six) 13.2901 Tj
--875 TJm
-(routines) 32.0995 Tj
--876 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--875 TJm
-(up) 9.9626 Tj
--876 TJm
-(the) 12.1743 Tj
--875 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
--876 TJm
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--875 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace:) 16.0398 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-308.791 589.752 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-416.387 589.752 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-429.158 589.752 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-512.844 589.752 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--1032 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 577.797 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-186.15 577.797 Td
-/F122_0 9.9626 Tf
-(for) 11.6164 Tj
--1258 TJm
-(compression,) 52.8516 Tj
--1510 TJm
-(and) 14.386 Tj
--1257 TJm
-(a) 4.4234 Tj
--1258 TJm
-(corresponding) 56.996 Tj
--1258 TJm
-(trio) 13.8381 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-417.958 577.797 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.5512 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 577.797 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 565.842 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.707 565.842 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-192.158 565.842 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-310.798 565.842 Td
-/F122_0 9.9626 Tf
-(for) 11.6164 Tj
--508 TJm
-(decompression.) 62.2563 Tj
--2171 TJm
-(The) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-431.918 564.099 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-437.895 565.842 Td
-(Init) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-466.871 565.842 Td
-/F122_0 9.9626 Tf
-(functions) 37.0808 Tj
--508 TJm
-(allocate) 30.9837 Tj
-72 553.887 Td
-(memory) 33.2053 Tj
--574 TJm
-(for) 11.6164 Tj
--573 TJm
-(compression/decompression) 112.8962 Tj
--574 TJm
-(and) 14.386 Tj
--574 TJm
-(do) 9.9626 Tj
--573 TJm
-(other) 20.4731 Tj
--574 TJm
-(initialisations,) 56.1891 Tj
--654 TJm
-(whilst) 24.3586 Tj
--574 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-419.503 552.143 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-425.48 553.887 Td
-(End) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-449.128 553.887 Td
-/F122_0 9.9626 Tf
-(functions) 37.0808 Tj
--574 TJm
-(close) 20.4731 Tj
--573 TJm
-(do) 9.9626 Tj
-25 TJm
-(wn) 12.1743 Tj
-72 541.932 Td
-(operations) 41.5042 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(release) 27.6562 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 520.014 Td
-(The) 15.4918 Tj
--303 TJm
-(real) 14.9339 Tj
--303 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--303 TJm
-(is) 6.6451 Tj
--303 TJm
-(done) 19.3673 Tj
--303 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-176.892 520.014 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-263.598 520.014 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-281.003 520.014 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-376.645 520.014 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--939 TJm
-(These) 23.7907 Tj
--303 TJm
-(compress) 37.6287 Tj
--303 TJm
-(and) 14.386 Tj
--303 TJm
-(decompress) 47.0334 Tj
--303 TJm
-(data) 16.5977 Tj
-72 508.059 Td
-(from) 19.3673 Tj
--205 TJm
-(a) 4.4234 Tj
--205 TJm
-(user) 16.5977 Tj
-20 TJm
-(-supplied) 37.0808 Tj
--205 TJm
-(input) 20.4831 Tj
--206 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--205 TJm
-(to) 7.7509 Tj
--205 TJm
-(a) 4.4234 Tj
--205 TJm
-(user) 16.5977 Tj
-20 TJm
-(-supplied) 37.0808 Tj
--205 TJm
-(output) 25.4644 Tj
--205 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-55 TJm
-(.) 2.4907 Tj
--591 TJm
-(These) 23.7907 Tj
--205 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fers) 14.9339 Tj
--205 TJm
-(can) 13.8281 Tj
--205 TJm
-(be) 9.4047 Tj
--205 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--205 TJm
-(size;) 18.2614 Tj
--220 TJm
-(arbitrary) 34.3012 Tj
--206 TJm
-(quantities) 38.7446 Tj
--205 TJm
-(of) 8.2988 Tj
-72 496.104 Td
-(data) 16.5977 Tj
--258 TJm
-(are) 12.1643 Tj
--258 TJm
-(handled) 31.5416 Tj
--258 TJm
-(by) 9.9626 Tj
--257 TJm
-(making) 29.8878 Tj
--258 TJm
-(repeated) 33.7433 Tj
--258 TJm
-(calls) 18.2614 Tj
--258 TJm
-(to) 7.7509 Tj
--258 TJm
-(these) 20.4731 Tj
--258 TJm
-(functions.) 39.5714 Tj
--667 TJm
-(This) 17.7135 Tj
--258 TJm
-(is) 6.6451 Tj
--258 TJm
-(a) 4.4234 Tj
--257 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xible) 19.9252 Tj
--258 TJm
-(mechanism) 45.3796 Tj
--258 TJm
-(allo) 14.9439 Tj
-25 TJm
-(wing) 19.9252 Tj
--258 TJm
-(a) 4.4234 Tj
--258 TJm
-(consumer) 38.7346 Tj
-20 TJm
-(-pull) 18.8194 Tj
-72 484.148 Td
-(style) 18.8194 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(acti) 14.386 Tj
-25 TJm
-(vity) 15.5018 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(producer) 35.4071 Tj
-20 TJm
-(-push,) 24.6275 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(mixture) 30.9936 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(both.) 20.2042 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 453.527 Td
-/F116_0 17.2154 Tf
-(3.1.2.) 43.0729 Tj
--278 TJm
-(High-le) 58.343 Tj
-15 TJm
-(vel) 23.9294 Tj
--278 TJm
-(summar) 66.9679 Tj
--10 TJm
-(y) 9.5718 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 431.609 Td
-/F122_0 9.9626 Tf
-(This) 17.7135 Tj
--284 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--284 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vides) 21.031 Tj
--285 TJm
-(some) 21.031 Tj
--284 TJm
-(handy) 24.3486 Tj
--284 TJm
-(wrappers) 36.5129 Tj
--284 TJm
-(around) 27.6661 Tj
--284 TJm
-(the) 12.1743 Tj
--284 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--285 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--284 TJm
-(to) 7.7509 Tj
--284 TJm
-(f) 3.3175 Tj
-10 TJm
-(acilitate) 31.5416 Tj
--284 TJm
-(reading) 29.8778 Tj
--284 TJm
-(and) 14.386 Tj
--285 TJm
-(writ) 16.0497 Tj
-1 TJm
-(ing) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-510.112 431.609 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 419.654 Td
-/F122_0 9.9626 Tf
-(format) 26.5603 Tj
--347 TJm
-(\002les) 16.6077 Tj
--346 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-125.391 419.654 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-152.754 419.654 Td
-/F122_0 9.9626 Tf
-(\002les\).) 22.4159 Tj
--1200 TJm
-(The) 15.4918 Tj
--346 TJm
-(routines) 32.0995 Tj
--347 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--346 TJm
-(hooks) 23.8007 Tj
--347 TJm
-(to) 7.7509 Tj
--346 TJm
-(f) 3.3175 Tj
-10 TJm
-(acilitate) 31.5416 Tj
--347 TJm
-(reading) 29.8778 Tj
--347 TJm
-(\002les) 16.6077 Tj
--346 TJm
-(in) 7.7509 Tj
--347 TJm
-(which) 24.3486 Tj
--346 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-460.049 419.654 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-493.39 419.654 Td
-/F122_0 9.9626 Tf
-(data) 16.5977 Tj
--347 TJm
-(stream) 26.5603 Tj
-72 407.699 Td
-(is) 6.6451 Tj
--339 TJm
-(embedded) 40.9463 Tj
--339 TJm
-(within) 25.4644 Tj
--339 TJm
-(some) 21.031 Tj
--339 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
-20 TJm
-(-scale) 23.2328 Tj
--339 TJm
-(\002le) 12.7322 Tj
--339 TJm
-(structure,) 37.3498 Tj
--361 TJm
-(or) 8.2988 Tj
--340 TJm
-(wher) 19.9152 Tj
-1 TJm
-(e) 4.4234 Tj
--340 TJm
-(there) 19.9152 Tj
--339 TJm
-(are) 12.1643 Tj
--339 TJm
-(multiple) 33.2153 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-400.941 407.699 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-434.207 407.699 Td
-/F122_0 9.9626 Tf
-(data) 16.5977 Tj
--339 TJm
-(streams) 30.4357 Tj
--339 TJm
-(concatenated) 52.0048 Tj
-72 395.744 Td
-(end-to-end.) 45.6486 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 373.826 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--332 TJm
-(reading) 29.8778 Tj
--333 TJm
-(\002les,) 19.0983 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-144.803 373.826 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-228.489 373.826 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-234.496 373.826 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.272 373.826 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-300.279 373.826 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-393.253 373.826 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-410.951 373.826 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-527.836 373.826 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
-72 361.871 Td
-(supplied.) 36.2539 Tj
--620 TJm
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--250 TJm
-(writing) 28.782 Tj
--250 TJm
-(\002les,) 19.0983 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-183.471 361.871 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-273.135 361.871 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-278.116 361.871 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-346.36 361.871 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.237 361.871 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteFinish) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-467.346 361.871 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 339.953 Td
-(As) 11.0684 Tj
--374 TJm
-(with) 17.7135 Tj
--374 TJm
-(the) 12.1743 Tj
--375 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--374 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--405 TJm
-(no) 9.9626 Tj
--374 TJm
-(global) 24.9065 Tj
--374 TJm
-(v) 4.9813 Tj
-25 TJm
-(ariables) 30.9837 Tj
--375 TJm
-(are) 12.1643 Tj
--374 TJm
-(used) 18.2614 Tj
--374 TJm
-(so) 8.8568 Tj
--374 TJm
-(the) 12.1743 Tj
--374 TJm
-(library) 26.5603 Tj
--375 TJm
-(is) 6.6451 Tj
--374 TJm
-(per) 12.7222 Tj
--374 TJm
-(se) 8.2988 Tj
--374 TJm
-(thread-safe.) 46.7445 Tj
--1365 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(we) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
-40 TJm
-(,) 2.4907 Tj
--406 TJm
-(if) 6.0871 Tj
--374 TJm
-(I/O) 13.2801 Tj
-72 327.998 Td
-(errors) 23.2328 Tj
--267 TJm
-(occur) 22.1269 Tj
--267 TJm
-(whilst) 24.3586 Tj
--267 TJm
-(reading) 29.8778 Tj
--267 TJm
-(or) 8.2988 Tj
--267 TJm
-(writing) 28.782 Tj
--267 TJm
-(the) 12.1743 Tj
--268 TJm
-(underlying) 43.1679 Tj
--267 TJm
-(compressed) 47.0334 Tj
--267 TJm
-(\002les,) 19.0983 Tj
--271 TJm
-(you) 14.9439 Tj
--267 TJm
-(may) 17.1556 Tj
--267 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--267 TJm
-(to) 7.7509 Tj
--267 TJm
-(consult) 28.782 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-457.199 327.998 Td
-/F124_0 9.9626 Tf
-(errno) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-489.748 327.998 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--267 TJm
-(determine) 39.8404 Tj
-72 316.043 Td
-(the) 12.1743 Tj
--366 TJm
-(cause) 22.1269 Tj
--365 TJm
-(of) 8.2988 Tj
--366 TJm
-(the) 12.1743 Tj
--365 TJm
-(error) 19.3573 Tj
-55 TJm
-(.) 2.4907 Tj
--1314 TJm
-(In) 8.2988 Tj
--366 TJm
-(that) 14.9439 Tj
--365 TJm
-(case,) 19.6363 Tj
--395 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--366 TJm
-(need) 18.8094 Tj
--365 TJm
-(a) 4.4234 Tj
--366 TJm
-(C) 6.6451 Tj
--365 TJm
-(library) 26.5603 Tj
--366 TJm
-(which) 24.3486 Tj
--366 TJm
-(correctly) 35.4071 Tj
--365 TJm
-(supports) 33.7633 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-431.668 316.043 Td
-/F124_0 9.9626 Tf
-(errno) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-465.199 316.043 Td
-/F122_0 9.9626 Tf
-(in) 7.7509 Tj
--366 TJm
-(a) 4.4234 Tj
--365 TJm
-(multithreaded) 55.3422 Tj
-72 304.088 Td
-(en) 9.4047 Tj
-40 TJm
-(vironment.) 43.4469 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 282.17 Td
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--243 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--243 TJm
-(the) 12.1743 Tj
--242 TJm
-(library) 26.5603 Tj
--243 TJm
-(a) 4.4234 Tj
--243 TJm
-(little) 18.2714 Tj
--242 TJm
-(simpler) 29.8878 Tj
--243 TJm
-(and) 14.386 Tj
--243 TJm
-(more) 20.4731 Tj
--243 TJm
-(portable,) 35.1381 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-289.263 282.17 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-375.368 282.17 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-392.172 282.17 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-484.254 282.17 Td
-/F122_0 9.9626 Tf
-(require) 28.2141 Tj
--243 TJm
-(you) 14.9439 Tj
--243 TJm
-(to) 7.7509 Tj
-72 270.215 Td
-(pass) 17.1556 Tj
--247 TJm
-(them) 19.9252 Tj
--248 TJm
-(\002le) 12.7322 Tj
--247 TJm
-(handles) 30.4357 Tj
--247 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-165.421 270.215 Td
-/F124_0 9.9626 Tf
-(FILE) 23.9102 Tj
-189.331 268.471 Td
-(*) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-195.309 270.215 Td
-/F122_0 9.9626 Tf
-(s\)) 7.193 Tj
--247 TJm
-(which) 24.3486 Tj
--248 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--247 TJm
-(pre) 12.7222 Tj
-25 TJm
-(viously) 29.3399 Tj
--247 TJm
-(been) 18.8094 Tj
--248 TJm
-(opened) 28.772 Tj
--247 TJm
-(for) 11.6164 Tj
--247 TJm
-(reading) 29.8778 Tj
--247 TJm
-(or) 8.2988 Tj
--248 TJm
-(writing) 28.782 Tj
--247 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.4907 Tj
--618 TJm
-(That) 18.2614 Tj
--248 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(oids) 16.6077 Tj
-72 258.259 Td
-(portability) 41.5142 Tj
--272 TJm
-(problems) 37.0808 Tj
--273 TJm
-(associated) 40.9463 Tj
--272 TJm
-(with) 17.7135 Tj
--272 TJm
-(\002le) 12.7322 Tj
--273 TJm
-(operations) 41.5042 Tj
--272 TJm
-(and) 14.386 Tj
--272 TJm
-(\002le) 12.7322 Tj
--273 TJm
-(attrib) 21.031 Tj
-20 TJm
-(utes,) 18.5404 Tj
--278 TJm
-(whilst) 24.3586 Tj
--272 TJm
-(not) 12.7322 Tj
--272 TJm
-(being) 22.1369 Tj
--273 TJm
-(much) 22.1369 Tj
--272 TJm
-(of) 8.2988 Tj
--273 TJm
-(an) 9.4047 Tj
--272 TJm
-(imposition) 42.63 Tj
--272 TJm
-(on) 9.9626 Tj
--273 TJm
-(the) 12.1743 Tj
-72 246.304 Td
-(programmer) 49.2451 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 215.683 Td
-/F116_0 17.2154 Tf
-(3.1.3.) 43.0729 Tj
--278 TJm
-(Utility) 47.8244 Tj
--278 TJm
-(functions) 77.4693 Tj
--278 TJm
-(summar) 66.9679 Tj
--10 TJm
-(y) 9.5718 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 193.765 Td
-/F122_0 9.9626 Tf
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--273 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--273 TJm
-(simple) 26.5703 Tj
--273 TJm
-(needs,) 25.1755 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-165.929 193.765 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.4614 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-312.112 193.765 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-329.219 193.765 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.4166 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-487.357 193.765 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--273 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vided.) 24.6275 Tj
-72 181.81 Td
-(These) 23.7907 Tj
--374 TJm
-(compress) 37.6287 Tj
--373 TJm
-(data) 16.5977 Tj
--374 TJm
-(in) 7.7509 Tj
--373 TJm
-(memory) 33.2053 Tj
--374 TJm
-(from) 19.3673 Tj
--373 TJm
-(one) 14.386 Tj
--374 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--373 TJm
-(to) 7.7509 Tj
--374 TJm
-(another) 29.8778 Tj
--374 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--373 TJm
-(in) 7.7509 Tj
--374 TJm
-(a) 4.4234 Tj
--373 TJm
-(single) 23.8007 Tj
--374 TJm
-(function) 33.2053 Tj
--373 TJm
-(call.) 16.8766 Tj
--1362 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--373 TJm
-(should) 26.5703 Tj
--374 TJm
-(assess) 24.3486 Tj
-72 169.855 Td
-(whether) 32.0895 Tj
--344 TJm
-(these) 20.4731 Tj
--343 TJm
-(functions) 37.0808 Tj
--344 TJm
-(ful\002ll) 22.1469 Tj
--344 TJm
-(your) 18.2614 Tj
--343 TJm
-(memory-to-memory) 80.7967 Tj
--344 TJm
-(compression/decompression) 112.8962 Tj
--343 TJm
-(requirements) 52.0147 Tj
--344 TJm
-(before) 25.4445 Tj
--344 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(esting) 23.8007 Tj
-72 157.9 Td
-(ef) 7.7409 Tj
-25 TJm
-(fort) 14.386 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(understanding) 56.4481 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(general) 29.3199 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(comple) 29.3299 Tj
-15 TJm
-(x) 4.9813 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 135.982 Td
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--423 TJm
-(Tsuneo) 29.3299 Tj
--422 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-150.161 135.982 Td
-/F124_0 9.9626 Tf
-(tsuneo@rr.iij4u.or.jp) 125.5288 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-275.69 135.982 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--423 TJm
-(has) 13.2801 Tj
--422 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--423 TJm
-(some) 21.031 Tj
--423 TJm
-(functions) 37.0808 Tj
--422 TJm
-(to) 7.7509 Tj
--423 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--423 TJm
-(better) 22.6848 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-476.462 135.982 Td
-/F124_0 9.9626 Tf
-(zlib) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-504.583 135.982 Td
-/F122_0 9.9626 Tf
-(compati-) 35.417 Tj
-72 124.027 Td
-(bility) 21.041 Tj
-65 TJm
-(.) 2.4907 Tj
--1446 TJm
-(These) 23.7907 Tj
--388 TJm
-(functions) 37.0808 Tj
--387 TJm
-(are) 12.1643 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.914 124.027 Td
-/F124_0 9.9626 Tf
-(BZ2_bzopen) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-253.689 124.027 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-260.385 124.027 Td
-/F124_0 9.9626 Tf
-(BZ2_bzread) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-320.161 124.027 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-326.857 124.027 Td
-/F124_0 9.9626 Tf
-(BZ2_bzwrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-392.611 124.027 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-399.307 124.027 Td
-/F124_0 9.9626 Tf
-(BZ2_bzflush) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-465.06 124.027 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-471.756 124.027 Td
-/F124_0 9.9626 Tf
-(BZ2_bzclose) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 124.027 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 112.072 Td
-/F124_0 9.9626 Tf
-(BZ2_bzerror) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-140.408 112.072 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-157.449 112.072 Td
-/F124_0 9.9626 Tf
-(BZ2_bzlibVersion) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-253.091 112.072 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--719 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--266 TJm
-(may) 17.1556 Tj
--267 TJm
-(\002nd) 15.5018 Tj
--266 TJm
-(these) 20.4731 Tj
--267 TJm
-(functions) 37.0808 Tj
--266 TJm
-(more) 20.4731 Tj
--267 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(enient) 24.3486 Tj
--266 TJm
-(for) 11.6164 Tj
--267 TJm
-(simple) 26.5703 Tj
--266 TJm
-(\002le) 12.7322 Tj
--267 TJm
-(reading) 29.8778 Tj
-72 100.116 Td
-(and) 14.386 Tj
--270 TJm
-(writ) 16.0497 Tj
-1 TJm
-(ing,) 15.2229 Tj
--275 TJm
-(than) 17.1556 Tj
--269 TJm
-(those) 21.031 Tj
--270 TJm
-(in) 7.7509 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(high-le) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--269 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
--737 TJm
-(These) 23.7907 Tj
--270 TJm
-(functions) 37.0808 Tj
--269 TJm
-(are) 12.1643 Tj
--270 TJm
-(not) 12.7322 Tj
--269 TJm
-(\(yet\)) 18.8094 Tj
--270 TJm
-(of) 8.2988 Tj
-25 TJm
-(\002cially) 27.6761 Tj
--269 TJm
-(part) 15.4918 Tj
--270 TJm
-(of) 8.2988 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--274 TJm
-(and) 14.386 Tj
--270 TJm
-(are) 12.1643 Tj
-72 88.161 Td
-(minimally) 40.9662 Tj
--291 TJm
-(documented) 48.6972 Tj
--291 TJm
-(here.) 19.6363 Tj
--867 TJm
-(If) 6.6351 Tj
--291 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--291 TJm
-(break,) 24.6176 Tj
--301 TJm
-(you) 14.9439 Tj
--291 TJm
-(get) 12.1743 Tj
--292 TJm
-(to) 7.7509 Tj
--291 TJm
-(k) 4.9813 Tj
-10 TJm
-(eep) 13.8281 Tj
--291 TJm
-(all) 9.9626 Tj
--291 TJm
-(the) 12.1743 Tj
--291 TJm
-(pieces.) 27.3872 Tj
--433 TJm
-(I) 3.3175 Tj
--291 TJm
-(hope) 19.3673 Tj
--291 TJm
-(to) 7.7509 Tj
--291 TJm
-(document) 39.2925 Tj
--292 TJm
-(them) 19.9252 Tj
--291 TJm
-(properly) 33.7533 Tj
--291 TJm
-(when) 21.579 Tj
-72 76.206 Td
-(time) 17.7135 Tj
--250 TJm
-(permits.) 32.3785 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-541.288 51.071 Td
-(9) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 10 13
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--250 TJm
-(also) 16.0497 Tj
--250 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--250 TJm
-(modi\002cations) 54.2464 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uilt) 13.2901 Tj
--250 TJm
-(as) 8.2988 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(W) 9.4047 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(DLL.) 21.8579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 675.504 Td
-/F116_0 20.6585 Tf
-(3.2.) 34.4584 Tj
--278 TJm
-(Err) 29.8515 Tj
-20 TJm
-(or) 20.6585 Tj
--278 TJm
-(handling) 86.084 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 653.805 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--214 TJm
-(library) 26.5603 Tj
--215 TJm
-(is) 6.6451 Tj
--214 TJm
-(designed) 35.417 Tj
--215 TJm
-(to) 7.7509 Tj
--214 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--215 TJm
-(cleanly) 28.772 Tj
--214 TJm
-(in) 7.7509 Tj
--215 TJm
-(all) 9.9626 Tj
--214 TJm
-(situations,) 40.6873 Tj
--222 TJm
-(including) 37.6387 Tj
--214 TJm
-(the) 12.1743 Tj
--215 TJm
-(w) 7.193 Tj
-10 TJm
-(orst-case) 35.4071 Tj
--214 TJm
-(situation) 34.3212 Tj
--215 TJm
-(of) 8.2988 Tj
--214 TJm
-(decompressing) 59.7656 Tj
--215 TJm
-(random) 30.4357 Tj
-72 641.85 Td
-(data.) 19.0883 Tj
--764 TJm
-(I'm) 14.386 Tj
--274 TJm
-(not) 12.7322 Tj
--275 TJm
-(100%) 23.2427 Tj
--274 TJm
-(sure) 16.5977 Tj
--274 TJm
-(that) 14.9439 Tj
--274 TJm
-(it) 5.5392 Tj
--274 TJm
-(can) 13.8281 Tj
--274 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--274 TJm
-(do) 9.9626 Tj
--274 TJm
-(this,) 16.8866 Tj
--280 TJm
-(so) 8.8568 Tj
--274 TJm
-(you) 14.9439 Tj
--274 TJm
-(might) 23.2527 Tj
--274 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--274 TJm
-(to) 7.7509 Tj
--274 TJm
-(add) 14.386 Tj
--274 TJm
-(a) 4.4234 Tj
--275 TJm
-(s) 3.8755 Tj
-1 TJm
-(ignal) 19.9252 Tj
--275 TJm
-(handler) 29.8778 Tj
--274 TJm
-(to) 7.7509 Tj
--274 TJm
-(catch) 21.0211 Tj
--274 TJm
-(se) 8.2988 Tj
-15 TJm
-(gmentation) 44.8317 Tj
-72 629.895 Td
-(violations) 39.3025 Tj
--273 TJm
-(during) 26.0123 Tj
--273 TJm
-(decompression) 59.7656 Tj
--273 TJm
-(if) 6.0871 Tj
--273 TJm
-(you) 14.9439 Tj
--273 TJm
-(are) 12.1643 Tj
--273 TJm
-(feeling) 27.6661 Tj
--274 TJm
-(especiall) 34.8591 Tj
-1 TJm
-(y) 4.9813 Tj
--274 TJm
-(paranoid.) 37.3498 Tj
--758 TJm
-(I) 3.3175 Tj
--273 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--273 TJm
-(be) 9.4047 Tj
--273 TJm
-(interested) 38.7346 Tj
--273 TJm
-(in) 7.7509 Tj
--274 TJm
-(hearing) 29.8778 Tj
--273 TJm
-(more) 20.4731 Tj
--273 TJm
-(about) 22.1369 Tj
-72 617.939 Td
-(the) 12.1743 Tj
--250 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ustness) 28.782 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(corrupted) 38.1767 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data.) 19.0883 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 596.241 Td
-(V) 7.193 Tj
-111 TJm
-(ersion) 24.3486 Tj
--251 TJm
-(1.0.3) 19.9252 Tj
--251 TJm
-(more) 20.4731 Tj
--251 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ust) 11.6264 Tj
--251 TJm
-(in) 7.7509 Tj
--251 TJm
-(this) 14.396 Tj
--251 TJm
-(respect) 28.2141 Tj
--252 TJm
-(than) 17.1556 Tj
--251 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--251 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--251 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion.) 26.8392 Tj
--626 TJm
-(In) 8.2988 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(estig) 18.8194 Tj
-5 TJm
-(ations) 23.8007 Tj
--251 TJm
-(with) 17.7135 Tj
--251 TJm
-(V) 7.193 Tj
-111 TJm
-(algrind) 28.224 Tj
--251 TJm
-(\(a) 7.7409 Tj
--252 TJm
-(tool) 15.5018 Tj
--251 TJm
-(for) 11.6164 Tj
--251 TJm
-(detecting) 36.5229 Tj
-72 584.285 Td
-(problems) 37.0808 Tj
--422 TJm
-(with) 17.7135 Tj
--421 TJm
-(memory) 33.2053 Tj
--422 TJm
-(management\)) 54.2264 Tj
--421 TJm
-(indicate) 31.5416 Tj
--422 TJm
-(that,) 17.4346 Tj
--464 TJm
-(at) 7.193 Tj
--422 TJm
-(least) 18.2614 Tj
--421 TJm
-(for) 11.6164 Tj
--422 TJm
-(the) 12.1743 Tj
--422 TJm
-(f) 3.3175 Tj
-1 TJm
-(e) 4.4234 Tj
-25 TJm
-(w) 7.193 Tj
--422 TJm
-(\002les) 16.6077 Tj
--422 TJm
-(I) 3.3175 Tj
--421 TJm
-(tested,) 25.7334 Tj
--464 TJm
-(all) 9.9626 Tj
--422 TJm
-(single-bit) 37.6387 Tj
--422 TJm
-(errors) 23.2328 Tj
--421 TJm
-(in) 7.7509 Tj
--422 TJm
-(the) 12.1743 Tj
-72 572.33 Td
-(decompressed) 56.4381 Tj
--342 TJm
-(data) 16.5977 Tj
--341 TJm
-(are) 12.1643 Tj
--342 TJm
-(caught) 26.5603 Tj
--342 TJm
-(properly) 33.7533 Tj
-65 TJm
-(,) 2.4907 Tj
--365 TJm
-(with) 17.7135 Tj
--341 TJm
-(no) 9.9626 Tj
--342 TJm
-(se) 8.2988 Tj
-15 TJm
-(gmentation) 44.8317 Tj
--342 TJm
-(f) 3.3175 Tj
-10 TJm
-(aults,) 21.31 Tj
--365 TJm
-(no) 9.9626 Tj
--341 TJm
-(uses) 17.1556 Tj
--342 TJm
-(of) 8.2988 Tj
--342 TJm
-(uninitialised) 49.2651 Tj
--342 TJm
-(data,) 19.0883 Tj
--364 TJm
-(no) 9.9626 Tj
--342 TJm
-(out) 12.7322 Tj
--342 TJm
-(of) 8.2988 Tj
--342 TJm
-(range) 22.1269 Tj
-72 560.375 Td
-(reads) 21.0211 Tj
--261 TJm
-(or) 8.2988 Tj
--260 TJm
-(writes,) 26.8392 Tj
--263 TJm
-(and) 14.386 Tj
--261 TJm
-(no) 9.9626 Tj
--261 TJm
-(in\002nit) 23.8106 Tj
-1 TJm
-(e) 4.4234 Tj
--261 TJm
-(looping) 30.4457 Tj
--261 TJm
-(in) 7.7509 Tj
--260 TJm
-(the) 12.1743 Tj
--261 TJm
-(decompressor) 55.3323 Tj
-55 TJm
-(.) 2.4907 Tj
--342 TJm
-(So) 10.5205 Tj
--260 TJm
-(it') 8.8568 Tj
-55 TJm
-(s) 3.8755 Tj
--261 TJm
-(certainly) 34.8591 Tj
--260 TJm
-(pretty) 23.2427 Tj
--261 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ust,) 14.117 Tj
--263 TJm
-(although) 34.8691 Tj
--261 TJm
-(I) 3.3175 Tj
--260 TJm
-(w) 7.193 Tj
-10 TJm
-(ouldn') 26.0123 Tj
-18 TJm
-(t) 2.7696 Tj
--261 TJm
-(claim) 22.1369 Tj
-72 548.42 Td
-(it) 5.5392 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(totally) 25.4644 Tj
--250 TJm
-(bombproof.) 46.7644 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 526.721 Td
-(The) 15.4918 Tj
--282 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-105.84 526.721 Td
-/F124_0 9.9626 Tf
-(bzlib.h) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-150.491 526.721 Td
-/F122_0 9.9626 Tf
-(contains) 33.2053 Tj
--282 TJm
-(all) 9.9626 Tj
--282 TJm
-(de\002nitions) 42.0721 Tj
--282 TJm
-(needed) 28.2141 Tj
--281 TJm
-(to) 7.7509 Tj
--282 TJm
-(use) 13.2801 Tj
--282 TJm
-(the) 12.1743 Tj
--282 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
--811 TJm
-(In) 8.2988 Tj
--282 TJm
-(particular) 38.1767 Tj
-40 TJm
-(,) 2.4907 Tj
--290 TJm
-(you) 14.9439 Tj
--282 TJm
-(should) 26.5703 Tj
--281 TJm
-(de\002nitely) 37.6387 Tj
--282 TJm
-(not) 12.7322 Tj
--282 TJm
-(include) 29.3299 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 514.766 Td
-/F124_0 9.9626 Tf
-(bzlib_private.h) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.664 514.766 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 493.067 Td
-(In) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.807 493.067 Td
-/F124_0 9.9626 Tf
-(bzlib.h) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-124.651 493.067 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--252 TJm
-(the) 12.1743 Tj
--252 TJm
-(v) 4.9813 Tj
-25 TJm
-(arious) 24.3486 Tj
--252 TJm
-(return) 23.7907 Tj
--252 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--251 TJm
-(are) 12.1643 Tj
--252 TJm
-(de\002ned.) 31.8205 Tj
--631 TJm
-(The) 15.4918 Tj
--252 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--252 TJm
-(list) 12.1843 Tj
--251 TJm
-(is) 6.6451 Tj
--252 TJm
-(not) 12.7322 Tj
--252 TJm
-(intended) 34.3112 Tj
--252 TJm
-(as) 8.2988 Tj
--251 TJm
-(an) 9.4047 Tj
--252 TJm
-(e) 4.4234 Tj
-15 TJm
-(xhausti) 28.782 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--252 TJm
-(description) 44.2738 Tj
--252 TJm
-(of) 8.2988 Tj
-72 481.112 Td
-(the) 12.1743 Tj
--236 TJm
-(circumstances) 56.4381 Tj
--236 TJm
-(in) 7.7509 Tj
--237 TJm
-(which) 24.3486 Tj
--236 TJm
-(a) 4.4234 Tj
--236 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--236 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--236 TJm
-(may) 17.1556 Tj
--237 TJm
-(be) 9.4047 Tj
--236 TJm
-(returned) 33.1954 Tj
--236 TJm
-(--) 6.6351 Tj
--236 TJm
-(those) 21.031 Tj
--236 TJm
-(descriptions) 48.1492 Tj
--236 TJm
-(are) 12.1643 Tj
--237 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--236 TJm
-(later) 17.7035 Tj
-55 TJm
-(.) 2.4907 Tj
--305 TJm
-(Rather) 26.5603 Tj
-40 TJm
-(,) 2.4907 Tj
--239 TJm
-(it) 5.5392 Tj
--236 TJm
-(is) 6.6451 Tj
--237 TJm
-(intended) 34.3112 Tj
--236 TJm
-(to) 7.7509 Tj
-72 469.157 Td
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
-15 TJm
-(y) 4.9813 Tj
--266 TJm
-(the) 12.1743 Tj
--265 TJm
-(rough) 23.2427 Tj
--266 TJm
-(meaning) 34.3112 Tj
--265 TJm
-(of) 8.2988 Tj
--266 TJm
-(each) 18.2515 Tj
--266 TJm
-(return) 23.7907 Tj
--265 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue.) 19.0883 Tj
--714 TJm
-(The) 15.4918 Tj
--265 TJm
-(\002rst) 15.5018 Tj
--266 TJm
-(\002) 5.5392 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--265 TJm
-(actions) 28.224 Tj
--266 TJm
-(are) 12.1643 Tj
--266 TJm
-(normal) 28.224 Tj
--265 TJm
-(and) 14.386 Tj
--266 TJm
-(not) 12.7322 Tj
--265 TJm
-(intended) 34.3112 Tj
--266 TJm
-(to) 7.7509 Tj
--266 TJm
-(denote) 26.5603 Tj
--265 TJm
-(an) 9.4047 Tj
--266 TJm
-(error) 19.3573 Tj
-72 457.202 Td
-(situation.) 36.8118 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 425.759 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 413.804 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(requested) 38.1767 Tj
--250 TJm
-(action) 24.3486 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(completed) 41.5042 Tj
--250 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 388.34 Td
-/F124_0 9.9626 Tf
-(BZ_RUN_OK,) 59.7756 Tj
--600 TJm
-(BZ_FLUSH_OK,) 71.7307 Tj
--600 TJm
-(BZ_FINISH_OK) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 376.384 Td
-/F122_0 9.9626 Tf
-(In) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-118.789 376.384 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-202.476 376.384 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(requested) 38.1767 Tj
--250 TJm
-(\003ush/\002nish/nothing-special) 108.4927 Tj
--250 TJm
-(action) 24.3486 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(completed) 41.5042 Tj
--250 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 350.92 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 338.965 Td
-/F122_0 9.9626 Tf
-(Compression) 52.5826 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(completed,) 43.9948 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(logical) 27.1182 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(end) 14.386 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(detected) 33.1954 Tj
--250 TJm
-(during) 26.0123 Tj
--250 TJm
-(decompression.) 62.2563 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 303.756 Td
-(The) 15.4918 Tj
--250 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--250 TJm
-(indicate) 31.5416 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(kind.) 20.2042 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 272.314 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 260.359 Td
-/F122_0 9.9626 Tf
-(Indicates) 35.965 Tj
--386 TJm
-(that) 14.9439 Tj
--385 TJm
-(the) 12.1743 Tj
--386 TJm
-(library) 26.5603 Tj
--386 TJm
-(has) 13.2801 Tj
--386 TJm
-(been) 18.8094 Tj
--385 TJm
-(improperly) 44.2738 Tj
--386 TJm
-(compiled) 37.0808 Tj
--386 TJm
-(on) 9.9626 Tj
--386 TJm
-(your) 18.2614 Tj
--385 TJm
-(platform) 34.3112 Tj
--386 TJm
-(--) 6.6351 Tj
--386 TJm
-(a) 4.4234 Tj
--386 TJm
-(major) 23.2427 Tj
--385 TJm
-(con\002guration) 53.1305 Tj
--386 TJm
-(error) 19.3573 Tj
-55 TJm
-(.) 2.4907 Tj
-108 248.404 Td
-(Speci\002cally) 47.0434 Tj
-65 TJm
-(,) 2.4907 Tj
--481 TJm
-(it) 5.5392 Tj
--435 TJm
-(means) 25.4544 Tj
--435 TJm
-(that) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-220.614 248.404 Td
-/F124_0 9.9626 Tf
-(sizeof\(char\)) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-292.345 248.404 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-299.628 248.404 Td
-/F124_0 9.9626 Tf
-(sizeof\(short\)) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-381.669 248.404 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-400.388 248.404 Td
-/F124_0 9.9626 Tf
-(sizeof\(int\)) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-470.474 248.404 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--435 TJm
-(not) 12.7322 Tj
--435 TJm
-(1,) 7.472 Tj
--481 TJm
-(2) 4.9813 Tj
--435 TJm
-(and) 14.386 Tj
-108 236.448 Td
-(4) 4.9813 Tj
--389 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(,) 2.4907 Tj
--424 TJm
-(as) 8.2988 Tj
--390 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--389 TJm
-(should) 26.5703 Tj
--389 TJm
-(be.) 11.8953 Tj
--1456 TJm
-(Note) 19.3673 Tj
--389 TJm
-(that) 14.9439 Tj
--389 TJm
-(the) 12.1743 Tj
--389 TJm
-(library) 26.5603 Tj
--390 TJm
-(should) 26.5703 Tj
--389 TJm
-(still) 14.9539 Tj
--389 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--389 TJm
-(properly) 33.7533 Tj
--390 TJm
-(on) 9.9626 Tj
--389 TJm
-(64-bit) 23.8007 Tj
--389 TJm
-(platforms) 38.1866 Tj
-108 224.493 Td
-(which) 24.3486 Tj
--292 TJm
-(follo) 18.8194 Tj
-25 TJm
-(w) 7.193 Tj
--292 TJm
-(the) 12.1743 Tj
--292 TJm
-(LP64) 21.589 Tj
--292 TJm
-(programming) 54.2364 Tj
--293 TJm
-(model) 24.9065 Tj
--292 TJm
-(--) 6.6351 Tj
--292 TJm
-(that) 14.9439 Tj
--292 TJm
-(is,) 9.1357 Tj
--303 TJm
-(where) 24.3386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-355.279 224.493 Td
-/F124_0 9.9626 Tf
-(sizeof\(long\)) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-429.92 224.493 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-447.217 224.493 Td
-/F124_0 9.9626 Tf
-(sizeof\(void) 65.7532 Tj
-512.97 222.75 Td
-(*) 5.9776 Tj
-518.948 224.493 Td
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-527.836 224.493 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
-108 212.538 Td
-(8.) 7.472 Tj
--620 TJm
-(Under) 24.8965 Tj
--250 TJm
-(LP64,) 24.0796 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-175.606 212.538 Td
-/F124_0 9.9626 Tf
-(sizeof\(int\)) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-243.85 212.538 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(still) 14.9539 Tj
--250 TJm
-(4,) 7.472 Tj
--250 TJm
-(so) 8.8568 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-291.74 212.538 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-339.561 212.538 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-433.458 212.538 Td
-/F124_0 9.9626 Tf
-(long) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-459.859 212.538 Td
-/F122_0 9.9626 Tf
-(type,) 19.6462 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(OK.) 16.8766 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 187.073 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 175.118 Td
-/F122_0 9.9626 Tf
-(When) 23.7907 Tj
--291 TJm
-(using) 21.589 Tj
--290 TJm
-(the) 12.1743 Tj
--291 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--300 TJm
-(it) 5.5392 Tj
--291 TJm
-(is) 6.6451 Tj
--290 TJm
-(important) 38.7446 Tj
--291 TJm
-(to) 7.7509 Tj
--290 TJm
-(call) 14.386 Tj
--291 TJm
-(the) 12.1743 Tj
--290 TJm
-(functions) 37.0808 Tj
--291 TJm
-(in) 7.7509 Tj
--290 TJm
-(the) 12.1743 Tj
--291 TJm
-(correct) 27.6562 Tj
--290 TJm
-(sequence) 36.5129 Tj
--291 TJm
-(and) 14.386 Tj
--290 TJm
-(with) 17.7135 Tj
--291 TJm
-(data) 16.5977 Tj
--290 TJm
-(structures) 38.7346 Tj
-108 163.163 Td
-(\(b) 8.2988 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fers) 14.9339 Tj
--206 TJm
-(etc\)) 14.9339 Tj
--205 TJm
-(in) 7.7509 Tj
--206 TJm
-(the) 12.1743 Tj
--205 TJm
-(correct) 27.6562 Tj
--206 TJm
-(states.) 24.6275 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-239.409 163.163 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-289.278 163.163 Td
-/F122_0 9.9626 Tf
-(checks) 27.1082 Tj
--206 TJm
-(as) 8.2988 Tj
--205 TJm
-(much) 22.1369 Tj
--206 TJm
-(as) 8.2988 Tj
--206 TJm
-(it) 5.5392 Tj
--205 TJm
-(can) 13.8281 Tj
--206 TJm
-(to) 7.7509 Tj
--205 TJm
-(ensure) 26.0024 Tj
--206 TJm
-(this) 14.396 Tj
--206 TJm
-(is) 6.6451 Tj
--205 TJm
-(happening,) 43.9948 Tj
--215 TJm
-(and) 14.386 Tj
--205 TJm
-(returns) 27.6661 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 151.208 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-213.27 151.208 Td
-/F122_0 9.9626 Tf
-(if) 6.0871 Tj
--367 TJm
-(not.) 15.2229 Tj
--659 TJm
-(Code) 21.031 Tj
--367 TJm
-(which) 24.3486 Tj
--367 TJm
-(complies) 35.9749 Tj
--366 TJm
-(precisely) 35.965 Tj
--367 TJm
-(with) 17.7135 Tj
--366 TJm
-(the) 12.1743 Tj
--367 TJm
-(function) 33.2053 Tj
--366 TJm
-(semantics,) 41.7831 Tj
--396 TJm
-(as) 8.2988 Tj
--367 TJm
-(detailed) 31.5416 Tj
-108 139.253 Td
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(ne) 9.4047 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--250 TJm
-(recei) 19.3573 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue;) 19.3673 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ent) 12.1743 Tj
--250 TJm
-(denotes) 30.4357 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uggy) 19.9252 Tj
--250 TJm
-(code) 18.8094 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(estig) 18.8194 Tj
-5 TJm
-(ate.) 14.107 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 113.788 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 101.833 Td
-/F122_0 9.9626 Tf
-(Returned) 36.5229 Tj
--434 TJm
-(when) 21.579 Tj
--434 TJm
-(a) 4.4234 Tj
--434 TJm
-(parameter) 39.8305 Tj
--434 TJm
-(to) 7.7509 Tj
--434 TJm
-(a) 4.4234 Tj
--433 TJm
-(function) 33.2053 Tj
--434 TJm
-(call) 14.386 Tj
--434 TJm
-(is) 6.6451 Tj
--434 TJm
-(out) 12.7322 Tj
--434 TJm
-(of) 8.2988 Tj
--434 TJm
-(range) 22.1269 Tj
--434 TJm
-(or) 8.2988 Tj
--434 TJm
-(otherwise) 38.7346 Tj
--434 TJm
-(manifestly) 42.0621 Tj
--434 TJm
-(incorrect.) 37.8977 Tj
--1723 TJm
-(As) 11.0684 Tj
-108 89.878 Td
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-131.644 89.878 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-233.263 89.878 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--595 TJm
-(this) 14.396 Tj
--596 TJm
-(denotes) 30.4357 Tj
--595 TJm
-(a) 4.4234 Tj
--595 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--596 TJm
-(in) 7.7509 Tj
--595 TJm
-(the) 12.1743 Tj
--595 TJm
-(client) 22.1369 Tj
--595 TJm
-(code.) 21.3 Tj
--2692 TJm
-(The) 15.4918 Tj
--596 TJm
-(distinction) 42.0721 Tj
--595 TJm
-(between) 33.1954 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 77.923 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-194.177 77.923 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-211.054 77.923 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-315.163 77.923 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(bit) 10.5205 Tj
--250 TJm
-(hazy) 18.8094 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(still) 14.9539 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(orth) 16.0497 Tj
--250 TJm
-(making.) 32.3785 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(10) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 11 14
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F124_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 698.082 Td
-/F122_0 9.9626 Tf
-(Returned) 36.5229 Tj
--228 TJm
-(when) 21.579 Tj
--227 TJm
-(a) 4.4234 Tj
--228 TJm
-(request) 28.772 Tj
--227 TJm
-(to) 7.7509 Tj
--228 TJm
-(allocate) 30.9837 Tj
--228 TJm
-(memory) 33.2053 Tj
--227 TJm
-(f) 3.3175 Tj
-10 TJm
-(ailed.) 21.8579 Tj
--605 TJm
-(Note) 19.3673 Tj
--228 TJm
-(that) 14.9439 Tj
--228 TJm
-(the) 12.1743 Tj
--227 TJm
-(quantity) 32.6574 Tj
--228 TJm
-(of) 8.2988 Tj
--227 TJm
-(memory) 33.2053 Tj
--228 TJm
-(needed) 28.2141 Tj
--228 TJm
-(to) 7.7509 Tj
--227 TJm
-(decompress) 47.0334 Tj
-108 686.127 Td
-(a) 4.4234 Tj
--351 TJm
-(stream) 26.5603 Tj
--352 TJm
-(cannot) 26.5603 Tj
--351 TJm
-(be) 9.4047 Tj
--352 TJm
-(determined) 44.8217 Tj
--351 TJm
-(until) 18.2714 Tj
--352 TJm
-(the) 12.1743 Tj
--351 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.8755 Tj
--351 TJm
-(header) 26.5503 Tj
--352 TJm
-(has) 13.2801 Tj
--351 TJm
-(been) 18.8094 Tj
--352 TJm
-(read.) 19.6363 Tj
--1228 TJm
-(So) 10.5205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-426.471 686.127 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-525.614 686.127 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 674.172 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.13 674.172 Td
-/F122_0 9.9626 Tf
-(may) 17.1556 Tj
--437 TJm
-(return) 23.7907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.784 674.172 Td
-/F124_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-297.867 674.172 Td
-/F122_0 9.9626 Tf
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--437 TJm
-(though) 27.6761 Tj
--437 TJm
-(some) 21.031 Tj
--437 TJm
-(of) 8.2988 Tj
--437 TJm
-(the) 12.1743 Tj
--437 TJm
-(compressed) 47.0334 Tj
--437 TJm
-(data) 16.5977 Tj
--437 TJm
-(has) 13.2801 Tj
--437 TJm
-(been) 18.8094 Tj
--437 TJm
-(read.) 19.6363 Tj
-108 662.217 Td
-(The) 15.4918 Tj
--479 TJm
-(same) 20.4731 Tj
--478 TJm
-(is) 6.6451 Tj
--479 TJm
-(not) 12.7322 Tj
--478 TJm
-(true) 15.4918 Tj
--479 TJm
-(for) 11.6164 Tj
--479 TJm
-(compression;) 53.1305 Tj
--593 TJm
-(once) 18.8094 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-301.675 662.217 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-414.04 662.217 Td
-/F122_0 9.9626 Tf
-(or) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-427.107 662.217 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-521.539 662.217 Td
-/F122_0 9.9626 Tf
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
-108 650.261 Td
-(successfully) 48.6972 Tj
--250 TJm
-(completed,) 43.9948 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-205.672 650.261 Td
-/F124_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-279.894 650.261 Td
-/F122_0 9.9626 Tf
-(cannot) 26.5603 Tj
--250 TJm
-(occur) 22.1269 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 624.359 Td
-/F124_0 9.9626 Tf
-(BZ_DATA_ERROR) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 612.404 Td
-/F122_0 9.9626 Tf
-(Returned) 36.5229 Tj
--266 TJm
-(when) 21.579 Tj
--265 TJm
-(a) 4.4234 Tj
--266 TJm
-(data) 16.5977 Tj
--265 TJm
-(inte) 14.9439 Tj
-15 TJm
-(grity) 18.8194 Tj
--266 TJm
-(error) 19.3573 Tj
--266 TJm
-(is) 6.6451 Tj
--265 TJm
-(detected) 33.1954 Tj
--266 TJm
-(during) 26.0123 Tj
--265 TJm
-(decompression.) 62.2563 Tj
--714 TJm
-(Most) 20.4831 Tj
--266 TJm
-(importantl) 41.5142 Tj
-1 TJm
-(y) 4.9813 Tj
-64 TJm
-(,) 2.4907 Tj
--269 TJm
-(this) 14.396 Tj
--266 TJm
-(means) 25.4544 Tj
--265 TJm
-(when) 21.579 Tj
-108 600.448 Td
-(stored) 24.3486 Tj
--222 TJm
-(and) 14.386 Tj
--223 TJm
-(computed) 39.2925 Tj
--222 TJm
-(CRCs) 23.8106 Tj
--222 TJm
-(for) 11.6164 Tj
--222 TJm
-(the) 12.1743 Tj
--223 TJm
-(data) 16.5977 Tj
--222 TJm
-(do) 9.9626 Tj
--222 TJm
-(not) 12.7322 Tj
--222 TJm
-(match.) 26.8392 Tj
--602 TJm
-(This) 17.7135 Tj
--222 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--222 TJm
-(is) 6.6451 Tj
--223 TJm
-(also) 16.0497 Tj
--222 TJm
-(returned) 33.1954 Tj
--222 TJm
-(upon) 19.9252 Tj
--222 TJm
-(detection) 36.5229 Tj
--223 TJm
-(of) 8.2988 Tj
--222 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--222 TJm
-(other) 20.4731 Tj
-108 588.493 Td
-(anomaly) 34.3112 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data.) 19.0883 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 562.59 Td
-/F124_0 9.9626 Tf
-(BZ_DATA_ERROR_MAGIC) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 550.635 Td
-/F122_0 9.9626 Tf
-(As) 11.0684 Tj
--306 TJm
-(a) 4.4234 Tj
--306 TJm
-(special) 27.6661 Tj
--306 TJm
-(case) 17.1456 Tj
--307 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-191.852 550.635 Td
-/F124_0 9.9626 Tf
-(BZ_DATA_ERROR) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-269.561 550.635 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--306 TJm
-(it) 5.5392 Tj
--306 TJm
-(is) 6.6451 Tj
--306 TJm
-(sometimes) 42.62 Tj
--306 TJm
-(useful) 24.3486 Tj
--307 TJm
-(to) 7.7509 Tj
--306 TJm
-(kno) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
--306 TJm
-(when) 21.579 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(compressed) 47.0334 Tj
--306 TJm
-(stream) 26.5603 Tj
--306 TJm
-(does) 18.2614 Tj
-108 538.68 Td
-(not) 12.7322 Tj
--250 TJm
-(start) 17.1556 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(correct) 27.6562 Tj
--250 TJm
-(magic) 24.3486 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-261.562 538.68 Td
-/F124_0 9.9626 Tf
-('B') 17.9327 Tj
--600 TJm
-('Z') 17.9327 Tj
--600 TJm
-('h') 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-327.316 538.68 Td
-/F122_0 9.9626 Tf
-(\).) 5.8082 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 512.777 Td
-/F124_0 9.9626 Tf
-(BZ_IO_ERROR) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 500.822 Td
-/F122_0 9.9626 Tf
-(Returned) 36.5229 Tj
--233 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.123 500.822 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.218 500.822 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-237.922 500.822 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-305.995 500.822 Td
-/F122_0 9.9626 Tf
-(when) 21.579 Tj
--233 TJm
-(there) 19.9152 Tj
--232 TJm
-(is) 6.6451 Tj
--233 TJm
-(an) 9.4047 Tj
--233 TJm
-(error) 19.3573 Tj
--233 TJm
-(reading) 29.8778 Tj
--232 TJm
-(or) 8.2988 Tj
--233 TJm
-(writing) 28.782 Tj
--233 TJm
-(in) 7.7509 Tj
--233 TJm
-(the) 12.1743 Tj
--232 TJm
-(compressed) 47.0334 Tj
-108 488.867 Td
-(\002le,) 15.2229 Tj
--384 TJm
-(and) 14.386 Tj
--357 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-158.511 488.867 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-245.755 488.867 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-263.698 488.867 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-356.92 488.867 Td
-/F122_0 9.9626 Tf
-(for) 11.6164 Tj
--357 TJm
-(attempts) 33.7633 Tj
--357 TJm
-(to) 7.7509 Tj
--357 TJm
-(use) 13.2801 Tj
--357 TJm
-(a) 4.4234 Tj
--357 TJm
-(\002le) 12.7322 Tj
--357 TJm
-(for) 11.6164 Tj
--358 TJm
-(which) 24.3486 Tj
--357 TJm
-(the) 12.1743 Tj
--357 TJm
-(error) 19.3573 Tj
-108 476.912 Td
-(indicator) 35.417 Tj
--260 TJm
-(\(viz,) 17.9825 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.603 476.912 Td
-/F124_0 9.9626 Tf
-(ferror\(f\)) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-220.401 476.912 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--260 TJm
-(is) 6.6451 Tj
--260 TJm
-(set.) 13.5591 Tj
--680 TJm
-(On) 12.1743 Tj
--259 TJm
-(receipt) 27.1082 Tj
--260 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-311.223 476.912 Td
-/F124_0 9.9626 Tf
-(BZ_IO_ERROR) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-376.976 476.912 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--260 TJm
-(the) 12.1743 Tj
--260 TJm
-(caller) 22.1269 Tj
--260 TJm
-(should) 26.5703 Tj
--260 TJm
-(consult) 28.782 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-482.068 476.912 Td
-/F124_0 9.9626 Tf
-(errno) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-514.546 476.912 Td
-/F122_0 9.9626 Tf
-(and/or) 25.4544 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 464.956 Td
-/F124_0 9.9626 Tf
-(perror) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-146.356 464.956 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(acquire) 29.3199 Tj
--250 TJm
-(operating-system) 68.6224 Tj
--250 TJm
-(speci\002c) 30.4357 Tj
--250 TJm
-(information) 47.0434 Tj
--250 TJm
-(about) 22.1369 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem.) 35.696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 439.054 Td
-/F124_0 9.9626 Tf
-(BZ_UNEXPECTED_EOF) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 427.099 Td
-/F122_0 9.9626 Tf
-(Returned) 36.5229 Tj
--250 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.467 427.099 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.733 427.099 Td
-/F122_0 9.9626 Tf
-(when) 21.579 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(\002nishes) 30.4457 Tj
--250 TJm
-(before) 25.4445 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(logical) 27.1182 Tj
--250 TJm
-(end) 14.386 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(detected.) 35.686 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 401.196 Td
-/F124_0 9.9626 Tf
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-108 389.241 Td
-/F122_0 9.9626 Tf
-(Returned) 36.5229 Tj
--258 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.632 389.241 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.4614 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-305.668 389.241 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-322.627 389.241 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.4166 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-480.617 389.241 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--258 TJm
-(indicate) 31.5416 Tj
--259 TJm
-(that) 14.9439 Tj
-108 377.285 Td
-(the) 12.1743 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(\002t) 8.3088 Tj
--250 TJm
-(into) 15.5018 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--250 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vided.) 24.6275 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 328.585 Td
-/F116_0 20.6585 Tf
-(3.3.) 34.4584 Tj
--278 TJm
-(Lo) 25.2447 Tj
-15 TJm
-(w-le) 40.1808 Tj
-15 TJm
-(vel) 28.7153 Tj
--278 TJm
-(interface) 86.1046 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 297.964 Td
-/F116_0 17.2154 Tf
-(3.3.1.) 43.0729 Tj
--278 TJm
-(BZ2_bzCompressInit) 171.2244 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.852 Td
-/F122_0 9.9626 Tf
-(11) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 12 15
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 445.031] cm
-0 0 468 274.969 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(typedef) 41.8429 Tj
--426 TJm
-(struct) 35.8654 Tj
--426 TJm
-({) 5.9776 Tj
-98.488 699.676 Td
-(char) 23.9102 Tj
-126.642 697.933 Td
-(*) 5.9776 Tj
-132.62 699.676 Td
-(next_in;) 47.8205 Tj
-98.488 687.721 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(avail_in;) 53.798 Tj
-98.488 675.766 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_in_lo32;) 83.6858 Tj
-98.488 663.811 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_in_hi32;) 83.6858 Tj
-98.488 639.9 Td
-(char) 23.9102 Tj
-126.642 638.157 Td
-(*) 5.9776 Tj
-132.62 639.9 Td
-(next_out;) 53.798 Tj
-98.488 627.945 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(avail_out;) 59.7756 Tj
-98.488 615.99 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_out_lo32;) 89.6634 Tj
-98.488 604.035 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_out_hi32;) 89.6634 Tj
-98.488 580.124 Td
-(void) 23.9102 Tj
-126.642 578.381 Td
-(*) 5.9776 Tj
-132.62 580.124 Td
-(state;) 35.8654 Tj
-98.488 556.214 Td
-(void) 23.9102 Tj
-126.642 554.471 Td
-(*) 5.9776 Tj
-132.62 556.214 Td
-(\() 5.9776 Tj
-138.597 554.471 Td
-(*) 5.9776 Tj
-144.575 556.214 Td
-(bzalloc\)\(void) 77.7083 Tj
-226.528 554.471 Td
-(*) 5.9776 Tj
-232.505 556.214 Td
-(,int,int\);) 59.7756 Tj
-98.488 544.259 Td
-(void) 23.9102 Tj
--426 TJm
-(\() 5.9776 Tj
-132.62 542.515 Td
-(*) 5.9776 Tj
-138.597 544.259 Td
-(bzfree\)\(void) 71.7307 Tj
-214.572 542.515 Td
-(*) 5.9776 Tj
-220.55 544.259 Td
-(,void) 29.8878 Tj
-254.682 542.515 Td
-(*) 5.9776 Tj
-260.659 544.259 Td
-(\);) 11.9551 Tj
-98.488 532.304 Td
-(void) 23.9102 Tj
-126.642 530.56 Td
-(*) 5.9776 Tj
-132.62 532.304 Td
-(opaque;) 41.8429 Tj
-90 520.349 Td
-(}) 5.9776 Tj
--426 TJm
-(bz_stream;) 59.7756 Tj
-90 496.438 Td
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzCompressInit) 107.5961 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-292.281 494.695 Td
-(*) 5.9776 Tj
-298.259 496.438 Td
-(strm,) 29.8878 Tj
-196.099 484.483 Td
-(int) 17.9327 Tj
--426 TJm
-(blockSize100k,) 83.6858 Tj
-196.099 472.528 Td
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
-196.099 460.573 Td
-(int) 17.9327 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 423.113 Td
-/F122_0 9.9626 Tf
-(Prepares) 34.3012 Tj
--356 TJm
-(for) 11.6164 Tj
--356 TJm
-(compression.) 52.8516 Tj
--1256 TJm
-(The) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-209.41 423.113 Td
-/F124_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-266.754 423.113 Td
-/F122_0 9.9626 Tf
-(structure) 34.8591 Tj
--356 TJm
-(holds) 21.589 Tj
--356 TJm
-(all) 9.9626 Tj
--356 TJm
-(data) 16.5977 Tj
--356 TJm
-(pertaining) 40.3983 Tj
--356 TJm
-(to) 7.7509 Tj
--356 TJm
-(the) 12.1743 Tj
--356 TJm
-(compression) 50.3609 Tj
--355 TJm
-(acti) 14.386 Tj
-25 TJm
-(vity) 15.5018 Tj
-65 TJm
-(.) 2.4907 Tj
--1256 TJm
-(A) 7.193 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 411.158 Td
-/F124_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-128.581 411.158 Td
-/F122_0 9.9626 Tf
-(structure) 34.8591 Tj
--279 TJm
-(should) 26.5703 Tj
--280 TJm
-(be) 9.4047 Tj
--279 TJm
-(allocated) 35.965 Tj
--279 TJm
-(and) 14.386 Tj
--280 TJm
-(initialised) 39.3025 Tj
--279 TJm
-(prior) 19.3673 Tj
--279 TJm
-(to) 7.7509 Tj
--279 TJm
-(the) 12.1743 Tj
--280 TJm
-(call.) 16.8766 Tj
--796 TJm
-(The) 15.4918 Tj
--279 TJm
-(\002elds) 21.589 Tj
--279 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-431.939 411.158 Td
-/F124_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-488.52 411.158 Td
-/F122_0 9.9626 Tf
-(comprise) 36.5229 Tj
--279 TJm
-(the) 12.1743 Tj
-72 399.203 Td
-(entirety) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(user) 16.5977 Tj
-20 TJm
-(-visible) 29.8878 Tj
--250 TJm
-(data.) 19.0883 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-204.422 399.203 Td
-/F124_0 9.9626 Tf
-(state) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-236.8 399.203 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(pointer) 28.224 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(pri) 11.0684 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ate) 11.6164 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(structures) 38.7346 Tj
--250 TJm
-(required) 33.1954 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(compression.) 52.8516 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 377.285 Td
-(Custom) 31.0036 Tj
--372 TJm
-(memory) 33.2053 Tj
--372 TJm
-(allocators) 38.7346 Tj
--372 TJm
-(are) 12.1643 Tj
--372 TJm
-(supported,) 41.7831 Tj
--403 TJm
-(via) 12.1743 Tj
--372 TJm
-(\002elds) 21.589 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-288.908 377.285 Td
-/F124_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-330.751 377.285 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-337.253 377.285 Td
-/F124_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-373.118 377.285 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--403 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-397.714 377.285 Td
-/F124_0 9.9626 Tf
-(opaque) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-433.579 377.285 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1353 TJm
-(The) 15.4918 Tj
--372 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-493.782 377.285 Td
-/F124_0 9.9626 Tf
-(opaque) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-533.355 377.285 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
-72 365.33 Td
-(passed) 26.5603 Tj
--306 TJm
-(to) 7.7509 Tj
--306 TJm
-(as) 8.2988 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(\002rst) 15.5018 Tj
--306 TJm
-(ar) 7.7409 Tj
-18 TJm
-(gument) 29.8878 Tj
--306 TJm
-(to) 7.7509 Tj
--306 TJm
-(all) 9.9626 Tj
--306 TJm
-(calls) 18.2614 Tj
--305 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-253.941 365.33 Td
-/F124_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-298.832 365.33 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-316.266 365.33 Td
-/F124_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-352.132 365.33 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--320 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--306 TJm
-(is) 6.6451 Tj
--306 TJm
-(otherwise) 38.7346 Tj
--306 TJm
-(ignored) 30.4357 Tj
--306 TJm
-(by) 9.9626 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
--955 TJm
-(The) 15.4918 Tj
-72 353.375 Td
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-89.431 353.375 Td
-/F124_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
--600 TJm
-(\() 5.9776 Tj
--600 TJm
-(opaque,) 41.8429 Tj
--600 TJm
-(n,) 11.9551 Tj
--600 TJm
-(m) 5.9776 Tj
--600 TJm
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-235.938 353.375 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--306 TJm
-(e) 4.4234 Tj
-15 TJm
-(xpected) 30.9837 Tj
--305 TJm
-(to) 7.7509 Tj
--306 TJm
-(return) 23.7907 Tj
--306 TJm
-(a) 4.4234 Tj
--305 TJm
-(pointer) 28.224 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-360.3 353.375 Td
-/F124_0 9.9626 Tf
-(p) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-369.322 353.375 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-380.118 353.375 Td
-/F124_0 9.9626 Tf
-(n) 5.9776 Tj
-392.073 351.631 Td
-(*) 5.9776 Tj
-404.029 353.375 Td
-(m) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-413.051 353.375 Td
-/F122_0 9.9626 Tf
-(bytes) 21.031 Tj
--306 TJm
-(of) 8.2988 Tj
--305 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.4907 Tj
--320 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-504.135 353.375 Td
-/F124_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-72 341.42 Td
-(\() 5.9776 Tj
--600 TJm
-(opaque,) 41.8429 Tj
--600 TJm
-(p) 5.9776 Tj
--600 TJm
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-152.199 341.42 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--250 TJm
-(free) 15.4819 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 319.502 Td
-(If) 6.6351 Tj
--280 TJm
-(you) 14.9439 Tj
--280 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--280 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--279 TJm
-(to) 7.7509 Tj
--280 TJm
-(use) 13.2801 Tj
--280 TJm
-(a) 4.4234 Tj
--280 TJm
-(custom) 28.782 Tj
--280 TJm
-(memory) 33.2053 Tj
--279 TJm
-(allocator) 34.8591 Tj
-40 TJm
-(,) 2.4907 Tj
--288 TJm
-(set) 11.0684 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-299.9 319.502 Td
-/F124_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-341.743 319.502 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-347.096 319.502 Td
-/F124_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-385.749 319.502 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-402.923 319.502 Td
-/F124_0 9.9626 Tf
-(opaque) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-441.576 319.502 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-452.115 319.502 Td
-/F124_0 9.9626 Tf
-(NULL) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-476.025 319.502 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--280 TJm
-(and) 14.386 Tj
--280 TJm
-(the) 12.1743 Tj
--280 TJm
-(library) 26.5603 Tj
-72 307.547 Td
-(will) 15.5018 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(standard) 33.7533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-176.318 307.547 Td
-/F124_0 9.9626 Tf
-(malloc) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-214.674 307.547 Td
-/F122_0 9.9626 Tf
-(/) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-219.934 307.547 Td
-/F124_0 9.9626 Tf
-(free) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-246.335 307.547 Td
-/F122_0 9.9626 Tf
-(routines.) 34.5901 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 285.629 Td
-(Before) 27.1082 Tj
--362 TJm
-(calling) 27.1182 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-133.438 285.629 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-241.035 285.629 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--390 TJm
-(\002elds) 21.589 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-272.606 285.629 Td
-/F124_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-314.449 285.629 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-320.825 285.629 Td
-/F124_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-360.296 285.629 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-378.289 285.629 Td
-/F124_0 9.9626 Tf
-(opaque) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-417.76 285.629 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--362 TJm
-(be) 9.4047 Tj
--362 TJm
-(\002lled) 20.4831 Tj
--362 TJm
-(appropriately) 53.1206 Tj
-65 TJm
-(,) 2.4907 Tj
-72 273.674 Td
-(as) 8.2988 Tj
--322 TJm
-(just) 14.396 Tj
--323 TJm
-(described.) 40.6673 Tj
--1055 TJm
-(Upon) 22.1369 Tj
--322 TJm
-(return,) 26.2813 Tj
--341 TJm
-(the) 12.1743 Tj
--322 TJm
-(internal) 30.4357 Tj
--323 TJm
-(state) 18.2614 Tj
--322 TJm
-(will) 15.5018 Tj
--323 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--322 TJm
-(been) 18.8094 Tj
--323 TJm
-(allocated) 35.965 Tj
--322 TJm
-(and) 14.386 Tj
--323 TJm
-(initialised,) 41.7931 Tj
--340 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-459.801 273.674 Td
-/F124_0 9.9626 Tf
-(total_in_lo32) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 273.674 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 261.718 Td
-/F124_0 9.9626 Tf
-(total_in_hi32) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-149.709 261.718 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-155.006 261.718 Td
-/F124_0 9.9626 Tf
-(total_out_lo32) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-241.435 261.718 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-258.564 261.718 Td
-/F124_0 9.9626 Tf
-(total_out_hi32) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-344.994 261.718 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--275 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--276 TJm
-(been) 18.8094 Tj
--275 TJm
-(set) 11.0684 Tj
--275 TJm
-(to) 7.7509 Tj
--276 TJm
-(zero.) 19.6363 Tj
--772 TJm
-(These) 23.7907 Tj
--275 TJm
-(four) 16.5977 Tj
--275 TJm
-(\002elds) 21.589 Tj
--276 TJm
-(are) 12.1643 Tj
-72 249.763 Td
-(used) 18.2614 Tj
--340 TJm
-(by) 9.9626 Tj
--339 TJm
-(the) 12.1743 Tj
--340 TJm
-(library) 26.5603 Tj
--339 TJm
-(to) 7.7509 Tj
--340 TJm
-(inform) 27.1182 Tj
--339 TJm
-(the) 12.1743 Tj
--340 TJm
-(caller) 22.1269 Tj
--339 TJm
-(of) 8.2988 Tj
--340 TJm
-(the) 12.1743 Tj
--339 TJm
-(total) 17.7135 Tj
--340 TJm
-(amount) 29.8878 Tj
--339 TJm
-(of) 8.2988 Tj
--340 TJm
-(data) 16.5977 Tj
--340 TJm
-(passed) 26.5603 Tj
--339 TJm
-(into) 15.5018 Tj
--340 TJm
-(and) 14.386 Tj
--339 TJm
-(out) 12.7322 Tj
--340 TJm
-(of) 8.2988 Tj
--339 TJm
-(the) 12.1743 Tj
--340 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--362 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.4907 Tj
-72 237.808 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--376 TJm
-(should) 26.5703 Tj
--377 TJm
-(not) 12.7322 Tj
--376 TJm
-(try) 11.0684 Tj
--376 TJm
-(to) 7.7509 Tj
--377 TJm
-(change) 28.2141 Tj
--376 TJm
-(them.) 22.4159 Tj
--1378 TJm
-(As) 11.0684 Tj
--377 TJm
-(of) 8.2988 Tj
--376 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--377 TJm
-(1.0,) 14.9439 Tj
--408 TJm
-(64-bit) 23.8007 Tj
--376 TJm
-(counts) 26.0123 Tj
--376 TJm
-(are) 12.1643 Tj
--377 TJm
-(maintained,) 46.7644 Tj
--408 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--376 TJm
-(on) 9.9626 Tj
--376 TJm
-(32-bit) 23.8007 Tj
--377 TJm
-(platforms,) 40.6773 Tj
-72 225.853 Td
-(using) 21.589 Tj
--371 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-113.148 225.853 Td
-/F124_0 9.9626 Tf
-(_hi32) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-146.729 225.853 Td
-/F122_0 9.9626 Tf
-(\002elds) 21.589 Tj
--371 TJm
-(to) 7.7509 Tj
--370 TJm
-(store) 19.3673 Tj
--371 TJm
-(the) 12.1743 Tj
--371 TJm
-(upper) 22.6848 Tj
--370 TJm
-(32) 9.9626 Tj
--371 TJm
-(bits) 14.396 Tj
--370 TJm
-(of) 8.2988 Tj
--371 TJm
-(the) 12.1743 Tj
--371 TJm
-(count.) 24.6275 Tj
--1344 TJm
-(So,) 13.0112 Tj
--400 TJm
-(for) 11.6164 Tj
--371 TJm
-(e) 4.4234 Tj
-15 TJm
-(xample,) 31.8205 Tj
--401 TJm
-(the) 12.1743 Tj
--371 TJm
-(total) 17.7135 Tj
--370 TJm
-(amount) 29.8878 Tj
--371 TJm
-(of) 8.2988 Tj
--370 TJm
-(data) 16.5977 Tj
--371 TJm
-(in) 7.7509 Tj
--371 TJm
-(is) 6.6451 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 213.898 Td
-/F124_0 9.9626 Tf
-(\(total_in_hi32) 83.6858 Tj
--600 TJm
-(<<) 11.9551 Tj
--600 TJm
-(32\)) 17.9327 Tj
--600 TJm
-(+) 5.9776 Tj
--600 TJm
-(total_in_lo32) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-293.171 213.898 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 191.98 Td
-(P) 5.5392 Tj
-15 TJm
-(arameter) 34.8492 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-115.367 191.98 Td
-/F124_0 9.9626 Tf
-(blockSize100k) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-196.205 191.98 Td
-/F122_0 9.9626 Tf
-(speci\002es) 34.3112 Tj
--314 TJm
-(the) 12.1743 Tj
--314 TJm
-(block) 22.1369 Tj
--314 TJm
-(size) 15.4918 Tj
--314 TJm
-(to) 7.7509 Tj
--314 TJm
-(be) 9.4047 Tj
--314 TJm
-(used) 18.2614 Tj
--314 TJm
-(for) 11.6164 Tj
--314 TJm
-(compression.) 52.8516 Tj
--1004 TJm
-(It) 6.0871 Tj
--314 TJm
-(should) 26.5703 Tj
--314 TJm
-(be) 9.4047 Tj
--314 TJm
-(a) 4.4234 Tj
--315 TJm
-(v) 4.9813 Tj
-25 TJm
-(al) 7.193 Tj
-1 TJm
-(u) 4.9813 Tj
--1 TJm
-(e) 4.4234 Tj
--314 TJm
-(between) 33.1954 Tj
--314 TJm
-(1) 4.9813 Tj
-72 180.025 Td
-(and) 14.386 Tj
--289 TJm
-(9) 4.9813 Tj
--289 TJm
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
--299 TJm
-(and) 14.386 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(actual) 23.7907 Tj
--289 TJm
-(block) 22.1369 Tj
--289 TJm
-(size) 15.4918 Tj
--289 TJm
-(used) 18.2614 Tj
--289 TJm
-(is) 6.6451 Tj
--289 TJm
-(100000) 29.8878 Tj
--289 TJm
-(x) 4.9813 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(\002gure.) 25.7334 Tj
--854 TJm
-(9) 4.9813 Tj
--290 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(best) 16.0497 Tj
--289 TJm
-(compression) 50.3609 Tj
--289 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--289 TJm
-(tak) 12.1743 Tj
-10 TJm
-(es) 8.2988 Tj
--289 TJm
-(most) 19.3773 Tj
-72 168.07 Td
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 146.152 Td
-(P) 5.5392 Tj
-15 TJm
-(arameter) 34.8492 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-115.095 146.152 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-171.75 146.152 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--287 TJm
-(be) 9.4047 Tj
--286 TJm
-(set) 11.0684 Tj
--287 TJm
-(to) 7.7509 Tj
--287 TJm
-(a) 4.4234 Tj
--287 TJm
-(number) 30.4357 Tj
--286 TJm
-(between) 33.1954 Tj
--287 TJm
-(0) 4.9813 Tj
--287 TJm
-(and) 14.386 Tj
--287 TJm
-(4) 4.9813 Tj
--286 TJm
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.914 Tj
--841 TJm
-(0) 4.9813 Tj
--286 TJm
-(is) 6.6451 Tj
--287 TJm
-(silent,) 24.0796 Tj
--296 TJm
-(and) 14.386 Tj
--287 TJm
-(greater) 27.6562 Tj
--287 TJm
-(numbers) 34.3112 Tj
--286 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
-72 134.197 Td
-(increasingly) 48.6972 Tj
--342 TJm
-(v) 4.9813 Tj
-15 TJm
-(erbose) 26.0024 Tj
--342 TJm
-(monitoring/deb) 61.4394 Tj
-20 TJm
-(ugging) 27.6761 Tj
--342 TJm
-(output.) 27.9551 Tj
--1173 TJm
-(If) 6.6351 Tj
--343 TJm
-(the) 12.1743 Tj
--342 TJm
-(library) 26.5603 Tj
--342 TJm
-(has) 13.2801 Tj
--342 TJm
-(been) 18.8094 Tj
--342 TJm
-(compiled) 37.0808 Tj
--342 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-446.429 134.197 Td
-/F124_0 9.9626 Tf
-(-DBZ_NO_STDIO) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-524.138 134.197 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--342 TJm
-(no) 9.9626 Tj
-72 122.241 Td
-(such) 18.2614 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(appear) 26.5503 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(erbosity) 32.0995 Tj
--250 TJm
-(setting.) 29.0609 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 100.324 Td
-(P) 5.5392 Tj
-15 TJm
-(arameter) 34.8492 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-116.619 100.324 Td
-/F124_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-180.775 100.324 Td
-/F122_0 9.9626 Tf
-(controls) 32.0995 Tj
--440 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--439 TJm
-(the) 12.1743 Tj
--440 TJm
-(compression) 50.3609 Tj
--439 TJm
-(phase) 22.6848 Tj
--440 TJm
-(beha) 18.8094 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--440 TJm
-(when) 21.579 Tj
--439 TJm
-(presented) 38.1767 Tj
--440 TJm
-(with) 17.7135 Tj
--440 TJm
-(w) 7.193 Tj
-10 TJm
-(orst) 14.9439 Tj
--439 TJm
-(case,) 19.6363 Tj
--487 TJm
-(highly) 25.4644 Tj
-72 88.368 Td
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
--433 TJm
-(input) 20.4831 Tj
--396 TJm
-(data.) 19.0883 Tj
--1496 TJm
-(If) 6.6351 Tj
--396 TJm
-(compression) 50.3609 Tj
--396 TJm
-(runs) 17.1556 Tj
--397 TJm
-(i) 2.7696 Tj
-1 TJm
-(nto) 12.7322 Tj
--397 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties) 31.5516 Tj
--396 TJm
-(caused) 27.1082 Tj
--396 TJm
-(by) 9.9626 Tj
--396 TJm
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--396 TJm
-(data,) 19.0883 Tj
--432 TJm
-(the) 12.1743 Tj
--397 TJm
-(library) 26.5603 Tj
--396 TJm
-(switches) 34.3112 Tj
--396 TJm
-(from) 19.3673 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.852 Td
-(12) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 13 16
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(the) 12.1743 Tj
--255 TJm
-(standard) 33.7533 Tj
--254 TJm
-(sorting) 27.6761 Tj
--255 TJm
-(algorithm) 38.7446 Tj
--254 TJm
-(to) 7.7509 Tj
--255 TJm
-(a) 4.4234 Tj
--255 TJm
-(f) 3.3175 Tj
-10 TJm
-(allback) 28.772 Tj
--254 TJm
-(algorithm.) 41.2352 Tj
--648 TJm
-(The) 15.4918 Tj
--255 TJm
-(f) 3.3175 Tj
-10 TJm
-(allback) 28.772 Tj
--254 TJm
-(is) 6.6451 Tj
--255 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wer) 14.9339 Tj
--255 TJm
-(than) 17.1556 Tj
--254 TJm
-(the) 12.1743 Tj
--255 TJm
-(standard) 33.7533 Tj
--254 TJm
-(algorithm) 38.7446 Tj
--255 TJm
-(by) 9.9626 Tj
--255 TJm
-(perhaps) 30.9837 Tj
-72 698.082 Td
-(a) 4.4234 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(actor) 19.9152 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(three,) 22.4059 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--250 TJm
-(reasonably) 43.158 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(matter) 25.4544 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(bad) 14.386 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(input.) 22.9738 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 676.268 Td
-(Lo) 11.0684 Tj
-25 TJm
-(wer) 14.9339 Tj
--240 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--239 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-138.421 676.268 Td
-/F124_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.585 676.268 Td
-/F122_0 9.9626 Tf
-(reduce) 26.5503 Tj
--240 TJm
-(the) 12.1743 Tj
--239 TJm
-(amount) 29.8878 Tj
--240 TJm
-(of) 8.2988 Tj
--240 TJm
-(ef) 7.7409 Tj
-25 TJm
-(fort) 14.386 Tj
--239 TJm
-(the) 12.1743 Tj
--240 TJm
-(standard) 33.7533 Tj
--240 TJm
-(algorithm) 38.7446 Tj
--240 TJm
-(wi) 9.9626 Tj
-1 TJm
-(ll) 5.5392 Tj
--240 TJm
-(e) 4.4234 Tj
-15 TJm
-(xpend) 24.3486 Tj
--240 TJm
-(before) 25.4445 Tj
--240 TJm
-(resorting) 35.417 Tj
--239 TJm
-(to) 7.7509 Tj
--240 TJm
-(the) 12.1743 Tj
-72 664.313 Td
-(f) 3.3175 Tj
-10 TJm
-(allback.) 31.2626 Tj
--618 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--248 TJm
-(should) 26.5703 Tj
--247 TJm
-(set) 11.0684 Tj
--248 TJm
-(this) 14.396 Tj
--247 TJm
-(parameter) 39.8305 Tj
--248 TJm
-(carefully;) 38.1767 Tj
--248 TJm
-(too) 12.7322 Tj
--248 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.4907 Tj
--248 TJm
-(and) 14.386 Tj
--247 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--248 TJm
-(inputs) 24.3586 Tj
--248 TJm
-(will) 15.5018 Tj
--247 TJm
-(be) 9.4047 Tj
--248 TJm
-(handled) 31.5416 Tj
--247 TJm
-(by) 9.9626 Tj
--248 TJm
-(the) 12.1743 Tj
--247 TJm
-(f) 3.3175 Tj
-10 TJm
-(allback) 28.772 Tj
--248 TJm
-(algorithm) 38.7446 Tj
-72 652.358 Td
-(and) 14.386 Tj
--308 TJm
-(so) 8.8568 Tj
--308 TJm
-(compress) 37.6287 Tj
--308 TJm
-(rather) 23.2328 Tj
--309 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
-65 TJm
-(,) 2.4907 Tj
--322 TJm
-(too) 12.7322 Tj
--309 TJm
-(high,) 20.2042 Tj
--322 TJm
-(and) 14.386 Tj
--308 TJm
-(your) 18.2614 Tj
--309 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(erage-to-w) 43.148 Tj
-10 TJm
-(orst) 14.9439 Tj
--308 TJm
-(case) 17.1456 Tj
--308 TJm
-(compression) 50.3609 Tj
--308 TJm
-(times) 21.589 Tj
--308 TJm
-(can) 13.8281 Tj
--308 TJm
-(become) 30.9837 Tj
--309 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--308 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge.) 11.8953 Tj
-72 640.402 Td
-(The) 15.4918 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(30) 9.9626 Tj
--250 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--250 TJm
-(reasonable) 42.6001 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--250 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(wide) 19.3673 Tj
--250 TJm
-(range) 22.1269 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(circumstances.) 58.9288 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 618.588 Td
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--250 TJm
-(range) 22.1269 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(0) 4.9813 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(250) 14.9439 Tj
--250 TJm
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.914 Tj
--620 TJm
-(0) 4.9813 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(special) 27.6661 Tj
--250 TJm
-(case,) 19.6363 Tj
--250 TJm
-(equi) 17.1556 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(alent) 19.3673 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(30.) 12.4533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 596.774 Td
-(Note) 19.3673 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(generated) 38.7246 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(same) 20.4731 Tj
--250 TJm
-(re) 7.7409 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(ardless) 27.6661 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(whether) 32.0895 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(allback) 28.772 Tj
--250 TJm
-(algorithm) 38.7446 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(used.) 20.7521 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 574.96 Td
-(Be) 11.0684 Tj
--303 TJm
-(a) 4.4234 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(are) 12.1643 Tj
--303 TJm
-(also) 16.0497 Tj
--303 TJm
-(that) 14.9439 Tj
--303 TJm
-(this) 14.396 Tj
--304 TJm
-(parameter) 39.8305 Tj
--303 TJm
-(may) 17.1556 Tj
--303 TJm
-(disappear) 38.1767 Tj
--303 TJm
-(entirely) 30.4357 Tj
--303 TJm
-(in) 7.7509 Tj
--303 TJm
-(future) 23.7907 Tj
--303 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--303 TJm
-(of) 8.2988 Tj
--303 TJm
-(the) 12.1743 Tj
--304 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
--938 TJm
-(In) 8.2988 Tj
--303 TJm
-(principle) 35.417 Tj
--303 TJm
-(it) 5.5392 Tj
--304 TJm
-(should) 26.5703 Tj
--303 TJm
-(be) 9.4047 Tj
-72 563.005 Td
-(possible) 32.6574 Tj
--270 TJm
-(to) 7.7509 Tj
--270 TJm
-(de) 9.4047 Tj
-25 TJm
-(vise) 16.0497 Tj
--270 TJm
-(a) 4.4234 Tj
--270 TJm
-(good) 19.9252 Tj
--270 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--270 TJm
-(to) 7.7509 Tj
--271 TJm
-(automat) 32.0995 Tj
-1 TJm
-(ically) 22.1369 Tj
--271 TJm
-(choose) 27.6661 Tj
--270 TJm
-(which) 24.3486 Tj
--270 TJm
-(algorithm) 38.7446 Tj
--270 TJm
-(to) 7.7509 Tj
--270 TJm
-(use.) 15.7708 Tj
--740 TJm
-(Such) 19.9252 Tj
--270 TJm
-(a) 4.4234 Tj
--270 TJm
-(mechanism) 45.3796 Tj
--271 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--270 TJm
-(render) 25.4445 Tj
--270 TJm
-(the) 12.1743 Tj
-72 551.049 Td
-(parameter) 39.8305 Tj
--250 TJm
-(obsolete.) 35.696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 529.235 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 384.677] cm
-0 0 468 143.462 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 519.771 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.488 507.816 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 495.86 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 483.905 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 471.95 Td
-(or) 11.9551 Tj
--426 TJm
-(blockSize) 53.798 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(1) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(blockSize) 53.798 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(9) 5.9776 Tj
-98.488 459.995 Td
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(4) 5.9776 Tj
-98.488 448.04 Td
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(250) 17.9327 Tj
-90 436.085 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 424.129 Td
-(if) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(enough) 35.8654 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 412.174 Td
-(BZ_OK) 29.8878 Tj
-98.488 400.219 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 362.863 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 313.947] cm
-0 0 468 47.821 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 353.399 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-98.488 341.444 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(returned) 47.8205 Tj
-98.488 329.488 Td
-(no) 11.9551 Tj
--426 TJm
-(specific) 47.8205 Tj
--426 TJm
-(action) 35.8654 Tj
--426 TJm
-(needed) 35.8654 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(case) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 283.429 Td
-/F116_0 17.2154 Tf
-(3.3.2.) 43.0729 Tj
--278 TJm
-(BZ2_bzCompress) 145.4013 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 254.959] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 270.501 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzCompress) 83.6858 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-268.371 268.757 Td
-(*) 5.9776 Tj
-274.348 270.501 Td
-(strm,) 29.8878 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(action) 35.8654 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 233.145 Td
-/F122_0 9.9626 Tf
-(Pro) 13.8381 Tj
-15 TJm
-(vides) 21.031 Tj
--222 TJm
-(more) 20.4731 Tj
--221 TJm
-(input) 20.4831 Tj
--222 TJm
-(and/or) 25.4544 Tj
--222 TJm
-(output) 25.4644 Tj
--222 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--221 TJm
-(space) 22.1269 Tj
--222 TJm
-(for) 11.6164 Tj
--222 TJm
-(the) 12.1743 Tj
--221 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
--601 TJm
-(The) 15.4918 Tj
--222 TJm
-(caller) 22.1269 Tj
--222 TJm
-(maintains) 38.7446 Tj
--222 TJm
-(input) 20.4831 Tj
--221 TJm
-(and) 14.386 Tj
--222 TJm
-(output) 25.4644 Tj
--222 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fers,) 17.4246 Tj
--227 TJm
-(and) 14.386 Tj
--222 TJm
-(calls) 18.2614 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 221.19 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-158.177 221.19 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(transfer) 30.4258 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(between) 33.1954 Tj
--250 TJm
-(them.) 22.4159 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 199.375 Td
-(Before) 27.1082 Tj
--212 TJm
-(each) 18.2515 Tj
--213 TJm
-(call) 14.386 Tj
--212 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-147.961 199.375 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-231.647 199.375 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-236.329 199.375 Td
-/F124_0 9.9626 Tf
-(next_in) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-280.288 199.375 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--212 TJm
-(point) 20.4831 Tj
--213 TJm
-(at) 7.193 Tj
--212 TJm
-(the) 12.1743 Tj
--213 TJm
-(data) 16.5977 Tj
--212 TJm
-(to) 7.7509 Tj
--213 TJm
-(be) 9.4047 Tj
--212 TJm
-(compressed,) 49.5241 Tj
--220 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-463.493 199.375 Td
-/F124_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-513.43 199.375 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
-72 187.42 Td
-(indicate) 31.5416 Tj
--246 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--247 TJm
-(m) 7.7509 Tj
-1 TJm
-(an) 9.4047 Tj
-14 TJm
-(y) 4.9813 Tj
--246 TJm
-(bytes) 21.031 Tj
--246 TJm
-(the) 12.1743 Tj
--246 TJm
-(library) 26.5603 Tj
--247 TJm
-(may) 17.1556 Tj
--246 TJm
-(read.) 19.6363 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-259.242 187.42 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-345.382 187.42 Td
-/F122_0 9.9626 Tf
-(updates) 30.4357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-378.271 187.42 Td
-/F124_0 9.9626 Tf
-(next_in) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-420.114 187.42 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-425.066 187.42 Td
-/F124_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-475.34 187.42 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-492.179 187.42 Td
-/F124_0 9.9626 Tf
-(total_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 175.465 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(read.) 19.6363 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 153.651 Td
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-113.611 153.651 Td
-/F124_0 9.9626 Tf
-(next_out) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-164.072 153.651 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--265 TJm
-(point) 20.4831 Tj
--265 TJm
-(to) 7.7509 Tj
--265 TJm
-(a) 4.4234 Tj
--265 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--265 TJm
-(in) 7.7509 Tj
--265 TJm
-(which) 24.3486 Tj
--265 TJm
-(the) 12.1743 Tj
--265 TJm
-(compressed) 47.0334 Tj
--265 TJm
-(data) 16.5977 Tj
--265 TJm
-(is) 6.6451 Tj
--265 TJm
-(to) 7.7509 Tj
--265 TJm
-(be) 9.4047 Tj
--265 TJm
-(placed,) 28.493 Tj
--269 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-464.742 153.651 Td
-/F124_0 9.9626 Tf
-(avail_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-521.181 153.651 Td
-/F122_0 9.9626 Tf
-(indi-) 18.8194 Tj
-72 141.696 Td
-(cating) 24.3486 Tj
--209 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--209 TJm
-(much) 22.1369 Tj
--209 TJm
-(output) 25.4644 Tj
--209 TJm
-(space) 22.1269 Tj
--209 TJm
-(is) 6.6451 Tj
--210 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-243.087 141.696 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-328.856 141.696 Td
-/F122_0 9.9626 Tf
-(updates) 30.4357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-361.375 141.696 Td
-/F124_0 9.9626 Tf
-(next_out) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-409.196 141.696 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-413.851 141.696 Td
-/F124_0 9.9626 Tf
-(avail_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-469.732 141.696 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-486.202 141.696 Td
-/F124_0 9.9626 Tf
-(total_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 129.74 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(output.) 27.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 107.926 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--272 TJm
-(may) 17.1556 Tj
--272 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--272 TJm
-(and) 14.386 Tj
--272 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--272 TJm
-(as) 8.2988 Tj
--272 TJm
-(little) 18.2714 Tj
--272 TJm
-(or) 8.2988 Tj
--272 TJm
-(as) 8.2988 Tj
--272 TJm
-(much) 22.1369 Tj
--271 TJm
-(data) 16.5977 Tj
--272 TJm
-(as) 8.2988 Tj
--272 TJm
-(you) 14.9439 Tj
--272 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--272 TJm
-(on) 9.9626 Tj
--272 TJm
-(each) 18.2515 Tj
--272 TJm
-(call) 14.386 Tj
--272 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-399.123 107.926 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-482.809 107.926 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--752 TJm
-(In) 8.2988 Tj
--272 TJm
-(the) 12.1743 Tj
--272 TJm
-(limit,) 21.32 Tj
-72 95.971 Td
-(it) 5.5392 Tj
--266 TJm
-(is) 6.6451 Tj
--265 TJm
-(acceptable) 42.0422 Tj
--266 TJm
-(to) 7.7509 Tj
--266 TJm
-(supply) 26.5703 Tj
--266 TJm
-(and) 14.386 Tj
--265 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--266 TJm
-(data) 16.5977 Tj
--266 TJm
-(one) 14.386 Tj
--265 TJm
-(byte) 17.1556 Tj
--266 TJm
-(at) 7.193 Tj
--266 TJm
-(a) 4.4234 Tj
--266 TJm
-(time,) 20.2042 Tj
--269 TJm
-(although) 34.8691 Tj
--266 TJm
-(this) 14.396 Tj
--266 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--265 TJm
-(be) 9.4047 Tj
--266 TJm
-(terribly) 29.3299 Tj
--266 TJm
-(inef) 15.4918 Tj
-25 TJm
-(\002cient.) 27.3972 Tj
--714 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--266 TJm
-(should) 26.5703 Tj
-72 84.016 Td
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--250 TJm
-(ensure) 26.0024 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(least) 18.2614 Tj
--250 TJm
-(one) 14.386 Tj
--250 TJm
-(byte) 17.1556 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(space) 22.1269 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(each) 18.2515 Tj
--250 TJm
-(call.) 16.8766 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(13) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 14 17
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(A) 7.193 Tj
--250 TJm
-(second) 27.6661 Tj
--250 TJm
-(purpose) 31.5416 Tj
--250 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-156.662 710.037 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-242.839 710.037 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(request) 28.772 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(change) 28.2141 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(mode) 22.1369 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 688.12 Td
-(Conceptually) 53.1305 Tj
-65 TJm
-(,) 2.4907 Tj
--217 TJm
-(a) 4.4234 Tj
--210 TJm
-(compressed) 47.0334 Tj
--209 TJm
-(stream) 26.5603 Tj
--209 TJm
-(can) 13.8281 Tj
--209 TJm
-(be) 9.4047 Tj
--210 TJm
-(in) 7.7509 Tj
--209 TJm
-(one) 14.386 Tj
--209 TJm
-(of) 8.2988 Tj
--209 TJm
-(four) 16.5977 Tj
--210 TJm
-(states:) 24.9065 Tj
--289 TJm
-(IDLE,) 25.1755 Tj
--209 TJm
-(R) 6.6451 Tj
-40 TJm
-(UNNING,) 41.7732 Tj
--210 TJm
-(FLUSHING) 49.2551 Tj
--209 TJm
-(and) 14.386 Tj
--209 TJm
-(FINISHING.) 52.2937 Tj
--419 TJm
-(Be-) 14.386 Tj
-72 676.164 Td
-(fore) 16.0398 Tj
--264 TJm
-(initialisation) 49.823 Tj
--263 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-146.434 676.164 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-254.031 676.164 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--264 TJm
-(and) 14.386 Tj
--263 TJm
-(after) 18.2515 Tj
--264 TJm
-(termination) 45.9375 Tj
--264 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-349.75 676.164 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-451.369 676.164 Td
-/F122_0 9.9626 Tf
-(\),) 5.8082 Tj
--267 TJm
-(a) 4.4234 Tj
--264 TJm
-(stream) 26.5603 Tj
--264 TJm
-(is) 6.6451 Tj
--263 TJm
-(re) 7.7409 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(arded) 22.1269 Tj
-72 664.209 Td
-(as) 8.2988 Tj
--250 TJm
-(IDLE.) 25.1755 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 642.291 Td
-(Upon) 22.1369 Tj
--389 TJm
-(initialisation) 49.823 Tj
--390 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-155.036 642.291 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-262.632 642.291 Td
-/F122_0 9.9626 Tf
-(\),) 5.8082 Tj
--424 TJm
-(the) 12.1743 Tj
--390 TJm
-(stream) 26.5603 Tj
--389 TJm
-(is) 6.6451 Tj
--390 TJm
-(placed) 26.0024 Tj
--389 TJm
-(in) 7.7509 Tj
--389 TJm
-(the) 12.1743 Tj
--390 TJm
-(R) 6.6451 Tj
-40 TJm
-(UNNING) 39.2825 Tj
--389 TJm
-(state.) 20.7521 Tj
--1457 TJm
-(Subsequent) 45.9375 Tj
--389 TJm
-(calls) 18.2614 Tj
-72 630.336 Td
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-83.818 630.336 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-171.571 630.336 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--408 TJm
-(pass) 17.1556 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-223.431 630.336 Td
-/F124_0 9.9626 Tf
-(BZ_RUN) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-263.362 630.336 Td
-/F122_0 9.9626 Tf
-(as) 8.2988 Tj
--408 TJm
-(the) 12.1743 Tj
--409 TJm
-(request) 28.772 Tj
-1 TJm
-(ed) 9.4047 Tj
--409 TJm
-(action;) 27.1182 Tj
--487 TJm
-(other) 20.4731 Tj
--408 TJm
-(actions) 28.224 Tj
--409 TJm
-(are) 12.1643 Tj
--408 TJm
-(ille) 12.7322 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(al) 7.193 Tj
--408 TJm
-(and) 14.386 Tj
--408 TJm
-(will) 15.5018 Tj
--408 TJm
-(result) 22.1369 Tj
--409 TJm
-(in) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 618.381 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-173.619 618.381 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 596.463 Td
-(At) 9.9626 Tj
--279 TJm
-(some) 21.031 Tj
--279 TJm
-(point,) 22.9738 Tj
--286 TJm
-(the) 12.1743 Tj
--279 TJm
-(calling) 27.1182 Tj
--279 TJm
-(program) 33.7533 Tj
--279 TJm
-(will) 15.5018 Tj
--279 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--278 TJm
-(pro) 13.2801 Tj
-14 TJm
-(vi) 7.7509 Tj
-1 TJm
-(ded) 14.386 Tj
--279 TJm
-(all) 9.9626 Tj
--279 TJm
-(the) 12.1743 Tj
--279 TJm
-(input) 20.4831 Tj
--279 TJm
-(data) 16.5977 Tj
--279 TJm
-(it) 5.5392 Tj
--279 TJm
-(w) 7.193 Tj
-10 TJm
-(ants) 16.0497 Tj
--279 TJm
-(to.) 10.2416 Tj
--793 TJm
-(It) 6.0871 Tj
--279 TJm
-(will) 15.5018 Tj
--279 TJm
-(then) 17.1556 Tj
--279 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--279 TJm
-(to) 7.7509 Tj
--279 TJm
-(\002nish) 22.1469 Tj
--279 TJm
-(up) 9.9626 Tj
--279 TJm
-(--) 6.6351 Tj
-72 584.508 Td
-(in) 7.7509 Tj
--287 TJm
-(ef) 7.7409 Tj
-25 TJm
-(fect,) 17.4246 Tj
--297 TJm
-(asking) 26.0123 Tj
--288 TJm
-(the) 12.1743 Tj
--287 TJm
-(library) 26.5603 Tj
--287 TJm
-(to) 7.7509 Tj
--288 TJm
-(process) 29.8778 Tj
--287 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--288 TJm
-(data) 16.5977 Tj
--287 TJm
-(it) 5.5392 Tj
--287 TJm
-(might) 23.2527 Tj
--288 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--287 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fered) 20.4632 Tj
--288 TJm
-(internally) 38.1866 Tj
-65 TJm
-(.) 2.4907 Tj
--844 TJm
-(In) 8.2988 Tj
--288 TJm
-(this) 14.396 Tj
--287 TJm
-(state,) 20.7521 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-456.314 584.508 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 572.553 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--258 TJm
-(no) 9.9626 Tj
--257 TJm
-(longer) 25.4544 Tj
--258 TJm
-(attempt) 29.8878 Tj
--258 TJm
-(to) 7.7509 Tj
--258 TJm
-(read) 17.1456 Tj
--257 TJm
-(data) 16.5977 Tj
--258 TJm
-(from) 19.3673 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-234.208 572.553 Td
-/F124_0 9.9626 Tf
-(next_in) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-276.051 572.553 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--260 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--257 TJm
-(it) 5.5392 Tj
--258 TJm
-(will) 15.5018 Tj
--258 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--257 TJm
-(to) 7.7509 Tj
--258 TJm
-(write) 20.4731 Tj
--258 TJm
-(data) 16.5977 Tj
--258 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-407.082 572.553 Td
-/F124_0 9.9626 Tf
-(next_out) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-454.902 572.553 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--666 TJm
-(Because) 33.1954 Tj
--258 TJm
-(the) 12.1743 Tj
--258 TJm
-(output) 25.4644 Tj
-72 560.598 Td
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--228 TJm
-(supplied) 33.7633 Tj
--228 TJm
-(by) 9.9626 Tj
--229 TJm
-(the) 12.1743 Tj
--228 TJm
-(user) 16.5977 Tj
--228 TJm
-(can) 13.8281 Tj
--228 TJm
-(be) 9.4047 Tj
--228 TJm
-(arbitrarily) 39.8404 Tj
--229 TJm
-(sma) 16.0497 Tj
-1 TJm
-(ll,) 8.0299 Tj
--233 TJm
-(the) 12.1743 Tj
--228 TJm
-(\002nishing-up) 48.1592 Tj
--228 TJm
-(operation) 37.6287 Tj
--229 TJm
-(cannot) 26.5603 Tj
--228 TJm
-(necessarily) 44.2638 Tj
--228 TJm
-(be) 9.4047 Tj
--228 TJm
-(done) 19.3673 Tj
--228 TJm
-(with) 17.7135 Tj
--229 TJm
-(a) 4.4234 Tj
--228 TJm
-(single) 23.8007 Tj
-72 548.642 Td
-(call) 14.386 Tj
--250 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-99.666 548.642 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-183.352 548.642 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 526.725 Td
-(Instead,) 31.2626 Tj
--346 TJm
-(the) 12.1743 Tj
--327 TJm
-(calling) 27.1182 Tj
--326 TJm
-(program) 33.7533 Tj
--327 TJm
-(passes) 25.4544 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-218.231 526.725 Td
-/F124_0 9.9626 Tf
-(BZ_FINISH) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-275.284 526.725 Td
-/F122_0 9.9626 Tf
-(as) 8.2988 Tj
--327 TJm
-(an) 9.4047 Tj
--327 TJm
-(acti) 14.386 Tj
-1 TJm
-(on) 9.9626 Tj
--327 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-338.109 526.725 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-421.795 526.725 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1081 TJm
-(This) 17.7135 Tj
--326 TJm
-(changes) 32.0895 Tj
--327 TJm
-(the) 12.1743 Tj
--327 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.8755 Tj
-72 514.77 Td
-(state) 18.2614 Tj
--291 TJm
-(to) 7.7509 Tj
--290 TJm
-(FINISHING.) 52.2937 Tj
--581 TJm
-(An) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--291 TJm
-(remaining) 40.3983 Tj
--290 TJm
-(input) 20.4831 Tj
--291 TJm
-(\(ie,) 13.0012 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-264.452 514.77 Td
-/F124_0 9.9626 Tf
-(next_in[0) 53.798 Tj
--600 TJm
-(..) 11.9551 Tj
--1200 TJm
-(avail_in-1]) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-413.892 514.77 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--291 TJm
-(is) 6.6451 Tj
--290 TJm
-(compressed) 47.0334 Tj
--291 TJm
-(and) 14.386 Tj
--290 TJm
-(transferred) 43.148 Tj
-72 502.814 Td
-(to) 7.7509 Tj
--421 TJm
-(the) 12.1743 Tj
--421 TJm
-(output) 25.4644 Tj
--421 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-55 TJm
-(.) 2.4907 Tj
--1646 TJm
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--421 TJm
-(do) 9.9626 Tj
--422 TJm
-(this) 14.396 Tj
-1 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-222.339 502.814 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-310.22 502.814 Td
-/F122_0 9.9626 Tf
-(must) 19.3773 Tj
--421 TJm
-(be) 9.4047 Tj
--421 TJm
-(called) 23.7907 Tj
--421 TJm
-(repeatedly) 41.4942 Tj
--421 TJm
-(until) 18.2714 Tj
--421 TJm
-(all) 9.9626 Tj
--421 TJm
-(the) 12.1743 Tj
--421 TJm
-(output) 25.4644 Tj
--421 TJm
-(has) 13.2801 Tj
--421 TJm
-(been) 18.8094 Tj
-72 490.859 Td
-(consumed.) 42.889 Tj
--1397 TJm
-(At) 9.9626 Tj
--379 TJm
-(that) 14.9439 Tj
--380 TJm
-(point,) 22.9738 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.346 490.859 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-275.813 490.859 Td
-/F122_0 9.9626 Tf
-(returns) 27.6661 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-307.259 490.859 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-384.968 490.859 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--379 TJm
-(and) 14.386 Tj
--380 TJm
-(the) 12.1743 Tj
--379 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.8755 Tj
--380 TJm
-(state) 18.2614 Tj
--379 TJm
-(is) 6.6451 Tj
--380 TJm
-(set) 11.0684 Tj
--379 TJm
-(back) 18.8094 Tj
--379 TJm
-(to) 7.7509 Tj
-72 478.904 Td
-(IDLE.) 25.1755 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-99.666 478.904 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.776 478.904 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(called.) 26.2813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 456.986 Td
-(Just) 15.5018 Tj
--380 TJm
-(to) 7.7509 Tj
--380 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--379 TJm
-(sure) 16.5977 Tj
--380 TJm
-(the) 12.1743 Tj
--380 TJm
-(calling) 27.1182 Tj
--380 TJm
-(program) 33.7533 Tj
--379 TJm
-(does) 18.2614 Tj
--380 TJm
-(not) 12.7322 Tj
--380 TJm
-(cheat,) 23.5117 Tj
--412 TJm
-(the) 12.1743 Tj
--380 TJm
-(library) 26.5603 Tj
--380 TJm
-(mak) 17.1556 Tj
-10 TJm
-(es) 8.2988 Tj
--379 TJm
-(a) 4.4234 Tj
--380 TJm
-(note) 17.1556 Tj
--380 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-415.708 456.986 Td
-/F124_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-467.312 456.986 Td
-/F122_0 9.9626 Tf
-(at) 7.193 Tj
--380 TJm
-(the) 12.1743 Tj
--380 TJm
-(time) 17.7135 Tj
--379 TJm
-(of) 8.2988 Tj
--380 TJm
-(the) 12.1743 Tj
-72 445.031 Td
-(\002rst) 15.5018 Tj
--286 TJm
-(call) 14.386 Tj
--286 TJm
-(t) 2.7696 Tj
-1 TJm
-(o) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-118.179 445.031 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-204.713 445.031 Td
-/F122_0 9.9626 Tf
-(which) 24.3486 Tj
--286 TJm
-(has) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-248.035 445.031 Td
-/F124_0 9.9626 Tf
-(BZ_FINISH) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-304.68 445.031 Td
-/F122_0 9.9626 Tf
-(as) 8.2988 Tj
--286 TJm
-(an) 9.4047 Tj
--286 TJm
-(action) 24.3486 Tj
--285 TJm
-(\(ie,) 13.0012 Tj
--295 TJm
-(at) 7.193 Tj
--286 TJm
-(the) 12.1743 Tj
--286 TJm
-(time) 17.7135 Tj
--285 TJm
-(the) 12.1743 Tj
--286 TJm
-(program) 33.7533 Tj
--286 TJm
-(has) 13.2801 Tj
--286 TJm
-(announced) 43.158 Tj
--285 TJm
-(its) 9.4147 Tj
-72 433.076 Td
-(intention) 35.427 Tj
--292 TJm
-(to) 7.7509 Tj
--292 TJm
-(not) 12.7322 Tj
--291 TJm
-(supply) 26.5703 Tj
--292 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--292 TJm
-(more) 20.4731 Tj
--292 TJm
-(input\).) 26.2913 Tj
--870 TJm
-(By) 11.6264 Tj
--292 TJm
-(comparing) 42.61 Tj
--292 TJm
-(this) 14.396 Tj
--292 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--291 TJm
-(with) 17.7135 Tj
--292 TJm
-(that) 14.9439 Tj
--292 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-392.862 433.076 Td
-/F124_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-443.589 433.076 Td
-/F122_0 9.9626 Tf
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--292 TJm
-(subsequent) 44.2738 Tj
--292 TJm
-(calls) 18.2614 Tj
--291 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 421.121 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-155.686 421.121 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--247 TJm
-(the) 12.1743 Tj
--247 TJm
-(library) 26.5603 Tj
--246 TJm
-(can) 13.8281 Tj
--247 TJm
-(detect) 23.7907 Tj
--246 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--247 TJm
-(attem) 22.1369 Tj
-1 TJm
-(p) 4.9813 Tj
--1 TJm
-(t) 2.7696 Tj
-1 TJm
-(s) 3.8755 Tj
--247 TJm
-(to) 7.7509 Tj
--246 TJm
-(slip) 14.396 Tj
--247 TJm
-(in) 7.7509 Tj
--246 TJm
-(more) 20.4731 Tj
--247 TJm
-(data) 16.5977 Tj
--246 TJm
-(to) 7.7509 Tj
--247 TJm
-(compress.) 40.1194 Tj
--617 TJm
-(An) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--247 TJm
-(calls) 18.2614 Tj
--246 TJm
-(for) 11.6164 Tj
--247 TJm
-(which) 24.3486 Tj
--246 TJm
-(this) 14.396 Tj
--247 TJm
-(is) 6.6451 Tj
-72 409.165 Td
-(detected) 33.1954 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(return) 23.7907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-151.959 409.165 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-253.578 409.165 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--500 TJm
-(This) 17.7135 Tj
--250 TJm
-(indicates) 35.417 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(programming) 54.2364 Tj
--250 TJm
-(mistak) 26.5703 Tj
-10 TJm
-(e) 4.4234 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(corrected.) 39.5515 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 387.248 Td
-(Instead) 28.772 Tj
--224 TJm
-(of) 8.2988 Tj
--223 TJm
-(asking) 26.0123 Tj
--224 TJm
-(to) 7.7509 Tj
--223 TJm
-(\002nish,) 24.6375 Tj
--229 TJm
-(the) 12.1743 Tj
--224 TJm
-(calling) 27.1182 Tj
--223 TJm
-(program) 33.7533 Tj
--224 TJm
-(may) 17.1556 Tj
--224 TJm
-(ask) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-293.282 387.248 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-379.196 387.248 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--224 TJm
-(tak) 12.1743 Tj
-10 TJm
-(e) 4.4234 Tj
--223 TJm
-(all) 9.9626 Tj
--224 TJm
-(the) 12.1743 Tj
--223 TJm
-(remaining) 40.3983 Tj
--224 TJm
-(input,) 22.9738 Tj
--229 TJm
-(compress) 37.6287 Tj
-72 375.293 Td
-(it) 5.5392 Tj
--278 TJm
-(and) 14.386 Tj
--278 TJm
-(terminate) 37.6287 Tj
--278 TJm
-(the) 12.1743 Tj
--278 TJm
-(current) 28.2141 Tj
--277 TJm
-(\(Burro) 26.5603 Tj
-25 TJm
-(ws-Wheeler\)) 51.4469 Tj
--278 TJm
-(compression) 50.3609 Tj
--278 TJm
-(block.) 24.6275 Tj
--787 TJm
-(Th) 11.0684 Tj
--1 TJm
-(i) 2.7696 Tj
-1 TJm
-(s) 3.8755 Tj
--278 TJm
-(could) 22.1369 Tj
--278 TJm
-(be) 9.4047 Tj
--278 TJm
-(useful) 24.3486 Tj
--278 TJm
-(for) 11.6164 Tj
--278 TJm
-(error) 19.3573 Tj
--278 TJm
-(control) 28.224 Tj
--278 TJm
-(purposes.) 37.9077 Tj
-72 363.337 Td
-(The) 15.4918 Tj
--328 TJm
-(mechanism) 45.3796 Tj
--328 TJm
-(is) 6.6451 Tj
--328 TJm
-(analogous) 40.3983 Tj
--328 TJm
-(to) 7.7509 Tj
--328 TJm
-(that) 14.9439 Tj
--328 TJm
-(for) 11.6164 Tj
--328 TJm
-(\002nishing:) 37.6487 Tj
--466 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-297.049 363.337 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-384.003 363.337 Td
-/F122_0 9.9626 Tf
-(with) 17.7135 Tj
--328 TJm
-(an) 9.4047 Tj
--328 TJm
-(action) 24.3486 Tj
--328 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-456.841 363.337 Td
-/F124_0 9.9626 Tf
-(BZ_FLUSH) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-504.662 363.337 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--328 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
-72 351.382 Td
-(output) 25.4644 Tj
--445 TJm
-(data,) 19.0883 Tj
--494 TJm
-(and) 14.386 Tj
--446 TJm
-(persist) 26.0123 Tj
--445 TJm
-(with) 17.7135 Tj
--445 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-213.94 351.382 Td
-/F124_0 9.9626 Tf
-(BZ_FLUSH) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-266.195 351.382 Td
-/F122_0 9.9626 Tf
-(action) 24.3486 Tj
--445 TJm
-(until) 18.2714 Tj
--445 TJm
-(the) 12.1743 Tj
--446 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-360.062 351.382 Td
-/F124_0 9.9626 Tf
-(BZ_RUN) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-400.362 351.382 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--445 TJm
-(returned.) 35.686 Tj
--1792 TJm
-(As) 11.0684 Tj
--445 TJm
-(with) 17.7135 Tj
--445 TJm
-(\002nishing,) 37.3697 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 339.427 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-158.177 339.427 Td
-/F122_0 9.9626 Tf
-(detects) 27.6661 Tj
--250 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(attempt) 29.8878 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(input) 20.4831 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(once) 18.8094 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\003ush) 19.3773 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(be) 9.4047 Tj
-15 TJm
-(gun.) 17.4346 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 317.509 Td
-(Once) 21.0211 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\003ush) 19.3773 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(complete,) 39.0135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(returns) 27.6661 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(R) 6.6451 Tj
-40 TJm
-(UNNING) 39.2825 Tj
--250 TJm
-(state.) 20.7521 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 295.591 Td
-(This) 17.7135 Tj
--344 TJm
-(all) 9.9626 Tj
--343 TJm
-(sounds) 27.6761 Tj
--344 TJm
-(pretty) 23.2427 Tj
--344 TJm
-(comple) 29.3299 Tj
-15 TJm
-(x,) 7.472 Tj
--367 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--344 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--344 TJm
-(really) 22.6848 Tj
-65 TJm
-(.) 2.4907 Tj
--1182 TJm
-(Here') 22.6749 Tj
-55 TJm
-(s) 3.8755 Tj
--344 TJm
-(a) 4.4234 Tj
--344 TJm
-(table) 19.3673 Tj
--343 TJm
-(which) 24.3486 Tj
--344 TJm
-(sho) 13.8381 Tj
-25 TJm
-(ws) 11.0684 Tj
--344 TJm
-(which) 24.3486 Tj
--344 TJm
-(actions) 28.224 Tj
--343 TJm
-(are) 12.1643 Tj
--344 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--344 TJm
-(in) 7.7509 Tj
--344 TJm
-(each) 18.2515 Tj
-72 283.636 Td
-(state,) 20.7521 Tj
--281 TJm
-(what) 19.3673 Tj
--274 TJm
-(action) 24.3486 Tj
--275 TJm
-(will) 15.5018 Tj
--274 TJm
-(be) 9.4047 Tj
--275 TJm
-(tak) 12.1743 Tj
-10 TJm
-(en,) 11.8953 Tj
--280 TJm
-(what) 19.3673 Tj
--275 TJm
-(the) 12.1743 Tj
--274 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--275 TJm
-(state) 18.2614 Tj
--274 TJm
-(is,) 9.1357 Tj
--281 TJm
-(and) 14.386 Tj
--274 TJm
-(what) 19.3673 Tj
--275 TJm
-(the) 12.1743 Tj
--275 TJm
-(non-error) 37.6188 Tj
--274 TJm
-(return) 23.7907 Tj
--275 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--274 TJm
-(are.) 14.655 Tj
--767 TJm
-(Note) 19.3673 Tj
--275 TJm
-(that) 14.9439 Tj
--274 TJm
-(you) 14.9439 Tj
--275 TJm
-(can') 17.1456 Tj
-18 TJm
-(t) 2.7696 Tj
-72 271.681 Td
-(e) 4.4234 Tj
-15 TJm
-(xplicitly) 33.2153 Tj
--347 TJm
-(ask) 13.2801 Tj
--348 TJm
-(what) 19.3673 Tj
--347 TJm
-(state) 18.2614 Tj
--348 TJm
-(the) 12.1743 Tj
--347 TJm
-(stream) 26.5603 Tj
--348 TJm
-(is) 6.6451 Tj
--347 TJm
-(in,) 10.2416 Tj
--372 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--347 TJm
-(nor) 13.2801 Tj
--348 TJm
-(do) 9.9626 Tj
--347 TJm
-(you) 14.9439 Tj
--348 TJm
-(need) 18.8094 Tj
--347 TJm
-(to) 7.7509 Tj
--348 TJm
-(--) 6.6351 Tj
--347 TJm
-(it) 5.5392 Tj
--348 TJm
-(can) 13.8281 Tj
--347 TJm
-(be) 9.4047 Tj
--347 TJm
-(inferred) 31.5316 Tj
--348 TJm
-(from) 19.3673 Tj
--347 TJm
-(the) 12.1743 Tj
--348 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--347 TJm
-(returned) 33.1954 Tj
--348 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 259.726 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-155.686 259.726 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.852 Td
-(14) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 15 18
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 146.152] cm
-0 0 468 573.848 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(IDLE/any) 47.8205 Tj
-98.488 699.676 Td
-(Illegal.) 47.8205 Tj
--852 TJm
-(IDLE) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(only) 23.9102 Tj
--426 TJm
-(exists) 35.8654 Tj
--426 TJm
-(after) 29.8878 Tj
--426 TJm
-(BZ2_bzCompressEnd) 101.6185 Tj
--426 TJm
-(or) 11.9551 Tj
-98.488 687.721 Td
-(before) 35.8654 Tj
--426 TJm
-(BZ2_bzCompressInit.) 113.5736 Tj
-98.488 675.766 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-90 651.856 Td
-(RUNNING/BZ_RUN) 83.6858 Tj
-98.488 639.9 Td
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible.) 53.798 Tj
-98.488 627.945 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(RUNNING) 41.8429 Tj
-98.488 615.99 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_RUN_OK) 53.798 Tj
-90 592.08 Td
-(RUNNING/BZ_FLUSH) 95.641 Tj
-98.488 580.124 Td
-(Remember) 47.8205 Tj
--426 TJm
-(current) 41.8429 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(next_in.) 47.8205 Tj
--426 TJm
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
-98.488 568.169 Td
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
--426 TJm
-(but) 17.9327 Tj
--426 TJm
-(do) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.488 556.214 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(FLUSHING) 47.8205 Tj
-98.488 544.259 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_FLUSH_OK) 65.7532 Tj
-90 520.349 Td
-(RUNNING/BZ_FINISH) 101.6185 Tj
-98.488 508.393 Td
-(Remember) 47.8205 Tj
--426 TJm
-(current) 41.8429 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(next_in.) 47.8205 Tj
--426 TJm
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
-98.488 496.438 Td
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
--426 TJm
-(but) 17.9327 Tj
--426 TJm
-(do) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.488 484.483 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(FINISHING) 53.798 Tj
-98.488 472.528 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_FINISH_OK) 71.7307 Tj
-90 448.618 Td
-(FLUSHING/BZ_FLUSH) 101.6185 Tj
-98.488 436.662 Td
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
-98.488 424.707 Td
-(but) 17.9327 Tj
--426 TJm
-(do) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.488 412.752 Td
-(If) 11.9551 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(existing) 47.8205 Tj
--426 TJm
-(input) 29.8878 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(used) 23.9102 Tj
--426 TJm
-(up) 11.9551 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
-98.488 400.797 Td
-(output) 35.8654 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(removed) 41.8429 Tj
-106.976 388.842 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(RUNNING;) 47.8205 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_RUN_OK) 53.798 Tj
-98.488 376.887 Td
-(else) 23.9102 Tj
-106.976 364.931 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(FLUSHING;) 53.798 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_FLUSH_OK) 65.7532 Tj
-90 341.021 Td
-(FLUSHING/other) 83.6858 Tj
-98.488 329.066 Td
-(Illegal.) 47.8205 Tj
-98.488 317.111 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-90 293.2 Td
-(FINISHING/BZ_FINISH) 113.5736 Tj
-98.488 281.245 Td
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
-98.488 269.29 Td
-(but) 17.9327 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.488 257.335 Td
-(If) 11.9551 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(existing) 47.8205 Tj
--426 TJm
-(input) 29.8878 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(used) 23.9102 Tj
--426 TJm
-(up) 11.9551 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
-98.488 245.38 Td
-(output) 35.8654 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(removed) 41.8429 Tj
-106.976 233.424 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(IDLE;) 29.8878 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
-98.488 221.469 Td
-(else) 23.9102 Tj
-106.976 209.514 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(FINISHING;) 59.7756 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_FINISH_OK) 71.7307 Tj
-90 185.604 Td
-(FINISHING/other) 89.6634 Tj
-98.488 173.649 Td
-(Illegal.) 47.8205 Tj
-98.488 161.693 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 124.234 Td
-/F122_0 9.9626 Tf
-(That) 18.2614 Tj
--250 TJm
-(still) 14.9539 Tj
--250 TJm
-(looks) 21.589 Tj
--250 TJm
-(complicated?) 53.1206 Tj
--620 TJm
-(W) 9.4047 Tj
-80 TJm
-(ell,) 12.4533 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(air) 10.5105 Tj
--250 TJm
-(enough.) 31.8205 Tj
--620 TJm
-(The) 15.4918 Tj
--250 TJm
-(usual) 21.031 Tj
--250 TJm
-(sequence) 36.5129 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(calls) 18.2614 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(compressing) 50.3609 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(load) 17.1556 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(is:) 9.4147 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 92.353 Td
-(1.) 7.472 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--510 TJm
-(Get) 14.386 Tj
--250 TJm
-(started) 26.5603 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-153.175 92.353 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-260.771 92.353 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(15) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 16 19
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-74.491 710.037 Td
-/F122_0 9.9626 Tf
-(2.) 7.472 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--510 TJm
-(Sho) 15.5018 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--267 TJm
-(data) 16.5977 Tj
--268 TJm
-(in) 7.7509 Tj
--267 TJm
-(and) 14.386 Tj
--268 TJm
-(shlurp) 24.9065 Tj
--267 TJm
-(out) 12.7322 Tj
--268 TJm
-(its) 9.4147 Tj
--267 TJm
-(compressed) 47.0334 Tj
--267 TJm
-(form) 19.3673 Tj
--268 TJm
-(using) 21.589 Tj
--267 TJm
-(zero) 17.1456 Tj
--268 TJm
-(or) 8.2988 Tj
--267 TJm
-(more) 20.4731 Tj
--268 TJm
-(call) 14.386 Tj
-1 TJm
-(s) 3.8755 Tj
--268 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-400.64 710.037 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-486.991 710.037 Td
-/F122_0 9.9626 Tf
-(with) 17.7135 Tj
--267 TJm
-(action) 24.3486 Tj
--268 TJm
-(=) 5.6189 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-83.955 698.082 Td
-/F124_0 9.9626 Tf
-(BZ_RUN) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-119.821 698.082 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 676.164 Td
-(3.) 7.472 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--510 TJm
-(Finish) 24.9165 Tj
--276 TJm
-(up.) 12.4533 Tj
--387 TJm
-(Repeatedly) 44.8217 Tj
--276 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-195.722 676.164 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-282.156 676.164 Td
-/F122_0 9.9626 Tf
-(with) 17.7135 Tj
--276 TJm
-(action) 24.3486 Tj
--276 TJm
-(=) 5.6189 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-338.079 676.164 Td
-/F124_0 9.9626 Tf
-(BZ_FINISH) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-391.877 676.164 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--276 TJm
-(cop) 14.386 Tj
-10 TJm
-(ying) 17.7135 Tj
--276 TJm
-(out) 12.7322 Tj
--275 TJm
-(the) 12.1743 Tj
--276 TJm
-(compressed) 47.0334 Tj
--276 TJm
-(output,) 27.9551 Tj
-83.955 664.209 Td
-(until) 18.2714 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.717 664.209 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-184.916 664.209 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(returned.) 35.686 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 642.291 Td
-(4.) 7.472 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--510 TJm
-(Close) 22.6948 Tj
--250 TJm
-(up) 9.9626 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(go) 9.9626 Tj
--250 TJm
-(home.) 24.6275 Tj
--620 TJm
-(Call) 16.6077 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.914 642.291 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-305.533 642.291 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 620.374 Td
-(If) 6.6351 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(data) 16.5977 Tj
--269 TJm
-(you) 14.9439 Tj
--270 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--269 TJm
-(to) 7.7509 Tj
--270 TJm
-(compress) 37.6287 Tj
--269 TJm
-(\002ts) 12.1843 Tj
--270 TJm
-(into) 15.5018 Tj
--269 TJm
-(your) 18.2614 Tj
--270 TJm
-(input) 20.4831 Tj
--269 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--270 TJm
-(all) 9.9626 Tj
--269 TJm
-(at) 7.193 Tj
--270 TJm
-(once,) 21.3 Tj
--274 TJm
-(you) 14.9439 Tj
--269 TJm
-(can) 13.8281 Tj
--270 TJm
-(skip) 16.6077 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(calls) 18.2614 Tj
--269 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-456.314 620.374 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-72 608.418 Td
-(\() 5.9776 Tj
--600 TJm
-(...,) 23.9102 Tj
--600 TJm
-(BZ_RUN) 35.8654 Tj
--600 TJm
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-164.154 608.418 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(do) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-225.036 608.418 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
--600 TJm
-(\() 5.9776 Tj
--600 TJm
-(...,) 23.9102 Tj
--600 TJm
-(BZ_FINISH) 53.798 Tj
--600 TJm
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-424.786 608.418 Td
-/F122_0 9.9626 Tf
-(calls.) 20.7521 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 586.501 Td
-(All) 12.7322 Tj
--278 TJm
-(required) 33.1954 Tj
--277 TJm
-(memory) 33.2053 Tj
--278 TJm
-(is) 6.6451 Tj
--277 TJm
-(allocated) 35.965 Tj
--278 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-220.295 586.501 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-327.891 586.501 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--785 TJm
-(The) 15.4918 Tj
--278 TJm
-(compression) 50.3609 Tj
--277 TJm
-(library) 26.5603 Tj
--278 TJm
-(can) 13.8281 Tj
--277 TJm
-(accept) 25.4445 Tj
--278 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--277 TJm
-(data) 16.5977 Tj
--278 TJm
-(at) 7.193 Tj
--278 TJm
-(all) 9.9626 Tj
-72 574.545 Td
-(\(ob) 13.2801 Tj
-15 TJm
-(viously\).) 35.1481 Tj
--612 TJm
-(So) 10.5205 Tj
--238 TJm
-(you) 14.9439 Tj
--237 TJm
-(shouldn') 34.8691 Tj
-18 TJm
-(t) 2.7696 Tj
--238 TJm
-(get) 12.1743 Tj
--238 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--237 TJm
-(error) 19.3573 Tj
--238 TJm
-(return) 23.7907 Tj
--238 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--238 TJm
-(from) 19.3673 Tj
--237 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-339.287 574.545 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-425.342 574.545 Td
-/F122_0 9.9626 Tf
-(calls.) 20.7521 Tj
--612 TJm
-(If) 6.6351 Tj
--237 TJm
-(you) 14.9439 Tj
--238 TJm
-(do,) 12.4533 Tj
--240 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--238 TJm
-(will) 15.5018 Tj
--238 TJm
-(be) 9.4047 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 562.59 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-173.619 562.59 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(indicate) 31.5416 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(programming.) 56.727 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 540.672 Td
-(T) 6.0871 Tj
-35 TJm
-(ri) 6.0871 Tj
-25 TJm
-(vial) 14.9439 Tj
--250 TJm
-(other) 20.4731 Tj
--250 TJm
-(possible) 32.6574 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 501.654] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 529.151 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 517.196 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL,) 29.8878 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 471.033 Td
-/F116_0 17.2154 Tf
-(3.3.3.) 43.0729 Tj
--278 TJm
-(BZ2_bzCompressEnd) 177.9212 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 442.563] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 458.104 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzCompressEnd) 101.6185 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-286.303 456.361 Td
-(*) 5.9776 Tj
-292.281 458.104 Td
-(strm) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 420.645 Td
-/F122_0 9.9626 Tf
-(Releases) 34.8591 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(associated) 40.9463 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(compression) 50.3609 Tj
--250 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 398.727 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 361.766] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 389.263 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
--852 TJm
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-90 377.307 Td
-(BZ_OK) 29.8878 Tj
--4686 TJm
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 331.145 Td
-/F116_0 17.2154 Tf
-(3.3.4.) 43.0729 Tj
--278 TJm
-(BZ2_bzDecompressInit) 190.3679 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 302.674] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 318.216 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzDecompressInit) 119.5512 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-304.236 316.473 Td
-(*) 5.9776 Tj
-310.214 318.216 Td
-(strm,) 29.8878 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 280.757 Td
-/F122_0 9.9626 Tf
-(Prepares) 34.3012 Tj
--351 TJm
-(for) 11.6164 Tj
--351 TJm
-(decompression.) 62.2563 Tj
--1228 TJm
-(As) 11.0684 Tj
--351 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-235.177 280.757 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-342.773 280.757 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--377 TJm
-(a) 4.4234 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-356.937 280.757 Td
-/F124_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-414.235 280.757 Td
-/F122_0 9.9626 Tf
-(record) 25.4445 Tj
--351 TJm
-(should) 26.5703 Tj
--351 TJm
-(be) 9.4047 Tj
--352 TJm
-(allocated) 35.965 Tj
--351 TJm
-(and) 14.386 Tj
-72 268.801 Td
-(initialised) 39.3025 Tj
--306 TJm
-(before) 25.4445 Tj
--305 TJm
-(the) 12.1743 Tj
--306 TJm
-(call.) 16.8766 Tj
--953 TJm
-(Fields) 24.3586 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-211.833 268.801 Td
-/F124_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-253.676 268.801 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-259.35 268.801 Td
-/F124_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-298.26 268.801 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-315.69 268.801 Td
-/F124_0 9.9626 Tf
-(opaque) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-354.6 268.801 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--306 TJm
-(be) 9.4047 Tj
--305 TJm
-(set) 11.0684 Tj
--306 TJm
-(if) 6.0871 Tj
--305 TJm
-(a) 4.4234 Tj
--306 TJm
-(custom) 28.782 Tj
--305 TJm
-(memory) 33.2053 Tj
--306 TJm
-(allocator) 34.8591 Tj
--306 TJm
-(is) 6.6451 Tj
-72 256.846 Td
-(required,) 35.686 Tj
--350 TJm
-(or) 8.2988 Tj
--331 TJm
-(made) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-147.635 256.846 Td
-/F124_0 9.9626 Tf
-(NULL) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-174.836 256.846 Td
-/F122_0 9.9626 Tf
-(for) 11.6164 Tj
--330 TJm
-(the) 12.1743 Tj
--331 TJm
-(normal) 28.224 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-236.722 256.846 Td
-/F124_0 9.9626 Tf
-(malloc) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-275.878 256.846 Td
-/F122_0 9.9626 Tf
-(/) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-281.938 256.846 Td
-/F124_0 9.9626 Tf
-(free) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-309.139 256.846 Td
-/F122_0 9.9626 Tf
-(routines.) 34.5901 Tj
--1102 TJm
-(Upon) 22.1369 Tj
--330 TJm
-(return,) 26.2813 Tj
--350 TJm
-(the) 12.1743 Tj
--331 TJm
-(internal) 30.4357 Tj
--330 TJm
-(state) 18.2614 Tj
--330 TJm
-(will) 15.5018 Tj
--330 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--331 TJm
-(been) 18.8094 Tj
-72 244.891 Td
-(initialised,) 41.7931 Tj
--250 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-133.16 244.891 Td
-/F124_0 9.9626 Tf
-(total_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-183.471 244.891 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.348 244.891 Td
-/F124_0 9.9626 Tf
-(total_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-256.637 244.891 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(zero.) 19.6363 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 222.973 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(meaning) 34.3112 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(parameter) 39.8305 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-192.756 222.973 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-246.554 222.973 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(see) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-266.748 222.973 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-374.345 222.973 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 201.055 Td
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.497 201.055 Td
-/F124_0 9.9626 Tf
-(small) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-114.248 201.055 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--287 TJm
-(nonzero,) 34.5802 Tj
--297 TJm
-(the) 12.1743 Tj
--287 TJm
-(library) 26.5603 Tj
--288 TJm
-(wil) 12.7322 Tj
-1 TJm
-(l) 2.7696 Tj
--288 TJm
-(use) 13.2801 Tj
--287 TJm
-(an) 9.4047 Tj
--287 TJm
-(alternati) 32.6474 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--288 TJm
-(decompression) 59.7656 Tj
--287 TJm
-(algorithm) 38.7446 Tj
--287 TJm
-(which) 24.3486 Tj
--288 TJm
-(uses) 17.1556 Tj
--287 TJm
-(less) 14.9439 Tj
--287 TJm
-(memory) 33.2053 Tj
--287 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--288 TJm
-(at) 7.193 Tj
--287 TJm
-(the) 12.1743 Tj
-72 189.1 Td
-(cost) 16.0497 Tj
--289 TJm
-(of) 8.2988 Tj
--290 TJm
-(decompressing) 59.7656 Tj
--289 TJm
-(more) 20.4731 Tj
--289 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
--290 TJm
-(\(roughly) 34.3112 Tj
--289 TJm
-(speaking,) 37.9077 Tj
--299 TJm
-(half) 15.4918 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(speed,) 25.1755 Tj
--299 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--289 TJm
-(the) 12.1743 Tj
--290 TJm
-(maximum) 40.4083 Tj
--289 TJm
-(memory) 33.2053 Tj
--289 TJm
-(requirement) 48.1393 Tj
--290 TJm
-(drops) 22.1369 Tj
-72 177.145 Td
-(to) 7.7509 Tj
--250 TJm
-(around) 27.6661 Tj
--250 TJm
-(2300k\).) 30.7147 Tj
--620 TJm
-(See) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
--250 TJm
-([2]) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(information) 47.0434 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(management.) 53.3995 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 155.227 Td
-(Note) 19.3673 Tj
--289 TJm
-(that) 14.9439 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(amount) 29.8878 Tj
--289 TJm
-(of) 8.2988 Tj
--289 TJm
-(memory) 33.2053 Tj
--290 TJm
-(needed) 28.2141 Tj
--289 TJm
-(to) 7.7509 Tj
--289 TJm
-(decompress) 47.0334 Tj
--289 TJm
-(a) 4.4234 Tj
--290 TJm
-(stream) 26.5603 Tj
--289 TJm
-(cannot) 26.5603 Tj
--289 TJm
-(be) 9.4047 Tj
--289 TJm
-(determined) 44.8217 Tj
--290 TJm
-(until) 18.2714 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.8755 Tj
--289 TJm
-(header) 26.5503 Tj
--290 TJm
-(has) 13.2801 Tj
-72 143.272 Td
-(been) 18.8094 Tj
--342 TJm
-(read,) 19.6363 Tj
--366 TJm
-(so) 8.8568 Tj
--342 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--342 TJm
-(if) 6.0871 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.081 143.272 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.5512 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-284.043 143.272 Td
-/F122_0 9.9626 Tf
-(succeeds,) 37.8977 Tj
--365 TJm
-(a) 4.4234 Tj
--343 TJm
-(subsequent) 44.2738 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-381.098 143.272 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-480.149 143.272 Td
-/F122_0 9.9626 Tf
-(could) 22.1369 Tj
--342 TJm
-(f) 3.3175 Tj
-10 TJm
-(ail) 9.9626 Tj
--343 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 131.317 Td
-/F124_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-143.731 131.317 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 109.399 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(16) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 17 20
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 624.359] cm
-0 0 468 95.641 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 687.721 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(1) 5.9776 Tj
--426 TJm
-(\)) 5.9776 Tj
-98.488 663.811 Td
-(or) 11.9551 Tj
--426 TJm
-(\(verbosity) 59.7756 Tj
--426 TJm
-(<;) 11.9551 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(||) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(4\)) 11.9551 Tj
-90 651.856 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 639.9 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 602.441 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 553.524] cm
-0 0 468 47.821 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 592.976 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-98.488 581.021 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(returned) 47.8205 Tj
-98.488 569.066 Td
-(no) 11.9551 Tj
--426 TJm
-(specific) 47.8205 Tj
--426 TJm
-(action) 35.8654 Tj
--426 TJm
-(required) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(case) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 522.903 Td
-/F116_0 17.2154 Tf
-(3.3.5.) 43.0729 Tj
--278 TJm
-(BZ2_bzDecompress) 164.5448 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 494.433] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 509.975 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzDecompress) 95.641 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-280.326 508.231 Td
-(*) 5.9776 Tj
-286.303 509.975 Td
-(strm) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 472.515 Td
-/F122_0 9.9626 Tf
-(Pro) 13.8381 Tj
-15 TJm
-(vides) 21.031 Tj
--301 TJm
-(more) 20.4731 Tj
--302 TJm
-(input) 20.4831 Tj
--301 TJm
-(and/out) 29.8878 Tj
--302 TJm
-(output) 25.4644 Tj
--301 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--301 TJm
-(space) 22.1269 Tj
--302 TJm
-(for) 11.6164 Tj
--301 TJm
-(the) 12.1743 Tj
--302 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
--928 TJm
-(The) 15.4918 Tj
--301 TJm
-(caller) 22.1269 Tj
--302 TJm
-(maintains) 38.7446 Tj
--301 TJm
-(input) 20.4831 Tj
--302 TJm
-(and) 14.386 Tj
--301 TJm
-(output) 25.4644 Tj
--301 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fers,) 17.4246 Tj
--315 TJm
-(and) 14.386 Tj
-72 460.56 Td
-(uses) 17.1556 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-91.646 460.56 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-189.778 460.56 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(transfer) 30.4258 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(between) 33.1954 Tj
--250 TJm
-(them.) 22.4159 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 438.642 Td
-(Before) 27.1082 Tj
--498 TJm
-(each) 18.2515 Tj
--499 TJm
-(call) 14.386 Tj
--498 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.356 438.642 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-254.997 438.642 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-263.071 438.642 Td
-/F124_0 9.9626 Tf
-(next_in) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-309.879 438.642 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--498 TJm
-(point) 20.4831 Tj
--499 TJm
-(at) 7.193 Tj
--498 TJm
-(the) 12.1743 Tj
--498 TJm
-(compressed) 47.0334 Tj
--499 TJm
-(data,) 19.0883 Tj
--560 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-492.179 438.642 Td
-/F124_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 426.687 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--308 TJm
-(indicate) 31.5416 Tj
--308 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--309 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--308 TJm
-(bytes) 21.031 Tj
--308 TJm
-(the) 12.1743 Tj
--308 TJm
-(library) 26.5603 Tj
--308 TJm
-(may) 17.1556 Tj
--309 TJm
-(read.) 19.6363 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.955 426.687 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-393.667 426.687 Td
-/F122_0 9.9626 Tf
-(updates) 30.4357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-427.173 426.687 Td
-/F124_0 9.9626 Tf
-(next_in) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-469.016 426.687 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-474.723 426.687 Td
-/F124_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-525.614 426.687 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 414.732 Td
-/F124_0 9.9626 Tf
-(total_in) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-122.311 414.732 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(read.) 19.6363 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 392.814 Td
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-113.799 392.814 Td
-/F124_0 9.9626 Tf
-(next_out) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-164.41 392.814 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--280 TJm
-(point) 20.4831 Tj
--280 TJm
-(to) 7.7509 Tj
--280 TJm
-(a) 4.4234 Tj
--280 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--281 TJm
-(i) 2.7696 Tj
-1 TJm
-(n) 4.9813 Tj
--281 TJm
-(which) 24.3486 Tj
--280 TJm
-(the) 12.1743 Tj
--280 TJm
-(uncompressed) 56.996 Tj
--280 TJm
-(output) 25.4644 Tj
--280 TJm
-(is) 6.6451 Tj
--280 TJm
-(to) 7.7509 Tj
--280 TJm
-(be) 9.4047 Tj
--280 TJm
-(placed,) 28.493 Tj
--288 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-486.202 392.814 Td
-/F124_0 9.9626 Tf
-(avail_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 380.859 Td
-/F122_0 9.9626 Tf
-(indicating) 39.8504 Tj
--525 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--524 TJm
-(much) 22.1369 Tj
--525 TJm
-(output) 25.4644 Tj
--524 TJm
-(space) 22.1269 Tj
--525 TJm
-(is) 6.6451 Tj
--525 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-285.792 380.859 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-374.705 380.859 Td
-/F122_0 9.9626 Tf
-(updates) 30.4357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-410.367 380.859 Td
-/F124_0 9.9626 Tf
-(next_out) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-458.188 380.859 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-466.589 380.859 Td
-/F124_0 9.9626 Tf
-(avail_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-525.614 380.859 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 368.904 Td
-/F124_0 9.9626 Tf
-(total_out) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-128.289 368.904 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(output.) 27.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 346.986 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--320 TJm
-(may) 17.1556 Tj
--321 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--320 TJm
-(and) 14.386 Tj
--321 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--320 TJm
-(as) 8.2988 Tj
--321 TJm
-(little) 18.2714 Tj
--320 TJm
-(or) 8.2988 Tj
--320 TJm
-(as) 8.2988 Tj
--321 TJm
-(much) 22.1369 Tj
--320 TJm
-(data) 16.5977 Tj
--321 TJm
-(as) 8.2988 Tj
--320 TJm
-(you) 14.9439 Tj
--321 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--320 TJm
-(on) 9.9626 Tj
--320 TJm
-(each) 18.2515 Tj
--321 TJm
-(call) 14.386 Tj
--320 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-407.816 346.986 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-503.457 346.986 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1043 TJm
-(In) 8.2988 Tj
--320 TJm
-(the) 12.1743 Tj
-72 335.031 Td
-(limit,) 21.32 Tj
--295 TJm
-(it) 5.5392 Tj
--286 TJm
-(is) 6.6451 Tj
--287 TJm
-(acceptable) 42.0422 Tj
--286 TJm
-(to) 7.7509 Tj
--286 TJm
-(supply) 26.5703 Tj
--286 TJm
-(and) 14.386 Tj
--287 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--286 TJm
-(data) 16.5977 Tj
--286 TJm
-(one) 14.386 Tj
--286 TJm
-(byte) 17.1556 Tj
--287 TJm
-(at) 7.193 Tj
--286 TJm
-(a) 4.4234 Tj
--286 TJm
-(time,) 20.2042 Tj
--295 TJm
-(although) 34.8691 Tj
--286 TJm
-(this) 14.396 Tj
--287 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--286 TJm
-(be) 9.4047 Tj
--286 TJm
-(terribly) 29.3299 Tj
--286 TJm
-(inef) 15.4918 Tj
-25 TJm
-(\002cient.) 27.3972 Tj
--838 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
-72 323.076 Td
-(should) 26.5703 Tj
--250 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--250 TJm
-(ensure) 26.0024 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(least) 18.2614 Tj
--250 TJm
-(one) 14.386 Tj
--250 TJm
-(byte) 17.1556 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(space) 22.1269 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(each) 18.2515 Tj
--250 TJm
-(call.) 16.8766 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 301.158 Td
-(Use) 15.4918 Tj
--250 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-100.772 301.158 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-198.904 301.158 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(simpler) 29.8878 Tj
--250 TJm
-(than) 17.1556 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-260.064 301.158 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-343.75 301.158 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 279.24 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--346 TJm
-(should) 26.5703 Tj
--347 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--346 TJm
-(input) 20.4831 Tj
--346 TJm
-(and) 14.386 Tj
--346 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--347 TJm
-(output) 25.4644 Tj
--346 TJm
-(as) 8.2988 Tj
--346 TJm
-(described) 38.1767 Tj
--346 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
--371 TJm
-(and) 14.386 Tj
--346 TJm
-(repeatedly) 41.4942 Tj
--346 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-422.638 279.24 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-521.729 279.24 Td
-/F122_0 9.9626 Tf
-(until) 18.2714 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 267.285 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-152.314 267.285 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--262 TJm
-(returned.) 35.686 Tj
--344 TJm
-(Appearance) 47.5714 Tj
--262 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-261.767 267.285 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-342.081 267.285 Td
-/F122_0 9.9626 Tf
-(denotes) 30.4357 Tj
--262 TJm
-(that) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-392.672 267.285 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-490.919 267.285 Td
-/F122_0 9.9626 Tf
-(has) 13.2801 Tj
--262 TJm
-(detected) 33.1954 Tj
-72 255.33 Td
-(the) 12.1743 Tj
--212 TJm
-(logical) 27.1182 Tj
--212 TJm
-(end) 14.386 Tj
--211 TJm
-(of) 8.2988 Tj
--212 TJm
-(the) 12.1743 Tj
--212 TJm
-(compressed) 47.0334 Tj
--212 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-237.858 255.33 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-335.609 255.33 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--212 TJm
-(not) 12.7322 Tj
--212 TJm
-(produce) 32.0895 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-402.263 255.33 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-482.082 255.33 Td
-/F122_0 9.9626 Tf
-(until) 18.2714 Tj
--212 TJm
-(all) 9.9626 Tj
--212 TJm
-(output) 25.4644 Tj
-72 243.375 Td
-(data) 16.5977 Tj
--256 TJm
-(has) 13.2801 Tj
--256 TJm
-(been) 18.8094 Tj
--255 TJm
-(placed) 26.0024 Tj
--256 TJm
-(into) 15.5018 Tj
--256 TJm
-(the) 12.1743 Tj
--256 TJm
-(output) 25.4644 Tj
--256 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.4907 Tj
--257 TJm
-(so) 8.8568 Tj
--256 TJm
-(once) 18.8094 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-278.979 243.375 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-359.236 243.375 Td
-/F122_0 9.9626 Tf
-(appears,) 32.9164 Tj
--257 TJm
-(you) 14.9439 Tj
--256 TJm
-(are) 12.1643 Tj
--256 TJm
-(guaranteed) 43.7059 Tj
--256 TJm
-(to) 7.7509 Tj
--255 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--256 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
-72 231.419 Td
-(all) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(decompressed) 56.4381 Tj
--250 TJm
-(output,) 27.9551 Tj
--250 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-205.369 231.419 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-321.433 231.419 Td
-/F122_0 9.9626 Tf
-(can) 13.8281 Tj
--250 TJm
-(safely) 23.7907 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(called.) 26.2813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 209.502 Td
-(If) 6.6351 Tj
--250 TJm
-(case) 17.1456 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue,) 19.0883 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-261.259 209.502 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-377.323 209.502 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(clean) 21.0211 Tj
--250 TJm
-(up) 9.9626 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(release) 27.6562 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 187.584 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(17) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 18 21
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 540.672] cm
-0 0 468 179.328 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 687.721 Td
-(or) 11.9551 Tj
--426 TJm
-(strm->avail_out) 89.6634 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(1) 5.9776 Tj
-90 675.766 Td
-(BZ_DATA_ERROR) 77.7083 Tj
-98.488 663.811 Td
-(if) 11.9551 Tj
--426 TJm
-(a) 5.9776 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(integrity) 53.798 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(stream) 35.8654 Tj
-90 651.856 Td
-(BZ_DATA_ERROR_MAGIC) 113.5736 Tj
-98.488 639.9 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(doesn't) 41.8429 Tj
--426 TJm
-(begin) 29.8878 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(right) 29.8878 Tj
--426 TJm
-(magic) 29.8878 Tj
--426 TJm
-(bytes) 29.8878 Tj
-90 627.945 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 615.99 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(wasn't) 35.8654 Tj
--426 TJm
-(enough) 35.8654 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(available) 53.798 Tj
-90 604.035 Td
-(BZ_STREAM_END) 77.7083 Tj
-98.488 592.08 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(logical) 41.8429 Tj
--426 TJm
-(end) 17.9327 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(all) 17.9327 Tj
-98.488 580.124 Td
-(output) 35.8654 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(consumed,) 53.798 Tj
--426 TJm
-(eg) 11.9551 Tj
--426 TJm
-(s-->avail_out) 77.7083 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
-90 568.169 Td
-(BZ_OK) 29.8878 Tj
-98.488 556.214 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 518.755 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 457.883] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 509.29 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-98.488 497.335 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(returned) 47.8205 Tj
-90 485.38 Td
-(BZ2_bzDecompressEnd) 113.5736 Tj
-98.488 473.425 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 427.262 Td
-/F116_0 17.2154 Tf
-(3.3.6.) 43.0729 Tj
--278 TJm
-(BZ2_bzDecompressEnd) 197.0647 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 398.792] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 414.334 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzDecompressEnd) 113.5736 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-298.259 412.59 Td
-(*) 5.9776 Tj
-304.236 414.334 Td
-(strm) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 376.874 Td
-/F122_0 9.9626 Tf
-(Releases) 34.8591 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(associated) 40.9463 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 354.956 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 294.085] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 345.492 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 333.537 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-90 321.581 Td
-(BZ_OK) 29.8878 Tj
-98.488 309.626 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 272.167 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 247.161] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-98.488 262.702 Td
-/F124_0 9.9626 Tf
-(None.) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 212.408 Td
-/F116_0 20.6585 Tf
-(3.4.) 34.4584 Tj
--278 TJm
-(High-le) 70.0117 Tj
-15 TJm
-(vel) 28.7153 Tj
--278 TJm
-(interface) 86.1046 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 190.49 Td
-/F122_0 9.9626 Tf
-(This) 17.7135 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--250 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vides) 21.031 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(reading) 29.8778 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(writing) 28.782 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-300.292 190.49 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-332.67 190.49 Td
-/F122_0 9.9626 Tf
-(format) 26.5603 Tj
--250 TJm
-(\002les.) 19.0983 Tj
--620 TJm
-(First,) 20.7621 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(general) 29.3199 Tj
--250 TJm
-(points.) 26.8492 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 158.609 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(All) 12.7322 Tj
--353 TJm
-(of) 8.2988 Tj
--352 TJm
-(the) 12.1743 Tj
--353 TJm
-(functions) 37.0808 Tj
--352 TJm
-(tak) 12.1743 Tj
-10 TJm
-(e) 4.4234 Tj
--353 TJm
-(an) 9.4047 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-199.726 158.609 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
-217.658 156.866 Td
-(*) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-227.149 158.609 Td
-/F122_0 9.9626 Tf
-(\002rst) 15.5018 Tj
--353 TJm
-(ar) 7.7409 Tj
-18 TJm
-(gument,) 32.3785 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-289.871 158.609 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-331.715 158.609 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1236 TJm
-(After) 21.0211 Tj
--352 TJm
-(each) 18.2515 Tj
--353 TJm
-(call,) 16.8766 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-413.457 158.609 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-458.813 158.609 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--353 TJm
-(be) 9.4047 Tj
--352 TJm
-(consulted) 38.1866 Tj
-81.963 146.654 Td
-(\002rst) 15.5018 Tj
--371 TJm
-(to) 7.7509 Tj
--371 TJm
-(determine) 39.8404 Tj
--372 TJm
-(the) 12.1743 Tj
--371 TJm
-(outcome) 34.3112 Tj
--371 TJm
-(of) 8.2988 Tj
--371 TJm
-(the) 12.1743 Tj
--372 TJm
-(call.) 16.8766 Tj
--1347 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-278.539 146.654 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-324.081 146.654 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-334.424 146.654 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-364.312 146.654 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--371 TJm
-(the) 12.1743 Tj
--372 TJm
-(call) 14.386 Tj
--371 TJm
-(completed) 41.5042 Tj
--371 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(,) 2.4907 Tj
--402 TJm
-(and) 14.386 Tj
--371 TJm
-(only) 17.7135 Tj
-81.963 134.699 Td
-(then) 17.1556 Tj
--292 TJm
-(should) 26.5703 Tj
--293 TJm
-(the) 12.1743 Tj
--292 TJm
-(return) 23.7907 Tj
--292 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--293 TJm
-(of) 8.2988 Tj
--292 TJm
-(the) 12.1743 Tj
--292 TJm
-(function) 33.2053 Tj
--293 TJm
-(\(if) 9.4047 Tj
--292 TJm
-(an) 9.4047 Tj
-15 TJm
-(y\)) 8.2988 Tj
--292 TJm
-(be) 9.4047 Tj
--293 TJm
-(consulted.) 40.6773 Tj
--874 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.994 134.699 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-408.749 134.699 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-418.307 134.699 Td
-/F124_0 9.9626 Tf
-(BZ_IO_ERROR) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-484.06 134.699 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--292 TJm
-(there) 19.9152 Tj
--293 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--292 TJm
-(an) 9.4047 Tj
-81.963 122.744 Td
-(error) 19.3573 Tj
--279 TJm
-(reading/writ) 48.6972 Tj
-1 TJm
-(ing) 12.7322 Tj
--279 TJm
-(the) 12.1743 Tj
--279 TJm
-(underlying) 43.1679 Tj
--278 TJm
-(compressed) 47.0334 Tj
--279 TJm
-(\002le,) 15.2229 Tj
--285 TJm
-(and) 14.386 Tj
--279 TJm
-(you) 14.9439 Tj
--279 TJm
-(should) 26.5703 Tj
--278 TJm
-(then) 17.1556 Tj
--279 TJm
-(consult) 28.782 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-412.785 122.744 Td
-/F124_0 9.9626 Tf
-(errno) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-445.448 122.744 Td
-/F122_0 9.9626 Tf
-(/) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-450.993 122.744 Td
-/F124_0 9.9626 Tf
-(perror) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-489.634 122.744 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--279 TJm
-(determine) 39.8404 Tj
-81.963 110.789 Td
-(the) 12.1743 Tj
--376 TJm
-(cause) 22.1269 Tj
--376 TJm
-(of) 8.2988 Tj
--377 TJm
-(the) 12.1743 Tj
--376 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culty) 25.4644 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.58 110.789 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-249.171 110.789 Td
-/F122_0 9.9626 Tf
-(may) 17.1556 Tj
--376 TJm
-(also) 16.0497 Tj
--376 TJm
-(be) 9.4047 Tj
--377 TJm
-(set) 11.0684 Tj
--376 TJm
-(to) 7.7509 Tj
--376 TJm
-(v) 4.9813 Tj
-25 TJm
-(arious) 24.3486 Tj
--376 TJm
-(other) 20.4731 Tj
--377 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues;) 23.2427 Tj
--439 TJm
-(precise) 28.2141 Tj
--376 TJm
-(details) 26.0123 Tj
--376 TJm
-(are) 12.1643 Tj
--377 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--376 TJm
-(on) 9.9626 Tj
--376 TJm
-(a) 4.4234 Tj
-81.963 98.834 Td
-(per) 12.7222 Tj
-20 TJm
-(-function) 36.5229 Tj
--250 TJm
-(basis) 19.9252 Tj
--250 TJm
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(18) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 19 22
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-74.491 710.037 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-91.793 710.037 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-136.332 710.037 Td
-/F122_0 9.9626 Tf
-(indicates) 35.417 Tj
--271 TJm
-(an) 9.4047 Tj
--270 TJm
-(error) 19.3573 Tj
--271 TJm
-(\(ie,) 13.0012 Tj
--276 TJm
-(an) 9.4047 Tj
-15 TJm
-(ything) 25.4644 Tj
--271 TJm
-(e) 4.4234 Tj
-15 TJm
-(xcept) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-290.317 710.037 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-322.901 710.037 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-339.984 710.037 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-417.693 710.037 Td
-/F122_0 9.9626 Tf
-(\),) 5.8082 Tj
--271 TJm
-(you) 14.9439 Tj
--270 TJm
-(should) 26.5703 Tj
--271 TJm
-(immediately) 49.813 Tj
--271 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 698.082 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-173.971 698.082 Td
-/F122_0 9.9626 Tf
-(\(or) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-187.932 698.082 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-283.573 698.082 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--238 TJm
-(depending) 41.5042 Tj
--236 TJm
-(on) 9.9626 Tj
--235 TJm
-(whether) 32.0895 Tj
--235 TJm
-(you) 14.9439 Tj
--236 TJm
-(are) 12.1643 Tj
--235 TJm
-(attempting) 42.62 Tj
--235 TJm
-(to) 7.7509 Tj
--236 TJm
-(read) 17.1456 Tj
--235 TJm
-(or) 8.2988 Tj
--235 TJm
-(to) 7.7509 Tj
--236 TJm
-(write\)) 23.7907 Tj
--235 TJm
-(to) 7.7509 Tj
-81.963 686.127 Td
-(free) 15.4819 Tj
--309 TJm
-(up) 9.9626 Tj
--309 TJm
-(all) 9.9626 Tj
--309 TJm
-(resources) 37.6188 Tj
--310 TJm
-(associated) 40.9463 Tj
--309 TJm
-(with) 17.7135 Tj
--309 TJm
-(the) 12.1743 Tj
--309 TJm
-(stream.) 29.0509 Tj
--975 TJm
-(Once) 21.0211 Tj
--309 TJm
-(an) 9.4047 Tj
--310 TJm
-(error) 19.3573 Tj
--309 TJm
-(has) 13.2801 Tj
--309 TJm
-(been) 18.8094 Tj
--309 TJm
-(indicated,) 39.0135 Tj
--324 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--309 TJm
-(of) 8.2988 Tj
--309 TJm
-(all) 9.9626 Tj
--310 TJm
-(calls) 18.2614 Tj
--309 TJm
-(e) 4.4234 Tj
-15 TJm
-(xcept) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 674.172 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-175.035 674.172 Td
-/F122_0 9.9626 Tf
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-178.352 674.172 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-273.994 674.172 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--342 TJm
-(is) 6.6451 Tj
--342 TJm
-(unde\002ned.) 41.7831 Tj
--1173 TJm
-(The) 15.4918 Tj
--342 TJm
-(implication) 45.3896 Tj
--342 TJm
-(is) 6.6451 Tj
--342 TJm
-(that) 14.9439 Tj
--342 TJm
-(\(1\)) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-455.366 674.172 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-500.617 674.172 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--342 TJm
-(be) 9.4047 Tj
-81.963 662.217 Td
-(check) 23.2328 Tj
-10 TJm
-(ed) 9.4047 Tj
--331 TJm
-(after) 18.2515 Tj
--331 TJm
-(each) 18.2515 Tj
--331 TJm
-(call,) 16.8766 Tj
--351 TJm
-(and) 14.386 Tj
--331 TJm
-(\(2\)) 11.6164 Tj
--331 TJm
-(if) 6.0871 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-223.255 662.217 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-268.396 662.217 Td
-/F122_0 9.9626 Tf
-(indicates) 35.417 Tj
--331 TJm
-(an) 9.4047 Tj
--331 TJm
-(error) 19.3573 Tj
-40 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-344.762 662.217 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-437.724 662.217 Td
-/F122_0 9.9626 Tf
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-441.041 662.217 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-536.682 662.217 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
-81.963 650.261 Td
-(should) 26.5703 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(called) 23.7907 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(clean) 21.0211 Tj
--250 TJm
-(up.) 12.4533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 628.344 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(The) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-100.186 628.344 Td
-/F124_0 9.9626 Tf
-(FILE) 23.9102 Tj
-124.097 626.6 Td
-(*) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-132.308 628.344 Td
-/F122_0 9.9626 Tf
-(ar) 7.7409 Tj
-18 TJm
-(guments) 33.7633 Tj
--224 TJm
-(passed) 26.5603 Tj
--224 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-214.645 628.344 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-300.565 628.344 Td
-/F122_0 9.9626 Tf
-(/) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-305.569 628.344 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-397.466 628.344 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--224 TJm
-(be) 9.4047 Tj
--224 TJm
-(set) 11.0684 Tj
--225 TJm
-(to) 7.7509 Tj
--224 TJm
-(binary) 25.4544 Tj
--224 TJm
-(mode.) 24.6275 Tj
--603 TJm
-(Most) 20.4831 Tj
-81.963 616.389 Td
-(Unix) 19.9252 Tj
--269 TJm
-(systems) 31.5516 Tj
--270 TJm
-(will) 15.5018 Tj
--269 TJm
-(do) 9.9626 Tj
--269 TJm
-(this) 14.396 Tj
--270 TJm
-(by) 9.9626 Tj
--269 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault,) 17.4346 Tj
--274 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--270 TJm
-(ot) 7.7509 Tj
-1 TJm
-(her) 12.7222 Tj
--270 TJm
-(platforms,) 40.6773 Tj
--274 TJm
-(including) 37.6387 Tj
--269 TJm
-(W) 9.4047 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--270 TJm
-(and) 14.386 Tj
--269 TJm
-(Mac,) 20.1942 Tj
--274 TJm
-(will) 15.5018 Tj
--270 TJm
-(not.) 15.2229 Tj
--736 TJm
-(If) 6.6351 Tj
--269 TJm
-(you) 14.9439 Tj
--269 TJm
-(omit) 18.2714 Tj
--270 TJm
-(this,) 16.8866 Tj
-81.963 604.433 Td
-(you) 14.9439 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(encounter) 39.2825 Tj
--250 TJm
-(problems) 37.0808 Tj
--250 TJm
-(when) 21.579 Tj
--250 TJm
-(mo) 12.7322 Tj
-15 TJm
-(ving) 17.7135 Tj
--250 TJm
-(code) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(ne) 9.4047 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(platforms.) 40.6773 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 582.516 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(Memory) 34.3112 Tj
--369 TJm
-(allocation) 39.2925 Tj
--370 TJm
-(requests) 32.6474 Tj
--369 TJm
-(are) 12.1643 Tj
--370 TJm
-(handled) 31.5416 Tj
--369 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-264.468 582.516 Td
-/F124_0 9.9626 Tf
-(malloc) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-304.014 582.516 Td
-/F122_0 9.9626 Tf
-(/) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-310.465 582.516 Td
-/F124_0 9.9626 Tf
-(free) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-334.376 582.516 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1337 TJm
-(At) 9.9626 Tj
--370 TJm
-(present) 28.772 Tj
--369 TJm
-(there) 19.9152 Tj
--370 TJm
-(is) 6.6451 Tj
--369 TJm
-(no) 9.9626 Tj
--370 TJm
-(f) 3.3175 Tj
-10 TJm
-(acility) 24.9065 Tj
--369 TJm
-(for) 11.6164 Tj
--370 TJm
-(user) 16.5977 Tj
-20 TJm
-(-de\002ned) 32.6474 Tj
-81.963 570.56 Td
-(memory) 33.2053 Tj
--250 TJm
-(allocators) 38.7346 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(I/O) 13.2801 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(\(could) 25.4544 Tj
--250 TJm
-(easily) 23.2427 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(added,) 26.2813 Tj
--250 TJm
-(though\).) 33.4843 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 529.977 Td
-/F116_0 17.2154 Tf
-(3.4.1.) 43.0729 Tj
--278 TJm
-(BZ2_bzReadOpen) 147.3122 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 453.686] cm
-0 0 468 71.731 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 517.048 Td
-/F124_0 9.9626 Tf
-(typedef) 41.8429 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(BZFILE;) 41.8429 Tj
-90 493.138 Td
-(BZFILE) 35.8654 Tj
-130.109 491.394 Td
-(*) 5.9776 Tj
-136.087 493.138 Td
-(BZ2_bzReadOpen\() 89.6634 Tj
--426 TJm
-(int) 17.9327 Tj
-252.171 491.394 Td
-(*) 5.9776 Tj
-258.149 493.138 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(FILE) 23.9102 Tj
-338.368 491.394 Td
-(*) 5.9776 Tj
-344.346 493.138 Td
-(f,) 11.9551 Tj
-191.855 481.183 Td
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(small,) 35.8654 Tj
-191.855 469.228 Td
-(void) 23.9102 Tj
-220.01 467.484 Td
-(*) 5.9776 Tj
-225.987 469.228 Td
-(unused,) 41.8429 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 431.768 Td
-/F122_0 9.9626 Tf
-(Prepare) 30.4258 Tj
--290 TJm
-(to) 7.7509 Tj
--289 TJm
-(read) 17.1456 Tj
--290 TJm
-(compressed) 47.0334 Tj
--290 TJm
-(data) 16.5977 Tj
--289 TJm
-(from) 19.3673 Tj
--290 TJm
-(\002le) 12.7322 Tj
--289 TJm
-(handle) 26.5603 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-272.697 431.768 Td
-/F124_0 9.9626 Tf
-(f) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-278.675 431.768 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-285.439 431.768 Td
-/F124_0 9.9626 Tf
-(f) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.302 431.768 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--290 TJm
-(refer) 18.7994 Tj
--289 TJm
-(to) 7.7509 Tj
--290 TJm
-(a) 4.4234 Tj
--290 TJm
-(\002le) 12.7322 Tj
--289 TJm
-(which) 24.3486 Tj
--290 TJm
-(has) 13.2801 Tj
--290 TJm
-(been) 18.8094 Tj
--289 TJm
-(opened) 28.772 Tj
--290 TJm
-(for) 11.6164 Tj
--289 TJm
-(reading,) 32.3685 Tj
--300 TJm
-(and) 14.386 Tj
-72 419.813 Td
-(for) 11.6164 Tj
--306 TJm
-(which) 24.3486 Tj
--305 TJm
-(the) 12.1743 Tj
--306 TJm
-(error) 19.3573 Tj
--306 TJm
-(indicator) 35.417 Tj
--305 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-193.457 419.813 Td
-/F124_0 9.9626 Tf
-(ferror\(f\)) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-247.255 419.813 Td
-/F122_0 9.9626 Tf
-(\)is) 9.9626 Tj
--306 TJm
-(not) 12.7322 Tj
--305 TJm
-(set.) 13.5591 Tj
--954 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-308.784 419.813 Td
-/F124_0 9.9626 Tf
-(small) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-341.717 419.813 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--306 TJm
-(1,) 7.472 Tj
--319 TJm
-(the) 12.1743 Tj
--306 TJm
-(library) 26.5603 Tj
--306 TJm
-(wil) 12.7322 Tj
-1 TJm
-(l) 2.7696 Tj
--306 TJm
-(try) 11.0684 Tj
--306 TJm
-(to) 7.7509 Tj
--305 TJm
-(decompress) 47.0334 Tj
--306 TJm
-(using) 21.589 Tj
--306 TJm
-(less) 14.9439 Tj
-72 407.858 Td
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xpense) 27.6661 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(speed.) 25.1755 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 385.94 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--227 TJm
-(reasons) 29.8778 Tj
--227 TJm
-(e) 4.4234 Tj
-15 TJm
-(xplained) 34.3112 Tj
--228 TJm
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-189.193 385.94 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-251.232 385.94 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--227 TJm
-(decompress) 47.0334 Tj
--227 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-332.732 385.94 Td
-/F124_0 9.9626 Tf
-(nUnused) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-376.838 385.94 Td
-/F122_0 9.9626 Tf
-(bytes) 21.031 Tj
--227 TJm
-(starting) 29.8878 Tj
--227 TJm
-(at) 7.193 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-441.74 385.94 Td
-/F124_0 9.9626 Tf
-(unused) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-477.605 385.94 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--232 TJm
-(before) 25.4445 Tj
--227 TJm
-(starting) 29.8878 Tj
-72 373.985 Td
-(to) 7.7509 Tj
--280 TJm
-(read) 17.1456 Tj
--279 TJm
-(from) 19.3673 Tj
--280 TJm
-(the) 12.1743 Tj
--279 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-155.094 373.985 Td
-/F124_0 9.9626 Tf
-(f) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.072 373.985 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--797 TJm
-(At) 9.9626 Tj
--280 TJm
-(most) 19.3773 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-206.414 373.985 Td
-/F124_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-286.907 373.985 Td
-/F122_0 9.9626 Tf
-(bytes) 21.031 Tj
--280 TJm
-(may) 17.1556 Tj
--279 TJm
-(be) 9.4047 Tj
--280 TJm
-(supplied) 33.7633 Tj
--279 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--280 TJm
-(this.) 16.8866 Tj
--797 TJm
-(If) 6.6351 Tj
--279 TJm
-(this) 14.396 Tj
--280 TJm
-(f) 3.3175 Tj
-10 TJm
-(acility) 24.9065 Tj
--279 TJm
-(is) 6.6451 Tj
--280 TJm
-(not) 12.7322 Tj
--279 TJm
-(required,) 35.686 Tj
-72 362.03 Td
-(you) 14.9439 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(pass) 17.1556 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-138.141 362.03 Td
-/F124_0 9.9626 Tf
-(NULL) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-164.542 362.03 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-181.419 362.03 Td
-/F124_0 9.9626 Tf
-(0) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-189.887 362.03 Td
-/F122_0 9.9626 Tf
-(for) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.994 362.03 Td
-/F124_0 9.9626 Tf
-(unused) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-242.35 362.03 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
--250 TJm
-(n) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-264.208 362.03 Td
-/F124_0 9.9626 Tf
-(Unused) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-302.565 362.03 Td
-/F122_0 9.9626 Tf
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 340.112 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(meaning) 34.3112 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(parameters) 43.7059 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-196.631 340.112 Td
-/F124_0 9.9626 Tf
-(small) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-229.01 340.112 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-245.887 340.112 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-299.685 340.112 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(see) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-319.879 340.112 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.5512 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-439.431 340.112 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 318.194 Td
-(The) 15.4918 Tj
--402 TJm
-(amount) 29.8878 Tj
--402 TJm
-(of) 8.2988 Tj
--402 TJm
-(memory) 33.2053 Tj
--402 TJm
-(needed) 28.2141 Tj
--402 TJm
-(to) 7.7509 Tj
--402 TJm
-(decompress) 47.0334 Tj
--402 TJm
-(a) 4.4234 Tj
--401 TJm
-(\002le) 12.7322 Tj
--402 TJm
-(cannot) 26.5603 Tj
--402 TJm
-(be) 9.4047 Tj
--402 TJm
-(determined) 44.8217 Tj
--402 TJm
-(until) 18.2714 Tj
--402 TJm
-(the) 12.1743 Tj
--402 TJm
-(\002le') 16.0497 Tj
-55 TJm
-(s) 3.8755 Tj
--402 TJm
-(header) 26.5503 Tj
--402 TJm
-(has) 13.2801 Tj
--402 TJm
-(been) 18.8094 Tj
--402 TJm
-(read.) 19.6363 Tj
-72 306.239 Td
-(So) 10.5205 Tj
--492 TJm
-(it) 5.5392 Tj
--491 TJm
-(is) 6.6451 Tj
--492 TJm
-(possible) 32.6574 Tj
--492 TJm
-(that) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.797 306.239 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-255.381 306.239 Td
-/F122_0 9.9626 Tf
-(returns) 27.6661 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-287.946 306.239 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-322.729 306.239 Td
-/F122_0 9.9626 Tf
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--492 TJm
-(a) 4.4234 Tj
--491 TJm
-(subsequent) 44.2738 Tj
--492 TJm
-(call) 14.386 Tj
--492 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-431.135 306.239 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-495.81 306.239 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--492 TJm
-(return) 23.7907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 294.284 Td
-/F124_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-143.731 294.284 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 272.366 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 272.366 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 272.366 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 101.84] cm
-0 0 468 167.372 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 260.844 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.488 248.889 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 236.934 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 224.979 Td
-(if) 11.9551 Tj
--426 TJm
-(f) 5.9776 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 213.023 Td
-(or) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(neither) 41.8429 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(nor) 17.9327 Tj
--426 TJm
-(1) 5.9776 Tj
-98.488 201.068 Td
-(or) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(unused) 35.8654 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(\)) 5.9776 Tj
-98.488 189.113 Td
-(or) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(unused) 35.8654 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(!\(0) 17.9327 Tj
--426 TJm
-(<=) 11.9551 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(<=) 11.9551 Tj
--426 TJm
-(BZ_MAX_UNUSED\)) 83.6858 Tj
--426 TJm
-(\)) 5.9776 Tj
-90 177.158 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.488 165.203 Td
-(if) 11.9551 Tj
--426 TJm
-(ferror\(f\)) 53.798 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(nonzero) 41.8429 Tj
-90 153.248 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 141.292 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 129.337 Td
-(BZ_OK) 29.8878 Tj
-98.488 117.382 Td
-(otherwise.) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 79.922 Td
-/F122_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 51.071 Td
-(19) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 20 23
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 660.224] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(Pointer) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(abstract) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 687.721 Td
-(NULL) 23.9102 Tj
-98.488 675.766 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 638.306 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 577.435] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 628.842 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-98.488 616.887 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 604.932 Td
-(BZ2_bzClose) 65.7532 Tj
-98.488 592.976 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 546.814 Td
-/F116_0 17.2154 Tf
-(3.4.2.) 43.0729 Tj
--278 TJm
-(BZ2_bzRead) 103.3096 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 519.841] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 535.383 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzRead) 59.7756 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(int) 17.9327 Tj
-208.595 533.639 Td
-(*) 5.9776 Tj
-214.572 535.383 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-306.747 533.639 Td
-(*) 5.9776 Tj
-312.724 535.383 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-357.078 533.639 Td
-(*) 5.9776 Tj
-363.055 535.383 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 497.923 Td
-/F122_0 9.9626 Tf
-(Reads) 24.3486 Tj
--285 TJm
-(up) 9.9626 Tj
--284 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-122.569 497.923 Td
-/F124_0 9.9626 Tf
-(len) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-143.337 497.923 Td
-/F122_0 9.9626 Tf
-(\(uncompressed\)) 63.6311 Tj
--285 TJm
-(bytes) 21.031 Tj
--284 TJm
-(from) 19.3673 Tj
--285 TJm
-(the) 12.1743 Tj
--284 TJm
-(compressed) 47.0334 Tj
--285 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-336.319 497.923 Td
-/F124_0 9.9626 Tf
-(b) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-345.132 497.923 Td
-/F122_0 9.9626 Tf
-(into) 15.5018 Tj
--285 TJm
-(the) 12.1743 Tj
--284 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-405.205 497.923 Td
-/F124_0 9.9626 Tf
-(buf) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-423.137 497.923 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--828 TJm
-(If) 6.6351 Tj
--284 TJm
-(the) 12.1743 Tj
--285 TJm
-(read) 17.1456 Tj
--285 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--284 TJm
-(successful,) 43.4369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 485.968 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-117.36 485.968 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--353 TJm
-(set) 11.0684 Tj
--353 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-153.374 485.968 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-186.778 485.968 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
--353 TJm
-(the) 12.1743 Tj
--353 TJm
-(number) 30.4357 Tj
--353 TJm
-(of) 8.2988 Tj
--353 TJm
-(bytes) 21.031 Tj
--353 TJm
-(read) 17.1456 Tj
--353 TJm
-(is) 6.6451 Tj
--353 TJm
-(returned.) 35.686 Tj
--1238 TJm
-(If) 6.6351 Tj
--353 TJm
-(the) 12.1743 Tj
--353 TJm
-(logical) 27.1182 Tj
--353 TJm
-(end-of-stream) 55.8802 Tj
--353 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--353 TJm
-(detected,) 35.686 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 474.013 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-116.795 474.013 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--296 TJm
-(be) 9.4047 Tj
--297 TJm
-(set) 11.0684 Tj
--296 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.328 474.013 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-250.037 474.013 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--296 TJm
-(and) 14.386 Tj
--297 TJm
-(the) 12.1743 Tj
--296 TJm
-(number) 30.4357 Tj
--296 TJm
-(of) 8.2988 Tj
--297 TJm
-(bytes) 21.031 Tj
--296 TJm
-(read) 17.1456 Tj
--296 TJm
-(is) 6.6451 Tj
--296 TJm
-(returned.) 35.686 Tj
--898 TJm
-(All) 12.7322 Tj
--297 TJm
-(other) 20.4731 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-470 474.013 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-514.795 474.013 Td
-/F122_0 9.9626 Tf
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
-72 462.058 Td
-(denote) 26.5603 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(error) 19.3573 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 440.14 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-134.224 440.14 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--246 TJm
-(supply) 26.5703 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-181.193 440.14 Td
-/F124_0 9.9626 Tf
-(len) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-201.575 440.14 Td
-/F122_0 9.9626 Tf
-(bytes,) 23.5217 Tj
--247 TJm
-(unless) 24.9065 Tj
--245 TJm
-(the) 12.1743 Tj
--246 TJm
-(logical) 27.1182 Tj
--246 TJm
-(stream) 26.5603 Tj
--246 TJm
-(end) 14.386 Tj
--245 TJm
-(is) 6.6451 Tj
--246 TJm
-(detected) 33.1954 Tj
--246 TJm
-(or) 8.2988 Tj
--246 TJm
-(an) 9.4047 Tj
--245 TJm
-(error) 19.3573 Tj
--246 TJm
-(occurs.) 28.493 Tj
--617 TJm
-(Because) 33.1954 Tj
--246 TJm
-(of) 8.2988 Tj
--246 TJm
-(this,) 16.8866 Tj
--247 TJm
-(it) 5.5392 Tj
-72 428.185 Td
-(is) 6.6451 Tj
--231 TJm
-(possible) 32.6574 Tj
--231 TJm
-(to) 7.7509 Tj
--231 TJm
-(detect) 23.7907 Tj
--231 TJm
-(the) 12.1743 Tj
--231 TJm
-(stream) 26.5603 Tj
--231 TJm
-(end) 14.386 Tj
--232 TJm
-(by) 9.9626 Tj
--231 TJm
-(observing) 39.2925 Tj
--231 TJm
-(when) 21.579 Tj
--231 TJm
-(the) 12.1743 Tj
--231 TJm
-(number) 30.4357 Tj
--231 TJm
-(of) 8.2988 Tj
--231 TJm
-(bytes) 21.031 Tj
--231 TJm
-(returned) 33.1954 Tj
--231 TJm
-(is) 6.6451 Tj
--231 TJm
-(less) 14.9439 Tj
--231 TJm
-(than) 17.1556 Tj
--232 TJm
-(the) 12.1743 Tj
--231 TJm
-(number) 30.4357 Tj
--231 TJm
-(requested.) 40.6673 Tj
-72 416.23 Td
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--309 TJm
-(this) 14.396 Tj
--297 TJm
-(is) 6.6451 Tj
--298 TJm
-(re) 7.7409 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(arded) 22.1269 Tj
--297 TJm
-(as) 8.2988 Tj
--297 TJm
-(inadvisable;) 48.1492 Tj
--321 TJm
-(you) 14.9439 Tj
--298 TJm
-(should) 26.5703 Tj
--297 TJm
-(instead) 28.224 Tj
--297 TJm
-(check) 23.2328 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-360.631 416.23 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-405.437 416.23 Td
-/F122_0 9.9626 Tf
-(after) 18.2515 Tj
--297 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--298 TJm
-(call) 14.386 Tj
--297 TJm
-(and) 14.386 Tj
--297 TJm
-(w) 7.193 Tj
-10 TJm
-(atch) 16.5977 Tj
--298 TJm
-(out) 12.7322 Tj
--297 TJm
-(for) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 404.275 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-149.709 404.275 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 382.357 Td
-(Internally) 38.7346 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-117.541 382.357 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-181.786 382.357 Td
-/F122_0 9.9626 Tf
-(copies) 25.4544 Tj
--449 TJm
-(data) 16.5977 Tj
--448 TJm
-(from) 19.3673 Tj
--449 TJm
-(the) 12.1743 Tj
--448 TJm
-(compressed) 47.0334 Tj
--449 TJm
-(\002le) 12.7322 Tj
--449 TJm
-(in) 7.7509 Tj
--448 TJm
-(chunks) 28.224 Tj
--449 TJm
-(of) 8.2988 Tj
--448 TJm
-(size) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-419.602 382.357 Td
-/F124_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-501.778 382.357 Td
-/F122_0 9.9626 Tf
-(bytes) 21.031 Tj
--449 TJm
-(be-) 12.7222 Tj
-72 370.402 Td
-(fore) 16.0398 Tj
--414 TJm
-(decompressing) 59.7656 Tj
--414 TJm
-(it.) 8.0299 Tj
--1605 TJm
-(If) 6.6351 Tj
--415 TJm
-(the) 12.1743 Tj
--414 TJm
-(\002le) 12.7322 Tj
--414 TJm
-(contains) 33.2053 Tj
--414 TJm
-(more) 20.4731 Tj
--414 TJm
-(bytes) 21.031 Tj
--415 TJm
-(than) 17.1556 Tj
--414 TJm
-(strictly) 27.6761 Tj
--414 TJm
-(needed) 28.2141 Tj
--414 TJm
-(to) 7.7509 Tj
--414 TJm
-(reach) 21.569 Tj
--414 TJm
-(the) 12.1743 Tj
--415 TJm
-(logical) 27.1182 Tj
--414 TJm
-(end-of-stream,) 58.3709 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 358.446 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-134.749 358.446 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--298 TJm
-(almost) 26.5703 Tj
--299 TJm
-(certainly) 34.8591 Tj
--298 TJm
-(read) 17.1456 Tj
--299 TJm
-(some) 21.031 Tj
--298 TJm
-(of) 8.2988 Tj
--299 TJm
-(the) 12.1743 Tj
--298 TJm
-(trailing) 28.782 Tj
--299 TJm
-(data) 16.5977 Tj
--298 TJm
-(before) 25.4445 Tj
--298 TJm
-(signalling) 39.3025 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-413.162 358.446 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_END) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-502.826 358.446 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--597 TJm
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--298 TJm
-(col-) 15.4918 Tj
-72 346.491 Td
-(lect) 14.386 Tj
--242 TJm
-(the) 12.1743 Tj
--242 TJm
-(read) 17.1456 Tj
--243 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--242 TJm
-(unused) 28.224 Tj
--242 TJm
-(data) 16.5977 Tj
--242 TJm
-(once) 18.8094 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-208.759 346.491 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_END) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-300.835 346.491 Td
-/F122_0 9.9626 Tf
-(has) 13.2801 Tj
--242 TJm
-(appeared,) 38.4457 Tj
--244 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-374.201 346.491 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-490.188 346.491 Td
-/F122_0 9.9626 Tf
-(immediately) 49.813 Tj
-72 334.536 Td
-(before) 25.4445 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-99.935 334.536 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-189.599 334.536 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 312.618 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 312.618 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 312.618 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(20) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 21 24
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 456.986] cm
-0 0 468 263.014 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(buf) 17.9327 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
-90 687.721 Td
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-98.488 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteOpen) 89.6634 Tj
-90 663.811 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.488 651.856 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(reading) 41.8429 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file) 23.9102 Tj
-90 639.9 Td
-(BZ_UNEXPECTED_EOF) 101.6185 Tj
-98.488 627.945 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file) 23.9102 Tj
--426 TJm
-(ended) 29.8878 Tj
--426 TJm
-(before) 35.8654 Tj
-98.488 615.99 Td
-(the) 17.9327 Tj
--426 TJm
-(logical) 41.8429 Tj
--426 TJm
-(end-of-stream) 77.7083 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
-90 604.035 Td
-(BZ_DATA_ERROR) 77.7083 Tj
-98.488 592.08 Td
-(if) 11.9551 Tj
--426 TJm
-(a) 5.9776 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(integrity) 53.798 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(stream) 35.8654 Tj
-90 580.124 Td
-(BZ_DATA_ERROR_MAGIC) 113.5736 Tj
-98.488 568.169 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(does) 23.9102 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(begin) 29.8878 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(requisite) 53.798 Tj
--426 TJm
-(header) 35.8654 Tj
--426 TJm
-(bytes) 29.8878 Tj
-98.488 556.214 Td
-(\(ie,) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(a) 5.9776 Tj
--426 TJm
-(bzip2) 29.8878 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(file\).) 35.8654 Tj
--852 TJm
-(This) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(really) 35.8654 Tj
-98.488 544.259 Td
-(a) 5.9776 Tj
--426 TJm
-(special) 41.8429 Tj
--426 TJm
-(case) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(BZ_DATA_ERROR.) 83.6858 Tj
-90 532.304 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 520.349 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(available) 53.798 Tj
-90 508.393 Td
-(BZ_STREAM_END) 77.7083 Tj
-98.488 496.438 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(logical) 41.8429 Tj
--426 TJm
-(end) 17.9327 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected.) 53.798 Tj
-90 484.483 Td
-(BZ_OK) 29.8878 Tj
-98.488 472.528 Td
-(otherwise.) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 435.068 Td
-/F122_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 374.197] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 425.604 Td
-/F124_0 9.9626 Tf
-(number) 35.8654 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(bytes) 29.8878 Tj
--426 TJm
-(read) 23.9102 Tj
-98.488 413.649 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
-90 401.694 Td
-(undefined) 53.798 Tj
-98.488 389.739 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 352.279 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 267.497] cm
-0 0 468 83.686 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 342.815 Td
-/F124_0 9.9626 Tf
-(collect) 41.8429 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(then) 23.9102 Tj
--426 TJm
-(BZ2_bzRead) 59.7756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(BZ2_bzReadClose) 89.6634 Tj
-98.488 330.859 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 318.904 Td
-(collect) 41.8429 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(then) 23.9102 Tj
--426 TJm
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(BZ2_bzReadGetUnused) 113.5736 Tj
-98.488 306.949 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_SEQUENCE_END) 89.6634 Tj
-90 294.994 Td
-(BZ2_bzReadClose) 89.6634 Tj
-98.488 283.039 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 236.876 Td
-/F116_0 17.2154 Tf
-(3.4.3.) 43.0729 Tj
--278 TJm
-(BZ2_bzReadGetUn) 154.9558 Tj
-10 TJm
-(used) 40.1807 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 197.948] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 225.445 Td
-/F124_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzReadGetUnused\() 119.5512 Tj
--426 TJm
-(int) 17.9327 Tj
-259.883 223.702 Td
-(*) 5.9776 Tj
-270.104 225.445 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-362.278 223.702 Td
-(*) 5.9776 Tj
-368.256 225.445 Td
-(b,) 11.9551 Tj
-200.343 213.49 Td
-(void) 23.9102 Tj
-224.254 211.747 Td
-(**) 11.9551 Tj
-240.453 213.49 Td
-(unused,) 41.8429 Tj
--426 TJm
-(int) 17.9327 Tj
-304.473 211.747 Td
-(*) 5.9776 Tj
-314.694 213.49 Td
-(nUnused) 41.8429 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 176.031 Td
-/F122_0 9.9626 Tf
-(Returns) 30.9936 Tj
--435 TJm
-(data) 16.5977 Tj
--435 TJm
-(which) 24.3486 Tj
--435 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--435 TJm
-(read) 17.1456 Tj
--435 TJm
-(from) 19.3673 Tj
--435 TJm
-(the) 12.1743 Tj
--435 TJm
-(compressed) 47.0334 Tj
--435 TJm
-(\002le) 12.7322 Tj
--435 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--435 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--435 TJm
-(not) 12.7322 Tj
--435 TJm
-(needed) 28.2141 Tj
--435 TJm
-(to) 7.7509 Tj
--435 TJm
-(get) 12.1743 Tj
--435 TJm
-(to) 7.7509 Tj
--435 TJm
-(the) 12.1743 Tj
--435 TJm
-(logical) 27.1182 Tj
--435 TJm
-(end-of-stream.) 58.3709 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 162.332 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-77.978 164.075 Td
-(unused) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-117.2 164.075 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--337 TJm
-(set) 11.0684 Tj
--337 TJm
-(to) 7.7509 Tj
--337 TJm
-(the) 12.1743 Tj
--337 TJm
-(address) 29.8778 Tj
--337 TJm
-(of) 8.2988 Tj
--336 TJm
-(the) 12.1743 Tj
--337 TJm
-(data,) 19.0883 Tj
--359 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-269.089 162.332 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-275.067 164.075 Td
-(nUnused) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-320.267 164.075 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--337 TJm
-(the) 12.1743 Tj
--337 TJm
-(number) 30.4357 Tj
--337 TJm
-(of) 8.2988 Tj
--337 TJm
-(bytes.) 23.5217 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-427.247 162.332 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-433.225 164.075 Td
-(nUnused) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-478.425 164.075 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--337 TJm
-(be) 9.4047 Tj
--337 TJm
-(set) 11.0684 Tj
--337 TJm
-(to) 7.7509 Tj
--337 TJm
-(a) 4.4234 Tj
-72 152.12 Td
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(between) 33.1954 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-131.506 152.12 Td
-/F124_0 9.9626 Tf
-(0) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-139.975 152.12 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-156.851 152.12 Td
-/F124_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-237.05 152.12 Td
-/F122_0 9.9626 Tf
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.914 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 130.202 Td
-(This) 17.7135 Tj
--882 TJm
-(function) 33.2053 Tj
--883 TJm
-(may) 17.1556 Tj
--882 TJm
-(only) 17.7135 Tj
--883 TJm
-(be) 9.4047 Tj
--882 TJm
-(called) 23.7907 Tj
--883 TJm
-(once) 18.8094 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-271.332 130.202 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-339.9 130.202 Td
-/F122_0 9.9626 Tf
-(has) 13.2801 Tj
--882 TJm
-(signalled) 35.9749 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-406.737 130.202 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-493.231 130.202 Td
-/F122_0 9.9626 Tf
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--882 TJm
-(before) 25.4445 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 118.247 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.664 118.247 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 96.329 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 96.329 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 96.329 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.852 Td
-(21) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 22 25
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 612.403] cm
-0 0 468 107.597 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 687.721 Td
-(or) 11.9551 Tj
--426 TJm
-(unused) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-90 675.766 Td
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-98.488 663.811 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(signalled) 53.798 Tj
-98.488 651.856 Td
-(or) 11.9551 Tj
--426 TJm
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteOpen) 89.6634 Tj
-90 639.9 Td
-(BZ_OK) 29.8878 Tj
-98.488 627.945 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 590.486 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 565.48] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 581.021 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 534.858 Td
-/F116_0 17.2154 Tf
-(3.4.4.) 43.0729 Tj
--278 TJm
-(BZ2_bzReadClose) 150.1871 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 507.886] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 523.428 Td
-/F124_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(int) 17.9327 Tj
-244.46 521.684 Td
-(*) 5.9776 Tj
-250.438 523.428 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-342.612 521.684 Td
-(*) 5.9776 Tj
-348.59 523.428 Td
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 485.968 Td
-/F122_0 9.9626 Tf
-(Releases) 34.8591 Tj
--430 TJm
-(all) 9.9626 Tj
--429 TJm
-(memory) 33.2053 Tj
--430 TJm
-(pertaining) 40.3983 Tj
--429 TJm
-(to) 7.7509 Tj
--430 TJm
-(the) 12.1743 Tj
--429 TJm
-(compressed) 47.0334 Tj
--430 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-304.352 485.968 Td
-/F124_0 9.9626 Tf
-(b) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-310.33 485.968 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-321.276 485.968 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-415.22 485.968 Td
-/F122_0 9.9626 Tf
-(does) 18.2614 Tj
--430 TJm
-(not) 12.7322 Tj
--429 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-473.438 485.968 Td
-/F124_0 9.9626 Tf
-(fclose) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-513.583 485.968 Td
-/F122_0 9.9626 Tf
-(on) 9.9626 Tj
--430 TJm
-(the) 12.1743 Tj
-72 474.013 Td
-(underlying) 43.1679 Tj
--264 TJm
-(\002le) 12.7322 Tj
--264 TJm
-(handle,) 29.0509 Tj
--267 TJm
-(so) 8.8568 Tj
--264 TJm
-(you) 14.9439 Tj
--264 TJm
-(should) 26.5703 Tj
--264 TJm
-(do) 9.9626 Tj
--264 TJm
-(that) 14.9439 Tj
--264 TJm
-(yourself) 32.6474 Tj
--264 TJm
-(if) 6.0871 Tj
--263 TJm
-(appropriate.) 47.8603 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-348.653 474.013 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-440.946 474.013 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--264 TJm
-(be) 9.4047 Tj
--264 TJm
-(called) 23.7907 Tj
--264 TJm
-(to) 7.7509 Tj
--264 TJm
-(clean) 21.0211 Tj
-72 462.058 Td
-(up) 9.9626 Tj
--250 TJm
-(after) 18.2515 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(situations.) 40.6873 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 440.14 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 440.14 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 440.14 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 377.211] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 428.618 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-98.488 416.663 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzOpenWrite) 89.6634 Tj
-90 404.708 Td
-(BZ_OK) 29.8878 Tj
-98.488 392.753 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 355.293 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 330.287] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 345.829 Td
-/F124_0 9.9626 Tf
-(none) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 299.666 Td
-/F116_0 17.2154 Tf
-(3.4.5.) 43.0729 Tj
--278 TJm
-(BZ2_bzWriteOpen) 148.259 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 247.286] cm
-0 0 468 47.821 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 286.738 Td
-/F124_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-130.109 284.994 Td
-(*) 5.9776 Tj
-136.087 286.738 Td
-(BZ2_bzWriteOpen\() 95.641 Tj
--426 TJm
-(int) 17.9327 Tj
-258.149 284.994 Td
-(*) 5.9776 Tj
-264.127 286.738 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(FILE) 23.9102 Tj
-344.346 284.994 Td
-(*) 5.9776 Tj
-350.323 286.738 Td
-(f,) 11.9551 Tj
-196.099 274.783 Td
-(int) 17.9327 Tj
--426 TJm
-(blockSize100k,) 83.6858 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
-196.099 262.827 Td
-(int) 17.9327 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 225.368 Td
-/F122_0 9.9626 Tf
-(Prepare) 30.4258 Tj
--268 TJm
-(to) 7.7509 Tj
--269 TJm
-(write) 20.4731 Tj
--268 TJm
-(compressed) 47.0334 Tj
--269 TJm
-(data) 16.5977 Tj
--268 TJm
-(to) 7.7509 Tj
--269 TJm
-(\002le) 12.7322 Tj
--268 TJm
-(handle) 26.5603 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-262.72 225.368 Td
-/F124_0 9.9626 Tf
-(f) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-268.698 225.368 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-274.829 225.368 Td
-/F124_0 9.9626 Tf
-(f) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-283.481 225.368 Td
-/F122_0 9.9626 Tf
-(should) 26.5703 Tj
--268 TJm
-(refer) 18.7994 Tj
--269 TJm
-(to) 7.7509 Tj
--268 TJm
-(a) 4.4234 Tj
--269 TJm
-(\002le) 12.7322 Tj
--268 TJm
-(which) 24.3486 Tj
--269 TJm
-(has) 13.2801 Tj
--268 TJm
-(been) 18.8094 Tj
--269 TJm
-(opened) 28.772 Tj
--268 TJm
-(for) 11.6164 Tj
--269 TJm
-(writing,) 31.2726 Tj
--273 TJm
-(and) 14.386 Tj
--268 TJm
-(for) 11.6164 Tj
-72 213.413 Td
-(which) 24.3486 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(indicator) 35.417 Tj
--250 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-176.577 213.413 Td
-/F124_0 9.9626 Tf
-(ferror\(f\)) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-230.375 213.413 Td
-/F122_0 9.9626 Tf
-(\)is) 9.9626 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(set.) 13.5591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 191.495 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--223 TJm
-(the) 12.1743 Tj
--224 TJm
-(meaning) 34.3112 Tj
--223 TJm
-(of) 8.2988 Tj
--224 TJm
-(parameters) 43.7059 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-195.306 191.495 Td
-/F124_0 9.9626 Tf
-(blockSize100k) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-273.015 191.495 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-277.784 191.495 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-333.808 191.495 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-350.42 191.495 Td
-/F124_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-410.196 191.495 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--229 TJm
-(see) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-429.913 191.495 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 191.495 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 169.577 Td
-(All) 12.7322 Tj
--382 TJm
-(required) 33.1954 Tj
--382 TJm
-(memory) 33.2053 Tj
--382 TJm
-(is) 6.6451 Tj
--382 TJm
-(allocated) 35.965 Tj
--383 TJm
-(at) 7.193 Tj
--382 TJm
-(this) 14.396 Tj
--382 TJm
-(stage,) 22.9638 Tj
--415 TJm
-(so) 8.8568 Tj
--382 TJm
-(if) 6.0871 Tj
--382 TJm
-(the) 12.1743 Tj
--382 TJm
-(call) 14.386 Tj
--382 TJm
-(completes) 40.3983 Tj
--382 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-424.691 169.577 Td
-/F124_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-500.228 169.577 Td
-/F122_0 9.9626 Tf
-(cannot) 26.5603 Tj
--382 TJm
-(be) 9.4047 Tj
-72 157.622 Td
-(signalled) 35.9749 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(subsequent) 44.2738 Tj
--250 TJm
-(call) 14.386 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-203.715 157.622 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-269.468 157.622 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 135.704 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 135.704 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 135.704 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.852 Td
-(22) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 23 26
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 576.538] cm
-0 0 468 143.462 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 687.721 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(f) 5.9776 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 663.811 Td
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(1) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(9) 5.9776 Tj
-90 651.856 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.488 639.9 Td
-(if) 11.9551 Tj
--426 TJm
-(ferror\(f\)) 53.798 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(nonzero) 41.8429 Tj
-90 627.945 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 615.99 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 604.035 Td
-(BZ_OK) 29.8878 Tj
-98.488 592.08 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 554.62 Td
-/F122_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 493.749] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 545.156 Td
-/F124_0 9.9626 Tf
-(Pointer) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(abstract) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-98.488 533.201 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 521.245 Td
-(NULL) 23.9102 Tj
-98.488 509.29 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 471.831 Td
-/F122_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 387.049] cm
-0 0 468 83.686 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 462.366 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-98.488 450.411 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-98.488 438.456 Td
-(\(you) 23.9102 Tj
--426 TJm
-(could) 29.8878 Tj
--426 TJm
-(go) 11.9551 Tj
--426 TJm
-(directly) 47.8205 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(BZ2_bzWriteClose,) 101.6185 Tj
--426 TJm
-(but) 17.9327 Tj
--426 TJm
-(this) 23.9102 Tj
--426 TJm
-(would) 29.8878 Tj
--426 TJm
-(be) 11.9551 Tj
--426 TJm
-(pretty) 35.8654 Tj
-485.506 434.212 Td
-/F548_0 9.9626 Tf
-( ) 9.9626 Tj
-493.808 434.212 Td
-/F230_0 9.9626 Tf
-(-) 2.7676 Tj
-90 426.501 Td
-/F124_0 9.9626 Tf
-(pointless\)) 59.7756 Tj
-90 414.546 Td
-(BZ2_bzWriteClose) 95.641 Tj
-98.488 402.59 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 356.428 Td
-/F116_0 17.2154 Tf
-(3.4.6.) 43.0729 Tj
--278 TJm
-(BZ2_bzWrite) 104.2565 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 329.455] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 344.997 Td
-/F124_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzWrite) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(int) 17.9327 Tj
-220.55 343.254 Td
-(*) 5.9776 Tj
-226.528 344.997 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-318.702 343.254 Td
-(*) 5.9776 Tj
-324.679 344.997 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-369.033 343.254 Td
-(*) 5.9776 Tj
-375.01 344.997 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 307.537 Td
-/F122_0 9.9626 Tf
-(Absorbs) 33.2053 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-107.696 307.537 Td
-/F124_0 9.9626 Tf
-(len) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-128.119 307.537 Td
-/F122_0 9.9626 Tf
-(bytes) 21.031 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-214.544 307.537 Td
-/F124_0 9.9626 Tf
-(buf) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-232.477 307.537 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(entually) 32.0995 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(written) 28.224 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002le.) 15.2229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 285.62 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 285.62 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 285.62 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 174.87] cm
-0 0 468 107.597 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 274.098 Td
-/F124_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 262.143 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(buf) 17.9327 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
-90 250.188 Td
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-98.488 238.232 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzReadOpen) 83.6858 Tj
-90 226.277 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.488 214.322 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(writing) 41.8429 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file.) 29.8878 Tj
-90 202.367 Td
-(BZ_OK) 29.8878 Tj
-98.488 190.412 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 144.249 Td
-/F116_0 17.2154 Tf
-(3.4.7.) 43.0729 Tj
--278 TJm
-(BZ2_bzWriteClose) 151.134 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-/F122_0 9.9626 Tf
-(23) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 24 27
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 576.538] cm
-0 0 468 143.462 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteClose\() 101.6185 Tj
--426 TJm
-(int) 17.9327 Tj
-246.194 709.888 Td
-(*) 5.9776 Tj
-252.172 711.631 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-340.102 709.888 Td
-(*) 5.9776 Tj
-350.323 711.631 Td
-(f,) 11.9551 Tj
-187.611 699.676 Td
-(int) 17.9327 Tj
--426 TJm
-(abandon,) 47.8205 Tj
-187.611 687.721 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-257.609 685.978 Td
-(*) 5.9776 Tj
-267.83 687.721 Td
-(nbytes_in,) 59.7756 Tj
-187.611 675.766 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-257.609 674.022 Td
-(*) 5.9776 Tj
-267.83 675.766 Td
-(nbytes_out) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 651.856 Td
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteClose64\() 113.5736 Tj
--426 TJm
-(int) 17.9327 Tj
-258.149 650.112 Td
-(*) 5.9776 Tj
-264.127 651.856 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-352.057 650.112 Td
-(*) 5.9776 Tj
-362.278 651.856 Td
-(f,) 11.9551 Tj
-196.099 639.9 Td
-(int) 17.9327 Tj
--426 TJm
-(abandon,) 47.8205 Tj
-196.099 627.945 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 626.202 Td
-(*) 5.9776 Tj
-276.318 627.945 Td
-(nbytes_in_lo32,) 89.6634 Tj
-196.099 615.99 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 614.247 Td
-(*) 5.9776 Tj
-276.318 615.99 Td
-(nbytes_in_hi32,) 89.6634 Tj
-196.099 604.035 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 602.291 Td
-(*) 5.9776 Tj
-276.318 604.035 Td
-(nbytes_out_lo32,) 95.641 Tj
-196.099 592.08 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 590.336 Td
-(*) 5.9776 Tj
-276.318 592.08 Td
-(nbytes_out_hi32) 89.6634 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 554.62 Td
-/F122_0 9.9626 Tf
-(Compresses) 48.1492 Tj
--403 TJm
-(and) 14.386 Tj
--402 TJm
-(\003ushes) 27.6761 Tj
--403 TJm
-(to) 7.7509 Tj
--403 TJm
-(the) 12.1743 Tj
--402 TJm
-(compressed) 47.0334 Tj
--403 TJm
-(\002le) 12.7322 Tj
--402 TJm
-(all) 9.9626 Tj
--403 TJm
-(data) 16.5977 Tj
--403 TJm
-(so) 8.8568 Tj
--402 TJm
-(f) 3.3175 Tj
-10 TJm
-(ar) 7.7409 Tj
--403 TJm
-(supplied) 33.7633 Tj
--403 TJm
-(by) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-384.152 554.62 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-449.906 554.62 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--768 TJm
-(The) 15.4918 Tj
--403 TJm
-(logical) 27.1182 Tj
--402 TJm
-(end-of-) 29.3199 Tj
-72 542.665 Td
-(stream) 26.5603 Tj
--352 TJm
-(mark) 20.4731 Tj
-10 TJm
-(ers) 11.6164 Tj
--352 TJm
-(are) 12.1643 Tj
--353 TJm
-(also) 16.0497 Tj
--352 TJm
-(written,) 30.7147 Tj
--378 TJm
-(so) 8.8568 Tj
--352 TJm
-(subsequent) 44.2738 Tj
--352 TJm
-(calls) 18.2614 Tj
--352 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-300.456 542.665 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-369.718 542.665 Td
-/F122_0 9.9626 Tf
-(are) 12.1643 Tj
--352 TJm
-(ille) 12.7322 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(al.) 9.6836 Tj
--1234 TJm
-(All) 12.7322 Tj
--352 TJm
-(memory) 33.2053 Tj
--352 TJm
-(associated) 40.9463 Tj
--352 TJm
-(with) 17.7135 Tj
-72 530.71 Td
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-151.411 530.71 Td
-/F124_0 9.9626 Tf
-(b) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.88 530.71 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(released.) 35.1281 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-207.231 530.71 Td
-/F124_0 9.9626 Tf
-(fflush) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-245.587 530.71 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(called) 23.7907 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le,) 15.2229 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(not) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-422.771 530.71 Td
-/F124_0 9.9626 Tf
-(fclose) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-458.636 530.71 Td
-/F122_0 9.9626 Tf
-(') 3.3175 Tj
-50 TJm
-(d.) 7.472 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 508.792 Td
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.574 508.792 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-180.155 508.792 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--295 TJm
-(called) 23.7907 Tj
--295 TJm
-(to) 7.7509 Tj
--295 TJm
-(clean) 21.0211 Tj
--295 TJm
-(up) 9.9626 Tj
--295 TJm
-(after) 18.2515 Tj
--295 TJm
-(an) 9.4047 Tj
--295 TJm
-(error) 19.3573 Tj
-40 TJm
-(,) 2.4907 Tj
--306 TJm
-(the) 12.1743 Tj
--295 TJm
-(only) 17.7135 Tj
--295 TJm
-(action) 24.3486 Tj
--295 TJm
-(is) 6.6451 Tj
--295 TJm
-(to) 7.7509 Tj
--295 TJm
-(release) 27.6562 Tj
--295 TJm
-(the) 12.1743 Tj
--295 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
--891 TJm
-(The) 15.4918 Tj
--295 TJm
-(library) 26.5603 Tj
-72 496.837 Td
-(records) 29.3199 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(error) 19.3573 Tj
--289 TJm
-(codes) 22.6848 Tj
--289 TJm
-(issued) 24.9065 Tj
--289 TJm
-(by) 9.9626 Tj
--289 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--289 TJm
-(calls,) 20.7521 Tj
--299 TJm
-(so) 8.8568 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(situation) 34.3212 Tj
--289 TJm
-(will) 15.5018 Tj
--289 TJm
-(be) 9.4047 Tj
--289 TJm
-(detected) 33.1954 Tj
--289 TJm
-(automatically) 54.2364 Tj
-65 TJm
-(.) 2.4907 Tj
--427 TJm
-(There) 23.2328 Tj
--289 TJm
-(is) 6.6451 Tj
--289 TJm
-(no) 9.9626 Tj
--289 TJm
-(attempt) 29.8878 Tj
-72 484.882 Td
-(to) 7.7509 Tj
--263 TJm
-(complete) 36.5229 Tj
--262 TJm
-(the) 12.1743 Tj
--263 TJm
-(compression) 50.3609 Tj
--263 TJm
-(operation,) 40.1194 Tj
--265 TJm
-(nor) 13.2801 Tj
--263 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-258.308 484.882 Td
-/F124_0 9.9626 Tf
-(fflush) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-296.79 484.882 Td
-/F122_0 9.9626 Tf
-(the) 12.1743 Tj
--263 TJm
-(compressed) 47.0334 Tj
--262 TJm
-(\002le.) 15.2229 Tj
--696 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--263 TJm
-(can) 13.8281 Tj
--263 TJm
-(force) 20.4632 Tj
--262 TJm
-(this) 14.396 Tj
--263 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--263 TJm
-(to) 7.7509 Tj
--262 TJm
-(happen) 28.772 Tj
-72 472.926 Td
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(case) 17.1456 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(error) 19.3573 Tj
-40 TJm
-(,) 2.4907 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(passing) 29.8878 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(nonzero) 32.0895 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-305.015 472.926 Td
-/F124_0 9.9626 Tf
-(abandon) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-346.858 472.926 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 451.009 Td
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-80.597 451.009 Td
-/F124_0 9.9626 Tf
-(nbytes_in) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-136.358 451.009 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--197 TJm
-(non-null,) 36.2539 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-183.287 449.265 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-189.265 451.009 Td
-(nbytes_in) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-245.025 451.009 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--197 TJm
-(be) 9.4047 Tj
--197 TJm
-(set) 11.0684 Tj
--197 TJm
-(to) 7.7509 Tj
--197 TJm
-(be) 9.4047 Tj
--197 TJm
-(the) 12.1743 Tj
--197 TJm
-(total) 17.7135 Tj
--197 TJm
-(v) 4.9813 Tj
-20 TJm
-(olume) 24.9065 Tj
--197 TJm
-(of) 8.2988 Tj
--197 TJm
-(uncompressed) 56.996 Tj
--197 TJm
-(data) 16.5977 Tj
--197 TJm
-(handled.) 34.0322 Tj
--584 TJm
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 439.053 Td
-/F124_0 9.9626 Tf
-(nbytes_out) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-134.716 439.053 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--295 TJm
-(be) 9.4047 Tj
--295 TJm
-(set) 11.0684 Tj
--295 TJm
-(to) 7.7509 Tj
--295 TJm
-(the) 12.1743 Tj
--295 TJm
-(total) 17.7135 Tj
--295 TJm
-(v) 4.9813 Tj
-20 TJm
-(olume) 24.9065 Tj
--295 TJm
-(of) 8.2988 Tj
--296 TJm
-(compressed) 47.0334 Tj
--295 TJm
-(data) 16.5977 Tj
--295 TJm
-(written.) 30.7147 Tj
--890 TJm
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--295 TJm
-(compatibility) 53.1405 Tj
--295 TJm
-(with) 17.7135 Tj
--295 TJm
-(older) 20.4731 Tj
--295 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--296 TJm
-(of) 8.2988 Tj
-72 427.098 Td
-(the) 12.1743 Tj
--283 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-118.294 427.098 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.753 427.098 Td
-/F122_0 9.9626 Tf
-(only) 17.7135 Tj
--283 TJm
-(yields) 23.8007 Tj
--283 TJm
-(the) 12.1743 Tj
--282 TJm
-(lo) 7.7509 Tj
-25 TJm
-(wer) 14.9339 Tj
--283 TJm
-(32) 9.9626 Tj
--283 TJm
-(bits) 14.396 Tj
--283 TJm
-(of) 8.2988 Tj
--283 TJm
-(these) 20.4731 Tj
--282 TJm
-(counts.) 28.503 Tj
--817 TJm
-(Use) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-423.499 427.098 Td
-/F124_0 9.9626 Tf
-(BZ2_bzWriteClose64) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-533.913 427.098 Td
-/F122_0 9.9626 Tf
-(if) 6.0871 Tj
-72 415.143 Td
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(full) 13.8381 Tj
--250 TJm
-(64) 9.9626 Tj
--250 TJm
-(bit) 10.5205 Tj
--250 TJm
-(counts.) 28.503 Tj
--620 TJm
-(These) 23.7907 Tj
--250 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(otherwise) 38.7346 Tj
--250 TJm
-(absolutely) 40.9562 Tj
--250 TJm
-(identical.) 36.8018 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 393.225 Td
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-169.144 393.225 Td
-/F124_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.987 393.225 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 306.386] cm
-0 0 468 83.686 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 381.704 Td
-/F124_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.6185 Tj
-98.488 369.749 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzReadOpen) 83.6858 Tj
-90 357.793 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.488 345.838 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(writing) 41.8429 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file) 23.9102 Tj
-90 333.883 Td
-(BZ_OK) 29.8878 Tj
-98.488 321.928 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 275.765 Td
-/F116_0 17.2154 Tf
-(3.4.8.) 43.0729 Tj
--278 TJm
-(Handling) 73.6475 Tj
--278 TJm
-(embed) 55.4852 Tj
-10 TJm
-(ded) 30.609 Tj
--278 TJm
-(compressed) 101.4159 Tj
--278 TJm
-(data) 35.3949 Tj
--278 TJm
-(streams) 66.0211 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 253.847 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--203 TJm
-(high-le) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--203 TJm
-(library) 26.5603 Tj
--203 TJm
-(f) 3.3175 Tj
-10 TJm
-(acilitates) 35.417 Tj
--203 TJm
-(use) 13.2801 Tj
--203 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-226.404 253.847 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-258.316 253.847 Td
-/F122_0 9.9626 Tf
-(data) 16.5977 Tj
--203 TJm
-(streams) 30.4357 Tj
--203 TJm
-(which) 24.3486 Tj
--203 TJm
-(form) 19.3673 Tj
--203 TJm
-(some) 21.031 Tj
--203 TJm
-(part) 15.4918 Tj
--203 TJm
-(of) 8.2988 Tj
--203 TJm
-(a) 4.4234 Tj
--204 TJm
-(surrounding,) 50.6399 Tj
--212 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--203 TJm
-(data) 16.5977 Tj
--203 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 221.967 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--264 TJm
-(writing,) 31.2726 Tj
--267 TJm
-(the) 12.1743 Tj
--264 TJm
-(library) 26.5603 Tj
--264 TJm
-(tak) 12.1743 Tj
-10 TJm
-(es) 8.2988 Tj
--264 TJm
-(an) 9.4047 Tj
--264 TJm
-(open) 19.3673 Tj
--264 TJm
-(\002le) 12.7322 Tj
--264 TJm
-(handle,) 29.0509 Tj
--267 TJm
-(writes) 24.3486 Tj
--264 TJm
-(compressed) 47.0334 Tj
--264 TJm
-(data) 16.5977 Tj
--264 TJm
-(to) 7.7509 Tj
--264 TJm
-(it,) 8.0299 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-397.758 221.967 Td
-/F124_0 9.9626 Tf
-(fflush) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-433.624 221.967 Td
-/F122_0 9.9626 Tf
-(es) 8.2988 Tj
--264 TJm
-(it) 5.5392 Tj
--264 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--264 TJm
-(does) 18.2614 Tj
--264 TJm
-(not) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-504.135 221.967 Td
-/F124_0 9.9626 Tf
-(fclose) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 210.012 Td
-/F122_0 9.9626 Tf
-(it.) 8.0299 Tj
--675 TJm
-(The) 15.4918 Tj
--259 TJm
-(calling) 27.1182 Tj
--260 TJm
-(a) 4.4234 Tj
-1 TJm
-(pp) 9.9626 Tj
--1 TJm
-(l) 2.7696 Tj
-1 TJm
-(ication) 27.1182 Tj
--260 TJm
-(can) 13.8281 Tj
--259 TJm
-(write) 20.4731 Tj
--259 TJm
-(its) 9.4147 Tj
--259 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--259 TJm
-(data) 16.5977 Tj
--260 TJm
-(before) 25.4445 Tj
--259 TJm
-(and) 14.386 Tj
--259 TJm
-(after) 18.2515 Tj
--259 TJm
-(the) 12.1743 Tj
--259 TJm
-(compressed) 47.0334 Tj
--260 TJm
-(dat) 12.1743 Tj
-1 TJm
-(a) 4.4234 Tj
--260 TJm
-(stream,) 29.0509 Tj
--261 TJm
-(using) 21.589 Tj
--259 TJm
-(that) 14.9439 Tj
--260 TJm
-(sam) 16.0497 Tj
-1 TJm
-(e) 4.4234 Tj
--260 TJm
-(\002le) 12.7322 Tj
-81.963 198.056 Td
-(handle.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 176.139 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(Reading) 33.2053 Tj
--258 TJm
-(is) 6.6451 Tj
--259 TJm
-(more) 20.4731 Tj
--258 TJm
-(comple) 29.3299 Tj
-15 TJm
-(x,) 7.472 Tj
--261 TJm
-(and) 14.386 Tj
--258 TJm
-(the) 12.1743 Tj
--258 TJm
-(f) 3.3175 Tj
-10 TJm
-(acilities) 30.9936 Tj
--259 TJm
-(are) 12.1643 Tj
--258 TJm
-(not) 12.7322 Tj
--258 TJm
-(as) 8.2988 Tj
--259 TJm
-(general) 29.3199 Tj
--258 TJm
-(as) 8.2988 Tj
--259 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--258 TJm
-(could) 22.1369 Tj
--258 TJm
-(be) 9.4047 Tj
--259 TJm
-(since) 20.4731 Tj
--258 TJm
-(generality) 39.8404 Tj
--259 TJm
-(is) 6.6451 Tj
--258 TJm
-(hard) 17.7035 Tj
--258 TJm
-(to) 7.7509 Tj
--259 TJm
-(reconcile) 36.5129 Tj
-81.963 164.183 Td
-(with) 17.7135 Tj
--432 TJm
-(ef) 7.7409 Tj
-25 TJm
-(\002cienc) 26.5603 Tj
-15 TJm
-(y) 4.9813 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-161.767 164.183 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-225.847 164.183 Td
-/F122_0 9.9626 Tf
-(reads) 21.0211 Tj
--432 TJm
-(from) 19.3673 Tj
--432 TJm
-(the) 12.1743 Tj
--432 TJm
-(compressed) 47.0334 Tj
--432 TJm
-(\002le) 12.7322 Tj
--432 TJm
-(in) 7.7509 Tj
--432 TJm
-(blocks) 26.0123 Tj
--432 TJm
-(of) 8.2988 Tj
--432 TJm
-(size) 15.4918 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-434.467 164.183 Td
-/F124_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-516.479 164.183 Td
-/F122_0 9.9626 Tf
-(bytes,) 23.5217 Tj
-81.963 152.228 Td
-(and) 14.386 Tj
--436 TJm
-(in) 7.7509 Tj
--435 TJm
-(doing) 22.6948 Tj
--436 TJm
-(so) 8.8568 Tj
--436 TJm
-(probably) 35.417 Tj
--436 TJm
-(will) 15.5018 Tj
--435 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ershoot) 29.3299 Tj
--436 TJm
-(the) 12.1743 Tj
--436 TJm
-(logical) 27.1182 Tj
--435 TJm
-(end) 14.386 Tj
--436 TJm
-(of) 8.2988 Tj
--436 TJm
-(compressed) 47.0334 Tj
--436 TJm
-(s) 3.8755 Tj
-1 TJm
-(tream.) 25.1755 Tj
--1735 TJm
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--436 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--435 TJm
-(this) 14.396 Tj
--436 TJm
-(data) 16.5977 Tj
--436 TJm
-(once) 18.8094 Tj
-81.963 140.273 Td
-(decompression) 59.7656 Tj
--290 TJm
-(has) 13.2801 Tj
--289 TJm
-(ended,) 26.2813 Tj
--300 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-207.321 140.273 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-323.782 140.273 Td
-/F122_0 9.9626 Tf
-(after) 18.2515 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(last) 13.8381 Tj
--290 TJm
-(call) 14.386 Tj
--290 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-405.164 140.273 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-467.826 140.273 Td
-/F122_0 9.9626 Tf
-(\(the) 15.4918 Tj
--290 TJm
-(one) 14.386 Tj
--290 TJm
-(returning) 36.5229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 128.318 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.671 128.318 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(before) 25.4445 Tj
--250 TJm
-(calling) 27.1182 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-238.047 128.318 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-327.71 128.318 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.852 Td
-(24) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 25 28
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(This) 17.7135 Tj
--271 TJm
-(mechanism) 45.3796 Tj
--272 TJm
-(mak) 17.1556 Tj
-10 TJm
-(es) 8.2988 Tj
--271 TJm
-(it) 5.5392 Tj
--271 TJm
-(easy) 17.7035 Tj
--271 TJm
-(to) 7.7509 Tj
--272 TJm
-(decompress) 47.0334 Tj
--271 TJm
-(multiple) 33.2153 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-293.313 710.037 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-325.903 710.037 Td
-/F122_0 9.9626 Tf
-(streams) 30.4357 Tj
--271 TJm
-(placed) 26.0024 Tj
--272 TJm
-(end-to-end.) 45.6486 Tj
--374 TJm
-(As) 11.0684 Tj
--271 TJm
-(the) 12.1743 Tj
--271 TJm
-(end) 14.386 Tj
--271 TJm
-(of) 8.2988 Tj
--272 TJm
-(one) 14.386 Tj
--271 TJm
-(stream,) 29.0509 Tj
-72 698.082 Td
-(when) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-96.195 698.082 Td
-/F124_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-158.586 698.082 Td
-/F122_0 9.9626 Tf
-(returns) 27.6661 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.868 698.082 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-266.577 698.082 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--263 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-288.685 698.082 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-404.875 698.082 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--263 TJm
-(coll) 14.9439 Tj
-1 TJm
-(ect) 11.6164 Tj
--263 TJm
-(the) 12.1743 Tj
--263 TJm
-(unused) 28.224 Tj
--262 TJm
-(data) 16.5977 Tj
--263 TJm
-(\(cop) 17.7035 Tj
-10 TJm
-(y) 4.9813 Tj
--262 TJm
-(it) 5.5392 Tj
-72 686.127 Td
-(into) 15.5018 Tj
--265 TJm
-(your) 18.2614 Tj
--265 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--265 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--265 TJm
-(some) 21.031 Tj
-25 TJm
-(where\).) 30.1468 Tj
--711 TJm
-(That) 18.2614 Tj
--265 TJm
-(data) 16.5977 Tj
--265 TJm
-(forms) 23.2427 Tj
--265 TJm
-(the) 12.1743 Tj
--265 TJm
-(start) 17.1556 Tj
--265 TJm
-(of) 8.2988 Tj
--265 TJm
-(the) 12.1743 Tj
--265 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--265 TJm
-(compressed) 47.0334 Tj
--265 TJm
-(stream.) 29.0509 Tj
--711 TJm
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--265 TJm
-(start) 17.1556 Tj
--265 TJm
-(uncompressing) 60.3235 Tj
-72 674.172 Td
-(that) 14.9439 Tj
--246 TJm
-(ne) 9.4047 Tj
-15 TJm
-(xt) 7.7509 Tj
--246 TJm
-(stream,) 29.0509 Tj
--247 TJm
-(call) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-157.205 674.172 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-243.344 674.172 Td
-/F122_0 9.9626 Tf
-(ag) 9.4047 Tj
-5 TJm
-(ain,) 14.6649 Tj
--247 TJm
-(feeding) 29.8778 Tj
--246 TJm
-(in) 7.7509 Tj
--246 TJm
-(the) 12.1743 Tj
--247 TJm
-(unused) 28.224 Tj
--246 TJm
-(data) 16.5977 Tj
--246 TJm
-(via) 12.1743 Tj
--246 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-405.967 674.172 Td
-/F124_0 9.9626 Tf
-(unused) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-444.286 674.172 Td
-/F122_0 9.9626 Tf
-(/) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-449.508 674.172 Td
-/F124_0 9.9626 Tf
-(nUnused) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-493.804 674.172 Td
-/F122_0 9.9626 Tf
-(parameters.) 46.1966 Tj
-72 662.217 Td
-(K) 7.193 Tj
-25 TJm
-(eep) 13.8281 Tj
--263 TJm
-(doing) 22.6948 Tj
--263 TJm
-(this) 14.396 Tj
--264 TJm
-(until) 18.2714 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-158.622 662.217 Td
-/F124_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-238.952 662.217 Td
-/F122_0 9.9626 Tf
-(return) 23.7907 Tj
--263 TJm
-(coincides) 37.6287 Tj
--263 TJm
-(with) 17.7135 Tj
--264 TJm
-(the) 12.1743 Tj
--263 TJm
-(ph) 9.9626 Tj
-5 TJm
-(ysical) 23.2427 Tj
--263 TJm
-(end) 14.386 Tj
--263 TJm
-(of) 8.2988 Tj
--263 TJm
-(\002le) 12.7322 Tj
--263 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-423.124 662.217 Td
-/F124_0 9.9626 Tf
-(feof\(f\)) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-464.968 662.217 Td
-/F122_0 9.9626 Tf
-(\).) 5.8082 Tj
--699 TJm
-(In) 8.2988 Tj
--263 TJm
-(this) 14.396 Tj
--263 TJm
-(situation) 34.3212 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 650.261 Td
-/F124_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-188.065 650.261 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(course) 26.0024 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(data.) 19.0883 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 628.344 Td
-(This) 17.7135 Tj
--240 TJm
-(should) 26.5703 Tj
--241 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--240 TJm
-(some) 21.031 Tj
--241 TJm
-(feel) 14.9339 Tj
--240 TJm
-(for) 11.6164 Tj
--241 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--240 TJm
-(the) 12.1743 Tj
--240 TJm
-(high-le) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--241 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--240 TJm
-(can) 13.8281 Tj
--241 TJm
-(be) 9.4047 Tj
--240 TJm
-(used.) 20.7521 Tj
--614 TJm
-(If) 6.6351 Tj
--240 TJm
-(you) 14.9439 Tj
--241 TJm
-(require) 28.2141 Tj
--240 TJm
-(e) 4.4234 Tj
-15 TJm
-(xtra) 15.4918 Tj
--241 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xibi) 15.5018 Tj
-1 TJm
-(lity) 13.2901 Tj
-65 TJm
-(,) 2.4907 Tj
--243 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.5392 Tj
--240 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--241 TJm
-(to) 7.7509 Tj
-72 616.389 Td
-(bite) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ullet) 17.7135 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(get) 12.1743 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(grips) 19.9252 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 585.767 Td
-/F116_0 17.2154 Tf
-(3.4.9.) 43.0729 Tj
--278 TJm
-(Standar) 64.0929 Tj
-20 TJm
-(d) 10.5186 Tj
--278 TJm
-(\002le-reading/writing) 154.009 Tj
--278 TJm
-(code) 40.1807 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 563.85 Td
-/F122_0 9.9626 Tf
-(Here') 22.6749 Tj
-55 TJm
-(s) 3.8755 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--250 TJm
-(write) 20.4731 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le:) 15.5018 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 190.086] cm
-0 0 468 370.61 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 552.328 Td
-/F124_0 9.9626 Tf
-(FILE) 23.9102 Tj
-113.91 550.584 Td
-(*) 5.9776 Tj
-132.62 552.328 Td
-(f;) 11.9551 Tj
-90 540.373 Td
-(BZFILE) 35.8654 Tj
-125.866 538.629 Td
-(*) 5.9776 Tj
-136.087 540.373 Td
-(b;) 11.9551 Tj
-90 528.418 Td
-(int) 17.9327 Tj
--2130 TJm
-(nBuf;) 29.8878 Tj
-90 516.462 Td
-(char) 23.9102 Tj
--1704 TJm
-(buf[) 23.9102 Tj
--426 TJm
-(/) 5.9776 Tj
-165.018 514.719 Td
-(*) 5.9776 Tj
-175.24 516.462 Td
-(whatever) 47.8205 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(you) 17.9327 Tj
--426 TJm
-(like) 23.9102 Tj
-305.79 514.719 Td
-(*) 5.9776 Tj
-311.767 516.462 Td
-(/) 5.9776 Tj
--426 TJm
-(];) 11.9551 Tj
-90 504.507 Td
-(int) 17.9327 Tj
--2130 TJm
-(bzerror;) 47.8205 Tj
-90 492.552 Td
-(int) 17.9327 Tj
--2130 TJm
-(nWritten;) 53.798 Tj
-90 468.642 Td
-(f) 5.9776 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(fopen) 29.8878 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-("myfile.bz2",) 77.7083 Tj
--426 TJm
-("w") 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 456.687 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(!f) 11.9551 Tj
--426 TJm
-(\)) 5.9776 Tj
--426 TJm
-({) 5.9776 Tj
-94.244 444.731 Td
-(/) 5.9776 Tj
-100.222 442.988 Td
-(*) 5.9776 Tj
-110.443 444.731 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-184.684 442.988 Td
-(*) 5.9776 Tj
-190.662 444.731 Td
-(/) 5.9776 Tj
-90 432.776 Td
-(}) 5.9776 Tj
-90 420.821 Td
-(b) 5.9776 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ2_bzWriteOpen\() 95.641 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(f,) 11.9551 Tj
--426 TJm
-(9) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 408.866 Td
-(if) 11.9551 Tj
--426 TJm
-(\(bzerror) 47.8205 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(BZ_OK\)) 35.8654 Tj
--426 TJm
-({) 5.9776 Tj
-94.244 396.911 Td
-(BZ2_bzWriteClose) 95.641 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-94.244 384.955 Td
-(/) 5.9776 Tj
-100.222 383.212 Td
-(*) 5.9776 Tj
-110.443 384.955 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-184.684 383.212 Td
-(*) 5.9776 Tj
-190.662 384.955 Td
-(/) 5.9776 Tj
-90 373 Td
-(}) 5.9776 Tj
-90 349.09 Td
-(while) 29.8878 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(/) 5.9776 Tj
-140.331 347.346 Td
-(*) 5.9776 Tj
-150.553 349.09 Td
-(condition) 53.798 Tj
-208.595 347.346 Td
-(*) 5.9776 Tj
-214.572 349.09 Td
-(/) 5.9776 Tj
--426 TJm
-(\)) 5.9776 Tj
--426 TJm
-({) 5.9776 Tj
-94.244 337.135 Td
-(/) 5.9776 Tj
-100.222 335.391 Td
-(*) 5.9776 Tj
-110.443 337.135 Td
-(get) 17.9327 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(write) 29.8878 Tj
--426 TJm
-(into) 23.9102 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(set) 17.9327 Tj
--426 TJm
-(nBuf) 23.9102 Tj
--426 TJm
-(appropriately) 77.7083 Tj
-421.874 335.391 Td
-(*) 5.9776 Tj
-427.852 337.135 Td
-(/) 5.9776 Tj
-94.244 325.18 Td
-(nWritten) 47.8205 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ2_bzWrite) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b,) 11.9551 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(nBuf) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-94.244 313.224 Td
-(if) 11.9551 Tj
--426 TJm
-(\(bzerror) 47.8205 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_IO_ERROR\)) 71.7307 Tj
--426 TJm
-({) 5.9776 Tj
-102.732 301.269 Td
-(BZ2_bzWriteClose) 95.641 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-102.732 289.314 Td
-(/) 5.9776 Tj
-108.71 287.571 Td
-(*) 5.9776 Tj
-118.931 289.314 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-193.172 287.571 Td
-(*) 5.9776 Tj
-199.15 289.314 Td
-(/) 5.9776 Tj
-94.244 277.359 Td
-(}) 5.9776 Tj
-90 265.404 Td
-(}) 5.9776 Tj
-90 241.493 Td
-(BZ2_bzWriteClose\() 101.6185 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 229.538 Td
-(if) 11.9551 Tj
--426 TJm
-(\(bzerror) 47.8205 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_IO_ERROR\)) 71.7307 Tj
--426 TJm
-({) 5.9776 Tj
-94.244 217.583 Td
-(/) 5.9776 Tj
-100.222 215.84 Td
-(*) 5.9776 Tj
-110.443 217.583 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-184.684 215.84 Td
-(*) 5.9776 Tj
-190.662 217.583 Td
-(/) 5.9776 Tj
-90 205.628 Td
-(}) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 168.168 Td
-/F122_0 9.9626 Tf
-(And) 17.1556 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(read) 17.1456 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le:) 15.5018 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(25) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 26 29
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 349.39] cm
-0 0 468 370.61 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(FILE) 23.9102 Tj
-113.91 709.888 Td
-(*) 5.9776 Tj
-132.62 711.631 Td
-(f;) 11.9551 Tj
-90 699.676 Td
-(BZFILE) 35.8654 Tj
-125.866 697.933 Td
-(*) 5.9776 Tj
-136.087 699.676 Td
-(b;) 11.9551 Tj
-90 687.721 Td
-(int) 17.9327 Tj
--2130 TJm
-(nBuf;) 29.8878 Tj
-90 675.766 Td
-(char) 23.9102 Tj
--1704 TJm
-(buf[) 23.9102 Tj
--426 TJm
-(/) 5.9776 Tj
-165.018 674.022 Td
-(*) 5.9776 Tj
-175.24 675.766 Td
-(whatever) 47.8205 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(you) 17.9327 Tj
--426 TJm
-(like) 23.9102 Tj
-305.79 674.022 Td
-(*) 5.9776 Tj
-311.767 675.766 Td
-(/) 5.9776 Tj
--426 TJm
-(];) 11.9551 Tj
-90 663.811 Td
-(int) 17.9327 Tj
--2130 TJm
-(bzerror;) 47.8205 Tj
-90 651.856 Td
-(int) 17.9327 Tj
--2130 TJm
-(nWritten;) 53.798 Tj
-90 627.945 Td
-(f) 5.9776 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(fopen) 29.8878 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-("myfile.bz2",) 77.7083 Tj
--426 TJm
-("r") 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 615.99 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(!f) 11.9551 Tj
--426 TJm
-(\)) 5.9776 Tj
--426 TJm
-({) 5.9776 Tj
-98.488 604.035 Td
-(/) 5.9776 Tj
-104.466 602.291 Td
-(*) 5.9776 Tj
-114.687 604.035 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-188.928 602.291 Td
-(*) 5.9776 Tj
-194.906 604.035 Td
-(/) 5.9776 Tj
-90 592.08 Td
-(}) 5.9776 Tj
-90 580.125 Td
-(b) 5.9776 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ2_bzReadOpen) 83.6858 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(f,) 11.9551 Tj
--426 TJm
-(0,) 11.9551 Tj
--426 TJm
-(NULL,) 29.8878 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 568.169 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(\)) 5.9776 Tj
--426 TJm
-({) 5.9776 Tj
-98.488 556.214 Td
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-98.488 544.259 Td
-(/) 5.9776 Tj
-104.466 542.516 Td
-(*) 5.9776 Tj
-114.687 544.259 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-188.928 542.516 Td
-(*) 5.9776 Tj
-194.906 544.259 Td
-(/) 5.9776 Tj
-90 532.304 Td
-(}) 5.9776 Tj
-90 508.393 Td
-(bzerror) 41.8429 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ_OK;) 35.8654 Tj
-90 496.438 Td
-(while) 29.8878 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(/) 5.9776 Tj
-252.948 494.695 Td
-(*) 5.9776 Tj
-263.17 496.438 Td
-(arbitrary) 53.798 Tj
--426 TJm
-(other) 29.8878 Tj
--426 TJm
-(conditions) 59.7756 Tj
-419.364 494.695 Td
-(*) 5.9776 Tj
-425.341 496.438 Td
-(/\)) 11.9551 Tj
--426 TJm
-({) 5.9776 Tj
-98.488 484.483 Td
-(nBuf) 23.9102 Tj
--426 TJm
-(=) 5.9776 Tj
--426 TJm
-(BZ2_bzRead) 59.7756 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b,) 11.9551 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(/) 5.9776 Tj
-319.478 482.74 Td
-(*) 5.9776 Tj
-329.7 484.483 Td
-(size) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(buf) 17.9327 Tj
-396.23 482.74 Td
-(*) 5.9776 Tj
-402.208 484.483 Td
-(/) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-98.488 472.528 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(\)) 5.9776 Tj
--426 TJm
-({) 5.9776 Tj
-106.976 460.573 Td
-(/) 5.9776 Tj
-112.953 458.829 Td
-(*) 5.9776 Tj
-123.175 460.573 Td
-(do) 11.9551 Tj
--426 TJm
-(something) 53.798 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(buf[0) 29.8878 Tj
--426 TJm
-(..) 11.9551 Tj
--426 TJm
-(nBuf-1]) 41.8429 Tj
-321.989 458.829 Td
-(*) 5.9776 Tj
-327.966 460.573 Td
-(/) 5.9776 Tj
-98.488 448.618 Td
-(}) 5.9776 Tj
-90 436.662 Td
-(}) 5.9776 Tj
-90 424.707 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
--426 TJm
-(\)) 5.9776 Tj
--426 TJm
-({) 5.9776 Tj
-102.732 412.752 Td
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-102.732 400.797 Td
-(/) 5.9776 Tj
-108.71 399.053 Td
-(*) 5.9776 Tj
-118.931 400.797 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-193.172 399.053 Td
-(*) 5.9776 Tj
-199.15 400.797 Td
-(/) 5.9776 Tj
-90 388.842 Td
-(}) 5.9776 Tj
--426 TJm
-(else) 23.9102 Tj
--426 TJm
-({) 5.9776 Tj
-102.732 376.887 Td
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 364.931 Td
-(}) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 314.637 Td
-/F116_0 20.6585 Tf
-(3.5.) 34.4584 Tj
--278 TJm
-(Utility) 57.3893 Tj
--278 TJm
-(functions) 92.9633 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 284.016 Td
-/F116_0 17.2154 Tf
-(3.5.1.) 43.0729 Tj
--278 TJm
-(BZ2_bzBuffT) 106.1502 Tj
-80 TJm
-(oBuffCompress) 129.1155 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 183.815] cm
-0 0 468 95.641 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 271.087 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzBuffToBuffCompress\() 149.439 Tj
--426 TJm
-(char) 23.9102 Tj
-289.771 269.344 Td
-(*) 5.9776 Tj
-333.944 271.087 Td
-(dest,) 29.8878 Tj
-217.319 259.132 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-287.317 257.389 Td
-(*) 5.9776 Tj
-297.538 259.132 Td
-(destLen,) 47.8205 Tj
-217.319 247.177 Td
-(char) 23.9102 Tj
-241.23 245.434 Td
-(*) 5.9776 Tj
-285.403 247.177 Td
-(source,) 41.8429 Tj
-217.319 235.222 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--852 TJm
-(sourceLen,) 59.7756 Tj
-217.319 223.267 Td
-(int) 17.9327 Tj
--4686 TJm
-(blockSize100k,) 83.6858 Tj
-217.319 211.312 Td
-(int) 17.9327 Tj
--4686 TJm
-(verbosity,) 59.7756 Tj
-217.319 199.356 Td
-(int) 17.9327 Tj
--4686 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 161.897 Td
-/F122_0 9.9626 Tf
-(Attempts) 36.5329 Tj
--442 TJm
-(to) 7.7509 Tj
--442 TJm
-(compress) 37.6287 Tj
--443 TJm
-(the) 12.1743 Tj
--442 TJm
-(data) 16.5977 Tj
--442 TJm
-(in) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.87 161.897 Td
-/F124_0 9.9626 Tf
-(source[0) 47.8205 Tj
--600 TJm
-(..) 11.9551 Tj
--1200 TJm
-(sourceLen-1]) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-370.715 161.897 Td
-/F122_0 9.9626 Tf
-(into) 15.5018 Tj
--442 TJm
-(the) 12.1743 Tj
--443 TJm
-(dest) 16.0497 Tj
-1 TJm
-(ination) 27.6761 Tj
--443 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-486.202 161.897 Td
-/F124_0 9.9626 Tf
-(dest[0) 35.8654 Tj
--600 TJm
-(..) 11.9551 Tj
-72 148.198 Td
-(*) 5.9776 Tj
-77.978 149.942 Td
-(destLen-1]) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-137.753 149.942 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1393 TJm
-(If) 6.6351 Tj
--379 TJm
-(the) 12.1743 Tj
--379 TJm
-(destination) 43.7259 Tj
--379 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--378 TJm
-(is) 6.6451 Tj
--379 TJm
-(big) 12.7322 Tj
--379 TJm
-(enough,) 31.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-318.487 148.198 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-324.464 149.942 Td
-(destLen) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-370.082 149.942 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--379 TJm
-(set) 11.0684 Tj
--379 TJm
-(to) 7.7509 Tj
--378 TJm
-(the) 12.1743 Tj
--379 TJm
-(size) 15.4918 Tj
--379 TJm
-(of) 8.2988 Tj
--379 TJm
-(the) 12.1743 Tj
--379 TJm
-(compressed) 47.0334 Tj
--379 TJm
-(data,) 19.0883 Tj
-72 137.986 Td
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-89.527 137.986 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-122.556 137.986 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--315 TJm
-(returned.) 35.686 Tj
--1012 TJm
-(If) 6.6351 Tj
--315 TJm
-(the) 12.1743 Tj
--316 TJm
-(compressed) 47.0334 Tj
--315 TJm
-(data) 16.5977 Tj
--315 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--316 TJm
-(\002t,) 10.7995 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-313.323 136.243 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-319.3 137.986 Td
-(destLen) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-364.285 137.986 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--315 TJm
-(unchanged,) 45.6486 Tj
--332 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-440.551 137.986 Td
-/F124_0 9.9626 Tf
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-533.355 137.986 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
-72 126.031 Td
-(returned.) 35.686 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 104.113 Td
-(Compression) 52.5826 Tj
--297 TJm
-(in) 7.7509 Tj
--297 TJm
-(this) 14.396 Tj
--297 TJm
-(manner) 29.8778 Tj
--297 TJm
-(is) 6.6451 Tj
--297 TJm
-(a) 4.4234 Tj
--297 TJm
-(one-shot) 34.3112 Tj
--297 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ent,) 14.6649 Tj
--309 TJm
-(done) 19.3673 Tj
--297 TJm
-(with) 17.7135 Tj
--297 TJm
-(a) 4.4234 Tj
--297 TJm
-(single) 23.8007 Tj
--297 TJm
-(call) 14.386 Tj
--297 TJm
-(to) 7.7509 Tj
--297 TJm
-(this) 14.396 Tj
--297 TJm
-(function.) 35.696 Tj
--903 TJm
-(The) 15.4918 Tj
--297 TJm
-(resulting) 34.8691 Tj
--297 TJm
-(compressed) 47.0334 Tj
-72 92.158 Td
-(data) 16.5977 Tj
--296 TJm
-(is) 6.6451 Tj
--296 TJm
-(a) 4.4234 Tj
--296 TJm
-(complete) 36.5229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-147.988 92.158 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-180.825 92.158 Td
-/F122_0 9.9626 Tf
-(format) 26.5603 Tj
--296 TJm
-(data) 16.5977 Tj
--296 TJm
-(stream.) 29.0509 Tj
--897 TJm
-(There) 23.2328 Tj
--296 TJm
-(is) 6.6451 Tj
--296 TJm
-(no) 9.9626 Tj
--296 TJm
-(mechanism) 45.3796 Tj
--296 TJm
-(for) 11.6164 Tj
--296 TJm
-(making) 29.8878 Tj
--296 TJm
-(additional) 39.8504 Tj
--296 TJm
-(calls) 18.2614 Tj
--296 TJm
-(to) 7.7509 Tj
--296 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--296 TJm
-(e) 4.4234 Tj
-15 TJm
-(xtra) 15.4918 Tj
-72 80.203 Td
-(input) 20.4831 Tj
--250 TJm
-(data.) 19.0883 Tj
--620 TJm
-(If) 6.6351 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(kind) 17.7135 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(mechanism,) 47.8703 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(26) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 27 30
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--223 TJm
-(the) 12.1743 Tj
--224 TJm
-(meaning) 34.3112 Tj
--223 TJm
-(of) 8.2988 Tj
--224 TJm
-(parameters) 43.7059 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-195.306 710.037 Td
-/F124_0 9.9626 Tf
-(blockSize100k) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-273.015 710.037 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-277.784 710.037 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-333.808 710.037 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-350.42 710.037 Td
-/F124_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-410.196 710.037 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--229 TJm
-(see) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-429.913 710.037 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 710.037 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 688.12 Td
-(T) 6.0871 Tj
-80 TJm
-(o) 4.9813 Tj
--410 TJm
-(guarantee) 38.7246 Tj
--410 TJm
-(that) 14.9439 Tj
--410 TJm
-(the) 12.1743 Tj
--410 TJm
-(compressed) 47.0334 Tj
--410 TJm
-(data) 16.5977 Tj
--410 TJm
-(will) 15.5018 Tj
--410 TJm
-(\002t) 8.3088 Tj
--410 TJm
-(in) 7.7509 Tj
--410 TJm
-(its) 9.4147 Tj
--410 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.4907 Tj
--450 TJm
-(allocate) 30.9837 Tj
--410 TJm
-(an) 9.4047 Tj
--410 TJm
-(output) 25.4644 Tj
--410 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--411 TJm
-(of) 8.2988 Tj
--410 TJm
-(size) 15.4918 Tj
--410 TJm
-(1%) 13.2801 Tj
--410 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--410 TJm
-(than) 17.1556 Tj
--410 TJm
-(the) 12.1743 Tj
-72 676.164 Td
-(uncompressed) 56.996 Tj
--250 TJm
-(data,) 19.0883 Tj
--250 TJm
-(plus) 16.6077 Tj
--250 TJm
-(six) 11.6264 Tj
--250 TJm
-(hundred) 32.6474 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xtra) 15.4918 Tj
--250 TJm
-(bytes.) 23.5217 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 654.247 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.4166 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-230.553 654.247 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--315 TJm
-(not) 12.7322 Tj
--315 TJm
-(write) 20.4731 Tj
--314 TJm
-(data) 16.5977 Tj
--315 TJm
-(at) 7.193 Tj
--315 TJm
-(or) 8.2988 Tj
--315 TJm
-(be) 9.4047 Tj
-15 TJm
-(yond) 19.9252 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-362.484 654.247 Td
-/F124_0 9.9626 Tf
-(dest[) 29.8878 Tj
-392.372 652.503 Td
-(*) 5.9776 Tj
-398.349 654.247 Td
-(destLen]) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-446.17 654.247 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--331 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--315 TJm
-(in) 7.7509 Tj
--315 TJm
-(case) 17.1456 Tj
--314 TJm
-(of) 8.2988 Tj
--315 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-72 642.291 Td
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er\003o) 18.2614 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 620.374 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 451.905] cm
-0 0 468 167.372 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 610.909 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.488 598.954 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 586.999 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 575.044 Td
-(if) 11.9551 Tj
--426 TJm
-(dest) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(destLen) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 563.089 Td
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(1) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(9) 5.9776 Tj
-98.488 551.133 Td
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(4) 5.9776 Tj
-98.488 539.178 Td
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(250) 17.9327 Tj
-90 527.223 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 515.268 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 503.313 Td
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-98.488 491.357 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(exceeds) 41.8429 Tj
-341.655 489.614 Td
-(*) 5.9776 Tj
-347.633 491.357 Td
-(destLen) 41.8429 Tj
-90 479.402 Td
-(BZ_OK) 29.8878 Tj
-98.488 467.447 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 421.284 Td
-/F116_0 17.2154 Tf
-(3.5.2.) 43.0729 Tj
--278 TJm
-(BZ2_bzBuffT) 106.1502 Tj
-80 TJm
-(oBuffDecompress) 148.259 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 333.038] cm
-0 0 468 83.686 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 408.356 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzBuffToBuffDecompress\() 161.3941 Tj
--426 TJm
-(char) 23.9102 Tj
-301.726 406.612 Td
-(*) 5.9776 Tj
-345.899 408.356 Td
-(dest,) 29.8878 Tj
-225.807 396.401 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-295.805 394.657 Td
-(*) 5.9776 Tj
-306.026 396.401 Td
-(destLen,) 47.8205 Tj
-225.807 384.446 Td
-(char) 23.9102 Tj
-249.717 382.702 Td
-(*) 5.9776 Tj
-293.891 384.446 Td
-(source,) 41.8429 Tj
-225.807 372.49 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--852 TJm
-(sourceLen,) 59.7756 Tj
-225.807 360.535 Td
-(int) 17.9327 Tj
--4686 TJm
-(small,) 35.8654 Tj
-225.807 348.58 Td
-(int) 17.9327 Tj
--4686 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 311.12 Td
-/F122_0 9.9626 Tf
-(Attempts) 36.5329 Tj
--358 TJm
-(to) 7.7509 Tj
--359 TJm
-(decompress) 47.0334 Tj
--358 TJm
-(the) 12.1743 Tj
--358 TJm
-(data) 16.5977 Tj
--359 TJm
-(in) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.259 311.12 Td
-/F124_0 9.9626 Tf
-(source[0) 47.8205 Tj
--600 TJm
-(..) 11.9551 Tj
--1200 TJm
-(sourceLen-1]) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-374.268 311.12 Td
-/F122_0 9.9626 Tf
-(into) 15.5018 Tj
--358 TJm
-(the) 12.1743 Tj
--359 TJm
-(destination) 43.7259 Tj
--358 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-486.202 311.12 Td
-/F124_0 9.9626 Tf
-(dest[0) 35.8654 Tj
--600 TJm
-(..) 11.9551 Tj
-72 297.422 Td
-(*) 5.9776 Tj
-77.978 299.165 Td
-(destLen-1]) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-137.753 299.165 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1123 TJm
-(If) 6.6351 Tj
--334 TJm
-(the) 12.1743 Tj
--334 TJm
-(destination) 43.7259 Tj
--334 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--334 TJm
-(is) 6.6451 Tj
--334 TJm
-(big) 12.7322 Tj
--334 TJm
-(enough,) 31.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-312.554 297.422 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-318.531 299.165 Td
-(destLen) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.701 299.165 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--334 TJm
-(set) 11.0684 Tj
--334 TJm
-(to) 7.7509 Tj
--334 TJm
-(the) 12.1743 Tj
--334 TJm
-(size) 15.4918 Tj
--333 TJm
-(of) 8.2988 Tj
--334 TJm
-(the) 12.1743 Tj
--334 TJm
-(uncompressed) 56.996 Tj
--334 TJm
-(data,) 19.0883 Tj
-72 287.21 Td
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-89.527 287.21 Td
-/F124_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-122.556 287.21 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--315 TJm
-(returned.) 35.686 Tj
--1012 TJm
-(If) 6.6351 Tj
--315 TJm
-(the) 12.1743 Tj
--316 TJm
-(compressed) 47.0334 Tj
--315 TJm
-(data) 16.5977 Tj
--315 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--316 TJm
-(\002t,) 10.7995 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-313.323 285.467 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-319.3 287.21 Td
-(destLen) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-364.285 287.21 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--315 TJm
-(unchanged,) 45.6486 Tj
--332 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-440.551 287.21 Td
-/F124_0 9.9626 Tf
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-533.355 287.21 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
-72 275.255 Td
-(returned.) 35.686 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 253.337 Td
-/F124_0 9.9626 Tf
-(source) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-110.981 253.337 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--313 TJm
-(assumed) 34.3112 Tj
--312 TJm
-(to) 7.7509 Tj
--313 TJm
-(hold) 17.7135 Tj
--313 TJm
-(a) 4.4234 Tj
--313 TJm
-(complete) 36.5229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-237.04 253.337 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-270.044 253.337 Td
-/F122_0 9.9626 Tf
-(format) 26.5603 Tj
--313 TJm
-(data) 16.5977 Tj
--312 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-353.446 253.337 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.4166 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-511.978 253.337 Td
-/F122_0 9.9626 Tf
-(tries) 17.1556 Tj
--313 TJm
-(to) 7.7509 Tj
-72 241.382 Td
-(decompress) 47.0334 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(entirety) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(into) 15.5018 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 219.464 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(meaning) 34.3112 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(parameters) 43.7059 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-196.631 219.464 Td
-/F124_0 9.9626 Tf
-(small) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-229.01 219.464 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-245.887 219.464 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-299.685 219.464 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(see) 12.7222 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-319.879 219.464 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.5512 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-439.431 219.464 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 197.546 Td
-(Because) 33.1954 Tj
--250 TJm
-(the) 12.1743 Tj
--249 TJm
-(compression) 50.3609 Tj
--250 TJm
-(ratio) 18.2614 Tj
--249 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--249 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data) 16.5977 Tj
--249 TJm
-(cannot) 26.5603 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(kno) 14.9439 Tj
-25 TJm
-(wn) 12.1743 Tj
--249 TJm
-(in) 7.7509 Tj
--250 TJm
-(adv) 14.386 Tj
-25 TJm
-(ance,) 20.7421 Tj
--249 TJm
-(there) 19.9152 Tj
--250 TJm
-(is) 6.6451 Tj
--249 TJm
-(no) 9.9626 Tj
--250 TJm
-(easy) 17.7035 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--249 TJm
-(to) 7.7509 Tj
--250 TJm
-(guarantee) 38.7246 Tj
-72 185.591 Td
-(that) 14.9439 Tj
--286 TJm
-(the) 12.1743 Tj
--287 TJm
-(output) 25.4644 Tj
--286 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
--287 TJm
-(will) 15.5018 Tj
--286 TJm
-(be) 9.4047 Tj
--286 TJm
-(big) 12.7322 Tj
--287 TJm
-(enough.) 31.8205 Tj
--838 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--287 TJm
-(may) 17.1556 Tj
--286 TJm
-(of) 8.2988 Tj
--287 TJm
-(course) 26.0024 Tj
--286 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--286 TJm
-(arrangements) 53.6685 Tj
--287 TJm
-(in) 7.7509 Tj
--286 TJm
-(your) 18.2614 Tj
--287 TJm
-(code) 18.8094 Tj
--286 TJm
-(to) 7.7509 Tj
--286 TJm
-(record) 25.4445 Tj
--287 TJm
-(the) 12.1743 Tj
--286 TJm
-(size) 15.4918 Tj
--287 TJm
-(of) 8.2988 Tj
-72 173.636 Td
-(the) 12.1743 Tj
--250 TJm
-(uncompressed) 56.996 Tj
--250 TJm
-(data,) 19.0883 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(mechanism) 45.3796 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(be) 9.4047 Tj
-15 TJm
-(yond) 19.9252 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(scope) 22.6848 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 151.718 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.4166 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-230.553 151.718 Td
-/F122_0 9.9626 Tf
-(will) 15.5018 Tj
--315 TJm
-(not) 12.7322 Tj
--315 TJm
-(write) 20.4731 Tj
--314 TJm
-(data) 16.5977 Tj
--315 TJm
-(at) 7.193 Tj
--315 TJm
-(or) 8.2988 Tj
--315 TJm
-(be) 9.4047 Tj
-15 TJm
-(yond) 19.9252 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-362.484 151.718 Td
-/F124_0 9.9626 Tf
-(dest[) 29.8878 Tj
-392.372 149.975 Td
-(*) 5.9776 Tj
-398.349 151.718 Td
-(destLen]) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-446.17 151.718 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--331 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.4047 Tj
--315 TJm
-(in) 7.7509 Tj
--315 TJm
-(case) 17.1456 Tj
--314 TJm
-(of) 8.2988 Tj
--315 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.2988 Tj
-25 TJm
-(fer) 11.0585 Tj
-72 139.763 Td
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er\003o) 18.2614 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 117.845 Td
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(27) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 28 31
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-420.96 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-498.449 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 75.786 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 492.852] cm
-0 0 468 227.148 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F124_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.488 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 687.721 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.488 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(dest) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(destLen) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.488 663.811 Td
-(or) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(1) 5.9776 Tj
-98.488 651.856 Td
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(<) 5.9776 Tj
--426 TJm
-(0) 5.9776 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.9776 Tj
--426 TJm
-(4) 5.9776 Tj
-90 639.9 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.488 627.945 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 615.99 Td
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-98.488 604.035 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(exceeds) 41.8429 Tj
-341.655 602.291 Td
-(*) 5.9776 Tj
-347.633 604.035 Td
-(destLen) 41.8429 Tj
-90 592.08 Td
-(BZ_DATA_ERROR) 77.7083 Tj
-98.488 580.124 Td
-(if) 11.9551 Tj
--426 TJm
-(a) 5.9776 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(integrity) 53.798 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
-90 568.169 Td
-(BZ_DATA_ERROR_MAGIC) 113.5736 Tj
-98.488 556.214 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(doesn't) 41.8429 Tj
--426 TJm
-(begin) 29.8878 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(right) 29.8878 Tj
--426 TJm
-(magic) 29.8878 Tj
--426 TJm
-(bytes) 29.8878 Tj
-90 544.259 Td
-(BZ_UNEXPECTED_EOF) 101.6185 Tj
-98.488 532.304 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(ends) 23.9102 Tj
--426 TJm
-(unexpectedly) 71.7307 Tj
-90 520.349 Td
-(BZ_OK) 29.8878 Tj
-98.488 508.393 Td
-(otherwise) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 458.099 Td
-/F116_0 20.6585 Tf
-(3.6.) 34.4584 Tj
--278 TJm
-(zlib) 34.4377 Tj
--278 TJm
-(compatibility) 127.4216 Tj
--278 TJm
-(functions) 92.9633 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 436.181 Td
-/F122_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--604 TJm
-(Tsuneo) 29.3299 Tj
--604 TJm
-(has) 13.2801 Tj
--604 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--604 TJm
-(some) 21.031 Tj
--604 TJm
-(functions) 37.0808 Tj
--604 TJm
-(to) 7.7509 Tj
--604 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--604 TJm
-(better) 22.6848 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-356.347 436.181 Td
-/F124_0 9.9626 Tf
-(zlib) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-386.275 436.181 Td
-/F122_0 9.9626 Tf
-(compatibility) 53.1405 Tj
-65 TJm
-(.) 2.4907 Tj
--1372 TJm
-(These) 23.7907 Tj
--604 TJm
-(functions) 37.0808 Tj
--604 TJm
-(are) 12.1643 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 424.226 Td
-/F124_0 9.9626 Tf
-(BZ2_bzopen) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-131.776 424.226 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-144.283 424.226 Td
-/F124_0 9.9626 Tf
-(BZ2_bzread) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-204.059 424.226 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-216.567 424.226 Td
-/F124_0 9.9626 Tf
-(BZ2_bzwrite) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-282.32 424.226 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.827 424.226 Td
-/F124_0 9.9626 Tf
-(BZ2_bzflush) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-360.581 424.226 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-373.088 424.226 Td
-/F124_0 9.9626 Tf
-(BZ2_bzclose) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-438.842 424.226 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-451.349 424.226 Td
-/F124_0 9.9626 Tf
-(BZ2_bzerror) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-525.614 424.226 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 412.271 Td
-/F124_0 9.9626 Tf
-(BZ2_bzlibVersion) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-167.641 412.271 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1420 TJm
-(These) 23.7907 Tj
--383 TJm
-(functions) 37.0808 Tj
--383 TJm
-(are) 12.1643 Tj
--383 TJm
-(not) 12.7322 Tj
--383 TJm
-(\(yet\)) 18.8094 Tj
--384 TJm
-(of) 8.2988 Tj
-25 TJm
-(\002cially) 27.6761 Tj
--383 TJm
-(part) 15.4918 Tj
--383 TJm
-(of) 8.2988 Tj
--383 TJm
-(the) 12.1743 Tj
--384 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.4907 Tj
--1419 TJm
-(If) 6.6351 Tj
--383 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--384 TJm
-(break,) 24.6176 Tj
--416 TJm
-(you) 14.9439 Tj
--383 TJm
-(get) 12.1743 Tj
--384 TJm
-(to) 7.7509 Tj
-72 400.316 Td
-(k) 4.9813 Tj
-10 TJm
-(eep) 13.8281 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(pieces.) 27.3872 Tj
--620 TJm
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--250 TJm
-(I) 3.3175 Tj
--250 TJm
-(think) 20.4831 Tj
--250 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--250 TJm
-(ok.) 12.4533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 349.342] cm
-0 0 468 47.821 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 388.794 Td
-/F124_0 9.9626 Tf
-(typedef) 41.8429 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(BZFILE;) 41.8429 Tj
-90 364.884 Td
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-152.286 363.14 Td
-(*) 5.9776 Tj
-162.508 364.884 Td
-(BZ2_bzlibVersion) 95.641 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 327.424 Td
-/F122_0 9.9626 Tf
-(Returns) 30.9936 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(string) 22.6948 Tj
--250 TJm
-(indicating) 39.8504 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion.) 26.8392 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 288.405] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 315.902 Td
-/F124_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-130.109 314.159 Td
-(*) 5.9776 Tj
-140.331 315.902 Td
-(BZ2_bzopen) 59.7756 Tj
--852 TJm
-(\() 5.9776 Tj
--426 TJm
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-281.103 314.159 Td
-(*) 5.9776 Tj
-287.08 315.902 Td
-(path,) 29.8878 Tj
--426 TJm
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-383.498 314.159 Td
-(*) 5.9776 Tj
-389.476 315.902 Td
-(mode) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 303.947 Td
-(BZFILE) 35.8654 Tj
-130.109 302.204 Td
-(*) 5.9776 Tj
-140.331 303.947 Td
-(BZ2_bzdopen) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(int) 17.9327 Tj
--3408 TJm
-(fd,) 17.9327 Tj
--1704 TJm
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-369.629 302.204 Td
-(*) 5.9776 Tj
-375.607 303.947 Td
-(mode) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 266.488 Td
-/F122_0 9.9626 Tf
-(Opens) 25.4544 Tj
--243 TJm
-(a) 4.4234 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-106.713 266.488 Td
-/F124_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-133.041 266.488 Td
-/F122_0 9.9626 Tf
-(\002le) 12.7322 Tj
--243 TJm
-(for) 11.6164 Tj
--242 TJm
-(reading) 29.8778 Tj
--243 TJm
-(or) 8.2988 Tj
--243 TJm
-(writing,) 31.2726 Tj
--244 TJm
-(using) 21.589 Tj
--243 TJm
-(either) 22.6848 Tj
--242 TJm
-(its) 9.4147 Tj
--243 TJm
-(name) 21.579 Tj
--243 TJm
-(or) 8.2988 Tj
--242 TJm
-(a) 4.4234 Tj
--243 TJm
-(pre-e) 20.4632 Tj
-15 TJm
-(xisting) 27.1282 Tj
--243 TJm
-(\002le) 12.7322 Tj
--242 TJm
-(descriptor) 39.8404 Tj
-55 TJm
-(.) 2.4907 Tj
--615 TJm
-(Analogous) 43.1679 Tj
--243 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-510.112 266.488 Td
-/F124_0 9.9626 Tf
-(fopen) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 254.532 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-88.877 254.532 Td
-/F124_0 9.9626 Tf
-(fdopen) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-124.742 254.532 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 216.137] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 243.633 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzread) 59.7756 Tj
--852 TJm
-(\() 5.9776 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-226.528 241.89 Td
-(*) 5.9776 Tj
-236.749 243.633 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-276.859 241.89 Td
-(*) 5.9776 Tj
-287.08 243.633 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 231.678 Td
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzwrite) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-228.261 229.935 Td
-(*) 5.9776 Tj
-238.483 231.678 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-278.592 229.935 Td
-(*) 5.9776 Tj
-288.814 231.678 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 194.219 Td
-/F122_0 9.9626 Tf
-(Reads/writes) 51.4668 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(from/to) 29.8878 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(pre) 12.7222 Tj
-25 TJm
-(viously) 29.3399 Tj
--250 TJm
-(opened) 28.772 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-259.903 194.219 Td
-/F124_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-295.769 194.219 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--500 TJm
-(Analogous) 43.1679 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-359.141 194.219 Td
-/F124_0 9.9626 Tf
-(fread) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-391.519 194.219 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-408.396 194.219 Td
-/F124_0 9.9626 Tf
-(fwrite) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-444.261 194.219 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 155.2] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 182.697 Td
-/F124_0 9.9626 Tf
-(int) 17.9327 Tj
--852 TJm
-(BZ2_bzflush) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-232.505 180.954 Td
-(*) 5.9776 Tj
-242.727 182.697 Td
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 170.742 Td
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzclose) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-234.239 168.998 Td
-(*) 5.9776 Tj
-244.46 170.742 Td
-(b) 5.9776 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 133.282 Td
-/F122_0 9.9626 Tf
-(Flushes/closes) 57.5639 Tj
--250 TJm
-(a) 4.4234 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-138.968 133.282 Td
-/F124_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-174.833 133.282 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-179.815 133.282 Td
-/F124_0 9.9626 Tf
-(BZ2_bzflush) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-248.059 133.282 Td
-/F122_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(actually) 31.5416 Tj
--250 TJm
-(do) 9.9626 Tj
--250 TJm
-(an) 9.4047 Tj
-15 TJm
-(ything.) 27.9551 Tj
--620 TJm
-(Analogous) 43.1679 Tj
--250 TJm
-(to) 7.7509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-425.472 133.282 Td
-/F124_0 9.9626 Tf
-(fflush) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-463.828 133.282 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-480.705 133.282 Td
-/F124_0 9.9626 Tf
-(fclose) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-516.57 133.282 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 106.219] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 121.761 Td
-/F124_0 9.9626 Tf
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-152.286 120.017 Td
-(*) 5.9776 Tj
-162.508 121.761 Td
-(BZ2_bzerror) 65.7532 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-282.836 120.017 Td
-(*) 5.9776 Tj
-288.814 121.761 Td
-(b,) 11.9551 Tj
--426 TJm
-(int) 17.9327 Tj
-327.19 120.017 Td
-(*) 5.9776 Tj
-333.167 121.761 Td
-(errnum) 35.8654 Tj
--426 TJm
-(\)) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 84.301 Td
-/F122_0 9.9626 Tf
-(Returns) 30.9936 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(string) 22.6948 Tj
--250 TJm
-(describing) 41.5042 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(recent) 24.3386 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(status) 22.6948 Tj
--250 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-303.858 84.301 Td
-/F124_0 9.9626 Tf
-(b) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-309.835 84.301 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(also) 16.0497 Tj
--250 TJm
-(sets) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-367.668 82.558 Td
-/F124_0 9.9626 Tf
-(*) 5.9776 Tj
-373.645 84.301 Td
-(errnum) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-412.002 84.301 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(its) 9.4147 Tj
--250 TJm
-(numerical) 39.8404 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue.) 19.0883 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-536.307 50.951 Td
-(28) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 29 32
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 704.93 Td
-/F116_0 20.6585 Tf
-(3.7.) 34.4584 Tj
--278 TJm
-(Using) 57.3893 Tj
--278 TJm
-(the) 30.9878 Tj
--278 TJm
-(librar) 51.6669 Tj
--10 TJm
-(y) 11.4861 Tj
--278 TJm
-(in) 18.3654 Tj
--278 TJm
-(a) 11.4861 Tj
--278 TJm
-(stdio-free) 94.1201 Tj
-72 680.139 Td
-(en) 24.1085 Tj
-40 TJm
-(vir) 25.2653 Tj
-20 TJm
-(onment) 74.5978 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 649.583 Td
-/F116_0 17.2154 Tf
-(3.7.1.) 43.0729 Tj
--278 TJm
-(Getting) 60.2539 Tj
--278 TJm
-(rid) 22.0013 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(stdio) 41.1276 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 627.73 Td
-/F122_0 9.9626 Tf
-(In) 8.2988 Tj
--319 TJm
-(a) 4.4234 Tj
--319 TJm
-(deeply) 26.5603 Tj
--319 TJm
-(embedded) 40.9463 Tj
--319 TJm
-(application,) 46.7644 Tj
--336 TJm
-(you) 14.9439 Tj
--319 TJm
-(might) 23.2527 Tj
--319 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--319 TJm
-(to) 7.7509 Tj
--319 TJm
-(use) 13.2801 Tj
--319 TJm
-(just) 14.396 Tj
--319 TJm
-(the) 12.1743 Tj
--319 TJm
-(memory-to-memory) 80.7967 Tj
--319 TJm
-(functions.) 39.5714 Tj
--1035 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--319 TJm
-(can) 13.8281 Tj
--319 TJm
-(do) 9.9626 Tj
--319 TJm
-(this) 14.396 Tj
-72 615.775 Td
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(eniently) 32.0995 Tj
--327 TJm
-(by) 9.9626 Tj
--327 TJm
-(compiling) 40.4083 Tj
--327 TJm
-(the) 12.1743 Tj
--327 TJm
-(library) 26.5603 Tj
--327 TJm
-(with) 17.7135 Tj
--328 TJm
-(preproces) 38.7246 Tj
-1 TJm
-(sor) 12.1743 Tj
--328 TJm
-(symbol) 29.3399 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-336.045 615.775 Td
-/F124_0 9.9626 Tf
-(BZ_NO_STDIO) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-405.057 615.775 Td
-/F122_0 9.9626 Tf
-(de\002ned.) 31.8205 Tj
--1083 TJm
-(Doing) 24.9065 Tj
--327 TJm
-(this) 14.396 Tj
--327 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--327 TJm
-(you) 14.9439 Tj
--327 TJm
-(a) 4.4234 Tj
-72 603.819 Td
-(library) 26.5603 Tj
--250 TJm
-(containing) 42.0621 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--250 TJm
-(eight) 19.9252 Tj
--250 TJm
-(functions:) 39.8504 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 581.966 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.5961 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-179.597 581.966 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-199.079 581.966 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-282.765 581.966 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-302.247 581.966 Td
-/F124_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.6185 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--1414 TJm
-(BZ2_bzDe) 47.8205 Tj
--1 TJm
-(compressInit) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 581.966 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 570.011 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-167.641 570.011 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.144 570.011 Td
-/F124_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.5736 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--190 TJm
-(BZ2_bzBuffToBuffCompress) 143.4614 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-431.073 570.011 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-435.577 570.011 Td
-/F124_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.4166 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 548.158 Td
-/F122_0 9.9626 Tf
-(When) 23.7907 Tj
--250 TJm
-(compiled) 37.0808 Tj
--250 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--250 TJm
-(this,) 16.8866 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(ignore) 25.4544 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-272.526 548.158 Td
-/F124_0 9.9626 Tf
-(verbosity) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-328.815 548.158 Td
-/F122_0 9.9626 Tf
-(settings.) 32.9364 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 517.601 Td
-/F116_0 17.2154 Tf
-(3.7.2.) 43.0729 Tj
--278 TJm
-(Critical) 58.3602 Tj
--278 TJm
-(err) 22.9653 Tj
-20 TJm
-(or) 17.2154 Tj
--278 TJm
-(handling) 71.7366 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 495.748 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-124.529 495.748 Td
-/F122_0 9.9626 Tf
-(contains) 33.2053 Tj
--473 TJm
-(a) 4.4234 Tj
--472 TJm
-(number) 30.4357 Tj
--473 TJm
-(of) 8.2988 Tj
--472 TJm
-(internal) 30.4357 Tj
--473 TJm
-(assertion) 35.417 Tj
--472 TJm
-(checks) 27.1082 Tj
--473 TJm
-(which) 24.3486 Tj
--472 TJm
-(should,) 29.0609 Tj
--529 TJm
-(needless) 33.7533 Tj
--472 TJm
-(to) 7.7509 Tj
--473 TJm
-(say) 13.2801 Tj
-65 TJm
-(,) 2.4907 Tj
--528 TJm
-(ne) 9.4047 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--473 TJm
-(be) 9.4047 Tj
--472 TJm
-(acti) 14.386 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ated.) 19.0883 Tj
-72 483.793 Td
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--533 TJm
-(if) 6.0871 Tj
--476 TJm
-(an) 9.4047 Tj
--476 TJm
-(assertion) 35.417 Tj
--476 TJm
-(should) 26.5703 Tj
--476 TJm
-(f) 3.3175 Tj
-10 TJm
-(ail,) 12.4533 Tj
--532 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--476 TJm
-(depends) 32.6474 Tj
--476 TJm
-(on) 9.9626 Tj
--476 TJm
-(whether) 32.0895 Tj
--476 TJm
-(or) 8.2988 Tj
--477 TJm
-(not) 12.7322 Tj
--476 TJm
-(the) 12.1743 Tj
--476 TJm
-(library) 26.5603 Tj
--476 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--476 TJm
-(compiled) 37.0808 Tj
--476 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 471.838 Td
-/F124_0 9.9626 Tf
-(BZ_NO_STDIO) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-140.244 471.838 Td
-/F122_0 9.9626 Tf
-(set.) 13.5591 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 449.985 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(compile,) 34.5901 Tj
--250 TJm
-(an) 9.4047 Tj
--250 TJm
-(assertion) 35.417 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(ailure) 22.6848 Tj
--250 TJm
-(yields) 23.8007 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(message:) 36.5229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 428.131 Td
-(bzip2/libbzip2:) 60.3335 Tj
--310 TJm
-(internal) 30.4357 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(N.) 9.6836 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 406.278 Td
-(This) 17.7135 Tj
--344 TJm
-(is) 6.6451 Tj
--344 TJm
-(a) 4.4234 Tj
--344 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--343 TJm
-(in) 7.7509 Tj
--344 TJm
-(bzip2/libbzip2,) 60.0546 Tj
--368 TJm
-(1.0.6) 19.9252 Tj
--343 TJm
-(of) 8.2988 Tj
--344 TJm
-(6) 4.9813 Tj
--344 TJm
-(September) 42.61 Tj
--344 TJm
-(2010.) 22.4159 Tj
--592 TJm
-(Please) 25.4544 Tj
--344 TJm
-(report) 23.7907 Tj
--343 TJm
-(it) 5.5392 Tj
--344 TJm
-(to) 7.7509 Tj
--344 TJm
-(me) 12.1743 Tj
--344 TJm
-(at:) 9.9626 Tj
--498 TJm
-(jse) 11.0684 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard@bzip.or) 49.8429 Tj
-18 TJm
-(g.) 7.472 Tj
--1183 TJm
-(If) 6.6351 Tj
--344 TJm
-(this) 14.396 Tj
-72 394.323 Td
-(happened) 38.1767 Tj
--297 TJm
-(when) 21.579 Tj
--298 TJm
-(you) 14.9439 Tj
--297 TJm
-(were) 19.3573 Tj
--297 TJm
-(using) 21.589 Tj
--297 TJm
-(some) 21.031 Tj
--298 TJm
-(program) 33.7533 Tj
--297 TJm
-(which) 24.3486 Tj
--297 TJm
-(uses) 17.1556 Tj
--297 TJm
-(libbzip2) 32.6574 Tj
--298 TJm
-(as) 8.2988 Tj
--297 TJm
-(a) 4.4234 Tj
--297 TJm
-(component,) 46.7644 Tj
--309 TJm
-(you) 14.9439 Tj
--298 TJm
-(should) 26.5703 Tj
--297 TJm
-(also) 16.0497 Tj
--297 TJm
-(report) 23.7907 Tj
--297 TJm
-(this) 14.396 Tj
--298 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
-72 382.368 Td
-(to) 7.7509 Tj
--264 TJm
-(the) 12.1743 Tj
--264 TJm
-(author\(s\)) 35.965 Tj
--264 TJm
-(of) 8.2988 Tj
--264 TJm
-(that) 14.9439 Tj
--264 TJm
-(program.) 36.2439 Tj
--703 TJm
-(Please) 25.4544 Tj
--264 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--264 TJm
-(an) 9.4047 Tj
--264 TJm
-(ef) 7.7409 Tj
-25 TJm
-(fort) 14.386 Tj
--264 TJm
-(to) 7.7509 Tj
--264 TJm
-(report) 23.7907 Tj
--263 TJm
-(this) 14.396 Tj
--264 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug;) 12.7322 Tj
--271 TJm
-(timely) 25.4644 Tj
--264 TJm
-(and) 14.386 Tj
--264 TJm
-(accurate) 33.1854 Tj
--264 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--264 TJm
-(reports) 27.6661 Tj
--264 TJm
-(e) 4.4234 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(entually) 32.0995 Tj
-72 370.413 Td
-(lead) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(higher) 25.4544 Tj
--250 TJm
-(quality) 27.6761 Tj
--250 TJm
-(softw) 22.1369 Tj
-10 TJm
-(are.) 14.655 Tj
--620 TJm
-(Thanks.) 31.8205 Tj
--620 TJm
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard,) 15.2129 Tj
--250 TJm
-(6) 4.9813 Tj
--250 TJm
-(September) 42.61 Tj
--250 TJm
-(2010.) 22.4159 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 338.758 Td
-(where) 24.3386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-98.831 338.758 Td
-/F124_0 9.9626 Tf
-(N) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-107.301 338.758 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(error) 19.3573 Tj
--251 TJm
-(code) 18.8094 Tj
--250 TJm
-(number) 30.4357 Tj
-55 TJm
-(.) 2.4907 Tj
--621 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-230.81 338.758 Td
-/F124_0 9.9626 Tf
-(N) 5.9776 Tj
--600 TJm
-(==) 11.9551 Tj
--600 TJm
-(1007) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-284.608 338.758 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(also) 16.0497 Tj
--251 TJm
-(prints) 22.6948 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xtra) 15.4918 Tj
--250 TJm
-(te) 7.193 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(advising) 33.7633 Tj
--251 TJm
-(the) 12.1743 Tj
--250 TJm
-(reader) 24.8866 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(unreliable) 39.8404 Tj
-72 326.803 Td
-(memory) 33.2053 Tj
--425 TJm
-(is) 6.6451 Tj
--424 TJm
-(often) 20.4731 Tj
--425 TJm
-(associated) 40.9463 Tj
--425 TJm
-(with) 17.7135 Tj
--424 TJm
-(internal) 30.4357 Tj
--425 TJm
-(error) 19.3573 Tj
--424 TJm
-(1007.) 22.4159 Tj
--834 TJm
-(\(This) 21.031 Tj
--425 TJm
-(is) 6.6451 Tj
--425 TJm
-(a) 4.4234 Tj
--424 TJm
-(frequently-observ) 70.8241 Tj
-15 TJm
-(ed-phenomenon) 64.189 Tj
--425 TJm
-(with) 17.7135 Tj
--425 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
-72 314.848 Td
-(1.0.0/1.0.1\).) 48.4282 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 292.995 Td
-/F124_0 9.9626 Tf
-(exit\(3\)) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-116.334 292.995 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(called.) 26.2813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 271.142 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--250 TJm
-(a) 4.4234 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-95.093 271.142 Td
-/F124_0 9.9626 Tf
-(stdio) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-124.981 271.142 Td
-/F122_0 9.9626 Tf
-(-free) 18.7994 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(assertion) 35.417 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(ailures) 26.5603 Tj
--250 TJm
-(result) 22.1369 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(call) 14.386 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(function) 33.2053 Tj
--250 TJm
-(declared) 33.7433 Tj
--250 TJm
-(as:) 11.0684 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 244.078] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 259.62 Td
-/F124_0 9.9626 Tf
-(extern) 35.8654 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(bz_internal_error) 101.6185 Tj
--426 TJm
-(\() 5.9776 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(errcode) 41.8429 Tj
--426 TJm
-(\);) 11.9551 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 222.225 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(rele) 14.9339 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant) 12.1743 Tj
--250 TJm
-(code) 18.8094 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(passed) 26.5603 Tj
--250 TJm
-(as) 8.2988 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(parameter) 39.8305 Tj
-55 TJm
-(.) 2.4907 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(supply) 26.5703 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(function.) 35.696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 200.372 Td
-(In) 8.2988 Tj
--294 TJm
-(either) 22.6848 Tj
--294 TJm
-(case,) 19.6363 Tj
--306 TJm
-(once) 18.8094 Tj
--294 TJm
-(an) 9.4047 Tj
--294 TJm
-(assertion) 35.417 Tj
--294 TJm
-(f) 3.3175 Tj
-10 TJm
-(ailure) 22.6848 Tj
--294 TJm
-(has) 13.2801 Tj
--295 TJm
-(occurred,) 37.3398 Tj
--305 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-306.541 200.372 Td
-/F124_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.271 200.372 Td
-/F122_0 9.9626 Tf
-(records) 29.3199 Tj
--294 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-20 TJm
-(olv) 12.7322 Tj
-15 TJm
-(ed) 9.4047 Tj
--294 TJm
-(can) 13.8281 Tj
--295 TJm
-(be) 9.4047 Tj
--294 TJm
-(re) 7.7409 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(arded) 22.1269 Tj
--294 TJm
-(as) 8.2988 Tj
--294 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-25 TJm
-(alid.) 17.4346 Tj
-72 188.417 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(attempt) 29.8878 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(resume) 28.772 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(operation) 37.6287 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(them.) 22.4159 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 166.564 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--299 TJm
-(may) 17.1556 Tj
-65 TJm
-(,) 2.4907 Tj
--310 TJm
-(of) 8.2988 Tj
--299 TJm
-(course,) 28.493 Tj
--311 TJm
-(change) 28.2141 Tj
--298 TJm
-(critical) 27.6661 Tj
--299 TJm
-(error) 19.3573 Tj
--298 TJm
-(handling) 34.8691 Tj
--299 TJm
-(to) 7.7509 Tj
--298 TJm
-(suit) 14.396 Tj
--299 TJm
-(your) 18.2614 Tj
--298 TJm
-(needs.) 25.1755 Tj
--912 TJm
-(As) 11.0684 Tj
--298 TJm
-(I) 3.3175 Tj
--299 TJm
-(said) 16.0497 Tj
--298 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
--311 TJm
-(critical) 27.6661 Tj
--299 TJm
-(errors) 23.2328 Tj
--298 TJm
-(indicate) 31.5416 Tj
--299 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
-72 154.609 Td
-(in) 7.7509 Tj
--263 TJm
-(the) 12.1743 Tj
--263 TJm
-(library) 26.5603 Tj
--263 TJm
-(and) 14.386 Tj
--263 TJm
-(should) 26.5703 Tj
--263 TJm
-(not) 12.7322 Tj
--263 TJm
-(occur) 22.1269 Tj
-55 TJm
-(.) 2.4907 Tj
--697 TJm
-(All) 12.7322 Tj
--263 TJm
-("normal") 36.3535 Tj
--263 TJm
-(error) 19.3573 Tj
--263 TJm
-(situations) 38.1966 Tj
--263 TJm
-(are) 12.1643 Tj
--263 TJm
-(indicated) 36.5229 Tj
--263 TJm
-(via) 12.1743 Tj
--263 TJm
-(error) 19.3573 Tj
--263 TJm
-(return) 23.7907 Tj
--263 TJm
-(codes) 22.6848 Tj
--263 TJm
-(from) 19.3673 Tj
--263 TJm
-(functions,) 39.5714 Tj
-72 142.653 Td
-(and) 14.386 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ered) 17.1456 Tj
--250 TJm
-(from.) 21.8579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 107.965 Td
-/F116_0 20.6585 Tf
-(3.8.) 34.4584 Tj
--278 TJm
-(Making) 71.1685 Tj
--278 TJm
-(a) 11.4861 Tj
--278 TJm
-(Windo) 63.1117 Tj
-15 TJm
-(ws) 27.5584 Tj
--278 TJm
-(DLL) 40.1601 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 86.112 Td
-/F122_0 9.9626 Tf
-(Ev) 11.0684 Tj
-15 TJm
-(erything) 33.2053 Tj
--328 TJm
-(related) 27.1082 Tj
--327 TJm
-(to) 7.7509 Tj
--328 TJm
-(W) 9.4047 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--328 TJm
-(has) 13.2801 Tj
--327 TJm
-(been) 18.8094 Tj
--328 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--328 TJm
-(by) 9.9626 Tj
--327 TJm
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--328 TJm
-(Tsuneo) 29.3299 Tj
--328 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-378.139 86.112 Td
-/F124_0 9.9626 Tf
-(tsuneo@rr.iij4u.or.jp) 125.5288 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-503.668 86.112 Td
-/F122_0 9.9626 Tf
-(\),) 5.8082 Tj
--347 TJm
-(so) 8.8568 Tj
--328 TJm
-(you) 14.9439 Tj
-72 74.157 Td
-(should) 26.5703 Tj
--250 TJm
-(send) 18.2614 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(queries) 28.772 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(him) 15.5018 Tj
--250 TJm
-(\(b) 8.2988 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(perhaps) 30.9837 Tj
--250 TJm
-(Cc:) 13.8381 Tj
--310 TJm
-(me,) 14.6649 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-287.958 74.157 Td
-/F124_0 9.9626 Tf
-(jseward@bzip.org) 95.641 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-383.6 74.157 Td
-/F122_0 9.9626 Tf
-(\).) 5.8082 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 51.071 Td
-(29) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 30 33
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F122_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.556 749.245 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(My) 13.8381 Tj
--367 TJm
-(v) 4.9813 Tj
-25 TJm
-(ague) 18.8094 Tj
--367 TJm
-(understanding) 56.4481 Tj
--367 TJm
-(of) 8.2988 Tj
--367 TJm
-(what) 19.3673 Tj
--368 TJm
-(to) 7.7509 Tj
--367 TJm
-(do) 9.9626 Tj
--367 TJm
-(is:) 9.4147 Tj
--544 TJm
-(using) 21.589 Tj
--367 TJm
-(V) 7.193 Tj
-60 TJm
-(isual) 18.8194 Tj
--367 TJm
-(C++) 17.8829 Tj
--367 TJm
-(5.0,) 14.9439 Tj
--397 TJm
-(open) 19.3673 Tj
--367 TJm
-(the) 12.1743 Tj
--367 TJm
-(project) 27.6661 Tj
--367 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-432.966 710.037 Td
-/F124_0 9.9626 Tf
-(libbz2.dsp) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-492.742 710.037 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--396 TJm
-(and) 14.386 Tj
--368 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild.) 17.9925 Tj
-72 698.082 Td
-(That') 21.579 Tj
-55 TJm
-(s) 3.8755 Tj
--250 TJm
-(all.) 12.4533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 676.164 Td
-(If) 6.6351 Tj
--284 TJm
-(you) 14.9439 Tj
--284 TJm
-(can') 17.1456 Tj
-18 TJm
-(t) 2.7696 Tj
--285 TJm
-(open) 19.3673 Tj
--284 TJm
-(the) 12.1743 Tj
--284 TJm
-(project) 27.6661 Tj
--284 TJm
-(\002le) 12.7322 Tj
--284 TJm
-(for) 11.6164 Tj
--285 TJm
-(some) 21.031 Tj
--284 TJm
-(reason,) 28.493 Tj
--293 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--284 TJm
-(a) 4.4234 Tj
--284 TJm
-(ne) 9.4047 Tj
-25 TJm
-(w) 7.193 Tj
--284 TJm
-(one,) 16.8766 Tj
--293 TJm
-(naming) 29.8878 Tj
--284 TJm
-(these) 20.4731 Tj
--284 TJm
-(\002les:) 19.3773 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-424.505 676.164 Td
-/F124_0 9.9626 Tf
-(blocksort.c) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-490.259 676.164 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-495.666 676.164 Td
-/F124_0 9.9626 Tf
-(bzlib.c) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-537.509 676.164 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 664.209 Td
-/F124_0 9.9626 Tf
-(compress.c) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-131.776 664.209 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-136.436 664.209 Td
-/F124_0 9.9626 Tf
-(crctable.c) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-196.211 664.209 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-200.871 664.209 Td
-/F124_0 9.9626 Tf
-(decompress.c) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-272.602 664.209 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-277.262 664.209 Td
-/F124_0 9.9626 Tf
-(huffman.c) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-331.06 664.209 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-335.72 664.209 Td
-/F124_0 9.9626 Tf
-(randtable.c) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-403.562 664.209 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-420.037 664.209 Td
-/F124_0 9.9626 Tf
-(libbz2.def) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-479.812 664.209 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--593 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--210 TJm
-(will) 15.5018 Tj
--209 TJm
-(also) 16.0497 Tj
-72 652.254 Td
-(need) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(name) 21.579 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(header) 26.5503 Tj
--250 TJm
-(\002les) 16.6077 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-190.415 652.254 Td
-/F124_0 9.9626 Tf
-(bzlib.h) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-234.749 652.254 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-251.625 652.254 Td
-/F124_0 9.9626 Tf
-(bzlib_private.h) 89.6634 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-341.289 652.254 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 630.336 Td
-(If) 6.6351 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(VC++,) 27.5665 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(need) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(de\002ne) 24.3486 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(proprocessor) 51.4568 Tj
--250 TJm
-(symbol) 29.3399 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.634 630.336 Td
-/F124_0 9.9626 Tf
-(_WIN32) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-399.5 630.336 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 608.418 Td
-(Finally) 28.234 Tj
-65 TJm
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.568 608.418 Td
-/F124_0 9.9626 Tf
-(dlltest.c) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-160.856 608.418 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(sample) 28.224 Tj
--250 TJm
-(program) 33.7533 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(DLL.) 21.8579 Tj
--500 TJm
-(It) 6.0871 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(project) 27.6661 Tj
--250 TJm
-(\002le,) 15.2229 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-388.58 608.418 Td
-/F124_0 9.9626 Tf
-(dlltest.dsp) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-454.334 608.418 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 586.501 Td
-(If) 6.6351 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e\002le) 17.1556 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(V) 7.193 Tj
-60 TJm
-(isual) 18.8194 Tj
--250 TJm
-(C,) 9.1357 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(look) 17.7135 Tj
--250 TJm
-(at) 7.193 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-292.212 586.501 Td
-/F124_0 9.9626 Tf
-(makefile.msc) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-363.943 586.501 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 564.583 Td
-(Be) 11.0684 Tj
--291 TJm
-(a) 4.4234 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(are) 12.1643 Tj
--291 TJm
-(that) 14.9439 Tj
--291 TJm
-(if) 6.0871 Tj
--291 TJm
-(you) 14.9439 Tj
--291 TJm
-(compile) 32.0995 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-192.07 564.583 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-224.857 564.583 Td
-/F122_0 9.9626 Tf
-(itself) 19.9252 Tj
--291 TJm
-(on) 9.9626 Tj
--291 TJm
-(W) 9.4047 Tj
-40 TJm
-(in32,) 20.2042 Tj
--301 TJm
-(you) 14.9439 Tj
--291 TJm
-(must) 19.3773 Tj
--291 TJm
-(set) 11.0684 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-346.842 564.583 Td
-/F124_0 9.9626 Tf
-(BZ_UNIX) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-391.584 564.583 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--291 TJm
-(0) 4.9813 Tj
--291 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-427.4 564.583 Td
-/F124_0 9.9626 Tf
-(BZ_LCCWIN32) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-496.052 564.583 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--291 TJm
-(1,) 7.472 Tj
--301 TJm
-(in) 7.7509 Tj
--291 TJm
-(the) 12.1743 Tj
-72 552.628 Td
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-87.223 552.628 Td
-/F124_0 9.9626 Tf
-(bzip2.c) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-129.066 552.628 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(before) 25.4445 Tj
--250 TJm
-(compiling.) 42.899 Tj
--310 TJm
-(Otherwise) 40.9463 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(resulting) 34.8691 Tj
--250 TJm
-(binary) 25.4544 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--250 TJm
-(correctly) 35.4071 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 530.71 Td
-(I) 3.3175 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(en') 12.7222 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(tried) 18.2614 Tj
--250 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(stuf) 14.9439 Tj
-25 TJm
-(f) 3.3175 Tj
--250 TJm
-(myself,) 29.6088 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(looks) 21.589 Tj
--250 TJm
-(plausible.) 38.4656 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(30) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 31 34
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F116_0 24.7902 Tf
-(4.) 20.675 Tj
--278 TJm
-(Miscellanea) 139.1722 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 656.35 Td
-/F116_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 635.788 Td
-/F122_0 9.9626 Tf
-(4.1.) 14.9439 Tj
--310 TJm
-(Limitations) 45.9475 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(format) 26.5603 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-269.154 635.788 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 635.788 Td
-/F122_0 9.9626 Tf
-(31) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 623.832 Td
-(4.2.) 14.9439 Tj
--310 TJm
-(Portability) 42.0721 Tj
--250 TJm
-(issues) 23.8007 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-172.03 623.832 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 623.832 Td
-/F122_0 9.9626 Tf
-(32) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 611.877 Td
-(4.3.) 14.9439 Tj
--310 TJm
-(Reporting) 39.8504 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-166.115 611.877 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 611.877 Td
-/F122_0 9.9626 Tf
-(32) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 599.922 Td
-(4.4.) 14.9439 Tj
--310 TJm
-(Did) 14.9439 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(get) 12.1743 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(right) 18.8194 Tj
--250 TJm
-(package?) 37.0609 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-229.109 599.922 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 599.922 Td
-/F122_0 9.9626 Tf
-(33) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 587.967 Td
-(4.5.) 14.9439 Tj
--310 TJm
-(Further) 29.3299 Tj
--250 TJm
-(Reading) 33.2053 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-170.361 587.967 Td
-/F230_0 9.9626 Tf
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--166 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
--167 TJm
-(:) 2.7676 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-506.127 587.967 Td
-/F122_0 9.9626 Tf
-(34) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 556.086 Td
-(These) 23.7907 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(random) 30.4357 Tj
--250 TJm
-(thoughts) 34.3212 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(mine.) 22.4159 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(our) 13.2801 Tj
--250 TJm
-(mileage) 31.5416 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(ary) 12.7222 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 521.334 Td
-/F116_0 20.6585 Tf
-(4.1.) 34.4584 Tj
--278 TJm
-(Limitations) 110.1924 Tj
--278 TJm
-(of) 19.5016 Tj
--278 TJm
-(the) 30.9878 Tj
--278 TJm
-(compressed) 121.6992 Tj
--278 TJm
-(\002le) 29.8515 Tj
--278 TJm
-(f) 6.8793 Tj
-20 TJm
-(ormat) 57.3893 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 499.416 Td
-/F124_0 9.9626 Tf
-(bzip2-1.0.X) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-137.753 499.416 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-143.405 499.416 Td
-/F124_0 9.9626 Tf
-(0.9.5) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-176.453 499.416 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-194 499.416 Td
-/F124_0 9.9626 Tf
-(0.9.0) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-227.048 499.416 Td
-/F122_0 9.9626 Tf
-(use) 13.2801 Tj
--317 TJm
-(e) 4.4234 Tj
-15 TJm
-(xactly) 24.3486 Tj
--318 TJm
-(the) 12.1743 Tj
--317 TJm
-(same) 20.4731 Tj
--317 TJm
-(\002le) 12.7322 Tj
--317 TJm
-(format) 26.5603 Tj
--317 TJm
-(as) 8.2988 Tj
--318 TJm
-(the) 12.1743 Tj
--317 TJm
-(original) 30.9936 Tj
--317 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion,) 26.8392 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-455.801 499.416 Td
-/F124_0 9.9626 Tf
-(bzip2-0.1) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-509.599 499.416 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1024 TJm
-(This) 17.7135 Tj
-72 487.461 Td
-(decision) 33.2053 Tj
--222 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--222 TJm
-(made) 21.579 Tj
--222 TJm
-(in) 7.7509 Tj
--221 TJm
-(the) 12.1743 Tj
--222 TJm
-(interests) 33.2053 Tj
--222 TJm
-(of) 8.2988 Tj
--222 TJm
-(stability) 32.1095 Tj
-65 TJm
-(.) 2.4907 Tj
--601 TJm
-(Creating) 34.3112 Tj
--222 TJm
-(yet) 12.1743 Tj
--222 TJm
-(another) 29.8778 Tj
--222 TJm
-(incompatible) 52.0247 Tj
--221 TJm
-(compressed) 47.0334 Tj
--222 TJm
-(\002le) 12.7322 Tj
--222 TJm
-(format) 26.5603 Tj
--222 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--222 TJm
-(create) 23.7807 Tj
-72 475.505 Td
-(further) 27.1082 Tj
--250 TJm
-(confusion) 39.2925 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(disruption) 40.4083 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(users.) 22.9638 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 453.588 Td
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--234 TJm
-(this) 14.396 Tj
--229 TJm
-(is) 6.6451 Tj
--230 TJm
-(not) 12.7322 Tj
--229 TJm
-(a) 4.4234 Tj
--230 TJm
-(painless) 32.0995 Tj
--229 TJm
-(decision.) 35.696 Tj
--606 TJm
-(De) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(elopment) 37.0808 Tj
--230 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--230 TJm
-(sinc) 16.0497 Tj
-1 TJm
-(e) 4.4234 Tj
--230 TJm
-(the) 12.1743 Tj
--230 TJm
-(release) 27.6562 Tj
--229 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-407.317 453.588 Td
-/F124_0 9.9626 Tf
-(bzip2-0.1) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-463.402 453.588 Td
-/F122_0 9.9626 Tf
-(in) 7.7509 Tj
--230 TJm
-(August) 28.782 Tj
--229 TJm
-(1997) 19.9252 Tj
--230 TJm
-(has) 13.2801 Tj
-72 441.632 Td
-(sho) 13.8381 Tj
-25 TJm
-(wn) 12.1743 Tj
--226 TJm
-(comple) 29.3299 Tj
-15 TJm
-(xities) 21.589 Tj
--226 TJm
-(in) 7.7509 Tj
--225 TJm
-(the) 12.1743 Tj
--226 TJm
-(\002le) 12.7322 Tj
--226 TJm
-(format) 26.5603 Tj
--226 TJm
-(which) 24.3486 Tj
--226 TJm
-(slo) 11.6264 Tj
-25 TJm
-(w) 7.193 Tj
--225 TJm
-(do) 9.9626 Tj
-25 TJm
-(wn) 12.1743 Tj
--226 TJm
-(decompression) 59.7656 Tj
--226 TJm
-(and,) 16.8766 Tj
--231 TJm
-(in) 7.7509 Tj
--226 TJm
-(retrospect,) 41.7732 Tj
--230 TJm
-(are) 12.1643 Tj
--226 TJm
-(unnecessary) 48.6872 Tj
-65 TJm
-(.) 2.4907 Tj
--604 TJm
-(These) 23.7907 Tj
--226 TJm
-(are:) 14.9339 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 409.752 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(The) 15.4918 Tj
--287 TJm
-(run-length) 41.5042 Tj
--287 TJm
-(encoder) 31.5316 Tj
-40 TJm
-(,) 2.4907 Tj
--297 TJm
-(which) 24.3486 Tj
--287 TJm
-(is) 6.6451 Tj
--288 TJm
-(the) 12.1743 Tj
--287 TJm
-(\002rst) 15.5018 Tj
--287 TJm
-(of) 8.2988 Tj
--287 TJm
-(the) 12.1743 Tj
--288 TJm
-(compression) 50.3609 Tj
--287 TJm
-(transformations,) 65.0259 Tj
--296 TJm
-(is) 6.6451 Tj
--288 TJm
-(entirely) 30.4357 Tj
--287 TJm
-(irrele) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant.) 14.6649 Tj
--843 TJm
-(The) 15.4918 Tj
--288 TJm
-(original) 30.9936 Tj
-81.963 397.797 Td
-(purpose) 31.5416 Tj
--322 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--322 TJm
-(to) 7.7509 Tj
--322 TJm
-(protect) 27.6661 Tj
--321 TJm
-(the) 12.1743 Tj
--322 TJm
-(sorting) 27.6761 Tj
--322 TJm
-(algorithm) 38.7446 Tj
--322 TJm
-(from) 19.3673 Tj
--322 TJm
-(the) 12.1743 Tj
--322 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--322 TJm
-(w) 7.193 Tj
-10 TJm
-(orst) 14.9439 Tj
--321 TJm
-(case) 17.1456 Tj
--322 TJm
-(input:) 23.2527 Tj
--454 TJm
-(a) 4.4234 Tj
--322 TJm
-(string) 22.6948 Tj
--322 TJm
-(of) 8.2988 Tj
--322 TJm
-(repeated) 33.7433 Tj
--321 TJm
-(symbols.) 35.706 Tj
--1052 TJm
-(But) 14.396 Tj
-81.963 385.842 Td
-(algorithm) 38.7446 Tj
--229 TJm
-(steps) 19.9252 Tj
--230 TJm
-(Q6a) 16.5977 Tj
--229 TJm
-(and) 14.386 Tj
--230 TJm
-(Q6b) 17.1556 Tj
--229 TJm
-(in) 7.7509 Tj
--230 TJm
-(t) 2.7696 Tj
-1 TJm
-(he) 9.4047 Tj
--230 TJm
-(original) 30.9936 Tj
--229 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--230 TJm
-(technical) 35.965 Tj
--229 TJm
-(report) 23.7907 Tj
--230 TJm
-(\(SRC-124\)) 43.7259 Tj
--229 TJm
-(sho) 13.8381 Tj
-25 TJm
-(w) 7.193 Tj
--229 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--230 TJm
-(repeats) 28.2141 Tj
--229 TJm
-(can) 13.8281 Tj
--230 TJm
-(be) 9.4047 Tj
-81.963 373.886 Td
-(handled) 31.5416 Tj
--250 TJm
-(without) 30.4457 Tj
--250 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culty) 25.4644 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(sorting.) 30.1668 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 351.969 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(The) 15.4918 Tj
--315 TJm
-(randomisation) 57.006 Tj
--314 TJm
-(mechanism) 45.3796 Tj
--315 TJm
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--314 TJm
-(really) 22.6848 Tj
--315 TJm
-(need) 18.8094 Tj
--315 TJm
-(to) 7.7509 Tj
--314 TJm
-(be) 9.4047 Tj
--315 TJm
-(there.) 22.4059 Tj
--1007 TJm
-(Udi) 14.9439 Tj
--315 TJm
-(Manber) 30.9837 Tj
--315 TJm
-(and) 14.386 Tj
--314 TJm
-(Gene) 21.0211 Tj
--315 TJm
-(Myers) 25.4544 Tj
--314 TJm
-(published) 38.7446 Tj
--315 TJm
-(a) 4.4234 Tj
--315 TJm
-(suf) 12.1743 Tj
-25 TJm
-(\002x) 10.5205 Tj
-81.963 340.013 Td
-(array) 20.4632 Tj
--266 TJm
-(construction) 49.2551 Tj
--266 TJm
-(algorithm) 38.7446 Tj
--266 TJm
-(a) 4.4234 Tj
--266 TJm
-(fe) 7.7409 Tj
-25 TJm
-(w) 7.193 Tj
--266 TJm
-(years) 21.0211 Tj
--266 TJm
-(back,) 21.3 Tj
--269 TJm
-(which) 24.3486 Tj
--266 TJm
-(can) 13.8281 Tj
--266 TJm
-(be) 9.4047 Tj
--266 TJm
-(emplo) 24.9065 Tj
-10 TJm
-(yed) 14.386 Tj
--266 TJm
-(to) 7.7509 Tj
--266 TJm
-(sort) 14.9439 Tj
--266 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--266 TJm
-(block,) 24.6275 Tj
--270 TJm
-(no) 9.9626 Tj
--266 TJm
-(matter) 25.4544 Tj
--266 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--266 TJm
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
-81.963 328.058 Td
-(in) 7.7509 Tj
--257 TJm
-(O\(N) 17.7035 Tj
--257 TJm
-(log) 12.7322 Tj
--257 TJm
-(N\)) 10.5105 Tj
--258 TJm
-(time.) 20.2042 Tj
--663 TJm
-(Subsequent) 45.9375 Tj
--257 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--257 TJm
-(by) 9.9626 Tj
--257 TJm
-(K) 7.193 Tj
-15 TJm
-(unihik) 25.4644 Tj
-10 TJm
-(o) 4.9813 Tj
--257 TJm
-(Sadakane) 38.1767 Tj
--258 TJm
-(has) 13.2801 Tj
--257 TJm
-(produced) 37.0708 Tj
--257 TJm
-(a) 4.4234 Tj
--257 TJm
-(deri) 15.4918 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ati) 9.9626 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--257 TJm
-(O\(N) 17.7035 Tj
--257 TJm
-(\(log) 16.0497 Tj
--258 TJm
-(N\)^2\)) 23.4818 Tj
--257 TJm
-(algorithm) 38.7446 Tj
-81.963 316.103 Td
-(which) 24.3486 Tj
--250 TJm
-(usually) 28.782 Tj
--250 TJm
-(outperforms) 48.6972 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(Manber) 30.9837 Tj
-20 TJm
-(-Myers) 28.772 Tj
--250 TJm
-(algorithm.) 41.2352 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 294.185 Td
-(I) 3.3175 Tj
--274 TJm
-(could) 22.1369 Tj
--274 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--274 TJm
-(changed) 33.1954 Tj
--274 TJm
-(to) 7.7509 Tj
--274 TJm
-(Sadakane') 41.4942 Tj
-55 TJm
-(s) 3.8755 Tj
--274 TJm
-(algorithm,) 41.2352 Tj
--280 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--274 TJm
-(I) 3.3175 Tj
--274 TJm
-(\002nd) 15.5018 Tj
--274 TJm
-(it) 5.5392 Tj
--274 TJm
-(to) 7.7509 Tj
--274 TJm
-(be) 9.4047 Tj
--274 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wer) 14.9339 Tj
--274 TJm
-(than) 17.1556 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-391.407 294.185 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-421.295 294.185 Td
-/F122_0 9.9626 Tf
-(') 3.3175 Tj
-55 TJm
-(s) 3.8755 Tj
--274 TJm
-(e) 4.4234 Tj
-15 TJm
-(xisting) 27.1282 Tj
--274 TJm
-(algorithm) 38.7446 Tj
--274 TJm
-(for) 11.6164 Tj
--274 TJm
-(most) 19.3773 Tj
-81.963 282.23 Td
-(inputs,) 26.8492 Tj
--399 TJm
-(and) 14.386 Tj
--369 TJm
-(the) 12.1743 Tj
--369 TJm
-(randomisation) 57.006 Tj
--370 TJm
-(me) 12.1743 Tj
-1 TJm
-(chanism) 33.2053 Tj
--370 TJm
-(protects) 31.5416 Tj
--369 TJm
-(adequately) 43.158 Tj
--369 TJm
-(ag) 9.4047 Tj
-5 TJm
-(ainst) 18.8194 Tj
--369 TJm
-(bad) 14.386 Tj
--369 TJm
-(cases.) 23.5117 Tj
--1336 TJm
-(I) 3.3175 Tj
--369 TJm
-(didn') 21.031 Tj
-18 TJm
-(t) 2.7696 Tj
--369 TJm
-(think) 20.4831 Tj
--369 TJm
-(it) 5.5392 Tj
--369 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--369 TJm
-(a) 4.4234 Tj
--370 TJm
-(good) 19.9252 Tj
-81.963 270.275 Td
-(tradeof) 28.2141 Tj
-25 TJm
-(f) 3.3175 Tj
--282 TJm
-(to) 7.7509 Tj
--283 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e.) 6.914 Tj
--815 TJm
-(P) 5.5392 Tj
-15 TJm
-(artly) 18.2614 Tj
--282 TJm
-(this) 14.396 Tj
--282 TJm
-(is) 6.6451 Tj
--283 TJm
-(due) 14.386 Tj
--282 TJm
-(to) 7.7509 Tj
--283 TJm
-(the) 12.1743 Tj
--282 TJm
-(f) 3.3175 Tj
-10 TJm
-(act) 11.6164 Tj
--283 TJm
-(that) 14.9439 Tj
--282 TJm
-(I) 3.3175 Tj
--283 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--282 TJm
-(not) 12.7322 Tj
--282 TJm
-(\003ooded) 29.8878 Tj
--283 TJm
-(with) 17.7135 Tj
--282 TJm
-(email) 22.1369 Tj
--283 TJm
-(complaints) 43.7259 Tj
--282 TJm
-(about) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-479.557 270.275 Td
-/F124_0 9.9626 Tf
-(bzip2-0.1) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-533.355 270.275 Td
-/F122_0 9.9626 Tf
-(') 3.3175 Tj
-55 TJm
-(s) 3.8755 Tj
-81.963 258.32 Td
-(performance) 50.341 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(data,) 19.0883 Tj
--250 TJm
-(so) 8.8568 Tj
--250 TJm
-(perhaps) 30.9837 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(problem) 33.2053 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(real) 14.9339 Tj
--250 TJm
-(inputs.) 26.8492 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 236.402 Td
-(Probably) 35.9749 Tj
--314 TJm
-(the) 12.1743 Tj
--315 TJm
-(best) 16.0497 Tj
--314 TJm
-(long-term) 39.2925 Tj
--314 TJm
-(solution,) 34.6001 Tj
--331 TJm
-(and) 14.386 Tj
--314 TJm
-(the) 12.1743 Tj
--314 TJm
-(one) 14.386 Tj
--315 TJm
-(I) 3.3175 Tj
--314 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--314 TJm
-(incorporated) 50.351 Tj
--315 TJm
-(into) 15.5018 Tj
--314 TJm
-(0.9.5) 19.9252 Tj
--314 TJm
-(and) 14.386 Tj
--315 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
--330 TJm
-(is) 6.6451 Tj
--315 TJm
-(to) 7.7509 Tj
--314 TJm
-(use) 13.2801 Tj
--314 TJm
-(the) 12.1743 Tj
--315 TJm
-(e) 4.4234 Tj
-15 TJm
-(xisting) 27.1282 Tj
-81.963 224.447 Td
-(sorting) 27.6761 Tj
--206 TJm
-(algorithm) 38.7446 Tj
--206 TJm
-(initially) 31.0036 Tj
-65 TJm
-(,) 2.4907 Tj
--215 TJm
-(and) 14.386 Tj
--207 TJm
-(f) 3.3175 Tj
-10 TJm
-(all) 9.9626 Tj
--206 TJm
-(back) 18.8094 Tj
--206 TJm
-(to) 7.7509 Tj
--206 TJm
-(a) 4.4234 Tj
--207 TJm
-(O\(N) 17.7035 Tj
--206 TJm
-(\(log) 16.0497 Tj
--206 TJm
-(N\)^2\)) 23.4818 Tj
--206 TJm
-(algorithm) 38.7446 Tj
--206 TJm
-(if) 6.0871 Tj
--207 TJm
-(the) 12.1743 Tj
--206 TJm
-(standard) 33.7533 Tj
--206 TJm
-(algorithm) 38.7446 Tj
--206 TJm
-(gets) 16.0497 Tj
--206 TJm
-(into) 15.5018 Tj
--207 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties.) 34.0422 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 202.529 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(The) 15.4918 Tj
--321 TJm
-(compressed) 47.0334 Tj
--322 TJm
-(\002le) 12.7322 Tj
--321 TJm
-(format) 26.5603 Tj
--321 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--322 TJm
-(ne) 9.4047 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--321 TJm
-(designed) 35.417 Tj
--321 TJm
-(to) 7.7509 Tj
--322 TJm
-(be) 9.4047 Tj
--321 TJm
-(handled) 31.5416 Tj
--321 TJm
-(by) 9.9626 Tj
--322 TJm
-(a) 4.4234 Tj
--321 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--339 TJm
-(and) 14.386 Tj
--322 TJm
-(I) 3.3175 Tj
--321 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--321 TJm
-(had) 14.386 Tj
--322 TJm
-(to) 7.7509 Tj
--321 TJm
-(jump) 20.4831 Tj
--321 TJm
-(though) 27.6761 Tj
--322 TJm
-(some) 21.031 Tj
-81.963 190.574 Td
-(hoops) 23.8007 Tj
--299 TJm
-(t) 2.7696 Tj
-1 TJm
-(o) 4.9813 Tj
--299 TJm
-(produce) 32.0895 Tj
--299 TJm
-(an) 9.4047 Tj
--298 TJm
-(ef) 7.7409 Tj
-25 TJm
-(\002cient) 24.9065 Tj
--299 TJm
-(implementation) 62.5452 Tj
--298 TJm
-(of) 8.2988 Tj
--299 TJm
-(decompression.) 62.2563 Tj
--911 TJm
-(It') 9.4047 Tj
-55 TJm
-(s) 3.8755 Tj
--298 TJm
-(a) 4.4234 Tj
--299 TJm
-(bit) 10.5205 Tj
--298 TJm
-(hairy) 20.4731 Tj
-65 TJm
-(.) 2.4907 Tj
--912 TJm
-(T) 6.0871 Tj
-35 TJm
-(ry) 8.2988 Tj
--298 TJm
-(passing) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-468.269 190.574 Td
-/F124_0 9.9626 Tf
-(decompress.c) 71.7307 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 178.619 Td
-/F122_0 9.9626 Tf
-(through) 30.9936 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(C) 6.6451 Tj
--289 TJm
-(preprocessor) 50.8989 Tj
--289 TJm
-(and) 14.386 Tj
--289 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.5392 Tj
--289 TJm
-(see) 12.7222 Tj
--289 TJm
-(what) 19.3673 Tj
--289 TJm
-(I) 3.3175 Tj
--289 TJm
-(mean.) 24.0696 Tj
--854 TJm
-(Much) 23.2427 Tj
--289 TJm
-(of) 8.2988 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(comple) 29.3299 Tj
-15 TJm
-(xity) 15.5018 Tj
--289 TJm
-(could) 22.1369 Tj
--289 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--289 TJm
-(been) 18.8094 Tj
--289 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(oided) 22.1369 Tj
--289 TJm
-(if) 6.0871 Tj
--289 TJm
-(the) 12.1743 Tj
-81.963 166.663 Td
-(compressed) 47.0334 Tj
--250 TJm
-(size) 15.4918 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(each) 18.2515 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(recorded) 34.8492 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(stream.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 144.746 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(An) 12.1743 Tj
--250 TJm
-(Adler) 22.6848 Tj
-20 TJm
-(-32) 13.2801 Tj
--250 TJm
-(checksum,) 42.3311 Tj
--250 TJm
-(rather) 23.2328 Tj
--250 TJm
-(than) 17.1556 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(CRC32) 29.8978 Tj
--250 TJm
-(checksum,) 42.3311 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(aster) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(compute.) 36.8018 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 122.828 Td
-(It) 6.0871 Tj
--349 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--349 TJm
-(be) 9.4047 Tj
--349 TJm
-(f) 3.3175 Tj
-10 TJm
-(air) 10.5105 Tj
--348 TJm
-(to) 7.7509 Tj
--349 TJm
-(say) 13.2801 Tj
--349 TJm
-(that) 14.9439 Tj
--349 TJm
-(the) 12.1743 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-201.979 122.828 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-235.342 122.828 Td
-/F122_0 9.9626 Tf
-(format) 26.5603 Tj
--349 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--349 TJm
-(frozen) 25.4445 Tj
--348 TJm
-(before) 25.4445 Tj
--349 TJm
-(I) 3.3175 Tj
--349 TJm
-(properly) 33.7533 Tj
--349 TJm
-(and) 14.386 Tj
--349 TJm
-(fully) 18.8194 Tj
--349 TJm
-(understood) 44.2738 Tj
--348 TJm
-(the) 12.1743 Tj
--349 TJm
-(performance) 50.341 Tj
-72 110.873 Td
-(consequences) 54.7744 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(doing) 22.6948 Tj
--250 TJm
-(so.) 11.3474 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 88.955 Td
-(Impro) 24.3486 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ements) 28.224 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(I) 3.3175 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.2988 Tj
--250 TJm
-(able) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(incorporate) 45.3697 Tj
--250 TJm
-(into) 15.5018 Tj
--250 TJm
-(0.9.0,) 22.4159 Tj
--250 TJm
-(despite) 28.224 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(same) 20.4731 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(format,) 29.0509 Tj
--250 TJm
-(are:) 14.9339 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(31) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 32 35
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F122_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-74.491 710.037 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(Single) 25.4644 Tj
--234 TJm
-(array) 20.4632 Tj
--234 TJm
-(implementation) 62.5452 Tj
--235 TJm
-(of) 8.2988 Tj
--234 TJm
-(the) 12.1743 Tj
--234 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(erse) 16.0398 Tj
--234 TJm
-(BWT) 22.1369 Tj
-74 TJm
-(.) 2.4907 Tj
--469 TJm
-(This) 17.7135 Tj
--234 TJm
-(signi\002cantly) 49.2651 Tj
--235 TJm
-(speeds) 26.5603 Tj
--234 TJm
-(up) 9.9626 Tj
--234 TJm
-(decompression,) 62.2563 Tj
--237 TJm
-(presumably) 46.4855 Tj
--235 TJm
-(because) 31.5316 Tj
-81.963 698.082 Td
-(it) 5.5392 Tj
--250 TJm
-(reduces) 30.4258 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(cache) 22.6749 Tj
--250 TJm
-(misses.) 29.0609 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 676.164 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(F) 5.5392 Tj
-15 TJm
-(aster) 18.8094 Tj
--338 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(erse) 16.0398 Tj
--338 TJm
-(MTF) 20.4831 Tj
--338 TJm
-(transform) 38.7346 Tj
--338 TJm
-(for) 11.6164 Tj
--339 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--338 TJm
-(MTF) 20.4831 Tj
--338 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues.) 22.9638 Tj
--574 TJm
-(The) 15.4918 Tj
--338 TJm
-(ne) 9.4047 Tj
-25 TJm
-(w) 7.193 Tj
--339 TJm
-(implementation) 62.5452 Tj
--338 TJm
-(is) 6.6451 Tj
--338 TJm
-(based) 22.6848 Tj
--338 TJm
-(on) 9.9626 Tj
--338 TJm
-(the) 12.1743 Tj
--338 TJm
-(notion) 25.4644 Tj
--339 TJm
-(of) 8.2988 Tj
--338 TJm
-(sliding) 27.1282 Tj
-81.963 664.209 Td
-(blocks) 26.0123 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues.) 22.9638 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 642.291 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-82.461 642.291 Td
-/F124_0 9.9626 Tf
-(bzip2-0.9.0) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-151.137 642.291 Td
-/F122_0 9.9626 Tf
-(no) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--293 TJm
-(reads) 21.0211 Tj
--294 TJm
-(and) 14.386 Tj
--293 TJm
-(writes) 24.3486 Tj
--293 TJm
-(\002les) 16.6077 Tj
--294 TJm
-(with) 17.7135 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-279.657 642.291 Td
-/F124_0 9.9626 Tf
-(fread) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-312.467 642.291 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-329.776 642.291 Td
-/F124_0 9.9626 Tf
-(fwrite) 35.8654 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-365.642 642.291 Td
-/F122_0 9.9626 Tf
-(;) 2.7696 Tj
--315 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--293 TJm
-(0.1) 12.4533 Tj
--294 TJm
-(used) 18.2614 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-440.214 642.291 Td
-/F124_0 9.9626 Tf
-(putc) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-467.047 642.291 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-484.356 642.291 Td
-/F124_0 9.9626 Tf
-(getc) 23.9102 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-508.266 642.291 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--880 TJm
-(Duh!) 20.4731 Tj
-81.963 630.336 Td
-(W) 9.4047 Tj
-80 TJm
-(ell,) 12.4533 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(li) 5.5392 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(learn.) 22.4059 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 608.418 Td
-(Further) 29.3299 Tj
--304 TJm
-(ahead,) 25.7234 Tj
--318 TJm
-(it) 5.5392 Tj
--305 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--304 TJm
-(be) 9.4047 Tj
--305 TJm
-(nice) 16.5977 Tj
--304 TJm
-(to) 7.7509 Tj
--305 TJm
-(be) 9.4047 Tj
--304 TJm
-(able) 16.5977 Tj
--304 TJm
-(to) 7.7509 Tj
--305 TJm
-(do) 9.9626 Tj
--304 TJm
-(random) 30.4357 Tj
--305 TJm
-(access) 25.4445 Tj
--304 TJm
-(into) 15.5018 Tj
--305 TJm
-(\002les.) 19.0983 Tj
--946 TJm
-(This) 17.7135 Tj
--305 TJm
-(will) 15.5018 Tj
--304 TJm
-(require) 28.2141 Tj
--304 TJm
-(some) 21.031 Tj
--305 TJm
-(careful) 27.6562 Tj
--304 TJm
-(design) 26.0123 Tj
--305 TJm
-(of) 8.2988 Tj
-72 596.463 Td
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(formats.) 32.9264 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 561.71 Td
-/F116_0 20.6585 Tf
-(4.2.) 34.4584 Tj
--278 TJm
-(P) 13.7792 Tj
-40 TJm
-(or) 20.6585 Tj
--20 TJm
-(tability) 66.5823 Tj
--278 TJm
-(issues) 64.3099 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 539.792 Td
-/F122_0 9.9626 Tf
-(After) 21.0211 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(consideration,) 56.1691 Tj
--250 TJm
-(I) 3.3175 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(decided) 30.9837 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(GNU) 21.579 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-303.231 539.792 Td
-/F124_0 9.9626 Tf
-(autoconf) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-353.542 539.792 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(con\002gure) 37.6287 Tj
--250 TJm
-(0.9.5) 19.9252 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(1.0.) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 517.875 Td
-/F124_0 9.9626 Tf
-(autoconf) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-119.821 517.875 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--502 TJm
-(admirable) 39.8404 Tj
--452 TJm
-(and) 14.386 Tj
--452 TJm
-(w) 7.193 Tj
-10 TJm
-(onderful) 33.7533 Tj
--452 TJm
-(though) 27.6761 Tj
--452 TJm
-(it) 5.5392 Tj
--452 TJm
-(is,) 9.1357 Tj
--502 TJm
-(mainly) 27.6761 Tj
--452 TJm
-(assists) 25.4644 Tj
--452 TJm
-(with) 17.7135 Tj
--452 TJm
-(portability) 41.5142 Tj
--452 TJm
-(problems) 37.0808 Tj
--452 TJm
-(between) 33.1954 Tj
--452 TJm
-(Unix-lik) 33.7633 Tj
-10 TJm
-(e) 4.4234 Tj
-72 505.92 Td
-(platforms.) 40.6773 Tj
--1398 TJm
-(But) 14.396 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-144.784 505.92 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-178.455 505.92 Td
-/F122_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--380 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--379 TJm
-(much) 22.1369 Tj
--380 TJm
-(in) 7.7509 Tj
--380 TJm
-(the) 12.1743 Tj
--379 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--380 TJm
-(of) 8.2988 Tj
--380 TJm
-(portability) 41.5142 Tj
--379 TJm
-(problems) 37.0808 Tj
--380 TJm
-(on) 9.9626 Tj
--380 TJm
-(Unix;) 22.6948 Tj
--444 TJm
-(most) 19.3773 Tj
--380 TJm
-(of) 8.2988 Tj
--380 TJm
-(the) 12.1743 Tj
--379 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties) 31.5516 Tj
-72 493.964 Td
-(appear) 26.5503 Tj
--297 TJm
-(when) 21.579 Tj
--296 TJm
-(p) 4.9813 Tj
--1 TJm
-(or) 8.2988 Tj
-1 TJm
-(ting) 15.5018 Tj
--297 TJm
-(to) 7.7509 Tj
--297 TJm
-(the) 12.1743 Tj
--297 TJm
-(Mac,) 20.1942 Tj
--308 TJm
-(or) 8.2988 Tj
--297 TJm
-(to) 7.7509 Tj
--297 TJm
-(Microsoft') 42.61 Tj
-55 TJm
-(s) 3.8755 Tj
--296 TJm
-(operating) 37.6287 Tj
--297 TJm
-(systems.) 34.0422 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-361.339 493.964 Td
-/F124_0 9.9626 Tf
-(autoconf) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-412.116 493.964 Td
-/F122_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--297 TJm
-(help) 17.1556 Tj
--297 TJm
-(in) 7.7509 Tj
--296 TJm
-(those) 21.031 Tj
--297 TJm
-(cases,) 23.5117 Tj
--308 TJm
-(and) 14.386 Tj
-72 482.009 Td
-(brings) 24.9065 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(whole) 24.3486 Tj
--250 TJm
-(load) 17.1556 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(ne) 9.4047 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(comple) 29.3299 Tj
-15 TJm
-(xity) 15.5018 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 460.091 Td
-(Most) 20.4831 Tj
--392 TJm
-(people) 26.5603 Tj
--392 TJm
-(should) 26.5703 Tj
--393 TJm
-(be) 9.4047 Tj
--392 TJm
-(able) 16.5977 Tj
--392 TJm
-(to) 7.7509 Tj
--392 TJm
-(compile) 32.0995 Tj
--393 TJm
-(the) 12.1743 Tj
--392 TJm
-(library) 26.5603 Tj
--392 TJm
-(and) 14.386 Tj
--392 TJm
-(program) 33.7533 Tj
--393 TJm
-(under) 22.6848 Tj
--392 TJm
-(Unix) 19.9252 Tj
--392 TJm
-(straight) 29.8878 Tj
--392 TJm
-(out-of-the-box,) 60.5925 Tj
--428 TJm
-(so) 8.8568 Tj
--392 TJm
-(to) 7.7509 Tj
--393 TJm
-(speak,) 25.1755 Tj
-72 448.136 Td
-(especially) 39.8404 Tj
--250 TJm
-(if) 6.0871 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(GNU) 21.579 Tj
--250 TJm
-(C) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 426.218 Td
-(There) 23.2328 Tj
--259 TJm
-(are) 12.1643 Tj
--258 TJm
-(a) 4.4234 Tj
--259 TJm
-(couple) 26.5603 Tj
--258 TJm
-(of) 8.2988 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-159.561 426.218 Td
-/F124_0 9.9626 Tf
-(__inline__) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-221.913 426.218 Td
-/F122_0 9.9626 Tf
-(directi) 25.4544 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--259 TJm
-(in) 7.7509 Tj
--258 TJm
-(the) 12.1743 Tj
--259 TJm
-(code.) 21.3 Tj
--671 TJm
-(GNU) 21.579 Tj
--259 TJm
-(C) 6.6451 Tj
--258 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-352.587 426.218 Td
-/F124_0 9.9626 Tf
-(gcc) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-370.52 426.218 Td
-/F122_0 9.9626 Tf
-(\)) 3.3175 Tj
--259 TJm
-(should) 26.5703 Tj
--258 TJm
-(be) 9.4047 Tj
--259 TJm
-(able) 16.5977 Tj
--258 TJm
-(to) 7.7509 Tj
--259 TJm
-(handle) 26.5603 Tj
--258 TJm
-(them.) 22.4159 Tj
--672 TJm
-(If) 6.6351 Tj
--259 TJm
-(you') 18.2614 Tj
-50 TJm
-(re) 7.7409 Tj
-72 414.263 Td
-(not) 12.7322 Tj
--279 TJm
-(using) 21.589 Tj
--279 TJm
-(GNU) 21.579 Tj
--279 TJm
-(C,) 9.1357 Tj
--279 TJm
-(your) 18.2614 Tj
--279 TJm
-(C) 6.6451 Tj
--279 TJm
-(compiler) 35.417 Tj
--279 TJm
-(shouldn') 34.8691 Tj
-18 TJm
-(t) 2.7696 Tj
--279 TJm
-(see) 12.7222 Tj
--279 TJm
-(them) 19.9252 Tj
--279 TJm
-(at) 7.193 Tj
--279 TJm
-(all.) 12.4533 Tj
--794 TJm
-(If) 6.6351 Tj
--279 TJm
-(your) 18.2614 Tj
--279 TJm
-(compiler) 35.417 Tj
--279 TJm
-(does,) 20.7521 Tj
--286 TJm
-(for) 11.6164 Tj
--279 TJm
-(some) 21.031 Tj
--279 TJm
-(reason,) 28.493 Tj
--287 TJm
-(see) 12.7222 Tj
--279 TJm
-(them) 19.9252 Tj
--279 TJm
-(and) 14.386 Tj
-72 402.308 Td
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--283 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--283 TJm
-(them,) 22.4159 Tj
--291 TJm
-(just) 14.396 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-164.167 402.308 Td
-/F124_0 9.9626 Tf
-(#define) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--283 TJm
-(__inline__) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-271.425 402.308 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--283 TJm
-(be) 9.4047 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-294.22 402.308 Td
-/F124_0 9.9626 Tf
-(/) 5.9776 Tj
-300.197 400.565 Td
-(*) 5.9776 Tj
--600 TJm
-(*) 5.9776 Tj
-318.13 402.308 Td
-(/) 5.9776 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-324.108 402.308 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--818 TJm
-(One) 16.5977 Tj
--283 TJm
-(easy) 17.7035 Tj
--283 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--283 TJm
-(to) 7.7509 Tj
--283 TJm
-(do) 9.9626 Tj
--283 TJm
-(this) 14.396 Tj
--283 TJm
-(is) 6.6451 Tj
--283 TJm
-(to) 7.7509 Tj
--283 TJm
-(compile) 32.0995 Tj
--283 TJm
-(with) 17.7135 Tj
--283 TJm
-(the) 12.1743 Tj
--283 TJm
-(\003ag) 14.9439 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 390.353 Td
-/F124_0 9.9626 Tf
-(-D__inline__=) 77.7083 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-149.709 390.353 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(understood) 44.2738 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(most) 19.3773 Tj
--250 TJm
-(Unix) 19.9252 Tj
--250 TJm
-(compilers.) 41.7831 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 368.435 Td
-(If) 6.6351 Tj
--321 TJm
-(you) 14.9439 Tj
--321 TJm
-(still) 14.9539 Tj
--322 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--321 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties,) 34.0422 Tj
--339 TJm
-(try) 11.0684 Tj
--321 TJm
-(compiling) 40.4083 Tj
--321 TJm
-(with) 17.7135 Tj
--322 TJm
-(t) 2.7696 Tj
-1 TJm
-(he) 9.4047 Tj
--322 TJm
-(macro) 24.8965 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-310.295 368.435 Td
-/F124_0 9.9626 Tf
-(BZ_STRICT_ANSI) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-397.181 368.435 Td
-/F122_0 9.9626 Tf
-(de\002ned.) 31.8205 Tj
--524 TJm
-(This) 17.7135 Tj
--321 TJm
-(should) 26.5703 Tj
--321 TJm
-(enable) 26.0024 Tj
--321 TJm
-(you) 14.9439 Tj
--322 TJm
-(to) 7.7509 Tj
-72 356.48 Td
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
--321 TJm
-(the) 12.1743 Tj
--321 TJm
-(library) 26.5603 Tj
--322 TJm
-(in) 7.7509 Tj
--321 TJm
-(a) 4.4234 Tj
--321 TJm
-(strictly) 27.6761 Tj
--321 TJm
-(ANSI) 23.2427 Tj
--321 TJm
-(compliant) 39.8504 Tj
--322 TJm
-(en) 9.4047 Tj
-40 TJm
-(vironment.) 43.4469 Tj
--1047 TJm
-(Building) 34.8791 Tj
--321 TJm
-(the) 12.1743 Tj
--321 TJm
-(program) 33.7533 Tj
--322 TJm
-(itself) 19.9252 Tj
--321 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.4234 Tj
--321 TJm
-(this) 14.396 Tj
--321 TJm
-(is) 6.6451 Tj
--321 TJm
-(dangerous) 40.9463 Tj
--322 TJm
-(and) 14.386 Tj
-72 344.525 Td
-(not) 12.7322 Tj
--260 TJm
-(supported,) 41.7831 Tj
--263 TJm
-(since) 20.4731 Tj
--260 TJm
-(you) 14.9439 Tj
--260 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-204.498 344.525 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-234.386 344.525 Td
-/F122_0 9.9626 Tf
-(') 3.3175 Tj
-55 TJm
-(s) 3.8755 Tj
--260 TJm
-(checks) 27.1082 Tj
--260 TJm
-(ag) 9.4047 Tj
-5 TJm
-(ainst) 18.8194 Tj
--260 TJm
-(compressing) 50.3609 Tj
--261 TJm
-(directories,) 44.5428 Tj
--262 TJm
-(symbolic) 36.5329 Tj
--261 TJm
-(li) 5.5392 Tj
-1 TJm
-(nks,) 16.3287 Tj
--263 TJm
-(de) 9.4047 Tj
-25 TJm
-(vices,) 22.9638 Tj
--263 TJm
-(and) 14.386 Tj
--260 TJm
-(other) 20.4731 Tj
-72 332.57 Td
-(not-really-a-\002le) 62.5253 Tj
--250 TJm
-(entities.) 31.2726 Tj
--620 TJm
-(This) 17.7135 Tj
--250 TJm
-(could) 22.1369 Tj
--250 TJm
-(cause) 22.1269 Tj
--250 TJm
-(\002lesystem) 40.4083 Tj
--250 TJm
-(corruption!) 44.8217 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 310.652 Td
-(One) 16.5977 Tj
--392 TJm
-(other) 20.4731 Tj
--391 TJm
-(thing:) 23.2527 Tj
--594 TJm
-(if) 6.0871 Tj
--391 TJm
-(you) 14.9439 Tj
--392 TJm
-(create) 23.7807 Tj
--391 TJm
-(a) 4.4234 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-210.879 310.652 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-244.669 310.652 Td
-/F122_0 9.9626 Tf
-(binary) 25.4544 Tj
--392 TJm
-(for) 11.6164 Tj
--391 TJm
-(public) 24.9065 Tj
--392 TJm
-(distrib) 25.4644 Tj
-20 TJm
-(ution,) 22.9738 Tj
--427 TJm
-(please) 24.8965 Tj
--392 TJm
-(consider) 33.7533 Tj
--391 TJm
-(linking) 28.234 Tj
--392 TJm
-(it) 5.5392 Tj
--391 TJm
-(statically) 35.9749 Tj
--392 TJm
-(\() 3.3175 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-522.067 310.652 Td
-/F124_0 9.9626 Tf
-(gcc) 17.9327 Tj
-72 298.697 Td
-(-static) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-113.843 298.697 Td
-/F122_0 9.9626 Tf
-(\).) 5.8082 Tj
--620 TJm
-(This) 17.7135 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(oids) 16.6077 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(sorts) 18.8194 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(library-v) 34.8591 Tj
-15 TJm
-(ersion) 24.3486 Tj
--250 TJm
-(issues) 23.8007 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(others) 24.3486 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(encounter) 39.2825 Tj
--250 TJm
-(later) 17.7035 Tj
--250 TJm
-(on.) 12.4533 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 276.779 Td
-(If) 6.6351 Tj
--296 TJm
-(you) 14.9439 Tj
--296 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-122.708 276.779 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-155.545 276.779 Td
-/F122_0 9.9626 Tf
-(on) 9.9626 Tj
--296 TJm
-(W) 9.4047 Tj
-40 TJm
-(in32,) 20.2042 Tj
--307 TJm
-(you) 14.9439 Tj
--296 TJm
-(must) 19.3773 Tj
--296 TJm
-(set) 11.0684 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-254.965 276.779 Td
-/F124_0 9.9626 Tf
-(BZ_UNIX) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-299.756 276.779 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--296 TJm
-(0) 4.9813 Tj
--296 TJm
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-335.72 276.779 Td
-/F124_0 9.9626 Tf
-(BZ_LCCWIN32) 65.7532 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-404.422 276.779 Td
-/F122_0 9.9626 Tf
-(to) 7.7509 Tj
--296 TJm
-(1,) 7.472 Tj
--307 TJm
-(in) 7.7509 Tj
--296 TJm
-(the) 12.1743 Tj
--296 TJm
-(\002le) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-467.159 276.779 Td
-/F124_0 9.9626 Tf
-(bzip2.c) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-509.002 276.779 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--307 TJm
-(before) 25.4445 Tj
-72 264.824 Td
-(compiling.) 42.899 Tj
--310 TJm
-(Otherwise) 40.9463 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(resulting) 34.8691 Tj
--250 TJm
-(binary) 25.4544 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--250 TJm
-(correctly) 35.4071 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 230.071 Td
-/F116_0 20.6585 Tf
-(4.3.) 34.4584 Tj
--278 TJm
-(Repor) 59.6824 Tj
--20 TJm
-(ting) 37.867 Tj
--278 TJm
-(b) 12.6223 Tj
-20 TJm
-(ugs) 36.7308 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 208.153 Td
-/F122_0 9.9626 Tf
-(I) 3.3175 Tj
--228 TJm
-(tried) 18.2614 Tj
--228 TJm
-(pretty) 23.2427 Tj
--228 TJm
-(hard) 17.7035 Tj
--228 TJm
-(to) 7.7509 Tj
--228 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--228 TJm
-(sure) 16.5977 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-196.25 208.153 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-228.409 208.153 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--228 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--228 TJm
-(free,) 17.9725 Tj
--232 TJm
-(both) 17.7135 Tj
--228 TJm
-(by) 9.9626 Tj
--228 TJm
-(design) 26.0123 Tj
--228 TJm
-(and) 14.386 Tj
--228 TJm
-(by) 9.9626 Tj
--228 TJm
-(testing.) 29.0609 Tj
--605 TJm
-(Hopefully) 40.3983 Tj
--228 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.5392 Tj
--228 TJm
-(ne) 9.4047 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
--228 TJm
-(need) 18.8094 Tj
--228 TJm
-(to) 7.7509 Tj
--228 TJm
-(read) 17.1456 Tj
-72 196.198 Td
-(this) 14.396 Tj
--250 TJm
-(section) 28.224 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(real.) 17.4246 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 174.28 Td
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--313 TJm
-(if) 6.0871 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-137.751 174.28 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-170.634 174.28 Td
-/F122_0 9.9626 Tf
-(dies) 16.0497 Tj
--301 TJm
-(with) 17.7135 Tj
--300 TJm
-(a) 4.4234 Tj
--301 TJm
-(se) 8.2988 Tj
-15 TJm
-(gmentation) 44.8317 Tj
--300 TJm
-(f) 3.3175 Tj
-10 TJm
-(ault,) 17.4346 Tj
--314 TJm
-(a) 4.4234 Tj
--300 TJm
-(b) 4.9813 Tj
-20 TJm
-(us) 8.8568 Tj
--301 TJm
-(error) 19.3573 Tj
--300 TJm
-(or) 8.2988 Tj
--301 TJm
-(an) 9.4047 Tj
--301 TJm
-(internal) 30.4357 Tj
--300 TJm
-(assertion) 35.417 Tj
--301 TJm
-(f) 3.3175 Tj
-10 TJm
-(ailure,) 25.1755 Tj
--313 TJm
-(it) 5.5392 Tj
--301 TJm
-(wil) 12.7322 Tj
-1 TJm
-(l) 2.7696 Tj
--301 TJm
-(ask) 13.2801 Tj
--301 TJm
-(you) 14.9439 Tj
--300 TJm
-(to) 7.7509 Tj
-72 162.325 Td
-(email) 22.1369 Tj
--242 TJm
-(me) 12.1743 Tj
--243 TJm
-(a) 4.4234 Tj
--242 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--243 TJm
-(report.) 26.2813 Tj
--615 TJm
-(Experience) 44.8118 Tj
--242 TJm
-(from) 19.3673 Tj
--243 TJm
-(years) 21.0211 Tj
--242 TJm
-(of) 8.2988 Tj
--242 TJm
-(feedback) 35.955 Tj
--243 TJm
-(of) 8.2988 Tj
--242 TJm
-(bzip2) 22.1369 Tj
--243 TJm
-(users) 20.4731 Tj
--242 TJm
-(indicates) 35.417 Tj
--243 TJm
-(that) 14.9439 Tj
--242 TJm
-(almost) 26.5703 Tj
--242 TJm
-(all) 9.9626 Tj
--243 TJm
-(these) 20.4731 Tj
--242 TJm
-(problems) 37.0808 Tj
--243 TJm
-(can) 13.8281 Tj
-72 150.37 Td
-(be) 9.4047 Tj
--250 TJm
-(traced) 24.3386 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(either) 22.6848 Tj
--250 TJm
-(compiler) 35.417 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
--250 TJm
-(or) 8.2988 Tj
--250 TJm
-(hardw) 24.8965 Tj
-10 TJm
-(are) 12.1643 Tj
--250 TJm
-(problems.) 39.5714 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(32) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 33 36
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F122_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-74.491 710.037 Td
-/F122_0 9.9626 Tf
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(Recompile) 43.1679 Tj
--322 TJm
-(the) 12.1743 Tj
--322 TJm
-(program) 33.7533 Tj
--322 TJm
-(with) 17.7135 Tj
--322 TJm
-(no) 9.9626 Tj
--322 TJm
-(optimisat) 37.0908 Tj
-1 TJm
-(ion,) 15.2229 Tj
--340 TJm
-(and) 14.386 Tj
--322 TJm
-(see) 12.7222 Tj
--322 TJm
-(if) 6.0871 Tj
--322 TJm
-(it) 5.5392 Tj
--322 TJm
-(w) 7.193 Tj
-10 TJm
-(orks.) 19.6462 Tj
--1052 TJm
-(And/or) 28.224 Tj
--322 TJm
-(try) 11.0684 Tj
--322 TJm
-(a) 4.4234 Tj
--321 TJm
-(dif) 11.0684 Tj
-25 TJm
-(ferent) 23.2328 Tj
--322 TJm
-(compiler) 35.417 Tj
-55 TJm
-(.) 2.4907 Tj
--1052 TJm
-(I) 3.3175 Tj
--322 TJm
-(heard) 22.1269 Tj
--322 TJm
-(all) 9.9626 Tj
-81.963 698.082 Td
-(sorts) 18.8194 Tj
--309 TJm
-(of) 8.2988 Tj
--310 TJm
-(stories) 26.0123 Tj
--310 TJm
-(about) 22.1369 Tj
--309 TJm
-(v) 4.9813 Tj
-25 TJm
-(arious) 24.3486 Tj
--310 TJm
-(\003a) 9.9626 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(ours) 17.1556 Tj
--309 TJm
-(of) 8.2988 Tj
--310 TJm
-(GNU) 21.579 Tj
--309 TJm
-(C) 6.6451 Tj
--310 TJm
-(\(and) 17.7035 Tj
--309 TJm
-(other) 20.4731 Tj
--310 TJm
-(compilers\)) 42.61 Tj
--309 TJm
-(generating) 42.0521 Tj
--310 TJm
-(bad) 14.386 Tj
--310 TJm
-(code) 18.8094 Tj
--309 TJm
-(for) 11.6164 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-471.527 698.082 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-501.415 698.082 Td
-/F122_0 9.9626 Tf
-(,) 2.4907 Tj
--324 TJm
-(and) 14.386 Tj
--310 TJm
-(I') 6.6351 Tj
-50 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
-81.963 686.127 Td
-(run) 13.2801 Tj
--250 TJm
-(across) 24.8965 Tj
--250 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xamples) 33.2053 Tj
--250 TJm
-(myself.) 29.6088 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 664.209 Td
-(2.7.X) 22.1369 Tj
--299 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--300 TJm
-(of) 8.2988 Tj
--299 TJm
-(GNU) 21.579 Tj
--299 TJm
-(C) 6.6451 Tj
--300 TJm
-(are) 12.1643 Tj
--299 TJm
-(kno) 14.9439 Tj
-25 TJm
-(wn) 12.1743 Tj
--300 TJm
-(to) 7.7509 Tj
--299 TJm
-(generate) 33.7433 Tj
--299 TJm
-(bad) 14.386 Tj
--300 TJm
-(code) 18.8094 Tj
--299 TJm
-(from) 19.3673 Tj
--299 TJm
-(time) 17.7135 Tj
--300 TJm
-(to) 7.7509 Tj
--299 TJm
-(time,) 20.2042 Tj
--312 TJm
-(at) 7.193 Tj
--299 TJm
-(high) 17.7135 Tj
--300 TJm
-(optimisation) 49.823 Tj
--299 TJm
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(els.) 13.5591 Tj
--916 TJm
-(If) 6.6351 Tj
--300 TJm
-(you) 14.9439 Tj
-81.963 652.254 Td
-(get) 12.1743 Tj
--328 TJm
-(problems,) 39.5714 Tj
--348 TJm
-(try) 11.0684 Tj
--328 TJm
-(using) 21.589 Tj
--329 TJm
-(the) 12.1743 Tj
--328 TJm
-(\003ags) 18.8194 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-217.176 652.254 Td
-/F124_0 9.9626 Tf
-(-O2) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--328 TJm
-(-fomit-frame-pointer) 119.5512 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--329 TJm
-(-fno-strength-reduce) 119.5512 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-480.753 652.254 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--1090 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--328 TJm
-(should) 26.5703 Tj
-81.963 640.299 Td
-(speci\002cally) 45.3796 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-129.832 640.299 Td
-/F621_0 9.9626 Tf
-(not) 12.7322 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-145.055 640.299 Td
-/F122_0 9.9626 Tf
-(use) 13.2801 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-160.826 640.299 Td
-/F124_0 9.9626 Tf
-(-funroll-loops) 83.6858 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-244.512 640.299 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 618.381 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--240 TJm
-(may) 17.1556 Tj
--240 TJm
-(notice) 24.3486 Tj
--241 TJm
-(that) 14.9439 Tj
--240 TJm
-(the) 12.1743 Tj
--240 TJm
-(Mak) 18.2614 Tj
-10 TJm
-(e\002le) 17.1556 Tj
--240 TJm
-(runs) 17.1556 Tj
--240 TJm
-(six) 11.6264 Tj
--241 TJm
-(tests) 17.7135 Tj
--240 TJm
-(as) 8.2988 Tj
--240 TJm
-(part) 15.4918 Tj
--240 TJm
-(of) 8.2988 Tj
--240 TJm
-(the) 12.1743 Tj
--241 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
--240 TJm
-(process.) 32.3685 Tj
--613 TJm
-(If) 6.6351 Tj
--240 TJm
-(the) 12.1743 Tj
--241 TJm
-(program) 33.7533 Tj
--240 TJm
-(passes) 25.4544 Tj
--240 TJm
-(all) 9.9626 Tj
--240 TJm
-(of) 8.2988 Tj
--240 TJm
-(these,) 22.9638 Tj
--242 TJm
-(it') 8.8568 Tj
-55 TJm
-(s) 3.8755 Tj
--241 TJm
-(a) 4.4234 Tj
-81.963 606.426 Td
-(pretty) 23.2427 Tj
--250 TJm
-(good) 19.9252 Tj
--250 TJm
-(\(b) 8.2988 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(100%\)) 26.5603 Tj
--250 TJm
-(indication) 39.8504 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compiler) 35.417 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(done) 19.3673 Tj
--250 TJm
-(its) 9.4147 Tj
--250 TJm
-(job) 12.7322 Tj
--250 TJm
-(correctly) 35.4071 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 584.508 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-91.723 584.508 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-124.239 584.508 Td
-/F122_0 9.9626 Tf
-(crashes) 29.3199 Tj
--264 TJm
-(randomly) 38.1866 Tj
-65 TJm
-(,) 2.4907 Tj
--267 TJm
-(and) 14.386 Tj
--264 TJm
-(the) 12.1743 Tj
--263 TJm
-(crashes) 29.3199 Tj
--264 TJm
-(are) 12.1643 Tj
--264 TJm
-(not) 12.7322 Tj
--263 TJm
-(repeatable,) 43.427 Tj
--268 TJm
-(you) 14.9439 Tj
--263 TJm
-(may) 17.1556 Tj
--264 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--264 TJm
-(a) 4.4234 Tj
--264 TJm
-(\003ak) 14.9439 Tj
-15 TJm
-(y) 4.9813 Tj
--263 TJm
-(memory) 33.2053 Tj
--264 TJm
-(subsystem.) 44.0048 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-510.112 584.508 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 572.553 Td
-/F122_0 9.9626 Tf
-(really) 22.6848 Tj
--274 TJm
-(hammers) 36.5229 Tj
--274 TJm
-(your) 18.2614 Tj
--274 TJm
-(memory) 33.2053 Tj
--274 TJm
-(hierarch) 32.6375 Tj
-5 TJm
-(y) 4.9813 Tj
-65 TJm
-(,) 2.4907 Tj
--280 TJm
-(and) 14.386 Tj
--274 TJm
-(if) 6.0871 Tj
--274 TJm
-(it') 8.8568 Tj
-55 TJm
-(s) 3.8755 Tj
--274 TJm
-(a) 4.4234 Tj
--274 TJm
-(bit) 10.5205 Tj
--274 TJm
-(mar) 15.4918 Tj
-18 TJm
-(ginal,) 22.4159 Tj
--280 TJm
-(you) 14.9439 Tj
--274 TJm
-(may) 17.1556 Tj
--274 TJm
-(get) 12.1743 Tj
--274 TJm
-(these) 20.4731 Tj
--274 TJm
-(problems.) 39.5714 Tj
--764 TJm
-(Ditto) 20.4831 Tj
--274 TJm
-(if) 6.0871 Tj
--274 TJm
-(your) 18.2614 Tj
--274 TJm
-(disk) 16.6077 Tj
-81.963 560.598 Td
-(or) 8.2988 Tj
--250 TJm
-(I/O) 13.2801 Tj
--250 TJm
-(subsystem) 41.5142 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
--250 TJm
-(f) 3.3175 Tj
-10 TJm
-(ailing.) 25.1855 Tj
--620 TJm
-(Y) 7.193 Tj
-111 TJm
-(up,) 12.4533 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(really) 22.6848 Tj
--250 TJm
-(does) 18.2614 Tj
--250 TJm
-(happen.) 31.2626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-81.963 538.68 Td
-(T) 6.0871 Tj
-35 TJm
-(ry) 8.2988 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(dif) 11.0684 Tj
-25 TJm
-(ferent) 23.2328 Tj
--250 TJm
-(machine) 33.7533 Tj
--250 TJm
-(of) 8.2988 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(same) 20.4731 Tj
--250 TJm
-(type,) 19.6462 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(see) 12.7222 Tj
--250 TJm
-(if) 6.0871 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(repeat) 24.3386 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem.) 35.696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-74.491 516.762 Td
-(\225) 3.4869 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
--450 TJm
-(This) 17.7135 Tj
--252 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--251 TJm
-(really) 22.6848 Tj
--252 TJm
-(a) 4.4234 Tj
--252 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug,) 12.4533 Tj
--252 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--251 TJm
-(...) 7.472 Tj
--315 TJm
-(If) 6.6351 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-209.383 516.762 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-241.778 516.762 Td
-/F122_0 9.9626 Tf
-(tells) 16.6077 Tj
--252 TJm
-(you) 14.9439 Tj
--251 TJm
-(your) 18.2614 Tj
--252 TJm
-(\002le) 12.7322 Tj
--252 TJm
-(is) 6.6451 Tj
--251 TJm
-(corrupted) 38.1767 Tj
--252 TJm
-(on) 9.9626 Tj
--252 TJm
-(decompression,) 62.2563 Tj
--252 TJm
-(and) 14.386 Tj
--251 TJm
-(you) 14.9439 Tj
--252 TJm
-(obtained) 34.3112 Tj
--252 TJm
-(the) 12.1743 Tj
--251 TJm
-(\002le) 12.7322 Tj
-81.963 504.807 Td
-(via) 12.1743 Tj
--281 TJm
-(FTP) 17.1656 Tj
-111 TJm
-(,) 2.4907 Tj
--282 TJm
-(there) 19.9152 Tj
--282 TJm
-(is) 6.6451 Tj
--281 TJm
-(a) 4.4234 Tj
--282 TJm
-(possibility) 41.5241 Tj
--281 TJm
-(that) 14.9439 Tj
--282 TJm
-(you) 14.9439 Tj
--281 TJm
-(for) 11.6164 Tj
-18 TJm
-(got) 12.7322 Tj
--282 TJm
-(to) 7.7509 Tj
--281 TJm
-(tell) 12.7322 Tj
--282 TJm
-(FTP) 17.1656 Tj
--281 TJm
-(to) 7.7509 Tj
--282 TJm
-(do) 9.9626 Tj
--281 TJm
-(a) 4.4234 Tj
--282 TJm
-(binary) 25.4544 Tj
--281 TJm
-(mode) 22.1369 Tj
--282 TJm
-(transfer) 30.4258 Tj
-55 TJm
-(.) 2.4907 Tj
--809 TJm
-(That) 18.2614 Tj
--282 TJm
-(absolutely) 40.9562 Tj
--281 TJm
-(will) 15.5018 Tj
--282 TJm
-(cause) 22.1269 Tj
-81.963 492.852 Td
-(the) 12.1743 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.4047 Tj
--250 TJm
-(non-decompressible.) 82.7294 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou') 13.2801 Tj
-10 TJm
-(ll) 5.5392 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(transfer) 30.4258 Tj
--250 TJm
-(it) 5.5392 Tj
--250 TJm
-(ag) 9.4047 Tj
-5 TJm
-(ain.) 14.6649 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 470.934 Td
-(If) 6.6351 Tj
--235 TJm
-(you') 18.2614 Tj
-50 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--236 TJm
-(inc) 12.1743 Tj
-1 TJm
-(o) 4.9813 Tj
--1 TJm
-(r) 3.3175 Tj
-1 TJm
-(po) 9.9626 Tj
--1 TJm
-(r) 3.3175 Tj
-1 TJm
-(ated) 16.5977 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-163.036 470.934 Td
-/F124_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-213.2 470.934 Td
-/F122_0 9.9626 Tf
-(into) 15.5018 Tj
--235 TJm
-(your) 18.2614 Tj
--236 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--235 TJm
-(program) 33.7533 Tj
--235 TJm
-(and) 14.386 Tj
--235 TJm
-(are) 12.1643 Tj
--236 TJm
-(gett) 14.9439 Tj
-1 TJm
-(ing) 12.7322 Tj
--236 TJm
-(problems,) 39.5714 Tj
--238 TJm
-(please,) 27.3872 Tj
--238 TJm
-(please,) 27.3872 Tj
--238 TJm
-(please,) 27.3872 Tj
--238 TJm
-(check) 23.2328 Tj
--236 TJm
-(that) 14.9439 Tj
-72 458.979 Td
-(the) 12.1743 Tj
--242 TJm
-(parameters) 43.7059 Tj
--243 TJm
-(you) 14.9439 Tj
--242 TJm
-(are) 12.1643 Tj
--242 TJm
-(passing) 29.8878 Tj
--243 TJm
-(in) 7.7509 Tj
--242 TJm
-(calls) 18.2614 Tj
--242 TJm
-(to) 7.7509 Tj
--243 TJm
-(the) 12.1743 Tj
--242 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--244 TJm
-(are) 12.1643 Tj
--242 TJm
-(correct,) 30.1468 Tj
--244 TJm
-(and) 14.386 Tj
--243 TJm
-(in) 7.7509 Tj
--242 TJm
-(accordance) 44.8018 Tj
--242 TJm
-(with) 17.7135 Tj
--243 TJm
-(what) 19.3673 Tj
--242 TJm
-(the) 12.1743 Tj
--242 TJm
-(documentation) 59.2177 Tj
--243 TJm
-(says) 17.1556 Tj
-72 447.024 Td
-(is) 6.6451 Tj
--250 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able.) 19.0883 Tj
--310 TJm
-(I) 3.3175 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(tried) 18.2614 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.4234 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ust) 11.6264 Tj
--250 TJm
-(ag) 9.4047 Tj
-5 TJm
-(ainst) 18.8194 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(problems,) 39.5714 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(I'm) 14.386 Tj
--250 TJm
-(sure) 16.5977 Tj
--250 TJm
-(I) 3.3175 Tj
--250 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(en') 12.7222 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(succeeded.) 43.427 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 425.106 Td
-(Finally) 28.234 Tj
-65 TJm
-(,) 2.4907 Tj
--324 TJm
-(if) 6.0871 Tj
--310 TJm
-(the) 12.1743 Tj
--309 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--309 TJm
-(comments) 40.9562 Tj
--310 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--309 TJm
-(help,) 19.6462 Tj
--324 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.5392 Tj
--310 TJm
-(ha) 9.4047 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--309 TJm
-(to) 7.7509 Tj
--309 TJm
-(send) 18.2614 Tj
--310 TJm
-(me) 12.1743 Tj
--309 TJm
-(a) 4.4234 Tj
--309 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--310 TJm
-(report.) 26.2813 Tj
--976 TJm
-(No) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.4907 Tj
--324 TJm
-(it') 8.8568 Tj
-55 TJm
-(s) 3.8755 Tj
--310 TJm
-(just) 14.396 Tj
--309 TJm
-(amazing) 33.7533 Tj
--309 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--310 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
-72 413.151 Td
-(people) 26.5603 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(send) 18.2614 Tj
--250 TJm
-(me) 12.1743 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--250 TJm
-(report) 23.7907 Tj
--250 TJm
-(saying) 26.0123 Tj
--250 TJm
-(something) 41.5142 Tj
--250 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e:) 7.193 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 386.087] cm
-0 0 468 23.91 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 401.629 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--426 TJm
-(crashed) 41.8429 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(segmentation) 71.7307 Tj
--426 TJm
-(fault) 29.8878 Tj
--426 TJm
-(on) 11.9551 Tj
--426 TJm
-(my) 11.9551 Tj
--426 TJm
-(machine) 41.8429 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 364.169 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
--241 TJm
-(absolutely) 40.9562 Tj
--241 TJm
-(nothing) 30.4457 Tj
--241 TJm
-(el) 7.193 Tj
-1 TJm
-(se.) 10.7895 Tj
--614 TJm
-(Needless) 35.965 Tj
--241 TJm
-(to) 7.7509 Tj
--241 TJm
-(say) 13.2801 Tj
-65 TJm
-(,) 2.4907 Tj
--243 TJm
-(a) 4.4234 Tj
--241 TJm
-(such) 18.2614 Tj
--240 TJm
-(a) 4.4234 Tj
--241 TJm
-(report) 23.7907 Tj
--241 TJm
-(is) 6.6451 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-324.681 364.169 Td
-/F621_0 9.9626 Tf
-(totally) 25.4644 Tj
-55 TJm
-(,) 2.4907 Tj
--243 TJm
-(utterly) 26.0123 Tj
-55 TJm
-(,) 2.4907 Tj
--242 TJm
-(completely) 43.158 Tj
--241 TJm
-(and) 14.9439 Tj
--241 TJm
-(compr) 25.4544 Tj
-37 TJm
-(ehensively) 41.4942 Tj
--241 TJm
-(100%) 23.2427 Tj
-72 352.214 Td
-(useless;) 31.5416 Tj
--257 TJm
-(a) 4.9813 Tj
--255 TJm
-(waste) 22.6948 Tj
--255 TJm
-(of) 7.7509 Tj
--255 TJm
-(your) 18.2614 Tj
--255 TJm
-(time) 17.1556 Tj
-10 TJm
-(,) 2.4907 Tj
--256 TJm
-(my) 11.6164 Tj
--255 TJm
-(time) 17.1556 Tj
-10 TJm
-(,) 2.4907 Tj
--256 TJm
-(and) 14.9439 Tj
--255 TJm
-(net) 12.1743 Tj
--255 TJm
-(bandwidth) 42.0721 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-302.574 352.214 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--650 TJm
-(W) 9.4047 Tj
-40 TJm
-(ith) 10.5205 Tj
--254 TJm
-(no) 9.9626 Tj
--255 TJm
-(details) 26.0123 Tj
--255 TJm
-(at) 7.193 Tj
--255 TJm
-(all,) 12.4533 Tj
--256 TJm
-(there') 23.2328 Tj
-55 TJm
-(s) 3.8755 Tj
--255 TJm
-(no) 9.9626 Tj
--255 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.4047 Tj
--255 TJm
-(I) 3.3175 Tj
--255 TJm
-(can) 13.8281 Tj
--255 TJm
-(possibly) 33.2153 Tj
--255 TJm
-(be) 9.4047 Tj
-15 TJm
-(gin) 12.7322 Tj
-72 340.259 Td
-(to) 7.7509 Tj
--250 TJm
-(\002gure) 23.2427 Tj
--250 TJm
-(out) 12.7322 Tj
--250 TJm
-(what) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem) 33.2053 Tj
--250 TJm
-(is.) 9.1357 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 318.341 Td
-(The) 15.4918 Tj
--309 TJm
-(rules) 19.3673 Tj
--309 TJm
-(of) 8.2988 Tj
--309 TJm
-(the) 12.1743 Tj
--310 TJm
-(g) 4.9813 Tj
-5 TJm
-(ame) 16.5977 Tj
--309 TJm
-(are:) 14.9339 Tj
--428 TJm
-(f) 3.3175 Tj
-10 TJm
-(acts,) 17.9825 Tj
--324 TJm
-(f) 3.3175 Tj
-10 TJm
-(acts,) 17.9825 Tj
--324 TJm
-(f) 3.3175 Tj
-10 TJm
-(acts.) 17.9825 Tj
--975 TJm
-(Don') 20.4731 Tj
-18 TJm
-(t) 2.7696 Tj
--309 TJm
-(omit) 18.2714 Tj
--309 TJm
-(them) 19.9252 Tj
--309 TJm
-(because) 31.5316 Tj
--309 TJm
-("oh,) 16.518 Tj
--324 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--309 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--309 TJm
-(be) 9.4047 Tj
--310 TJm
-(rele) 14.9339 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant".) 18.7297 Tj
--974 TJm
-(At) 9.9626 Tj
--310 TJm
-(the) 12.1743 Tj
--309 TJm
-(bare) 17.1456 Tj
-72 306.386 Td
-(minimum:) 41.5241 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.949 0.949 0.9765] sc
-/DeviceRGB {} CS
-[0.949 0.949 0.9765] SC
-q
-[1 0 0 1 72 245.514] cm
-0 0 468 59.776 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 296.922 Td
-/F124_0 9.9626 Tf
-(Machine) 41.8429 Tj
--426 TJm
-(type.) 29.8878 Tj
--852 TJm
-(Operating) 53.798 Tj
--426 TJm
-(system) 35.8654 Tj
--426 TJm
-(version.) 47.8205 Tj
-90 284.967 Td
-(Exact) 29.8878 Tj
--426 TJm
-(version) 41.8429 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(bzip2) 29.8878 Tj
--426 TJm
-(\(do) 17.9327 Tj
--426 TJm
-(bzip2) 29.8878 Tj
--426 TJm
-(-V\).) 23.9102 Tj
-90 273.011 Td
-(Exact) 29.8878 Tj
--426 TJm
-(version) 41.8429 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compiler) 47.8205 Tj
--426 TJm
-(used.) 29.8878 Tj
-90 261.056 Td
-(Flags) 29.8878 Tj
--426 TJm
-(passed) 35.8654 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compiler.) 53.798 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 223.597 Td
-/F122_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(we) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.7409 Tj
-40 TJm
-(,) 2.4907 Tj
--254 TJm
-(the) 12.1743 Tj
--252 TJm
-(most) 19.3773 Tj
--253 TJm
-(important) 38.7446 Tj
--253 TJm
-(single) 23.8007 Tj
--253 TJm
-(thing) 20.4831 Tj
--253 TJm
-(t) 2.7696 Tj
-1 TJm
-(hat) 12.1743 Tj
--253 TJm
-(will) 15.5018 Tj
--253 TJm
-(help) 17.1556 Tj
--253 TJm
-(me) 12.1743 Tj
--253 TJm
-(is) 6.6451 Tj
--252 TJm
-(the) 12.1743 Tj
--253 TJm
-(\002le) 12.7322 Tj
--253 TJm
-(that) 14.9439 Tj
--253 TJm
-(you) 14.9439 Tj
--253 TJm
-(were) 19.3573 Tj
--253 TJm
-(trying) 23.8007 Tj
--252 TJm
-(to) 7.7509 Tj
--253 TJm
-(compress) 37.6287 Tj
--253 TJm
-(or) 8.2988 Tj
--253 TJm
-(decompress) 47.0334 Tj
-72 211.641 Td
-(at) 7.193 Tj
--304 TJm
-(the) 12.1743 Tj
--305 TJm
-(time) 17.7135 Tj
--304 TJm
-(the) 12.1743 Tj
--304 TJm
-(problem) 33.2053 Tj
--305 TJm
-(happened.) 40.6673 Tj
--946 TJm
-(W) 9.4047 Tj
-40 TJm
-(ithout) 23.2527 Tj
--304 TJm
-(that,) 17.4346 Tj
--318 TJm
-(my) 12.7322 Tj
--305 TJm
-(ability) 25.4644 Tj
--304 TJm
-(to) 7.7509 Tj
--304 TJm
-(do) 9.9626 Tj
--305 TJm
-(an) 9.4047 Tj
-15 TJm
-(ything) 25.4644 Tj
--304 TJm
-(more) 20.4731 Tj
--304 TJm
-(than) 17.1556 Tj
--305 TJm
-(speculate) 37.0708 Tj
--304 TJm
-(about) 22.1369 Tj
--304 TJm
-(the) 12.1743 Tj
--305 TJm
-(cause,) 24.6176 Tj
--318 TJm
-(is) 6.6451 Tj
-72 199.686 Td
-(limited.) 30.7247 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 164.933 Td
-/F116_0 20.6585 Tf
-(4.4.) 34.4584 Tj
--278 TJm
-(Did) 33.2808 Tj
--278 TJm
-(y) 11.4861 Tj
-25 TJm
-(ou) 25.2447 Tj
--278 TJm
-(g) 12.6223 Tj
--10 TJm
-(et) 18.3654 Tj
--278 TJm
-(the) 30.9878 Tj
--278 TJm
-(right) 45.9032 Tj
--278 TJm
-(pac) 35.5946 Tj
-20 TJm
-(ka) 22.9723 Tj
-10 TJm
-(g) 12.6223 Tj
--10 TJm
-(e?) 24.1085 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 143.016 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.603 143.016 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--272 TJm
-(a) 4.4234 Tj
--273 TJm
-(resource) 33.7433 Tj
--272 TJm
-(hog.) 17.4346 Tj
--378 TJm
-(It) 6.0871 Tj
--272 TJm
-(soaks) 22.1369 Tj
--273 TJm
-(up) 9.9626 Tj
--272 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--273 TJm
-(amounts) 33.7633 Tj
--272 TJm
-(of) 8.2988 Tj
--273 TJm
-(CPU) 19.3773 Tj
--272 TJm
-(c) 4.4234 Tj
-15 TJm
-(ycles) 20.4731 Tj
--273 TJm
-(and) 14.386 Tj
--272 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.4907 Tj
--755 TJm
-(Also,) 21.31 Tj
--278 TJm
-(it) 5.5392 Tj
--273 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--272 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--273 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.4047 Tj
--272 TJm
-(latencies.) 37.3498 Tj
-72 131.06 Td
-(In) 8.2988 Tj
--251 TJm
-(the) 12.1743 Tj
--251 TJm
-(w) 7.193 Tj
-10 TJm
-(orst) 14.9439 Tj
--251 TJm
-(case,) 19.6363 Tj
--251 TJm
-(you) 14.9439 Tj
--251 TJm
-(can) 13.8281 Tj
--251 TJm
-(feed) 17.1456 Tj
--251 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--251 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-4 TJm
-(abyt) 17.1556 Tj
-1 TJm
-(es) 8.2988 Tj
--252 TJm
-(of) 8.2988 Tj
--251 TJm
-(uncompressed) 56.996 Tj
--251 TJm
-(data) 16.5977 Tj
--251 TJm
-(into) 15.5018 Tj
--251 TJm
-(the) 12.1743 Tj
--251 TJm
-(library) 26.5603 Tj
--251 TJm
-(before) 25.4445 Tj
--251 TJm
-(getting) 27.6761 Tj
--251 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--251 TJm
-(compressed) 47.0334 Tj
-72 119.105 Td
-(output,) 27.9551 Tj
--250 TJm
-(so) 8.8568 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(probably) 35.417 Tj
--250 TJm
-(rules) 19.3673 Tj
--250 TJm
-(out) 12.7322 Tj
--250 TJm
-(applications) 48.1492 Tj
--250 TJm
-(requiring) 36.5229 Tj
--250 TJm
-(interacti) 32.6474 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.4234 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
-55 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 97.187 Td
-(These) 23.7907 Tj
--304 TJm
-(aren') 20.4632 Tj
-18 TJm
-(t) 2.7696 Tj
--304 TJm
-(f) 3.3175 Tj
-10 TJm
-(aults) 18.8194 Tj
--304 TJm
-(of) 8.2988 Tj
--304 TJm
-(my) 12.7322 Tj
--304 TJm
-(implementation,) 65.0359 Tj
--317 TJm
-(I) 3.3175 Tj
--304 TJm
-(hope,) 21.8579 Tj
--318 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--304 TJm
-(more) 20.4731 Tj
--304 TJm
-(an) 9.4047 Tj
--304 TJm
-(intrinsic) 32.6574 Tj
--304 TJm
-(property) 33.7533 Tj
--304 TJm
-(of) 8.2988 Tj
--304 TJm
-(the) 12.1743 Tj
--304 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--304 TJm
-(transform) 38.7346 Tj
-72 85.232 Td
-(\(unfortunately\).) 62.8042 Tj
--620 TJm
-(Maybe) 27.6661 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(what) 19.3673 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant.) 14.6649 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-(33) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 34 37
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F122_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(If) 6.6351 Tj
--275 TJm
-(you) 14.9439 Tj
--274 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--275 TJm
-(a) 4.4234 Tj
--274 TJm
-(compressor) 45.9276 Tj
--275 TJm
-(and/or) 25.4544 Tj
--275 TJm
-(library) 26.5603 Tj
--274 TJm
-(which) 24.3486 Tj
--275 TJm
-(is) 6.6451 Tj
--274 TJm
-(f) 3.3175 Tj
-10 TJm
-(aster) 18.8094 Tj
-40 TJm
-(,) 2.4907 Tj
--281 TJm
-(uses) 17.1556 Tj
--275 TJm
-(less) 14.9439 Tj
--274 TJm
-(memory) 33.2053 Tj
--275 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--275 TJm
-(gets) 16.0497 Tj
--274 TJm
-(pretty) 23.2427 Tj
--275 TJm
-(good) 19.9252 Tj
--274 TJm
-(compression,) 52.8516 Tj
--281 TJm
-(and) 14.386 Tj
--275 TJm
-(has) 13.2801 Tj
-72 698.082 Td
-(minimal) 33.2153 Tj
--288 TJm
-(latenc) 23.7907 Tj
-15 TJm
-(y) 4.9813 Tj
-65 TJm
-(,) 2.4907 Tj
--297 TJm
-(consider) 33.7533 Tj
--288 TJm
-(Jean-loup) 38.7346 Tj
--288 TJm
-(Gailly') 28.224 Tj
-55 TJm
-(s) 3.8755 Tj
--288 TJm
-(and) 14.386 Tj
--288 TJm
-(Mark) 21.579 Tj
--288 TJm
-(Adl) 14.9439 Tj
-1 TJm
-(er') 11.0585 Tj
-55 TJm
-(s) 3.8755 Tj
--288 TJm
-(w) 7.193 Tj
-10 TJm
-(ork,) 15.7708 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-353.879 698.082 Td
-/F124_0 9.9626 Tf
-(zlib-1.2.1) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-416.523 698.082 Td
-/F122_0 9.9626 Tf
-(and) 14.386 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-433.777 698.082 Td
-/F124_0 9.9626 Tf
-(gzip-1.2.4) 59.7756 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-493.553 698.082 Td
-/F122_0 9.9626 Tf
-(.) 2.4907 Tj
--847 TJm
-(Look) 21.031 Tj
--288 TJm
-(for) 11.6164 Tj
-72 686.127 Td
-(them) 19.9252 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(http://www) 45.3896 Tj
-65 TJm
-(.zlib) 17.4346 Tj
-40 TJm
-(.or) 10.7895 Tj
-18 TJm
-(g) 4.9813 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(http://www) 45.3896 Tj
-65 TJm
-(.gzip.or) 30.4357 Tj
-18 TJm
-(g) 4.9813 Tj
--250 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.4907 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 664.209 Td
-(F) 5.5392 Tj
-15 TJm
-(or) 8.2988 Tj
--582 TJm
-(something) 41.5142 Tj
--583 TJm
-(f) 3.3175 Tj
-10 TJm
-(aster) 18.8094 Tj
--582 TJm
-(and) 14.386 Tj
--582 TJm
-(lighter) 26.0123 Tj
--583 TJm
-(still,) 17.4445 Tj
--665 TJm
-(you) 14.9439 Tj
--582 TJm
-(might) 23.2527 Tj
--583 TJm
-(try) 11.0684 Tj
--582 TJm
-(Markus) 30.4357 Tj
--582 TJm
-(F) 5.5392 Tj
--582 TJm
-(X) 7.193 Tj
--582 TJm
-(J) 3.8755 Tj
--582 TJm
-(Oberhumer') 48.6872 Tj
-55 TJm
-(s) 3.8755 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-437.433 664.209 Td
-/F124_0 9.9626 Tf
-(LZO) 17.9327 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-461.164 664.209 Td
-/F122_0 9.9626 Tf
-(real-time) 35.965 Tj
--582 TJm
-(compres-) 37.0708 Tj
-72 652.254 Td
-(sion/decompression) 79.1429 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.4907 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(http://www) 45.3896 Tj
-65 TJm
-(.oberhumer) 45.6486 Tj
-55 TJm
-(.com/opensource.) 70.2762 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 617.501 Td
-/F116_0 20.6585 Tf
-(4.5.) 34.4584 Tj
--278 TJm
-(Fur) 33.2808 Tj
--20 TJm
-(ther) 39.0239 Tj
--278 TJm
-(Reading) 81.4978 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 595.583 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-104.923 595.583 Td
-/F122_0 9.9626 Tf
-(is) 6.6451 Tj
--305 TJm
-(not) 12.7322 Tj
--304 TJm
-(research) 33.1854 Tj
--305 TJm
-(w) 7.193 Tj
-10 TJm
-(ork,) 15.7708 Tj
--318 TJm
-(in) 7.7509 Tj
--305 TJm
-(the) 12.1743 Tj
--304 TJm
-(sense) 21.579 Tj
--305 TJm
-(that) 14.9439 Tj
--304 TJm
-(it) 5.5392 Tj
--305 TJm
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--304 TJm
-(present) 28.772 Tj
--305 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--305 TJm
-(ne) 9.4047 Tj
-25 TJm
-(w) 7.193 Tj
--304 TJm
-(ideas.) 22.9638 Tj
--474 TJm
-(Rather) 26.5603 Tj
-40 TJm
-(,) 2.4907 Tj
--318 TJm
-(it') 8.8568 Tj
-55 TJm
-(s) 3.8755 Tj
--305 TJm
-(an) 9.4047 Tj
--304 TJm
-(engineering) 47.0334 Tj
--305 TJm
-(e) 4.4234 Tj
-15 TJm
-(x) 4.9813 Tj
-15 TJm
-(ercise) 23.2328 Tj
-72 583.628 Td
-(based) 22.6848 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(e) 4.4234 Tj
-15 TJm
-(xisting) 27.1282 Tj
--250 TJm
-(ideas.) 22.9638 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 561.71 Td
-(F) 5.5392 Tj
-15 TJm
-(our) 13.2801 Tj
--250 TJm
-(documents) 43.1679 Tj
--250 TJm
-(describe) 33.1954 Tj
--250 TJm
-(essentially) 42.0621 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(ideas) 20.4731 Tj
--250 TJm
-(behind) 27.1182 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-298.747 561.71 Td
-/F124_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-328.635 561.71 Td
-/F122_0 9.9626 Tf
-(:) 2.7696 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.9294 0.9686 0.9568] sc
-/DeviceRGB {} CS
-[0.9294 0.9686 0.9568] SC
-q
-[1 0 0 1 72 259.678] cm
-0 0 468 298.879 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 550.189 Td
-/F124_0 9.9626 Tf
-(Michael) 41.8429 Tj
--426 TJm
-(Burrows) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(D.) 11.9551 Tj
--426 TJm
-(J.) 11.9551 Tj
--426 TJm
-(Wheeler:) 47.8205 Tj
-98.488 538.234 Td
-("A) 11.9551 Tj
--426 TJm
-(block-sorting) 77.7083 Tj
--426 TJm
-(lossless) 47.8205 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(compression) 65.7532 Tj
--426 TJm
-(algorithm") 59.7756 Tj
-102.732 526.278 Td
-(10th) 23.9102 Tj
--426 TJm
-(May) 17.9327 Tj
--426 TJm
-(1994.) 29.8878 Tj
-102.732 514.323 Td
-(Digital) 41.8429 Tj
--426 TJm
-(SRC) 17.9327 Tj
--426 TJm
-(Research) 47.8205 Tj
--426 TJm
-(Report) 35.8654 Tj
--426 TJm
-(124.) 23.9102 Tj
-102.732 502.368 Td
-(ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.g\
-z) 382.5638 Tj
-102.732 490.413 Td
-(If) 11.9551 Tj
--426 TJm
-(you) 17.9327 Tj
--426 TJm
-(have) 23.9102 Tj
--426 TJm
-(trouble) 41.8429 Tj
--426 TJm
-(finding) 41.8429 Tj
--426 TJm
-(it,) 17.9327 Tj
--426 TJm
-(try) 17.9327 Tj
--426 TJm
-(searching) 53.798 Tj
--426 TJm
-(at) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
-102.732 478.458 Td
-(New) 17.9327 Tj
--426 TJm
-(Zealand) 41.8429 Tj
--426 TJm
-(Digital) 41.8429 Tj
--426 TJm
-(Library,) 47.8205 Tj
--426 TJm
-(http://www.nzdl.org.) 119.5512 Tj
-90 454.547 Td
-(Daniel) 35.8654 Tj
--426 TJm
-(S.) 11.9551 Tj
--426 TJm
-(Hirschberg) 59.7756 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(Debra) 29.8878 Tj
--426 TJm
-(A.) 11.9551 Tj
--426 TJm
-(LeLewer) 41.8429 Tj
-98.488 442.592 Td
-("Efficient) 59.7756 Tj
--426 TJm
-(Decoding) 47.8205 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(Prefix) 35.8654 Tj
--426 TJm
-(Codes") 35.8654 Tj
-102.732 430.637 Td
-(Communications) 83.6858 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(ACM,) 23.9102 Tj
--426 TJm
-(April) 29.8878 Tj
--426 TJm
-(1990,) 29.8878 Tj
--426 TJm
-(Vol) 17.9327 Tj
--426 TJm
-(33,) 17.9327 Tj
--426 TJm
-(Number) 35.8654 Tj
--426 TJm
-(4.) 11.9551 Tj
-102.732 418.682 Td
-(You) 17.9327 Tj
--426 TJm
-(might) 29.8878 Tj
--426 TJm
-(be) 11.9551 Tj
--426 TJm
-(able) 23.9102 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(get) 17.9327 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(electronic) 59.7756 Tj
--426 TJm
-(copy) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(this) 23.9102 Tj
-102.732 406.727 Td
-(from) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(ACM) 17.9327 Tj
--426 TJm
-(Digital) 41.8429 Tj
--426 TJm
-(Library.) 47.8205 Tj
-90 382.816 Td
-(David) 29.8878 Tj
--426 TJm
-(J.) 11.9551 Tj
--426 TJm
-(Wheeler) 41.8429 Tj
-102.732 370.861 Td
-(Program) 41.8429 Tj
--426 TJm
-(bred3.c) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(accompanying) 71.7307 Tj
--426 TJm
-(document) 47.8205 Tj
--426 TJm
-(bred3.ps.) 53.798 Tj
-102.732 358.906 Td
-(This) 23.9102 Tj
--426 TJm
-(contains) 47.8205 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(idea) 23.9102 Tj
--426 TJm
-(behind) 35.8654 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(multi-table) 65.7532 Tj
--426 TJm
-(Huffman) 41.8429 Tj
--426 TJm
-(coding) 35.8654 Tj
--426 TJm
-(scheme.) 41.8429 Tj
-102.732 346.951 Td
-(ftp://ftp.cl.cam.ac.uk/users/djw3/) 203.237 Tj
-90 323.04 Td
-(Jon) 17.9327 Tj
--426 TJm
-(L.) 11.9551 Tj
--426 TJm
-(Bentley) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(Robert) 35.8654 Tj
--426 TJm
-(Sedgewick) 53.798 Tj
-98.488 311.085 Td
-("Fast) 29.8878 Tj
--426 TJm
-(Algorithms) 59.7756 Tj
--426 TJm
-(for) 17.9327 Tj
--426 TJm
-(Sorting) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(Searching) 53.798 Tj
--426 TJm
-(Strings") 47.8205 Tj
-102.732 299.13 Td
-(Available) 53.798 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(Sedgewick's) 65.7532 Tj
--426 TJm
-(web) 17.9327 Tj
--426 TJm
-(page,) 29.8878 Tj
-102.732 287.175 Td
-(www.cs.princeton.edu/~rs) 143.4614 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 237.76 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--239 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--238 TJm
-(paper) 22.1269 Tj
--239 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.2988 Tj
--239 TJm
-(v) 4.9813 Tj
-25 TJm
-(aluable) 28.772 Tj
--238 TJm
-(additional) 39.8504 Tj
--239 TJm
-(insights) 31.0036 Tj
--238 TJm
-(into) 15.5018 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(algorithm,) 41.2352 Tj
--241 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--238 TJm
-(is) 6.6451 Tj
--239 TJm
-(not) 12.7322 Tj
--239 TJm
-(immedia) 34.8691 Tj
-1 TJm
-(tely) 14.9439 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(basis) 19.9252 Tj
--238 TJm
-(of) 8.2988 Tj
--239 TJm
-(an) 9.4047 Tj
-15 TJm
-(y) 4.9813 Tj
--239 TJm
-(code) 18.8094 Tj
-72 225.805 Td
-(used) 18.2614 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(bzip2.) 24.6275 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.9294 0.9686 0.9568] sc
-/DeviceRGB {} CS
-[0.9294 0.9686 0.9568] SC
-q
-[1 0 0 1 72 150.921] cm
-0 0 468 71.731 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 214.283 Td
-/F124_0 9.9626 Tf
-(Peter) 29.8878 Tj
--426 TJm
-(Fenwick:) 47.8205 Tj
-102.732 202.328 Td
-(Block) 29.8878 Tj
--426 TJm
-(Sorting) 41.8429 Tj
--426 TJm
-(Text) 23.9102 Tj
--426 TJm
-(Compression) 65.7532 Tj
-102.732 190.373 Td
-(Proceedings) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(19th) 23.9102 Tj
--426 TJm
-(Australasian) 71.7307 Tj
--426 TJm
-(Computer) 47.8205 Tj
--426 TJm
-(Science) 41.8429 Tj
--426 TJm
-(Conference,) 65.7532 Tj
-111.22 178.418 Td
-(Melbourne,) 59.7756 Tj
--426 TJm
-(Australia.) 59.7756 Tj
--852 TJm
-(Jan) 17.9327 Tj
--426 TJm
-(31) 11.9551 Tj
--426 TJm
-(-) 5.9776 Tj
--426 TJm
-(Feb) 17.9327 Tj
--426 TJm
-(2,) 11.9551 Tj
--426 TJm
-(1996.) 29.8878 Tj
-102.732 166.463 Td
-(ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps) 322.7882 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 129.003 Td
-/F122_0 9.9626 Tf
-(K) 7.193 Tj
-15 TJm
-(unihik) 25.4644 Tj
-10 TJm
-(o) 4.9813 Tj
--250 TJm
-(Sadakane') 41.4942 Tj
-55 TJm
-(s) 3.8755 Tj
--250 TJm
-(sorting) 27.6761 Tj
--250 TJm
-(algorithm,) 41.2352 Tj
--250 TJm
-(mentioned) 42.0621 Tj
--250 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.914 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(from:) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.9294 0.9686 0.9568] sc
-/DeviceRGB {} CS
-[0.9294 0.9686 0.9568] SC
-q
-[1 0 0 1 72 89.985] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 117.482 Td
-/F124_0 9.9626 Tf
-(http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz) 346.6985 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-/F122_0 9.9626 Tf
-(34) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 35 38
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-{} settransfer
-q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F122_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-q
-[1 0 0 1 73.893 741.803] cm
-[] 0 d
-0 J
-0.498 w
-0 0 m
-475.465 0 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F122_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(Manber) 30.9837 Tj
-20 TJm
-(-Myers) 28.772 Tj
--250 TJm
-(suf) 12.1743 Tj
-25 TJm
-(\002x) 10.5205 Tj
--250 TJm
-(array) 20.4632 Tj
--250 TJm
-(construction) 49.2551 Tj
--250 TJm
-(algorithm) 38.7446 Tj
--250 TJm
-(is) 6.6451 Tj
--250 TJm
-(described) 38.1767 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.4234 Tj
--250 TJm
-(paper) 22.1269 Tj
--250 TJm
-(a) 4.4234 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(from:) 22.1369 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.9294 0.9686 0.9568] sc
-/DeviceRGB {} CS
-[0.9294 0.9686 0.9568] SC
-q
-[1 0 0 1 72 671.019] cm
-0 0 468 35.866 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 698.516 Td
-/F124_0 9.9626 Tf
-(http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps) 322.7882 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-72 649.101 Td
-/F122_0 9.9626 Tf
-(Finally) 28.234 Tj
-65 TJm
-(,) 2.4907 Tj
--227 TJm
-(the) 12.1743 Tj
--221 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--222 TJm
-(papers) 26.0024 Tj
--221 TJm
-(document) 39.2925 Tj
--221 TJm
-(some) 21.031 Tj
--222 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(estig) 18.8194 Tj
-5 TJm
-(ations) 23.8007 Tj
--221 TJm
-(I) 3.3175 Tj
--221 TJm
-(made) 21.579 Tj
--222 TJm
-(into) 15.5018 Tj
--221 TJm
-(the) 12.1743 Tj
--221 TJm
-(performance) 50.341 Tj
--222 TJm
-(of) 8.2988 Tj
--221 TJm
-(sorting) 27.6761 Tj
--221 TJm
-(and) 14.386 Tj
--222 TJm
-(decompression) 59.7656 Tj
-72 637.146 Td
-(algorithms:) 45.3896 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0.9294 0.9686 0.9568] sc
-/DeviceRGB {} CS
-[0.9294 0.9686 0.9568] SC
-q
-[1 0 0 1 72 502.486] cm
-0 0 468 131.507 re
-f
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 625.624 Td
-/F124_0 9.9626 Tf
-(Julian) 35.8654 Tj
--426 TJm
-(Seward) 35.8654 Tj
-102.732 613.669 Td
-(On) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(Performance) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(BWT) 17.9327 Tj
--426 TJm
-(Sorting) 41.8429 Tj
--426 TJm
-(Algorithms) 59.7756 Tj
-102.732 601.714 Td
-(Proceedings) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(IEEE) 23.9102 Tj
--426 TJm
-(Data) 23.9102 Tj
--426 TJm
-(Compression) 65.7532 Tj
--426 TJm
-(Conference) 59.7756 Tj
--426 TJm
-(2000) 23.9102 Tj
-111.22 589.759 Td
-(Snowbird,) 53.798 Tj
--426 TJm
-(Utah.) 29.8878 Tj
--852 TJm
-(28-30) 29.8878 Tj
--426 TJm
-(March) 29.8878 Tj
--426 TJm
-(2000.) 29.8878 Tj
-90 565.848 Td
-(Julian) 35.8654 Tj
--426 TJm
-(Seward) 35.8654 Tj
-102.732 553.893 Td
-(Space-time) 59.7756 Tj
--426 TJm
-(Tradeoffs) 53.798 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(Inverse) 41.8429 Tj
--426 TJm
-(B-W) 17.9327 Tj
--426 TJm
-(Transform) 53.798 Tj
-102.732 541.938 Td
-(Proceedings) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(IEEE) 23.9102 Tj
--426 TJm
-(Data) 23.9102 Tj
--426 TJm
-(Compression) 65.7532 Tj
--426 TJm
-(Conference) 59.7756 Tj
--426 TJm
-(2001) 23.9102 Tj
-111.22 529.983 Td
-(Snowbird,) 53.798 Tj
--426 TJm
-(Utah.) 29.8878 Tj
--852 TJm
-(27-29) 29.8878 Tj
--426 TJm
-(March) 29.8878 Tj
--426 TJm
-(2001.) 29.8878 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-534.414 50.951 Td
-/F122_0 9.9626 Tf
-(35) 9.9626 Tj
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Trailer
-end
-%%DocumentSuppliedResources:
-%%+ font PYRIYB+NimbusSanL-Bold
-%%+ font XDVKOU+NimbusRomNo9L-Regu
-%%+ font QYKIKI+NimbusMonL-Regu
-%%+ font BITXNG+CMMI10
-%%+ font ZWXELK+NimbusMonL-Bold
-%%+ font FRBTTO+CMSY10
-%%+ font AMYDOG+NimbusRomNo9L-ReguItal
-%%EOF
diff --git a/plugins/updater/bzip2-1.0.3/manual.xml b/plugins/updater/bzip2-1.0.3/manual.xml
deleted file mode 100644
index a7fbcb3375..0000000000
--- a/plugins/updater/bzip2-1.0.3/manual.xml
+++ /dev/null
@@ -1,2964 +0,0 @@
-<?xml version="1.0"?> <!-- -*- sgml -*- -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"[
-
-<!-- various strings, dates etc. common to all docs -->
-<!ENTITY % common-ents SYSTEM "entities.xml"> %common-ents;
-]>
-
-<book lang="en" id="userman" xreflabel="bzip2 Manual">
-
- <bookinfo>
- <title>bzip2 and libbzip2, version 1.0.6</title>
- <subtitle>A program and library for data compression</subtitle>
- <copyright>
- <year>&bz-lifespan;</year>
- <holder>Julian Seward</holder>
- </copyright>
- <releaseinfo>Version &bz-version; of &bz-date;</releaseinfo>
-
- <authorgroup>
- <author>
- <firstname>Julian</firstname>
- <surname>Seward</surname>
- <affiliation>
- <orgname>&bz-url;</orgname>
- </affiliation>
- </author>
- </authorgroup>
-
- <legalnotice>
-
- <para>This program, <computeroutput>bzip2</computeroutput>, the
- associated library <computeroutput>libbzip2</computeroutput>, and
- all documentation, are copyright &copy; &bz-lifespan; Julian Seward.
- All rights reserved.</para>
-
- <para>Redistribution and use in source and binary forms, with
- or without modification, are permitted provided that the
- following conditions are met:</para>
-
- <itemizedlist mark='bullet'>
-
- <listitem><para>Redistributions of source code must retain the
- above copyright notice, this list of conditions and the
- following disclaimer.</para></listitem>
-
- <listitem><para>The origin of this software must not be
- misrepresented; you must not claim that you wrote the original
- software. If you use this software in a product, an
- acknowledgment in the product documentation would be
- appreciated but is not required.</para></listitem>
-
- <listitem><para>Altered source versions must be plainly marked
- as such, and must not be misrepresented as being the original
- software.</para></listitem>
-
- <listitem><para>The name of the author may not be used to
- endorse or promote products derived from this software without
- specific prior written permission.</para></listitem>
-
- </itemizedlist>
-
- <para>THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.</para>
-
- <para>PATENTS: To the best of my knowledge,
- <computeroutput>bzip2</computeroutput> and
- <computeroutput>libbzip2</computeroutput> do not use any patented
- algorithms. However, I do not have the resources to carry
- out a patent search. Therefore I cannot give any guarantee of
- the above statement.
- </para>
-
-</legalnotice>
-
-</bookinfo>
-
-
-
-<chapter id="intro" xreflabel="Introduction">
-<title>Introduction</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses files
-using the Burrows-Wheeler block-sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</para>
-
-<para><computeroutput>bzip2</computeroutput> is built on top of
-<computeroutput>libbzip2</computeroutput>, a flexible library for
-handling compressed data in the
-<computeroutput>bzip2</computeroutput> format. This manual
-describes both how to use the program and how to work with the
-library interface. Most of the manual is devoted to this
-library, not the program, which is good news if your interest is
-only in the program.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><xref linkend="using"/> describes how to use
- <computeroutput>bzip2</computeroutput>; this is the only part
- you need to read if you just want to know how to operate the
- program.</para></listitem>
-
- <listitem><para><xref linkend="libprog"/> describes the
- programming interfaces in detail, and</para></listitem>
-
- <listitem><para><xref linkend="misc"/> records some
- miscellaneous notes which I thought ought to be recorded
- somewhere.</para></listitem>
-
-</itemizedlist>
-
-</chapter>
-
-
-<chapter id="using" xreflabel="How to use bzip2">
-<title>How to use bzip2</title>
-
-<para>This chapter contains a copy of the
-<computeroutput>bzip2</computeroutput> man page, and nothing
-else.</para>
-
-<sect1 id="name" xreflabel="NAME">
-<title>NAME</title>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><computeroutput>bzip2</computeroutput>,
- <computeroutput>bunzip2</computeroutput> - a block-sorting file
- compressor, v1.0.6</para></listitem>
-
- <listitem><para><computeroutput>bzcat</computeroutput> -
- decompresses files to stdout</para></listitem>
-
- <listitem><para><computeroutput>bzip2recover</computeroutput> -
- recovers data from damaged bzip2 files</para></listitem>
-
-</itemizedlist>
-
-</sect1>
-
-
-<sect1 id="synopsis" xreflabel="SYNOPSIS">
-<title>SYNOPSIS</title>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><computeroutput>bzip2</computeroutput> [
- -cdfkqstvzVL123456789 ] [ filenames ... ]</para></listitem>
-
- <listitem><para><computeroutput>bunzip2</computeroutput> [
- -fkvsVL ] [ filenames ... ]</para></listitem>
-
- <listitem><para><computeroutput>bzcat</computeroutput> [ -s ] [
- filenames ... ]</para></listitem>
-
- <listitem><para><computeroutput>bzip2recover</computeroutput>
- filename</para></listitem>
-
-</itemizedlist>
-
-</sect1>
-
-
-<sect1 id="description" xreflabel="DESCRIPTION">
-<title>DESCRIPTION</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses files
-using the Burrows-Wheeler block sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</para>
-
-<para>The command-line options are deliberately very similar to
-those of GNU <computeroutput>gzip</computeroutput>, but they are
-not identical.</para>
-
-<para><computeroutput>bzip2</computeroutput> expects a list of
-file names to accompany the command-line flags. Each file is
-replaced by a compressed version of itself, with the name
-<computeroutput>original_name.bz2</computeroutput>. Each
-compressed file has the same modification date, permissions, and,
-when possible, ownership as the corresponding original, so that
-these properties can be correctly restored at decompression time.
-File name handling is naive in the sense that there is no
-mechanism for preserving original file names, permissions,
-ownerships or dates in filesystems which lack these concepts, or
-have serious file name length restrictions, such as
-MS-DOS.</para>
-
-<para><computeroutput>bzip2</computeroutput> and
-<computeroutput>bunzip2</computeroutput> will by default not
-overwrite existing files. If you want this to happen, specify
-the <computeroutput>-f</computeroutput> flag.</para>
-
-<para>If no file names are specified,
-<computeroutput>bzip2</computeroutput> compresses from standard
-input to standard output. In this case,
-<computeroutput>bzip2</computeroutput> will decline to write
-compressed output to a terminal, as this would be entirely
-incomprehensible and therefore pointless.</para>
-
-<para><computeroutput>bunzip2</computeroutput> (or
-<computeroutput>bzip2 -d</computeroutput>) decompresses all
-specified files. Files which were not created by
-<computeroutput>bzip2</computeroutput> will be detected and
-ignored, and a warning issued.
-<computeroutput>bzip2</computeroutput> attempts to guess the
-filename for the decompressed file from that of the compressed
-file as follows:</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><computeroutput>filename.bz2 </computeroutput>
- becomes
- <computeroutput>filename</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>filename.bz </computeroutput>
- becomes
- <computeroutput>filename</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>filename.tbz2</computeroutput>
- becomes
- <computeroutput>filename.tar</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>filename.tbz </computeroutput>
- becomes
- <computeroutput>filename.tar</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>anyothername </computeroutput>
- becomes
- <computeroutput>anyothername.out</computeroutput></para></listitem>
-
-</itemizedlist>
-
-<para>If the file does not end in one of the recognised endings,
-<computeroutput>.bz2</computeroutput>,
-<computeroutput>.bz</computeroutput>,
-<computeroutput>.tbz2</computeroutput> or
-<computeroutput>.tbz</computeroutput>,
-<computeroutput>bzip2</computeroutput> complains that it cannot
-guess the name of the original file, and uses the original name
-with <computeroutput>.out</computeroutput> appended.</para>
-
-<para>As with compression, supplying no filenames causes
-decompression from standard input to standard output.</para>
-
-<para><computeroutput>bunzip2</computeroutput> will correctly
-decompress a file which is the concatenation of two or more
-compressed files. The result is the concatenation of the
-corresponding uncompressed files. Integrity testing
-(<computeroutput>-t</computeroutput>) of concatenated compressed
-files is also supported.</para>
-
-<para>You can also compress or decompress files to the standard
-output by giving the <computeroutput>-c</computeroutput> flag.
-Multiple files may be compressed and decompressed like this. The
-resulting outputs are fed sequentially to stdout. Compression of
-multiple files in this manner generates a stream containing
-multiple compressed file representations. Such a stream can be
-decompressed correctly only by
-<computeroutput>bzip2</computeroutput> version 0.9.0 or later.
-Earlier versions of <computeroutput>bzip2</computeroutput> will
-stop after decompressing the first file in the stream.</para>
-
-<para><computeroutput>bzcat</computeroutput> (or
-<computeroutput>bzip2 -dc</computeroutput>) decompresses all
-specified files to the standard output.</para>
-
-<para><computeroutput>bzip2</computeroutput> will read arguments
-from the environment variables
-<computeroutput>BZIP2</computeroutput> and
-<computeroutput>BZIP</computeroutput>, in that order, and will
-process them before any arguments read from the command line.
-This gives a convenient way to supply default arguments.</para>
-
-<para>Compression is always performed, even if the compressed
-file is slightly larger than the original. Files of less than
-about one hundred bytes tend to get larger, since the compression
-mechanism has a constant overhead in the region of 50 bytes.
-Random data (including the output of most file compressors) is
-coded at about 8.05 bits per byte, giving an expansion of around
-0.5%.</para>
-
-<para>As a self-check for your protection,
-<computeroutput>bzip2</computeroutput> uses 32-bit CRCs to make
-sure that the decompressed version of a file is identical to the
-original. This guards against corruption of the compressed data,
-and against undetected bugs in
-<computeroutput>bzip2</computeroutput> (hopefully very unlikely).
-The chances of data corruption going undetected is microscopic,
-about one chance in four billion for each file processed. Be
-aware, though, that the check occurs upon decompression, so it
-can only tell you that something is wrong. It can't help you
-recover the original uncompressed data. You can use
-<computeroutput>bzip2recover</computeroutput> to try to recover
-data from damaged files.</para>
-
-<para>Return values: 0 for a normal exit, 1 for environmental
-problems (file not found, invalid flags, I/O errors, etc.), 2
-to indicate a corrupt compressed file, 3 for an internal
-consistency error (eg, bug) which caused
-<computeroutput>bzip2</computeroutput> to panic.</para>
-
-</sect1>
-
-
-<sect1 id="options" xreflabel="OPTIONS">
-<title>OPTIONS</title>
-
-<variablelist>
-
- <varlistentry>
- <term><computeroutput>-c --stdout</computeroutput></term>
- <listitem><para>Compress or decompress to standard
- output.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-d --decompress</computeroutput></term>
- <listitem><para>Force decompression.
- <computeroutput>bzip2</computeroutput>,
- <computeroutput>bunzip2</computeroutput> and
- <computeroutput>bzcat</computeroutput> are really the same
- program, and the decision about what actions to take is done on
- the basis of which name is used. This flag overrides that
- mechanism, and forces bzip2 to decompress.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-z --compress</computeroutput></term>
- <listitem><para>The complement to
- <computeroutput>-d</computeroutput>: forces compression,
- regardless of the invokation name.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-t --test</computeroutput></term>
- <listitem><para>Check integrity of the specified file(s), but
- don't decompress them. This really performs a trial
- decompression and throws away the result.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-f --force</computeroutput></term>
- <listitem><para>Force overwrite of output files. Normally,
- <computeroutput>bzip2</computeroutput> will not overwrite
- existing output files. Also forces
- <computeroutput>bzip2</computeroutput> to break hard links to
- files, which it otherwise wouldn't do.</para>
- <para><computeroutput>bzip2</computeroutput> normally declines
- to decompress files which don't have the correct magic header
- bytes. If forced (<computeroutput>-f</computeroutput>),
- however, it will pass such files through unmodified. This is
- how GNU <computeroutput>gzip</computeroutput> behaves.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-k --keep</computeroutput></term>
- <listitem><para>Keep (don't delete) input files during
- compression or decompression.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-s --small</computeroutput></term>
- <listitem><para>Reduce memory usage, for compression,
- decompression and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5 bytes per
- block byte. This means any file can be decompressed in 2300k
- of memory, albeit at about half the normal speed.</para>
- <para>During compression, <computeroutput>-s</computeroutput>
- selects a block size of 200k, which limits memory use to around
- the same figure, at the expense of your compression ratio. In
- short, if your machine is low on memory (8 megabytes or less),
- use <computeroutput>-s</computeroutput> for everything. See
- <xref linkend="memory-management"/> below.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-q --quiet</computeroutput></term>
- <listitem><para>Suppress non-essential warning messages.
- Messages pertaining to I/O errors and other critical events
- will not be suppressed.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-v --verbose</computeroutput></term>
- <listitem><para>Verbose mode -- show the compression ratio for
- each file processed. Further
- <computeroutput>-v</computeroutput>'s increase the verbosity
- level, spewing out lots of information which is primarily of
- interest for diagnostic purposes.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-L --license -V --version</computeroutput></term>
- <listitem><para>Display the software version, license terms and
- conditions.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-1</computeroutput> (or
- <computeroutput>--fast</computeroutput>) to
- <computeroutput>-9</computeroutput> (or
- <computeroutput>-best</computeroutput>)</term>
- <listitem><para>Set the block size to 100 k, 200 k ... 900 k
- when compressing. Has no effect when decompressing. See <xref
- linkend="memory-management" /> below. The
- <computeroutput>--fast</computeroutput> and
- <computeroutput>--best</computeroutput> aliases are primarily
- for GNU <computeroutput>gzip</computeroutput> compatibility.
- In particular, <computeroutput>--fast</computeroutput> doesn't
- make things significantly faster. And
- <computeroutput>--best</computeroutput> merely selects the
- default behaviour.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>--</computeroutput></term>
- <listitem><para>Treats all subsequent arguments as file names,
- even if they start with a dash. This is so you can handle
- files with names beginning with a dash, for example:
- <computeroutput>bzip2 --
- -myfilename</computeroutput>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>--repetitive-fast</computeroutput></term>
- <term><computeroutput>--repetitive-best</computeroutput></term>
- <listitem><para>These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the behaviour of
- the sorting algorithm in earlier versions, which was sometimes
- useful. 0.9.5 and above have an improved algorithm which
- renders these flags irrelevant.</para></listitem>
- </varlistentry>
-
-</variablelist>
-
-</sect1>
-
-
-<sect1 id="memory-management" xreflabel="MEMORY MANAGEMENT">
-<title>MEMORY MANAGEMENT</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses large
-files in blocks. The block size affects both the compression
-ratio achieved, and the amount of memory needed for compression
-and decompression. The flags <computeroutput>-1</computeroutput>
-through <computeroutput>-9</computeroutput> specify the block
-size to be 100,000 bytes through 900,000 bytes (the default)
-respectively. At decompression time, the block size used for
-compression is read from the header of the compressed file, and
-<computeroutput>bunzip2</computeroutput> then allocates itself
-just enough memory to decompress the file. Since block sizes are
-stored in compressed files, it follows that the flags
-<computeroutput>-1</computeroutput> to
-<computeroutput>-9</computeroutput> are irrelevant to and so
-ignored during decompression.</para>
-
-<para>Compression and decompression requirements, in bytes, can be
-estimated as:</para>
-<programlisting>
-Compression: 400k + ( 8 x block size )
-
-Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-</programlisting>
-
-<para>Larger block sizes give rapidly diminishing marginal
-returns. Most of the compression comes from the first two or
-three hundred k of block size, a fact worth bearing in mind when
-using <computeroutput>bzip2</computeroutput> on small machines.
-It is also important to appreciate that the decompression memory
-requirement is set at compression time by the choice of block
-size.</para>
-
-<para>For files compressed with the default 900k block size,
-<computeroutput>bunzip2</computeroutput> will require about 3700
-kbytes to decompress. To support decompression of any file on a
-4 megabyte machine, <computeroutput>bunzip2</computeroutput> has
-an option to decompress using approximately half this amount of
-memory, about 2300 kbytes. Decompression speed is also halved,
-so you should use this option only where necessary. The relevant
-flag is <computeroutput>-s</computeroutput>.</para>
-
-<para>In general, try and use the largest block size memory
-constraints allow, since that maximises the compression achieved.
-Compression and decompression speed are virtually unaffected by
-block size.</para>
-
-<para>Another significant point applies to files which fit in a
-single block -- that means most files you'd encounter using a
-large block size. The amount of real memory touched is
-proportional to the size of the file, since the file is smaller
-than a block. For example, compressing a file 20,000 bytes long
-with the flag <computeroutput>-9</computeroutput> will cause the
-compressor to allocate around 7600k of memory, but only touch
-400k + 20000 * 8 = 560 kbytes of it. Similarly, the decompressor
-will allocate 3700k but only touch 100k + 20000 * 4 = 180
-kbytes.</para>
-
-<para>Here is a table which summarises the maximum memory usage
-for different block sizes. Also recorded is the total compressed
-size for 14 files of the Calgary Text Compression Corpus
-totalling 3,141,622 bytes. This column gives some feel for how
-compression varies with block size. These figures tend to
-understate the advantage of larger block sizes for larger files,
-since the Corpus is dominated by smaller files.</para>
-
-<programlisting>
- Compress Decompress Decompress Corpus
-Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642
-</programlisting>
-
-</sect1>
-
-
-<sect1 id="recovering" xreflabel="RECOVERING DATA FROM DAMAGED FILES">
-<title>RECOVERING DATA FROM DAMAGED FILES</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses files in
-blocks, usually 900kbytes long. Each block is handled
-independently. If a media or transmission error causes a
-multi-block <computeroutput>.bz2</computeroutput> file to become
-damaged, it may be possible to recover data from the undamaged
-blocks in the file.</para>
-
-<para>The compressed representation of each block is delimited by
-a 48-bit pattern, which makes it possible to find the block
-boundaries with reasonable certainty. Each block also carries
-its own 32-bit CRC, so damaged blocks can be distinguished from
-undamaged ones.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> is a simple
-program whose purpose is to search for blocks in
-<computeroutput>.bz2</computeroutput> files, and write each block
-out into its own <computeroutput>.bz2</computeroutput> file. You
-can then use <computeroutput>bzip2 -t</computeroutput> to test
-the integrity of the resulting files, and decompress those which
-are undamaged.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> takes a
-single argument, the name of the damaged file, and writes a
-number of files <computeroutput>rec0001file.bz2</computeroutput>,
-<computeroutput>rec0002file.bz2</computeroutput>, etc, containing
-the extracted blocks. The output filenames are designed so that
-the use of wildcards in subsequent processing -- for example,
-<computeroutput>bzip2 -dc rec*file.bz2 &#62;
-recovered_data</computeroutput> -- lists the files in the correct
-order.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> should be of
-most use dealing with large <computeroutput>.bz2</computeroutput>
-files, as these will contain many blocks. It is clearly futile
-to use it on damaged single-block files, since a damaged block
-cannot be recovered. If you wish to minimise any potential data
-loss through media or transmission errors, you might consider
-compressing with a smaller block size.</para>
-
-</sect1>
-
-
-<sect1 id="performance" xreflabel="PERFORMANCE NOTES">
-<title>PERFORMANCE NOTES</title>
-
-<para>The sorting phase of compression gathers together similar
-strings in the file. Because of this, files containing very long
-runs of repeated symbols, like "aabaabaabaab ..." (repeated
-several hundred times) may compress more slowly than normal.
-Versions 0.9.5 and above fare much better than previous versions
-in this respect. The ratio between worst-case and average-case
-compression time is in the region of 10:1. For previous
-versions, this figure was more like 100:1. You can use the
-<computeroutput>-vvvv</computeroutput> option to monitor progress
-in great detail, if you want.</para>
-
-<para>Decompression speed is unaffected by these
-phenomena.</para>
-
-<para><computeroutput>bzip2</computeroutput> usually allocates
-several megabytes of memory to operate in, and then charges all
-over it in a fairly random fashion. This means that performance,
-both for compressing and decompressing, is largely determined by
-the speed at which your machine can service cache misses.
-Because of this, small changes to the code to reduce the miss
-rate have been observed to give disproportionately large
-performance improvements. I imagine
-<computeroutput>bzip2</computeroutput> will perform best on
-machines with very large caches.</para>
-
-</sect1>
-
-
-
-<sect1 id="caveats" xreflabel="CAVEATS">
-<title>CAVEATS</title>
-
-<para>I/O error messages are not as helpful as they could be.
-<computeroutput>bzip2</computeroutput> tries hard to detect I/O
-errors and exit cleanly, but the details of what the problem is
-sometimes seem rather misleading.</para>
-
-<para>This manual page pertains to version &bz-version; of
-<computeroutput>bzip2</computeroutput>. Compressed data created by
-this version is entirely forwards and backwards compatible with the
-previous public releases, versions 0.1pl2, 0.9.0 and 0.9.5, 1.0.0,
-1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and
-above can correctly decompress multiple concatenated compressed files.
-0.1pl2 cannot do this; it will stop after decompressing just the first
-file in the stream.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> versions
-prior to 1.0.2 used 32-bit integers to represent bit positions in
-compressed files, so it could not handle compressed files more
-than 512 megabytes long. Versions 1.0.2 and above use 64-bit ints
-on some platforms which support them (GNU supported targets, and
-Windows). To establish whether or not
-<computeroutput>bzip2recover</computeroutput> was built with such
-a limitation, run it without arguments. In any event you can
-build yourself an unlimited version if you can recompile it with
-<computeroutput>MaybeUInt64</computeroutput> set to be an
-unsigned 64-bit integer.</para>
-
-</sect1>
-
-
-
-<sect1 id="author" xreflabel="AUTHOR">
-<title>AUTHOR</title>
-
-<para>Julian Seward,
-<computeroutput>&bz-email;</computeroutput></para>
-
-<para>The ideas embodied in
-<computeroutput>bzip2</computeroutput> are due to (at least) the
-following people: Michael Burrows and David Wheeler (for the
-block sorting transformation), David Wheeler (again, for the
-Huffman coder), Peter Fenwick (for the structured coding model in
-the original <computeroutput>bzip</computeroutput>, and many
-refinements), and Alistair Moffat, Radford Neal and Ian Witten
-(for the arithmetic coder in the original
-<computeroutput>bzip</computeroutput>). I am much indebted for
-their help, support and advice. See the manual in the source
-distribution for pointers to sources of documentation. Christian
-von Roques encouraged me to look for faster sorting algorithms,
-so as to speed up compression. Bela Lubkin encouraged me to
-improve the worst-case compression performance.
-Donna Robinson XMLised the documentation.
-Many people sent
-patches, helped with portability problems, lent machines, gave
-advice and were generally helpful.</para>
-
-</sect1>
-
-</chapter>
-
-
-
-<chapter id="libprog" xreflabel="Programming with libbzip2">
-<title>
-Programming with <computeroutput>libbzip2</computeroutput>
-</title>
-
-<para>This chapter describes the programming interface to
-<computeroutput>libbzip2</computeroutput>.</para>
-
-<para>For general background information, particularly about
-memory use and performance aspects, you'd be well advised to read
-<xref linkend="using"/> as well.</para>
-
-
-<sect1 id="top-level" xreflabel="Top-level structure">
-<title>Top-level structure</title>
-
-<para><computeroutput>libbzip2</computeroutput> is a flexible
-library for compressing and decompressing data in the
-<computeroutput>bzip2</computeroutput> data format. Although
-packaged as a single entity, it helps to regard the library as
-three separate parts: the low level interface, and the high level
-interface, and some utility functions.</para>
-
-<para>The structure of
-<computeroutput>libbzip2</computeroutput>'s interfaces is similar
-to that of Jean-loup Gailly's and Mark Adler's excellent
-<computeroutput>zlib</computeroutput> library.</para>
-
-<para>All externally visible symbols have names beginning
-<computeroutput>BZ2_</computeroutput>. This is new in version
-1.0. The intention is to minimise pollution of the namespaces of
-library clients.</para>
-
-<para>To use any part of the library, you need to
-<computeroutput>#include &lt;bzlib.h&gt;</computeroutput>
-into your sources.</para>
-
-
-
-<sect2 id="ll-summary" xreflabel="Low-level summary">
-<title>Low-level summary</title>
-
-<para>This interface provides services for compressing and
-decompressing data in memory. There's no provision for dealing
-with files, streams or any other I/O mechanisms, just straight
-memory-to-memory work. In fact, this part of the library can be
-compiled without inclusion of
-<computeroutput>stdio.h</computeroutput>, which may be helpful
-for embedded applications.</para>
-
-<para>The low-level part of the library has no global variables
-and is therefore thread-safe.</para>
-
-<para>Six routines make up the low level interface:
-<computeroutput>BZ2_bzCompressInit</computeroutput>,
-<computeroutput>BZ2_bzCompress</computeroutput>, and
-<computeroutput>BZ2_bzCompressEnd</computeroutput> for
-compression, and a corresponding trio
-<computeroutput>BZ2_bzDecompressInit</computeroutput>,
-<computeroutput>BZ2_bzDecompress</computeroutput> and
-<computeroutput>BZ2_bzDecompressEnd</computeroutput> for
-decompression. The <computeroutput>*Init</computeroutput>
-functions allocate memory for compression/decompression and do
-other initialisations, whilst the
-<computeroutput>*End</computeroutput> functions close down
-operations and release memory.</para>
-
-<para>The real work is done by
-<computeroutput>BZ2_bzCompress</computeroutput> and
-<computeroutput>BZ2_bzDecompress</computeroutput>. These
-compress and decompress data from a user-supplied input buffer to
-a user-supplied output buffer. These buffers can be any size;
-arbitrary quantities of data are handled by making repeated calls
-to these functions. This is a flexible mechanism allowing a
-consumer-pull style of activity, or producer-push, or a mixture
-of both.</para>
-
-</sect2>
-
-
-<sect2 id="hl-summary" xreflabel="High-level summary">
-<title>High-level summary</title>
-
-<para>This interface provides some handy wrappers around the
-low-level interface to facilitate reading and writing
-<computeroutput>bzip2</computeroutput> format files
-(<computeroutput>.bz2</computeroutput> files). The routines
-provide hooks to facilitate reading files in which the
-<computeroutput>bzip2</computeroutput> data stream is embedded
-within some larger-scale file structure, or where there are
-multiple <computeroutput>bzip2</computeroutput> data streams
-concatenated end-to-end.</para>
-
-<para>For reading files,
-<computeroutput>BZ2_bzReadOpen</computeroutput>,
-<computeroutput>BZ2_bzRead</computeroutput>,
-<computeroutput>BZ2_bzReadClose</computeroutput> and
-<computeroutput>BZ2_bzReadGetUnused</computeroutput> are
-supplied. For writing files,
-<computeroutput>BZ2_bzWriteOpen</computeroutput>,
-<computeroutput>BZ2_bzWrite</computeroutput> and
-<computeroutput>BZ2_bzWriteFinish</computeroutput> are
-available.</para>
-
-<para>As with the low-level library, no global variables are used
-so the library is per se thread-safe. However, if I/O errors
-occur whilst reading or writing the underlying compressed files,
-you may have to consult <computeroutput>errno</computeroutput> to
-determine the cause of the error. In that case, you'd need a C
-library which correctly supports
-<computeroutput>errno</computeroutput> in a multithreaded
-environment.</para>
-
-<para>To make the library a little simpler and more portable,
-<computeroutput>BZ2_bzReadOpen</computeroutput> and
-<computeroutput>BZ2_bzWriteOpen</computeroutput> require you to
-pass them file handles (<computeroutput>FILE*</computeroutput>s)
-which have previously been opened for reading or writing
-respectively. That avoids portability problems associated with
-file operations and file attributes, whilst not being much of an
-imposition on the programmer.</para>
-
-</sect2>
-
-
-<sect2 id="util-fns-summary" xreflabel="Utility functions summary">
-<title>Utility functions summary</title>
-
-<para>For very simple needs,
-<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> and
-<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> are
-provided. These compress data in memory from one buffer to
-another buffer in a single function call. You should assess
-whether these functions fulfill your memory-to-memory
-compression/decompression requirements before investing effort in
-understanding the more general but more complex low-level
-interface.</para>
-
-<para>Yoshioka Tsuneo
-(<computeroutput>tsuneo@rr.iij4u.or.jp</computeroutput>) has
-contributed some functions to give better
-<computeroutput>zlib</computeroutput> compatibility. These
-functions are <computeroutput>BZ2_bzopen</computeroutput>,
-<computeroutput>BZ2_bzread</computeroutput>,
-<computeroutput>BZ2_bzwrite</computeroutput>,
-<computeroutput>BZ2_bzflush</computeroutput>,
-<computeroutput>BZ2_bzclose</computeroutput>,
-<computeroutput>BZ2_bzerror</computeroutput> and
-<computeroutput>BZ2_bzlibVersion</computeroutput>. You may find
-these functions more convenient for simple file reading and
-writing, than those in the high-level interface. These functions
-are not (yet) officially part of the library, and are minimally
-documented here. If they break, you get to keep all the pieces.
-I hope to document them properly when time permits.</para>
-
-<para>Yoshioka also contributed modifications to allow the
-library to be built as a Windows DLL.</para>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="err-handling" xreflabel="Error handling">
-<title>Error handling</title>
-
-<para>The library is designed to recover cleanly in all
-situations, including the worst-case situation of decompressing
-random data. I'm not 100% sure that it can always do this, so
-you might want to add a signal handler to catch segmentation
-violations during decompression if you are feeling especially
-paranoid. I would be interested in hearing more about the
-robustness of the library to corrupted compressed data.</para>
-
-<para>Version 1.0.3 more robust in this respect than any
-previous version. Investigations with Valgrind (a tool for detecting
-problems with memory management) indicate
-that, at least for the few files I tested, all single-bit errors
-in the decompressed data are caught properly, with no
-segmentation faults, no uses of uninitialised data, no out of
-range reads or writes, and no infinite looping in the decompressor.
-So it's certainly pretty robust, although
-I wouldn't claim it to be totally bombproof.</para>
-
-<para>The file <computeroutput>bzlib.h</computeroutput> contains
-all definitions needed to use the library. In particular, you
-should definitely not include
-<computeroutput>bzlib_private.h</computeroutput>.</para>
-
-<para>In <computeroutput>bzlib.h</computeroutput>, the various
-return values are defined. The following list is not intended as
-an exhaustive description of the circumstances in which a given
-value may be returned -- those descriptions are given later.
-Rather, it is intended to convey the rough meaning of each return
-value. The first five actions are normal and not intended to
-denote an error situation.</para>
-
-<variablelist>
-
- <varlistentry>
- <term><computeroutput>BZ_OK</computeroutput></term>
- <listitem><para>The requested action was completed
- successfully.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_RUN_OK, BZ_FLUSH_OK,
- BZ_FINISH_OK</computeroutput></term>
- <listitem><para>In
- <computeroutput>BZ2_bzCompress</computeroutput>, the requested
- flush/finish/nothing-special action was completed
- successfully.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_STREAM_END</computeroutput></term>
- <listitem><para>Compression of data was completed, or the
- logical stream end was detected during
- decompression.</para></listitem>
- </varlistentry>
-
-</variablelist>
-
-<para>The following return values indicate an error of some
-kind.</para>
-
-<variablelist>
-
- <varlistentry>
- <term><computeroutput>BZ_CONFIG_ERROR</computeroutput></term>
- <listitem><para>Indicates that the library has been improperly
- compiled on your platform -- a major configuration error.
- Specifically, it means that
- <computeroutput>sizeof(char)</computeroutput>,
- <computeroutput>sizeof(short)</computeroutput> and
- <computeroutput>sizeof(int)</computeroutput> are not 1, 2 and
- 4 respectively, as they should be. Note that the library
- should still work properly on 64-bit platforms which follow
- the LP64 programming model -- that is, where
- <computeroutput>sizeof(long)</computeroutput> and
- <computeroutput>sizeof(void*)</computeroutput> are 8. Under
- LP64, <computeroutput>sizeof(int)</computeroutput> is still 4,
- so <computeroutput>libbzip2</computeroutput>, which doesn't
- use the <computeroutput>long</computeroutput> type, is
- OK.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_SEQUENCE_ERROR</computeroutput></term>
- <listitem><para>When using the library, it is important to call
- the functions in the correct sequence and with data structures
- (buffers etc) in the correct states.
- <computeroutput>libbzip2</computeroutput> checks as much as it
- can to ensure this is happening, and returns
- <computeroutput>BZ_SEQUENCE_ERROR</computeroutput> if not.
- Code which complies precisely with the function semantics, as
- detailed below, should never receive this value; such an event
- denotes buggy code which you should
- investigate.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_PARAM_ERROR</computeroutput></term>
- <listitem><para>Returned when a parameter to a function call is
- out of range or otherwise manifestly incorrect. As with
- <computeroutput>BZ_SEQUENCE_ERROR</computeroutput>, this
- denotes a bug in the client code. The distinction between
- <computeroutput>BZ_PARAM_ERROR</computeroutput> and
- <computeroutput>BZ_SEQUENCE_ERROR</computeroutput> is a bit
- hazy, but still worth making.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_MEM_ERROR</computeroutput></term>
- <listitem><para>Returned when a request to allocate memory
- failed. Note that the quantity of memory needed to decompress
- a stream cannot be determined until the stream's header has
- been read. So
- <computeroutput>BZ2_bzDecompress</computeroutput> and
- <computeroutput>BZ2_bzRead</computeroutput> may return
- <computeroutput>BZ_MEM_ERROR</computeroutput> even though some
- of the compressed data has been read. The same is not true
- for compression; once
- <computeroutput>BZ2_bzCompressInit</computeroutput> or
- <computeroutput>BZ2_bzWriteOpen</computeroutput> have
- successfully completed,
- <computeroutput>BZ_MEM_ERROR</computeroutput> cannot
- occur.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_DATA_ERROR</computeroutput></term>
- <listitem><para>Returned when a data integrity error is
- detected during decompression. Most importantly, this means
- when stored and computed CRCs for the data do not match. This
- value is also returned upon detection of any other anomaly in
- the compressed data.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_DATA_ERROR_MAGIC</computeroutput></term>
- <listitem><para>As a special case of
- <computeroutput>BZ_DATA_ERROR</computeroutput>, it is
- sometimes useful to know when the compressed stream does not
- start with the correct magic bytes (<computeroutput>'B' 'Z'
- 'h'</computeroutput>).</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_IO_ERROR</computeroutput></term>
- <listitem><para>Returned by
- <computeroutput>BZ2_bzRead</computeroutput> and
- <computeroutput>BZ2_bzWrite</computeroutput> when there is an
- error reading or writing in the compressed file, and by
- <computeroutput>BZ2_bzReadOpen</computeroutput> and
- <computeroutput>BZ2_bzWriteOpen</computeroutput> for attempts
- to use a file for which the error indicator (viz,
- <computeroutput>ferror(f)</computeroutput>) is set. On
- receipt of <computeroutput>BZ_IO_ERROR</computeroutput>, the
- caller should consult <computeroutput>errno</computeroutput>
- and/or <computeroutput>perror</computeroutput> to acquire
- operating-system specific information about the
- problem.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_UNEXPECTED_EOF</computeroutput></term>
- <listitem><para>Returned by
- <computeroutput>BZ2_bzRead</computeroutput> when the
- compressed file finishes before the logical end of stream is
- detected.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_OUTBUFF_FULL</computeroutput></term>
- <listitem><para>Returned by
- <computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> and
- <computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> to
- indicate that the output data will not fit into the output
- buffer provided.</para></listitem>
- </varlistentry>
-
-</variablelist>
-
-</sect1>
-
-
-
-<sect1 id="low-level" xreflabel=">Low-level interface">
-<title>Low-level interface</title>
-
-
-<sect2 id="bzcompress-init" xreflabel="BZ2_bzCompressInit">
-<title>BZ2_bzCompressInit</title>
-
-<programlisting>
-typedef struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
-} bz_stream;
-
-int BZ2_bzCompressInit ( bz_stream *strm,
- int blockSize100k,
- int verbosity,
- int workFactor );
-</programlisting>
-
-<para>Prepares for compression. The
-<computeroutput>bz_stream</computeroutput> structure holds all
-data pertaining to the compression activity. A
-<computeroutput>bz_stream</computeroutput> structure should be
-allocated and initialised prior to the call. The fields of
-<computeroutput>bz_stream</computeroutput> comprise the entirety
-of the user-visible data. <computeroutput>state</computeroutput>
-is a pointer to the private data structures required for
-compression.</para>
-
-<para>Custom memory allocators are supported, via fields
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput>, and
-<computeroutput>opaque</computeroutput>. The value
-<computeroutput>opaque</computeroutput> is passed to as the first
-argument to all calls to <computeroutput>bzalloc</computeroutput>
-and <computeroutput>bzfree</computeroutput>, but is otherwise
-ignored by the library. The call <computeroutput>bzalloc (
-opaque, n, m )</computeroutput> is expected to return a pointer
-<computeroutput>p</computeroutput> to <computeroutput>n *
-m</computeroutput> bytes of memory, and <computeroutput>bzfree (
-opaque, p )</computeroutput> should free that memory.</para>
-
-<para>If you don't want to use a custom memory allocator, set
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput> and
-<computeroutput>opaque</computeroutput> to
-<computeroutput>NULL</computeroutput>, and the library will then
-use the standard <computeroutput>malloc</computeroutput> /
-<computeroutput>free</computeroutput> routines.</para>
-
-<para>Before calling
-<computeroutput>BZ2_bzCompressInit</computeroutput>, fields
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput> and
-<computeroutput>opaque</computeroutput> should be filled
-appropriately, as just described. Upon return, the internal
-state will have been allocated and initialised, and
-<computeroutput>total_in_lo32</computeroutput>,
-<computeroutput>total_in_hi32</computeroutput>,
-<computeroutput>total_out_lo32</computeroutput> and
-<computeroutput>total_out_hi32</computeroutput> will have been
-set to zero. These four fields are used by the library to inform
-the caller of the total amount of data passed into and out of the
-library, respectively. You should not try to change them. As of
-version 1.0, 64-bit counts are maintained, even on 32-bit
-platforms, using the <computeroutput>_hi32</computeroutput>
-fields to store the upper 32 bits of the count. So, for example,
-the total amount of data in is <computeroutput>(total_in_hi32
-&#60;&#60; 32) + total_in_lo32</computeroutput>.</para>
-
-<para>Parameter <computeroutput>blockSize100k</computeroutput>
-specifies the block size to be used for compression. It should
-be a value between 1 and 9 inclusive, and the actual block size
-used is 100000 x this figure. 9 gives the best compression but
-takes most memory.</para>
-
-<para>Parameter <computeroutput>verbosity</computeroutput> should
-be set to a number between 0 and 4 inclusive. 0 is silent, and
-greater numbers give increasingly verbose monitoring/debugging
-output. If the library has been compiled with
-<computeroutput>-DBZ_NO_STDIO</computeroutput>, no such output
-will appear for any verbosity setting.</para>
-
-<para>Parameter <computeroutput>workFactor</computeroutput>
-controls how the compression phase behaves when presented with
-worst case, highly repetitive, input data. If compression runs
-into difficulties caused by repetitive data, the library switches
-from the standard sorting algorithm to a fallback algorithm. The
-fallback is slower than the standard algorithm by perhaps a
-factor of three, but always behaves reasonably, no matter how bad
-the input.</para>
-
-<para>Lower values of <computeroutput>workFactor</computeroutput>
-reduce the amount of effort the standard algorithm will expend
-before resorting to the fallback. You should set this parameter
-carefully; too low, and many inputs will be handled by the
-fallback algorithm and so compress rather slowly, too high, and
-your average-to-worst case compression times can become very
-large. The default value of 30 gives reasonable behaviour over a
-wide range of circumstances.</para>
-
-<para>Allowable values range from 0 to 250 inclusive. 0 is a
-special case, equivalent to using the default value of 30.</para>
-
-<para>Note that the compressed output generated is the same
-regardless of whether or not the fallback algorithm is
-used.</para>
-
-<para>Be aware also that this parameter may disappear entirely in
-future versions of the library. In principle it should be
-possible to devise a good way to automatically choose which
-algorithm to use. Such a mechanism would render the parameter
-obsolete.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if strm is NULL
- or blockSize < 1 or blockSize > 9
- or verbosity < 0 or verbosity > 4
- or workFactor < 0 or workFactor > 250
-BZ_MEM_ERROR
- if not enough memory is available
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzCompress
- if BZ_OK is returned
- no specific action needed in case of error
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzCompress" xreflabel="BZ2_bzCompress">
-<title>BZ2_bzCompress</title>
-
-<programlisting>
-int BZ2_bzCompress ( bz_stream *strm, int action );
-</programlisting>
-
-<para>Provides more input and/or output buffer space for the
-library. The caller maintains input and output buffers, and
-calls <computeroutput>BZ2_bzCompress</computeroutput> to transfer
-data between them.</para>
-
-<para>Before each call to
-<computeroutput>BZ2_bzCompress</computeroutput>,
-<computeroutput>next_in</computeroutput> should point at the data
-to be compressed, and <computeroutput>avail_in</computeroutput>
-should indicate how many bytes the library may read.
-<computeroutput>BZ2_bzCompress</computeroutput> updates
-<computeroutput>next_in</computeroutput>,
-<computeroutput>avail_in</computeroutput> and
-<computeroutput>total_in</computeroutput> to reflect the number
-of bytes it has read.</para>
-
-<para>Similarly, <computeroutput>next_out</computeroutput> should
-point to a buffer in which the compressed data is to be placed,
-with <computeroutput>avail_out</computeroutput> indicating how
-much output space is available.
-<computeroutput>BZ2_bzCompress</computeroutput> updates
-<computeroutput>next_out</computeroutput>,
-<computeroutput>avail_out</computeroutput> and
-<computeroutput>total_out</computeroutput> to reflect the number
-of bytes output.</para>
-
-<para>You may provide and remove as little or as much data as you
-like on each call of
-<computeroutput>BZ2_bzCompress</computeroutput>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</para>
-
-<para>A second purpose of
-<computeroutput>BZ2_bzCompress</computeroutput> is to request a
-change of mode of the compressed stream.</para>
-
-<para>Conceptually, a compressed stream can be in one of four
-states: IDLE, RUNNING, FLUSHING and FINISHING. Before
-initialisation
-(<computeroutput>BZ2_bzCompressInit</computeroutput>) and after
-termination (<computeroutput>BZ2_bzCompressEnd</computeroutput>),
-a stream is regarded as IDLE.</para>
-
-<para>Upon initialisation
-(<computeroutput>BZ2_bzCompressInit</computeroutput>), the stream
-is placed in the RUNNING state. Subsequent calls to
-<computeroutput>BZ2_bzCompress</computeroutput> should pass
-<computeroutput>BZ_RUN</computeroutput> as the requested action;
-other actions are illegal and will result in
-<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>.</para>
-
-<para>At some point, the calling program will have provided all
-the input data it wants to. It will then want to finish up -- in
-effect, asking the library to process any data it might have
-buffered internally. In this state,
-<computeroutput>BZ2_bzCompress</computeroutput> will no longer
-attempt to read data from
-<computeroutput>next_in</computeroutput>, but it will want to
-write data to <computeroutput>next_out</computeroutput>. Because
-the output buffer supplied by the user can be arbitrarily small,
-the finishing-up operation cannot necessarily be done with a
-single call of
-<computeroutput>BZ2_bzCompress</computeroutput>.</para>
-
-<para>Instead, the calling program passes
-<computeroutput>BZ_FINISH</computeroutput> as an action to
-<computeroutput>BZ2_bzCompress</computeroutput>. This changes
-the stream's state to FINISHING. Any remaining input (ie,
-<computeroutput>next_in[0 .. avail_in-1]</computeroutput>) is
-compressed and transferred to the output buffer. To do this,
-<computeroutput>BZ2_bzCompress</computeroutput> must be called
-repeatedly until all the output has been consumed. At that
-point, <computeroutput>BZ2_bzCompress</computeroutput> returns
-<computeroutput>BZ_STREAM_END</computeroutput>, and the stream's
-state is set back to IDLE.
-<computeroutput>BZ2_bzCompressEnd</computeroutput> should then be
-called.</para>
-
-<para>Just to make sure the calling program does not cheat, the
-library makes a note of <computeroutput>avail_in</computeroutput>
-at the time of the first call to
-<computeroutput>BZ2_bzCompress</computeroutput> which has
-<computeroutput>BZ_FINISH</computeroutput> as an action (ie, at
-the time the program has announced its intention to not supply
-any more input). By comparing this value with that of
-<computeroutput>avail_in</computeroutput> over subsequent calls
-to <computeroutput>BZ2_bzCompress</computeroutput>, the library
-can detect any attempts to slip in more data to compress. Any
-calls for which this is detected will return
-<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>. This
-indicates a programming mistake which should be corrected.</para>
-
-<para>Instead of asking to finish, the calling program may ask
-<computeroutput>BZ2_bzCompress</computeroutput> to take all the
-remaining input, compress it and terminate the current
-(Burrows-Wheeler) compression block. This could be useful for
-error control purposes. The mechanism is analogous to that for
-finishing: call <computeroutput>BZ2_bzCompress</computeroutput>
-with an action of <computeroutput>BZ_FLUSH</computeroutput>,
-remove output data, and persist with the
-<computeroutput>BZ_FLUSH</computeroutput> action until the value
-<computeroutput>BZ_RUN</computeroutput> is returned. As with
-finishing, <computeroutput>BZ2_bzCompress</computeroutput>
-detects any attempt to provide more input data once the flush has
-begun.</para>
-
-<para>Once the flush is complete, the stream returns to the
-normal RUNNING state.</para>
-
-<para>This all sounds pretty complex, but isn't really. Here's a
-table which shows which actions are allowable in each state, what
-action will be taken, what the next state is, and what the
-non-error return values are. Note that you can't explicitly ask
-what state the stream is in, but nor do you need to -- it can be
-inferred from the values returned by
-<computeroutput>BZ2_bzCompress</computeroutput>.</para>
-
-<programlisting>
-IDLE/any
- Illegal. IDLE state only exists after BZ2_bzCompressEnd or
- before BZ2_bzCompressInit.
- Return value = BZ_SEQUENCE_ERROR
-
-RUNNING/BZ_RUN
- Compress from next_in to next_out as much as possible.
- Next state = RUNNING
- Return value = BZ_RUN_OK
-
-RUNNING/BZ_FLUSH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FLUSHING
- Return value = BZ_FLUSH_OK
-
-RUNNING/BZ_FINISH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FINISHING
- Return value = BZ_FINISH_OK
-
-FLUSHING/BZ_FLUSH
- Compress from next_in to next_out as much as possible,
- but do not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = RUNNING; Return value = BZ_RUN_OK
- else
- Next state = FLUSHING; Return value = BZ_FLUSH_OK
-
-FLUSHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR
-
-FINISHING/BZ_FINISH
- Compress from next_in to next_out as much as possible,
- but to not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = IDLE; Return value = BZ_STREAM_END
- else
- Next state = FINISHING; Return value = BZ_FINISH_OK
-
-FINISHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR
-</programlisting>
-
-
-<para>That still looks complicated? Well, fair enough. The
-usual sequence of calls for compressing a load of data is:</para>
-
-<orderedlist>
-
- <listitem><para>Get started with
- <computeroutput>BZ2_bzCompressInit</computeroutput>.</para></listitem>
-
- <listitem><para>Shovel data in and shlurp out its compressed form
- using zero or more calls of
- <computeroutput>BZ2_bzCompress</computeroutput> with action =
- <computeroutput>BZ_RUN</computeroutput>.</para></listitem>
-
- <listitem><para>Finish up. Repeatedly call
- <computeroutput>BZ2_bzCompress</computeroutput> with action =
- <computeroutput>BZ_FINISH</computeroutput>, copying out the
- compressed output, until
- <computeroutput>BZ_STREAM_END</computeroutput> is
- returned.</para></listitem> <listitem><para>Close up and go home. Call
- <computeroutput>BZ2_bzCompressEnd</computeroutput>.</para></listitem>
-
-</orderedlist>
-
-<para>If the data you want to compress fits into your input
-buffer all at once, you can skip the calls of
-<computeroutput>BZ2_bzCompress ( ..., BZ_RUN )</computeroutput>
-and just do the <computeroutput>BZ2_bzCompress ( ..., BZ_FINISH
-)</computeroutput> calls.</para>
-
-<para>All required memory is allocated by
-<computeroutput>BZ2_bzCompressInit</computeroutput>. The
-compression library can accept any data at all (obviously). So
-you shouldn't get any error return values from the
-<computeroutput>BZ2_bzCompress</computeroutput> calls. If you
-do, they will be
-<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>, and indicate
-a bug in your programming.</para>
-
-<para>Trivial other possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if strm is NULL, or strm->s is NULL
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzCompress-end" xreflabel="BZ2_bzCompressEnd">
-<title>BZ2_bzCompressEnd</title>
-
-<programlisting>
-int BZ2_bzCompressEnd ( bz_stream *strm );
-</programlisting>
-
-<para>Releases all memory associated with a compression
-stream.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR if strm is NULL or strm->s is NULL
-BZ_OK otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzDecompress-init" xreflabel="BZ2_bzDecompressInit">
-<title>BZ2_bzDecompressInit</title>
-
-<programlisting>
-int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );
-</programlisting>
-
-<para>Prepares for decompression. As with
-<computeroutput>BZ2_bzCompressInit</computeroutput>, a
-<computeroutput>bz_stream</computeroutput> record should be
-allocated and initialised before the call. Fields
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput> and
-<computeroutput>opaque</computeroutput> should be set if a custom
-memory allocator is required, or made
-<computeroutput>NULL</computeroutput> for the normal
-<computeroutput>malloc</computeroutput> /
-<computeroutput>free</computeroutput> routines. Upon return, the
-internal state will have been initialised, and
-<computeroutput>total_in</computeroutput> and
-<computeroutput>total_out</computeroutput> will be zero.</para>
-
-<para>For the meaning of parameter
-<computeroutput>verbosity</computeroutput>, see
-<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
-
-<para>If <computeroutput>small</computeroutput> is nonzero, the
-library will use an alternative decompression algorithm which
-uses less memory but at the cost of decompressing more slowly
-(roughly speaking, half the speed, but the maximum memory
-requirement drops to around 2300k). See <xref linkend="using"/>
-for more information on memory management.</para>
-
-<para>Note that the amount of memory needed to decompress a
-stream cannot be determined until the stream's header has been
-read, so even if
-<computeroutput>BZ2_bzDecompressInit</computeroutput> succeeds, a
-subsequent <computeroutput>BZ2_bzDecompress</computeroutput>
-could fail with
-<computeroutput>BZ_MEM_ERROR</computeroutput>.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if ( small != 0 && small != 1 )
- or (verbosity <; 0 || verbosity > 4)
-BZ_MEM_ERROR
- if insufficient memory is available
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzDecompress
- if BZ_OK was returned
- no specific action required in case of error
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzDecompress" xreflabel="BZ2_bzDecompress">
-<title>BZ2_bzDecompress</title>
-
-<programlisting>
-int BZ2_bzDecompress ( bz_stream *strm );
-</programlisting>
-
-<para>Provides more input and/out output buffer space for the
-library. The caller maintains input and output buffers, and uses
-<computeroutput>BZ2_bzDecompress</computeroutput> to transfer
-data between them.</para>
-
-<para>Before each call to
-<computeroutput>BZ2_bzDecompress</computeroutput>,
-<computeroutput>next_in</computeroutput> should point at the
-compressed data, and <computeroutput>avail_in</computeroutput>
-should indicate how many bytes the library may read.
-<computeroutput>BZ2_bzDecompress</computeroutput> updates
-<computeroutput>next_in</computeroutput>,
-<computeroutput>avail_in</computeroutput> and
-<computeroutput>total_in</computeroutput> to reflect the number
-of bytes it has read.</para>
-
-<para>Similarly, <computeroutput>next_out</computeroutput> should
-point to a buffer in which the uncompressed output is to be
-placed, with <computeroutput>avail_out</computeroutput>
-indicating how much output space is available.
-<computeroutput>BZ2_bzCompress</computeroutput> updates
-<computeroutput>next_out</computeroutput>,
-<computeroutput>avail_out</computeroutput> and
-<computeroutput>total_out</computeroutput> to reflect the number
-of bytes output.</para>
-
-<para>You may provide and remove as little or as much data as you
-like on each call of
-<computeroutput>BZ2_bzDecompress</computeroutput>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</para>
-
-<para>Use of <computeroutput>BZ2_bzDecompress</computeroutput> is
-simpler than
-<computeroutput>BZ2_bzCompress</computeroutput>.</para>
-
-<para>You should provide input and remove output as described
-above, and repeatedly call
-<computeroutput>BZ2_bzDecompress</computeroutput> until
-<computeroutput>BZ_STREAM_END</computeroutput> is returned.
-Appearance of <computeroutput>BZ_STREAM_END</computeroutput>
-denotes that <computeroutput>BZ2_bzDecompress</computeroutput>
-has detected the logical end of the compressed stream.
-<computeroutput>BZ2_bzDecompress</computeroutput> will not
-produce <computeroutput>BZ_STREAM_END</computeroutput> until all
-output data has been placed into the output buffer, so once
-<computeroutput>BZ_STREAM_END</computeroutput> appears, you are
-guaranteed to have available all the decompressed output, and
-<computeroutput>BZ2_bzDecompressEnd</computeroutput> can safely
-be called.</para>
-
-<para>If case of an error return value, you should call
-<computeroutput>BZ2_bzDecompressEnd</computeroutput> to clean up
-and release memory.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if strm is NULL or strm->s is NULL
- or strm->avail_out < 1
-BZ_DATA_ERROR
- if a data integrity error is detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the compressed stream doesn't begin with the right magic bytes
-BZ_MEM_ERROR
- if there wasn't enough memory available
-BZ_STREAM_END
- if the logical end of the data stream was detected and all
- output in has been consumed, eg s-->avail_out > 0
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzDecompress
- if BZ_OK was returned
-BZ2_bzDecompressEnd
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzDecompress-end" xreflabel="BZ2_bzDecompressEnd">
-<title>BZ2_bzDecompressEnd</title>
-
-<programlisting>
-int BZ2_bzDecompressEnd ( bz_stream *strm );
-</programlisting>
-
-<para>Releases all memory associated with a decompression
-stream.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if strm is NULL or strm->s is NULL
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
- None.
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="hl-interface" xreflabel="High-level interface">
-<title>High-level interface</title>
-
-<para>This interface provides functions for reading and writing
-<computeroutput>bzip2</computeroutput> format files. First, some
-general points.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>All of the functions take an
- <computeroutput>int*</computeroutput> first argument,
- <computeroutput>bzerror</computeroutput>. After each call,
- <computeroutput>bzerror</computeroutput> should be consulted
- first to determine the outcome of the call. If
- <computeroutput>bzerror</computeroutput> is
- <computeroutput>BZ_OK</computeroutput>, the call completed
- successfully, and only then should the return value of the
- function (if any) be consulted. If
- <computeroutput>bzerror</computeroutput> is
- <computeroutput>BZ_IO_ERROR</computeroutput>, there was an
- error reading/writing the underlying compressed file, and you
- should then consult <computeroutput>errno</computeroutput> /
- <computeroutput>perror</computeroutput> to determine the cause
- of the difficulty. <computeroutput>bzerror</computeroutput>
- may also be set to various other values; precise details are
- given on a per-function basis below.</para></listitem>
-
- <listitem><para>If <computeroutput>bzerror</computeroutput> indicates
- an error (ie, anything except
- <computeroutput>BZ_OK</computeroutput> and
- <computeroutput>BZ_STREAM_END</computeroutput>), you should
- immediately call
- <computeroutput>BZ2_bzReadClose</computeroutput> (or
- <computeroutput>BZ2_bzWriteClose</computeroutput>, depending on
- whether you are attempting to read or to write) to free up all
- resources associated with the stream. Once an error has been
- indicated, behaviour of all calls except
- <computeroutput>BZ2_bzReadClose</computeroutput>
- (<computeroutput>BZ2_bzWriteClose</computeroutput>) is
- undefined. The implication is that (1)
- <computeroutput>bzerror</computeroutput> should be checked
- after each call, and (2) if
- <computeroutput>bzerror</computeroutput> indicates an error,
- <computeroutput>BZ2_bzReadClose</computeroutput>
- (<computeroutput>BZ2_bzWriteClose</computeroutput>) should then
- be called to clean up.</para></listitem>
-
- <listitem><para>The <computeroutput>FILE*</computeroutput> arguments
- passed to <computeroutput>BZ2_bzReadOpen</computeroutput> /
- <computeroutput>BZ2_bzWriteOpen</computeroutput> should be set
- to binary mode. Most Unix systems will do this by default, but
- other platforms, including Windows and Mac, will not. If you
- omit this, you may encounter problems when moving code to new
- platforms.</para></listitem>
-
- <listitem><para>Memory allocation requests are handled by
- <computeroutput>malloc</computeroutput> /
- <computeroutput>free</computeroutput>. At present there is no
- facility for user-defined memory allocators in the file I/O
- functions (could easily be added, though).</para></listitem>
-
-</itemizedlist>
-
-
-
-<sect2 id="bzreadopen" xreflabel="BZ2_bzReadOpen">
-<title>BZ2_bzReadOpen</title>
-
-<programlisting>
-typedef void BZFILE;
-
-BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f,
- int verbosity, int small,
- void *unused, int nUnused );
-</programlisting>
-
-<para>Prepare to read compressed data from file handle
-<computeroutput>f</computeroutput>.
-<computeroutput>f</computeroutput> should refer to a file which
-has been opened for reading, and for which the error indicator
-(<computeroutput>ferror(f)</computeroutput>)is not set. If
-<computeroutput>small</computeroutput> is 1, the library will try
-to decompress using less memory, at the expense of speed.</para>
-
-<para>For reasons explained below,
-<computeroutput>BZ2_bzRead</computeroutput> will decompress the
-<computeroutput>nUnused</computeroutput> bytes starting at
-<computeroutput>unused</computeroutput>, before starting to read
-from the file <computeroutput>f</computeroutput>. At most
-<computeroutput>BZ_MAX_UNUSED</computeroutput> bytes may be
-supplied like this. If this facility is not required, you should
-pass <computeroutput>NULL</computeroutput> and
-<computeroutput>0</computeroutput> for
-<computeroutput>unused</computeroutput> and
-n<computeroutput>Unused</computeroutput> respectively.</para>
-
-<para>For the meaning of parameters
-<computeroutput>small</computeroutput> and
-<computeroutput>verbosity</computeroutput>, see
-<computeroutput>BZ2_bzDecompressInit</computeroutput>.</para>
-
-<para>The amount of memory needed to decompress a file cannot be
-determined until the file's header has been read. So it is
-possible that <computeroutput>BZ2_bzReadOpen</computeroutput>
-returns <computeroutput>BZ_OK</computeroutput> but a subsequent
-call of <computeroutput>BZ2_bzRead</computeroutput> will return
-<computeroutput>BZ_MEM_ERROR</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or small is neither 0 nor 1
- or ( unused == NULL && nUnused != 0 )
- or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) )
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise.
-</programlisting>
-
-<para>Possible return values:</para>
-
-<programlisting>
-Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzRead
- if bzerror is BZ_OK
-BZ2_bzClose
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzread" xreflabel="BZ2_bzRead">
-<title>BZ2_bzRead</title>
-
-<programlisting>
-int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );
-</programlisting>
-
-<para>Reads up to <computeroutput>len</computeroutput>
-(uncompressed) bytes from the compressed file
-<computeroutput>b</computeroutput> into the buffer
-<computeroutput>buf</computeroutput>. If the read was
-successful, <computeroutput>bzerror</computeroutput> is set to
-<computeroutput>BZ_OK</computeroutput> and the number of bytes
-read is returned. If the logical end-of-stream was detected,
-<computeroutput>bzerror</computeroutput> will be set to
-<computeroutput>BZ_STREAM_END</computeroutput>, and the number of
-bytes read is returned. All other
-<computeroutput>bzerror</computeroutput> values denote an
-error.</para>
-
-<para><computeroutput>BZ2_bzRead</computeroutput> will supply
-<computeroutput>len</computeroutput> bytes, unless the logical
-stream end is detected or an error occurs. Because of this, it
-is possible to detect the stream end by observing when the number
-of bytes returned is less than the number requested.
-Nevertheless, this is regarded as inadvisable; you should instead
-check <computeroutput>bzerror</computeroutput> after every call
-and watch out for
-<computeroutput>BZ_STREAM_END</computeroutput>.</para>
-
-<para>Internally, <computeroutput>BZ2_bzRead</computeroutput>
-copies data from the compressed file in chunks of size
-<computeroutput>BZ_MAX_UNUSED</computeroutput> bytes before
-decompressing it. If the file contains more bytes than strictly
-needed to reach the logical end-of-stream,
-<computeroutput>BZ2_bzRead</computeroutput> will almost certainly
-read some of the trailing data before signalling
-<computeroutput>BZ_SEQUENCE_END</computeroutput>. To collect the
-read but unused data once
-<computeroutput>BZ_SEQUENCE_END</computeroutput> has appeared,
-call <computeroutput>BZ2_bzReadGetUnused</computeroutput>
-immediately before
-<computeroutput>BZ2_bzReadClose</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len < 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzWriteOpen
-BZ_IO_ERROR
- if there is an error reading from the compressed file
-BZ_UNEXPECTED_EOF
- if the compressed file ended before
- the logical end-of-stream was detected
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the stream does not begin with the requisite header bytes
- (ie, is not a bzip2 data file). This is really
- a special case of BZ_DATA_ERROR.
-BZ_MEM_ERROR
- if insufficient memory was available
-BZ_STREAM_END
- if the logical end of stream was detected.
-BZ_OK
- otherwise.
-</programlisting>
-
-<para>Possible return values:</para>
-
-<programlisting>
-number of bytes read
- if bzerror is BZ_OK or BZ_STREAM_END
-undefined
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
- if bzerror is BZ_OK
-collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
- if bzerror is BZ_SEQUENCE_END
-BZ2_bzReadClose
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzreadgetunused" xreflabel="BZ2_bzReadGetUnused">
-<title>BZ2_bzReadGetUnused</title>
-
-<programlisting>
-void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b,
- void** unused, int* nUnused );
-</programlisting>
-
-<para>Returns data which was read from the compressed file but
-was not needed to get to the logical end-of-stream.
-<computeroutput>*unused</computeroutput> is set to the address of
-the data, and <computeroutput>*nUnused</computeroutput> to the
-number of bytes. <computeroutput>*nUnused</computeroutput> will
-be set to a value between <computeroutput>0</computeroutput> and
-<computeroutput>BZ_MAX_UNUSED</computeroutput> inclusive.</para>
-
-<para>This function may only be called once
-<computeroutput>BZ2_bzRead</computeroutput> has signalled
-<computeroutput>BZ_STREAM_END</computeroutput> but before
-<computeroutput>BZ2_bzReadClose</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if b is NULL
- or unused is NULL or nUnused is NULL
-BZ_SEQUENCE_ERROR
- if BZ_STREAM_END has not been signalled
- or if b was opened with BZ2_bzWriteOpen
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzReadClose
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzreadclose" xreflabel="BZ2_bzReadClose">
-<title>BZ2_bzReadClose</title>
-
-<programlisting>
-void BZ2_bzReadClose ( int *bzerror, BZFILE *b );
-</programlisting>
-
-<para>Releases all memory pertaining to the compressed file
-<computeroutput>b</computeroutput>.
-<computeroutput>BZ2_bzReadClose</computeroutput> does not call
-<computeroutput>fclose</computeroutput> on the underlying file
-handle, so you should do that yourself if appropriate.
-<computeroutput>BZ2_bzReadClose</computeroutput> should be called
-to clean up after all error situations.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzOpenWrite
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-none
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzwriteopen" xreflabel="BZ2_bzWriteOpen">
-<title>BZ2_bzWriteOpen</title>
-
-<programlisting>
-BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f,
- int blockSize100k, int verbosity,
- int workFactor );
-</programlisting>
-
-<para>Prepare to write compressed data to file handle
-<computeroutput>f</computeroutput>.
-<computeroutput>f</computeroutput> should refer to a file which
-has been opened for writing, and for which the error indicator
-(<computeroutput>ferror(f)</computeroutput>)is not set.</para>
-
-<para>For the meaning of parameters
-<computeroutput>blockSize100k</computeroutput>,
-<computeroutput>verbosity</computeroutput> and
-<computeroutput>workFactor</computeroutput>, see
-<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
-
-<para>All required memory is allocated at this stage, so if the
-call completes successfully,
-<computeroutput>BZ_MEM_ERROR</computeroutput> cannot be signalled
-by a subsequent call to
-<computeroutput>BZ2_bzWrite</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or blockSize100k < 1 or blockSize100k > 9
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Possible return values:</para>
-
-<programlisting>
-Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzWrite
- if bzerror is BZ_OK
- (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
-BZ2_bzWriteClose
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzwrite" xreflabel="BZ2_bzWrite">
-<title>BZ2_bzWrite</title>
-
-<programlisting>
-void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );
-</programlisting>
-
-<para>Absorbs <computeroutput>len</computeroutput> bytes from the
-buffer <computeroutput>buf</computeroutput>, eventually to be
-compressed and written to the file.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len < 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file.
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzwriteclose" xreflabel="BZ2_bzWriteClose">
-<title>BZ2_bzWriteClose</title>
-
-<programlisting>
-void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out );
-
-void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 );
-</programlisting>
-
-<para>Compresses and flushes to the compressed file all data so
-far supplied by <computeroutput>BZ2_bzWrite</computeroutput>.
-The logical end-of-stream markers are also written, so subsequent
-calls to <computeroutput>BZ2_bzWrite</computeroutput> are
-illegal. All memory associated with the compressed file
-<computeroutput>b</computeroutput> is released.
-<computeroutput>fflush</computeroutput> is called on the
-compressed file, but it is not
-<computeroutput>fclose</computeroutput>'d.</para>
-
-<para>If <computeroutput>BZ2_bzWriteClose</computeroutput> is
-called to clean up after an error, the only action is to release
-the memory. The library records the error codes issued by
-previous calls, so this situation will be detected automatically.
-There is no attempt to complete the compression operation, nor to
-<computeroutput>fflush</computeroutput> the compressed file. You
-can force this behaviour to happen even in the case of no error,
-by passing a nonzero value to
-<computeroutput>abandon</computeroutput>.</para>
-
-<para>If <computeroutput>nbytes_in</computeroutput> is non-null,
-<computeroutput>*nbytes_in</computeroutput> will be set to be the
-total volume of uncompressed data handled. Similarly,
-<computeroutput>nbytes_out</computeroutput> will be set to the
-total volume of compressed data written. For compatibility with
-older versions of the library,
-<computeroutput>BZ2_bzWriteClose</computeroutput> only yields the
-lower 32 bits of these counts. Use
-<computeroutput>BZ2_bzWriteClose64</computeroutput> if you want
-the full 64 bit counts. These two functions are otherwise
-absolutely identical.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="embed" xreflabel="Handling embedded compressed data streams">
-<title>Handling embedded compressed data streams</title>
-
-<para>The high-level library facilitates use of
-<computeroutput>bzip2</computeroutput> data streams which form
-some part of a surrounding, larger data stream.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>For writing, the library takes an open file handle,
- writes compressed data to it,
- <computeroutput>fflush</computeroutput>es it but does not
- <computeroutput>fclose</computeroutput> it. The calling
- application can write its own data before and after the
- compressed data stream, using that same file handle.</para></listitem>
-
- <listitem><para>Reading is more complex, and the facilities are not as
- general as they could be since generality is hard to reconcile
- with efficiency. <computeroutput>BZ2_bzRead</computeroutput>
- reads from the compressed file in blocks of size
- <computeroutput>BZ_MAX_UNUSED</computeroutput> bytes, and in
- doing so probably will overshoot the logical end of compressed
- stream. To recover this data once decompression has ended,
- call <computeroutput>BZ2_bzReadGetUnused</computeroutput> after
- the last call of <computeroutput>BZ2_bzRead</computeroutput>
- (the one returning
- <computeroutput>BZ_STREAM_END</computeroutput>) but before
- calling
- <computeroutput>BZ2_bzReadClose</computeroutput>.</para></listitem>
-
-</itemizedlist>
-
-<para>This mechanism makes it easy to decompress multiple
-<computeroutput>bzip2</computeroutput> streams placed end-to-end.
-As the end of one stream, when
-<computeroutput>BZ2_bzRead</computeroutput> returns
-<computeroutput>BZ_STREAM_END</computeroutput>, call
-<computeroutput>BZ2_bzReadGetUnused</computeroutput> to collect
-the unused data (copy it into your own buffer somewhere). That
-data forms the start of the next compressed stream. To start
-uncompressing that next stream, call
-<computeroutput>BZ2_bzReadOpen</computeroutput> again, feeding in
-the unused data via the <computeroutput>unused</computeroutput> /
-<computeroutput>nUnused</computeroutput> parameters. Keep doing
-this until <computeroutput>BZ_STREAM_END</computeroutput> return
-coincides with the physical end of file
-(<computeroutput>feof(f)</computeroutput>). In this situation
-<computeroutput>BZ2_bzReadGetUnused</computeroutput> will of
-course return no data.</para>
-
-<para>This should give some feel for how the high-level interface
-can be used. If you require extra flexibility, you'll have to
-bite the bullet and get to grips with the low-level
-interface.</para>
-
-</sect2>
-
-
-<sect2 id="std-rdwr" xreflabel="Standard file-reading/writing code">
-<title>Standard file-reading/writing code</title>
-
-<para>Here's how you'd write data to a compressed file:</para>
-
-<programlisting>
-FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "w" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzWriteOpen( &bzerror, f, 9 );
-if (bzerror != BZ_OK) {
- BZ2_bzWriteClose ( b );
- /* handle error */
-}
-
-while ( /* condition */ ) {
- /* get data to write into buf, and set nBuf appropriately */
- nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf );
- if (bzerror == BZ_IO_ERROR) {
- BZ2_bzWriteClose ( &bzerror, b );
- /* handle error */
- }
-}
-
-BZ2_bzWriteClose( &bzerror, b );
-if (bzerror == BZ_IO_ERROR) {
- /* handle error */
-}
-</programlisting>
-
-<para>And to read from a compressed file:</para>
-
-<programlisting>
-FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "r" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 );
-if ( bzerror != BZ_OK ) {
- BZ2_bzReadClose ( &bzerror, b );
- /* handle error */
-}
-
-bzerror = BZ_OK;
-while ( bzerror == BZ_OK && /* arbitrary other conditions */) {
- nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
- if ( bzerror == BZ_OK ) {
- /* do something with buf[0 .. nBuf-1] */
- }
-}
-if ( bzerror != BZ_STREAM_END ) {
- BZ2_bzReadClose ( &bzerror, b );
- /* handle error */
-} else {
- BZ2_bzReadClose ( &bzerror, b );
-}
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="util-fns" xreflabel="Utility functions">
-<title>Utility functions</title>
-
-
-<sect2 id="bzbufftobuffcompress" xreflabel="BZ2_bzBuffToBuffCompress">
-<title>BZ2_bzBuffToBuffCompress</title>
-
-<programlisting>
-int BZ2_bzBuffToBuffCompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor );
-</programlisting>
-
-<para>Attempts to compress the data in <computeroutput>source[0
-.. sourceLen-1]</computeroutput> into the destination buffer,
-<computeroutput>dest[0 .. *destLen-1]</computeroutput>. If the
-destination buffer is big enough,
-<computeroutput>*destLen</computeroutput> is set to the size of
-the compressed data, and <computeroutput>BZ_OK</computeroutput>
-is returned. If the compressed data won't fit,
-<computeroutput>*destLen</computeroutput> is unchanged, and
-<computeroutput>BZ_OUTBUFF_FULL</computeroutput> is
-returned.</para>
-
-<para>Compression in this manner is a one-shot event, done with a
-single call to this function. The resulting compressed data is a
-complete <computeroutput>bzip2</computeroutput> format data
-stream. There is no mechanism for making additional calls to
-provide extra input data. If you want that kind of mechanism,
-use the low-level interface.</para>
-
-<para>For the meaning of parameters
-<computeroutput>blockSize100k</computeroutput>,
-<computeroutput>verbosity</computeroutput> and
-<computeroutput>workFactor</computeroutput>, see
-<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
-
-<para>To guarantee that the compressed data will fit in its
-buffer, allocate an output buffer of size 1% larger than the
-uncompressed data, plus six hundred extra bytes.</para>
-
-<para><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput>
-will not write data at or beyond
-<computeroutput>dest[*destLen]</computeroutput>, even in case of
-buffer overflow.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or blockSize100k < 1 or blockSize100k > 9
- or verbosity < 0 or verbosity > 4
- or workFactor < 0 or workFactor > 250
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzbufftobuffdecompress" xreflabel="BZ2_bzBuffToBuffDecompress">
-<title>BZ2_bzBuffToBuffDecompress</title>
-
-<programlisting>
-int BZ2_bzBuffToBuffDecompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity );
-</programlisting>
-
-<para>Attempts to decompress the data in <computeroutput>source[0
-.. sourceLen-1]</computeroutput> into the destination buffer,
-<computeroutput>dest[0 .. *destLen-1]</computeroutput>. If the
-destination buffer is big enough,
-<computeroutput>*destLen</computeroutput> is set to the size of
-the uncompressed data, and <computeroutput>BZ_OK</computeroutput>
-is returned. If the compressed data won't fit,
-<computeroutput>*destLen</computeroutput> is unchanged, and
-<computeroutput>BZ_OUTBUFF_FULL</computeroutput> is
-returned.</para>
-
-<para><computeroutput>source</computeroutput> is assumed to hold
-a complete <computeroutput>bzip2</computeroutput> format data
-stream.
-<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> tries
-to decompress the entirety of the stream into the output
-buffer.</para>
-
-<para>For the meaning of parameters
-<computeroutput>small</computeroutput> and
-<computeroutput>verbosity</computeroutput>, see
-<computeroutput>BZ2_bzDecompressInit</computeroutput>.</para>
-
-<para>Because the compression ratio of the compressed data cannot
-be known in advance, there is no easy way to guarantee that the
-output buffer will be big enough. You may of course make
-arrangements in your code to record the size of the uncompressed
-data, but such a mechanism is beyond the scope of this
-library.</para>
-
-<para><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput>
-will not write data at or beyond
-<computeroutput>dest[*destLen]</computeroutput>, even in case of
-buffer overflow.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or small != 0 && small != 1
- or verbosity < 0 or verbosity > 4
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed data
-BZ_DATA_ERROR_MAGIC
- if the compressed data doesn't begin with the right magic bytes
-BZ_UNEXPECTED_EOF
- if the compressed data ends unexpectedly
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="zlib-compat" xreflabel="zlib compatibility functions">
-<title>zlib compatibility functions</title>
-
-<para>Yoshioka Tsuneo has contributed some functions to give
-better <computeroutput>zlib</computeroutput> compatibility.
-These functions are <computeroutput>BZ2_bzopen</computeroutput>,
-<computeroutput>BZ2_bzread</computeroutput>,
-<computeroutput>BZ2_bzwrite</computeroutput>,
-<computeroutput>BZ2_bzflush</computeroutput>,
-<computeroutput>BZ2_bzclose</computeroutput>,
-<computeroutput>BZ2_bzerror</computeroutput> and
-<computeroutput>BZ2_bzlibVersion</computeroutput>. These
-functions are not (yet) officially part of the library. If they
-break, you get to keep all the pieces. Nevertheless, I think
-they work ok.</para>
-
-<programlisting>
-typedef void BZFILE;
-
-const char * BZ2_bzlibVersion ( void );
-</programlisting>
-
-<para>Returns a string indicating the library version.</para>
-
-<programlisting>
-BZFILE * BZ2_bzopen ( const char *path, const char *mode );
-BZFILE * BZ2_bzdopen ( int fd, const char *mode );
-</programlisting>
-
-<para>Opens a <computeroutput>.bz2</computeroutput> file for
-reading or writing, using either its name or a pre-existing file
-descriptor. Analogous to <computeroutput>fopen</computeroutput>
-and <computeroutput>fdopen</computeroutput>.</para>
-
-<programlisting>
-int BZ2_bzread ( BZFILE* b, void* buf, int len );
-int BZ2_bzwrite ( BZFILE* b, void* buf, int len );
-</programlisting>
-
-<para>Reads/writes data from/to a previously opened
-<computeroutput>BZFILE</computeroutput>. Analogous to
-<computeroutput>fread</computeroutput> and
-<computeroutput>fwrite</computeroutput>.</para>
-
-<programlisting>
-int BZ2_bzflush ( BZFILE* b );
-void BZ2_bzclose ( BZFILE* b );
-</programlisting>
-
-<para>Flushes/closes a <computeroutput>BZFILE</computeroutput>.
-<computeroutput>BZ2_bzflush</computeroutput> doesn't actually do
-anything. Analogous to <computeroutput>fflush</computeroutput>
-and <computeroutput>fclose</computeroutput>.</para>
-
-<programlisting>
-const char * BZ2_bzerror ( BZFILE *b, int *errnum )
-</programlisting>
-
-<para>Returns a string describing the more recent error status of
-<computeroutput>b</computeroutput>, and also sets
-<computeroutput>*errnum</computeroutput> to its numerical
-value.</para>
-
-</sect1>
-
-
-<sect1 id="stdio-free"
- xreflabel="Using the library in a stdio-free environment">
-<title>Using the library in a stdio-free environment</title>
-
-
-<sect2 id="stdio-bye" xreflabel="Getting rid of stdio">
-<title>Getting rid of stdio</title>
-
-<para>In a deeply embedded application, you might want to use
-just the memory-to-memory functions. You can do this
-conveniently by compiling the library with preprocessor symbol
-<computeroutput>BZ_NO_STDIO</computeroutput> defined. Doing this
-gives you a library containing only the following eight
-functions:</para>
-
-<para><computeroutput>BZ2_bzCompressInit</computeroutput>,
-<computeroutput>BZ2_bzCompress</computeroutput>,
-<computeroutput>BZ2_bzCompressEnd</computeroutput>
-<computeroutput>BZ2_bzDecompressInit</computeroutput>,
-<computeroutput>BZ2_bzDecompress</computeroutput>,
-<computeroutput>BZ2_bzDecompressEnd</computeroutput>
-<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput>,
-<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput></para>
-
-<para>When compiled like this, all functions will ignore
-<computeroutput>verbosity</computeroutput> settings.</para>
-
-</sect2>
-
-
-<sect2 id="critical-error" xreflabel="Critical error handling">
-<title>Critical error handling</title>
-
-<para><computeroutput>libbzip2</computeroutput> contains a number
-of internal assertion checks which should, needless to say, never
-be activated. Nevertheless, if an assertion should fail,
-behaviour depends on whether or not the library was compiled with
-<computeroutput>BZ_NO_STDIO</computeroutput> set.</para>
-
-<para>For a normal compile, an assertion failure yields the
-message:</para>
-
-<blockquote>
-<para>bzip2/libbzip2: internal error number N.</para>
-<para>This is a bug in bzip2/libbzip2, &bz-version; of &bz-date;.
-Please report it to me at: &bz-email;. If this happened
-when you were using some program which uses libbzip2 as a
-component, you should also report this bug to the author(s)
-of that program. Please make an effort to report this bug;
-timely and accurate bug reports eventually lead to higher
-quality software. Thanks. Julian Seward, &bz-date;.
-</para></blockquote>
-
-<para>where <computeroutput>N</computeroutput> is some error code
-number. If <computeroutput>N == 1007</computeroutput>, it also
-prints some extra text advising the reader that unreliable memory
-is often associated with internal error 1007. (This is a
-frequently-observed-phenomenon with versions 1.0.0/1.0.1).</para>
-
-<para><computeroutput>exit(3)</computeroutput> is then
-called.</para>
-
-<para>For a <computeroutput>stdio</computeroutput>-free library,
-assertion failures result in a call to a function declared
-as:</para>
-
-<programlisting>
-extern void bz_internal_error ( int errcode );
-</programlisting>
-
-<para>The relevant code is passed as a parameter. You should
-supply such a function.</para>
-
-<para>In either case, once an assertion failure has occurred, any
-<computeroutput>bz_stream</computeroutput> records involved can
-be regarded as invalid. You should not attempt to resume normal
-operation with them.</para>
-
-<para>You may, of course, change critical error handling to suit
-your needs. As I said above, critical errors indicate bugs in
-the library and should not occur. All "normal" error situations
-are indicated via error return codes from functions, and can be
-recovered from.</para>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="win-dll" xreflabel="Making a Windows DLL">
-<title>Making a Windows DLL</title>
-
-<para>Everything related to Windows has been contributed by
-Yoshioka Tsuneo
-(<computeroutput>tsuneo@rr.iij4u.or.jp</computeroutput>), so
-you should send your queries to him (but perhaps Cc: me,
-<computeroutput>&bz-email;</computeroutput>).</para>
-
-<para>My vague understanding of what to do is: using Visual C++
-5.0, open the project file
-<computeroutput>libbz2.dsp</computeroutput>, and build. That's
-all.</para>
-
-<para>If you can't open the project file for some reason, make a
-new one, naming these files:
-<computeroutput>blocksort.c</computeroutput>,
-<computeroutput>bzlib.c</computeroutput>,
-<computeroutput>compress.c</computeroutput>,
-<computeroutput>crctable.c</computeroutput>,
-<computeroutput>decompress.c</computeroutput>,
-<computeroutput>huffman.c</computeroutput>,
-<computeroutput>randtable.c</computeroutput> and
-<computeroutput>libbz2.def</computeroutput>. You will also need
-to name the header files <computeroutput>bzlib.h</computeroutput>
-and <computeroutput>bzlib_private.h</computeroutput>.</para>
-
-<para>If you don't use VC++, you may need to define the
-proprocessor symbol
-<computeroutput>_WIN32</computeroutput>.</para>
-
-<para>Finally, <computeroutput>dlltest.c</computeroutput> is a
-sample program using the DLL. It has a project file,
-<computeroutput>dlltest.dsp</computeroutput>.</para>
-
-<para>If you just want a makefile for Visual C, have a look at
-<computeroutput>makefile.msc</computeroutput>.</para>
-
-<para>Be aware that if you compile
-<computeroutput>bzip2</computeroutput> itself on Win32, you must
-set <computeroutput>BZ_UNIX</computeroutput> to 0 and
-<computeroutput>BZ_LCCWIN32</computeroutput> to 1, in the file
-<computeroutput>bzip2.c</computeroutput>, before compiling.
-Otherwise the resulting binary won't work correctly.</para>
-
-<para>I haven't tried any of this stuff myself, but it all looks
-plausible.</para>
-
-</sect1>
-
-</chapter>
-
-
-
-<chapter id="misc" xreflabel="Miscellanea">
-<title>Miscellanea</title>
-
-<para>These are just some random thoughts of mine. Your mileage
-may vary.</para>
-
-
-<sect1 id="limits" xreflabel="Limitations of the compressed file format">
-<title>Limitations of the compressed file format</title>
-
-<para><computeroutput>bzip2-1.0.X</computeroutput>,
-<computeroutput>0.9.5</computeroutput> and
-<computeroutput>0.9.0</computeroutput> use exactly the same file
-format as the original version,
-<computeroutput>bzip2-0.1</computeroutput>. This decision was
-made in the interests of stability. Creating yet another
-incompatible compressed file format would create further
-confusion and disruption for users.</para>
-
-<para>Nevertheless, this is not a painless decision. Development
-work since the release of
-<computeroutput>bzip2-0.1</computeroutput> in August 1997 has
-shown complexities in the file format which slow down
-decompression and, in retrospect, are unnecessary. These
-are:</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>The run-length encoder, which is the first of the
- compression transformations, is entirely irrelevant. The
- original purpose was to protect the sorting algorithm from the
- very worst case input: a string of repeated symbols. But
- algorithm steps Q6a and Q6b in the original Burrows-Wheeler
- technical report (SRC-124) show how repeats can be handled
- without difficulty in block sorting.</para></listitem>
-
- <listitem><para>The randomisation mechanism doesn't really need to be
- there. Udi Manber and Gene Myers published a suffix array
- construction algorithm a few years back, which can be employed
- to sort any block, no matter how repetitive, in O(N log N)
- time. Subsequent work by Kunihiko Sadakane has produced a
- derivative O(N (log N)^2) algorithm which usually outperforms
- the Manber-Myers algorithm.</para>
-
- <para>I could have changed to Sadakane's algorithm, but I find
- it to be slower than <computeroutput>bzip2</computeroutput>'s
- existing algorithm for most inputs, and the randomisation
- mechanism protects adequately against bad cases. I didn't
- think it was a good tradeoff to make. Partly this is due to
- the fact that I was not flooded with email complaints about
- <computeroutput>bzip2-0.1</computeroutput>'s performance on
- repetitive data, so perhaps it isn't a problem for real
- inputs.</para>
-
- <para>Probably the best long-term solution, and the one I have
- incorporated into 0.9.5 and above, is to use the existing
- sorting algorithm initially, and fall back to a O(N (log N)^2)
- algorithm if the standard algorithm gets into
- difficulties.</para></listitem>
-
- <listitem><para>The compressed file format was never designed to be
- handled by a library, and I have had to jump though some hoops
- to produce an efficient implementation of decompression. It's
- a bit hairy. Try passing
- <computeroutput>decompress.c</computeroutput> through the C
- preprocessor and you'll see what I mean. Much of this
- complexity could have been avoided if the compressed size of
- each block of data was recorded in the data stream.</para></listitem>
-
- <listitem><para>An Adler-32 checksum, rather than a CRC32 checksum,
- would be faster to compute.</para></listitem>
-
-</itemizedlist>
-
-<para>It would be fair to say that the
-<computeroutput>bzip2</computeroutput> format was frozen before I
-properly and fully understood the performance consequences of
-doing so.</para>
-
-<para>Improvements which I was able to incorporate into 0.9.0,
-despite using the same file format, are:</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>Single array implementation of the inverse BWT. This
- significantly speeds up decompression, presumably because it
- reduces the number of cache misses.</para></listitem>
-
- <listitem><para>Faster inverse MTF transform for large MTF values.
- The new implementation is based on the notion of sliding blocks
- of values.</para></listitem>
-
- <listitem><para><computeroutput>bzip2-0.9.0</computeroutput> now reads
- and writes files with <computeroutput>fread</computeroutput>
- and <computeroutput>fwrite</computeroutput>; version 0.1 used
- <computeroutput>putc</computeroutput> and
- <computeroutput>getc</computeroutput>. Duh! Well, you live
- and learn.</para></listitem>
-
-</itemizedlist>
-
-<para>Further ahead, it would be nice to be able to do random
-access into files. This will require some careful design of
-compressed file formats.</para>
-
-</sect1>
-
-
-<sect1 id="port-issues" xreflabel="Portability issues">
-<title>Portability issues</title>
-
-<para>After some consideration, I have decided not to use GNU
-<computeroutput>autoconf</computeroutput> to configure 0.9.5 or
-1.0.</para>
-
-<para><computeroutput>autoconf</computeroutput>, admirable and
-wonderful though it is, mainly assists with portability problems
-between Unix-like platforms. But
-<computeroutput>bzip2</computeroutput> doesn't have much in the
-way of portability problems on Unix; most of the difficulties
-appear when porting to the Mac, or to Microsoft's operating
-systems. <computeroutput>autoconf</computeroutput> doesn't help
-in those cases, and brings in a whole load of new
-complexity.</para>
-
-<para>Most people should be able to compile the library and
-program under Unix straight out-of-the-box, so to speak,
-especially if you have a version of GNU C available.</para>
-
-<para>There are a couple of
-<computeroutput>__inline__</computeroutput> directives in the
-code. GNU C (<computeroutput>gcc</computeroutput>) should be
-able to handle them. If you're not using GNU C, your C compiler
-shouldn't see them at all. If your compiler does, for some
-reason, see them and doesn't like them, just
-<computeroutput>#define</computeroutput>
-<computeroutput>__inline__</computeroutput> to be
-<computeroutput>/* */</computeroutput>. One easy way to do this
-is to compile with the flag
-<computeroutput>-D__inline__=</computeroutput>, which should be
-understood by most Unix compilers.</para>
-
-<para>If you still have difficulties, try compiling with the
-macro <computeroutput>BZ_STRICT_ANSI</computeroutput> defined.
-This should enable you to build the library in a strictly ANSI
-compliant environment. Building the program itself like this is
-dangerous and not supported, since you remove
-<computeroutput>bzip2</computeroutput>'s checks against
-compressing directories, symbolic links, devices, and other
-not-really-a-file entities. This could cause filesystem
-corruption!</para>
-
-<para>One other thing: if you create a
-<computeroutput>bzip2</computeroutput> binary for public distribution,
-please consider linking it statically (<computeroutput>gcc
--static</computeroutput>). This avoids all sorts of library-version
-issues that others may encounter later on.</para>
-
-<para>If you build <computeroutput>bzip2</computeroutput> on
-Win32, you must set <computeroutput>BZ_UNIX</computeroutput> to 0
-and <computeroutput>BZ_LCCWIN32</computeroutput> to 1, in the
-file <computeroutput>bzip2.c</computeroutput>, before compiling.
-Otherwise the resulting binary won't work correctly.</para>
-
-</sect1>
-
-
-<sect1 id="bugs" xreflabel="Reporting bugs">
-<title>Reporting bugs</title>
-
-<para>I tried pretty hard to make sure
-<computeroutput>bzip2</computeroutput> is bug free, both by
-design and by testing. Hopefully you'll never need to read this
-section for real.</para>
-
-<para>Nevertheless, if <computeroutput>bzip2</computeroutput> dies
-with a segmentation fault, a bus error or an internal assertion
-failure, it will ask you to email me a bug report. Experience from
-years of feedback of bzip2 users indicates that almost all these
-problems can be traced to either compiler bugs or hardware
-problems.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>Recompile the program with no optimisation, and
- see if it works. And/or try a different compiler. I heard all
- sorts of stories about various flavours of GNU C (and other
- compilers) generating bad code for
- <computeroutput>bzip2</computeroutput>, and I've run across two
- such examples myself.</para>
-
- <para>2.7.X versions of GNU C are known to generate bad code
- from time to time, at high optimisation levels. If you get
- problems, try using the flags
- <computeroutput>-O2</computeroutput>
- <computeroutput>-fomit-frame-pointer</computeroutput>
- <computeroutput>-fno-strength-reduce</computeroutput>. You
- should specifically <emphasis>not</emphasis> use
- <computeroutput>-funroll-loops</computeroutput>.</para>
-
- <para>You may notice that the Makefile runs six tests as part
- of the build process. If the program passes all of these, it's
- a pretty good (but not 100%) indication that the compiler has
- done its job correctly.</para></listitem>
-
- <listitem><para>If <computeroutput>bzip2</computeroutput>
- crashes randomly, and the crashes are not repeatable, you may
- have a flaky memory subsystem.
- <computeroutput>bzip2</computeroutput> really hammers your
- memory hierarchy, and if it's a bit marginal, you may get these
- problems. Ditto if your disk or I/O subsystem is slowly
- failing. Yup, this really does happen.</para>
-
- <para>Try using a different machine of the same type, and see
- if you can repeat the problem.</para></listitem>
-
- <listitem><para>This isn't really a bug, but ... If
- <computeroutput>bzip2</computeroutput> tells you your file is
- corrupted on decompression, and you obtained the file via FTP,
- there is a possibility that you forgot to tell FTP to do a
- binary mode transfer. That absolutely will cause the file to
- be non-decompressible. You'll have to transfer it
- again.</para></listitem>
-
-</itemizedlist>
-
-<para>If you've incorporated
-<computeroutput>libbzip2</computeroutput> into your own program
-and are getting problems, please, please, please, check that the
-parameters you are passing in calls to the library, are correct,
-and in accordance with what the documentation says is allowable.
-I have tried to make the library robust against such problems,
-but I'm sure I haven't succeeded.</para>
-
-<para>Finally, if the above comments don't help, you'll have to
-send me a bug report. Now, it's just amazing how many people
-will send me a bug report saying something like:</para>
-
-<programlisting>
-bzip2 crashed with segmentation fault on my machine
-</programlisting>
-
-<para>and absolutely nothing else. Needless to say, a such a
-report is <emphasis>totally, utterly, completely and
-comprehensively 100% useless; a waste of your time, my time, and
-net bandwidth</emphasis>. With no details at all, there's no way
-I can possibly begin to figure out what the problem is.</para>
-
-<para>The rules of the game are: facts, facts, facts. Don't omit
-them because "oh, they won't be relevant". At the bare
-minimum:</para>
-
-<programlisting>
-Machine type. Operating system version.
-Exact version of bzip2 (do bzip2 -V).
-Exact version of the compiler used.
-Flags passed to the compiler.
-</programlisting>
-
-<para>However, the most important single thing that will help me
-is the file that you were trying to compress or decompress at the
-time the problem happened. Without that, my ability to do
-anything more than speculate about the cause, is limited.</para>
-
-</sect1>
-
-
-<sect1 id="package" xreflabel="Did you get the right package?">
-<title>Did you get the right package?</title>
-
-<para><computeroutput>bzip2</computeroutput> is a resource hog.
-It soaks up large amounts of CPU cycles and memory. Also, it
-gives very large latencies. In the worst case, you can feed many
-megabytes of uncompressed data into the library before getting
-any compressed output, so this probably rules out applications
-requiring interactive behaviour.</para>
-
-<para>These aren't faults of my implementation, I hope, but more
-an intrinsic property of the Burrows-Wheeler transform
-(unfortunately). Maybe this isn't what you want.</para>
-
-<para>If you want a compressor and/or library which is faster,
-uses less memory but gets pretty good compression, and has
-minimal latency, consider Jean-loup Gailly's and Mark Adler's
-work, <computeroutput>zlib-1.2.1</computeroutput> and
-<computeroutput>gzip-1.2.4</computeroutput>. Look for them at
-<ulink url="http://www.zlib.org">http://www.zlib.org</ulink> and
-<ulink url="http://www.gzip.org">http://www.gzip.org</ulink>
-respectively.</para>
-
-<para>For something faster and lighter still, you might try Markus F
-X J Oberhumer's <computeroutput>LZO</computeroutput> real-time
-compression/decompression library, at
-<ulink url="http://www.oberhumer.com/opensource">http://www.oberhumer.com/opensource</ulink>.</para>
-
-</sect1>
-
-
-
-<sect1 id="reading" xreflabel="Further Reading">
-<title>Further Reading</title>
-
-<para><computeroutput>bzip2</computeroutput> is not research
-work, in the sense that it doesn't present any new ideas.
-Rather, it's an engineering exercise based on existing
-ideas.</para>
-
-<para>Four documents describe essentially all the ideas behind
-<computeroutput>bzip2</computeroutput>:</para>
-
-<literallayout>Michael Burrows and D. J. Wheeler:
- "A block-sorting lossless data compression algorithm"
- 10th May 1994.
- Digital SRC Research Report 124.
- ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz
- If you have trouble finding it, try searching at the
- New Zealand Digital Library, http://www.nzdl.org.
-
-Daniel S. Hirschberg and Debra A. LeLewer
- "Efficient Decoding of Prefix Codes"
- Communications of the ACM, April 1990, Vol 33, Number 4.
- You might be able to get an electronic copy of this
- from the ACM Digital Library.
-
-David J. Wheeler
- Program bred3.c and accompanying document bred3.ps.
- This contains the idea behind the multi-table Huffman coding scheme.
- ftp://ftp.cl.cam.ac.uk/users/djw3/
-
-Jon L. Bentley and Robert Sedgewick
- "Fast Algorithms for Sorting and Searching Strings"
- Available from Sedgewick's web page,
- www.cs.princeton.edu/~rs
-</literallayout>
-
-<para>The following paper gives valuable additional insights into
-the algorithm, but is not immediately the basis of any code used
-in bzip2.</para>
-
-<literallayout>Peter Fenwick:
- Block Sorting Text Compression
- Proceedings of the 19th Australasian Computer Science Conference,
- Melbourne, Australia. Jan 31 - Feb 2, 1996.
- ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps</literallayout>
-
-<para>Kunihiko Sadakane's sorting algorithm, mentioned above, is
-available from:</para>
-
-<literallayout>http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz
-</literallayout>
-
-<para>The Manber-Myers suffix array construction algorithm is
-described in a paper available from:</para>
-
-<literallayout>http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps
-</literallayout>
-
-<para>Finally, the following papers document some
-investigations I made into the performance of sorting
-and decompression algorithms:</para>
-
-<literallayout>Julian Seward
- On the Performance of BWT Sorting Algorithms
- Proceedings of the IEEE Data Compression Conference 2000
- Snowbird, Utah. 28-30 March 2000.
-
-Julian Seward
- Space-time Tradeoffs in the Inverse B-W Transform
- Proceedings of the IEEE Data Compression Conference 2001
- Snowbird, Utah. 27-29 March 2001.
-</literallayout>
-
-</sect1>
-
-</chapter>
-
-</book>
diff --git a/plugins/updater/bzip2-1.0.3/mk251.c b/plugins/updater/bzip2-1.0.3/mk251.c
deleted file mode 100644
index c9c36f6c48..0000000000
--- a/plugins/updater/bzip2-1.0.3/mk251.c
+++ /dev/null
@@ -1,31 +0,0 @@
-
-/* Spew out a long sequence of the byte 251. When fed to bzip2
- versions 1.0.0 or 1.0.1, causes it to die with internal error
- 1007 in blocksort.c. This assertion misses an extremely rare
- case, which is fixed in this version (1.0.2) and above.
-*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include <stdio.h>
-
-int main ()
-{
- int i;
- for (i = 0; i < 48500000 ; i++)
- putchar(251);
- return 0;
-}
diff --git a/plugins/updater/bzip2-1.0.3/randtable.c b/plugins/updater/bzip2-1.0.3/randtable.c
deleted file mode 100644
index 6d62459906..0000000000
--- a/plugins/updater/bzip2-1.0.3/randtable.c
+++ /dev/null
@@ -1,84 +0,0 @@
-
-/*-------------------------------------------------------------*/
-/*--- Table for randomising repetitive blocks ---*/
-/*--- randtable.c ---*/
-/*-------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include "bzlib_private.h"
-
-
-/*---------------------------------------------*/
-Int32 BZ2_rNums[512] = {
- 619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
- 985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
- 733, 859, 335, 708, 621, 574, 73, 654, 730, 472,
- 419, 436, 278, 496, 867, 210, 399, 680, 480, 51,
- 878, 465, 811, 169, 869, 675, 611, 697, 867, 561,
- 862, 687, 507, 283, 482, 129, 807, 591, 733, 623,
- 150, 238, 59, 379, 684, 877, 625, 169, 643, 105,
- 170, 607, 520, 932, 727, 476, 693, 425, 174, 647,
- 73, 122, 335, 530, 442, 853, 695, 249, 445, 515,
- 909, 545, 703, 919, 874, 474, 882, 500, 594, 612,
- 641, 801, 220, 162, 819, 984, 589, 513, 495, 799,
- 161, 604, 958, 533, 221, 400, 386, 867, 600, 782,
- 382, 596, 414, 171, 516, 375, 682, 485, 911, 276,
- 98, 553, 163, 354, 666, 933, 424, 341, 533, 870,
- 227, 730, 475, 186, 263, 647, 537, 686, 600, 224,
- 469, 68, 770, 919, 190, 373, 294, 822, 808, 206,
- 184, 943, 795, 384, 383, 461, 404, 758, 839, 887,
- 715, 67, 618, 276, 204, 918, 873, 777, 604, 560,
- 951, 160, 578, 722, 79, 804, 96, 409, 713, 940,
- 652, 934, 970, 447, 318, 353, 859, 672, 112, 785,
- 645, 863, 803, 350, 139, 93, 354, 99, 820, 908,
- 609, 772, 154, 274, 580, 184, 79, 626, 630, 742,
- 653, 282, 762, 623, 680, 81, 927, 626, 789, 125,
- 411, 521, 938, 300, 821, 78, 343, 175, 128, 250,
- 170, 774, 972, 275, 999, 639, 495, 78, 352, 126,
- 857, 956, 358, 619, 580, 124, 737, 594, 701, 612,
- 669, 112, 134, 694, 363, 992, 809, 743, 168, 974,
- 944, 375, 748, 52, 600, 747, 642, 182, 862, 81,
- 344, 805, 988, 739, 511, 655, 814, 334, 249, 515,
- 897, 955, 664, 981, 649, 113, 974, 459, 893, 228,
- 433, 837, 553, 268, 926, 240, 102, 654, 459, 51,
- 686, 754, 806, 760, 493, 403, 415, 394, 687, 700,
- 946, 670, 656, 610, 738, 392, 760, 799, 887, 653,
- 978, 321, 576, 617, 626, 502, 894, 679, 243, 440,
- 680, 879, 194, 572, 640, 724, 926, 56, 204, 700,
- 707, 151, 457, 449, 797, 195, 791, 558, 945, 679,
- 297, 59, 87, 824, 713, 663, 412, 693, 342, 606,
- 134, 108, 571, 364, 631, 212, 174, 643, 304, 329,
- 343, 97, 430, 751, 497, 314, 983, 374, 822, 928,
- 140, 206, 73, 263, 980, 736, 876, 478, 430, 305,
- 170, 514, 364, 692, 829, 82, 855, 953, 676, 246,
- 369, 970, 294, 750, 807, 827, 150, 790, 288, 923,
- 804, 378, 215, 828, 592, 281, 565, 555, 710, 82,
- 896, 831, 547, 261, 524, 462, 293, 465, 502, 56,
- 661, 821, 976, 991, 658, 869, 905, 758, 745, 193,
- 768, 550, 608, 933, 378, 286, 215, 979, 792, 961,
- 61, 688, 793, 644, 986, 403, 106, 366, 905, 644,
- 372, 567, 466, 434, 645, 210, 389, 550, 919, 135,
- 780, 773, 635, 389, 707, 100, 626, 958, 165, 504,
- 920, 176, 193, 713, 857, 265, 203, 50, 668, 108,
- 645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
- 936, 638
-};
-
-
-/*-------------------------------------------------------------*/
-/*--- end randtable.c ---*/
-/*-------------------------------------------------------------*/
diff --git a/plugins/updater/bzip2-1.0.3/sample1.bz2 b/plugins/updater/bzip2-1.0.3/sample1.bz2
deleted file mode 100644
index 18dea60043..0000000000
--- a/plugins/updater/bzip2-1.0.3/sample1.bz2
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/sample1.ref b/plugins/updater/bzip2-1.0.3/sample1.ref
deleted file mode 100644
index a56e52b77f..0000000000
--- a/plugins/updater/bzip2-1.0.3/sample1.ref
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/sample2.bz2 b/plugins/updater/bzip2-1.0.3/sample2.bz2
deleted file mode 100644
index d5a6160ba2..0000000000
--- a/plugins/updater/bzip2-1.0.3/sample2.bz2
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/sample2.ref b/plugins/updater/bzip2-1.0.3/sample2.ref
deleted file mode 100644
index 34af95839a..0000000000
--- a/plugins/updater/bzip2-1.0.3/sample2.ref
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/sample3.bz2 b/plugins/updater/bzip2-1.0.3/sample3.bz2
deleted file mode 100644
index d90cff9208..0000000000
--- a/plugins/updater/bzip2-1.0.3/sample3.bz2
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/bzip2-1.0.3/sample3.ref b/plugins/updater/bzip2-1.0.3/sample3.ref
deleted file mode 100644
index 775a2f68e2..0000000000
--- a/plugins/updater/bzip2-1.0.3/sample3.ref
+++ /dev/null
@@ -1,30007 +0,0 @@
-This file is exceedingly boring. If you find yourself
-reading it, please (1) take it from me that you can safely
-guess what the rest of the file says, and (2) seek professional
-help.
-
-ps. there are no further sarcastic remarks in this file.
-
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
diff --git a/plugins/updater/bzip2-1.0.3/spewG.c b/plugins/updater/bzip2-1.0.3/spewG.c
deleted file mode 100644
index 14a364938d..0000000000
--- a/plugins/updater/bzip2-1.0.3/spewG.c
+++ /dev/null
@@ -1,54 +0,0 @@
-
-/* spew out a thoroughly gigantic file designed so that bzip2
- can compress it reasonably rapidly. This is to help test
- support for large files (> 2GB) in a reasonable amount of time.
- I suggest you use the undocumented --exponential option to
- bzip2 when compressing the resulting file; this saves a bit of
- time. Note: *don't* bother with --exponential when compressing
- Real Files; it'll just waste a lot of CPU time :-)
- (but is otherwise harmless).
-*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#define _FILE_OFFSET_BITS 64
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* The number of megabytes of junk to spew out (roughly) */
-#define MEGABYTES 5000
-
-#define N_BUF 1000000
-char buf[N_BUF];
-
-int main ( int argc, char** argv )
-{
- int ii, kk, p;
- srandom(1);
- setbuffer ( stdout, buf, N_BUF );
- for (kk = 0; kk < MEGABYTES * 515; kk+=3) {
- p = 25+random()%50;
- for (ii = 0; ii < p; ii++)
- printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
- for (ii = 0; ii < p-1; ii++)
- printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" );
- for (ii = 0; ii < p+1; ii++)
- printf ( "ccccccccccccccccccccccccccccccccccccc" );
- }
- fflush(stdout);
- return 0;
-}
diff --git a/plugins/updater/bzip2-1.0.3/unzcrash.c b/plugins/updater/bzip2-1.0.3/unzcrash.c
deleted file mode 100644
index 7041da51c9..0000000000
--- a/plugins/updater/bzip2-1.0.3/unzcrash.c
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/* A test program written to test robustness to decompression of
- corrupted data. Usage is
- unzcrash filename
- and the program will read the specified file, compress it (in memory),
- and then repeatedly decompress it, each time with a different bit of
- the compressed data inverted, so as to test all possible one-bit errors.
- This should not cause any invalid memory accesses. If it does,
- I want to know about it!
-
- PS. As you can see from the above description, the process is
- incredibly slow. A file of size eg 5KB will cause it to run for
- many hours.
-*/
-
-/* ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.6 of 6 September 2010
- Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------ */
-
-
-#include <stdio.h>
-#include <assert.h>
-#include "bzlib.h"
-
-#define M_BLOCK 1000000
-
-typedef unsigned char uchar;
-
-#define M_BLOCK_OUT (M_BLOCK + 1000000)
-uchar inbuf[M_BLOCK];
-uchar outbuf[M_BLOCK_OUT];
-uchar zbuf[M_BLOCK + 600 + (M_BLOCK / 100)];
-
-int nIn, nOut, nZ;
-
-static char *bzerrorstrings[] = {
- "OK"
- ,"SEQUENCE_ERROR"
- ,"PARAM_ERROR"
- ,"MEM_ERROR"
- ,"DATA_ERROR"
- ,"DATA_ERROR_MAGIC"
- ,"IO_ERROR"
- ,"UNEXPECTED_EOF"
- ,"OUTBUFF_FULL"
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
- ,"???" /* for future */
-};
-
-void flip_bit ( int bit )
-{
- int byteno = bit / 8;
- int bitno = bit % 8;
- uchar mask = 1 << bitno;
- //fprintf ( stderr, "(byte %d bit %d mask %d)",
- // byteno, bitno, (int)mask );
- zbuf[byteno] ^= mask;
-}
-
-int main ( int argc, char** argv )
-{
- FILE* f;
- int r;
- int bit;
- int i;
-
- if (argc != 2) {
- fprintf ( stderr, "usage: unzcrash filename\n" );
- return 1;
- }
-
- f = fopen ( argv[1], "r" );
- if (!f) {
- fprintf ( stderr, "unzcrash: can't open %s\n", argv[1] );
- return 1;
- }
-
- nIn = fread ( inbuf, 1, M_BLOCK, f );
- fprintf ( stderr, "%d bytes read\n", nIn );
-
- nZ = M_BLOCK;
- r = BZ2_bzBuffToBuffCompress (
- zbuf, &nZ, inbuf, nIn, 9, 0, 30 );
-
- assert (r == BZ_OK);
- fprintf ( stderr, "%d after compression\n", nZ );
-
- for (bit = 0; bit < nZ*8; bit++) {
- fprintf ( stderr, "bit %d ", bit );
- flip_bit ( bit );
- nOut = M_BLOCK_OUT;
- r = BZ2_bzBuffToBuffDecompress (
- outbuf, &nOut, zbuf, nZ, 0, 0 );
- fprintf ( stderr, " %d %s ", r, bzerrorstrings[-r] );
-
- if (r != BZ_OK) {
- fprintf ( stderr, "\n" );
- } else {
- if (nOut != nIn) {
- fprintf(stderr, "nIn/nOut mismatch %d %d\n", nIn, nOut );
- return 1;
- } else {
- for (i = 0; i < nOut; i++)
- if (inbuf[i] != outbuf[i]) {
- fprintf(stderr, "mismatch at %d\n", i );
- return 1;
- }
- if (i == nOut) fprintf(stderr, "really ok!\n" );
- }
- }
-
- flip_bit ( bit );
- }
-
-#if 0
- assert (nOut == nIn);
- for (i = 0; i < nOut; i++) {
- if (inbuf[i] != outbuf[i]) {
- fprintf ( stderr, "difference at %d !\n", i );
- return 1;
- }
- }
-#endif
-
- fprintf ( stderr, "all ok\n" );
- return 0;
-}
diff --git a/plugins/updater/bzip2-1.0.3/words0 b/plugins/updater/bzip2-1.0.3/words0
deleted file mode 100644
index fbf442ad6b..0000000000
--- a/plugins/updater/bzip2-1.0.3/words0
+++ /dev/null
@@ -1,9 +0,0 @@
-
-If compilation produces errors, or a large number of warnings,
-please read README.COMPILATION.PROBLEMS -- you might be able to
-adjust the flags in this Makefile to improve matters.
-
-Also in README.COMPILATION.PROBLEMS are some hints that may help
-if your build produces an executable which is unable to correctly
-handle so-called 'large files' -- files of size 2GB or more.
-
diff --git a/plugins/updater/bzip2-1.0.3/words1 b/plugins/updater/bzip2-1.0.3/words1
deleted file mode 100644
index 2e83de9f08..0000000000
--- a/plugins/updater/bzip2-1.0.3/words1
+++ /dev/null
@@ -1,4 +0,0 @@
-
-Doing 6 tests (3 compress, 3 uncompress) ...
-If there's a problem, things might stop at this point.
-
diff --git a/plugins/updater/bzip2-1.0.3/words2 b/plugins/updater/bzip2-1.0.3/words2
deleted file mode 100644
index caddcf4226..0000000000
--- a/plugins/updater/bzip2-1.0.3/words2
+++ /dev/null
@@ -1,5 +0,0 @@
-
-Checking test results. If any of the four "cmp"s which follow
-report any differences, something is wrong. If you can't easily
-figure out what, please let me know (jseward@bzip.org).
-
diff --git a/plugins/updater/bzip2-1.0.3/words3 b/plugins/updater/bzip2-1.0.3/words3
deleted file mode 100644
index 6972669906..0000000000
--- a/plugins/updater/bzip2-1.0.3/words3
+++ /dev/null
@@ -1,30 +0,0 @@
-
-If you got this far and the 'cmp's didn't complain, it looks
-like you're in business.
-
-To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
-/usr/local/include, type
-
- make install
-
-To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
-
- make install PREFIX=/xxx/yyy
-
-If you are (justifiably) paranoid and want to see what 'make install'
-is going to do, you can first do
-
- make -n install or
- make -n install PREFIX=/xxx/yyy respectively.
-
-The -n instructs make to show the commands it would execute, but
-not actually execute them.
-
-Instructions for use are in the preformatted manual page, in the file
-bzip2.txt. For more detailed documentation, read the full manual.
-It is available in Postscript form (manual.ps), PDF form (manual.pdf),
-and HTML form (manual.html).
-
-You can also do "bzip2 --help" to see some helpful information.
-"bzip2 -L" displays the software license.
-
diff --git a/plugins/updater/bzip2-1.0.3/xmlproc.sh b/plugins/updater/bzip2-1.0.3/xmlproc.sh
deleted file mode 100644
index ca284ea9ed..0000000000
--- a/plugins/updater/bzip2-1.0.3/xmlproc.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/bash
-# see the README file for usage etc.
-#
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.6 of 6 September 2010
-# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ----------------------------------------------------------------
-
-
-usage() {
- echo '';
- echo 'Usage: xmlproc.sh -[option] <filename.xml>';
- echo 'Specify a target from:';
- echo '-v verify xml file conforms to dtd';
- echo '-html output in html format (single file)';
- echo '-ps output in postscript format';
- echo '-pdf output in pdf format';
- exit;
-}
-
-if test $# -ne 2; then
- usage
-fi
-# assign the variable for the output type
-action=$1; shift
-# assign the output filename
-xmlfile=$1; shift
-# and check user input it correct
-if !(test -f $xmlfile); then
- echo "No such file: $xmlfile";
- exit;
-fi
-# some other stuff we will use
-OUT=output
-xsl_fo=bz-fo.xsl
-xsl_html=bz-html.xsl
-
-basename=$xmlfile
-basename=${basename//'.xml'/''}
-
-fofile="${basename}.fo"
-htmlfile="${basename}.html"
-pdffile="${basename}.pdf"
-psfile="${basename}.ps"
-xmlfmtfile="${basename}.fmt"
-
-# first process the xmlfile with CDATA tags
-./format.pl $xmlfile $xmlfmtfile
-# so the shell knows where the catalogs live
-export XML_CATALOG_FILES=/etc/xml/catalog
-
-# post-processing tidy up
-cleanup() {
- echo "Cleaning up: $@"
- while [ $# != 0 ]
- do
- arg=$1; shift;
- echo " deleting $arg";
- rm $arg
- done
-}
-
-case $action in
- -v)
- flags='--noout --xinclude --noblanks --postvalid'
- dtd='--dtdvalid http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'
- xmllint $flags $dtd $xmlfmtfile 2> $OUT
- egrep 'error' $OUT
- rm $OUT
- ;;
-
- -html)
- echo "Creating $htmlfile ..."
- xsltproc --nonet --xinclude -o $htmlfile $xsl_html $xmlfmtfile
- cleanup $xmlfmtfile
- ;;
-
- -pdf)
- echo "Creating $pdffile ..."
- xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- cleanup $OUT $xmlfmtfile *.aux *.fo *.log *.out
- ;;
-
- -ps)
- echo "Creating $psfile ..."
- xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- pdftops $pdffile $psfile
- cleanup $OUT $xmlfmtfile $pdffile *.aux *.fo *.log *.out
-# passivetex is broken, so we can't go this route yet.
-# xmltex $fofile >$OUT </dev/null
-# xmltex $fofile >$OUT </dev/null
-# xmltex $fofile >$OUT </dev/null
-# dvips -R -q -o bzip-manual.ps *.dvi
- ;;
-
- *)
- usage
- ;;
-esac
diff --git a/plugins/updater/common.cpp b/plugins/updater/common.cpp
deleted file mode 100644
index f7b240bbf6..0000000000
--- a/plugins/updater/common.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#include "common.h"
-
-UpdateList::UpdateList(): count(0), head(0), tail(0) {
-}
-
-UpdateList::~UpdateList() {
- clear();
-}
-
-UpdateList::UpdateList(UpdateList &source): count(0), head(0), tail(0) {
- for(source.reset(); source.current(); source.next())
- push_back(*source.current());
-}
-
-void UpdateList::clear() {
- Node *current;
- while(head) {
- current = head;
- head = head->next;
- delete current;
- }
-
- count = 0;
- head = tail = 0;
- reset();
-}
-
-int UpdateList::size() {
- return count;
-}
-
-void UpdateList::reset() {
- it_current = head;
-}
-
-void UpdateList::erase() {
- if(it_current) {
- if(head == it_current) head = head->next;
- if(tail == it_current) tail = tail->prev;
-
- if(it_current->next) it_current->next->prev = it_current->prev;
- if(it_current->prev) it_current->prev->next = it_current->next;
-
- delete it_current;
- count--;
- reset();
- }
-}
-
-void UpdateList::next() {
- if(it_current) it_current = (Node *)it_current->next;
-}
-
-UpdateInternal *UpdateList::current() {
- return (it_current ? &it_current->ui : 0);
-}
-
-void UpdateList::push_back(UpdateInternal &update) {
- if(tail) {
- tail->next = new Node;
- tail->next->prev = tail;
- tail = tail->next;
- } else {
- head = tail = new Node;
- }
- tail->ui = update;
- count++;
-}
-
-UpdateInternal &UpdateList::back() {
- return tail->ui;
-}
diff --git a/plugins/updater/common.h b/plugins/updater/common.h
deleted file mode 100644
index b1a070f78e..0000000000
--- a/plugins/updater/common.h
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef _COMMON_INC
-#define _COMMON_INC
-
-#define _CRT_SECURE_NO_DEPRECATE
-
-#define MIRANDA_VER 0x0A00
-
-#include <m_stdhdr.h>
-
-#include <windows.h>
-#include <shlobj.h>
-#include <commctrl.h>
-
-#include <process.h>
-#include <io.h>
-
-#include "ezxml.h"
-
-#include <newpluginapi.h>
-#include <m_database.h>
-#include <m_langpack.h>
-#include <m_options.h>
-#include <m_system.h>
-#include <m_system_cpp.h>
-#include <m_idle.h>
-#include <m_clui.h>
-#include <m_netlib.h>
-#include <m_utils.h>
-#include <m_clist.h>
-#include <m_icoLib.h>
-
-#include <win2k.h>
-
-#include "m_updater.h"
-#include "m_trigger.h"
-#include "m_folders.h"
-
-//#define TESTING // causes version to be 0.0.0.1
-//#define USE_MY_SERVER // uses URLS for scottellis.com.au test site for non-beta
-#define REGISTER_BETA // register beta urls for beta site
-//#define DEBUG_POPUPS // define to show some popups (restoring status, etc)
-//#define _UD_LOGGING // define to log some stuff, from inside the external process, overwriting the data file
-//#define DEBUG_HTTP_POPUPS // define to show popups re http
-#define REGISTER_AUTO // get updater to automatically collect file listing URL's from backend xml data
-
-#define BETA_HOST_URL_PREFIX "http://www.scottellis.com.au/miranda_plugins" //(thanks Omniwolf for old twosx webspace, thx Koobs for hosting my domain)
-
-typedef enum Category {MC_PLUGINS, MC_LOCALIZATION, MC_UNKNOWN, NUM_CATEGORIES};
-
-typedef struct UpdateOptions_tag {
- bool enabled; // user has enabled updates for this plugin
- bool use_beta; // use the beta update data
- bool fixed; // use_beta flag is fixed - cannot be changed by user (e.g. szUpdateURL is null, szBetaUpdateURL is not)
-} UpdateOptions;
-
-typedef struct UpdateInternal_tag {
- Update update;
- UpdateOptions update_options;
- int file_id; // miranda file listing id
- bool auto_register;
- char *newVersion;
-
- Category cat;
-
- char *shortName;
-} UpdateInternal;
-
-struct UpdateList : OBJLIST<UpdateInternal>
-{
- UpdateList() : OBJLIST<UpdateInternal>(10) {}
- UpdateList(const UpdateList& upd) : OBJLIST<UpdateInternal>(10, compareUrl)
- {
- for (int i=0; i<upd.getCount(); ++i)
- insert(new UpdateInternal(upd[i]));
- }
-
- static int compareUrl(const UpdateInternal* p1, const UpdateInternal* p2)
- {
- if (!p1->update.szBetaVersionURL && !p2->update.szBetaVersionURL)
- return 0;
- else if (!p1->update.szBetaVersionURL && p2->update.szBetaVersionURL)
- return -1;
- else if (p1->update.szBetaVersionURL && !p2->update.szBetaVersionURL)
- return 1;
- else
- return _stricmp(p1->update.szBetaVersionURL, p2->update.szBetaVersionURL);
- }
-};
-
-struct StrList : LIST<TCHAR>
-{
- StrList() : LIST<TCHAR>(5) {}
- ~StrList()
- {
- for (int i=0; i<getCount(); ++i) mir_free(getArray()[i]);
- destroy();
- }
-};
-
-struct FileNameStruct
-{
- int file_id;
- StrList list;
-
- FileNameStruct(int id) : file_id(id) {}
-};
-
-typedef OBJLIST<FileNameStruct> FilenameMap;
-
-#include "resource.h"
-
-#define MODULE "Updater"
-
-extern HINSTANCE hInst;
-extern PLUGINLINK *pluginLink;
-extern PLUGININFOEX pluginInfo;
-
-extern bool is_idle;
-
-extern HANDLE hNetlibUser, hNetlibHttp;
-
-int FindFileInList(const char *name);
-
-void* memmem (const void *buf1, size_t size1, const void *buf2, size_t size2);
-
-void NLog(char *msg);
-void NLogF(const char *fmt, ...);
-
-#ifdef _UNICODE
-void NLog(wchar_t *msg);
-#endif
-
-// clist 'exit' menu item command id
-#define ID_ICQ_EXIT 40001
-
-// maximum number of redirects when getting xml data or download files via HTTP
-#define MAX_REDIRECT_RECURSE 4
-
-#ifndef MIID_UPDATER
-#define MIID_UPDATER {0x4a47b19b, 0xde5a, 0x4436, { 0xab, 0x4b, 0xe1, 0xf3, 0xa0, 0x22, 0x5d, 0xe7}}
-#endif
-
-#endif
-
-
diff --git a/plugins/updater/conf_comp_dialog.cpp b/plugins/updater/conf_comp_dialog.cpp
deleted file mode 100644
index b2ab25227a..0000000000
--- a/plugins/updater/conf_comp_dialog.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-#include "common.h"
-#include "conf_comp_dialog.h"
-
-void FillFolder(TCHAR *folder_name, StrList *filenames) {
- TCHAR filename[MAX_PATH], *p;
-
- mir_sntprintf(filename, SIZEOF(filename), _T("%s\\*.*"), folder_name);
- p = _tcsrchr(filename, '\\' ) + 1;
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(filename, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do {
- _tcscpy(p, findData.cFileName);
-
- if (findData.cFileName[0] != '.')
- {
- if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
- FillFolder(filename, filenames);
- } else {
- filenames->insert(mir_tstrdup(filename));
- }
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-}
-
-INT_PTR CALLBACK DlgProcConfirmComponents(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
- switch ( msg ) {
- case WM_INITDIALOG:
- TranslateDialogDefault( hwndDlg );
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- SendMessage(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS),LVM_SETEXTENDEDLISTVIEWSTYLE, 0,LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);
-
- {
- LVCOLUMN lvc;
- // Initialize the LVCOLUMN structure.
- // The mask specifies that the format, width, text, and
- // subitem members of the structure are valid.
- lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
- lvc.fmt = LVCFMT_LEFT;
-
- lvc.iSubItem = 0;
- lvc.pszText = TranslateT("Component Name");
- lvc.cx = 180; // width of column in pixels
- ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), 0, &lvc);
-
- }
-
- //enumerate plugins, fill in list
- {
- StrList filenames;
-
- ListView_DeleteAllItems(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS));
-
- LVITEM lvI;
-
- // Some code to create the list-view control.
- // Initialize LVITEM members that are common to all
- // items.
- lvI.mask = LVIF_TEXT | LVIF_NORECOMPUTE;// | LVIF_IMAGE;
-
-
- size_t temp_folder_name_len = _tcslen(options.temp_folder);
- TCHAR *p;
-
- FillFolder(options.temp_folder, &filenames);
- for (int i = 0; i < filenames.getCount(); ++i)
- {
- if(_tcslen(filenames[i]) > temp_folder_name_len)
- {
- p = filenames[i] + temp_folder_name_len + 1;
-
- lvI.iSubItem = 0;
- lvI.pszText = p;
- lvI.iItem = ListView_InsertItem(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), &lvI);
-
- ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), lvI.iItem, TRUE);
- }
- }
-
- // do this after filling list - enables 'ITEMCHANGED' below
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 1);
- }
-
- Utils_RestoreWindowPositionNoSize(hwndDlg,0,MODULE,"ConfirmCompWindow");
-
- return TRUE;
-
- case WM_NOTIFY:
- if(((LPNMHDR) lParam)->hwndFrom == GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS)) {
- switch (((LPNMHDR) lParam)->code) {
-
- case LVN_ITEMCHANGED:
- if(GetWindowLongPtr(hwndDlg, GWLP_USERDATA)) {
- NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam;
-
- if((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK) {
-
- int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS));
- bool enableOk = false;
- for(int i = 0; i < size; i++) {
- if(ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i)) {
- enableOk = true;
- break;
- }
- }
- HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, enableOk ? TRUE : FALSE);
- }
- }
- break;
- }
- }
- break;
- case WM_COMMAND:
- if ( HIWORD( wParam ) == BN_CLICKED ) {
- switch( LOWORD( wParam )) {
- case IDC_BTN_SELECTALL:
- {
- int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS));
- bool enableOk = false;
- for(int i = 0; i < size; i++) {
- ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, TRUE);
- enableOk = true;
- }
- HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, enableOk ? TRUE : FALSE);
- }
- return TRUE;
- case IDC_BTN_SELECTINV:
- {
- int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS));
- bool enableOk = false, flag;
- for(int i = 0; i < size; i++) {
- flag = !ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i);
- ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, flag);
- enableOk |= flag;
- }
- HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, enableOk ? TRUE : FALSE);
- }
- return TRUE;
- case IDC_BTN_SELECTDLLS:
- {
- int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS));
- TCHAR fname_buff[MAX_PATH];
- bool enableOk = false, flag;
- for(int i = 0; i < size; i++) {
- ListView_GetItemText(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, 0, fname_buff, MAX_PATH);
- flag = _tcsstr(fname_buff, _T(".dll")) != 0;
- ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, flag);
- enableOk |= flag;
- }
- HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, enableOk ? TRUE : FALSE);
- }
- return TRUE;
- case IDOK:
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- Utils_SaveWindowPosition(hwndDlg,0,MODULE,"ConfirmCompWindow");
-
- {
- TCHAR fname_buff[MAX_PATH];
- _tcscpy(fname_buff, options.temp_folder);
- _tcscat(fname_buff, _T("\\"));
- int path_len = (int)_tcslen(fname_buff);
- TCHAR *p = fname_buff + path_len;
-
- int size = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS));
- //bool enableOk = false;
- for(int i = 0; i < size; i++) {
- if(!ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i)) {
- // delete file
- ListView_GetItemText(GetDlgItem(hwndDlg, IDC_LIST_COMPONENTS), i, 0, p, MAX_PATH - path_len);
- DeleteFile(fname_buff);
-
- // attempt to remove parent folder, if any, in case it's now empty
- TCHAR *last_slash = _tcsrchr(fname_buff, _T('\\'));
- if(last_slash != p - 1) {
- *last_slash = 0;
- RemoveDirectory(fname_buff);
- }
- }
- }
- }
-
- EndDialog(hwndDlg, IDOK);
- return TRUE;
- case IDCANCEL:
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- Utils_SaveWindowPosition(hwndDlg,0,MODULE,"ConfirmCompWindow");
- EndDialog(hwndDlg, IDCANCEL);
- return TRUE;
- }
- }
- break;
- }
-
- return FALSE;
-
-}
diff --git a/plugins/updater/conf_comp_dialog.h b/plugins/updater/conf_comp_dialog.h
deleted file mode 100644
index 4567a6a6f0..0000000000
--- a/plugins/updater/conf_comp_dialog.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _CONF_COMP_DIALOG_INC
-#define _CONF_COMP_DIALOG_INC
-
-#include "options.h"
-
-INT_PTR CALLBACK DlgProcConfirmComponents(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
-
-#endif
diff --git a/plugins/updater/conf_dialog.cpp b/plugins/updater/conf_dialog.cpp
deleted file mode 100644
index d436ac2079..0000000000
--- a/plugins/updater/conf_dialog.cpp
+++ /dev/null
@@ -1,288 +0,0 @@
-#include "common.h"
-#include "conf_dialog.h"
-
-#ifndef BCM_SETSHIELD
-#define BCM_SETSHIELD (0x1600 + 0x000C)
-#endif
-
-INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- HWND hwndList = GetDlgItem(hwndDlg, IDC_LIST_UPDATES);
-
- switch ( msg ) {
- case WM_INITDIALOG:
- TranslateDialogDefault( hwndDlg );
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);
-
- if(options.save_zips && options.no_unzip) {
- CheckDlgButton(hwndDlg, IDC_CHK_CONFALL, FALSE);
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_CONFALL);
- EnableWindow(hw, FALSE);
- hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL);
- EnableWindow(hw, FALSE);
- CheckDlgButton(hwndDlg, IDC_CHK_NOINSTALL, TRUE);
- SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Download"));
- } else {
- if(DBGetContactSettingByte(0, "Updater", "DefaultConfAll", 0)) {
- CheckDlgButton(hwndDlg, IDC_CHK_CONFALL, TRUE);
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL);
- EnableWindow(hw, FALSE);
- } else if(DBGetContactSettingByte(0, "Updater", "NoInstall", 0)) {
- CheckDlgButton(hwndDlg, IDC_CHK_NOINSTALL, TRUE);
- SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Download"));
- }
- }
-
- {
- LVCOLUMN lvc = {0};
- // Initialize the LVCOLUMN structure.
- // The mask specifies that the format, width, text, and
- // subitem members of the structure are valid.
- lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
- lvc.fmt = LVCFMT_LEFT;
-
- lvc.iSubItem = 0;
- lvc.pszText = TranslateT("Component Name");
- lvc.cx = 145; // width of column in pixels
- ListView_InsertColumn(hwndList, 0, &lvc);
-
- lvc.iSubItem = 1;
- lvc.pszText = TranslateT("New Version");
- lvc.cx = 80; // width of column in pixels
- ListView_InsertColumn(hwndList, 1, &lvc);
-
- lvc.iSubItem = 2;
- lvc.pszText = TranslateT("Current Version");
- lvc.cx = 90; // width of column in pixels
- ListView_InsertColumn(hwndList, 2, &lvc);
-
- lvc.iSubItem = 3;
- lvc.pszText = TranslateT("Beta");
- lvc.cx = 90; // width of column in pixels
- ListView_InsertColumn(hwndList, 3, &lvc);
- }
-
- //enumerate plugins, fill in list
- {
- bool one_enabled = false;
- ListView_DeleteAllItems(hwndList);
-
- LVITEM lvI = {0};
- TCHAR *temp_str;
-
- // Some code to create the list-view control.
- // Initialize LVITEM members that are common to all
- // items.
- lvI.mask = LVIF_TEXT | LVIF_PARAM | LVIF_NORECOMPUTE;// | LVIF_IMAGE;
-
- UpdateList &todo = *(UpdateList *)lParam;
- for (int i = 0; i < todo.getCount(); ++i)
- {
- lvI.mask = LVIF_TEXT | LVIF_PARAM;// | LVIF_IMAGE;
- lvI.iSubItem = 0;
- lvI.lParam = (LPARAM)&todo[i];
- lvI.pszText = (temp_str = mir_a2t(todo[i].update.szComponentName));
- lvI.iItem = ListView_InsertItem(hwndList, &lvI);
- mir_free(temp_str);
-
- lvI.mask = LVIF_TEXT;// | LVIF_IMAGE;
-
- lvI.iSubItem = 1;
- //lvI.pszText = LPSTR_TEXTCALLBACK; //i->newVersion;
- lvI.pszText = (temp_str = mir_a2t(((UpdateInternal *)lvI.lParam)->newVersion));
- ListView_SetItem(hwndList, &lvI);
- mir_free(temp_str);
-
- lvI.iSubItem = 2;
- //lvI.pszText = LPSTR_TEXTCALLBACK; //i->newVersion;
- lvI.pszText = (temp_str = mir_a2t((char *)((UpdateInternal *)lvI.lParam)->update.pbVersion));
- ListView_SetItem(hwndList, &lvI);
- mir_free(temp_str);
-
- lvI.iSubItem = 3;
- lvI.pszText = ((UpdateInternal *)lvI.lParam)->update_options.use_beta ?
- TranslateT("Yes") : TranslateT("No");
- ListView_SetItem(hwndList, &lvI);
-
- //MessageBox(0, todo[i].newVersion,
- //"Version", MB_OK);
- //todo[i].update.szComponentName, MB_OK);
-
- // remember whether the user has decided not to update this component with this particular new version
- char stored_setting[256];
- mir_snprintf(stored_setting, 256, "DisabledVer%s", todo[i].update.szComponentName);
- DBVARIANT dbv;
- bool check = todo[i].update_options.enabled;
- if (!DBGetContactSettingString(0, "Updater", stored_setting, &dbv)) {
- if(dbv.pszVal && strcmp(dbv.pszVal, ((UpdateInternal *)lvI.lParam)->newVersion) == 0)
- check = false;
- else
- DBDeleteContactSetting(0, "Updater", stored_setting);
- DBFreeVariant(&dbv);
- }
- one_enabled |= check;
- ListView_SetCheckState(hwndList, lvI.iItem, check);
- }
-
- HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, one_enabled);
- }
- // do this after filling list - enables 'ITEMCHANGED' below
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
-
- Utils_RestoreWindowPositionNoSize(hwndDlg, NULL, MODULE, "ConfirmWindow");
- if (IsAdminRequired())
- SendDlgItemMessage(hwndDlg, IDOK, BCM_SETSHIELD, 0, TRUE);
-
- return TRUE;
-
- case WM_NOTIFY:
- if(((LPNMHDR) lParam)->hwndFrom == hwndList) {
- switch (((LPNMHDR) lParam)->code) {
-
- case LVN_ITEMCHANGED:
- if(GetWindowLongPtr(hwndDlg, GWLP_USERDATA)) {
- NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam;
-
- LVITEM lvI = {0};
-
- lvI.iItem = nmlv->iItem;
- lvI.iSubItem = 0;
- lvI.mask = LVIF_PARAM;
- ListView_GetItem(hwndList, &lvI);
-
- //if(IsWindowVisible(hwndList) && ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK)) {
- if((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK) {
- ((UpdateInternal *)lvI.lParam)->update_options.enabled = ListView_GetCheckState(hwndList, nmlv->iItem) != 0;
-
- char stored_setting[256];
- mir_snprintf(stored_setting, 256, "DisabledVer%s", ((UpdateInternal *)lvI.lParam)->update.szComponentName);
-
- if(((UpdateInternal *)lvI.lParam)->update_options.enabled)
- DBDeleteContactSetting(0, "Updater", stored_setting); // user has re-enabled update to this version - remove setting from db
- else
- DBWriteContactSettingString(0, "Updater", stored_setting, ((UpdateInternal *)lvI.lParam)->newVersion);
- //ListView_SetItem(hwndList, &lvI);
-
-
- UpdateList &todo = *(UpdateList *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
- bool enableOk = false;
- for(int i=0; i<todo.getCount(); ++i) {
- if(todo[i].update_options.enabled) {
- enableOk = true;
- break;
- }
- }
- HWND hwOk = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hwOk, enableOk ? TRUE : FALSE);
- }
- if(nmlv->uNewState & LVIS_SELECTED) {
- if((!((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->file_id != -1)
- || (((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL))
- {
- EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_CHANGELOG), TRUE);
- } else {
- EnableWindow(GetDlgItem(hwndDlg, IDC_BTN_CHANGELOG), FALSE);
- }
- }
- }
- break;
-
- case LVN_GETDISPINFO:
- {
- LVITEM lvi;
- lvi.mask = LVIF_PARAM;
- lvi.iItem = ((NMLVDISPINFO *)lParam)->item.iItem;
- lvi.iSubItem = 0;
- SendMessage(hwndList, LVM_GETITEM, 0, (LPARAM)&lvi);
- switch (((NMLVDISPINFO *)lParam)->item.iSubItem) {
- case 0:
- MessageBox(0, _T("LVN_GETDISPINFO (0)"), _T("msg"), MB_OK);
- break;
- case 1:
- ((NMLVDISPINFO *)lParam)->item.pszText = TranslateTS(((UpdateInternal *)lvi.lParam)->newVersion);
- break;
- case 2:
- ((NMLVDISPINFO *)lParam)->item.pszText = TranslateTS((char *)((UpdateInternal *)lvi.lParam)->update.pbVersion);
- break;
- }
- }
- return 0;
- }
-
- }
- break;
-
- case WM_COMMAND:
- if (HIWORD( wParam ) == BN_CLICKED)
- {
- switch(LOWORD(wParam))
- {
- case IDC_BTN_CHANGELOG:
- {
- char url[256];
- int sel = ListView_GetSelectionMark(hwndList);
- LVITEM lvI = {0};
-
- lvI.iItem = sel;
- lvI.iSubItem = 0;
- lvI.mask = LVIF_PARAM;
- ListView_GetItem(hwndList, &lvI);
-
- if(!((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->file_id != -1) {
- sprintf(url, MIM_CHANGELOG_URL_PREFIX "%d", ((UpdateInternal *)lvI.lParam)->file_id);
- CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)url);
- } else if(((UpdateInternal *)lvI.lParam)->update_options.use_beta && ((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL) {
- CallService(MS_UTILS_OPENURL, TRUE, (LPARAM)((UpdateInternal *)lvI.lParam)->update.szBetaChangelogURL);
- }
-
- }
- return TRUE;
-
- case IDC_CHK_CONFALL:
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOINSTALL);
- EnableWindow(hw, !IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL));
- }
- return TRUE;
-
- case IDC_CHK_NOINSTALL:
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_CONFALL);
- EnableWindow(hw, !IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL));
-
- if(IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL))
- SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Download"));
- else
- SetWindowText(GetDlgItem(hwndDlg, IDOK), TranslateT("Update"));
- }
- return TRUE;
-
- case IDOK:
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ConfirmWindow");
- DBWriteContactSettingByte(NULL, "Updater", "DefaultConfAll", IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL) ? 1 : 0);
- DBWriteContactSettingByte(NULL, "Updater", "NoInstall", IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL) ? 1 : 0);
-
- if(IsDlgButtonChecked(hwndDlg, IDC_CHK_CONFALL))
- EndDialog(hwndDlg, CD_CONFALL);
- else if(IsDlgButtonChecked(hwndDlg, IDC_CHK_NOINSTALL))
- EndDialog(hwndDlg, CD_NOINSTALL);
- else
- EndDialog(hwndDlg, CD_OK);
- return TRUE;
-
- case IDCANCEL:
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ConfirmWindow");
- EndDialog(hwndDlg, CD_CANCEL);
- return TRUE;
- }
- }
- break;
- }
-
- return FALSE;
-}
-
diff --git a/plugins/updater/conf_dialog.h b/plugins/updater/conf_dialog.h
deleted file mode 100644
index 4304089555..0000000000
--- a/plugins/updater/conf_dialog.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _CONF_DIALOG_INC
-#define _CONF_DIALOG_INC
-
-#include "utils.h"
-
-// return values
-#define CD_CANCEL 1
-#define CD_NOINSTALL 2
-#define CD_CONFALL 3
-#define CD_OK 4
-
-INT_PTR CALLBACK DlgProcConfirm(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
-
-#endif
diff --git a/plugins/updater/extern.cpp b/plugins/updater/extern.cpp
deleted file mode 100644
index d33e0c2132..0000000000
--- a/plugins/updater/extern.cpp
+++ /dev/null
@@ -1,524 +0,0 @@
-#include "common.h"
-#include "extern.h"
-
-// write data needed by the external process, and restart miranda
-// returns 1 if any error, 0 if shutdown is imminent
-int ExternProcess(bool restart)
-{
- //HWND hWndMiranda = (HWND)CallService(MS_CLUI_GETHWND, 0, 0);
-
- // spawn a process that will:
- // -- wait for miranda to exit
- // -- move downloaded plugins from the temp folder to the Plugins folder, possibly backing up old ones
- // -- restart miranda
-
- char msg[1024];
- mir_snprintf(msg, SIZEOF(msg), "spawning external process, restart = %s", restart ? "true" : "false");
- NLog(msg);
-
- TCHAR data_filename[MAX_PATH];
- mir_sntprintf(data_filename, SIZEOF(data_filename), _T("%s\\ud_data.txt"), options.data_folder);
-
- // write data to file for external process to use
- HANDLE hDatFile = CreateFile(data_filename, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0);
- if (hDatFile == INVALID_HANDLE_VALUE)
- {
- //MessageBox(0, TranslateT("Could not create data file for restart."), TranslateT("Error"), MB_OK | MB_ICONERROR);
- ShowError(TranslateT("Could not create data file for restart"));
- return 1;
- }
-
- TCHAR db_pathT[MAX_PATH];
-
- if (CallService(MS_SYSTEM_GETVERSION, 0, 0) >= PLUGIN_MAKE_VERSION(0,9,0,12))
- {
- TCHAR *p = Utils_ReplaceVarsT(_T("%miranda_profile%\\%miranda_profilename%\\%miranda_profilename%.dat"));
- mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s"), p);
- mir_free(p);
- }
- else
- {
- char db_name[100], db_path[MAX_PATH];
-
- // Get Miranda exe path and profile
- CallService(MS_DB_GETPROFILENAME, SIZEOF(db_name), (WPARAM)db_name);
- CallService(MS_DB_GETPROFILEPATH, SIZEOF(db_path), (WPARAM)db_path);
-
- TCHAR *t1, *t2;
- mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s\\%s"), (t1=mir_a2t(db_path)), (t2=mir_a2t(db_name)));
- mir_free(t1); mir_free(t2);
- }
-
- // get plugin folder
- TCHAR* plugins_folder = Utils_ReplaceVarsT(_T("%miranda_path%\\Plugins"));
-
- TCHAR mir_exe[MAX_PATH];
- GetModuleFileName(NULL, mir_exe, SIZEOF(mir_exe));
-
- unsigned long bytes_written;
- static const TCHAR tnl[] = _T("\r\n");
-
- WriteFile(hDatFile, mir_exe, (unsigned)_tcslen(mir_exe) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, plugins_folder, (unsigned)_tcslen(plugins_folder) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, db_pathT, (unsigned)_tcslen(db_pathT) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, options.temp_folder, (unsigned)_tcslen(options.temp_folder) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
- if(options.backup)
- WriteFile(hDatFile, options.backup_folder, (unsigned)_tcslen(options.backup_folder) * sizeof(TCHAR), &bytes_written, FALSE);
- else
- WriteFile(hDatFile, _T("no backups"),(unsigned) _tcslen(_T("no backups")) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
-
- TCHAR buf[64];
- mir_sntprintf(buf, SIZEOF(buf), _T("%d"), (unsigned int)GetCurrentProcessId());
- //MessageBox(0, buf, "Writing process id", MB_OK);
- WriteFile(hDatFile, buf, (unsigned)_tcslen(buf) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
-
- mir_sntprintf(buf, SIZEOF(buf), restart ? _T("restart") : _T("no_restart"));
- WriteFile(hDatFile, buf, (unsigned)_tcslen(buf) * sizeof(TCHAR), &bytes_written, FALSE);
- WriteFile(hDatFile, tnl, 2 * sizeof(TCHAR), &bytes_written, FALSE);
-
- CloseHandle(hDatFile);
-
- mir_free(plugins_folder);
-
- /*
- if(!CallService(MS_SYSTEM_OKTOEXIT,0,0)) {
- DeleteFile(data_filename);
- MessageBox(0, TranslateT("Miranda's not 'OK TO EXIT'."), TranslateT("Error"), MB_OK | MB_ICONERROR);
- return;
- }
- */
-
- TCHAR szParams[MAX_PATH], szBuf[MAX_PATH], szProcDir[MAX_PATH];
-
- // try to fire up external process from new dll (if present), so we can overwrite the old one
- mir_sntprintf(szBuf, SIZEOF(szBuf), _T("%s\\plugins\\updater.dll"), options.temp_folder);
- if (_taccess(szBuf, 0))
- {
- mir_sntprintf(szBuf, SIZEOF(szBuf), _T("%s\\updater.dll"), options.temp_folder);
- if (_taccess(szBuf, 0))
- {
- GetModuleFileName(hInst, szBuf, MAX_PATH);
- }
- }
-
- GetRootDir(szProcDir); _tcscat(szProcDir, _T("\\"));
-
- if (IsWinVerXPPlus())
- {
- mir_sntprintf(szParams, SIZEOF(szParams), _T("RUNDLL32.EXE \"%s\",ExternalUpdate %s"), szBuf, data_filename);
- }
- else
- {
- TCHAR* p = _tcsrchr(szBuf, _T('\\')); if (p) *p = 0;
-
- // rundll32 hates spaces in the <dll name> arg, but quotes aren't allowed in earlier versions...
- // GetShortPath can return paths with spaces (at least on XP with 8.3 filenames disabled)...
- // so we must 'CreateProcess' with the updater.dll location as the startup directory and pass only updater.dll as the arg
-
- mir_sntprintf(szParams, SIZEOF(szParams), _T("RUNDLL32.EXE .\\plugins\\updater.dll,ExternalUpdate %s"), data_filename);
- }
-
- BOOL res;
-
- if (IsAdminRequired())
- {
- SHELLEXECUTEINFO info = {0};
- info.cbSize = sizeof(info);
-
- TCHAR *p = _tcschr(szParams, ' '); if (p) *(p++) = 0;
-
- info.lpVerb = _T("runas");
- info.lpFile = szParams;
- info.lpParameters = p;
- info.lpDirectory = szProcDir;
- info.nShow = SW_HIDE;
-
- res = ShellExecuteEx(&info);
- info.cbSize = sizeof(info);
-
- }
- else
- {
- PROCESS_INFORMATION pi = {0};
- STARTUPINFO si = {0};
- si.cb = sizeof(si);
-
- res = CreateProcess(0, szParams, 0, 0, 0,
- CREATE_NO_WINDOW | DETACHED_PROCESS | NORMAL_PRIORITY_CLASS,
- 0, szProcDir, &si, &pi);
-
- if (res)
- {
- CloseHandle(pi.hThread);
- CloseHandle(pi.hProcess);
- }
- }
-
- if (res)
- {
- PostMessage((HWND)CallService(MS_CLUI_GETHWND, 0, 0), WM_COMMAND, ID_ICQ_EXIT, 0);
- }
- else
- {
- TCHAR msg[256];
- mir_sntprintf(msg, SIZEOF(msg), _T("Error code: %d"), GetLastError());
- MessageBox(0, msg, TranslateT("CreateProcess"), MB_OK | MB_ICONERROR);
- }
-
- return !res;
-}
-
-#ifdef _UD_LOGGING
-void mWriteFile(HANDLE hFile, char *line) {
- unsigned long bytes_written;
- const char *nl = "\r\n";
-
- WriteFile(hFile, line, (unsigned)strlen(line), &bytes_written, FALSE);
- WriteFile(hFile, nl, 2, &bytes_written, FALSE);
-}
-
-void mWriteFile(HANDLE hFile, wchar_t *line) {
- unsigned long bytes_written;
- const char *nl = "\r\n";
-
- char buf[267];
- WideCharToMultiByte(CP_ACP, 0, line, -1, buf, SIZEOF(buf), NULL, NULL);
-
- WriteFile(hFile, buf, (unsigned)strlen(buf), &bytes_written, FALSE);
- WriteFile(hFile, nl, 2, &bytes_written, FALSE);
-}
-#endif
-
-// move all files in src_folder to dst_folder - put replaced files in backup folder
-// if a file in src_folder is a directory, copy it's contents to the same dir in the root folder and
-// set that dir as the new root (so that dirs in dirs go in the right place)
-void MoveFiles(HANDLE hLogFile, TCHAR *src_folder, TCHAR *dst_folder, TCHAR *backup_folder, TCHAR *root_folder)
-{
- // move files from src_folder to dst_folder
-
- if(!src_folder || _tcslen(src_folder) == 0) {
- MessageBox(0, _T("Your 'temporary files' folder is set to NULL. Install aborted."), _T("Updater Error"), MB_OK | MB_ICONERROR);
- return;
- }
-
- TCHAR szFilesPath[MAX_PATH], szOldFileName[MAX_PATH], szNewFileName[MAX_PATH], szBackupFileName[MAX_PATH];
-
- bool do_backups = backup_folder ? (_tcscmp(backup_folder, _T("no backups")) != 0) : false;
-
- // ensure the destination folder exists
- if (!CreatePath(dst_folder))
- return;
-
- _sntprintf(szFilesPath, SIZEOF(szFilesPath), _T("%s\\*.*"), src_folder);
- szFilesPath[SIZEOF(szFilesPath) - 1] = 0;
-
- bool move_file;
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(szFilesPath, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do
- {
- if (findData.cFileName[0] != '.')
- {
-
- _sntprintf(szOldFileName, SIZEOF(szOldFileName), _T("%s\\%s"), src_folder, findData.cFileName);
- szOldFileName[SIZEOF(szOldFileName) - 1] = 0;
-
- if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- {
- // use szNewFileName as destination and new root folder
- if (_tcslen(findData.cFileName) < SIZEOF(ROOT_FILES_FOLDER) - 1 || _tcsicmp(findData.cFileName, ROOT_FILES_FOLDER))
- {
- _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), root_folder, findData.cFileName);
- szNewFileName[SIZEOF(szNewFileName) - 1] = 0;
- }
- else
- _tcscpy(szNewFileName, root_folder);
-
- // recurse
- MoveFiles(hLogFile, szOldFileName, szNewFileName, backup_folder, szNewFileName);
-
- }
- else
- {
- // exception for langpack files - move to root_folder
- // exception for dbtool.exe (e.g. translated) - move to root_folder
- if((_tcsnicmp(findData.cFileName, _T("dbtool.exe"), _tcslen(_T("dbtool.exe"))) == 0)
- || (_tcsnicmp(findData.cFileName, _T("langpack_"), _tcslen(_T("langpack_"))) == 0))
- {
- _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), root_folder, findData.cFileName);
- szNewFileName[SIZEOF(szNewFileName) - 1] = 0;
- }
- else
- {
- _sntprintf(szNewFileName, SIZEOF(szNewFileName), _T("%s\\%s"), dst_folder, findData.cFileName);
- szNewFileName[SIZEOF(szNewFileName) - 1] = 0;
- }
-
- move_file = false;
- if (do_backups)
- {
- _sntprintf(szBackupFileName, SIZEOF(szBackupFileName), _T("%s\\%s"), backup_folder, findData.cFileName);
- szBackupFileName[SIZEOF(szBackupFileName) - 1] = 0;
-
- move_file = true;
- DeleteFile(szBackupFileName);
- if(!MoveFile(szNewFileName, szBackupFileName))
- {
- // MessageBox(0, szNewFileName, __T("Could not backup!"), MB_OK | MB_ICONWARNING);
- }
- }
- else
- {
- move_file = true;
- if (!DeleteFile(szNewFileName))
- {
- // MessageBox(0, szNewFileName, _T("Could not delete!"), MB_OK | MB_ICONWARNING);
- }
- }
-
- if (move_file)
- {
- if (!MoveFile(szOldFileName, szNewFileName))
- {
- //MessageBox(0, szOldFileName, _T("Could not move!"), MB_OK | MB_ICONWARNING);
-
- // try a copy - possibly win98 etc. will not move the updater.dll when it is being used by this process
- CopyFile(szOldFileName, szNewFileName, FALSE);
- DeleteFile(szOldFileName); // docs say it is marked for delete and actually removed when the last handle is closed...hmm
- }
- }
- else
- DeleteFile(szOldFileName);
- }
- }
- }
- while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-
- RemoveDirectory(src_folder);
-}
-
-bool ReadTLine(HANDLE hDatFile, TCHAR *line, int bsize, int &offset) {
- unsigned long bytes_read;
- BOOL bResult;
- while((bResult = ReadFile(hDatFile, line + offset, sizeof(TCHAR), &bytes_read, 0)) && offset < bsize && bytes_read == sizeof(TCHAR) && line[offset] && (line[offset] != _T('\n') || (offset > 0 && line[offset - 1] != _T('\r')))) offset++;
-
-#ifndef _UNICODE
- if(offset == 1 && line[1] == 0) {
- wchar_t wline[MAX_PATH];
- wline[0] = *(wchar_t *)line;
-
- while((bResult = ReadFile(hDatFile, wline + offset, sizeof(wchar_t), &bytes_read, 0)) && offset < bsize && bytes_read == sizeof(wchar_t) && wline[offset] && (wline[offset] != L'\n' || (offset > 0 && wline[offset - 1] != L'\r'))) offset++;
- if(offset > 0) wline[offset - 1] = 0; // cut off /r/n
-
- WideCharToMultiByte(CP_ACP, 0, wline, -1, line, bsize, 0, 0);
- }
-#endif
- if(offset > 0) line[offset - 1] = 0; // cut off /r/n
- return true;
-}
-
-void CALLBACK ExternalUpdate(HWND hwnd, HINSTANCE hInstance, LPSTR lpszCmdLine, int nCmdShow)
-{
- //MessageBox(0, _T("ExternalUpdate"), _T("Updater"), MB_OK);
- HANDLE hDatFile = CreateFileA(lpszCmdLine, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
- if(hDatFile == INVALID_HANDLE_VALUE) {
- char msg[1024];
- _snprintf(msg, SIZEOF(msg), "Could not read data file:\n%s", lpszCmdLine);
- MessageBoxA(0, msg, "Updater Error", MB_OK | MB_ICONERROR);
- } else {
-
- TCHAR *mir_exe = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)),
- *plugins_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)),
- *temp_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)),
- *backup_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)),
- *root_folder = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)),
- *db_path = (TCHAR *)malloc(MAX_PATH * sizeof(TCHAR)),
- *pid = (TCHAR *)malloc(64 * sizeof(TCHAR));
-
- bool restart = true;
-
- {
- int i = 0, offset;
- TCHAR line[MAX_PATH];
- BOOL bResult = TRUE;
- do {
- offset = 0;
- ReadTLine(hDatFile, line, MAX_PATH, offset);
-
- switch(i) {
- case 0: _tcsncpy(mir_exe, line, MAX_PATH); break;
- case 1: _tcsncpy(plugins_folder, line, MAX_PATH); break;
- case 2: _tcsncpy(db_path, line, MAX_PATH); break;
- case 3: _tcsncpy(temp_folder, line, MAX_PATH); break;
- case 4: _tcsncpy(backup_folder, line, MAX_PATH); break;
- case 5: _tcsncpy(pid, line, 64); break;
- case 6:
- restart = (_tcsncmp(line, _T("restart"), 7) == 0);
- offset = 0; // end loop
- break;
- default:
- offset = 0; // end loop
- }
- i++;
- } while(offset > 0);
- }
- CloseHandle(hDatFile);
-// use data file to log to
-#ifndef _UD_LOGGING
- DeleteFileA(lpszCmdLine);
-#else
- HANDLE hDatFile = CreateFileA(lpszCmdLine, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0);
-#endif
-
-#ifdef _UD_LOGGING
- mWriteFile(hDatFile, "Inside external process...");
-#endif
-
- _tcscpy(root_folder, mir_exe);
- TCHAR *p = _tcsrchr(root_folder, _T('\\')); if (p) *p = 0;
-
- // ensure miranda has exited
- DWORD mpi = (DWORD)_ttol(pid);
-
- bool exited = false;
-
-#ifdef _UD_LOGGING
- char logmsg[1024];
- sprintf(logmsg, "Opening process #%d...", mpi);
- mWriteFile(hDatFile, logmsg);
-#endif
-
- HANDLE hMiranda = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, FALSE, mpi);
- if(hMiranda) {
- int mbFlags, idRetry, idCancel, idContinue;
- const int MAX_SIZE = 2048;
- TCHAR message[MAX_SIZE];
- int exitStatus;
-
- OSVERSIONINFO vi = {0};
- vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- GetVersionEx(&vi);
- _tcsncpy(message, _T("Miranda did not exit - cannot install or restart.\n"), MAX_SIZE);
-
- if (vi.dwMajorVersion = 5) {
- //windows 2000+
- mbFlags = 0x00000006L; //MB_CANCELTRYCONTINUE;
- idRetry = 10; //IDTRYAGAIN
- idCancel = IDCANCEL;
- idContinue = 11; //IDCONTINUE
- _tcsncat(message, _T("Press 'Try again' to check Miranda's status again, press 'Continue' to kill the process or press 'Cancel' to abort."), MAX_SIZE);
- } else {
- //windows 98, me
- mbFlags = MB_ABORTRETRYIGNORE;
- idRetry = IDRETRY;
- idCancel = IDCANCEL;
- idContinue = IDIGNORE;
- _tcsncat(message, _T("Press 'Retry' to check Miranda's status again, press 'Ignore' to kill the process or press 'Abort' to abort."), MAX_SIZE);
- }
-
- while ((exitStatus = WaitForSingleObjectEx(hMiranda, 20 * 1000, FALSE)) == WAIT_TIMEOUT) {
- int res = MessageBox(0, message, _T("Updater Error"), mbFlags | MB_ICONERROR);
-
- if (res == idContinue) {
- //if the user chooses Continue then kill the application
- TerminateProcess(hMiranda, 1);
- if((exitStatus = WaitForSingleObjectEx(hMiranda, 5 * 1000, FALSE)) == WAIT_TIMEOUT) {
- //hMiranda = OpenProcess(SYNCHRONIZE, FALSE, mpi);
- //if(hMiranda) {
- //CloseHandle(hMiranda);
- MessageBox(0, _T("It seems Miranda is still running. Aborting update."), _T("Updater Error"), MB_OK | MB_ICONERROR);
- } else {
-#ifdef _UD_LOGGING
- mWriteFile(hDatFile, "Wait for miranda processs to 'Terminate' interrupted - assuming it exited");
-#endif
- }
- } else {
- if (res == idRetry) {
- //if the user selected 'Try again' then wait a bit more.
- continue; //wait again
- }
- }
-
- break; //don't update anymore (happens when user choses 'Continue' or 'Cacel'
- }
-#ifdef _UD_LOGGING
- mWriteFile(hDatFile, "Wait for miranda processs interrupted - assuming it exited");
-#endif
- exited = (exitStatus != WAIT_TIMEOUT);
- CloseHandle(hMiranda);
- } else {
-#ifdef _UD_LOGGING
- mWriteFile(hDatFile, "Could not open miranda processs - assuming it exited");
-#endif
- //MessageBox(0, "Could not open Miranda process", "Update Error", MB_OK | MB_ICONERROR);
- exited = true;
- }
-
- if(exited) {
-#ifdef _UD_LOGGING
- mWriteFile(hDatFile, "Miranda exited - moving files");
- MoveFiles(hDatFile, temp_folder, plugins_folder, backup_folder, root_folder);
-#else
- MoveFiles(0, temp_folder, plugins_folder, backup_folder, root_folder);
- RemoveDirectory(temp_folder);
-#endif
- // move files
-
- // restart miranda
- if(restart) {
-#ifdef _UD_LOGGING
- mWriteFile(hDatFile, "Restarting");
-#endif
- TCHAR szArgs[MAX_PATH];
- //wsprintf(szArgs, "\"%s\" \"%s\"", db_path, db_name);
- _sntprintf(szArgs, SIZEOF(szArgs), _T("\"%s\" \"%s\""), mir_exe, db_path); // includes name, dummy instead of executable?
- //wsprintf(szArgs, "\"%s\"", db_name);
-
-
- PROCESS_INFORMATION pi = {0};
- STARTUPINFO si = {0};
- si.cb = sizeof(si);
-
- if (!CreateProcess(mir_exe, szArgs, 0, 0, 0, DETACHED_PROCESS | NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi))
- {
- MessageBox(0, _T("Failed to restart Miranda"), _T("Updater Error"), MB_OK | MB_ICONERROR);
- //MessageBox(0, szArgs, mir_exe, MB_OK);
- }
- else
- {
- CloseHandle(pi.hThread);
- CloseHandle(pi.hProcess);
- }
- //ShellExecute(0, 0, mir_exe, szArgs, 0, SW_NORMAL);
- }
- }
-#ifdef _UD_LOGGING
- else mWriteFile(hDatFile, "Miranda did not exit");
-#endif
-
- free(pid);
- free(db_path);
- free(root_folder);
- free(backup_folder);
- free(temp_folder);
- free(plugins_folder);
- free(mir_exe);
-
-#ifdef _UD_LOGGING
- CloseHandle(hDatFile);
-#endif
- }
-
- FreeLibraryAndExitThread(hInstance, TRUE);
-}
diff --git a/plugins/updater/extern.h b/plugins/updater/extern.h
deleted file mode 100644
index c6091f4dfa..0000000000
--- a/plugins/updater/extern.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _EXTERN_INC
-#define _EXTERN_INC
-
-#include "options.h"
-
-
-#define ROOT_FILES_FOLDER _T("root_files")
-
-// returns 1 if any error, 0 if shutdown is imminent
-int ExternProcess(bool restart);
-
-// move all files in src_folder to backup_folder - put replaced files in backup folder
-// if a file in src_folder is a directory, copy it's contents to the same dir in the root folder and
-// set that dir as the new root (so that dirs in dirs go in the right place)
-void MoveFiles(HANDLE hLogFile, TCHAR *src_folder, TCHAR *dst_folder, TCHAR *backup_folder, TCHAR *root_folder);
-
-
-void CALLBACK ExternalUpdate(HWND hwnd, HINSTANCE hInstance, LPSTR lpszCmdLine, int nCmdShow);
-
-#endif
diff --git a/plugins/updater/ezxml.c b/plugins/updater/ezxml.c
deleted file mode 100644
index a88e22769d..0000000000
--- a/plugins/updater/ezxml.c
+++ /dev/null
@@ -1,967 +0,0 @@
-/* ezxml.c
- *
- * Copyright 2004-2006 Aaron Voisine <aaron@voisine.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#if defined(_DEBUG) && !defined(__GNUC__)
- #define _CRTDBG_MAP_ALLOC
- #include <stdlib.h>
- #include <crtdbg.h>
-#else
- #include <stdlib.h>
-#endif
-
-#include <limits.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <ctype.h>
-
-#include "ezxml.h"
-
-#ifndef SIZE_MAX
-#define SIZE_MAX UINT_MAX
-#endif
-
-#define EZXML_WS "\t\r\n " // whitespace
-#define EZXML_ERRL 128 // maximum error string length
-
-typedef struct ezxml_root *ezxml_root_t;
-struct ezxml_root { // additional data for the root tag
- struct ezxml xml; // is a super-struct built on top of ezxml struct
- ezxml_t cur; // current xml tree insertion point
- char *m; // original xml string
- size_t len; // length of allocated memory for mmap, -1 for malloc
- char *u; // UTF-8 conversion of string if original was UTF-16
- char *s; // start of work area
- char *e; // end of work area
- char **ent; // general entities (ampersand sequences)
- char ***attr; // default attributes
- char ***pi; // processing instructions
- short standalone; // non-zero if <?xml standalone="yes"?>
- char err[EZXML_ERRL]; // error string
-};
-
-char *EZXML_NIL[] = { NULL }; // empty, null terminated array of strings
-
-// returns the first child tag with the given name or NULL if not found
-ezxml_t ezxml_child(ezxml_t xml, const char *name)
-{
- xml = (xml) ? xml->child : NULL;
- while (xml && strcmp(name, xml->name)) xml = xml->sibling;
- return xml;
-}
-
-// returns the Nth tag with the same name in the same subsection or NULL if not
-// found
-ezxml_t ezxml_idx(ezxml_t xml, int idx)
-{
- for (; xml && idx; idx--) xml = xml->next;
- return xml;
-}
-
-// returns the value of the requested tag attribute or NULL if not found
-const char *ezxml_attr(ezxml_t xml, const char *attr)
-{
- int i = 0, j = 1;
- ezxml_root_t root = (ezxml_root_t)xml;
-
- if (! xml || ! xml->attr) return NULL;
- while (xml->attr[i] && strcmp(attr, xml->attr[i])) i += 2;
- if (xml->attr[i]) return xml->attr[i + 1]; // found attribute
-
- while (root->xml.parent) root = (ezxml_root_t)root->xml.parent; // root tag
- for (i = 0; root->attr[i] && strcmp(xml->name, root->attr[i][0]); i++);
- if (! root->attr[i]) return NULL; // no matching default attributes
- while (root->attr[i][j] && strcmp(attr, root->attr[i][j])) j += 3;
- return (root->attr[i][j]) ? root->attr[i][j + 1] : NULL; // found default
-}
-
-// same as ezxml_get but takes an already initialized va_list
-ezxml_t ezxml_vget(ezxml_t xml, va_list ap)
-{
- char *name = va_arg(ap, char *);
- int idx = -1;
-
- if (name && *name) {
- idx = va_arg(ap, int);
- xml = ezxml_child(xml, name);
- }
- return (idx < 0) ? xml : ezxml_vget(ezxml_idx(xml, idx), ap);
-}
-
-// Traverses the xml tree to retrieve a specific subtag. Takes a variable
-// length list of tag names and indexes. The argument list must be terminated
-// by either an index of -1 or an empty string tag name. Example:
-// title = ezxml_get(library, "shelf", 0, "book", 2, "title", -1);
-// This retrieves the title of the 3rd book on the 1st shelf of library.
-// Returns NULL if not found.
-ezxml_t ezxml_get(ezxml_t xml, ...)
-{
- va_list ap;
- ezxml_t r;
-
- va_start(ap, xml);
- r = ezxml_vget(xml, ap);
- va_end(ap);
- return r;
-}
-
-// returns a null terminated array of processing instructions for the given
-// target
-const char **ezxml_pi(ezxml_t xml, const char *target)
-{
- ezxml_root_t root = (ezxml_root_t)xml;
- int i = 0;
-
- if (! root) return (const char **)EZXML_NIL;
- while (root->xml.parent) root = (ezxml_root_t)root->xml.parent; // root tag
- while (root->pi[i] && strcmp(target, root->pi[i][0])) i++; // find target
- return (const char **)((root->pi[i]) ? root->pi[i] + 1 : EZXML_NIL);
-}
-
-// set an error string and return root
-ezxml_t ezxml_err(ezxml_root_t root, char *s, const char *err, ...)
-{
- va_list ap;
- int line = 1;
- char *t, fmt[EZXML_ERRL];
-
- for (t = root->s; t < s; t++) if (*t == '\n') line++;
- _snprintf(fmt, EZXML_ERRL, "[error near line %d]: %s", line, err);
-
- va_start(ap, err);
- _vsnprintf(root->err, EZXML_ERRL, fmt, ap);
- va_end(ap);
-
- return &root->xml;
-}
-
-// Recursively decodes entity and character references and normalizes new lines
-// ent is a null terminated array of alternating entity names and values. set t
-// to '&' for general entity decoding, '%' for parameter entity decoding, 'c'
-// for cdata sections, ' ' for attribute normalization, or '*' for non-cdata
-// attribute normalization. Returns s, or if the decoded string is longer than
-// s, returns a malloced string that must be freed.
-char *ezxml_decode(char *s, char **ent, char t)
-{
- char *e, *r = s, *m = s;
- long b, c, d, l;
-/*
- for (; *s; s++) { // normalize line endings
- while (*s == '\r') {
- *(s++) = '\n';
- if (*s == '\n') memmove(s, (s + 1), strlen(s));
- }
- }
-*/
- for (s = r; ; ) {
- while (*s && *s != '&' && (*s != '%' || t != '%') && (*s & 0x80 || !isspace(*s))) s++;
-
- if (! *s) break;
- else if (t != 'c' && ! strncmp(s, "&#", 2)) { // character reference
- if (s[2] == 'x') c = strtol(s + 3, &e, 16); // base 16
- else c = strtol(s + 2, &e, 10); // base 10
- if (! c || *e != ';') { s++; continue; } // not a character ref
-
- if (c < 0x80) *(s++) = (char)c; // US-ASCII subset
- else { // multi-byte UTF-8 sequence
- for (b = 0, d = c; d; d /= 2) b++; // number of bits in c
- b = (b - 2) / 5; // number of bytes in payload
- *(s++) = (char)((0xFF << (7 - b)) | (c >> (6 * b))); // head
- while (b) *(s++) = (char)(0x80 | ((c >> (6 * --b)) & 0x3F)); // payload
- }
-
- memmove(s, strchr(s, ';') + 1, strlen(strchr(s, ';')));
- }
- else if ((*s == '&' && (t == '&' || t == ' ' || t == '*')) ||
- (*s == '%' && t == '%')) { // entity reference
- for (b = 0; ent[b] && strncmp(s + 1, ent[b], strlen(ent[b]));
- b += 2); // find entity in entity list
-
- if (ent[b++]) { // found a match
- if ((c = (long)strlen(ent[b])) - 1 > (e = strchr(s, ';')) - s) {
- l = (d = (long)(s - r)) + c + (long)strlen(e); // new length
- r = (r == m) ? strcpy(malloc(l), r) : realloc(r, l);
- e = strchr((s = r + d), ';'); // fix up pointers
- }
-
- memmove(s + c, e + 1, strlen(e)); // shift rest of string
- strncpy(s, ent[b], c); // copy in replacement text
- }
- else s++; // not a known entity
- }
- else if ((t == ' ' || t == '*') && isspace(*s)) *(s++) = ' ';
- else s++; // no decoding needed
- }
-
- if (t == '*') { // normalize spaces for non-cdata attributes
- for (s = r; *s; s++) {
- if ((l = (long)strspn(s, " "))) memmove(s, s + l, strlen(s + l) + 1);
- while (*s && *s != ' ') s++;
- }
- if (--s >= r && *s == ' ') *s = '\0'; // trim any trailing space
- }
- return r;
-}
-
-// called when parser finds start of new tag
-void ezxml_open_tag(ezxml_root_t root, char *name, char **attr)
-{
- ezxml_t xml = root->cur;
-
- if (xml->name) xml = ezxml_add_child(xml, name, strlen(xml->txt));
- else xml->name = name; // first open tag
-
- xml->attr = attr;
- root->cur = xml; // update tag insertion point
-}
-
-// called when parser finds character content between open and closing tag
-void ezxml_char_content(ezxml_root_t root, char *s, size_t len, char t)
-{
- ezxml_t xml = root->cur;
- char *m = s;
- size_t l;
-
- if (! xml || ! xml->name || ! len) return; // sanity check
-
- s[len] = '\0'; // null terminate text (calling functions anticipate this)
- len = strlen(s = ezxml_decode(s, root->ent, t)) + 1;
-
- if (! *(xml->txt)) xml->txt = s; // initial character content
- else { // allocate our own memory and make a copy
- xml->txt = (xml->flags & EZXML_TXTM) // allocate some space
- ? realloc(xml->txt, (l = strlen(xml->txt)) + len)
- : strcpy(malloc((l = strlen(xml->txt)) + len), xml->txt);
- strcpy(xml->txt + l, s); // add new char content
- if (s != m) free(s); // free s if it was malloced by ezxml_decode()
- }
-
- if (xml->txt != m) ezxml_set_flag(xml, EZXML_TXTM);
-}
-
-// called when parser finds closing tag
-ezxml_t ezxml_close_tag(ezxml_root_t root, char *name, char *s)
-{
- if (! root->cur || ! root->cur->name || strcmp(name, root->cur->name))
- return ezxml_err(root, s, "unexpected closing tag </%s>", name);
-
- root->cur = root->cur->parent;
- return NULL;
-}
-
-// checks for circular entity references, returns non-zero if no circular
-// references are found, zero otherwise
-int ezxml_ent_ok(char *name, char *s, char **ent)
-{
- int i;
-
- for (; ; s++) {
- while (*s && *s != '&') s++; // find next entity reference
- if (! *s) return 1;
- if (! strncmp(s + 1, name, strlen(name))) return 0; // circular ref.
- for (i = 0; ent[i] && strncmp(ent[i], s + 1, strlen(ent[i])); i += 2);
- if (ent[i] && ! ezxml_ent_ok(name, ent[i + 1], ent)) return 0;
- }
-}
-
-// called when the parser finds a processing instruction
-void ezxml_proc_inst(ezxml_root_t root, char *s, size_t len)
-{
- int i = 0, j = 1;
- char *target = s;
-
- s[len] = '\0'; // null terminate instruction
- if (*(s += strcspn(s, EZXML_WS))) {
- *s = '\0'; // null terminate target
- s += strspn(s + 1, EZXML_WS) + 1; // skip whitespace after target
- }
-
- if (! strcmp(target, "xml")) { // <?xml ... ?>
- if ((s = strstr(s, "standalone")) && ! strncmp(s + strspn(s + 10,
- EZXML_WS "='\"") + 10, "yes", 3)) root->standalone = 1;
- return;
- }
-
- if (! root->pi[0]) *(root->pi = malloc(sizeof(char **))) = NULL; //first pi
-
- while (root->pi[i] && strcmp(target, root->pi[i][0])) i++; // find target
- if (! root->pi[i]) { // new target
- root->pi = realloc(root->pi, sizeof(char **) * (i + 2));
- root->pi[i] = malloc(sizeof(char *) * 3);
- root->pi[i][0] = target;
- root->pi[i][1] = (char *)(root->pi[i + 1] = NULL); // terminate pi list
- root->pi[i][2] = _strdup(""); // empty document position list
- }
-
- while (root->pi[i][j]) j++; // find end of instruction list for this target
- root->pi[i] = realloc(root->pi[i], sizeof(char *) * (j + 3));
- root->pi[i][j + 2] = realloc(root->pi[i][j + 1], j + 1);
- strcpy(root->pi[i][j + 2] + j - 1, (root->xml.name) ? ">" : "<");
- root->pi[i][j + 1] = NULL; // null terminate pi list for this target
- root->pi[i][j] = s; // set instruction
-}
-
-// called when the parser finds an internal doctype subset
-short ezxml_internal_dtd(ezxml_root_t root, char *s, size_t len)
-{
- char q, *c, *t, *n = NULL, *v, **ent, **pe;
- int i, j;
-
- pe = memcpy(malloc(sizeof(EZXML_NIL)), EZXML_NIL, sizeof(EZXML_NIL));
-
- for (s[len] = '\0'; s; ) {
- while (*s && *s != '<' && *s != '%') s++; // find next declaration
-
- if (! *s) break;
- else if (! strncmp(s, "<!ENTITY", 8)) { // parse entity definitions
- c = s += strspn(s + 8, EZXML_WS) + 8; // skip white space separator
- n = s + strspn(s, EZXML_WS "%"); // find name
- *(s = n + strcspn(n, EZXML_WS)) = ';'; // append ; to name
-
- v = s + strspn(s + 1, EZXML_WS) + 1; // find value
- if ((q = *(v++)) != '"' && q != '\'') { // skip externals
- s = strchr(s, '>');
- continue;
- }
-
- for (i = 0, ent = (*c == '%') ? pe : root->ent; ent[i]; i++);
- ent = realloc(ent, (i + 3) * sizeof(char *)); // space for next ent
- if (*c == '%') pe = ent;
- else root->ent = ent;
-
- *(++s) = '\0'; // null terminate name
- if ((s = strchr(v, q))) *(s++) = '\0'; // null terminate value
- ent[i + 1] = ezxml_decode(v, pe, '%'); // set value
- ent[i + 2] = NULL; // null terminate entity list
- if (! ezxml_ent_ok(n, ent[i + 1], ent)) { // circular reference
- if (ent[i + 1] != v) free(ent[i + 1]);
- ezxml_err(root, v, "circular entity declaration &%s", n);
- break;
- }
- else ent[i] = n; // set entity name
- }
- else if (! strncmp(s, "<!ATTLIST", 9)) { // parse default attributes
- t = s + strspn(s + 9, EZXML_WS) + 9; // skip whitespace separator
- if (! *t) { ezxml_err(root, t, "unclosed <!ATTLIST"); break; }
- if (*(s = t + strcspn(t, EZXML_WS ">")) == '>') continue;
- else *s = '\0'; // null terminate tag name
- for (i = 0; root->attr[i] && strcmp(n, root->attr[i][0]); i++);
-
- while (*(n = ++s + strspn(s, EZXML_WS)) && *n != '>') {
- if (*(s = n + strcspn(n, EZXML_WS))) *s = '\0'; // attr name
- else { ezxml_err(root, t, "malformed <!ATTLIST"); break; }
-
- s += strspn(s + 1, EZXML_WS) + 1; // find next token
- c = (strncmp(s, "CDATA", 5)) ? "*" : " "; // is it cdata?
- if (! strncmp(s, "NOTATION", 8))
- s += strspn(s + 8, EZXML_WS) + 8;
- s = (*s == '(') ? strchr(s, ')') : s + strcspn(s, EZXML_WS);
- if (! s) { ezxml_err(root, t, "malformed <!ATTLIST"); break; }
-
- s += strspn(s, EZXML_WS ")"); // skip white space separator
- if (! strncmp(s, "#FIXED", 6))
- s += strspn(s + 6, EZXML_WS) + 6;
- if (*s == '#') { // no default value
- s += strcspn(s, EZXML_WS ">") - 1;
- if (*c == ' ') continue; // cdata is default, nothing to do
- v = NULL;
- }
- else if ((*s == '"' || *s == '\'') && // default value
- (s = strchr(v = s + 1, *s))) *s = '\0';
- else { ezxml_err(root, t, "malformed <!ATTLIST"); break; }
-
- if (! root->attr[i]) { // new tag name
- root->attr = (! i) ? malloc(2 * sizeof(char **))
- : realloc(root->attr,
- (i + 2) * sizeof(char **));
- root->attr[i] = malloc(2 * sizeof(char *));
- root->attr[i][0] = t; // set tag name
- root->attr[i][1] = (char *)(root->attr[i + 1] = NULL);
- }
-
- for (j = 1; root->attr[i][j]; j += 3); // find end of list
- root->attr[i] = realloc(root->attr[i],
- (j + 4) * sizeof(char *));
-
- root->attr[i][j + 3] = NULL; // null terminate list
- root->attr[i][j + 2] = c; // is it cdata?
- root->attr[i][j + 1] = (v) ? ezxml_decode(v, root->ent, *c)
- : NULL;
- root->attr[i][j] = n; // attribute name
- }
- }
- else if (! strncmp(s, "<!--", 4)) s = strstr(s + 4, "-->"); // comments
- else if (! strncmp(s, "<?", 2)) { // processing instructions
- if ((s = strstr(c = s + 2, "?>")))
- ezxml_proc_inst(root, c, s++ - c);
- }
- else if (*s == '<') s = strchr(s, '>'); // skip other declarations
- else if (*(s++) == '%' && ! root->standalone) break;
- }
-
- free(pe);
- return ! *root->err;
-}
-
-// Converts a UTF-16 string to UTF-8. Returns a new string that must be freed
-// or NULL if no conversion was needed.
-char *ezxml_str2utf8(char **s, size_t *len)
-{
- char *u;
- size_t l = 0, sl, max = *len;
- long c, d;
- int b, be = (**s == '\xFE') ? 1 : (**s == '\xFF') ? 0 : -1;
-
- if (be == -1) return NULL; // not UTF-16
-
- u = malloc(max);
- for (sl = 2; sl < *len - 1; sl += 2) {
- c = (be) ? (((*s)[sl] & 0xFF) << 8) | ((*s)[sl + 1] & 0xFF) //UTF-16BE
- : (((*s)[sl + 1] & 0xFF) << 8) | ((*s)[sl] & 0xFF); //UTF-16LE
- if (c >= 0xD800 && c <= 0xDFFF && (sl += 2) < *len - 1) { // high-half
- d = (be) ? (((*s)[sl] & 0xFF) << 8) | ((*s)[sl + 1] & 0xFF)
- : (((*s)[sl + 1] & 0xFF) << 8) | ((*s)[sl] & 0xFF);
- c = (((c & 0x3FF) << 10) | (d & 0x3FF)) + 0x10000;
- }
-
- while (l + 6 > max) u = realloc(u, max += EZXML_BUFSIZE);
- if (c < 0x80) u[l++] = (char)c; // US-ASCII subset
- else { // multi-byte UTF-8 sequence
- for (b = 0, d = c; d; d /= 2) b++; // bits in c
- b = (b - 2) / 5; // bytes in payload
- u[l++] = (char)((0xFF << (7 - b)) | (c >> (6 * b))); // head
- while (b) u[l++] = (char)(0x80 | ((c >> (6 * --b)) & 0x3F)); // payload
- }
- }
- return *s = realloc(u, *len = l);
-}
-
-// frees a tag attribute list
-void ezxml_free_attr(char **attr) {
- int i = 0;
- char *m;
-
- if (! attr || attr == EZXML_NIL) return; // nothing to free
- while (attr[i]) i += 2; // find end of attribute list
- m = attr[i + 1]; // list of which names and values are malloced
- for (i = 0; m[i]; i++) {
- if (m[i] & EZXML_NAMEM) free(attr[i * 2]);
- if (m[i] & EZXML_TXTM) free(attr[(i * 2) + 1]);
- }
- free(m);
- free(attr);
-}
-
-// parse the given xml string and return an ezxml structure
-ezxml_t ezxml_parse_str(char *s, size_t len)
-{
- ezxml_root_t root = (ezxml_root_t)ezxml_new(NULL);
- char q, e, *d, **attr, **a = NULL; // initialize a to avoid compile warning
- int l, i, j;
-
- root->m = s;
- if (! len) return ezxml_err(root, NULL, "root tag missing");
- root->u = ezxml_str2utf8(&s, &len); // convert utf-16 to utf-8
- root->e = (root->s = s) + len; // record start and end of work area
-
- e = s[len - 1]; // save end char
- s[len - 1] = '\0'; // turn end char into null terminator
-
- while (*s && *s != '<') s++; // find first tag
- if (! *s) return ezxml_err(root, s, "root tag missing");
-
- for (; ; ) {
- attr = (char **)EZXML_NIL;
- d = ++s;
-
- if (isalpha(*s) || *s == '_' || *s == ':' || *s < '\0') { // new tag
- if (! root->cur)
- return ezxml_err(root, d, "markup outside of root element");
-
- s += strcspn(s, EZXML_WS "/>");
- while (isspace(*s)) *(s++) = '\0'; // null terminate tag name
-
- if (*s && *s != '/' && *s != '>') // find tag in default attr list
- for (i = 0; (a = root->attr[i]) && strcmp(a[0], d); i++);
-
- for (l = 0; *s && *s != '/' && *s != '>'; l += 2) { // new attrib
- attr = (l) ? realloc(attr, (l + 4) * sizeof(char *))
- : malloc(4 * sizeof(char *)); // allocate space
- attr[l + 3] = (l) ? realloc(attr[l + 1], (l / 2) + 2)
- : malloc(2); // mem for list of maloced vals
- strcpy(attr[l + 3] + (l / 2), " "); // value is not malloced
- attr[l + 2] = NULL; // null terminate list
- attr[l + 1] = ""; // temporary attribute value
- attr[l] = s; // set attribute name
-
- s += strcspn(s, EZXML_WS "=/>");
- if (*s == '=' || isspace(*s)) {
- *(s++) = '\0'; // null terminate tag attribute name
- q = *(s += strspn(s, EZXML_WS "="));
- if (q == '"' || q == '\'') { // attribute value
- attr[l + 1] = ++s;
- while (*s && *s != q) s++;
- if (*s) *(s++) = '\0'; // null terminate attribute val
- else {
- ezxml_free_attr(attr);
- return ezxml_err(root, d, "missing %c", q);
- }
-
- for (j = 1; a && a[j] && strcmp(a[j], attr[l]); j +=3);
- attr[l + 1] = ezxml_decode(attr[l + 1], root->ent,
- (char)((a && a[j]) ? *a[j + 2] : ' '));
- if (attr[l + 1] < d || attr[l + 1] > s)
- attr[l + 3][l / 2] = EZXML_TXTM; // value malloced
- }
- }
- while (isspace(*s)) s++;
- }
-
- if (*s == '/') { // self closing tag
- *(s++) = '\0';
- if ((*s && *s != '>') || (! *s && e != '>')) {
- if (l) ezxml_free_attr(attr);
- return ezxml_err(root, d, "missing >");
- }
- ezxml_open_tag(root, d, attr);
- ezxml_close_tag(root, d, s);
- }
- else if ((q = *s) == '>' || (! *s && e == '>')) { // open tag
- *s = '\0'; // temporarily null terminate tag name
- ezxml_open_tag(root, d, attr);
- *s = q;
- }
- else {
- if (l) ezxml_free_attr(attr);
- return ezxml_err(root, d, "missing >");
- }
- }
- else if (*s == '/') { // close tag
- s += strcspn(d = s + 1, EZXML_WS ">") + 1;
- if (! (q = *s) && e != '>') return ezxml_err(root, d, "missing >");
- *s = '\0'; // temporarily null terminate tag name
- if (ezxml_close_tag(root, d, s)) return &root->xml;
- if (isspace(*s = q)) s += strspn(s, EZXML_WS);
- }
- else if (! strncmp(s, "!--", 3)) { // xml comment
- if (! (s = strstr(s + 3, "--")) || (*(s += 2) != '>' && *s) ||
- (! *s && e != '>')) return ezxml_err(root, d, "unclosed <!--");
- }
- else if (! strncmp(s, "![CDATA[", 8)) { // cdata
- if ((s = strstr(s, "]]>")))
- ezxml_char_content(root, d + 8, (s += 2) - d - 10, 'c');
- else return ezxml_err(root, d, "unclosed <![CDATA[");
- }
- else if (! strncmp(s, "!DOCTYPE", 8)) { // dtd
- for (l = 0; *s && ((! l && *s != '>') || (l && (*s != ']' ||
- *(s + strspn(s + 1, EZXML_WS) + 1) != '>')));
- l = (*s == '[') ? 1 : l) s += strcspn(s + 1, "[]>") + 1;
- if (! *s && e != '>')
- return ezxml_err(root, d, "unclosed <!DOCTYPE");
- d = (l) ? strchr(d, '[') + 1 : d;
- if (l && ! ezxml_internal_dtd(root, d, s++ - d)) return &root->xml;
- }
- else if (*s == '?') { // <?...?> processing instructions
- do { s = strchr(s, '?'); } while (s && *(++s) && *s != '>');
- if (! s || (! *s && e != '>'))
- return ezxml_err(root, d, "unclosed <?");
- else ezxml_proc_inst(root, d + 1, s - d - 2);
- }
- else return ezxml_err(root, d, "unexpected <");
-
- if (! s || ! *s) break;
- *s = '\0';
- d = ++s;
- if (*s && *s != '<') { // tag character content
- while (*s && *s != '<') s++;
- if (*s) ezxml_char_content(root, d, s - d, '&');
- else break;
- }
- else if (! *s) break;
- }
-
- if (! root->cur) return &root->xml;
- else if (! root->cur->name) return ezxml_err(root, d, "root tag missing");
- else return ezxml_err(root, d, "unclosed tag <%s>", root->cur->name);
-}
-
-// Wrapper for ezxml_parse_str() that accepts a file stream. Reads the entire
-// stream into memory and then parses it. For xml files, use ezxml_parse_file()
-// or ezxml_parse_fd()
-ezxml_t ezxml_parse_fp(FILE *fp)
-{
- ezxml_root_t root;
- size_t l, len = 0;
- char *s;
-
- if (! (s = malloc(EZXML_BUFSIZE))) return NULL;
- do {
- len += (l = fread((s + len), 1, EZXML_BUFSIZE, fp));
- if (l == EZXML_BUFSIZE) s = realloc(s, len + EZXML_BUFSIZE);
- } while (s && l == EZXML_BUFSIZE);
-
- if (! s) return NULL;
- root = (ezxml_root_t)ezxml_parse_str(s, len);
- root->len = SIZE_MAX; // so we know to free s in ezxml_free()
- return &root->xml;
-}
-
-// Encodes ampersand sequences appending the results to *dst, reallocating *dst
-// if length excedes max. a is non-zero for attribute encoding. Returns *dst
-char *ezxml_ampencode(const char *s, size_t len, char **dst, size_t *dlen,
- size_t *max, short a)
-{
- const char *e;
-
- for (e = s + len; s != e; s++) {
- while (*dlen + 10 > *max) *dst = realloc(*dst, *max += EZXML_BUFSIZE);
-
- switch (*s) {
- case '\0': return *dst;
- case '&': *dlen += sprintf(*dst + *dlen, "&amp;"); break;
- case '<': *dlen += sprintf(*dst + *dlen, "&lt;"); break;
- case '>': *dlen += sprintf(*dst + *dlen, "&gt;"); break;
- case '"': *dlen += sprintf(*dst + *dlen, (a) ? "&quot;" : "\""); break;
-// case '\n': *dlen += sprintf(*dst + *dlen, (a) ? "&#xA;" : "\n"); break;
- case '\t': *dlen += sprintf(*dst + *dlen, (a) ? "&#x9;" : "\t"); break;
-// case '\r': *dlen += sprintf(*dst + *dlen, "&#xD;"); break;
- default: (*dst)[(*dlen)++] = *s;
- }
- }
- return *dst;
-}
-
-// Recursively converts each tag to xml appending it to *s. Reallocates *s if
-// its length excedes max. start is the location of the previous tag in the
-// parent tag's character content. Returns *s.
-char *ezxml_toxml_r(ezxml_t xml, char **s, size_t *len, size_t *max,
- size_t start, char ***attr)
-{
- int i, j;
- char *txt = (xml->parent) ? xml->parent->txt : "";
- size_t off = 0;
-
- // parent character content up to this tag
- *s = ezxml_ampencode(txt + start, xml->off - start, s, len, max, 0);
-
- while (*len + strlen(xml->name) + 4 > *max) // reallocate s
- *s = realloc(*s, *max += EZXML_BUFSIZE);
-
- *len += sprintf(*s + *len, "<%s", xml->name); // open tag
- for (i = 0; xml->attr[i]; i += 2) { // tag attributes
- if (ezxml_attr(xml, xml->attr[i]) != xml->attr[i + 1]) continue;
- while (*len + strlen(xml->attr[i]) + 7 > *max) // reallocate s
- *s = realloc(*s, *max += EZXML_BUFSIZE);
-
- *len += sprintf(*s + *len, " %s=\"", xml->attr[i]);
- ezxml_ampencode(xml->attr[i + 1], SIZE_MAX, s, len, max, 1);
- *len += sprintf(*s + *len, "\"");
- }
-
- for (i = 0; attr[i] && strcmp(attr[i][0], xml->name); i++);
- for (j = 1; attr[i] && attr[i][j]; j += 3) { // default attributes
- if (! attr[i][j + 1] || ezxml_attr(xml, attr[i][j]) != attr[i][j + 1])
- continue; // skip duplicates and non-values
- while (*len + strlen(attr[i][j]) + 7 > *max) // reallocate s
- *s = realloc(*s, *max += EZXML_BUFSIZE);
-
- *len += sprintf(*s + *len, " %s=\"", attr[i][j]);
- ezxml_ampencode(attr[i][j + 1], SIZE_MAX, s, len, max, 1);
- *len += sprintf(*s + *len, "\"");
- }
- if (xml->attr != EZXML_NIL && xml->child == NULL && xml->txt[0] == 0)
- *len += sprintf(*s + *len, "/>");
- else
- {
- *len += sprintf(*s + *len, ">");
-
- *s = (xml->child) ? ezxml_toxml_r(xml->child, s, len, max, 0, attr) //child
- : ezxml_ampencode(xml->txt, SIZE_MAX, s, len, max, 0); //data
-
- while (*len + strlen(xml->name) + 4 > *max) // reallocate s
- *s = realloc(*s, *max += EZXML_BUFSIZE);
-
- *len += sprintf(*s + *len, "</%s>", xml->name); // close tag
- }
-
- while (txt[off] && off < xml->off) off++; // make sure off is within bounds
- return (xml->ordered) ? ezxml_toxml_r(xml->ordered, s, len, max, off, attr)
- : ezxml_ampencode(txt + off, SIZE_MAX, s, len, max, 0);
-}
-
-// Converts an ezxml structure back to xml. Returns a string of xml data that
-// must be freed.
-char *ezxml_toxml(ezxml_t xml, int addhdr)
-{
- ezxml_t p = (xml) ? xml->parent : NULL, o = (xml) ? xml->ordered : NULL;
- ezxml_root_t root = (ezxml_root_t)xml;
- size_t len, max = EZXML_BUFSIZE;
- char *s, *t, *n;
- int i, j, k;
-
- s = strcpy(malloc(max), addhdr ? "<?xml version=\"1.0\" encoding=\"utf-8\"?>" : "");
- len = strlen(s);
-
- if (! xml || ! xml->name) return realloc(s, len + 1);
- while (root->xml.parent) root = (ezxml_root_t)root->xml.parent; // root tag
-
- for (i = 0; ! p && root->pi[i]; i++) { // pre-root processing instructions
- for (k = 2; root->pi[i][k - 1]; k++);
- for (j = 1; (n = root->pi[i][j]); j++) {
- if (root->pi[i][k][j - 1] == '>') continue; // not pre-root
- while (len + strlen(t = root->pi[i][0]) + strlen(n) + 7 > max)
- s = realloc(s, max += EZXML_BUFSIZE);
- len += sprintf(s + len, "<?%s%s%s?>\n", t, *n ? " " : "", n);
- }
- }
-
- xml->parent = xml->ordered = NULL;
- s = ezxml_toxml_r(xml, &s, &len, &max, 0, root->attr);
- xml->parent = p;
- xml->ordered = o;
-
- for (i = 0; ! p && root->pi[i]; i++) { // post-root processing instructions
- for (k = 2; root->pi[i][k - 1]; k++);
- for (j = 1; (n = root->pi[i][j]); j++) {
- if (root->pi[i][k][j - 1] == '<') continue; // not post-root
- while (len + strlen(t = root->pi[i][0]) + strlen(n) + 7 > max)
- s = realloc(s, max += EZXML_BUFSIZE);
- len += sprintf(s + len, "\n<?%s%s%s?>", t, *n ? " " : "", n);
- }
- }
- return realloc(s, len + 1);
-}
-
-// free the memory allocated for the ezxml structure
-void ezxml_free(ezxml_t xml)
-{
- ezxml_root_t root = (ezxml_root_t)xml;
- int i, j;
- char **a, *s;
-
- if (! xml) return;
- ezxml_free(xml->child);
- ezxml_free(xml->ordered);
-
- if (! xml->parent) { // free root tag allocations
- for (i = 10; root->ent[i]; i += 2) // 0 - 9 are default entites (<>&"')
- if ((s = root->ent[i + 1]) < root->s || s > root->e) free(s);
- free(root->ent); // free list of general entities
-
- for (i = 0; (a = root->attr[i]); i++) {
- for (j = 1; a[j++]; j += 2) // free malloced attribute values
- if (a[j] && (a[j] < root->s || a[j] > root->e)) free(a[j]);
- free(a);
- }
- if (root->attr[0]) free(root->attr); // free default attribute list
-
- for (i = 0; root->pi[i]; i++) {
- for (j = 1; root->pi[i][j]; j++);
- free(root->pi[i][j + 1]);
- free(root->pi[i]);
- }
- if (root->pi[0]) free(root->pi); // free processing instructions
-
- if (root->len == SIZE_MAX) free(root->m); // malloced xml data
- if (root->u) free(root->u); // utf8 conversion
- }
-
- ezxml_free_attr(xml->attr); // tag attributes
- if ((xml->flags & EZXML_TXTM)) free(xml->txt); // character content
- if ((xml->flags & EZXML_NAMEM)) free(xml->name); // tag name
- free(xml);
-}
-
-// return parser error message or empty string if none
-const char *ezxml_error(ezxml_t xml)
-{
- while (xml && xml->parent) xml = xml->parent; // find root tag
- return (xml) ? ((ezxml_root_t)xml)->err : "";
-}
-
-// returns a new empty ezxml structure with the given root tag name
-ezxml_t ezxml_new(const char *name)
-{
- static char *ent[] = { "lt;", "&#60;", "gt;", "&#62;", "quot;", "&#34;",
- "apos;", "&#39;", "amp;", "&#38;", NULL };
- ezxml_root_t root = (ezxml_root_t)memset(malloc(sizeof(struct ezxml_root)),
- '\0', sizeof(struct ezxml_root));
- root->xml.name = (char *)name;
- root->cur = &root->xml;
- strcpy(root->err, root->xml.txt = "");
- root->ent = memcpy(malloc(sizeof(ent)), ent, sizeof(ent));
- root->attr = root->pi = (char ***)(root->xml.attr = EZXML_NIL);
- return &root->xml;
-}
-
-// inserts an existing tag into an ezxml structure
-ezxml_t ezxml_insert(ezxml_t xml, ezxml_t dest, size_t off)
-{
- ezxml_t cur, prev, head;
-
- xml->next = xml->sibling = xml->ordered = NULL;
- xml->off = off;
- xml->parent = dest;
-
- if ((head = dest->child)) { // already have sub tags
- if (head->off <= off) { // not first subtag
- for (cur = head; cur->ordered && cur->ordered->off <= off;
- cur = cur->ordered);
- xml->ordered = cur->ordered;
- cur->ordered = xml;
- }
- else { // first subtag
- xml->ordered = head;
- dest->child = xml;
- }
-
- for (cur = head, prev = NULL; cur && strcmp(cur->name, xml->name);
- prev = cur, cur = cur->sibling); // find tag type
- if (cur && cur->off <= off) { // not first of type
- while (cur->next && cur->next->off <= off) cur = cur->next;
- xml->next = cur->next;
- cur->next = xml;
- }
- else { // first tag of this type
- if (prev && cur) prev->sibling = cur->sibling; // remove old first
- xml->next = cur; // old first tag is now next
- for (cur = head, prev = NULL; cur && cur->off <= off;
- prev = cur, cur = cur->sibling); // new sibling insert point
- xml->sibling = cur;
- if (prev) prev->sibling = xml;
- }
- }
- else dest->child = xml; // only sub tag
-
- return xml;
-}
-
-// Adds a child tag. off is the offset of the child tag relative to the start
-// of the parent tag's character content. Returns the child tag.
-ezxml_t ezxml_add_child(ezxml_t xml, const char *name, size_t off)
-{
- ezxml_t child;
-
- if (! xml) return NULL;
- child = (ezxml_t)memset(malloc(sizeof(struct ezxml)), '\0',
- sizeof(struct ezxml));
- child->name = (char *)name;
- child->attr = EZXML_NIL;
- child->txt = "";
-
- return ezxml_insert(child, xml, off);
-}
-
-// sets the character content for the given tag and returns the tag
-ezxml_t ezxml_set_txt(ezxml_t xml, const char *txt)
-{
- if (! xml) return NULL;
- if (xml->flags & EZXML_TXTM) free(xml->txt); // existing txt was malloced
- xml->flags &= ~EZXML_TXTM;
- xml->txt = (char *)txt;
- return xml;
-}
-
-// Sets the given tag attribute or adds a new attribute if not found. A value
-// of NULL will remove the specified attribute. Returns the tag given.
-ezxml_t ezxml_set_attr(ezxml_t xml, const char *name, const char *value)
-{
- int l = 0, c;
-
- if (! xml) return NULL;
- while (xml->attr[l] && strcmp(xml->attr[l], name)) l += 2;
- if (! xml->attr[l]) { // not found, add as new attribute
- if (! value) return xml; // nothing to do
- if (xml->attr == EZXML_NIL) { // first attribute
- xml->attr = malloc(4 * sizeof(char *));
- xml->attr[1] = _strdup(""); // empty list of malloced names/vals
- }
- else xml->attr = realloc(xml->attr, (l + 4) * sizeof(char *));
-
- xml->attr[l] = (char *)name; // set attribute name
- xml->attr[l + 2] = NULL; // null terminate attribute list
- xml->attr[l + 3] = realloc(xml->attr[l + 1],
- (c = (int)strlen(xml->attr[l + 1])) + 2);
- strcpy(xml->attr[l + 3] + c, " "); // set name/value as not malloced
- if (xml->flags & EZXML_DUP) xml->attr[l + 3][c] = (char)EZXML_NAMEM;
- }
- else if (xml->flags & EZXML_DUP) free((char *)name); // name was strduped
-
- for (c = l; xml->attr[c]; c += 2); // find end of attribute list
- if (xml->attr[c + 1][l / 2] & EZXML_TXTM) free(xml->attr[l + 1]); //old val
- if (xml->flags & EZXML_DUP) xml->attr[c + 1][l / 2] |= EZXML_TXTM;
- else xml->attr[c + 1][l / 2] &= ~EZXML_TXTM;
-
- if (value) xml->attr[l + 1] = (char *)value; // set attribute value
- else { // remove attribute
- if (xml->attr[c + 1][l / 2] & EZXML_NAMEM) free(xml->attr[l]);
- memmove(xml->attr + l, xml->attr + l + 2, (c - l + 2) * sizeof(char*));
- xml->attr = realloc(xml->attr, (c + 2) * sizeof(char *));
- memmove(xml->attr[c + 1] + (l / 2), xml->attr[c + 1] + (l / 2) + 1,
- (c / 2) - (l / 2)); // fix list of which name/vals are malloced
- }
- xml->flags &= ~EZXML_DUP; // clear strdup() flag
- return xml;
-}
-
-// sets a flag for the given tag and returns the tag
-ezxml_t ezxml_set_flag(ezxml_t xml, short flag)
-{
- if (xml) xml->flags |= flag;
- return xml;
-}
-
-// removes a tag along with its subtags without freeing its memory
-ezxml_t ezxml_cut(ezxml_t xml)
-{
- ezxml_t cur;
-
- if (! xml) return NULL; // nothing to do
- if (xml->next) xml->next->sibling = xml->sibling; // patch sibling list
-
- if (xml->parent) { // not root tag
- cur = xml->parent->child; // find head of subtag list
- if (cur == xml) xml->parent->child = xml->ordered; // first subtag
- else { // not first subtag
- while (cur->ordered != xml) cur = cur->ordered;
- cur->ordered = cur->ordered->ordered; // patch ordered list
-
- cur = xml->parent->child; // go back to head of subtag list
- if (strcmp(cur->name, xml->name)) { // not in first sibling list
- while (strcmp(cur->sibling->name, xml->name))
- cur = cur->sibling;
- if (cur->sibling == xml) { // first of a sibling list
- cur->sibling = (xml->next) ? xml->next
- : cur->sibling->sibling;
- }
- else cur = cur->sibling; // not first of a sibling list
- }
-
- while (cur->next && cur->next != xml) cur = cur->next;
- if (cur->next) cur->next = cur->next->next; // patch next list
- }
- }
- xml->ordered = xml->sibling = xml->next = NULL;
- return xml;
-}
diff --git a/plugins/updater/ezxml.h b/plugins/updater/ezxml.h
deleted file mode 100644
index 37a0385541..0000000000
--- a/plugins/updater/ezxml.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/* ezxml.h
- *
- * Copyright 2004-2006 Aaron Voisine <aaron@voisine.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _EZXML_H
-#define _EZXML_H
-
-#include <stdio.h>
-#include <stdarg.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EZXML_BUFSIZE 1024 // size of internal memory buffers
-#define EZXML_NAMEM 0x80 // name is malloced
-#define EZXML_TXTM 0x40 // txt is malloced
-#define EZXML_DUP 0x20 // attribute name and value are strduped
-
-typedef struct ezxml *ezxml_t;
-struct ezxml {
- char *name; // tag name
- char **attr; // tag attributes { name, value, name, value, ... NULL }
- char *txt; // tag character content, empty string if none
- size_t off; // tag offset from start of parent tag character content
- ezxml_t next; // next tag with same name in this section at this depth
- ezxml_t sibling; // next tag with different name in same section and depth
- ezxml_t ordered; // next tag, same section and depth, in original order
- ezxml_t child; // head of sub tag list, NULL if none
- ezxml_t parent; // parent tag, NULL if current tag is root tag
- short flags; // additional information
-};
-
-// Given a string of xml data and its length, parses it and creates an ezxml
-// structure. For efficiency, modifies the data by adding null terminators
-// and decoding ampersand sequences. If you don't want this, copy the data and
-// pass in the copy. Returns NULL on failure.
-ezxml_t ezxml_parse_str(char *s, size_t len);
-
-// A wrapper for ezxml_parse_str() that accepts a file descriptor. First
-// attempts to mem map the file. Failing that, reads the file into memory.
-// Returns NULL on failure.
-ezxml_t ezxml_parse_fd(int fd);
-
-// a wrapper for ezxml_parse_fd() that accepts a file name
-ezxml_t ezxml_parse_file(const char *file);
-
-// Wrapper for ezxml_parse_str() that accepts a file stream. Reads the entire
-// stream into memory and then parses it. For xml files, use ezxml_parse_file()
-// or ezxml_parse_fd()
-ezxml_t ezxml_parse_fp(FILE *fp);
-
-// returns the first child tag (one level deeper) with the given name or NULL
-// if not found
-ezxml_t ezxml_child(ezxml_t xml, const char *name);
-
-// returns the next tag of the same name in the same section and depth or NULL
-// if not found
-#define ezxml_next(xml) ((xml) ? xml->next : NULL)
-
-// Returns the Nth tag with the same name in the same section at the same depth
-// or NULL if not found. An index of 0 returns the tag given.
-ezxml_t ezxml_idx(ezxml_t xml, int idx);
-
-// returns the name of the given tag
-#define ezxml_name(xml) ((xml) ? xml->name : NULL)
-
-// returns the given tag's character content or empty string if none
-#define ezxml_txt(xml) ((xml) ? xml->txt : "")
-
-// returns the value of the requested tag attribute, or NULL if not found
-const char *ezxml_attr(ezxml_t xml, const char *attr);
-
-// Traverses the ezxml sturcture to retrieve a specific subtag. Takes a
-// variable length list of tag names and indexes. The argument list must be
-// terminated by either an index of -1 or an empty string tag name. Example:
-// title = ezxml_get(library, "shelf", 0, "book", 2, "title", -1);
-// This retrieves the title of the 3rd book on the 1st shelf of library.
-// Returns NULL if not found.
-ezxml_t ezxml_get(ezxml_t xml, ...);
-
-// Converts an ezxml structure back to xml. Returns a string of xml data that
-// must be freed.
-char *ezxml_toxml(ezxml_t xml, int addhdr);
-
-// returns a NULL terminated array of processing instructions for the given
-// target
-const char **ezxml_pi(ezxml_t xml, const char *target);
-
-// frees the memory allocated for an ezxml structure
-void ezxml_free(ezxml_t xml);
-
-// returns parser error message or empty string if none
-const char *ezxml_error(ezxml_t xml);
-
-// returns a new empty ezxml structure with the given root tag name
-ezxml_t ezxml_new(const char *name);
-
-// wrapper for ezxml_new() that strdup()s name
-#define ezxml_new_d(name) ezxml_set_flag(ezxml_new(strdup(name)), EZXML_NAMEM)
-
-// Adds a child tag. off is the offset of the child tag relative to the start
-// of the parent tag's character content. Returns the child tag.
-ezxml_t ezxml_add_child(ezxml_t xml, const char *name, size_t off);
-
-// wrapper for ezxml_add_child() that strdup()s name
-#define ezxml_add_child_d(xml, name, off) \
- ezxml_set_flag(ezxml_add_child(xml, strdup(name), off), EZXML_NAMEM)
-
-// sets the character content for the given tag and returns the tag
-ezxml_t ezxml_set_txt(ezxml_t xml, const char *txt);
-
-// wrapper for ezxml_set_txt() that strdup()s txt
-#define ezxml_set_txt_d(xml, txt) \
- ezxml_set_flag(ezxml_set_txt(xml, strdup(txt)), EZXML_TXTM)
-
-// Sets the given tag attribute or adds a new attribute if not found. A value
-// of NULL will remove the specified attribute. Returns the tag given.
-ezxml_t ezxml_set_attr(ezxml_t xml, const char *name, const char *value);
-
-// Wrapper for ezxml_set_attr() that strdup()s name/value. Value cannot be NULL
-#define ezxml_set_attr_d(xml, name, value) \
- ezxml_set_attr(ezxml_set_flag(xml, EZXML_DUP), strdup(name), strdup(value))
-
-// sets a flag for the given tag and returns the tag
-ezxml_t ezxml_set_flag(ezxml_t xml, short flag);
-
-// removes a tag along with its subtags without freeing its memory
-ezxml_t ezxml_cut(ezxml_t xml);
-
-// inserts an existing tag into an ezxml structure
-ezxml_t ezxml_insert(ezxml_t xml, ezxml_t dest, size_t off);
-
-// Moves an existing tag to become a subtag of dest at the given offset from
-// the start of dest's character content. Returns the moved tag.
-#define ezxml_move(xml, dest, off) ezxml_insert(ezxml_cut(xml), dest, off)
-
-// removes a tag along with all its subtags
-#define ezxml_remove(xml) ezxml_free(ezxml_cut(xml))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _EZXML_H
diff --git a/plugins/updater/icons.cpp b/plugins/updater/icons.cpp
deleted file mode 100644
index 1123294676..0000000000
--- a/plugins/updater/icons.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "common.h"
-#include "icons.h"
-
-typedef struct
-{
- char* szDescr;
- char* szName;
- int defIconID;
-} IconStruct;
-
-static const IconStruct iconList[] =
-{
- { "Check for Plugin Updates", "updater_check", IDI_MAINMENU },
- { "Restart", "updater_restart", IDI_RESTART },
- { "Update and Exit", "updater_checkexit", IDI_UPDATEANDEXIT },
-};
-
-HANDLE hIcolibIcon[SIZEOF(iconList)];
-
-
-HICON LoadIconEx(IconIndex i, bool big)
-{
- return (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, big, (LPARAM)hIcolibIcon[(int)i]);
-}
-
-HANDLE GetIconHandle(IconIndex i)
-{
- return hIcolibIcon[(int)i];
-}
-
-void ReleaseIconEx(HICON hIcon)
-{
- CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
-}
-
-
-void InitIcons(void)
-{
- SKINICONDESC sid = {0};
- TCHAR path[MAX_PATH];
- int i;
-
- sid.cbSize = sizeof(SKINICONDESC);
- sid.pszSection = MODULE;
- sid.flags = SIDF_PATH_TCHAR;
- sid.ptszDefaultFile = path;
- GetModuleFileName(hInst, path, sizeof(path));
-
- for (i = 0; i < SIZEOF(iconList); ++i)
- {
- sid.pszDescription = iconList[i].szDescr;
- sid.pszName = iconList[i].szName;
- sid.iDefaultIndex = -iconList[i].defIconID;
- hIcolibIcon[i] = (HANDLE)CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
- }
-}
diff --git a/plugins/updater/icons.h b/plugins/updater/icons.h
deleted file mode 100644
index 650551ec47..0000000000
--- a/plugins/updater/icons.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _ICONS_INC
-#define _ICONS_INC
-
-void InitIcons(void);
-
-typedef enum {I_CHKUPD, I_RSTRT, I_CHKUPDEXT} IconIndex;
-
-HICON LoadIconEx(IconIndex i, bool big = false);
-HANDLE GetIconHandle(IconIndex i);
-void ReleaseIconEx(HICON hIcon);
-
-
-#endif
diff --git a/plugins/updater/options.cpp b/plugins/updater/options.cpp
deleted file mode 100644
index 7315ca2858..0000000000
--- a/plugins/updater/options.cpp
+++ /dev/null
@@ -1,508 +0,0 @@
-#include "common.h"
-#include "options.h"
-#include "icons.h"
-
-Options options;
-
-HWND hwndOptions;
-
-HANDLE hMainMenuItemRestart, hMainMenuItemUpdateAndExit;
-HANDLE hBackupPath, hDataPath, hArchivePath;
-
-void add_restart_menu_item() {
- CLISTMENUITEM menu = {0};
-
- menu.cbSize=sizeof(menu);
- menu.flags = CMIM_ALL | CMIF_ICONFROMICOLIB;
- menu.icolibItem = GetIconHandle(I_RSTRT);
-
- menu.pszName = "Restart";
- menu.pszService= MS_UPDATE_MENURESTART;
- menu.position = 2000099900;
- hMainMenuItemRestart = (HANDLE)CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&menu);
-}
-
-void add_update_and_exit_menu_item() {
- CLISTMENUITEM menu = {0};
-
- menu.cbSize=sizeof(menu);
- menu.flags = CMIM_ALL | CMIF_ICONFROMICOLIB;
- menu.icolibItem = GetIconHandle(I_CHKUPDEXT);
-
- menu.pszName = "Update and Exit";
- menu.pszService= MS_UPDATE_MENUUPDATEANDEXIT;
- menu.position = 2000099901;
- hMainMenuItemUpdateAndExit = (HANDLE)CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&menu);
-}
-
-void remove_restart_menu_item() {
-#ifdef MS_CLIST_REMOVEMAINMENUITEM
- CallService(MS_CLIST_REMOVEMAINMENUITEM, (WPARAM)hMainMenuItemRestart, 0);
-#endif
-}
-
-void remove_update_and_exit_menu_item() {
-#ifdef MS_CLIST_REMOVEMAINMENUITEM
- CallService(MS_CLIST_REMOVEMAINMENUITEM, (WPARAM)hMainMenuItemUpdateAndExit, 0);
-#endif
-}
-
-static int EnumerateFuncFillList(char *szComponentName, UpdateOptions *update_options, LPARAM lParam) {
- LVITEM lvI = {0};
- HWND hwndDlg = (HWND)lParam;
- HWND hwndLV = GetDlgItem(hwndDlg, IDC_LST_REGISTERED);
- TCHAR *temp_str;
-
- // Some code to create the list-view control.
- // Initialize LVITEM members that are common to all
- // items.
- lvI.mask = LVIF_TEXT | LVIF_PARAM;
- lvI.lParam = (update_options->enabled ? 1 : 0) | (update_options->use_beta ? 2 : 0) | (update_options->fixed ? 4 : 0);
-
- lvI.iSubItem = 0;
- lvI.pszText = (temp_str = GetTString(szComponentName));
- lvI.iItem = ListView_InsertItem(hwndLV, &lvI);
- mir_free(temp_str);
-
- lvI.mask = LVIF_TEXT;
- lvI.iSubItem = 1;
- //lvI.pszText = LPSTR_TEXTCALLBACK;
- if(((int)lvI.lParam & 4) == 4) {
- lvI.pszText = (((int)lvI.lParam & 2) == 2 ? TranslateT("FORCED") : TranslateT("N/A"));
- } else {
- lvI.pszText = (((int)lvI.lParam & 2) == 2 ? TranslateT("TRUE") : TranslateT("FALSE"));
- }
-
- ListView_SetItem(hwndLV, &lvI);
-
- ListView_SetCheckState(hwndLV, lvI.iItem, update_options->enabled);
-
- return 0;
-}
-
-static INT_PTR CALLBACK DlgProcOpts1(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
-
- switch ( msg ) {
- case WM_INITDIALOG:
- hwndOptions = hwndDlg;
- TranslateDialogDefault( hwndDlg );
-
- CheckDlgButton(hwndDlg, IDC_CHK_ONSTART, options.check_on_startup);
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_ONCE);
- EnableWindow(hw, (IsDlgButtonChecked(hwndDlg, IDC_CHK_ONSTART) ? TRUE : FALSE));
- }
- CheckDlgButton(hwndDlg, IDC_CHK_ONCE, options.check_once);
- CheckDlgButton(hwndDlg, IDC_CHK_DAILY, options.check_daily);
- if(!ServiceExists(MS_TRIGGER_REGISTERACTION)) {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOCONFIDLE);
- EnableWindow(hw, (IsDlgButtonChecked(hwndDlg, IDC_CHK_DAILY) ? TRUE : FALSE));
- }
- CheckDlgButton(hwndDlg, IDC_CHK_NOCONFIDLE, options.no_conf_idle);
- CheckDlgButton(hwndDlg, IDC_CHK_BACKUP, options.backup);
- CheckDlgButton(hwndDlg, IDC_CHK_STARTOFFLINE, options.start_offline);
- CheckDlgButton(hwndDlg, IDC_CHK_POPUP, options.popup_notify);
- CheckDlgButton(hwndDlg, IDC_CHK_RESTART, options.restart_menu_item);
- CheckDlgButton(hwndDlg, IDC_CHK_UPDATEANDEXIT, options.update_and_exit_menu_item);
- CheckDlgButton(hwndDlg, IDC_CHK_SAVEZIPS, options.save_zips);
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_POPUP);
- EnableWindow(hw, ArePopupsEnabled() ? TRUE : FALSE);
- hw = GetDlgItem(hwndDlg, IDC_CHK_NOUNZIP);
- EnableWindow(hw, options.save_zips ? TRUE : FALSE);
- }
- CheckDlgButton(hwndDlg, IDC_CHK_NOUNZIP, options.no_unzip);
- CheckDlgButton(hwndDlg, IDC_CHK_DLLSONLY, options.auto_dll_only);
-
- // set up Version Requirement slider
- SendDlgItemMessage(hwndDlg, IDC_SLID_VERREQ, TBM_SETRANGE, 0, MAKELONG(0, 3));
-
- SendDlgItemMessage(hwndDlg, IDC_SLID_VERREQ, TBM_SETPOS, TRUE, (int)options.ver_req);
- switch(options.ver_req) {
- case VR_MAJOR:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on major version change."));
- break;
- case VR_MINOR:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on minor version change."));
- break;
- case VR_RELEASE:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on release number change."));
- break;
- case VR_BUILD:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on build number change."));
- break;
- }
-
-
- SendMessage(GetDlgItem(hwndDlg, IDC_LST_REGISTERED),LVM_SETEXTENDEDLISTVIEWSTYLE, 0,LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);
-
- {
- LVCOLUMN lvc;
- // Initialize the LVCOLUMN structure.
- // The mask specifies that the format, width, text, and
- // subitem members of the structure are valid.
- lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
- lvc.fmt = LVCFMT_LEFT;
-
- lvc.iSubItem = 0;
- lvc.pszText = TranslateT("Component Name");
- lvc.cx = 260; // width of column in pixels
- ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), 0, &lvc);
-
- lvc.iSubItem = 1;
- lvc.pszText = TranslateT("Use Beta?");
- lvc.cx = 90; // width of column in pixels
- ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), 1, &lvc);
- }
-
- ListView_DeleteAllItems(GetDlgItem(hwndDlg, IDC_LST_REGISTERED));
- CallService(MS_UPDATE_ENUMERATE, (WPARAM)EnumerateFuncFillList, (LPARAM)hwndDlg);
-
- //SendDlgItemMessage(hwndDlg, IDC_BTN_CHECK, WM_SETICON, ICON_SMALL, (LPARAM)hIconCheck);
- //SendDlgItemMessage(hwndDlg, IDC_BTN_CHECKNORESTART, WM_SETICON, ICON_SMALL, (LPARAM)hIconCheckExit);
- SendDlgItemMessage(hwndDlg, IDC_BTN_CHECK, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadIconEx(I_CHKUPD));
- SendDlgItemMessage(hwndDlg, IDC_BTN_CHECKNORESTART, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadIconEx(I_CHKUPDEXT));
-
- return FALSE;
-
- case WMU_CHECKING:
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_BTN_CHECK);
- EnableWindow(hw, FALSE);
- hw = GetDlgItem(hwndDlg, IDC_BTN_CHECKNORESTART);
- EnableWindow(hw, FALSE);
- }
- return TRUE;
-
- case WMU_DONECHECKING:
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_BTN_CHECK);
- EnableWindow(hw, TRUE);
- hw = GetDlgItem(hwndDlg, IDC_BTN_CHECKNORESTART);
- EnableWindow(hw, TRUE);
- }
- return TRUE;
-
- case WM_HSCROLL:
- //if (LOWORD(wParam) == TB_PAGEUP || LOWORD(wParam) == TB_PAGEDOWN)
- {
- VersionRequirement vr = (VersionRequirement)SendDlgItemMessage(hwndDlg, IDC_SLID_VERREQ, TBM_GETPOS, 0, 0);
- switch(vr) {
- case VR_MAJOR:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on major version change."));
- break;
- case VR_MINOR:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on minor version change."));
- break;
- case VR_RELEASE:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on release number change."));
- break;
- case VR_BUILD:
- SetDlgItemText(hwndDlg, IDC_ST_VERREQ, TranslateT("Update on build number change."));
- break;
- }
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- return TRUE;
- }
- break;
- case WM_COMMAND:
- if ( HIWORD( wParam ) == BN_CLICKED ) {
- switch( LOWORD( wParam )) {
- case IDC_CHK_ONSTART:
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_ONCE);
- EnableWindow(hw, (IsDlgButtonChecked(hwndDlg, IDC_CHK_ONSTART) ? TRUE : FALSE));
- }
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_CHK_ONCE:
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_CHK_DAILY:
- if(!ServiceExists(MS_TRIGGER_REGISTERACTION)) {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOCONFIDLE);
- EnableWindow(hw, (IsDlgButtonChecked(hwndDlg, IDC_CHK_DAILY) ? TRUE : FALSE));
- }
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_CHK_NOCONFIDLE:
- case IDC_CHK_BACKUP:
- case IDC_CHK_STARTOFFLINE:
- case IDC_CHK_POPUP:
- case IDC_CHK_RESTART:
- case IDC_CHK_UPDATEANDEXIT:
- case IDC_CHK_NOUNZIP:
- case IDC_CHK_DLLSONLY:
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_CHK_SAVEZIPS:
- {
- HWND hw = GetDlgItem(hwndDlg, IDC_CHK_NOUNZIP);
- EnableWindow(hw, (IsDlgButtonChecked(hwndDlg, IDC_CHK_SAVEZIPS) ? TRUE : FALSE));
- }
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_BTN_CHECK:
- CallService(MS_UPDATE_CHECKFORUPDATES, 0, 0);
- return TRUE;
- case IDC_BTN_CHECKNORESTART:
- CallService(MS_UPDATE_CHECKFORUPDATES, 0, 1);
- return TRUE;
- }
- }
- break;
-
- case WM_NOTIFY:
- if(((LPNMHDR) lParam)->hwndFrom == GetDlgItem(hwndDlg, IDC_LST_REGISTERED)) {
- switch (((LPNMHDR) lParam)->code) {
- case NM_CLICK:
- if (((LPNMLISTVIEW)lParam)->iSubItem == 1) {
- LVITEM lvi = {0};
- lvi.mask = LVIF_PARAM;
- lvi.iItem = ((LPNMLISTVIEW)lParam)->iItem;
- lvi.iSubItem = 0;
- SendMessage(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), LVM_GETITEM, 0, (LPARAM)&lvi);
- if(((int)lvi.lParam & 4) == 0) {
- lvi.lParam ^= 2;
- ListView_SetItem(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), &lvi);
-
- lvi.iSubItem = 1;
- lvi.mask = LVIF_TEXT;
- if(((int)lvi.lParam & 4) == 4) {
- lvi.pszText = (((int)lvi.lParam & 2) == 2 ? TranslateT("FORCED") : TranslateT("N/A"));
- } else {
- lvi.pszText = (((int)lvi.lParam & 2) == 2 ? TranslateT("TRUE") : TranslateT("FALSE"));
- }
- ListView_SetItem(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), &lvi);
-
- ListView_RedrawItems(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), lvi.iItem, lvi.iItem);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- }
- }
- return 0;
- case LVN_ITEMCHANGED:
- {
- NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam;
-
- if(IsWindowVisible(GetDlgItem(hwndDlg, IDC_LST_REGISTERED)) && ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK))
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- }
- break;
- case LVN_GETDISPINFO:
- {
- LVITEM lvi = {0};
- lvi.mask = LVIF_PARAM;
- lvi.iItem = ((NMLVDISPINFO *)lParam)->item.iItem;
- lvi.iSubItem = 0;
- SendMessage(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), LVM_GETITEM, 0, (LPARAM)&lvi);
- switch (((NMLVDISPINFO *)lParam)->item.iSubItem) {
- case 0:
- MessageBox(0, _T("LVN_GETDISPINFO (0)"), _T("msg"), MB_OK);
- break;
- case 1:
- if(((int)lvi.lParam & 4) == 4) {
- ((NMLVDISPINFO *)lParam)->item.pszText = ((lvi.lParam & 2) == 2 ? TranslateT("FORCED") : TranslateT("N/A"));
- ((NMLVDISPINFO *)lParam)->item.cchTextMax = (int)_tcslen(((NMLVDISPINFO *)lParam)->item.pszText);
- } else {
- ((NMLVDISPINFO *)lParam)->item.pszText = ((lvi.lParam & 2) == 2 ? TranslateT("TRUE") : TranslateT("FALSE"));
- ((NMLVDISPINFO *)lParam)->item.cchTextMax = (int)_tcslen(((NMLVDISPINFO *)lParam)->item.pszText);
- }
- break;
- }
- }
- return 0;
- }
- } else
- if (((LPNMHDR)lParam)->code == (unsigned)PSN_APPLY ) {
- options.check_on_startup = (IsDlgButtonChecked(hwndDlg, IDC_CHK_ONSTART) ? true : false);
- options.check_once = (IsDlgButtonChecked(hwndDlg, IDC_CHK_ONCE) ? true : false);
- options.check_daily = (IsDlgButtonChecked(hwndDlg, IDC_CHK_DAILY) ? true : false);
- options.no_conf_idle = (IsDlgButtonChecked(hwndDlg, IDC_CHK_NOCONFIDLE) ? true : false);
- options.backup = (IsDlgButtonChecked(hwndDlg, IDC_CHK_BACKUP) ? true : false);
- options.start_offline = (IsDlgButtonChecked(hwndDlg, IDC_CHK_STARTOFFLINE) ? true : false);
- options.popup_notify = (IsDlgButtonChecked(hwndDlg, IDC_CHK_POPUP) ? true : false);
- options.ver_req = (VersionRequirement)SendDlgItemMessage(hwndDlg, IDC_SLID_VERREQ, TBM_GETPOS, 0, 0);
- options.save_zips = (IsDlgButtonChecked(hwndDlg, IDC_CHK_SAVEZIPS) ? true : false);
- options.no_unzip = (IsDlgButtonChecked(hwndDlg, IDC_CHK_NOUNZIP) ? true : false);
- options.auto_dll_only = (IsDlgButtonChecked(hwndDlg, IDC_CHK_DLLSONLY) ? true : false);
-
- bool restart_menu_item = (IsDlgButtonChecked(hwndDlg, IDC_CHK_RESTART) ? true : false);
- if(options.restart_menu_item != restart_menu_item) {
- options.restart_menu_item = restart_menu_item;
- if(options.restart_menu_item) add_restart_menu_item();
- else remove_restart_menu_item();
- }
-
- bool update_and_exit_menu_item = (IsDlgButtonChecked(hwndDlg, IDC_CHK_UPDATEANDEXIT) ? true : false);
- if(options.update_and_exit_menu_item != update_and_exit_menu_item) {
- options.update_and_exit_menu_item = update_and_exit_menu_item;
- if(options.update_and_exit_menu_item) add_update_and_exit_menu_item();
- else remove_update_and_exit_menu_item();
- }
-
- int count = ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_LST_REGISTERED));
- UpdateOptions uo;
- LVITEM lvi;
- lvi.mask = LVIF_TEXT | LVIF_PARAM;
- TCHAR buff[256];
- lvi.pszText = buff;
- lvi.cchTextMax = 256;
- lvi.iSubItem = 0;
- for(int i = 0; i < count; i++) {
- lvi.iItem = i;
- SendMessage(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), LVM_GETITEM, 0, (LPARAM)&lvi);
-
- uo.enabled = (ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), lvi.iItem) == TRUE);
- uo.use_beta = (((int)lvi.lParam & 2) == 2);
- uo.fixed = (((int)lvi.lParam & 4) == 4);
-
- CallService(MS_UPDATE_SETUPDATEOPTIONS, (WPARAM)lvi.pszText, (LPARAM)&uo);
- }
-
- SaveOptions();
- return TRUE;
- }
- break;
- case WM_DESTROY:
- ReleaseIconEx((HICON)SendDlgItemMessage(hwndDlg, IDC_BTN_CHECK, BM_SETIMAGE, IMAGE_ICON, 0));
- ReleaseIconEx((HICON)SendDlgItemMessage(hwndDlg, IDC_BTN_CHECKNORESTART, BM_SETIMAGE, IMAGE_ICON, 0));
- hwndOptions = 0;
- break;
- }
-
- return FALSE;
-}
-
-int OptInit(WPARAM wParam,LPARAM lParam)
-{
- OPTIONSDIALOGPAGE odp = { 0 };
- odp.cbSize = sizeof(odp);
- odp.flags = ODPF_BOLDGROUPS | ODPF_TCHAR;
- odp.position = -790000000;
- odp.hInstance = hInst;
-
- odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT1);
- odp.ptszTitle = LPGENT("Updater");
- odp.ptszGroup = LPGENT("Services");
- odp.nIDBottomSimpleControl = 0;
- odp.pfnDlgProc = DlgProcOpts1;
- CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp );
-
- return 0;
-}
-
-#ifdef _UNICODE
-#define DBGetString DBGetContactSettingTString
-#define DBWriteString DBWriteContactSettingTString
-#else
-#define DBGetString DBGetContactSetting
-#define DBWriteString DBWriteContactSettingString
-#endif
-
-void InitOptionsMenuItems() {
- if(options.restart_menu_item)
- add_restart_menu_item();
- if(options.update_and_exit_menu_item)
- add_update_and_exit_menu_item();
-}
-
-int FoldersPathChanged(WPARAM wParam, LPARAM lParam)
-{
- FOLDERSGETDATA fgd = {0};
- fgd.cbSize = sizeof(fgd);
- fgd.nMaxPathSize = MAX_PATH;
-
- fgd.szPathT = options.backup_folder;
- CallService(MS_FOLDERS_GET_PATH, (WPARAM)hBackupPath, (WPARAM)&fgd);
-
- fgd.szPathT = options.data_folder;
- CallService(MS_FOLDERS_GET_PATH, (WPARAM)hDataPath, (WPARAM)&fgd);
-
- fgd.szPathT = options.zip_folder;
- CallService(MS_FOLDERS_GET_PATH, (WPARAM)hArchivePath, (WPARAM)&fgd);
-
- mir_sntprintf(options.temp_folder, SIZEOF(options.temp_folder), _T("%s\\updates"), options.data_folder);
-
- return 0;
-}
-
-void LoadOptions(void)
-{
- options.check_on_startup = (DBGetContactSettingByte(0, MODULE, "CheckOnStartup", 1) == 1);
- options.check_once = (DBGetContactSettingByte(0, MODULE, "CheckOnce", 1) == 1);
- options.check_daily = (DBGetContactSettingByte(0, MODULE, "CheckDaily", 1) == 1);
- options.no_conf_idle = (DBGetContactSettingByte(0, MODULE, "NoConfIdle", 0) == 1);
- options.backup = (DBGetContactSettingByte(0, MODULE, "Backup", 1) == 1);
- //options.use_xml_backend = (DBGetContactSettingByte(0, MODULE, "UseXML", 1) == 1);
- options.use_xml_backend = true;
- options.start_offline = (DBGetContactSettingByte(0, MODULE, "StartOffline", 0) == 1);
- options.popup_notify = (DBGetContactSettingByte(0, MODULE, "PopupNotify", 0) == 1);
- options.restart_menu_item = (DBGetContactSettingByte(0, MODULE, "RestartMenuItem", 0) == 1);
- options.update_and_exit_menu_item = (DBGetContactSettingByte(0, MODULE, "UpdateAndExitMenuItem", 0) == 1);
- options.save_zips = (DBGetContactSettingByte(0, MODULE, "SaveZips", 0) == 1);
- options.no_unzip = (DBGetContactSettingByte(0, MODULE, "NoUnzip", 0) == 1);
-
- options.set_colours = false; // = (DBGetContactSettingByte(0, MODULE, "PopupSetColours", 0) == 1); // popup colours - not implemented
- options.bkCol = DBGetContactSettingDword(0, MODULE, "PopupBkCol", 0);
- options.textCol = DBGetContactSettingDword(0, MODULE, "PopupTextCol", 0x00FFFFFF);
-
- options.ver_req = (VersionRequirement)DBGetContactSettingByte(0, MODULE, "VersionRequirement", VR_BUILD);
- options.auto_dll_only = (DBGetContactSettingByte(0, MODULE, "AutoDLLOnly", 0) == 1);
-
- if(ServiceExists(MS_FOLDERS_GET_PATH))
- {
- FOLDERSDATA fd = {0};
- fd.cbSize = sizeof(fd);
-#ifdef _UNICODE
- fd.flags = FF_UNICODE;
-#endif
- strcpy(fd.szSection, "Updates");
-
- strcpy(fd.szName, "Backups");
- fd.szFormatT = _T("%miranda_userdata%\\updater\\backups");
- hBackupPath = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd);
-
- strcpy(fd.szName, "Data");
- fd.szFormatT = _T("%miranda_userdata%\\updater\\data");
- hDataPath = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd);
-
- strcpy(fd.szName, "Saved Archives");
- fd.szFormatT = _T("%miranda_userdata%\\updater\\archives");
- hArchivePath = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd);
-
- HookEvent(ME_FOLDERS_PATH_CHANGED, FoldersPathChanged);
- FoldersPathChanged(0, 0);
- }
- else
- {
- TCHAR* mir_path = Utils_ReplaceVarsT(_T("%miranda_userdata%"));
-
- mir_sntprintf(options.backup_folder, SIZEOF(options.backup_folder), _T("%s\\Updater\\Backups"), mir_path);
- mir_sntprintf(options.data_folder, SIZEOF(options.data_folder), _T("%s\\Updater\\Data"), mir_path);
- mir_sntprintf(options.zip_folder, SIZEOF(options.zip_folder), _T("%s\\Updater\\Archives"), mir_path);
- mir_sntprintf(options.temp_folder, SIZEOF(options.temp_folder), _T("%s\\updates"), options.data_folder);
-
- mir_free(mir_path);
- }
-}
-
-void SaveOptions(void)
-{
- DBWriteContactSettingByte(0, MODULE, "CheckOnStartup", options.check_on_startup ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "CheckOnce", options.check_once ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "CheckDaily", options.check_daily ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "NoConfIdle", options.no_conf_idle ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "Backup", options.backup ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "UseXML", options.use_xml_backend ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "StartOffline", options.start_offline ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "PopupNotify", options.popup_notify ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "RestartMenuItem", options.restart_menu_item ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "UpdateAndExitMenuItem", options.update_and_exit_menu_item ? 1 : 0);
- DBWriteContactSettingByte(0, MODULE, "VersionRequirement", (int)options.ver_req);
- DBWriteContactSettingByte(0, MODULE, "SaveZips", (int)options.save_zips);
- DBWriteContactSettingByte(0, MODULE, "NoUnzip", (int)options.no_unzip);
- DBWriteContactSettingByte(0, MODULE, "AutoDLLOnly", options.auto_dll_only ? 1 : 0);
-}
-
-
-
diff --git a/plugins/updater/options.h b/plugins/updater/options.h
deleted file mode 100644
index ccaaacf1d1..0000000000
--- a/plugins/updater/options.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef _OPTIONS_INC
-#define _OPTIONS_INC
-
-#include "services.h"
-#include "icons.h"
-
-typedef enum {VR_MAJOR, VR_MINOR, VR_RELEASE, VR_BUILD} VersionRequirement;
-
-typedef struct Options_tag {
- bool check_on_startup;
- bool check_once;
- bool check_daily;
- bool no_conf_idle;
- bool backup;
- TCHAR temp_folder[MAX_PATH];
- TCHAR backup_folder[MAX_PATH];
- TCHAR data_folder[MAX_PATH];
- bool use_xml_backend;
- bool start_offline;
- bool popup_notify;
- bool set_colours;
- bool restart_menu_item;
- bool update_and_exit_menu_item;
- COLORREF bkCol;
- COLORREF textCol;
- VersionRequirement ver_req;
- bool save_zips;
- bool no_unzip;
- bool auto_dll_only;
- TCHAR zip_folder[MAX_PATH];
-} Options;
-
-extern Options options;
-
-extern HWND hwndOptions;
-
-#define WMU_CHECKING (WM_USER + 41)
-#define WMU_DONECHECKING (WM_USER + 42)
-
-
-int OptInit(WPARAM wParam, LPARAM lParam);
-
-void LoadOptions();
-void SaveOptions();
-
-// do this after icolib support has been handled
-void InitOptionsMenuItems();
-
-#endif
diff --git a/plugins/updater/popups.cpp b/plugins/updater/popups.cpp
deleted file mode 100644
index 079254b8ae..0000000000
--- a/plugins/updater/popups.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-#include "common.h"
-#include "popups.h"
-
-HWND hwndPop;
-HANDLE hEventPop;
-bool pop_cancelled;
-bool bPopupsEnabled;
-
-typedef struct
-{
- unsigned flags;
- HICON hIcon;
-} PopupDataType;
-
-
-LRESULT CALLBACK NullWindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
-{
- switch( message ) {
- case UM_INITPOPUP:
- {
- PopupDataType* popup = (PopupDataType*)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd,0);
- if (popup->flags & POPFLAG_SAVEHWND) hwndPop = hWnd;
- }
- return 0;
- case WMU_CLOSEPOP:
- SetEvent(hEventPop);
- PUDeletePopUp( hWnd );
- return TRUE;
-
- case WM_COMMAND:
- {
- PopupDataType* popup = (PopupDataType*)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd,0);
- if (popup->flags & POPFLAG_SAVEHWND) pop_cancelled = false;
- }
- SetEvent(hEventPop);
- PUDeletePopUp( hWnd );
- return TRUE;
-
- case WM_CONTEXTMENU:
- {
- PopupDataType* popup = (PopupDataType*)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd,0);
- if (popup->flags & POPFLAG_SAVEHWND) pop_cancelled = true;
- }
- SetEvent(hEventPop);
- PUDeletePopUp( hWnd );
- return TRUE;
-
- case UM_FREEPLUGINDATA: {
- PopupDataType* popup = (PopupDataType*)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd, 0);
- if ((INT_PTR)popup != CALLSERVICE_NOTFOUND)
- {
- if (popup->flags & POPFLAG_SAVEHWND) hwndPop = 0;
- if (popup->hIcon) ReleaseIconEx(popup->hIcon);
- mir_free(popup);
- }
- return TRUE;
- }
- }
-
- return DefWindowProc(hWnd, message, wParam, lParam);
-}
-
-void __stdcall sttPopupProc( void* dwParam )
-{
- POPUPDATAT* ppd = ( POPUPDATAT* )dwParam;
- CallService( MS_POPUP_ADDPOPUPT, ( WPARAM )ppd, 0 );
- mir_free( ppd );
-}
-
-void ShowPopup( HANDLE hContact, const TCHAR* line1, const TCHAR* line2, int flags, int timeout )
-{
- if(CallService(MS_SYSTEM_TERMINATED, 0, 0)) return;
-
- if ( !ServiceExists( MS_POPUP_ADDPOPUPT )) {
- TCHAR title[256];
- mir_sntprintf(title, SIZEOF(title), _T("%s Message"), _T(MODULE));
-
- if(line1 && line2) {
- size_t len = _tcslen(line1) + _tcslen(line2) + 1;
- TCHAR *message = (TCHAR*)alloca(len * sizeof(TCHAR)); // newline and null terminator
- mir_sntprintf(message, len, _T("%s\n%s"), line1, line2);
- MessageBox( NULL, message, title, MB_OK | MB_ICONINFORMATION );
- } else if(line1) {
- MessageBox( NULL, line1, title, MB_OK | MB_ICONINFORMATION );
- } else if(line2) {
- MessageBox( NULL, line2, title, MB_OK | MB_ICONINFORMATION );
- }
- return;
- }
-
- SetEvent(hEventPop);
- ResetEvent(hEventPop);
-
- if(ServiceExists(MS_POPUP_ADDPOPUPCLASS))
- {
- POPUPDATACLASS d = {sizeof(d), "updaterpopups"};
- d.ptszTitle = line1;
- d.ptszText = line2;
- d.PluginData = mir_calloc(sizeof(PopupDataType));
- ((PopupDataType*)d.PluginData)->flags = flags;
- CallService(MS_POPUP_ADDPOPUPCLASS, 0, (LPARAM)&d);
- }
- else
- {
- POPUPDATAT* ppd = ( POPUPDATAT* )mir_calloc( sizeof( POPUPDATAT ));
-
- ppd->lchContact = hContact;
- ppd->lchIcon = LoadIconEx(I_CHKUPD);
-
- if (line1 && line2)
- {
- _tcscpy( ppd->lptzContactName, line1 );
- _tcscpy( ppd->lptzText, line2 );
- }
- else if (line1)
- _tcscpy( ppd->lptzText, line1 );
- else if (line2)
- _tcscpy( ppd->lptzText, line2 );
-
- if (options.set_colours)
- {
- ppd->colorBack = options.bkCol;
- ppd->colorText = options.textCol;
- }
- else
- {
- //ppd->colorText = 0x00FFFFFF;
- ppd->colorText = 0;
- //ppd->colorBack = POPUP_USE_SKINNED_BG;
- ppd->colorBack = 0;
- }
-
- ppd->iSeconds = timeout;
-
- ppd->PluginWindowProc = ( WNDPROC )NullWindowProc;
- ppd->PluginData = mir_calloc(sizeof(PopupDataType));
- ((PopupDataType*)ppd->PluginData)->flags = flags;
- ((PopupDataType*)ppd->PluginData)->hIcon = ppd->lchIcon;
-
- CallFunctionAsync( sttPopupProc , ppd );
- }
-}
-
-void ShowWarning(TCHAR *msg)
-{
- static const TCHAR title[512] = _T(MODULE) _T(" Warning");
-
- if(ServiceExists(MS_POPUP_SHOWMESSAGE))
- {
- TCHAR message[1024];
- mir_sntprintf(message, SIZEOF(message), _T("%s: %s"), _T(MODULE), msg);
- ShowPopup(0, title, message, 0, 10);
- //PUShowMessage(message, SM_WARNING);
- }
- else
- MessageBox(0, msg, title, MB_OK | MB_ICONWARNING);
-}
-
-void ShowError(TCHAR *msg)
-{
- static const TCHAR title[512] = _T(MODULE) _T(" Error");
- NLog(msg);
-
- if(ServiceExists(MS_POPUP_SHOWMESSAGE))
- {
- TCHAR message[1024];
- mir_sntprintf(message, SIZEOF(message), _T("%s: %s"), _T(MODULE), msg);
- //PUShowMessage(message, SM_WARNING);
- ShowPopup(0, title, message, 0, 10);
- }
- else
- MessageBox(0, msg, title, MB_OK | MB_ICONERROR);
-}
-
-void ChangePopupText(HWND hwnd, TCHAR *text)
-{
- CallService(MS_POPUP_CHANGETEXTT, (WPARAM)hwnd, (LPARAM)text);
-}
-
-bool ArePopupsEnabled()
-{
- return bPopupsEnabled;
-}
-
-HICON hPopupIcon;
-void InitPopups() {
- bPopupsEnabled = ServiceExists(MS_POPUP_ADDPOPUPT) != 0;
-
- hEventPop = CreateEvent( NULL, TRUE, FALSE, NULL );
-
- if (ServiceExists(MS_POPUP_REGISTERCLASS))
- {
- hPopupIcon = LoadIconEx(I_CHKUPD);
- POPUPCLASS test = {0};
- test.cbSize = sizeof(test);
- test.flags = PCF_TCHAR;
- test.hIcon = hPopupIcon;
- test.iSeconds = -1;
- test.ptszDescription = TranslateT(MODULE);
- test.pszName = "updaterpopups";
- test.PluginWindowProc = NullWindowProc;
- CallService(MS_POPUP_REGISTERCLASS, 0, (WPARAM)&test);
- }
-}
-
-void DeinitPopups()
-{
- CloseHandle(hEventPop);
- ReleaseIconEx(hPopupIcon);
-}
-
-
diff --git a/plugins/updater/popups.h b/plugins/updater/popups.h
deleted file mode 100644
index a937ec5df1..0000000000
--- a/plugins/updater/popups.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _POPUPS_INC
-#define _POPUPS_INC
-
-#include <m_popup.h>
-
-#include "options.h"
-#include "icons.h"
-
-void InitPopups();
-void DeinitPopups();
-
-bool ArePopupsEnabled();
-
-void ShowPopupA(HANDLE hContact, const char* line1, const char* line2, int flags = 0, int timeout = 0);
-void ShowPopupW(HANDLE hContact, const wchar_t* line1, const wchar_t* line2, int flags = 0, int timeout = 0);
-
-void ShowPopup(HANDLE hContact, const TCHAR *line1, const TCHAR *line2, int flags = 0, int timeout = 0);
-
-void ShowWarning(TCHAR *msg);
-void ShowError(TCHAR *msg);
-
-void ChangePopupText(HWND hwnd, TCHAR *msg);
-
-extern HWND hwndPop;
-extern HANDLE hEventPop;
-extern bool pop_cancelled;
-
-#define WMU_CLOSEPOP (WM_USER + 0x191)
-
-#define POPFLAG_SAVEHWND 0x01
-
-#endif
diff --git a/plugins/updater/progress_dialog.cpp b/plugins/updater/progress_dialog.cpp
deleted file mode 100644
index 545169b1f3..0000000000
--- a/plugins/updater/progress_dialog.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-#include "common.h"
-#include "progress_dialog.h"
-
-#define ID_PROGTIMER 101
-
-HWND hwndProgress;
-
-INT_PTR CALLBACK DlgProcProgress(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch ( msg )
- {
- case WM_INITDIALOG:
- TranslateDialogDefault(hwndDlg);
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIconEx(I_CHKUPD));
- SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIconEx(I_CHKUPD, true));
-
- SAVEWINDOWPOS swp;
- swp.hwnd=hwndDlg; swp.hContact=0; swp.szModule=MODULE; swp.szNamePrefix="ProgressWindow";
- CallService(MS_UTILS_RESTOREWINDOWPOSITION, RWPF_NOSIZE | RWPF_NOACTIVATE, (LPARAM)&swp);
-
- PostMessage(hwndDlg, WMU_SETPROGRESS, 0, 0);
- return FALSE;
-
- case WM_TIMER:
- if(wParam == ID_PROGTIMER)
- {
- TCHAR text[512];
- GetDlgItemText(hwndDlg, IDC_PROGMSG, text, SIZEOF(text));
- size_t len = _tcslen(text);
- INT_PTR pos = (INT_PTR)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
- if(len >= 3 && len < 511)
- {
- pos = (pos + 1) % 4;
- if(pos == 0)
- text[len - 3] = 0;
- else
- _tcscat(text, _T("."));
- SetDlgItemText(hwndDlg, IDC_PROGMSG, text);
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, pos);
- }
- return TRUE;
- }
- break;
-
- case WMU_SETMESSAGE:
- KillTimer(hwndDlg, ID_PROGTIMER);
- SetDlgItemText(hwndDlg, IDC_PROGMSG, (TCHAR *)wParam);
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, 0);
- SetTimer(hwndDlg, ID_PROGTIMER, 500, 0);
- return TRUE;
-
- case WMU_SETPROGRESS:
- SendDlgItemMessage(hwndDlg, IDC_PROGRESS, PBM_SETPOS, wParam, 0);
- {
- TCHAR buff[512];
-
- mir_sntprintf(buff, SIZEOF(buff), TranslateT("Progress - %d%%"), wParam);
- SetWindowText(hwndDlg, buff);
- }
- return TRUE;
-
- case WM_COMMAND:
- return TRUE; // disable esc, enter, etc
-
- case WM_CLOSE:
- DestroyWindow(hwndDlg);
- break;
-
- case WM_DESTROY:
- KillTimer(hwndDlg, ID_PROGTIMER);
- Utils_SaveWindowPosition(hwndDlg, NULL, MODULE, "ProgressWindow");
- ReleaseIconEx((HICON)SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, 0));
- ReleaseIconEx((HICON)SendMessage(hwndDlg, WM_SETICON, ICON_BIG, 0));
- hwndProgress = NULL;
- PostQuitMessage(0);
- break;
- }
- return FALSE;
-}
-
-void ProgressWindowThread(HANDLE hEvent)
-{
- hwndProgress = CreateDialog(hInst, MAKEINTRESOURCE(IDD_PROGRESS), NULL, DlgProcProgress);
- SetWindowPos(hwndProgress, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_SHOWWINDOW);
- UpdateWindow(hwndProgress);
- SetEvent(hEvent);
-
- MSG hwndMsg;
- while (GetMessage(&hwndMsg, NULL, 0, 0) > 0 && !Miranda_Terminated())
- {
- if (!IsDialogMessage(hwndProgress, &hwndMsg))
- {
- TranslateMessage(&hwndMsg);
- DispatchMessage(&hwndMsg);
- }
- }
-}
-
-void CreateProgressWindow(void)
-{
- HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
- mir_forkthread(ProgressWindowThread, hEvent);
- WaitForSingleObject(hEvent, INFINITE);
- CloseHandle(hEvent);
-}
-
-void ProgressWindowDone(void)
-{
- if (hwndProgress) SendMessage(hwndProgress, WM_CLOSE, 0, 0);
-}
diff --git a/plugins/updater/progress_dialog.h b/plugins/updater/progress_dialog.h
deleted file mode 100644
index 8c1f1132c5..0000000000
--- a/plugins/updater/progress_dialog.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _PROGRESS_DIALOG_INC
-#define _PROGRESS_DIALOG_INC
-
-#include "icons.h"
-
-#define WMU_SETMESSAGE (WM_USER + 0x140) // wParam = char *msg
-#define WMU_SETPROGRESS (WM_USER + 0x141) // wParam = [1 to 100]
-
-extern HWND hwndProgress;
-void CreateProgressWindow();
-void ProgressWindowDone();
-
-#endif
diff --git a/plugins/updater/resource.h b/plugins/updater/resource.h
deleted file mode 100644
index 294c46cf4f..0000000000
--- a/plugins/updater/resource.h
+++ /dev/null
@@ -1,57 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by updater.rc
-//
-#define IDD_DIALOG1 101
-#define IDD_OPT1 102
-#define IDI_MAINMENU 104
-#define IDI_RESTART 105
-#define IDD_CONFIRMUPDATES 106
-#define IDD_PROGRESS 107
-#define IDD_CONFIRMCOMPONENTS 108
-#define IDI_UPDATEANDEXIT 128
-#define IDC_BTN_RESTART 1000
-#define IDC_CHK_ONSTART 1001
-#define IDC_BTN_CHECK 1002
-#define IDC_LIST_UPDATES 1002
-#define IDC_LST_REGISTERED 1003
-#define IDC_PROGRESS 1004
-#define IDC_BTN_CHECKNORESTART 1004
-#define IDC_PROGMSG 1005
-#define IDC_CHK_ONCE 1006
-#define IDC_CHK_DAILY 1007
-#define IDC_CHK_NOCONFIDLE 1008
-#define IDC_CHK_BACKUP 1009
-#define IDC_CHK_DLLSONLY 1010
-#define IDC_CHK_CONFALL 1012
-#define IDC_CHK_NOINSTALL 1013
-#define IDC_CHK_STARTOFFLINE 1013
-#define IDC_LIST_COMPONENTS 1014
-#define IDC_ED_UPDATES 1016
-#define IDC_BTN_BRUPDATES 1019
-#define IDC_CHK_POPUP 1021
-#define IDC_CHK_RESTART 1022
-#define IDC_CHK_UPDATEANDEXIT 1023
-#define IDC_SLID_VERREQ 1024
-#define IDC_ST_VERREQ 1025
-#define IDC_CHK_SAVEZIPS 1026
-#define IDC_ANIMATE1 1027
-#define IDC_CHK_SAVEZIPS2 1027
-#define IDC_CHK_NOUNZIP 1027
-#define IDC_BTN_CHANGELOG 1028
-#define IDC_BTN_SELECTDLLS 1029
-#define IDC_BTN_SELECTDLLS2 1030
-#define IDC_BTN_SELECTINV 1030
-#define IDC_BTN_SELECTALL 1031
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1030
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/plugins/updater/resource.rc b/plugins/updater/resource.rc
deleted file mode 100644
index e8b4ca62ad..0000000000
--- a/plugins/updater/resource.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-// this makes our dependencies work better
-#include "version.h"
-
-#include "updater.rc"
-#include "version.rc"
diff --git a/plugins/updater/restart.ico b/plugins/updater/restart.ico
deleted file mode 100644
index d6a6a7be54..0000000000
--- a/plugins/updater/restart.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/scan.cpp b/plugins/updater/scan.cpp
deleted file mode 100644
index ac068ca347..0000000000
--- a/plugins/updater/scan.cpp
+++ /dev/null
@@ -1,396 +0,0 @@
-#include "common.h"
-#include "scan.h"
-
-typedef PLUGININFO * (__cdecl * Miranda_Plugin_Info) ( DWORD mirandaVersion );
-typedef PLUGININFOEX * (__cdecl * Miranda_Plugin_Info_Ex) ( DWORD mirandaVersion );
-
-struct AlternateShortName
-{
- const char* from;
- const char* to;
-};
-
-static const AlternateShortName alternate_shortname_map[] =
-{
- { "Version Informations", "Version Information" },
- { "Jabber Protocol", "JabberG Protocol" },
- { "Jabber Protocol (Unicode)", "JabberG Protocol (Unicode)" },
-#ifdef _UNICODE
- { "PopUp Interoperability", "PopUp Plus (Unicode)" },
-#else
- { "PopUp Interoperability", "PopUp Plus" },
-#endif
- //{ "Messaging Style Conversation", "nConvers++" }, // will this conflict with other nConvers'?
- { "MimQQ-libeva", "MirandaQQ (libeva Version)" },
-
- // grr
- { "Updater", __PLUGIN_NAME },
- { "Updater (Unicode)", __PLUGIN_NAME },
-};
-
-char* findAlternateShortName(const char* name)
-{
- for (int i = 0; i < SIZEOF(alternate_shortname_map); ++i)
- {
- if (strcmp(name, alternate_shortname_map[i].from) == 0)
- return mir_strdup(alternate_shortname_map[i].to);
- }
-#ifdef _UNICODE
- if (!strstr(name, "Unicode"))
- {
- char *buf = (char*)mir_alloc(256);
- mir_snprintf(buf, 256, "%s (Unicode)", name);
- return buf;
- }
-#endif
- return NULL;
-}
-
-bool valDllName(TCHAR* name)
-{
- TCHAR *p = _tcsrchr(name, '.');
- return p && _tcsicmp(p, _T(".dll")) == 0;
-}
-
-void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list)
-{
- if (!XMLDataAvailable(MC_PLUGINS)) return;
-
- TCHAR plugins_folder[MAX_PATH], dll_path[MAX_PATH];
- TCHAR *dll_name;
- Miranda_Plugin_Info dll_info_func;
- Miranda_Plugin_Info_Ex dll_info_func_ex;
- DWORD mirandaVersion = (DWORD)CallService(MS_SYSTEM_GETVERSION, 0, 0);
- PLUGININFO *pluginInfo;
-
- GetRootDir(plugins_folder);
- _tcscat(plugins_folder, _T("\\Plugins"));
-
- _tcscpy(dll_path, plugins_folder);
- _tcscat(dll_path, _T("\\"));
-
- // set dll_name to point into the dll_path string, at the point where we can write the plugin name
- // to end up with the full dll path
- dll_name = dll_path + _tcslen(dll_path);
-
- // add filemask
- _tcscat(plugins_folder, _T("\\*.dll"));
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(plugins_folder, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do {
- HMODULE hModule = NULL;
- bool notLoaded = false;
- if (valDllName(findData.cFileName))
- {
- _tcscpy(dll_name, findData.cFileName);
- if (hModule = GetModuleHandle(dll_path))
- {
- hModule = LoadLibrary(dll_path);
- notLoaded = true;
- }
- }
- if (hModule)
- {
- dll_info_func = (Miranda_Plugin_Info)GetProcAddress(hModule, "MirandaPluginInfo");
- dll_info_func_ex = (Miranda_Plugin_Info_Ex)GetProcAddress(hModule, "MirandaPluginInfoEx");
- if((dll_info_func_ex && (pluginInfo = (PLUGININFO *)dll_info_func_ex(mirandaVersion))) || (dll_info_func && (pluginInfo = dll_info_func(mirandaVersion))))
- {
- // *** This is a dodgy and unfair hack...
- // In order to disable new plugins that may be unintentionally installed with an update,
- // updater will check for the 'plugindisabled' setting for each dll. The problem is that
- // this setting may not be there for running plugins - and isn't there for new ones. So,
- // we'll disable anything new when the setting isn't found anyway - but we write the
- // value below for all plugins so that we can expect to find it
- char *lowname = _strlwr(mir_t2a(findData.cFileName));
- if(DBGetContactSettingByte(0, "PluginDisable", lowname, 255) == 255) // setting not present
- DBWriteContactSettingByte(0, "PluginDisable", lowname, 0);
- mir_free(lowname);
-
- bool found = false;
- char* alternateName = findAlternateShortName(pluginInfo->shortName);
- if (alternateName)
- {
- int file_id = FindFileID(alternateName, MC_PLUGINS, update_list);
- if (file_id != -1)
- {
- found = true;
- if (FindFileInList(pluginInfo->shortName) >= 0)
- RegisterForFileListing(file_id, pluginInfo->shortName, pluginInfo->version, true, MC_PLUGINS);
- else
- RegisterForFileListing(file_id, alternateName, pluginInfo->version, true, MC_PLUGINS);
-
- if (fn_map)
- {
- FileNameStruct* fns = fn_map->find((FileNameStruct*)&file_id);
- if (fns == NULL)
- {
- fns = new FileNameStruct(file_id);
- fn_map->insert(fns);
- }
- fns->list.insert(mir_tstrdup(findData.cFileName));
- }
- }
- mir_free(alternateName);
- }
-
- if (!found)
- {
- int file_id = FindFileID(pluginInfo->shortName, MC_PLUGINS, update_list);
- if (file_id != -1)
- {
- RegisterForFileListing(file_id, pluginInfo, true);
- if (fn_map)
- {
- FileNameStruct* fns = fn_map->find((FileNameStruct*)&file_id);
- if (fns == NULL)
- {
- fns = new FileNameStruct(file_id);
- fn_map->insert(fns);
- }
- fns->list.insert(mir_tstrdup(findData.cFileName));
- }
- }
- }
- }
- if (notLoaded) FreeLibrary(hModule);
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-}
-
-typedef struct LangpackData_tag {
- DWORD version;
- char *fl_name;
-} LangpackData;
-
-
-bool GetLangpackData(const TCHAR *filename, LangpackData *ld)
-{
- char line[1024], *ver, *conv;
-
- FILE *fp = _tfopen(filename, _T("r"));
- if (fp == NULL) return false;
-
- while (fgets(line, sizeof(line), fp))
- {
- conv = strstr(line, "; FLID:");
- if (conv)
- {
- conv += 7;
-
- while (*conv == ' ') conv++;
-
- ver = strchr(conv, 0) + 1;
- while (ver >= conv) if (*ver != ' ') break; else *ver-- = 0;
-
- ver = strrchr(conv, ' ');
- if (ver)
- {
- *ver = 0;
- VersionFromString(++ver, &ld->version);
- }
- ld->fl_name = mir_strdup(conv);
- fclose(fp);
- return true;
- }
- }
- fclose(fp);
- return false;
-}
-
-void ScanLangpacks(FilenameMap *fn_map, UpdateList *update_list)
-{
- if(!XMLDataAvailable(MC_LOCALIZATION)) return;
-
- TCHAR mir_folder[MAX_PATH], langpack_path[MAX_PATH], *langpack_name;
-
- GetRootDir(mir_folder); _tcscat(mir_folder, _T("\\"));
- _tcscpy(langpack_path, mir_folder);
-
- // set langpack_name to point into the langpack_name string, at the point where we can write the file name
- // to end up with the full path
- langpack_name = langpack_path + _tcslen(langpack_path);
-
- // add filemask
- _tcscat(mir_folder, _T("langpack_*.txt"));
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(mir_folder, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do {
- _tcscpy(langpack_name, findData.cFileName);
- LangpackData ld = {0};
- if (GetLangpackData(langpack_path, &ld))
- {
- int file_id = FindFileID(ld.fl_name, MC_LOCALIZATION, update_list);
- if (file_id != -1)
- {
- RegisterForFileListing(file_id, ld.fl_name, ld.version, true, MC_LOCALIZATION);
- if (fn_map)
- {
- FileNameStruct* fns = fn_map->find((FileNameStruct*)&file_id);
- if (fns == NULL)
- {
- fns = new FileNameStruct(file_id);
- fn_map->insert(fns);
- }
- fns->list.insert(mir_tstrdup(findData.cFileName));
- }
- }
- mir_free(ld.fl_name);
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-}
-
-bool RearrangeDllsWorker(char *shortName, StrList &filenames, TCHAR *basedir)
-{
- bool dll_enabled = false;
- BYTE disabled_val;
-
- TCHAR file_path[MAX_PATH];
-
- Miranda_Plugin_Info dll_info_func;
- Miranda_Plugin_Info_Ex dll_info_func_ex;
- DWORD mirandaVersion = (DWORD)CallService(MS_SYSTEM_GETVERSION, 0, 0);
- PLUGININFO *pluginInfo;
- HMODULE hModule;
-
- // add filemask
- mir_sntprintf(file_path, SIZEOF(file_path), _T("%s\\*.dll"), basedir);
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(file_path, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do
- {
- mir_sntprintf(file_path, SIZEOF(file_path), _T("%s\\%s"), basedir, findData.cFileName);
- if (valDllName(findData.cFileName) && (hModule = LoadLibrary(file_path)))
- {
- dll_info_func = (Miranda_Plugin_Info)GetProcAddress(hModule, "MirandaPluginInfo");
- dll_info_func_ex = (Miranda_Plugin_Info_Ex)GetProcAddress(hModule, "MirandaPluginInfoEx");
- if((dll_info_func_ex && (pluginInfo = (PLUGININFO *)dll_info_func_ex(mirandaVersion))) || (dll_info_func && (pluginInfo = dll_info_func(mirandaVersion))))
- {
- bool found = !_stricmp(pluginInfo->shortName, shortName);
- if (!found)
- {
- char* alternateName = findAlternateShortName(pluginInfo->shortName);
- found = alternateName && !_stricmp(alternateName, shortName);
- mir_free(alternateName);
- }
-
- if (found)
- {
- bool moved = false;
- TCHAR* newname = NULL;
- for (int j = 0; j < filenames.getCount(); j++)
- {
- TCHAR new_filename[MAX_PATH];
- TCHAR* fileName = filenames[j];
- mir_sntprintf(new_filename, SIZEOF(new_filename), _T("%s\\%s"), basedir, fileName);
-
- // disable any new plugins (i.e. not installed before) that somehome got into the
- // dowloaded archives (e.g. loadavatars comes with loadavatarsw - installing both is not good!)
- char *temp_str = _strlwr(mir_t2a(fileName));
- disabled_val = DBGetContactSettingByte(0, "PluginDisable", temp_str, 255);
- if (disabled_val == 255) { // assume this means setting not in db (should be 1 or 0)
- DBWriteContactSettingByte(0, "PluginDisable", temp_str, 1);
- disabled_val = 1;
- }
- mir_free(temp_str);
-
- dll_enabled |= (disabled_val == 0);
-
- if (!moved)
- {
- if (_tcsicmp(findData.cFileName, fileName))
- MoveFile(file_path, new_filename);
-
- mir_free(newname); newname = mir_tstrdup(new_filename);
- moved = true;
- } else
- CopyFile(newname, new_filename, FALSE);
- }
- mir_free(newname);
- FreeLibrary(hModule);
- break;
- }
- }
- FreeLibrary(hModule);
- }
- }
- while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
- return dll_enabled;
-}
-
-
-bool RearrangeDlls(char *shortName, StrList &filenames)
-{
- bool dll_enabled = false;
-
- TCHAR dir[MAX_PATH];
- mir_sntprintf(dir, SIZEOF(dir), _T("%s\\Plugins"), options.temp_folder);
-
- return
- RearrangeDllsWorker(shortName, filenames, options.temp_folder) ||
- RearrangeDllsWorker(shortName, filenames, dir);
-}
-
-bool RearrangeLangpacks(char *shortName, StrList &filenames)
-{
-
- TCHAR file_path[MAX_PATH], updates_folder[MAX_PATH], new_filename[MAX_PATH], *langpack_name;
- // do exactly the same thing again, for the updates/plugins folder... :(
-
- mir_sntprintf(file_path, SIZEOF(file_path), _T("%s\\"), options.temp_folder);
- langpack_name = file_path + _tcslen(file_path);
-
- // add filemask
- mir_sntprintf(updates_folder, SIZEOF(updates_folder), _T("%s\\langpack_*.txt"), options.temp_folder);
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(updates_folder, &findData);
- if(hFileSearch != INVALID_HANDLE_VALUE) {
- do {
- _tcscpy(langpack_name, findData.cFileName);
-
- LangpackData ld = {0};
- if (GetLangpackData(file_path, &ld))
- {
- if (_stricmp(ld.fl_name, shortName) == 0)
- {
- bool moved = false;
- TCHAR *newname = NULL;
- for (int j = 0; j < filenames.getCount(); j++)
- {
- TCHAR *fileName = filenames[j];
- mir_sntprintf(new_filename, SIZEOF(new_filename), _T("%s\\%s"), options.temp_folder, fileName);
-
- if (!moved)
- {
- if (_tcscmp(findData.cFileName, fileName) != 0)
- MoveFile(file_path, new_filename);
- mir_free(newname); newname = mir_tstrdup(new_filename);
- moved = true;
- } else
- CopyFile(newname, new_filename, FALSE);
- }
- mir_free(newname);
- break;
- }
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-
- return true;
-}
diff --git a/plugins/updater/scan.h b/plugins/updater/scan.h
deleted file mode 100644
index d86f80395d..0000000000
--- a/plugins/updater/scan.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _SCAN_INC
-#define _SCAN_INC
-
-#include "xmldata.h"
-#include "services.h"
-#include "utils.h"
-#include "allocations.h"
-#include "options.h"
-
-void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list);
-void ScanLangpacks(FilenameMap *fn_map, UpdateList *update_list);
-
-// returns true if any dll is not 'disabled' in db
-bool RearrangeDlls(char *shortName, StrList &filenames);
-
-bool RearrangeLangpacks(char *shortName, StrList &filenames);
-
-#endif
diff --git a/plugins/updater/services.cpp b/plugins/updater/services.cpp
deleted file mode 100644
index 61e87c3665..0000000000
--- a/plugins/updater/services.cpp
+++ /dev/null
@@ -1,889 +0,0 @@
-#include "common.h"
-#include "services.h"
-
-UpdateList update_list;
-CRITICAL_SECTION list_cs;
-
-DWORD daily_timer_id, startup_timer_id;
-HANDLE hMainMenuItem, hGroupMenuItem;
-HANDLE hStartupDone;
-
-bool checking;
-
-#define NUM_SERVICES 13
-HANDLE hService[NUM_SERVICES];
-
-int CompareFileNameStruct(const FileNameStruct *p1, const FileNameStruct *p2)
-{
- return p1->file_id - p2->file_id;
-}
-
-VOID CALLBACK CheckTimerProcDaily(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
-{
- if(options.check_daily)
- CallService(MS_UPDATE_CHECKFORUPDATES, (WPARAM)(is_idle && options.no_conf_idle), 0);
-}
-
-// returns true if any downloaded dll is active
-bool DownloadUpdates(UpdateList &todo, FilenameMap *map, bool dlls_only) {
-
- bool dll_enabled_or_langpack = false;
-
- bool use_popup = options.popup_notify && ArePopupsEnabled();
-
- // iterate through the updates we need to check
-
- if (use_popup)
- {
- ShowPopup(0, TranslateT("Downloading Updates"), _T(""), POPFLAG_SAVEHWND, -1);
- }
- else
- {
- CreateProgressWindow();
-
- SendMessage(hwndProgress, WM_SETTEXT, 0, (LPARAM)TranslateT("Progress - Downloading updates..."));
- SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Downloading"), 0);
- }
-
- TCHAR msg[512];
- TCHAR *temp_str;
- bool a_download_succeeded = false;
-
- for (int index = 0; index < todo.getCount(); index++)
- {
- // remember if the user has decided not to install this version
- char stored_setting[256];
- mir_snprintf(stored_setting, SIZEOF(stored_setting), "DisabledVer%s", todo[index].update.szComponentName);
- DBVARIANT dbv;
- bool download = todo[index].update_options.enabled;
- if(!DBGetContactSettingString(0, "Updater", stored_setting, &dbv))
- {
- if(dbv.pszVal && strcmp(dbv.pszVal, todo[index].newVersion) == 0)
- download = false;
- else
- DBDeleteContactSetting(0, "Updater", stored_setting);
- DBFreeVariant(&dbv);
- }
-
- if(download)
- {
- mir_sntprintf(msg, SIZEOF(msg), TranslateT("Downloading plugin: %s"), (temp_str = GetTString(todo[index].update.szComponentName)));
- mir_free(temp_str);
- }
- else
- {
- mir_sntprintf(msg, SIZEOF(msg), TranslateT("Skipping plugin: %s"), (temp_str = GetTString(todo[index].update.szComponentName)));
- mir_free(temp_str);
- }
-
- if (!use_popup)
- {
- SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)msg, 0);
- PostMessage(hwndProgress, WMU_SETPROGRESS, (WPARAM)(int)(index * 100.0 / todo.getCount()), 0);
- } //else if(hwndPop) // disabled - just annoying
- //ChangePopupText(hwndPop, msg);
-
-
- if (download)
- {
- bool got_file = false;
- if(todo[index].update_options.use_beta)
- {
- // download from i->update.szBetaUpdateURL to temp folder
- got_file = GetFile(todo[index].update.szBetaUpdateURL, options.temp_folder, todo[index].update.szComponentName, todo[index].newVersion, dlls_only);
- } else {
- got_file = GetFile(todo[index].update.szUpdateURL, options.temp_folder, todo[index].update.szComponentName, todo[index].newVersion, dlls_only);
- }
-
- if(got_file)
- {
- a_download_succeeded = true;
- if (todo[index].file_id != -1)
- {
- FileNameStruct* fns = map->find((FileNameStruct*)&todo[index].file_id);
- if (todo[index].cat == MC_PLUGINS || todo[index].cat == MC_UNKNOWN)
- dll_enabled_or_langpack |= RearrangeDlls(todo[index].shortName, fns->list);
- else if(todo[index].cat == MC_LOCALIZATION)
- {
- RearrangeLangpacks(todo[index].shortName, fns->list);
- dll_enabled_or_langpack = true;
- }
- }
- else
- {
- dll_enabled_or_langpack = true;
- }
- }
- }
-
- if (!use_popup && hwndProgress == 0)
- {
- RemoveFolder(options.temp_folder);
- break; // user closed progress window - cancel
- }
- }
-
-
- ProgressWindowDone();
- // postmessage here causes a lockup on exit! bah popups!!
- //if(hwndPop) PostMessage(hwndPop, WMU_CLOSEPOP, 0, 0);
- if (hwndPop) SendMessage(hwndPop, WMU_CLOSEPOP, 0, 0);
-
- if(!a_download_succeeded)
- {
- for(int i = 0; i < todo.getCount(); ++i)
- free(todo[i].newVersion);
- todo.destroy();
- }
-
- return dll_enabled_or_langpack;
-}
-
-void __stdcall sttNotifyStartup( void* dwParam ) {
- NotifyEventHooks(hStartupDone, 0, 0);
-}
-
-void RestoreStatus() {
- //NotifyEventHooks(hStartupDone, 0, 0);
- // do this in a seperate thread, in case we're called from an event hook to prevent double-lock on core hook critical section (csHooks)
- CallFunctionAsync(sttNotifyStartup, NULL);
-
- if(options.start_offline) {
- // restore global status - only works on startup since we remove the SavedGlobalStatus parameter
- WORD clist_status = DBGetContactSettingWord(0, "CList", "Status", ID_STATUS_OFFLINE),
- saved_global_status = DBGetContactSettingWord(0, MODULE, "SavedGlobalStatus", clist_status);
- if(clist_status == ID_STATUS_OFFLINE && saved_global_status != clist_status) {
-#ifdef DEBUG_POPUPS
- PUShowMessage("Updater: restoring status", SM_NOTIFY);
-#endif
- CallService(MS_CLIST_SETSTATUSMODE, (WPARAM)saved_global_status, 0);
- }
- }
- DBDeleteContactSetting(0, MODULE, "SavedGlobalStatus");
-}
-
-bool WriteLastCheckTime(void)
-{
- SYSTEMTIME now;
- GetSystemTime(&now);
-
- DBWriteContactSettingWord(0, MODULE, "LastUpdateDay", now.wDay);
- DBWriteContactSettingWord(0, MODULE, "LastUpdateMonth", now.wMonth);
- DBWriteContactSettingWord(0, MODULE, "LastUpdateYear", now.wYear);
-
- return true;
-}
-
-void CheckForUpdatesWorker(void *param)
-{
- if (checking) return;
- /*
- // this check doesn't work on some systems - not sure which or why
- if(!(GetSystemMetrics(SM_NETWORK) & 1)) {
- ShowError(TranslateT("No network - aborting update check"));
- NLog("worker thread aborting - no network");
- return 1; // no network
- }
- */
-
- NLog("CheckForUpdatesWorker thread starting");
-
- checking = true;
-
- WriteLastCheckTime();
-
- bool confirm = !(((DWORD)param & 1) == 1);
- bool restart = !(((DWORD)param & 2) == 2); // if restart is false, then we're doing an 'update and shutdown'
-
- if(hwndOptions) PostMessage(hwndOptions, WMU_CHECKING, 0, 0);
-
- bool use_popup = options.popup_notify && ArePopupsEnabled();
-
- FilenameMap fn_map(5, CompareFileNameStruct);
-
- if (use_popup)
- {
- ShowPopup(0, TranslateT("Checking for Updates"), _T(""), POPFLAG_SAVEHWND, -1);
- }
- else
- {
- CreateProgressWindow();
-
- SendMessage(hwndProgress, WM_SETTEXT, 0, (LPARAM)TranslateT("Progress - Checking for updates..."));
- if (options.use_xml_backend) SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Downloading XML data"), 0);
- else SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Checking for updates"), 0);
-
- }
-
- EnterCriticalSection(&list_cs);
-
- if (options.use_xml_backend)
- {
- if (UpdateXMLData(MC_PLUGINS)) // prevent double error messages (in some cases)
- {
- // iterate through the registered plugins
- if (!use_popup) SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Scanning plugins folder"), 0);
- ScanPlugins(&fn_map, &update_list);
-
- if (UpdateXMLData(MC_LOCALIZATION))
- {
- if (!use_popup) SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Scanning language packs"), 0);
- ScanLangpacks(&fn_map, &update_list);
- }
-
- if(!use_popup) SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Updating component file listing ids"), 0);
- UpdateFLIDs(update_list);
- }
-
- if (!use_popup) SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)TranslateT("Checking for updates"), 0);
- }
-
- UpdateList update_list2(update_list);
- LeaveCriticalSection(&list_cs);
-
- int count = update_list2.getCount(), index = 0;
- TCHAR msg[512];
- TCHAR *temp_str;
-
- UpdateList todo;
-
- for(index = 0; index < count; index++)
- {
- if(update_list2[index].update_options.enabled)
- {
- mir_sntprintf(msg, SIZEOF(msg), TranslateT("Checking plugin: %s"), (temp_str = GetTString(update_list2[index].update.szComponentName)));
- mir_free(temp_str);
- }
- else
- {
- mir_sntprintf(msg, SIZEOF(msg), TranslateT("Skipping plugin: %s"), (temp_str = GetTString(update_list2[index].update.szComponentName)));
- mir_free(temp_str);
- }
-
- if(!use_popup) {
- SendMessage(hwndProgress, WMU_SETMESSAGE, (WPARAM)msg, 0);
- SendMessage(hwndProgress, WMU_SETPROGRESS, (WPARAM)(int)(index * 100.0 / count), 0);
- } //else if(hwndPop) // disabled - just annoying
- //ChangePopupText(hwndPop, msg);
-
- if (update_list2[index].update_options.enabled)
- {
- char *nv;
- bool beta;
- if (nv = UpdateRequired(update_list2[index], &beta))
- {
- todo.insert(new UpdateInternal(update_list2[index]));
- todo[todo.getCount()-1].newVersion = nv;
- todo[todo.getCount()-1].update_options.use_beta = beta;
- }
- }
- if (!use_popup && hwndProgress == NULL)
- {
- RemoveFolder(options.temp_folder);
- break; // user closed progress window - cancel
- }
- }
-
- ProgressWindowDone();
- if (hwndPop) PostMessage(hwndPop, WMU_CLOSEPOP, 0 , 0);
-
- if(options.use_xml_backend) {
- FreeXMLData(MC_PLUGINS);
- FreeXMLData(MC_LOCALIZATION);
- }
-
- bool restore_status = true;
-
- if (todo.getCount())
- {
- int cd_ret = CD_OK;
- if (confirm)
- {
- if (use_popup)
- {
- ShowPopup(0, TranslateT("Updates Available"), TranslateT("Updated Miranda components detected.\nClick here to install."), POPFLAG_SAVEHWND, -1);
- DWORD ret;
- while ((ret = WaitForSingleObject(hEventPop, 200)) == WAIT_TIMEOUT && !Miranda_Terminated());
-
- if (!pop_cancelled && ret == WAIT_OBJECT_0 && !Miranda_Terminated())
- {
- cd_ret = DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_CONFIRMUPDATES), GetDesktopWindow(), DlgProcConfirm, (LPARAM)&todo);
- }
- else
- {
- if(hwndOptions) PostMessage(hwndOptions, WMU_DONECHECKING, 0, 0);
- RestoreStatus();
- for(int i=0; i<todo.getCount(); ++i)
- free(todo[i].newVersion);
- checking = false;
- Netlib_CloseHandle(hNetlibHttp);
- hNetlibHttp = NULL;
- return;
- }
- }
- else
- cd_ret = DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_CONFIRMUPDATES), GetDesktopWindow(), DlgProcConfirm, (LPARAM)&todo);
- }
-
-
-
- if (!confirm || cd_ret == CD_CONFALL || cd_ret == CD_NOINSTALL || cd_ret == CD_OK)
- {
- bool conf_all = (cd_ret == CD_CONFALL), no_install = (cd_ret == CD_NOINSTALL);
-
- // ensure the backup folder exists (either create it or return non-zero signifying error)
- if (options.backup && !CreatePath(options.backup_folder))
- {
- //MessageBox(0, Translate("Could not create backup folder"), Translate("Error"), MB_OK | MB_ICONERROR);
- ShowError(TranslateT("Could not create backup folder"));
- if (hwndOptions) PostMessage(hwndOptions, WMU_DONECHECKING, 0, 0);
- RestoreStatus();
- for (int i=0; i<todo.getCount(); ++i)
- free(todo[i].newVersion);
- checking = false;
- Netlib_CloseHandle(hNetlibHttp);
- hNetlibHttp = NULL;
- return;
- }
-
- bool dll_enabled_or_langpack = DownloadUpdates(todo, &fn_map, confirm ? false : options.auto_dll_only);
- if (todo.getCount() && !no_install)
- {
- if (!conf_all || DialogBox(hInst, MAKEINTRESOURCE(IDD_CONFIRMCOMPONENTS), GetDesktopWindow(), DlgProcConfirmComponents) == IDOK)
- {
- if (!dll_enabled_or_langpack && restart)
- {
- // we're not doing an 'update and shutdown', and we're not updating any active dlls...so just install
-
- // get folders
- TCHAR root_folder[MAX_PATH], plugins_folder[MAX_PATH];
-
- GetRootDir(root_folder);
-
- _tcscpy(plugins_folder, root_folder);
- _tcscat(plugins_folder, _T("\\Plugins"));
-
- // move files
- MoveFiles(0, options.temp_folder, plugins_folder, options.backup_folder, root_folder);
-
- // rescan to get correct version numbers
- ScanPlugins(0, 0);
- }
- else
- {
- if (ExternProcess(restart) == 0) // if restarting, don't restore status
- restore_status = false;
- }
- }
- }
- }
-
- for (int i=0; i<todo.getCount(); ++i)
- free(todo[i].newVersion);
-
- }
- else if (!restart)
- {
- PostMessage((HWND)CallService(MS_CLUI_GETHWND, 0, 0), WM_COMMAND, ID_ICQ_EXIT, 0);
- }
-
- if (restore_status && restart) // restore status if we're not doing an 'update and shutdown', and the update was unsuccessful (or there was nothing to update, or no need to shutdown)
- {
- checking = false;
- if (hwndOptions) PostMessage(hwndOptions, WMU_DONECHECKING, 0, 0);
- RestoreStatus();
- }
- Netlib_CloseHandle(hNetlibHttp);
- hNetlibHttp = NULL;
-}
-
-int FindFileInList(const char *name)
-{
- int res = -1;
- for (int i=0; i < update_list.getCount(); ++i)
- {
- if (strcmp(update_list[i].update.szComponentName, name) == 0)
- {
- res = i;
- break;
- }
- }
- return res;
-}
-
-INT_PTR Restart(WPARAM wParam, LPARAM lParam) {
- ExternProcess(true);
- return 0;
-}
-
-INT_PTR UpdateAndExit(WPARAM wParam, LPARAM lParam) {
- return CallService(MS_UPDATE_CHECKFORUPDATES, 0, 1);
-}
-
-// if wParam, don't confirm
-// if lParam, install and shutdown but don't restart
-INT_PTR CheckForUpdates(WPARAM wParam, LPARAM lParam) {
- if(daily_timer_id) KillTimer(0, daily_timer_id);
- daily_timer_id = SetTimer(0, 0, 24 * 60 * 60 * 1000, CheckTimerProcDaily);
-
- DWORD param = ((wParam ? 1 : 0) | (lParam ? 2 : 0));
-
- mir_forkthread(CheckForUpdatesWorker, (void*)param);
- NLog("CheckForUpdates service called");
-
- return 0;
-}
-
-INT_PTR EnumerateUpdates(WPARAM wParam, LPARAM lParam) {
- UpdateEnumerateFunc func = (UpdateEnumerateFunc)wParam;
-
- EnterCriticalSection(&list_cs);
- for(int i=0; i<update_list.getCount(); ++i) {
- func(update_list[i].update.szComponentName, &(update_list[i].update_options), lParam);
- }
- LeaveCriticalSection(&list_cs);
-
- return 0;
-}
-
-void LoadUpdateOptions(char *szComponentName, UpdateOptions *update_options) {
- char buff[256];
- sprintf(buff, "Enable%s", szComponentName);
- update_options->enabled = (DBGetContactSettingByte(0, MODULE, buff, 1) == 1);
- if(!update_options->fixed) {
- sprintf(buff, "UseBeta%s", szComponentName);
- update_options->use_beta = (DBGetContactSettingByte(0, MODULE, buff, 0) == 1);
- }
-}
-
-void SaveUpdateOptions(char *szComponentName, UpdateOptions *update_options) {
- char buff[256];
- sprintf(buff, "Enable%s", szComponentName);
- DBWriteContactSettingByte(0, MODULE, buff, update_options->enabled ? 1 : 0);
- if(!update_options->fixed) {
- sprintf(buff, "UseBeta%s", szComponentName);
- DBWriteContactSettingByte(0, MODULE, buff, update_options->use_beta ? 1 : 0);
- }
-}
-
-INT_PTR SetUpdateOptions(WPARAM wParam, LPARAM lParam) {
- char *szComponentName = (char *)wParam;
- UpdateOptions *uo = (UpdateOptions *)lParam;
- TCHAR *temp1 = 0;
-
- bool found = false;
- EnterCriticalSection(&list_cs);
- for (int i=0; i<update_list.getCount(); ++i) {
- if(strcmp(update_list[i].update.szComponentName, szComponentName) == 0
- || _tcscmp(temp1 = GetTString(update_list[i].update.szComponentName), (TCHAR *)szComponentName) == 0) // when set via options, szComponentName is translated and potentially already converted to unicode
- {
- found = true;
- update_list[i].update_options = *uo;
- SaveUpdateOptions(update_list[i].update.szComponentName, &update_list[i].update_options);
- if(update_list[i].file_id == -1 && !uo->use_beta) {
- update_list[i].file_id = CheckForFileID(update_list[i].update.szUpdateURL, update_list[i].update.szVersionURL, update_list[i].update.szComponentName);
- }
- break;
- }
- }
- LeaveCriticalSection(&list_cs);
- mir_free(temp1);
-
- return found ? 0 : 1;
-}
-
-INT_PTR GetUpdateOptions(WPARAM wParam, LPARAM lParam) {
- char *szComponentName = (char *)wParam;
- UpdateOptions *uo = (UpdateOptions *)lParam;
- TCHAR *temp1 = 0;
-
- bool found = false;
- EnterCriticalSection(&list_cs);
- for (int i=0; i<update_list.getCount(); ++i) {
- if(strcmp(update_list[i].update.szComponentName, szComponentName) == 0
- || _tcscmp((temp1 = GetTString(update_list[i].update.szComponentName)), (TCHAR *)szComponentName) == 0) // when set via options, szComponentName is translated and potentially already converted to unicode
- {
- found = true;
- *uo = update_list[i].update_options;
- break;
- }
- }
- LeaveCriticalSection(&list_cs);
- mir_free(temp1);
-
- return found ? 0 : 1;
-}
-
-bool RegisterForFileListing(int file_id, PLUGININFO *pluginInfo, bool auto_register)
-{
- return RegisterForFileListing(file_id, pluginInfo->shortName, pluginInfo->version, auto_register, MC_PLUGINS);
-}
-
-bool IsRegistered(int file_id)
-{
- EnterCriticalSection(&list_cs);
- for (int i=0; i<update_list.getCount(); ++i)
- {
- if (update_list[i].file_id == file_id)
- {
- LeaveCriticalSection(&list_cs);
- return true; // plugin already registered
- }
- }
- LeaveCriticalSection(&list_cs);
-
- return false;
-}
-
-bool RegisterForFileListing(int file_id, const char *fl_name, DWORD version, bool auto_register, const Category cat)
-{
- // allow multiple registration of same plugin only if new plugin not automatically registered
- // if multiple registration of an auto registered plugin occurs, use newest file id and version
- EnterCriticalSection(&list_cs);
- int i = FindFileInList(fl_name);
- if (i >= 0 && !auto_register)
- update_list.remove(i);
- else if (i >= 0)
- {
- if (update_list[i].auto_register)
- {
- update_list[i].file_id = file_id; // in case plugin file id changes (i.e. scan from xml data will overwrite settings read from db on startup)
- char version_str[16];
- update_list[i].update.pbVersion = (BYTE *)safe_strdup(CreateVersionString(version, version_str));
- update_list[i].update.cpbVersion = (int)strlen(version_str);
- }
- LeaveCriticalSection(&list_cs);
-
- // plugin already registered - set file id if AUTOREGISTER
- if (update_list[i].update.szUpdateURL && strcmp(update_list[i].update.szUpdateURL, UPDATER_AUTOREGISTER) == 0)
- {
- update_list[i].file_id = file_id;
- char *buff = (char *)safe_alloc(strlen(MIM_DOWNLOAD_URL_PREFIX) + 9);
- sprintf(buff, MIM_DOWNLOAD_URL_PREFIX "%d", file_id);
- update_list[i].update.szUpdateURL = buff;
- update_list[i].shortName = safe_strdup(update_list[i].update.szComponentName);
-
- if(update_list[i].update.szBetaVersionURL)
- {
- update_list[i].update_options.fixed = false;
- LoadUpdateOptions(update_list[i].update.szComponentName, &update_list[i].update_options);
- }
- }
- return false;
- }
- LeaveCriticalSection(&list_cs);
-
- UpdateInternal update_internal = {0};
- char version_str[16];
- char *buff;
-
- update_internal.cat = cat;
- update_internal.shortName = safe_strdup(fl_name);
-
- update_internal.update.szComponentName = safe_strdup(fl_name);
- update_internal.update.pbVersion = (BYTE *)safe_strdup(CreateVersionString(version, version_str));
- update_internal.update.cpbVersion = (int)strlen(version_str);
-
- buff = (char *)safe_alloc(strlen(MIM_DOWNLOAD_URL_PREFIX) + 9);
- sprintf(buff, MIM_DOWNLOAD_URL_PREFIX "%d", file_id);
- update_internal.update.szUpdateURL = buff;
-
- ///////// only used when not using the xml backend ////////////
- buff = (char *)safe_alloc(strlen("class=\"fileNameHeader\">") + strlen(fl_name) + 2);
- sprintf(buff, "class=\"fileNameHeader\">%s ", fl_name);
- update_internal.update.pbVersionPrefix = (BYTE *)buff;
- update_internal.update.cpbVersionPrefix = (int)strlen(buff);
-
- buff = (char *)safe_alloc(strlen(MIM_VIEW_URL_PREFIX) + 9);
- sprintf(buff, MIM_VIEW_URL_PREFIX "%d", file_id);
- update_internal.update.szVersionURL = buff;
- ///////////////////////////////////////////////////////////////
-
- // same as register, except for fileID
- update_internal.file_id = file_id;
- update_internal.auto_register = auto_register;
- update_internal.update_options.fixed = true;
- update_internal.update_options.use_beta = false;
-
- LoadUpdateOptions(update_internal.update.szComponentName, &update_internal.update_options);
-
- EnterCriticalSection(&list_cs);
- update_list.insert(new UpdateInternal(update_internal));
- LeaveCriticalSection(&list_cs);
-
- return true;
-}
-
-void DoStartupProcess() {
- if(checking) return;
-
- if(OldXMLDataExists(MC_PLUGINS) && OldXMLDataExists(MC_LOCALIZATION)) {
- if(options.check_on_startup) {
- SYSTEMTIME now;
- GetSystemTime(&now);
-
- if(options.check_once) {
- if(DBGetContactSettingWord(0, MODULE, "LastUpdateDay", 32) == 32) {
- CallService(MS_UPDATE_CHECKFORUPDATES, 0, 0);
- } else {
- if(now.wDay != DBGetContactSettingWord(0, MODULE, "LastUpdateDay", now.wDay)
- || now.wMonth != DBGetContactSettingWord(0, MODULE, "LastUpdateMonth", now.wMonth)
- || now.wYear != DBGetContactSettingWord(0, MODULE, "LastUpdateYear", now.wYear))
- {
- CallService(MS_UPDATE_CHECKFORUPDATES, 0, 0);
- } else {
- if(LoadOldXMLData(MC_PLUGINS, false)) {
- ScanPlugins(0, 0);
- FreeXMLData(MC_PLUGINS);
- }
- if(LoadOldXMLData(MC_LOCALIZATION, false)) {
- ScanLangpacks(0, 0);
- FreeXMLData(MC_LOCALIZATION);
- }
-
- RestoreStatus();
- }
- }
- } else {
- CallService(MS_UPDATE_CHECKFORUPDATES, 0, 0);
- }
- } else {
- if(LoadOldXMLData(MC_PLUGINS, false)) {
- ScanPlugins(0, 0);
- FreeXMLData(MC_PLUGINS);
- }
- if(LoadOldXMLData(MC_LOCALIZATION, false)) {
- ScanLangpacks(0, 0);
- FreeXMLData(MC_LOCALIZATION);
- }
-
- RestoreStatus();
- }
- } else {
- if(options.check_on_startup) CallService(MS_UPDATE_CHECKFORUPDATES, 0, 0);
- else RestoreStatus();
- }
-
-}
-
-
-INT_PTR Register(WPARAM wParam, LPARAM lParam) {
-
- Update *update = (Update *)lParam;
- UpdateInternal update_internal = {0};
-
- // remove registered plugin if already there
- EnterCriticalSection(&list_cs);
- int i = FindFileInList(update->szComponentName);
- if (i >= 0) update_list.remove(i);
- LeaveCriticalSection(&list_cs);
-
- if(update->szComponentName == 0 || update->pbVersion == 0)
- return 1;
- if(update->szVersionURL == 0 && (update->szUpdateURL == 0 || strcmp(update->szUpdateURL, UPDATER_AUTOREGISTER) != 0) && update->szBetaVersionURL == 0) // both betas and normal updates disabled - complain
- return 1;
-
- update_internal.cat = MC_UNKNOWN;
-
- // duplicate all the data...sigh
- update_internal.update.szComponentName = safe_strdup(update->szComponentName);
-
- if(update->szVersionURL) update_internal.update.szVersionURL = safe_strdup(update->szVersionURL);
- if(update->szUpdateURL) update_internal.update.szUpdateURL = safe_strdup(update->szUpdateURL);
-
- // if revision update url is from the fl, and we can find the file_id, use xml data if available
- // otherwise set this to -1 to check url's specified
- if(update_internal.update.szUpdateURL)
- update_internal.file_id = CheckForFileID(update_internal.update.szUpdateURL, update_internal.update.szVersionURL, update_internal.update.szComponentName);
- else
- update_internal.file_id = -1;
-
- if(update_internal.file_id != -1) { // ensure correct format for file listing version string search data
- char *buff = (char *)safe_alloc(strlen("class=\"fileNameHeader\">") + strlen(update->szComponentName) + 2);
- sprintf(buff, "class=\"fileNameHeader\">%s ", update->szComponentName);
- update_internal.update.pbVersionPrefix = (BYTE *)buff;
- update_internal.update.cpbVersionPrefix = (int)strlen(buff);
-
- update_internal.shortName = safe_strdup(update->szComponentName);
- } else {
- if(update->pbVersionPrefix) update_internal.update.pbVersionPrefix = safe_bytedup(update->pbVersionPrefix, update->cpbVersionPrefix);
- update_internal.update.cpbVersionPrefix = update->cpbVersionPrefix;
- }
-
- // leave beta alone
- if(update->szBetaVersionURL) update_internal.update.szBetaVersionURL = safe_strdup(update->szBetaVersionURL);
- if(update->pbBetaVersionPrefix) update_internal.update.pbBetaVersionPrefix = safe_bytedup(update->pbBetaVersionPrefix, update->cpbBetaVersionPrefix);
- update_internal.update.cpbBetaVersionPrefix = update->cpbBetaVersionPrefix;
- if(update->szBetaUpdateURL) update_internal.update.szBetaUpdateURL = safe_strdup(update->szBetaUpdateURL);
-
- update_internal.update.pbVersion = safe_bytedup(update->pbVersion, update->cpbVersion);
- update_internal.update.cpbVersion = update->cpbVersion;
-
- if(update->cbSize > UPDATE_V1_SIZE && update->szBetaChangelogURL)
- update_internal.update.szBetaChangelogURL = safe_strdup(update->szBetaChangelogURL);
-
- update_internal.update_options.fixed = (update->szVersionURL == 0 || strcmp(update->szUpdateURL, UPDATER_AUTOREGISTER) == 0 || update->szBetaVersionURL == 0); // set 'fixed' flag
- update_internal.update_options.use_beta = (update->szVersionURL == 0 || strcmp(update->szUpdateURL, UPDATER_AUTOREGISTER) == 0);
- LoadUpdateOptions(update_internal.update.szComponentName, &update_internal.update_options);
-
- EnterCriticalSection(&list_cs);
- update_list.insert(new UpdateInternal(update_internal));
- LeaveCriticalSection(&list_cs);
-
- //if(strcmp(update_internal.update.szComponentName, "My Details") == 0) {
- // MessageBox(0, "My Details registered", "msg", MB_OK);
- //}
-
- return 0;
-}
-
-INT_PTR RegisterFL(WPARAM wParam, LPARAM lParam) {
- int file_id = (INT_PTR)wParam;
- PLUGININFO *pluginInfo = (PLUGININFO *)lParam;
-
- // remove registered plugin if already there
- EnterCriticalSection(&list_cs);
- int i = FindFileInList(pluginInfo->shortName);
- if (i >= 0) update_list.remove(i);
- LeaveCriticalSection(&list_cs);
-
- RegisterForFileListing(file_id, pluginInfo, false);
-
- return 0;
-}
-
-INT_PTR Unregister(WPARAM wParam, LPARAM lParam) {
- char *szComponentName = (char *)lParam;
-
- // remove registered plugin if found
- EnterCriticalSection(&list_cs);
- int i = FindFileInList(szComponentName);
- if (i >= 0) update_list.remove(i);
- LeaveCriticalSection(&list_cs);
-
- return 0;
-}
-
-INT_PTR CheckForUpdatesTrgr(WPARAM wParam, LPARAM lParam) {
- if(wParam & ACT_PERFORM) {
-#ifdef DEBUG_POPUPS
- PUShowMessage("Updater: triggered check", SM_NOTIFY);
-#endif
- CallService(MS_UPDATE_CHECKFORUPDATES, (WPARAM)(is_idle && options.no_conf_idle), 0);
- }
- return 0;
-}
-
-int ServicesModulesLoaded2(WPARAM wParam, LPARAM lParam) {
- // do initial update etc. depending on options and time
- KillTimer(0, startup_timer_id);
- DoStartupProcess();
- return 0;
-}
-
-VOID CALLBACK StartupTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) {
- KillTimer(0, startup_timer_id);
- ServicesModulesLoaded2(0, 0);
-}
-
-HANDLE hEventServicesModulesLoaded2;
-
-int ServicesModulesLoaded(WPARAM wParam, LPARAM lParam) {
- // add main menu item
-
- CLISTMENUITEM menu = {0};
-
- menu.cbSize=sizeof(menu);
- menu.flags = CMIM_ALL | CMIF_ICONFROMICOLIB;
- menu.icolibItem = GetIconHandle(I_CHKUPD);
-
- menu.pszName = "Check for updates";
- menu.pszService= MS_UPDATE_CHECKFORUPDATES;
- menu.position = 500010000;
-
-#ifdef MS_CLIST_ADDGROUPMENUITEM
- if (ServiceExists(MS_CLIST_ADDGROUPMENUITEM)) {
- GroupMenuParam gmp = {0};
- hGroupMenuItem = (HANDLE)CallService(MS_CLIST_ADDGROUPMENUITEM,(WPARAM)&gmp,(LPARAM)&menu);
- }
-#endif
- hMainMenuItem = (HANDLE)CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&menu);
-
- hEventServicesModulesLoaded2 = HookEvent(ME_SYSTEM_MODULESLOADED, ServicesModulesLoaded2);
- startup_timer_id = SetTimer(0, 0, 5000, StartupTimerProc);
-
- return 0;
-}
-
-INT_PTR EnableStatusControl(WPARAM wParam, LPARAM lParam)
-{
- BOOL enable = (BOOL)wParam;
-
- options.start_offline = (enable == TRUE);
-
- return 0;
-}
-
-INT_PTR IsUpdateSupported(WPARAM wParam, LPARAM lParam)
-{
- char *szComponentName = (char *)lParam;
-
- EnterCriticalSection(&list_cs);
- bool res = FindFileInList(szComponentName) >= 0;
- LeaveCriticalSection(&list_cs);
-
- return res;
-}
-
-int ServicesPreShutdown(WPARAM wParam, LPARAM lParam) {
- Netlib_Shutdown(hNetlibHttp);
- return 0;
-}
-
-HANDLE hEventPreShutDown, hEventServicesModulesLoaded;
-void InitServices() {
-
- InitializeCriticalSection(&list_cs);
-
- int i = 0;
- hService[i++] = CreateServiceFunction(MS_UPDATE_REGISTER, Register);
- hService[i++] = CreateServiceFunction(MS_UPDATE_REGISTERFL, RegisterFL);
- hService[i++] = CreateServiceFunction(MS_UPDATE_UNREGISTER, Unregister);
- hService[i++] = CreateServiceFunction(MS_UPDATE_CHECKFORUPDATESTRGR, CheckForUpdatesTrgr);
- hService[i++] = CreateServiceFunction(MS_UPDATE_CHECKFORUPDATES, CheckForUpdates);
- hService[i++] = CreateServiceFunction(MS_UPDATE_SETUPDATEOPTIONS, SetUpdateOptions);
- hService[i++] = CreateServiceFunction(MS_UPDATE_GETUPDATEOPTIONS, GetUpdateOptions);
- hService[i++] = CreateServiceFunction(MS_UPDATE_ENUMERATE, EnumerateUpdates);
- hService[i++] = CreateServiceFunction(MS_UPDATE_ENABLESTATUSCONTROL, EnableStatusControl);
- hService[i++] = CreateServiceFunction(MS_UPDATE_MENURESTART, Restart);
- hService[i++] = CreateServiceFunction(MS_UPDATE_MENUUPDATEANDEXIT, UpdateAndExit);
- hService[i++] = CreateServiceFunction(MS_UPDATE_MENUCHECKFORUPDATES, CheckForUpdates);
- hService[i++] = CreateServiceFunction(MS_UPDATE_ISUPDATESUPPORTED, IsUpdateSupported);
-
- hStartupDone = CreateHookableEvent(ME_UPDATE_STARTUPDONE);
-
- hEventPreShutDown = HookEvent(ME_SYSTEM_PRESHUTDOWN, ServicesPreShutdown);
-
- daily_timer_id = SetTimer(0, 0, 24 * 60 * 60 * 1000, CheckTimerProcDaily);
-
- hEventServicesModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED, ServicesModulesLoaded);
-}
-
-void DeinitServices() {
- UnhookEvent(hEventPreShutDown);
- UnhookEvent(hEventServicesModulesLoaded);
- UnhookEvent(hEventServicesModulesLoaded2);
-
- if(daily_timer_id) KillTimer(0, daily_timer_id);
-
- DestroyHookableEvent(hStartupDone);
-
- for(int i = 0; i < NUM_SERVICES; i++)
- if(hService[i])
- DestroyServiceFunction(hService[i]);
-
- DeleteCriticalSection(&list_cs);
- update_list.destroy();
-}
-
-
diff --git a/plugins/updater/services.h b/plugins/updater/services.h
deleted file mode 100644
index 0bbac4d94a..0000000000
--- a/plugins/updater/services.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef _SERVICES_INC
-#define _SERVICES_INC
-
-#include "m_updater.h"
-#include "options.h"
-#include "xmldata.h"
-#include "conf_dialog.h"
-#include "conf_comp_dialog.h"
-#include "progress_dialog.h"
-#include "extern.h"
-#include "scan.h"
-#include "popups.h"
-
-#include "socket.h"
-#include "allocations.h"
-#include "utils.h"
-#include "updater.h"
-
-
-void RestoreStatus();
-
-INT_PTR Register(WPARAM wParam, LPARAM lParam);
-
-////////////////////////////
-// used internally
-/////////////////////
-
-// used to create the 'Check for Updates' trigger action in triggerplugin
-#define MS_UPDATE_CHECKFORUPDATESTRGR "Update/CheckForUpdatesTrigger"
-
-
-#define MS_UPDATE_CHECKFORUPDATES "Update/CheckForUpdates"
-// wParam = (BOOL)don't confirm
-// lParam = (BOOL)don't restart after update
-// returns 1 if user cancels or there are no plugins to update, 0 otherwise (implies impending restart)
-INT_PTR CheckForUpdates(WPARAM wParam, LPARAM lParam);
-
-#define MS_UPDATE_MENUCHECKFORUPDATES "Update/MenuCheckForUpdates"
-__inline int MenuCheckForUpdates(WPARAM wParam, LPARAM lParam) {
- return CheckForUpdates(0,0);
-}
-
-#define MS_UPDATE_MENURESTART "Update/MenuRestart"
-INT_PTR Restart(WPARAM wParam, LPARAM lParam);
-
-#define MS_UPDATE_MENUUPDATEANDEXIT "Update/MenuUpdateAndExit"
-INT_PTR UpdateAndExit(WPARAM wParam, LPARAM lParam);
-
-#define MS_UPDATE_SETUPDATEOPTIONS "Update/SetUpdateOptions"
-// wParam = (char *)szComponentName
-// lParam = (UpdateOptions *)&update_options
-INT_PTR SetUpdateOptions(WPARAM wParam, LPARAM lParam);
-
-#define MS_UPDATE_GETUPDATEOPTIONS "Update/GetUpdateOptions"
-// wParam = (char *)szComponentName
-// lParam = (UpdateOptions *)&update_options
-INT_PTR GetUpdateOptions(WPARAM wParam, LPARAM lParam);
-
-void LoadUpdateOptions(char *szComponentName, UpdateOptions *update_options);
-
-// callback function typedef for enumerating installed plugins with their associated options
-// (warning - critical section locked during this function call - so don't call other services or functions from this plugin that use the update list)
-typedef int (*UpdateEnumerateFunc)(char *szComonentName, UpdateOptions *update_options, LPARAM lParam);
-#define MS_UPDATE_ENUMERATE "Update/EnumerateUpdates"
-// wParam = (UpdateEnumerateFunc)enum_func
-// lParam = lParam
-INT_PTR EnumerateUpdates(WPARAM wParam, LPARAM lParam);
-////////////////////////////
-
-bool IsRegistered(int file_id);
-bool RegisterForFileListing(int file_id, PLUGININFO *pluginInfo, bool auto_register);
-bool RegisterForFileListing(int file_id, const char *fl_name, DWORD version, bool auto_register, const Category cat);
-
-void InitServices();
-void PreDeinitServices();
-void DeinitServices();
-
-#endif
diff --git a/plugins/updater/socket.cpp b/plugins/updater/socket.cpp
deleted file mode 100644
index 52a82bd6b1..0000000000
--- a/plugins/updater/socket.cpp
+++ /dev/null
@@ -1,355 +0,0 @@
-#include "common.h"
-#include "socket.h"
-
-void unzip_mem(char* buf, int len, TCHAR* dest);
-
-bool GetFile(char *url, TCHAR *temp_folder, char *plugin_name, char *version, bool dlls_only, int recurse_count /*=0*/) {
- if(recurse_count > MAX_REDIRECT_RECURSE) {
- NLog("GetFile: error, too many redirects");
- return false;
- }
-
- TCHAR save_file[MAX_PATH];
-
- if(url == 0 || temp_folder == 0 || plugin_name == 0)
- return false;
-
- // ensure temp_folder exists
- if(!CreatePath(options.temp_folder)) {
- NLogF("GetFile: error creating temp folder, code %u", GetLastError());
- return false;
- }
-
- // ensure zip_folder exists, if necessary
- if(options.save_zips && !CreatePath(options.zip_folder)) {
- NLogF("GetFile: error creating zip folder, code %u", GetLastError());
- return false;
- }
-
- TCHAR *temp_str = GetTString(plugin_name);
- mir_sntprintf(save_file, SIZEOF(save_file), _T("%s\\%s"), temp_folder, temp_str);
- mir_free(temp_str);
- if (version)
- {
- temp_str = GetTString(version);
- _tcscat(save_file, _T("_"));
- _tcscat(save_file, temp_str);
- mir_free(temp_str);
- }
- // copt extension from url
- char *ext = strrchr(url, '.');
- if(ext && *ext && strcmp(ext, ".dll") == 0) {
- _tcscat(save_file, _T(".dll"));
- } else { // default to zip extension (e.g. miranda fl)
- _tcscat(save_file, _T(".zip"));
- ext = ".zip";
- }
-
- // replace version text in URL
- char tmp_url[1024];
- if (version != NULL) {
- char *p;
- size_t pos = 0;
- size_t version_len = strlen(version);
- while ((p = strstr(url, "%VERSION%")) != NULL && (p - url + version_len < sizeof(tmp_url) - 1)) {
- strncpy(&tmp_url[pos], url, p - url);
- pos += p - url;
- strcpy(&tmp_url[pos], version);
- pos += version_len;
- url += p - url + 9; // 9 == strlen("%VERSION%")
- }
- if (strlen(url) < sizeof(tmp_url) - 1) {
- strcpy(&tmp_url[pos], url);
- pos += strlen(url);
- }
- tmp_url[pos] = 0;
- url = tmp_url;
- }
-
-
- NETLIBHTTPREQUEST req = {0};
-
- req.cbSize = sizeof(req);
- req.requestType = REQUEST_GET;
- req.szUrl = url;
- req.flags = NLHRF_NODUMP | NLHRF_HTTP11;
- req.nlc = hNetlibHttp;
-
- if (CallService(MS_SYSTEM_GETVERSION, 0, 0) >= PLUGIN_MAKE_VERSION(0,9,0,5))
- req.flags |= NLHRF_PERSISTENT | NLHRF_REDIRECT;
-
- NETLIBHTTPREQUEST *resp = (NETLIBHTTPREQUEST *)CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM)hNetlibUser, (LPARAM)&req);
-
- if (resp)
- {
- hNetlibHttp = resp->nlc;
- if (resp->resultCode == 200)
- {
- if (ext && *ext && _stricmp(ext, ".zip") == 0)
- {
- if (!options.no_unzip)
- unzip_mem(resp->pData, resp->dataLength, temp_folder);
-
- if (options.save_zips)
- {
- TCHAR save_archive[MAX_PATH];
- mir_sntprintf(save_archive, SIZEOF(save_archive), _T("%s%s"), options.zip_folder, _tcsrchr(save_file, '\\'));
-
- HANDLE hSaveFile = CreateFile(save_archive, GENERIC_WRITE, FILE_SHARE_WRITE, 0,
- CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
- if (hSaveFile != INVALID_HANDLE_VALUE)
- {
- unsigned long bytes_written;
- WriteFile(hSaveFile, resp->pData, resp->dataLength, &bytes_written, NULL);
- CloseHandle(hSaveFile);
- }
- else
- NLogF("GetFile: error creating file, code %u", GetLastError());
- }
-
- if(dlls_only)
- {
- NLog("Deleting non-dlls");
- DeleteNonDlls(temp_folder);
- }
-
- }
- else
- {
- HANDLE hSaveFile = CreateFile(save_file, GENERIC_WRITE, FILE_SHARE_WRITE, 0,
- CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
- if (hSaveFile != INVALID_HANDLE_VALUE)
- {
- unsigned long bytes_written;
- WriteFile(hSaveFile, resp->pData, resp->dataLength, &bytes_written, NULL);
- CloseHandle(hSaveFile);
- }
- else
- NLogF("GetFile: error creating file, code %u", GetLastError());
- }
-
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- return true;
- }
- else if (resp->resultCode >= 300 && resp->resultCode < 400)
- {
- // get new location
- bool ret = false;
- for (int i = 0; i < resp->headersCount; i++)
- {
- if (_stricmp(resp->headers[i].szName, "Location") == 0)
- {
- ret = GetFile(resp->headers[i].szValue, temp_folder, plugin_name, version, dlls_only, recurse_count + 1);
- break;
- }
- }
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- return ret;
- }
- else
- {
- TCHAR buff[1024], *tmp;
- mir_sntprintf(buff, SIZEOF(buff), TranslateT("Failed to download \"%s\" - Invalid response, code %d"), (tmp = mir_a2t(plugin_name)), resp->resultCode);
- ShowError(buff);
- mir_free(tmp);
- }
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- }
- else
- {
- hNetlibHttp = NULL;
- int err = GetLastError();
- if (err && !Miranda_Terminated())
- {
- TCHAR buff[1024], *tmp;
- int len = mir_sntprintf(buff, SIZEOF(buff), TranslateT("Failed to download \"%s\": "), (tmp = mir_a2t(plugin_name)));
- FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, err, 0, buff + len, 512 - len, 0);
- ShowError(buff);
- mir_free(tmp);
- }
- }
-
- return false;
-}
-
-char *CheckVersionURL(char *url, BYTE *pbPrefixBytes, int cpbPrefixBytes, BYTE *pbVersionBytes, int cpbVersionBytes)
-{
- if (url == 0 || pbPrefixBytes == 0 || cpbPrefixBytes == 0 || pbVersionBytes == 0 || cpbVersionBytes == 0)
- return 0;
-
- char *ret = NULL;
- NETLIBHTTPREQUEST req = {0};
-
- req.cbSize = sizeof(req);
- req.requestType = REQUEST_GET;
- req.szUrl = url;
- req.flags = NLHRF_DUMPASTEXT | NLHRF_HTTP11;
- req.nlc = hNetlibHttp;
-
- if (CallService(MS_SYSTEM_GETVERSION, 0, 0) >= PLUGIN_MAKE_VERSION(0,9,0,5))
- req.flags |= NLHRF_PERSISTENT | NLHRF_REDIRECT;
-
- NETLIBHTTPREQUEST *resp = (NETLIBHTTPREQUEST*)CallService(MS_NETLIB_HTTPTRANSACTION,
- (WPARAM)hNetlibUser, (LPARAM)&req);
-
- if (resp)
- {
- hNetlibHttp = resp->nlc;
- if (resp->resultCode == 200)
- {
- // find the location of the prefix
- char* ver = (char*)memmem(resp->pData, resp->dataLength, pbPrefixBytes, cpbPrefixBytes);
- if (ver)
- {
- int len = resp->dataLength - ((ver += cpbPrefixBytes) - resp->pData);
- if (cpbVersionBytes <= len && memcmp(ver, pbVersionBytes, cpbVersionBytes) == 0)
- {
- // same version as current
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- return 0;
- }
- else
- {
- DWORD ver_current, ver_potential;
- char *buff = (char *)alloca(cpbVersionBytes + 1);
- memcpy(buff, (char *)pbVersionBytes, cpbVersionBytes);
- buff[cpbVersionBytes] = 0;
-
- // this is safe because pData finishes with a zero always (according to m_netlib.h docs)
- if (VersionFromString(buff, &ver_current) && VersionFromString(ver, &ver_potential))
- {
- switch(options.ver_req)
- {
- case VR_MAJOR:
- ver_current &= 0xFF000000;
- ver_potential &= 0xFF000000;
- break;
- case VR_MINOR:
- ver_current &= 0xFFFF0000;
- ver_potential &= 0xFFFF0000;
- break;
- case VR_RELEASE:
- ver_current &= 0xFFFFFF00;
- ver_potential &= 0xFFFFFF00;
- break;
- case VR_BUILD:
- break;
- }
-
- // we can covert the versions to DWORDS, so compare...
- if (ver_current < ver_potential)
- {
- char buff2[16];
- CreateVersionString(ver_potential, buff2);
- ret = _strdup(buff2);
- }
- }
- else // invalid version(s), but different from current - assume it's an update
- ret = _strdup(Translate("Yes"));
- }
- }
- }
- else if (resp->resultCode == 302) // redirect
- {
- // get new location
- for (int i = 0; i < resp->headersCount; i++)
- {
- if(_stricmp(resp->headers[i].szName, "Location") == 0)
- {
- ret = CheckVersionURL(resp->headers[i].szValue, pbPrefixBytes, cpbPrefixBytes, pbVersionBytes, cpbVersionBytes);
- break;
- }
- }
- }
- else
- NLogF("CheckVersionURL: error, http result code %d", resp->resultCode);
-
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- }
- else
- {
- hNetlibHttp = NULL;
- int err = GetLastError();
- if (err)
- NLogF("CheckVersionURL: error code %d", err);
- }
-
- return ret;
-}
-
-char *UpdateRequired(UpdateInternal &update_internal, bool *beta)
-{
- // determine whether update is required
-
- char *ret = NULL, *ret_beta = NULL;
-
- if (options.use_xml_backend && update_internal.file_id != -1)
- {
- const char * res;
- if (update_internal.cat == MC_UNKNOWN)
- {
- if (XMLDataAvailable(MC_PLUGINS) &&
- (res = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_PLUGINS)))
- {
- update_internal.cat = MC_PLUGINS;
- if (strcmp(res, "same")) ret = _strdup(res);
- }
- else if (XMLDataAvailable(MC_LOCALIZATION) &&
- (res = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, MC_LOCALIZATION)))
- {
- update_internal.cat = MC_LOCALIZATION;
- if (strcmp(res, "same")) ret = _strdup(res);
- }
- }
- else
- {
- res = FindVersion(update_internal.file_id, update_internal.update.pbVersion, update_internal.update.cpbVersion, update_internal.cat);
- if (res && strcmp(res, "same")) ret = _strdup(res);
- }
- }
- else
- {
- ret = CheckVersionURL(update_internal.update.szVersionURL, update_internal.update.pbVersionPrefix,
- update_internal.update.cpbVersionPrefix, update_internal.update.pbVersion, update_internal.update.cpbVersion);
- }
-
- if (update_internal.update_options.use_beta)
- {
- ret_beta = CheckVersionURL(update_internal.update.szBetaVersionURL, update_internal.update.pbBetaVersionPrefix,
- update_internal.update.cpbBetaVersionPrefix, update_internal.update.pbVersion, update_internal.update.cpbVersion);
- }
-
- if (ret && !ret_beta)
- {
- if(beta) *beta = false;
- return ret;
- }
- else if (!ret && ret_beta)
- {
- if (beta) *beta = true;
- return ret_beta;
- }
- else if (ret && ret_beta)
- {
- // find highest version of ret and ret_beta
-
- DWORD vRet, vRetBeta;
- VersionFromString(ret, &vRet);
- VersionFromString(ret_beta, &vRetBeta);
-
- if (vRetBeta > vRet)
- {
- free(ret);
- if (beta) *beta = true;
- return ret_beta;
- }
- else
- {
- free(ret_beta);
- if (beta) *beta = false;
- return ret;
- }
- }
-
- return 0;
-}
diff --git a/plugins/updater/socket.h b/plugins/updater/socket.h
deleted file mode 100644
index c0fdea8ab7..0000000000
--- a/plugins/updater/socket.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _SOCKET_INC
-#define _SOCKET_INC
-
-#include "services.h"
-#include "options.h"
-#include "xmldata.h"
-#include "popups.h"
-
-
-// gets a file from a url, puts in in the temp_folder and names it after the plugin_name (same extension as url)
-// it will automatically unzip a zip file, putting the contents in the temp_folder and using the names from the archive
-// if it unzips the file, the zip archive is removed afterward
-bool GetFile(char *url, TCHAR *temp_folder, char *plugin_name, char *version, bool dlls_only, int recurse_count = 0);
-
-// check the xml backend data or version URL (depending on whether the plugin is on the file listing) to see if we need an update
-// returns new version string (which you must free) and sets beta to indicate where update should be retreived from (i.e. if
-// beta url is enabled, will return true in beta unless the non-beta version is higher)
-char *UpdateRequired(UpdateInternal &update_internal, bool *beta);
-
-#endif
diff --git a/plugins/updater/u.ico b/plugins/updater/u.ico
deleted file mode 100644
index 85870581df..0000000000
--- a/plugins/updater/u.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/ue.ico b/plugins/updater/ue.ico
deleted file mode 100644
index c60f689ca0..0000000000
--- a/plugins/updater/ue.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/unzipfile.cpp b/plugins/updater/unzipfile.cpp
deleted file mode 100644
index 0ae83d0fc2..0000000000
--- a/plugins/updater/unzipfile.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#include "common.h"
-#include "utils.h"
-
-#include <unzip.h>
-
-extern "C" void fill_memory_filefunc64 (zlib_filefunc64_def* pzlib_filefunc_def);
-
-bool extractCurrentFile(unzFile uf, TCHAR *path)
-{
- int err = UNZ_OK;
- unz_file_info64 file_info;
- char filename[MAX_PATH];
- char buf[8192];
-
- err = unzGetCurrentFileInfo64(uf, &file_info, filename, sizeof(filename), buf, sizeof(buf), NULL, 0);
- if (err != UNZ_OK) return false;
-
- // Get Unicode file name for InfoZip style archives, otherwise assume PKZip/WinZip style
- if (file_info.size_file_extra)
- {
- char *p = buf;
- unsigned long size = min(file_info.size_file_extra, sizeof(buf));
- while (size > 0)
- {
- unsigned short id = *(unsigned short*)p;
- unsigned len = *(unsigned short*)(p + 2);
-
- if (size < (len + 4)) break;
-
- if (id == 0x7075 && len > 5 && (len - 5) < sizeof(filename) && *(p + 4) == 1)
- {
- memcpy(filename, p + 9, len - 5);
- filename[len - 5] = 0;
- break;
- }
- size -= len + 4;
- p += len + 4;
- }
- }
-
- TCHAR save_file[MAX_PATH];
- TCHAR* p = mir_utf8decodeT(filename);
- if (p == NULL) p = mir_a2t(filename);
- mir_sntprintf(save_file, SIZEOF(save_file), _T("%s\\%s"), path, p);
- mir_free(p);
-
- for (p = save_file; *p; ++p) if (*p == '/') *p = '\\';
-
- if (file_info.external_fa & FILE_ATTRIBUTE_DIRECTORY)
- CreatePath(save_file);
- else
- {
- err = unzOpenCurrentFile(uf);
- if (err != UNZ_OK) return false;
-
- p = _tcsrchr(save_file, '\\'); if (p) *p = 0;
- CreatePath(save_file);
- if (p) *p = '\\';
-
- HANDLE hFile = CreateFile(save_file, GENERIC_WRITE, FILE_SHARE_WRITE, 0,
- CREATE_ALWAYS, file_info.external_fa, 0);
-
- if (hFile != INVALID_HANDLE_VALUE)
- {
- for (;;)
- {
- err = unzReadCurrentFile(uf, buf, sizeof(buf));
- if (err <= 0) break;
-
- DWORD bytes;
- if (!WriteFile(hFile, buf, err, &bytes, FALSE))
- {
- err = UNZ_ERRNO;
- break;
- }
- }
-
- FILETIME ftLocal, ftCreate, ftLastAcc, ftLastWrite;
- GetFileTime(hFile, &ftCreate, &ftLastAcc, &ftLastWrite);
- DosDateTimeToFileTime(HIWORD(file_info.dosDate), LOWORD(file_info.dosDate), &ftLocal);
- LocalFileTimeToFileTime(&ftLocal, &ftLastWrite);
- SetFileTime(hFile, &ftCreate, &ftLastAcc, &ftLastWrite);
-
- CloseHandle(hFile);
- unzCloseCurrentFile(uf); /* don't lose the error */
- }
- }
- return true;
-}
-
-void unzip_mem(char* buf, int len, TCHAR* dest)
-{
- zlib_filefunc64_def ffunc;
- fill_memory_filefunc64(&ffunc);
-
- char zipfile[128];
- mir_snprintf(zipfile, sizeof(zipfile), "%p+%x", buf, len);
-
- unzFile uf = unzOpen2_64(zipfile, &ffunc);
- if (uf)
- {
- do {
- extractCurrentFile(uf, dest);
- }
- while (unzGoToNextFile(uf) == UNZ_OK);
- unzClose(uf);
- }
-}
diff --git a/plugins/updater/updater.cpp b/plugins/updater/updater.cpp
deleted file mode 100644
index a560966c27..0000000000
--- a/plugins/updater/updater.cpp
+++ /dev/null
@@ -1,300 +0,0 @@
-#include "common.h"
-#include "updater.h"
-
-#include <m_hotkeys.h>
-#include "m_toolbar.h"
-
-HINSTANCE hInst;
-PLUGINLINK *pluginLink;
-
-HANDLE hNetlibUser, hNetlibHttp;
-HANDLE hEventOptInit, hEventModulesLoaded, hEventIdleChanged, hToolBarLoaded;
-
-MM_INTERFACE mmi;
-UTF8_INTERFACE utfi;
-LIST_INTERFACE li;
-int hLangpack;
-
-bool is_idle = false;
-//#define TESTING // defined here to reduce build time blowout caused by changing common.h
-
-PLUGININFOEX pluginInfo={
- sizeof(PLUGININFOEX),
- __PLUGIN_NAME,
-#ifdef TESTING
- 0x00000001,
-#else
- PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM),
-#endif
- __DESC,
- __AUTHOR,
- __AUTHOREMAIL,
- __COPYRIGHT,
- __AUTHORWEB,
- UNICODE_AWARE, //not transient
- 0, //doesn't replace anything built-in
-
-#ifdef _UNICODE
- { 0x66dceb80, 0x384, 0x4507, { 0x97, 0x74, 0xcc, 0x20, 0xa7, 0xef, 0x1d, 0x6d } } // {66DCEB80-0384-4507-9774-CC20A7EF1D6D}
-#else
- { 0x37f59333, 0x8c51, 0x4886, { 0x96, 0xdb, 0xb9, 0xd9, 0xe3, 0x7c, 0xad, 0x38 } } // {37F59333-8C51-4886-96DB-B9D9E37CAD38}
-#endif
-};
-
-extern "C" BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
-{
- hInst=hinstDLL;
- return TRUE;
-}
-
-extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion)
-{
- return mirandaVersion < PLUGIN_MAKE_VERSION(0, 8, 0, 0) ? NULL :&pluginInfo;
-}
-
-static const MUUID interfaces[] = {MIID_UPDATER, MIID_LAST};
-extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void)
-{
- return interfaces;
-}
-
-
-
-int IdleChanged(WPARAM wParam, LPARAM lParam) {
-
- is_idle = (lParam & IDF_ISIDLE);
-
- return 0;
-}
-
-void InitNetlib() {
- NETLIBUSER nl_user = {0};
- nl_user.cbSize = sizeof(nl_user);
- nl_user.szSettingsModule = MODULE;
- nl_user.flags = NUF_OUTGOING | NUF_HTTPCONNS | NUF_TCHAR;
- nl_user.ptszDescriptiveName = TranslateT("Updater connection");
-
- hNetlibUser = (HANDLE)CallService(MS_NETLIB_REGISTERUSER, 0, (LPARAM)&nl_user);
-}
-
-int ModulesLoaded(WPARAM wParam, LPARAM lParam) {
-
- LoadOptions();
-
- InitOptionsMenuItems();
-
- InitNetlib();
- InitPopups();
-
-#ifdef USE_MY_SERVER
- Update update = {0};
- char szVersion[16];
- update.cbSize = sizeof(Update);
-
- update.szComponentName = pluginInfo.shortName;
- update.pbVersion = (BYTE *)CreateVersionString(&pluginInfo, szVersion);
- update.cpbVersion = strlen((char *)update.pbVersion);
-
-#ifdef _UNICODE
- update.szUpdateURL = BETA_HOST_URL_PREFIX "/ver_updater_unicode.zip";
- update.szVersionURL = BETA_HOST_URL_PREFIX "/updater_unicode.html";
- update.pbVersionPrefix = (BYTE *)"Updater (Unicode) version ";
- update.cpbVersionPrefix = strlen((char *)update.pbVersionPrefix);
-#else //!_UNICODE
- update.szUpdateURL = BETA_HOST_URL_PREFIX "/updater.zip";
- update.szVersionURL = BETA_HOST_URL_PREFIX "/ver_updater.html";
- update.pbVersionPrefix = (BYTE *)"Updater version ";
- update.cpbVersionPrefix = strlen((char *)update.pbVersionPrefix);
-#endif //_UNICODE
-
-
- CallService(MS_UPDATE_REGISTER, 0, (WPARAM)&update);
-
-#else //!USE_MY_SERVER
-
-#ifdef REGISTER_BETA
-
- Update update = {0};
- char szVersion[16];
- update.cbSize = sizeof(Update);
-
- update.szComponentName = pluginInfo.shortName;
- update.pbVersion = (BYTE *)CreateVersionStringPluginEx(&pluginInfo, szVersion);
- update.cpbVersion = (int)strlen((char *)update.pbVersion);
- update.szBetaChangelogURL = "https://server.scottellis.com.au/wsvn/mim_plugs/updater/?op=log&rev=0&sc=0&isdir=1";
-
-
-#ifdef _UNICODE
-
-#ifdef REGISTER_AUTO
- update.szUpdateURL = UPDATER_AUTOREGISTER;
-#else //!REGISTER_AUTO
- update.szUpdateURL = MIM_DOWNLOAD_URL_PREFIX "2596";
- update.szVersionURL = MIM_VIEW_URL_PREFIX "2596";
- update.pbVersionPrefix = (BYTE *)"<span class=\"fileNameHeader\">Updater (Unicode) ";
- update.cpbVersionPrefix = strlen((char *)update.pbVersionPrefix);
-#endif //REGISTER_AUTO
-
-#ifdef _WIN64
- update.szBetaUpdateURL = BETA_HOST_URL_PREFIX "/updater_x64.zip";
-#else
- update.szBetaUpdateURL = BETA_HOST_URL_PREFIX "/updater_unicode.zip";
-#endif
- update.szBetaVersionURL = BETA_HOST_URL_PREFIX "/ver_updater_unicode.html";
- update.pbBetaVersionPrefix = (BYTE *)"Updater (Unicode) version ";
- update.cpbBetaVersionPrefix = (int)strlen((char *)update.pbBetaVersionPrefix);
-#else
-
-#ifdef REGISTER_AUTO
- update.szUpdateURL = UPDATER_AUTOREGISTER;
-#else //!REGISTER_AUTO
- update.szUpdateURL = MIM_DOWNLOAD_URL_PREFIX "2254";
- update.szVersionURL = MIM_VIEW_URL_PREFIX "2254";
- update.pbVersionPrefix = (BYTE *)"<span class=\"fileNameHeader\">Updater ";
- update.cpbVersionPrefix = strlen((char *)update.pbVersionPrefix);
-#endif //REGISTER_AUTO
-
-#ifdef _WIN64
- update.szBetaUpdateURL = BETA_HOST_URL_PREFIX "/updater_x64.zip";
-#else
- update.szBetaUpdateURL = BETA_HOST_URL_PREFIX "/updater.zip";
-#endif
- update.szBetaVersionURL = BETA_HOST_URL_PREFIX "/ver_updater.html";
- update.pbBetaVersionPrefix = (BYTE *)"Updater version ";
- update.cpbBetaVersionPrefix = (int)strlen((char *)update.pbBetaVersionPrefix);
-#endif
-
- CallService(MS_UPDATE_REGISTER, 0, (WPARAM)&update);
-#else // !REGISTER_BETA
-
-#ifdef _UNICODE
- CallService(MS_UPDATE_REGISTERFL, (WPARAM)2596, (LPARAM)&pluginInfo);
-#else //!_UNICODE
- CallService(MS_UPDATE_REGISTERFL, (WPARAM)2254, (LPARAM)&pluginInfo);
-#endif //_UNICODE
-
-#endif // REGISTER_BETA
-
-#endif // USE_MY_SERVER
-
- hEventIdleChanged = HookEvent(ME_IDLE_CHANGED, IdleChanged);
-
- if (ServiceExists(MS_TRIGGER_REGISTERACTION))
- {
- // create update action for triggerplugin
- ACTIONREGISTER ar = {0};
- ar.cbSize = sizeof(ACTIONREGISTER);
- ar.pszName = Translate("Check for Plugin Updates");
- ar.pszService = MS_UPDATE_CHECKFORUPDATESTRGR;
-
- CallService(MS_TRIGGER_REGISTERACTION, 0, (LPARAM)&ar);
- }
-
- if (ServiceExists(MS_HOTKEY_REGISTER))
- {
- HOTKEYDESC shk = {0};
-
- shk.cbSize = sizeof(shk);
- shk.pszSection = LPGEN("Updater");
-
- shk.pszDescription = LPGEN("Check for Updates");
- shk.pszName = "Update";
- shk.pszService = MS_UPDATE_CHECKFORUPDATES;
-// shk.DefHotKey = HOTKEYCODE(HOTKEYF_ALT, 'U') | HKF_MIRANDA_LOCAL;
- CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk);
-
- shk.pszDescription = LPGEN("Restart");
- shk.pszName = "Restart";
- shk.pszService = MS_UPDATE_MENURESTART;
-// shk.DefHotKey = HOTKEYCODE(HOTKEYF_ALT, 'R') | HKF_MIRANDA_LOCAL;
- CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk);
-
- shk.pszDescription = LPGEN("Update and Exit");
- shk.pszName = "UpdateAndExit";
- shk.pszService = MS_UPDATE_MENUUPDATEANDEXIT;
- shk.DefHotKey = 0;
- CallService(MS_HOTKEY_REGISTER, 0, (LPARAM)&shk);
- }
-
- return 0;
-}
-
-
-static int ToolbarModulesLoaded(WPARAM, LPARAM)
-{
- TBButton tbb = {0};
- tbb.cbSize = sizeof(TBButton);
- tbb.tbbFlags = TBBF_SHOWTOOLTIP;
-
- tbb.pszButtonID = "updater_checkforupdates";
- tbb.pszButtonName = LPGEN("Check for Updates");
- tbb.pszServiceName = MS_UPDATE_CHECKFORUPDATES;
- tbb.pszTooltipUp = LPGEN("Check for Updates of Plugins");
- tbb.hPrimaryIconHandle = GetIconHandle(I_CHKUPD);
- tbb.defPos = 1000;
- CallService(MS_TB_ADDBUTTON, 0, (LPARAM)&tbb);
-
- tbb.pszButtonID = "updater_restart";
- tbb.pszButtonName = LPGEN("Restart");
- tbb.pszServiceName = MS_UPDATE_MENURESTART;
- tbb.pszTooltipUp = LPGEN("Restart Miranda IM");
- tbb.hPrimaryIconHandle = GetIconHandle(I_RSTRT);
- tbb.defPos = 1001;
- CallService(MS_TB_ADDBUTTON, 0, (LPARAM)&tbb);
-
- tbb.pszButtonID = "updater_updateandexit";
- tbb.pszButtonName = LPGEN("Update and Exit");
- tbb.pszServiceName = MS_UPDATE_MENUUPDATEANDEXIT;
- tbb.pszTooltipUp = LPGEN("Update and Exit Miranda IM");
- tbb.hPrimaryIconHandle = GetIconHandle(I_CHKUPDEXT);
- tbb.defPos = 1002;
- CallService(MS_TB_ADDBUTTON,0, (LPARAM)&tbb);
-
- return 0;
-}
-
-extern "C" int __declspec(dllexport) Load(PLUGINLINK *link)
-{
- pluginLink = link;
-
- mir_getLI(&li);
- mir_getMMI(&mmi);
- mir_getUTFI(&utfi);
- mir_getLP(&pluginInfo);
-
- // save global status from clist - will be restored after update check if that option is enabled, or in modules loaded if not
- options.start_offline = (DBGetContactSettingByte(0, MODULE, "StartOffline", 0) == 1); // load option here - rest loading in modulesloaded
- if (options.start_offline)
- {
- WORD saved_status = DBGetContactSettingWord(0, "CList", "Status", ID_STATUS_OFFLINE);
- if (saved_status != ID_STATUS_OFFLINE)
- {
- DBWriteContactSettingWord(0, MODULE, "SavedGlobalStatus", saved_status);
- DBWriteContactSettingWord(0, "CList", "Status", ID_STATUS_OFFLINE);
- }
- }
-
- hEventOptInit = HookEvent(ME_OPT_INITIALISE, OptInit);
- hEventModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoaded);
- hToolBarLoaded = HookEvent(ME_TB_MODULELOADED, ToolbarModulesLoaded);
-
- InitServices();
- InitIcons();
-
- return 0;
-}
-
-extern "C" int __declspec(dllexport) Unload(void)
-{
- UnhookEvent(hEventIdleChanged);
- UnhookEvent(hEventOptInit);
- UnhookEvent(hEventModulesLoaded);
- UnhookEvent(hToolBarLoaded);
-
- DeinitServices();
- DeinitPopups();
-
- Netlib_CloseHandle(hNetlibUser);
-
- return 0;
-}
diff --git a/plugins/updater/updater.def b/plugins/updater/updater.def
deleted file mode 100644
index c2ed125567..0000000000
--- a/plugins/updater/updater.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORTS
- ExternalUpdate = ExternalUpdate
- _ExternalUpdate@16 = ExternalUpdate
diff --git a/plugins/updater/updater.h b/plugins/updater/updater.h
deleted file mode 100644
index 1926b3486b..0000000000
--- a/plugins/updater/updater.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _UPDATER_INC
-#define _UPDATER_INC
-
-#include "options.h"
-#include "services.h"
-#include "socket.h"
-#include "popups.h"
-#include "version.h"
-#include "icons.h"
-
-#include "m_updater.h"
-
-#ifdef _WIN64
-#define UPDATE_V1_SIZE 96
-#else
-#define UPDATE_V1_SIZE 48
-#endif
-
-#endif
diff --git a/plugins/updater/updater.rc b/plugins/updater/updater.rc
deleted file mode 100644
index 6440caa8c4..0000000000
--- a/plugins/updater/updater.rc
+++ /dev/null
@@ -1,213 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIRMCOMPONENTS DIALOGEX 0, 0, 238, 225
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Confirm Files"
-FONT 8, "MS Shell Dlg", 0, 0, 0x0
-BEGIN
- DEFPUSHBUTTON "OK",IDOK,51,204,50,14
- PUSHBUTTON "Cancel",IDCANCEL,121,204,50,14
- CONTROL "List1",IDC_LIST_COMPONENTS,"SysListView32",LVS_REPORT | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,15,25,207,152
- CTEXT "Uncheck the files that you do not want installed:",IDC_STATIC,0,9,222,12
- PUSHBUTTON "Select DLLs",IDC_BTN_SELECTDLLS,151,180,72,14
- PUSHBUTTON "Invert Selection",IDC_BTN_SELECTINV,79,180,67,14
- PUSHBUTTON "Select All",IDC_BTN_SELECTALL,13,180,63,14
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_CONFIRMCOMPONENTS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 231
- TOPMARGIN, 7
- BOTTOMMARGIN, 218
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // Neutral resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (Australia) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_OPT1 DIALOGEX 0, 0, 293, 228
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CENTER | WS_CHILD
-EXSTYLE WS_EX_CONTROLPARENT
-FONT 8, "MS Shell Dlg", 0, 0, 0x0
-BEGIN
- CONTROL "Check for updates on startup",IDC_CHK_ONSTART,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,97,142,10
- PUSHBUTTON "Check for updates",IDC_BTN_CHECK,156,211,116,17
- CONTROL "List1",IDC_LST_REGISTERED,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,0,0,293,70
- CONTROL "(But only once per day)",IDC_CHK_ONCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,110,133,10
- CONTROL "Check daily",IDC_CHK_DAILY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,123,140,10
- CONTROL "Install without confirmation if idle",IDC_CHK_NOCONFIDLE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,136,134,10
- CONTROL "Backup updated files",IDC_CHK_BACKUP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,97,138,10
- GROUPBOX "General Settings",IDC_STATIC,0,72,293,103
- GROUPBOX "Global Status Control",IDC_STATIC,0,178,293,30
- CONTROL "Start offline, restore after update check",IDC_CHK_STARTOFFLINE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,191,283,10
- CONTROL "Use popups for progress info",IDC_CHK_POPUP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,110,138,10
- CONTROL "Show 'Restart' menu item",IDC_CHK_RESTART,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,123,138,10
- PUSHBUTTON "Update and Exit",IDC_BTN_CHECKNORESTART,17,211,116,17
- CONTROL "Show 'Update and Exit' menu item",IDC_CHK_UPDATEANDEXIT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,136,138,10
- CONTROL "Slider1",IDC_SLID_VERREQ,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,8,83,100,12
- LTEXT "Static",IDC_ST_VERREQ,111,85,180,8
- CONTROL "Keep downloaded archives",IDC_CHK_SAVEZIPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,149,138,10
- CONTROL "Only install DLLs automatically",IDC_CHK_DLLSONLY,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,149,134,10
- CONTROL "Don't unzip",IDC_CHK_NOUNZIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,161,129,10
-END
-
-IDD_CONFIRMUPDATES DIALOGEX 0, 0, 266, 209
-STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Updates Found"
-FONT 8, "MS Shell Dlg", 0, 0, 0x0
-BEGIN
- DEFPUSHBUTTON "Update",IDOK,67,188,50,14
- PUSHBUTTON "Cancel",IDCANCEL,143,188,50,14
- CTEXT "Updater has detected updated versions\nof the following Miranda components:",IDC_STATIC,9,9,222,22
- CONTROL "List1",IDC_LIST_UPDATES,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,13,37,238,105
- GROUPBOX "",IDC_STATIC,13,144,239,39
- CONTROL "Confirm install for individual files",IDC_CHK_CONFALL,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,153,143,10
- CONTROL "Download but do not install",IDC_CHK_NOINSTALL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,166,143,10
- DEFPUSHBUTTON "Changelog",IDC_BTN_CHANGELOG,192,158,53,14,WS_DISABLED | NOT WS_TABSTOP
-END
-
-IDD_PROGRESS DIALOGEX 0, 0, 187, 41
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Progress"
-FONT 8, "MS Shell Dlg", 0, 0, 0x1
-BEGIN
- CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER,7,21,173,13,WS_EX_STATICEDGE
- LTEXT "Initialising...",IDC_PROGMSG,9,7,171,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_CONFIRMUPDATES, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 259
- TOPMARGIN, 7
- BOTTOMMARGIN, 202
- END
-
- IDD_PROGRESS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 180
- TOPMARGIN, 7
- BOTTOMMARGIN, 34
- END
-END
-#endif // APSTUDIO_INVOKED
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_MAINMENU ICON "u.ico"
-IDI_RESTART ICON "restart.ico"
-IDI_UPDATEANDEXIT ICON "ue.ico"
-#endif // English (Australia) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/plugins/updater/updater_10.sln b/plugins/updater/updater_10.sln
deleted file mode 100644
index 6b4ea46fc2..0000000000
--- a/plugins/updater/updater_10.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "updater", "updater_10.vcxproj", "{4C1CE389-7129-45FC-83C2-E9C310AC0427}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Debug|Win32.ActiveCfg = Debug|Win32
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Debug|Win32.Build.0 = Debug|Win32
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Debug|x64.ActiveCfg = Debug|x64
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Debug|x64.Build.0 = Debug|x64
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Release|Win32.ActiveCfg = Release|Win32
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Release|Win32.Build.0 = Release|Win32
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Release|x64.ActiveCfg = Release|x64
- {4C1CE389-7129-45FC-83C2-E9C310AC0427}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/updater/updater_10.vcxproj b/plugins/updater/updater_10.vcxproj
deleted file mode 100644
index 56f57a9f66..0000000000
--- a/plugins/updater/updater_10.vcxproj
+++ /dev/null
@@ -1,339 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>updater</ProjectName>
- <ProjectGuid>{4C1CE389-7129-45FC-83C2-E9C310AC0427}</ProjectGuid>
- <RootNamespace>updater</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC70.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.30319.311</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)/Plugins\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)/Obj/$(ProjectName)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Configuration)64/Plugins\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Configuration)64/Obj/$(ProjectName)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)/Plugins\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)/Obj/$(ProjectName)\</IntDir>
- <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IgnoreImportLibrary>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)64/Plugins\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)64/Obj/$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Midl>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>Win32</TargetEnvironment>
- <TypeLibraryName>.\updater___Win32_Debug_Unicode/updater.tlb</TypeLibraryName>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>../../include;../ExternalAPI;zbin;.bzip2-1.0.3;zbin/minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;BZ_NO_STDIO;UPDATER_EXPORTS;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeaderFile>common.h</PrecompiledHeaderFile>
- <BrowseInformation>true</BrowseInformation>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <CompileAs>Default</CompileAs>
- <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- </ClCompile>
- <ResourceCompile>
- <PreprocessorDefinitions>_DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <Culture>0x0c09</Culture>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>comctl32.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>zbin/x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>updater.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
- <GenerateMapFile>true</GenerateMapFile>
- <MapFileName>$(IntDir)$(TargetName).map</MapFileName>
- <MapExports>true</MapExports>
- <BaseAddress>0x22000000</BaseAddress>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
- <TargetMachine>MachineX86</TargetMachine>
- <DelayLoadDLLs>zlib.dll</DelayLoadDLLs>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>X64</TargetEnvironment>
- <TypeLibraryName>.\updater___Win32_Debug_Unicode/updater.tlb</TypeLibraryName>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>../../include;../ExternalAPI;zbin;.bzip2-1.0.3;zbin/minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;BZ_NO_STDIO;UPDATER_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeaderFile>common.h</PrecompiledHeaderFile>
- <BrowseInformation>true</BrowseInformation>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <CompileAs>Default</CompileAs>
- </ClCompile>
- <ResourceCompile>
- <PreprocessorDefinitions>_DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <Culture>0x0c09</Culture>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>comctl32.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>c:\Miranda IM\plugins\updater.dll</OutputFile>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>zbin/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>updater.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <BaseAddress>0x22000000</BaseAddress>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
- <TargetMachine>MachineX64</TargetMachine>
- <DelayLoadDLLs>zlib.dll</DelayLoadDLLs>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Midl>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>Win32</TargetEnvironment>
- <TypeLibraryName>.\updater___Win32_Release_Unicode/updater.tlb</TypeLibraryName>
- </Midl>
- <ClCompile>
- <Optimization>Full</Optimization>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
- <AdditionalIncludeDirectories>../../include;../ExternalAPI;zbin;.bzip2-1.0.3;zbin/minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BZ_NO_STDIO;UPDATER_EXPORTS;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <StringPooling>true</StringPooling>
- <ExceptionHandling>false</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <BufferSecurityCheck>false</BufferSecurityCheck>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <FloatingPointModel>Fast</FloatingPointModel>
- <RuntimeTypeInfo>false</RuntimeTypeInfo>
- <PrecompiledHeaderFile>common.h</PrecompiledHeaderFile>
- <BrowseInformation>true</BrowseInformation>
- <WarningLevel>Level3</WarningLevel>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <CompileAs>Default</CompileAs>
- <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- </ClCompile>
- <ResourceCompile>
- <PreprocessorDefinitions>NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <Culture>0x0c09</Culture>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>comctl32.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>zbin/x32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>updater.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
- <GenerateMapFile>true</GenerateMapFile>
- <MapFileName>$(IntDir)$(TargetName).map</MapFileName>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <BaseAddress>0x22000000</BaseAddress>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
- <TargetMachine>MachineX86</TargetMachine>
- <DelayLoadDLLs>zlib.dll</DelayLoadDLLs>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MkTypLibCompatible>true</MkTypLibCompatible>
- <SuppressStartupBanner>true</SuppressStartupBanner>
- <TargetEnvironment>X64</TargetEnvironment>
- <TypeLibraryName>.\updater___Win32_Release_Unicode/updater.tlb</TypeLibraryName>
- </Midl>
- <ClCompile>
- <Optimization>Full</Optimization>
- <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../include;../ExternalAPI;zbin;.bzip2-1.0.3;zbin/minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>BZ_NO_STDIO;HAVE_BZIP2;WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATER_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <StringPooling>true</StringPooling>
- <ExceptionHandling>false</ExceptionHandling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <BufferSecurityCheck>false</BufferSecurityCheck>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <FloatingPointModel>Fast</FloatingPointModel>
- <RuntimeTypeInfo>false</RuntimeTypeInfo>
- <PrecompiledHeaderFile>common.h</PrecompiledHeaderFile>
- <WarningLevel>Level3</WarningLevel>
- <CompileAs>Default</CompileAs>
- </ClCompile>
- <ResourceCompile>
- <PreprocessorDefinitions>NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <Culture>0x0c09</Culture>
- </ResourceCompile>
- <Link>
- <AdditionalDependencies>comctl32.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>zbin/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>updater.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
- <GenerateMapFile>true</GenerateMapFile>
- <MapFileName>$(IntDir)$(TargetName).map</MapFileName>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <BaseAddress>0x22000000</BaseAddress>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
- <TargetMachine>MachineX64</TargetMachine>
- <DelayLoadDLLs>zlib.dll</DelayLoadDLLs>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="allocations.cpp" />
- <ClCompile Include="conf_comp_dialog.cpp" />
- <ClCompile Include="conf_dialog.cpp" />
- <ClCompile Include="extern.cpp" />
- <ClCompile Include="icons.cpp" />
- <ClCompile Include="options.cpp" />
- <ClCompile Include="popups.cpp" />
- <ClCompile Include="progress_dialog.cpp" />
- <ClCompile Include="scan.cpp" />
- <ClCompile Include="services.cpp" />
- <ClCompile Include="socket.cpp" />
- <ClCompile Include="unzipfile.cpp" />
- <ClCompile Include="updater.cpp" />
- <ClCompile Include="utils.cpp" />
- <ClCompile Include="xmldata.cpp" />
- <ClCompile Include="ezxml.c" />
- <ClCompile Include="bzip2-1.0.3\blocksort.c" />
- <ClCompile Include="bzip2-1.0.3\bzlib.c" />
- <ClCompile Include="bzip2-1.0.3\compress.c" />
- <ClCompile Include="bzip2-1.0.3\crctable.c" />
- <ClCompile Include="bzip2-1.0.3\decompress.c" />
- <ClCompile Include="bzip2-1.0.3\huffman.c" />
- <ClCompile Include="bzip2-1.0.3\randtable.c" />
- <ClCompile Include="zbin\minizip\ioapi.c" />
- <ClCompile Include="zbin\minizip\ioapi_mem.c" />
- <ClCompile Include="zbin\minizip\unzip.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="allocations.h" />
- <ClInclude Include="common.h" />
- <ClInclude Include="conf_comp_dialog.h" />
- <ClInclude Include="conf_dialog.h" />
- <ClInclude Include="extern.h" />
- <ClInclude Include="icons.h" />
- <ClInclude Include="m_updater.h" />
- <ClInclude Include="options.h" />
- <ClInclude Include="popups.h" />
- <ClInclude Include="progress_dialog.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="scan.h" />
- <ClInclude Include="services.h" />
- <ClInclude Include="socket.h" />
- <ClInclude Include="updater.h" />
- <ClInclude Include="utils.h" />
- <ClInclude Include="version.h" />
- <ClInclude Include="xmldata.h" />
- <ClInclude Include="ezxml.h" />
- <ClInclude Include="bzip2-1.0.3\bzlib.h" />
- <ClInclude Include="bzip2-1.0.3\bzlib_private.h" />
- <ClInclude Include="zbin\minizip\ioapi.h" />
- <ClInclude Include="zbin\minizip\unzip.h" />
- </ItemGroup>
- <ItemGroup>
- <None Include="ico00001.ico" />
- <None Include="ico00002.ico" />
- <None Include="icon1.ico" />
- <None Include="notick.ico" />
- <None Include="restart.ico" />
- <None Include="tick.ico" />
- <None Include="u.ico" />
- <None Include="ue.ico" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="resource.rc" />
- <ResourceCompile Include="updater.rc">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- </ResourceCompile>
- <ResourceCompile Include="version.rc">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- </ResourceCompile>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/plugins/updater/updater_10.vcxproj.filters b/plugins/updater/updater_10.vcxproj.filters
deleted file mode 100644
index 25cc9f7150..0000000000
--- a/plugins/updater/updater_10.vcxproj.filters
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{e84d2a13-161a-4938-ab2a-beb609357fea}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6df75c45-cf83-4365-b665-c40b167c72dd}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl</Extensions>
- </Filter>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{f1c7f304-6e46-4a5a-a270-dd2ff8b39172}</UniqueIdentifier>
- <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
- </Filter>
- <Filter Include="ezxml">
- <UniqueIdentifier>{cfa116bf-ab53-44bd-a2f4-a933cfa32ba2}</UniqueIdentifier>
- </Filter>
- <Filter Include="bzip2">
- <UniqueIdentifier>{464e222b-e398-4cc6-9a2b-fb46c727308c}</UniqueIdentifier>
- </Filter>
- <Filter Include="minizip">
- <UniqueIdentifier>{bfe67567-27a6-495c-a026-4accb16a029d}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="allocations.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="conf_comp_dialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="conf_dialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="extern.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="icons.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="options.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="popups.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="progress_dialog.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="scan.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="services.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="socket.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="unzipfile.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="updater.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="utils.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xmldata.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="ezxml.c">
- <Filter>ezxml</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\blocksort.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\bzlib.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\compress.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\crctable.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\decompress.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\huffman.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="bzip2-1.0.3\randtable.c">
- <Filter>bzip2</Filter>
- </ClCompile>
- <ClCompile Include="zbin\minizip\ioapi.c">
- <Filter>minizip</Filter>
- </ClCompile>
- <ClCompile Include="zbin\minizip\ioapi_mem.c">
- <Filter>minizip</Filter>
- </ClCompile>
- <ClCompile Include="zbin\minizip\unzip.c">
- <Filter>minizip</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="allocations.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="common.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="conf_comp_dialog.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="conf_dialog.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="extern.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="icons.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="m_updater.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="options.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="popups.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="progress_dialog.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="resource.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="scan.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="services.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="socket.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="updater.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="utils.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="version.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xmldata.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="ezxml.h">
- <Filter>ezxml</Filter>
- </ClInclude>
- <ClInclude Include="bzip2-1.0.3\bzlib.h">
- <Filter>bzip2</Filter>
- </ClInclude>
- <ClInclude Include="bzip2-1.0.3\bzlib_private.h">
- <Filter>bzip2</Filter>
- </ClInclude>
- <ClInclude Include="zbin\minizip\ioapi.h">
- <Filter>minizip</Filter>
- </ClInclude>
- <ClInclude Include="zbin\minizip\unzip.h">
- <Filter>minizip</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="ico00001.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="ico00002.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="icon1.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="notick.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="restart.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="tick.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="u.ico">
- <Filter>Resource Files</Filter>
- </None>
- <None Include="ue.ico">
- <Filter>Resource Files</Filter>
- </None>
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="resource.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- <ResourceCompile Include="updater.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- <ResourceCompile Include="version.rc">
- <Filter>Resource Files</Filter>
- </ResourceCompile>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/plugins/updater/utils.cpp b/plugins/updater/utils.cpp
deleted file mode 100644
index cd776782f9..0000000000
--- a/plugins/updater/utils.cpp
+++ /dev/null
@@ -1,248 +0,0 @@
-#include "common.h"
-#include "utils.h"
-
-bool VersionFromString(const char *szVer, DWORD *pdwVer)
-{
- char *p = (char *)szVer;
- *pdwVer = 0;
-
- int bytes = 1; // we start in the first 'byte'
- int digit_count = 0;
- while(*p && bytes <= 4 && digit_count <= 3)
- {
- if(*p >= '0' && *p <= '9')
- {
- *pdwVer = (*pdwVer & 0xFFFFFF00) + (*pdwVer & 0xFF) * 10 + (*p - '0');
- digit_count++;
- }
- else if(*p == '.')
- {
- *pdwVer = *pdwVer << 8;
- bytes++;
- digit_count = 0;
- }
- else
- {
- if(bytes < 3) // allow other chars on the end (e.g. space)
- return false; // incompatible version string
- else
- return true;
- }
- p++;
- }
-
- // version must be x.x.x.x format (for now - until a convention is established
- // whereby we assume '0' bytes as either prefix or suffix)
- // 15/3/06 - allowing 3 digit version numbers (ostensibly for spamfilter definition files which use date for version)
- return (bytes >= 3);
-
-}
-
-int CheckForFileID(char *update_url, char *version_url, char *name)
-{
- if (strlen(update_url) > 45 && strncmp(update_url, MIM_DOWNLOAD_URL_PREFIX, 45) == 0)
- {
- char *p = update_url + 45;
- return atoi(p);
- }
- if (strlen(update_url) > 51 && strncmp(update_url, "http://www.miranda-im.org/download/feed.php?dlfile=", 51) == 0)
- {
- char *p = update_url + 51;
- return atoi(p);
- }
- if(strlen(update_url) > 47 && strncmp(update_url, "http://miranda-im.org/download/feed.php?dlfile=", 47) == 0)
- {
- char *p = update_url + 47;
- return atoi(p);
- }
- return -1;
-}
-
-bool CreatePath(const TCHAR *szDir)
-{
- if (!szDir) return false;
-
- DWORD dwAttributes;
- TCHAR *pszLastBackslash, szTestDir[ MAX_PATH ];
-
- lstrcpyn( szTestDir, szDir, SIZEOF( szTestDir ));
- if (( dwAttributes = GetFileAttributes( szTestDir )) != INVALID_FILE_ATTRIBUTES && ( dwAttributes & FILE_ATTRIBUTE_DIRECTORY ))
- return true;
-
- pszLastBackslash = _tcsrchr( szTestDir, '\\' );
- if ( pszLastBackslash == NULL )
- return true;
-
- *pszLastBackslash = '\0';
- CreatePath( szTestDir );
- *pszLastBackslash = '\\';
-
- return CreateDirectory( szTestDir, NULL ) != 0;
-}
-
-// must 'mir_free' return val
-TCHAR *GetTString(const char *asc)
-{
- if (!asc) return NULL;
- return mir_a2t(asc);
-// return (TCHAR*)CallService(MS_LANGPACK_PCHARTOTCHAR, 0, (LPARAM)asc);
-}
-
-void RemoveFolder(const TCHAR *src_folder)
-{
- TCHAR szFilesPath[MAX_PATH];
- mir_sntprintf(szFilesPath, SIZEOF(szFilesPath), _T("%s\\*.*"), src_folder);
- TCHAR *p = _tcsrchr(szFilesPath, '\\') + 1;
-
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(szFilesPath, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do
- {
- if(findData.cFileName[0] != _T('.'))
- {
- _tcscpy(p, findData.cFileName);
-
- if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- // recurse
- RemoveFolder(szFilesPath);
- else
- DeleteFile(szFilesPath);
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-
- RemoveDirectory(src_folder);
-}
-
-bool FolderIsEmpty(const TCHAR *folder)
-{
- TCHAR szFilesPath[MAX_PATH];
- mir_sntprintf(szFilesPath, SIZEOF(szFilesPath), _T("%s\\*.*"), folder);
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(szFilesPath, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE)
- {
- do {
- if (_tcscmp(findData.cFileName, _T(".")) && _tcscmp(findData.cFileName, _T("..")))
- {
- FindClose(hFileSearch);
- return false;
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-
- return true;
-}
-
-bool DeleteNonDlls(const TCHAR *folder)
-{
- TCHAR szFilesPath[MAX_PATH];
-
- {
- TCHAR buff[200];
- mir_sntprintf(buff, SIZEOF(buff), _T("Deleting non-dlls in %s"), folder);
- NLog(buff);
- }
-
- mir_sntprintf(szFilesPath, SIZEOF(szFilesPath), _T("%s\\*.*"), folder);
- TCHAR *p = _tcsrchr(szFilesPath, '\\') + 1;
-
- WIN32_FIND_DATA findData;
- HANDLE hFileSearch = FindFirstFile(szFilesPath, &findData);
- if (hFileSearch != INVALID_HANDLE_VALUE) {
- do {
- if (_tcscmp(findData.cFileName, _T(".")) && _tcscmp(findData.cFileName, _T("..")))
- {
- _tcscpy(p, findData.cFileName);
- if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
- DeleteNonDlls(szFilesPath);
- } else {
- if (_tcsstr(findData.cFileName, _T(".dll")) == 0)
- {
- {
- TCHAR buff[200];
- mir_sntprintf(buff, SIZEOF(buff), _T("Deleting %s"), folder);
- NLog(buff);
- }
- DeleteFile(szFilesPath);
- }
- }
- }
- } while(FindNextFile(hFileSearch, &findData));
- FindClose(hFileSearch);
- }
-
- return true;
-}
-
-void* memmem (const void *buf1, size_t size1, const void *buf2, size_t size2)
-{
- char *ptr;
- const char *const last = (const char *)buf1 + size1 - size2;
-
- if (size2 == 0) return (void *)buf1;
-
- for (ptr = (char *)buf1; ptr <= last; ++ptr)
- {
- if (*ptr == *(char *)buf2 && !memcmp(ptr, buf2, size2))
- return ptr;
- }
-
- return NULL;
-}
-
-bool IsAdminRequired(void)
-{
- TCHAR path[MAX_PATH];
- GetRootDir(path);
- _tcscat(path, _T("\\test_tmp.tmp"));
-
- HANDLE hDatFile = CreateFile(path, GENERIC_WRITE, FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0);
- if (hDatFile != INVALID_HANDLE_VALUE)
- {
- CloseHandle(hDatFile);
- DeleteFile(path);
- return false;
- }
-
- return true;
-}
-
-void GetRootDir(TCHAR *szPath)
-{
- GetModuleFileName(NULL, szPath, MAX_PATH);
- TCHAR *p = _tcsrchr(szPath, '\\'); if (p) *p = 0;
-}
-
-void NLog(char *msg)
-{
- CallService(MS_NETLIB_LOG, (WPARAM)hNetlibUser, (LPARAM)msg);
-}
-
-void NLogF(const char *fmt, ...)
-{
- va_list va;
- char szText[1024];
-
- va_start(va, fmt);
- mir_vsnprintf(szText, sizeof(szText), fmt, va);
- va_end(va);
-
- CallService(MS_NETLIB_LOG, (WPARAM)hNetlibUser, (LPARAM)szText);
-}
-
-
-#ifdef _UNICODE
-void NLog(wchar_t *msg)
-{
- char* a = mir_utf8encodeW(msg);
- CallService(MS_NETLIB_LOG, (WPARAM)hNetlibUser, (LPARAM)a);
- mir_free(a);
-}
-#endif \ No newline at end of file
diff --git a/plugins/updater/utils.h b/plugins/updater/utils.h
deleted file mode 100644
index f65970c236..0000000000
--- a/plugins/updater/utils.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _UTILS_INC
-#define _UTILS_INC
-
-#include "xmldata.h"
-
-bool VersionFromString(const char *szVer, DWORD *pdwVer);
-int CheckForFileID(char *update_url, char *version_url, char *name);
-bool CreatePath(const TCHAR *path);
-bool IsAdminRequired(void);
-void GetRootDir(TCHAR *szPath);
-
-// must 'free' return val
-TCHAR *GetTString(const char *asc);
-// use system default codepage - called from external process where langpack codepage is not (easily) accessible
-
-void RemoveFolder(const TCHAR *src_folder);
-bool FolderIsEmpty(const TCHAR *folder);
-bool DeleteNonDlls(const TCHAR *folder);
-
-#endif
diff --git a/plugins/updater/version.h b/plugins/updater/version.h
deleted file mode 100644
index 84ba6d103e..0000000000
--- a/plugins/updater/version.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __VERSION_H_INCLUDED
-#define __VERSION_H_INCLUDED
-
-
-#define __MAJOR_VERSION 0
-#define __MINOR_VERSION 6
-#define __RELEASE_NUM 1
-#define __BUILD_NUM 4
-
-#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
-#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM
-#define __STRINGIFY(x) #x
-#define __VERSION_STRING __STRINGIFY(__FILEVERSION_STRING_DOTS)
-
-#define __DESC "Automatic Updater for Miranda"
-#define __AUTHOR "Scott Ellis, Boris Krasnovskiy"
-#define __AUTHOREMAIL "mail@scottellis.com.au"
-#define __COPYRIGHT "© 2005,2006 Scott Ellis, 2009-2011 Boris Krasnovskiy"
-#define __AUTHORWEB "http://www.scottellis.com.au"
-
-#if defined(_WIN64)
-#define __PLUGIN_NAME "Updater x64"
-#elif defined(_UNICODE)
-#define __PLUGIN_NAME "Updater (Unicode)"
-#else
-#define __PLUGIN_NAME "Updater (ANSI)"
-#endif
-
-#define __FILENAME "updater.dll"
-
-
-#endif //__VERSION_H_INCLUDED
diff --git a/plugins/updater/version.rc b/plugins/updater/version.rc
deleted file mode 100644
index 0bb7a49488..0000000000
--- a/plugins/updater/version.rc
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#include <windows.h>
-#include "version.h"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION __FILEVERSION_STRING
- PRODUCTVERSION __FILEVERSION_STRING
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "000004b0"
- BEGIN
- VALUE "Author", __AUTHOR
- VALUE "FileDescription", __DESC
- VALUE "InternalName", __PLUGIN_NAME
- VALUE "LegalCopyright", __COPYRIGHT
- VALUE "OriginalFilename", __FILENAME
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0, 1200
- END
-END
diff --git a/plugins/updater/xmldata.cpp b/plugins/updater/xmldata.cpp
deleted file mode 100644
index 5a7aed440b..0000000000
--- a/plugins/updater/xmldata.cpp
+++ /dev/null
@@ -1,495 +0,0 @@
-#include "common.h"
-#include "xmldata.h"
-
-const char *category_files[] = { "category_plugins", "category_localisation" };
-
-BYTE *pData[NUM_CATEGORIES];
-int dataLength[NUM_CATEGORIES];
-ezxml_t doc[NUM_CATEGORIES];
-
-bool XMLDataAvailable(const Category cat) {
- return (pData[cat] && dataLength[cat]);
-}
-
-void FreeXMLData(const Category cat) {
- free(pData[cat]);
- pData[cat] = NULL;
-
- ezxml_free(doc[cat]);
- doc[cat] = NULL;
-
- dataLength[cat] = 0;
-}
-
-bool OldXMLDataExists(const Category cat) {
- TCHAR xml_data_filename[MAX_PATH];
- TCHAR *ts;
- mir_sntprintf(xml_data_filename, SIZEOF(xml_data_filename), _T("%s\\%s.xml"),
- options.data_folder, (ts = GetTString(category_files[cat])));
- mir_free(ts);
-
- HANDLE hDataFile = CreateFile(xml_data_filename, 0, 0, 0, OPEN_EXISTING, 0, 0);
- if(hDataFile != INVALID_HANDLE_VALUE) {
- CloseHandle(hDataFile);
- return true;
- }
-
- return false;
-}
-
-// return age of file in hours
-const ULARGE_INTEGER mult = { 600000000, 0}; // number of 100 microsecond blocks in a minute
-long OldXMLDataAge(const Category cat) {
- TCHAR xml_data_filename[MAX_PATH];
- TCHAR *ts;
- mir_sntprintf(xml_data_filename, SIZEOF(xml_data_filename), _T("%s\\%s.xml"),
- options.data_folder, (ts = GetTString(category_files[cat])));
- mir_free(ts);
-
- HANDLE hDataFile = CreateFile(xml_data_filename, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
- if(hDataFile != INVALID_HANDLE_VALUE) {
- FILETIME ft_then, ft_now;
- GetFileTime(hDataFile, 0, 0, &ft_then);
- CloseHandle(hDataFile);
-
- SYSTEMTIME now;
- GetSystemTime(&now);
- SystemTimeToFileTime(&now, &ft_now);
-
- ULARGE_INTEGER uli_now, uli_then, diff;
- uli_now.HighPart = ft_now.dwHighDateTime;
- uli_now.LowPart = ft_now.dwLowDateTime;
- uli_then.HighPart = ft_then.dwHighDateTime;
- uli_then.LowPart = ft_then.dwLowDateTime;
-
- diff.QuadPart = uli_now.QuadPart - uli_then.QuadPart;
-
- long minutes = (long)(diff.QuadPart / mult.QuadPart); // rounded down
-
- // convert to hours (add 30 so we round up properly)
- return (minutes + 30) / 60;
- }
-
- return -1;
-}
-
-bool LoadOldXMLData(const Category cat, bool update_age) {
- TCHAR xml_data_filename[MAX_PATH];
- TCHAR *ts;
- mir_sntprintf(xml_data_filename, SIZEOF(xml_data_filename), _T("%s\\%s.xml"),
- options.data_folder, (ts = GetTString(category_files[cat])));
- mir_free(ts);
-
- if(pData[cat]) free(pData[cat]);
- pData[cat] = 0;
- dataLength[cat] = 0;
-
- // load
- HANDLE hDataFile = CreateFile(xml_data_filename, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
- if(hDataFile != INVALID_HANDLE_VALUE) {
- dataLength[cat] = GetFileSize(hDataFile, 0);
- if(dataLength[cat]) {
- unsigned long bytes_read;
- pData[cat] = (BYTE *)malloc(dataLength[cat]);
- if(ReadFile(hDataFile, pData[cat], dataLength[cat], &bytes_read, 0))
- dataLength[cat] = bytes_read;
- else {
- free(pData[cat]);
- pData[cat] = 0;
- dataLength[cat] = 0;
- }
-
- }
-
- if(update_age) {
- FILETIME ft_now;
- SYSTEMTIME now;
- GetSystemTime(&now);
- SystemTimeToFileTime(&now, &ft_now);
- SetFileTime(hDataFile, 0, 0, &ft_now);
- }
-
- CloseHandle(hDataFile);
- }
-
- if(pData[cat] && dataLength[cat]) {
- doc[cat] = ezxml_parse_str((char*)pData[cat], dataLength[cat]);
- return doc[cat] != NULL;
- }
- return false;
-}
-
-bool SaveXMLData(const Category cat) {
- TCHAR xml_data_filename[MAX_PATH];
- TCHAR *ts;
- mir_sntprintf(xml_data_filename, SIZEOF(xml_data_filename), _T("%s\\%s.xml"),
- options.data_folder, (ts = GetTString(category_files[cat])));
- mir_free(ts);
-
- if(!CreatePath(options.data_folder)) {
- return false;
- }
-
- // save data
- if(pData[cat] && dataLength[cat]) {
- HANDLE hDataFile = CreateFile(xml_data_filename, GENERIC_READ | GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
- if(hDataFile != INVALID_HANDLE_VALUE) {
- unsigned long bytes_written;
- WriteFile(hDataFile, pData[cat], dataLength[cat], &bytes_written, 0);
- CloseHandle(hDataFile);
- return true;
- }
- }
-
- return false;
-}
-
-extern "C" void bz_internal_error ( int errcode ){}
-
-bool bz2_decompress_xml(char *in_data, int in_data_length, BYTE **pDat, int *data_length) {
- const int BLOCKSIZE = 1024 * 100;
-
- bz_stream bzs = {0};
-
- switch(BZ2_bzDecompressInit(&bzs, 0, 0)) {
- case BZ_CONFIG_ERROR:
- //MessageBox(0, "Configuration Error", "BZ2 Decompres Init", MB_OK | MB_ICONERROR);
- ShowError(TranslateT("BZ2 Decompression, configuration error"));
- return false;
- case BZ_PARAM_ERROR:
- //MessageBox(0, "Parameters Error", "BZ2 Decompres Init", MB_OK | MB_ICONERROR);
- ShowError(TranslateT("BZ2 Decompression, parameter error"));
- return false;
- case BZ_MEM_ERROR:
- //MessageBox(0, "Memory Error", "BZ2 Decompres Init", MB_OK | MB_ICONERROR);
- ShowError(TranslateT("DB2 Decompression, memory error"));
- return false;
- }
-
- bzs.avail_in = in_data_length;
- bzs.next_in = in_data;
-
- bzs.avail_out = BLOCKSIZE;
- *pDat = (BYTE *)malloc(bzs.avail_out + 1); // allocate 100k (at present, xml data is about 87k) (1 byte extra for a terminating 0 for safety)
- bzs.next_out = (char *)*pDat;
-
- int blocknum = 0;
- int ret;
- while((ret = BZ2_bzDecompress(&bzs)) == BZ_OK && bzs.avail_in > 0) {
- if(bzs.avail_out == 0) {
- blocknum++;
- *pDat = (BYTE *)realloc(*pDat, (blocknum + 1) * BLOCKSIZE + 1);
- bzs.next_out = (char *)(*pDat + (blocknum * BLOCKSIZE));
- bzs.avail_out = BLOCKSIZE;
- }
- }
-
- BZ2_bzDecompressEnd(&bzs);
-
- if(ret != BZ_STREAM_END) {
-// char msg[512];
-// sprintf(msg, "Error decompressing, code: %d", ret);
-// MessageBox(0, msg, "Error Decompressing BZ2 XML data", MB_OK);
- free(*pDat);
- *pDat = 0;
- *data_length = 0;
- return false;
- }
-
- *data_length = bzs.total_out_lo32; // assume it's not too massive!
- (*pDat)[*data_length] = 0; // for safety - last char shouldn't matter to us
-
- //char msg[256];
- //sprintf(msg, "Bytes decompressed: %d", data_length);
- //MessageBox(0, msg, "msg", MB_OK);
-
- return true;
-}
-
-bool UpdateXMLData(const Category cat, const char *redirect_url /*= 0*/, int recurse_count /*=0*/) {
-
- if(recurse_count > MAX_REDIRECT_RECURSE) {
- PUShowMessageT(TranslateT("Updater: Error getting data - too many redirects"), SM_WARNING);
- return false;
- }
-
- NETLIBHTTPREQUEST req = {0};
- NETLIBHTTPHEADER etag_hdr = {0};
-
- if(OldXMLDataExists(cat)) {
- // ensure backend not checked more than once every MIN_XMLDATA_AGE hours
- long age = OldXMLDataAge(cat);
- if(age >= 0 && age < MIN_XMLDATA_AGE) { // get it only if our file is at least 8 hours old
-#ifdef DEBUG_HTTP_POPUPS
- char buff[512];
- sprintf(buff, "XML Data is recent (%d hours old) - not downloading, using local copy", age);
- PUShowMessage(buff, SM_NOTIFY);
-#endif
-
- return LoadOldXMLData(cat, false);
- }
-
- // add ETag header for conditional get
- DBCONTACTGETSETTING cgs;
- DBVARIANT dbv;
- cgs.szModule = MODULE;
- char buff[256];
- strcpy(buff, "DataETag_");
- strcat(buff, category_files[cat]);
- cgs.szSetting = buff;
- cgs.pValue = &dbv;
- if(!CallService(MS_DB_CONTACT_GETSETTING, 0, (LPARAM)&cgs)) {
- req.headersCount = 1;
- req.headers = &etag_hdr;
- etag_hdr.szName = "If-None-Match";
- etag_hdr.szValue = _strdup(dbv.pszVal);
- DBFreeVariant(&dbv);
- }
- }
-
- req.cbSize = sizeof(req);
- req.requestType = REQUEST_GET;
- char URL[MAX_PATH];
- if(!redirect_url) {
- strcpy(URL, MIM_BACKEND_URL_PREFIX);
- strcat(URL, category_files[cat]);
- strcat(URL, ".bz2");
- } else {
- strcpy(URL, redirect_url);
- }
- req.szUrl = URL;
- req.flags = NLHRF_HTTP11;
- req.nlc = hNetlibHttp;
-
- if (CallService(MS_SYSTEM_GETVERSION, 0, 0) >= PLUGIN_MAKE_VERSION(0,9,0,5))
- req.flags |= NLHRF_PERSISTENT | NLHRF_REDIRECT;
-
- NETLIBHTTPREQUEST *resp = (NETLIBHTTPREQUEST *)CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM)hNetlibUser, (LPARAM)&req);
- free(etag_hdr.szValue);
-
- if (!resp)
- {
- hNetlibHttp = NULL;
- if (!Miranda_Terminated())
- {
- int err = GetLastError();
- if (err)
- {
- TCHAR buff[512];
- int len = mir_sntprintf(buff, SIZEOF(buff), TranslateT("Failed to download XML data: "));
- FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, err, 0, buff + len, 512 - len, 0);
- ShowError(buff);
- //MessageBox(0, buff + len, TranslateT("Updater: Error Downloading XML Data"), MB_OK | MB_ICONWARNING);
- }
- else
- {
- ShowError(TranslateT("Failed to download XML data - Response is NULL"));
- //MessageBox(0, TranslateT("Error downloading XML data...\nResponse is NULL"), TranslateT("Updater Error"), MB_OK | MB_ICONWARNING);
- NLog("Failed to download XML data - Response is NULL");
- }
- }
- return LoadOldXMLData(cat, false);
- }
- else if (resp->resultCode == 304) { // 'Not Modified' response
- hNetlibHttp = resp->nlc;
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- resp = 0;
-#ifdef DEBUG_HTTP_POPUPS
- PUShowMessage("XML Data unchanged - using local copy", SM_NOTIFY);
-#endif
-
- // mark data as current
- return LoadOldXMLData(cat, true);
- } else if(resp->resultCode >= 300 && resp->resultCode < 400) { // redirect response
- hNetlibHttp = resp->nlc;
- // get new location
- bool ret = false;
- for(int i = 0; i < resp->headersCount; i++) {
- //MessageBox(0, resp->headers[i].szValue, resp->headers[i].szName, MB_OK);
- if(strcmp(resp->headers[i].szName, "Location") == 0) {
- ret = UpdateXMLData(cat, resp->headers[i].szValue, recurse_count + 1);
- break;
- }
- }
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- resp = 0;
- if(!ret) return LoadOldXMLData(cat, false);
-
- return ret;
-
- } else if(resp->resultCode != 200) {
- hNetlibHttp = resp->nlc;
- TCHAR buff[512];
- mir_sntprintf(buff, SIZEOF(buff), TranslateT("Failed to download XML data - Invalid response, code %d"), resp->resultCode);
- ShowError(buff);
- NLog(buff);
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- resp = 0;
- return LoadOldXMLData(cat, false);
- }
-
- // resp->resultCode == 200
- hNetlibHttp = resp->nlc;
-
- if(!bz2_decompress_xml(resp->pData, resp->dataLength, &pData[cat], &dataLength[cat])) {
- ShowError(TranslateT("Failed to decompress XML data"));
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- resp = 0;
- return LoadOldXMLData(cat, false);
- }
-
- // store date header and data for response 'Not Modified' (304) above
- for(int i = 0; i < resp->headersCount; i++) {
- //MessageBox(0, resp->headers[i].szValue, resp->headers[i].szName, MB_OK);
- if(strcmp(resp->headers[i].szName, "ETag") == 0) {
- //MessageBox(0, resp->headers[i].szValue, "Storing ETag", MB_OK);
- char buff[256];
- strcpy(buff, "DataETag_");
- strcat(buff, category_files[cat]);
- DBWriteContactSettingString(0, MODULE, buff, resp->headers[i].szValue);
- }
- }
-
- CallService(MS_NETLIB_FREEHTTPREQUESTSTRUCT, 0, (LPARAM)resp);
- resp = 0;
-
- SaveXMLData(cat);
-
- doc[cat] = ezxml_parse_str((char*)pData[cat], strlen((char*)pData[cat]));
- if (!doc[cat]) return false;
-
- return true;
-}
-
-bool GetXMLData(BYTE **pDat, int &dataLen, const Category cat) {
- if(pData[cat] && dataLength[cat]) {
- *pDat = pData[cat];
- dataLen = dataLength[cat];
- return true;
- } else
- return false;
-}
-
-bool VersionLess(const char *current, const char *potential) {
- DWORD dwCur, dwPot;
- if(VersionFromString(current, &dwCur) && VersionFromString(potential, &dwPot)) {
- switch(options.ver_req) {
- case VR_MAJOR:
- dwCur &= 0xFF000000;
- dwPot &= 0xFF000000;
- break;
- case VR_MINOR:
- dwCur &= 0xFFFF0000;
- dwPot &= 0xFFFF0000;
- break;
- case VR_RELEASE:
- dwCur &= 0xFFFFFF00;
- dwPot &= 0xFFFFFF00;
- break;
- case VR_BUILD:
- break;
- }
- return dwCur < dwPot;
- }
- return false;
-}
-
-const char *FindVersion(int file_id, BYTE *pbVersionBytes, int cpbVersionBytes, const Category cat) {
-
- if(!doc[cat]) return 0;
-
- char version_string[128];
- strncpy(version_string, (char *)pbVersionBytes, cpbVersionBytes);
- version_string[sizeof(version_string)-1] = 0;
-
- ezxml_t root = ezxml_get(doc[cat], "channel", 0, "item", -1);
- while (root) {
- int id = atoi(ezxml_txt(ezxml_child(root, "id")));
- const char* version = ezxml_txt(ezxml_child(root, "version"));
-
- if (id == file_id && version[0]) {
- if (strncmp(version, (char*)pbVersionBytes, cpbVersionBytes) && VersionLess(version_string, version)) {
- return version;
- } else {
- return "same";
- }
- }
-
- root = ezxml_next(root);
- }
-
- return 0;
-}
-
-int FindFileID(const char *name, const Category cat, UpdateList *update_list)
-{
- if (!doc[cat]) return -1;
-
- if (update_list)
- {
- // couldn't find it in xml file - check if a plugin gave us a file id for a different shortName
- for (int i = 0; i < update_list->getCount(); ++i)
- {
- UpdateInternal &ui = (*update_list)[i];
- if (ui.file_id != -1 && strcmp(ui.update.szComponentName, name) == 0)
- return ui.file_id;
- }
- }
-
- // ignore case in name
- int id = -1;
- char *version = NULL;
-
- ezxml_t root = ezxml_get(doc[cat], "channel", 0, "item", -1);
- while (root)
- {
- const char* title = ezxml_txt(ezxml_child(root, "title"));
- if (_stricmp(title, name) == 0)
- {
- const char* subcategory = ezxml_txt(ezxml_child(root, "subcategory"));
- if (strcmp(subcategory, "Archived"))
- {
- int id1 = atoi(ezxml_txt(ezxml_child(root, "id")));
- if (id1)
- {
- char *version1 = ezxml_txt(ezxml_child(root, "version"));
- if (!version || (version1 && VersionLess(version, version1)))
- {
- version = version1;
- id = id1;
- }
- }
- }
- }
- root = ezxml_next(root);
- }
-
- return id;
-}
-
-void UpdateFLIDs(UpdateList &update_list)
-{
- for (int i = 0; i < update_list.getCount(); ++i)
- {
- if(update_list[i].file_id == -1 && update_list[i].update.szUpdateURL && strcmp(update_list[i].update.szUpdateURL, UPDATER_AUTOREGISTER) == 0)
- {
- int file_id = FindFileID(update_list[i].update.szComponentName, MC_PLUGINS, 0);
- if (file_id == -1)
- file_id = FindFileID(update_list[i].update.szComponentName, MC_LOCALIZATION, 0);
- if (file_id != -1)
- {
- update_list[i].file_id = file_id;
- char *buff = (char *)safe_alloc((int)strlen(MIM_DOWNLOAD_URL_PREFIX) + 9);
- sprintf(buff, MIM_DOWNLOAD_URL_PREFIX "%d", file_id);
- update_list[i].update.szUpdateURL = buff;
- update_list[i].shortName = safe_strdup(update_list[i].update.szComponentName);
-
- if(update_list[i].update.szBetaVersionURL)
- {
- update_list[i].update_options.fixed = false;
- LoadUpdateOptions(update_list[i].update.szComponentName, &update_list[i].update_options);
- }
- }
- }
- }
-}
diff --git a/plugins/updater/xmldata.h b/plugins/updater/xmldata.h
deleted file mode 100644
index d914e9130e..0000000000
--- a/plugins/updater/xmldata.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _XMLDATA_INC
-#define _XMLDATA_INC
-
-#include "options.h"
-#include "bzip2-1.0.3/bzlib.h"
-#include "utils.h"
-#include "popups.h"
-#include "services.h"
-
-#define MIM_BACKEND_URL_PREFIX "http://addons.miranda-im.org/backend/"
-#define MIM_DOWNLOAD_URL_PREFIX "http://addons.miranda-im.org/feed.php?dlfile="
-#define MIM_VIEW_URL_PREFIX "http://addons.miranda-im.org/details.php?action=viewfile&id="
-#define MIM_CHANGELOG_URL_PREFIX "http://addons.miranda-im.org/details.php?action=viewlog&id="
-// this is the minimum age (in hours) of the local copy before a new download is allowed
-#define MIN_XMLDATA_AGE 8
-
-void FreeXMLData(const Category cat);
-bool OldXMLDataExists(const Category cat);
-bool LoadOldXMLData(const Category cat, bool update_age);
-bool UpdateXMLData(const Category cat, const char *redirect_url = 0, int recurse_count = 0);
-bool XMLDataAvailable(const Category cat);
-
-const char *FindVersion(int fileID, BYTE *pbVersionBytes, int cpbVersionBytes, const Category cat);
-int FindFileID(const char *name, const Category cat, UpdateList *update_list);
-
-// update file listing id's for non-plugin AUTOREGISTER components
-void UpdateFLIDs(UpdateList &update_list);
-
-#endif
diff --git a/plugins/updater/zbin/minizip/crypt.h b/plugins/updater/zbin/minizip/crypt.h
deleted file mode 100644
index a01d08d932..0000000000
--- a/plugins/updater/zbin/minizip/crypt.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* crypt.h -- base code for crypt/uncrypt ZIPfile
-
-
- Version 1.01e, February 12th, 2005
-
- Copyright (C) 1998-2005 Gilles Vollant
-
- This code is a modified version of crypting code in Infozip distribution
-
- The encryption/decryption parts of this source code (as opposed to the
- non-echoing password parts) were originally written in Europe. The
- whole source package can be freely distributed, including from the USA.
- (Prior to January 2000, re-export from the US was a violation of US law.)
-
- This encryption code is a direct transcription of the algorithm from
- Roger Schlafly, described by Phil Katz in the file appnote.txt. This
- file (appnote.txt) is distributed with the PKZIP program (even in the
- version without encryption capabilities).
-
- If you don't need crypting in your application, just define symbols
- NOCRYPT and NOUNCRYPT.
-
- This code support the "Traditional PKWARE Encryption".
-
- The new AES encryption added on Zip format by Winzip (see the page
- http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong
- Encryption is not supported.
-*/
-
-#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8))
-
-/***********************************************************************
- * Return the next byte in the pseudo-random sequence
- */
-static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
-{
- unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an
- * unpredictable manner on 16-bit systems; not a problem
- * with any known compiler so far, though */
-
- temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2;
- return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
-}
-
-/***********************************************************************
- * Update the encryption keys with the next byte of plain text
- */
-static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c)
-{
- (*(pkeys+0)) = CRC32((*(pkeys+0)), c);
- (*(pkeys+1)) += (*(pkeys+0)) & 0xff;
- (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1;
- {
- register int keyshift = (int)((*(pkeys+1)) >> 24);
- (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift);
- }
- return c;
-}
-
-
-/***********************************************************************
- * Initialize the encryption keys and the random header according to
- * the given password.
- */
-static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab)
-{
- *(pkeys+0) = 305419896L;
- *(pkeys+1) = 591751049L;
- *(pkeys+2) = 878082192L;
- while (*passwd != '\0') {
- update_keys(pkeys,pcrc_32_tab,(int)*passwd);
- passwd++;
- }
-}
-
-#define zdecode(pkeys,pcrc_32_tab,c) \
- (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab)))
-
-#define zencode(pkeys,pcrc_32_tab,c,t) \
- (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c))
-
-#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED
-
-#define RAND_HEAD_LEN 12
- /* "last resort" source for second part of crypt seed pattern */
-# ifndef ZCR_SEED2
-# define ZCR_SEED2 3141592654UL /* use PI as default pattern */
-# endif
-
-static int crypthead(const char* passwd, /* password string */
- unsigned char* buf, /* where to write header */
- int bufSize,
- unsigned long* pkeys,
- const unsigned long* pcrc_32_tab,
- unsigned long crcForCrypting)
-{
- int n; /* index in random header */
- int t; /* temporary */
- int c; /* random byte */
- unsigned char header[RAND_HEAD_LEN-2]; /* random header */
- static unsigned calls = 0; /* ensure different random header each time */
-
- if (bufSize<RAND_HEAD_LEN)
- return 0;
-
- /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the
- * output of rand() to get less predictability, since rand() is
- * often poorly implemented.
- */
- if (++calls == 1)
- {
- srand((unsigned)(time(NULL) ^ ZCR_SEED2));
- }
- init_keys(passwd, pkeys, pcrc_32_tab);
- for (n = 0; n < RAND_HEAD_LEN-2; n++)
- {
- c = (rand() >> 7) & 0xff;
- header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t);
- }
- /* Encrypt random header (last two bytes is high word of crc) */
- init_keys(passwd, pkeys, pcrc_32_tab);
- for (n = 0; n < RAND_HEAD_LEN-2; n++)
- {
- buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t);
- }
- buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t);
- buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t);
- return n;
-}
-
-#endif
diff --git a/plugins/updater/zbin/minizip/ioapi.c b/plugins/updater/zbin/minizip/ioapi.c
deleted file mode 100644
index 0916ffa771..0000000000
--- a/plugins/updater/zbin/minizip/ioapi.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* ioapi.h -- IO base function header for compress/uncompress .zip
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-*/
-
-#if (defined(_WIN32) && !defined(_CRT_SECURE_NO_WARNINGS))
- #define _CRT_SECURE_NO_WARNINGS
-#endif
-
-#include "ioapi.h"
-
-voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)
-{
- if (pfilefunc->zfile_func64.zopen64_file != NULL)
- return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode);
- else
- {
- return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode);
- }
-}
-
-long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)
-{
- if (pfilefunc->zfile_func64.zseek64_file != NULL)
- return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin);
- else
- {
- if (origin == ZLIB_FILEFUNC_SEEK_SET)
- {
- uLong offsetTruncated = (uLong)offset;
- if (offsetTruncated != offset)
- return -1;
- else
- return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin);
- }
- else
- {
- long offsetTruncated = (long)(__int64)offset;
- if (offsetTruncated != (__int64)offset)
- return -1;
- else
- return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin);
- }
- }
-}
-
-ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)
-{
- if (pfilefunc->zfile_func64.zseek64_file != NULL)
- return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream);
- else
- {
- uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
- if ((tell_uLong) == ((uLong)-1))
- return (ZPOS64_T)-1;
- else
- return tell_uLong;
- }
-}
-
-void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)
-{
- p_filefunc64_32->zfile_func64.zopen64_file = NULL;
- p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file;
- p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
- p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file;
- p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file;
- p_filefunc64_32->zfile_func64.ztell64_file = NULL;
- p_filefunc64_32->zfile_func64.zseek64_file = NULL;
- p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file;
- p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
- p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque;
- p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file;
- p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file;
-}
-
-
-
-static voidpf ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode));
-static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
-static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size));
-static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream));
-static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
-static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
-static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
-
-static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
-{
- FILE* file = NULL;
- const char* mode_fopen = NULL;
- if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
- mode_fopen = "rb";
- else
- if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
- mode_fopen = "r+b";
- else
- if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- mode_fopen = "wb";
-
- if ((filename!=NULL) && (mode_fopen != NULL))
- file = fopen(filename, mode_fopen);
- return file;
-}
-
-static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
-{
- FILE* file = NULL;
- const char* mode_fopen = NULL;
- if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
- mode_fopen = "rb";
- else
- if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
- mode_fopen = "r+b";
- else
- if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- mode_fopen = "wb";
-
- if ((filename!=NULL) && (mode_fopen != NULL))
- file = fopen64((const char*)filename, mode_fopen);
- return file;
-}
-
-
-static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
-{
- uLong ret;
- ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
- return ret;
-}
-
-static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
-{
- uLong ret;
- ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
- return ret;
-}
-
-static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
-{
- long ret;
- ret = ftell((FILE *)stream);
- return ret;
-}
-
-
-static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
-{
- ZPOS64_T ret;
- ret = ftello64((FILE *)stream);
- return ret;
-}
-
-static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
-{
- int fseek_origin=0;
- long ret;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- fseek_origin = SEEK_CUR;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- fseek_origin = SEEK_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- fseek_origin = SEEK_SET;
- break;
- default: return -1;
- }
- ret = 0;
- if (fseek((FILE *)stream, offset, fseek_origin) != 0)
- ret = -1;
- return ret;
-}
-
-static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
-{
- int fseek_origin=0;
- long ret;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- fseek_origin = SEEK_CUR;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- fseek_origin = SEEK_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- fseek_origin = SEEK_SET;
- break;
- default: return -1;
- }
- ret = 0;
-
- if(fseeko64((FILE *)stream, offset, fseek_origin) != 0)
- ret = -1;
-
- return ret;
-}
-
-
-static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
-{
- int ret;
- ret = fclose((FILE *)stream);
- return ret;
-}
-
-static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
-{
- int ret;
- ret = ferror((FILE *)stream);
- return ret;
-}
-
-void fill_fopen_filefunc (pzlib_filefunc_def)
- zlib_filefunc_def* pzlib_filefunc_def;
-{
- pzlib_filefunc_def->zopen_file = fopen_file_func;
- pzlib_filefunc_def->zread_file = fread_file_func;
- pzlib_filefunc_def->zwrite_file = fwrite_file_func;
- pzlib_filefunc_def->ztell_file = ftell_file_func;
- pzlib_filefunc_def->zseek_file = fseek_file_func;
- pzlib_filefunc_def->zclose_file = fclose_file_func;
- pzlib_filefunc_def->zerror_file = ferror_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = fopen64_file_func;
- pzlib_filefunc_def->zread_file = fread_file_func;
- pzlib_filefunc_def->zwrite_file = fwrite_file_func;
- pzlib_filefunc_def->ztell64_file = ftell64_file_func;
- pzlib_filefunc_def->zseek64_file = fseek64_file_func;
- pzlib_filefunc_def->zclose_file = fclose_file_func;
- pzlib_filefunc_def->zerror_file = ferror_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
diff --git a/plugins/updater/zbin/minizip/ioapi.h b/plugins/updater/zbin/minizip/ioapi.h
deleted file mode 100644
index 3bb4d9e765..0000000000
--- a/plugins/updater/zbin/minizip/ioapi.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/* ioapi.h -- IO base function header for compress/uncompress .zip
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- Changes
-
- Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this)
- Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux.
- More if/def section may be needed to support other platforms
- Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows.
- (but you should use iowin32.c for windows instead)
-
-*/
-
-#ifndef _ZLIBIOAPI64_H
-#define _ZLIBIOAPI64_H
-
-#if (!defined(_WIN32)) && (!defined(WIN32))
-
- // Linux needs this to support file operation on files larger then 4+GB
- // But might need better if/def to select just the platforms that needs them.
-
- #ifndef __USE_FILE_OFFSET64
- #define __USE_FILE_OFFSET64
- #endif
- #ifndef __USE_LARGEFILE64
- #define __USE_LARGEFILE64
- #endif
- #ifndef _LARGEFILE64_SOURCE
- #define _LARGEFILE64_SOURCE
- #endif
- #ifndef _FILE_OFFSET_BIT
- #define _FILE_OFFSET_BIT 64
- #endif
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "zlib.h"
-
-#if defined(USE_FILE32API)
-#define fopen64 fopen
-#define ftello64 ftell
-#define fseeko64 fseek
-#else
-#ifdef _MSC_VER
- #define fopen64 fopen
- #if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC)))
- #define ftello64 _ftelli64
- #define fseeko64 _fseeki64
- #else // old MSC
- #define ftello64 ftell
- #define fseeko64(a, b, c) fseek(a, (long)b, c)
- #endif
-#endif
-#endif
-
-/*
-#ifndef ZPOS64_T
- #ifdef _WIN32
- #define ZPOS64_T fpos_t
- #else
- #include <stdint.h>
- #define ZPOS64_T uint64_t
- #endif
-#endif
-*/
-
-#ifdef HAVE_MINIZIP64_CONF_H
-#include "mz64conf.h"
-#endif
-
-/* a type choosen by DEFINE */
-#ifdef HAVE_64BIT_INT_CUSTOM
-typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
-#else
-#ifdef HAS_STDINT_H
-#include "stdint.h"
-typedef uint64_t ZPOS64_T;
-#else
-
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-typedef unsigned __int64 ZPOS64_T;
-#else
-typedef unsigned long long int ZPOS64_T;
-#endif
-#endif
-#endif
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define ZLIB_FILEFUNC_SEEK_CUR (1)
-#define ZLIB_FILEFUNC_SEEK_END (2)
-#define ZLIB_FILEFUNC_SEEK_SET (0)
-
-#define ZLIB_FILEFUNC_MODE_READ (1)
-#define ZLIB_FILEFUNC_MODE_WRITE (2)
-#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
-
-#define ZLIB_FILEFUNC_MODE_EXISTING (4)
-#define ZLIB_FILEFUNC_MODE_CREATE (8)
-
-
-#ifndef ZCALLBACK
- #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
- #define ZCALLBACK CALLBACK
- #else
- #define ZCALLBACK
- #endif
-#endif
-
-
-
-
-typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode));
-typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size));
-typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
-typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
-typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
-
-typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream));
-typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin));
-
-
-/* here is the "old" 32 bits structure structure */
-typedef struct zlib_filefunc_def_s
-{
- open_file_func zopen_file;
- read_file_func zread_file;
- write_file_func zwrite_file;
- tell_file_func ztell_file;
- seek_file_func zseek_file;
- close_file_func zclose_file;
- testerror_file_func zerror_file;
- voidpf opaque;
-} zlib_filefunc_def;
-
-typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque, voidpf stream));
-typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
-typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode));
-
-typedef struct zlib_filefunc64_def_s
-{
- open64_file_func zopen64_file;
- read_file_func zread_file;
- write_file_func zwrite_file;
- tell64_file_func ztell64_file;
- seek64_file_func zseek64_file;
- close_file_func zclose_file;
- testerror_file_func zerror_file;
- voidpf opaque;
-} zlib_filefunc64_def;
-
-void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def));
-void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
-
-/* now internal definition, only for zip.c and unzip.h */
-typedef struct zlib_filefunc64_32_def_s
-{
- zlib_filefunc64_def zfile_func64;
- open_file_func zopen32_file;
- tell_file_func ztell32_file;
- seek_file_func zseek32_file;
-} zlib_filefunc64_32_def;
-
-
-#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
-#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
-//#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream))
-//#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode))
-#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))
-#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream))
-
-voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode));
-long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin));
-ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream));
-
-void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32);
-
-#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode)))
-#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream)))
-#define ZSEEK64(filefunc,filestream,pos,mode) (call_zseek64((&(filefunc)),(filestream),(pos),(mode)))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/plugins/updater/zbin/minizip/ioapi_mem.c b/plugins/updater/zbin/minizip/ioapi_mem.c
deleted file mode 100644
index 126b89fa33..0000000000
--- a/plugins/updater/zbin/minizip/ioapi_mem.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* ioapi_mem.c -- IO base function header for compress/uncompress .zip
- files using zlib + zip or unzip API
-
- This version of ioapi is designed to access memory rather than files.
- We do use a region of memory to put data in to and take it out of. We do
- not have auto-extending buffers and do not inform anyone else that the
- data has been written. It is really intended for accessing a zip archive
- embedded in an application such that I can write an installer with no
- external files. Creation of archives has not been attempted, although
- parts of the framework are present.
-
- Based on Unzip ioapi.c version 0.22, May 19th, 2003
-
- Copyright (C) 1998-2003 Gilles Vollant
- (C) 2003 Justin Fletcher
-
- This file is under the same license as the Unzip tool it is distributed
- with.
-*/
-
-
-#include <stdio.h>
-#include <string.h>
-
-#include "zlib.h"
-#include "ioapi.h"
-
-
-
-voidpf ZCALLBACK fopen_mem_func OF((
- voidpf opaque,
- const char* filename,
- int mode));
-
-uLong ZCALLBACK fread_mem_func OF((
- voidpf opaque,
- voidpf stream,
- void* buf,
- uLong size));
-
-uLong ZCALLBACK fwrite_mem_func OF((
- voidpf opaque,
- voidpf stream,
- const void* buf,
- uLong size));
-
-uLong ZCALLBACK ftell_mem_func OF((
- voidpf opaque,
- voidpf stream));
-
-long ZCALLBACK fseek_mem_func OF((
- voidpf opaque,
- voidpf stream,
- uLong offset,
- int origin));
-
-int ZCALLBACK fclose_mem_func OF((
- voidpf opaque,
- voidpf stream));
-
-int ZCALLBACK ferror_mem_func OF((
- voidpf opaque,
- voidpf stream));
-
-
-typedef struct ourmemory_s {
- char *base; /* Base of the region of memory we're using */
- size_t size; /* Size of the region of memory we're using */
- size_t limit; /* Furthest we've written */
- size_t cur_offset; /* Current offset in the area */
-} ourmemory_t;
-
-voidpf ZCALLBACK fopen_mem_func (opaque, filename, mode)
- voidpf opaque;
- const char* filename;
- int mode;
-{
- ourmemory_t *mem = malloc(sizeof(*mem));
- if (mem == NULL)
- return NULL; /* Can't allocate space, so failed */
-
- /* Filenames are specified in the form :
- * <hex base of zip file>+<hex size of zip file>
- * This may not work where memory addresses are longer than the
- * size of an int and therefore may need addressing for 64bit
- * architectures
- */
-#ifdef _WIN64
- if (sscanf(filename,"%p+%I64x", &mem->base, &mem->size) != 2)
- return NULL;
-#else
- if (sscanf(filename,"%p+%x", &mem->base, &mem->size) != 2)
- return NULL;
-#endif
- if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- mem->limit = 0; /* When writing we start with 0 bytes written */
- else
- mem->limit = mem->size;
-
- mem->cur_offset = 0;
-
- return mem;
-}
-
-
-uLong ZCALLBACK fread_mem_func (opaque, stream, buf, size)
- voidpf opaque;
- voidpf stream;
- void* buf;
- uLong size;
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
-
- if (size > mem->size - mem->cur_offset)
- size = (uLong)(mem->size - mem->cur_offset);
-
- memcpy(buf, mem->base + mem->cur_offset, size);
- mem->cur_offset+=size;
-
- return size;
-}
-
-
-uLong ZCALLBACK fwrite_mem_func (opaque, stream, buf, size)
- voidpf opaque;
- voidpf stream;
- const void* buf;
- uLong size;
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
-
- if (size > mem->size - mem->cur_offset)
- size = (uLong)(mem->size - mem->cur_offset);
-
- memcpy(mem->base + mem->cur_offset, buf, size);
- mem->cur_offset+=size;
- if (mem->cur_offset > mem->limit)
- mem->limit = mem->cur_offset;
-
- return size;
-}
-
-uLong ZCALLBACK ftell_mem_func (opaque, stream)
- voidpf opaque;
- voidpf stream;
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
-
- return (uLong)mem->cur_offset;
-}
-
-ZPOS64_T ZCALLBACK ftell64_mem_func (voidpf opaque, voidpf stream)
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
-
- return mem->cur_offset;
-}
-
-long ZCALLBACK fseek_mem_func (opaque, stream, offset, origin)
- voidpf opaque;
- voidpf stream;
- uLong offset;
- int origin;
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
- size_t new_pos;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- new_pos = mem->cur_offset + (long)offset;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- new_pos = mem->limit + (long)offset;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- new_pos = offset;
- break;
- default: return -1;
- }
-
- if (new_pos > mem->size)
- return 1; /* Failed to seek that far */
-
- if (new_pos > mem->limit)
- memset(mem->base + mem->limit, 0, (new_pos - mem->limit));
-
- mem->cur_offset = new_pos;
- return 0;
-}
-
-long ZCALLBACK fseek64_mem_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
- size_t new_pos;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- new_pos = (size_t)(mem->cur_offset + (__int64)offset);
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- new_pos = (size_t)(mem->limit + (__int64)offset);
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- new_pos = (size_t)offset;
- break;
- default: return -1;
- }
-
- if (new_pos > mem->size)
- return 1; /* Failed to seek that far */
-
- if (new_pos > mem->limit)
- memset(mem->base + mem->limit, 0, new_pos - mem->limit);
-
- mem->cur_offset = new_pos;
- return 0;
-}
-
-int ZCALLBACK fclose_mem_func (opaque, stream)
- voidpf opaque;
- voidpf stream;
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
-
- /* Note that once we've written to the buffer we don't tell anyone
- about it here. Probably the opaque handle could be used to inform
- some other component of how much data was written.
-
- This, and other aspects of writing through this interface, has
- not been tested.
- */
-
- free (mem);
- return 0;
-}
-
-int ZCALLBACK ferror_mem_func (opaque, stream)
- voidpf opaque;
- voidpf stream;
-{
- ourmemory_t *mem = (ourmemory_t *)stream;
- /* We never return errors */
- return 0;
-}
-
-void fill_memory_filefunc (pzlib_filefunc_def)
- zlib_filefunc_def* pzlib_filefunc_def;
-{
- pzlib_filefunc_def->zopen_file = fopen_mem_func;
- pzlib_filefunc_def->zread_file = fread_mem_func;
- pzlib_filefunc_def->zwrite_file = fwrite_mem_func;
- pzlib_filefunc_def->ztell_file = ftell_mem_func;
- pzlib_filefunc_def->zseek_file = fseek_mem_func;
- pzlib_filefunc_def->zclose_file = fclose_mem_func;
- pzlib_filefunc_def->zerror_file = ferror_mem_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-void fill_memory_filefunc64 (pzlib_filefunc_def)
- zlib_filefunc64_def* pzlib_filefunc_def;
-{
- pzlib_filefunc_def->zopen64_file = fopen_mem_func;
- pzlib_filefunc_def->zread_file = fread_mem_func;
- pzlib_filefunc_def->zwrite_file = fwrite_mem_func;
- pzlib_filefunc_def->ztell64_file = ftell64_mem_func;
- pzlib_filefunc_def->zseek64_file = fseek64_mem_func;
- pzlib_filefunc_def->zclose_file = fclose_mem_func;
- pzlib_filefunc_def->zerror_file = ferror_mem_func;
- pzlib_filefunc_def->opaque = NULL;
-}
diff --git a/plugins/updater/zbin/minizip/iowin32.c b/plugins/updater/zbin/minizip/iowin32.c
deleted file mode 100644
index 6a2a883be7..0000000000
--- a/plugins/updater/zbin/minizip/iowin32.c
+++ /dev/null
@@ -1,389 +0,0 @@
-/* iowin32.c -- IO base function header for compress/uncompress .zip
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-*/
-
-#include <stdlib.h>
-
-#include "zlib.h"
-#include "ioapi.h"
-#include "iowin32.h"
-
-#ifndef INVALID_HANDLE_VALUE
-#define INVALID_HANDLE_VALUE (0xFFFFFFFF)
-#endif
-
-#ifndef INVALID_SET_FILE_POINTER
-#define INVALID_SET_FILE_POINTER ((DWORD)-1)
-#endif
-
-voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
-uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
-uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
-ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream));
-long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
-int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
-int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
-
-typedef struct
-{
- HANDLE hf;
- int error;
-} WIN32FILE_IOWIN;
-
-
-static void win32_translate_open_mode(int mode,
- DWORD* lpdwDesiredAccess,
- DWORD* lpdwCreationDisposition,
- DWORD* lpdwShareMode,
- DWORD* lpdwFlagsAndAttributes)
-{
- *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
-
- if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
- {
- *lpdwDesiredAccess = GENERIC_READ;
- *lpdwCreationDisposition = OPEN_EXISTING;
- *lpdwShareMode = FILE_SHARE_READ;
- }
- else if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
- {
- *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
- *lpdwCreationDisposition = OPEN_EXISTING;
- }
- else if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- {
- *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
- *lpdwCreationDisposition = CREATE_ALWAYS;
- }
-}
-
-static voidpf win32_build_iowin(HANDLE hFile)
-{
- voidpf ret=NULL;
-
- if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
- {
- WIN32FILE_IOWIN w32fiow;
- w32fiow.hf = hFile;
- w32fiow.error = 0;
- ret = malloc(sizeof(WIN32FILE_IOWIN));
-
- if (ret==NULL)
- CloseHandle(hFile);
- else
- *((WIN32FILE_IOWIN*)ret) = w32fiow;
- }
- return ret;
-}
-
-voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-
- return win32_build_iowin(hFile);
-}
-
-
-voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-
- return win32_build_iowin(hFile);
-}
-
-
-voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-
- return win32_build_iowin(hFile);
-}
-
-
-voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-
- return win32_build_iowin(hFile);
-}
-
-
-uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size)
-{
- uLong ret=0;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
-
- if (hFile != NULL)
- {
- if (!ReadFile(hFile, buf, size, &ret, NULL))
- {
- DWORD dwErr = GetLastError();
- if (dwErr == ERROR_HANDLE_EOF)
- dwErr = 0;
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- }
- }
-
- return ret;
-}
-
-
-uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size)
-{
- uLong ret=0;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
-
- if (hFile != NULL)
- {
- if (!WriteFile(hFile, buf, size, &ret, NULL))
- {
- DWORD dwErr = GetLastError();
- if (dwErr == ERROR_HANDLE_EOF)
- dwErr = 0;
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- }
- }
-
- return ret;
-}
-
-long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
-{
- long ret=-1;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
- if (hFile != NULL)
- {
- DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
- if (dwSet == INVALID_SET_FILE_POINTER)
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = -1;
- }
- else
- ret=(long)dwSet;
- }
- return ret;
-}
-
-ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
-{
- ZPOS64_T ret= (ZPOS64_T)-1;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream)->hf;
-
- if (hFile)
- {
- LARGE_INTEGER li;
- li.QuadPart = 0;
- li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT);
- if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = (ZPOS64_T)-1;
- }
- else
- ret=li.QuadPart;
- }
- return ret;
-}
-
-
-long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin)
-{
- DWORD dwMoveMethod=0xFFFFFFFF;
- HANDLE hFile = NULL;
-
- long ret=-1;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- dwMoveMethod = FILE_CURRENT;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- dwMoveMethod = FILE_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- dwMoveMethod = FILE_BEGIN;
- break;
- default: return -1;
- }
-
- if (hFile != NULL)
- {
- DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod);
- if (dwSet == INVALID_SET_FILE_POINTER)
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = -1;
- }
- else
- ret=0;
- }
- return ret;
-}
-
-long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin)
-{
- DWORD dwMoveMethod=0xFFFFFFFF;
- HANDLE hFile = NULL;
- long ret=-1;
-
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream)->hf;
-
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- dwMoveMethod = FILE_CURRENT;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- dwMoveMethod = FILE_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- dwMoveMethod = FILE_BEGIN;
- break;
- default: return -1;
- }
-
- if (hFile)
- {
- LARGE_INTEGER* li = (LARGE_INTEGER*)&offset;
- DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod);
- if (dwSet == INVALID_SET_FILE_POINTER)
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = -1;
- }
- else
- ret=0;
- }
- return ret;
-}
-
-int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
-{
- int ret=-1;
-
- if (stream!=NULL)
- {
- HANDLE hFile;
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
- if (hFile != NULL)
- {
- CloseHandle(hFile);
- ret=0;
- }
- free(stream);
- }
- return ret;
-}
-
-int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
-{
- int ret=-1;
- if (stream!=NULL)
- {
- ret = ((WIN32FILE_IOWIN*)stream) -> error;
- }
- return ret;
-}
-
-void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen_file = win32_open_file_func;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell_file = win32_tell_file_func;
- pzlib_filefunc_def->zseek_file = win32_seek_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
- pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-
-void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
- pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-
-void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
- pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
diff --git a/plugins/updater/zbin/minizip/iowin32.h b/plugins/updater/zbin/minizip/iowin32.h
deleted file mode 100644
index 0ca0969a7d..0000000000
--- a/plugins/updater/zbin/minizip/iowin32.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* iowin32.h -- IO base function header for compress/uncompress .zip
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-*/
-
-#include <windows.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
-void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def));
-void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def));
-void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def));
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/plugins/updater/zbin/minizip/miniunz.c b/plugins/updater/zbin/minizip/miniunz.c
deleted file mode 100644
index 9ed009fbd9..0000000000
--- a/plugins/updater/zbin/minizip/miniunz.c
+++ /dev/null
@@ -1,648 +0,0 @@
-/*
- miniunz.c
- Version 1.1, February 14h, 2010
- sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-*/
-
-#ifndef _WIN32
- #ifndef __USE_FILE_OFFSET64
- #define __USE_FILE_OFFSET64
- #endif
- #ifndef __USE_LARGEFILE64
- #define __USE_LARGEFILE64
- #endif
- #ifndef _LARGEFILE64_SOURCE
- #define _LARGEFILE64_SOURCE
- #endif
- #ifndef _FILE_OFFSET_BIT
- #define _FILE_OFFSET_BIT 64
- #endif
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#ifdef unix
-# include <unistd.h>
-# include <utime.h>
-#else
-# include <direct.h>
-# include <io.h>
-#endif
-
-#include "unzip.h"
-
-#define CASESENSITIVITY (0)
-#define WRITEBUFFERSIZE (8192)
-#define MAXFILENAME (256)
-
-#ifdef _WIN32
-#define USEWIN32IOAPI
-#include "iowin32.h"
-#endif
-/*
- mini unzip, demo of unzip package
-
- usage :
- Usage : miniunz [-exvlo] file.zip [file_to_extract] [-d extractdir]
-
- list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT
- if it exists
-*/
-
-
-/* change_file_date : change the date/time of a file
- filename : the filename of the file where date/time must be modified
- dosdate : the new date at the MSDos format (4 bytes)
- tmu_date : the SAME new date at the tm_unz format */
-void change_file_date(filename,dosdate,tmu_date)
- const char *filename;
- uLong dosdate;
- tm_unz tmu_date;
-{
-#ifdef _WIN32
- HANDLE hFile;
- FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite;
-
- hFile = CreateFileA(filename,GENERIC_READ | GENERIC_WRITE,
- 0,NULL,OPEN_EXISTING,0,NULL);
- GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite);
- DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal);
- LocalFileTimeToFileTime(&ftLocal,&ftm);
- SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);
- CloseHandle(hFile);
-#else
-#ifdef unix
- struct utimbuf ut;
- struct tm newdate;
- newdate.tm_sec = tmu_date.tm_sec;
- newdate.tm_min=tmu_date.tm_min;
- newdate.tm_hour=tmu_date.tm_hour;
- newdate.tm_mday=tmu_date.tm_mday;
- newdate.tm_mon=tmu_date.tm_mon;
- if (tmu_date.tm_year > 1900)
- newdate.tm_year=tmu_date.tm_year - 1900;
- else
- newdate.tm_year=tmu_date.tm_year ;
- newdate.tm_isdst=-1;
-
- ut.actime=ut.modtime=mktime(&newdate);
- utime(filename,&ut);
-#endif
-#endif
-}
-
-
-/* mymkdir and change_file_date are not 100 % portable
- As I don't know well Unix, I wait feedback for the unix portion */
-
-int mymkdir(dirname)
- const char* dirname;
-{
- int ret=0;
-#ifdef _WIN32
- ret = _mkdir(dirname);
-#else
-#ifdef unix
- ret = mkdir (dirname,0775);
-#endif
-#endif
- return ret;
-}
-
-int makedir (newdir)
- char *newdir;
-{
- char *buffer ;
- char *p;
- int len = (int)strlen(newdir);
-
- if (len <= 0)
- return 0;
-
- buffer = (char*)malloc(len+1);
- if (buffer==NULL)
- {
- printf("Error allocating memory\n");
- return UNZ_INTERNALERROR;
- }
- strcpy(buffer,newdir);
-
- if (buffer[len-1] == '/') {
- buffer[len-1] = '\0';
- }
- if (mymkdir(buffer) == 0)
- {
- free(buffer);
- return 1;
- }
-
- p = buffer+1;
- while (1)
- {
- char hold;
-
- while(*p && *p != '\\' && *p != '/')
- p++;
- hold = *p;
- *p = 0;
- if ((mymkdir(buffer) == -1) && (errno == ENOENT))
- {
- printf("couldn't create directory %s\n",buffer);
- free(buffer);
- return 0;
- }
- if (hold == 0)
- break;
- *p++ = hold;
- }
- free(buffer);
- return 1;
-}
-
-void do_banner()
-{
- printf("MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant\n");
- printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n");
-}
-
-void do_help()
-{
- printf("Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.] [-d extractdir]\n\n" \
- " -e Extract without pathname (junk paths)\n" \
- " -x Extract with pathname\n" \
- " -v list files\n" \
- " -l list files\n" \
- " -d directory to extract into\n" \
- " -o overwrite files without prompting\n" \
- " -p extract crypted file using password\n\n");
-}
-
-void Display64BitsSize(ZPOS64_T n, int size_char)
-{
- /* to avoid compatibility problem , we do here the conversion */
- char number[21];
- int offset=19;
- int pos_string = 19;
- number[20]=0;
- for (;;) {
- number[offset]=(char)((n%10)+'0');
- if (number[offset] != '0')
- pos_string=offset;
- n/=10;
- if (offset==0)
- break;
- offset--;
- }
- {
- int size_display_string = 19-pos_string;
- while (size_char > size_display_string)
- {
- size_char--;
- printf(" ");
- }
- }
-
- printf("%s",&number[pos_string]);
-}
-
-int do_list(uf)
- unzFile uf;
-{
- uLong i;
- unz_global_info64 gi;
- int err;
-
- err = unzGetGlobalInfo64(uf,&gi);
- if (err!=UNZ_OK)
- printf("error %d with zipfile in unzGetGlobalInfo \n",err);
- printf(" Length Method Size Ratio Date Time CRC-32 Name\n");
- printf(" ------ ------ ---- ----- ---- ---- ------ ----\n");
- for (i=0;i<gi.number_entry;i++)
- {
- char filename_inzip[256];
- unz_file_info64 file_info;
- uLong ratio=0;
- const char *string_method;
- char charCrypt=' ';
- err = unzGetCurrentFileInfo64(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
- break;
- }
- if (file_info.uncompressed_size>0)
- ratio = (uLong)((file_info.compressed_size*100)/file_info.uncompressed_size);
-
- /* display a '*' if the file is crypted */
- if ((file_info.flag & 1) != 0)
- charCrypt='*';
-
- if (file_info.compression_method==0)
- string_method="Stored";
- else
- if (file_info.compression_method==Z_DEFLATED)
- {
- uInt iLevel=(uInt)((file_info.flag & 0x6)/2);
- if (iLevel==0)
- string_method="Defl:N";
- else if (iLevel==1)
- string_method="Defl:X";
- else if ((iLevel==2) || (iLevel==3))
- string_method="Defl:F"; /* 2:fast , 3 : extra fast*/
- }
- else
- if (file_info.compression_method==Z_BZIP2ED)
- {
- string_method="BZip2 ";
- }
- else
- string_method="Unkn. ";
-
- Display64BitsSize(file_info.uncompressed_size,7);
- printf(" %6s%c",string_method,charCrypt);
- Display64BitsSize(file_info.compressed_size,7);
- printf(" %3lu%% %2.2lu-%2.2lu-%2.2lu %2.2lu:%2.2lu %8.8lx %s\n",
- ratio,
- (uLong)file_info.tmu_date.tm_mon + 1,
- (uLong)file_info.tmu_date.tm_mday,
- (uLong)file_info.tmu_date.tm_year % 100,
- (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min,
- (uLong)file_info.crc,filename_inzip);
- if ((i+1)<gi.number_entry)
- {
- err = unzGoToNextFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGoToNextFile\n",err);
- break;
- }
- }
- }
-
- return 0;
-}
-
-
-int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
- unzFile uf;
- const int* popt_extract_without_path;
- int* popt_overwrite;
- const char* password;
-{
- char filename_inzip[256];
- char* filename_withoutpath;
- char* p;
- int err=UNZ_OK;
- FILE *fout=NULL;
- void* buf;
- uInt size_buf;
-
- unz_file_info64 file_info;
- uLong ratio=0;
- err = unzGetCurrentFileInfo64(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
-
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
- return err;
- }
-
- size_buf = WRITEBUFFERSIZE;
- buf = (void*)malloc(size_buf);
- if (buf==NULL)
- {
- printf("Error allocating memory\n");
- return UNZ_INTERNALERROR;
- }
-
- p = filename_withoutpath = filename_inzip;
- while ((*p) != '\0')
- {
- if (((*p)=='/') || ((*p)=='\\'))
- filename_withoutpath = p+1;
- p++;
- }
-
- if ((*filename_withoutpath)=='\0')
- {
- if ((*popt_extract_without_path)==0)
- {
- printf("creating directory: %s\n",filename_inzip);
- mymkdir(filename_inzip);
- }
- }
- else
- {
- const char* write_filename;
- int skip=0;
-
- if ((*popt_extract_without_path)==0)
- write_filename = filename_inzip;
- else
- write_filename = filename_withoutpath;
-
- err = unzOpenCurrentFilePassword(uf,password);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzOpenCurrentFilePassword\n",err);
- }
-
- if (((*popt_overwrite)==0) && (err==UNZ_OK))
- {
- char rep=0;
- FILE* ftestexist;
- ftestexist = fopen64(write_filename,"rb");
- if (ftestexist!=NULL)
- {
- fclose(ftestexist);
- do
- {
- char answer[128];
- int ret;
-
- printf("The file %s exists. Overwrite ? [y]es, [n]o, [A]ll: ",write_filename);
- ret = scanf("%1s",answer);
- if (ret != 1)
- {
- exit(EXIT_FAILURE);
- }
- rep = answer[0] ;
- if ((rep>='a') && (rep<='z'))
- rep -= 0x20;
- }
- while ((rep!='Y') && (rep!='N') && (rep!='A'));
- }
-
- if (rep == 'N')
- skip = 1;
-
- if (rep == 'A')
- *popt_overwrite=1;
- }
-
- if ((skip==0) && (err==UNZ_OK))
- {
- fout=fopen64(write_filename,"wb");
-
- /* some zipfile don't contain directory alone before file */
- if ((fout==NULL) && ((*popt_extract_without_path)==0) &&
- (filename_withoutpath!=(char*)filename_inzip))
- {
- char c=*(filename_withoutpath-1);
- *(filename_withoutpath-1)='\0';
- makedir(write_filename);
- *(filename_withoutpath-1)=c;
- fout=fopen64(write_filename,"wb");
- }
-
- if (fout==NULL)
- {
- printf("error opening %s\n",write_filename);
- }
- }
-
- if (fout!=NULL)
- {
- printf(" extracting: %s\n",write_filename);
-
- do
- {
- err = unzReadCurrentFile(uf,buf,size_buf);
- if (err<0)
- {
- printf("error %d with zipfile in unzReadCurrentFile\n",err);
- break;
- }
- if (err>0)
- if (fwrite(buf,err,1,fout)!=1)
- {
- printf("error in writing extracted file\n");
- err=UNZ_ERRNO;
- break;
- }
- }
- while (err>0);
- if (fout)
- fclose(fout);
-
- if (err==0)
- change_file_date(write_filename,file_info.dosDate,
- file_info.tmu_date);
- }
-
- if (err==UNZ_OK)
- {
- err = unzCloseCurrentFile (uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzCloseCurrentFile\n",err);
- }
- }
- else
- unzCloseCurrentFile(uf); /* don't lose the error */
- }
-
- free(buf);
- return err;
-}
-
-
-int do_extract(uf,opt_extract_without_path,opt_overwrite,password)
- unzFile uf;
- int opt_extract_without_path;
- int opt_overwrite;
- const char* password;
-{
- uLong i;
- unz_global_info64 gi;
- int err;
- FILE* fout=NULL;
-
- err = unzGetGlobalInfo64(uf,&gi);
- if (err!=UNZ_OK)
- printf("error %d with zipfile in unzGetGlobalInfo \n",err);
-
- for (i=0;i<gi.number_entry;i++)
- {
- if (do_extract_currentfile(uf,&opt_extract_without_path,
- &opt_overwrite,
- password) != UNZ_OK)
- break;
-
- if ((i+1)<gi.number_entry)
- {
- err = unzGoToNextFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGoToNextFile\n",err);
- break;
- }
- }
- }
-
- return 0;
-}
-
-int do_extract_onefile(uf,filename,opt_extract_without_path,opt_overwrite,password)
- unzFile uf;
- const char* filename;
- int opt_extract_without_path;
- int opt_overwrite;
- const char* password;
-{
- int err = UNZ_OK;
- if (unzLocateFile(uf,filename,CASESENSITIVITY)!=UNZ_OK)
- {
- printf("file %s not found in the zipfile\n",filename);
- return 2;
- }
-
- if (do_extract_currentfile(uf,&opt_extract_without_path,
- &opt_overwrite,
- password) == UNZ_OK)
- return 0;
- else
- return 1;
-}
-
-
-int main(argc,argv)
- int argc;
- char *argv[];
-{
- const char *zipfilename=NULL;
- const char *filename_to_extract=NULL;
- const char *password=NULL;
- char filename_try[MAXFILENAME+16] = "";
- int i;
- int ret_value=0;
- int opt_do_list=0;
- int opt_do_extract=1;
- int opt_do_extract_withoutpath=0;
- int opt_overwrite=0;
- int opt_extractdir=0;
- const char *dirname=NULL;
- unzFile uf=NULL;
-
- do_banner();
- if (argc==1)
- {
- do_help();
- return 0;
- }
- else
- {
- for (i=1;i<argc;i++)
- {
- if ((*argv[i])=='-')
- {
- const char *p=argv[i]+1;
-
- while ((*p)!='\0')
- {
- char c=*(p++);;
- if ((c=='l') || (c=='L'))
- opt_do_list = 1;
- if ((c=='v') || (c=='V'))
- opt_do_list = 1;
- if ((c=='x') || (c=='X'))
- opt_do_extract = 1;
- if ((c=='e') || (c=='E'))
- opt_do_extract = opt_do_extract_withoutpath = 1;
- if ((c=='o') || (c=='O'))
- opt_overwrite=1;
- if ((c=='d') || (c=='D'))
- {
- opt_extractdir=1;
- dirname=argv[i+1];
- }
-
- if (((c=='p') || (c=='P')) && (i+1<argc))
- {
- password=argv[i+1];
- i++;
- }
- }
- }
- else
- {
- if (zipfilename == NULL)
- zipfilename = argv[i];
- else if ((filename_to_extract==NULL) && (!opt_extractdir))
- filename_to_extract = argv[i] ;
- }
- }
- }
-
- if (zipfilename!=NULL)
- {
-
-# ifdef USEWIN32IOAPI
- zlib_filefunc64_def ffunc;
-# endif
-
- strncpy(filename_try, zipfilename,MAXFILENAME-1);
- /* strncpy doesnt append the trailing NULL, of the string is too long. */
- filename_try[ MAXFILENAME ] = '\0';
-
-# ifdef USEWIN32IOAPI
- fill_win32_filefunc64A(&ffunc);
- uf = unzOpen2_64(zipfilename,&ffunc);
-# else
- uf = unzOpen64(zipfilename);
-# endif
- if (uf==NULL)
- {
- strcat(filename_try,".zip");
-# ifdef USEWIN32IOAPI
- uf = unzOpen2_64(filename_try,&ffunc);
-# else
- uf = unzOpen64(filename_try);
-# endif
- }
- }
-
- if (uf==NULL)
- {
- printf("Cannot open %s or %s.zip\n",zipfilename,zipfilename);
- return 1;
- }
- printf("%s opened\n",filename_try);
-
- if (opt_do_list==1)
- ret_value = do_list(uf);
- else if (opt_do_extract==1)
- {
-#ifdef _WIN32
- if (opt_extractdir && _chdir(dirname))
-#else
- if (opt_extractdir && chdir(dirname))
-#endif
- {
- printf("Error changing into %s, aborting\n", dirname);
- exit(-1);
- }
-
- if (filename_to_extract == NULL)
- ret_value = do_extract(uf, opt_do_extract_withoutpath, opt_overwrite, password);
- else
- ret_value = do_extract_onefile(uf, filename_to_extract, opt_do_extract_withoutpath, opt_overwrite, password);
- }
-
- unzClose(uf);
-
- return ret_value;
-}
diff --git a/plugins/updater/zbin/minizip/minizip.c b/plugins/updater/zbin/minizip/minizip.c
deleted file mode 100644
index 7a4fa5a643..0000000000
--- a/plugins/updater/zbin/minizip/minizip.c
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- minizip.c
- Version 1.1, February 14h, 2010
- sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-*/
-
-
-#ifndef _WIN32
- #ifndef __USE_FILE_OFFSET64
- #define __USE_FILE_OFFSET64
- #endif
- #ifndef __USE_LARGEFILE64
- #define __USE_LARGEFILE64
- #endif
- #ifndef _LARGEFILE64_SOURCE
- #define _LARGEFILE64_SOURCE
- #endif
- #ifndef _FILE_OFFSET_BIT
- #define _FILE_OFFSET_BIT 64
- #endif
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#ifdef unix
-# include <unistd.h>
-# include <utime.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-#else
-# include <direct.h>
-# include <io.h>
-#endif
-
-#include "zip.h"
-
-#ifdef _WIN32
- #define USEWIN32IOAPI
- #include "iowin32.h"
-#endif
-
-
-
-#define WRITEBUFFERSIZE (16384)
-#define MAXFILENAME (256)
-
-#ifdef _WIN32
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- int ret = 0;
- {
- FILETIME ftLocal;
- HANDLE hFind;
- WIN32_FIND_DATAA ff32;
-
- hFind = FindFirstFileA(f,&ff32);
- if (hFind != INVALID_HANDLE_VALUE)
- {
- FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal);
- FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0);
- FindClose(hFind);
- ret = 1;
- }
- }
- return ret;
-}
-#else
-#ifdef unix
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- int ret=0;
- struct stat s; /* results of stat() */
- struct tm* filedate;
- time_t tm_t=0;
-
- if (strcmp(f,"-")!=0)
- {
- char name[MAXFILENAME+1];
- int len = strlen(f);
- if (len > MAXFILENAME)
- len = MAXFILENAME;
-
- strncpy(name, f,MAXFILENAME-1);
- /* strncpy doesnt append the trailing NULL, of the string is too long. */
- name[ MAXFILENAME ] = '\0';
-
- if (name[len - 1] == '/')
- name[len - 1] = '\0';
- /* not all systems allow stat'ing a file with / appended */
- if (stat(name,&s)==0)
- {
- tm_t = s.st_mtime;
- ret = 1;
- }
- }
- filedate = localtime(&tm_t);
-
- tmzip->tm_sec = filedate->tm_sec;
- tmzip->tm_min = filedate->tm_min;
- tmzip->tm_hour = filedate->tm_hour;
- tmzip->tm_mday = filedate->tm_mday;
- tmzip->tm_mon = filedate->tm_mon ;
- tmzip->tm_year = filedate->tm_year;
-
- return ret;
-}
-#else
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- return 0;
-}
-#endif
-#endif
-
-
-
-
-int check_exist_file(filename)
- const char* filename;
-{
- FILE* ftestexist;
- int ret = 1;
- ftestexist = fopen64(filename,"rb");
- if (ftestexist==NULL)
- ret = 0;
- else
- fclose(ftestexist);
- return ret;
-}
-
-void do_banner()
-{
- printf("MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant\n");
- printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n");
-}
-
-void do_help()
-{
- printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \
- " -o Overwrite existing file.zip\n" \
- " -a Append to existing file.zip\n" \
- " -0 Store only\n" \
- " -1 Compress faster\n" \
- " -9 Compress better\n\n" \
- " -j exclude path. store only the file name.\n\n");
-}
-
-/* calculate the CRC32 of a file,
- because to encrypt a file, we need known the CRC32 of the file before */
-int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned long* result_crc)
-{
- unsigned long calculate_crc=0;
- int err=ZIP_OK;
- FILE * fin = fopen64(filenameinzip,"rb");
- unsigned long size_read = 0;
- unsigned long total_read = 0;
- if (fin==NULL)
- {
- err = ZIP_ERRNO;
- }
-
- if (err == ZIP_OK)
- do
- {
- err = ZIP_OK;
- size_read = (int)fread(buf,1,size_buf,fin);
- if (size_read < size_buf)
- if (feof(fin)==0)
- {
- printf("error in reading %s\n",filenameinzip);
- err = ZIP_ERRNO;
- }
-
- if (size_read>0)
- calculate_crc = crc32(calculate_crc,buf,size_read);
- total_read += size_read;
-
- } while ((err == ZIP_OK) && (size_read>0));
-
- if (fin)
- fclose(fin);
-
- *result_crc=calculate_crc;
- printf("file %s crc %lx\n", filenameinzip, calculate_crc);
- return err;
-}
-
-int isLargeFile(const char* filename)
-{
- int largeFile = 0;
- ZPOS64_T pos = 0;
- FILE* pFile = fopen64(filename, "rb");
-
- if(pFile != NULL)
- {
- int n = fseeko64(pFile, 0, SEEK_END);
-
- pos = ftello64(pFile);
-
- printf("File : %s is %lld bytes\n", filename, pos);
-
- if(pos >= 0xffffffff)
- largeFile = 1;
-
- fclose(pFile);
- }
-
- return largeFile;
-}
-
-int main(argc,argv)
- int argc;
- char *argv[];
-{
- int i;
- int opt_overwrite=0;
- int opt_compress_level=Z_DEFAULT_COMPRESSION;
- int opt_exclude_path=0;
- int zipfilenamearg = 0;
- char filename_try[MAXFILENAME+16];
- int zipok;
- int err=0;
- int size_buf=0;
- void* buf=NULL;
- const char* password=NULL;
-
-
- do_banner();
- if (argc==1)
- {
- do_help();
- return 0;
- }
- else
- {
- for (i=1;i<argc;i++)
- {
- if ((*argv[i])=='-')
- {
- const char *p=argv[i]+1;
-
- while ((*p)!='\0')
- {
- char c=*(p++);;
- if ((c=='o') || (c=='O'))
- opt_overwrite = 1;
- if ((c=='a') || (c=='A'))
- opt_overwrite = 2;
- if ((c>='0') && (c<='9'))
- opt_compress_level = c-'0';
- if ((c=='j') || (c=='J'))
- opt_exclude_path = 1;
-
- if (((c=='p') || (c=='P')) && (i+1<argc))
- {
- password=argv[i+1];
- i++;
- }
- }
- }
- else
- {
- if (zipfilenamearg == 0)
- {
- zipfilenamearg = i ;
- }
- }
- }
- }
-
- size_buf = WRITEBUFFERSIZE;
- buf = (void*)malloc(size_buf);
- if (buf==NULL)
- {
- printf("Error allocating memory\n");
- return ZIP_INTERNALERROR;
- }
-
- if (zipfilenamearg==0)
- {
- zipok=0;
- }
- else
- {
- int i,len;
- int dot_found=0;
-
- zipok = 1 ;
- strncpy(filename_try, argv[zipfilenamearg],MAXFILENAME-1);
- /* strncpy doesnt append the trailing NULL, of the string is too long. */
- filename_try[ MAXFILENAME ] = '\0';
-
- len=(int)strlen(filename_try);
- for (i=0;i<len;i++)
- if (filename_try[i]=='.')
- dot_found=1;
-
- if (dot_found==0)
- strcat(filename_try,".zip");
-
- if (opt_overwrite==2)
- {
- /* if the file don't exist, we not append file */
- if (check_exist_file(filename_try)==0)
- opt_overwrite=1;
- }
- else
- if (opt_overwrite==0)
- if (check_exist_file(filename_try)!=0)
- {
- char rep=0;
- do
- {
- char answer[128];
- int ret;
- printf("The file %s exists. Overwrite ? [y]es, [n]o, [a]ppend : ",filename_try);
- ret = scanf("%1s",answer);
- if (ret != 1)
- {
- exit(EXIT_FAILURE);
- }
- rep = answer[0] ;
- if ((rep>='a') && (rep<='z'))
- rep -= 0x20;
- }
- while ((rep!='Y') && (rep!='N') && (rep!='A'));
- if (rep=='N')
- zipok = 0;
- if (rep=='A')
- opt_overwrite = 2;
- }
- }
-
- if (zipok==1)
- {
- zipFile zf;
- int errclose;
-# ifdef USEWIN32IOAPI
- zlib_filefunc64_def ffunc;
- fill_win32_filefunc64A(&ffunc);
- zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc);
-# else
- zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0);
-# endif
-
- if (zf == NULL)
- {
- printf("error opening %s\n",filename_try);
- err= ZIP_ERRNO;
- }
- else
- printf("creating %s\n",filename_try);
-
- for (i=zipfilenamearg+1;(i<argc) && (err==ZIP_OK);i++)
- {
- if (!((((*(argv[i]))=='-') || ((*(argv[i]))=='/')) &&
- ((argv[i][1]=='o') || (argv[i][1]=='O') ||
- (argv[i][1]=='a') || (argv[i][1]=='A') ||
- (argv[i][1]=='p') || (argv[i][1]=='P') ||
- ((argv[i][1]>='0') || (argv[i][1]<='9'))) &&
- (strlen(argv[i]) == 2)))
- {
- FILE * fin;
- int size_read;
- const char* filenameinzip = argv[i];
- const char *savefilenameinzip;
- zip_fileinfo zi;
- unsigned long crcFile=0;
- int zip64 = 0;
-
- zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
- zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0;
- zi.dosDate = 0;
- zi.internal_fa = 0;
- zi.external_fa = 0;
- filetime(filenameinzip,&zi.tmz_date,&zi.dosDate);
-
-/*
- err = zipOpenNewFileInZip(zf,filenameinzip,&zi,
- NULL,0,NULL,0,NULL / * comment * /,
- (opt_compress_level != 0) ? Z_DEFLATED : 0,
- opt_compress_level);
-*/
- if ((password != NULL) && (err==ZIP_OK))
- err = getFileCrc(filenameinzip,buf,size_buf,&crcFile);
-
- zip64 = isLargeFile(filenameinzip);
-
- /* The path name saved, should not include a leading slash. */
- /*if it did, windows/xp and dynazip couldn't read the zip file. */
- savefilenameinzip = filenameinzip;
- while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' )
- {
- savefilenameinzip++;
- }
-
- /*should the zip file contain any path at all?*/
- if( opt_exclude_path )
- {
- const char *tmpptr;
- const char *lastslash = 0;
- for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++)
- {
- if( *tmpptr == '\\' || *tmpptr == '/')
- {
- lastslash = tmpptr;
- }
- }
- if( lastslash != NULL )
- {
- savefilenameinzip = lastslash+1; // base filename follows last slash.
- }
- }
-
- /**/
- err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi,
- NULL,0,NULL,0,NULL /* comment*/,
- (opt_compress_level != 0) ? Z_DEFLATED : 0,
- opt_compress_level,0,
- /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- password,crcFile, zip64);
-
- if (err != ZIP_OK)
- printf("error in opening %s in zipfile\n",filenameinzip);
- else
- {
- fin = fopen64(filenameinzip,"rb");
- if (fin==NULL)
- {
- err=ZIP_ERRNO;
- printf("error in opening %s for reading\n",filenameinzip);
- }
- }
-
- if (err == ZIP_OK)
- do
- {
- err = ZIP_OK;
- size_read = (int)fread(buf,1,size_buf,fin);
- if (size_read < size_buf)
- if (feof(fin)==0)
- {
- printf("error in reading %s\n",filenameinzip);
- err = ZIP_ERRNO;
- }
-
- if (size_read>0)
- {
- err = zipWriteInFileInZip (zf,buf,size_read);
- if (err<0)
- {
- printf("error in writing %s in the zipfile\n",
- filenameinzip);
- }
-
- }
- } while ((err == ZIP_OK) && (size_read>0));
-
- if (fin)
- fclose(fin);
-
- if (err<0)
- err=ZIP_ERRNO;
- else
- {
- err = zipCloseFileInZip(zf);
- if (err!=ZIP_OK)
- printf("error in closing %s in the zipfile\n",
- filenameinzip);
- }
- }
- }
- errclose = zipClose(zf,NULL);
- if (errclose != ZIP_OK)
- printf("error in closing %s\n",filename_try);
- }
- else
- {
- do_help();
- }
-
- free(buf);
- return 0;
-}
diff --git a/plugins/updater/zbin/minizip/mztools.c b/plugins/updater/zbin/minizip/mztools.c
deleted file mode 100644
index f9092e65ae..0000000000
--- a/plugins/updater/zbin/minizip/mztools.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- Additional tools for Minizip
- Code: Xavier Roche '2004
- License: Same as ZLIB (www.gzip.org)
-*/
-
-/* Code */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "zlib.h"
-#include "unzip.h"
-
-#define READ_8(adr) ((unsigned char)*(adr))
-#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) )
-#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) )
-
-#define WRITE_8(buff, n) do { \
- *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \
-} while(0)
-#define WRITE_16(buff, n) do { \
- WRITE_8((unsigned char*)(buff), n); \
- WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \
-} while(0)
-#define WRITE_32(buff, n) do { \
- WRITE_16((unsigned char*)(buff), (n) & 0xffff); \
- WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \
-} while(0)
-
-extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered)
-const char* file;
-const char* fileOut;
-const char* fileOutTmp;
-uLong* nRecovered;
-uLong* bytesRecovered;
-{
- int err = Z_OK;
- FILE* fpZip = fopen(file, "rb");
- FILE* fpOut = fopen(fileOut, "wb");
- FILE* fpOutCD = fopen(fileOutTmp, "wb");
- if (fpZip != NULL && fpOut != NULL) {
- int entries = 0;
- uLong totalBytes = 0;
- char header[30];
- char filename[256];
- char extra[1024];
- int offset = 0;
- int offsetCD = 0;
- while ( fread(header, 1, 30, fpZip) == 30 ) {
- int currentOffset = offset;
-
- /* File entry */
- if (READ_32(header) == 0x04034b50) {
- unsigned int version = READ_16(header + 4);
- unsigned int gpflag = READ_16(header + 6);
- unsigned int method = READ_16(header + 8);
- unsigned int filetime = READ_16(header + 10);
- unsigned int filedate = READ_16(header + 12);
- unsigned int crc = READ_32(header + 14); /* crc */
- unsigned int cpsize = READ_32(header + 18); /* compressed size */
- unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */
- unsigned int fnsize = READ_16(header + 26); /* file name length */
- unsigned int extsize = READ_16(header + 28); /* extra field length */
- filename[0] = extra[0] = '\0';
-
- /* Header */
- if (fwrite(header, 1, 30, fpOut) == 30) {
- offset += 30;
- } else {
- err = Z_ERRNO;
- break;
- }
-
- /* Filename */
- if (fnsize > 0) {
- if (fread(filename, 1, fnsize, fpZip) == fnsize) {
- if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {
- offset += fnsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_STREAM_ERROR;
- break;
- }
-
- /* Extra field */
- if (extsize > 0) {
- if (fread(extra, 1, extsize, fpZip) == extsize) {
- if (fwrite(extra, 1, extsize, fpOut) == extsize) {
- offset += extsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
- /* Data */
- {
- int dataSize = cpsize;
- if (dataSize == 0) {
- dataSize = uncpsize;
- }
- if (dataSize > 0) {
- char* data = malloc(dataSize);
- if (data != NULL) {
- if ((int)fread(data, 1, dataSize, fpZip) == dataSize) {
- if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) {
- offset += dataSize;
- totalBytes += dataSize;
- } else {
- err = Z_ERRNO;
- }
- } else {
- err = Z_ERRNO;
- }
- free(data);
- if (err != Z_OK) {
- break;
- }
- } else {
- err = Z_MEM_ERROR;
- break;
- }
- }
- }
-
- /* Central directory entry */
- {
- char header[46];
- char* comment = "";
- int comsize = (int) strlen(comment);
- WRITE_32(header, 0x02014b50);
- WRITE_16(header + 4, version);
- WRITE_16(header + 6, version);
- WRITE_16(header + 8, gpflag);
- WRITE_16(header + 10, method);
- WRITE_16(header + 12, filetime);
- WRITE_16(header + 14, filedate);
- WRITE_32(header + 16, crc);
- WRITE_32(header + 20, cpsize);
- WRITE_32(header + 24, uncpsize);
- WRITE_16(header + 28, fnsize);
- WRITE_16(header + 30, extsize);
- WRITE_16(header + 32, comsize);
- WRITE_16(header + 34, 0); /* disk # */
- WRITE_16(header + 36, 0); /* int attrb */
- WRITE_32(header + 38, 0); /* ext attrb */
- WRITE_32(header + 42, currentOffset);
- /* Header */
- if (fwrite(header, 1, 46, fpOutCD) == 46) {
- offsetCD += 46;
-
- /* Filename */
- if (fnsize > 0) {
- if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) {
- offsetCD += fnsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_STREAM_ERROR;
- break;
- }
-
- /* Extra field */
- if (extsize > 0) {
- if (fwrite(extra, 1, extsize, fpOutCD) == extsize) {
- offsetCD += extsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
- /* Comment field */
- if (comsize > 0) {
- if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) {
- offsetCD += comsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
-
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
- /* Success */
- entries++;
-
- } else {
- break;
- }
- }
-
- /* Final central directory */
- {
- int entriesZip = entries;
- char header[22];
- char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools";
- int comsize = (int) strlen(comment);
- if (entriesZip > 0xffff) {
- entriesZip = 0xffff;
- }
- WRITE_32(header, 0x06054b50);
- WRITE_16(header + 4, 0); /* disk # */
- WRITE_16(header + 6, 0); /* disk # */
- WRITE_16(header + 8, entriesZip); /* hack */
- WRITE_16(header + 10, entriesZip); /* hack */
- WRITE_32(header + 12, offsetCD); /* size of CD */
- WRITE_32(header + 16, offset); /* offset to CD */
- WRITE_16(header + 20, comsize); /* comment */
-
- /* Header */
- if (fwrite(header, 1, 22, fpOutCD) == 22) {
-
- /* Comment field */
- if (comsize > 0) {
- if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) {
- err = Z_ERRNO;
- }
- }
-
- } else {
- err = Z_ERRNO;
- }
- }
-
- /* Final merge (file + central directory) */
- fclose(fpOutCD);
- if (err == Z_OK) {
- fpOutCD = fopen(fileOutTmp, "rb");
- if (fpOutCD != NULL) {
- int nRead;
- char buffer[8192];
- while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) {
- if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) {
- err = Z_ERRNO;
- break;
- }
- }
- fclose(fpOutCD);
- }
- }
-
- /* Close */
- fclose(fpZip);
- fclose(fpOut);
-
- /* Wipe temporary file */
- (void)remove(fileOutTmp);
-
- /* Number of recovered entries */
- if (err == Z_OK) {
- if (nRecovered != NULL) {
- *nRecovered = entries;
- }
- if (bytesRecovered != NULL) {
- *bytesRecovered = totalBytes;
- }
- }
- } else {
- err = Z_STREAM_ERROR;
- }
- return err;
-}
diff --git a/plugins/updater/zbin/minizip/mztools.h b/plugins/updater/zbin/minizip/mztools.h
deleted file mode 100644
index 88b34592bf..0000000000
--- a/plugins/updater/zbin/minizip/mztools.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- Additional tools for Minizip
- Code: Xavier Roche '2004
- License: Same as ZLIB (www.gzip.org)
-*/
-
-#ifndef _zip_tools_H
-#define _zip_tools_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#include "unzip.h"
-
-/* Repair a ZIP file (missing central directory)
- file: file to recover
- fileOut: output file after recovery
- fileOutTmp: temporary file name used for recovery
-*/
-extern int ZEXPORT unzRepair(const char* file,
- const char* fileOut,
- const char* fileOutTmp,
- uLong* nRecovered,
- uLong* bytesRecovered);
-
-#endif
diff --git a/plugins/updater/zbin/minizip/unzip.c b/plugins/updater/zbin/minizip/unzip.c
deleted file mode 100644
index 44f9876160..0000000000
--- a/plugins/updater/zbin/minizip/unzip.c
+++ /dev/null
@@ -1,2125 +0,0 @@
-/* unzip.c -- IO for uncompress .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-
- ------------------------------------------------------------------------------------
- Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of
- compatibility with older software. The following is from the original crypt.c.
- Code woven in by Terry Thorsen 1/2003.
-
- Copyright (c) 1990-2000 Info-ZIP. All rights reserved.
-
- See the accompanying file LICENSE, version 2000-Apr-09 or later
- (the contents of which are also included in zip.h) for terms of use.
- If, for some reason, all these files are missing, the Info-ZIP license
- also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
-
- crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h]
-
- The encryption/decryption parts of this source code (as opposed to the
- non-echoing password parts) were originally written in Europe. The
- whole source package can be freely distributed, including from the USA.
- (Prior to January 2000, re-export from the US was a violation of US law.)
-
- This encryption code is a direct transcription of the algorithm from
- Roger Schlafly, described by Phil Katz in the file appnote.txt. This
- file (appnote.txt) is distributed with the PKZIP program (even in the
- version without encryption capabilities).
-
- ------------------------------------------------------------------------------------
-
- Changes in unzip.c
-
- 2007-2008 - Even Rouault - Addition of cpl_unzGetCurrentFileZStreamPos
- 2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz*
- 2007-2008 - Even Rouault - Remove old C style function prototypes
- 2007-2008 - Even Rouault - Add unzip support for ZIP64
-
- Copyright (C) 2007-2008 Even Rouault
-
-
- Oct-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again).
- Oct-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G
- should only read the compressed/uncompressed size from the Zip64 format if
- the size from normal header was 0xFFFFFFFF
- Oct-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant
- Oct-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required)
- Patch created by Daniel Borca
-
- Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
-
- Copyright (C) 1998 - 2010 Gilles Vollant, Even Rouault, Mathias Svensson
-
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef NOUNCRYPT
- #define NOUNCRYPT
-#endif
-
-#include "zlib.h"
-#include "unzip.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-
-#ifndef CASESENSITIVITYDEFAULT_NO
-# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)
-# define CASESENSITIVITYDEFAULT_NO
-# endif
-#endif
-
-
-#ifndef UNZ_BUFSIZE
-#define UNZ_BUFSIZE (16384)
-#endif
-
-#ifndef UNZ_MAXFILENAMEINZIP
-#define UNZ_MAXFILENAMEINZIP (256)
-#endif
-
-#ifndef ALLOC
-# define ALLOC(size) (malloc(size))
-#endif
-#ifndef TRYFREE
-# define TRYFREE(p) {if (p) free(p);}
-#endif
-
-#define SIZECENTRALDIRITEM (0x2e)
-#define SIZEZIPLOCALHEADER (0x1e)
-
-
-const char unz_copyright[] =
- " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
-
-/* unz_file_info_interntal contain internal info about a file in zipfile*/
-typedef struct unz_file_info64_internal_s
-{
- ZPOS64_T offset_curfile;/* relative offset of local header 8 bytes */
-} unz_file_info64_internal;
-
-
-/* file_in_zip_read_info_s contain internal information about a file in zipfile,
- when reading and decompress it */
-typedef struct
-{
- char *read_buffer; /* internal buffer for compressed data */
- z_stream stream; /* zLib stream structure for inflate */
-
-#ifdef HAVE_BZIP2
- bz_stream bstream; /* bzLib stream structure for bziped */
-#endif
-
- ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek*/
- uLong stream_initialised; /* flag set if stream structure is initialised*/
-
- ZPOS64_T offset_local_extrafield;/* offset of the local extra field */
- uInt size_local_extrafield;/* size of the local extra field */
- ZPOS64_T pos_local_extrafield; /* position in the local extra field in read*/
- ZPOS64_T total_out_64;
-
- uLong crc32; /* crc32 of all data uncompressed */
- uLong crc32_wait; /* crc32 we must obtain after decompress all */
- ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */
- ZPOS64_T rest_read_uncompressed;/*number of byte to be obtained after decomp*/
- zlib_filefunc64_32_def z_filefunc;
- voidpf filestream; /* io structore of the zipfile */
- uLong compression_method; /* compression method (0==store) */
- ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
- int raw;
-} file_in_zip64_read_info_s;
-
-
-/* unz64_s contain internal information about the zipfile
-*/
-typedef struct
-{
- zlib_filefunc64_32_def z_filefunc;
- int is64bitOpenFunction;
- voidpf filestream; /* io structore of the zipfile */
- unz_global_info64 gi; /* public global information */
- ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
- ZPOS64_T num_file; /* number of the current file in the zipfile*/
- ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/
- ZPOS64_T current_file_ok; /* flag about the usability of the current file*/
- ZPOS64_T central_pos; /* position of the beginning of the central dir*/
-
- ZPOS64_T size_central_dir; /* size of the central directory */
- ZPOS64_T offset_central_dir; /* offset of start of central directory with
- respect to the starting disk number */
-
- unz_file_info64 cur_file_info; /* public info about the current file in zip*/
- unz_file_info64_internal cur_file_info_internal; /* private info about it*/
- file_in_zip64_read_info_s* pfile_in_zip_read; /* structure about the current
- file if we are decompressing it */
- int encrypted;
-
- int isZip64;
-
-# ifndef NOUNCRYPT
- unsigned long keys[3]; /* keys defining the pseudo-random sequence */
- const unsigned long* pcrc_32_tab;
-# endif
-} unz64_s;
-
-
-#ifndef NOUNCRYPT
-#include "crypt.h"
-#endif
-
-/* ===========================================================================
- Read a byte from a gz_stream; update next_in and avail_in. Return EOF
- for end of file.
- IN assertion: the stream s has been sucessfully opened for reading.
-*/
-
-
-local int unz64local_getByte OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- int *pi));
-
-local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)
-{
- unsigned char c;
- int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
- if (err==1)
- {
- *pi = (int)c;
- return UNZ_OK;
- }
- else
- {
- if (ZERROR64(*pzlib_filefunc_def,filestream))
- return UNZ_ERRNO;
- else
- return UNZ_EOF;
- }
-}
-
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets
-*/
-local int unz64local_getShort OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX));
-
-local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((uLong)i)<<8;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int unz64local_getLong OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX));
-
-local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((uLong)i)<<8;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((uLong)i)<<16;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<24;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int unz64local_getLong64 OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- ZPOS64_T *pX));
-
-
-local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- ZPOS64_T *pX)
-{
- ZPOS64_T x ;
- int i = 0;
- int err;
-
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (ZPOS64_T)i;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<8;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<16;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<24;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<32;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<40;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<48;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<56;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-/* My own strcmpi / strcasecmp */
-local int strcmpcasenosensitive_internal (const char* fileName1, const char* fileName2)
-{
- for (;;)
- {
- char c1=*(fileName1++);
- char c2=*(fileName2++);
- if ((c1>='a') && (c1<='z'))
- c1 -= 0x20;
- if ((c2>='a') && (c2<='z'))
- c2 -= 0x20;
- if (c1=='\0')
- return ((c2=='\0') ? 0 : -1);
- if (c2=='\0')
- return 1;
- if (c1<c2)
- return -1;
- if (c1>c2)
- return 1;
- }
-}
-
-
-#ifdef CASESENSITIVITYDEFAULT_NO
-#define CASESENSITIVITYDEFAULTVALUE 2
-#else
-#define CASESENSITIVITYDEFAULTVALUE 1
-#endif
-
-#ifndef STRCMPCASENOSENTIVEFUNCTION
-#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal
-#endif
-
-/*
- Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
- or strcasecmp)
- If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
- (like 1 on Unix, 2 on Windows)
-
-*/
-extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,
- const char* fileName2,
- int iCaseSensitivity)
-
-{
- if (iCaseSensitivity==0)
- iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
-
- if (iCaseSensitivity==1)
- return strcmp(fileName1,fileName2);
-
- return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2);
-}
-
-#ifndef BUFREADCOMMENT
-#define BUFREADCOMMENT (0x400)
-#endif
-
-/*
- Locate the Central directory of a zipfile (at the end, just before
- the global comment)
-*/
-local ZPOS64_T unz64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
-local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos ;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- return uPosFound;
-}
-
-
-/*
- Locate the Central directory 64 of a zipfile (at the end, just before
- the global comment)
-*/
-local ZPOS64_T unz64local_SearchCentralDir64 OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream));
-
-local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
- uLong uL;
- ZPOS64_T relativeOffset;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- if (uPosFound == 0)
- return 0;
-
- /* Zip64 end of central directory locator */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature, already checked */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
-
- /* number of the disk with the start of the zip64 end of central directory */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
- if (uL != 0)
- return 0;
-
- /* relative offset of the zip64 end of central directory record */
- if (unz64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=UNZ_OK)
- return 0;
-
- /* total number of disks */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
- if (uL != 1)
- return 0;
-
- /* Goto end of central directory record */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
-
- if (uL != 0x06064b50)
- return 0;
-
- return relativeOffset;
-}
-
-/*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer
- "zlib/zlib114.zip".
- If the zipfile cannot be opened (file doesn't exist or in not valid), the
- return value is NULL.
- Else, the return value is a unzFile Handle, usable with other function
- of this unzip package.
-*/
-local unzFile unzOpenInternal (const void *path,
- zlib_filefunc64_32_def* pzlib_filefunc64_32_def,
- int is64bitOpenFunction)
-{
- unz64_s us;
- unz64_s *s;
- ZPOS64_T central_pos;
- uLong uL;
-
- uLong number_disk; /* number of the current dist, used for
- spaning ZIP, unsupported, always 0*/
- uLong number_disk_with_CD; /* number the the disk with central dir, used
- for spaning ZIP, unsupported, always 0*/
- ZPOS64_T number_entry_CD; /* total number of entries in
- the central dir
- (same than number_entry on nospan) */
-
- int err=UNZ_OK;
-
- if (unz_copyright[0]!=' ')
- return NULL;
-
- us.z_filefunc.zseek32_file = NULL;
- us.z_filefunc.ztell32_file = NULL;
- if (pzlib_filefunc64_32_def==NULL)
- fill_fopen64_filefunc(&us.z_filefunc.zfile_func64);
- else
- us.z_filefunc = *pzlib_filefunc64_32_def;
- us.is64bitOpenFunction = is64bitOpenFunction;
-
-
-
- us.filestream = ZOPEN64(us.z_filefunc,
- path,
- ZLIB_FILEFUNC_MODE_READ |
- ZLIB_FILEFUNC_MODE_EXISTING);
- if (us.filestream==NULL)
- return NULL;
-
- central_pos = unz64local_SearchCentralDir64(&us.z_filefunc,us.filestream);
- if (central_pos)
- {
- uLong uS;
- ZPOS64_T uL64;
-
- us.isZip64 = 1;
-
- if (ZSEEK64(us.z_filefunc, us.filestream,
- central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
- /* the signature, already checked */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* size of zip64 end of central directory record */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&uL64)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* version made by */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* version needed to extract */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of this disk */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central directory on this disk */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central directory */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- if ((number_entry_CD!=us.gi.number_entry) ||
- (number_disk_with_CD!=0) ||
- (number_disk!=0))
- err=UNZ_BADZIPFILE;
-
- /* size of the central directory */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- us.gi.size_comment = 0;
- }
- else
- {
- central_pos = unz64local_SearchCentralDir(&us.z_filefunc,us.filestream);
- if (central_pos==0)
- err=UNZ_ERRNO;
-
- us.isZip64 = 0;
-
- if (ZSEEK64(us.z_filefunc, us.filestream,
- central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
- /* the signature, already checked */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of this disk */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central dir on this disk */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- us.gi.number_entry = uL;
-
- /* total number of entries in the central dir */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- number_entry_CD = uL;
-
- if ((number_entry_CD!=us.gi.number_entry) ||
- (number_disk_with_CD!=0) ||
- (number_disk!=0))
- err=UNZ_BADZIPFILE;
-
- /* size of the central directory */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- us.size_central_dir = uL;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- us.offset_central_dir = uL;
-
- /* zipfile comment length */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if ((central_pos<us.offset_central_dir+us.size_central_dir) &&
- (err==UNZ_OK))
- err=UNZ_BADZIPFILE;
-
- if (err!=UNZ_OK)
- {
- ZCLOSE64(us.z_filefunc, us.filestream);
- return NULL;
- }
-
- us.byte_before_the_zipfile = central_pos -
- (us.offset_central_dir+us.size_central_dir);
- us.central_pos = central_pos;
- us.pfile_in_zip_read = NULL;
- us.encrypted = 0;
-
-
- s=(unz64_s*)ALLOC(sizeof(unz64_s));
- if( s != NULL)
- {
- *s=us;
- unzGoToFirstFile((unzFile)s);
- }
- return (unzFile)s;
-}
-
-
-extern unzFile ZEXPORT unzOpen2 (const char *path,
- zlib_filefunc_def* pzlib_filefunc32_def)
-{
- if (pzlib_filefunc32_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def);
- return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 0);
- }
- else
- return unzOpenInternal(path, NULL, 0);
-}
-
-extern unzFile ZEXPORT unzOpen2_64 (const void *path,
- zlib_filefunc64_def* pzlib_filefunc_def)
-{
- if (pzlib_filefunc_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def;
- zlib_filefunc64_32_def_fill.ztell32_file = NULL;
- zlib_filefunc64_32_def_fill.zseek32_file = NULL;
- return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 1);
- }
- else
- return unzOpenInternal(path, NULL, 1);
-}
-
-extern unzFile ZEXPORT unzOpen (const char *path)
-{
- return unzOpenInternal(path, NULL, 0);
-}
-
-extern unzFile ZEXPORT unzOpen64 (const void *path)
-{
- return unzOpenInternal(path, NULL, 1);
-}
-
-/*
- Close a ZipFile opened with unzipOpen.
- If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
- return UNZ_OK if there is no problem. */
-extern int ZEXPORT unzClose (unzFile file)
-{
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- if (s->pfile_in_zip_read!=NULL)
- unzCloseCurrentFile(file);
-
- ZCLOSE64(s->z_filefunc, s->filestream);
- TRYFREE(s);
- return UNZ_OK;
-}
-
-
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem. */
-extern int ZEXPORT unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info)
-{
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- *pglobal_info=s->gi;
- return UNZ_OK;
-}
-
-extern int ZEXPORT unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32)
-{
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- /* to do : check if number_entry is not truncated */
- pglobal_info32->number_entry = (uLong)s->gi.number_entry;
- pglobal_info32->size_comment = s->gi.size_comment;
- return UNZ_OK;
-}
-/*
- Translate date/time from Dos format to tm_unz (readable more easilty)
-*/
-local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm)
-{
- ZPOS64_T uDate;
- uDate = (ZPOS64_T)(ulDosDate>>16);
- ptm->tm_mday = (uInt)(uDate&0x1f) ;
- ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ;
- ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ;
-
- ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800);
- ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ;
- ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ;
-}
-
-/*
- Get Info about the current file in the zipfile, with internal only info
-*/
-local int unz64local_GetCurrentFileInfoInternal OF((unzFile file,
- unz_file_info64 *pfile_info,
- unz_file_info64_internal
- *pfile_info_internal,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-
-local int unz64local_GetCurrentFileInfoInternal (unzFile file,
- unz_file_info64 *pfile_info,
- unz_file_info64_internal
- *pfile_info_internal,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize)
-{
- unz64_s* s;
- unz_file_info64 file_info;
- unz_file_info64_internal file_info_internal;
- int err=UNZ_OK;
- uLong uMagic;
- long lSeek=0;
- uLong uL;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (ZSEEK64(s->z_filefunc, s->filestream,
- s->pos_in_central_dir+s->byte_before_the_zipfile,
- ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
-
- /* we check the magic */
- if (err==UNZ_OK)
- {
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
- err=UNZ_ERRNO;
- else if (uMagic!=0x02014b50)
- err=UNZ_BADZIPFILE;
- }
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK)
- err=UNZ_ERRNO;
-
- unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date);
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- file_info.compressed_size = uL;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- file_info.uncompressed_size = uL;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK)
- err=UNZ_ERRNO;
-
- // relative offset of local header
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- file_info_internal.offset_curfile = uL;
-
- lSeek+=file_info.size_filename;
- if ((err==UNZ_OK) && (szFileName!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_filename<fileNameBufferSize)
- {
- *(szFileName+file_info.size_filename)='\0';
- uSizeRead = file_info.size_filename;
- }
- else
- uSizeRead = fileNameBufferSize;
-
- if ((file_info.size_filename>0) && (fileNameBufferSize>0))
- if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead)
- err=UNZ_ERRNO;
- lSeek -= uSizeRead;
- }
-
- // Read extrafield
- if ((err==UNZ_OK) && (extraField!=NULL))
- {
- ZPOS64_T uSizeRead ;
- if (file_info.size_file_extra<extraFieldBufferSize)
- uSizeRead = file_info.size_file_extra;
- else
- uSizeRead = extraFieldBufferSize;
-
- if (lSeek!=0)
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- }
-
- if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
- if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead)
- err=UNZ_ERRNO;
-
- lSeek += file_info.size_file_extra - (uLong)uSizeRead;
- }
- else
- lSeek += file_info.size_file_extra;
-
-
- if ((err==UNZ_OK) && (file_info.size_file_extra != 0))
- {
- uLong acc = 0;
-
- // since lSeek now points to after the extra field we need to move back
- lSeek -= file_info.size_file_extra;
-
- if (lSeek!=0)
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- }
-
- while(acc < file_info.size_file_extra)
- {
- uLong headerId;
- uLong dataSize;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK)
- err=UNZ_ERRNO;
-
- /* ZIP64 extra fields */
- if (headerId == 0x0001)
- {
- uLong uL;
-
- if(file_info.uncompressed_size == (ZPOS64_T)(unsigned long)-1)
- {
- if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if(file_info.compressed_size == (ZPOS64_T)(unsigned long)-1)
- {
- if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if(file_info_internal.offset_curfile == (ZPOS64_T)(unsigned long)-1)
- {
- /* Relative Header offset */
- if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if(file_info.disk_num_start == (unsigned long)-1)
- {
- /* Disk Start Number */
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- }
- else
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0)
- err=UNZ_ERRNO;
- }
-
- acc += 2 + 2 + dataSize;
- }
- }
-
- if ((err==UNZ_OK) && (szComment!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_file_comment<commentBufferSize)
- {
- *(szComment+file_info.size_file_comment)='\0';
- uSizeRead = file_info.size_file_comment;
- }
- else
- uSizeRead = commentBufferSize;
-
- if (lSeek!=0)
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- }
-
- if ((file_info.size_file_comment>0) && (commentBufferSize>0))
- if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead)
- err=UNZ_ERRNO;
- lSeek+=file_info.size_file_comment - uSizeRead;
- }
- else
- lSeek+=file_info.size_file_comment;
-
-
- if ((err==UNZ_OK) && (pfile_info!=NULL))
- *pfile_info=file_info;
-
- if ((err==UNZ_OK) && (pfile_info_internal!=NULL))
- *pfile_info_internal=file_info_internal;
-
- return err;
-}
-
-
-
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem.
-*/
-extern int ZEXPORT unzGetCurrentFileInfo64 (unzFile file,
- unz_file_info64 * pfile_info,
- char * szFileName, uLong fileNameBufferSize,
- void *extraField, uLong extraFieldBufferSize,
- char* szComment, uLong commentBufferSize)
-{
- return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL,
- szFileName,fileNameBufferSize,
- extraField,extraFieldBufferSize,
- szComment,commentBufferSize);
-}
-
-extern int ZEXPORT unzGetCurrentFileInfo (unzFile file,
- unz_file_info * pfile_info,
- char * szFileName, uLong fileNameBufferSize,
- void *extraField, uLong extraFieldBufferSize,
- char* szComment, uLong commentBufferSize)
-{
- int err;
- unz_file_info64 file_info64;
- err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL,
- szFileName,fileNameBufferSize,
- extraField,extraFieldBufferSize,
- szComment,commentBufferSize);
- if (err==UNZ_OK)
- {
- pfile_info->version = file_info64.version;
- pfile_info->version_needed = file_info64.version_needed;
- pfile_info->flag = file_info64.flag;
- pfile_info->compression_method = file_info64.compression_method;
- pfile_info->dosDate = file_info64.dosDate;
- pfile_info->crc = file_info64.crc;
-
- pfile_info->size_filename = file_info64.size_filename;
- pfile_info->size_file_extra = file_info64.size_file_extra;
- pfile_info->size_file_comment = file_info64.size_file_comment;
-
- pfile_info->disk_num_start = file_info64.disk_num_start;
- pfile_info->internal_fa = file_info64.internal_fa;
- pfile_info->external_fa = file_info64.external_fa;
-
- pfile_info->tmu_date = file_info64.tmu_date,
-
-
- pfile_info->compressed_size = (uLong)file_info64.compressed_size;
- pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size;
-
- }
- return err;
-}
-/*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
-*/
-extern int ZEXPORT unzGoToFirstFile (unzFile file)
-{
- int err=UNZ_OK;
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- s->pos_in_central_dir=s->offset_central_dir;
- s->num_file=0;
- err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-/*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
-*/
-extern int ZEXPORT unzGoToNextFile (unzFile file)
-{
- unz64_s* s;
- int err;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
- if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */
- if (s->num_file+1==s->gi.number_entry)
- return UNZ_END_OF_LIST_OF_FILE;
-
- s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename +
- s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ;
- s->num_file++;
- err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-
-/*
- Try locate the file szFileName in the zipfile.
- For the iCaseSensitivity signification, see unzipStringFileNameCompare
-
- return value :
- UNZ_OK if the file is found. It becomes the current file.
- UNZ_END_OF_LIST_OF_FILE if the file is not found
-*/
-extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity)
-{
- unz64_s* s;
- int err;
-
- /* We remember the 'current' position in the file so that we can jump
- * back there if we fail.
- */
- unz_file_info64 cur_file_infoSaved;
- unz_file_info64_internal cur_file_info_internalSaved;
- ZPOS64_T num_fileSaved;
- ZPOS64_T pos_in_central_dirSaved;
-
-
- if (file==NULL)
- return UNZ_PARAMERROR;
-
- if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
- return UNZ_PARAMERROR;
-
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
-
- /* Save the current state */
- num_fileSaved = s->num_file;
- pos_in_central_dirSaved = s->pos_in_central_dir;
- cur_file_infoSaved = s->cur_file_info;
- cur_file_info_internalSaved = s->cur_file_info_internal;
-
- err = unzGoToFirstFile(file);
-
- while (err == UNZ_OK)
- {
- char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
- err = unzGetCurrentFileInfo64(file,NULL,
- szCurrentFileName,sizeof(szCurrentFileName)-1,
- NULL,0,NULL,0);
- if (err == UNZ_OK)
- {
- if (unzStringFileNameCompare(szCurrentFileName,
- szFileName,iCaseSensitivity)==0)
- return UNZ_OK;
- err = unzGoToNextFile(file);
- }
- }
-
- /* We failed, so restore the state of the 'current file' to where we
- * were.
- */
- s->num_file = num_fileSaved ;
- s->pos_in_central_dir = pos_in_central_dirSaved ;
- s->cur_file_info = cur_file_infoSaved;
- s->cur_file_info_internal = cur_file_info_internalSaved;
- return err;
-}
-
-
-/*
-///////////////////////////////////////////
-// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net)
-// I need random access
-//
-// Further optimization could be realized by adding an ability
-// to cache the directory in memory. The goal being a single
-// comprehensive file read to put the file I need in a memory.
-*/
-
-/*
-typedef struct unz_file_pos_s
-{
- ZPOS64_T pos_in_zip_directory; // offset in file
- ZPOS64_T num_of_file; // # of file
-} unz_file_pos;
-*/
-
-extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos)
-{
- unz64_s* s;
-
- if (file==NULL || file_pos==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
-
- file_pos->pos_in_zip_directory = s->pos_in_central_dir;
- file_pos->num_of_file = s->num_file;
-
- return UNZ_OK;
-}
-
-extern int ZEXPORT unzGetFilePos(
- unzFile file,
- unz_file_pos* file_pos)
-{
- unz64_file_pos file_pos64;
- int err = unzGetFilePos64(file,&file_pos64);
- if (err==UNZ_OK)
- {
- file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory;
- file_pos->num_of_file = (uLong)file_pos64.num_of_file;
- }
- return err;
-}
-
-extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos)
-{
- unz64_s* s;
- int err;
-
- if (file==NULL || file_pos==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- /* jump to the right spot */
- s->pos_in_central_dir = file_pos->pos_in_zip_directory;
- s->num_file = file_pos->num_of_file;
-
- /* set the current file */
- err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- /* return results */
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-extern int ZEXPORT unzGoToFilePos(
- unzFile file,
- unz_file_pos* file_pos)
-{
- unz64_file_pos file_pos64;
- if (file_pos == NULL)
- return UNZ_PARAMERROR;
-
- file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory;
- file_pos64.num_of_file = file_pos->num_of_file;
- return unzGoToFilePos64(file,&file_pos64);
-}
-
-/*
-// Unzip Helper Functions - should be here?
-///////////////////////////////////////////
-*/
-
-/*
- Read the local header of the current zipfile
- Check the coherency of the local header and info in the end of central
- directory about this file
- store in *piSizeVar the size of extra info in local header
- (filename and size of extra field data)
-*/
-local int unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt* piSizeVar,
- ZPOS64_T * poffset_local_extrafield,
- uInt * psize_local_extrafield)
-{
- uLong uMagic,uData,uFlags;
- uLong size_filename;
- uLong size_extra_field;
- int err=UNZ_OK;
-
- *piSizeVar = 0;
- *poffset_local_extrafield = 0;
- *psize_local_extrafield = 0;
-
- if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile +
- s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
-
-
- if (err==UNZ_OK)
- {
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
- err=UNZ_ERRNO;
- else if (uMagic!=0x04034b50)
- err=UNZ_BADZIPFILE;
- }
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
- err=UNZ_ERRNO;
-/*
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion))
- err=UNZ_BADZIPFILE;
-*/
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method))
- err=UNZ_BADZIPFILE;
-
- if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) &&
-/* #ifdef HAVE_BZIP2 */
- (s->cur_file_info.compression_method!=Z_BZIP2ED) &&
-/* #endif */
- (s->cur_file_info.compression_method!=Z_DEFLATED))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */
- err=UNZ_ERRNO;
- else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */
- err=UNZ_ERRNO;
- else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK)
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename))
- err=UNZ_BADZIPFILE;
-
- *piSizeVar += (uInt)size_filename;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK)
- err=UNZ_ERRNO;
- *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile +
- SIZEZIPLOCALHEADER + size_filename;
- *psize_local_extrafield = (uInt)size_extra_field;
-
- *piSizeVar += (uInt)size_extra_field;
-
- return err;
-}
-
-/*
- Open for reading data the current file in the zipfile.
- If there is no error and the file is opened, the return value is UNZ_OK.
-*/
-extern int ZEXPORT unzOpenCurrentFile3 (unzFile file, int* method,
- int* level, int raw, const char* password)
-{
- int err=UNZ_OK;
- uInt iSizeVar;
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- ZPOS64_T offset_local_extrafield; /* offset of the local extra field */
- uInt size_local_extrafield; /* size of the local extra field */
-# ifndef NOUNCRYPT
- char source[12];
-# else
- if (password != NULL)
- return UNZ_PARAMERROR;
-# endif
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_PARAMERROR;
-
- if (s->pfile_in_zip_read != NULL)
- unzCloseCurrentFile(file);
-
- if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)
- return UNZ_BADZIPFILE;
-
- pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s));
- if (pfile_in_zip_read_info==NULL)
- return UNZ_INTERNALERROR;
-
- pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE);
- pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield;
- pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield;
- pfile_in_zip_read_info->pos_local_extrafield=0;
- pfile_in_zip_read_info->raw=raw;
-
- if (pfile_in_zip_read_info->read_buffer==NULL)
- {
- TRYFREE(pfile_in_zip_read_info);
- return UNZ_INTERNALERROR;
- }
-
- pfile_in_zip_read_info->stream_initialised=0;
-
- if (method!=NULL)
- *method = (int)s->cur_file_info.compression_method;
-
- if (level!=NULL)
- {
- *level = 6;
- switch (s->cur_file_info.flag & 0x06)
- {
- case 6 : *level = 1; break;
- case 4 : *level = 2; break;
- case 2 : *level = 9; break;
- }
- }
-
- if ((s->cur_file_info.compression_method!=0) &&
-/* #ifdef HAVE_BZIP2 */
- (s->cur_file_info.compression_method!=Z_BZIP2ED) &&
-/* #endif */
- (s->cur_file_info.compression_method!=Z_DEFLATED))
-
- err=UNZ_BADZIPFILE;
-
- pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc;
- pfile_in_zip_read_info->crc32=0;
- pfile_in_zip_read_info->total_out_64=0;
- pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method;
- pfile_in_zip_read_info->filestream=s->filestream;
- pfile_in_zip_read_info->z_filefunc=s->z_filefunc;
- pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile;
-
- pfile_in_zip_read_info->stream.total_out = 0;
-
- if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw))
- {
-#ifdef HAVE_BZIP2
- pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0;
- pfile_in_zip_read_info->bstream.bzfree = (free_func)0;
- pfile_in_zip_read_info->bstream.opaque = (voidpf)0;
- pfile_in_zip_read_info->bstream.state = (voidpf)0;
-
- pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
- pfile_in_zip_read_info->stream.zfree = (free_func)0;
- pfile_in_zip_read_info->stream.opaque = (voidpf)0;
- pfile_in_zip_read_info->stream.next_in = (voidpf)0;
- pfile_in_zip_read_info->stream.avail_in = 0;
-
- err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
- if (err == Z_OK)
- pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED;
- else
- {
- TRYFREE(pfile_in_zip_read_info);
- return err;
- }
-#else
- pfile_in_zip_read_info->raw=1;
-#endif
- }
- else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw))
- {
- pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
- pfile_in_zip_read_info->stream.zfree = (free_func)0;
- pfile_in_zip_read_info->stream.opaque = (voidpf)0;
- pfile_in_zip_read_info->stream.next_in = 0;
- pfile_in_zip_read_info->stream.avail_in = 0;
-
- err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
- if (err == Z_OK)
- pfile_in_zip_read_info->stream_initialised=Z_DEFLATED;
- else
- {
- TRYFREE(pfile_in_zip_read_info);
- return err;
- }
- /* windowBits is passed < 0 to tell that there is no zlib header.
- * Note that in this case inflate *requires* an extra "dummy" byte
- * after the compressed stream in order to complete decompression and
- * return Z_STREAM_END.
- * In unzip, i don't wait absolutely Z_STREAM_END because I known the
- * size of both compressed and uncompressed data
- */
- }
- pfile_in_zip_read_info->rest_read_compressed =
- s->cur_file_info.compressed_size ;
- pfile_in_zip_read_info->rest_read_uncompressed =
- s->cur_file_info.uncompressed_size ;
-
-
- pfile_in_zip_read_info->pos_in_zipfile =
- s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER +
- iSizeVar;
-
- pfile_in_zip_read_info->stream.avail_in = (uInt)0;
-
- s->pfile_in_zip_read = pfile_in_zip_read_info;
- s->encrypted = 0;
-
-# ifndef NOUNCRYPT
- if (password != NULL)
- {
- int i;
- s->pcrc_32_tab = get_crc_table();
- init_keys(password,s->keys,s->pcrc_32_tab);
- if (ZSEEK64(s->z_filefunc, s->filestream,
- s->pfile_in_zip_read->pos_in_zipfile +
- s->pfile_in_zip_read->byte_before_the_zipfile,
- SEEK_SET)!=0)
- return UNZ_INTERNALERROR;
- if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12)
- return UNZ_INTERNALERROR;
-
- for (i = 0; i<12; i++)
- zdecode(s->keys,s->pcrc_32_tab,source[i]);
-
- s->pfile_in_zip_read->pos_in_zipfile+=12;
- s->encrypted=1;
- }
-# endif
-
-
- return UNZ_OK;
-}
-
-extern int ZEXPORT unzOpenCurrentFile (unzFile file)
-{
- return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);
-}
-
-extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password)
-{
- return unzOpenCurrentFile3(file, NULL, NULL, 0, password);
-}
-
-extern int ZEXPORT unzOpenCurrentFile2 (unzFile file, int* method, int* level, int raw)
-{
- return unzOpenCurrentFile3(file, method, level, raw, NULL);
-}
-
-/** Addition for GDAL : START */
-
-extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64( unzFile file)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- s=(unz64_s*)file;
- if (file==NULL)
- return 0; //UNZ_PARAMERROR;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
- if (pfile_in_zip_read_info==NULL)
- return 0; //UNZ_PARAMERROR;
- return pfile_in_zip_read_info->pos_in_zipfile +
- pfile_in_zip_read_info->byte_before_the_zipfile;
-}
-
-/** Addition for GDAL : END */
-
-/*
- Read bytes from the current file.
- buf contain buffer where data must be copied
- len the size of buf.
-
- return the number of byte copied if somes bytes are copied
- return 0 if the end of file was reached
- return <0 with error code if there is an error
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
-*/
-extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len)
-{
- int err=UNZ_OK;
- uInt iRead = 0;
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
-
- if ((pfile_in_zip_read_info->read_buffer == NULL))
- return UNZ_END_OF_LIST_OF_FILE;
- if (len==0)
- return 0;
-
- pfile_in_zip_read_info->stream.next_out = (Bytef*)buf;
-
- pfile_in_zip_read_info->stream.avail_out = (uInt)len;
-
- if ((len>pfile_in_zip_read_info->rest_read_uncompressed) &&
- (!(pfile_in_zip_read_info->raw)))
- pfile_in_zip_read_info->stream.avail_out =
- (uInt)pfile_in_zip_read_info->rest_read_uncompressed;
-
- if ((len>pfile_in_zip_read_info->rest_read_compressed+
- pfile_in_zip_read_info->stream.avail_in) &&
- (pfile_in_zip_read_info->raw))
- pfile_in_zip_read_info->stream.avail_out =
- (uInt)pfile_in_zip_read_info->rest_read_compressed+
- pfile_in_zip_read_info->stream.avail_in;
-
- while (pfile_in_zip_read_info->stream.avail_out>0)
- {
- if ((pfile_in_zip_read_info->stream.avail_in==0) &&
- (pfile_in_zip_read_info->rest_read_compressed>0))
- {
- uInt uReadThis = UNZ_BUFSIZE;
- if (pfile_in_zip_read_info->rest_read_compressed<uReadThis)
- uReadThis = (uInt)pfile_in_zip_read_info->rest_read_compressed;
- if (uReadThis == 0)
- return UNZ_EOF;
- if (ZSEEK64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- pfile_in_zip_read_info->pos_in_zipfile +
- pfile_in_zip_read_info->byte_before_the_zipfile,
- ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
- if (ZREAD64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- pfile_in_zip_read_info->read_buffer,
- uReadThis)!=uReadThis)
- return UNZ_ERRNO;
-
-
-# ifndef NOUNCRYPT
- if(s->encrypted)
- {
- uInt i;
- for(i=0;i<uReadThis;i++)
- pfile_in_zip_read_info->read_buffer[i] =
- zdecode(s->keys,s->pcrc_32_tab,
- pfile_in_zip_read_info->read_buffer[i]);
- }
-# endif
-
-
- pfile_in_zip_read_info->pos_in_zipfile += uReadThis;
-
- pfile_in_zip_read_info->rest_read_compressed-=uReadThis;
-
- pfile_in_zip_read_info->stream.next_in =
- (Bytef*)pfile_in_zip_read_info->read_buffer;
- pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis;
- }
-
- if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw))
- {
- uInt uDoCopy,i ;
-
- if ((pfile_in_zip_read_info->stream.avail_in == 0) &&
- (pfile_in_zip_read_info->rest_read_compressed == 0))
- return (iRead==0) ? UNZ_EOF : iRead;
-
- if (pfile_in_zip_read_info->stream.avail_out <
- pfile_in_zip_read_info->stream.avail_in)
- uDoCopy = pfile_in_zip_read_info->stream.avail_out ;
- else
- uDoCopy = pfile_in_zip_read_info->stream.avail_in ;
-
- for (i=0;i<uDoCopy;i++)
- *(pfile_in_zip_read_info->stream.next_out+i) =
- *(pfile_in_zip_read_info->stream.next_in+i);
-
- pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy;
-
- pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,
- pfile_in_zip_read_info->stream.next_out,
- uDoCopy);
- pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy;
- pfile_in_zip_read_info->stream.avail_in -= uDoCopy;
- pfile_in_zip_read_info->stream.avail_out -= uDoCopy;
- pfile_in_zip_read_info->stream.next_out += uDoCopy;
- pfile_in_zip_read_info->stream.next_in += uDoCopy;
- pfile_in_zip_read_info->stream.total_out += uDoCopy;
- iRead += uDoCopy;
- }
- else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED)
- {
-#ifdef HAVE_BZIP2
- uLong uTotalOutBefore,uTotalOutAfter;
- const Bytef *bufBefore;
- uLong uOutThis;
-
- pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in;
- pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in;
- pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in;
- pfile_in_zip_read_info->bstream.total_in_hi32 = 0;
- pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out;
- pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out;
- pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out;
- pfile_in_zip_read_info->bstream.total_out_hi32 = 0;
-
- uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32;
- bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out;
-
- err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream);
-
- uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32;
- uOutThis = uTotalOutAfter-uTotalOutBefore;
-
- pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis;
-
- pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis));
- pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis;
- iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
-
- pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in;
- pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in;
- pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32;
- pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out;
- pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out;
- pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32;
-
- if (err==BZ_STREAM_END)
- return (iRead==0) ? UNZ_EOF : iRead;
- if (err!=BZ_OK)
- break;
-#endif
- } // end Z_BZIP2ED
- else
- {
- ZPOS64_T uTotalOutBefore,uTotalOutAfter;
- const Bytef *bufBefore;
- ZPOS64_T uOutThis;
- int flush=Z_SYNC_FLUSH;
-
- uTotalOutBefore = pfile_in_zip_read_info->stream.total_out;
- bufBefore = pfile_in_zip_read_info->stream.next_out;
-
- /*
- if ((pfile_in_zip_read_info->rest_read_uncompressed ==
- pfile_in_zip_read_info->stream.avail_out) &&
- (pfile_in_zip_read_info->rest_read_compressed == 0))
- flush = Z_FINISH;
- */
- err=inflate(&pfile_in_zip_read_info->stream,flush);
-
- if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL))
- err = Z_DATA_ERROR;
-
- uTotalOutAfter = pfile_in_zip_read_info->stream.total_out;
- uOutThis = uTotalOutAfter-uTotalOutBefore;
-
- pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis;
-
- pfile_in_zip_read_info->crc32 =
- crc32(pfile_in_zip_read_info->crc32,bufBefore,
- (uInt)(uOutThis));
-
- pfile_in_zip_read_info->rest_read_uncompressed -=
- uOutThis;
-
- iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
-
- if (err==Z_STREAM_END)
- return (iRead==0) ? UNZ_EOF : iRead;
- if (err!=Z_OK)
- break;
- }
- }
-
- if (err==Z_OK)
- return iRead;
- return err;
-}
-
-
-/*
- Give the current position in uncompressed data
-*/
-extern z_off_t ZEXPORT unztell (unzFile file)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- return (z_off_t)pfile_in_zip_read_info->stream.total_out;
-}
-
-extern ZPOS64_T ZEXPORT unztell64 (unzFile file)
-{
-
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return (ZPOS64_T)-1;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return (ZPOS64_T)-1;
-
- return pfile_in_zip_read_info->total_out_64;
-}
-
-
-/*
- return 1 if the end of file was reached, 0 elsewhere
-*/
-extern int ZEXPORT unzeof (unzFile file)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- if (pfile_in_zip_read_info->rest_read_uncompressed == 0)
- return 1;
- else
- return 0;
-}
-
-
-
-/*
-Read extra field from the current file (opened by unzOpenCurrentFile)
-This is the local-header version of the extra field (sometimes, there is
-more info in the local-header version than in the central-header)
-
- if buf==NULL, it return the size of the local extra field that can be read
-
- if buf!=NULL, len is the size of the buffer, the extra header is copied in
- buf.
- the return value is the number of bytes copied in buf, or (if <0)
- the error code
-*/
-extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- uInt read_now;
- ZPOS64_T size_to_read;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- size_to_read = (pfile_in_zip_read_info->size_local_extrafield -
- pfile_in_zip_read_info->pos_local_extrafield);
-
- if (buf==NULL)
- return (int)size_to_read;
-
- if (len>size_to_read)
- read_now = (uInt)size_to_read;
- else
- read_now = (uInt)len ;
-
- if (read_now==0)
- return 0;
-
- if (ZSEEK64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- pfile_in_zip_read_info->offset_local_extrafield +
- pfile_in_zip_read_info->pos_local_extrafield,
- ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
-
- if (ZREAD64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- buf,read_now)!=read_now)
- return UNZ_ERRNO;
-
- return (int)read_now;
-}
-
-/*
- Close the file in zip opened with unzipOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
-*/
-extern int ZEXPORT unzCloseCurrentFile (unzFile file)
-{
- int err=UNZ_OK;
-
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
-
- if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) &&
- (!pfile_in_zip_read_info->raw))
- {
- if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait)
- err=UNZ_CRCERROR;
- }
-
-
- TRYFREE(pfile_in_zip_read_info->read_buffer);
- pfile_in_zip_read_info->read_buffer = NULL;
- if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED)
- inflateEnd(&pfile_in_zip_read_info->stream);
-#ifdef HAVE_BZIP2
- else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED)
- BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream);
-#endif
-
-
- pfile_in_zip_read_info->stream_initialised = 0;
- TRYFREE(pfile_in_zip_read_info);
-
- s->pfile_in_zip_read=NULL;
-
- return err;
-}
-
-
-/*
- Get the global comment string of the ZipFile, in the szComment buffer.
- uSizeBuf is the size of the szComment buffer.
- return the number of byte copied or an error code <0
-*/
-extern int ZEXPORT unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf)
-{
- unz64_s* s;
- uLong uReadThis ;
- if (file==NULL)
- return (int)UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- uReadThis = uSizeBuf;
- if (uReadThis>s->gi.size_comment)
- uReadThis = s->gi.size_comment;
-
- if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
-
- if (uReadThis>0)
- {
- *szComment='\0';
- if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis)
- return UNZ_ERRNO;
- }
-
- if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment))
- *(szComment+s->gi.size_comment)='\0';
- return (int)uReadThis;
-}
-
-/* Additions by RX '2004 */
-extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file)
-{
- unz64_s* s;
-
- if (file==NULL)
- return 0; //UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return 0;
- if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff)
- if (s->num_file==s->gi.number_entry)
- return 0;
- return s->pos_in_central_dir;
-}
-
-extern uLong ZEXPORT unzGetOffset (unzFile file)
-{
- ZPOS64_T offset64;
-
- if (file==NULL)
- return 0; //UNZ_PARAMERROR;
- offset64 = unzGetOffset64(file);
- return (uLong)offset64;
-}
-
-extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos)
-{
- unz64_s* s;
- int err;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- s->pos_in_central_dir = pos;
- s->num_file = s->gi.number_entry; /* hack */
- err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-extern int ZEXPORT unzSetOffset (unzFile file, uLong pos)
-{
- return unzSetOffset64(file,pos);
-}
diff --git a/plugins/updater/zbin/minizip/unzip.h b/plugins/updater/zbin/minizip/unzip.h
deleted file mode 100644
index 3183968b77..0000000000
--- a/plugins/updater/zbin/minizip/unzip.h
+++ /dev/null
@@ -1,437 +0,0 @@
-/* unzip.h -- IO for uncompress .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- ---------------------------------------------------------------------------------
-
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- ---------------------------------------------------------------------------------
-
- Changes
-
- See header of unzip64.c
-
-*/
-
-#ifndef _unz64_H
-#define _unz64_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#ifndef _ZLIBIOAPI_H
-#include "ioapi.h"
-#endif
-
-#ifdef HAVE_BZIP2
-#include "bzlib.h"
-#endif
-
-#define Z_BZIP2ED 12
-
-#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
-/* like the STRICT of WIN32, we define a pointer that cannot be converted
- from (void*) without cast */
-typedef struct TagunzFile__ { int unused; } unzFile__;
-typedef unzFile__ *unzFile;
-#else
-typedef voidp unzFile;
-#endif
-
-
-#define UNZ_OK (0)
-#define UNZ_END_OF_LIST_OF_FILE (-100)
-#define UNZ_ERRNO (Z_ERRNO)
-#define UNZ_EOF (0)
-#define UNZ_PARAMERROR (-102)
-#define UNZ_BADZIPFILE (-103)
-#define UNZ_INTERNALERROR (-104)
-#define UNZ_CRCERROR (-105)
-
-/* tm_unz contain date/time info */
-typedef struct tm_unz_s
-{
- uInt tm_sec; /* seconds after the minute - [0,59] */
- uInt tm_min; /* minutes after the hour - [0,59] */
- uInt tm_hour; /* hours since midnight - [0,23] */
- uInt tm_mday; /* day of the month - [1,31] */
- uInt tm_mon; /* months since January - [0,11] */
- uInt tm_year; /* years - [1980..2044] */
-} tm_unz;
-
-/* unz_global_info structure contain global data about the ZIPfile
- These data comes from the end of central dir */
-typedef struct unz_global_info64_s
-{
- ZPOS64_T number_entry; /* total number of entries in
- the central dir on this disk */
- uLong size_comment; /* size of the global comment of the zipfile */
-} unz_global_info64;
-
-typedef struct unz_global_info_s
-{
- uLong number_entry; /* total number of entries in
- the central dir on this disk */
- uLong size_comment; /* size of the global comment of the zipfile */
-} unz_global_info;
-
-/* unz_file_info contain information about a file in the zipfile */
-typedef struct unz_file_info64_s
-{
- uLong version; /* version made by 2 bytes */
- uLong version_needed; /* version needed to extract 2 bytes */
- uLong flag; /* general purpose bit flag 2 bytes */
- uLong compression_method; /* compression method 2 bytes */
- uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
- uLong crc; /* crc-32 4 bytes */
- ZPOS64_T compressed_size; /* compressed size 8 bytes */
- ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */
- uLong size_filename; /* filename length 2 bytes */
- uLong size_file_extra; /* extra field length 2 bytes */
- uLong size_file_comment; /* file comment length 2 bytes */
-
- uLong disk_num_start; /* disk number start 2 bytes */
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-
- tm_unz tmu_date;
-} unz_file_info64;
-
-typedef struct unz_file_info_s
-{
- uLong version; /* version made by 2 bytes */
- uLong version_needed; /* version needed to extract 2 bytes */
- uLong flag; /* general purpose bit flag 2 bytes */
- uLong compression_method; /* compression method 2 bytes */
- uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
- uLong crc; /* crc-32 4 bytes */
- uLong compressed_size; /* compressed size 4 bytes */
- uLong uncompressed_size; /* uncompressed size 4 bytes */
- uLong size_filename; /* filename length 2 bytes */
- uLong size_file_extra; /* extra field length 2 bytes */
- uLong size_file_comment; /* file comment length 2 bytes */
-
- uLong disk_num_start; /* disk number start 2 bytes */
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-
- tm_unz tmu_date;
-} unz_file_info;
-
-extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
- const char* fileName2,
- int iCaseSensitivity));
-/*
- Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
- or strcasecmp)
- If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
- (like 1 on Unix, 2 on Windows)
-*/
-
-
-extern unzFile ZEXPORT unzOpen OF((const char *path));
-extern unzFile ZEXPORT unzOpen64 OF((const void *path));
-/*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer
- "zlib/zlib113.zip".
- If the zipfile cannot be opened (file don't exist or in not valid), the
- return value is NULL.
- Else, the return value is a unzFile Handle, usable with other function
- of this unzip package.
- the "64" function take a const void* pointer, because the path is just the
- value passed to the open64_file_func callback.
- Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path
- is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char*
- does not describe the reality
-*/
-
-
-extern unzFile ZEXPORT unzOpen2 OF((const char *path,
- zlib_filefunc_def* pzlib_filefunc_def));
-/*
- Open a Zip file, like unzOpen, but provide a set of file low level API
- for read/write the zip file (see ioapi.h)
-*/
-
-extern unzFile ZEXPORT unzOpen2_64 OF((const void *path,
- zlib_filefunc64_def* pzlib_filefunc_def));
-/*
- Open a Zip file, like unz64Open, but provide a set of file low level API
- for read/write the zip file (see ioapi.h)
-*/
-
-extern int ZEXPORT unzClose OF((unzFile file));
-/*
- Close a ZipFile opened with unzipOpen.
- If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
- return UNZ_OK if there is no problem. */
-
-extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
- unz_global_info *pglobal_info));
-
-extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file,
- unz_global_info64 *pglobal_info));
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem. */
-
-
-extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
- char *szComment,
- uLong uSizeBuf));
-/*
- Get the global comment string of the ZipFile, in the szComment buffer.
- uSizeBuf is the size of the szComment buffer.
- return the number of byte copied or an error code <0
-*/
-
-
-/***************************************************************************/
-/* Unzip package allow you browse the directory of the zipfile */
-
-extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
-/*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
-*/
-
-extern int ZEXPORT unzGoToNextFile OF((unzFile file));
-/*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
-*/
-
-extern int ZEXPORT unzLocateFile OF((unzFile file,
- const char *szFileName,
- int iCaseSensitivity));
-/*
- Try locate the file szFileName in the zipfile.
- For the iCaseSensitivity signification, see unzStringFileNameCompare
-
- return value :
- UNZ_OK if the file is found. It becomes the current file.
- UNZ_END_OF_LIST_OF_FILE if the file is not found
-*/
-
-
-/* ****************************************** */
-/* Ryan supplied functions */
-/* unz_file_info contain information about a file in the zipfile */
-typedef struct unz_file_pos_s
-{
- uLong pos_in_zip_directory; /* offset in zip file directory */
- uLong num_of_file; /* # of file */
-} unz_file_pos;
-
-extern int ZEXPORT unzGetFilePos(
- unzFile file,
- unz_file_pos* file_pos);
-
-extern int ZEXPORT unzGoToFilePos(
- unzFile file,
- unz_file_pos* file_pos);
-
-typedef struct unz64_file_pos_s
-{
- ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */
- ZPOS64_T num_of_file; /* # of file */
-} unz64_file_pos;
-
-extern int ZEXPORT unzGetFilePos64(
- unzFile file,
- unz64_file_pos* file_pos);
-
-extern int ZEXPORT unzGoToFilePos64(
- unzFile file,
- const unz64_file_pos* file_pos);
-
-/* ****************************************** */
-
-extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file,
- unz_file_info64 *pfile_info,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-
-extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
- unz_file_info *pfile_info,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-/*
- Get Info about the current file
- if pfile_info!=NULL, the *pfile_info structure will contain somes info about
- the current file
- if szFileName!=NULL, the filemane string will be copied in szFileName
- (fileNameBufferSize is the size of the buffer)
- if extraField!=NULL, the extra field information will be copied in extraField
- (extraFieldBufferSize is the size of the buffer).
- This is the Central-header version of the extra field
- if szComment!=NULL, the comment string of the file will be copied in szComment
- (commentBufferSize is the size of the buffer)
-*/
-
-
-/** Addition for GDAL : START */
-
-extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file));
-
-/** Addition for GDAL : END */
-
-
-/***************************************************************************/
-/* for reading the content of the current zipfile, you can open it, read data
- from it, and close it (you can close it before reading all the file)
- */
-
-extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
-/*
- Open for reading data the current file in the zipfile.
- If there is no error, the return value is UNZ_OK.
-*/
-
-extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file,
- const char* password));
-/*
- Open for reading data the current file in the zipfile.
- password is a crypting password
- If there is no error, the return value is UNZ_OK.
-*/
-
-extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file,
- int* method,
- int* level,
- int raw));
-/*
- Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
- if raw==1
- *method will receive method of compression, *level will receive level of
- compression
- note : you can set level parameter as NULL (if you did not want known level,
- but you CANNOT set method parameter as NULL
-*/
-
-extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file,
- int* method,
- int* level,
- int raw,
- const char* password));
-/*
- Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
- if raw==1
- *method will receive method of compression, *level will receive level of
- compression
- note : you can set level parameter as NULL (if you did not want known level,
- but you CANNOT set method parameter as NULL
-*/
-
-
-extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
-/*
- Close the file in zip opened with unzOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
-*/
-
-extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
- voidp buf,
- unsigned len));
-/*
- Read bytes from the current file (opened by unzOpenCurrentFile)
- buf contain buffer where data must be copied
- len the size of buf.
-
- return the number of byte copied if somes bytes are copied
- return 0 if the end of file was reached
- return <0 with error code if there is an error
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
-*/
-
-extern z_off_t ZEXPORT unztell OF((unzFile file));
-
-extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file));
-/*
- Give the current position in uncompressed data
-*/
-
-extern int ZEXPORT unzeof OF((unzFile file));
-/*
- return 1 if the end of file was reached, 0 elsewhere
-*/
-
-extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
- voidp buf,
- unsigned len));
-/*
- Read extra field from the current file (opened by unzOpenCurrentFile)
- This is the local-header version of the extra field (sometimes, there is
- more info in the local-header version than in the central-header)
-
- if buf==NULL, it return the size of the local extra field
-
- if buf!=NULL, len is the size of the buffer, the extra header is copied in
- buf.
- the return value is the number of bytes copied in buf, or (if <0)
- the error code
-*/
-
-/***************************************************************************/
-
-/* Get the current file offset */
-extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file);
-extern uLong ZEXPORT unzGetOffset (unzFile file);
-
-/* Set the current file offset */
-extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos);
-extern int ZEXPORT unzSetOffset (unzFile file, uLong pos);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _unz64_H */
diff --git a/plugins/updater/zbin/minizip/zip.c b/plugins/updater/zbin/minizip/zip.c
deleted file mode 100644
index 3c34fc8bd4..0000000000
--- a/plugins/updater/zbin/minizip/zip.c
+++ /dev/null
@@ -1,2004 +0,0 @@
-/* zip.c -- IO on .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- Changes
- Oct-2009 - Mathias Svensson - Remove old C style function prototypes
- Oct-2009 - Mathias Svensson - Added Zip64 Support when creating new file archives
- Oct-2009 - Mathias Svensson - Did some code cleanup and refactoring to get better overview of some functions.
- Oct-2009 - Mathias Svensson - Added zipRemoveExtraInfoBlock to strip extra field data from its ZIP64 data
- It is used when recreting zip archive with RAW when deleting items from a zip.
- ZIP64 data is automaticly added to items that needs it, and existing ZIP64 data need to be removed.
- Oct-2009 - Mathias Svensson - Added support for BZIP2 as compression mode (bzip2 lib is required)
- Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
-
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include "zlib.h"
-#include "zip.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-#ifndef VERSIONMADEBY
-# define VERSIONMADEBY (0x0) /* platform depedent */
-#endif
-
-#ifndef Z_BUFSIZE
-#define Z_BUFSIZE (64*1024) //(16384)
-#endif
-
-#ifndef Z_MAXFILENAMEINZIP
-#define Z_MAXFILENAMEINZIP (256)
-#endif
-
-#ifndef ALLOC
-# define ALLOC(size) (malloc(size))
-#endif
-#ifndef TRYFREE
-# define TRYFREE(p) {if (p) free(p);}
-#endif
-
-/*
-#define SIZECENTRALDIRITEM (0x2e)
-#define SIZEZIPLOCALHEADER (0x1e)
-*/
-
-/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
-
-
-// NOT sure that this work on ALL platform
-#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32))
-
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-#ifndef DEF_MEM_LEVEL
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-#endif
-const char zip_copyright[] =" zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
-
-
-#define SIZEDATA_INDATABLOCK (4096-(4*4))
-
-#define LOCALHEADERMAGIC (0x04034b50)
-#define CENTRALHEADERMAGIC (0x02014b50)
-#define ENDHEADERMAGIC (0x06054b50)
-#define ZIP64ENDHEADERMAGIC (0x6064b50)
-#define ZIP64ENDLOCHEADERMAGIC (0x7064b50)
-
-#define FLAG_LOCALHEADER_OFFSET (0x06)
-#define CRC_LOCALHEADER_OFFSET (0x0e)
-
-#define SIZECENTRALHEADER (0x2e) /* 46 */
-
-typedef struct linkedlist_datablock_internal_s
-{
- struct linkedlist_datablock_internal_s* next_datablock;
- uLong avail_in_this_block;
- uLong filled_in_this_block;
- uLong unused; /* for future use and alignement */
- unsigned char data[SIZEDATA_INDATABLOCK];
-} linkedlist_datablock_internal;
-
-typedef struct linkedlist_data_s
-{
- linkedlist_datablock_internal* first_block;
- linkedlist_datablock_internal* last_block;
-} linkedlist_data;
-
-
-typedef struct
-{
- z_stream stream; /* zLib stream structure for inflate */
-#ifdef HAVE_BZIP2
- bz_stream bstream; /* bzLib stream structure for bziped */
-#endif
-
- int stream_initialised; /* 1 is stream is initialised */
- uInt pos_in_buffered_data; /* last written byte in buffered_data */
-
- ZPOS64_T pos_local_header; /* offset of the local header of the file
- currenty writing */
- char* central_header; /* central header data for the current file */
- uLong size_centralExtra;
- uLong size_centralheader; /* size of the central header for cur file */
- uLong size_centralExtraFree; /* Extra bytes allocated to the centralheader but that are not used */
- uLong flag; /* flag of the file currently writing */
-
- int method; /* compression method of file currenty wr.*/
- int raw; /* 1 for directly writing raw data */
- Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/
- uLong dosDate;
- uLong crc32;
- int encrypt;
- int zip64; /* Add ZIP64 extened information in the extra field */
- ZPOS64_T pos_zip64extrainfo;
- ZPOS64_T totalCompressedData;
- ZPOS64_T totalUncompressedData;
-#ifndef NOCRYPT
- unsigned long keys[3]; /* keys defining the pseudo-random sequence */
- const unsigned long* pcrc_32_tab;
- int crypt_header_size;
-#endif
-} curfile64_info;
-
-typedef struct
-{
- zlib_filefunc64_32_def z_filefunc;
- voidpf filestream; /* io structore of the zipfile */
- linkedlist_data central_dir;/* datablock with central dir in construction*/
- int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/
- curfile64_info ci; /* info on the file curretly writing */
-
- ZPOS64_T begin_pos; /* position of the beginning of the zipfile */
- ZPOS64_T add_position_when_writting_offset;
- ZPOS64_T number_entry;
-
-#ifndef NO_ADDFILEINEXISTINGZIP
- char *globalcomment;
-#endif
-
-} zip64_internal;
-
-
-#ifndef NOCRYPT
-#define INCLUDECRYPTINGCODE_IFCRYPTALLOWED
-#include "crypt.h"
-#endif
-
-local linkedlist_datablock_internal* allocate_new_datablock()
-{
- linkedlist_datablock_internal* ldi;
- ldi = (linkedlist_datablock_internal*)
- ALLOC(sizeof(linkedlist_datablock_internal));
- if (ldi!=NULL)
- {
- ldi->next_datablock = NULL ;
- ldi->filled_in_this_block = 0 ;
- ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ;
- }
- return ldi;
-}
-
-local void free_datablock(linkedlist_datablock_internal* ldi)
-{
- while (ldi!=NULL)
- {
- linkedlist_datablock_internal* ldinext = ldi->next_datablock;
- TRYFREE(ldi);
- ldi = ldinext;
- }
-}
-
-local void init_linkedlist(linkedlist_data* ll)
-{
- ll->first_block = ll->last_block = NULL;
-}
-
-local void free_linkedlist(linkedlist_data* ll)
-{
- free_datablock(ll->first_block);
- ll->first_block = ll->last_block = NULL;
-}
-
-
-local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong len)
-{
- linkedlist_datablock_internal* ldi;
- const unsigned char* from_copy;
-
- if (ll==NULL)
- return ZIP_INTERNALERROR;
-
- if (ll->last_block == NULL)
- {
- ll->first_block = ll->last_block = allocate_new_datablock();
- if (ll->first_block == NULL)
- return ZIP_INTERNALERROR;
- }
-
- ldi = ll->last_block;
- from_copy = (unsigned char*)buf;
-
- while (len>0)
- {
- uInt copy_this;
- uInt i;
- unsigned char* to_copy;
-
- if (ldi->avail_in_this_block==0)
- {
- ldi->next_datablock = allocate_new_datablock();
- if (ldi->next_datablock == NULL)
- return ZIP_INTERNALERROR;
- ldi = ldi->next_datablock ;
- ll->last_block = ldi;
- }
-
- if (ldi->avail_in_this_block < len)
- copy_this = (uInt)ldi->avail_in_this_block;
- else
- copy_this = (uInt)len;
-
- to_copy = &(ldi->data[ldi->filled_in_this_block]);
-
- for (i=0;i<copy_this;i++)
- *(to_copy+i)=*(from_copy+i);
-
- ldi->filled_in_this_block += copy_this;
- ldi->avail_in_this_block -= copy_this;
- from_copy += copy_this ;
- len -= copy_this;
- }
- return ZIP_OK;
-}
-
-
-
-/****************************************************************************/
-
-#ifndef NO_ADDFILEINEXISTINGZIP
-/* ===========================================================================
- Inputs a long in LSB order to the given file
- nbByte == 1, 2 ,4 or 8 (byte, short or long, ZPOS64_T)
-*/
-
-local int zip64local_putValue OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte));
-local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte)
-{
- unsigned char buf[8];
- int n;
- for (n = 0; n < nbByte; n++)
- {
- buf[n] = (unsigned char)(x & 0xff);
- x >>= 8;
- }
- if (x != 0)
- { /* data overflow - hack for ZIP64 (X Roche) */
- for (n = 0; n < nbByte; n++)
- {
- buf[n] = 0xff;
- }
- }
-
- if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte)
- return ZIP_ERRNO;
- else
- return ZIP_OK;
-}
-
-local void zip64local_putValue_inmemory OF((void* dest, ZPOS64_T x, int nbByte));
-local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte)
-{
- unsigned char* buf=(unsigned char*)dest;
- int n;
- for (n = 0; n < nbByte; n++) {
- buf[n] = (unsigned char)(x & 0xff);
- x >>= 8;
- }
-
- if (x != 0)
- { /* data overflow - hack for ZIP64 */
- for (n = 0; n < nbByte; n++)
- {
- buf[n] = 0xff;
- }
- }
-}
-
-/****************************************************************************/
-
-
-local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm)
-{
- uLong year = (uLong)ptm->tm_year;
- if (year>=1980)
- year-=1980;
- else if (year>=80)
- year-=80;
- return
- (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) |
- ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour));
-}
-
-
-/****************************************************************************/
-
-local int zip64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi));
-
-local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf filestream,int* pi)
-{
- unsigned char c;
- int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
- if (err==1)
- {
- *pi = (int)c;
- return ZIP_OK;
- }
- else
- {
- if (ZERROR64(*pzlib_filefunc_def,filestream))
- return ZIP_ERRNO;
- else
- return ZIP_EOF;
- }
-}
-
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets
-*/
-local int zip64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX));
-
-local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<8;
-
- if (err==ZIP_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int zip64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX));
-
-local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<8;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<16;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<24;
-
- if (err==ZIP_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int zip64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX));
-
-
-local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)
-{
- ZPOS64_T x;
- int i = 0;
- int err;
-
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (ZPOS64_T)i;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<8;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<16;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<24;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<32;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<40;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<48;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<56;
-
- if (err==ZIP_OK)
- *pX = x;
- else
- *pX = 0;
-
- return err;
-}
-
-#ifndef BUFREADCOMMENT
-#define BUFREADCOMMENT (0x400)
-#endif
-/*
- Locate the Central directory of a zipfile (at the end, just before
- the global comment)
-*/
-local ZPOS64_T zip64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
-
-local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos ;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- return uPosFound;
-}
-
-/*
-Locate the End of Zip64 Central directory locator and from there find the CD of a zipfile (at the end, just before
-the global comment)
-*/
-local ZPOS64_T zip64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
-
-local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
- uLong uL;
- ZPOS64_T relativeOffset;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- {
- // Signature "0x07064b50" Zip64 end of central directory locater
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07))
- {
- uPosFound = uReadPos+i;
- break;
- }
- }
-
- if (uPosFound!=0)
- break;
- }
-
- TRYFREE(buf);
- if (uPosFound == 0)
- return 0;
-
- /* Zip64 end of central directory locator */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature, already checked */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
-
- /* number of the disk with the start of the zip64 end of central directory */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
- if (uL != 0)
- return 0;
-
- /* relative offset of the zip64 end of central directory record */
- if (zip64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=ZIP_OK)
- return 0;
-
- /* total number of disks */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
- if (uL != 1)
- return 0;
-
- /* Goto Zip64 end of central directory record */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
-
- if (uL != 0x06064b50) // signature of 'Zip64 end of central directory'
- return 0;
-
- return relativeOffset;
-}
-
-int LoadCentralDirectoryRecord(zip64_internal* pziinit)
-{
- int err=ZIP_OK;
- ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
-
- ZPOS64_T size_central_dir; /* size of the central directory */
- ZPOS64_T offset_central_dir; /* offset of start of central directory */
- ZPOS64_T central_pos;
- uLong uL;
-
- uLong number_disk; /* number of the current dist, used for
- spaning ZIP, unsupported, always 0*/
- uLong number_disk_with_CD; /* number the the disk with central dir, used
- for spaning ZIP, unsupported, always 0*/
- ZPOS64_T number_entry;
- ZPOS64_T number_entry_CD; /* total number of entries in
- the central dir
- (same than number_entry on nospan) */
- uLong VersionMadeBy;
- uLong VersionNeeded;
- uLong size_comment;
-
- int hasZIP64Record = 0;
-
- // check first if we find a ZIP64 record
- central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream);
- if(central_pos > 0)
- {
- hasZIP64Record = 1;
- }
- else if(central_pos == 0)
- {
- central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream);
- }
-
-/* disable to allow appending to empty ZIP archive
- if (central_pos==0)
- err=ZIP_ERRNO;
-*/
-
- if(hasZIP64Record)
- {
- ZPOS64_T sizeEndOfCentralDirectory;
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0)
- err=ZIP_ERRNO;
-
- /* the signature, already checked */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* size of zip64 end of central directory record */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* version made by */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* version needed to extract */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of this disk */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* total number of entries in the central directory on this disk */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* total number of entries in the central directory */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
- err=ZIP_BADZIPFILE;
-
- /* size of the central directory */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- // TODO..
- // read the comment from the standard central header.
- size_comment = 0;
- }
- else
- {
- // Read End of central Directory info
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=ZIP_ERRNO;
-
- /* the signature, already checked */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of this disk */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* total number of entries in the central dir on this disk */
- number_entry = 0;
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- number_entry = uL;
-
- /* total number of entries in the central dir */
- number_entry_CD = 0;
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- number_entry_CD = uL;
-
- if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
- err=ZIP_BADZIPFILE;
-
- /* size of the central directory */
- size_central_dir = 0;
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- size_central_dir = uL;
-
- /* offset of start of central directory with respect to the starting disk number */
- offset_central_dir = 0;
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- offset_central_dir = uL;
-
-
- /* zipfile global comment length */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK)
- err=ZIP_ERRNO;
- }
-
- if ((central_pos<offset_central_dir+size_central_dir) &&
- (err==ZIP_OK))
- err=ZIP_BADZIPFILE;
-
- if (err!=ZIP_OK)
- {
- ZCLOSE64(pziinit->z_filefunc, pziinit->filestream);
- return ZIP_ERRNO;
- }
-
- if (size_comment>0)
- {
- pziinit->globalcomment = (char*)ALLOC(size_comment+1);
- if (pziinit->globalcomment)
- {
- size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment);
- pziinit->globalcomment[size_comment]=0;
- }
- }
-
- byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir);
- pziinit->add_position_when_writting_offset = byte_before_the_zipfile;
-
- {
- ZPOS64_T size_central_dir_to_read = size_central_dir;
- size_t buf_size = SIZEDATA_INDATABLOCK;
- void* buf_read = (void*)ALLOC(buf_size);
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0)
- err=ZIP_ERRNO;
-
- while ((size_central_dir_to_read>0) && (err==ZIP_OK))
- {
- ZPOS64_T read_this = SIZEDATA_INDATABLOCK;
- if (read_this > size_central_dir_to_read)
- read_this = size_central_dir_to_read;
-
- if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this)
- err=ZIP_ERRNO;
-
- if (err==ZIP_OK)
- err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this);
-
- size_central_dir_to_read-=read_this;
- }
- TRYFREE(buf_read);
- }
- pziinit->begin_pos = byte_before_the_zipfile;
- pziinit->number_entry = number_entry_CD;
-
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0)
- err=ZIP_ERRNO;
-
- return err;
-}
-
-
-#endif /* !NO_ADDFILEINEXISTINGZIP*/
-
-
-/************************************************************/
-extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
-{
- zip64_internal ziinit;
- zip64_internal* zi;
- int err=ZIP_OK;
-
- ziinit.z_filefunc.zseek32_file = NULL;
- ziinit.z_filefunc.ztell32_file = NULL;
- if (pzlib_filefunc64_32_def==NULL)
- fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64);
- else
- ziinit.z_filefunc = *pzlib_filefunc64_32_def;
-
- ziinit.filestream = ZOPEN64(ziinit.z_filefunc,
- pathname,
- (append == APPEND_STATUS_CREATE) ?
- (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) :
- (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING));
-
- if (ziinit.filestream == NULL)
- return NULL;
-
- if (append == APPEND_STATUS_CREATEAFTER)
- ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END);
-
- ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream);
- ziinit.in_opened_file_inzip = 0;
- ziinit.ci.stream_initialised = 0;
- ziinit.number_entry = 0;
- ziinit.add_position_when_writting_offset = 0;
- init_linkedlist(&(ziinit.central_dir));
-
-
-
- zi = (zip64_internal*)ALLOC(sizeof(zip64_internal));
- if (zi==NULL)
- {
- ZCLOSE64(ziinit.z_filefunc,ziinit.filestream);
- return NULL;
- }
-
- /* now we add file in a zipfile */
-# ifndef NO_ADDFILEINEXISTINGZIP
- ziinit.globalcomment = NULL;
- if (append == APPEND_STATUS_ADDINZIP)
- {
- // Read and Cache Central Directory Records
- err = LoadCentralDirectoryRecord(&ziinit);
- }
-
- if (globalcomment)
- {
- *globalcomment = ziinit.globalcomment;
- }
-# endif /* !NO_ADDFILEINEXISTINGZIP*/
-
- if (err != ZIP_OK)
- {
-# ifndef NO_ADDFILEINEXISTINGZIP
- TRYFREE(ziinit.globalcomment);
-# endif /* !NO_ADDFILEINEXISTINGZIP*/
- TRYFREE(zi);
- return NULL;
- }
- else
- {
- *zi = ziinit;
- return (zipFile)zi;
- }
-}
-
-extern zipFile ZEXPORT zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def)
-{
- if (pzlib_filefunc32_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def);
- return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill);
- }
- else
- return zipOpen3(pathname, append, globalcomment, NULL);
-}
-
-extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def)
-{
- if (pzlib_filefunc_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def;
- zlib_filefunc64_32_def_fill.ztell32_file = NULL;
- zlib_filefunc64_32_def_fill.zseek32_file = NULL;
- return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill);
- }
- else
- return zipOpen3(pathname, append, globalcomment, NULL);
-}
-
-
-
-extern zipFile ZEXPORT zipOpen (const char* pathname, int append)
-{
- return zipOpen3((const void*)pathname,append,NULL,NULL);
-}
-
-extern zipFile ZEXPORT zipOpen64 (const void* pathname, int append)
-{
- return zipOpen3(pathname,append,NULL,NULL);
-}
-
-int Write_LocalFileHeader(zip64_internal* zi, const char* filename, uInt size_extrafield_local, const void* extrafield_local)
-{
- /* write the local header */
- int err;
- uInt size_filename = (uInt)strlen(filename);
- uInt size_extrafield = size_extrafield_local;
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4);
-
- if (err==ZIP_OK)
- {
- if(zi->ci.zip64)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */
- }
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2);
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2);
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4);
-
- // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */
- if (err==ZIP_OK)
- {
- if(zi->ci.zip64)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */
- }
- if (err==ZIP_OK)
- {
- if(zi->ci.zip64)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */
- }
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2);
-
- if(zi->ci.zip64)
- {
- size_extrafield += 20;
- }
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2);
-
- if ((err==ZIP_OK) && (size_filename > 0))
- {
- if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename)
- err = ZIP_ERRNO;
- }
-
- if ((err==ZIP_OK) && (size_extrafield_local > 0))
- {
- if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local)
- err = ZIP_ERRNO;
- }
-
-
- if ((err==ZIP_OK) && (zi->ci.zip64))
- {
- // write the Zip64 extended info
- short HeaderID = 1;
- short DataSize = 16;
- ZPOS64_T CompressedSize = 0;
- ZPOS64_T UncompressedSize = 0;
-
- // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file)
- zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream);
-
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2);
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2);
-
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8);
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8);
- }
-
- return err;
-}
-
-/*
- NOTE.
- When writing RAW the ZIP64 extended information in extrafield_local and extrafield_global needs to be stripped
- before calling this function it can be done with zipRemoveExtraInfoBlock
-
- It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize
- unnecessary allocations.
- */
-extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting,
- uLong versionMadeBy, uLong flagBase, int zip64)
-{
- zip64_internal* zi;
- uInt size_filename;
- uInt size_comment;
- uInt i;
- int err = ZIP_OK;
-
-# ifdef NOCRYPT
- if (password != NULL)
- return ZIP_PARAMERROR;
-# endif
-
- if (file == NULL)
- return ZIP_PARAMERROR;
-
-#ifdef HAVE_BZIP2
- if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED))
- return ZIP_PARAMERROR;
-#else
- if ((method!=0) && (method!=Z_DEFLATED))
- return ZIP_PARAMERROR;
-#endif
-
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 1)
- {
- err = zipCloseFileInZip (file);
- if (err != ZIP_OK)
- return err;
- }
-
- if (filename==NULL)
- filename="-";
-
- if (comment==NULL)
- size_comment = 0;
- else
- size_comment = (uInt)strlen(comment);
-
- size_filename = (uInt)strlen(filename);
-
- if (zipfi == NULL)
- zi->ci.dosDate = 0;
- else
- {
- if (zipfi->dosDate != 0)
- zi->ci.dosDate = zipfi->dosDate;
- else
- zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date);
- }
-
- zi->ci.flag = flagBase;
- if ((level==8) || (level==9))
- zi->ci.flag |= 2;
- if ((level==2))
- zi->ci.flag |= 4;
- if ((level==1))
- zi->ci.flag |= 6;
- if (password != NULL)
- zi->ci.flag |= 1;
-
- zi->ci.crc32 = 0;
- zi->ci.method = method;
- zi->ci.encrypt = 0;
- zi->ci.stream_initialised = 0;
- zi->ci.pos_in_buffered_data = 0;
- zi->ci.raw = raw;
- zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream);
-
- zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment;
- zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data
-
- zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree);
-
- zi->ci.size_centralExtra = size_extrafield_global;
- zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);
- /* version info */
- zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2);
- zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);
- zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);
- zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);
- zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);
- zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/
- zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/
- zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/
- zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);
- zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);
- zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);
- zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/
-
- if (zipfi==NULL)
- zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);
- else
- zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);
-
- if (zipfi==NULL)
- zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);
- else
- zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);
-
- if(zi->ci.pos_local_header >= 0xffffffff)
- zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4);
- else
- zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4);
-
- for (i=0;i<size_filename;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);
-
- for (i=0;i<size_extrafield_global;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =
- *(((const char*)extrafield_global)+i);
-
- for (i=0;i<size_comment;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+
- size_extrafield_global+i) = *(comment+i);
- if (zi->ci.central_header == NULL)
- return ZIP_INTERNALERROR;
-
- zi->ci.zip64 = zip64;
- zi->ci.totalCompressedData = 0;
- zi->ci.totalUncompressedData = 0;
- zi->ci.pos_zip64extrainfo = 0;
-
- err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local);
-
-#ifdef HAVE_BZIP2
- zi->ci.bstream.avail_in = (uInt)0;
- zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
- zi->ci.bstream.total_in_hi32 = 0;
- zi->ci.bstream.total_in_lo32 = 0;
- zi->ci.bstream.total_out_hi32 = 0;
- zi->ci.bstream.total_out_lo32 = 0;
-#endif
-
- zi->ci.stream.avail_in = (uInt)0;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- zi->ci.stream.total_in = 0;
- zi->ci.stream.total_out = 0;
- zi->ci.stream.data_type = Z_BINARY;
-
-#ifdef HAVE_BZIP2
- if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
-#else
- if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
-#endif
- {
- if(zi->ci.method == Z_DEFLATED)
- {
- zi->ci.stream.zalloc = (alloc_func)0;
- zi->ci.stream.zfree = (free_func)0;
- zi->ci.stream.opaque = (voidpf)0;
-
- if (windowBits>0)
- windowBits = -windowBits;
-
- err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy);
-
- if (err==Z_OK)
- zi->ci.stream_initialised = Z_DEFLATED;
- }
- else if(zi->ci.method == Z_BZIP2ED)
- {
-#ifdef HAVE_BZIP2
- // Init BZip stuff here
- zi->ci.bstream.bzalloc = 0;
- zi->ci.bstream.bzfree = 0;
- zi->ci.bstream.opaque = (voidpf)0;
-
- err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35);
- if(err == BZ_OK)
- zi->ci.stream_initialised = Z_BZIP2ED;
-#endif
- }
-
- }
-
-# ifndef NOCRYPT
- zi->ci.crypt_header_size = 0;
- if ((err==Z_OK) && (password != NULL))
- {
- unsigned char bufHead[RAND_HEAD_LEN];
- unsigned int sizeHead;
- zi->ci.encrypt = 1;
- zi->ci.pcrc_32_tab = get_crc_table();
- /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/
-
- sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting);
- zi->ci.crypt_header_size = sizeHead;
-
- if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead)
- err = ZIP_ERRNO;
- }
-# endif
-
- if (err==Z_OK)
- zi->in_opened_file_inzip = 1;
- return err;
-}
-
-extern int ZEXPORT zipOpenNewFileInZip4 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting,
- uLong versionMadeBy, uLong flagBase)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- windowBits, memLevel, strategy,
- password, crcForCrypting, versionMadeBy, flagBase, 0);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip3 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- windowBits, memLevel, strategy,
- password, crcForCrypting, VERSIONMADEBY, 0, 0);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting, int zip64)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- windowBits, memLevel, strategy,
- password, crcForCrypting, VERSIONMADEBY, 0, zip64);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, 0);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw, int zip64)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, zip64);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void*extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int zip64)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, 0,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, zip64);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void*extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, 0,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, 0);
-}
-
-local int zip64FlushWriteBuffer(zip64_internal* zi)
-{
- int err=ZIP_OK;
-
- if (zi->ci.encrypt != 0)
- {
-#ifndef NOCRYPT
- uInt i;
- int t;
- for (i=0;i<zi->ci.pos_in_buffered_data;i++)
- zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t);
-#endif
- }
-
- if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data)
- err = ZIP_ERRNO;
-
- zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data;
-
-#ifdef HAVE_BZIP2
- if(zi->ci.method == Z_BZIP2ED)
- {
- zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32;
- zi->ci.bstream.total_in_lo32 = 0;
- zi->ci.bstream.total_in_hi32 = 0;
- }
- else
-#endif
- {
- zi->ci.totalUncompressedData += zi->ci.stream.total_in;
- zi->ci.stream.total_in = 0;
- }
-
-
- zi->ci.pos_in_buffered_data = 0;
-
- return err;
-}
-
-extern int ZEXPORT zipWriteInFileInZip (zipFile file,const void* buf,unsigned int len)
-{
- zip64_internal* zi;
- int err=ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 0)
- return ZIP_PARAMERROR;
-
- zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len);
-
-#ifdef HAVE_BZIP2
- if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw))
- {
- zi->ci.bstream.next_in = (void*)buf;
- zi->ci.bstream.avail_in = len;
- err = BZ_RUN_OK;
-
- while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0))
- {
- if (zi->ci.bstream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
- }
-
-
- if(err != BZ_RUN_OK)
- break;
-
- if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
- {
- uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32;
-// uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32;
- err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN);
-
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ;
- }
- }
-
- if(err == BZ_RUN_OK)
- err = ZIP_OK;
- }
- else
-#endif
- {
- zi->ci.stream.next_in = (Bytef*)buf;
- zi->ci.stream.avail_in = len;
-
- while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
- {
- if (zi->ci.stream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- }
-
-
- if(err != ZIP_OK)
- break;
-
- if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
- {
- uLong uTotalOutBefore = zi->ci.stream.total_out;
- err=deflate(&zi->ci.stream, Z_NO_FLUSH);
- if(uTotalOutBefore > zi->ci.stream.total_out)
- {
- int bBreak = 0;
- bBreak++;
- }
-
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
- }
- else
- {
- uInt copy_this,i;
- if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
- copy_this = zi->ci.stream.avail_in;
- else
- copy_this = zi->ci.stream.avail_out;
-
- for (i = 0; i < copy_this; i++)
- *(((char*)zi->ci.stream.next_out)+i) =
- *(((const char*)zi->ci.stream.next_in)+i);
- {
- zi->ci.stream.avail_in -= copy_this;
- zi->ci.stream.avail_out-= copy_this;
- zi->ci.stream.next_in+= copy_this;
- zi->ci.stream.next_out+= copy_this;
- zi->ci.stream.total_in+= copy_this;
- zi->ci.stream.total_out+= copy_this;
- zi->ci.pos_in_buffered_data += copy_this;
- }
- }
- }// while(...)
- }
-
- return err;
-}
-
-extern int ZEXPORT zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong crc32)
-{
- return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32);
-}
-
-extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size, uLong crc32)
-{
- zip64_internal* zi;
- ZPOS64_T compressed_size;
- uLong invalidValue = 0xffffffff;
- short datasize = 0;
- int err=ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 0)
- return ZIP_PARAMERROR;
- zi->ci.stream.avail_in = 0;
-
- if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
- {
- while (err==ZIP_OK)
- {
- uLong uTotalOutBefore;
- if (zi->ci.stream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- }
- uTotalOutBefore = zi->ci.stream.total_out;
- err=deflate(&zi->ci.stream, Z_FINISH);
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
- }
- }
- else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
- {
-#ifdef HAVE_BZIP2
- err = BZ_FINISH_OK;
- while (err==BZ_FINISH_OK)
- {
- uLong uTotalOutBefore;
- if (zi->ci.bstream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
- }
- uTotalOutBefore = zi->ci.bstream.total_out_lo32;
- err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH);
- if(err == BZ_STREAM_END)
- err = Z_STREAM_END;
-
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore);
- }
-
- if(err == BZ_FINISH_OK)
- err = ZIP_OK;
-#endif
- }
-
- if (err==Z_STREAM_END)
- err=ZIP_OK; /* this is normal */
-
- if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK))
- {
- if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO)
- err = ZIP_ERRNO;
- }
-
- if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
- {
- int tmp_err = deflateEnd(&zi->ci.stream);
- if (err == ZIP_OK)
- err = tmp_err;
- zi->ci.stream_initialised = 0;
- }
-#ifdef HAVE_BZIP2
- else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
- {
- int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream);
- if (err==ZIP_OK)
- err = tmperr;
- zi->ci.stream_initialised = 0;
- }
-#endif
-
- if (!zi->ci.raw)
- {
- crc32 = (uLong)zi->ci.crc32;
- uncompressed_size = zi->ci.totalUncompressedData;
- }
- compressed_size = zi->ci.totalCompressedData;
-
-# ifndef NOCRYPT
- compressed_size += zi->ci.crypt_header_size;
-# endif
-
- // update Current Item crc and sizes,
- if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff)
- {
- /*version Made by*/
- zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2);
- /*version needed*/
- zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2);
-
- }
-
- zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/
-
-
- if(compressed_size >= 0xffffffff)
- zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/
- else
- zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/
-
- /// set internal file attributes field
- if (zi->ci.stream.data_type == Z_ASCII)
- zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2);
-
- if(uncompressed_size >= 0xffffffff)
- zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/
- else
- zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/
-
- // Add ZIP64 extra info field for uncompressed size
- if(uncompressed_size >= 0xffffffff)
- datasize += 8;
-
- // Add ZIP64 extra info field for compressed size
- if(compressed_size >= 0xffffffff)
- datasize += 8;
-
- // Add ZIP64 extra info field for relative offset to local file header of current file
- if(zi->ci.pos_local_header >= 0xffffffff)
- datasize += 8;
-
- if(datasize > 0)
- {
- char* p = NULL;
-
- if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree)
- {
- // we can not write more data to the buffer that we have room for.
- return ZIP_BADZIPFILE;
- }
-
- p = zi->ci.central_header + zi->ci.size_centralheader;
-
- // Add Extra Information Header for 'ZIP64 information'
- zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID
- p += 2;
- zip64local_putValue_inmemory(p, datasize, 2); // DataSize
- p += 2;
-
- if(uncompressed_size >= 0xffffffff)
- {
- zip64local_putValue_inmemory(p, uncompressed_size, 8);
- p += 8;
- }
-
- if(compressed_size >= 0xffffffff)
- {
- zip64local_putValue_inmemory(p, compressed_size, 8);
- p += 8;
- }
-
- if(zi->ci.pos_local_header >= 0xffffffff)
- {
- zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8);
- p += 8;
- }
-
- // Update how much extra free space we got in the memory buffer
- // and increase the centralheader size so the new ZIP64 fields are included
- // ( 4 below is the size of HeaderID and DataSize field )
- zi->ci.size_centralExtraFree -= datasize + 4;
- zi->ci.size_centralheader += datasize + 4;
-
- // Update the extra info size field
- zi->ci.size_centralExtra += datasize + 4;
- zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2);
- }
-
- if (err==ZIP_OK)
- err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
-
- free(zi->ci.central_header);
-
- if (err==ZIP_OK)
- {
- // Update the LocalFileHeader with the new values.
-
- ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
-
- if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err = ZIP_ERRNO;
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */
-
- if(uncompressed_size >= 0xffffffff)
- {
- if(zi->ci.pos_zip64extrainfo > 0)
- {
- // Update the size in the ZIP64 extended field.
- if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err = ZIP_ERRNO;
-
- if (err==ZIP_OK) /* compressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8);
-
- if (err==ZIP_OK) /* uncompressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8);
- }
- }
- else
- {
- if (err==ZIP_OK) /* compressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4);
-
- if (err==ZIP_OK) /* uncompressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4);
- }
-
- if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err = ZIP_ERRNO;
- }
-
- zi->number_entry ++;
- zi->in_opened_file_inzip = 0;
-
- return err;
-}
-
-extern int ZEXPORT zipCloseFileInZip (zipFile file)
-{
- return zipCloseFileInZipRaw (file,0,0);
-}
-
-int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip)
-{
- int err = ZIP_OK;
- ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset;
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4);
-
- /*num disks*/
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
-
- /*relative offset*/
- if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8);
-
- /*total disks*/ /* Do not support spawning of disk so always say 1 here*/
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4);
-
- return err;
-}
-
-int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
-{
- int err = ZIP_OK;
-
- uLong Zip64DataSize = 44;
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4);
-
- if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ?
-
- if (err==ZIP_OK) /* version made by */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
-
- if (err==ZIP_OK) /* version needed */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
-
- if (err==ZIP_OK) /* number of this disk */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
-
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
-
- if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
-
- if (err==ZIP_OK) /* total number of entries in the central dir */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
-
- if (err==ZIP_OK) /* size of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8);
-
- if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
- {
- ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8);
- }
- return err;
-}
-int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
-{
- int err = ZIP_OK;
-
- /*signature*/
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4);
-
- if (err==ZIP_OK) /* number of this disk */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
-
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
-
- if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
- {
- {
- if(zi->number_entry >= 0xFFFF)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
- }
- }
-
- if (err==ZIP_OK) /* total number of entries in the central dir */
- {
- if(zi->number_entry >= 0xFFFF)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
- }
-
- if (err==ZIP_OK) /* size of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4);
-
- if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
- {
- ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
- if(pos >= 0xffffffff)
- {
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4);
- }
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4);
- }
-
- return err;
-}
-
-int Write_GlobalComment(zip64_internal* zi, const char* global_comment)
-{
- int err = ZIP_OK;
- uInt size_global_comment = 0;
-
- if(global_comment != NULL)
- size_global_comment = (uInt)strlen(global_comment);
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2);
-
- if (err == ZIP_OK && size_global_comment > 0)
- {
- if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment)
- err = ZIP_ERRNO;
- }
- return err;
-}
-
-extern int ZEXPORT zipClose (zipFile file, const char* global_comment)
-{
- zip64_internal* zi;
- int err = 0;
- uLong size_centraldir = 0;
- ZPOS64_T centraldir_pos_inzip;
- ZPOS64_T pos;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
-
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 1)
- {
- err = zipCloseFileInZip (file);
- }
-
-#ifndef NO_ADDFILEINEXISTINGZIP
- if (global_comment==NULL)
- global_comment = zi->globalcomment;
-#endif
-
- centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
-
- if (err==ZIP_OK)
- {
- linkedlist_datablock_internal* ldi = zi->central_dir.first_block;
- while (ldi!=NULL)
- {
- if ((err==ZIP_OK) && (ldi->filled_in_this_block>0))
- {
- if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block)
- err = ZIP_ERRNO;
- }
-
- size_centraldir += ldi->filled_in_this_block;
- ldi = ldi->next_datablock;
- }
- }
- free_linkedlist(&(zi->central_dir));
-
- pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
- if(pos >= 0xffffffff)
- {
- ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
- Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
-
- Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos);
- }
-
- if (err==ZIP_OK)
- err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
-
- if(err == ZIP_OK)
- err = Write_GlobalComment(zi, global_comment);
-
- if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0)
- if (err == ZIP_OK)
- err = ZIP_ERRNO;
-
-#ifndef NO_ADDFILEINEXISTINGZIP
- TRYFREE(zi->globalcomment);
-#endif
- TRYFREE(zi);
-
- return err;
-}
-
-extern int ZEXPORT zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader)
-{
- char* p = pData;
- int size = 0;
- char* pNewHeader;
- char* pTmp;
- short header;
- short dataSize;
-
- int retVal = ZIP_OK;
-
- if(pData == NULL || *dataLen < 4)
- return ZIP_PARAMERROR;
-
- pNewHeader = (char*)ALLOC(*dataLen);
- pTmp = pNewHeader;
-
- while(p < (pData + *dataLen))
- {
- header = *(short*)p;
- dataSize = *(((short*)p)+1);
-
- if( header == sHeader ) // Header found.
- {
- p += dataSize + 4; // skip it. do not copy to temp buffer
- }
- else
- {
- // Extra Info block should not be removed, So copy it to the temp buffer.
- memcpy(pTmp, p, dataSize + 4);
- p += dataSize + 4;
- size += dataSize + 4;
- }
-
- }
-
- if(size < *dataLen)
- {
- // clean old extra info block.
- memset(pData,0, *dataLen);
-
- // copy the new extra info block over the old
- if(size > 0)
- memcpy(pData, pNewHeader, size);
-
- // set the new extra info size
- *dataLen = size;
-
- retVal = ZIP_OK;
- }
- else
- retVal = ZIP_ERRNO;
-
- TRYFREE(pNewHeader);
-
- return retVal;
-}
diff --git a/plugins/updater/zbin/minizip/zip.h b/plugins/updater/zbin/minizip/zip.h
deleted file mode 100644
index 8aaebb6234..0000000000
--- a/plugins/updater/zbin/minizip/zip.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/* zip.h -- IO on .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- ---------------------------------------------------------------------------
-
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- ---------------------------------------------------------------------------
-
- Changes
-
- See header of zip.h
-
-*/
-
-#ifndef _zip12_H
-#define _zip12_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-//#define HAVE_BZIP2
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#ifndef _ZLIBIOAPI_H
-#include "ioapi.h"
-#endif
-
-#ifdef HAVE_BZIP2
-#include "bzlib.h"
-#endif
-
-#define Z_BZIP2ED 12
-
-#if defined(STRICTZIP) || defined(STRICTZIPUNZIP)
-/* like the STRICT of WIN32, we define a pointer that cannot be converted
- from (void*) without cast */
-typedef struct TagzipFile__ { int unused; } zipFile__;
-typedef zipFile__ *zipFile;
-#else
-typedef voidp zipFile;
-#endif
-
-#define ZIP_OK (0)
-#define ZIP_EOF (0)
-#define ZIP_ERRNO (Z_ERRNO)
-#define ZIP_PARAMERROR (-102)
-#define ZIP_BADZIPFILE (-103)
-#define ZIP_INTERNALERROR (-104)
-
-#ifndef DEF_MEM_LEVEL
-# if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-# else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-# endif
-#endif
-/* default memLevel */
-
-/* tm_zip contain date/time info */
-typedef struct tm_zip_s
-{
- uInt tm_sec; /* seconds after the minute - [0,59] */
- uInt tm_min; /* minutes after the hour - [0,59] */
- uInt tm_hour; /* hours since midnight - [0,23] */
- uInt tm_mday; /* day of the month - [1,31] */
- uInt tm_mon; /* months since January - [0,11] */
- uInt tm_year; /* years - [1980..2044] */
-} tm_zip;
-
-typedef struct
-{
- tm_zip tmz_date; /* date in understandable format */
- uLong dosDate; /* if dos_date == 0, tmu_date is used */
-/* uLong flag; */ /* general purpose bit flag 2 bytes */
-
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-} zip_fileinfo;
-
-typedef const char* zipcharpc;
-
-
-#define APPEND_STATUS_CREATE (0)
-#define APPEND_STATUS_CREATEAFTER (1)
-#define APPEND_STATUS_ADDINZIP (2)
-
-extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));
-extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append));
-/*
- Create a zipfile.
- pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on
- an Unix computer "zlib/zlib113.zip".
- if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip
- will be created at the end of the file.
- (useful if the file contain a self extractor code)
- if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will
- add files in existing zip (be sure you don't add file that doesn't exist)
- If the zipfile cannot be opened, the return value is NULL.
- Else, the return value is a zipFile Handle, usable with other function
- of this zip package.
-*/
-
-/* Note : there is no delete function into a zipfile.
- If you want delete file into a zipfile, you must open a zipfile, and create another
- Of couse, you can use RAW reading and writing to copy the file you did not want delte
-*/
-
-extern zipFile ZEXPORT zipOpen2 OF((const char *pathname,
- int append,
- zipcharpc* globalcomment,
- zlib_filefunc_def* pzlib_filefunc_def));
-
-extern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname,
- int append,
- zipcharpc* globalcomment,
- zlib_filefunc64_def* pzlib_filefunc_def));
-
-extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level));
-
-extern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int zip64));
-
-/*
- Open a file in the ZIP for writing.
- filename : the filename in zip (if NULL, '-' without quote will be used
- *zipfi contain supplemental information
- if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
- contains the extrafield data the the local header
- if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
- contains the extrafield data the the local header
- if comment != NULL, comment contain the comment string
- method contain the compression method (0 for store, Z_DEFLATED for deflate)
- level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
- zip64 is set to 1 if a zip64 extended information block should be added to the local file header.
- this MUST be '1' if the uncompressed size is >= 0xffffffff.
-
-*/
-
-
-extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw));
-
-
-extern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int zip64));
-/*
- Same than zipOpenNewFileInZip, except if raw=1, we write raw file
- */
-
-extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting));
-
-extern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting,
- int zip64
- ));
-
-/*
- Same than zipOpenNewFileInZip2, except
- windowBits,memLevel,,strategy : see parameter strategy in deflateInit2
- password : crypting password (NULL for no crypting)
- crcForCrypting : crc of file to compress (needed for crypting)
- */
-
-extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting,
- uLong versionMadeBy,
- uLong flagBase
- ));
-
-
-extern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting,
- uLong versionMadeBy,
- uLong flagBase,
- int zip64
- ));
-/*
- Same than zipOpenNewFileInZip4, except
- versionMadeBy : value for Version made by field
- flag : value for flag field (compression level info will be added)
- */
-
-
-extern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
- const void* buf,
- unsigned len));
-/*
- Write data in the zipfile
-*/
-
-extern int ZEXPORT zipCloseFileInZip OF((zipFile file));
-/*
- Close the current file in the zipfile
-*/
-
-extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file,
- uLong uncompressed_size,
- uLong crc32));
-
-extern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file,
- ZPOS64_T uncompressed_size,
- uLong crc32));
-
-/*
- Close the current file in the zipfile, for file opened with
- parameter raw=1 in zipOpenNewFileInZip2
- uncompressed_size and crc32 are value for the uncompressed size
-*/
-
-extern int ZEXPORT zipClose OF((zipFile file,
- const char* global_comment));
-/*
- Close the zipfile
-*/
-
-
-extern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader));
-/*
- zipRemoveExtraInfoBlock - Added by Mathias Svensson
-
- Remove extra information block from a extra information data for the local file header or central directory header
-
- It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode.
-
- 0x0001 is the signature header for the ZIP64 extra information blocks
-
- usage.
- Remove ZIP64 Extra information from a central director extra field data
- zipRemoveExtraInfoBlock(pCenDirExtraFieldData, &nCenDirExtraFieldDataLen, 0x0001);
-
- Remove ZIP64 Extra information from a Local File Header extra field data
- zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001);
-*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _zip64_H */
diff --git a/plugins/updater/zbin/x32/zlib.lib b/plugins/updater/zbin/x32/zlib.lib
deleted file mode 100644
index 33f583fb5f..0000000000
--- a/plugins/updater/zbin/x32/zlib.lib
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/zbin/x64/zlib.lib b/plugins/updater/zbin/x64/zlib.lib
deleted file mode 100644
index 3bb413f686..0000000000
--- a/plugins/updater/zbin/x64/zlib.lib
+++ /dev/null
Binary files differ
diff --git a/plugins/updater/zbin/zconf.h b/plugins/updater/zbin/zconf.h
deleted file mode 100644
index 02ce56c431..0000000000
--- a/plugins/updater/zbin/zconf.h
+++ /dev/null
@@ -1,428 +0,0 @@
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2010 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- * Even better than compiling with -DZ_PREFIX would be to use configure to set
- * this permanently in zconf.h using "./configure --zprefix".
- */
-#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
-
-/* all linked symbols */
-# define _dist_code z__dist_code
-# define _length_code z__length_code
-# define _tr_align z__tr_align
-# define _tr_flush_block z__tr_flush_block
-# define _tr_init z__tr_init
-# define _tr_stored_block z__tr_stored_block
-# define _tr_tally z__tr_tally
-# define adler32 z_adler32
-# define adler32_combine z_adler32_combine
-# define adler32_combine64 z_adler32_combine64
-# define compress z_compress
-# define compress2 z_compress2
-# define compressBound z_compressBound
-# define crc32 z_crc32
-# define crc32_combine z_crc32_combine
-# define crc32_combine64 z_crc32_combine64
-# define deflate z_deflate
-# define deflateBound z_deflateBound
-# define deflateCopy z_deflateCopy
-# define deflateEnd z_deflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateInit_ z_deflateInit_
-# define deflateParams z_deflateParams
-# define deflatePrime z_deflatePrime
-# define deflateReset z_deflateReset
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateSetHeader z_deflateSetHeader
-# define deflateTune z_deflateTune
-# define deflate_copyright z_deflate_copyright
-# define get_crc_table z_get_crc_table
-# define gz_error z_gz_error
-# define gz_intmax z_gz_intmax
-# define gz_strwinerror z_gz_strwinerror
-# define gzbuffer z_gzbuffer
-# define gzclearerr z_gzclearerr
-# define gzclose z_gzclose
-# define gzclose_r z_gzclose_r
-# define gzclose_w z_gzclose_w
-# define gzdirect z_gzdirect
-# define gzdopen z_gzdopen
-# define gzeof z_gzeof
-# define gzerror z_gzerror
-# define gzflush z_gzflush
-# define gzgetc z_gzgetc
-# define gzgets z_gzgets
-# define gzoffset z_gzoffset
-# define gzoffset64 z_gzoffset64
-# define gzopen z_gzopen
-# define gzopen64 z_gzopen64
-# define gzprintf z_gzprintf
-# define gzputc z_gzputc
-# define gzputs z_gzputs
-# define gzread z_gzread
-# define gzrewind z_gzrewind
-# define gzseek z_gzseek
-# define gzseek64 z_gzseek64
-# define gzsetparams z_gzsetparams
-# define gztell z_gztell
-# define gztell64 z_gztell64
-# define gzungetc z_gzungetc
-# define gzwrite z_gzwrite
-# define inflate z_inflate
-# define inflateBack z_inflateBack
-# define inflateBackEnd z_inflateBackEnd
-# define inflateBackInit_ z_inflateBackInit_
-# define inflateCopy z_inflateCopy
-# define inflateEnd z_inflateEnd
-# define inflateGetHeader z_inflateGetHeader
-# define inflateInit2_ z_inflateInit2_
-# define inflateInit_ z_inflateInit_
-# define inflateMark z_inflateMark
-# define inflatePrime z_inflatePrime
-# define inflateReset z_inflateReset
-# define inflateReset2 z_inflateReset2
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateSyncPoint z_inflateSyncPoint
-# define inflateUndermine z_inflateUndermine
-# define inflate_copyright z_inflate_copyright
-# define inflate_fast z_inflate_fast
-# define inflate_table z_inflate_table
-# define uncompress z_uncompress
-# define zError z_zError
-# define zcalloc z_zcalloc
-# define zcfree z_zcfree
-# define zlibCompileFlags z_zlibCompileFlags
-# define zlibVersion z_zlibVersion
-
-/* all zlib typedefs in zlib.h and zconf.h */
-# define Byte z_Byte
-# define Bytef z_Bytef
-# define alloc_func z_alloc_func
-# define charf z_charf
-# define free_func z_free_func
-# define gzFile z_gzFile
-# define gz_header z_gz_header
-# define gz_headerp z_gz_headerp
-# define in_func z_in_func
-# define intf z_intf
-# define out_func z_out_func
-# define uInt z_uInt
-# define uIntf z_uIntf
-# define uLong z_uLong
-# define uLongf z_uLongf
-# define voidp z_voidp
-# define voidpc z_voidpc
-# define voidpf z_voidpf
-
-/* all zlib structs in zlib.h and zconf.h */
-# define gz_header_s z_gz_header_s
-# define internal_state z_internal_state
-
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-# define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-# define WINDOWS
-#endif
-#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
-# ifndef WIN32
-# define WIN32
-# endif
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-# ifndef SYS16BIT
-# define SYS16BIT
-# endif
-# endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-# ifndef STDC
-# define STDC
-# endif
-# if __STDC_VERSION__ >= 199901L
-# ifndef STDC99
-# define STDC99
-# endif
-# endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-# define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const /* note: need a more gentle solution here */
-# endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- (1 << (windowBits+2)) + (1 << (memLevel+9))
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-# if defined(M_I86SM) || defined(M_I86MM)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-# if (defined(__SMALL__) || defined(__MEDIUM__))
- /* Turbo C small or medium model */
-# define SMALL_MEDIUM
-# ifdef __BORLANDC__
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
- /* If building or using zlib as a DLL, define ZLIB_DLL.
- * This is not mandatory, but it offers a little performance increase.
- */
-# ifdef ZLIB_DLL
-# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-# ifdef ZLIB_INTERNAL
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-# endif
-# endif /* ZLIB_DLL */
- /* If building or using zlib with the WINAPI/WINAPIV calling convention,
- * define ZLIB_WINAPI.
- * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
- */
-# ifdef ZLIB_WINAPI
-# ifdef FAR
-# undef FAR
-# endif
-# include <windows.h>
- /* No need for _export, use ZLIB.DEF instead. */
- /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-# define ZEXPORT WINAPI
-# ifdef WIN32
-# define ZEXPORTVA WINAPIV
-# else
-# define ZEXPORTVA FAR CDECL
-# endif
-# endif
-#endif
-
-#if defined (__BEOS__)
-# ifdef ZLIB_DLL
-# ifdef ZLIB_INTERNAL
-# define ZEXPORT __declspec(dllexport)
-# define ZEXPORTVA __declspec(dllexport)
-# else
-# define ZEXPORT __declspec(dllimport)
-# define ZEXPORTVA __declspec(dllimport)
-# endif
-# endif
-#endif
-
-#ifndef ZEXTERN
-# define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-# define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-# define ZEXPORTVA
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char Byte; /* 8 bits */
-#endif
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void const *voidpc;
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte const *voidpc;
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
-# define Z_HAVE_UNISTD_H
-#endif
-
-#ifdef STDC
-# include <sys/types.h> /* for off_t */
-#endif
-
-/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
- * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
- * though the former does not conform to the LFS document), but considering
- * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
- * equivalently requesting no 64-bit operations
- */
-#if -_LARGEFILE64_SOURCE - -1 == 1
-# undef _LARGEFILE64_SOURCE
-#endif
-
-#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
-# include <unistd.h> /* for SEEK_* and off_t */
-# ifdef VMS
-# include <unixio.h> /* for off_t */
-# endif
-# ifndef z_off_t
-# define z_off_t off_t
-# endif
-#endif
-
-#ifndef SEEK_SET
-# define SEEK_SET 0 /* Seek from beginning of file. */
-# define SEEK_CUR 1 /* Seek from current position. */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif
-
-#ifndef z_off_t
-# define z_off_t long
-#endif
-
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
-# define z_off64_t off64_t
-#else
-# define z_off64_t z_off_t
-#endif
-
-#if defined(__OS400__)
-# define NO_vsnprintf
-#endif
-
-#if defined(__MVS__)
-# define NO_vsnprintf
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
- #pragma map(deflateInit_,"DEIN")
- #pragma map(deflateInit2_,"DEIN2")
- #pragma map(deflateEnd,"DEEND")
- #pragma map(deflateBound,"DEBND")
- #pragma map(inflateInit_,"ININ")
- #pragma map(inflateInit2_,"ININ2")
- #pragma map(inflateEnd,"INEND")
- #pragma map(inflateSync,"INSY")
- #pragma map(inflateSetDictionary,"INSEDI")
- #pragma map(compressBound,"CMBND")
- #pragma map(inflate_table,"INTABL")
- #pragma map(inflate_fast,"INFA")
- #pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
diff --git a/plugins/updater/zbin/zlib.h b/plugins/updater/zbin/zlib.h
deleted file mode 100644
index bfbba83e8e..0000000000
--- a/plugins/updater/zbin/zlib.h
+++ /dev/null
@@ -1,1613 +0,0 @@
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.5, April 19th, 2010
-
- Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef ZLIB_H
-#define ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.2.5"
-#define ZLIB_VERNUM 0x1250
-#define ZLIB_VER_MAJOR 1
-#define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 5
-#define ZLIB_VER_SUBREVISION 0
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed data.
- This version of the library supports only one compression method (deflation)
- but other algorithms will be added later and will have the same stream
- interface.
-
- Compression can be done in a single step if the buffers are large enough,
- or can be done by repeated calls of the compression function. In the latter
- case, the application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The compressed data format used by default by the in-memory functions is
- the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
- around a deflate stream, which is itself documented in RFC 1951.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio using the functions that start
- with "gz". The gzip format is different from the zlib format. gzip is a
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
-
- This library can optionally read and write gzip streams in memory as well.
-
- The zlib format was designed to be compact and fast for use in memory
- and on communications channels. The gzip format was designed for single-
- file compression on file systems, has a larger header than zlib to maintain
- directory information, and uses a different, slower check method than zlib.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never crash
- even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: binary or text */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- gzip header information passed to and from zlib routines. See RFC 1952
- for more details on the meanings of these fields.
-*/
-typedef struct gz_header_s {
- int text; /* true if compressed data believed to be text */
- uLong time; /* modification time */
- int xflags; /* extra flags (not used when writing a gzip file) */
- int os; /* operating system */
- Bytef *extra; /* pointer to extra field or Z_NULL if none */
- uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
- uInt extra_max; /* space at extra (only when reading header) */
- Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
- uInt name_max; /* space at name (only when reading header) */
- Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
- uInt comm_max; /* space at comment (only when reading header) */
- int hcrc; /* true if there was or will be a header crc */
- int done; /* true when done reading gzip header (not used
- when writing a gzip file) */
-} gz_header;
-
-typedef gz_header FAR *gz_headerp;
-
-/*
- The application must update next_in and avail_in when avail_in has dropped
- to zero. It must update next_out and avail_out when avail_out has dropped
- to zero. The application must initialize zalloc, zfree and opaque before
- calling the init function. All other fields are set by the compression
- library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this if
- the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
- returned by zalloc for objects of exactly 65536 bytes *must* have their
- offset normalized to zero. The default allocation function provided by this
- library ensures this (see zutil.c). To reduce memory requirements and avoid
- any allocation of 64K objects, at the expense of compression ratio, compile
- the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or progress
- reports. After compression, total_in holds the total size of the
- uncompressed data and may be saved for use in the decompressor (particularly
- if the decompressor wants to decompress everything in a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-#define Z_BLOCK 5
-#define Z_TREES 6
-/* Allowed flush values; see deflate() and inflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative values
- * are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_RLE 3
-#define Z_FIXED 4
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_TEXT 1
-#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is not
- compatible with the zlib.h header file used by the application. This check
- is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller. If
- zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
- allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at all
- (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
- requests a default compromise between speed and compression (currently
- equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if level is not a valid compression level, or
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION). msg is set to null
- if there is no error message. deflateInit does not perform any compression:
- this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications). Some
- output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming more
- output, and updating avail_in or avail_out accordingly; avail_out should
- never be zero before the call. The application can consume the compressed
- output when it wants, for example when the output buffer is full (avail_out
- == 0), or after each call of deflate(). If deflate returns Z_OK and with
- zero avail_out, it must be called again after making room in the output
- buffer because there might be more output pending.
-
- Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
- decide how much data to accumulate before producing output, in order to
- maximize compression.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In
- particular avail_in is zero after the call if enough output space has been
- provided before the call.) Flushing may degrade compression for some
- compression algorithms and so it should be used only when necessary. This
- completes the current deflate block and follows it with an empty stored block
- that is three bits plus filler bits to the next byte, followed by four bytes
- (00 00 ff ff).
-
- If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
- output buffer, but the output is not aligned to a byte boundary. All of the
- input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
- This completes the current deflate block and follows it with an empty fixed
- codes block that is 10 bits long. This assures that enough bytes are output
- in order for the decompressor to finish the block before the empty fixed code
- block.
-
- If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
- for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
- seven bits of the current block are held to be written as the next byte after
- the next deflate block is completed. In this case, the decompressor may not
- be provided enough bits at this point in order to complete decompression of
- the data provided so far to the compressor. It may need to wait for the next
- block to be emitted. This is for advanced applications that need to control
- the emission of deflate blocks.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
- avail_out is greater than six to avoid repeated flush markers due to
- avail_out == 0 on return.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there was
- enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the stream
- are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least the
- value returned by deflateBound (see below). If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update strm->data_type if it can make a good guess about
- the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect the
- compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any pending
- output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case, msg
- may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the
- exact value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
- invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit() does not process any header information -- that is deferred
- until inflate() is called.
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing will
- resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there is
- no more input data or no more space in the output buffer (see below about
- the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming more
- output, and updating the next_* and avail_* values accordingly. The
- application can consume the uncompressed output when it wants, for example
- when the output buffer is full (avail_out == 0), or after each call of
- inflate(). If inflate returns Z_OK and with zero avail_out, it must be
- called again after making room in the output buffer because there might be
- more output pending.
-
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
- Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
- output as possible to the output buffer. Z_BLOCK requests that inflate()
- stop if and when it gets to the next deflate block boundary. When decoding
- the zlib or gzip format, this will cause inflate() to return immediately
- after the header and before the first block. When doing a raw inflate,
- inflate() will go ahead and process the first block, and will return when it
- gets to the end of that block, or when it runs out of data.
-
- The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
- number of unused bits in the last byte taken from strm->next_in, plus 64 if
- inflate() is currently decoding the last block in the deflate stream, plus
- 128 if inflate() returned immediately after decoding an end-of-block code or
- decoding the complete header up to just before the first byte of the deflate
- stream. The end-of-block will not be indicated until all of the uncompressed
- data from that block has been written to strm->next_out. The number of
- unused bits may in general be greater than seven, except when bit 7 of
- data_type is set, in which case the number of unused bits will be less than
- eight. data_type is set as noted here every time inflate() returns for all
- flush options, and so can be used to determine the amount of currently
- consumed input in bits.
-
- The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
- end of each deflate block header is reached, before any actual data in that
- block is decoded. This allows the caller to determine the length of the
- deflate block header for later use in random access within a deflate block.
- 256 is added to the value of strm->data_type when inflate() returns
- immediately after reaching the end of the deflate block header.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step (a
- single call of inflate), the parameter flush should be set to Z_FINISH. In
- this case all pending input is processed and all pending output is flushed;
- avail_out must be large enough to hold all the uncompressed data. (The size
- of the uncompressed data may have been saved by the compressor for this
- purpose.) The next operation on this stream must be inflateEnd to deallocate
- the decompression state. The use of Z_FINISH is never required, but can be
- used to inform inflate that a faster approach may be used for the single
- inflate() call.
-
- In this implementation, inflate() always flushes as much output as
- possible to the output buffer, and always uses the faster approach on the
- first call. So the only effect of the flush parameter in this implementation
- is on the return value of inflate(), as noted below, or when it returns early
- because Z_BLOCK or Z_TREES is used.
-
- If a preset dictionary is needed after this call (see inflateSetDictionary
- below), inflate sets strm->adler to the adler32 checksum of the dictionary
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
- strm->adler to the adler32 checksum of all output produced so far (that is,
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
- only if the checksum is correct.
-
- inflate() can decompress and check either zlib-wrapped or gzip-wrapped
- deflate data. The header type is detected automatically, if requested when
- initializing with inflateInit2(). Any information contained in the gzip
- header is not retained, so applications that need that information should
- instead use raw inflate, see inflateInit2() below, or inflateBack() and
- perform their own processing of the gzip header and trailer.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
- inflate() can be called again with more input and more output space to
- continue decompressing. If Z_DATA_ERROR is returned, the application may
- then call inflateSync() to look for a good compression block if a partial
- recovery of the data is desired.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any pending
- output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by the
- caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
- determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
-
- windowBits can also be greater than 15 for optional gzip encoding. Add
- 16 to windowBits to write a simple gzip header and trailer around the
- compressed data instead of a zlib wrapper. The gzip header will have no
- file name, no extra data, no comment, no modification time (set to zero), no
- header crc, and the operating system will be set to 255 (unknown). If a
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but is
- slow and reduces compression ratio; memLevel=9 uses maximum memory for
- optimal speed. The default value is 8. See zconf.h for total memory usage
- as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match), or Z_RLE to limit match distances to one (run-length
- encoding). Filtered data consists mostly of small values with a somewhat
- random distribution. In this case, the compression algorithm is tuned to
- compress them better. The effect of Z_FILTERED is to force more Huffman
- coding and less string matching; it is somewhat intermediate between
- Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
- fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
- strategy parameter only affects the compression ratio but not the
- correctness of the compressed output even if it is not set appropriately.
- Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
- decoder for special applications.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
- method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
- incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
- set to null if there is no error message. deflateInit2 does not perform any
- compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. This function must be called
- immediately after deflateInit, deflateInit2 or deflateReset, before any call
- of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size
- provided in deflateInit or deflateInit2. Thus the strings most likely to be
- useful should be put at the end of the dictionary, not at the front. In
- addition, the current implementation of deflate will use at most the window
- size minus 262 bytes of the provided dictionary.
-
- Upon return of this function, strm->adler is set to the adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if the compression method is bsort). deflateSetDictionary does not
- perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and can
- consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state. The
- stream will keep the same compression level and any other attributes that
- may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different strategy.
- If the compression level is changed, the input available so far is
- compressed with the old level (and may be flushed); the new level will take
- effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to be
- compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
- strm->avail_out was zero.
-*/
-
-ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
- int good_length,
- int max_lazy,
- int nice_length,
- int max_chain));
-/*
- Fine tune deflate's internal compression parameters. This should only be
- used by someone who understands the algorithm used by zlib's deflate for
- searching for the best matching string, and even then only by the most
- fanatic optimizer trying to squeeze out the last compressed bit for their
- specific input data. Read the deflate.c source code for the meaning of the
- max_lazy, good_length, nice_length, and max_chain parameters.
-
- deflateTune() can be called after deflateInit() or deflateInit2(), and
- returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
- */
-
-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
- uLong sourceLen));
-/*
- deflateBound() returns an upper bound on the compressed size after
- deflation of sourceLen bytes. It must be called after deflateInit() or
- deflateInit2(), and after deflateSetHeader(), if used. This would be used
- to allocate an output buffer for deflation in a single pass, and so would be
- called before deflate().
-*/
-
-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- deflatePrime() inserts bits in the deflate output stream. The intent
- is that this function is used to start off the deflate output with the bits
- leftover from a previous deflate stream when appending to it. As such, this
- function can only be used for raw deflate, and must be used before the first
- deflate() call after a deflateInit2() or deflateReset(). bits must be less
- than or equal to 16, and that many of the least significant bits of value
- will be inserted in the output.
-
- deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- deflateSetHeader() provides gzip header information for when a gzip
- stream is requested by deflateInit2(). deflateSetHeader() may be called
- after deflateInit2() or deflateReset() and before the first call of
- deflate(). The text, time, os, extra field, name, and comment information
- in the provided gz_header structure are written to the gzip header (xflag is
- ignored -- the extra flags are set according to the compression level). The
- caller must assure that, if not Z_NULL, name and comment are terminated with
- a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
- available there. If hcrc is true, a gzip header crc is included. Note that
- the current versions of the command-line version of gzip (up through version
- 1.3.x) do not support header crc's, and will report that it is a "multi-part
- gzip file" and give up.
-
- If deflateSetHeader is not used, the default gzip header has text false,
- the time set to zero, and os set to 255, with no extra, name, or comment
- fields. The gzip header is returned to the default state by deflateReset().
-
- deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. windowBits must be greater than or equal to the windowBits value
- provided to deflateInit2() while compressing, or it must be equal to 15 if
- deflateInit2() was not used. If a compressed stream with a larger window
- size is given as input, inflate() will return with the error code
- Z_DATA_ERROR instead of trying to allocate a larger window.
-
- windowBits can also be zero to request that inflate use the window size in
- the zlib header of the compressed stream.
-
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
- determines the window size. inflate() will then process raw deflate data,
- not looking for a zlib or gzip header, not generating a check value, and not
- looking for any check values for comparison at the end of the stream. This
- is for use with other formats that use the deflate compressed data format
- such as zip. Those formats provide their own check values. If a custom
- format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
- most applications, the zlib format should be used as is. Note that comments
- above on the use in deflateInit2() applies to the magnitude of windowBits.
-
- windowBits can also be greater than 15 for optional gzip decoding. Add
- 32 to windowBits to enable zlib and gzip decoding with automatic header
- detection, or add 16 to decode only the gzip format (the zlib format will
- return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
- crc32 instead of an adler32.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller, or Z_STREAM_ERROR if the parameters are
- invalid, such as a null pointer to the structure. msg is set to null if
- there is no error message. inflateInit2 does not perform any decompression
- apart from possibly reading the zlib header if present: actual decompression
- will be done by inflate(). (So next_in and avail_in may be modified, but
- next_out and avail_out are unused and unchanged.) The current implementation
- of inflateInit2() does not process any header information -- that is
- deferred until inflate() is called.
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate,
- if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by that call of inflate.
- The compressor and decompressor must use exactly the same dictionary (see
- deflateSetDictionary). For raw inflate, this function can be called
- immediately after inflateInit2() or inflateReset() and before any call of
- inflate() to set the dictionary. The application must insure that the
- dictionary that was used for compression is provided.
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a full flush point (see above the
- description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no flush point has been
- found, or Z_STREAM_ERROR if the stream structure was inconsistent. In the
- success case, the application may save the current current value of total_in
- which indicates where valid compressed data was found. In the error case,
- the application may repeatedly call inflateSync, providing more input each
- time, until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when randomly accessing a large stream. The
- first pass through the stream can periodically record the inflate state,
- allowing restarting inflate at those points when randomly accessing the
- stream.
-
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being Z_NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state. The
- stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL).
-*/
-
-ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
- int windowBits));
-/*
- This function is the same as inflateReset, but it also permits changing
- the wrap and window size requests. The windowBits parameter is interpreted
- the same as it is for inflateInit2.
-
- inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being Z_NULL), or if
- the windowBits parameter is invalid.
-*/
-
-ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- This function inserts bits in the inflate input stream. The intent is
- that this function is used to start inflating at a bit position in the
- middle of a byte. The provided bits will be used before any bytes are used
- from next_in. This function should only be used with raw inflate, and
- should be used before the first inflate() call after inflateInit2() or
- inflateReset(). bits must be less than or equal to 16, and that many of the
- least significant bits of value will be inserted in the input.
-
- If bits is negative, then the input stream bit buffer is emptied. Then
- inflatePrime() can be called again to put bits in the buffer. This is used
- to clear out bits leftover after feeding inflate a block description prior
- to feeding inflate codes.
-
- inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
-/*
- This function returns two values, one in the lower 16 bits of the return
- value, and the other in the remaining upper bits, obtained by shifting the
- return value down 16 bits. If the upper value is -1 and the lower value is
- zero, then inflate() is currently decoding information outside of a block.
- If the upper value is -1 and the lower value is non-zero, then inflate is in
- the middle of a stored block, with the lower value equaling the number of
- bytes from the input remaining to copy. If the upper value is not -1, then
- it is the number of bits back from the current bit position in the input of
- the code (literal or length/distance pair) currently being processed. In
- that case the lower value is the number of bytes already emitted for that
- code.
-
- A code is being processed if inflate is waiting for more input to complete
- decoding of the code, or if it has completed decoding but is waiting for
- more output space to write the literal or match data.
-
- inflateMark() is used to mark locations in the input data for random
- access, which may be at bit positions, and to note those cases where the
- output of a code may span boundaries of random access blocks. The current
- location in the input stream can be determined from avail_in and data_type
- as noted in the description for the Z_BLOCK flush parameter for inflate.
-
- inflateMark returns the value noted above or -1 << 16 if the provided
- source stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- inflateGetHeader() requests that gzip header information be stored in the
- provided gz_header structure. inflateGetHeader() may be called after
- inflateInit2() or inflateReset(), and before the first call of inflate().
- As inflate() processes the gzip stream, head->done is zero until the header
- is completed, at which time head->done is set to one. If a zlib stream is
- being decoded, then head->done is set to -1 to indicate that there will be
- no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
- used to force inflate() to return immediately after header processing is
- complete and before any actual data is decompressed.
-
- The text, time, xflags, and os fields are filled in with the gzip header
- contents. hcrc is set to true if there is a header CRC. (The header CRC
- was valid if done is set to one.) If extra is not Z_NULL, then extra_max
- contains the maximum number of bytes to write to extra. Once done is true,
- extra_len contains the actual extra field length, and extra contains the
- extra field, or that field truncated if extra_max is less than extra_len.
- If name is not Z_NULL, then up to name_max characters are written there,
- terminated with a zero unless the length is greater than name_max. If
- comment is not Z_NULL, then up to comm_max characters are written there,
- terminated with a zero unless the length is greater than comm_max. When any
- of extra, name, or comment are not Z_NULL and the respective field is not
- present in the header, then that field is set to Z_NULL to signal its
- absence. This allows the use of deflateSetHeader() with the returned
- structure to duplicate the header. However if those fields are set to
- allocated memory, then the application will need to save those pointers
- elsewhere so that they can be eventually freed.
-
- If inflateGetHeader is not used, then the header information is simply
- discarded. The header is always checked for validity, including the header
- CRC if present. inflateReset() will reset the process to discard the header
- information. The application would need to call inflateGetHeader() again to
- retrieve the header from the next gzip stream.
-
- inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
- unsigned char FAR *window));
-
- Initialize the internal stream state for decompression using inflateBack()
- calls. The fields zalloc, zfree and opaque in strm must be initialized
- before the call. If zalloc and zfree are Z_NULL, then the default library-
- derived memory allocation routines are used. windowBits is the base two
- logarithm of the window size, in the range 8..15. window is a caller
- supplied buffer of that size. Except for special applications where it is
- assured that deflate was used with small window sizes, windowBits must be 15
- and a 32K byte window must be supplied to be able to decompress general
- deflate streams.
-
- See inflateBack() for the usage of these routines.
-
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
- the paramaters are invalid, Z_MEM_ERROR if the internal state could not be
- allocated, or Z_VERSION_ERROR if the version of the library does not match
- the version of the header file.
-*/
-
-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
-typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-/*
- inflateBack() does a raw inflate with a single call using a call-back
- interface for input and output. This is more efficient than inflate() for
- file i/o applications in that it avoids copying between the output and the
- sliding window by simply making the window itself the output buffer. This
- function trusts the application to not change the output buffer passed by
- the output function, at least until inflateBack() returns.
-
- inflateBackInit() must be called first to allocate the internal state
- and to initialize the state with the user-provided window buffer.
- inflateBack() may then be used multiple times to inflate a complete, raw
- deflate stream with each call. inflateBackEnd() is then called to free the
- allocated state.
-
- A raw deflate stream is one with no zlib or gzip header or trailer.
- This routine would normally be used in a utility that reads zip or gzip
- files and writes out uncompressed files. The utility would decode the
- header and process the trailer on its own, hence this routine expects only
- the raw deflate stream to decompress. This is different from the normal
- behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
-
- inflateBack() uses two subroutines supplied by the caller that are then
- called by inflateBack() for input and output. inflateBack() calls those
- routines until it reads a complete deflate stream and writes out all of the
- uncompressed data, or until it encounters an error. The function's
- parameters and return types are defined above in the in_func and out_func
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
- number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
- inflateBackInit(), which is also the buffer that out() uses to write from.
- The length written by out() will be at most the window size. Any non-zero
- amount of input may be provided by in().
-
- For convenience, inflateBack() can be provided input on the first call by
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
- in() will be called. Therefore strm->next_in must be initialized before
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
- must also be initialized, and then if strm->avail_in is not zero, input will
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
-
- The in_desc and out_desc parameters of inflateBack() is passed as the
- first parameter of in() and out() respectively when they are called. These
- descriptors can be optionally used to pass any information that the caller-
- supplied in() and out() functions need to do their job.
-
- On return, inflateBack() will set strm->next_in and strm->avail_in to
- pass back any unused input that was provided by the last in() call. The
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
- if in() or out() returned an error, Z_DATA_ERROR if there was a format error
- in the deflate stream (in which case strm->msg is set to indicate the nature
- of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
- In the case of Z_BUF_ERROR, an input or output error can be distinguished
- using strm->next_in which will be Z_NULL only if in() returned an error. If
- strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
- non-zero. (in() will always be called before out(), so strm->next_in is
- assured to be defined if out() returns non-zero.) Note that inflateBack()
- cannot return Z_OK.
-*/
-
-ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
-/*
- All memory allocated by inflateBackInit() is freed.
-
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
- state was inconsistent.
-*/
-
-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
-/* Return flags indicating compile-time options.
-
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
- 1.0: size of uInt
- 3.2: size of uLong
- 5.4: size of voidpf (pointer)
- 7.6: size of z_off_t
-
- Compiler, assembler, and debug options:
- 8: DEBUG
- 9: ASMV or ASMINF -- use ASM code
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
- 11: 0 (reserved)
-
- One-time table building (smaller code, but not thread-safe if true):
- 12: BUILDFIXED -- build static block decoding tables when needed
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
- 14,15: 0 (reserved)
-
- Library content (indicates missing functionality):
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
- deflate code when not needed)
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
- and decode gzip streams (to avoid linking crc code)
- 18-19: 0 (reserved)
-
- Operation variations (changes in library functionality):
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
- 22,23: 0 (reserved)
-
- The sprintf variant used by gzprintf (zero is best):
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
-
- Remainder:
- 27-31: 0 (reserved)
- */
-
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the basic
- stream-oriented functions. To simplify the interface, some default options
- are assumed (compression level and memory usage, standard memory allocation
- functions). The source code of these utility functions can be modified if
- you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total size
- of the destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
-/*
- compressBound() returns an upper bound on the compressed size after
- compress() or compress2() on sourceLen bytes. It would be used before a
- compress() or compress2() call to allocate the destination buffer.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total size
- of the destination buffer, which must be large enough to hold the entire
- uncompressed data. (The size of the uncompressed data must have been saved
- previously by the compressor and transmitted to the decompressor by some
- mechanism outside the scope of this compression library.) Upon exit, destLen
- is the actual size of the uncompressed buffer.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
-*/
-
-
- /* gzip file access functions */
-
-/*
- This library supports reading and writing files in gzip (.gz) format with
- an interface similar to that of stdio, using the functions that start with
- "gz". The gzip format is different from the zlib format. gzip is a gzip
- wrapper, documented in RFC 1952, wrapped around a deflate stream.
-*/
-
-typedef voidp gzFile; /* opaque gzip file descriptor */
-
-/*
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-
- Opens a gzip (.gz) file for reading or writing. The mode parameter is as
- in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
- a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
- compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
- for fixed code compression as in "wb9F". (See the description of
- deflateInit2 for more information about the strategy parameter.) Also "a"
- can be used instead of "w" to request that the gzip stream that will be
- written be appended to the file. "+" will result in an error, since reading
- and writing to the same gzip file is not supported.
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression.
-
- gzopen returns NULL if the file could not be opened, if there was
- insufficient memory to allocate the gzFile state, or if an invalid mode was
- specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
- errno can be checked to determine if the reason gzopen failed was that the
- file could not be opened.
-*/
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen associates a gzFile with the file descriptor fd. File descriptors
- are obtained from calls like open, dup, creat, pipe or fileno (if the file
- has been previously opened with fopen). The mode parameter is as in gzopen.
-
- The next call of gzclose on the returned gzFile will also close the file
- descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
- fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
- mode);. The duplicated descriptor should be saved to avoid a leak, since
- gzdopen does not close fd if it fails.
-
- gzdopen returns NULL if there was insufficient memory to allocate the
- gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
- provided, or '+' was provided), or if fd is -1. The file descriptor is not
- used until the next gz* read, write, seek, or close operation, so gzdopen
- will not detect if fd is invalid (unless fd is -1).
-*/
-
-ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
-/*
- Set the internal buffer size used by this library's functions. The
- default buffer size is 8192 bytes. This function must be called after
- gzopen() or gzdopen(), and before any other calls that read or write the
- file. The buffer memory allocation is always deferred to the first read or
- write. Two buffers are allocated, either both of the specified size when
- writing, or one of the specified size and the other twice that size when
- reading. A larger buffer size of, for example, 64K or 128K bytes will
- noticeably increase the speed of decompression (reading).
-
- The new buffer size also affects the maximum length for gzprintf().
-
- gzbuffer() returns 0 on success, or -1 on failure, such as being called
- too late.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
-
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file. If
- the input file was not in gzip format, gzread copies the given number of
- bytes into the buffer.
-
- After reaching the end of a gzip stream in the input, gzread will continue
- to read, looking for another gzip stream, or failing that, reading the rest
- of the input file directly without decompression. The entire input file
- will be read if gzread is called until it returns less than the requested
- len.
-
- gzread returns the number of uncompressed bytes actually read, less than
- len for end of file, or -1 for error.
-*/
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes written or 0 in case of
- error.
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the arguments to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written, or 0 in case of error. The number of
- uncompressed bytes written is limited to 8191, or one less than the buffer
- size given to gzbuffer(). The caller should assure that this limit is not
- exceeded. If it is exceeded, then gzprintf() will return an error (0) with
- nothing written. In this case, there may also be a buffer overflow with
- unpredictable consequences, which is possible only if zlib was compiled with
- the insecure functions sprintf() or vsprintf() because the secure snprintf()
- or vsnprintf() functions were not available. This can be determined using
- zlibCompileFlags().
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
-
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or a
- newline character is read and transferred to buf, or an end-of-file
- condition is encountered. If any characters are read or if len == 1, the
- string is terminated with a null character. If no characters are read due
- to an end-of-file or len < 1, then the buffer is left untouched.
-
- gzgets returns buf which is a null-terminated string, or it returns NULL
- for end-of-file or in case of error. If there was an error, the contents at
- buf are indeterminate.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file. gzputc
- returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte or -1
- in case of end of file or error.
-*/
-
-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
-/*
- Push one character back onto the stream to be read as the first character
- on the next read. At least one character of push-back is allowed.
- gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
- fail if c is -1, and may fail if a character has been pushed but not read
- yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
- output buffer size of pushed characters is allowed. (See gzbuffer above.)
- The pushed character will be discarded if the stream is repositioned with
- gzseek() or gzrewind().
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter flush
- is as in the deflate() function. The return value is the zlib error number
- (see function gzerror below). gzflush is only permitted when writing.
-
- If the flush parameter is Z_FINISH, the remaining data is written and the
- gzip stream is completed in the output. If gzwrite() is called again, a new
- gzip stream will be started in the output. gzread() is able to read such
- concatented gzip streams.
-
- gzflush should be called only when strictly necessary because it will
- degrade compression if called too often.
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-
- Sets the starting position for the next gzread or gzwrite on the given
- compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
-
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-
- Returns the starting position for the next gzread or gzwrite on the given
- compressed file. This position represents a number of bytes in the
- uncompressed data stream, and is zero when starting, even if appending or
- reading a gzip stream from the middle of a file using gzdopen().
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-/*
-ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
-
- Returns the current offset in the file being read or written. This offset
- includes the count of bytes that precede the gzip stream, for example when
- appending or when using gzdopen() for reading. When reading, the offset
- does not include as yet unused buffered input. This information can be used
- for a progress indicator. On error, gzoffset() returns -1.
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns true (1) if the end-of-file indicator has been set while reading,
- false (0) otherwise. Note that the end-of-file indicator is set only if the
- read tried to go past the end of the input, but came up short. Therefore,
- just like feof(), gzeof() may return false even if there is no more data to
- read, in the event that the last read request was for the exact number of
- bytes remaining in the input file. This will happen if the input file size
- is an exact multiple of the buffer size.
-
- If gzeof() returns true, then the read functions will return no more data,
- unless the end-of-file indicator is reset by gzclearerr() and the input file
- has grown since the previous end of file was detected.
-*/
-
-ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
-/*
- Returns true (1) if file is being copied directly while reading, or false
- (0) if file is a gzip stream being decompressed. This state can change from
- false to true while reading the input file if the end of a gzip stream is
- reached, but is followed by data that is not another gzip stream.
-
- If the input file is empty, gzdirect() will return true, since the input
- does not contain a gzip stream.
-
- If gzdirect() is used immediately after gzopen() or gzdopen() it will
- cause buffers to be allocated to allow reading the file to determine if it
- is a gzip file. Therefore if gzbuffer() is used, it should be called before
- gzdirect().
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file and
- deallocates the (de)compression state. Note that once file is closed, you
- cannot call gzerror with file, since its structures have been deallocated.
- gzclose must not be called more than once on the same file, just as free
- must not be called more than once on the same allocation.
-
- gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
- file operation error, or Z_OK on success.
-*/
-
-ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
-ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
-/*
- Same as gzclose(), but gzclose_r() is only for use when reading, and
- gzclose_w() is only for use when writing or appending. The advantage to
- using these instead of gzclose() is that they avoid linking in zlib
- compression or decompression code that is not used when only reading or only
- writing respectively. If gzclose() is used, then both compression and
- decompression code will be included the application when linking to a static
- zlib library.
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the given
- compressed file. errnum is set to zlib error number. If an error occurred
- in the file system and not in the compression library, errnum is set to
- Z_ERRNO and the application may consult errno to get the exact error code.
-
- The application must not modify the returned string. Future calls to
- this function may invalidate the previously returned string. If file is
- closed, then the string previously returned by gzerror will no longer be
- available.
-
- gzerror() should be used to distinguish errors from end-of-file for those
- functions above that do not distinguish those cases in their return values.
-*/
-
-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
-/*
- Clears the error and end-of-file flags for file. This is analogous to the
- clearerr() function in stdio. This is useful for continuing to read a gzip
- file that is being written concurrently.
-*/
-
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the compression
- library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is Z_NULL, this function returns the
- required initial value for the checksum.
-
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster.
-
- Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-/*
-ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
- z_off_t len2));
-
- Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
- and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
- each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
- seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running CRC-32 with the bytes buf[0..len-1] and return the
- updated CRC-32. If buf is Z_NULL, this function returns the required
- initial value for the for the crc. Pre- and post-conditioning (one's
- complement) is performed within this function so it shouldn't be done by the
- application.
-
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-/*
-ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
-
- Combine two CRC-32 check values into one. For two sequences of bytes,
- seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
- calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
- check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
- len2.
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, sizeof(z_stream))
-
-/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
- * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
- * both are true, the application gets the *64 functions, and the regular
- * functions are changed to 64 bits) -- in case these are set on systems
- * without large file support, _LFS64_LARGEFILE must also be true
- */
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
- ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
- ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
- ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
-#endif
-
-#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
-# define gzopen gzopen64
-# define gzseek gzseek64
-# define gztell gztell64
-# define gzoffset gzoffset64
-# define adler32_combine adler32_combine64
-# define crc32_combine crc32_combine64
-# ifdef _LARGEFILE64_SOURCE
- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
- ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
- ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
- ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
-# endif
-#else
- ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
- ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
- ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
- ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
-#endif
-
-/* hack for buggy compilers */
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;};
-#endif
-
-/* undocumented functions */
-ZEXTERN const char * ZEXPORT zError OF((int));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZLIB_H */