libtiff-devel-4.0.9-150000.45.8.1 >  A bx"p9|<e7:8wh?``6go sx7I6m/q&(s\.y b{&/?κ |cd-uS5(1k(WXM+E*ml@\ j=^N{|Iqj{]q7G4EbWH6ax00!xu9 Nﰔ Ž3qJ:3|||l ðx" G.qş70+ k>p>?d $ f-NS i44 4 \4 ,4 4 844 444@`(!8()9):)F9GL4H4I4X Y,\\4],4^bcdeflu4vwx4xH4yz 04:|Clibtiff-devel4.0.9150000.45.8.1Development Tools for Programs which will use the libtiff LibraryThis package contains the header files and static libraries for developing programs which will manipulate TIFF format image files using the libtiff library.bxsheep16KSUSE Linux Enterprise 15SUSE LLC HPNDhttps://www.suse.com/Development/Libraries/C and C++http://www.simplesystems.org/libtiff/linuxx86_64 eZ^s\*% d| c" R5 Ng ptF  gLbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbx817fc7dacfc7499ca60575fbd6d9d52f661fa11e21bf9a16165673c0b1bf4e1ad62114127f7c1a6c815e984de2b2b1b123c1fee7046296510c87e6eda2a01ca36d98b037201bbfb8a56a1947d08be85dfb1e4850eac2fc72ef850be0000dab7b1ac75ac6bd97627d92dbdd9d9b812b92598cfb1af75cac20257cd4ae08cb982e21195898e58f38860e4f0ca228047f29b2ea9056370c5268b1ec74f80c8353ece2131cd235badf68b48234170dda5be6791e1e7ab86be6969b49c7c1ec618eb1a23c93ee21d3c747b60d23f9f5b5a96b6ea3520b6b0f6eee118cc6a1c938157aa25e075deb1134c467adc8df79d4030eee8bb29c23d6bbeb623717fc199eae5e11adb6f2e0a5cd4857a5db6ddc8fe936fb97c80c159ec8504b4835982979502b79a216827d19e88166097daf8fc18839223874b2c9faa84fdd3dd1929194cc8034f64c5726e472f89ff6c32b51a0057602355c3343a63258c375a3205e3fc12fcfd187be23200b759a9c5834b37fb7e43deaefe6e0bd8b94e64b7e74e9f4132c7f1fcd7428a241e1ec2e32ee41e15fd824830390ee2d4d9da22e444dd2f25dbf85976b1e12a153bb64ab3542b98add76117bb1142fe691b30b4e74ab682128d4f3bec7f82e7d3b176a708f6b24ae73056a44e963c58b55e681ce8c3552172638a8fcf0ba5bc3224c041208560ae004828f23eeed54b6b296fe79d9683b698e42a6e31da094375befee7fafa37ccd03c7c218a7c1b27baed5411d928b82423338bbcbe306115b93feed25f4a0d40add52608d8e69962b3d54bf8fe449dbf51bda56b115bdf49cce358b1e3a22a7beca3b8921add702cf860590bc76928c0f8f1d0db7806d474073d3186bed9069ccfff5274869cecb19c1cc51a56100d2b474900ad44f9d3e4f4a15045815e2a7f0cb011414b3da74cde73caced7a4fbed59b14849b0c65bd87bc4873a13c2cd83af0a1d96ab91884c20371af19aa1ed8558d4bd38bcc60bc35152be1d96120fd203003584d9511a4774e03690e2a844f33500009e212fc98129b5b2fb3159038ab8376cb86f58c2aee781e8b91d9d1c6597277532d01bb62fec714831f6b10ee99fb0192cbb1316c3c3871b0be06bd875db9b73ea223f8600efb335d24663777e4d0d0a43215b888e24092a0849a52ebc4b1f8c20f771c4c04d3105c3457ed714cfdee86d6fcf7f0eb76f0a147fbf64d257583bd67c743ece7cfb09b19299dc453d1fa524e27628f639be1538f39d95f29e8a653ff2bbd1cd6d31d4c1e212cfd90700a87ab1cd8c2e571a41c82c94e65f2c36b5f509b81ddb1fabbadac252dbadc8525cbb3e7879ac321882506c95eadeddb75eca74519cd5ffeebc118111efb550c7e3476d9bf87ccceb3c41c3636eedaeb4511b56d4e162a3f8aa34df44d9c643ad6156e6113abc7c7dbe054ec5e8d072e917507cb5a79579283609eac8c9eac45982d49cc93eae24433cff3e8c51fd81e6d5fa350d2a1983aebe45e3935518a4bc597d1e9ebc5887098d00bf18db368832d787a8de7c0ba47c3b0f8145527e7c5a735c1ad298f2f274661274c719208128630084912b49ef975b48561f53185255ee52c6050a717c63b57822c293b3760f4c8b74a0bcc7484367aea0668c3c64798fc296554fc5ae0f39812a059a2ffd9c74323bbc04a7eaf272b4a0c101d46ff9b7c74600227054da4b65c1ad79474249e053d869d19f7850142b4c3990f1e756147c0ad977b2c0f6a88d66fa9ad4207697acfe52d65483e64dd4f82d680a1eb9b4b5f2a27befca8a4ba479d8db5e9a78cc0e38b8ab00a804cdbbf1c85fe717eb4eb89babf524024ba4ac90b359d61bc45b7d5038acf3de26bb44ffd9f8922d857d5489d9fcf8a4ebb07c597b9787052c76d8e3c20e8d96e009c91f8c39d5088c6bf72f207fa5c6caaa32f2bdf6da4024a2e00a81a88b60b0a6e15acda5ed2d36a9b4bbbc7229b838f3d17ed820a994b6bdbed095673f0396ff31929194259727f11e28b073dd2556c920f2b8e5f545fcc53de645017cf0ef1e8d9a5a97f0c3453f8b9260a7674e6cf84090a922a320084fc8e925e08dcab704731e65bc0211d4258e6b876e2b48bbae4e4f20e3b5f95c38811faf0e2c71ffbdb5f97582dff5615a19d3ba2406472adf481c064d39f8c338f294493039ed49a5a13b81e917dfb8ef0ae8fbab0c1f7399c831914a7fe09bac9365f37627e56e177c682a09993e83888bdc87a2d98d47c55f68cee82f8e38blibtiff.so.5.3.0libtiffxx.so.5.3.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottiff-4.0.9-150000.45.8.1.src.rpmlibtiff-devellibtiff-devel(x86-64)pkgconfig(libtiff-4)@    /usr/bin/pkg-configglibc-devellibstdc++-devellibtiff5rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.0.93.0.4-14.6.0-14.0-15.2-14.14.1bu bu aZ@]µ]µ\b@\X)@\Q[[k@[k@[$@[t[{@[)[)Z@ZZ ZZ;@Z@YI@XۡX@Xx@XWXWX=mWint32 conversion (when refBlackWhite[0] == 2147483648.f) Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1907 + libtiff/tif_dirinfo.c, tif_dirread.c: add _TIFFCheckFieldIsValidForCodec(), and use it in TIFFReadDirectory() so as to ignore fields whose tag is a codec-specified tag but this codec is not enabled. This avoids TIFFGetField() to behave differently depending on whether the codec is enabled or not, and thus can avoid stack based buffer overflows in a number of TIFF utilities such as tiffsplit, tiffcmp, thumbnail, etc. Patch derived from 0063-Handle-properly-CODEC-specific-tags.patch (http://bugzilla.maptools.org/show_bug.cgi?id=2580) by Raphaël Hertzog. Fixes: http://bugzilla.maptools.org/show_bug.cgi?id=2580 http://bugzilla.maptools.org/show_bug.cgi?id=2693 http://bugzilla.maptools.org/show_bug.cgi?id=2625 (CVE-2016-10095, bsc#1017690) http://bugzilla.maptools.org/show_bug.cgi?id=2564 (CVE-2015-7554, bsc#960341) http://bugzilla.maptools.org/show_bug.cgi?id=2561 (CVE-2016-5318, bsc#983436) http://bugzilla.maptools.org/show_bug.cgi?id=2499 (CVE-2014-8128, bsc#969783) http://bugzilla.maptools.org/show_bug.cgi?id=2441 http://bugzilla.maptools.org/show_bug.cgi?id=2433 + libtiff/tif_swab.c: if DISABLE_CHECK_TIFFSWABMACROS is defined, do not do the #ifdef TIFFSwabXXX checks. Make it easier for GDAL to rename the symbols of its internal libtiff copy. + libtiff/tif_dirread.c: fix regression of libtiff 4.0.8 in ChopUpSingleUncompressedStrip() regarding update of newly single-strip uncompressed files whose bytecount is 0. Before the change of 2016-12-03, the condition bytecount==0 used to trigger an early exit/disabling of strip chop. Re-introduce that in update mode. Otherwise this cause later incorrect setting for the value of StripByCounts/StripOffsets. (https://trac.osgeo.org/gdal/ticket/6924) + libtiff/tif_dirread.c: TIFFFetchStripThing(): limit the number of items read in StripOffsets/StripByteCounts tags to the number of strips to avoid excessive memory allocation. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2215 + libtiff/tif_getimage.c: avoid many (harmless) unsigned int overflows. + libtiff/tif_fax3.c: avoid unsigned int overflow in Fax3Encode2DRow(). Could potentially be a bug with huge rows. + libtiff/tif_jpeg.c: avoid (harmless) unsigned int overflow on tiled images. + libtiff/tif_dirread.c: avoid unsigned int overflow in EstimateStripByteCounts() and BYTECOUNTLOOKSBAD when file is too short. + libtiff/tif_predict.c: decorate legitimate functions where unsigned int overflow occur with TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW + libtiff/tif_dirread.c: avoid unsigned int overflow in EstimateStripByteCounts() + libtiff/tiffiop.h: add TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW macro to disable CLang warnings raised by - fsanitize=undefined,unsigned-integer-overflow + libtiff/tif_jpeg.c: add anti-denial of service measure to avoid excessive CPU consumption on progressive JPEGs with a huge number of scans. See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf Note: only affects libtiff since 2014-12-29 where support of non-baseline JPEG was added. + libtiff/tif_jpeg.c: error out at decoding time if anticipated libjpeg memory allocation is above 100 MB. libjpeg in case of multiple scans, which is allowed even in baseline JPEG, if components are spread over several scans and not interleavedin a single one, needs to allocate memory (or backing store) for the whole strip/tile. See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf This limitation may be overriden by setting the LIBTIFF_ALLOW_LARGE_LIBJPEG_MEM_ALLOC environment variable, or recompiling libtiff with a custom value of TIFF_LIBJPEG_LARGEST_MEM_ALLOC macro. + libtiff/tif_jbig.c: fix memory leak in error code path of JBIGDecode() Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2706 (CVE-2017-9936, bsc#1046073) + libtiff/tif_dirread.c: in TIFFReadDirEntryFloat(), check that a double value can fit in a float before casting. + libtiff/tiffiop.h, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c, libtiff/tif_read.c: make TIFFReadScanline() works in CHUNKY_STRIP_READ_SUPPORT mode with JPEG stream with multiple scans. Also make configurable through a LIBTIFF_JPEG_MAX_ALLOWED_SCAN_NUMBER environment variable the maximum number of scans allowed. Defaults to 100. + libtiff/tif_read.c: TIFFFillTile(): add limitation to the number of bytes read in case td_stripbytecount[strip] is bigger than reasonable, so as to avoid excessive memory allocation (similarly to what was done for TIFFFileStrip() on 2017-05-10) + libtiff/tif_getimage.c: use _TIFFReadEncodedStripAndAllocBuffer(). Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2708 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2433 + libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedStripAndAllocBuffer() function, variant of TIFFReadEncodedStrip() that allocates the decoded buffer only after a first successful TIFFFillStrip(). This avoids excessive memory allocation on corrupted files. + libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedXXXX() functions associated with LONG8/SLONG8 data type, replace assertion that the file is BigTIFF, by a non-fatal error. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712 + libtiff/tif_read.c: TIFFStartTile(): set tif_rawcc to tif_rawdataloaded when it is set. Similarly to TIFFStartStrip(). This issue was revealed by the change of 2017-06-30 in TIFFFileTile(), limiting the number of bytes read. But it could probably have been hit too in CHUNKY_STRIP_READ_SUPPORT mode previously. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2454 + libtiff/tif_error.c, tif_warning.c: correctly use va_list when both an old-style and new-style warning/error handlers are installed. Patch by Paavo Helde (sent on the mailing list) + libtiff/tif_getimage.c: use _TIFFReadTileAndAllocBuffer(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2470 + libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedTileAndAllocBuffer() and _TIFFReadTileAndAllocBuffer() variants of TIFFReadEncodedTile() and TIFFReadTile() that allocates the decoded buffer only after a first successful TIFFFillTile(). This avoids excessive memory allocation on corrupted files. + libtiff/tif_pixarlog.c: avoid excessive memory allocation on decoding when RowsPerStrip tag is not defined (and thus td_rowsperstrip == UINT_MAX) Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2554 + libtiff/tif_lzw.c: fix 4.0.8 regression in the decoding of old-style LZW compressed files. + libtiff/tif_lzw.c: fix potential out-of-buffer read on 1-byte LZW strips. Crashing issue only on memory mapped files, where the strip offset is the last byte of the file, and the file size is a multiple of one page size on the CPU architecture (typically 4096) + libtiff/tif_dir.c: avoid potential null pointer dereference in _TIFFVGetField() on corrupted TIFFTAG_NUMBEROFINKS tag instance. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2713 + tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw" mode on PlanarConfig=Contig input images. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715 + libtiff/tif_read.c: TIFFFillStrip() / TIFFFillTile(). Complementary fix for http://bugzilla.maptools.org/show_bug.cgi?id=2708 in the isMapped() case, so as to avoid excessive memory allocation when we need a temporary buffer but the file is truncated. + libtiff/tif_read.c: in TIFFFetchStripThing(), only grow the arrays that hold StripOffsets/StripByteCounts, when they are smaller than the expected number of striles, up to 1 million striles, and error out beyond. Can be tweaked by setting the environment variable LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT. This partially goes against a change added on 2002-12-17 to accept those arrays of wrong sizes, but is needed to avoid denial of services. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2350 + libtiff/tif_read.c: add protection against excessive memory allocation attempts in TIFFReadDirEntryArray() on short files. Effective for mmap'ed case. And non-mmap'ed case, but restricted to 64bit builds. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2675 (CVE-2017-12944, bsc#1054594) + libtiff/tif_luv.c: LogLuvInitState(): avoid excessive memory allocation when RowsPerStrip tag is missing. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2683 + libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate(): properly break from loops on error when stoponerr is set, instead of going on iterating on row based loop. + libtiff/tif_getimage.c: fix fromskew computation when to-be-skipped pixel number is not a multiple of the horizontal subsampling, and also in some other cases. Impact putcontig8bitYCbCr44tile, putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile, putcontig8bitYCbCr21tile and putcontig8bitYCbCr12tile Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2637 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2691 + libtiff/tif_luv.c: further reduce memory requirements for temporary buffer when RowsPerStrip >= image_length in LogLuvInitState() and LogL16InitState(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2700 + libtiff/tif_dirwrite.c: replace assertion related to not finding the SubIFD tag by runtime check (in TIFFWriteDirectorySec()) Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2727 + libtiff/tif_dirwrite.c: replace assertion to tag value not fitting on uint32 when selecting the value of SubIFD tag by runtime check (in TIFFWriteDirectoryTagSubifd()). Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2728 + libtiff/tif_jpeg.c: accept reading the last strip of a JPEG compressed file if the codestream height is larger than the truncated height of the strip. Emit a warning in this situation since this is non compliant. + libtiff/tiffiop.h, tif_aux.c: redirect SeekOK() macro to a _TIFFSeekoK() function that checks if the offset is not bigger than INT64_MAX, so as to avoid a -1 error return code of TIFFSeekFile() to match a required seek to UINT64_MAX/-1. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2726 + libtiff/tif_dirread.c: add NULL check to avoid likely false positive null-pointer dereference warning by CLang Static Analyzer. + libtiff/libtiff.def: add TIFFReadRGBAStripExt and TIFFReadRGBATileExt Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2735 + libtiff/tif_jpeg.c: add compatibility with libjpeg-turbo 1.5.2 that honours max_memory_to_use > 0. Cf https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162 + libtiff/tif_getimage.c: avoid floating point division by zero in initCIELabConversion() Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3733 * Changes in the tools: + tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw" mode on PlanarConfig=Contig input images. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715 + tools/tiffset.c: fix setting a single value for the ExtraSamples tag (and other tags with variable number of values). So 'tiffset -s ExtraSamples 1 X'. This only worked when setting 2 or more values, but not just one. + tools/fax2tiff.c (_FAX_Client_Data): Pass FAX_Client_Data as the client data. This client data is not used at all at the moment, but it makes the most sense. Issue that the value of client_data.fd was passed where a pointer is expected. + tools/tiff2pdf.c (t2p_sample_realize_palette): Fix possible arithmetic overflow in bounds checking code and eliminate comparison between signed and unsigned type. + tools/tiff2bw.c (main): Free memory allocated in the tiff2bw program. This is in response to the report associated with CVE-2017-16232, bsc#1069213 but does not solve the extremely high memory usage with the associated POC file.- Upgrade to upstream release 4.0.8 * libtiff/tif_getimage.c, libtiff/tif_open.c + add parenthesis to fix cppcheck clarifyCalculation warnings * libtiff/tif_predict.c, libtiff/tif_print.c + fix printf unsigned vs signed formatting (cppcheck invalidPrintfArgType_uint warnings) * libtiff/tif_read.c, libtiff/tiffiop.h + fix uint32 overflow in TIFFReadEncodedStrip() that caused an integer division by zero. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2596 * libtiff/tif_pixarlog.c, libtiff/tif_luv.c + fix heap-based buffer overflow on generation of PixarLog / LUV compressed files, with ColorMap, TransferFunction attached and nasty plays with bitspersample. The fix for LUV has not been tested, but suffers from the same kind of issue of PixarLog. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2604 * libtiff/tif_strip.c + revert the change in TIFFNumberOfStrips() done for http://bugzilla.maptools.org/show_bug.cgi?id=2587 / CVE-2016-9273 since the above change is a better fix that makes it unnecessary. * libtiff/tif_dirread.c + modify ChopUpSingleUncompressedStrip() to instanciate compute ntrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip), instead of a logic based on the total size of data. Which is faulty is the total size of data is not sufficient to fill the whole image, and thus results in reading outside of the StripByCounts/StripOffsets arrays when using TIFFReadScanline(). Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2608. * libtiff/tif_ojpeg.c + make OJPEGDecode() early exit in case of failure in OJPEGPreDecode(). This will avoid a divide by zero, and potential other issues. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2611 * libtiff/tif_write.c + fix misleading indentation as warned by GCC. * libtiff/tif_fax3.h + revert change done on 2016-01-09 that made Param member of TIFFFaxTabEnt structure a uint16 to reduce size of the binary. It happens that the Hylafax software uses the tables that follow this typedef (TIFFFaxMainTable, TIFFFaxWhiteTable, TIFFFaxBlackTable), although they are not in a public libtiff header. Raised by Lee Howard. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2636 * libtiff/tiffio.h, libtiff/tif_getimage.c + add TIFFReadRGBAStripExt() and TIFFReadRGBATileExt() variants of the functions without ext, with an extra argument to control the stop_on_error behaviour. * libtiff/tif_getimage.c + fix potential memory leaks in error code path of TIFFRGBAImageBegin(). Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2627 * libtiff/tif_jpeg.c + increase libjpeg max memory usable to 10 MB instead of libjpeg 1MB default. This helps when creating files with "big" tile, without using libjpeg temporary files. Related to https://trac.osgeo.org/gdal/ticket/6757 * libtiff/tif_jpeg.c + avoid integer division by zero in JPEGSetupEncode() when horizontal or vertical sampling is set to 0. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2653, bsc#1033127, CVE-2017-7595 * libtiff/tif_dirwrite.c + in TIFFWriteDirectoryTagCheckedRational, replace assertion by runtime check to error out if passed value is strictly negative. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2535, bsc#1038438, CVE-2016-10371 * libtiff/tif_dirread.c + avoid division by floating point 0 in TIFFReadDirEntryCheckedRational() and TIFFReadDirEntryCheckedSrational(), and return 0 in that case (instead of infinity as before presumably) Apparently some sanitizers do not like those divisions by zero. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2644, bsc#1033118, CVE-2017-7598 * libtiff/tif_dir.c, tif_dirread.c, tif_dirwrite.c + implement various clampings of double to other data types to avoid undefined behaviour if the output range isn't big enough to hold the input value. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2643 http://bugzilla.maptools.org/show_bug.cgi?id=2642 http://bugzilla.maptools.org/show_bug.cgi?id=2646 http://bugzilla.maptools.org/show_bug.cgi?id=2647, bsc#1033126, CVE-2017-7596, bsc#1033120, CVE-2017-7597, bsc#1033113, CVE-2017-7599, bsc#1033112, CVE-2017-7600, * libtiff/tif_jpeg.c + validate BitsPerSample in JPEGSetupEncode() to avoid undefined behaviour caused by invalid shift exponent. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2648, bsc#1033111, CVE-2017-7601 * libtiff/tif_read.c + avoid potential undefined behaviour on signed integer addition in TIFFReadRawStrip1() in isMapped() case. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2650, bsc#1033109, CVE-2017-7602 * libtiff/tif_getimage.c + add explicit uint32 cast in putagreytile to avoid UndefinedBehaviorSanitizer warning. Patch by Nicolas Pena. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2658, bsc#1033131, CVE-2017-7592 * libtiff/tif_read.c + TIFFReadBufferSetup(): use _TIFFcalloc() to zero initialize tif_rawdata. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2651, bsc#1033129, CVE-2017-7593 * libtiff/tiffio.h, tif_unix.c, tif_win32.c, tif_vms.c + add _TIFFcalloc() * libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c + return 0 in Encode functions instead of -1 when TIFFFlushData1() fails. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2130 * libtiff/tif_ojpeg.c + fix leak in OJPEGReadHeaderInfoSecTablesQTable, OJPEGReadHeaderInfoSecTablesDcTable and OJPEGReadHeaderInfoSecTablesAcTable when read fails. Patch by Nicolas Pena. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2659, bsc#1033128, CVE-2017-7594 * libtiff/tif_jpeg.c + only run JPEGFixupTagsSubsampling() if the YCbCrSubsampling tag is not explicitly present. This helps a bit to reduce the I/O amount when the tag is present (especially on cloud hosted files). * libtiff/tif_lzw.c + in LZWPostEncode(), increase, if necessary, the code bit-width after flushing the remaining code and before emitting the EOI code. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=1982 * libtiff/tif_pixarlog.c + fix memory leak in error code path of PixarLogSetupDecode(). Patch by Nicolas Pena. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2665 * libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c + fix GCC 7 -Wimplicit-fallthrough warnings. * libtiff/tif_dirread.c + fix memory leak in non DEFER_STRILE_LOAD mode (ie default) when there is both a StripOffsets and TileOffsets tag, or a StripByteCounts and TileByteCounts Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2689, bsc#1042805, CVE-2017-9403) * libtiff/tif_ojpeg.c + fix potential memory leak in OJPEGReadHeaderInfoSecTablesQTable, OJPEGReadHeaderInfoSecTablesDcTable and OJPEGReadHeaderInfoSecTablesAcTable Patch by Nicolas Pena. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2670 * libtiff/tif_fax3.c + avoid crash in Fax3Close() on empty file. Patch by Alan Coopersmith + complement by myself. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2673 * libtiff/tif_read.c + TIFFFillStrip(): add limitation to the number of bytes read in case td_stripbytecount[strip] is bigger than reasonable, so as to avoid excessive memory allocation. * libtiff/tif_zip.c, tif_pixarlog.c, tif_predict.c + fix memory leak when the underlying codec (ZIP, PixarLog) succeeds its setupdecode() method, but PredictorSetup fails. Credit to OSS-Fuzz (locally run, on GDAL) * libtiff/tif_read.c + TIFFFillStrip() and TIFFFillTile(): avoid excessive memory allocation in case of shorten files. Only effective on 64 bit builds and non-mapped cases. Credit to OSS-Fuzz (locally run, on GDAL) * libtiff/tif_read.c + TIFFFillStripPartial() / TIFFSeek(), avoid potential integer overflows with read_ahead in CHUNKY_STRIP_READ_SUPPORT mode. Should especially occur on 32 bit platforms. * libtiff/tif_read.c + TIFFFillStripPartial() + avoid excessive memory allocation in case of shorten files. Only effective on 64 bit builds. Credit to OSS-Fuzz (locally run, on GDAL) * libtiff/tif_read.c + update tif_rawcc in CHUNKY_STRIP_READ_SUPPORT mode with tif_rawdataloaded when calling TIFFStartStrip() or TIFFFillStripPartial(). This avoids reading beyond tif_rawdata when bytecount > tif_rawdatasize. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1545. Credit to OSS-Fuzz * libtiff/tif_color.c + avoid potential int32 overflow in TIFFYCbCrToRGBInit() Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1533 Credit to OSS-Fuzz * libtiff/tif_pixarlog.c, tif_luv.c + avoid potential int32 overflows in multiply_ms() and add_ms(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1558 Credit to OSS-Fuzz * libtiff/tif_packbits.c + fix out-of-buffer read in PackBitsDecode() Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1563 Credit to OSS-Fuzz * libtiff/tif_luv.c + LogL16InitState(): avoid excessive memory allocation when RowsPerStrip tag is missing. Credit to OSS-Fuzz (locally run, on GDAL) * libtiff/tif_lzw.c + update dec_bitsleft at beginning of LZWDecode(), and update tif_rawcc at end of LZWDecode(). This is needed to properly work with the latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT mode. * libtiff/tif_pixarlog.c + PixarLogDecode(): resync tif_rawcp with next_in and tif_rawcc with avail_in at beginning and end of function, similarly to what is done in LZWDecode(). Likely needed so that it works properly with latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT mode. But untested... * libtiff/tif_getimage.c + initYCbCrConversion(): add basic validation of luma and refBlackWhite coefficients (just check they are not NaN for now), to avoid potential float to int overflows. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1663 Credit to OSS Fuzz * libtiff/tif_read.c + _TIFFVSetField(): fix outside range cast of double to float. Credit to Google Autofuzz project * libtiff/tif_getimage.c + initYCbCrConversion(): check luma[1] is not zero to avoid division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665 Credit to OSS Fuzz * libtiff/tif_read.c + _TIFFVSetField(): fix outside range cast of double to float. Credit to Google Autofuzz project * libtiff/tif_getimage.c + initYCbCrConversion(): check luma[1] is not zero to avoid division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665 Credit to OSS Fuzz * libtiff/tif_getimage.c + initYCbCrConversion(): stricter validation for refBlackWhite coefficients values. To avoid invalid float->int32 conversion. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1718 Credit to OSS Fuzz * tools/fax2tiff.c (main) + Applied patch by Joerg Ahrens to fix passing client data for Win32 builds using tif_win32.c (USE_WIN32_FILEIO defined) for file I/O. Patch was provided via email on November 20, 2016. * tools/tiffcp.c + avoid uint32 underflow in cpDecodedStrips that can cause various issues, such as buffer overflows in the library. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2598 * tools/tiffcrop.c + fix readContigStripsIntoBuffer() in -i (ignore) mode so that the output buffer is correctly incremented to avoid write outside bounds. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2620 * tools/tiffcrop.c + add 3 extra bytes at end of strip buffer in readSeparateStripsIntoBuffer() to avoid read outside of heap allocated buffer. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2621 * tools/tiffcrop.c + fix integer division by zero when BitsPerSample is missing. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2619 * tools/tiffinfo.c + fix null pointer dereference in -r mode when the image has no StripByteCount tag. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2594 * tools/tiffcp.c + avoid potential division by zero is BitsPerSamples tag is missing. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2597 * tools/tif_dir.c + when TIFFGetField(, TIFFTAG_NUMBEROFINKS, ) is called, limit the return number of inks to SamplesPerPixel, so that code that parses ink names doesn't go past the end of the buffer. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599 * tools/tiffcp.c + avoid potential division by zero is BitsPerSamples tag is missing. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2607 * tools/tiffcp.c + fix uint32 underflow/overflow that can cause heap-based buffer overflow. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2610 * tools/tiffcp.c + replace assert( (bps % 8) == 0 ) by a non assert check. Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2605 * tools/tiff2ps.c + fix 2 heap-based buffer overflows (in PSDataBW and PSDataColorContig). Reported by Agostino Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2633 and http://bugzilla.maptools.org/show_bug.cgi?id=2634. * tools/tiff2pdf.c + prevent heap-based buffer overflow in -j mode on a paletted image. Note: this fix errors out before the overflow happens. There could probably be a better fix. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2635 * tools/tiff2pdf.c + fix wrong usage of memcpy() that can trigger unspecified behaviour. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2638 * tools/tiff2pdf.c + avoid potential invalid memory read in t2p_writeproc. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2639 * tools/tiff2pdf.c + avoid potential heap-based overflow in t2p_readwrite_pdf_image_tile(). Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2640 * tools/tiffcrop.c + remove extraneous TIFFClose() in error code path, that caused double free. Related to http://bugzilla.maptools.org/show_bug.cgi?id=2535 * tools/tiffcp.c + error out cleanly in cpContig2SeparateByRow and cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap based overflow. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2656 and http://bugzilla.maptools.org/show_bug.cgi?id=2657 * tools/raw2tiff.c + avoid integer division by zero. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2631 * tools/tiff2ps.c + call TIFFClose() in error code paths. * tools/fax2tiff.c + emit appropriate message if the input file is empty. Patch by Alan Coopersmith. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2672 * tools/tiff2bw.c + close TIFF handle in error code path. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2677 * Other issues fixed: + bsc#1042804, CVE-2017-9404 * CVE-2016-10092, CVE-2016-10093, CVE-2016-10094 [bsc#1017693] - Removed patches: * tiff-4.0.7-CVE-2015-7554.patch * tiff-4.0.7-CVE-2017-5225.patch * tiff-4.0.7-TIFFTAG_FAXRECVPARAMS.patch * tiff-CVE-2016-10266.patch * tiff-CVE-2016-10267.patch * tiff-CVE-2016-10268.patch * tiff-CVE-2016-10269.patch * tiff-CVE-2016-10270.patch * tiff-CVE-2016-10271.patch * tiff-CVE-2016-10272.patch + Fixed upstream- Added patches: * tiff-CVE-2016-10266.patch + Upstream fix for CVE-2016-10266, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (divide-by-zero error and application crash) via a crafted TIFF image (bsc#1031263) * tiff-CVE-2016-10267.patch + Upstream fix for CVE-2016-10267, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (divide-by-zero error and application crash) via a crafted TIFF image (bsc#1031262) * tiff-CVE-2016-10268.patch + Upstream fix for CVE-2016-10268, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (divide-by-zero error and application crash) via a crafted TIFF image (bsc#1031255) * tiff-CVE-2016-10269.patch + Upstream fix for CVE-2016-10269, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (heap-based buffer over-read) or possibly have unspecified other impact via a crafted TIFF image (bsc#1031254) * tiff-CVE-2016-10270.patch + Upstream fix for CVE-2016-10270, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (heap-based buffer over-read) or possibly have unspecified other impact via a crafted TIFF image (bsc#1031250) * tiff-CVE-2016-10271.patch + Upstream fix for CVE-2016-10271, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (heap-based buffer over-read and buffer overflow) or possibly have unspecified other impact via a crafted TIFF image (bsc#1031249) * tiff-CVE-2016-10272.patch + Upstream fix for CVE-2016-10272, LibTIFF 4.0.7 allows remote attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact via a crafted TIFF image (bsc#1031247)- Added patch: * tiff-4.0.7-TIFFTAG_FAXRECVPARAMS.patch - Fix a regression introduced in 4.0.7 (bsc#1022103) - http://bugzilla.maptools.org/show_bug.cgi?id=2636- Added patch: * tiff-4.0.7-CVE-2017-5225.patch - Upstream fix for CVE-2017-5225, bsc#1019611: heap buffer overflow in tools/tiffcp via a crafted BitsPerSample value- Drop --with-pic, this is only for static libs (which are not built) - Update descriptions- Update homepage- Upgrade to upstream release 4.0.7 * libtiff/tif_aux.c + Fix crash in TIFFVGetFieldDefaulted() when requesting Predictor tag and that the zip/lzw codec is not configured. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2591 * libtiff/tif_compress.c + Make TIFFNoDecode() return 0 to indicate an error and make upper level read routines treat it accordingly. (linked to the test case of http://bugzilla.maptools.org/show_bug.cgi?id=2517) * libtiff/tif_dir.c + Discard values of SMinSampleValue and SMaxSampleValue when they have been read and the value of SamplesPerPixel is changed afterwards (like when reading a OJPEG compressed image with a missing SamplesPerPixel tag, and whose photometric is RGB or YCbCr, forcing SamplesPerPixel being 3). Otherwise when rewriting the directory (for example with tiffset, we will expect 3 values whereas the array had been allocated with just one), thus causing a out of bound read access. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500 (CVE-2014-8127, bsc#914890, duplicate: CVE-2016-3658, bsc#974840) * libtiff/tif_dirread.c + In TIFFFetchNormalTag(), do not dereference NULL pointer when values of tags with TIFF_SETGET_C16_ASCII/TIFF_SETGET_C32_ASCII access are 0-byte arrays. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2593 (regression introduced by previous fix done on 2016-11-11 for CVE-2016-9297, bsc#1010161). Assigned as CVE-2016-9448, bsc#1011103 + In TIFFFetchNormalTag(), make sure that values of tags with TIFF_SETGET_C16_ASCII/TIFF_SETGET_C32_ASCII access are null terminated, to avoid potential read outside buffer in _TIFFPrintField(). Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2590 (CVE-2016-9297, bsc#1010161) + Initialize doubledata at line 3693 to NULL to please MSVC 2013 + Prevent reading ColorMap or TransferFunction if BitsPerPixel > 24, so as to avoid huge memory allocation and file read attempts + Reject images with OJPEG compression that have no TileOffsets/StripOffsets tag, when OJPEG compression is disabled. Prevent null pointer dereference in TIFFReadRawStrip1() and other functions that expect td_stripbytecount to be non NULL. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2585 + When compiled with DEFER_STRILE_LOAD, fix regression, when reading a one-strip file without a StripByteCounts tag. + Workaround false positive warning of Clang Static Analyzer about null pointer dereference in TIFFCheckDirOffset(). * libtiff/tif_dirwrite.c + Avoid null pointer dereference on td_stripoffset when writing directory, if FIELD_STRIPOFFSETS was artificially set for a hack case in OJPEG case. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500 (CVE-2014-8127, bsc#914890, duplicate: CVE-2016-3658, bsc#974840) + Fix truncation to 32 bit of file offsets in TIFFLinkDirectory() and TIFFWriteDirectorySec() when aligning directory offsets on an even offset (affects BigTIFF). * libtiff/tif_dumpmode.c + DumpModeEncode() should return 0 in case of failure so that the above mentionned functions detect the error. * libtiff/tif_fax3.c + remove dead assignment in Fax3PutEOLgdal(). * libtiff/tif_fax3.h + make Param member of TIFFFaxTabEnt structure a uint16 to reduce size of the binary. * libtiff/tif_getimage.c + Fix out-of-bound reads in TIFFRGBAImage interface in case of unsupported values of SamplesPerPixel/ExtraSamples for LogLUV/CIELab. Add explicit call to TIFFRGBAImageOK() in TIFFRGBAImageBegin(). Fix CVE-2015-8665 and CVE-2015-8683. + Fix some benign warnings which appear in 64-bit compilation under Microsoft Visual Studio of the form "Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value." + TIFFRGBAImageOK: Reject attempts to read floating point images. * libtiff/tif_luv.c + Fix potential out-of-bound writes in decode functions in non debug builds by replacing assert()s by regular if checks (http://bugzilla.maptools.org/show_bug.cgi?id=2522). Fix potential out-of-bound reads in case of short input data. + Validate that for COMPRESSION_SGILOG and PHOTOMETRIC_LOGL, there is only one sample per pixel. Avoid potential invalid memory write on corrupted/unexpected images when using the TIFFRGBAImageBegin() interface * libtiff/tif_next.c + Fix potential out-of-bound write in NeXTDecode() (http://bugzilla.maptools.org/show_bug.cgi?id=2508) * libtiff/tif_pixarlog.c + Avoid zlib error messages to pass a NULL string to %s formatter, which is undefined behaviour in sprintf(). + Fix out-of-bounds write vulnerabilities in heap allocated buffers. Reported as MSVR 35094. + Fix potential buffer write overrun in PixarLogDecode() on corrupted/unexpected images (CVE-2016-5875, bsc#987351) + Fix write buffer overflow in PixarLogEncode if more input samples are provided than expected by PixarLogSetupEncode. Idea based on libtiff-CVE-2016-3990.patch from libtiff-4.0.3-25.el7_2.src.rpm, but with different and simpler check. (http://bugzilla.maptools.org/show_bug.cgi?id=2544, bsc#975069) * libtiff/tif_predict.c + PredictorSetup: Enforce bits-per-sample requirements of floating point predictor (3). Fixes CVE-2016-3622 "Divide By Zero in the tiff2rgba tool." (bsc#974449) * libtiff/tif_predict.h, libtiff/tif_predict.c + Replace assertions by runtime checks to avoid assertions in debug mode, or buffer overflows in release mode. Can happen when dealing with unusual tile size like YCbCr with subsampling. Reported as MSVR 35105. * libtiff/tif_read.c + Fix out-of-bounds read on memory-mapped files in TIFFReadRawStrip1() and TIFFReadRawTile1() when stripoffset is beyond tmsize_t max value (bsc#990460, CVE-2016-6223) + Make TIFFReadEncodedStrip() and TIFFReadEncodedTile() directly use user provided buffer when no compression (and other conditions) to save a memcpy(). * libtiff/tif_strip.c + Make TIFFNumberOfStrips() return the td->td_nstrips value when it is non-zero, instead of recomputing it. This is needed in TIFF_STRIPCHOP mode where td_nstrips is modified. Fixes a read outsize of array in tiffsplit (or other utilities using TIFFNumberOfStrips()). Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2587 (CVE-2016-9273, bsc#1010163) * libtiff/tif_write.c + Fix issue in error code path of TIFFFlushData1() that didn't reset the tif_rawcc and tif_rawcp members. I'm not completely sure if that could happen in practice outside of the odd behaviour of t2p_seekproc() of tiff2pdf). The report points that a better fix could be to check the return value of TIFFFlushData1() in places where it isn't done currently, but it seems this patch is enough. Reported as MSVR 35095. + Make TIFFWriteEncodedStrip() and TIFFWriteEncodedTile() directly use user provided buffer when no compression to save a memcpy(). + TIFFWriteEncodedStrip() and TIFFWriteEncodedTile() should return -1 in case of failure of tif_encodestrip() as documented * tools/fax2tiff.D c + Fix segfault when specifying -r without argument. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2572 * tools/Makefile.am + The libtiff tools bmp2tiff, gif2tiff, ras2tiff, sgi2tiff, sgisv, and ycbcr are completely removed from the distribution. The libtiff tools rgb2ycbcr and thumbnail are only built in the build tree for testing. Old files are put in new 'archive' subdirectory of the source repository, but not in distribution archives. These changes are made in order to lessen the maintenance burden. * tools/rgb2ycbcr.c + Validate values of -v and -h parameters to avoid potential divide by zero. Fixes CVE-2016-3623, bsc#974618 (http://bugzilla.maptools.org/show_bug.cgi?id=2569) * tools/tiff2bw.c + Fix weight computation that could result of color value overflow (no security implication). Fix http://bugzilla.maptools.org/show_bug.cgi?id=2550. * tools/tiff2pdf.c + Avoid undefined behaviour related to overlapping of source and destination buffer in memcpy() call in t2p_sample_rgbaa_to_rgb() Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2577 + Fix out-of-bounds write vulnerabilities in heap allocate buffer in t2p_process_jpeg_strip(). Reported as MSVR 35098. + Fix potential integer overflows on 32 bit builds in t2p_read_tiff_size() Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2576 + Fix read -largely- outsize of buffer in t2p_readwrite_pdf_image_tile(), causing crash, when reading a JPEG compressed image with TIFFTAG_JPEGTABLES length being one. Reported as MSVR 35101. CVE-2016-9453, bsc#1011107 + Fix write buffer overflow of 2 bytes on JPEG compressed images. Reported as TALOS-CAN-0187, CVE-2016-5652, bsc#1007280. Also prevents writing 2 extra uninitialized bytes to the file stream. * tools/tiff2rgba.c + Fix integer overflow in size of allocated buffer, when -b mode is enabled, that could result in out-of-bounds write. Based initially on patch tiff-CVE-2016-3945.patch from libtiff-4.0.3-25.el7_2.src.rpm, with correction for invalid tests that rejected valid files. (http://bugzilla.maptools.org/show_bug.cgi?id=2545, bsc#974614) * tools/tiffcp.c + Fix out-of-bounds write on tiled images with odd tile width vs image width. Reported as MSVR 35103. (bsc#1011841, CVE-2016-9538) + Fix read of undefined variable in case of missing required tags. Found on test case of MSVR 35100. * tools/tiffcrop.c + Avoid access outside of stack allocated array on a tiled separate TIFF with more than 8 samples per pixel. (CVE-2016-5321, CVE-2016-5323, http://bugzilla.maptools.org/show_bug.cgi?id=2558, http://bugzilla.maptools.org/show_bug.cgi?id=2559, bsc#984813, bsc#984815) + Fix memory leak in (recent) error code path. Fixes Coverity 1394415. + Fix multiple uint32 overflows in writeBufferToSeparateStrips(), writeBufferToContigTiles() and writeBufferToSeparateTiles() that could cause heap buffer overflows. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2592 + Fix out-of-bound read of up to 3 bytes in readContigTilesIntoBuffer(). Reported as MSVR 35092. + Fix out-of-bounds write in loadImage(). From patch libtiff-CVE-2016-3991.patch from libtiff-4.0.3-25.el7_2.src.rpm (http://bugzilla.maptools.org/show_bug.cgi?id=2543, bsc#975070) + Fix read of undefined buffer in readContigStripsIntoBuffer() due to uint16 overflow. Reported as MSVR 35100. (bsc#1011841, CVE-2016-9538) + Fix various out-of-bounds write vulnerabilities in heap or stack allocated buffers. Reported as MSVR 35093, MSVR 35096 and MSVR 35097. + readContigTilesIntoBuffer: Fix signed/unsigned comparison warning. * tools/tiffdump.c + Fix a few misaligned 64-bit reads warned by -fsanitize + ReadDirectory: Remove uint32 cast to_TIFFmalloc() argument which resulted in Coverity report. Added more mutiplication overflow checks * tools/tiffinfo.c + Fix out-of-bound read on some tiled images. (http://bugzilla.maptools.org/show_bug.cgi?id=2517) + TIFFReadContigTileData: Fix signed/unsigned comparison warning. + TIFFReadSeparateTileData: Fix signed/unsigned comparison warning. - Removed patches: * tiff-4.0.4-uninitialized_mem_NeXTDecode.patch * tiff-4.0.6-CVE-2015-8782.patch * tiff-4.0.6-CVE-2016-3186.patch * tiff-4.0.6-CVE-2016-3623.patch * tiff-4.0.6-CVE-2016-3945.patch * tiff-4.0.6-CVE-2016-3990.patch * tiff-4.0.6-CVE-2016-3991.patch * tiff-4.0.6-libtiff-tif_getimage.c-TIFFRGBAImageOK-Reject-attemp.patch * tiff-4.0.6-libtiff-tif_luv.c-validate-that-for-COMPRESSION_SGIL.patch * tiff-4.0.6-libtiff-tif_pixarlog.c-fix-potential-buffer-write-ov.patch * tiff-4.0.6-libtiff-tif_read.c-make-TIFFReadEncodedStrip-and.patch * tiff-4.0.6-tools-tiffcrop.c-fix-various-out-of-bounds-write-vul.patch - Fixed in the upsteam release - Changed patch: * tiff-4.0.6-CVE-2015-7554.patch -> tiff-4.0.7-CVE-2015-7554.patch - Rediffed to the changed context- Added patches: * tiff-4.0.6-tools-tiffcrop.c-fix-various-out-of-bounds-write-vul.patch - Upstream fixes for MSVR 35093, MSVR 35094, MSVR 35095, MSVR 35096, MSVR 35097, MSVR 35098. * tiff-4.0.6-libtiff-tif_getimage.c-TIFFRGBAImageOK-Reject-attemp.patch - Enforce bits-per-sample requirements of floating point predictor. Fixes CVE-2016-3622 [bsc#974449]- Added patches: * tiff-4.0.6-CVE-2016-3623.patch * tiff-4.0.6-CVE-2016-3945.patch * tiff-4.0.6-CVE-2016-3990.patch * tiff-4.0.6-CVE-2016-3991.patch - Upstream commits to fix CVE-2016-3623 [bsc#974618], CVE-2016-3945 [bsc#974614], CVE-2016-3990 [bsc#975069], CVE-2016-3991 [bsc#975070]- Added patches: * tiff-4.0.6-libtiff-tif_luv.c-validate-that-for-COMPRESSION_SGIL.patch * tiff-4.0.6-libtiff-tif_pixarlog.c-fix-potential-buffer-write-ov.patch * tiff-4.0.6-libtiff-tif_read.c-make-TIFFReadEncodedStrip-and.patch - Upstream commits to fix CVE-2016-5314 [bsc#984831], CVE-2016-5316 [bsc#984837], CVE-2016-5317 [bsc#984842], CVE-2016-5320 [bsc#984808] and CVE-2016-5875 [bsc#987351]- Added patch: * tiff-4.0.6-CVE-2016-3186.patch - fix CVE-2016-3186: buffer overflow in gif2tiff [bsc#973340]- Added patch: * tiff-4.0.6-CVE-2015-8782.patch - fix CVE-2015-8781, CVE-2015-8782, CVE-2015-8783: Out-of-bounds writes for invalid images (upstream bug #2522) [bsc#964225]- Added patch: * tiff-4.0.6-CVE-2015-7554.patch - fix CVE-2015-7554: Out-of-bounds Write in the thumbnail and tiffcmp tools (upsteam bug #2499) [bsc#960341]- Added patch: * tiff-4.0.4-uninitialized_mem_NeXTDecode.patch - fix uninitialized memory in NeXTDecode (upstream bug #2508) [bsc#942690]- Update to version 4.0.6 * Supports CMake 2.8.9 and later. * Add missing file which wasn't being distributed, causing unit tests to fail. * Make shared/static library building configurable. * CMake reads all version information directly from configure.ac to avoid duplication of values. * CMake builds are now included in 'distcheck' target. * Autotools 'make distcheck' now tests the CMake-based build if CMake is available. * Fixes to avoid undefined behaviour of signed types (C standard compliance). * Fixes to avoid possible isses when casting to unsigned char. * Fixes to avoid undefined behaviour with shifts. * Fix generation of output with 16 bit or 32 bit integer, when byte swapping is needed, in horizontal predictor (#2521). * Fix decoding when there is a single pixel to decode (unlikely case...) and byte swapping is involved. * Add add explicit masking with 0xff before casting to uchar in floating-point horizontal differencing and accumulation routines. * Eliminate requirement for and use of 64-bit constant values. * tiffgt : Silence glut API deprecation warnings on MacOS X. * fax2ps : Detect failure to write to temporary file. - Changes from version 4.0.5 * Support for configure/build using CMake. * Support for large (> 2GB) files under Microsoft Windows. * Configuration and building using CMake is now supported under Microsoft Windows and on Unix-type systems. * Test for and use fseeko() if it is available. This allows supporting large files on Unix-type systems with a 32-bit 'long' type and a 64-bit 'off_t' type. * tiffiop.h: Macros added to use 64-bit equivalents for all standard I/O and POSIX APIs used by libtiff and its tools which are limited to 2GB in Windows builds. Note that these 64-bit equivalents were introduced by the CRT provided with Visual Studio 2005 and if the necessary CRT is not installed on the target computer, the program will not run. The wrapper macros will not be activated unless the definition _MSC_VER is at least 1400 or __MSVCRT_VERSION__ is at least 0x800. * tif_unix.c: Updated to support large files under Microsoft Windows. This makes tif_unix.c a completely viable candidate for use under Windows (in spite of its name) if the CRT is modern enough. Please note that tif_win32.c already supported large files, but only 'tiffinfo' and 'tiffdump' made any provision to support large files under Windows. * _tiffReadProc() and _tiffWriteProc() are modified to chunk I/O to a maximum size of 2GB for extremely large I/O requests. This surmounts limitations in the Microsoft Windows read() and write() APIs (which are limited to the range of a 32-bit 'int'), and may avoid poor behavior with extremely large I/O requests on other systems. * Updated to use I/O wrapper macros from tiffiop.h in order to support large files under Microsoft Windows.- use spec-cleaner- update to 4.0.4 D tiff-4.0.3-double-free.patch D tiff-handle-TIFFTAG_CONSECUTIVEBADFAXLINES.patch D tiff-4.0.3-CVE-2013-1961.patch D erouault.2862.patch D bfriesen.2805.patch D tiff-4.0.3-CVE-2013-4232.patch D tiff-4.0.3-CVE-2013-4244.patch D erouault.2861.patch D erouault.2857.patch D erouault.2856.patch D erouault.2859.patch D tiff-4.0.3-CVE-2012-4564.patch D tiff-4.0.3-tiff2pdf-colors.patch D erouault.2876.patch D erouault.2860.patch D tiff-dither-malloc-check.patch D tiff-4.0.3-CVE-2013-1960.patch D erouault.2858.patch D tiff-handle-TIFFTAG_PREDICTOR.patch D tiff-4.0.3-CVE-2013-4231.patch D tiff-4.0.3-CVE-2013-4243.patch D erouault.2863.patch D tiff-4.0.3-test-jpeg-turbo.patch- security update: CVE-2014-9655, CVE-2014-8127, CVE-2014-8128, CVE-2014-8129, CVE-2014-8130, CVE-2015-1547 bnc#914890, bnc#916925, bnc#916927 + erouault.2856.patch + erouault.2857.patch + erouault.2858.patch + erouault.2859.patch + erouault.2860.patch + erouault.2861.patch + erouault.2862.patch + erouault.2863.patch + erouault.2876.patch + bfriesen.2805.patch + tiff-handle-TIFFTAG_CONSECUTIVEBADFAXLINES.patch + tiff-handle-TIFFTAG_PREDICTOR.patch + tiff-dither-malloc-check.patch- build with PIEsheep16 1652088057  !"#$%&'()*+,-./012344.0.9-150000.45.8.14.0.9-150000.45.8.14.0.9tiff.htiffconf.htiffio.htiffio.hxxtiffvers.hlibtiff.solibtiffxx.solibtiff-4.pcTIFFClose.3tiff.gzTIFFDataWidth.3tiff.gzTIFFError.3tiff.gzTIFFFieldDataType.3tiff.gzTIFFFieldName.3tiff.gzTIFFFieldPassCount.3tiff.gzTIFFFieldReadCount.3tiff.gzTIFFFieldTag.3tiff.gzTIFFFieldWriteCount.3tiff.gzTIFFFlush.3tiff.gzTIFFGetField.3tiff.gzTIFFOpen.3tiff.gzTIFFPrintDirectory.3tiff.gzTIFFRGBAImage.3tiff.gzTIFFReadDirectory.3tiff.gzTIFFReadEncodedStrip.3tiff.gzTIFFReadEncodedTile.3tiff.gzTIFFReadRGBAImage.3tiff.gzTIFFReadRGBAStrip.3tiff.gzTIFFReadRGBATile.3tiff.gzTIFFReadRawStrip.3tiff.gzTIFFReadRawTile.3tiff.gzTIFFReadScanline.3tiff.gzTIFFReadTile.3tiff.gzTIFFSetDirectory.3tiff.gzTIFFSetField.3tiff.gzTIFFWarning.3tiff.gzTIFFWriteDirectory.3tiff.gzTIFFWriteEncodedStrip.3tiff.gzTIFFWriteEncodedTile.3tiff.gzTIFFWriteRawStrip.3tiff.gzTIFFWriteRawTile.3tiff.gzTIFFWriteScanline.3tiff.gzTIFFWriteTile.3tiff.gzTIFFbuffer.3tiff.gzTIFFcodec.3tiff.gzTIFFcolor.3tiff.gzTIFFmemory.3tiff.gzTIFFquery.3tiff.gzTIFFsize.3tiff.gzTIFFstrip.3tiff.gzTIFFswab.3tiff.gzTIFFtile.3tiff.gzlibtiff.3tiff.gz/usr/include//usr/lib64//usr/lib64/pkgconfig//usr/share/man/man3/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:24138/SUSE_SLE-15_Update/fa44c7fb1a42869c8daef34fc27380ea-tiff.SUSE_SLE-15_Updatecpioxz5x86_64-suse-linuxC source, ASCII textASCII textpkgconfig filetroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)Algol 68 source, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)C source, ASCII text (gzip compressed data, max compression, from Unix)PR*w@:ΏIxutf-8af5f7e4178d1f5da6ddb7ac6efd39c4a368c15013964b90f23a9e00305317708? 7zXZ !t/ỵ] crv(vX0*s%z -"PĘ?hg q Ȓ_l#icMN_/H:z-p2=-[(j)8ʑ3S|*ԥ!xxq /r6bћgyCBIn4ܧ( x@ln6'MrkԵ#"7n,B;6ۭ}ϲZKKh"[>Xf&X.m#h8ЈM࿅^ex 4SX j=jV4C+@}PIȎ[3~#UuHv߫C9BS:4 'CO11t<w7= OO>c3[gO.?iryIgi.K2%A25G%w+)i[DEX{Z.$_v$ k8>W fpIG^/xoq.=3Au4)9@^!Jv>[(iG_\!vklPGc6fcyP30 /jf9& A}u,T٤ ~pE՚UL^̃Cfb~0 )&D9]-m8G zj0}AwIFt \xվJ&$h\Q&9H %l[<im7Λ! I3zI.%3󌽇R~α5ޏ}`qED&k#ͨ>0qAy:NG< vRqNK2rw B5cUohjPf`UgrqZnr#BRD-S ʞpǥ!&85yCpRf`F-8+WqǍCoKlX% ɘJ;c5SD]dD /]yXU{#W・)hX&W3=.\onK|0^UtŋoE4`vˉ:0JܞCLvaF/">g۶>$d`MUpNKAႁO9Tf C1Dʀ^W*0>Vm9{C܋;'R/ f ΁wC%=fЃri)i [>zGx\'yhm#v_ *9Bmt¦I tWvYqn k C0lͣW̄u۴R!PPB}m=ML$ o~gKAgQ.&gjͭmM]}͇@T~Δoѵt~w2SW(mE8wC& Q:\qEb "d;͖WZ?BHFʎ/)2֢(lRsJ Bv-%6-Y(d\kA[jJʠHmlv 8+}Kͷ̕|9 tjإoVd&Nle[; Qvh߿)woOQ@'0-- kTnIH yNCl al꾂f/NﳝbM-eSzeer+3KE\)y/8cYGyzHOc0_IϒCu_xXf:tC@/f+8.K!l*ft(e'ܖi.mvvUdduW+HŔSvÇ)z2ӐY9ЇMU/^⻦{忭Z!4ό7 Į}Q擸jϵuZ3jFh jdrJ1 h/7OE{SPG{hon9dl#hVpy=s̈́( raٓ t@~IyOY˩X˒%ڨ17Aȑ\v>)w+PT+TCL{[a) ;~?aL2Tέ^-BIFE2>>y,/E %uHHЁ)R6vy:~ЃpN|%Lk^B@ӻ?lɞta ~DFoƂK.\}<׾r﷪5T#B,; &ŅC8ЦTZa%lbl~R4xؙ&_jAy4EY۫1 mP/ocx.qXK4.:{xY.w{|y;}gϪ=<؀-/VvVcu#@8ȬUE]iLOc8 ~Z616TBl',M1Bi{K(OA2az;Qdfyu@ %N {$Fri1 *g(FǾ??7>RS^tP˴P҈o>{ղ=dJc K-y/-J%s~JNJ;.vS) JaO/nGtQl!^,1d=.ُk(Er5;, TNѦٷsk|w&C:;[ЙRnVgv(M J.fkXT*nӻvJ }@xr{+`+ѧK,kk"HNjX[vGib?P{b:!>$ wXn/!Ey `1j+巊v` XK We:nwЀ!'9ٟ7ܜPI†bTE& KqL6=kNz'g0Š,.v#ʟ֕cЉ$e1Y(O/GH)bYV~q6vyF2Uԡ᳸?A1Nj*sĭb^}KH5H\dveG򬣗C^Ɖx>9D^]$ti.X+*'4ALvM: sxs]4Se)7~j' J׾5wU{] ǃ ݖO"0+B\x;l [{+5R$Cr7cf!|kJag݊̿qP"(;)E8X i\%u\N03]J+ԋ{щa*tzڡi@ 9<$9(7Մhg䞨g {<&C6?b>*'=pË,/$֨q4"hR{8ޭ4WR (e% te:b,Rd]K3-V´$*_~zqQɽHO8ogWVŧ444 9=R ^xvnR;jߵ4TBa gx!h=^`!gn c/ma9vΏ5z݂x]) vE3fcKOEܽ^ןK(iA]VzPn!^"5 lMDIn!<9gorB{YN^eHrcф{(ꜟY͠&IC?w[1!ڣky|0]dMy|HN-NivtՓ<{"bWvmtf7lʷ\r\YoT ʜQ!/vgǪDN^F: 0e~2@c KXE\m.Ӗ r0OnChH*_5_1BBaVf-3 x,-` xTbqlb=x,|g#ws'a+4F3E{'zJ,24?UtV?,y(Mt vii>GFBqbdZYLd*x~$\r }`7jݪJz>t6H?د^sUjtD1;33s'm%r!:$* ܭ|Dg]JYٟi%0 9df2jkŏx _Nm˿4[%m{jJ,ihV©§CSI{0c Z8&ut2|(/ܙ-hhmhxڌ ISM-33o V*NJqws0(`q萰"5#;^;*1 m']!J%P,?PF ÆXwMnz8 m`?Ol =}E;s]&T>/3*NਸzԂ4}')9&7ZJcetS:+t4Z4L/'^ƼW2l0U sq?_w7H4,:kŪB%SxO4M!ά@Z j}U+_ȕ%:k"{Ii@ u?mVh^RNI-MԏeUbI۷J6K(Yo!;lᛜcZ oݝ7I<|lI}R&z̃ST\ޯqlc8h?&|#QjCA"fӏ*96N6MEN G뜯mdnK2ܷmjG+.Aӈo s@Щ6Q9jN8yn a4\?^=?ݰ i-G#}~{\Pd[:4>ԧ]\Q[8K#vc C8)YXhBhReZ/“g(T1SFo\@FHhe׻ez5рx'6vY Zs3&\v2X%w&ɜCɅ>4F$%"#j]e[BNpkbw?W^ǎpqdbscQ;OXƿ)ѽhuʰ*Z5zSAF^mSלY{jd2|dCxW?]уYOJczt[sy.6-|o*VA]GTwVĻFi^3i}hȆ44K@Swk M⚖-w0!rM31+~mJ18# "ĶgΛS0wfؒ{9ԊqKw88<V}. U+lZe!yjWZzE:B tp4dG'/wWkt&_ te:&^//00e|8*yŒ*qY}d> U7/)S.u5W'0YzA-Z.~3+dO^(U;k4mO@u_zZ=}a̛x[UK ipP:O' 6&-xDB6R@g*#+ P/f,5KD̲mm7F`,) ׮@>Ԍr Me4 zvȯ5zUQQ3~Q^-G͑!)ebDm=zN#ߣUg{ ݮi0cⴗJ gѪC^D`BbH~u^ƔvuVsq$ >!dF9[B3): WB|#q&RmL mע.O>:;9{͖$zBG{bƷ^ܹUƫ(fWrQ+e޼ iYc\q(P۬:D{P;G7J9K0o75>ibKx؞O%'@$M!]\j)ϕ|L8J;1bXfPޮ5X&ag4լK҄:1@KӋ)H,ID/4C@ +q`R fJſXn3(kZ g˜yCͳx +H]yxqKjr8̼}wY 3Z ӻ#Qgyzwy|uR,֯V&y]Xc,!.0sD9|>\#6ohzPY%J"% Ɔ팕.oʱ1cs-|ƬfN *܋AT_s=qs@؁d1]]*k)!t o 6wb,7dn)ÊbVem$X~Njw[]zZʬS۳XX6X`9 ?;&2l.c@X+uG ;g\1xQlw#ԞفF+<";B 'K f#hj n"k>NͳuZeU2gu  a CɦINx]D_/y-cawN|g;Jlk x{dY2mLXy'Tܑ;@ghN )~PLKHVNArtc|IIM_+ؑ& 547{ #e_ "27Kk9G~rbmD.%ڱC7Rh9H|h/om}j'n8%0!s7}i5 +;44cw|>'Hff`:F8rx# &۬}MD}6GPʑHމ+oY̞R3/߯Du!&+4*u?/K\(\lb)e@MuKM1c0(m$ՄV@u !.6lDmsm'zŹBqüS9jUǟGXb %WAH~K@VE{9?[ҧECxHr' DkfdՀ]uVj)\'Y˔(>ZLNj "'3;(J0C+CX5&=2d6녬v5 XA[>F6NQ$:4UvmNDY=WЊl?uNE.L;οwbd_C#Ԋ9R\JZ<5O p} }D6S80iW`K1l=J咒|U4g]a$z1&`[l| {IPg1$S5k#/! Tbת*TOآ~)rA'U<ʯ-+-cE_Bq'Oō3r~OSzF{8}k5е̔3$[z-r8?c>LqZRC1w"-ģ[heO&az4ub߆WMn:}p"qY BZ7^)aH ђGfuWcYf֯y X1tW2>|3m>:7vȺng qstYƅrS4Gԩ'zUV:$=HOi?СlۭM^E"ښ PjhX !iI~mG@j}J])M9dVӖ֞ N H LzM )q|0®s3 V+mˑݹ뜺s޶(zp^ոT\& Q(KSr oB:Ai)rP=Txՠ3#M7%+Je^V+u X2`98z7rEեa=-\L!PJ5ۚPa]9#tx4'E/[N/]zXN\qoOLsAZDX1l'pg<1Qݶ_+LL6qjϽHY8z0'aiX6H~ zd>V'y\PNYtMtt(p%sSH}!x 2bD`}Q t?(h3*ț5*CvZۋ+\U0)eqy tƚ`NqMU[am]&X|K\&fmPuѿ#ڕ۫apyTǙ*Ȅ_f+KބLȠw_1#tML qw-!b81{yG O N⍭rNcVb! F5H@V%8,f0Ι%s(H^GѮWpN*ih-Še9 (S xY8H҃bOI夞., VwϨ~ӻ^aa|S"Wka_bNi+r]{ weU,ߺdy;S"^w˥݆" _L^|lYpowkW|/iM.!cK+BgRGMď]LQ(m5tnΙ>f뙍>*_|bn l7zݜeTQ)$j&Wo/Et24 I#Y 3+79,89RLS=>mud/{<鷀{0lv L;+NF&!SQAZl ~x/KAiP/bK133 o>6BrhQ+Wx;l%ѻf˹Un},9K1rBkM[pXH;ќSF-+gEu fy `!z9D@bȊ i F r*-GnJfpx8qJ2xWy1K~2Y cu (-nmᐜ4aޠyKUG11:_XqO[mϛ6 Y*xNMRw:gaO&O nP>Sjy9k[/0w v{˼>L|2i5.`]0FN6FK0&r$%׍mގӀ[oY*T~CˢfA*'CC?׆ } p'~&R?$w7GxZwncP~k ֱ)`b~9NS1B`BOވ mDvG\5:ql}>!zͅ,Qbg*quBOp׭@VشJA jc)/DW EAR!cӳ6EJ!S-1Px*GOpO+k ^?WJZ>*xbS jubO#4@$>k-9nSP$2eD3>R2s0GJ|K /.K<>YrFNU"mm uJObwzK܌;"fҹ&ɻgF,3_'PNRQ@499BI9ҟ`= Ku.;л<3e!q;,) @P>$+)ը~Z0t8Pbע'~9_ u|ө M=?RLpo1/sGRd/a)w0;#*A!'ժDA!,/K|\6E2 R<0ޮ(|;r%itu pT.fI;4I^%ҏY%.ULT'w\dlٷ ÿbZXpi\8:\S}ybXc{-A$gɕ۽x !6Htr*>  .odݩ.PpelG< Ge ,:uJwT"BUѝ#PåٵT'D_Lw pjkih96L*\W^!;pFH>S[zFp,p{*n=K}4\Ev2ΘIm?<Ί(ƌM+}HR75DDN}sRQW#[N Td[ixF& qMz+ŽW`cvMCNg·/$ Qe+Q%.2Q _J<)`"FY'5`"3Y},) }PP(O,J+xT_21 \t~YB.UX1RInHiah%.vvjlϋaprJ qy cWZ;ZoK: EB2"4@(Al%kQ $$⛹2 ^ώ/+ q^\CҠH qq΍N!*VKzd™%;V >NFy9~UbG2PI&Vr°P~ dG}$<s/`%H^.#z>Deh& sz\.Mu*Ϛ~FU;tipB^| h r#/zg{ (:$8g-̰6yzC1ڂ?O NfgxqYץu"S j4k;K$𔒳07ȺIis=dR@#2g+"ء? GH֥g|4s>O\# Z.2$ h}(7pKl`kV""*7 `>McYDm_|p;Z:FLPy.wK\ƵT ۺV-]cG< N6]"^-^r4}9g ,$vmTY\, ǻ)&|rW-Qdn<ɞ6u$>iay@)މV|$vE*4ShIf?l;ˏbN`A8~CW޵^I_!^Ww_=5rV"owlpoiDF7m3.=Ðo1u_۸ڪI&U~`~N`y().xcw\D?M45|izeCZ.P=EJh'BƦ O/wiȠgz b{'cN{ HgI3a{3-g':걛:~aEgv!7IJ&l:3t4c+?/4@x՗Te~^K?ͩ޺.*cDJLhFI??H' gGF1 W)WaТRRUu x ˬr߂{4u" /X{(MgPrY2Eb1-fRMmlWՋʀN'~z䮟#Yj=Ⱇ-JV̹'ͬFڰyk;pe`emhČOw&1G-\ͻ@Ũ#~c4.>Z${} {e}((ģq-)ʪZ Ri+S_lF)ͥ oc< ۘ8_~櫒 TFc [46 ]b?;?#V(vL#C53ݱFJ⥰XːCpIEuQ.LO͘䨷`'ߧ[UZ5.<޺ǜ觤K= Yښ:+L0#9EqQ_Zc}5_iH7s߲ȏ*+U ]!6]K`@"9w}yV@=2=Q5@}[)nwjq%X "? b1I xi O!J'y^]F{c 72U<0Y%!^qP_˔Ǚg2,kD;rme֛ѱk'{5H<Cpf܉wasuB䶯(Xer8)/w~#PHbo1W60J!Mag!ݚm|hûǶR(1G A5!#\nkk8VpSڨi}*$^C3 o9^l;T*n [t[ƹ\0A#$K$ا /& P7ّШ4b2?9m5pс*RQC@ U_c=5@fi~1w??"m !Y8 :,TN[b<ڏ"p`,Ѳ)H]^jaP#fG\Ԕd.l~kVtHa5q朇`E^nZB dꦕ@2 bK,ť/D=*_*.}<evcj y)>lQ%W w4uF21 U(!Ϸ70FytΪLO CWDmR_/-mzw)(Fn6ўÁ4_XyZ?u/K8~S9QD.x:H200tDgSվ-[*}:I%y"ʩD,~;"UEWV9$qnaIvi%u{blƨ8y\⾦ PuXⱯ'>NT|2+pq4 ol+-d7'+׌I7O h"BAHc' Q-'Q?Hh($.ilZ ,#hg _ZӺV}H&M3ȴء# 3IyJ#4y:EGա@zz*W S:?1F:we$Ȱai7'FD(o%t1IJ(vv3'ϻL Zy9O9OO,0ru`8/N Xyv&BQ!%ñ2O_n1\s6-!7{m`%sZPA8;'bq`A\701 z}LbB\mqc1+7# X::ioK sk8xBvh6hc6)X+9F{ё<\/*$(7Ȓs(ܷ6Ǟ:م'9{K` @) 4'@ߥڰ-~FɈ/$\xjܣ,ϛ!qym3C01P}"5dn<-f˞g{ /ԍFKrY;羱Nl#pQ8h9yGlgWr;^ȴ,cmrRMT>xR4 d6?!MApE ?Kr`5B\*YA'o5aP4Rr72kGDZ+[X4wE@#2zˈ8䨩9F3Qd2N6 R1MSI]x7T&PAu(vFFOȡ_ۤȻ}_UT O>ocUf]+Wm蹙lZ0b0bNQ׳T|Ϗ/ʡ8YIJVdԆ:Ha!y L2/$j"(ەW=uXT geoFAyȬ_3 uy}faM]BmGn)ۘ?nan2-HZ8 ł%׺$%> +oh[ N|2qarNz -^rBN`9A[2#WlaD lU?-^̠ vb-9k(p9Z.6""a{UfBGՔ9p裐ҋ fWpc 7wWZ$]a4!I 0]қ NK Eaz]p?N%rᴩ fϦ7x]h{(͇@3-j} 6nCHރ3Ʋ#bFmKӤ ݏg=܏| MR7:@%pUC |^^3|dԲ.cZ݈ $cp,60*!5F:K$oy-elm&(PU155`HX;H AfE߸|_%WWTxgv~k\0AJs"0[B,$KP&u׼c`Q9F3Kmؓ.(ҿ l}2M?e 'IZ]"]Jɐ[k.Mt*ASFCօ|fM?k4,S /MZ{H'ԇ} E_cS$4G(_ x%璌 ?&k^^r+pыI(12t'_ݟ1}ɴcN#ߣ(}xj2+=e+vKnʼ}HQh$ c0=Do<1o9@6B@JBi 2o@,HjRhIW`>‡znPB~b[C|)(8Yy]֡/<,KpÃHHz7!.>/|c vJ: :&C3qILicnLj+wB7dJP!Iyee=}ro馮xZbg<=Mv Bo: {vt>1c=8[|%SIzC~{1hgYK56p _i&4n^Ce2;@FkYi 9lu#f>?_,, Xv$T%TwbM+6eȦ*Z@LB0 wHf,wɏ~]M`is=NȺx^cwT.?K\n!I a)UGDi2ttW!4<9jxC6ۿUxӌ%&HROK@zR$Lo ">31Bц`js$B2VݳZ# W򲫂+%RiK ߀6= 4Ά rhrk6Y!ƈmd7Adƕ+!xBP ~w R$.r;e%@H` cwZlW]X6ڢrZCr??J ojjZF4ѫzj6U5i~CdžqyF;KTc)팋XtA٭n"hbABp1єdKN5>پ&W9!sR ?2J9'h<HmTΘKs`fSrUV`0g&ԆoG!V%qXDUsfnp4;C}܌{]9PS3Z|T\72-eLqKȂY/ӗtA&R:blF{Uv ՏuiS8^N Q:oFf3S+@ӹOM*Pbv*cSX 9堦h|$ADϚߑ&0k8 7:U @\dpQnsanxϧ{ yDZߩ b6 KԪWT.io_58+noS1ơb﹵ףjBO=}8.ɣ= }-XɊt5ZUvq5apf!FZk ylz >rWJmIĖJă dt7stcoYY*jMŴy l|hv:#1sO]eD P5*Aтfd"q78m6bſo) IA#˱CfAÈ! d/II,tُ+<:-xb֐\ _YQXq&U=SFT'5ku'W4ŬDc"g|=H1Y喾qxA`Z];:j~16܆zF=%|u(h i."6BUZzy[n,?ǞͥoK ^Qh(>׷?$pRtٳ^j6Ăeу*L9gۈF}l=P8u eLA;Ӈ(uJ `<:pcRGۛrr"޼>>F=:ouӿQ.ȓoI9&h~r9(a`;}0&cu'"sd].)6ڀk&@s=k֪~3_ȰAZ.];e.JI6@.sb =Xg3K'IkǔR{jƓ\T277AsPqibN #N{mf;l E1‘,PҢn4@"= Ѳ]E+>fm=N&^"OYݒ).I{VohA#׆!%W;$#}'Mز K$[(-(DUK~fR%EzEǃ>NrHܸ5֯s)e,br`;VMf8K6)){ms㟨:-n"\.6~tD\7)@tVbuafD4tp=lkdP\tgԙLƍU1fPC;PK8} *E$E!j9H\?Ɖm!y~y~w/JQbL?\{ dwu:}T ]:H>* sfYx\6B`oi>y1MW9c~ᖄ SըFb 6C}Ly3] nCyy3*.9 xn،CxY3'{'B0( XS,*YoŝvR[mS:H:BA;Je3Nrҫ2 WNxVoOn'x Zd}>Pl{FUqG q&"z 0Ǐ9QD97iJTGTj|-IlއBGJi17ot2хl̬AVG1#-7 .5Wp76cfCCC%w㮹N?~/Ȍנ]z͉~+ VkKWVE,ұlj@z處Ijh^ΐ9aPx0%0P~f_* TpK/[aSOr06S2kDOT22bAg lgևY?nFw:_^HlQi9>i)3ldžcb7 l~:gڙZg\F2k$#@RXu&&PDv0PBւ$Y+_^BTb7*pt6:@ψ bhS&#ï7@0`w=iJ=_nי4Yj^Es֊}Rm|Ԯ4a~Q{If="lv<GaQl2 ʔ'jf!YATұSN;r@'P3#9Cj+ۅG<}E"ՄtdI 5B*Pe ^~U1S60dm܍ |PZ7)enVh#݆JYPЃJ Ryh@Zeu6( *׵Ӓ:ЛYjb  S7f}[d0qѸcTrϑ} M?2`P0mU aI>f XF]pN:RvA39`!K֪-xxDvp~ObcfbvQa52-Imo1\<Ǡ"F]$'?̡1)0,6j@9A`a/ j_qj'0d}{M-%d;[G{}\)3.L٪3A;Eɋ Vy[O?f =sύpR؊G-wR`Rwx%Vҁ%臐p4 kl4ԡlmJ``tK9m,M8V\^)t}";4-fFqNG/Z$& 4}AG ^9a!<fn!b;}*}h|lDڀPS &ܼ.T3 !9җ˹!M&jMٕ#ݭl sY#k NObzQ\-tMp.xI h={0t&) dzdw_:(b)"djz՞@xreK4 jӻq0;ʕ>Ä9h"}9B`c U}U)BXʦse{`*&IvIM#re;[t/ʋzmW01,k'ZkY}TU4*zOwIC?᪘ri-BoQaOہʋ} ˴'2,0Zr2CiE _.Kkgv͈:oE3{qmћlWNo 3@d6 \oۭP CJd1'Jޏ^?<#%zZ.bD`ŻPs y[NapdPQ\t+CȔH> !߃ymmצ]͟Pn-ulhTiG&~YMzь*U0imPCwuA"G7BT֋RQ!uÆwreJg^LqC`iK hʲc vRSf[_-0V RAYE\M\] ő@zIָ3o4llٹ@ m%5j &׷ծFxQB-1HZm~ޙe(U |{\Niji|&اgA:do\͈ЙI 1Β4ę).BA&*[:Ct/Gp4Hk4V_=Pdc1&q"in` Aۤ u *T qr>FeC/ .^Gw`Sx>a9M8uٲ F!b'\= ;-afR)~3/kUa#e>Qz昈L|~/L ~+ e>sݡŏ;Bq!ި `.ѩq;c^ |d}Ë|ϰqմhgqmdNZuRAk`=+`1[])D9)!#ߕ2B7U:%;wFj;$Y:~bۋ~IⱄjPlJ6ɯu'ǨS#o)*8;ܤZp2phk޾ܰgΏ}b=cn*| M[M( QW~\e@?%G|';kN6BNC=hfMewKJB"6Iekjءuo=;צ3-EP4/S.$Kt9%h4Ytt&ip/3u9_TNSiZKI-޸nʫG~CsiMPkВzGW3K)%K uYPٱn\T[ZTD=h\{ |;N N6VE(pho/cԑUA<ǰ&WN#TJN쁫 YGa/>—=ޤ" bIXE_IT/3B&ߦFq!$s9f}^8 c#wj_T|ۊ,iQ6a~=Yṕuu U1 0%2rxARPB ɲ381MMp^b緣˗ :D֙\# ۩ӵ .Wպ}v*bb/VJ b\: YwnCglceu92# O/[bµo&bI:4ܮիO@rRyX+_\;i/[bn%Q[H"4 ϧAB{aD*T8/kwrmڢ%pW`k8k w `nN8 x Dc֊?|%oݢ3zzscWu$R`I+sA?D1̻Ms-ڰ`VYOv` |3i6T*n7"XKV^JD;I4mEoɼS\yݲº{9hmnY>|m9~J, ' + ,_@D |6JjSm Y !WlVQYUDwhnl5* `IH&Z?3rX (LЗ˶Vtj@6y@"LJqz8C'(a:N :5ODy8i'ZtnҖ*eZNxcS1JՊAEt`xY/0Q]"zbPǸߔEE?W>.#2 #V1` L]dtm6MBcU Ǎ~nrid /_Tt"n pCr׵Ƌ#^ S4>Cͅ, 5fKo&%BR!-9ap Z٘f:n62tO"R\񽲜zHT~3ӥP N:NʁE4:;\ƭAw_'&^b-K.RL鳯HS 04?npe/׺E"7&xعN |06GHH }Z1~ol2& gb0`p//e]G4?QV-[;ߺ[1|@6RTN D%ѐJltgY(_:Id :/ߙtE5M>r =.$U`]Ս + 3Sj.Y\a~7·=1%e/[$,-ϵlNlCw:!RQM^]`\Pqb -s-rrz,7Ȕc| ѧذ\xڧ,tKܓ fBcBϿs&!x"ZiWoǭS8Lě$:w? T-H]j:d " i~5SֶEa/GXrNno;d/E ĕO*puͭeux$-ژ5]HYfaݝ8D?t.g q_6ˋV[^PtlI~[l3SI0:'S8Ǖiy^s W#}؀ʭ N"rl"6y=Ps+20kZuI0s'F7 %9'hŶ%W!V.4ؕ*eߢ )v~܅KiI;vr 0?ýeTr9E|*<`I uwQPJK^v>d̘tSF=xPRP,q].'λ_["o99tr`gɱ3:x%]I:3v~s6RF`BMgZ*u%XQ<.OfQeR?I+o5|dUxWy Nn;7n7p~`~ Rt4ZB|CNjQC#8SWN]MiղSn\2`)rHoTx ⮇m*$U5f3Xfcv(G|Ƚ7 z߹,G sNȂwI&hR ǽ&JVA~RQNYJWxL-loGˊ.YՉҶn{u^ҚrZ"X۠!#$~3yV \VtfW;3z\Lv"]}b [dN`f8^AHhvA {'iR*4Ҙp\2Jp@6va"Z˚ rmp+fING2*Vq$-2q-ov=LuS$[h8I>(v):Nh-!ˉL!FT2P㕧Ax  <q,*Q>T-ϓ>iOe/{,WrI?|Nԉfj"p`j0:kK}7.0'&C$d6g|9gp,weTЪ^S Dk{:sH)ɔ+ŊK@` UL@\mYG틘;f S^8w0BNnƗjlHc6/ҭthG(!ֈgZ6"#j?,l^F>o/MsSdp 1rSZ,UlWZEVjNGA}g/yCE]o8QGuSDZLE$A80QvgݖU&wS4G]B鳨^gG˺6%my4lԍ)x>vm7 D^Od)mHgi4!_u7T{oWo ԅ_ӏ Yt)?a+I;HBX#:7۱Yz% 뇏<&7wf_G>pa>`2p2k萴!kZS"]'N^/6 zp ]]R)P9`ޅĸ)'@oEU֠ug5 =BwnKy"(;[uwh_t^lV_@&/PAEI Jvk^]<` F`l+Kꇝ~c׌<-[98"`ű)gQV|h %Iv\7>Qрe7 绀 u;@D: }[V\~?:7v2mcwNoK[6{|x7qSg:4]wnjXWO_ܽ>{wK4-0HՌYr33buWcTͻ=F0b|쨈c/#F:H`Z*ӳ.3Z[6I P=CY=J U!1F$goHE<<^tSuЇ)ZKD<#_ΌF)6eϾcSp x'TTS.][eacfZ3y BObd>;m`ҔF =p?Dy >ra*z&"ՊW12YKM>Fs?*9 $VկX$_B]h*9e|kZ3_(;iz{٫Ɓ. 4,W VR.-D8*hf0vjU7vZCЩ@{vcG$GEv1@R%kl)QOGȆc!Oe) oG)VѦo1<=NҀA'B-e AtK+nt\:Gk7BSt80KY<6FumH*`52lFI\\זu!ыtcΘJ:> Uñ_Ҟ˳'~%2 ڈL #,aTvwMn*6 gfڻH~<+ьqs)ηڼB_,f/yf<{6{ 8jY^vZ|B$MxAmm gٵ*";>);)'==daƴ>d,FEZe1/sL!8FFQ|R {?^yuְ>@9$ od3l` LӔfIA9|/(uD{n֭zJ_6V¯؍, ڹ`iZ6ƃ* " j*\{Iu,) 4(Cx\,W!:] -%s)Q/FJfNsO{U;K?!z/Htޏ$̬3$ hJ۪_ p>vcU@V SjJ޼N맖+vN * ga AGC~I0%:v6u?|xYtpqE݃y"a$];ln3iXȏWe;*\ӳ?Wk,xg"I6}U= D<X ʥHiQ)fx1AMF&; T DrQWe@&2;L0xmA)wߒ:/AV8rf}XK{]d}u gN./xI8\(ӝ3 b՗mvj)9hW̙*~JIˤ̟NoF NR9`ߛ Y@9aI>VTgLaUs|i{ƆEA"dش1ذ X!_%9& X4VM"J:qiKY1NӂݟaNzTUPd`P$s4) }mWa"G!tÇ#4*h,#xX/M֣*wJ@r2>lFõz=FȔ IN0I6CFa%:A}~&)PX=Dӣ y[Jw9~L;"JM\%:[DDnʻnv?_ԜOB7Zs3S1l1-e܍Ɍ:PyE RI|$_0p}k7IB u'nJ8 JOc};"`@t%lW8ɹV+Px! qa{vRK5dMj*u s7B<)8`"6Q Q@ Wrf˴6-̮~D0J91M_cQr/< {;)W{X4oT>]eIH&]Y85ʖȬmϼ/"925JD{OU OQݩZ&ђZ^PJshYoRx~߶{' 7hmǥMPE,@LY>}ͻe6|h,*{bd4y-ݻ#bAc&UˋR'6Bz?/ӭ fÝ#t>Dxa"0qKhFjpQ6册 n)%+)])<.1oHqES퉍 &x=%ILǧdϙqlk>&ZpץU.^5hXH(N,ymz)Ј(X!ܰMo%$rWW!4Zt(@>{u~:+VDSȥRj.l<`Xr hW|Ml[P,otJ^}ýb'fS..P.q݇Z3uaIQX@{u*L|4Mg-}шp ]-GF>R\?/H ,%1u~τȅ)'9+W)5 ѪqfV}UlpSD7SC 鞔L+."gu ]r>oeɩ뇣R/N /?JޛEpB]L/_Z͓z,5-Ѹ&:˗S5.8ʤkE 6SI2&41:'k4{Lm^|IrH0#CnYG҅HZZ׆u3#}@&0Zrfx!6r%?6 E ܤrkzgJ!*m|~r Ooڠ(s5 *+kG}sWIݚ,.fC8uU ȠW/nkJ6Ǥ?#YV,8E"Xm"2zTWaM9  jr-p\W`^1 5otX=b(݅a<+#l0>(lHFͯ Et%UB8MtM#E%ұ aeB9|"0פǘr\n`aCtQ糿u=[cm5?'p}cj-c% [Y[Z>@F\RUƲc178b `fŤd)i+~lVY,CHS6LB+D?PqTk\N6G\(k+ϺM>ڎQ }/Ăs_TV5֝~A ozfJ , J&$u^,AC0k$iKǂ}(ØBy*%VHKF SaWnDJΒbMy@yL _f3Q@˪舞w8p6vAFrE 6Ae\K4g9zf$U|C*`L ^H=vt">Xsf@M [DLR8Cm^&1|@!>ݙ>qKKzѴ} imRADKE;0-rfw\_ hK;Hc~u &;oP R'`dD, ^o)߈ʼn H:wQWVsE勮 b1!HENioX-OǎEw$! 3;b֭w߭wڅz#XjX]QOg?Hw:L~|' YAp]/rƀYJܥWAhV'5q~y " X1J˽筿&:nai(q 7(CtiUz[J&A"G,ٟ*ODȗV4" 69H/Ӂsh<3 Bvmc']ה N9an\6v4(S95BxCNZΩSdOⒶzii$,Tr8>GS~i3/ |˪{(=AH*TO #<iO8ڊA\D}& B>XpdOK)rFwZ cȕȊ+/Uɡ8[~pFC':L)KXP7 z峅8N~FN QF9ty7L\@[R*R#,EHP7)Ȓ]I+V''ݐf\t>!CIl4ŋl:KRFK%j%4I!a2K0j {Lyد_] QY}ٌ+5d'=n72"3'fJٮ27*xy%Ts*F5pIJt6n3 yPmj텾`_H869LZ(nXi/ Q^(3RW3$4gĬNԫd.-'}({E (TU>P ) }^99]Ȏ6j0%}.eºWn!O֒AlK4On#oH}w,x8$S9ϼO5BJTERa@7hcL`\)u[\鸷խT~")$p1(Wt^|FT ,\ݶլ H/D 5,Mq[w?] QE0Kֺ6'z/P:v+d˵k]RN|KtCխc#EcVYeEyciTHaԠ_}کJypboez#?Gwg}]A,.4J?\,Nh*uC/Ɖ&^9Ɍ߮)ycA {'~I(5兊R9cs7ZJ.}S+పոqwUE mDVc㍦8IE!Ex%x&y$]"N#Ҧiؽ ez,r7a&(+1"K0ϐ˴va%fSP%sim OFTͬ )8A?lE3@ 7HDI&]C6*$D1tO:rrs>ޕE Eq\AbSw,3t]tM`aSu*%I[˨Ũ0>=3CTFwi\ri0byqP@"<aNj 3 =u[3r)rX,2w,UMZtjد[A,P©6"%]߆Mu<:O2.~ :h!X/ L@!<S۰3ަ?(^P|U^U&*jkm˶O ]TXN}i~6m5/$A4缜 MDAڿ!K.ų=x{z^ֻOyik#m@¹|I ’ٳMG^!`~d޼:ֱn"g: <#b=h"TDe4lcvA,fM&*^JhbiGB_Vluw9WBBV)5$jA]aarEe\:}.d&(wnwJxyHi{>Hd [ehFgѮz"/4a8corw շ ĸ= ~o(VvAdl\ goVKԗb:w2ԡ} }K-j EAYg0v2HkzĽ3fCF Oc\=a寘>Mƈn^s4H|zwC?̌#"Khœ2`6"e*/pOJ-*w$ߌ~cRlo(AOo@A֊gClWphj 'v*QO8o|Cl|r;ݸ0t=lwuz@dN%Q/_ϺYžr=+]JP$"MdZ+ye0724* lG'>ͷՊJB: ;ّ4]["3\S_<3E!`]33Kq67O'H!Pk*aJw51%Sz_ɸ^cI S{ϏU} r]&N/o򸗳84n$\_Q&V{*sڸ$} Y;$ho؝礶ʐKfz?+Hۊ;|wQx?`7m^roQI%rG~lYh=m<@hzn|2rhØIp# }̬o7|ZK Ѝl$M9xFzٲG(VβvS$C?p c&PK!3 YPW+ɿȧ lj<(:x 6CrG BIG7r t+ca\ƒ4_q9Љne%Dyld.^25.?)(=5#nn}^J಄)/FCV4[\K(d+$el:"]B( > olu|'#U穦ӭkyN{iktYON~%L̉SD%li>EI*އ& ]s)&`N@w5$Ci tc3N5.  K\0o\T6(fSX8Jhf隸1Uv%DqI<좁*@vNWMl ܀rf{-O$(9ǃ#-I׃ 92EH%;aR\=]lB`JcugfC^= 6^tE+x&ևj(~k UЫuT%wf;OyG{Smjc>wea@̤Xl]4v') z8{GD<ҋ~oo| h@p~40JoEB1+7q23c{@TX]яnNw6U0 ԟ pxoʛ͇"َ9ڵuH'0dQ+C26sz4?Jxjmkt.9Bq/qcH,6A15m-c#V1;|w!Øwn!nvAM P}|v_i6mƙ^LAȆv w49 fQ_E7(4MT'V *Ԙt)5(1?XV=Fe΀vaw,[!^U[slu"[V{Tm?s -wpGbUݖ !ࣿ mDB,Ln[rDKýJ4.UiWm ]L*qN(? 45ZĿK!&^$O#+ ̠D92QCqz+(ĨUsfՇR C6U$UcW fRy{K2ga ԼFt#f~ԠG(3r_mP폓aLny]9qّO \_4##rOj*\L\]hÒzDћD\h*\h5qy0)ȿ^Ͳ ݨbgoMڛ$N#p5*d%b#1S{H;" #3M_#n򷥳*\zu;RBm A (#zp@ZιWU!NAǥu&p !ꍥULTCNaP苕|sXp:ԣL3Fj*@ƴ^`T@uc%3XIޙI=Px˵TMu<< W#dpV ^<2u}YM'*/dblI<F\Xnַ,"nTZY9*Xjnjx -R{"Q m"7rO$A5(9hP #͡ hcq%qz /Ot'UFm7-"29mDR @.9ܙA *vTuh.$|N =y$8A' Wu–TpH#c./qvK E^G+M%J:-B5~y h\KȢvn Ko\/k ڥZ'ҠtY4\B;x`FB5c&]%40d?'2s9>[i8qߑ _Rۏ nvJXp^f )UX$qLh2πcN Ϯq=s)Ȟ3YK7mz.3S%䃟f!OdL%IJZ]{;e &ڈ]+q]vN˲ed$k=#J4땊-x!(LcsB?s.겮`7qQq/I7zR5׃Ͽ*|,W/i\1I2p7 |F>Ф&uf:kzE#USntfvF85ZQ\_4v_^~-{}ѤNCΛ{쓂{f)T-*Nzڽc뱋oҋG\[tH?Llgǣc./E UQMA3m#8L쭸v/U:H;19+`Sږ䇘d1XeLzCuً 켜'h5k+ >9ڈ1bXWn^;8d3вFbhVG^ ܿd-Q*HJ7+̺eE/(Qݐmx%D/R0\p;oHe;pX_\j>WNVS# '; ™}ѯ,lSGQJDȱX}٪(R,RUC';ĵ)+ϰoC#-%rҧ09ӵ!uk-ApI"N>x y An^eLd Y @\D{2!TGoqZ'THСO&E{lwY7bʼwޓ cs @]3e g4[yM@V h)m톸E@[6HcKM{፧ji 7Npȷ!s䤲[|fir{!o=i h_LzΕ]:ֹpy%`lnol?s@ HզD'^4UZb-U~i3Ad"j:~Bb՗ d 7?-*l"4ͣ+iuebfZȶg]G.i?qar0}j^Cq#`ΜAhi6,i]r mʎ 腁HEs)=X.y,A]1hV0o\H79,*{=7Fkѫʥnq- (e!r3SNaly):uф{B6g{vѺF!J_R&-X5 gX(Q }s3VwNc:Iq8iYߩ-&Y{nDki.NZ[^<ؓFz-cc5ϯf-<{d.CxX Jۗ;P{,%x1RѮ7<"1+TGάUEɚ=Dx'ڥEt|NWXU׉`X/'QM؇|']/tI$޴ך{fp%qiF}hM4Xz^+@<A͊_|EZK4C^#S[[p34,HR*%: %12 ޾-)5KppD ?"T80xoxG F9 q&#!Io¥rĺqI:gp1ȦzZAbjt Hz#yc+XPm*E 5}'ԈE1 sIE{ÍG/k抝No( {[[shFT}?Oh_E_=yau ,={%ucU5^!jٷ`*$S1PN J*#u)˒hu𣏊ϧ q'-PL*as n"sZhݪXʩ\J;8]m|վ]+&'mf{4|b)<>s).bq Cn>M%FoX|@(*7u H=AyCA5PLYŒ?,ow) ޭp2n_M?f7H^L2CЍʑZQqjvw'/Ѭ$̯ axj?;@QNdns3DQ[Cl oE,X|m:g+Uյ~SL%uXbH B󷅌LxUyШih)f\B- 0/@'8|.{oBl:=yUdGh-7 0B/aJUAV]7Pn8;rwSJ&!$%gѪ34.93n51"=qF_Sۖ5Z46iu ?uDC2uW7AH)0>cr$e_WT^a X} j 8/NK6E9:7tZ߁$i I$5~%meUQ:蜐΅}KixN/f%V"~pvš)gXa9~?MohI.C.nPDj1\սJ8AԶEAs~Rwh~B)lXlEvʵĎJHC0#HFL;Ky!E?%g?o/j5vkӌCwӕ}!w <,7[EدJ帺 g׀f=Y' JnGo4ǞS$fl.BeOz p4 6om lCS=Rk#}6y M_O΂1󈁰q)&Ja{d5 GcJ7kdk2lۚkɯ3|~Ș@]7WH\( j" sOkM[š&_I48U7͉JU](q :YۧyA*'8rl6124ҍhmts]mwԱ@̗ xɗj3 u P_Ugɺi; 319sla FPק 렐b%үTy|LtV!M B]x R/T]Th"N+3:Q}~x\+Rvk3ҥ* ǹ4+U#ڪ[FW.(cVd|Py|#qXc% [Wv%`m&힤W=T|mXv Wwc]c  j.zkpyQMEi؋(ێBj8EQX&9BK@gʀa1RczF ڭC?*8ʭҍ|rf+x?P3R~Ɗc$'4ҭ2=Cn=%lʌuoܨf OvJ G N*Ht;p7ҬEHZMK:)p-Y1^i>t*?kfx6sq-%gW j>ŤU;"ƽWp:,vjI*t?Y7,Y| tj?LKΔ.|{S d(,2voL='ڔͬ%Y% dA WBMQ>/Ҿz;%FhZI-ð3ԺNwA6w)_j(o`kPOƢWv:rճB^T{17R_iIپmBLUe݅;W~Y3IxՀ'}f6Ī)plZV{ `֋y!N-QB A9zV/Nr۔/ DFֿ!+~\2E(5K`\.fy`{nKƁFOylpŵT[oւEƺ(>S$]Tn䶯,ys*!TQ0 2͕R` T97WhIO]H9CddhC8Z$Ia3[\HDv"4H)k&w%3V%xQչF( $#fBG")_JxF&u[Sy4)fQG02|[ҁi$\!贻[>3͝HhĮLK8S14O^#霺4vY`ҎWOEz5+`ddQ T?+yA@%L8ӘqyJ O g/OUNLn4vnMqo%.}jcĵΩ]6|DD)Ynߨe6C=sMQدwA8R ,C86 _BǶH;|>HE2N<<Ƹ<)jb@Uo~CEP9j!p!%E\OB\T>(zb>cqm$Xw=m D Ԝ٭󲪾èdw ( CAHG7zE`*̧C1HHhsȃ-ZpijJ1Cիl]#jh܏}ZgAI<Z>Y~׎!X`L$yno1$U}$0H]x>Tdj~P32ڟߚYbs1ç,JA>jjU0ƽdaap39&R*EWRûb*:Qm9T{̬"H%z5)Xk"%^llY_j7f8a/@~xz&/ C| -,B_l3N|uL}@|ծfOj_*MH*קt F(~ hفTG> z mC>m-\̛8MyHa&hJJU{Ϫ6y 77K<^ {T$rGBVA9FNH8|$t&4i܊+FP(P RPЀl<c T1sdVgSQCđm<.c OBE#Zw^`;V_J$zsB9\Xvm57V7v8G|7O>8*ϣ{A"ޥwUmiOgj0CoE0݇߬na߀ "FV8>s[}.*P&q2,:jC4b"b2F`( 7bQ!$,Qu}RPU*9Onߣ`¨.ѥ0O6ͽ5a_TB*O'< $%*" T"]>K 7nD03;@yE$()V,Ѻui,1zÍ>XkLϐ_,AV"Q0/ 26SL^tnTrUU;l{rkQ?0 [?u= tء[#N9U"Թ)QuxEtg)Ɵ|d7":$lkTɃG5V9%}ٙ 13gYxsU8hSn`$[Ca&+<DLOJ'` <@&1Df돩ȻSR痳Dwߠל4= ;zڻY*vOO#=F ivu$;էZcHQ.q $ml֩l؎Y)u`VtRp!rTGBJO^-dɏ?ũ1.fF_ R=eOq I#{|ǀ qdP0b\!*'3u8GS StggscybdB0]:!r DL2sU9x)`K݀4YGoПΪ#[qu!RkOɭ?s6IUd*m/n蘹8o~KԎWəSykg6.hu< !o6c3Kkzc~ (d8#g9A;HU^~>o3G#?G#h/SQ ZbxJ}s8MwMJN#  &Q"Z_x܂#tt Qft *uA3Dlћt1m1x~2u 1j0f Hn4}64IՄ#k_f$*eT }jUJB;w65+چB"D{h[jCC&{dG9uaIPK3X4u6|Ne׻2O1ZƵxἯzɢ!R(cM#MmsGǑ|Q*b uj睞⍳Qg]4+d,c%;+EqMTBNYʱ%v5*VUNϠKZz/*E;~#APzD=\'}Q7ϊ s8SJ@L"N=)V6wڭOv_$'-}ը|s.U$9Hb@ bGItg 3A/lv nU2 $> |z^B.8AJ6ox@슏BC(㎻r0hŒP5}'˜@z0TmӑPXJzt_:ٖJ ,<['x|hD]hp*q+ 6wW(Ҹp`>7'6 4_ 75,U< 's%cR Süq JHŗ;G+C\PR(6EGddo)Щ ExݞB+IJp1G 3DDxp,a*ۖ.n1]|;ՙtc-}B)wEI |sJgUYx~HRu4gD\ke?2aCJE婐-Cռ)/L,R. QKO'&A**5)ɭyMܟt[e}$Ut,)_"à*F rJ&lzU[_.U͔D=P__hOwAb^D=BY;Fvgz$ {?7 H9cX߆vE7l:XK"3nΟx3j'Ss-(H+$Hԁ?bҖ51,h;//fe3bY b?FTgB>$:Hk^Q#vT%jkHC6B\]F,й{,ʞYjmleA1e>@/#6SL̖J~f(W.`MMƚTȳ@F {SK }jo(i?>,V,WΆn.3 } Mg%VTvr~l{Qѭ( i@܂Q>8[4ŵbw?MA*(L% {IN< R S1D@KA?1S6&yOt,R㑛{)bKTԚ܎sY/&K6rHei,Npk9Sݺc5ŒZ*vS@ߔ:jTlz@nBLP@ F/} D QlF.F; e'Uу&u8b⺰=MvUWogx|xS۾ߌ]sf6ú{XY^q0\K-ZJlfIv٧oNcz6E3Z-kkKi;j ~.xciL BsuVsLiylQX[ۡBN=d|b^P?E=zQE)!^}P\/( %r~ lP/-ړ". j~ϊ2t'J' {3I}y׊^uuv) Z&V_pAIxQ\3_ø$˴:{h:drE[ 6$'YN|5iR`IohpeXaS72 };.CsxT|֍mI[uN02*ĈzHA  ,5 A^KbjoMƌ /书~G(6Iu廁јPJk' & Ez߷19HB$ڃ4^(9,vL\;{#0)|tҪzW'qiйC\h 0ꓚ74`?jۈvXT#*Yj3FdW3偕3vgP;qRs=YA$;ha+G}]n:x![hSyŶ/m{Ic2'!RJpo8{@2QmF+G8 @bg ugt(d%:#P ee*ԉ~#Q"<֦ە鞕8S1J*j%0VWSP˖/nӒd9AzoeiXŚSYG[tQ >O 'V{PHCskA +߳P o?_u#n&wݸ˝lMỺrpu' [9Wc@4FPWA|$!/X29aH "XжYTGj A1"9S "$>Օ[:a03}os>PcXp.I7~^=(q2˕ݿ(4*V)@"ɐX.kKzqbQ!c!&jN}沾PL1?ĞSL"Fu͐D9hNw&ԂNurYQxXlWXxΝ@+[ʞ3}~9G?g, `0vș ?k`#݂*IpHzWx7pKʎ_vUs4NhO#`=;HA8GPlGHl[!nŧ>Ehe@}KJ$_L0DS-]ZM$>pkFu';D+h%Ai6'i& x1Nh)}x!t%ߪ5~Mu} M-bwϿu;ld?xOލJйP-F,`OlHS o¡C¨:p^ |vݐf>9ۭSL.k |pJ%12Zzع+5fC4GUvmU}^4{O M Ve`./tYJ13F[+c#bO !5$[e:2WA[ě=޴P&YJbOu9'qnO%37iWSD>ġ5W[QQIc~G%2cC] Rr~Xe$e ). .vDPO7'V"?gkq/2,,"Ʋ:E$t(Ks x_#Up @):XCTH] cIڼ&7sj*l<%MRp2Gas"D6x3;!ne!'} ^x"T])hLal9Jw-Ny~9sLIȂ)g||7Tqg9'h ٴBb;qc hhK"k OFͶƀ|e2o2 {@X !"'4k%s|H)EH\;J6FoH~^ޖ%w3{FhxL*_0G7>aP淞!j/Zi8u'=#Ŧ3S %\տ~ͨʽ+1|F5knͩDa߈57>n?qJe{*ģۖ`kb˃$; \lhplVS}snD~Io/5G$qԉXj!t˞fQ9G;[T*x,;%jA?ٙ(q&d8N xCEnʭxgD:kMK6{{3ſ7?+~)aX7rZX#gxA >VlIz_-?6mDSp Tvb;( %40Y(aKvG^A2!Zf].!e>1,z8ps J,9;׿ w<TbOOT45i>rc>T쫶ٮ UHuMAVL{j1[QDV2fRB[SqaFp[ިu@wI4X48ESR'uV,%XL(ғ~";t DWnx`3/9wӪ#ܒ#XJdcIW?Us ˋWo6Zcj9H6x×%"DtnKjt5%VU7li:377xb6A6nX73 o+bJZ֥V6_EJ$@H&Za@hHNAdg؞|qnUUa~X,o#E,gC֡֔x  wf Noc6|Uaϗ0sVVPh'Ń3X{~[3uk*TMة{4;M"jXy؇Ӣ۴ݝҸ*ynN&yAG~z P޸Y<pZ|f'%j'$kϔ-beDY]ReZ/wyxlmnSd1ܯh.052}낵 >p*Gp[;1no>ZaF" s=3|j1w\2 x.Vi"M mSv0- nBqAftrbX=};\j.q( A<;VaZqŷ3K6 UOS&JsC} ^eEFϊ)!oI=M2ț m{I`K҅<].ږ7$86ņ5π#+TYVJoybrXG] МXE9 /LzK\8NT/mZ,r/vY!dEVk:.~Lӝ.)`G-u{O%5௡n"HA9_i75VD卹I`j-MG};^5]@wk0,ŅعȄ-,6 !)9z'jtV&H"oHپ_H!JB=Ɓ_gjc+aҞ"6Cvm܁Ш!.]{{ $ <{Ci7Ѩ6x"W9q6&-|۝G[ZgΉ|!\bD 'jl miRw&aB|)ZiO)Sન'ieʤ.N]Ⱥ>٤`\ɪAuu8?1_%a7`WDA3Mef'\piqe s$+uv]ZH3Ku"\K@د˫=:>ށ)&UHKqnI+M>n/%YKv;BnUƝw+%Iٚ$#smyV cCOyv~F!/cCd[sJW;QBF&ل,jQցqju{įEդTy|~&ul1$U^c]W&]…Ƶ%b[jPF!@y>|"@T2;)}',#PہոWne^yS Fv ҧg>&GzIj?_.c}c^.VJ -fZx!QL|"e@^\zgp̲7w\bS%GApmf(T?R&@X)ố4B(PRWYMd䓡6*S07xb{L%dW)D|p//\+v-Ŕڈv@ $=Ṕ^)7jLEPhe1~JdIk[i9KqS"{_*hV̞TMn7jG,گ:< [\+ʎ 3yP FҪreG@uŎ@C$Q TϐM i.\vv*W1}#RpoUXY)@ 47Ȯ5>O03ک:OL "v`BbĚ Oя6zJQ%pgrǗwS%tמ*xrwNO+?s)o$%tG0&VMgmQf2XxGB=w¶B -"c)N/xϵv`ΜEhOI +#Qd`&S8]d|^ L'qwwEv+{ݏR}sD>!*JKT;q[o v}nl"L;Y Gs;|mxG>ĨˇՃ2P[ t?jL4`hEm;YS:P ~]sTTI&dT/`76 Yf/9uzr䱿-;4HZzK 6ڵ^a`%5JaI5)Oy_XkS& ⥶} ZZB?^  !h*S7%L!0CDqp@Ik)CTKK@%0XwKH2ܭ!R?̜S8GveHRq.m Zp5@Tm_J]~RAY$YWYiι梡gFi.Щ[N/$Ǘ@& QX-dOx|)^WVb6AzF6'{1YW-ɓaXis! ` Zxf@M2=_-XxF3 ئH< Y xdؚݽ#j@T*̱P<+!~fΰR;_-~ {n &Y*mn{}n@Ubgw^=_+Z Lv6.c0OBlbM,)ގ|Tf#.;'1BqJ*pᦐ~~eHe'`LITPi,Ʋi{"!o;~i1֕h@INNAJَ̮U2FD Wf~eÿ֌g{tR8rV4Xb m3?_wE/YDR =K7CJ-lQƉrds0^7vLʮc G,AorMF.Fe~|8E(tb9 ږjּ"Qa-.;\1F@۝K,)..ame"\nz7?[^E6`OܗR5™=rxp:* _5g0C% ud5Ūؠ0saySb3k :*\]e`ē͛ ޝ/%axytAr3$|m܊$ipӈw~?䎦K!ݟ&7g&[t眆_W5ST Zr0Fj$9@wW9bd=q ЋN|U)p2 {PΏQ9S<3dviO)#`&LβCuۋvupjB']X4]MY6 Ruݾ;~/밁SWe)*{V;V;]n˅ -@ gb]ǀ#cvUv,M*yt ~TBA|5Xx<)vIW 2KQq@\lgtLe2vF3 3}ۻ6{t?c%*zs+ÝSy #cKª' Bf_%{5v'S G+H,څ"2SD;cI_)@`V&aVz γ%~ )gi}zZ|8$yrs$Su: #W֩!> V(/J @-*R+{"85? U|FzR6y Ab'~ ڶwzm_%,!%*_OKu~O~FVlCaݼ{^_b.8!p\Od9 Ut1B&.MޝAL7'췽OӸd_Gެ Z*m>GRă0MJhn0>k ]Z8.K@gXbiKZބEwgux~B#q`XC2ݾ`s$;'F鄟1CgO|#<#greڀd:!u<dZ?Ybq }!b~gm@l~ȍ\ݕF OAV"vKya%{"63eej'ƊOoL$j#9eYQ$4vO- ƣ>7n{g@z džG=zAt'L KƾJ]a]^ŷ\&[ncU0l" XuꃃM#f>kRՉ43{D VQ';d&.'*kf5=Һٔq 6 Jtih dyh1Yyn!8Iܡ03ߩ2毊R73',3ع)L f!pzgi7`gQmG$õ#ζ[:1X'=8Yke߶\:Q<}jaM^A}Yԥ8}lEc#m^65E;ZϏ?rᘕЩ>l;xY- 2<0 7N ї!c4Hba`#gv@vq1v{՘ <ʻkgjzJh2|6{W崖 > p2ةGt4Z /P˛1ۏ F/(֡SK!^Q:aQAN ;YP g"%ï-pT0ijLP}]J"\V_`h,G))eZ~yT ~x,e+q:{J .*^aMwUy Nx,; `c2.]Q p|YjO|]>sʂ nE+QMNײҸ1ү=q tEvUYQM .<.ċqAsZޔJ"VCT1f U_0+OӔJR%@VQ e-+`T]V$cc0)Br"ͽvuamM12tS 'cNZf.X_4|sJ.PAU>&U[GT_}038܎3*:{ئ$h`WV'T?-L x\"N(_RC5@KbhdWǬwaۜDޱȻJ_.mH%s*f%ڻwu]s3R!0@niU *Қ$Hh:mP$Wh n p b1GbS*,ga^ 2 ;L?>gC߀gX8T7>xnsn-s٦s?y*HI?;Z'1KiQ?Kҋk#_ؗDAApk8T1oǗ1nSGl~_ÂMͪtP -؆=ĥm-hQ?dB=\]X f,_2Ȕ >p|8]SI\K[y.q̔ዴƪu] H jjRA!|#bG\˟4!4+~ ^e"%^V*3QŚ&\1 apuz =eܼaڃ5+H`0E:p[Z}Tl}M?۪k,R_,,1l7NQYM80.rAyv{ja(90^O6SiIi5)`lЂ&7y?@-6']0JJB@@ ICFg)mopnڤ?Ũдf"cӳr$ AXu,S7 '%elvHV,(Ch#*ֲd i~@9#d]T PUا&gf.ahsʕ3y+?Tw;oF ~EUt2sDu"T(c_WW$~ߧ%n.{^y&)6He82 )MX?u]}# Sd^5!5g8Qr&jHиN d%DQ^D 9TN;)7i;q<{Ŕ 4v<4S% $Zo[J" ATI<䪓L/vz{hC9Ps;WI%bK `/kѽ0FRǨv\C]<{9e)V*Ƒ.lxx E;("nb]B @ҺdB@VKADMVew"=o£^ط+xPkl?3yRSVVY( ;rJXR:)g*VCS-{ѸX2sATWTMHZߴT$r[K#Kjq혧2r!M 30dU860J呻|_0cI̹[spfT6|tvh\q7Bv^Fz"1(Z rV$g*c #OI &uX?<PbhWtȇIdnQ00Buz[7:F 7IRKE^=dLp.1$W|H%F0rk ^Yad KH+SxDU׳e4G 9V!>ZLxg:|AxM,XA u#EGǾX;-(@|ڡ`Z ΔVS_˯lY_zxOv@t8tuUW8s ůib<@(HzQəLBkgOubQ&7h4璜ҷ}cA[ü{,8#6υӥ#Z>>?UNtRc "Uw `&W`aEÒ>mBړ$E||ug ;gҶEX4_<܆{ьD 3p[c/-;9ʖgf~81)z +Uh$YǂהӯVBf!y=S🇸 X8KL"Pd|YѺʉ.O"DS)ƽ?e]+I '@N嵈VIVⰍ/U (4x6j/ nRbɽo\E*HA3H:mor3͠oW҂ܿLsOZ.emK-@JY[4uRC_A}MA4@d ~m($>b!3NDl o@ne^@P'Mw1 9#ޑ 9jxbg(l u iiS0&SRXƩ:rqwY* l* ߊS8⒵ෘwNu3{/dW@hBo>Wtzn;&˯9NА`u:USsDoaЯQJ]2]ݜ^ EFj:;H<*EsEu:~B֏j* ,L WCmlzrמc⒖u%P?b|%F/`{fp>ZaYJ9 utnX +kfOQ\i=Km0W;c*e07`vM]+2 N^s\vge(m`M8ʯ+:um[bܩa Cܬ^(L]PP^^}HMsEhкH'Ǔӈ6"'OLȲ@m$i1@_%$M04bq4ptQ!|΢qӇٻ#<QKCSƒOYqF̧DN[DO TSx#H~<_QTz_&#Gzx~fGzӳpxL=GYTN268%zMIF<zn!?GskcO$iJ /(?ZHBmf x(1=)Hv^~u4ET E` uN.L 鳾),`L"Qd:(煦yF\50f+4Cē~"5GGD >TimBzVXMl6ˋY شcw:>g'}1ĜQG[:cߢhsv60{tk ^Qi[pj>YCS?~v_PL>{'A&>i(i rh],wC.I w)kҡ5 A3 cy.z+&F)ڪQ>Ylu//~G7xW|k-=}py`X6΄2& 2a;%so| Ch|&+lp1 (`:ꫡ+ 1b#׶(桦qG O+[qUz#ZI'_UCWj[0ᛣNr5QRUFƥRDأ kgB#cRӒ4ݧ>U"޸J 7/j u؟,;} Nf 'd4Ւgx]Vɵ78G<ې4 s)UJuDAĭ$"bPO̓VD#q1Wu`j f՛IJoPB e@+y ,wJ?q h;-Q]foԏ?0`l|+->:`WkSBLP^cC\Ec|OӨ]_{<7=\cNVhjR1ۓ1r׼ X):.2\a _ԱUge?_:vP\WZw.Uqd"lxoBNJጲoRċ*!ffx 3z2(7LZ Ӯ7@@Drg!@Pdb(s3W,fjCԌyE٠XRzA8&yϢdpAc͗'Hd@2Ა3O,0$K> \WețIq٨;'_†,yƭ+ϯg]@GAG$$np:B{(3o_ʧˆTpLܯ@γ%$STY83vGyʽ9!sB;+@}atrj HJ{n2oeiiXNfDXu,ۀkcTWۍ ONPh-Kc}ʕ3w м͊- ٌa>!hӠNԭǞ8` K`w;K9X3u53}e Qߚ@hҥF ܵ-76\,shjR8@b:Ë&kXޔǠf78 9j Oב-fN@dD5&2==M#֊_MCPTw9__D&s)2ѦigK)̤pNxz^Z>V9+}u h*B?cJ蟻^Hd*hSKa0/{D;/SOF- eレ뙾ɜ`!ߦ{Bd\O$f@߈¤G,a"z>q({cG(mN|D͝8tthkba!Es+]#.`Q{]e`A+v 6j!R*yQJҍm)IGJ Ԫ@t" bs6zI͕PvQ{Q2΅r6V :^Ac?E!6?ByqVZ< [ }!8nz;$? ֕h"AHȴyuc{m[GgUHt'iaN:ϳmñp+I]-GJO'[I%\4*&]IMqJnmJj./a#uBA4 d?[_>53 JtKHWeI*l?,yQE(wϒ۸3Gk_ 9VzDn~2퐄5CZp9`=akV3|=%G~z&.KՐ;PD~QyꭱnyGDifY{_z5#lUr bݰMf)S4FyO0hf4'f34E4,E2@܅vGPE˳ q)OI- YKoUK#fUdWk0g vp|a-iTR"KXklH"N,zCc?]&fb_i`, /GW5]JYsLxMW!?t, 5Ft‘c;X a(BU:ˆ&:LkHV-_[ߐWtxMϴ+PHJRocW-hyz?a_-Z9I&"N25Z#6΄~d^#Dqp zisط2OAnwCT/B>A~ICVI4w]O7_'}<#LNuWMsmesNלpN a)c="@ZtRER.1l3⻧cb&$D4ְ/6u+p e3*y&x}g0Z:FV|kC}l*Iޣ+dOá+1;֥/WV 9kuaZJ[A훉{/,ޔ*Mxt٠ y $F~47rl$aS8D%:؊AD^ȷ:/4'} bzc9`]RSawH_K'4N%ŮJ% 9 GZ=NOꮬ`5.Fz/|2MF@O|E%A{e_r?v (dgpTW-fi!ī$qx!3=TT^-^XYo7Hȷ;<;ΟB_jge^$1[5"~_8ΰ^ ]{/0?8 p |ȝ#q4%!i!co,+ l 9IU/gU07?yWsD.56a͔Y쬘z-  }~wؑc&.yg̫ADIwBY>s8):LM/pb#@?1~뇗Hnt:SZՏB[a`&;YLE!q9K3WH5LJ-I_;vT-{5blL(+gS5ot%b`&^[Г>ÀqK0._0ɴqȆژbM.fBvM JnAO.4Ij -L[ASYA@p+c%>(P00;asME<NGI5a,4h[3n๖T[Ff/Fy~᠋m=[d+a?H}oȆ \(q"QUff"3#xOFb]9<_ ^W s6?yIqBpG21sT -(0/Cje8m".: vrkX+a<֗w]j;^i˃c@:_zxxE~ruY&Πu~8zԁG(=6_OՐNζŻQ+Z hT3_zcՃ @qƾK"wXF], >\ U "[3Xa_+A\bv6 0)ԄX4S&"'_/=I!9`D.&B<+`+Z,WS* ;TWײyRWJ|IZP7qN dM.Nj<Vp*;bӽRoCJ%Țp4_Yˊݱe(01Hm@n'&L䋫+9T7adkC>Vøقn@o.P+$;h05֦?bUp<Ě<0Em#<0 12KY3 i%#,e%ZL;B}1\!/yڡ(W߼eRKjY+iTh;=L&;RMi_s8קH"z[S>'IYTcW2ӫ>)yH9CRۓ Q^ M :Gp"=d&'Nh2UWn`]oxPWim(?|4J(6w;6`6QvT+]K}!!$ȴ&c2hJieEggi2gIH/M:+ Ɛ0%`U^#y|uh*Kp҅l'7zw,#իV* Uٖ珛`4]y.TOwXI"Qzmi4 #r0)zfc$yhUHyg; +RnDRBVDڅ*3icb gsU HNю'[yΟCu t#gkܗ܋#6;*>KZ-33p{?&F7x#Uِjoa_7sj ]}(v[Mve5="&_F@>C ?8d.?A21ޅd15X)**ˡ,U{6!0Oݿskc;<))0qqOg,ev`'e,ȱŭ$pj#Ήѥ<0}LE|(B(/J5Ǖ)V~0as4Uʺ;ШlO'ɲZ1 Ss4AzNz.-<֧J[89B# BEP PRlyWƋBv3=JR\f;rqicè ,KᕧJ>PM9 ,D)D7^ 怱^= *j:=1dNH>E5S(Mp'Lj+M$kAn 1;uX 쫱 2+MGЍ> 32e'2:S*5[Zњ nW˷l>ͦ$YCzŮ}=A7  8Z_OUY adQʂ5#`dvm =3ggWWX@&:n\*V4]%X#2c:0-ĿeĎH(D}}yրʐ/fM{ 9a+ 리Y뤂 hWޤvhj }G+LUFc"t\z?̇v盄Wb=!AE (rNiu}BB8tx.̨ N1ҍOq(!vvAuGm 9n҉= `YC啤ENF$ @NvZ, ҍ)~g؃^JUXQi nn͍fj9.2itaݤ6tg<@Uyy]KvJ6@ѝЪ(^gSbhҍb/ugOxTo>V,J*^UGu\c8Vq,rs`ϴ ÃH1 XËj}]yGO\v(?4sV+P%VtZ)SrO.x#nٮx:9JG i=ڼfP7..1C3C0 l yo\qO05N0=IFGriܚ['+XT,ЃhC>Nbh䗐)ŮܓդؒI0[Fz"$t_dH2_&*F-[p_'-^ƫ Wbፙd!X+9;2xC#);%결Ϥ,I!Jak%20oUT&J/p^kl6s]Rm^'7B=0%;WAMXY6B~<3.,_ؿ={=^in`$~ĩ 2*1=䩆f0ȹ?\F=BAQF/Z/[p%ʭ= vjNF.Xm7de,{PN~x~Kºzq'*мOc7gNBw\Oe Tꑜm ^Y;,Ɓ(IcjU*D %#FokY,Z[o*R-w5%-l49YJOGyo9'+PhxJq{L A)%ibFш9^kК+2 _`3 FӄÈOMj*3sSwURif.%̮ro_39}WE:L u~4$wq~B2}IԚv?YeO+ѐ6,857CxA.Fk{Qdr jM>W搅VLR6?y7GwMI'O 0Da!3iSQ6$da52ܷ%J14yAć0Y9d£'=]4QM@p멛6W<]Er+y%Dꪅ9ntUuhl8՗А4z!svHo[~/_4JYgTQA>tXԊ*+4اFs6(1W03nV$03db:槳UL{5\;*]-Nйbw 06 d)&;%ǐM;[s!xk-3_+=\m.ﬞY$~#,2#"lLlgB  lDV t(脎/LK*B%XpM9D ,Lwm߿Ukb Sp9ø`QSrA |0Pi!&_Zㅄ vKDŽJ !{?proaMpr}LEg`ٷNj 6?4߯JoU1g> 屔pb 5/MSB8%u&SUP`1&| JSNcԙdoǔzXE_=0-S1}\Rٞ]& CO{"vx>K v9&:&uUh#xCxA{H&m@Mm̭Ne4X6XaBBʓo)v\+|q ^߮c݅[} M5zlGVgHQ`F,>%2BoA46R0ώʄڟ׼`<xުNgC hV?g%𫉴8DB(-K3 9g@yB=$L r rì3T^.$G%AFLlʇ!{i2wjTw0>il%8͝ i ;>Ǵ8wkm֝Œ_ǜ[_bQTtBG( tȢ+:3o}tFbL•aܹQjiӀt)LR6柡_GiU $)p[?%}exq}LfyBdB3gY8sL-r J@ǐsڙxDU]lDo%'nW`cԋ|3n |J _'h]ξ =~ щmmcj]sl6QAi\ 1N;z X'8\:13dN!H%bHI忬6?ECBwL;t`B=Q@iOLnlŲC B5bE.4` MM>|]IyV~'1Y 8l7MlShd cfsΑGCH:z^_E[P_k'蜡e]׻O#βa 2ܱAdQ~<[˲tr8}jD2H$)n.#!$>b&,Er s(pΐj9k0) !;JNjO# d$E^{A+Xڇ2otIC-^^ؾym{" "6 Sy0afwj611ĪGN'j`>\{[} f$@hI:$2蓎>(0<1VyF@-o^"LdA$XSӲ P$)L*7Uyư`f&nQmmҏBp nCr+bJ?,X= vV˰t%3jo|qoydGՇqpu]_½yTԴ@ FqТ%`yEF Ź'Kt-콛-vƋ:a$vRi5-wqˋQoMGW͆0bɅ?)WD ͥ`c M<.S, Lbm&!ɬ HcbAr2|l`cxwit%Q%?ˌ( 4'DsxGpY}*Y렯/*T['S<`St'\9 /{oUl^EKJS0r)L^*"D#ENTRgp+y-518ښcb颜 ckDߏ/,*%4C6&)rM̖!Ƚ3GJ @.§p:'J>*Җ LWz~rpHv䅺{*d#WYH]uS;񪓲@DkgP'Cvv׸:_ľ,iʏ j~c;PV)!4Ϳ@>9+&9 ŨNNN,dBliA,-0٧BbX#3RwU*DJ5)C3ia@H)Us*zXbm.f w+|*WA{}ӏ>¶t?T)mR|VvmŬN`#KQt8H>1Qf'DpCэŚcT1[1%U< EuOT1ijWڄc|eDm%ĜTqʟ˶$b̓aFbb/Ϊk\˄YqP\@wӐP\?,^bwPA5 0MUs aZ0sD8N"s Yd?}EY"@T T۬AIZ#D"W`W Źt!nd;n̗uM 19[d~KB>e 7 T/be]){?v }GXpS~L 1 nc: !DuO@@ǀ|R*($n!~ Y9&:H*_8ˑuV;iZ7v)mŅ%exid_it AzTR5ܻ0 ?Lce~;\ZsM[E;8 ~꩞q$y>\8W#2 ݓQ]%h$⣼AEtYҋLZ,urlSSbˡ9j0D#;i& v{"YRk3S8׮;yF=F_<aT[mo#Tw Qlف6qs_䝋t6`TYć^NMD8'p f:i \d@) =͒"S+xZAH3`ZSye.3VKL*!~TU4&V҃w72C2x (2-d̪A<]8r;FͰgB :r!oo>qF|تd, ]@Dtsj&<:cc7bWs0U$dw<_Z( ?#ܘı҇)%9"BqGSמ͛)&<3'xg@;µLVxFM3ɫ"+iڡt2l a%Upo_ZX[mjQpFj }Z~/U1beH.gXS5{wJ޹:6`IP:}B_xy ީY6D9{%9raRe$5C估C|S(;_TD{9/+i:Uyn)/@o],O&T@K @ud7׊=豰M&}(03لI/;ڄp1ufWԂq؉)%eRYc~Zm"'Kҭc#ȹ]4l##՞I)EY %K1iWtپ'C(fjޔf~[imR-[Uu.XI?Q<WCWB-gwIE,Lj{$"v>N3 5SNI[\zI*ו#@%g&8t3_ v}E}Ȟ$5G>xu ~)ї'w`.xFH*wk\%NKM(~Cոc N 7#;"?uUU4;jJijCz dEJ`:~ۛ9HWth:NBv{w \e @z$N&ZCR`n@kN:Œ!EjX;"/%k~m}so 1lv^ܯ`vo8UJ8§WuUHXso!& *{bht!B?0G5-L~YCUIJo-3FymB]Dķ_{T1ξit)?g3;!9 hpTcPdCLS)7 ~bS#HWճdJ-=csTͷn+)%h]G"cT 95Bj{&̹ H$r=ޛW`nNo]^۴~KGkuGy7-Wƥҕ~9F[cLF|4IkWE'U;xfҀGM>ް$/XPq><w@t[!IR mϻ }E n63-0`i84iMٓ"xj_N7oa] TiTD R"Ht9CR%hrԨqzBƋA'k޻´{$HJ=D{'gټL͊Iۙ%΃ذdJe'n~c5A) O%-ruY-*)zahĖ@ˠc]  KQDzUt-9>x" r(U_i_9XD%5I/M3ۋFN򻼾QN@]f>wFܭv%ܩKsыGOz"NOQ8kUWS2NN/ bN4뿶4ataW䪖:Diq7!֨EB4gPW8waj}YϷi]I7T1g\&&:w'6z?Ӓ&/LebX_z@:e33v1efvX;ٮ 1eWA,XR G[6'+_q9Zr*78$5M7gJ(1` BWN" Zc515Pm9PDlq 7\Q.njL+ Ιmi7?ny;EざPjf p)Ye$K܃duetޜљ}|>ϦR5nf;Wkso9*#)8K1Tk7H dFhX(=7$LfYl"v+?4,`&7'?z؀; E8Z6:t&nCyʚS3ԲVMgs{7?;MgHbbzˬ}w*Zf[X9H#(  '-wtW&?{W\&Ya$${5"Dk+` 'C|C #5o"o"T6Nq&6,0 .͎\u{ | EH;SmDfagsI9pbUr;о ?zm;bTeӞRoЦQ}ՂM%e*+mzٷKBΠ;~N5FRE>q}&̎0hƥĢ(xN¦BكYz{ׯ0z{y< l\ 7ߜű~?,T Dt&Gȋg:j~|v@[7>8G~تCYФg_pg):'uFyY>;F-HP$-$aYw."Yz-(AҎd;ǚccBaJi?"XE2ux,pVG;<ﱲ7#kqk"bM_UW#!DdaIbYfw#wJZ;oJRg#\Cup&;Ξ&sX4Xzs2k4vW^yTE԰$>5r8YpǮ_H m9;C/{\9;TDYke~N>e);K L.w`pH m=&=RNp2"f,#uQ*_?kK8ouB0Vz"J6|ظW|'T@zV1N9acVڞ{p`s1# BFi#M(/!nORn- " Tj6Dn*w+57ͩN^O͇1x5153{P@b@-O|}/֮ѧR#Q; kN[[)NS&mk-5xrs7c9Ej/dw~7v6^*Z\DQ !-1ɡxV< t.BE#ڐe.t+ aO~~ĵ8/VLbE)#d';dj/jPK? ixHCKlk_H/` xUH8G:}]2tI}o>`ۿ>#ML t~!:m{G_%[S{?:9o^LuAb;"OPYVarU9 ToL HYqgJ#jŧxPkړ U̧N7e^JaӜp["k |I}{+Wjn𗀨ȏ6QSAz%VW&x2uOƊq/]XA)La(~7 #3}4wSM>0?I$W1eW+)6̀(a؝̌pE> P3DRns n~,3m:O;qY%]Qca4p,o;MCS8m4Sl9lN'3 4W=e^-@g,|>jt!oaNLî̦ӖjQLlYUY,Rh! J'U߹6 T-6YG<ʶUn/,t2+9,k$U ǦB[E .#7o=V9>*sbLe)FP0Ru}[1_o9s]x1/#%_NpZ"HYJ2.3۰k@b R@JP3i薱Vr,9ӘGZBgpSlv*)_OfҨvxanC5?h 2iz3qaǓ1buul[>:4Y\]ңY$9yN NQk)T]>\'AYW찥ڳzˆvJn!cܒA6ZIA`q:M꼰wY91I.`ZdX 68MZwys>]w5Ql'I `sBDFL2J:qUv4agvU Áe{{eh^u_32nƼR6T4\ $\6.ZeWZà[ r NTH Dz! 53q yASV:#CiAxAw`ux}.9r~o.h>U"uQ3iGl+J8ePٺk`Xmҧ` $gB5P(u(Rei;W$ L73Eߝsep}q)m؋cl@1PZ80M|!8:1͠[XRswɬ=67E 3sFVY8Ug2l@ BzB&#C!B: ƪb{8,:@?}%BKyV/WhK]\ "?{WP•c򅂦9=EYw $PJ;O+o78ץPJ%H е)j UHXueoϢt^.Cfjl'~/B~BqHƔ} 5Y8޳OT[T8yd[wkU^j{z k?\;yӗw%UlQ*3F=Eȅ3|p/ra& Ѫ npbGK{>cȂ=[d25q94{o\Ri "'j xeLľ'B:/M.Xܳ. Ipܨ!0h-ʺ-faO早ݼ#>I97椆!k|b+h!y^奝~Ş0s}o+M>s)tCZXk D ~ xA玀`6ޜx >߾J&?S'תg/n&dK0Űν FdbQzy v ؕh*9db MB†#y7CB#J{JUJ6A ~M< Q%B>0Rgk?_Zo1!22>߁zpcK`J[(^זe䣷3UtiEhBߗ /H5}//a.60ghPcr_lșs-s%}d aZV_jfcftɽPp$ONQ?l;/Dj& @L˃+9[#ʶ s3;Vh{Ø/ᙊ. q(w[);Jq U%@佫~F32$X]{Cw{Ȯ }c9%k9FUxB͹(~I(>eOS͢KSВ0<(ڥܧudSh Zş8|{FZ:vW/&~6xXxܖP6p, wYY8:)4oduIU\c:Bi$!%GE:JXW<_wU}MC'w=_ڢ+9˜2aR2dс W|cU@}"ZP7At%> He犀wX&IzQ=#ٗLVןU7r%z*u#qQ!%p~vpYD*aAYJ&>6u<\ |oXdCqxZq\"/ɰL]Ffk.`CnL+i/VyK ,!YӠyzxaų Nm}BǙՔgAOju#OQ UfpY7c=s&:h8 Hz;aP~N(ߴÚ*/Jc'JԹ<v^!Ux4V>ܟI<2>x\ջv<ԽY/"ފ盌Z6F_[ɤVade=y=}J6jc(^WmuvISbgsG}@I8`I $f DnuqH8Jo>XBt6m[QP~ M/"bG^-֍0s0~4Yh-Pl )S9އ/JCrRw w⋻V<1~/ܴ:>*ꑱ+-8\K/q>=S{UfpP=/,oz{I2SljR۩W%q:"h?ݡ1Q_yaꄤRx _7mRDjfIh11T7-伟"YLo*/[t A/}K9QMnQib@^{gV{ՊU=χ2RQI4قgQa*~*=gp\S6Uo__>O޵cG8gRLI@(WWt:(7Q?qcĉ>@Z|܀q.`(WP4[=#)CIkF>l|P4璛/;-F$ZF+(ijGOx"]Ϲt|we7Qt`zFݪaW \d4Äe*Ҋ k (().LI;נa~9vaqSL'<@az[&,r͂c K{{N$<{ HV@ÝPJʮ"yCeQVa޹&R?;z(<)lok=JMZ+ ':%Jtpڨ'DYbz>mOP1MOWyF OXص-WS`{]cs|e=L ,t҇ui\I)cw<`bW;w!IG UQZ~hP8opPy"]oX޸m`Vjz[M\& _Y'^(ҡv̆ԉ>Ӟ2&dS/tMrGE~a,*V~Z-?n#C,;D 6l`${ϋ0i:\-L(BG3*i0JYq/b;uT՝Y\Vxon}> D-作utqJdN朮PP[?o02BC\DjZze\'kdd^1o5ekyuO)n"Rgi#1;2Snss3`: YV\ʃ\43J|ҮD}s2 ''1-!RN3LurYVE%=zJ-zAƑ5JM&_t*tuO"&ev<%3c^$'HA9- }";3;哟.f8D ] 2"aΣt6ӳٌOvNzz }҉Lb'ehq ?[(QJbҒ7%=s 7YIum-UNb֗Qz FКMC+Iܴ2{h#pH6.r\ᤖLDS_L#Q;GMRj6I<[EOd‹JH]{\LAN aj\VeakmG \^ƝekΓq#ZE@5@YQm}ީW'v&=fJ;_ԗo.͝YcRJNp~#'{/D(_2`,2)Lʫ?/}0s+r :AX3AṊ ȓ&XͪqTd{j@}@}FMmz^782ܪwKQ,V0#n迈EN-p@ g;o)J*wfxA6kSqv_`=2GL"xSqzEM)jɇϸ5O0r 9A鍖(f%MꎮN{ H1[IE)_]U1\T!~ۗ鑻XbCǻ9+[qseryk[;{=n < >O7ˢaڼmm:˓ŷV*퓰J(}{ /:tK:/C7UOU\27UiLB 3<`+~r`0uDsi?覴L#D}>p63蔙*ׂ{Lx.d'}g8C;Msfsqgl{olI1?cHP K"F2nxV\KTSτ]$:P4fB}l3&p$54ciz@$kc,!R¡'9M38,'VfԹQ !)f)6Qѳ[XpуCGd7uMEStr~U񛽸_rMxv}]~ yy'2f%d.\%UCgT~q ]<8+< m%]":vWESݳh qД BkƐ{+<ԉDnb)ťԘfu|5;O<,JGf'r ҋL1pQ }okH+i$M44Jڄ,616c;UO9GZXj%4:u![_>EUU|6gCD%coV0&p=$"5촵j%4[e' m8WN<ؽ^#A׌U z:VzAne.Wƫ!_U%}֎SF|8nVKW@V?N\eAd3n0LnhɊ1n*sD|:ًU /PV]ѯ\{A`6lCdqka—&M|gUaC>Қ/BeDF@jTX cnèrm& $¦]S4`C׬~NjsN+SYF%02&eB>̊f֨:nŕXVW)sXa@?oOmpORep!YKI]ES5v%mTf8O!]mvY3,*e۴5f4RIjm%, 倂mأsq0b/ER3B,UMNEa;{ݐCQC)laLj$&i@aǭj&> aƝe[_aVqoQUnߨe0Cq 3X#/oF}]+-qrhI4u@[cf'dD(*UWiE:Moa^q>|S91" -< @bh2rT-eJT@$'mQr7d] 9/t͐͑9 hՑgCٱQ4* vV_ŲknY%=  T=t %jij`ֻ];{yl'"޴{d?d9D\D]^: *o=F#`ΰ6̬"#ړQ9vX{l]ȊlS$Yɗ|݌kW IGLce"eX̮SA .c|@FeAEq!4rq"+6^0-|P|6:k1 +F7B,8R|a{uNҨòc,2ֱV xz_QZRt# Xp@emvӅ8/W'5䰛)q0d}f&d|;VlUD;X6O{ɴ0pKsͬ;bp05VD:B}D#ZoAj{A ZtۛOyREΠӖ9te>Α䁠V)`'$xT"AkU6v:\Gr*KT;VS$Z`!(1L 8$ yQ忡DF%onvx'/ EdP.vO)7=#s*#D(Hxl~;XEV>'VU}+z\ՈP#^4j@wk[{ uͩ[Zy;W~2Cdcmٵs+M_g-DH ^&D7C^_zhU9u>t ƒ0mh@Ob39M3+Hx˪f[vmORi)0 s#0fѣ+WǫqNEq+H?$Y9B)<(UWk35#Xd}lqMKLMA m~6!/ CTs;+o(`ꐕA{Wr&+ 0%TYh>(.?)M]uh QÙ? `MrDBR!é5%q7qx͍:zO{8UfGpDP]¥Yg xݶ YZ