From 4a711bea63dc53acce03198b5fbfaa103fe328d6 Mon Sep 17 00:00:00 2001 From: Lionel Sambuc Date: Wed, 21 Nov 2012 16:43:25 +0100 Subject: [PATCH] Upgrading bzip2 Change-Id: I6968b0f0401f3f42dc55a0f4938a7e12a3a55ae7 --- dist/bzip2/sample1.rb2 | Bin 32348 -> 0 bytes dist/bzip2/sample1.tst | Bin 98696 -> 0 bytes dist/bzip2/sample2.rb2 | Bin 73732 -> 0 bytes dist/bzip2/sample2.tst | Bin 212340 -> 0 bytes dist/bzip2/sample3.rb2 | Bin 235 -> 0 bytes dist/bzip2/sample3.tst | 30007 ---------------- {dist => external/bsd}/bzip2/bzip2netbsd | 18 +- .../bzip2 => external/bsd/bzip2/dist}/CHANGES | 12 +- .../bzip2 => external/bsd/bzip2/dist}/LICENSE | 4 +- .../bsd/bzip2/dist}/Makefile | 10 +- .../bsd/bzip2/dist}/Makefile-libbz2_so | 14 +- .../bzip2 => external/bsd/bzip2/dist}/README | 9 +- .../bzip2/dist}/README.COMPILATION.PROBLEMS | 6 +- .../bsd/bzip2/dist}/README.XML.STUFF | 4 +- .../bsd/bzip2/dist}/blocksort.c | 6 +- .../bsd/bzip2/dist}/bz-common.xsl | 0 .../bsd/bzip2/dist}/bz-fo.xsl | 0 .../bsd/bzip2/dist}/bz-html.xsl | 0 .../bzip2 => external/bsd/bzip2/dist}/bzdiff | 0 .../bsd/bzip2/dist}/bzdiff.1 | 2 + .../bzip2 => external/bsd/bzip2/dist}/bzgrep | 0 .../bsd/bzip2/dist}/bzgrep.1 | 2 + .../bsd/bzip2/dist}/bzip.css | 0 .../bzip2 => external/bsd/bzip2/dist}/bzip2.1 | 6 +- .../bzip2 => external/bsd/bzip2/dist}/bzip2.c | 14 +- .../bsd/bzip2/dist}/bzip2recover.c | 24 +- .../bzip2 => external/bsd/bzip2/dist}/bzlib.c | 6 +- .../bzip2 => external/bsd/bzip2/dist}/bzlib.h | 6 +- .../bsd/bzip2/dist}/bzlib_private.h | 10 +- .../bzip2 => external/bsd/bzip2/dist}/bzmore | 0 .../bsd/bzip2/dist}/bzmore.1 | 2 + .../bsd/bzip2/dist}/compress.c | 6 +- .../bsd/bzip2/dist}/crctable.c | 6 +- .../bsd/bzip2/dist}/decompress.c | 19 +- .../bsd/bzip2/dist}/dlltest.c | 2 + .../bsd/bzip2/dist}/dlltest.dsp | 0 .../bsd/bzip2/dist}/entities.xml | 6 +- .../bsd/bzip2/dist}/format.pl | 4 +- .../bsd/bzip2/dist}/huffman.c | 6 +- .../bsd/bzip2/dist}/libbz2.def | 0 .../bsd/bzip2/dist}/libbz2.dsp | 0 .../bsd/bzip2/dist}/makefile.msc | 0 .../bsd/bzip2/dist}/manual.html | 344 +- .../bsd/bzip2/dist}/manual.xml | 40 +- .../bzip2 => external/bsd/bzip2/dist}/mk251.c | 6 +- .../bsd/bzip2/dist}/randtable.c | 6 +- .../bsd/bzip2/dist}/sample1.bz2 | Bin .../bsd/bzip2/dist}/sample1.ref | Bin .../bsd/bzip2/dist}/sample2.bz2 | Bin .../bsd/bzip2/dist}/sample2.ref | Bin .../bsd/bzip2/dist}/sample3.bz2 | Bin .../bsd/bzip2/dist}/sample3.ref | 0 .../bzip2 => external/bsd/bzip2/dist}/spewG.c | 6 +- .../bsd/bzip2/dist}/unzcrash.c | 6 +- .../bzip2 => external/bsd/bzip2/dist}/words0 | 0 .../bzip2 => external/bsd/bzip2/dist}/words1 | 0 .../bzip2 => external/bsd/bzip2/dist}/words2 | 0 .../bzip2 => external/bsd/bzip2/dist}/words3 | 0 .../bsd/bzip2/dist}/xmlproc.sh | 4 +- lib/libbz2/Makefile | 2 +- releasetools/nbsd_ports | 8 +- usr.bin/bzip2/Makefile | 6 +- usr.bin/bzip2recover/Makefile | 2 +- 63 files changed, 343 insertions(+), 30298 deletions(-) delete mode 100644 dist/bzip2/sample1.rb2 delete mode 100644 dist/bzip2/sample1.tst delete mode 100644 dist/bzip2/sample2.rb2 delete mode 100644 dist/bzip2/sample2.tst delete mode 100644 dist/bzip2/sample3.rb2 delete mode 100644 dist/bzip2/sample3.tst rename {dist => external/bsd}/bzip2/bzip2netbsd (87%) mode change 100755 => 100644 rename {dist/bzip2 => external/bsd/bzip2/dist}/CHANGES (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/LICENSE (94%) rename {dist/bzip2 => external/bsd/bzip2/dist}/Makefile (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/Makefile-libbz2_so (78%) rename {dist/bzip2 => external/bsd/bzip2/dist}/README (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/README.COMPILATION.PROBLEMS (93%) rename {dist/bzip2 => external/bsd/bzip2/dist}/README.XML.STUFF (91%) rename {dist/bzip2 => external/bsd/bzip2/dist}/blocksort.c (99%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bz-common.xsl (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bz-fo.xsl (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bz-html.xsl (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzdiff (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzdiff.1 (93%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzgrep (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzgrep.1 (95%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzip.css (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzip2.1 (98%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzip2.c (99%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzip2recover.c (96%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzlib.c (99%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzlib.h (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzlib_private.h (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzmore (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/bzmore.1 (98%) rename {dist/bzip2 => external/bsd/bzip2/dist}/compress.c (99%) rename {dist/bzip2 => external/bsd/bzip2/dist}/crctable.c (96%) rename {dist/bzip2 => external/bsd/bzip2/dist}/decompress.c (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/dlltest.c (94%) rename {dist/bzip2 => external/bsd/bzip2/dist}/dlltest.dsp (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/entities.xml (58%) rename {dist/bzip2 => external/bsd/bzip2/dist}/format.pl (93%) mode change 100755 => 100644 rename {dist/bzip2 => external/bsd/bzip2/dist}/huffman.c (97%) rename {dist/bzip2 => external/bsd/bzip2/dist}/libbz2.def (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/libbz2.dsp (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/makefile.msc (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/manual.html (89%) rename {dist/bzip2 => external/bsd/bzip2/dist}/manual.xml (98%) rename {dist/bzip2 => external/bsd/bzip2/dist}/mk251.c (82%) rename {dist/bzip2 => external/bsd/bzip2/dist}/randtable.c (95%) rename {dist/bzip2 => external/bsd/bzip2/dist}/sample1.bz2 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/sample1.ref (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/sample2.bz2 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/sample2.ref (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/sample3.bz2 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/sample3.ref (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/spewG.c (90%) rename {dist/bzip2 => external/bsd/bzip2/dist}/unzcrash.c (95%) rename {dist/bzip2 => external/bsd/bzip2/dist}/words0 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/words1 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/words2 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/words3 (100%) rename {dist/bzip2 => external/bsd/bzip2/dist}/xmlproc.sh (96%) mode change 100755 => 100644 diff --git a/dist/bzip2/sample1.rb2 b/dist/bzip2/sample1.rb2 deleted file mode 100644 index 18dea60043b692c86b095c06123809f10430fd03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32348 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 T9V3)BU;ZxSig2MJnd56pDt(C> diff --git a/dist/bzip2/sample1.tst b/dist/bzip2/sample1.tst deleted file mode 100644 index a56e52b77f90faf637e2c1e87ee60eaffa4c5056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98696 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 Z(Zy#cUu01QmiqtNR=obJ?T`8Y`~PZf1y}$8 diff --git a/dist/bzip2/sample2.rb2 b/dist/bzip2/sample2.rb2 deleted file mode 100644 index d5a6160ba20903121617cb8bf4fbdb71ba1ca1e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73732 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 -
+

1. Introduction

bzip2 compresses files @@ -228,19 +228,19 @@ 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.

-
-
+

2. How to use bzip2

@@ -260,34 +260,34 @@ only in the program.

This chapter contains a copy of the bzip2 man page, and nothing else.

-
+

2.1. NAME

-
    -
  • bzip2, +

      +
    • bzip2, bunzip2 - a block-sorting file - compressor, v1.0.4

    • -
    • bzcat - + compressor, v1.0.6

    • +
    • bzcat - decompresses files to stdout

    • -
    • bzip2recover - +

    • bzip2recover - recovers data from damaged bzip2 files

-
+

2.2. SYNOPSIS

-
    -
  • bzip2 [ +

      +
    • bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ]

    • -
    • bunzip2 [ +

    • bunzip2 [ -fkvsVL ] [ filenames ... ]

    • -
    • bzcat [ -s ] [ +

    • bzcat [ -s ] [ filenames ... ]

    • -
    • bzip2recover +

    • bzip2recover filename

-
+

2.3. DESCRIPTION

bzip2 compresses files @@ -329,20 +329,20 @@ 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 +

      +
    • filename.bz2 becomes filename

    • -
    • filename.bz +

    • filename.bz becomes filename

    • -
    • filename.tbz2 +

    • filename.tbz2 becomes filename.tar

    • -
    • filename.tbz +

    • filename.tbz becomes filename.tar

    • -
    • anyothername +

    • anyothername becomes anyothername.out

    @@ -407,7 +407,7 @@ to indicate a corrupt compressed file, 3 for an internal consistency error (eg, bug) which caused bzip2 to panic.

-
+

2.4. OPTIONS

@@ -458,7 +458,7 @@ consistency error (eg, bug) which caused 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.

+ MEMORY MANAGEMENT below.

-q --quiet

Suppress non-essential warning messages. @@ -478,7 +478,7 @@ consistency error (eg, bug) which caused -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 + when compressing. Has no effect when decompressing. See MEMORY MANAGEMENT below. The --fast and --best aliases are primarily for GNU gzip compatibility. @@ -502,7 +502,7 @@ consistency error (eg, bug) which caused renders these flags irrelevant.

-
+

2.5. MEMORY MANAGEMENT

bzip2 compresses large @@ -574,7 +574,7 @@ Flag usage usage -s usage Size -8 6800k 3300k 2100k 828642 -9 7600k 3700k 2350k 828642

-
+

2.6. RECOVERING DATA FROM DAMAGED FILES

bzip2 compresses files in @@ -612,7 +612,7 @@ 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.

-
+

2.7. PERFORMANCE NOTES

The sorting phase of compression gathers together similar @@ -638,14 +638,14 @@ performance improvements. I imagine bzip2 will perform best on machines with very large caches.

-
+

2.8. 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.5 of +

This manual page pertains to version 1.0.6 of bzip2. 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, @@ -665,7 +665,7 @@ build yourself an unlimited version if you can recompile it with MaybeUInt64 set to be an unsigned 64-bit integer.

-
+

2.9. AUTHOR

Julian Seward, @@ -690,7 +690,7 @@ patches, helped with portability problems, lent machines, gave advice and were generally helpful.

-
+

3.  Programming with libbzip2 @@ -707,34 +707,34 @@ Programming with libbzip2
3.2. Error handling
3.3. Low-level interface
-
3.3.1. BZ2_bzCompressInit
-
3.3.2. BZ2_bzCompress
-
3.3.3. BZ2_bzCompressEnd
-
3.3.4. BZ2_bzDecompressInit
-
3.3.5. BZ2_bzDecompress
-
3.3.6. BZ2_bzDecompressEnd
+
3.3.1. BZ2_bzCompressInit
+
3.3.2. BZ2_bzCompress
+
3.3.3. BZ2_bzCompressEnd
+
3.3.4. BZ2_bzDecompressInit
+
3.3.5. BZ2_bzDecompress
+
3.3.6. BZ2_bzDecompressEnd
3.4. High-level interface
-
3.4.1. BZ2_bzReadOpen
-
3.4.2. BZ2_bzRead
-
3.4.3. BZ2_bzReadGetUnused
-
3.4.4. BZ2_bzReadClose
-
3.4.5. BZ2_bzWriteOpen
-
3.4.6. BZ2_bzWrite
-
3.4.7. BZ2_bzWriteClose
+
3.4.1. BZ2_bzReadOpen
+
3.4.2. BZ2_bzRead
+
3.4.3. BZ2_bzReadGetUnused
+
3.4.4. BZ2_bzReadClose
+
3.4.5. BZ2_bzWriteOpen
+
3.4.6. BZ2_bzWrite
+
3.4.7. BZ2_bzWriteClose
3.4.8. Handling embedded compressed data streams
3.4.9. Standard file-reading/writing code
3.5. Utility functions
-
3.5.1. BZ2_bzBuffToBuffCompress
-
3.5.2. BZ2_bzBuffToBuffDecompress
+
3.5.1. BZ2_bzBuffToBuffCompress
+
3.5.2. BZ2_bzBuffToBuffDecompress
-
3.6. zlib compatibility functions
-
3.7. Using the library in a stdio-free environment
+
3.6. zlib compatibility functions
+
3.7. Using the library in a stdio-free environment
-
3.7.1. Getting rid of stdio
+
3.7.1. Getting rid of stdio
3.7.2. Critical error handling
3.8. Making a Windows DLL
@@ -744,8 +744,8 @@ Programming with libbzip2 libbzip2.

For general background information, particularly about memory use and performance aspects, you'd be well advised to read -How to use bzip2 as well.

-
+How to use bzip2 as well.

+

3.1. Top-level structure

libbzip2 is a flexible @@ -765,7 +765,7 @@ library clients.

To use any part of the library, you need to #include <bzlib.h> into your sources.

-
+

3.1.1. Low-level summary

This interface provides services for compressing and @@ -800,7 +800,7 @@ to these functions. This is a flexible mechanism allowing a consumer-pull style of activity, or producer-push, or a mixture of both.

-
+

3.1.2. High-level summary

This interface provides some handy wrappers around the @@ -839,7 +839,7 @@ respectively. That avoids portability problems associated with file operations and file attributes, whilst not being much of an imposition on the programmer.

-
+

3.1.3. Utility functions summary

For very simple needs, @@ -871,7 +871,7 @@ I hope to document them properly when time permits.

library to be built as a Windows DLL.

-
+

3.2. Error handling

The library is designed to recover cleanly in all @@ -1008,12 +1008,12 @@ kind.

buffer provided.

-
+

3.3. Low-level interface

-
+

-3.3.1. BZ2_bzCompressInit

+3.3.1. BZ2_bzCompressInit

typedef struct {
   char *next_in;
   unsigned int avail_in;
@@ -1137,9 +1137,9 @@ BZ_OK
   if BZ_OK is returned
   no specific action needed in case of error
-
+

-3.3.2. BZ2_bzCompress

+3.3.2. BZ2_bzCompress
int BZ2_bzCompress ( bz_stream *strm, int action );

Provides more input and/or output buffer space for the library. The caller maintains input and output buffers, and @@ -1296,20 +1296,20 @@ FINISHING/other Return value = BZ_SEQUENCE_ERROR

That still looks complicated? Well, fair enough. The usual sequence of calls for compressing a load of data is:

-
    -
  1. Get started with +

      +
    1. Get started with BZ2_bzCompressInit.

    2. -
    3. Shovel data in and shlurp out its compressed form +

    4. Shovel data in and shlurp out its compressed form using zero or more calls of BZ2_bzCompress with action = BZ_RUN.

    5. -
    6. Finish up. Repeatedly call +

    7. Finish up. Repeatedly call BZ2_bzCompress with action = BZ_FINISH, copying out the compressed output, until BZ_STREAM_END is returned.

    8. -
    9. Close up and go home. Call +

    10. Close up and go home. Call BZ2_bzCompressEnd.

    If the data you want to compress fits into your input @@ -1329,9 +1329,9 @@ a bug in your programming.

    BZ_PARAM_ERROR
       if strm is NULL, or strm->s is NULL
-
+

-3.3.3. BZ2_bzCompressEnd

+3.3.3. BZ2_bzCompressEnd
int BZ2_bzCompressEnd ( bz_stream *strm );

Releases all memory associated with a compression stream.

@@ -1339,9 +1339,9 @@ stream.

BZ_PARAM_ERROR  if strm is NULL or strm->s is NULL
 BZ_OK           otherwise
-
+

-3.3.4. BZ2_bzDecompressInit

+3.3.4. BZ2_bzDecompressInit
int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );

Prepares for decompression. As with BZ2_bzCompressInit, a @@ -1364,7 +1364,7 @@ internal state will have been initialised, and 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 How to use bzip2 +requirement drops to around 2300k). See How to use bzip2 for more information on memory management.

Note that the amount of memory needed to decompress a stream cannot be determined until the stream's header has been @@ -1386,9 +1386,9 @@ BZ_MEM_ERROR if BZ_OK was returned no specific action required in case of error

-
+

-3.3.5. BZ2_bzDecompress

+3.3.5. BZ2_bzDecompress
int BZ2_bzDecompress ( bz_stream *strm );

Provides more input and/out output buffer space for the library. The caller maintains input and output buffers, and uses @@ -1461,9 +1461,9 @@ BZ_OK BZ2_bzDecompressEnd otherwise

-
+

-3.3.6. BZ2_bzDecompressEnd

+3.3.6. BZ2_bzDecompressEnd
int BZ2_bzDecompressEnd ( bz_stream *strm );

Releases all memory associated with a decompression stream.

@@ -1476,14 +1476,14 @@ BZ_OK
  None.
-
+

3.4. High-level interface

This interface provides functions for reading and writing bzip2 format files. First, some general points.

-
    -
  • All of the functions take an +

      +
    • All of the functions take an int* first argument, bzerror. After each call, bzerror should be consulted @@ -1500,7 +1500,7 @@ general points.

      of the difficulty. bzerror may also be set to various other values; precise details are given on a per-function basis below.

    • -
    • If bzerror indicates +

    • If bzerror indicates an error (ie, anything except BZ_OK and BZ_STREAM_END), you should @@ -1519,22 +1519,22 @@ general points.

      BZ2_bzReadClose (BZ2_bzWriteClose) should then be called to clean up.

    • -
    • The FILE* arguments +

    • The FILE* arguments passed to BZ2_bzReadOpen / BZ2_bzWriteOpen 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.

    • -
    • Memory allocation requests are handled by +

    • Memory allocation requests are handled by malloc / free. At present there is no facility for user-defined memory allocators in the file I/O functions (could easily be added, though).

    -
    +

    -3.4.1. BZ2_bzReadOpen

    +3.4.1. BZ2_bzReadOpen
typedef void BZFILE;
 
 BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f, 
@@ -1594,9 +1594,9 @@ NULL
 BZ2_bzClose
   otherwise
-
+

-3.4.2. BZ2_bzRead

+3.4.2. BZ2_bzRead
int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );

Reads up to len (uncompressed) bytes from the compressed file @@ -1668,9 +1668,9 @@ collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused BZ2_bzReadClose otherwise

-
+

-3.4.3. BZ2_bzReadGetUnused

+3.4.3. BZ2_bzReadGetUnused
void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b, 
                           void** unused, int* nUnused );

Returns data which was read from the compressed file but @@ -1697,9 +1697,9 @@ BZ_OK

Allowable next actions:

BZ2_bzReadClose
-
+

-3.4.4. BZ2_bzReadClose

+3.4.4. BZ2_bzReadClose
void BZ2_bzReadClose ( int *bzerror, BZFILE *b );

Releases all memory pertaining to the compressed file b. @@ -1717,9 +1717,9 @@ BZ_OK

Allowable next actions:

none
-
+

-3.4.5. BZ2_bzWriteOpen

+3.4.5. BZ2_bzWriteOpen
BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f, 
                          int blockSize100k, int verbosity,
                          int workFactor );
@@ -1763,9 +1763,9 @@ NULL BZ2_bzWriteClose otherwise
-
+

-3.4.6. BZ2_bzWrite

+3.4.6. BZ2_bzWrite
void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );

Absorbs len bytes from the buffer buf, eventually to be @@ -1781,9 +1781,9 @@ BZ_IO_ERROR BZ_OK otherwise -

+

-3.4.7. BZ2_bzWriteClose

+3.4.7. BZ2_bzWriteClose
void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
                        int abandon,
                        unsigned int* nbytes_in,
@@ -1833,20 +1833,20 @@ BZ_IO_ERROR
 BZ_OK
   otherwise
-
+

3.4.8. Handling embedded compressed data streams

The high-level library facilitates use of bzip2 data streams which form some part of a surrounding, larger data stream.

-
    -
  • For writing, the library takes an open file handle, +

      +
    • For writing, the library takes an open file handle, writes compressed data to it, fflushes it but does not fclose it. The calling application can write its own data before and after the compressed data stream, using that same file handle.

    • -
    • Reading is more complex, and the facilities are not as +

    • Reading is more complex, and the facilities are not as general as they could be since generality is hard to reconcile with efficiency. BZ2_bzRead reads from the compressed file in blocks of size @@ -1882,7 +1882,7 @@ can be used. If you require extra flexibility, you'll have to bite the bullet and get to grips with the low-level interface.

    -
    +

    3.4.9. Standard file-reading/writing code

    Here's how you'd write data to a compressed file:

    @@ -1949,12 +1949,12 @@ if ( bzerror != BZ_STREAM_END ) { }
    -
    +

    3.5. Utility functions

    -
    +

    -3.5.1. BZ2_bzBuffToBuffCompress

    +3.5.1. BZ2_bzBuffToBuffCompress
    int BZ2_bzBuffToBuffCompress( char*         dest,
                                   unsigned int* destLen,
                                   char*         source,
    @@ -2005,9 +2005,9 @@ BZ_OUTBUFF_FULL
     BZ_OK
       otherwise
    -
    +

    -3.5.2. BZ2_bzBuffToBuffDecompress

    +3.5.2. BZ2_bzBuffToBuffDecompress
int BZ2_bzBuffToBuffDecompress( char*         dest,
                                 unsigned int* destLen,
                                 char*         source,
@@ -2065,9 +2065,9 @@ BZ_OK
   otherwise
-
+

-3.6. zlib compatibility functions

+3.6. zlib compatibility functions

Yoshioka Tsuneo has contributed some functions to give better zlib compatibility. These functions are BZ2_bzopen, @@ -2108,12 +2108,12 @@ and fclose.

*errnum to its numerical value.

-
+

-3.7. Using the library in a stdio-free environment

-
+3.7. Using the library in a stdio-free environment
+

-3.7.1. Getting rid of stdio

+3.7.1. Getting rid of stdio

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 @@ -2131,7 +2131,7 @@ functions:

When compiled like this, all functions will ignore verbosity settings.

-
+

3.7.2. Critical error handling

libbzip2 contains a number @@ -2143,13 +2143,13 @@ behaviour depends on whether or not the library was compiled with message:

bzip2/libbzip2: internal error number N.

-

This is a bug in bzip2/libbzip2, 1.0.5 of 10 December 2007. +

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, 10 December 2007. +quality software. Thanks. Julian Seward, 6 September 2010.

where N is some error code @@ -2176,7 +2176,7 @@ are indicated via error return codes from functions, and can be recovered from.

-
+

3.8. Making a Windows DLL

Everything related to Windows has been contributed by @@ -2218,7 +2218,7 @@ Otherwise the resulting binary won't work correctly.

plausible.

-
+

4. Miscellanea

@@ -2233,7 +2233,7 @@ plausible.

These are just some random thoughts of mine. Your mileage may vary.

-
+

4.1. Limitations of the compressed file format

bzip2-1.0.X, @@ -2250,15 +2250,15 @@ work since the release of shown complexities in the file format which slow down decompression and, in retrospect, are unnecessary. These are:

-
    -
  • The run-length encoder, which is the first of the +

      +
    • 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.

    • -
    • +
    • 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 @@ -2281,7 +2281,7 @@ are:

      algorithm if the standard algorithm gets into difficulties.

    • -
    • The compressed file format was never designed to be +

    • 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 @@ -2289,7 +2289,7 @@ are:

      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.

    • -
    • An Adler-32 checksum, rather than a CRC32 checksum, +

    • An Adler-32 checksum, rather than a CRC32 checksum, would be faster to compute.

    It would be fair to say that the @@ -2298,14 +2298,14 @@ properly and fully understood the performance consequences of doing so.

    Improvements which I was able to incorporate into 0.9.0, despite using the same file format, are:

    -
      -
    • Single array implementation of the inverse BWT. This +

        +
      • Single array implementation of the inverse BWT. This significantly speeds up decompression, presumably because it reduces the number of cache misses.

      • -
      • Faster inverse MTF transform for large MTF values. +

      • Faster inverse MTF transform for large MTF values. The new implementation is based on the notion of sliding blocks of values.

      • -
      • bzip2-0.9.0 now reads +

      • bzip2-0.9.0 now reads and writes files with fread and fwrite; version 0.1 used putc and @@ -2316,7 +2316,7 @@ despite using the same file format, are:

        access into files. This will require some careful design of compressed file formats.

      -
      +

      4.2. Portability issues

      After some consideration, I have decided not to use GNU @@ -2366,7 +2366,7 @@ and BZ_LCCWIN32 to 1, in the file bzip2.c, before compiling. Otherwise the resulting binary won't work correctly.

      -
      +

      4.3. Reporting bugs

      I tried pretty hard to make sure @@ -2379,8 +2379,8 @@ 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.

      -
        -
      • +
          +
        • 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 @@ -2400,7 +2400,7 @@ problems.

          a pretty good (but not 100%) indication that the compiler has done its job correctly.

        • -
        • +
        • If bzip2 crashes randomly, and the crashes are not repeatable, you may have a flaky memory subsystem. @@ -2411,7 +2411,7 @@ problems.

          Try using a different machine of the same type, and see if you can repeat the problem.

        • -
        • This isn't really a bug, but ... If +

        • This isn't really a bug, but ... If bzip2 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 @@ -2447,7 +2447,7 @@ 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.

        -
        +

        4.4. Did you get the right package?

        bzip2 is a resource hog. @@ -2464,15 +2464,15 @@ uses less memory but gets pretty good compression, and has minimal latency, consider Jean-loup Gailly's and Mark Adler's work, zlib-1.2.1 and gzip-1.2.4. Look for them at -http://www.zlib.org and -http://www.gzip.org +http://www.zlib.org and +http://www.gzip.org respectively.

        For something faster and lighter still, you might try Markus F X J Oberhumer's LZO real-time compression/decompression library, at -http://www.oberhumer.com/opensource.

        +http://www.oberhumer.com/opensource.

        -
        +

        4.5. Further Reading

        bzip2 is not research diff --git a/dist/bzip2/manual.xml b/external/bsd/bzip2/dist/manual.xml similarity index 98% rename from dist/bzip2/manual.xml rename to external/bsd/bzip2/dist/manual.xml index f22413602..a7fbcb337 100644 --- a/dist/bzip2/manual.xml +++ b/external/bsd/bzip2/dist/manual.xml @@ -9,7 +9,7 @@ - bzip2 and libbzip2, version 1.0.5 + bzip2 and libbzip2, version 1.0.6 A program and library for data compression &bz-lifespan; @@ -139,7 +139,7 @@ else. bzip2, bunzip2 - a block-sorting file - compressor, v1.0.4 + compressor, v1.0.6 bzcat - decompresses files to stdout @@ -1033,7 +1033,7 @@ kind. -<computeroutput>BZ2_bzCompressInit</computeroutput> +BZ2_bzCompressInit typedef struct { @@ -1183,7 +1183,7 @@ BZ2_bzCompress -<computeroutput>BZ2_bzCompress</computeroutput> +BZ2_bzCompress int BZ2_bzCompress ( bz_stream *strm, int action ); @@ -1408,7 +1408,7 @@ BZ_PARAM_ERROR -<computeroutput>BZ2_bzCompressEnd</computeroutput> +BZ2_bzCompressEnd int BZ2_bzCompressEnd ( bz_stream *strm ); @@ -1428,7 +1428,7 @@ BZ_OK otherwise -<computeroutput>BZ2_bzDecompressInit</computeroutput> +BZ2_bzDecompressInit int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small ); @@ -1492,7 +1492,7 @@ BZ2_bzDecompress -<computeroutput>BZ2_bzDecompress</computeroutput> +BZ2_bzDecompress int BZ2_bzDecompress ( bz_stream *strm ); @@ -1587,7 +1587,7 @@ BZ2_bzDecompressEnd -<computeroutput>BZ2_bzDecompressEnd</computeroutput> +BZ2_bzDecompressEnd int BZ2_bzDecompressEnd ( bz_stream *strm ); @@ -1682,7 +1682,7 @@ general points. -<computeroutput>BZ2_bzReadOpen</computeroutput> +BZ2_bzReadOpen typedef void BZFILE; @@ -1765,7 +1765,7 @@ BZ2_bzClose -<computeroutput>BZ2_bzRead</computeroutput> +BZ2_bzRead int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len ); @@ -1859,7 +1859,7 @@ BZ2_bzReadClose -<computeroutput>BZ2_bzReadGetUnused</computeroutput> +BZ2_bzReadGetUnused void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b, @@ -1903,7 +1903,7 @@ BZ2_bzReadClose -<computeroutput>BZ2_bzReadClose</computeroutput> +BZ2_bzReadClose void BZ2_bzReadClose ( int *bzerror, BZFILE *b ); @@ -1937,7 +1937,7 @@ none -<computeroutput>BZ2_bzWriteOpen</computeroutput> +BZ2_bzWriteOpen BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f, @@ -2003,7 +2003,7 @@ BZ2_bzWriteClose -<computeroutput>BZ2_bzWrite</computeroutput> +BZ2_bzWrite void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len ); @@ -2031,7 +2031,7 @@ BZ_OK -<computeroutput>BZ2_bzWriteClose</computeroutput> +BZ2_bzWriteClose void BZ2_bzWriteClose( int *bzerror, BZFILE* f, @@ -2235,7 +2235,7 @@ if ( bzerror != BZ_STREAM_END ) { -<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> +BZ2_bzBuffToBuffCompress int BZ2_bzBuffToBuffCompress( char* dest, @@ -2302,7 +2302,7 @@ BZ_OK -<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> +BZ2_bzBuffToBuffDecompress int BZ2_bzBuffToBuffDecompress( char* dest, @@ -2377,7 +2377,7 @@ BZ_OK -<computeroutput>zlib</computeroutput> compatibility functions +zlib compatibility functions Yoshioka Tsuneo has contributed some functions to give better zlib compatibility. @@ -2444,11 +2444,11 @@ value. -Using the library in a <computeroutput>stdio</computeroutput>-free environment +Using the library in a stdio-free environment -Getting rid of <computeroutput>stdio</computeroutput> +Getting rid of stdio In a deeply embedded application, you might want to use just the memory-to-memory functions. You can do this diff --git a/dist/bzip2/mk251.c b/external/bsd/bzip2/dist/mk251.c similarity index 82% rename from dist/bzip2/mk251.c rename to external/bsd/bzip2/dist/mk251.c index 39e94c057..4abf1d9ce 100644 --- a/dist/bzip2/mk251.c +++ b/external/bsd/bzip2/dist/mk251.c @@ -1,3 +1,5 @@ +/* $NetBSD: mk251.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /* 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 @@ -9,8 +11,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/randtable.c b/external/bsd/bzip2/dist/randtable.c similarity index 95% rename from dist/bzip2/randtable.c rename to external/bsd/bzip2/dist/randtable.c index 068b76367..2d316a682 100644 --- a/dist/bzip2/randtable.c +++ b/external/bsd/bzip2/dist/randtable.c @@ -1,3 +1,5 @@ +/* $NetBSD: randtable.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Table for randomising repetitive blocks ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/sample1.bz2 b/external/bsd/bzip2/dist/sample1.bz2 similarity index 100% rename from dist/bzip2/sample1.bz2 rename to external/bsd/bzip2/dist/sample1.bz2 diff --git a/dist/bzip2/sample1.ref b/external/bsd/bzip2/dist/sample1.ref similarity index 100% rename from dist/bzip2/sample1.ref rename to external/bsd/bzip2/dist/sample1.ref diff --git a/dist/bzip2/sample2.bz2 b/external/bsd/bzip2/dist/sample2.bz2 similarity index 100% rename from dist/bzip2/sample2.bz2 rename to external/bsd/bzip2/dist/sample2.bz2 diff --git a/dist/bzip2/sample2.ref b/external/bsd/bzip2/dist/sample2.ref similarity index 100% rename from dist/bzip2/sample2.ref rename to external/bsd/bzip2/dist/sample2.ref diff --git a/dist/bzip2/sample3.bz2 b/external/bsd/bzip2/dist/sample3.bz2 similarity index 100% rename from dist/bzip2/sample3.bz2 rename to external/bsd/bzip2/dist/sample3.bz2 diff --git a/dist/bzip2/sample3.ref b/external/bsd/bzip2/dist/sample3.ref similarity index 100% rename from dist/bzip2/sample3.ref rename to external/bsd/bzip2/dist/sample3.ref diff --git a/dist/bzip2/spewG.c b/external/bsd/bzip2/dist/spewG.c similarity index 90% rename from dist/bzip2/spewG.c rename to external/bsd/bzip2/dist/spewG.c index 5892b92c3..c166843b4 100644 --- a/dist/bzip2/spewG.c +++ b/external/bsd/bzip2/dist/spewG.c @@ -1,3 +1,5 @@ +/* $NetBSD: spewG.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /* spew out a thoroughly gigantic file designed so that bzip2 can compress it reasonably rapidly. This is to help test @@ -13,8 +15,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/unzcrash.c b/external/bsd/bzip2/dist/unzcrash.c similarity index 95% rename from dist/bzip2/unzcrash.c rename to external/bsd/bzip2/dist/unzcrash.c index a1b75463a..d3cf0a942 100644 --- a/dist/bzip2/unzcrash.c +++ b/external/bsd/bzip2/dist/unzcrash.c @@ -1,3 +1,5 @@ +/* $NetBSD: unzcrash.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /* A test program written to test robustness to decompression of corrupted data. Usage is @@ -17,8 +19,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/words0 b/external/bsd/bzip2/dist/words0 similarity index 100% rename from dist/bzip2/words0 rename to external/bsd/bzip2/dist/words0 diff --git a/dist/bzip2/words1 b/external/bsd/bzip2/dist/words1 similarity index 100% rename from dist/bzip2/words1 rename to external/bsd/bzip2/dist/words1 diff --git a/dist/bzip2/words2 b/external/bsd/bzip2/dist/words2 similarity index 100% rename from dist/bzip2/words2 rename to external/bsd/bzip2/dist/words2 diff --git a/dist/bzip2/words3 b/external/bsd/bzip2/dist/words3 similarity index 100% rename from dist/bzip2/words3 rename to external/bsd/bzip2/dist/words3 diff --git a/dist/bzip2/xmlproc.sh b/external/bsd/bzip2/dist/xmlproc.sh old mode 100755 new mode 100644 similarity index 96% rename from dist/bzip2/xmlproc.sh rename to external/bsd/bzip2/dist/xmlproc.sh index 53841773d..ca284ea9e --- a/dist/bzip2/xmlproc.sh +++ b/external/bsd/bzip2/dist/xmlproc.sh @@ -5,8 +5,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.5 of 10 December 2007 -# Copyright (C) 1996-2007 Julian Seward +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. diff --git a/lib/libbz2/Makefile b/lib/libbz2/Makefile index 5a41cbded..82258e626 100644 --- a/lib/libbz2/Makefile +++ b/lib/libbz2/Makefile @@ -12,7 +12,7 @@ NOMAN= # defined .include LIB= bz2 -DIST= ${NETBSDSRCDIR}/dist/bzip2 +DIST= ${NETBSDSRCDIR}/external/bsd/bzip2/dist .PATH: ${DIST} SRCS= blocksort.c huffman.c crctable.c randtable.c compress.c \ diff --git a/releasetools/nbsd_ports b/releasetools/nbsd_ports index 1f1b82724..db41ed10d 100644 --- a/releasetools/nbsd_ports +++ b/releasetools/nbsd_ports @@ -2,6 +2,10 @@ # Timestamp in UTC,minixpath,netbsdpath # minixpath: path in Minix source tree (starting from /usr/src/) # netbsdpath: path in BSD source tree (starting from src/) +2012/10/17 12:00:00,lib/libbz2 +2012/10/17 12:00:00,usr.bin/bzip2 +2012/10/17 12:00:00,usr.bin/bzip2recover +2012/10/17 12:00:00,external/bsd/bzip2 2012/10/17 12:00:00,bin/Makefile 2012/10/17 12:00:00,bin/Makefile.inc 2012/10/17 12:00:00,build.sh @@ -106,7 +110,6 @@ 2011/01/06 11:29:40,lib/libcurses 2010/12/22 09:12:28,lib/libutil 2009/05/13 02:50:31,common/lib/libutil -2008/08/29 00:02:22,lib/libbz2 2011/01/21 23:36:49,include 2008/07/20 00:52:40,bin/mkdir 2011/08/29 14:48:46,bin/rm @@ -133,10 +136,7 @@ 2011/01/04 10:30:21,usr.sbin/user 2009/04/19 00:44:49,usr.sbin/vipw 2009/04/22 15:23:10,usr.sbin/zic -2007/05/28 12:06:24,usr.bin/bzip2 -2007/05/28 12:06:25,usr.bin/bzip2recover 2009/04/02 21:39:33,libexec/makewhatis -2010/05/14 16:43:34,dist/bzip2 2012/01/16 18:47:57,sys/lib/libsa 2011/10/30 00:28:57,sys/lib/libz 2011/09/16 16:16:12,external/bsd/file diff --git a/usr.bin/bzip2/Makefile b/usr.bin/bzip2/Makefile index ea28d1b3d..e46d34447 100644 --- a/usr.bin/bzip2/Makefile +++ b/usr.bin/bzip2/Makefile @@ -21,7 +21,7 @@ LDSTATIC?= -static CPPFLAGS+= -DSMALL .endif -DIST= ${NETBSDSRCDIR}/dist/bzip2 +DIST= ${NETBSDSRCDIR}/external/bsd/bzip2/dist .PATH: ${DIST} MLINKS+= bzip2.1 bunzip2.1\ @@ -31,8 +31,4 @@ MLINKS+= bzip2.1 bunzip2.1\ LINKS+= ${BINDIR}/bzip2 ${BINDIR}/bunzip2 LINKS+= ${BINDIR}/bzip2 ${BINDIR}/bzcat -test: - make -C dist/bzip2 test -install-extra: - make -C dist/bzip2 install .include diff --git a/usr.bin/bzip2recover/Makefile b/usr.bin/bzip2recover/Makefile index 8650ce999..5feeb1914 100644 --- a/usr.bin/bzip2recover/Makefile +++ b/usr.bin/bzip2recover/Makefile @@ -11,7 +11,7 @@ PROG= bzip2recover LDSTATIC?= -static .endif -DIST= ${NETBSDSRCDIR}/dist/bzip2 +DIST= ${NETBSDSRCDIR}/external/bsd/bzip2/dist .PATH: ${DIST} .include -- 2.44.0

gnIFfvi(O?e$J0;1+%xLGi@k}ivMjcJIU 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
    oa|c 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 diff --git a/dist/bzip2/sample3.rb2 b/dist/bzip2/sample3.rb2 deleted file mode 100644 index d90cff9208fe3f15eebd888e978f639248752126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmVGUXb&m7Q)GuvY4W7DBi0bybO}v|xtYG6|~5=Sd|%uMPkN zKoB6Yo`4Dni@uED{RR!AUXhJ4Aj_`^@cN^s$CJ95fR!nP>-4u_Z0JO2Gf1zI+FWf9 lNldh8X=%unLauTcBrdZ|@<43xY-0cb diff --git a/dist/bzip2/sample3.tst b/dist/bzip2/sample3.tst deleted file mode 100644 index 775a2f68e..000000000 --- a/dist/bzip2/sample3.tst +++ /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/dist/bzip2/bzip2netbsd b/external/bsd/bzip2/bzip2netbsd old mode 100755 new mode 100644 similarity index 87% rename from dist/bzip2/bzip2netbsd rename to external/bsd/bzip2/bzip2netbsd index 1184555c5..f48e31192 --- a/dist/bzip2/bzip2netbsd +++ b/external/bsd/bzip2/bzip2netbsd @@ -1,8 +1,8 @@ #! /bin/sh # -# $NetBSD: bzip2netbsd,v 1.3 2008/04/30 13:10:47 martin Exp $ +# $NetBSD: bzip2netbsd,v 1.1 2012/05/07 08:55:46 wiz Exp $ # -# Copyright (c) 1998, 1999, 2001 The NetBSD Foundation, Inc. +# Copyright (c) 1998, 1999, 2001, 2012 The NetBSD Foundation, Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -27,18 +27,18 @@ # POSSIBILITY OF SUCH DAMAGE. # # bzip2netbsd: convert a bzip2 source tree into a -# netbsd bzip2 source tree, under basesrc/dist, +# netbsd bzip2 source tree, under src/external/bsd/dist, # based on the other *2netbsd scripts in the NetBSD source tree # # Rough instructions for importing new bzip2 release: # # $ cd /some/where/temporary # $ tar xpfz /new/bzip2/release/tar/file -# $ sh /usr/src/dist/bzip2/bzip2netbsd bzip2-1.x.y `pwd` -# $ cd basesrc/dist/bzip2 -# $ cvs import -m "Import bzip2 1.x.y" basesrc/dist/bzip2 JSEWARD bzip2-1-x-y -# $ cd ../../.. -# $ rm -r basesrc bzip2-1.x.y +# $ sh /usr/src/external/bsd/bzip2/bzip2netbsd bzip2-1.x.y `pwd` +# $ cd src/external/bsd/bzip2/dist +# $ cvs import -m "Import bzip2 1.x.y" src/external/bsd/bzip2/dist JSEWARD bzip2-1-x-y +# $ cd ../../../../.. +# $ rm -r src bzip2-1.x.y # # - check makefiles to see if any extra sources have been added. # - update distrib/sets if necessary. @@ -46,7 +46,7 @@ if [ $# -ne 2 ]; then echo "bzip2netbsd src dest"; exit 1; fi r=$1 -d=$2/basesrc/dist/bzip2 +d=$2/src/external/bsd/bzip2/dist case "$d" in /*) diff --git a/dist/bzip2/CHANGES b/external/bsd/bzip2/dist/CHANGES similarity index 97% rename from dist/bzip2/CHANGES rename to external/bsd/bzip2/dist/CHANGES index 6e4f65e2e..81e97ca6f 100644 --- a/dist/bzip2/CHANGES +++ b/external/bsd/bzip2/dist/CHANGES @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -317,3 +317,11 @@ Fixes some minor bugs since the last version, 1.0.3. ~~~~~~~~~~~~~~~~~ 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/dist/bzip2/LICENSE b/external/bsd/bzip2/dist/LICENSE similarity index 94% rename from dist/bzip2/LICENSE rename to external/bsd/bzip2/dist/LICENSE index f420cffb6..cc614178c 100644 --- a/dist/bzip2/LICENSE +++ b/external/bsd/bzip2/dist/LICENSE @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2007 Julian R Seward. All +documentation, are copyright (C) 1996-2010 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -37,6 +37,6 @@ 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.5 of 10 December 2007 +bzip2/libbzip2 version 1.0.6 of 6 September 2010 -------------------------------------------------------------------------- diff --git a/dist/bzip2/Makefile b/external/bsd/bzip2/dist/Makefile similarity index 97% rename from dist/bzip2/Makefile rename to external/bsd/bzip2/dist/Makefile index 6feffb61b..9754ddf28 100644 --- a/dist/bzip2/Makefile +++ b/external/bsd/bzip2/dist/Makefile @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.5 of 10 December 2007 -# Copyright (C) 1996-2007 Julian Seward +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -15,7 +15,7 @@ SHELL=/bin/sh # To assist in cross-compiling -CC=clang +CC=gcc AR=ar RANLIB=ranlib LDFLAGS= @@ -24,7 +24,7 @@ BIGFILES=-D_FILE_OFFSET_BITS=64 CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) # Where you want it installed when you do 'make install' -PREFIX=/usr +PREFIX=/usr/local OBJS= blocksort.o \ @@ -137,7 +137,7 @@ bzip2recover.o: bzip2recover.c distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.5 +DISTNAME=bzip2-1.0.6 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) diff --git a/dist/bzip2/Makefile-libbz2_so b/external/bsd/bzip2/dist/Makefile-libbz2_so similarity index 78% rename from dist/bzip2/Makefile-libbz2_so rename to external/bsd/bzip2/dist/Makefile-libbz2_so index 9a13c77e4..e58791b3b 100644 --- a/dist/bzip2/Makefile-libbz2_so +++ b/external/bsd/bzip2/dist/Makefile-libbz2_so @@ -1,6 +1,6 @@ # This Makefile builds a shared version of the library, -# libbz2.so.1.0.4, with soname libbz2.so.1.0, +# 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 @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.5 of 10 December 2007 -# Copyright (C) 1996-2007 Julian Seward +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -35,13 +35,13 @@ OBJS= blocksort.o \ bzlib.o all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 $(OBJS) - $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4 + $(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.4 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.4 libbz2.so.1.0 bzip2-shared + 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 diff --git a/dist/bzip2/README b/external/bsd/bzip2/dist/README similarity index 97% rename from dist/bzip2/README rename to external/bsd/bzip2/dist/README index e17a84e04..9fb0f6360 100644 --- a/dist/bzip2/README +++ b/external/bsd/bzip2/dist/README @@ -6,8 +6,8 @@ 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.5 of 10 December 2007 -Copyright (C) 1996-2007 Julian Seward +bzip2/libbzip2 version 1.0.6 of 6 September 2010 +Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -181,6 +181,10 @@ 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 @@ -208,3 +212,4 @@ Cambridge, UK. 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/dist/bzip2/README.COMPILATION.PROBLEMS b/external/bsd/bzip2/dist/README.COMPILATION.PROBLEMS similarity index 93% rename from dist/bzip2/README.COMPILATION.PROBLEMS rename to external/bsd/bzip2/dist/README.COMPILATION.PROBLEMS index 22b95c6cb..667d0d6df 100644 --- a/dist/bzip2/README.COMPILATION.PROBLEMS +++ b/external/bsd/bzip2/dist/README.COMPILATION.PROBLEMS @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.5 of 10 December 2007 -Copyright (C) 1996-2007 Julian Seward +bzip2/libbzip2 version 1.0.6 of 6 September 2010 +Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -12,7 +12,7 @@ This program is released under the terms of the license contained in the file LICENSE. ------------------------------------------------------------------ -bzip2-1.0.5 should compile without problems on the vast majority of +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 diff --git a/dist/bzip2/README.XML.STUFF b/external/bsd/bzip2/dist/README.XML.STUFF similarity index 91% rename from dist/bzip2/README.XML.STUFF rename to external/bsd/bzip2/dist/README.XML.STUFF index 1a5b4c55a..3a57f3fa8 100644 --- a/dist/bzip2/README.XML.STUFF +++ b/external/bsd/bzip2/dist/README.XML.STUFF @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/blocksort.c b/external/bsd/bzip2/dist/blocksort.c similarity index 99% rename from dist/bzip2/blocksort.c rename to external/bsd/bzip2/dist/blocksort.c index bd2dec157..e739bacee 100644 --- a/dist/bzip2/blocksort.c +++ b/external/bsd/bzip2/dist/blocksort.c @@ -1,3 +1,5 @@ +/* $NetBSD: blocksort.c,v 1.1.1.2 2012/05/07 00:41:45 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Block sorting machinery ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/bz-common.xsl b/external/bsd/bzip2/dist/bz-common.xsl similarity index 100% rename from dist/bzip2/bz-common.xsl rename to external/bsd/bzip2/dist/bz-common.xsl diff --git a/dist/bzip2/bz-fo.xsl b/external/bsd/bzip2/dist/bz-fo.xsl similarity index 100% rename from dist/bzip2/bz-fo.xsl rename to external/bsd/bzip2/dist/bz-fo.xsl diff --git a/dist/bzip2/bz-html.xsl b/external/bsd/bzip2/dist/bz-html.xsl similarity index 100% rename from dist/bzip2/bz-html.xsl rename to external/bsd/bzip2/dist/bz-html.xsl diff --git a/dist/bzip2/bzdiff b/external/bsd/bzip2/dist/bzdiff similarity index 100% rename from dist/bzip2/bzdiff rename to external/bsd/bzip2/dist/bzdiff diff --git a/dist/bzip2/bzdiff.1 b/external/bsd/bzip2/dist/bzdiff.1 similarity index 93% rename from dist/bzip2/bzdiff.1 rename to external/bsd/bzip2/dist/bzdiff.1 index adb7a8e72..a8d109bda 100644 --- a/dist/bzip2/bzdiff.1 +++ b/external/bsd/bzip2/dist/bzdiff.1 @@ -1,3 +1,5 @@ +.\" $NetBSD: bzdiff.1,v 1.1.1.1 2012/05/07 00:21:46 wiz Exp $ +.\" \"Shamelessly copied from zmore.1 by Philippe Troin \"for Debian GNU/Linux .TH BZDIFF 1 diff --git a/dist/bzip2/bzgrep b/external/bsd/bzip2/dist/bzgrep similarity index 100% rename from dist/bzip2/bzgrep rename to external/bsd/bzip2/dist/bzgrep diff --git a/dist/bzip2/bzgrep.1 b/external/bsd/bzip2/dist/bzgrep.1 similarity index 95% rename from dist/bzip2/bzgrep.1 rename to external/bsd/bzip2/dist/bzgrep.1 index 930af8c7f..7022ca250 100644 --- a/dist/bzip2/bzgrep.1 +++ b/external/bsd/bzip2/dist/bzgrep.1 @@ -1,3 +1,5 @@ +.\" $NetBSD: bzgrep.1,v 1.1.1.1 2012/05/07 00:21:46 wiz Exp $ +.\" \"Shamelessly copied from zmore.1 by Philippe Troin \"for Debian GNU/Linux .TH BZGREP 1 diff --git a/dist/bzip2/bzip.css b/external/bsd/bzip2/dist/bzip.css similarity index 100% rename from dist/bzip2/bzip.css rename to external/bsd/bzip2/dist/bzip.css diff --git a/dist/bzip2/bzip2.1 b/external/bsd/bzip2/dist/bzip2.1 similarity index 98% rename from dist/bzip2/bzip2.1 rename to external/bsd/bzip2/dist/bzip2.1 index bafc44764..29496e059 100644 --- a/dist/bzip2/bzip2.1 +++ b/external/bsd/bzip2/dist/bzip2.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: bzip2.1,v 1.9 2010/05/14 16:43:34 joerg Exp $ +.\" $NetBSD: bzip2.1,v 1.3 2012/05/07 00:45:47 wiz Exp $ .\" .Dd May 14, 2010 .Dt BZIP2 1 @@ -487,11 +487,11 @@ I/O error messages are not as helpful as they could be. tries hard to detect I/O errors and exit cleanly, but the details of what the problem is sometimes seem rather misleading. .Pp -This manual page pertains to version 1.0.5 of +This manual page pertains to version 1.0.6 of .Nm 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 1.0.3, but with the +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 diff --git a/dist/bzip2/bzip2.c b/external/bsd/bzip2/dist/bzip2.c similarity index 99% rename from dist/bzip2/bzip2.c rename to external/bsd/bzip2/dist/bzip2.c index 23ab3db4a..7a606fe73 100644 --- a/dist/bzip2/bzip2.c +++ b/external/bsd/bzip2/dist/bzip2.c @@ -1,4 +1,4 @@ -/* $NetBSD: bzip2.c,v 1.8 2009/04/11 11:10:43 lukem Exp $ */ +/* $NetBSD: bzip2.c,v 1.3 2012/05/07 00:45:47 wiz Exp $ */ /*-----------------------------------------------------------*/ @@ -9,8 +9,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -804,7 +804,7 @@ void ioError ( void ) /*---------------------------------------------*/ -static +NORETURN static void mySignalCatcher ( IntNative n ) { fprintf ( stderr, @@ -816,7 +816,7 @@ void mySignalCatcher ( IntNative n ) /*---------------------------------------------*/ #ifndef SMALL -static +NORETURN static void mySIGSEGVorSIGBUScatcher ( IntNative n ) { if (opMode == OM_Z) @@ -1610,11 +1610,11 @@ void license ( void ) "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2007 by Julian Seward.\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.5 source distribution.\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" diff --git a/dist/bzip2/bzip2recover.c b/external/bsd/bzip2/dist/bzip2recover.c similarity index 96% rename from dist/bzip2/bzip2recover.c rename to external/bsd/bzip2/dist/bzip2recover.c index f30af3759..971ef255f 100644 --- a/dist/bzip2/bzip2recover.c +++ b/external/bsd/bzip2/dist/bzip2recover.c @@ -1,5 +1,4 @@ -/* $NetBSD: bzip2recover.c,v 1.7 2008/03/18 17:35:36 christos Exp $ */ - +/* $NetBSD: bzip2recover.c,v 1.3 2012/05/07 00:45:47 wiz Exp $ */ /*-----------------------------------------------------------*/ /*--- Block recoverer program for bzip2 ---*/ @@ -10,8 +9,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -23,6 +22,7 @@ /* This program is a complete hack and should be rewritten properly. It isn't very complicated. */ +#include #include #include #include @@ -38,9 +38,9 @@ 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" +#if 1 + typedef uint64_t MaybeUInt64; +# define MaybeUInt64_FMT "%" PRIu64 #else #ifdef _MSC_VER typedef unsigned __int64 MaybeUInt64; @@ -111,7 +111,7 @@ static void tooManyBlocks ( Int32 max_handled_blocks ); /*---------------------------------------------------*/ /*---------------------------------------------*/ -static void readError ( void ) +__dead static void readError ( void ) { fprintf ( stderr, "%s: I/O error reading `%s', possible reason follows.\n", @@ -124,7 +124,7 @@ static void readError ( void ) /*---------------------------------------------*/ -static void writeError ( void ) +__dead static void writeError ( void ) { fprintf ( stderr, "%s: I/O error reading `%s', possible reason follows.\n", @@ -137,7 +137,7 @@ static void writeError ( void ) /*---------------------------------------------*/ -static void mallocFail ( Int32 n ) +__dead static void mallocFail ( Int32 n ) { fprintf ( stderr, "%s: malloc failed on request for %d bytes.\n", @@ -149,7 +149,7 @@ static void mallocFail ( Int32 n ) /*---------------------------------------------*/ -static void tooManyBlocks ( Int32 max_handled_blocks ) +__dead static void tooManyBlocks ( Int32 max_handled_blocks ) { fprintf ( stderr, "%s: `%s' appears to contain more than %d blocks\n", @@ -328,7 +328,7 @@ Int32 main ( Int32 argc, Char** argv ) inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.6: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", diff --git a/dist/bzip2/bzlib.c b/external/bsd/bzip2/dist/bzlib.c similarity index 99% rename from dist/bzip2/bzlib.c rename to external/bsd/bzip2/dist/bzlib.c index 8b5ca35f5..4fa1eb33b 100644 --- a/dist/bzip2/bzlib.c +++ b/external/bsd/bzip2/dist/bzlib.c @@ -1,4 +1,4 @@ -/* $NetBSD: bzlib.c,v 1.4 2008/03/18 14:47:07 christos Exp $ */ +/* $NetBSD: bzlib.c,v 1.3 2012/05/07 00:45:47 wiz Exp $ */ /*-------------------------------------------------------------*/ @@ -10,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/bzlib.h b/external/bsd/bzip2/dist/bzlib.h similarity index 97% rename from dist/bzip2/bzlib.h rename to external/bsd/bzip2/dist/bzlib.h index c5b75d6d8..03f815636 100644 --- a/dist/bzip2/bzlib.h +++ b/external/bsd/bzip2/dist/bzlib.h @@ -1,3 +1,5 @@ +/* $NetBSD: bzlib.h,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Public header file for the library. ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/bzlib_private.h b/external/bsd/bzip2/dist/bzlib_private.h similarity index 97% rename from dist/bzip2/bzlib_private.h rename to external/bsd/bzip2/dist/bzlib_private.h index 23427879b..c9bee8223 100644 --- a/dist/bzip2/bzlib_private.h +++ b/external/bsd/bzip2/dist/bzlib_private.h @@ -1,3 +1,5 @@ +/* $NetBSD: bzlib_private.h,v 1.3 2012/05/07 00:45:47 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Private header file for the library. ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +38,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.5, 10-Dec-2007" +#define BZ_VERSION "1.0.6, 6-Sept-2010" typedef char Char; typedef unsigned char Bool; @@ -55,7 +57,7 @@ typedef unsigned short UInt16; #ifndef BZ_NO_STDIO -extern void BZ2_bz__AssertH__fail ( int errcode ); +__dead void BZ2_bz__AssertH__fail ( int errcode ); #define AssertH(cond,errcode) \ { if (!(cond)) BZ2_bz__AssertH__fail ( errcode ); } diff --git a/dist/bzip2/bzmore b/external/bsd/bzip2/dist/bzmore similarity index 100% rename from dist/bzip2/bzmore rename to external/bsd/bzip2/dist/bzmore diff --git a/dist/bzip2/bzmore.1 b/external/bsd/bzip2/dist/bzmore.1 similarity index 98% rename from dist/bzip2/bzmore.1 rename to external/bsd/bzip2/dist/bzmore.1 index b437d3b03..4e484513c 100644 --- a/dist/bzip2/bzmore.1 +++ b/external/bsd/bzip2/dist/bzmore.1 @@ -1,3 +1,5 @@ +.\" $NetBSD: bzmore.1,v 1.1.1.1 2012/05/07 00:21:47 wiz Exp $ +.\" .\"Shamelessly copied from zmore.1 by Philippe Troin .\"for Debian GNU/Linux .TH BZMORE 1 diff --git a/dist/bzip2/compress.c b/external/bsd/bzip2/dist/compress.c similarity index 99% rename from dist/bzip2/compress.c rename to external/bsd/bzip2/dist/compress.c index 8c80a0797..c3b862c0d 100644 --- a/dist/bzip2/compress.c +++ b/external/bsd/bzip2/dist/compress.c @@ -1,3 +1,5 @@ +/* $NetBSD: compress.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Compression machinery (not incl block sorting) ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/crctable.c b/external/bsd/bzip2/dist/crctable.c similarity index 96% rename from dist/bzip2/crctable.c rename to external/bsd/bzip2/dist/crctable.c index 215687b2c..fcdb0ce17 100644 --- a/dist/bzip2/crctable.c +++ b/external/bsd/bzip2/dist/crctable.c @@ -1,3 +1,5 @@ +/* $NetBSD: crctable.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Table for doing CRCs ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/decompress.c b/external/bsd/bzip2/dist/decompress.c similarity index 97% rename from dist/bzip2/decompress.c rename to external/bsd/bzip2/dist/decompress.c index af1d4d09a..821f809c7 100644 --- a/dist/bzip2/decompress.c +++ b/external/bsd/bzip2/dist/decompress.c @@ -1,3 +1,5 @@ +/* $NetBSD: decompress.c,v 1.3 2012/05/07 00:45:48 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Decompression machinery ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -492,15 +494,28 @@ Int32 BZ2_decompress ( DState* s ) 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; diff --git a/dist/bzip2/dlltest.c b/external/bsd/bzip2/dist/dlltest.c similarity index 94% rename from dist/bzip2/dlltest.c rename to external/bsd/bzip2/dist/dlltest.c index 03fa14620..3f603994a 100644 --- a/dist/bzip2/dlltest.c +++ b/external/bsd/bzip2/dist/dlltest.c @@ -1,3 +1,5 @@ +/* $NetBSD: dlltest.c,v 1.1.1.1 2012/05/07 00:21:46 wiz Exp $ */ + /* minibz2 libbz2.dll test program. diff --git a/dist/bzip2/dlltest.dsp b/external/bsd/bzip2/dist/dlltest.dsp similarity index 100% rename from dist/bzip2/dlltest.dsp rename to external/bsd/bzip2/dist/dlltest.dsp diff --git a/dist/bzip2/entities.xml b/external/bsd/bzip2/dist/entities.xml similarity index 58% rename from dist/bzip2/entities.xml rename to external/bsd/bzip2/dist/entities.xml index e9e0553b7..4b28f3465 100644 --- a/dist/bzip2/entities.xml +++ b/external/bsd/bzip2/dist/entities.xml @@ -1,9 +1,9 @@ - + - - + + diff --git a/dist/bzip2/format.pl b/external/bsd/bzip2/dist/format.pl old mode 100755 new mode 100644 similarity index 93% rename from dist/bzip2/format.pl rename to external/bsd/bzip2/dist/format.pl index 1928d1573..f169fd9de --- a/dist/bzip2/format.pl +++ b/external/bsd/bzip2/dist/format.pl @@ -4,8 +4,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.5 of 10 December 2007 -# Copyright (C) 1996-2007 Julian Seward +# bzip2/libbzip2 version 1.0.6 of 6 September 2010 +# Copyright (C) 1996-2010 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. diff --git a/dist/bzip2/huffman.c b/external/bsd/bzip2/dist/huffman.c similarity index 97% rename from dist/bzip2/huffman.c rename to external/bsd/bzip2/dist/huffman.c index 87e79e38a..2614878c3 100644 --- a/dist/bzip2/huffman.c +++ b/external/bsd/bzip2/dist/huffman.c @@ -1,3 +1,5 @@ +/* $NetBSD: huffman.c,v 1.1.1.2 2012/05/07 00:41:46 wiz Exp $ */ + /*-------------------------------------------------------------*/ /*--- Huffman coding low-level stuff ---*/ @@ -8,8 +10,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.5 of 10 December 2007 - Copyright (C) 1996-2007 Julian Seward + bzip2/libbzip2 version 1.0.6 of 6 September 2010 + Copyright (C) 1996-2010 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/dist/bzip2/libbz2.def b/external/bsd/bzip2/dist/libbz2.def similarity index 100% rename from dist/bzip2/libbz2.def rename to external/bsd/bzip2/dist/libbz2.def diff --git a/dist/bzip2/libbz2.dsp b/external/bsd/bzip2/dist/libbz2.dsp similarity index 100% rename from dist/bzip2/libbz2.dsp rename to external/bsd/bzip2/dist/libbz2.dsp diff --git a/dist/bzip2/makefile.msc b/external/bsd/bzip2/dist/makefile.msc similarity index 100% rename from dist/bzip2/makefile.msc rename to external/bsd/bzip2/dist/makefile.msc diff --git a/dist/bzip2/manual.html b/external/bsd/bzip2/dist/manual.html similarity index 89% rename from dist/bzip2/manual.html rename to external/bsd/bzip2/dist/manual.html index bd9eac859..f59427f7f 100644 --- a/dist/bzip2/manual.html +++ b/external/bsd/bzip2/dist/manual.html @@ -1,8 +1,8 @@ -bzip2 and libbzip2, version 1.0.5 - +bzip2 and libbzip2, version 1.0.6 + -
    +

    -bzip2 and libbzip2, version 1.0.5

    +bzip2 and libbzip2, version 1.0.6

    A program and library for data compression

    @@ -91,29 +91,29 @@ div.literallayout, pre.programlisting, pre.screen {

    http://www.bzip.org
    -

    Version 1.0.5 of 10 December 2007

    -
    -
    -

    This program, bzip2, the +

    Version 1.0.6 of 6 September 2010

    +
    +
    +

    This program, bzip2, the associated library libbzip2, and - all documentation, are copyright © 1996-2007 Julian Seward. + all documentation, are copyright © 1996-2010 Julian 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:

    -