From 33af97d93415ed6262e62baaeab210de17b5b595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sun, 21 Jul 2024 14:49:37 +0200 Subject: [PATCH] Fix some more error cases found by Go Fuzz --- helpers.go | 41 +++++++++++++---- imagemeta.go | 47 +++++++++++++++++--- imagemeta_fuzz_test.go | 3 +- metadecoder_exif.go | 8 ++++ testdata/fuzz/FuzzDecodeJPG/273e7c1d91609a4a | 2 + testdata/fuzz/FuzzDecodeJPG/773dee179fd633e0 | 2 + 6 files changed, 86 insertions(+), 17 deletions(-) create mode 100644 testdata/fuzz/FuzzDecodeJPG/273e7c1d91609a4a create mode 100644 testdata/fuzz/FuzzDecodeJPG/773dee179fd633e0 diff --git a/helpers.go b/helpers.go index cdb7a7f..e1dde3c 100644 --- a/helpers.go +++ b/helpers.go @@ -5,7 +5,9 @@ import ( "encoding" "errors" "fmt" + "io" "math" + "runtime" "strconv" "strings" "time" @@ -182,9 +184,8 @@ func (vc) convertAPEXToSeconds(ctx valueConverterContext, v any) any { } func (c vc) convertBytesToStringDelimBy(ctx valueConverterContext, v any, delim string) any { - bb, ok := v.([]byte) + bb, ok := typeAssert[[]byte](ctx, v) if !ok { - ctx.warnf("expected []byte, got %T", v) return "" } var buff bytes.Buffer @@ -212,12 +213,12 @@ func (c vc) convertDegreesToDecimal(ctx valueConverterContext, v any) any { } func (vc) convertNumbersToSpaceLimited(ctx valueConverterContext, v any) any { - var sb strings.Builder - nums, ok := v.([]any) + nums, ok := typeAssert[[]any](ctx, v) if !ok { - ctx.warnf("expected []any, got %T", v) return "" } + + var sb strings.Builder for i, n := range nums { if i > 0 { sb.WriteString(" ") @@ -228,16 +229,19 @@ func (vc) convertNumbersToSpaceLimited(ctx valueConverterContext, v any) any { } func (c vc) convertBinaryData(ctx valueConverterContext, v any) any { - b := v.([]byte) + b, ok := typeAssert[[]byte](ctx, v) + if !ok { + return "" + } return fmt.Sprintf("(Binary data %d bytes)", len(b)) } func (c vc) convertRatsToSpaceLimited(ctx valueConverterContext, v any) any { - nums, ok := v.([]any) + nums, ok := typeAssert[[]any](ctx, v) if !ok { - ctx.warnf("expected []any, got %T", v) return "" } + var sb strings.Builder for i, n := range nums { if i > 0 { @@ -263,7 +267,11 @@ func (c vc) convertRatsToSpaceLimited(ctx valueConverterContext, v any) any { } func (vc) convertStringToInt(ctx valueConverterContext, v any) any { - s := printableString(v.(string)) + s, ok := typeAssert[string](ctx, v) + if !ok { + return 0 + } + s = printableString(s) i, _ := strconv.Atoi(s) return i } @@ -404,3 +412,18 @@ func trimBytesNulls(b []byte) []byte { } return b[lo : hi+1] } + +func printStackTrace(w io.Writer) { + buf := make([]byte, 1<<16) + runtime.Stack(buf, true) + fmt.Fprintf(w, "%s", buf) +} + +func typeAssert[T any](ctx valueConverterContext, v any) (T, bool) { + vv, ok := v.(T) + if !ok { + ctx.warnf("expected %T, got %T", vv, v) + return vv, false + } + return vv, true +} diff --git a/imagemeta.go b/imagemeta.go index ece2034..002f74f 100644 --- a/imagemeta.go +++ b/imagemeta.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "math" + "os" "strings" "time" ) @@ -51,12 +52,21 @@ func Decode(opts Options) (err error) { if errp := r.(error); errp != nil { if isInvalidFormatErrorCandidate(errp) { err = newInvalidFormatError(errp) - } else if errp != errStop { - panic(errp) + } else { + err = errp } } } + if err == ErrStopWalking { + err = nil + return + } + + if err == errStop { + err = nil + } + if err == nil { if base != nil { err = base.streamErr() @@ -153,12 +163,30 @@ func Decode(opts Options) (err error) { dec = &imageDecoderPNG{baseStreamingDecoder: base} } - err = dec.decode() - if err != nil { - if err == ErrStopWalking { - return nil - } + if opts.Timeout > 0 { + errc := make(chan error, 1) + go func() { + defer func() { + if r := recover(); r != nil { + if errp := r.(error); errp != nil { + errc <- errp + } + } + }() + select { + case <-time.After(opts.Timeout): + printStackTrace(os.Stderr) + errc <- fmt.Errorf("timed out after %s", opts.Timeout) + case errc <- dec.decode(): + } + }() + + err = <-errc + + } else { + err = dec.decode() } + return } @@ -197,6 +225,11 @@ type Options struct { // Warnf will be called for each warning. Warnf func(string, ...any) + + // Timeout is the maximum time the decoder will spend on reading metadata. + // Mostly useful for testing. + // If set to 0, the decoder will not time out. + Timeout time.Duration } // TagInfo contains information about a tag. diff --git a/imagemeta_fuzz_test.go b/imagemeta_fuzz_test.go index 83636a9..46e0887 100644 --- a/imagemeta_fuzz_test.go +++ b/imagemeta_fuzz_test.go @@ -5,6 +5,7 @@ import ( "os" "path/filepath" "testing" + "time" "github.com/bep/imagemeta" ) @@ -63,7 +64,7 @@ func FuzzDecodeTIFF(f *testing.F) { func fuzzDecodeBytes(t *testing.T, imageBytes []byte, f imagemeta.ImageFormat) error { r := bytes.NewReader(imageBytes) - err := imagemeta.Decode(imagemeta.Options{R: r, ImageFormat: f, Sources: imagemeta.EXIF | imagemeta.IPTC | imagemeta.XMP}) + err := imagemeta.Decode(imagemeta.Options{R: r, ImageFormat: f, Sources: imagemeta.EXIF | imagemeta.IPTC | imagemeta.XMP, Timeout: 10 * time.Second}) if err != nil { if !imagemeta.IsInvalidFormat(err) { t.Fatalf("unknown error in Decode: %v %T", err, err) diff --git a/metadecoder_exif.go b/metadecoder_exif.go index 4ad837f..f75815f 100644 --- a/metadecoder_exif.go +++ b/metadecoder_exif.go @@ -120,6 +120,7 @@ func newMetaDecoderEXIF(r io.Reader, byteOrder binary.ByteOrder, thumbnailOffset func newMetaDecoderEXIFFromStreamReader(s *streamReader, thumbnailOffset int64, opts Options) *metaDecoderEXIF { return &metaDecoderEXIF{ thumbnailOffset: thumbnailOffset, + seenIFDs: map[string]struct{}{}, streamReader: s, opts: opts, valueConverterCtx: valueConverterContext{ @@ -135,6 +136,7 @@ type exifType uint16 type metaDecoderEXIF struct { *streamReader thumbnailOffset int64 + seenIFDs map[string]struct{} valueConverterCtx valueConverterContext opts Options } @@ -287,6 +289,12 @@ func (e *metaDecoderEXIF) decodeTag(namespace string) error { } ifd, isIFDPointer := exifIFDPointers[tagID] + if isIFDPointer { + if _, ok := e.seenIFDs[ifd]; ok { + return nil + } + e.seenIFDs[ifd] = struct{}{} + } typ := exifType(dataType) diff --git a/testdata/fuzz/FuzzDecodeJPG/273e7c1d91609a4a b/testdata/fuzz/FuzzDecodeJPG/273e7c1d91609a4a new file mode 100644 index 0000000..8805572 --- /dev/null +++ b/testdata/fuzz/FuzzDecodeJPG/273e7c1d91609a4a @@ -0,0 +1,2 @@ +go test fuzz v1 +[]byte("\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00H\x00H\x00\x00\xff\xed\x00\x1cPhotoshop 3.0\x008BIM\x04\x04\x00\x00\x00\x00\x00\x00\xff\xe2\fXICC_PROFILE\x00\x01\x01\x00\x00\fHLino\x02\x10\x00\x00mntrRGB XYZ \a\xce\x00\x02\x00\t\x00\x06\x001\x00\x00acspMSFT\x00\x00\x00\x00IEC sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\xf6\xd6\x00\x01\x00\x00\x00\x00\xd3-HP \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11cprt\x00\x00\x01P\x00\x00\x003desc\x00\x00\x01\x84\x00\x00\x00lwtpt\x00\x00\x01\xf0\x00\x00\x00\x14bkpt\x00\x00\x02\x04\x00\x00\x00\x14rXYZ\x00\x00\x02\x18\x00\x00\x00\x14gXYZ\x00\x00\x02,\x00\x00\x00\x14bXYZ\x00\x00\x02@\x00\x00\x00\x14dmnd\x00\x00\x02T\x00\x00\x00pdmdd\x00\x00\x02\xc4\x00\x00\x00\x88vued\x00\x00\x03L\x00\x00\x00\x86view\x00\x00\x03\xd4\x00\x00\x00$lumi\x00\x00\x03\xf8\x00\x00\x00\x14meas\x00\x00\x04\f\x00\x00\x00$tech\x00\x00\x040\x00\x00\x00\frTRC\x00\x00\x04<\x00\x00\b\fgTRC\x00\x00\x04<\x00\x00\b\fbTRC\x00\x00\x04<\x00\x00\b\ftext\x00\x00\x00\x00Copyright (c) 1998 Hewlett-Packard Company\x00\x00desc\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC61966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12sRGB IEC61966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00\xf3Q\x00\x01\x00\x00\x00\x01\x16\xccXYZ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00XYZ \x00\x00\x00\x00\x00\x00o\xa2\x00\x008\xf5\x00\x00\x03\x90XYZ \x00\x00\x00\x00\x00\x00b\x99\x00\x00\xb7\x85\x00\x00\x18\xdaXYZ \x00\x00\x00\x00\x00\x00$\xa0\x00\x00\x0f\x84\x00\x00\xb6\xcfdesc\x00\x00\x00\x00\x00\x00\x00\x16IEC http://www.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16IEC http://www.iec.ch\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\x00\x00.IEC 61966-2.1 Default RGB colour space - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00.IEC 61966-2.1 Default RGB colour space - sRGB\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00desc\x00\x00\x00\x00\x00\x00\x00,Reference Viewing Condition in IEC61966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,Reference Viewing Condition in\xa4\x00\x00\x0061966-2.1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00view\x00\x00\x00\x00\x00\x13\xa4\xfe\x00\x14_.\x00\x10\xcf\x14\x00\x03\xed\xcc\x00\x04\x13\v\x00\x03\\\x9e\x00\x00\x00\x01XYZ \x00\x00\x00\x00\x00L\tV\x00P\x00\x00\x00W\x1f\xe7meas\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x8f\x00\x00\x00\x02sig \x00\x00\x00\x00CRT curv\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x05\x00\n\x00\x0f\x00\x14\x00\x19\x00\x1e\x00#\x00(\x00-\x002\x007\x00;\x00@\x00E\x00J\x00O\x00T\x00Y\x00^\x00c\x00h\x00m\x00r\x00w\x00|\x00\x81\x00\x86\x00\x8b\x00\x90\x00\x95\x00\x9a\x00\x9f\x00\xa4\x00\xa9\x00\xae\x00\xb2\x00\xb7\x00\xbc\x00\xc1\x00\xc6\x00\xcb\x00\xd0\x00\xd5\x00\xdb\x00\xe0\x00\xe5\x00\xeb\x00\xf0\x00\xf6\x00\xfb\x01\x01\x01\a\x01\r\x01\x13\x01\x19\x01\x1f\x01%\x01+\x012\x018\x01>\x01E\x01L\x01R\x01Y\x01`\x01g\x01n\x01u\x01|\x01\x83\x01\x8b\x01\x92\x01\x9a\x01\xa1\x01\xa9\x01\xb1\x01\xb9\x01\xc1\x01\xc9\x01\xd1\x01\xd9\x01\xe1\x01\xe9\x01\xf2\x01\xfa\x02\x03\x02\f\x02\x14\x02\x1d\x02&\x02/\x028\x02A\x02K\x02T\x02]\x02g\x02q\x02z\x02\x84\x02\x8e\x02\x98\x02\xa2\x02\xac\x02\xb6\x02\xc1\x02\xcb\x02\xd5\x02\xe0\x02\xeb\x02\xf5\x03\x00\x03\v\x03\x16\x03!\x03-\x038\x03C\x03O\x03Z\x03f\x03r\x03~\x03\x8a\x03\x96\x03\xa2\x03\xae\x03\xba\x03\xc7\x03\xd3\x03\xe0\x03\xec\x03\xf9\x04\x06\x04\x13\x04 \x04-\x04;\x04H\x04U\x04c\x04q\x04~\x04\x8c\x04\x9a\x04\xa8\x04\xb6\x04\xc4\x04\xd3\x04\xe1\x04\xf0\x04\xfe\x05\r\x05\x1c\x05+\x05:\x05I\x05X\x05g\x05w\x05\x86\x05\x96\x05\xa6\x05\xb5\x05\xc5\x05\xd5\x05\xe5\x05\xf6\x06\x06\x06\x16\x06'\x067\x06H\x06Y\x06j\x06{\x06\x8c\x06\x9d\x06\xaf\x06\xc0\x06\xd1\x06\xe3\x06\xf5\a\a\a\x19\a+\a=\aO\aa\at\a\x86\a\x99\a\xac\a\xbf\a\xd2\a\xe5\a\xf8\b\v\b\x1f\b2\bF\bZ\bn\b\x82\b\x96\b\xaa\b\xbe\b\xd2\b\xe7\b\xfb\t\x10\t%\t:\tO\td\ty\t\x8f\t\xa4\t\xba\t\xcf\t\xe5\t\xfb\n\x11\n'\n=\nT\nj\n\x81\n\x98\n\xae\n\xc5\n\xdc\n\xf3\v\v\v\"\v9\vQ\vi\v\x80\v\x98\v\xb0\v\xc8\v\xe1\v\xf9\f\x12\f*\fC\f\\\fu\f\x8e\f\xa7\f\xc0\f\xd9\f\xf3\r\r\r&\r@\rZ\rt\r\x8e\r\xa9\r\xc3\r\xde\r\xf8\x0e\x13\x0e.\x0eI\x0ed\x0e\x7f\x0e\x9b\x0e\xb6\x0e\xd2\x0e\xee\x0f\t\x0f%\x0fA\x0f^\x0fz\x0f\x96\x0f\xb3\x0f\xcf\x0f\xec\x10\t\x10&\x10C\x10a\x10~\x10\x9b\x10\xb9\x10\xd7\x10\xf5\x11\x13\x111\x11O\x11m\x11\x8c\x11\xaa\x11\xc9\x11\xe8\x12\a\x12&\x12E\x12d\x12\x84\x12\xa3\x12\xc3\x12\xe3\x13\x03\x13#\x13C\x13c\x13\x83\x13\xa4\x13\xc5\x13\xe5\x14\x06\x14'\x14I\x14j\x14\x8b\x14\xad\x14\xce\x14\xf0\x15\x12\x154\x15V\x15x\x15\x9b\x15\xbd\x15\xe0\x16\x03\x16&\x16I\x16l\x16\x8f\x16\xb2\x16\xd6\x16\xfa\x17\x1d\x17A\x17e\x17\x89\x17\xae\x17\xd2\x17\xf7\x18\x1b\x18@\x18e\x18\x8a\x18\xaf\x18\xd5\x18\xfa\x19 \x19E\x19k\x19\x91\x19\xb7\x19\xdd\x1a\x04\x1a*\x1aQ\x1aw\x1a\x9e\x1a\xc5\x1a\xec\x1b\x14\x1b;\x1bc\x1b\x8a\x1b\xb2\x1b\xda\x1c\x02\x1c*\x1cR\x1c{\x1c\xa3\x1c\xcc\x1c\xf5\x1d\x1e\x1dG\x1dp\x1d\x99\x1d\xc3\x1d\xec\x1e\x16\x1e@\x1ej\x1e\x94\x1e\xbe\x1e\xe9\x1f\x13\x1f>\x1fi\x1f\x94\x1f\xbf\x1f\xea \x15 A l \x98 \xc4 \xf0!\x1c!H!u!\xa1!\xce!\xfb\"'\"U\"\x82\"\xaf\"\xdd#\n#8#f#\x94#\xc2#\xf0$\x1f$M$|$\xab$\xda%\t%8%h%\x97%\xc7%\xf7&'&W&\x87&\xb7&\xe8'\x18'I'z'\xab'\xdc(\r(?(q(\xa2(\xd4)\x06)8)k)\x9d)\xd0*\x02*5*h*\x9b*\xcf+\x02+6+i+\x9d+\xd1,\x05,9,n,\xa2,\xd7-\f-A-v-\xab-\xe1.\x16.L.\x82.\xb7.\xee/$/Z/\x91/\xc7/\xfe050l0\xa40\xdb1\x121J1\x821\xba1\xf22*2c2\x9b2\xd43\r3F3\x7f3\xb83\xf14+4e4\x9e4\xd85\x135M5\x875\xc25\xfd676r6\xae6\xe97$7`7\x9c7\xd78\x148P8\x8c8\xc89\x059B9\x7f9\xbc9\xf9:6:t:\xb2:\xef;-;k;\xaa;\xe8<' >`>\xa0>\xe0?!?a?\xa2?\xe2@#@d@\xa6@\xe7A)AjA\xacA\xeeB0BrB\xb5B\xf7C:C}C\xc0D\x03DGD\x8aD\xceE\x12EUE\x9aE\xdeF\"FgF\xabF\xf0G5G{G\xc0H\x05HKH\x91H\xd7I\x1dIcI\xa9I\xf0J7J}J\xc4K\fKSK\x9aK\xe2L*LrL\xbaM\x02MJM\x93M\xdcN%NnN\xb7O\x00OIO\x93O\xddP'PqP\xbbQ\x06QPQ\x9bQ\xe6R1R|R\xc7S\x13S_S\xaaS\xf6TBT\x8fT\xdbU(UuU\xc2V\x0fV\\V\xa9V\xf7WDW\x92W\xe0X/X}X\xcbY\x1aYiY\xb8Z\aZVZ\xa6Z\xf5[E[\x95[\xe5\\5\\\x86\\\xd6]']x]\xc9^\x1a^l^\xbd_\x0f_a_\xb3`\x05`W`\xaa`\xfcaOa\xa2a\xf5bIb\x9cb\xf0cCc\x97c\xebd@d\x94d\xe9e=e\x92e\xe7f=f\x92f\xe8g=g\x93g\xe9h?h\x96h\xeciCi\x9ai\xf1jHj\x9fj\xf7kOk\xa7k\xfflWl\xafm\bm`m\xb9n\x12nkn\xc4o\x1eoxo\xd1p+p\x86p\xe0q:q\x95q\xf0rKr\xa6s\x01s]s\xb8t\x14tpt\xccu(u\x85u\xe1v>v\x9bv\xf8wVw\xb3x\x11xnx\xccy*y\x89y\xe7zFz\xa5{\x04{c{\xc2|!|\x81|\xe1}A}\xa1~\x01~b~\xc2\x7f#\x7f\x84\x7f\xe5\x80G\x80\xa8\x81\n\x81k\x81͂0\x82\x92\x82\xf4\x83W\x83\xba\x84\x1d\x84\x80\x84\xe3\x85G\x85\xab\x86\x0e\x86r\x86ׇ;\x87\x9f\x88\x04\x88i\x88Ή3\x89\x99\x89\xfe\x8ad\x8aʋ0\x8b\x96\x8b\xfc\x8cc\x8cʍ1\x8d\x98\x8d\xff\x8ef\x8eΏ6\x8f\x9e\x90\x06\x90n\x90֑?\x91\xa8\x92\x11\x92z\x92\xe3\x93M\x93\xb6\x94 \x94\x8a\x94\xf4\x95_\x95ɖ4\x96\x9f\x97\n\x97u\x97\xe0\x98L\x98\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a՛B\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9dҞ@\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0ءG\xa1\xb6\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4ǥ8\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8ĩ7\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\\\xacЭD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\xb0u\xb0\xea\xb1`\xb1ֲK\xb2³8\xb3\xae\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\xb7\xe0\xb8Y\xb8ѹJ\xb9º;\xba\xb5\xbb.\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\n\xbe\x84\xbe\xff\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\xc7Aǿ\xc8=ȼ\xc9:ɹ\xca8ʷ\xcb6˶\xcc5̵\xcd5͵\xce6ζ\xcf7ϸ\xd09к\xd1<Ѿ\xd2?\xd2\xc1\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\xd7\\\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfbۀ\xdc\x05܊\xdd\x10ݖ\xde\x1cޢ\xdf)߯\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\r\xe6\x96\xe7\x1f\xe7\xa9\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\a\xfc\x98\xfd)\xfd\xba\xfeK\xfe\xdc\xffm\xff\xff\xff\xe1\x00\xd6Exif\x00\x00MM\x00*\x00\x00\x00\b\x00\b\x01\x12\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x01\x1a\x00\x05\x00\x00\x00\x01\x00\x00\x00b\x01\x1b\x00\x05\x00\x00\x00\x01\x00\x00\x00j\x01(\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x011\x00\x02\x00\x00\x00\x1e\x00\x00\x00r\x012\x00\x02\x00\x00\x00\x14\x00\x00\x00\x90\x87i\x00\x04\x00\x00\x00\x01\x00\x00\x00 IEC\x00\x00\x00\x00H\x00\x00\x00\x01\x00\x00\x00H\x00\x00\x00\x01Adobe Photoshop CS2 Macintosh\x002007:05:10 19:04:16\x00\x00\x03\xa0\x01\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\xa0\x02\x00\x04\x00\x00\x00\x01\x00\x00\x02\xbb\xa0\x03\x00\x04\x00\x00\x00\x01\x00\x00\x02\xbe\x00\x00\x00\x00\xff\xdb\x00C\x00\b\x06\x06\a\x06\x05\b\a\a\a\t\t\b\n\f\x14\r\f\v\v\f\x19\x12\x13\x0f\x14\x1d\x1a\x1f\x1e\x1d\x1a\x1c\x1c $.' \",#\x1c\x1c(7),01444\x1f'9=82<.342\xff\xdb\x00C\x01\t\t\t\f\v\f\x18\r\r\x182!\x1c!22222222222222222222222222222222222222222222222222\xff\xc0\x00\x11\b\x00\b\x00\b\x03\x01\"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x15\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\xff\xc4\x00\x1f\x10\x00\x01\x04\x02\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x11\x04!\x05\x06\x12\x13a\xff\xc4\x00\x14\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xc4\x00\x18\x11\x00\x03\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x11\x02\x03\xff\xda\x00\f\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xbc\x9f\xb2K\xc8;\xd0\xfe7?\x1f6\x19LF\x18\x88\xf1u\xec\x10\xf3\xa3\xa1u\xf6\x91\x11\x06\xba4\"\x90\xff\xd9") diff --git a/testdata/fuzz/FuzzDecodeJPG/773dee179fd633e0 b/testdata/fuzz/FuzzDecodeJPG/773dee179fd633e0 new file mode 100644 index 0000000..f9c8ecf --- /dev/null +++ b/testdata/fuzz/FuzzDecodeJPG/773dee179fd633e0 @@ -0,0 +1,2 @@ +go test fuzz v1 +[]byte("\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00H\x00H\x00\x00\xff\xe15oExif\x00\x00MM\x00*\x00\x00\x00\b\x00\x03\x87i\x00\x04\x00\x00\x00\x01\x00\x00\x00r\x88%\x00\x04\x00\x00\x00\x01\x00\x00\x01=\x01\x0f\x00\x02\x00\x00\x00\x03\x00\x00\x002\x00\x00\x01\xfdHTC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\f\x01\x0f\x00\x02\x00\x00\x00\x03HTC\x00\x01\x10\x00\x02\x00\x00\x00\n\x00\x00\x01\b\x90\x03\x00\x02\x00\x00\x00\x13\x00\x00\x01\x12\x92\x02\x00\x05\x00\x00\x00\x01\x00\x00\x01\x10\x00\n\x00\x05\x00\x00\x00\x01\x00\x00\x01-\x88'\x00\x03\x00\x00\x00\x01\x00}\x00\x00\xa4\x03\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x82\x9a\x00\x05\x00\x00\x00\x01\x00\x00\x015\x88\"\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\xa4\b\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\xa4\t\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\xa4\n\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00HTC One_M82014:04:26 19:09:19\x00\x00\b\x00\x00\x00\x04\x00\x00\x00\f\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\b\x00\x06\x00\x05\x00\x00\x00\x01\x00\x00\x01\xa3\x00\x05\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x02\x00\x00\x00\x1a\x00\x00\x01\xab\x00\x01\x00\x02\x00\x00\x00\x01N\x00\x00\x00\x00\x04\x00\x02\x00\x00\x00\x1a\x00\x00\x01\xc5\x00\x03\x00\x02\x00\x00\x00\x01E\x00\x00\x00\x00\a\x00\x02\x00\x00\x00\x19\x00\x00\x01\xdf\x00\x1b\x00\x02\x00\x00\x00\x05\x00\x00\x01\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x0052,00000,50,00000,34,011\x056\xf3\xdb,00000,10,00000,58,2836017,00000,8,00000,29,00000ASCII\x00\x02\x02\x01\x00\x04\x00\x00\x00\x01\x00\x00\x02\x1b\x02\x02\x00\x04\x00\x00\x00\x01\x00\x003L\x00\x00\x00\x00\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x10\v\f\x0e\f\n\x10\x0e\r\x0e\x12\x11\x10\x13\x18(\x1a\x18\x16\x16\x181#%\x1d(:3=<9387@H\\N@DWE78PmQW_bghg>Mqypdx\\egc\xff\xdb\x00C\x01\x11\x12\x12\x18\x15\x18/\x1a\x1a/cB8Bcccccmcccccccccccccccccccccccccccccccccccccccccccc\xff\xc0\x00\x11\b\x01\x00\x02\x00\x03\x01\"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\a\b\t\n\v\xff\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\a\"q\x142\x81\x91\xa1\b#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc4\x00\x1f\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\a\b\t\n\v\xff\xc4\x00\xb5\x11\x00\x02\x01\x02\x04\x04\x03\x04\a\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\aaq\x13\"2\x81\b\x14B\x91\xa1\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\f\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xd6\xfbSz\xd1\xf6\xa6\xf5\xa7\xfd\x8cwc\xf9R}\x8f\xfd\xbfһ\xae\x8e+1\xbfjj>\xd4\xd45\xa3\x0e\x874\xc3n\xe3\xf8i\xe8-G\xfd\xa8\xd2\xfd\xa8\xd4^K\x0e\xa0\xd2yGލ\a\xa9?ڍ/ڽ\xaa\xb1\x8c\x8eƙ\x83E\x90\x17>\xd5\xedK\xf6\x9fj\xa7\xcd(\xcd\x16\x02\xdf\xda=\xa8\xfbG\xb0\xaa\xa0Ӆ\x16\x19g\xed\x1e\xd4\xe105XS\xd4/\xad+\x01`J=E.\xf1\xea*\x10\xabO\n\xbe\x94\x80\x93p\xa34\x81G\xa5.(\x01sE\x14R\x00\xa2\x8a(\x010\x0f\xaf\xe7I\xb0z\xb7\xfd\xf4i\xd4b\x98\\n\xc1\xea\xdf\xf7ѥ\xda=\xff\x003KHsE\x82\xe1\xc7\xf94\xb9\x14\xc2\r&\xd3E\x85q\xfb\x85\x1b\xc5G\xb0Ѳ\x9d\x82\xec~\xf1G\x98)\x9bG\xad&\a\xad\x16\v\xb1\xfeg\xb5\x1eg\xb53\x14\x9b}\xe8\xb2\x15\xd9&\xff\x00j]\xc7\xd0T{}\xe9B\xfdh\xb0]\x8f\xdc}\x05.O\xa53o\xb9\xa3i\xf5\xa2ø\xfc\xfbQ\x9af\xd3I\xb0\xd1`\xbb\x1f\xbfړ\xcc\x1e\x94ͭASE\x82\xec\x93x\xa3\x7f\xb5F\a\xb5\a#\xa7\x14X.H_\x1d\xa9<\xc1Q\x86~\x94\x1d\xfe\x94X.?\xcd\x14y\xb5\t\xcfqH_\x1d\xa8\xb0\xaeM\xe6\xd1\xe6\xd5b\xfeԆ@\a'\x14\xec\x17-\xf9\x94y\x82\xa9\x89C\f\xab\x03\xf44o4\xac;\x97|\xd5\xf5\xa4\xf3\x97֩n4\x994XW.\x99֚n\a\xa5T\xa5\xc1\xf5\xa7`\xb9d\xdc\xfbR}\xa4\xfaU}\xbe\xe2\x97o\xbd\x16\v\x93\xfd\xa0\xd1\xf6\x83P\x84\xcd\xd2}iD\x03\xd0\xd2\xfd\x99}\xe9h\x1a\x8d\xfbI\xa3\xed-N\xfb(\xf54}\x93\xfd\xa3E\xd0\xf5\x1en>\x94\xd3s\xf4\xaae\x8fJo&\x9f*\x173/}\xa8R\xfd\xa9}*\x96֦\x1c\x8a9Ps3@]!\xeb\x9ax\x9a6\xefY\x99\xa5\fE\x1c\xa1\xcci3&;T>Z\xb1⪇5 \x91\x85\x16\xb0\xeeO\xe4\x0e\xbcSYPS\x04\x87֜\x1a\x81\x8d(\xbd\xb3J\"cҤ\x1fJp$t\xa2\xe00D\xde\xd4\xe1\x1b\x03ȥ\xde}1K\xbc\xfb\xd2\x00\tO\bEDf\"\x93\xcf'\xa5\x1a\x81c\x04R\xd5u\x99\xaaE\x934XD\xb4R\x03KHaE-.(\x01\xb4S\xb1F(\x10\xca)\xf8\x14\x9cP\x03qE-\x14\xc0n(\xc5;\x14\xa1h\xb8\x86\x85\xf6\xa3`\xf4\xa7\xed\xa5\xc5+\x95b=\x94\xbbi\xf8\xa2\x95\xc2\xc36\x8a6\xd4n\xb7\r!\xd8\xea\xaa:q\x9c\xd3՝x`\x1b\xdcqE\xd8Y\v\xb6\x93m2Y\xa4\x18\xf2\xa2'>\xb5X_\xb7̯\x16\b\xeb\x8eis\x0f\x96\xe5\xccT\x124\xc8I\x1bv\xf6\xe0\x93T\x9a\xf4\t\x15\x94\xc9\xcfn\xa0\xd43]0\x902\xef\x8f'\xf7\x98\xf4\xfc\xe8\xe7\x1a\x81i/\x80|N\xc5?\xe0\x14\xf9\xaf\x10\x00a\xda\xf98늇\xceY\x94le\xc9\x18$\x91\xcdgIk.v\",\x9b\x7f\xdb\x06\x8b\xb1\xf2\xa3[\xed\x91\x00K8\x04u\xc1\xcdU]L\xbb\x90\xab\xb9G\xa0\xe4U\x1f)\xb7\x01'\x97\x1e\xde\xfd\x87\xe23L\xbb\xba\x92\xde\x04\xf2]s\x9ev\xff\x00\xe4\xe4\xe4\xe4\xe4\xe4\xe4\xe4\xf5\xa9s0\xe5F\xa1\x9as\xb5\xb6\xedS\xdc\x1cc\xebO2K\x18\xf9\xa7\xcezw\xac\xe8\xa5i\x973\xba9+\x95\x00\x13\x8f\xa8\xaa\r9b\x02\xfd\xe58\xf9yȪ\xbd\x85\xcan$\xd7!\x89r\xbb}8\xa7\xb3\xab`\xb3\x90}\x8e+$\xb9*\bޭ\xee\x1a\xab\x7f\xa4n,\x0eW<\x8cQ\xcd`\xe57\x89\\}\xe3\xf5\xcdB\xf8n\x15Շpj\xa43n\x80\x87ܸ\x1d\xaa%i\xbe\xfc<\xfdN3Ủ\xb1\xa6\x8a\xa88P\x0f\xb5;5\x9d\x15䄕\x7f,\x11ԓ\x81N\x9e\xe6D\xc6ֈg\xfd\xae\x94s+\v\x95ܺd\vُ\xd0\x13L\x17J\\\xa2\xab\x96\x1d\xb1T\xed\xa4\x9a\xed\xc0\x12\x88\xe4\xc1\xef\xf7\xaa\xeaC$\r\xbeR\x8d\x9e\xac\xdc\x1a\\\xd7\x1f-\x86\x9b\xa0\x13%pO@j$\xd4\v\xbe݃\xf15\x15\xccrM2\xb4`|\xf9\xc6\x1b=>\xbfZlr}\x9d\xcc>\\e\xc9\xc0g\xcbc\xf2\xa8rw-AX\xd0K\xc8v\x9eF\xf1\xfc?\xfdz\xb3\x04\xf6\xf2\xae\xec0\xed\xd3#\xf4\xa8-\xa3\xb8\xb5A\xe4\xdb\xc6\xea\xdd\xf7\x1c\x9f|\x9aF\xbd\xbb\x8eq\x1bG\x8e2v\x8c\xed\xfd(\xe6aʍU\x89GE\xa7\x04\x15\x94o\xeeXa0H'9Q\x9f犱\r\xf2\xb2\x81$\x88$\xee\x01\xc6)ݰ\xb2E\xdc\n\x0e\x05g\xdcjqB\xe5\x18\x9c\xe3{R\n\x9d\xa0'\xa6)\xa6\":\x8ab\x11XzT\xaa\xc0\xd4ai\xe1h\x02QKLZ\x90T\x8c\x058\n\x00\xa7\x01R\xd8\xd2\x12\x90ө(\xb8\xec6\x8a\\Q\x8a.+\t\x8a\\R\xe2\x94\nW\x1d\x90\xda\\\xd2⍴\\,&h\xa7\x01@\x14\\,7\x14m\xa7\xd6Qv\x16DR\x16A\x90\xa5\xaa\xa4\xf2#\xe0쐑\xe8:V\x81\x15\x05\xd2n\x8c\x9d\xc5q\xd4\x0e\xf4\x9bcI\x19s\\\x19r\x91\xefb;g\x15@3\xbbm\x11\xbeI\xc7&\xaf\xc9o\x13\x82\xbeb\xee\a?w\xfaҶ\x9f\x13*)\x91\xa3\x1f\xde \fԻ\xb2ՑP\xdbH\xbbv\xb8\xf3?\xba\aOΪ\\\ue110\xdfx\xff\x00{\xa8\xad\x89t\xcbx\xa2S$\x92\xbf\xa3\xae\x06+5\xb4\xc2\xec\xf2,l\xf1\xe3!\x8b\xe0\xe6\x93\x19I&p\xc1¨\xc1\xe5z\x03S\xbd\xc3L\t\t\xb3\xb6\xd08?\x8d1-X\xaf\n\xe4v\xc7sN\xf2a\x8f!\xd5Ёל\n\x10\x16,ͼ\x8aÏ0u\xdc3\x8f\xa05\f\xf0\x997\xaa\xa2,y\xcer\x00\xfc*\xb4\x82X\x80\xfb1v*wd\f\xfe\xbdj{Y\x9e\xebv$\xc8\x03\x98ہN\xe2\x13\xe4\\\r\xa1I\x1d\x03q\xfaU\x9b)\xe0\x86\xd5Ԁ\xae\x1c\xf0G\\\xd5dG\x9a_( \x8f\xbe\xed\xb4\xc9mͧ\xcc\xef\xbc\xe4\x82\b \x1f\xa1\xa6\xa4\xd08\xa6\x17\xa2G\x90\xb0,W=\x9b\xfcj\xaa;\xc4\xc7\xfb\xdfZ\xd8A-\xcc\x1e\\p\xe2'=\xdb\xe6?L\x8e\x94\xeb\x9b\x10\xa53\xf3m\xfbȇ'\xf9\xff\x00J-}E\xe4P\x8a\xe2D\f\x1d\x1b\xfc*\xbbK+\x92S8=v\x8a\xba\xb0@\xec$.\xccrNݸ\xc0\xfa\xd42\x96\x8f\xe6\x8d\x19}\xc9\xe0~u[\xa1=\b\xe1\xf36\x8d\xaaz\xf2Kq\xf9U\x82\xc7\x00%\xba\xa9C\xbb\x83\xfd*\x8f\x9a\\\x9d\xab\x83\xea\x0f\x06\x90J\xec\xa4\xefڠ\xe0㹥{\x05\x8bk+\xc9p̑\f\xaf9^0~\xb4ɯ|\xc8\x14\x19\x99\xb0\xd9(F~\xbc\xd4/q\xe7m\u0084Q\xc6\x14r~\x95n;x\xdc\xf9\x93ƁH\xe0F\xd8\b=\xe9$\xde\xc3m \x82\xeb\xcc\xc9\x1f!#\xaa\x8c\xb0\x1e\x83ҥ\x86w\x85\xc1\x8d\x94\x90z\x1ad\xadf\x91\xec\x89\x03(\xea\xd9\xdaI\xf65\x14r\xa2\xc6\"Py\xe4\t\x0f\x04\xfdj\xb9Er\xe1\xd4/\xa4r\xaaˏU#\x8aH\xe7\x967\xdap\xe4\xf3\x93\xcd@\x9eT#\xccx\xe4!\xb1\x82\xa7\x90}\xf1V\xa1T\x90\xac\x80:\xb1\x1c\x922O\xe7T\xa2C\x91!\x9ee\x8f<\x06s\xce\x051\x86\xe6\xdc\x0099 \x9c\xe6\x96A n\x06\xfe>\x98\xa8\x92gq\xb7\xcb\xdaõ]\x91\x1c\xccl\x9ek\xb9\x01B\x8c\xf1\x85\xab\xd1&\xd4\x00\x00=qQD\x8f'\xcb'\xcb銸\x17\x00SH\x1b\xb8\xc5ǥJ\xb2m\xea*6\xebҐ\xe4ӱ7-\xacD\x1e\x95!\x18\xe3\x156)\n\xfa\xd4\xdcv#\n\xa7\xb5\x05G\xa5I\xb6\x93m0#\xda3\xebH\xca*l\nk\x0fj\x04\x11\x8e*aU\xb70=)\xe2S\x9e\x98\xa9\x94n\\ebR)\x8c\x80\x8cS\x83f\x96\xa7TV\x8c\x83\xc9\xc1\xa7\xa8#\x8a\x97\x14\x84S\xbd\xc5a\x05(\x14b\x9c\x05K)\t\x8ai\x19\xa7\x9aLP\x81\x95\xd9ph\x02\xa5j`\x1cբ\a\x01N\x02\x90\nx\x14\x98\xc0S\x87JJp\xa8e \xc5(\x14R\x83H\x04\xc5!\x14\xec\xd2\x13@1\x00\xa5\xc5 \xa7\x01\x9e\xb40@\x05.)h\xa41\xbbh\xc58S\x80\xa6\x03vѴS\xf1F)\x01]\xfc\xcd\xd8\x00\x01\xeai\x92\x92\xb1|\xf8\x04\xf7\xedV\x8a\x020FE1\xe1B\x98+\xc0\xf4\xa4Q\x96\x96ᘩ \x9e\xa0\x83\x81N\xb9\xb8\xe4Dc\a\u05ce?:\xba\xab\x12\xe5\x95\n\xfa\xe4u\xaaS\xdd(r\xaf\x16P\x8e0;\xd03>EV\xfd\xd4\r*1\xeb\xc8\"\xa3\x81\x82\x8d\xbb\x19\xb6r\xf8U\xc1\xfcjr\x89$\xa0\xa2\xb0#\x9eF\x7f:k\xb0g\xc0@䟺V\x81\x8b&\xa2\xa4\x00\x911U\xeaH\x02\xa8LHr\xf1\x82\xb9\xe7\x9eqS\xac\xad\x1b\xb1kpP\xfa\xf3\x8a\xad)g\x90\xb4hJ\xf7\x00P\xc4B\xa2\xe10\xc1AV8\xda\xdd*\a\x82Xf.:\x81ʞ\x86\xa5S)c\xfb\xac\x86\x18ۊc\xbfȋ(+\xb4\xf5\xa42x#\xfbL\x1fh\x8d\x88h\xc6\n\xe6\xa9ݻ\xe7\fϴq\x869\xab!LR}\xaa\xd5KF\xa7\xe6Rp\x1a\x98J\xdd$\x9eTL\xd2\x13\xceO\x02\x80-\xc5y4v\xe3\xec\xe1Q\x80\x19\xe7\xadGs\xa8\x8cn\x05\x85\xc6~c\xd0~U\x98\xec\xe9\n\xefR>b\xbc\xfa\x8e\xb4\xd8\xe23?\xcb\xf2\x81\x82]\xa9]\x8fB\xf3\x1d\xaa\xd2;\xe02\xe4\xa8\x00g\xe9TVIg\x97\xa1\xc1\xf7\xcej\xc4q!\xb9\"gyUG\xcb\xd8\x1az\t\x11\x9b\xcb\xe0q\xc0\xe7\x15h\x86\xc8\x1d\x02\x9f\x9b\x18\xfe\xe9\xcf\x14\xc5`\x91\xb1\xe0\x80q\x8e\x99\xf6\x02\x89\xe6%\x82ɴ\xed\x1c\xd4i\x14\xd2ࢎ}h\xf4\x0fQL\x8c\xa09L\x1c\xf0z\x81K$\x8e\xdb[~\xf0Ð8\xc5Xm>T\x1b\x1f\nH\xce\xeeH\xfci\"\xb6f\xb5V\x12\"\xb6\xed\xa7>\x94\xec\xc5̆A(W\xf9\x01\x1d\xbadU\xe7\xb7D\x8c\x17u9\xfe.\xe2\xa2h\x1a\xd4(\x9a1\x92O\xcc\t\xabR\x88v\xc7\"F\xce\xfc\x86\vU\x15e\xa9-\xf6\x18\x8e\xf0ǔ\x03\x81\xc8~\xff\x00OΟ#\\ʪ\xc4:c'\xe5\xe9Il\xd0Or\x11\xe3`\xa0\x00\x03uϽl>ԅ\xf8\x18\vҴJ\xe8\xcaN̡\x10\xb8\x9b\x03p^\xe0\x81\xc3U\xc1\t\xf4槲\x8c\xc6\x02``\x0f\xc8\xd4\xec\xa0\x1e\x95KB^\xbb\x14\x8cez\xd3\xd78\xab%\x1b\xb0\xa7\xacy\xea)\xdc\n\xa12i\xe2\x03V\x82\x00x\x14\xfc\n\x96Ɛ\xdf3ڔJ;\xd36\xb0\xa4'ڋ\"y\x99&\xf54\xa3\x9a\x8c6;S\xbc\xc1\xe9CE)w\x1f\x8aLSD\x83\xb8\xa7\x86\x06\xa6\xcd\x14\x9acvѷڤ\x18\xa2\x973\x1f*\x18)\u0083J\b\xa1\xb0A\x9a(\xa5\x15%\tO\x1d)\x874\xa0\xd04\xc7b\x94\x8e)\x01\xc5\x19\xa9,c\xadG\x8a\x94\x9an9\xaaL\xceK]\x04\x14\xe1\xcd\x04R\x8aM\x82Z\x8b\x8aJq\xe9M\xa9L\xb6\x85\x19\xa7\x01H\x05?8\x1cQpI\t\x8cPpi\x0eM\x184\xae;\x00\x14\xeaAN\xa4\xdb-E\x05(\x14\x80S\xe9\\9@\np\xc5 \x14\xed\xb4\\|\xa2\x80\r.\xd1H\x16\x9e)\\\\\xa3v\xd3$`\x83$T\xd5VC\xbbr\xb3qJ\xec|\xa4\x17\x12\x85\x19VϷj\u0379tr0\xc0g\xdb\x18\xab\xb70(\x88\x10\x0f=\xf3Y\xf7\x1c\x80L|\xa9\xe5\x8d;\x85\x8a\xa2\xf4\xda\xca\xc1\xba\x1e\xac\x05Y\x13Z\xc9\x00c*\xef\xec\xc0\x80j\x12\xd6\xe5]nNr\x0e09\x15\x95\xb5Sx\f\n\xb7\\u\xc5;\x92\xd1q\xe5`ŚT`x\xeb\x93RE\x01)\xb9J\xa8\xef\x83֩\xc4 \x922Q\xb6\x85\x18\xc1Q\xcd+\x00\x84\xe6/a\x8c\xe0\xd5&KE\xb9$\x8e\r\xa3\xcaS\xc6I\xcdE'\xd9\xe7%\x98!#\x9d\xa2\xa9\x98w\x8e]\xd0\xfb\x8c\x83L \xaae\x93*8ާ\xf9\x8aw\x01\xd7\x16\xcb\xe5y\xf6\xea\xc9\x1fV\\\xf1\xf8T7m\xf6K\x98\xee\xa2\xcbF\xc0\x06\x1f\x87ZԵUx\x00\x8a\xe6\x1c\xed\xc1Q\x8f\x9b\xf3\xac\v\xf6d\x85\xa18\x05\x1f\x8e{zRz\rj<\xa8\x99\xa4\x9c\x86+\x93\xb4\x13\xd0\xfa\x9aA\U0009d01c\x03\x83\x9e\xf5:\xaa\xc7d\x81\tft$\xf7\x194\x82\xd2d\x91\x17\x04;u\xc3~tX.*ʊ\xc7\x04\x8e>\xebw\xfcj\xbc\xd7\x18\x1b@\xda۹\xc5I$EO\x96\\y\xad\xc0R\xb8\x1f\x9dVE\x97\xce\xc2\"\x93\x9c\nz\x88lp1r\xd9\x04\x1f\xc7\x15r ˹\x95@\xc7\x19\x03\xf4\xa5gq\x11.\xad\x13\x06\xea\xaa\b\xa5\xb4\x96_<\x10P\x01\xd8\xe3\x03\xfc\xf1MY\tݒ\xa7\x9c\xd12\xcd\xd4\xff\x00x\xfaR\xae2\x19\x88fV\a\a\xa1\x02\xaaK0i1\xbc\x1erE:6\xda\x19\xcao \xe0.x\x1f\xe3N\xe4ػ\"\x16\xb8$?\x12\x8c\xb2mY0*\xa5\xddן9t\xdc\x01\x1f\xc4\xd94\xb9\x8a\xb2;e\xd5\xce\xff\x003\xccʰ\xe3\x06\xa7Md\xb2\x81ܞ\xbe\x95\xc7Z]\x15L<\x87\x03\x80:\xe2\xaeEs\x11nO\x18\xebO\x99\x92\xe2\x8e\xee\xde\xe9'fU \xe2\xa65\xcai\x97\x1eP\x0e\xb2r\xc7\x1dk\xa5\x81\xcbF7g8\xeb\xebM1t%\xa5\x14\x94U\bx\xa5\x14\xd0isH\aQI\x9aBi\r1p(\x14\x99\xa2\xa5\x96\x89\x01\xa7\n\x8cS\xc5\x05\x12\np\xa6\x8ap\xa4\x02\x8au\x00S\x86\aZ\x00LTs!d;@&\xac\x81\xc5!Z\x9b\x81\x9dp\x82E\t\x91\xbb\x1d\x05Q\x9e\xd5|\xb3\x83\xbb\x03\xbdjIh\x85\x89V\xdaՙy\x03$_,\x9b\x9b<\x8a.;\x18\xb7+\x10\x19mۇRO_«5\xc9\xc1H\x80Un\xbc~\x95vx|\xc0F\x0ey\xe6\xa9\xc9`Ł_\x9b\xb9\xc7ji\x92ċ`$\x0f-\xceyR\x9c\x9a\x9a8ݟb\xb6\xc5<\xe3\xa5UQ-\xbc\x80\x81$y\xeaI\xe2\xaeG\xe7K\x16\xe0\xa8\xca={~5\xa23c\xe2S\x96߅\xd8>\xebU\x98\xfc\xb5\x89\x8aD\x99'\x90{\x8aɒI\x04\x8b.2\a\x1b@$\xe2\xacG#\xacj\xd0\x1f\xf5\x9cd\xb6*\x93%\x8d\xd4\xe2\xb5$:D3\xe88Ⱶ\x18#\t\x1c\xf1\xe4+66\x13\x9c\nܸrX\x15\x84\xb3\x0f\xc35\x95\xa8[\xb2\xc4\x04\x00'\xef\x15#\x141\xc4H\xa4\xf2\xe5\x8eݘlV\xf3\x15\x87\xa7\xa7\xe7N\xbc\xb8\x06\xfa6\x8d\xfc\u070eGL{U{7\x92\xe9\x91#\x1bY\x13a8\xeb\xcfZu\xe3\x81,1B\xa4\xb2\xa6\x00N\xa5\xb3\xff\x00֢\xfa\x0eڑ\\M<\xd2\b\x067ub?\x84zS\xa2\x0e>Q\xf2㜀*\xc46F(\x80\x922gs\x9c\x96\xeb\xedN\x92\xdauݺ=\xa4\xf1\xc1\xe6\x9aL\x96\xd0\xd9\xde8\xe3!\x19\x8f\x01\x86G\xe6*\x84\xb3\xac\xa1#X@<\x02é\xab\x10ڙ\xee\x11\xa6g\xf2\xc9\u0081ɫ\xb3\xc1\x06\x15\x12\x13\x19\xe7s7$\xd3\xdcW\xb1^\xd3`m\xe2$U\xe9\xf3w\xab0[\xdcCu\xbc\xae\x01\a\x8e1\xeb\xc5O\f0\xa0\b\xdb$\x8dy\x1f/_j\xc0\x9fV\x9d\xd7\x01\x88\xf7\xefM\xd4H\x95I\xb3\xb1\xb8\xd5mm\xc1\xde\xf9?\xdd\x1dk\x0e\xf3\xc52\x1c\xa5\xb0\xd8=G&\xb9\xb6\x91\xe5<\x96oaL>o@\xbbEe*\xad\x9bƊE鯧\x99\x8bK&\t\xf595\b\x993\xce\xe7>橔~\xf9\xabV6\xed37\x1d1Y\xf3\x1a\xf2\x16\xdaB\x81v\x80\x01Px\x15\xd3\xf8=7\v\x99O\xfb*?\\\xff\x00J\u0092\xdb\x16\xacǪ.+\xa4\xf0\x82\xe3M\x91\xcf\xf1I\x8f\xc0\x01W\ave5cEnw\x1e\x0fZ\x9a\xea\xfe\xde\xca1\xb8\ue40c\x85\x1dk\x9c\x8a\xf6WX\x80\x1bd+\xf3{\x1c\x9a҃MFe\x92C\xe6n\xe4\xee\xa2RDB\r\xbdI\x7f\xb7\xa0\xf2\x8bm\x1b\xc7\xf0\xe6\xaaI\xae\x89p\x14l?Z\xa7\xac\xe9\xf3C!\x9c2\xedw\u0080:zVsZ\\t\xc2\xfe\"\xb3U\x11\xbb\xa4\x91\xbf\xfd\xb2\"\xc6\xf6ϾEG7\x88\x13nD\xa8\a\xa0\xeb\\Ԗ7\x1b\x89*\x0f\xb05NhdS\x8d\x98?Znb\xe4GA>\xbf\x03v\x91\xdb\xebTnuK\x96\x8c\x81\v\xacg\xfb\xc0\xd6Y\xf3\na\xb2@\xf7\x14\x05\xb8u#\xe7`;\x03\x9a\x872\x94K\xf0ɨ\xc87\xc4\xe1G\xae\xf0*\x19\xa6\xbby|\xbb\x89\xd5O\xab7\x1f\xa5R\xf2\xa5\x19\xca0\x1fJ\x8f\x04\xfaT\xf3\x15\xcai\x9b\x19\b\xf9\xaf\xad\xc7\xfd\xb4\xaaSۈ\xa5\bg\x8d\x81\xfe%9\x15\v+\x0fOΚ\n\x83\xf3\x82\x7f\x1a\\\xd7\vr$AzH\x87\xe9Q7\x1d\xf3S\x92\x8f\x81\x1cGp\xe7֤\xb9E}\xa5\"T\x1b\x7f\x87\xbd.dZ\x8d\xca|\xd0\t'\x02\xac\xdb۴\xb2`m\xe3\xa9c\x81V$\x8eAp\xe4Y!\xf2\xd7\xe6\v\x92>\xb4\xb9\xd5\xedq\xb8\x94\xd6R\x1d\x8fj\x99&\uf689\x10\xc8\xcb\x12\xe0sV\x9bO\x92=\x98\xc1$\x03\x8c\xd5\xf3\x10\xf4,\xdb^:\xe0``~\xb5\xd9闾b\xa2\x1c&\xee\x9c\xe6\xb8h\x99#\\2\x92kE/\xe2H6\xa9\x01\xbb\x1c\xf2\xb5Q\x91\x93;\xb3*\x8c\xf3\x9cQ\f\xe92\xe5Nk\x94\x8fW\xff\x00\x89y\x85\xa4\xcc\xcd\u009fQ\xebKa\xa8Km6ᒟŚ\xd6\xe2;\x01H]Td\x9cU\x17խ#\xd8\x1aA\x96\x19\xc0\xe7\x15\x8f\xab\xea.&¸\xdaz`\xf6\xa1\x8d\x1d \xb8\x88\xb0P\xe3?Z\x90\x1c\x8e+\x87\x8e\xed\xb7}\xf2?\x1a\xe8\xb4{\xf12yl\xc3r\xf09\xa9\xb8̀)q\xc7\x14\xc0\xd5B\xebS\x11\x06\xd8y\x1d)2լi,\x83\xf8\xb8\xa9\x94\x83\xd3\x15\xcc\xdb\xeaE؉\x1b&\xad5\xf9F_\x9a\xa1\x8e\xe6\xf8\xa7\x8cVe\xad\xf0\x94\x00O\xcdV̛{\x8a\x9b\xb2\x8bco\xad8(>\xf5O\xce\xc7R)\xd1݂\xd8\x04\nNV\x1f-ˠ`SI\x02\xa1k\x8f\x93p\"\xa3\x17\t\xb7.is\xa0\xe5a${\xa4\xf9I\xc9\xebM\xfb'\xcb\xc0ǯ\xa9\xa8\x1a\xfc&p\xd8\x19\xef\xcdK\x1e\xa5\x00\x18i\x1f\x13M0hj驸\xb3\nI,\xd0\x03\xb0\x01RM\xa8D\x17*\xe1\xbf\x1aϓT\x01\x94\x02\x0eO?Jw&î,VQ\xf3\x00MR\x97G\x18ڎ\xca\x0f\\\xf4\xadG\xb9\x85\xdbi\x95T\x91\x9fª^j\x89\f\x81#\x1b\xc7dT\xa4'\x14Q62Ƥ\xfc\xb2\x01\xc6s\x8c\xd6kD\xb0\xdc0\x926\v'#\a85\xab&\xb3\vB\xcb\"\xed=\x86z\xd64\xd7q\xbf\x98\b;q\xc7=)\xba\x84\xf2\xa2\xebL\f+\xbc\x81\xe9\xcf5B\xf3{\x82\x8b\xb5\xbf\xde<\xfeu\x97sv\xe7\x18b@\xe2\x9f\x06\xa3\xe5(v\xc36z\x1e\x98\xa6\xaa\\\\\xb6\v+\x86\xb4\xde\x1e-\x85\x87\rW\xf4\x9bQte\xbau\xcb\xff\x00\x0f8\xc0\xac۫\xf1yo\xb1\x94\x02:b\xa6\xd2u\x85\xb3\xde\x19\v\x86\\(\xf45jBh\xd4{s\xb8\x95R\xd8\xe7q\xe2\x98\xcbw*\xf9V\xf1\x80\xa7\xef7zD\xd4\xe0w\x0fr\xccKv^\x8b[PϦ\x8b\x7f4J\\z\x13\xcd7Q$B\x8dٚ\x96\x0e\n\xe5@\xe3\x19\xf4\xa9\x1bO\x90\x00\xee\xeaq\xc0\xcbSo\xf5\xebX\x97m\xac^d\x83\xbb\x1c\x81X\xea\xd7\xfa\x8c\xa0\xee?L\xe0\x01IO\xb9N=\x8d\xd8T\x02|\xc3\x19\xed\x908\xc5_\xb3\n\xa1\x82\xa9\x03Ҳ\xadm>\xcd\x18IIfns\x9a\xb6\xa8\xbdU\xdc}\rW7b\\{\x9a\x19\x81S\xccm\xaa\a9j\xe5\xb5˵\xb8\x99\x84\x189\xeeNkV[%\x95p$9'\xf8\x8eEgj\x16\v\xa7D\xccH`\xfe\x83\x91JS\xd0\x14,\xee`\xfd\x8aG\x04\xe0\xb6\x06j\xe4>\x1f\x95\xe1IX\"\x87P˸\xe7#\xfc\x9a\xb1\x0e\xa7\x04p\x18\xddy\xc1\x19\xacֿr\"\x1ek\x05UU`\x0f\xb6?\xa5c\xcc\xcdRCV\t0\xc4\x04U\x04\x8c\x81K\x1d\xb1i\xc2<\x98\xc8\xc8\xe3\xad,\x17J\xac\xe8NT\xc8\xc4\xfd*\v\x99\xe221@\xc0(\xf9y\xe8sI\xb6R\x8cKR\xda\xdb\xe4\xb4\x1b\x9dF\x01\xdcz\x1e\xf5-\x87\x96\\\x85\x18;G\aڳ\xe1\x99\f\x81r\xc0\x926\x8fǽY\x90\xc3\f+\"d\x92\xa3\x90z\x1a\x10ٱ\xf6\x7f2\xd6dc\xd7\xd3\u07b44\xd7\x1am\xa2[\x90H\xc99\xaa\x9a!\x17\x16s9\xe4\xe0U\xedG\xf7V\x92\x95ϙe\xe3\xcdf\x02\x9f8\xdc\x06\xc2@ǮMKi\xab\x8c\xb5n\x90\x9d\xa1\xb9v\x1d\rP\x16\xed&v)$68\xab\x025\x8c\x06\xe8G~\xb4\xc14jXl\x1dz\x83֤\n\x92\xa9Gp3\xc3\x11J\xd1\xeeVr\xfd\xce\x00\xab\v'\xce\bۏB+b\xfa\xd23j\x17\x7fz\xcdI\xdc\x14\xac>\xf6ِ\a\avz\xe2\xb3$\xc8<\x03W\f\x92\x0e\x8ci\xa6V?yC}Ek\x19\x15\xcf\x139\xc9\xc5\"}ផq\xd66l\xec\xc1\xa8\xfc\xbekNd.h\x88Q1\xf2\x92}\x88\xa5T\xcf\xf0\xd3\xc2b\x9c\x01\xa8r2s\xec'\x96ݖ\x9a\"p>e50$R\xee\xcfz\x9ef.r\x05\x8cg,\t\x1e\x94\xdf,\x16$)Z\xb3F\xe5\xc5\x1c\xec9\xd9Y\x81$\x10\xa6\xa3q\x97?Z\xb9\xb9\x0fcPK\x8f0\x15\x15q\x93e\xa9\\\x88B\xf4偺\x90sV\x04\xab\x8f\xbbJ\x1cR\xe7bseq\v\xfd*A\v\x01\xf5\xa97\xd0X\x91\xc1\xa9\xe6d\xf321\v\xb7\x00\x93Z+p\xb0[\xa4d\x02GoCT\x92FC\xc7\x14\xed\xc1\xaa\x94\x99\xa4\x1a\xea\f\xdeq,~\xea\xfa\xfa\xd4jI<\x0e\xa7֑\xd5\xc6}=\xa8\xb7m\x93!n\x80\xd5_B\xacYx\xa61\x15\x18鞵Z8]\xa5\b\xc7nxɫSHє\x97vc'\x00/\xf3\xaa\xa2YD\x9eg$\xe7\xbd6\xc1E\x88\xc8@?0\xae\x9evO\xec\xdb9\xd8\x13\xf2\x81\xc0\xef\x8f\xfe\xb5s\xe5\xd1\xc2\x10\xb88\xc3WAj\f\xda\x02\x80@(\xdcg\xb6\r\vB\xb9ZՑ\xc1\"ʛ\x97\xf9U\xb8\x00߱\xba0\xc7J\xadn\xbb\"\xfe\x10}\xaab\xe0\x7f\x1f5\xa0\x18\xfa\x92\x9b9\x8a\x13\x80I\xc5U\xba`ʀ\x7f\x9e+sZ\x82+\xab\x0f\xb4g\x0e\x98?\x87CX\bC0\x00\x1c\n\x96\xc5b\xe2\xa9&\xa5T\xf9\x878\"\xa2Sޟ\xbb\x8aŚ\xa2Ƴ;_\xb2Ȩ\xaaɞ\x87\xadC\xa5]]Zn@6\xab\x1c\xe7\xbd4?\xa5*\x9c\xb6\azOa\xa5\xad\xcb7\x12\x99ؼ\x8d\xb9\x8fzʺ\x85\xb7\xee\x1c\x8e\xb8\xab\xc4\xfc\xdc\x1e)\x8d\xb5\x86\x1b\xbfz\x95\xa1L\xc4h\xc9\xce:\xe6\xa2\xc1\xce+ZK\"I1\xb9\xc9\xf5\xaarC\">\xd6C\x9fj\xdd;\x98\xc9\x15\r(犛\xcbS\xf7\xb2\xa6\x9e-ԕ\nrM;\x8a\xc5e$\x10E(\fϐ3늰\xf62\xab\r\xaaX\x1a\xb7\r\xa1\x88t\xe7\x14\x9c\x91J%\x04\x8d\xb1\xbd\xb9U8\xa1\x86\x1c՟$\xbdϕ\xc8V9\xa8\xae\xa3\xf2\xee\x19\ajW.\bH\x90\xc8\xd8444444\x1b\xb3\xfe\xc8ɫ\x97Qm\x8a\x03\x82\x0e\xcc\x1dޢ\x97F\x8c=\xcb\x06ݍ\xbf\xc2qV5ePʪ~Q\uf696\xf5\xb0M&\x9b3I*\xe0\x86\xc6)\xdb\x10\fd\x9a\x89\x90\x93\xc3b\x9c\xb8\a=\xf1C\xf29\x1a\x1f\xc9\xf9rq\xecjO1\x94m\r\x9f\xadB\x1b\x1d8\xa4\xce{\xd2\x15\xfa!\xe4\xe4\xe7\x03\xf2\xa4\xcfznh\xa0Z\x8aZ\x90\xb5\x14\x98\xa0B\x12{R6H\xc7\x14\xecR\xed\xf7\xa7r\x93\xb6\xa8\x14\xfc\x81H\xe9OV\xc53\x14\xbd)1I\xddݒ\x87\xa7+w\xa8E(cR\xd1$\xc4\xf7\xa5ݱ}\xdb\xf9S\x11\x8b\x1cv\x1di\x1d\xb2٥a\x92&I\x18\xabL\xf8Lt\xaaВ9\x15$\xaf\xc7\xcdV\x95\xa2ټU\xa3q\x8c\xfe\xf4\xc2\u07b4̎i\xb9\xe6\xb3HĐ\x9c\xd3\r&\xeeh\xcezS\xb0\x80\xfe\xb4\x82\x8a\x01\xc51\v\xf8\xd2f\x8c\x8aB3@\v\xba\x8d\xd4\xda)\xd8,;#\xbd&i\xb9\x14\xa34Xv\x174\xde\t\xa54S\x00\xe2\x8a2($P\x01\x93@8\xa4'\x8aL\xd0\x03\xf7P\x0ei\xa4\xd2f\x8b\x05\x89\x03\x91FC\x1ex5\x1eI4\x13\x8ae\xa94J\x17\x91\x83\xc5;\f\x06;\xe7\"\xa1RsOSϽ\vShͲe\a9\x9djE\xc1\x19\x00\xf1\xcdQMܴ.\n\xae\xd0\xc3\xf2\xa0\xcc\xe7\x80\xc4\xd4!O'\x14\xf5*z\xfe\x14\xee\"W\x96F\x84\xc2͔=\xaa\xb0\x89Aȧ\x96\x1b\xb2)>\x94\x00\x00h\xed\x8aw\x1c\xe0\xf0)\xa4\xf3\x8c\xd44P\xder=)}\x0fJ\x0f#\x8aN\x86\x95\x87rF\x1f\xc4:\x1fҐ\xf4\xe3\xa5\"\xbe2\x0fJim\xa6\x95\x87rA\xcd?\x19\x03=qQ\xab\x8e\n\xd3ճ\xff\x00ע\xc1q\x1e\x15a\xf3\x00\x7f\ndvQ\xa4\xde`\xc8\xc0\xe9S\x12F\a\x14\xa1\xf99\x18\xf4\xf7\xa6!ʘ\x1d?JR\x00\\\x0e}\xe8\r\xc6A\x1c\xd0\xcd\xed\xf5\xa2ø\xd2\x00=\a\xe5Xڀ?k|\x0ekg\"\xa8\xddE\x97i\b\xebMh4\xecE\xa4\xbeٜ\x9e>Z}\xf4\x8af\a\xefqT\xc11\xb1\xc5!b\xddy\xa1\xeaa*\x97\x1e\xc5[\xa0\xc53ړ#\xe9FE\x06M\x8b@'\xb5\x00\x8fJ\x0e3@\x83\xebKIJ)\bZCG4P!(\xe9Fh4\fZ\x01\xa4\x14\xb8\xe3\x9a\x00xǨ\xa0\x1d\xc4\x0094\xc1\x92p\a>\x951\"\x01\x81̝\xcf\xf7h\xb0X$!\x17\xcb\a'\xf8\x8f\xf4\xa6\nh=\xe9\xf1\xa8-\xf3\x1c}(\v]\x93\xa0!@\xc74\xb2\x1c\xf5Zp\x00.:\xd42\xb8\xce\x01\xfc\xea墱\xbbvDd\xed=\x0e=M'Q֗\xa1\xcbqI\x93\xe9Y\x99\xd9\r\xf6\xcd\x04\x9a7RS&\xe2\x83J\r \xcfҗ\xa9␄\xc5\x1cќS\x898\xa0\x06g\x9a\\\x8a)1L\x03\"\x8c\xd0V\x8cv\xa0\x02\x92\x8cc\xa8\xa34\x00QҌ\xd2S\x01M \xa5\xa0c\xbd\x03\x0e\xb4\x94\xb8\xe7\x8a\x0f\x14\x00\x1a9\xa0`\xf5\xa38\xa0\a\f\x8ei\xca\xf8<\xd4y4}M+\x02г\xbf\v\x90j\xd4)&\x01\xfb\xc0\x8a\xce\x1cU\xfbk\x90\x13\xe6\xedM3H\xca\xee\xc4ێ\b\x1cf\x9c@#?\x953\xcc/\xce\aґx8\xf5\xf7\xe9Th\x18\xeb\x83\xc57\aޑ\x89$\fԱǵFO\xe2h\xb8\xc6\x16\x00d\x8aFl\xf2\b\x1e\xb4\x8cy\xeb\xc1\xefHp\x0eI4\x80vᷞޔ\xd689\x1c\xe7\xbd!l\xf4\xe6\x9aI\x1e\xb4\x00\xa7=\xcd9\x18\x1f\x95\xbav>\x94́\xdf\"\x8c\xf2H?\xad\x03%d(\xd9\x95\b\xe4\xf3I\x8eiE0\x17\"\xa4\x8f¥\x1b\x13\xfeY\xe4\xff\x00\xb6\x7f\xa5\rs)\x1bU\xf6\xaf\xa2\r\xb4\x00\xef\xb2\xf9|\xdcH\"\xff\x00g\xab~Ty\xf1\xc5\xff\x00\x1e\xf1\xe0\xff\x00}\xf9?\x80\xe8*\xb5\x14\xc0s;;\x16f,Ory\xa4\xcd&(\xc1\xa4!sJ)\x16\x9c9\xe3\x14\x05\x85\x00\x93\xf2\xf2j\xccL\xdd\x1b\x8a\x81U\xb3\xe9V@$c ~\x14\xe2\xb54\x8a\xb0\xf7m\xbc\xb1\xaa\x922\xe7\x81SHď@*\xa3\x9c\x9c\xd1!\xcbaI\xa0`\xf58\xa6d҃\x81\x9aV2\x14\xfbRf\x8aU\x19\xe4\xf1@\t\x92;\xd2\xe74\x11\xc7N):P\x02\xd2挌S\x7f:\x00wzQ\xc1\xf64\xc1J}\x8d\x00.}i:\x9a3\x9a\x03\xf1\x8a\x003\x83K\xbb\xf3\xa4\xcf4q@\bh\xedE\x00P\x02\x8c\xe6\x82=O\x14\xe0F)\t\a\xb5 \x1a=3@\x1e\xa6\x9c\a\xb50\xe4v\xa6\x03\xba\xe3\x14\x12\x00\xf9h\x03\x1c\x9e\x94\xd3\xed@Ö\xebHr\x05\x1f\xa5&i\x80d\xe3\x18\xa7\xae{\xf1L\xc1\xc7zr\xe4\xd0\xc1ؓP\x0fS\x93\x8fҀ\x1a\"\xdc\t\x1d}i\xcb\x03m\xdd\xeb\xd3\xf8\xfdju\x9c\xaf\x03-\xc7\x19\xff\x00\xeb\xd5'\xb9ޠ7oJ\x88\xcd \x1f+\x15\xcf\x03\x9e\xd4\x05\xd1u\xe7~\xdc\xe4\xfasQ}\xb2E\x1bw\x11\xcfLt\xaalX\x8c\xb1\xc9\xeeh_\x94\xf03Sr\\\xd1,\xb2\xb4\xad\x8c\xf0M5G<\xe4\xfdi\xa4\x93\xf4\xf4\xa7\x9c\x85\xe8p;\x9e\xb4\x98\xae\x98\x01\xe83\x8ai\xc1\xe7=(\xcf9\xc5&x\xedH\x96\xc0\x9e9\xfd)\x0e\x01\xfc)2=(\xc8\xc9\xc8\xe34\xecHn\xe7\xa5\x19\xa3\xafZ\b\x04\x8fJ\x002G^\xb4d\xfa\xd2w\xa3\x8f\\P\x01\x82M/8\xebI\xd7\x1c\xe4R\xe7\x8c-0\x0e{R\xe3۟\xad \xe7\x8e)G\a\x8aB\x1c\xa3'\n\t>\xd4휌7>晼\xfa҂O'\xad\x05+\v\x80:\x93J\x13$\xe0\x8c\xf5\xa0\f\x8e\x0e}y\xa5T!r\t\a<\x9a\xa4R\x1c\x81\xb6\x86`J\x8e\xfc\x9cӋ\x029P\xa0\x9e\x83\xa0\xa6\x80$\xe0\x99\x98\x8f@1J\xf1\xbcy&6\\\xf4,\x94\xcbC\x84\xc4}\xd5^F0\xbc\x8ao\x99\xf2\x12I\xcey\x1d\xe8\x85y\xf9Fd\xcf\x19\xc6*i\xa0\x90\x92X\f\xf5\xc9q\x8ac\"+\x98\U000cdef9\xfb\xd9\x06\x93\x0f\x18<\xaf=\xb3\x9a\x93\x11\x90\xa0\x12\x18\xf6Q\x90j&]\xac7\xe4\xe3\xb1\xe0\xd2`2W\r\xc0U\x1f\x85C\xf8T\x8d\x82z\x1c\xfb\nk\x1e1\xb7\x1fSPg$6\x8cw\xcf\xebG'ڌz\xd3 (\xe2\x94\x01\xe9\xfa\xd2\fs@\v\xc9⒎\x94\x994\x00\xb4q\x8e\xb4gךL\xf3@\nqGj\x01\xe3\xa5\x1f\x8d\x00\a֓\x9aSI@\x00'\x18\xa0\xfb\xd2\xf7\xa4\xa0\x05$z\xd09\x14\xd3Fy\xe2\x8b\x05\x87\x103A\x04\xf3֘NO\xa5/J\aaq\xb7\xbf4g\x8c\xd2dQ\xc50\x1c1\xd0\xfe\x14\x84\x9aL\xf3\xcd.y\x1e\x94\x80N\x94v\xebKGQL\x04\x1diGZ\a4\xb8\x18\xe4\xd2\x01A\xfc\xe8\xc8\xf5\xa6t\xe34\xe1\xc9\xcf\xf4\xa2°\xee\x060sVa\xde\xf9\\c\x039\xf4\xf7\xaag\x8e\x86\xacD\xc0&\x00\xcf\xd4\xd3F\x90Dq\xccA\xc0\xc7\xcb\xcf#?\xfdj\x90\\\x02\xc0\x98\u05fe{f\xa0\xc3z\x1fʍ\xa3\xae\xd6ϵ\x17\x0eb\xc2́\xb0\x00F8\x06\xa32\xef\xceX\x06\xe9\xcdFW\xb8\rK\x8d\xc7\xd3\xf0\xa2\xe1\xcc;+\x8e~\xf5\a\x03\x91\x9fJi\x04\x9e\x86\x8e\x7f\xda\xfcM+\x8a\xe1\xd7\xff\x00\xadK\xdb8\xa4^=?:\x0f\xcd\xe9A6\x1c\x18\xf6\xebF\xff\x00\x98s\x91\xf5\xa4\n@\xea)\x06z\x1f\xe5J\xc1aǜ\x9e\x87\xb7\xbd7\xb1Q\xd7>\x94\xa51\x82\x1b\xf0\xe9HC\x01\xd4\x0f\xa5\x01f&Ú\b\xc7\\Q\xc1\x1c\x9ei9\x03\x00\xf1\xf5\xa6\x16b\x9c\x9f\xa5\x00n=h \x91ҏ\xc3\xf9\xd0\x16\x1c\x009\xf6\xa3\x00\x13\xc1\xc59pG̠\x1fo\xff\x00]7n:\x02i\n\xc3O\xa0\x14\xa0qNQ\x83\x93\x91G'\xb1\xfa\xe6\x98\xec\xc6s\x9fj\\\x10;\xfeT\xe5\xc0\xcf\a>\xb8\xa3i\xcf\xc8\r\x01a\x15r2\x7f:^r08\xf4\xa0\x83І\x1fQN@s\x9d\xac~\x9cQa\xa48|Ǖ\x03\xf1\x15!w@2I\xf6\xdc?\x9dF\xc4\xfa8\xfc\x01\xa4M\xb99V\xf6\x18$S)\x16\xe3\xb8V \x7f\xab\x18\xea\x18\xe7\xf4\xa7\xc7\xf3\xb8\x06I$\\\xfd\xd5$\xff\x00:\xa3\x81\xbb%w{\x15\"\x9c\x91\xa89\xcb)\xed\xf2\x9e)\x94\x8b\xe1\xe0@\xca\xc1T\x81\xc7\xee\xb9\xfdj\xac\xb1\xc2IJL6\xf5\xc6¼\xd5wG\xdeX\x02\xf9\xeb\xc1\x14\x1c\xf1\x94a\x8e\xc0P2\xc4/\x18\xe4\xbe\xc28\xc0L\xe7\xf1\xa9\x9f\xecΠ\xbc\x9b\xc8铃\xfc\xaa\x8e\xf6c\xfe\xaf\x03\xe9\xfe44{\xc6T\x1c\xfb\x82?\xad\x00Jc\x88\xe7\x0e\x83\xdb9\xa6a@\xe0/\x1d\xf7TJ\xb2)\xf9\xa3r\xbe\x80T\xa1\xa3۴\x89Tg>\xbfҗ(h5\x82\xb7qQ\xe4\x83\xf2\x82?\x1a\x95\x9d\a H\xc7Յ1\xa5\xdc\x7f\xd5\xf3\xf5\xc0\xa5b\\PÓ\xc9\xfett\xe0\xe3\x1fZ\xb1\x18\x84\f\xb0\x90\x9fb\x00\xa8\x9f\xcb\x03\xe5\x0f\x9f\xa0\xa0\x87\x163\xf4\xa3\xfc\xf3Kۿ\xe3J\x06A%\xf9\xff\x00t\xd1ar\xb1\xa2\x90\x1a\\v?ʓh\xf5\xa09X\x13ތ\xfb\xd2\xec>\xab\xf9\xd2\x15\xf7\x14\xc2\xc1\xc5\x1d\xe9B\xe7\xbd\x05\b\xa4\x16\x134s\xf9R\x1e\xb4q\xefL\x05\xc6z\x1aLc\xad/\x1fJL\xf3ր\x0e\x94\xb8=\x87\xe3I\x81N9>\x94\x00\xdcz\x8aP\a|\xd1\xfaQ\x93ސ\x01\x03\xb1\xa3\x1c\x0fJ9\xa5\xc7\x1c\xb8\xfas@\r\xc7\x14\xa0g\xbe))i\x80r\xa6\x86\x18\xed\xcd\x04\x9c\xe7\x06\x93\a=(\v\tӮqJ=FM;i\xf4\xfdi\n\x1c\xf4\xfc\x8d\x00\a9\xc7>\xb9\xa5\f\x14\xfb\x1eԛ\t\xec\x7f*\\7L\x1fʁ\xa7c\xff\xd9\xff\xe1\x057http://ns.adobe.com/xap/1.0/\x00\n\n\n Visualization.SE.HTC\n Visualization.SE.HTC\n True\n equirectangular\n 0\n 0\n 4096\n 2048\n 4096\n 2048\n 0\n 0\n 0\n 4096\n 2048\n\n\n\n\xff\xdb\x00C\x00\x03\x02\x02\x03\x02\x02\x03\x03\x03\x03\x04\x03\x03\x04\x05\b\x05\x05\x04\x04\x05\n\a\a\x06\b\f\n\f\f\v\n\v\v\r\x0e\x12\x10\r\x0e\x11\x0e\v\v\x10\x16\x10\x11\x13\x14\x15\x15\x15\f\x0f\x17\x18\x16\x14\x18\x12\x14\x15\x14\xff\xdb\x00C\x01\x03\x04\x04\x05\x04\x05\t\x05\x05\t\x14\r\v\r\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\xff\xc0\x00\x11\b\x00f\x00\xcd\x03\x01\"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1d\x00\x00\x00\a\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03\x04\x05\x06\a\b\x01\t\xff\xc4\x00<\x10\x00\x02\x01\x02\x05\x02\x04\x03\x06\x03\a\x05\x01\x00\x00\x00\x01\x02\x03\x04\x11\x00\x05\x06\x12!1A\a\x13Qa\"q\x81\b\x14#2B\x91\x15\xa1\xb1\t3Rb\xc1\xd1\xe1\x16\x17D\x82\xf0U\xff\xc4\x00\x1b\x01\x00\x02\x03\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03\x01\x04\x05\x06\x00\a\xff\xc4\x001\x11\x00\x01\x04\x01\x03\x02\x04\x04\x04\a\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x11\x04\x12!1\x05A\x13Qq\x91\"2a\xf0\x14\x81\xa1\xd1\x06#R\xb1\xc1\xe1\xf1\xff\xda\x00\f\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xe8\xa7ә\xe8\x1cg1\xdfгa\xb3dڡ\x0f\x15[\xfd\xd6PqX\x91\xea\x9aR^\xb9l:\x14{\xdf\xdf\r\xa4\x92\xb0K\xf85rI\xf2b\b\xc7\xd5C\x1f\xe6=\x97ˌ\x8d\xf2>\xea\xd1Q\x16\xa8\xa1\x89\xa4i%*\xbc\x9c4\x8b=ϛ\xabJG\xb0\xc383\x1c\xe9\x15Q\xa5\x96T\x1d\x05\xcbbZ\x1c\u07b2\xa21\x1dCl\x1f\xe1a\xb4\xe3\xdaH\xe4\x04\xf6\x90xD\x87QfeµD\x8a}\x0e&\xe83J\xc9Tn\xaa\xbf<\xdd/\x86\xb4u\x90\xc6N\xd4\f\x7f\xcd\x1e\xe1\x87S\xe7&\x9a-\xca!\x12v\x06;_\x00\xe0\x0eԙt\xa7\xa9d\x96P\t\x9c5\xfd\x16\xdf뇁\x1b\xd6\xf8\xabe\xfa\x86\xa6\xa5\xc1f\x81W\xfc$[\x16jï\t\xb1?\xe5\xc2\x1c\xcaR\n9\x8d\x8f\xfba&\xa5K\xdc\xc5\x19>\xea1#\fBQ\xd3\x01\xe1T\xe0\x8b\xe1@\x85?\x17*-\x83\xa7\xf7h\x83\b\xbc\x95\x9d\x8a\x0f\xa5\xf1,a\xdc@UǩD\x03];X0\xf6\x0eP\x16\xc8x\xb5\x06\xd2W\x7f\x88\x9b\xfa&\n?\x88\x13\xf9\x8d\xbeX\xb3\xac\x11\xa8\xe0\x16\xfaa\f\xc2'\x14\xac\xc9#R\x85\xe4\xc8#\x0e@\xef\xc6 \xcc\xd1\xd9O\x84\xe2jʆ_\xbd\x8e[\xfa\x9c\x16Z\x8a\x88\x97s\xbcQ\x82l\v\xbe\xd1\x7f\xae+z\xcb\xc4\xf8t\xdd\x1c\xbeT\x90KS\x19\xb8\xbc{\x84\x8b\xd3u\x83\v\v\xf7\xfeX\xcduO\x8c\xf9\xcf\xf0\xd9ꞏ\xee\xb4N\x15\xd1\xda0T\v\x91~z\x06\xe9b\r\xefq\xd3\bvS\x1b\xc8V[\x89#\xb7\xb2\xc9[R\xaa\xb2yј\xd8\xd9J\xb0 \xfc\x8f|!S\x9f\na\xf8\xb5\x11\xa8\x06ę\x15v\x9f|s>a\xe2%\x1eu\x1d<\xd9umNOg\xb9\xa1\xdc|\x94'\xa3\x82\xcc\x02)\xdcy\xedn\x83\f볌\xcfO\xea'IUe\xa4xȨ\xa9\x96\xcf,\xd3nR\n\xca\xc3Ў\x17\xa1\xb7\xae e\xb0\xf6G\xf87\xff\x00R\xe9iu:\x17\x02<\xc2\t.\xbb\xc2\xc7:1#\xd4\x01\xd7\x11u:\xe4S\xa1\x90\xce\xdb\a7\xb69\x97>\xd6Y\xfeO\x95\xc1Y6l+k+\x11e\x13P \x94\xd3\x02\xa0\xecbG\x04_\xa7npS\xe2\x9dY\xc9)|\xdcڢ\xa2\xa4H\xc0\x94\xa7,\xf2\v]I\x8c\xf0\xc3\xebl\x9c\xdf\x00̇?\xe5b7c6?\x99\xea\xfc2\f\xf5\xd6\xff\x00ęO\xa1\a\xfd\xf0S\xa6\xb3\xef\xff\x00Y\x17\xe6\xc4b\x8f\x96\xf8\xbd\x9c\xeaG\xad&\x96::H\xdfdl\xa5ÿ\xb9\xb8\x16\x16\xb7\xd7\x12\t]=U\xdel\xcf\xc9c\xfaM\xce-0H\u1acf\xc9Ty\x8d\x86\x85\x9f\xcdOA\xa0\xe0\x8a\x12'\x85\x99\xd8\xf5S{a\x7f\xfa.\x91M\x91Xۦ\xde\x0e,g3\x95\x05\xa4\x8d>L\b\xc2\xeb[N\xca7H\xa1\x8f\xa5\xf8\xc5\xc2\xe7\x8d\xe9g5ѻ\x82\xab\xf9\x1e\x9d\xa4\xa4\xaec1\xdcG\xe5\xf3\x0e&\xb3M5K\x98 d;\r\xac\x19p\xe8\xe5\x94\xf5\x83y1\xbf\xb9\x17Úx\x059\b\b\n:zb\x94\x92\x02\xedM;\x8e\xcbF Z\xdd.\x1b\x1e\xea\x13*\xd3\xe7-$Ki9\xb8#\x8cKK\x92\xd3V\xc3iaR\xb8|>1\xc8\x17\x18sN\xc9\"\xede\xe9\xd4✒\xb8\xef\xdd^\x8e1§\xd6d1\xd18\x92$\x1b;\xa9\xed\x89,\xba\r\xa8\x00\xfe\x98\x99̩\xa2\x9e?\x87\xafka\xbd5;D@\"\xc0\xf7\xc1\x89\xc1\x8e\xcf)n\x89͓HN\xe9\xa3\xf8H\xb5\x8e\x1c\n\x0f4\\\x9c%m\x8e\x15I\xb6\x1f*\b\xe3\x04\x92\xcc\x7fH\xc6k\xa4\x17c\xba\xbc#w\x1eI\x9a\xd2 \x90-\xf0\xed(\x15ԛ\x01\xf3DZ\xc4<\xdd\xc5v_\xb1Ą\x10\xf9\xadɰ\x1f\xcf\x15\xdd;\x01V\x19\x8d)\x16S(\xb2\xf6\xdc6\xf3\xc7Q\x81U\x97\xc9\x1c,у+\x8f\xd3}\xb8\xb1SR*\x81\xf87\x1e\xa0\xe2R<\xba\x17K\xed*}\xf0\x97d\xb4&\x8cI\x01\xaaX\x1e\xa8ѫ\x9a\xea7\xab\xa8˼\xdahPK&\xe8yfQ\x7f\x85\xd8Xu\xfe\xb7\xb61\xbdY\x91P\xd5\xd6A\x97M\xa5蠥\xa57\x925\xa5\x11M\xb9\xaf\xb4\xee\xddg\xb77\xb1\x00\x92>\x1eo\x8e\x92\xf1&\xb4\xad\f\xc6*8\x9e\x99\xd8B\xf2\xb9\xea\b<2\x8b\x9e\b?\xed\x8e]\xcd\xf5J\xe9Ѷ\xa2\x82\x8f3\xa2\x99\x88\xfb\xb2\xd4yuP\xb8N\x18\x8b|Q߁\xc7^\xa0\xe0\xa0\x92\xabc\xc77ce\x9b\xbd\xd5\t$\xd2*\xb6V\x9d=\x96fq\xe6\xcbJ\x94\xd2\xe63\xefX\x97˅a\xf8\x14r\xa7z\x11\xb0q͗\xb7<\xf3\xa4\xe4:+8\xd4P\x1a\x8a\x9af\xcb\f\r\xe4Ȕ\xd5$\xab\xb0\xb8#i\x1c\x0e:\xfe\xdcc\xcf\f\xbc#\xa8|\xcc\xe7\x959\x84\x91\rf\xb9vMM^5.gO\x0e`\x1eO2\b\xcb\x0f\x86B\xb6\x91\x97\xb96\xef\xcf>\x98\xe3_\xd6\xdb\x14\x9a-t\xd1t7K\x1f\x8b(\x00\xae\xd1͵ޜ\xd3\x10;\xd6\xe6\xf4\xe8\x91\xfeo-\xb7\x85\xf9\x91\xc0\xfa\x9cf\x19\xdf\xdb?Ì\xa9gX3x*%\x88\x95di\xd07\xcdR\xe4\xb0\xf9c\xe6\xeesO\x9c\xd5g\x8f\x03\xd6\xd5\xd5ȳ\"\xc6\xf5R,\xa5o3D>\x16-\xdc^\xc6\xfc\x1c=\xf1?Eg>\x1bd\x14\xf2ɨ\xa4\x9e\x92z\xa0\x054Qy;^ŷq\xee;}1C#\xae\xbbV\x90\x15\xfc~\x8c\xc06+\xae5\x9f\xf6\x80\xe4\xb9d\xc4P\xe6u\xb5Q\xb0\xb8L\xb6\x84q\xff\x00\xb3\x81\x8ck0\xfe\xd1]L5\x8b\xcdI[\x98\xb6\x9bh\x02\x8ai\x82\xac\xeb-\xb9k\xab\v\x8b\xf6\xbf~\x9cc\x04\xa1MS\xae\xa6\xa7t\xcc\xea\xf3UM\xc64\xae\xaa\x99\xb6q\xf1[o Xsn؝\x8b\xc0\x93]\x98SE][\x0e[S\r\x1cu3SMO0\xa8\x9fq$ K9\xf3\r\xc0\x17\x16\"ǩ\xb69̟\xe2\b\xa3$H\xfd\xfc\xb7\xfe\xcb\x7f\x1f\xa5\xe9کiY\x17\xdbkWgy\xddeNi\x9d\xd4yj\xed\xf7\"\x9cI\x1c{\xaf\xb0\xf3c\xda\xe4\x92}\xf1\xda\x1ff\x0f\xb4O\xfdā\xf2\xaa\xfc\xc6*\xc9\xd5L\x91\xc9'\xc1\"\xa8\xb0\xb1\xe4ܒI\xc7Νg\xe0EF\x92\x9d+\xaa\xe0yrhv\xb5o\xf0\xd8B=/\x99w@ij\x00\x05\xd4\x1e\x86\xeaE\xbe\x1bᧇ\xfe)\xff\x00\xdbl\xdf\xef\x19\n\xc9%B\xa9T\xaaw1H\xa4\xdb\xe2\xe0\xf5\x04\\|\x87\xcb\x160\xba\xcc9M\x12D\xedM\xf3Ur\xf1\x8c\x06\xabu\xf6\xc2\x19\x00`z\xe2B9Ÿ\x18\xf9\x9d\xa2~ݹ\xae[\x9fA\x9c\xe6m%T\tL\x94\xf3P\xee\x1b*6\xf0_w\xe9r\xd7r@\xb7a\xc1\xb6\r\xaf\xfe\xde\x19\x9e\x7f\x9a\xd3VPWM\x93\xd2$I\xbe\x8e\x9a[\x01'r\x1b\xa9\x1d:\xe3\xa0\xf1\xe3w\x06\xd6cX\xeb\xe1}/\xf3L\x8d\xf9o\x89<\xb9e\x92\xd6[\x80m\xc68\x87\xc3\xff\x00\xed\x1d\xd2u\xbai)\xb3Zz\xca}E\x1c;U\xf6,\x90\xce\xe3\xa3\\\x1b\xaf\x1dn:\xe0\xbaw\xed\xc5Q[Y[#Tƒ\xc9 h6\x00\x14)=\b\xf9\x7f\\R\x9aP\xde\x16\x9c/`\x14N\xeb\xe8=\x054\x8f`\x11\xbe\x98\x9e\xa2˃\x1b0p@\xf4\xe3\x1c\xad\xa7>\xd8\xfa~\xa7(\xa3y\xeaY\xf3\x19\x0eֆ\v[\xa7[\x93\xebk\xfa_\x17\xbc\x9b\xedQ\x96O\tfe\xd8\xc0\xf9gp$Xw\xfa\xf1\xfb\xe3&\\\xc0\xc1\xf1-(\xe1\xf1~R\xb4\x0f\x10\xb4\xecr\xaf\x0f\t\xf3,\xdeL\xf0<\xa1\xd8X\x02-\xdc\x0e\xdd\xf1\xc7\xde xG\xac\xf3\xecή|\xaa\x88Ѣ\xb3o\x11\xa6\xc8\xcd\xcd\xed\xbcsk_\xbf\xb65\x9dM\xf6\xc0\xcb\xf2ʸ\xde\x18\xe1\x93`\xf8\xfcƽ\xfdM\xfb_\x8e\x98\xa4\xeb\x0f\xed\x02\xcb<\x84\x8e\x9e\x9a\x96\x90\xfe\xbf\xc5\x0e\x0f<\xf1a۶\x06\x1c\x92\xfd\xdbj%\x8d\xac\x14\xe2\xb2\x04ӹ朧\x96\x9f5\xc9ڞ\xb6\v\xc5\x13\xbb\xb0\x8d\xc9<\x14\xda\n\x82:\xfen\x97\xf5\xc3\xd9\xf3\x8c\xc3Si\xac\xc3&\xa9\xa2T\x91V\xf2»v\xab\\\x1b\x02\xc0\xa9\xb0\xb3\x06\au\x88ド\xcdm\xf6\xf4\xc9\xc5:\x9c\xb7.\xa5\x04\xbb3\xfd\xe1ĢE\xe2\xc1G\xc2GNz\xfe\xd8\xe5\x8f\x13\xbe\xd4/\xa8s*\xa9\xf2\xb1\x1e[\x98U1\x1bi\x0f!O!=\xc5\xef\xcf[\x13\xdb\x1a\xcd\xeam\x8c\x00ZV\x1b\xf1\x98\xf7\x1aru\x1c\x13\xe4Z\xcbR\xc7x)\xa0\x86\a\xab\xa8\x96\x97f\xc7W\x8cDUc7\xbc\x85\xb7\x95\xe3\x8f5\xbdm\x8fi\xbc=\xcc\xe2\xa6\x15\xf9\xbc\xabO[\x15:\x96\xa7\xad\xaa( \x8c/\trlX\x90\v\x0e9ڢ\xf6\xc6M\x9cx\xd9>t!fL\xad\xb3\nI\x12d\xa9\x88\x03P̷c\xbd\xadf[\xf3n\x80\xdb\xd3\x1b6\x93\xfbie\xf5U\xb2fz\x9bH\xd1\xe6\xf2\xc9vH\xa2\x98\xc0#\x96\xdc\x10\xa4\x10W\xd6\xe7w{\xf6\xc5\xd8\xfa\x84 YI\x96'\xf0\r#R\xf8s_\x9fTQVf\xb5\xf3AT\xf5%\xcd\r:*\xc1\x12( s\xd7q\ah6\xb0\xe7\x82@\xc6ۧ\xbc\f\xad\xcd%\x86H\xe9\xa4Jw\x99Zij\x14L\x1ee\x8c\xa2\xb4\xb0n\xe5EŊ\xb0\xe2\xc4w\x18\xcc\xf4\xf7\x8eٗ\x8a:\xbe\x8d3,\xc6m!\xa7j?\x12\x9e\x87%E\xf2\xa5k\x12\xab$\xacK1k\x1e\x96\x1dxƹ[\xe2\xa6K\x94Q\xa6_U\x9b\xe64&x̍\xf7\x1a\x82\xa5T\xfc,w\x1e~\x97\xed\x8d\x18s\x98A *R\xe1H\xfd\x83\x96m\xaa~\xd3R\xf8'M\x9d齲j<\xf2\x1a\xb0!1\xad\x92\x15\xfda\xf7\x0eI>\x83\x1c\xf7\xe2\x1f\xda\x7fů\x10|\xcaXgl\x82\x8aF\xd8(\xb2\xe7\x10\xc8\xf7\xec\xcc.\xe7\xe5\xc6.\x1a\xf3[\xd3i-G\xa8\xd3IAES\x05\x1c\xc8\xf4\xb5\xd5\xf2\x06\xac\f\x8e\x01u$\x10Ğ\xa6\xd6\"\xc7\x19\x06s\xe2v\x7fS-j\xd4\xd1\xc8ٱ\x95jޱ\xa4\xd9&\xed\xa0\x92H\xb0$\x90\r\xbe\x83\xae3g\xeaӹ\xa5\xad4\xdfUo\x17\xa4㇇\x90\v\xbd/\xdbt\xd3\xc3\xcd\x1b\xab3\xedM\"\xe6\x115\x14q\x1b\xca\xd3\x02\x1c\x9b\xed \x96\xf8\xaf\xcf|}\x1b\xfb\x13\xe5˥<\x1d\xab\x86\xb2B\x95rgU\x81\x8c\xbf\x99\x82\x15\x8c1\xbf6;\r\xb1\xc1\xde\x12j\xac\xdb=\xccr\xea\x9azy\x85Wޡ\x8a\xa2\xaaGr\xad\x01r\n\x1f\xf3|7\x17\xbf[{㣾\xd1~*\xe5\xde\x1b\xe6\x99M&Y\x98\xb6_$\x82u\x9c\xc5D\xb5!ʸ\xb0\xbb2\xdaۏK\xde\xfe\xd8\xf6\x1eY\x8d\xff\x00\xcc\ue2e8b\x99\x19P\x01aK}\x81u\xcc9^_W\xa4\xab\xdbee054\xbb\x8f\xf7Ѩ\xbb \xf5e\xb5\xfd\xc7\xcb\x1bޒ\xae\xa2\xcd<.\xcbVfZh^\x90\xcag\xa8u\x8dUd,\xeaAn8\f:\xf7\xc7\ah\xddE&\x8f\xcd\xe8\xf3z6+[LX\xc6\xcc8\x1b\x94\xaf6\xb7f8\x7f\xa7\xf5vo\x97\xe9L\xc7NM\x9c\xd4fY-D\xcb7\xdd\xea\xacJ\xd8\x00\xab\xb8\xf3a\xb4Xp\x05\xb1\xc0dd\xb9ۑ\xb8]\xac\x10\x86\xfc \xecVk\xafWA\xe8=__$\xf4\xb9\xe6{\x98\n锿\xf1h\xe0*U\x8f\xc6BE~I\xb8\xb1\x1eض\xf8\xbb\xac[\xc5\xd7˴n\x86\xd2\xd59\x9c\xf0F\xb5p\xd5K:\xcc\xf2*\xc5\xf1-\xcbY\x98\\\x93v\xdd\xc7#\xae2\xff\x00\x10\xbc;\xac\xcckf\xac\xa4\xf3\xabc \xb1*\xdb\xdd\x0f\xa6ޤ[\xd3\x14,\xbf&\xcer\x9c\xc2)h\xaa&˪V\xde[$\xadO)'\x8f\x87\xa1\xb9\xbflZ\x89\x91J\x03\xdcl\xfa\xaa\xef\x92h]\xa1\x9b\x0fE\xb0\xe5\xd9~\xa8\xf0\x86\xbe\n\x9dC\xa3\xab\xb2\xfc\x92H\f2I\x98A䯞V\xff\x00\x04\x8a\xd6\x06\xe2\xc0zb\xef\xa3\xfeљr\xe7\xa7*\xcd\xe7\x8b2ӳD\xb4\xb4\x15\xe3|uyl|7\x96d\x1f\x1bG\xb9Wp$\xde\xc0\x8e\xe3\x18mvI\xae\xb5tm>\xa4\xae\xcd\xebS/\x89\xe3\x88\xd7\xcd%C[\xa9T\xdeO\x1e\xe3\f\xf2\xbd#<\xfa\xbf,\xc8\xf6\xfdѫL*\x97<\xa2\xc8.\xa4\xfa\x1bX\x9f|b\xe7t\\\x1c\xd2K\xf9\xaeA\xe3\xea<\x8f\xa7#cajc\xcd+\xc7\xc67\x16\x7fעܳ\xef\x12\x92\xb3O\xcf\x15MtQMS\x05FY\x99\xd2RS\xb2\xb5d[\x8a\xc5-\xc8\v\xf9Mŏ\x1b\x01\xe2\xec\x0e\x17&\x95\xa0\x12E\x1c\x8fP\xca\x15\xadyTp9\xb7\x03\xdc\xe2\xc1\xaea\x19V\xac\xad\xa4Pf\x86)\xd9IYE\xba\v\x91\xf5\xbe#R\xba8\x9e\xea\xaa\xec\x06\xd5G\x01\xc0\a\xafQ\xce#\x13\x11\x98M\"\x02@v\xff\x00\xb7\x97\x1czP\xec\xb8\ue8534\x93\x16\xc8j\xacm\xf7\xfb&\x14\xf9%<\x15\xb2\xc4h<\xc4\b̋-A\x17[\x03~\xa3\xfc߾!s<\x9e\xa30\xcc\vSR\x8ah\xd8\x7fv\x8cX\x0e\xd7\xf5\x18\x9di\" \x85\x89-{\xdbh\xeb\x82<\xd3\x04ا\xcbQ\xd9xƳ&,6\t\xbf\xaf\xfd+8d\x86\xf1w\xf5\xfb)\x96W\xa6|\xa9ݾ\xfb\xe5J\x83\xf5\xf1\xb2\xe3\xa9\xf7\xc4\xe6[\x91\xe7p\x17\x10\xc8&[\x0f\x89\x9b\xf3{\xff\x00L1\xa6\x12\xc0\xf2\x16m\xdea\x04\x93\xed\xd3\x13t\x99\xbc\x8a\x00`6\x83\xc0\x03\xbe\x06\\ɇ\xc9E\x14\x99@q\xba\x97\xca5.\xa2\xa4\xcc\xe8)\xbc\x88\xd5c\x9a\xf22F/\xb3\xa9,\xc2\xd7\x1f3\x8d\x8e\x9fVV}\xc7\xcf\x15\x02*Yl\x81\a8011\xaf^\xbe\xf8\xc6\x06bP!\x89\xacg\xe3\x91c\xb7\xfeH\xfd\x87\xbe's\x8c\xe1\xa8h(飓\xa2\x93ȱ7:\xeam\x8a\x92\xe4dL\xc2\xea\x02\x87\xebi\xd0\xce\xf2\xc7<\n\x03\xfc\xa9=}\x9eO\x98\xd3\xf9\xb49\xaaG:\xb6\xc3LҰ.\xa3\x90\xf7k\x0fk_\x18\xbeu_\x9f\xa5`YՂ\x92.\xd7\x06\xe3\xd8\xde\xc7\xe9\x8bd\xf9\x80\xa8\aq\xe4\xfa\xe2=\xd5K\xde\xc2ޠa\xb8\xf9rF\xdap\xb4.\xea\x1bo\x1f\xea\xa3)ପ\xab\xf3\x1e\xb2G\x04p$\xf8{zsl,\xdavs*\xb9\x91/b\xbb\xa3k\xb0S\xfbs\x87\x8d+F\t\x8e\xcc\aS\xe9\x82\x1a\xf7\xe4\xf0/\xe9\xc6<쉜l*\x1f\x8a\x94\x9b\x00\x05\x11&\x94\xa8\xa3\x83\xcdHٝ#pX\x11Ѓl7\xa6\xd3Y\x95u\xcd*4\xb6b+\xb2ҩ;\xc159\x06;\x02\x92!W\x1cw\xb1\xb8\xf7ŶN\xe7\x1b[\xb8\xec\x8eF\xebk\xb7\xf4]\rI\xa7[;\xc9e\x14P\xa4Y\x84\xb1\xadU\"\xbcj\xe4N\x83r\xad\xb9\xe4\x8d\xcb\x7fq\x8ed\xf1;8\xcc\xfcU\xaf\xa2\xa8\xaf\x8d\xd2jTp\xf1\x04\x112;\xc8K\x06\x1e\xbc\x0f\xdb\x1a\x9d\x1e\xb5\xceb\x92\x19MkӘ6\xbaz\xf1\xf9z\x8b\x1cVd\xa4\xa6j\xba\xaa\xa0\xbf\x8dU+M+_\xf397$\xfdIŷ\xe4\x1b\xb6&\x98C\x8e\xe9iZ$UQѸ\xf4'\xf9\xe1\xb2U\xa5#m\x95A[X\x81\xd6ݭ\xf2\xc4Tٚ\x02X\x0f\x8b\xad\x9a\xe3\xe5|4|\xc4H\xcdf\xbf\x17\x1b\xb8\xff\x00\xef\x962\v\x1ay\n\xf8q\x1c\x15j\xa5̑e\x1bӆ\xe5_\xb1篱\xf6İ\xab\xa3\x96H̱G1R\x18o\x00\x90\xd7\xe0\xd8\xf7\x18\xa3Q\xe7F\x0f\xc0\x91A\x89\xeeLR_h>\xa0\x8eT\xff\x00\xf1\xbe\vS\x9b\xd3R\x80\xd1T\xa2\xb0\xe4-I\xb8\xfa0\xe3\xeb\xc6\x14\x18\x01\xd9;Q\xee\xb5?\xe2\x104#\xcb\xe3\x90/~\xff\x00\xfcq\x91x\x8d\x03d\xdaʓP@\xf7\xaa\x8d\xa3dBn>\x11n~g\n>\xbb\x9a\x93s\xed-\x18 \x17FR\xa3\x9b\x0eA\xef{b\xa7\xa8+\xb3\xddaVV\x1c\xaeQI\b\x1b\x9a/\xc4RG\xea-aa\xed\x865\x95\xbf\t3\xcb#b%\x8a;0\xcejsZ\x89g\x9d\x8b\x19\\\xc8T\x01`OR\x06\x1a\xf9\x8aA\xfc\xc1\x81\xc2);\xc8\xfbw\x8e\r\xad\xfdF\x1c\xb1\v\x1a\u06dd\xbcߦ \x80\x17\x1f!\xb3d\xda\xf6'\xe4\xde\xdf\\{#\x81\xf1\x10\x18t\xb6\x1b\xf9\xcaK]\x00\x04\xf6\xe2\xd8yM\x95VU\xc5\xe6\xac>]8\xff\x00Ȝ\x88\xe2\x1f\xfb5\x81\xf9\v\xe24n\xabxd\x9d\x92Ir\xddB\xa96\x1b\xbf\xd3\x124\xe4\xc3\x02\xcbQ\x7f \xff\x00u\x18\xe1\xa7?\xd7o\xa9\xfa\x0ez$\xb5\x149g\n˙U[\x86e\"\x04\xf9\x03b\xff\x00[\x0fc\x86\x92\xd4I[T\xf3K!\x96V<\xb1\xfe@z|\x87\x03\x10[\xe6\x8bEr\xa7rf5٪\xc9;Y\x89\xdc@\x1e\x9d\x00\x1d\x80\xb7\xf2\xc3\xcdIV\xa2u\x8c\x97\x11\xa8\xbe\xeeo\xf4\xf4\xfa\xdb\x03GS\xa7\xe3o\x88\x96\x7f\xc8\xe4q\x7f\x9f\xfab?SO\f\x99\x94\x9b\x1cp\x00\xf8/\xfc\xf0\xda\x02/R\xb44\x98\xf1\xf6\xeeS\t\xa4[\x92\x00-n\xb7\xc1\"}\x8d\xb4\xb5\x9b\xb0\xbe\x11\x91\xc2(#\x90G[\xdc\xe1\"\xc1\x8f7\f\x7f\x9e\x12\x1b\xb2\xcf \xb9=fK\x10F\xd6\xf5\xb9\x18&\xd2\xf7\xdb/N\x83\t\xac\x80'\xc5bù酒E\x8a2Xnb,-\xd0_\xbe\x06\xa9\x0e\x90\x93h$76\xde:\x9ba\x16\xdc\x01\xe2\xf6\xf7\xe9\x85|\xc0\x8f\xb9\xb7/p;a\t_s\v1p;\x93\x83\x01\x18hAF\xe7=Ct\xb0\x1d1\xe9U^\xbc-\xb9#\xb7\xd3\x1eʠ\x01!B=\x0fC\x84V;\xa9\x17\xb1\xbf\x17<\x9c\x15)\xa4\xa2Ո\xf8\x03o\xb9\xbd\xff\x00lZ\xf4\x9e\xa1\x87.\xcc!\x96\xbdL\xf0l6!\xacGpx\xc56@\xab\xc2\r\xec\a$p\b\xf6\xf7\xc1\xa8\xea--\xacù\a\xa6'M|M\xec\x9a\xc2莶v[\x8a\xe7QTB\xe27\x8dх\xec\x1by\x06\xdd/\xf2\u0094\xf4\x94\xf2D$\xa9\x99RF7ڀ\xf1\xed\xd7\x14\xad9\xad\x9a\x96\b\xb2\u05c9%\x06\xea\x93\x18Ðm\xfa\xbeB\xf68\x9c\xfe!\x19$D\x8am\xd7h'\x0e\xd4\\-t\xb0\xc8٘\x1e\xd5\x0f-0\x99\xec\xc2\xcdv\xb5\xac\x14\x8bz\xf6\xfa\xda\xc0`\xf9~Q5B\x88\x94\x18݆\xeb\xaaߏ\xeb\x84$\xcc\x16E\x99\xa0\x8d\xc4%B\xabʶ.n,J\xdeߵ\xfa\x8c\x1c\xe7閳\xadKyN\xb6\xd9uo\x8b\xd8\xf3\xc5\xf9\xfa\xe2\xc1hG\xaa\xb9S\xb5\x1a\x1a\xb6X\xf6}\xea&\x91PH> A$\x13ny\xbd\xbd\xf0\xdf\xfe\x84dY\x96\xb6\xae\x04\x8dT\xbb2\t,\xca\r\xb7\v)\xb8\xc45w\x8a\xb5\xc1QhD\x90\x14\x16\xde\n\xad\xfb\xf5\xe4\x9fC|AV\xe7\xb5\xd9\xf4\xe6J\xaa\x89\xa5@\xbc\x85\xba\xa1\xf6\xb0\xeb\xdf\x14\xe5h\xad\x8dz)\x19\x91\xc4w\xa2\x8b\x9aP\xe5\x90Ճ\x95M-B\xc5\xf1\x19\xd9vݽ\x94\x92mׯ>\xc3\x0e(s\xb8\xb2\xc8\x1e\x9eJ-\xf1=\xdaA\x05D\x91\x12O{\x06\xb7\x96\xea0\xceJ\x93)%[\x9e9=\x0f\xfca:K\xb96\xb2\xa5͒\u0383@\xf6\x1c)\x03&P\xb3\xdce҄\xb5\xc9\x15ds\xf2\xdapS=\n\xb6\xf3HY\x1b\x8f\x8ev$~\xd6\xc4kL\xcb\xc0*E\xfb\x1e-\x8fC݉,E\xc7c\xfd0\xda%f8\x97\x1bRF\xbe%'\xee\xd4\xd0\xc6\xe3\xa1U$\x8f\xa9\xc3*\x99\x9a\xa2A$\xf23\xc9\xea\xc7q\x03\xdb\x02\x16^\xad{u\xeb\xd3\x0f\xe3\x10\xce.\x88\u07bf\x11\xeb\xeb\xc6 \r\xe9\v\x1b\xa8ը\xdazS#]\x811\xdc\x02ö,t\x9a~\x95c/畵\x89Bm{\xf6\xff\x00\x9c9˲\x9a\xb6\x1bb\xa4\x92I\r\x9f\xcbeܽ\xf9\x1cu\xe6\xdc\xfc\xf0\xee(\xab\x1e\x8ew\xd9\x1c)\v\x1d\xa2DT\xb9\xf5%\xad\xf3\x16\xbfNml]lc\x95\xb3\x16\x1bo\x84\xee\x98\x0f-ӕ$X\x10\x01\xbf\xcf\n\b\x031\xbf\xc6\xfe\xacx\xb6\x06\x06=\xa4/xl\xf2F\xa7\xa2\x13/\xc0\x00\xdb\xcbn\xef\xf2\xc3\xea8\xf6\xa3\xccܵ\xf8\xb1\xe3\xea000`\vNc\x1a;'\xf4\x99\x85Z\xa9\xf2g1\xab\x02\x1d\b\x05/\xea\x14\x82:\x0f\xf9ü\xd3S\xe6\xb5\x114O\xa1p00\x04\x00\xab\xba&\x0e\x02NxL\x12m-\xb8\xfa\xf4\xc1\x1bn\xd0\b\x17\xf9t\xc0\xc0ǫeX\xb4%b\x83rp\x01 \xdc\x13\x8f.\xe3\xe0\xe0\x0e\xb8\x18\x18\x11\xba\x80\x01^?\xc75\x96\xd6\xf9[\x06h\xdd\xfa\x04\x1b\xac\t\xc0\xc0\xc1\x00\x8fHJ\x8c\xbaD*U\x97\x9e-\x85\xd7-\xa9\x8f\x84\x94/\x1d\x98\x8b\xff\x00,\f\fB\x9b-\xf9M/\xff\xd9")