glibc-devel-2.38-150600.14.17.2<>,tgN p9|kO\ NPH8*YFׯ j3 z5HAi}çĢ@ @̫@C} ¿=maB 8Q ѨӼk::TFq{~}=6*#R,3\n2q6 X8 -oV;&Kzf$I^vnz wP耊{VwE1ȴGgH x$ci_Y*T<*Vqf,̲sI,>Av?vd " X_ u        <    \     H x  (89@:B&F&G& H/  I70 X9<Y9HZ9t[9x\9| ]A ^WbYcZd[e[ f[#l[%u[8 vc\ we xm yvzv0v@vDvJvCglibc-devel2.38150600.14.17.2Include Files and Libraries Mandatory for DevelopmentThese libraries are needed to develop programs which use the standard C library.gN s390zp389SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.gnu.org/software/libc/libc.htmllinuxs390xh;c h8(  +]2 dq |  |i6 ^ (U *S  $}A8 ~" P gX G8{D pug\N 3 ~l[ m R7|+   5 #P _x 7[#R .1%   " &xH <O6"fn}}4| ~q4W&* FO1U_WI1ici! ir,$ *1I! 3 O ~,H  '%ks '3QxN ,-E~jJy`   @:Z`So--Ml5W%9*( T:  p8HS;   )"e0k0 Q:$-J v@2 j ! HN 7Vix V =X.. ?+g M T LS50a  dS0^5. 97J# = Q   Xp >w; -0q  x +$J h Fg큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤gN\gNɹgNɰgNgNɫgNɹgNgNɱgNgNgNgNgNgNgNgNɢgNgNɹgNgNɯgNɱgNɨgNɵgNɵgNɴgNɴgNɮgNɮgNgNɱgNɱgNɵgNɹgNɹgNɫgNɹgNɹgNɹgNɷgNɷgNɷgNɨgNɨgNɨgNɨgNɨgNɨgNɵgNɵgNɵgNɹgNgNɫgNɶgNɹgNɹgNɹgNɻgNɺgNɺgNɨgNɝgNɨgNgNgNɵgNɝgNɨgNɨgNɨgNɨgNɧgNɨgNɹgNɹgNɹgNɹgNɵgNɫgNɰgNɰgNɺgNgNɹgNɷgNɷgNɵgNɵgNɵgNɬgNɹgNɹgNɹgNɹgNɹgNɹgNɵgNɵgNɹgNɸgNɹgNɵgNɹgNɹgNɹgNɺgNɯgNɪgNɪgNɺgNɹgNɪgNɪgNɪgNɹgNɹgNɪgNɪgNɹgNɪgNɪgNɪgNɪgNɪgNɺgNɺgNɺgNɺgNɹgNɪgNɹgNɷgNɷgNɷgNɷgNɷgNɫgNɫgNɭgNɭgNɭgNɭgNɬgNɫgNɫgNɫgNɫgNɱgNɱgNɯgNɯgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɹgNɷgNɵgNɳgNɫgNɹgNɫgNɴgNgNɵgNɭgNɭgNɭgNɭgNɝgNɲgNɪgNɪgNɳgNɳgNɭgNɫgNɶgNɝgNɲgNgNɪgNɪgNɪgNɪgNɪgNɪgNɭgNɪgNɹgNɳgNɹgNɹgNɻgNɺgNɸgNɶgNɹgNɹgNɹgNɹgNɹgNɻgNɪgNɷgNɷgNɴgNɳgNɳgNɳgNɴgNɴgNɲgNɶgNɱgNɹgNɹgNɶgNɶgNɶgNgNgNɶgNɶgNɶgNɲgNɲgNɲgNɲgNɻgNɫgNɝgNɱgNɨgNɶgNɣgNɴgNɮgNgNɱgNɱgNɹgNɫgNɹgNgNɷgNɝgNɜgNɨgNɨgNɨgNɫgNɶgNɧgNɹgNɷgNɷgNɝgNɶgNɶgNgNɝgNgNɝgNɝgNgNɝgNɴgNgNɝgNɨgNgNɫgNɝgNgNɹgNɣgNɜgNgNɝgNɱgNɧgNɱgNɱgNɹgNɫgNɰgNɺgNɺgNɺgNɺgNɺgNɺgNɺgNɺgNɺgNɺgNɺgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNgNɣgNgNɱgNɹgNɷgNɬgNgNgNgNgNgNgNɯgNgNɵgNɶgNɶgNɹgNgNgNgNɶgNɹgNɹgNɹgNɹgNɹgNɯgNɪgNɹgNgNɪgNɶgNɹgNɝgNɫgNɭgNɬgNɫgNɱgNɱgNgNɹgNɹgNgNɹgNɹgNɹgNɹgNɫgNɹgNɹgNɷgNɹgNɹgNɻgNɻgNɹgNɹgNɺgNɹgNɹgNɹgNɹgNɺgNɹgNɹgNɹgNɹgNɹgNɷgNɹgNgNɻgNɹgNɹgNɹgNɫgNɹgNɹgNɸgNɹgNɹgNɺgNɷgNɺgNɪgNɹgNɹgNɺgNɺgNɹgNɷgNɷgNɷgNɹgNɹgNɹgNɹgNɹgNɷgNɳgNɳgNɹgNɶgNɴgNɷgNɷgNɶgNɫgNɹgNɺgNɶgNɹgNɶgNɷgNɸgNɹgNɶgNɹgNɹgNɹgNɹgNɶgNɷgNɷgNɨgNgNɯgNɳgNɹgNɲgNɫgNɸgNɶgNɷgNgNgNɜgNɶgNɲgNɻgNɶgNɝgNɝgNɝgNɝgNɝgNɝgNɝgNigNigNɜgNigN|gN~gN~gNigNɱgN|gNigNigNigN~gNigN~gNigN~gNɝgNdHdHgNdHdHgNSd42ec074af02172481efbe4c62676f707e18fc057d9264978f67444a1dd51ff5e17b09a2a22c09c1a9a0f06f6906e04dc893ae1577834cabef562ca781940c89f6f5fc652e89fc45ea8adfb7a6feef4413c41fdba74c47a386acebd3a2b440a065f7a5494cc006cfb436264ac5c145c18cc33fd41b318c16e18f4fe0cd4a184e8186758451adda176c1f39673c8ee7599ce1998029a74e526fbb517989d3c6fb663423113fe75e31a908ea17ced4cc9435ff8b0bafccc097c35535c8357d3be3d1b072e43f0e877437840b1b9c3f5897a8263281420f544441a5e80bd2cf50e7ecd25ab1bd5c3cce40dc4ebc6bac32b59730c34d55bd243be4900059ee687ed2e2b96194209f5c7c8daae16bc71f713bff36ba76759e676c711cd3cac664424eab401a92d470bb19097780dda0722c29acde2069995832dd09762d9789913e3421eaa3dc8ee2c3a17e6d5d05c809209bea9c13d99ab824efda2c208820e7258c0f9c0a6147e1cfb37345fc2693b03d29aa54cd88ad15157ce60a3da854cea867cc79c73a94f4fcbabc71cda74c0fe8e159f6b2a5d1319378511e9036fde9eee061609794cfb342b22948ac530c65f3ac6057184e8b7f567bb4f3355b457c1e3151994249cd9f84ce61fe97b57f59683f0c7823fae09c5f34f7c161199c9d8aebd1ef0f0652acf4d5a1f97128306368043be7672fb384911f0fce7ae5e94a4411377aa610c4c4ace6542c7acdd3dcc388ebdce259ecbd648c91b58d18830330f4c8aeaa680c01569a4f13fa45b1308ad87e8f5a49d7acdaf7c6ef5e29008aeec3b6e4cf7026255458521848f8ef20c1c3d19ad094197c7b762e2d907cd7974cf7bc31a51c88167887a66b862a26233a084d0a800b32973b05955b7ae98f6273143ebe0957aadcf2af20d9a171256ab4139037a7ee2f35ee66c1289091f06b2c922916e5d3ad5595bfd812b5719a21615c2a00c67f8ffef24d19ddee969a9d099757becf9ed4fdd19ee49f0013745f308e5a32cbfec5db5309251c2234bce7713a1ef3bd4fb4aeb7255ad46592caf72c67278d2ae9c9e717d52404cd6c9b027ba106e7889d9167ea16887ecba9e4b6fc528c65e6e8f0b533758589c14f3b8de997347403eb57c074fc8ca867ac9e4141ee826f9ae619339c677357c9a89855165bac97e0a2f2a6e0fc36b6b05e09144bc9330847a6fb6c8281295ba93b61466a9f15ec525072bdcdfa9d6eeb1a508160ffb1a847aac555664bf730518d0aab0d797561961828640ee397e14693aab4ffe63d9e4d1c9eedf2c8877f6ee890108f3332e02f42e71c76852852aa43d9b7ac17c3d62823678213df415c90adc2e6b3afe0ee2145a3f7bc6f30091321ac51888be96d225e694e69706cfb3373a47933ada87486b90653015142c0689728683cbee18b2b459f796bc9bffa2e096090f3289b598783bb5b99ece7e1211c10359fa97b259b2242ceea7fed04014c018a3ffa672c334160cdb0161790122ababd570deaa3b6780562fe1270f63c6e9cd46f013db97fc094d46ddda4352216e72987c5dfb9d4cf2155060baa8952db003beb5e7b386589c80b7fc74a28c477aa451d37d9f1b0056035b88c2fe272aeb81c1e365b7ac1535b8ccc387711277c43181d0c43a62eb191053bdbad926c46bf1b9977e93d59df931336d6447dc44391d1a65ee4c6c987c504889ec38cc495fa3b1f8e8767f459f985afc7cdf0711af94e5b6f4971e9c7178b660a1926e579a1e15a7c60a65f4a3fa5aa425253ce5fae17f29b2fa2f64cd485d1d9722b725a42918e2b0a12f7c1e8128b37ff2268605e00527bffe33866ecbc9c59efb45a18d6cc33a288a086b894eef9fd4af9c8855fdc8809ed0b7e87606b4e69506d88988f334f9858c3934cd6c78bc270d87cc120b70e92ce3f344f1f04b1c30434290f634b744e07d453f72d035dcb6f4750227419982e4d1775c1f1d68c07992d7e7706064d9324e534b34adac7d3198bcc7a1972eecc49cf53f239b88b5cf2f39722f1ba311cf65023736513aa899f0b764f7e7318e2bafebab58c3952db1583ca5b3f67fe92e2020147974d1c0a377e168c73a55b9446ac297e380f5d5c53df6d8ba537122e60caa106c4d58c6a3f16f07fcc9b3d6799c6bd189b31f9a5d687d9ed287573e5310444a161c2142871004f98208f6670e4b2eb97433b1b049942b90f6b41ff37a7861ac59ffd7a5e5bf3d320f02ff10fe287594031639f711359900c879f81b65e6acfa201e025b06330d827d4a5774ab4d9d3c34994296d70e72206536514cb1ed49efcf7b4b2f2c26f2946ed5c664029d38d56b7b78924920efaf164e27b7a3e1db94a460fe01d5ab49e0848f815d3f227acac15cbc11048d3b1c6cdda4ce93075b7ba2c1e0768e4bde98ae33b9f15a038e3212534b3d17b47e6d784201443c3925a2eef1ac6d7abb963057feeace7a182e48a9f8a3feffd839dad2b7d6cab0c120c6b2772c7c0592dedd286a03d35682f612e6d30b643a0a09eb2c55bff38e2541de1662e218d424f4a432337ea473fda35fbbd750789fab2c11996fdd7db9f06fe9eff2f4b85e03fb0902d3c441b4c616f6a39e50ebbe0d8cd9de50b88a926555bc1e33cdd050ef8709ff5022071021fbb8748e7186a27fc0b0def45a830278ea8cd9211b99ed4698417eec5845314631f90dea59d2734a4b5a4ee8fd5f27c1dfe689166214d3fedb971491336296070d52c029f1078712d9b007c8f7ea8e465e4671c2bc82c7e6c970f353a9ad845a8007d9df378d44577de996024a6f1f4ee2f211daa3c00d153c1946adb107a79d63cb4813b94b795850610f56ad3612f0f75cc9f39b193d5e4e1978f552909ed2a1384ce9e2aa44ee7a6a11cb0c0b94b35265dd49c1afcd1beddb9a283ee1da5ab4fe020a19113ed83957006d6e82defa91e12399d75010119dc80a8e4741aeb51468f1f42587e664a17b085af48a5d8caf6c65696f1d59368a030149aa7e476c196afba67644c7dacbc39db09e38cca685be13b42d85d9b642c1bd9b7ac14d8230181302b4e0ae92de60e8fa31ee93dc84ba253739b9e2a2ab3804d8b9883b924a6576a567c59b7799366dfdf860abc383416ad1fb94447abcd0be110c3b32c3b0a1b82cc6b0c22d3f06ad48936618f1d962c01660ca8d4bf8cd8e807b7dc76e714238a36aed584e7c6bde9ba902129b0dbdb348b8b77be1686c9cf45c3e299f8ce30050bcf708c136888f58c9bec1ef24495b101d487c1a2e284d7af443332a3d1d2e46daef12897631f5da5742d54749e0fd2d3b1e2e2a87d5a75f041761833730bd6f254a5e70379f361d0cb45423fba6254705e4ad51279fb7b1252386ed3349696dfb45845d30d0068371afd77021045a5e98c955977e30deac457143b3102b324b514dbf0ca09b5571db68ed31945a680a3772114ff85d546aed1386c261a07a585b64221b57378959b41724f58b3ed2b7a1357f93d6ce0d2fec0af1db7acd70c188bcba25995747881160c6bc36c5e73679df61de90682f7eebd2fc689589defd45114b0c3cfb735fa1056b35c91051a4a6ccb1f08b0a27f11a33e91ad7cb0df2e2d93fa0bd54290a74320649997852a143805975f9c4b0b97c83585c5db71c725da330843f99c44debd766ba95177bfd1baa2ed006be1a1aa1a2d125a8f833cf4a5481708b60c84479be4c53f60bb41e9644e6b6d3981999bf28f3163c6844ce81c424f67d49f0d707e9e64f451d2e003d95c6d489048365aaf3733ca653b4081f05ceb0d0e85fab17bad8736e347d82e398eb16601826f9ac3105d83f8e8dd4faa61b58dfbf236552dac3aff027e3013bfa6c6cade0069e423a19e95c5f7871128dbefbc77136396300f858d7894f105bc543d49f5ac71e5d496cf9b8d8d96ff03b7023ba242516807f0b738a542f0c830ac26ddb1480337279516b84756ac0ab753d9ba1c0d4b69a430725f5865c0b8c6a6c28bba4a26c74028e6fdf496a3e34c10dcf71f25e7390c93c69a3d65fe4aef44f387ed5681cc1615fd6d4f7ad7cd95ddbebaa402f863181e267ee4bf0ce454915e65a8d70b34b87cd2f1a8cb5bb80ea4e49d0adbf01665f186281ed881622233d43444c37843bc8b478eaad1ce0ebc0c683b429c016f8006cebd0ec4c8a45f1c79416b9470116bd17c51041222860761e273300df084d8b17f4daf087e9eb2c17aaec7b1891fa8643064e923c8c0112042652a4685b32bd2a7c5298403025b74a188959e6382c997bcd52279f1fd9a36140344238af192343d22eb88859ec186a074f4b134ad515da44158b4308eff5bb7d2cd929af495cdf3e1c001bf46f408833561f03b53d65b2988f8bc36b657aa508aa5efbab331a101f19f04761948fa3b54ee67142dba165ff4058532833901ae4ed2c85e7a8954a02c34e1c3d5c26177b0f85c6dd73d5102f6ef29e6c1dfbde682a3e849d37ba7d2af60811a59283770c819b0a62850bd5acf5c080381d3672fd87289710b6cd2771597f3fcfbd554a1ef9215c6b2d7215a9a64a1c3aeadf0af97611c77499767b9d5b4ccd7de05510e4eed98448b4ca5cc0ebd2e34644f460684eb09c42300f81c0331621b4a68d0a84f4f83c4027310b56b52dac75c154ac03321917f9bf1d7673db74b36118a24f5ceee12a84a7cd9130c0877b2e554c63110441daf3e915ab0048028d826e505db8bf9b19e81f6450a444307094a2c38cebab22a8adcc65b17c7640dd5a53d2bda67b4aa041d006df5e33bff75823f1619a8bd9412b1213c1da7d41ef7b17bd4ed7f29070f122805f8ad2e4a52a0662ffcc279eb7e24959f68df7424c5e23f8b5f62d5e8f9dd1fb0a98f3528fcf49182a4faf26a28db9dbae83fe28be11ff88046b27d052043a9a95c7663e3364929c28f622b5a38a2656a6344b0e41b9cbbb29a43ddd17eb2b112958b5016fd54300a4402af26d440f41cd8fa7bb726aee9dfb2e74160d4dfaac4db82092008fbd392dd9d1c5e21fa5a280af83acd8469426b1a7764aa83dd1d03ab15b8f5cf3a607c87c0733e562f40b04428d18387b270e5e9a8126dbc19b683c82cc79f0b48655b139fa17fc983accf56e019330b859cc4e28af30854df4d29be120ec4bff74849301bb3c40c9f19ca56c0c0450e4900fba1a74f07349c96dc0d47ab695f295c130bb47a46e7128cac5d88abb1db02cc8148ffbede80a88120c552d5f4b47257d529f2b2ad2528fc6c7b500d5e86a16f0ed38dca69cd16890d869029ddd9647330a4e31db231e1a9a8e25dc9cca3b112b642caf4967c7a43df4078fddc2687704a6c43c820ed5fafa8b6bac55167b45180a2aab9cad7efe7a23f43b902592e1c1c59e5c287fc557566d367c82858854f1d088a1c8528433d4ba93cbd9ef67fd594ad63a7595734237cd2ed6f315295eeb0311432c5f3ff7f032c9109434f223fcd54c32376cb5c98e9dfde9b0535f793f9674606855f4fdf967966ebb4da840cb1ffb251b3e8f3994c77f5f55395e9f2a0419c1066333a9e33511d5e9ad4939835d0f553486c01de189ced04079978c8bbf2bfb7dd77cf46fbf91981a23f854aceb61b366dbf489ffadd34e0256d518208dba605dc39b9d9c3496fe878c6889680395e06db234865eed3c10832bd416a42fe74f8dabd7fc7373bdb110bac8214ab352e93ea08600ed1ec9369088bdcebd51af949cf0bbac1314cb5772f51150f82ca2aef79e88d8f30c8fb02ca3261e80c86948e2de0d39ae145619e26c19086f0d0cc155b9fc94f97b40384b1ef9c9463c5b28fa802d3435529a0e0bc3274f8d8ebf68c1d6f47edbc514afddb4d0bae8bfae83f5f04c4893f1783add677e4c839c36952da4d96cc9e575a15a7e76f8b05a40ca8095b80677ad08e566c24dfa3bc54395806c8d26e66c0997ea98d168f833b5cc36bf0040a1d87afa3e9abdf3dbdfcf110172fc54e9565522eb9c191475639b3b047360df9e2485cda1a0df635f1c5c94df1b3d83da57e13cfcec331a8cfc511ea64ac3d3c5a4560c0f2729322a58fe3d8d6df255d878bd0cfffad7b134ceb90e8ac0f46360a97baa5e299b92725939a1eac7179917cc3bf5d28572555370ccc846efd58edcdb9878fdde054b831be69a964027535952f83dc48b51663a0fbffb29d4c778337661f1ba1f1c98ad35c32fdaec86676470bd801ad5729190c53e7c091d9ce980c9c01c765a2bc69175e5550373a76e7840869628a1947ab1732e3585c812a09daee374044a709e4cb2be7d741faae1f39decfe56b09f69040c7bf182d0edb4da70f0fee27d7a1d62ecc8b74db3e64dd19467eaa54ba45729290a31a6e47c3ca90a5a4d274d282ebaac70dceb9bf23e9d0c16a1b668e1f06bf386ac866ee66606ac3950245893328ac3646c6bbfaa8a2d93ee409c9a273b5fa07c780abf82d8669a028c714872b969e6a9dacef10484404664de0e69f45e5210e78e6c243d70f4330a070eebb55836935af8daad386f9910c0472f39f2aae3d8d67c6ad53b511d6f0515e2fcb887af764ca1b216ee509e84573057754c9a38ffde6cdf00c6eac4ea87530fda70ca4f9c56d2375becb22853ad82e7cbb8408e81080dfa79b0fd1d20a3131aae65bbcdd7a6ce817e772f43a695a18efa3a30766b48ad88eacec611e21712d17d6866a2e31318fd1e384e6cb8bf0424b02c136417ae6c7e4a36211b34ee2b2b9ed988785953b577fcfb4b7a09415141173b23436525ea2fdafc71d36c7dc56ca0773f8fcab82c4f10cf2af3efa177aaaa8d036e0b1d82cee69369d53cd61c865a3482bfc22ebc353110dc4054dd369d6ef1862453799f78f5acd46ae92b62562a3968d1e965a15944a024d2a2fe0a26c10100332172e87879730d64b33e83fb8f0d99bed61561600191dec20ae7da6ad3de9a5e76c961d592e4d47b077f94846bcc13af5af10e6e19cda9402acc3d9d32ee62ec07f5d2289015be02fd2e2c89afda513efaecc4434e960a7f96109a51439874bda681f7104141724719c2fef6f5fde30d58f4524f9f4505c82c04c140dee632c5f3d8dde84fe49cfad48a3308449fd866a579c336c4a8b6b0dbd9e67815913cb5be0f3a1248ea3381e4ed4b9e9e3733a9f405eeb8bb475c7affb95d0abcf5e0355b6199d26fb9a2e27eeda223f3214356f8e7ce46c69abf323223ff7d3357ac42a426558a50d82af8a6005fc01f7ec260693808c7fdd6effeb2dec2a6554a04e7984579d7e5e805bdd4a7d07239e18776f310b3a25f86d5327b8883a3cf5bf39752ca73c98b18d6b57c60f3f4f12a67a124b185b6735e29ad957b2520956eccf65aa60034b4928a2b94d9fb31d9625789898d76f9c12b0d5245ad1e8f2278c96331dea43e7fa777a0a079ee53e8f058c40edbc43b1f9b4bde6054fed3fffd712a819e6686d0b6974197a60e34ed00127396d45a3c9cf74183ae3cd6385836f19055c16c02ae049e36ee258b9c2f27f912de8e8b4bd473f2b681b364cef4cf3aad9dde13b6036b742d3f42633aff770b78bba3612e493aef6152496de7bf064418a75765369a689ce2ce994455aca1dd2f61338d8a87024c82a01fbd0a6d7f89f6634a62c8ae711e32fd07086c23c03bbc36b875070cde526541aac7abf1c36c7fa42937d3144853999ef452859e1189c26392b0467a71783949ec7f27b483fafe573b6854c1fb26e6fddb28685cb5bcae8aea1af435c058a0afd03fbfe90fb8cd2b214f813f462b9845aefd162a7327905a60a3f53d8f3c704f31a49a4265d5c02ff084824690237d8494bfa67afa1b4fb2fdd7e5d0a9a08b00feed07300c21b36bbdc6882d3a22d2b6fa5f89640a6fb2f026ddaee8ce3d29f37515f78be386f2edad4746f2947c928f480728c56d9a94e25302ebbdaef3c9626c909942e8a6bc82725e9c402f393aed9e32d94190257ddf71e1b5f819b4e5e8afae3abf006beb39fd9d4d4bae38745cdf08a91e6217ddf25833c8d4b04751b603e58ab31ed75b7e0ab09a2ca94e99955f7fbc63310466321ce27c906227eb4a7fad5bd6b5eee70e2ca4d754c7304c93a717175cf65914f96f20e2a3193f02dc561df72d5b987ccbd022059fdb1bcb6899c3e94b403997a0576ef3e1afb0f9405291a7d38bb1d0da1ed01c09fe85fa2b1f4d5bc708e06bb930efec672db08d59bac1378c01bc0f8fecb959da961a63a3fb745f99ac961063cc22fdcd93a39e581e60e8a8d99b28bc723c14b156d7f7fc8ff663d98a857a3f5aea90431f577e3dcd64d184855b245e5c7acf21910a0aaca590f1faf094e400da5d30551d11eb0d5246deb223056caec20396f7b0f080ae005faf34b097ed3d378e1245c5a15ff9acc82e55441c3ecb63932d950110ee7d7e2266605dc631af20b922fd5969283749f4d26f0d851e1fa4056d28c57e9fa8c664a99ee852857e530f1c4e60148cf7854ec869f46b624083bbb2e2073c23b3d06aae68635b5f5b2a031be94b540fdc0608830973c4e1a71219e477b470b7ed77b211dc870410776ec13a1b7bb759ae991567a7a1ae6b19400bafe3b61f3e8b15172cbdade040e48eaf1bf5b1f38158c44b91c2eb6e509905e1becec6b98f8ac006709bfa5d85d86e34a46eb9013cc7125083b8096dd146e6498a61f38bf3bc7215c1c9237e92469550bb355545bab88b1392b88af3a08d908866f4e9c5650c5cddb0c8e021b0a3f8293cef6616feb3db5ded9d98a694e8c7196a06690b2e816ec6bb82689940d281f6504533f37e17d94a894bed0b9490967e8dbcd53725c0f2af9559e58d4b19bd14d3707974ee3ed7f3795a634353c0f50e111c7a088d9b4c9c2991d6307fdfb2077f04275c9a9e3e68af2e6bf5d9fcf9420067899f1f67dc3bf2eaa25c60daf0bba3645029d94b14708eb33548578bf5f4fec98694991facbef63e40e4ed5a8162c59929d747272b9b783d71b4ade02d26999f8fd87033f74af5ebc44a55badeaa8f9e410a1d3d6299fbc46fc57e7d14635cd5cf69125710ed021ab7305586c84644a03a39f8e90edb1d034af0081c7cb3dc71ca187982c7c44f6210558ae36a7a9bd2941cc8e6413e2b46b23bd2d97a70ba01959f0fb5ec14f691a8fbb7b3f0b9c485f71cbde6ef3d0ba2d03fccdf8019f2e3e189d4e36af66f4e1777ba19c6387a30e66ded163619500aa6095b881f62d7a255bd31eeeab9a829cf34ec40e20a62729323efcbe238eb45215062a3a01832f54ad0950d22176d99c61d820af2f35f88d578162c5e5e48dbc6f67ec73a6db0fab4a4173c26a95b41521c4ea6c5e577fd7f69c66aaffcca23ebf820ff12a116af325df1f8a70f44b397709f265dce57a63033c6929c3292e1c01fd4bd43e6d76e6e1c30d19d86e7154b3fdaaf04db8e1abed673104735615f88ba07ac30de7c749b9120979768130d93a6e65b0c4dda2e262780cecc5abb0ddff89a457cd6abd753ad996fe58fb2b2f43afeeb2f472acafda80ed612abc22a4701ce1e3ea1f1bb4282bde846480e01e447720bc2d59d273e083e8dbf9b67d4e8ad3e16ae3c2bbc94fea2dab36ef28f75bf1eda75c0278e57f8ddea9ccb267231572665f27f38c2c3d5298e54cd9d545ac1be140c3adfeb7304d60ed86322e39aa1d01642800ba5ba65ba60fa029340f2bed3b5241bc55538cb2f3f8f0b4e2e8b3c09947070f3f8c83f481914c9618132a5afd17dff3efa76e64693c2babd4efd77812403b34a534dbc90bf1092e89ed46d16a1389bff1fe21a1998e7e964087b9c7638be2b5fb0fa01ceab43e4af8393b805b54ac2bd8642a1b98d2fbcbcb4cc072a11380c826e3c8d58ca08df21e8a2436a3fd9a64ad8b4acd0ce7bdda3f42eb0633850ed150fef0a0cf6193cbba8fa740e7505925424a595566721a557cff3ed308c69719a44ba8f7cd9536f6c602fb8f1b1eea8ed6749ee37dd96a2452da0d933941273d11d1048ea525f033306892835b0a7a0999b13853aa7321a39e4baa04e5d730bfe4e52d00ce82f2ae62dbd8292a4a6a3073b6ae3593d2bec21cdc3519ebdda8d6ad3bc50a171ad2f064b2ae078d9d51a504d729f07d1aeac1a6fb8ed6fef261a95442173abd723134bcadc3fc9ac2e4dc100b3f1eac0ff962ca7ec41d89bca3dfa5bfd71eece8cacf0a40e475471bc47510bbd1f2f43317544441be7ca4158faa2d391acfed013e46ef4a188223496c0c1539f4ed85e330381e1ddc84b052297f57263e9f8691ef29406bbf4e20f9e3fb7b46da67498f9674bc1ae8c023a8c0fc96d5bb93c7112862e5387d6898e970961beab2390cbe97dfd28e93597f692c68c163f6333cad95bb2b3ae55d26dbf43350d0605bce4f1cd265148f6f40044806d1a82d3c66b1723d1c23501903ff1b7fc38f033f46f3dce73750099ca5d67799c1629dcb6300ce93651820fa0a5215f0ebb1d52a6d20588626911b4ebf697936b02855ae87fcb6f0d9cb1dedad064a75a61d46083caeded9543bf9b5c5bece7fe4195f8b98b5ac790c4d988ce69be32b36b29ba6793ef6bc5504527bea504cbc1859d442a73f4a8916a71f1d563be22f2a423b2a16ec52c5313f28e138c960f13fded59d8471e8f01583b2b6faa0457b3659c527e3999266713f0593c4a0ca65c4697cb096aaacedac6675a2ff151c57f7251e701f690a912ef57739aa24551459044c6241290db9401e130868fa978101a9fdfb93fdccbe5ac8e47ca30dc2b896aecdc476f2df441847d074c21649613c99379d5758dd54830caa52dbb7ec011a116684e1cba338672b37349c1994b19c836e35614dc765e676e89fd2817124d0442837051a7b424e36bc9cd4ae8bc7427327dd0f095a43353f669c9e1f146d761ebaa1524bff7896a63b7de1037c2a312a853462abb551afe38e2f4dbfda104c1e83557abd7286969a41a473cf464efe6c9aa75f28aa018ec9a674238e2e45a02721db21015ba4b2e75b8d8593be1f7ec2ea0d18ba613478f6d3b2aa6c8d0efb3d7bf491b2728187c1ac1e3769d74c207a6b05aeb3a235156c788338fe6a62b1666628ccb343d6073e564fc1c478cb910917bee819c5f36a483f1527425e091bd2422ee25938570aa7a0e41017db7d9f688590acc23aa4fc8d5c83f217900dde5fb32ced13126ce7c5a6c6e0b815db6d175629e6136aa68e1c5e0cb16d5064d12cd1a8a397615b5812da7f23bcd15658f4d9e16769511a8fa2d12e0bd5c838d8ca8f88d031705e924e10a50d8e4e96cfec0829a6f590568685ac41f5cedae5790dcc9c336646c35668e7468899f364b678dc2178a89b9d54895f35c397fe0aebf02549fff0efb4c02346422a691dc0a54fd0beecc1507bba34ebf4b12f2b44f6aa93f3c3c36e7f5708600a46dd271ec54ae4d12a648ae6b0b8748781dc689c3180698ae5b022bb429b21cbb31351fd299187299ec0933063e6d673fb5799c8ceec19e91a1dac892cf93f58ae26dbd69a585fa4f021689b249de5e4d393f2ebe8ddac6b7cb6d41e5eef9f3e8eec1da433cff35840cf31febb7b70ceec3ae98f32c6b5e014c769cdb8db43ee7a848c646a74b3c64b01f25d86996754c44751dd40c8fff36df0d4738889e2d23bef7a42cf146d5c64c7a5420dabb15980857cd352639269f8682f5d200833d9295b0e9ca20ee270cad9f061eb448130e5f3c39b430705eb46473689485e2fa4861ea995d265b495d884240616e7959ea1d9aded9b53083ede31cc43358f0e2f378be90c9d75f653a95c9dc55c0d40e243b976d96bd5ca437d6300424993fd71d9fb5643778f049f25f5b078f5b3178ec9af2402cdae7ca383d91f6b2e5417e977d979a5afcaf8a3cadc390543bf2d14d67b7fab4fe55a9edc66bf9d38fd6edd414b5bd9d62d19838b6bc1925e5364e5cbedcd3cc23acb55de9409ae4f6f100015acf312f9c21c764c656dc6ab73b5d5261f745918a9dbe258d0b1262f911af522ea7c0df2d382390aaf126a2e3fc47b3ced9133f4b320df765d65aad75bcccf7db458195b8182c28bf696d35032b576ebece7c0ecb12d50f5a53d9bb182d9f3b1c89ff1d1a1391f0e285b68f203c66e464964e184615c88d04363beff79f1a8fe5066ba5cd2b0bd397c303cdd283480a6317dd59d13817879eeac80a9c37648a8c51d5a4e67e7b760ae1f3f4648dd2cc7b506579ef42e9437be4fa2a91a0c244ce6a04524b1b6738499e18c5363adc4fd37c22550e87f960f701ddb3163a64b7148dc1ac9269068f14514082952957ec7fa2f0eb8910f8eb7f846506ee256776ba4729dd7ca52205866bab84c8d79f0b3ceb45c8fdf1878cf49e0abcdc48cbe039380dec155c483de10b4652da3694f52096d4d83af610043888b4ce5546922014379ed43f8a807fca7dea94d60f5c6a880882cdea233c33cf6b8d394e216423d55510c6d58a89d4edacdd49001fc70012226a8ea4b2bbc8856ebe4229476ff0b80180f59f740800f1c2b191fa8b9d768a499e4b1ac892a74e6030807a931b23f882ba9840ce67a6841a2768e88347e3761e160b03686c068ff8c22cd51d15121b87ebcdd76eb79a6daeee49366bfa6d62a9b11520b75a9f944d1ab2ba9c3433c64209755deed6732d165b2249819722d83e253ad6fcc699146bfbf9d854576d9d454f55be61feee3557f12966d29940a804c69392accc70add70ae69778382f56c70fc0fe1fa93fc32414599b4ba77aa505899369e60bffc549fd09cee10b0dbcb5d576e4e2d70494b4f9feccbd2ef74bfe886d13e52f14e202635f5c152061df9ba5e9d6e07494568f8da729d5b5fd5963f8ab304630a503edd3ebf467523f4bdb473b2241bdc8b5cac1b4a0bb9f8c36d39c48533da8f11afcf4cf47bb3d8d207ce38f0db5b710596ca7cdd79f24c7b919580897bac51e2870163fdd7f69b039548312174d4efb35d274af876b5492f92d17d1941381bdd984de2c32d3c8e851c9be9f34f240615e1814d89e87b8c3f02518ebd768bde92e86134ccaf126c082542c1f5a690da453532ec00a0f2eba54fa5eff5619d32da8de80c714af672a65d300b562e952b10765aecec45fd09d3b414e9a99bd26c020a35de3d2dd9bf00628f15760fc4967e0ed8240565878f9a8124695665dfbe7ea4e1f04827b367d925a808ab694c876925078f87b792734b5a963993008ce39280fa4bae08cdf88e87f64a1007e3f5a392ac007b825b150a431f629ac4dc946ca3318b421d8471683dffe111eecdf0ebfc35fd607f39893319aee998491c9f1203497a3a3acc3c8c1253a8c720a24a92a390003b0663a88b15304d835ff8fb0e3cfbc945777432c86b33b2a1ddbf376cf2ce241f11d01bdbebbd8b62364c90298bf1eff71eba91511e98979a486689e928ae62f002aa0f27edb04be4e0e6f3aeb4d4ec62045047bac2f5e0dcf0fef37864d74a02a42ac99453cc878b91a661a243c2650df82193d1263a2814f631740bc4231d99b1653ae1444f146cb81d0b8db6211da2deb550fc064418936930da0193c2faf1f76eeaf3713d88419888d614df732e88cbe090b44f5ba0834bd89d554dea0b6be33f4e0ad50f2ed1d914089ee50907acd8d1f9609797ecc6315d41ed594173509961d017b9bee2e03a73ba395754440e9c99e1c01cb149732601dca147765f960cad3e90dc2977928c8f43c5a0d3b15825f531317a8aabfb33373201a4f560fdae7dfd698cf45946ec7ced8bba365bfc78cf12efd125ec40aaf8d914b6eac7f122773fb9f24372bb512af8944c05cfd3d2a5cc0192c280f9358e116fae16108d70d98aab1869f68a9477170498df868488d75e8aac06ab2e55a96a0489e95b59ead44c695dd2c0d7ef514c0c4d4d2ae2bac525ccffcf86e119151cf7c9fcd3add0362f02ef2d971bf2204816db8122ed30ea01295daeacd7a73ccd805dc361a8815b682925fd6b176d7ef55faf4363b8bf41b4dab0e28f0d281e50ea48b3b74cfec653ce0ef96480df5f58ef27cc81ef0b82240f7ae6d9d1fddffcd49124198fbae9a8dc045f0c6eb88c47c44736c75f7ab033c4451dd30324f29f97552064e4dbe6e5fe3a9d6761013c0970fed4330b4159ed8783ddd9efec59bdd75f375d7ac09bc186c27439a8feb075a7e3594ed1e17fc63e449711169a65eeeaeae7be5c7922145b83393eb7e70f1f3fa98f5d22534b58924bd22ccfe6d099561c65dcc89978bf9b5bbbc38314c33fd73167a278e055c729bb80b23e5b1c5c143d3db88bd9259254210e6b6b936eb2ff4a64d7c1c15adba59d54d487acddece5488150651fc063ec800379aaa49f5efb66ee680b1b5de655a0626da8d1800a8b51b93b9b452bc6491c47673bea11ebdbe2f1de7df4929913e1cbc2b3855d258a5c4a3efd4f1cf2083076fa56c51f1c47babf43a74ffa45d930d2e7885d47ba2af98722da1de9e79874975ae6463a32c9b7751fae40c5895f5544687336a8768855da176fc1596071c350cb7e936e0831c10d20c031cb5f504469655f4e310533ef6041d3db696fa40b60e6374d2524d6549ce222e395f7cfc225301989981fbad2498ac4cdaa243d73714cbfa51bf904673a1006de222ef4f993181ea0dbf17e183187373023677d1b3fcf4a3cfecde48d11c932de85d8877680cb0b15d7b32c1314196f0ffa94880ffd4cb7d3c857370a491f427e692fbac3df6c322c0504e69b64dec7d89389105b551034cbf067291f440702cff2230f07a3599c4673069c1e51028874e4c29441bb5a7c7ec2439f8545711e608198fb38dece5b69a21999d396bee9015086ebbc2013f044ba8e1f84cbff2d6dc6d2cfbae87d861085536689dad03fd4dfad36edb2251a0dd5b40d0049cfc3b89d29d54763298c402353f8c72026d823fc0aa511813f3beff3df69f431ebcbc1de2df3f23a5186fc9fbff982b5f2eb4a215c8ec1eb1bdd799b6daa742006ef73e7543021b7ae6d72cda2473aa1ef22eab413648a651535ab40dd193c804bb16123cd09d04d33e99231e7a804bd7e134e86aabf9499d9ef2f5b13546a7d0e113e141e8f935076d87ba185fd5ce26e1e75f42ecc690bd059ed21d1fa8104cb4a17766e6b76308310a9fb31a9da2af1c6c6c08265f8483a2fa338a613e211e2be86ab87bfd02d0ee04051b09c22880cca356f39a87556b95535465e3de6412c1b48f9ad73f4382e6204f0eb8d5a80353f3d96e85b91fa65f977540f7ae68ac2eebd8ade1405fcec187918511bd820ecf039d562d6c29325bf0c4839e2ce6d9f9ad8773bd243e656b5c8c48a389cf7b7832e25bbb000c7edd18a55fc221b83c6ffd064fdde27e8be1a4505f947702eac072e9982e984bd0a226d73031be0045f0726e06233fa3b785b43ff6d602178c0249d09524c91bc59395e716758db71cf82323968df81ce486b77be0be2913d844a2637f14100b947ed034442d04b4c538a02ffefbd6352002e3d980b56a607b9416adbb78c56d2c618ecc0b5140cc6a090bf8c0767ca6573642875394751f4afc1b9c92424a95d63d1988fdde928007f444b0d586addf6ee0df5e5c3f414118d4e2e0ac13f6f99f0d8d6c57e5068983c11c4d87030d3f4237bbc3e37028a15dad32f40ea16af8fd2902a64c754ad8eded2188e47da90c1a4e1245c7052b0473919bb466a7376b3ebd778c0b9c10f7e1855804630809bcfa7640eb7f864bbc3e849b8cb3b5405885d679fa3086cbc16da888d86af54aaf053680c4f0bfe2e398925bfb011ad9a6a7e6afbb326224e212d97732f1ab5e5bfa6034959cbc44a9e0df0f817002ebc31dfd5aed67a2db6a5517363f3677742b8c0e88fe2ece2d854cfc345e3176c563d628dfc58b9d04058bddeab74420d9830ca7113a483f37f6f87c4a86e067e4576d1b24726734d75b56e76a229da6672db36980291c10e205f143abffdda89d9cbacc6b03ee40c387e24e9de7eb545c6ce01e07ebc8ac9f6c9208a17d8b3f816650b20ce61ba03dc631ee8068baee539cde3ba776b0835fb060b8fe4cde73f4dd1202d144c46b3ed92353f8e6a46782bcaf706d2eba8066b56fc3e046a7234539d89061cef489504d4868be941961ecdc1e39ae5ebd879604ea3d4b4e7bc82b5d30f5bd73964817b7b658cc6f57ba3aea2434ffab3598f80b5eff4a802f166e59c4f84df2c018f6dc341a04c4f5c46b8f578c7c34d497a3f4c1aa76470b5a7a97424c8d67b64fbb2891b6c1ba972ab544b1d9235b47a3ed6bcc58441a423bbb3a52171fcd3b84d8b36e332a55221a1c3e6e899bc43ccb31beef6ad0eca031ebd11a7b7ae35192971d6a883b0ec00e4e7ab847c4f4fcbd5251da4df3c1b8dccd9b477553271327286d9057b353a764737aa17f219e9e409ca2e97f079863ccf9f1f0f6c16182644a98d9c7be38d46b8f1560177ec62e6886142b01080e258aa27ea41be45ec76947605415816ee15ae066097f7974f59835baf07bfcd5e72bc794208b595ddc0015ad3c534ca4f2f0c75064f7a83a0e53c6d07fa75a0fcefe3b820e602645232cfca1a7ce9e1e76e718bae3b39b998919f8272cc1804e3050d905371fb12dc1568631c0ddb82c0d31a09e6290f59ecf15c047c7fae3cd5e694e7f3be420fe60a837717a171c4c27f11a698b77c04ea95b1175f3c41f9db1d6df859fcc13aeb2569a47198c52f219d889ab2679b693d7acc95cf99c61c87311027fffa3886fe193b19e148317b3fd39240710abd893bdbd2148830647eff8d9983cff246bd9e10e5d9cb254f6ca4dbc1102a9397e7849024212b2de061ffb421859094a86ec89925173f26d9c1f66c21f98e2b5a81cb59805f456f403a4eb72ff7b5b34ccd46931363d9c268d345781b32045936ec43bd986e7de80b970121f1c7092f504ec8b3595924a9b9d6880801950caa7170b6d678958dbbff30575e07ff7c304b23c3c7bd9b885c8904f51de87cc0d881595cca0f5cd884de88328be5be2b80b3219eba2d197b0ac8465ee3d932c0816d0c751b9b642b8fa9ff6daf81d8a0cb22f764feed134b74dc8b84ea036ff4c220815d9832fa8f42a9c8224cd71208861c99552f1a792503fb01ea2010190c4993179772c0d17c607b408cbcca84b03abf031248f53db057bf472193f1539c2456fd18d29762668641007b7a6e7a902a9479b189c77fa035e1858e642ecde50140388b74b2dd74326fc5b3deb1f383b66bcb3437885a5bfa91953f78d1f1426e82d246379eb40d6c419d0c8c96dc5f384d5d501674347d8a55cda5a3fc2075a922609f9fc398d9cc2487f474bb8336a71d1a95615f30e48106a9e3111e730a025e1a4901756c580409cdc111998feb18a41ee4709a2a03e130286a48df41bd2ec599f9b40d7d204830adf1e6f0882e43aba7b9e3128ad4c6d152e9a1b381a1e4948ed6028060fa6b5852e50979bee512670e466e0ff70a0032d1a9ae74e48e8a690a9a42aadfc8b0a2bbd096a22991d3c3ce771c08e42685774372321f42900ce4b911cf81a526c56b58f348fa50ad6578eed57086cf04a86dab6de6d52012ab8573a83bda715cd9d33a16b87e6362444ece94a0556419892ac68ae0aa860c806f91fe76e9d11fbf69520d687f85dce60e32f58bb69d127e0162d156cb28b92bc9d1f950f946ce7bb1f0b82ab4e7c0bea575ae3f5ec42c3704482d22a773698204b4a04fe879c52232a7aba59ac5517d6778de2a3adf038dd05a9f1d6139b609a714fd3c2dada4b495519c9b9544253cd89efb222eba4eccf1addafab38f580ca358093c5818732347d4e2144ea4c6351de7c138c732c575f7b7d6052e5208580b1a658592734bdf94488a2ac573cc8c9d09641c5f664d8dc565f2f753bf138b0828dd446fc0fecd0e6cdbad061c114ef5bfbcd642ce5502dbcfb81c2486ec823bffe67559a32afb23ed9ba436e13aad253b029d19ea33d90e193c6971bcdfbfe2b1d8d862b33987af9fb1565cbd2e31b8ae3c1b25b5219d0d840b8e5bce90a403b3dd5e78768b7466343b3e7e919008cef1c570e97ce2326ee58f53377f56fc8f51ceb1ad8b284031772b1ba2035d9b05b24f2cb9b23e7bd324bcccb5e3fcc57d34aafa48d482e1e4e938d0f840ff5b62c1bdcecff22b7d4e27abc07a73e2e4f194e104b8607fa9542fa50795ca4b57a04eac283e159c16e33aad21462cf46da48e01186a17f8692efc5c2db653d6722169ce721cf6c4efd2205a977e44d618fdcc481921a1cc1d2655343ac51c8756fadee36522229ce9032bcf6f7f623d8824875d48ab5001fa14055e9eb6a91afb071b24e89e402aabddbb99cc7f4de910de2c9b44374978b966b761ec3342f465212726067c0c9eb712380cfe921be1fa0b58d2570b2c8e9886b9c4f33ea63ff75c9a70fa156af3b882a424249e6339bb391a8422ad454abe809dc4e00a4f1c871dad26ba424fd0ef42c160c021582e799648250bb56ea827c2a320366af7640f6df7f2287e2a271a7b833e886d965cfd157c8c931d17dad239393c9f4bfa49996eecc37fe581ef2ae3403794da2cf7482a6eb6432d31dc64ab5a19df2d250c68d97a3b60c78385ae9ee25f2000cb8cf051ad372eac714572ebe4b5683fb1baf1959ec0da542b101168e0486873b23587f7dcc766bed226c1068c8bae95b60682e2ae93cf1bdf9939238379efec5d41ffa8e50c186b5d1e2dfd4265bb58550942b98fc670cdd24cd1c92117fb4d99b7b55ce12128a6d662846f457f7ff0c9efa4da20fa965563326fc64a157ae83c5f85623d5a6a63e52f4a87168f60c2860afe01fa7cc3f235bd6f3c9be2e997597672332fb0e56eee4f61233fe39dca2313e0eb305c4580d8cbdea9d32f362165c10644253a5fc2fc26d492ea244348b4a145cea555c20c16e342cf19d31c3016169cdba9e8f11a359a078536b7e1109ddbe47a64fc750d879767acc18b8b7699fee9398e44938210e18af8a7e8c90f4f75c8da4671a132f21a85c646478e2a8173401bb973fa29633a8f9b86383f7782af5076d58bf08b4db580e7fd433827c47de6c435b75b275f4b7bc7a7a2a6f443c7179d07e530c1194a396d2bb01131a87e96b1ded3dc4ba29226d8ae591202c7db5bfa5967f32bf6a1e8ad96f87fddc8f5fa2635b779b6ef0f4a682a06d406b7e1f3338fac2f8a5cf972a1f7844981825046ed71bc2242b504b9961485d933e946a1dcc62dc2048df2f99891814691a5605c109696c6616811d90db1fcbdd62469bf3e8a2608709e58f006c5fb9bce6c7ab90cdb2bb4f09241172131ae8ae72e5a079bee4da43eefc6223e17866ac65e44758ff19a17db9a255d7277e3ec0c116bf5b4983486cf625aaff6ee01e345ed31d1905a7583fd2b987ea7257fd3535b838a8c11c199e54eabef9a801653f75f2111cdc6b17f766bf17c3a03712a4d123e5d4dde1fdb1b8a880c484372c1d03a8897fba654f9b467b7ccb5ac6ba994ee740fd42f237b907fe64b0ec9007b7debad92260b3ac99723dbc1caef6d19508707ffb8aef4498beba70340c87440dfafcf4f3c9dd6589fbb013c3dccfd6791743910f902dd5e4889f7c646ccb297d7ccd30c6ca5d2a1acc8a81a4d6e3770c4d3becc284e44065949fb875a10de5812b07d4354ab645ece77bd345fa4159680bd16fa5b0c35a2165baefc772cf9a61fb733f3ce1ed056ec3e59a16dbd8b9a53b2198d1ca7181c2420c9d8f5329c29cb10a79f74806323f4b5239a9340ef9440234ebf0a16ae276a58cabb6923df05f7fc49b66cd70ace2056c52463c133e8bf54ad1d0318d41c7c2a2f9326e49c1b4ffcde220ba2ccc548dd85d10acad216bcd601f83e03f7fc3f31222f593841f6b36e8051981e3ce49d36e49a8e51dbc4e1d40c655454984a3fd6d401c482dfdcc74a93b0853918ac389d646bfde95e76024c60670292e5a8d78cff30afdccc7057637c7202db28117b59da9715f2ef97be98dc151d0c990b5b29885d72b21fce3b0e8182ac06f17c6a5eea3fd3c6dfd43a9e115c7fba205b244eeb0c40f9d78a080685a4d716063dead9352c77375265d324a02b0389aab3b11b363287103d5e736c43d1e8b8199181b7bd8aa55ec85e943bb746706a569f5a455594c4e493bbbe8cf32149545de9e4724a3537daa14684344cf8fb771f841643701325a9517c4058c073b17e4281f285ccba76d1c50e6abefd04b99c7f90a63299ebd1f52a18726c63ac1e7662d98e5a4ce253eae6cc2973001b974f583c84459908a1b1a0cb905958a766ce7cb8079387efa5596a0d0cf94978f4cca01f5c914d9e9997c3e9edca8ff1f0392f2ecf4f1b165216cf7a0e43c7fcc34f0999eaa3ba711c7404facffee89af6b33abe17f284443e911eba8d034c3ab2925183ed87e503b6435874f62b4727d0561306523f53c7ef1ae05ecb452a90a72ba288400ef6a23d56df7c7107c7825f4094bb6ccadbdef70acd9eab2013883b4909452546d4b198a536e2de2e2b2fe16338104010caa42928749584ef23707493c3c7460b73a9e8707530bcf688fa6ef4bfa8e7abdfe537275a43106230b59f82686c355977912d4927faa2f8f3c8579d760504d75c9e3af962fff80d52a49ddb8e3758ac9dd9cfb2ffa87f2720fbc9f2791c57f4f38753d20a6d9c2350c1b780e2f4f70a04b287213e5239e9f5798313f8eafaab62b05af021499edf4d4268c2ed19d274ccece6f539d0d7ec47b71e11b2d0af59675d0daf828aec70468e2f77a05611ea60042078df8499c36a604c9ba65ee0d7f81aa10549b2b43d5eae59870203975dc38abf7fd7585925d3f6a677dc9b5b388733ac53f2e51b630b8f086dd449f38b5be09f820d9f99ea1045e35e7fec7a17c9b07b7f0ecfca7fc7b88098cbf4a4f9b62b126eb05129359b7dcc788f4df41ee568e7d421cb609360321486e63465309793bda0942996c15cdc8ba7e46cc9c953eb0aab25d400ef690ac094d02854eeeb9b5935a2a9141c041949133db5bca280f0c5ab87a8aaf6ea833ecbd5c24cfcf60bba7988904722e34b81f21d1816fd37268451defb79785b75de23771d26c7dffea2c2f2e712b207190fba3da218121adb6ebb724b1d752fe193267ac48f56d36e2dc2dd2d4644a9fc9ff2db9056e4d720da5eda5c62e1eedee48309664e008df0221d188309e0afd2d00e3e9e5f33815ce76bf7d1510c9069c7bf1abca281d48861a1c0727bb4eb8d09d1c997b7207c9b063861071137878bdbd192cd03139e3ad277b53677b4212d514fc227fccbe549fa5ac579fd4cfdfc2454e51a9813a9db6ecb728447dd41d2247a27ff044c593bb85aac81f213f13f40c8d692d3618e7196e929f81b2a399268f346140af1f71db8976dbab3090121a757ec9387531d182d64265993c14b4f3e0f350a6c74ee2329cfd9e2fd95e8d1c0616da76cb17f84078c4c4ed4ba32d501fdce0f53fde34cbbc612728883b402c2f3964dd3d1e1ef6258d8f65cb14a831c5b5fa9ffb57ecb55571a3e78fff25130c2f773097cff568e26159a4efcf59783becac464f0a17a43c74d2fe5474fa2fd29c8f14799e777d7d75a2cc4d11c20a6e7b161c5afb8f9896065da38c538fa19d0c70e6b3b97c3057c6c0a365d7e4b0c365bf96a84e2bfb73558884ef7f7984131353aa69672e8010646db0510454941b2c3b70665effa816e1e19b9af01fac0ab28402bab2043146667f298204c95fe86972491f0a17a43c74d2fe5474fa2fd29c8f14799e777d7d75a2cc4d11c20a6e7b161c5f0a17a43c74d2fe5474fa2fd29c8f14799e777d7d75a2cc4d11c20a6e7b161c5f0a17a43c74d2fe5474fa2fd29c8f14799e777d7d75a2cc4d11c20a6e7b161c556e520dcd30cbb57d9d05b4e8244ddf7ddf0fe9e5842fd221e61e575be9606ffd0c1abfbf0a52812d551552948526d8003ee9f7bbd02d94646afbff1d58c215e8ed31c5188cf4f1e47ed1234a9e9da7b8ab375cf570fe45a43f776337799435c8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe55156db718b3f90efc9b7e41645955e2c5f75f04a80ec7a5cec2073c83886fc8c45/lib64/libBrokenLocale.so.1/lib64/libanl.so.1/lib64/libc_malloc_debug.so.0/lib64/libm.so.6/lib64/libnss_compat.so.2/lib64/libnss_db.so.2/lib64/libnss_hesiod.so.2/lib64/libresolv.so.2/lib64/libthread_db.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootglibc-2.38-150600.14.17.2.src.rpmepollglibc-develglibc-devel(s390-64)@@@@@    glibclibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.4)(64bit)libxcrypt-devellinux-kernel-headersrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.383.0.4-14.6.0-14.0-15.2-14.14.3gM@gp@fffWfO/f;i@f:f2.f! @f De!@e@e}@epe6@e@e@eeoem@e6`@e/e.w@e#@eSe@ev@e;e@eRd@d@d@d@d@d@dE@dd@dr@dK@d%ydcT@c@c @clcY!@c=qc*c@c6@cb5@bb@bUbb@b@b|bk@b@aa@a@a@a\>@aaaj@a@`P@```8@`7@`u`Y@`F`>(`<@`.V`+`>`_إ@__@_Wr@_+^^x^^j$@^K^E:@^8 @^&]7@]]c@]@]]]@]Z@]Z@]D%]/ ]^@] ] u@]@\@\@\\~d\n\j@\T4\5@[@[[[t[[t[b@[(@["X[)[WZJ@Z@Z2@ZZ@ZZ$Z@ZxG@Zp^@Zp^@Ze@ZKt@Z1@Z/Z@Y@Y@YYܶ@YdY@Y@YY@Y@Y@YW@Y@YJYYw2Yp@YJ_YA%@Y.@Y, @Y, @Y$$@Y"XۡX@XWw@W@W@Ws@Wk@Wj}WYZ@WL+@W3W0{WW V@V@V޾Vm@VIV@VŲ@V`VVV@VLh@V.V$@VVZV VUYU|@UAUȒ@UU@UU4@UUv@U%@U/@U:T@TPTgTܕTء@TO@schwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.degiuliano.belinassi@suse.comschwab@suse.degiuliano.belinassi@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.derguenther@suse.comschwab@suse.derguenther@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.degiuliano.belinassi@suse.comschwab@suse.deschwab@suse.deschwab@suse.delnussel@suse.comschwab@suse.degmbr3@opensuse.orgschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.defvogt@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dedimstar@opensuse.orgmeissner@suse.comschwab@suse.deschwab@suse.dematz@suse.comgiuliano.belinassi@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dematz@suse.comschwab@suse.delnussel@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deguillaume.gardet@opensuse.orgschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.derguenther@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dekukuk@suse.deschwab@suse.deschwab@suse.deschwab@suse.delnussel@suse.deschwab@suse.deschwab@suse.dekukuk@suse.deschwab@suse.deschwab@suse.deschwab@suse.demliska@suse.czmliska@suse.czschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.demliska@suse.czschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dejengelh@inai.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.defvogt@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dejslaby@suse.comschwab@suse.deschwab@suse.deschwab@suse.deidonmez@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.denormand@linux.vnet.ibm.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.demeissner@suse.comschwab@suse.deschwab@suse.demgorman@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.de- Remove nss-systemd from default nsswitch.conf (bsc#1233699)- Apply libc_nonshared.a workaround also on s390x and ppc64le (bsc#1231051)- Use nss-systemd by default also in SLE (bsc#1230638)- s390x-wcsncmp.patch: s390x: Fix segfault in wcsncmp (bsc#1228042, BZ [#31934])- Fix typo in last change- Also include stat64 in the 32-bit libc_nonshared.a workaround (bsc#1221482)- ulp-prologue-into-asm-functions.patch: Avoid creating ULP prologue for _start routine (bsc#1221940)- nscd-netgroup-cache-timeout.patch: Use time_t for return type of addgetnetgrentX (CVE-2024-33602, bsc#1223425) - Also add libc_nonshared.a workaround to 32-bit x86 compat package (bsc#1221482)- glibc-CVE-2024-33599-nscd-Stack-based-buffer-overflow-in-n.patch: nscd: Stack-based buffer overflow in netgroup cache (CVE-2024-33599, bsc#1223423, BZ #31677) - glibc-CVE-2024-33600-nscd-Avoid-null-pointer-crashes-after.patch: nscd: Avoid null pointer crashes after notfound response (CVE-2024-33600, bsc#1223424, BZ #31678) - glibc-CVE-2024-33600-nscd-Do-not-send-missing-not-found-re.patch: nscd: Do not send missing not-found response in addgetnetgrentX (CVE-2024-33600, bsc#1223424, BZ #31678) - glibc-CVE-2024-33601-CVE-2024-33602-nscd-netgroup-Use-two.patch: netgroup: Use two buffers in addgetnetgrentX (CVE-2024-33601, CVE-2024-33602, bsc#1223425, BZ #31680)- iconv-iso-2022-cn-ext.patch: iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961, bsc#1222992)- Add workaround for invalid use of libc_nonshared.a with non-SUSE libc (bsc#1221482)- malloc-arena-get2.patch: malloc: Use __get_nprocs on arena_get2 (BZ [#30945]) - sched-getcpu-rseq-area.patch: linux: Use rseq area unconditionally in sched_getcpu (BZ #31479)- duplocale-global-locale.patch: duplocale: protect use of global locale (bsc#1220441, BZ #23970)- s390-clone-error-clobber-r7.patch: S390: Do not clobber r7 in clone (BZ [#31402])- Add libnsl1 to baselibs.conf (bsc#1219640)- syslog-buffer-overflow.patch: syslog: Fix heap buffer overflow in __vsyslog_internal (CVE-2023-6246, CVE-2023-6779, CVE-2023-6780, bsc#1218863, bsc#1218867, bsc#1218868) - qsort-invalid-cmp.patch: qsort: handle degenerated compare function (bsc#1218866)- Change minimum GCC to 13- Split off libnsl.so.1 into a separate package- sem-open-o-creat.patch: sem_open: Clear O_CREAT when semaphore file is expected to exist (BZ #30789) - ldconfig-process-elf-file.patch: elf: Fix wrong break removal from 8ee878592c - tls-modid-reuse.patch: elf: Fix TLS modid reuse generation assignment (BZ #29039) - getaddrinfo-eai-memory.patch: getaddrinfo: translate ENOMEM to EAI_MEMORY (bsc#1217589, BZ #31163) - libio-wdo-write.patch: libio: Check remaining buffer size in _IO_wdo_write (BZ #31183)- aarch64-rawmemchr-unwind.patch: aarch64: correct CFI in rawmemchr (bsc#1217445, BZ #31113)- Remove systemd from shadow and gshadow lookups (bsc#1217220)- gb18030-2022.patch: add GB18030-2022 charmap (jsc#PED-4908, BZ #30243)- dtors-reverse-ctor-order.patch: Remove, has been reverted- Avoid use of SSE in i586 build- Add systemd also to gshadow lookups (jsc#PED-5188) - For SLE continue to use nsswitch.conf without systemd- setxid-propagate-glibc-tunables.patch: Propagate GLIBC_TUNABLES in setxid binaries - tunables-string-parsing.patch: tunables: Terminate if end of input is reached (CVE-2023-4911, bsc#1215501)- fstat-implementation.patch: io: Do not implement fstat with fstatat- getaddrinfo-memory-leak.patch: Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 (CVE-2023-5156, bsc#1215714, BZ #30884)- getcanonname-use-after-free.patch: getaddrinfo: Fix use after free in getcanonname (CVE-2023-4806, bsc#1215281, BZ #30843) - Do not build any cross packages in SLES- no-aaaa-read-overflow.patch: Stack read overflow with large TCP responses in no-aaaa mode (CVE-2023-4527, bsc#1215280, BZ #30842)- Add systemd to passwd, group and shadow lookups (jsc#PED-5188)- ppc64-flock-fob64.patch: io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64 (BZ #30804) - libio-io-vtables.patch: libio: Fix oversized __io_vtables - call-init-proxy-objects.patch: elf: Do not run constructors for proxy objects - dtors-reverse-ctor-order.patch: elf: Always call destructors in reverse constructor order (BZ #30785)- intl-c-utf-8-like-c-locale.patch: intl: Treat C.UTF-8 locale like C locale (BZ #16621) - glibc-disable-gettext-for-c-utf8.patch: Removed- Add cross-ppc64le package- posix-memalign-fragmentation.patch: malloc: Enable merging of remainders in memalign, remove bin scanning from memalign (BZ #30723) - Limit build counter sync to i686 flavor, to reduce needs for rebuilds- Add cross-s390x package (bsc#1214460)- Require that elf/check-localplt does not fail - glibc-2.3.90-langpackdir.diff: add hidden alias for __strcpy_chk - cache-amd-legacy.patch: x86: Fix for cache computation on AMD legacy cpus - cache-intel-shared.patch: x86: Fix incorrect scope of setting `shared_per_thread` (BZ# 30745)- Update to glibc 2.38 * When C2X features are enabled and the base argument is 0 or 2, the following functions support binary integers prefixed by 0b or 0B as input * PRIb*, PRIB* and SCNb* macros from C2X have been added to . * printf-family functions now support the wN format length modifiers for arguments of type intN_t, int_leastN_t, uintN_t or uint_leastN_t and the wfN format length modifiers for arguments of type int_fastN_t or uint_fastN_t, as specified in draft ISO C2X * A new tunable, glibc.pthread.stack_hugetlb, can be used to disable Transparent Huge Pages (THP) in stack allocation at pthread_create * Vector math library libmvec support has been added to AArch64 * The strlcpy and strlcat functions have been added * CVE-2023-25139: When the printf family of functions is called with a format specifier that uses an (enable grouping) and a minimum width specifier, the resulting output could be larger than reasonably expected by a caller that computed a tight bound on the buffer size - Enable build with _FORTIFY_SOURCE - glibc-2.3.90-langpackdir.diff: avoid reference to __strcpy_chk - iconv-error-verbosity.patch: iconv: restore verbosity with unrecognized encoding names (BZ #30694) - printf-grouping.patch, strftime-time64.patch, getlogin-no-loginuid.patch, fix-locking-in-_IO_cleanup.patch, gshadow-erange-rhandling.patch, system-sigchld-block.patch, gmon-buffer-alloc.patch, check-pf-cancel-handler.patch, powerpc64-fcntl-lock.patch, realloc-limit-chunk-reuse.patch, dl-find-object-return.patch; Removed - bsc#1211828 - bsc#1212819- gshadow-erange-rhandling.patch: gshadow: Matching sgetsgent, sgetsgent_r ERANGE handling (BZ #30151) - system-sigchld-block.patch: posix: Fix system blocks SIGCHLD erroneously (BZ #30163) - gmon-buffer-alloc.patch: gmon: Fix allocated buffer overflow (CVE-2023-0687, bsc#1207975, BZ #29444) - check-pf-cancel-handler.patch: __check_pf: Add a cancellation cleanup handler (BZ #20975) - powerpc64-fcntl-lock.patch: io: Fix F_GETLK, F_SETLK, and F_SETLKW for powerpc64 - realloc-limit-chunk-reuse.patch: realloc: Limit chunk reuse to only growing requests (BZ #30579) - dl-find-object-return.patch: elf: _dl_find_object may return 1 during early startup (BZ #30515)- Need to build with GCC 12 as minimum- fix-locking-in-_IO_cleanup.patch: Update to final version- ulp-prologue-into-asm-functions.patch: Add support for livepatches in ASM written functions (bsc#1210777, bsc#1211726)- getlogin-no-loginuid.patch: getlogin_r: fix missing fallback if loginuid is unset (bsc#1209229, BZ #30235)- Exclude static archives from preparation for live patching (bnc#1208721)- Update to glibc 2.37 * The getent tool now supports the --no-addrconfig option * The dynamic linker no longer loads shared objects from the "tls" subdirectories on the library search path or the subdirectory that corresponds to the AT_PLATFORM system name, or employs the legacy AT_HWCAP search mechanism, which was deprecated in version 2.33 - printf-grouping.patch: Account for grouping in printf width (BZ #30068) - strftime-time64.patch: Use 64-bit time_t interfaces in strftime and strptime (BZ #30053) - glibcextract-compile-c-snippet.patch, sys-mount-kernel-definition.patch, sys-mount-usage.patch, nscd-netlink-cache-invalidation.patch, syslog-large-messages.patch, dlmopen-libc-early-init.patch, ldd-vdso-dependency.patch, syslog-extra-whitespace.patch, errlist-edeadlock.patch, makeflags.patch, get-nscd-addresses.patch, x86-64-avx2-string-functions.patch, nscd-aicache.patch, dl-debug-bindings.patch, floatn.patch: Removed - bsc#1207957 - bsc#1208358 - bsc#1212910- Remove reference to obsolete %usrmerged macro (boo#1206798)- floatn.patch: Update _FloatN header support for C++ in GCC 13- nscd: Convert to systemd-sysusers- dl-debug-bindings.patch: elf: Reinstate on DL_DEBUG_BINDINGS _dl_lookup_symbol_x (bsc#1204710)- get-nscd-addresses.patch: get_nscd_addresses: Fix subscript typos (BZ [#29605]) - x86-64-avx2-string-functions.patch: check for required cpu features in AVX2 string functions (BZ #29611) - nscd-aicache.patch: nscd: Drop local address tuple variable (BZ #29607)- makeflags.patch: Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 (BZ# 29564)- errlist-edeadlock.patch: errlist: add missing entry for EDEADLOCK (BZ [#29545])- syslog-large-messages.patch: syslog: Fix large messages (CVE-2022-39046, bsc#1203011, BZ #29536) - dlmopen-libc-early-init.patch: elf: Call __libc_early_init for reused namespaces (BZ #29528) - ldd-vdso-dependency.patch: elf: Restore how vDSO dependency is printed with LD_TRACE_LOADED_OBJECTS (BZ #29539) - syslog-extra-whitespace.patch: syslog: Remove extra whitespace between timestamp and message (BZ #29544)- nscd-netlink-cache-invalidation.patch: nscd: Fix netlink cache invalidation if epoll is used (boo#1199964, BZ #29415)- glibcextract-compile-c-snippet.patch: glibcextract.py: Add compile_c_snippet - sys-mount-kernel-definition.patch: linux: Mimic kernel definition for BLOCK_SIZE - sys-mount-usage.patch: linux: Fix sys/mount.h usage with kernel headers- Update to glibc 2.36 Major new features: * Support for DT_RELR relative relocation format has been added to glibc * On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions have been added * On Linux, the process_madvise function has been added * On Linux, the process_mrelease function has been added * The “no-aaaa” DNS stub resolver option has been added * On Linux, the fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, and mount_setattr have been added * localedef now accepts locale definition files encoded in UTF-8 * Support for the mbrtoc8 and c8rtomb multibyte/UTF-8 character conversion functions has been added per the ISO C2X N2653 and C++20 P0482R6 proposals * The functions arc4random, arc4random_buf, and arc4random_uniform have been added Deprecated and removed features, and other changes affecting compatibility: * Support for prelink will be removed in the next release * The Linux kernel version check has been removed along with the LD_ASSUME_KERNEL environment variable * On Linux, The LD_LIBRARY_VERSION environment variable has been removed - get-nprocs-sched-uninit-read.patch, get-nprocs-inaccurate.patch, strcmp-rtm-fallback.path, pt-load-invalid-hole.patch, localedef-ld-monetary.patch, nptl-spurious-eintr.patch, strncpy-power9-vsx.patch, nptl-cleanup-async-restore.patch, read-chk-cancel.patch, wcrtomb-fortify.patch, nptl-cleanup-async-restore-2.patch: Removed - CVE-2023-4813, bsc#1215286 - bsc#1198751 - bsc#1200334- nptl-cleanup-async-restore-2.patch: nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore (bsc#1200093, BZ #29214)- read-chk-cancel.patch: debug: make __read_chk a cancellation point (bsc#1200682, BZ #29274) - wcrtomb-fortify.patch: wcrtomb: Make behavior POSIX compliant (bsc#1200688)- Set SUSE_ZNOW=0- strncpy-power9-vsx.patch: powerpc: Fix VSX register number on __strncpy_power9 (BZ #29197) - nptl-cleanup-async-restore.patch: nptl: Fix __libc_cleanup_pop_restore asynchronous restore (bsc#1200093, BZ #29214)- nptl-spurious-eintr.patch: nptl: Handle spurious EINTR when thread cancellation is disabled (BZ #29029)- Follow the distro default gcc version to build the cross bootstrap packages.- switched to https urls- get-nprocs-sched-uninit-read.patch: linux: __get_nprocs_sched: do not feed CPU_COUNT_S with garbage (BZ #28850) - get-nprocs-inaccurate.patch: linux: fix accuracy of get_nprocs and get_nprocs_conf (BZ #28865) - strcmp-rtm-fallback.path: x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case (BZ #28896) - pt-load-invalid-hole.patch: elf: Check invalid hole in PT_LOAD segments (BZ #28838) - localedef-ld-monetary.patch: localedef: Update LC_MONETARY handling (BZ [#28845])- Update to glibc 2.35 Major new features: * Unicode 14.0.0 Support * Bump r_version in the debugger interface to 2 * Support for the C.UTF-8 locale has been added to glibc * functions that round their results to a narrower type, and corresponding macros, are added from TS 18661-1:2014, TS 18661-3:2015 and draft ISO C2X * functions for floating-point maximum and minimum, corresponding to new operations in IEEE 754-2019, and corresponding macros, are added from draft ISO C2X * macros for single-precision float constants are added as a GNU extension * The __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__ macros are predefined as specified in TS 18661-1:2014 * The exp10 functions in now have a corresponding type-generic macro in * The ISO C2X macro _PRINTF_NAN_LEN_MAX has been added to * printf-family functions now support the %b format for output of integers in binary, as specified in draft ISO C2X, and the %B variant of that format recommended by draft ISO C2X * A new DSO sorting algorithm has been added in the dynamic linker that uses topological sorting by depth-first search (DFS), solving performance issues of the existing sorting algorithm when encountering particular circular object dependency cases * A new tunable, glibc.rtld.dynamic_sort, can be used to select between the two DSO sorting algorithms * ABI support for a new function '__memcmpeq'. '__memcmpeq' is meant to be used by compilers for optimizing usage of 'memcmp' when its return value is only used for its boolean status * Support for automatically registering threads with the Linux rseq system call has been added * A symbolic link to the dynamic linker is now installed under /usr/bin/ld.so (or more precisely, '${bindir}/ld.so') * All programs and the testsuite in glibc are now built as position independent executables (PIE) by default on toolchains and architectures that support it * On Linux, a new tunable, glibc.malloc.hugetlb, can be used to either make malloc issue madvise plus MADV_HUGEPAGE on mmap and sbrk or to use huge pages directly with mmap calls with the MAP_HUGETLB flags) * The printf family of functions now handles the flagged %#m conversion specifier, printing errno as an error constant (similar to strerrorname_np) * The function _dl_find_object has been added * On Linux, the epoll_pwait2 function has been added * The function posix_spawn_file_actions_addtcsetpgrp_np has been added, enabling posix_spawn and posix_spawnp to set the controlling terminal in the new process in a race free manner * Source fortification (_FORTIFY_SOURCE) level 3 is now available for applications compiling with glibc and gcc 12 and later Deprecated and removed features, and other changes affecting compatibility: * On x86-64, the LD_PREFER_MAP_32BIT_EXEC environment variable support has been removed since the first PT_LOAD segment is no longer executable due to defaulting to -z separate-code * The r_version update in the debugger interface makes the glibc binary incompatible with GDB * Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT) has been removed * The catchsegv script and associated libSegFault.so shared object have been removed * Support for prelink will be removed in the next release; this includes removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment variables and their functionality in the dynamic loader Changes to build and runtime requirements: * The audit module interface version LAV_CURRENT is increased to enable proper bind-now support * The audit interface on aarch64 is extended to support both the indirect result location register (x8) and NEON Q register Security related changes: * CVE-2022-23219: Passing an overlong file name to the clnt_create legacy function could result in a stack-based buffer overflow when using the "unix" protocol * CVE-2022-23218: Passing an overlong file name to the svcunix_create legacy function could result in a stack-based buffer overflow * CVE-2021-3998: Passing a path longer than PATH_MAX to the realpath function could result in a memory leak and potential access of uninitialized memory * CVE-2021-3999: Passing a buffer of size exactly 1 byte to the getcwd function may result in an off-by-one buffer underflow and overflow when the current working directory is longer than PATH_MAX and also corresponds to the / directory through an unprivileged mount namespace - copy-and-spawn-sgid-double-close.patch, fcntl-time-bits-64-redirect.patch, gaiconf-init-double-free.patch, gconv-parseconfdir-memory-leak.patch, getcwd-attribute-access.patch, glibc-c-utf8-locale.patch, iconv-charmap-close-output.patch, ld-show-auxv-colon.patch, ldconfig-leak-empty-paths.patch, librt-null-pointer.patch, pthread-kill-fail-after-exit.patch, pthread-kill-race-thread-exit.patch, pthread-kill-return-esrch.patch, pthread-kill-send-specific-thread.patch, pthread-mutexattr-getrobust-np-type.patch, setxid-deadlock-blocked-signals.patch, sysconf-nprocessors-affinity.patch, x86-string-control-test.patch: Removed. - bsc#1194640 - bsc#1194768 - bsc#1194770 - bsc#1197718 - bsc#1211829 - bsc#1215891- Enable building the cross packages in rings.- Add ExtraBuildFlags for build flags that cannot be passed to configure. - Add support for livepatches (jsc#SLE-20049). - Generate ipa-clones tarball artifact when livepatching is enabled.- glibc.rpmlintrc: Update for rpmlint2- ld-show-auxv-colon.patch: elf: Fix missing colon in LD_SHOW_AUXV output (BZ #282539 - x86-string-control-test.patch: x86-64: Use testl to check __x86_string_control - pthread-kill-fail-after-exit.patch: nptl: pthread_kill, pthread_cancel should not fail after exit (BZ #19193) - pthread-kill-race-thread-exit.patch: nptl: Fix race between pthread_kill and thread exit (BZ #12889) - getcwd-attribute-access.patch: posix: Fix attribute access mode on getcwd (BZ #27476) - pthread-kill-return-esrch.patch: nptl: pthread_kill needs to return ESRCH for old programs (BZ #19193) - pthread-mutexattr-getrobust-np-type.patch: nptl: Fix type of pthread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np (BZ [#28036]) - setxid-deadlock-blocked-signals.patch: nptl: Avoid setxid deadlock with blocked signals in thread exit (BZ #28361) - pthread-kill-send-specific-thread.patch: nptl: pthread_kill must send signals to a specific thread (BZ #28407) - sysconf-nprocessors-affinity.patch: linux: Revert the use of sched_getaffinity on get_nproc (BZ #28310) - iconv-charmap-close-output.patch: renamed from icon-charmap-close-output.patch- Don't create separate debuginfo packages for cross packages- ldconfig-leak-empty-paths.patch: ldconfig: avoid leak on empty paths in config file - gconv-parseconfdir-memory-leak.patch: gconv_parseconfdir: Fix memory leak - gaiconf-init-double-free.patch: gaiconf_init: Avoid double-free in label and precedence lists - copy-and-spawn-sgid-double-close.patch: copy_and_spawn_sgid: Avoid double calls to close() - icon-charmap-close-output.patch: iconv_charmap: Close output file when done - fcntl-time-bits-64-redirect.patch: Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (BZ #28182) - librt-null-pointer.patch: librt: fix NULL pointer dereference (BZ [#28213])- Add cross development packages for aarch64 and riscv64.- Update to glibc 2.34 Major new features: * When _DYNAMIC_STACK_SIZE_SOURCE or _GNU_SOURCE are defined, PTHREAD_STACK_MIN is no longer constant and is redefined to sysconf(_SC_THREAD_STACK_MIN) * Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ * The dynamic linker implements the --list-diagnostics option, printing a dump of information related to IFUNC resolver operation and glibc-hwcaps subdirectory selection * On Linux, the function execveat has been added * The ISO C2X function timespec_getres has been added * The feature test macro __STDC_WANT_IEC_60559_EXT__, from draft ISO C2X, is supported to enable declarations of functions defined in Annex F of C2X * Add support for 64-bit time_t on configurations like x86 where time_t is traditionally 32-bit * The main gconv-modules file in glibc now contains only a small set of essential converter modules and the rest have been moved into a supplementary configuration file gconv-modules-extra.conf in the gconv-modules.d directory in the same GCONV_PATH * On Linux, a new tunable, glibc.pthread.stack_cache_size, can be used to configure the size of the thread stack cache * The function _Fork has been added as an async-signal-safe fork replacement since Austin Group issue 62 droped the async-signal-safe requirement for fork (and it will be included in the future POSIX standard) * On Linux, the close_range function has been added * The function closefrom has been added * The posix_spawn_file_actions_closefrom_np function has been added, enabling posix_spawn and posix_spawnp to close all file descriptors great than or equal to a giver integer Deprecated and removed features, and other changes affecting compatibility: * The function pthread_mutex_consistent_np has been deprecated * The function pthread_mutexattr_getrobust_np has been deprecated * The function pthread_mutexattr_setrobust_np has been deprecated * The function pthread_yield has been deprecated * The function inet_neta declared in has been deprecated * Various rarely-used functions declared in and have been deprecated * The pthread cancellation handler is now installed with SA_RESTART and pthread_cancel will always send the internal SIGCANCEL on a cancellation request * The symbols mallwatch and tr_break are now deprecated and no longer used in mtrace * The __morecore and __after_morecore_hook malloc hooks and the default implementation __default_morecore have been removed from the API * Debugging features in malloc such as the MALLOC_CHECK_ environment variable (or the glibc.malloc.check tunable), mtrace() and mcheck() have now been disabled by default in the main C library * The deprecated functions malloc_get_state and malloc_set_state have been moved from the core C library into libc_malloc_debug.so * The deprecated memory allocation hooks __malloc_hook, __realloc_hook, __memalign_hook and __free_hook are now removed from the API Changes to build and runtime requirements: * On Linux, the shm_open, sem_open, and related functions now expect the file shared memory file system to be mounted at /dev/shm Security related changes: CVE-2021-27645: The nameserver caching daemon (nscd), when processing a request for netgroup lookup, may crash due to a double-free, potentially resulting in degraded service or Denial of Service on the local system CVE-2021-33574: The mq_notify function has a potential use-after-free issue when using a notification type of SIGEV_THREAD and a thread attribute with a non-default affinity mask CVE-2021-35942: The wordexp function may overflow the positional parameter number when processing the expansion resulting in a crash - nss-database-check-reload.patch, nss-load-chroot.patch, x86-isa-level.patch, nscd-netgroupcache.patch, nss-database-lookup.patch, select-modify-timeout.patch, nptl-db-libpthread-load-order.patch, rawmemchr-warning.patch, tst-cpu-features-amx.patch, mq-notify-use-after-free.patch: Removed - bsc#1181403 - bsc#1184035 - bsc#1187911 - jsc#PED-987- Enable usrmerge in Factory always as it's default there - Add conflict with pre-usrmerge filesystem package- mq-notify-use-after-free.patch: Use __pthread_attr_copy in mq_notify (CVE-2021-33574, bsc#1186489, BZ #27896) - Drop glibc-usrmerge-bootstrap-helper package- tst-cpu-features-amx.patch: x86: tst-cpu-features-supports.c: Update AMX check- rawmemchr-warning.patch: string: Work around GCC PR 98512 in rawmemchr- nptl-db-libpthread-load-order.patch: nptl_db: Support different libpthread/ld.so load orders (bsc#1184214, BZ #27744)- Enable support for static PIE (bsc#1184646) - select-modify-timeout.patch: linux: always update select timeout (bsc#1184339, BZ #27706)- Don't remove -f[asynchronous-]unwind-tables during configure run, no longer needed- nss-database-check-reload.patch: nsswitch: return result when nss database is locked (BZ #27343) - nss-load-chroot.patch: nss: Re-enable NSS module loading after chroot (bsc#1182323, BZ #27389) - x86-isa-level.patch: x86: Set minimum x86-64 level marker (bsc#1182522, BZ #27318) - nss-database-lookup.patch: nss: fix nss_database_lookup2's alternate handling (bsc#1182247, BZ #27416) - nss-revert-api.patch: remove - nscd-netgroupcache.patch: nscd: Fix double free in netgroupcache (CVE-2021-27645, bsc#1182733, BZ #27462)- Disable x86 ISA level for now (bsc#1182522, BZ #27318) - nss-revert-api.patch: Workaround for nss-compat brokeness (bsc#1182247, BZ #27416)- Fix build of utils flavor for usrmerge- Prepare for usrmerge (bsc#1029961)- Add --enable-memory-tagging for aarch64- Update to glibc 2.33 * The dynamic linker accepts the --list-tunables argument which prints all the supported tunables. * The dynamic linker accepts the --argv0 argument and provides opportunity to change argv[0] string. * The dynamic linker loads optimized implementations of shared objects from subdirectories under the glibc-hwcaps directory on the library search path if the system's capabilities meet the requirements for that subdirectory. * The new --help option of the dynamic linker provides usage and information and library search path diagnostics. * The mallinfo2 function is added to report statistics as per mallinfo, but with larger field widths to accurately report values that are larger than fit in an integer. * Add to provide query macros for x86 CPU features. * A new fortification level _FORTIFY_SOURCE=3 is available. * The mallinfo function is marked deprecated. * When dlopen is used in statically linked programs, alternative library implementations from HWCAP subdirectories are no longer loaded. * The deprecated header and the function vtimes have been removed. * On s390(x), the type float_t is now derived from the macro __FLT_EVAL_METHOD__ that is defined by the compiler, instead of being hardcoded to double. * A future version of glibc will stop loading shared objects from the "tls" subdirectories on the library search path, the subdirectory that corresponds to the AT_PLATFORM system name, and also stop employing the legacy AT_HWCAP search mechanism. * CVE-2021-3326: An assertion failure during conversion from the ISO-20220-JP-3 character set using the iconv function has been fixed. - Remove obsolete, unused /etc/default/nss - aarch64-static-pie.patch, euc-kr-overrun.patch, get-nprocs-cpu-online-parsing.patch, iconv-redundant-shift.patch, iconv-ucs4-loop-bounds.patch, ifunc-fma4.patch, intl-codeset-suffixes.patch, nscd-gc-cycle.patch, printf-long-double-non-normal.patch, strerrorname-np.patch, syslog-locking.patch, sysvipc.patch: Removed - bsc#1180557 - bsc#1181505 - bsc#1191592 - bsc#1201942- Remove support for %optimize_power - Move to power4 baseline on ppc- aarch64-static-pie.patch: fix static PIE start code for BTI (bsc#1179450, BZ #27068) - iconv-redundant-shift.patch: iconv: Accept redundant shift sequences in IBM1364 (CVE-2020-27618, bsc#1178386, BZ #26224) - iconv-ucs4-loop-bounds.patch: iconv: Fix incorrect UCS4 inner loop bounds (CVE-2020-29562, bsc#1179694, BZ #26923) - printf-long-double-non-normal.patch: x86: Harden printf against non-normal long double values (CVE-2020-29573, bsc#1179721, BZ #26649) - get-nprocs-cpu-online-parsing.patch: Fix parsing of /sys/devices/system/cpu/online (bsc#1180038, BZ #25859)- intl-codeset-suffixes.patch: intl: Handle translation output codesets with suffixes (BZ #26383) - strerrorname-np.patch: string: Fix strerrorname_np return value (BZ [#26555]) - sysvipc.patch: sysvipc: Fix SEM_STAT_ANY kernel argument pass (BZ [#26637], BZ #26639, BZ #26636)- Use --enable-cet on x86_64 to instrument glibc for indirect branch tracking and shadow stack use. Enable indirect branch tracking and shadow stack in the dynamic loader (jsc#PM-2110, bsc#1175154)- Keep nsswitch.conf in /etc for SLES15 - syslog-locking.patch: Correct locking and cancellation cleanup in syslog functions (bsc#1172085, BZ #26100) - ifunc-fma4.patch: x86-64: Fix FMA4 detection in ifunc (BZ #26534)- Update to glibc 2.32 * Unicode 13.0.0 Support * New locale added: ckb_IQ * The GNU C Library now loads audit modules listed in the DT_AUDIT and DT_DEPAUDIT dynamic section entries of the main executable * powerpc64le supports IEEE128 long double libm/libc redirects when using the -mabi=ieeelongdouble to compile C code on supported GCC toolchains * To help detect buffer overflows and other out-of-bounds accesses several APIs have been annotated with GCC 'access' attribute * On Linux, functions the pthread_attr_setsigmask_np and pthread_attr_getsigmask_np have been added * The GNU C Library now provides the header file which declares the variable __libc_single_threaded * The functions sigabbrev_np and sigdescr_np have been added * The functions strerrorname_np and strerrordesc_np have been added * AArch64 now supports standard branch protection security hardening in glibc when it is built with a GCC that is configured with - -enable-standard-branch-protection (or if -mbranch-protection=standard flag is passed when building both GCC target libraries and glibc, in either case a custom GCC is needed) * The deprecated header and the sysctl function have been removed * The sstk function is no longer available to newly linked binaries * The legacy signal handling functions siginterrupt, sigpause, sighold, sigrelse, sigignore and sigset, and the sigmask macro have been deprecated * ldconfig now defaults to the new format for ld.so.cache * The deprecated arrays sys_siglist, _sys_siglist, and sys_sigabbrev are no longer available to newly linked binaries, and their declarations have been removed from * The deprecated symbols sys_errlist, _sys_errlist, sys_nerr, and _sys_nerr are no longer available to newly linked binaries, and their declarations have been removed from from * Both strerror and strerror_l now share the same internal buffer in the calling thread, meaning that the returned string pointer may be invalided or contents might be overwritten on subsequent calls in the same thread or if the thread is terminated * Using weak references to libpthread functions such as pthread_create or pthread_key_create to detect the singled-threaded nature of a program is an obsolescent feature * The "files" NSS module no longer supports the "key" database (used for secure RPC) * The __morecore and __after_morecore_hook malloc hooks and the default implementation __default_morecore have been deprecated * The hesiod NSS module has been deprecated and will be removed in a future version of glibc * CVE-2016-10228: An infinite loop has been fixed in the iconv program when invoked with the -c option and when processing invalid multi-byte input sequences * CVE-2020-10029: Trigonometric functions on x86 targets suffered from stack corruption when they were passed a pseudo-zero argument * CVE-2020-1752: A use-after-free vulnerability in the glob function when expanding ~user has been fixed. * CVE-2020-6096: A signed comparison vulnerability in the ARMv7 memcpy and memmove functions has been fixed - riscv-syscall-clobber.patch, ldbl-96-rem-pio2l.patch, long-double-alias.patch: Removed - bsc#1027496 - bsc#1162930 - bsc#1166106 - bsc#1167631 - bsc#1167939 - bsc#1194785, jsc#SLE-18195 - bsc#1200855 - bsc#1201560 - bsc#1201640 - bsc#1207571 - jsc#SLE-13520- long-double-alias.patch: Fix build with GCC 10 when long double = double - nscd-gc-cycle.patch: nscd: bump GC cycle during cache pruning (bsc#1171878, BZ #26130)- glibc-nsswitch-usr.diff: read /usr/etc/nsswitch.conf if /etc/nsswitch.conf does not exist - Install default nsswitch.conf in /usr/etc - Don't install gai.conf in /etc- Split off %lang_package- riscv-syscall-clobber.patch: riscv: Avoid clobbering register parameters in syscall - ldbl-96-rem-pio2l.patch: Avoid ldbl-96 stack corruption from range reduction of pseudo-zero (CVE-2020-10029, bsc#1165784, BZ #25487)- nsswitch.conf: comment out initgroups setting, so that it defaults to the group setting (bsc#1164075)- fix-locking-in-_IO_cleanup.patch: update to latest version- Update to glibc 2.31 * The GNU C Library now supports a feature test macro _ISOC2X_SOURCE to enable features from the draft ISO C2X standard * The functions that round their results to a narrower type now have corresponding type-generic macros in * The function pthread_clockjoin_np has been added, enabling join with a terminated thread with a specific clock * New locale added: mnw_MM (Mon language spoken in Myanmar). * The DNS stub resolver will optionally send the AD (authenticated data) bit in queries if the trust-ad option is set via the options directive in /etc/resolv.conf (or if RES_TRUSTAD is set in _res.options) * The totalorder and totalordermag functions, and the corresponding functions for other floating-point types, now take pointer arguments to avoid signaling NaNs possibly being converted to quiet NaNs in argument passing * The obsolete function stime is no longer available to newly linked binaries, and its declaration has been removed from * The gettimeofday function no longer reports information about a system-wide time zone * If a lazy binding failure happens during dlopen, during the execution of an ELF constructor, the process is now terminated - malloc-info-whitespace.patch, riscv-vfork.patch, prefer-map-32bit-exec.patch, backtrace-powerpc.patch, ldconfig-dynstr.patch: Removed. - bsc#1157893 - bsc#1163184 - fate#325815, fate#325879, fate#325880, fate#325881, fate#325882 - fate#325962- backtrace-powerpc.patch: Fix array overflow in backtrace on PowerPC (CVE-2020-1751, bsc#1158996, BZ #25423) - Drop support for pluggable gconv modules (bsc#1159851)- prefer-map-32bit-exec.patch: rtld: Check __libc_enable_secure before honoring LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126, bsc#1157292, BZ [#25204])- nsswitch.conf: add usrfiles for services, protocols, rpc, ethers and aliases for /usr/etc move- euc-kr-overrun.patch: Fix buffer overrun in EUC-KR conversion module (CVE-2019-25013, BZ #24973)- ldconfig-dynstr.patch: ldconfig: handle .dynstr located in separate segment (bsc#1153149, BZ #25087)- Package gconv-modules.cache as %ghost - Regenerate it also in the %post of glibc-local-base-- move mo files to glibc-locale as that's where all the other informations for those locales are. glibc-locale-base only has English anyways.- riscv-vfork.patch: Fix RISC-V vfork build with Linux 5.3 kernel headers- Remove NoSource tags (bsc#994835)- pwdutils is long gone and replaced by shadow- Update to glibc 2.30 * Unicode 12.1.0 Support * The dynamic linker accepts the --preload argument to preload shared objects * The twalk_r function has been added * On Linux, the getdents64, gettid, and tgkill functions have been added * Minguo (Republic of China) calendar support has been added * The entry for the new Japanese era has been added * Memory allocation functions malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, and posix_memalign fail now with total object size larger than PTRDIFF_MAX * The dynamic linker no longer refuses to load objects which reference versioned symbols whose implementation has moved to a different soname since the object has been linked * Add new POSIX-proposed pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and sem_clockwait functions * On AArch64 the GNU IFUNC resolver call ABI changed * The copy_file_range function fails with ENOSYS if the kernel does not support the system call of the same name * The functions clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, clock_nanosleep were removed from the librt library for new applications (on architectures which had them) * The obsolete and never-implemented XSI STREAMS header files and have been removed * Support for the "inet6" option in /etc/resolv.conf and the RES_USE_INET6 resolver flag (deprecated in glibc 2.25) have been removed * The obsolete RES_INSECURE1 and RES_INSECURE2 option flags for the DNS stub resolver have been removed from * With --enable-bind-now, installed programs are now linked with the BIND_NOW flag. * On 32-bit Arm, support for the port-based I/O emulation and the header have been removed * The Linux-specific header and the sysctl function have been deprecated and will be removed from a future version of glibc * CVE-2019-7309: x86-64 memcmp used signed Jcc instructions to check size * CVE-2019-9169: Attempted case-insensitive regular-expression match via proceed_next_node in posix/regexec.c leads to heap-based buffer over-read - pthread-rwlock-trylock-stalls.patch, arm-systemtap-probe-constraint.patch, pthread-mutex-barrier.patch, fork-handler-lock.patch, pthread-join-probe.patch, riscv-clone-unwind.patch, add-new-Fortran-vector-math-header-file.patch, regex-read-overrun.patch, japanese-era-name-may-2019.patch, dl-show-auxv.patch, s390-vx-vxe-hwcap.patch, taisho-era-string.patch, malloc-tracing-hooks.patch, pldd-inf-loop.patch, malloc-large-bin-corruption-check.patch, wfile-sync-crash.patch, malloc-tests-warnings.patch, fnmatch-collating-elements.patch, iconv-reset-input-buffer.patch: Removed - malloc-info-whitespace.patch: Remove unwanted leading whitespace in malloc_info (BZ #24867) - bsc#1100396 - bsc#1130045- Move /var/lib/misc/Makefile to /usr/share/misc/Makefile.makedb (bsc#1138726)- malloc-tests-warnings.patch: Fix warnings in malloc tests with GCC 9- Set optflags for i686 after _lto_cflags is set (boo#1138807).- Disable LTO due to a usage of top-level assembler that causes LTO issues (boo#1138807).- nss-files-long-lines-2.patch: Remove obsolete patch- dl-show-auxv.patch: Fix output of LD_SHOW_AUXV=1 - s390-vx-vxe-hwcap.patch: S390: Mark vx and vxe as important hwcap - taisho-era-string.patch: ja_JP: Change the offset for Taisho gan-nen from 2 to 1 (BZ #24162) - malloc-tracing-hooks.patch: malloc: Set and reset all hooks for tracing (BZ #16573) - pldd-inf-loop.patch: elf: Fix pldd (BZ#18035) - malloc-large-bin-corruption-check.patch: malloc: Check for large bin list corruption when inserting unsorted chunk (BZ #24216) - wfile-sync-crash.patch: Fix crash in _IO_wfile_sync (BZ #20568)- japanese-era-name-may-2019.patch: ja_JP locale: Add entry for the new Japanese era (BZ #22964) - Replace glibc_post_upgrade with lua script- add-new-Fortran-vector-math-header-file.patch: Update from upstream- regex-read-overrun.patch: fix read overrun (CVE-2019-9169, bsc#1127308, BZ #24114) - ldconfig-concurrency.patch: Avoid concurrency problem in ldconfig (bsc#1117993, BZ #23973)- Add add-new-Fortran-vector-math-header-file.patch.- pthread-rwlock-trylock-stalls.patch: nptl: Fix pthread_rwlock_try*lock stalls (BZ #23844) - arm-systemtap-probe-constraint.patch: arm: Use "nr" constraint for Systemtap probes (BZ #24164) - pthread-mutex-barrier.patch: Add compiler barriers around modifications of the robust mutex list for pthread_mutex_trylock (BZ #24180) - fork-handler-lock.patch: nptl: Avoid fork handler lock for async-signal-safe fork (BZ #24161) - pthread-join-probe.patch: nptl: Fix invalid Systemtap probe in pthread_join (BZ #24211) - riscv-clone-unwind.patch: RISC-V: Fix elfutils testsuite unwind failures (BZ #24040)- Update to glibc 2.29 * The getcpu wrapper function has been added, which returns the currently used CPU and NUMA node * Optimized generic exp, exp2, log, log2, pow, sinf, cosf, sincosf and tanf * The reallocarray function is now declared under _DEFAULT_SOURCE, not just for _GNU_SOURCE, to match BSD environments * For powercp64le ABI, Transactional Lock Elision is now enabled iff kernel indicates that it will abort the transaction prior to entering the kernel (PPC_FEATURE2_HTM_NOSC on hwcap2) * The functions posix_spawn_file_actions_addchdir_np and posix_spawn_file_actions_addfchdir_np have been added, enabling posix_spawn and posix_spawnp to run the new process in a different directory * The popen and system do not run atfork handlers anymore (BZ#17490) * strftime's default formatting of a locale's alternative year (%Ey) has been changed to zero-pad the year to a minimum of two digits, like "%y" * As a GNU extension, the '_' and '-' flags can now be applied to "%EY" to control how the year number is formatted * The glibc.tune tunable namespace has been renamed to glibc.cpu and the tunable glibc.tune.cpu has been renamed to glibc.cpu.name * The type of the pr_uid and pr_gid members of struct elf_prpsinfo, defined in , has been corrected to match the type actually used by the Linux kernel * An archaic GNU extension to scanf, under which '%as', '%aS', and '%a[...]' meant to scan a string and allocate space for it with malloc, is now restricted to programs compiled in C89 or C++98 mode with _GNU_SOURCE defined - unwind-ctor.patch, old-getdents64.patch, nss-files-leak.patch, riscv-feholdexcept-setround.patch, pthread-cond-broadcast-waiters-after-spinning.patch, regex-uninit-memory-access.patch, spawni-maybe-script-execute.patch, gethostid-gethostbyname-failure.patch, strstr-huge-needle.patch, pthread-mutex-lock-elision-race.patch, x86-haswell-string-flags.patch, if-nametoindex-descr-leak.patch, riscv-flush-icache.patch: Removed - CVE-2016-10739 - bsc#1114984 - bsc#1114993 - bsc#1122729 - bsc#1131330 - bsc#1149332 - bsc#1151582 - bsc#1164505- fnmatch-collating-elements.patch: update - riscv-flush-icache.patch: fix for compiling against 4.20 headers- if-nametoindex-descr-leak.patch: if_nametoindex: Fix descriptor leak for overlong name (CVE-2018-19591, BZ #23927, bsc#1117603)- Fix typography for glibc-locale-base.- pthread-mutex-lock-elision-race.patch: Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP (BZ #23275) - x86-haswell-string-flags.patch: x86: Fix Haswell CPU string flags (BZ [#23709])- unwind-ctor.patch: Add missing unwind information to ld.so on powerpc32 (BZ #23707) - old-getdents64.patch: Rewrite __old_getdents64 (BZ #23497) - nss-files-leak.patch: Fix file stream leak in aliases lookup (BZ #23521) - riscv-feholdexcept-setround.patch: Fix rounding save/restore bug - pthread-cond-broadcast-waiters-after-spinning.patch: Fix waiters-after-spinning case (BZ #23538) - regex-uninit-memory-access.patch: fix uninitialized memory access (BZ [#23578]) - spawni-maybe-script-execute.patch: Fix segfault in maybe_script_execute - gethostid-gethostbyname-failure.patch: Check for NULL value from gethostbyname_r (BZ #23679) - strstr-huge-needle.patch: Fix strstr bug with huge needles (BZ #23637)- Add libpng-devel and zlib-devel for utils build- Add glibc-locale-base subpackage containing only C, C.UTF-8 and en_US.UTF-8 locales (fate#326551)- Update to glibc 2.28 * The localization data for ISO 14651 is updated to match the 2016 Edition 4 release of the standard, this matches data provided by Unicode 9.0.0 * Unicode 11.0.0 Support: Character encoding, character type info, and transliteration tables are all updated to Unicode 11.0.0, using generator scripts contributed by Mike FABIAN (Red Hat) * functions that round their results to a narrower type are added from TS 18661-1:2014 and TS 18661-3:2015 * Two grammatical forms of month names are now supported * The renameat2 function has been added, a variant of the renameat function which has a flags argument * The statx function has been added, a variant of the fstatat64 function with an additional flags argument * IDN domain names in getaddrinfo and getnameinfo now use the system libidn2 library if installed * Parsing of dynamic string tokens in DT_RPATH, DT_RUNPATH, DT_NEEDED, DT_AUXILIARY, and DT_FILTER has been expanded to support the full range of ELF gABI expressions including such constructs as '$ORIGIN$ORIGIN' (if valid) * Support for ISO C threads (ISO/IEC 9899:2011) has been added. * The nonstandard header files and <_G_config.h> are no longer installed * The stdio functions 'getc' and 'putc' are no longer defined as macros * All stdio functions now treat end-of-file as a sticky condition * The macros 'major', 'minor', and 'makedev' are now only available from the header * The obsolete function ustat is no longer available to newly linked binaries; the headers and have been removed * The obsolete function nfsservctl is no longer available to newly linked binaries * The obsolete function name llseek is no longer available to newly linked binaries * The AI_IDN_ALLOW_UNASSIGNED and NI_IDN_ALLOW_UNASSIGNED flags for the getaddrinfo and getnameinfo functions have been deprecated * The AI_IDN_USE_STD3_ASCII_RULES and NI_IDN_USE_STD3_ASCII_RULES flags for the getaddrinfo and getnameinfo functions have been deprecated * The fcntl function now have a Long File Support variant named fcntl64 * CVE-2016-6261, CVE-2016-6263, CVE-2017-14062: Various vulnerabilities have been fixed by removing the glibc-internal IDNA implementation and using the system-provided libidn2 library instead - Split off all libcrypt related functions into package libxcrypt - fix-locking-in-_IO_cleanup.patch, fnmatch-collating-elements.patch: Rediff - aarch64-sys-ptrace-update.patch, crypt_blowfish-1.2-hack_around_arm.diff, crypt_blowfish-1.2-sha.diff, crypt_blowfish-const.patch, crypt_blowfish-gensalt.patch, glibc-2.14-crypt.diff, i386-memmove-sse2-unaligned.patch, i386-sigaction-sa-restorer.patch, mempcpy-avx512.patch, netgroup-cache-keys.patch, nss-database-multiple-dfn.patch, pkey-get-reserved-name.patch, powerpc-sys-ptrace-undefine-macros.patch, powerpc-sys-ptrace-update.patch, realpath-ssize-max-overflow.patch, res-send-enomem.patch, riscv-fmax-fmin-nan.patch, riscv-kernel-sigaction.patch, riscv-readelflib.patch, riscv-tls-init.patch: Removed - glibc_post_upgrade.c: Don't reload init (bsc#1103124) - CVE-2009-5155, CVE-2015-8985 - bsc#1092877 - bsc#1102526 - bsc#1112570 - bsc#1126590 - bsc#1127223- Use python3-pexpect instead of python-pexpect- riscv-kernel-sigaction.patch: fix struct kernel_sigaction to match the kernel version (BZ #23069)- glibc-2.3.90-langpackdir.diff: No longer search in /usr/share/locale-bundle- mempcpy-avx512.patch: Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (CVE-2018-11237, bsc#1094154) - realpath-ssize-max-overflow.patch: Fix overflow in path length computation (CVE-2018-11236, bsc#1094161, BZ #22786) - Use %license also for COPYING, COPYING.LIB- Readd nis to netgroup and automount nss config (bsc#1088860)- i386-memmove-sse2-unaligned.patch: Fix SSE2 memmove issue when crossing 2GB boundary (CVE-2017-18269, bnc#1094150, BZ #22644)- res-send-enomem.patch: Fix crash in resolver on memory allocation failure (bsc#1086690, BZ #23005)- pkey-get-reserved-name.patch: Linux: use reserved name __key in pkey_get (BZ #22797) - aarch64-sys-ptrace-update.patch: linux/aarch64: sync sys/ptrace.h with Linux 4.15 (BZ #22433) - powerpc-sys-ptrace-undefine-macros.patch: powerpc: Undefine Linux ptrace macros that conflict with __ptrace_request - powerpc-sys-ptrace-update.patch: linux/powerpc: sync sys/ptrace.h with Linux 4.15 (BZ #22433, BZ #22807) - netgroup-cache-keys.patch: Fix netgroup cache keys (BZ #22342) - i386-sigaction-sa-restorer.patch: i386: Fix i386 sigaction sa_restorer initialization (BZ #21269) - riscv-tls-init.patch: RISC-V: Do not initialize $gp in TLS macros - riscv-fmax-fmin-nan.patch: RISC-V: fmax/fmin: Handle signalling NaNs correctly (BZ #22884)- nss-database-multiple-dfn.patch: Fix multiple definitions of __nss_*_database (BZ #22918)- Use %license (boo#1082318)- Add systemtap-headers to BuildRequires - Add --enable-systemtap to configure arguments (fate#324969, bsc#1073636)- riscv-readelflib.patch: Fix parsing flags in ELF64 files on riscv- Update to glibc 2.27 * Optimized x86-64 asin, atan2, exp, expf, log, pow, atan, sin, cosf, sinf, sincosf and tan with FMA * Optimized x86-64 trunc and truncf for processors with SSE4.1 * Optimized generic expf, exp2f, logf, log2f, powf, sinf, cosf and sincosf * In order to support faster and safer process termination the malloc API family of functions will no longer print a failure address and stack backtrace after detecting heap corruption * The abort function terminates the process immediately, without flushing stdio streams * On platforms where long double has the IEEE binary128 format (aarch64, alpha, mips64, riscv, s390 and sparc), the math library now implements _Float128 interfaces for that type, as defined by ISO/IEC TS 18661-3:2015 These are the same interfaces added in version 2.26 for some platforms where this format is supported but is not the format of long double * On platforms with support for _Float64x (aarch64, alpha, i386, ia64, mips64, powerpc64le, riscv, s390, sparc and x86_64), the math library now implements interfaces for that type, as defined by ISO/IEC TS 18661-3:2015 * The math library now implements interfaces for the _Float32, _Float64 and _Float32x types, as defined by ISO/IEC TS 18661-3:2015 * glibc now implements the memfd_create and mlock2 functions on Linux * Support for memory protection keys was added * The copy_file_range function was added * The ldconfig utility now processes `include' directives using the C/POSIX collation ordering * Support for two grammatical forms of month names has been added * Support for the RISC-V ISA running on Linux has been added * Statically compiled applications attempting to load locales compiled for the GNU C Library version 2.27 will fail and fall back to the builtin C/POSIX locale * Support for statically linked applications which call dlopen is deprecated and will be removed in a future version of glibc * Support for old programs which use internal stdio data structures and functions is deprecated * On GNU/Linux, the obsolete Linux constant PTRACE_SEIZE_DEVEL is no longer defined by * libm no longer supports SVID error handling (calling a user-provided matherr function on error) or the _LIB_VERSION variable to control error handling * The libm functions pow10, pow10f and pow10l are no longer supported for new programs * The mcontext_t type is no longer the same as struct sigcontext * The add-ons mechanism for building additional packages at the same time as glibc has been removed * The res_hnok, res_dnok, res_mailok and res_ownok functions now check that the specified string can be parsed as a domain name * In the malloc_info output, the element may contain another element, "subheaps", which contains the number of sub-heaps * In the malloc_info output, the element may contain another element, "subheaps", which contains the number of sub-heaps * The nonstandard header files and <_G_config.h> are deprecated and will be removed in a future release * CVE-2018-6485, CVE-2018-6551: The posix_memalign and memalign functions, when called with an object size near the value of SIZE_MAX, would return a pointer to a buffer which is too small, instead of NULL (bsc#1079036) - Support for Sun RPC is no longer available, use libtirpc instead - glibc-nodate.patch, powerpc-elision-enable-envvar.patch, s390-elision-enable-envvar.patch, resolv-context-leak.patch, dl-runtime-resolve-opt-avx512f.patch, libpthread-compat-wrappers.patch, math-c++-compat.patch, remove-nss-nis-compat.patch, eh-frame-zero-terminator.patch, ld-so-hwcap-x86-64.patch, assert-pedantic.patch, getaddrinfo-errno.patch, resolv-conf-oom.patch, dynarray-allocation.patch, nearbyint-inexact.patch, nss-compat.patch, nscd-libnsl.patch, malloc-tcache-leak.patch, falkor-memcpy-memmove.patch, aarch64-cpu-features.patch, nss-files-large-buffers.patch. sysconf-uio-maxiov.patch, glob-tilde-overflow.patch, dl-runtime-resolve-xsave.patch, spawni-assert.patch, x86-64-dl-platform.patch, glob64-s390.patch, tst-tlsopt-powerpc.patch, powerpc-hwcap-bits.patch, malloc-tcache-check-overflow.patch, dl-init-paths-overflow.patch, fillin-rpath-empty-tokens.patch, getcwd-absolute.patch, ldd-system-interp.patchabort-no-flush.patch: Removed - All patches refreshed - bsc#1063675- fix-locking-in-_IO_cleanup.patch: Skip locked files during exit (bsc#1070491, BZ #15142)- Avoid duplicate source rpm- getcwd-absolute.patch: make getcwd(3) fail if it cannot obtain an absolute path (CVE-2018-1000001, bsc#1074293, BZ #22679)- dl-init-paths-overflow.patch: Count components of the expanded path in _dl_init_path (CVE-2017-1000408, CVE-2017-1000409, bsc#1071319, BZ [#22607], BZ #22627) - fillin-rpath-empty-tokens.patch: Check for empty tokens before dynamic string token expansion (CVE-2017-16997, bsc#1073231, BZ #22625)- tst-tlsopt-powerpc.patch: fix tst-tlsopt-powerpc (bcn#1070419) - powerpc-hwcap-bits.patch: Update HWCAP for powerpc (bnc#1070420) - malloc-tcache-check-overflow.patch: Fix integer overflow in malloc when tcache is enabled (CVE-2017-17426, bnc#1071479, BZ #22375)- Add _multibuild- glob64-s390.patch: no compat glob64 on s390 - noversion.tar.bz2: remove unused source- x86-64-dl-platform.patch: Don't set GLRO(dl_platform) to NULL (BZ #22299)- spawni-assert.patch: Fix improper assert in Linux posix_spawn (BZ [#22273])- math-c++-compat.patch: Add more C++ compatibility (BZ #22296) - malloc-tcache-leak.patch: Fix tcache leak after thread destruction (BZ [#22111]) - falkor-memcpy-memmove.patch: Optimized implementation of memcpy/memmove for Qualcomm Falkor - aarch64-cpu-features.patch: Fix glibc.tune.cpu tunable handling - nss-files-large-buffers.patch: Avoid large buffers with many host addresses (BZ #22078) - sysconf-uio-maxiov.patch: Fix missing definition of UIO_MAXIOV (BZ [#22321]) - glob-tilde-overflow.patch: Fix buffer overflows with GLOB_TILDE (CVE-2017-15670, CVE-2017-15671, CVE-2017-15804, bsc#1064569. bsc#1064580, bsc#1064583, BZ #22320, BZ #22325, BZ #22332) - dl-runtime-resolve-xsave.patch: Use fxsave/xsave/xsavec in _dl_runtime_resolve (BZ #21265)- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244)- Drop glibc-obsolete - glibc-2.3.90-noversion.diff: remove - reinitialize-dl_load_write_lock.patch: remove- nss-compat.patch: Move nss_compat from nis to nss subdir and install it unconditionally - nsswitch.conf: switch back to compat for passwd, group, shadow- assert-pedantic.patch: Suppress pedantic warning caused by statement expression (BZ #21242, BZ #21972) - math-c++-compat.patch: Add more C++ compatibility (BZ #22235) - getaddrinfo-errno.patch: Fix errno and h_errno handling in getaddrinfo (BZ #21915, BZ #21922) - resolv-conf-oom.patch: Fix memory handling in OOM situation during resolv.conf parsing (BZ #22095, BZ #22096) - dynarray-allocation.patch: Fix initial size of dynarray allocation and set errno on overflow error - nearbyint-inexact.patch: Avoid spurious inexact in nearbyint (BZ #22225)- math-c++-compat.patch: add more C++ compatibility (BZ #22146)- Remove rpcsvc/yppasswd.* from glibc-devel - ld-so-hwcap-x86-64.patch: add x86_64 to hwcap (bsc#1056606, BZ #22093)- eh-frame-zero-terminator.patch: Properly terminate .eh_frame (BZ #22051)- Disable obsolete libnsl and NIS support - remove-nss-nis-compat.patch: remove nis and compat from default NSS configs - nsswitch.conf: Likewise- math-c++-compat.patch: Do not use __builtin_types_compatible_p in C++ mode (BZ #21930)- Add iconvconfig to baselibs.conf (bsc#1051042)- resolv-context-leak.patch: Fix leaks of resolver contexts - dl-runtime-resolve-opt-avx512f.patch: Use _dl_runtime_resolve_opt only with AVX512F (BZ #21871) - libpthread-compat-wrappers.patch: Don't use IFUNC resolver for longjmp or system in libpthread (BZ #21041)- Update to glibc 2.26 * A per-thread cache has been added to malloc * Unicode 10.0.0 Support * Improvements to the DNS stub resolver * New function reallocarray, which resizes an allocated block (like realloc) to the product of two sizes, with a guaranteed clean failure upon integer overflow in the multiplication * New wrappers for the Linux-specific system calls preadv2 and pwritev2 * posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to create a new session ID for the spawned process * errno.h is now safe to use from C-preprocessed assembly language on all supported operating systems * On ia64, powerpc64le, x86-32, and x86-64, the math library now implements 128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE 754-2008) and ISO/IEC TS 18661-3:2015 * The synchronization that pthread_spin_unlock performs has been changed to now be equivalent to a C11 atomic store with release memory order to the spin lock's memory location * The DNS stub resolver no longer performs EDNS fallback * res_mkquery and res_nmkquery no longer support the IQUERY opcode * The _res_opcodes variable has been removed from libresolv * no longer includes inline versions of any string functions, as this kind of optimization is better done by the compiler * The nonstandard header has been removed * The obsolete header has been removed * The obsolete signal constant SIGUNUSED is no longer defined by * The obsolete function cfree has been removed * The stack_t type no longer has the name struct sigaltstack * The ucontext_t type no longer has the name struct ucontext * On S/390 GNU/Linux, the constants defined by have been synced with the kernel * Linux kernel 3.2 or later is required at runtime, on all architectures supported by that kernel * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes, to avoid fragmentation-based spoofing attacks (CVE-2017-12132) * LD_LIBRARY_PATH is now ignored in binaries running in privileged AT_SECURE mode to guard against local privilege escalation attacks (CVE-2017-1000366) * Avoid printing a backtrace from the __stack_chk_fail function since it is called on a corrupt stack and a backtrace is unreliable on a corrupt stack (CVE-2010-3192) * A use-after-free vulnerability in clntudp_call in the Sun RPC system has been fixed (CVE-2017-12133) * fate#322258, fate#321513, fate#322453 - fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff, i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch, sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch, tunables-bigendian.patch: Removed - bsc#1074208- Fix RPM group- s390-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (fate#322271)- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (BZ #21209) - ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624)- Remove glibc-cpusetsize.diff, no longer useful- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123, BZ #21289)- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h aliasing- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE locales (bsc#1039502)- Remove glibc-testsuite.patch, no longer relevant- Use multibuild feature - Remove obsolete check-build.sh - glibc.rpmlintrc: remove obsolete entries - Use %tmpfiles_create in nscd postin- i686-memchr-sse.patch: Fix i686 memchr overflow calculation (bsc#1031021, BZ #21182) - sunrpc-use-after-free.patch: Avoid use-after-free read access in clntudp_call (BZ #21115) - Build testsuite with gdb and python-pexpect to enable more tests- tunables-bigendian.patch: Fix getting tunable values on big-endian (BZ [#21109])- Update to glibc 2.25 * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR 24731-2:2010, is supported to enable declarations of functions from that TR. * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS 18661-1:2014, is supported to enable declarations of functions and macros from that TS. * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS 18661-4:2015, is supported to enable declarations of functions and macros from that TS. * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. * The inclusion of by is deprecated. * New features from TS 18661-1:2014 are added to libm: the fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. * Integer width macros from TS 18661-1:2014 are added to : CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, WINT_WIDTH. * New features are added from TS 18661-1:2014: - Signaling NaN macros: SNANF, SNAN, SNANL. - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. - llogb functions: the llogb, llogbf and llogbl functions, and the FP_LLOGB0 and FP_LLOGBNAN macros. - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, fminmagf, fminmagl. - Comparison macros: iseqsig. - Classification macros: iscanonical, issubnormal, iszero. - Total order functions: totalorder, totalorderf, totalorderl, totalordermag, totalordermagf, totalordermagl. - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, are added to libc. * Most of glibc can now be built with the stack smashing protector enabled. * The function explicit_bzero, from OpenBSD, has been added to libc. * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined to float instead of double. * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the float_t and double_t types are now defined to long double instead of float and double. * The getentropy and getrandom functions, and the header file have been added. * The buffer size for byte-oriented stdio streams is now limited to 8192 bytes by default. * The header now includes the header. * The malloc_get_state and malloc_set_state functions have been removed. * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the corresponding RES_NOIP6DOTINT flag from have been removed. * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING flag from have been removed. * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, RES_BLAST defined in the header file have been deprecated. * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for _res.flags are deprecated. * DNSSEC-related declarations and definitions have been removed from the header file, and libresolv will no longer attempt to decode the data part of DNSSEC record types. * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the header file because the distinction between RR types and meta-RR types is not officially standardized, subject to revision, and thus not suitable for encoding in a macro. * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook and rhook members of the res_state type in have been removed. * For multi-arch support it is recommended to use a GCC which has been built with support for GNU indirect functions. * GDB pretty printers have been added for mutex and condition variable structures in POSIX Threads. * Tunables feature added to allow tweaking of the runtime for an application program. * A new version of condition variables functions have been implemented in the NPTL implementation of POSIX Threads to provide stronger ordering guarantees. * A new version of pthread_rwlock functions have been implemented to use a more scalable algorithm primarily through not using a critical section anymore to make state changes. * On ARM EABI (32-bit), generating a backtrace for execution contexts which have been created with makecontext could fail to terminate due to a missing .cantunwind annotation. (CVE-2016-6323) * The DNS stub resolver functions would crash due to a NULL pointer dereference when processing a query with a valid DNS question type which was used internally in the implementation. (CVE-2015-5180) - Enable stack protector if part of %optflags - startcontext-cantunwind.patch: Removed - cpuid-assertion.patch: Removed- cpuid-assertion.patch: Don't assert on older Intel CPUs (BZ #20647)- glibc-2.3.3-nscd-db-path.diff: Move persistent nscd databases to /var/lib/nscd - glibc-2.3.90-langpackdir.diff: simplify- Update to glibc 2.24 * The minimum Linux kernel version that this version of the GNU C Library can be used with is 3.2 * The pap_AN locale has been deleted * The readdir_r and readdir64_r functions have been deprecated * The type `union wait' has been removed * A new NSS action is added to facilitate large distributed system administration * The deprecated __malloc_initialize_hook variable has been removed from the API * The long unused localedef --old-style option has been removed * nextupl, nextup, nextupf, nextdownl, nextdown and nextdownf are added to libm * An unnecessary stack copy in _nss_dns_getnetbyname_r was removed (CVE-2016-3075) * Previously, getaddrinfo copied large amounts of address data to the stack, even after the fix for CVE-2013-4458 has been applied, potentially resulting in a stack overflow. getaddrinfo now uses a heap allocation instead (CVE-2016-3706) * The glob function suffered from a stack-based buffer overflow when it was called with the GLOB_ALTDIRFUNC flag and encountered a long file name (CVE-2016-1234) * The Sun RPC UDP client could exhaust all available stack space when flooded with crafted ICMP and UDP messages (CVE-2016-4429) * The IPv6 name server management code in libresolv could result in a memory leak for each thread which is created, performs a failing naming lookup, and exits (CVE-2016-5417) - startcontext-cantunwind.patch: mark __startcontext as .cantunwind (bsc#974800, BZ #20435) - Removed patches: * 0001-Updated-translations-for-2.23.patch * 0002-Regenerate-libc.pot-for-2.23.patch * 0003-Regenerated-configure-scripts.patch * 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch * 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch * 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch * 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch * 0008-Update-NEWS.patch * 0009-sln-use-stat64.patch * 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch * 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch * 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch * 0013-Mention-BZ-19762-in-NEWS.patch * 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch * 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch * 0016-Fix-resource-leak-in-resolver-bug-19257.patch * 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch * 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch * 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch * 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch * 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch * 0022-configure-fix-test-usage.patch * 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch * 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch * 0025-getnameinfo-Do-not-preserve-errno.patch * 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch * 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch * 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch * 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch * 0030-hesiod-Remove-RCS-keywords.patch * 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch * 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch * 0033-malloc-Remove-NO_THREADS.patch * 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch * 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch * 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch * 0037-malloc-Add-missing-internal_function-attributes-on-f.patch * 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch * 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch * 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch * 0041-nss_dns-Check-address-length-before-creating-addrinf.patch * 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch * 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch * 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch * 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch * 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch * 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch * 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch * 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch * 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch * 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch * 0052-Fix-tst-dlsym-error-build.patch * 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch * 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch * 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch * 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch * clntudp-call-alloca.patch * glibc-memset-nontemporal.diff * nis-initgroups-status.patch * nscd-gc-crash.patch * robust-mutex-deadlock.patch * strncat-avoid-array-bounds-warning.patch- strncat-avoid-array-bounds-warning.patch: Avoid array-bounds warning for stncat on i586 (BZ #20260) - Update glibc.keyring - Unset MALLOC_CHECK_ during testsuite run- nsswitch.conf: Add fallback to files for passwd and group to prepare for libnsl removal.- nis-initgroups-status.patch: Return proper status from _nss_nis_initgroups_dyn (bsc#984269, BZ #20262) - robust-mutex-deadlock.patch: Fix generic __lll_robust_timedlock_wait to check for timeout (bsc#985170, BZ #20263)- nscd-gc-crash.patch: Fix nscd assertion failure in gc (bsc#965699, BZ [#19755])- clntudp-call-alloca.patch: do not use alloca in clntudp_call (CVE-2016-4429, bsc#980854, BZ #20112)- Import patches from 2.23 branch 0001-Updated-translations-for-2.23.patch 0002-Regenerate-libc.pot-for-2.23.patch 0003-Regenerated-configure-scripts.patch 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch 0008-Update-NEWS.patch 0009-sln-use-stat64.patch 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch 0013-Mention-BZ-19762-in-NEWS.patch 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch 0016-Fix-resource-leak-in-resolver-bug-19257.patch 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch 0022-configure-fix-test-usage.patch 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch 0025-getnameinfo-Do-not-preserve-errno.patch 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch 0030-hesiod-Remove-RCS-keywords.patch 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch 0033-malloc-Remove-NO_THREADS.patch 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch 0037-malloc-Add-missing-internal_function-attributes-on-f.patch 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch 0041-nss_dns-Check-address-length-before-creating-addrinf.patch 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch 0052-Fix-tst-dlsym-error-build.patch 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch - CVE-2016-3075 CVE-2016-1234 CVE-2016-3706 bsc#973164 bsc#969727 - resolv-mem-leak.patch: renamed to 0016-Fix-resource-leak-in-resolver-bug-19257.patch - no-long-double.patch: renamed to 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch - glibc-gcc6.patch: renamed to 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch- glibc-c-utf8-locale.patch: fix bad standard in LC_IDENTIFICATION categories - glibc-2.3.locales.diff.bz2: likewise- glibc-gcc6.patch: Suppress GCC 6 warning about ambiguous 'else' with - Wparentheses- Add compatibility symlinks for LSB 3.0 (fate#318933)- powerpc-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)- ldd-system-interp.patch: Restore warning about execution permission, it is still needed for noexec mounts (bsc#915985)- Add C.UTF-8 locale (see https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) and rh#902094 . Added with glibc-c-utf8-locale.patch. - Add glibc-disable-gettext-for-c-utf8.patch to disable gettext for C.UTF-8 same as C locale.- Move %install_info_delete to %preun - crypt_blowfish-1.3.tar.gz.sign: Remove, the sign key is no longer acceptable- no-long-double.patch: Don't use long double functions if NO_LONG_DOUBLE- Update to glibc 2.23 release. * Unicode 8.0.0 Support * sched_setaffinity, pthread_setaffinity_np no longer attempt to guess the kernel-internal CPU set size * The fts.h header can now be used with -D_FILE_OFFSET_BITS=64 * getaddrinfo now detects certain invalid responses on an internal netlink socket * A defect in the malloc implementation, present since glibc 2.15 (2012) or glibc 2.10 via --enable-experimental-malloc (2009), could result in the unnecessary serialization of memory allocation requests across threads * The obsolete header has been removed * The obsolete functions bdflush, create_module, get_kernel_syms, query_module and uselib are no longer available to newly linked binaries * Optimized string, wcsmbs and memory functions for IBM z13. * Newly linked programs that define a variable called signgam will no longer have it set by the lgamma, lgammaf and lgammal functions - Removed patches: * dont-remove-nodelete-flag.patch * openat64-readd-o-largefile.patch * mntent-blank-line.patch * opendir-o-directory-check.patch * strcoll-remove-strdiff-opt.patch * ld-pointer-guard.patch * tls-dtor-list-mangling.patch * powerpc-lock-elision-race.patch * prelink-elf-rtype-class.patch * vector-finite-math-aliases.patch * powerpc-elision-adapt-param.patch * catopen-unbound-alloca.patch * strftime-range-check.patch * hcreate-overflow-check.patch * errorcheck-mutex-no-elision.patch * refactor-nan-parsing.patch * send-dg-buffer-overflow.patch * isinf-cxx11-conflict.patch * ibm93x-redundant-shift-si.patch * iconv-reset-input-buffer.patch * tzset-tzname.patch * static-dlopen.patch- isinf-cxx11-conflict.patch: Fix isinf/isnan declaration conflict with C++11 (bsc#963700, BZ #19439)- tls-dtor-list-mangling.patch: Harden tls_dtor_list with pointer mangling (BZ #19018) - prelink-elf-rtype-class.patch: Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink (BZ #19178) - vector-finite-math-aliases.patch: Better workaround for aliases of * _finite symbols in vector math library (BZ# 19058) - powerpc-elision-adapt-param.patch: powerpc: Fix usage of elision transient failure adapt param (BZ #19174) - catopen-unbound-alloca.patch: Fix unbound alloca in catopen (CVE-2015-8779, bsc#962739, BZ #17905) - strftime-range-check.patch: Add range check on time fields (CVE-2015-8776, bsc#962736, BZ #18985) - hcreate-overflow-check.patch: Handle overflow in hcreate (CVE-2015-8778, bsc#962737, BZ #18240) - errorcheck-mutex-no-elision.patch: Don't do lock elision on an error checking mutex (bsc#956716, BZ #17514) - refactor-nan-parsing.patch: Refactor strtod parsing of NaN payloads (CVE-2014-9761, bsc#962738, BZ #16962) - send-dg-buffer-overflow.patch: Fix getaddrinfo stack-based buffer overflow (CVE-2015-7547, bsc#961721, BZ #18665) - powerpc-lock-elision-race.patch: renamed from 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch- Add audit-devel and libcap-devel to BuildRequires, for use by nscd- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock on fork (bsc#958315, BZ #19282)- resolv-mem-leak.patch: Fix resource leak in resolver (bsc#955647, BZ #19257) - tzset-tzname.patch: Force rereading TZDEFRULES after it was used to set DST rules only (BZ #19253)- glibc-2.3.90-noversion.diff: use stat64- ld-pointer-guard.patch: Always enable pointer guard (CVE-2015-8777, bsc#950944, BZ #18928)- strcoll-remove-strdiff-opt.patch: Remove incorrect STRDIFF-based optimization (BZ #18589)- iconv-reset-input-buffer.patch: Fix iconv buffer handling with IGNORE error handler (BZ #18830)- new patch [BZ #18743] PowerPC: Fix a race condition when eliding a lock 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch- nss-files-long-lines-2.patch: Properly reread entry after failure in nss_files getent function (bsc#945779, BZ #18991)- fnmatch-collating-elements.patch: Fix fnmatch handling of collating elements (BZ #17396, BZ #16976)- opendir-o-directory-check.patch: Fix opendir inverted o_directory_works test - static-dlopen.patch: Static dlopen default library search path fix (bsc#937853)- mntent-blank-line.patch: Fix memory corruption w/blank lines- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from all loaded objects on failed dlopen - openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64- Update to glibc 2.22 release. * Cache information can be queried via sysconf() function on s390 * A buffer overflow in gethostbyname_r and related functions performing DNS requests has been fixed. (CVE-2015-1781) * The time zone file parser has been made more robust against crafted time zone files * A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors for LD and GD on x86 and x86-64, has been implemented. * Character encoding and ctype tables were updated to Unicode 7.0.0 * Added vector math library named libmvec * A new fmemopen implementation has been added with the goal of POSIX compliance. * The header is deprecated, and will be removed in a future release. * bsc#905313 bsc#920338 bsc#927080 bsc#928723 bsc#931480 bsc#939211 bsc#940195 bsc#940332 bsc#944494 bsc#968787 - Patches from upstream removed * htm-tabort.patch * o-tmpfile.patch * memcpy-chk-non-SSE2.patch * pthread-mutexattr-gettype-kind.patch * powerpc-software-sqrt.patch * static-tls-dtv-limit.patch * threaded-trim-threshold.patch * resolv-nameserver-handling.patch * nss-separate-state-getXXent.patch * aarch64-sigstksz.patch * heap-top-corruption.patch * pthread-join-deadlock.patch- pthread-join-deadlock.patch: Use IE model for static variables in libc.so, libpthread.so and rtld (bsc#930015, BZ #18457)- glibc-nodate.patch: fix verification of timestamp- also filter out -fstack-protector-strong- getaddrinfo-ipv6-sanity.diff: Remove. It breaks services that start before IPv6 is up (bsc#931399) - glibc-2.3.locales.diff.bz2: Remove sh_YU locales, fix currency for en_BE.- Add /usr/include/gnu/lib-names-.*.h to baselibs - pthread-join-deadlock.patch: Don't require rtld lock to store static TLS offset in the DTV (bsc#930015, BZ #18457) - heap-top-corruption.patch: Do not corrupt the top of a threaded heap if top chunk is MINSIZE (BZ #18502)- threaded-trim-threshold.patch: Fix regression in threaded application malloc performance (bsc#915955, BZ #17195)- aarch64-sigstksz.patch: Increase MINSIGSTKSZ and SIGSTKSZ (BZ #16850)- powerpc-software-sqrt.patch: Fix powerpc software sqrt (BZ #17964, BZ [#17967]) - nss-separate-state-getXXent.patch: Separate internal state between getXXent and getXXbyYY NSS calls (CVE-2014-8121, bsc#918187, BZ #18007) - static-tls-dtv-limit.patch: Fix DTV race, assert, DTV_SURPLUS Static TLS limit, and nptl_db garbage (bsc#919678, BZ #17090, BZ #17620, BZ #17621, BZ #17628)- resolv-nameserver-handling.patch: Replace with simpler version with more compatibility- memcpy-chk-non-SSE2.patch: Fix __memcpy_chk on non-SSE2 CPUs (bsc#920084)- resolv-nameserver-handling.patch: Rewrite handling of nameserver configuration in resolver- htm-tabort.patch: Fix TABORT encoding for little endian- Update to glibc 2.21 release. * A new semaphore algorithm has been implemented in generic C code for all machines * Added support for TSX lock elision of pthread mutexes on powerpc32, powerpc64 and powerpc64le * Optimized strcpy, stpcpy, strchrnul and strrchr implementations for AArch64 * i386 memcpy functions optimized with SSE2 unaligned load/store * New locales: tu_IN, bh_IN, raj_IN, ce_RU * The obsolete sigvec function has been removed * CVE-2015-1472 CVE-2015-1473 CVE-2012-3406 CVE-2014-9402 CVE-2014-7817 bsc#864081 bsc#906371 bsc#909053 bsc#910599 bsc#916222 - Patches from upstream removed * ifunc-x86-slow-sse4.patch * pthread-mutex-trylock-elision.patch - o-tmpfile.patch: Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (BZ #17912)- Update to crypt_blowfish 1.3. * Add support for the $2b$ prefix. - ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501)epolls390zp38 1733217290  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 1.02.38-150600.14.17.22.38-150600.14.17.21.0     sprofa.out.haio.haliases.halloca.har.hargp.hargz.harpaftp.hinet.hnameser.hnameser_compat.htelnet.htftp.hassert.hbitsa.out.hargp-ldbl.hatomic_wide_counter.hbyteswap.hcmathcalls.hconfname.hcpu-set.hdirent.hdirent_ext.hdl_find_object.hdlfcn.helfclass.hendian.hendianness.henvironments.hepoll.herr-ldbl.herrno.herror-ldbl.herror.heventfd.hfcntl-linux.hfcntl.hfcntl2.hfenv.hfloatn-common.hfloatn.hflt-eval-method.hfp-fast.hfp-logb.hgetopt_core.hgetopt_ext.hgetopt_posix.hhwcap.hin.hindirect-return.hinitspin.hinotify.hioctl-types.hioctls.hipc-perm.hipc.hipctypes.hiscanonical.hlibc-header-start.hlibm-simd-decl-stubs.hlink.hlink_lavcurrent.hlocal_lim.hlocale.hlong-double.hmath-vector.hmathcalls-helper-functions.hmathcalls-narrow.hmathcalls.hmathdef.hmman-linux.hmman-map-flags-generic.hmman-shared.hmman.hmman_ext.hmonetary-ldbl.hmqueue.hmqueue2.hmsq.hnetdb.hparam.hpoll.hpoll2.hposix1_lim.hposix2_lim.hposix_opt.hprintf-ldbl.hprocfs-extra.hprocfs-id.hprocfs-prregset.hprocfs.hpthread_stack_min-dynamic.hpthread_stack_min.hpthreadtypes-arch.hpthreadtypes.hptrace-shared.hresource.hrseq.hsched.hselect-decl.hselect.hselect2.hsem.hsemaphore.hsetjmp.hsetjmp2.hshm.hshmlba.hsigaction.hsigcontext.hsigevent-consts.hsiginfo-arch.hsiginfo-consts-arch.hsiginfo-consts.hsignal_ext.hsignalfd.hsignum-arch.hsignum-generic.hsigstack.hsigstksz.hsigthread.hsockaddr.hsocket-constants.hsocket.hsocket2.hsocket_type.hss_flags.hstab.defstat.hstatfs.hstatvfs.hstatx-generic.hstatx.hstdint-intn.hstdint-uintn.hstdio-ldbl.hstdio.hstdio2-decl.hstdio2.hstdio_lim.hstdlib-bsearch.hstdlib-float.hstdlib-ldbl.hstdlib.hstring_fortified.hstrings_fortified.hstruct_mutex.hstruct_rwlock.hstruct_stat.hstruct_stat_time64_helper.hsyscall.hsyslog-decl.hsyslog-ldbl.hsyslog-path.hsyslog.hsysmacros.htermios-baud.htermios-c_cc.htermios-c_cflag.htermios-c_iflag.htermios-c_lflag.htermios-c_oflag.htermios-misc.htermios-struct.htermios-tcflow.htermios.hthread-shared-types.htime.htime64.htimerfd.htimesize.htimex.htypestypes.hFILE.h__FILE.h__fpos64_t.h__fpos_t.h__locale_t.h__mbstate_t.h__sigset_t.h__sigval_t.hclock_t.hclockid_t.hcookie_io_functions_t.herror_t.hidtype_t.hlocale_t.hmbstate_t.hres_state.hsig_atomic_t.hsigevent_t.hsiginfo_t.hsigset_t.hsigval_t.hstack_t.hstruct_FILE.hstruct___jmp_buf_tag.hstruct_iovec.hstruct_itimerspec.hstruct_msqid64_ds.hstruct_msqid64_ds_helper.hstruct_msqid_ds.hstruct_osockaddr.hstruct_rusage.hstruct_sched_param.hstruct_semid64_ds.hstruct_semid64_ds_helper.hstruct_semid_ds.hstruct_shmid64_ds.hstruct_shmid64_ds_helper.hstruct_shmid_ds.hstruct_sigstack.hstruct_statx.hstruct_statx_timestamp.hstruct_timeb.hstruct_timespec.hstruct_timeval.hstruct_tm.htime_t.htimer_t.hwint_t.htypesizes.huintn-identity.huio-ext.huio_lim.hunistd-decl.hunistd.hunistd_ext.hutmp.hutmpx.hutsname.hwaitflags.hwaitstatus.hwchar-ldbl.hwchar.hwchar2-decl.hwchar2.hwctype-wchar.hwordsize.hxopen_lim.hbyteswap.hcomplex.hcpio.hctype.hdirent.hdlfcn.helf.hendian.henvz.herr.herrno.herror.hexecinfo.hfcntl.hfeatures-time64.hfeatures.hfenv.hfincludemath-vector-fortran.hfmtmsg.hfnmatch.hfpu_control.hfstab.hfts.hftw.hgconv.hgetopt.hglob.hgnugnu-versions.hlib-names-64.hlib-names.hlibc-version.hstubs-64.hstubs.hgrp.hgshadow.hiconv.hieee754.hifaddrs.hinttypes.hlanginfo.hlastlog.hlibgen.hlibintl.hlimits.hlink.hlocale.hmalloc.hmath.hmcheck.hmemory.hmntent.hmonetary.hmqueue.hnetethernet.hif.hif_arp.hif_packet.hif_ppp.hif_shaper.hif_slip.hppp-comp.hppp_defs.hroute.hnetashash.hnetatalkat.hnetax25ax25.hnetdb.hneteconetec.hnetinetether.hicmp6.hif_ether.hif_fddi.hif_tr.higmp.hin.hin_systm.hip.hip6.hip_icmp.htcp.hudp.hnetipxipx.hnetiucviucv.hnetpacketpacket.hnetromnetrom.hnetroserose.hnfsnfs.hnl_types.hnss.hobstack.hpaths.hpoll.hprintf.hproc_service.hprotocolsrouted.hrwhod.htalkd.htimed.hpthread.hpty.hpwd.hre_comp.hregex.hregexp.hresolv.hrpcnetdb.hsched.hscsiscsi.hscsi_ioctl.hsg.hsearch.hsemaphore.hsetjmp.hsgtty.hshadow.hsignal.hspawn.hstab.hstdc-predef.hstdint.hstdio.hstdio_ext.hstdlib.hstring.hstrings.hsysacct.hauxv.hbitypes.hcdefs.hdir.helf.hepoll.herrno.heventfd.hfanotify.hfcntl.hfile.hfsuid.hgmon.hgmon_out.hinotify.hioctl.hipc.hkd.hklog.hmman.hmount.hmsg.hmtio.hparam.hpci.hpersonality.hpidfd.hpoll.hprctl.hprocfs.hprofil.hptrace.hqueue.hquota.hrandom.hraw.hreboot.hresource.hrseq.hselect.hsem.hsendfile.hshm.hsignal.hsignalfd.hsingle_threaded.hsocket.hsocketvar.hsoundcard.hstat.hstatfs.hstatvfs.hswap.hsyscall.hsysinfo.hsyslog.hsysmacros.htermios.htime.htimeb.htimerfd.htimes.htimex.httychars.httydefaults.htypes.hucontext.huio.hun.hunistd.huser.hutsname.hvfs.hvlimit.hvt.hwait.hxattr.hsyscall.hsysexits.hsyslog.htar.htermio.htermios.htgmath.hthread_db.hthreads.htime.httyent.huchar.hucontext.hulimit.hunistd.hutime.hutmp.hutmpx.hvalues.hwait.hwchar.hwctype.hwordexp.hMcrt1.oScrt1.ocrt1.ocrti.ocrtn.ogcrt1.ogrcrt1.olibBrokenLocale.solibanl.solibc.solibc_malloc_debug.solibc_nonshared.alibdl.alibg.alibm.solibmcheck.alibnldbl_nonshared.alibnss_compat.solibnss_db.solibnss_hesiod.solibpthread.alibresolv.solibrt.alibthread_db.solibutil.arcrt1.oglibc-develNEWSREADMEglibc-develCOPYINGCOPYING.LIBgetifaddrs.3.gz/usr/bin//usr/include//usr/include/arpa//usr/include/bits//usr/include/bits/types//usr/include/finclude//usr/include/gnu//usr/include/net//usr/include/netash//usr/include/netatalk//usr/include/netax25//usr/include/neteconet//usr/include/netinet//usr/include/netipx//usr/include/netiucv//usr/include/netpacket//usr/include/netrom//usr/include/netrose//usr/include/nfs//usr/include/protocols//usr/include/rpc//usr/include/scsi//usr/include/sys//usr/lib64//usr/share/doc/packages//usr/share/doc/packages/glibc-devel//usr/share/licenses//usr/share/licenses/glibc-devel//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:36653/SUSE_SLE-15-SP6_Update/06c69cbeb239b2ae9c58e2fab735e12e-glibc.SUSE_SLE-15-SP6_Updatedrpmxz5s390x-suse-linux  ELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=2f4ba560d8c4c9b799d65d76d968d9ab6c0f26ef, for GNU/Linux 3.2.0, strippedC source, ASCII textdirectoryASCII textELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), not strippedELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), for GNU/Linux 3.2.0, with debug_info, not strippedELF 64-bit MSB relocatable, IBM S/390, version 1 (SYSV), with debug_info, not strippedcurrent ar archiveUTF-8 Unicode texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRR C{g%utf-8950ca4bc75326e415b3d2dffde90294df0ec80b2642e13be5e75f44e7920261e?7zXZ !t/]"k%< ^6ߊc|#b3&(_] b:~5X[Kn'QIG~9Sd^ wcR|b˲)tP"r":nl60H"GҮh#щ/ZOÇOesy~FTȕYtUZ )1|)GB[>-/-'$3X[(h*6XoTBRg,u3/P;̅ j]+YUjcϫB?V;y/3ٴN A\~QaB蕄zh4#/ O:#I jv;\19+kW8-OS#t!jp6.(MeA!vBdkH66zÆ +:kCَgM2eTΝl6]6ᖨ+yQ1Yh)]@lDsEZ)E 㚰M"; ]RFBna;+̢Ƙ3ʸR\ѳ-]U IxR!YK!_ ;?+UI&ݞ^)/7G BF<ؐ៰)E}y*8BV^[i3OӢaȃDc$ݾ&GСrEc &;kR6N{N*Pz#pȣ7V>={bVIFOu{*Om)ʲaęytFOD. HW;8 ZltOߛ7n fڏ?%s㚘 v;tqaɩ.+ ^١\{ X/r)LvK3K"8f9k>(nq k{VoGT JAQz ՓC{77KH#)a@s&ѭ+d:XO5ϱCJt1;L6Å0|hs^Tkxn7#zP {Y+8ܙOhF=h]i[`wrУ PĖ|D!q@f/4~̀,vtF?4Tv2#uؿAԜʖ<ǜm t_듘CT\ok[a<{I9\[E)D/~Gk$[)*C3w8MaYcJ4׆/Rf 4qt巆 D?łe fIЀK(+t8!O[@#٨`uHD͑eߏLqNv. +#՛!o=Օ YXW).ms𿊤O+.R( d;Y3Mq-R[usP`+6 r[M(mvI+,1o :sIw1h6:ec#;-l;S w&p@BI;RWo+rI^G7- ps[]iٺmFfRB -F(6bKZ`2פ@8C*dsu]*Mb S ڌh:Yv2Q0)h_It'tV5 > Ыv\Ѧea#q뺂^%1p`㤸.9&JKPݾ[k CYe*/3ߕGgyk"]{e ;*qoMe!Sw:P>>f$.YWa6#3qx'T|!d2tj\Б~2"xr9L'#p,@)VP6_0ҲnKlxֳj}*b׃LH~E`սȫpjp|0,x- D})mQգƠw΍5X'|Z-_Z#Z,P+·ܨֱ;övba<Ss3<& aKF1\-E7;FyKǠŅc̨C鞥%Lwk9ks #($ۑ(!yNQИM5M Xc²wJz6ejz]B,e2_ 3T c`O;t`F9'ql fbN{) k+c\qܘ|XV$Ư7=I짓㾩[m#l(a)+z4%ZYz,R+4O4eaT`o ֪hER!Vs4#k:E䙗9=ZʧƦRMM"vgO+)MmT{7>Fg wqK LJ#ۖFY檵y]jt ~at( aF 3޿ \lCOLR/^3k0Hiloʿ2Ҝ<j1c#?vV=`aU+=l3UG`K (Y퓟.S3GnL&<.]QevM,qe=WihpFlr¼&1i )ҴtOPv cRy? 28!?s!qmP1^H$L. @`jQ&;`*dAװd59d>SoI{}%XDkRN5⡤ɜ芇 P <xWr'SCFxUnȟ4e0yH`u5m›(( s- 0p_67`˥/JbW$eaqg!VU~b]w}H=urZG׊JV2)\ţ<Մr=ъ%zh1+c=;BLԸ7Đ[h{C&cZd8໏+yQ-ZϰW%;4M'N` W!L eva G ZYL1`T liH=6mgO\~ӎiJi-\Qd&d/80;A!>pwo [; gԱgKW}!nk?G݂z}NHSBMw6D8-ox{&T޸M|u3zӨz `crL[H }K{2S8b@1!HRgeaJd (5QqÍ`[a6z4a|GzF9$DZGKXX '*mb5^:h~]$Z|֓X3uD oۦ%(l_0]GW$", ?F6驇'a>PE֘|\-t~,R S7(\4"CCe)p% pj(/(AI*#zl]>Wr:!js! =l ,BH\S'p?Q?>B-KcoSD_POev v@t셜YJ9r/*9Ncuk;+m7|p E$FƽiίQz-§aI=}ސ6yjfxd@wULq{3}νw0jZ*X]A4| / q[_gt1[h*wn\k'K|?+[Gtm~i_<:⒔}UU:ig`1'b,V bhLi9UK0O@t\Օ":tQ>"ۏR+(hN[0VL?,U.Mmh{t=84׮9nfů 'IwQ̉Chc)9B~` dϓ]fd_0`H4 t\gRe۲Bi(S Oz"UP#r~yl';׿ǫ>7:SNlF)H6Vw\#5ts=VQn`6&eJnB.VldO㱮ɮS8´謍?53L3d.B-(7i3ϭ<$`R.ů'i1îys""zVYRrY#|â9v6R`@:*V,ȸ 3JؘqCF"DFOE }e;*fPίt2MhO σ ԥ~F™v/X6;*E@zuObDzdOD*3C|X#Q沂sxEw$_4"AH ?zV3'?'#=^]Wj*.%5:oM ԪʗBӊg>,,ClMk|A@:SLht X[_% 4ҷưU?&?>؂ SBb3ƣbd|3cSOن;ڦPfJ> )m ]'k{[0kX~#X+(h\O4Ejz]h H)~K{S=^ΛuHIOfd^&Jħtrv8F[1QSɌzm  |P䝎.LM;u&)9H]JL|T-NB}.V߹ Yx$8TK c 0bPԸjTU A5HfV=lBɈYZ&7ߏwS4 NtON#&ׯ~Kʁ-%u5])뜓/>S9#@gUdEZlK1zǻ;+kMy_*@}bU@'-ky\&, ˧< : *9(ʷ?ؠ9u :/{ͺ2Ox\5q =f͝tXJ}JeĀ}&5cGS:":5{KܨtwPyPL8)4d`E:^: : wg} iRn_NYu{QuԎVKC[pb15\ͼ3Y:Y5x1ǛzҒ Fؐ +{Nx+h`NsFOè 6&J˸}4 @#r4m, p>I!՜#ѽ}_^;,*P@pߎ"ݒt?^P1e?&ben*lZEDy?͐P̂KrKݨfKED&l%5gBf+_Ƒ, =U1[D ‘'ȯؑ25dcّ!W?Ķ_Cw  ~f_o!>sP>ss1XǐPֻzt |e s9չ44B>^ާA˲x=1:m&Q!YZ|=]#f'?n8s&h+HL3=u}eˊ`:[Ws?Yd11^D<-`kJpWv)ޱ *3t4" *XP5 K 8LԈF>f3`@U$9[=Aț7I[uEX=;Zh@ ?tOigut \b1 "d?ڄW_=f&41m+ bVx95ڢ4|DxwJXr(z[X)5Avԃ%̱}.7CI\!Z;k ? O2Yq*kgBYƌqt|0<|rȝ0Ё-gS%2M"9ݮp0,ԍd slQIi9 &cGw PFRcBXj./6LecL \/ME}Y+8Qs&zd gke :-$$>H[M\2=W,vWطn8!r)VA#D7ዼeјx!1 e𮥓D?ͪ Of]&>*R`ڇ ibUR/Z}K-7EhC^ ۔Xw&[ƫFڷ xy,tbL9Gs%IxN*"PS %?sS#\W,yq =BCTo#.D&]u%!&NR Xr*@J,gt^b%?12>OK]˜&AӲ9׋*t[¨J;y((av!PH+ԑ`XI Qyn(2_32!4[DT@EeUCG ֦S " %QӯXĠbbڜh),3;Ͻsa{U4Ft C;&$Y+$Hm&;gE ^jQC|w_I$v͈c[h5c~t]44^kA^+n8~Ȇ5I!IqA[΍C㚫(ۯRWL$ż7v Ӵ$9dq2ƫ[(5)Jc>DOrooH=42gs9瞪ޭ&MЮ$Jq Ѣ16iW5i/Dx(Qꝗ[$D*HSs E\oYweZqЂF%BmcHER v7b_ĠE9|͆Iƨ丼N-sq}邜Z@h&=9y>1U{+m6p()X BA{.gjc׬/=˟ AuE[;0*'m'F KELdR;3v`&ڲiDL7f`0J(!'r]!?u3PT5#f0LKs++$=(yǀd>8K4'#RD %H*\z$٠fϲ+T(pF4,JS 7_RȜ_&gVVgXL>q+kaE{c;ZdB"~#Ad|/҉3;B8ʼn3nV3M dsx=^Sr.*D١L&3%_⍊:ᑆmB"CgalqS1^,vhH%m8!d :*pW驮rC~).w\\K[kWyDbHJ. "[T!`[s5tNha-{ <{,L[58h<"5+Fe.擤!X C΀]v_,JY Si8Q:qpcSuҗ3>hf*Yr|qXoR9-9[-Xnͽf|DRMTpCܹ$Eɂ3E2>C 6OzaDRt~Жyy<֜V+F/0J{RL?zCnr%:ݧ@Ic42C}rjwA%LIS/NL!@Ҍ@:KlICƽ,HSN-M;HG WEsܝfLөztfݭ|`CfuC >E"'9a f1V=!$(]7[p9 F¯ Di.>(\ofM3&3rPFP@!8?iQڸl uf%Yi8<I>uE3>~FX h䘵8`Ҙ:ǬMrؑrZI'#uPY6-"tyM49<(j.Mf`b<΁Lb+TgBF;зP+9j>C\qc"ARZM7C%l.3""\lSlcqYnpz#_/Dgpޛs++WJ 93P:q2O|hQ<,ИϩGٲ/ f ,FH)0(oNd9BY>Ov Jm\99?"ѣie.oWK9L!C<@i*[Y-N%՗#SρJT8 ^Y3 CG0s HJI6L$|Y>͘c> הm2(K4V}" iB u}Bs6a dD=ᢈPQ^ޖMf~RL8_֍FwC TDf:Zk}ؒ~=nI4iÒoaɞ[.1e\ ̤ V!*۱g/:ఒIif{;C՛i(Qvgt$8%1@q~˦58mJYltN/IFePK`M$'T/1yB:6zDT4luWFǓ&rAq-.Q3w"#b"wlDV sY+`^C.U((z ;sP;2.x[</0`=<*vU F[_9q~0wipS i̠o,Q/9vmv ~P4vkAO*~PYD I,D=s^8ӭ3k"G/t@fJX~ ZPs+ "-zx)/-R$+4$7U: g>pU * }OWX/ppsha;)!s|pguL sjR9S]Mm S֟xtoc_<{qY?X?a:! 3R`rAw0) ٻ!ٽ"C?Eɠ+6<mX}FT%-M9腐N hƙN6ҷC,rPoE//B`(ej!}ԻY`#8N/t"%BI YyE:/\#rB\>r FK"ӟ*@՝NE0ňOiD'A# pCї, j&ATo<-fluW%ΒaJqA<[)E>FR: Zo!>zkD8X`zŝY]>w>3F]c:Ѐ\Hf5iET;- k^e i=kUPz)~K&(ƷEy(hj7evRxRh eچ cRSfF @BѼ`$*9n[ +ibf-:oW/[3s Cc,S*vژbP<,hE;j-Wo.nY0b^Vk^*5>> 9jYރ Þn,p09܄^.x`,A̤^_x+;ӕxRډɢVD Dק;58ΧP 0MIck/WSr>L4=Άqi)L5C=OGUw/Y`?xgs3ṶV}:ʺm'"t;!z݁981￱BY4&Ӧ[-|hni.C!z&~sG p&|wi(frmaiNI1vK?d:SV|]7 q]o8O@,$ᆜퟔbx$l4?kXQw,N ЎBڨ٣o5}9 tI:Gjc/LX4Cp_Ri3G2n}͝nM}LlO|0GK%jEh v;y.+/6 X;<}"V{Ri-=57RAeﶌA&÷6k.4> ၪ`@W4`blguZ .f$K&=Я Y"40wfkI Dr&eƢo[=;CObV>F1&r{س!Mg%juI}SΦܲ\YVZhi>{";GS-r)wIpeqއo|O]gm}v!Ӌ逸*hSvٜ1jd=B[BҸ!@`iYllt+{.wrZ6!U qʡ\=v! 3]e|DғC*Ր>gQ. # G :[F ɴב#`5E亹7mn0,R><@s1º(hkZUq; w(TH-oL#} \#՚s1EAdwO;F|(б[˕pN=*;LޭdJ,X<zEL F>Ra 2;e$I-.r`Ÿ+L;P-E`.5컎  &Yce$3޼LV̎EGtmx3g>glB~F^DJr>B[U?2m`R v|h&L=XsAX󳝩V n{ъ| u>RIGx4>K\cGHޟ:z1bS T<6M=n`U]S*t{ "bQ]ҕa%=D9S)鈲]-RyAU+P^/Am $>|I*ݳR83_.^4^8 Fu ۄ{D'']5X y;y l\YQ檩y,$ V1i/T =MJZvtU]+#~Ҥ4VGfjk9;ϟAA+.8A|:ɹ?ŗ_"lkgM ظE%ߋ؋?41+d_֞j[leR>&Qoٟ, +F1zASZaW``72N0ɫ+seڮ[Cd_7}!B&,SO)Q 6==~$0 m%iG |{pS/py":.}X{E-:2ck7vX!fɁ%Wa\B1LCZtX&/H'_Ғxv Tj}AަhcN䴸:dQf!Nj[ht3N3cO}~JD6dp.ހY:1y{H6ߑ. :\X@_hʴxmpH<(a~K'f|aJxy Z<['ލJ Lr^ ˣF &Be$K~C#0Zļwf>c(WF_&NNFއ7=nK|8%3.Aʙ[Eo-͔YB}#96ztY ,XXq, B/@޷DLn?LdшR/GDak6zEoΗB B}?涼$_I_6x@"Z"R(Sfe:64 }sc-IL\?P#1{Qzxk{>5ME%N`@HHf>_y/U MCHeXo$XrpIIp3$M|ilޫ<3_#Ò-Yg xN3lH[veOJb{=n0-G:q] C&ϒ-|vA%]mfrtk{b h,Ns%5)Cގi&:.2+1'N·8~ p.ʄN/N,$#ttCz6uAfҸK8fch/}+eB"3Jyۼ?HVMiݓP< uV3^8o_5H_V:Yr* \\*|3]=83q%T5kK&cxj?‹GI6^>^ʛԓCS#MU=ti<$1v>Yb&؊,D!AJרtlZ)){/NlǭSjiGuCKFw >BX&63P!vf=HapnaF$xlgwP8Ʉ[uG-ŘmNXI!OhBl9R?Y#":։A5(ڝ9 ߈$}D*w dhgp4;$s׸!kR4/=#Sa}וEf)Jm,s CQ66$ȯİ 4s=z /D^>"ёvWFɪ@#Gt)x>umu:^+%)2q5eu*mjw1%Q`װB˗T].2[}KC"~!1LkE5 $Io5룥qhvARcM* ;ЗeOj+sN&nE_-~&A  v.oIuG.໬?c6Mp>q\_8;(N9 Y:}5L`܅)0,mH6/VTf c3Li~I5tr8v18&c[<-ڶ 2SFͳe,Pw&usu\P6437eA TK[4nT5aW7,@ʷ[i\ 9]Trϯ24Od>{q*&g fѲ$ SE}lSw]{ i[;w7H眷jc@.#z[ E+bajbLV/em9zUoiְs-h-eĂ{ {ءP2zOlda&Xfa]?:900n"TQ^lunv٭7.GqY3@]}/ܦQWFal0ckY:wNSѣ/2 czZvq"2,O@ƟoqdQw/=*%fN.6&$WJK夯?NX(Of#;^o.2ؗH~9}u^I8{*ps<Aژ}@5CI#eL ;F&pF$N=E5]wswC$šL2ˇ/A\N%48f4ޤf *M5 36 Q;8-Lǁ0~ ԝ/Psl7\*vz3365]m )>M鴧Q?:?y6MIcؽ!;I q-ƙW+8:Ь(G/E5GlVOu0@SBC!wB΃ m9f{:sx%PwaWR> ͙*AʢPT٣VǹdK=Kwh&뚝R0ΠAi_DfMC^cT\`,'Y~5كC‰H$ MH~bjZ/@l ދ9#ٛ6*g ggN3Jdy>^6Bh*=~7& 7ϘMK ꆛ\kRFcI[ܫO|7;oi$`T3ޑB=L2lbHK~3=n?8Z}E)u¬ xDk}ZJU(Xcю.[՘<9v](;9A 5/ɽ='4=<e~u+8%6]2jYV@oaCƊadKywm 種g*y{8v 5v0!|5n_a4:ݯ`A/P@!#Ze%?;涹pfA]ZHRc@ދZ1yhU9ӟ9AxYMj:"[9_*R6Dvm P}2ՊöQDֽdyāN0c RG W{",MTEXs4wi "9)Lø)%upvfܵz)*lCv/= 1) D.Kf(_3nߋ>DT)OSJ'̩%4c4\@G"q9j=eNtVThuMTe%UX>Wcp!VwǴԚ<- 熏. c1~'cj"J;IVz{"jhx*PI)ǂ SLPlO鰙6 'Qm rᷱ8׻^:grf U]XU_Cs@0K{ln_耹Qw@^:r4H|[(պvRĻCo6&8ARU\3cl'*ĊFhH$ş֟/#TuDM#,/qf>SH#ʑxd$$.O; v HsT5Cb(#22?7?ʊڗ@r#7#YBK'\kVU))P3;/>zgڈ woQ&&v|Mv%_$C>JXM nR?&[2(!y̯lH nŐ =vC&-;V1!Z;iSy[XZїԈ:DQrSL[~2`,}2ZL]1tgwe+O ʆz&[Jզq%9#../K83Wl>}>];jZkx M^q6!4I pǻ(s~2e*6 ;fQL*d_nKЯ~(Od$2KWe>od>f^6sGI,q]˵% lӶ[ glȭfY+p4CA)6coCqP7|Yk2u`kE+`Lb,XfG a7ryIӭPȁ6c$lؤ^?P9OcaF|/})X@iKW~8jzZ{m?^x6}={pL117Hu࿏Ð?*E^@;?go,bKAhoD {Mj(8B9ny l1u}t˪$W審fpXFO*NܚSF5ѢOq980&$\`+τ_/"f0G׌P$!s2l/um.\sI=72aV8 e[wy5jCYQve1A~A3"\, 6 [ҷ&]l3Qj\|43ynցv<RЯfۯ,.6N%"KבC7A Ĩ ĩI6B3zm@gBTu^/--HL4l0d=2 Lj@JpW  2|sYj5ex4CC/h5\'RӁd}[S; c/lRڙ@@Bp,oU߳|mnae+d:Q-8)NmJ̈bGO< zЙDTMNx2@\n&r}_0 +Ҍci~sF|$1DhMu]ުP2*蔚`*Nn*m" sч^|6#3ԝ,B:uYb^@:gx"hX^XpP\ۘuqN!oOH^O]N>ROX=0u#>c%pxFp#oCjkE Q=,pS9ek 1),!v.9WS7 eI D =am6~#98'S;w]x4D__|PZ"`ޓguDJ$X $79pZ<;GmЙh PGي p3 ǡuD.t~S1Ϫ 'c-f9Mh|=ߔ iLRUrA!?یMO^qo'Eʁ7LJt]QP@OH|.+we |ŋHrV9!"xe]Ee@1} ߈_ ,CGc@_T4Hys\ kK̩Ѝ i?Y\nAZqieX,QB9ޑED晪P~N#=>vֿ7-;V呫+՜M;  {`*-C6\rծB(::Ásݝp4+&U0 kOloF7@ ]*h`Q%x~ў\4飏*:((7]YL-6!&%;w&NQ#:giܐoI+~ Ѐp{Qe54LZl:A罘$=FYC4jO:Z୭;lF@=W m!SQy -_~⥊NI胑$wG!CA)1<n6r}vnCVI0EVu»Tu3) qaeTM.ElZpfmIZ4F_ ~ZaLQ̠B`;ʤ"Vru"_Mza@#͚K!}? YRa}'ܼŢJ)Zm,審EM šۆu0Y{xuBu}B 3c?0MWQ{H <9Bs ,ȂB j/iN< NȻ0 DuoD͟~n%.U}-V:fީQ1Eru{h%y<mBd'=4/C,(Iebh(w~'I5dsܶݭ[! nE!US72\͇| =r#Sdᑖt~zZ8I}Y/MhK/05B~bN:+TviAS49"DknxH"~C{6ʇ>t'5@e ʲ:|tǻ*ւ,k%EAH ]mY.q38I_??wީ!k~o͏I!,ܲ+b2A׿&+:5ښd^OnΕyTkhV&ZzKfBҢT b &}VT3tک6w_q&5|u1Yߢw&<vO02y\w M,&$>/PhݕxIE俨Rѵe8;]]x W,_,JBGPkd"KSY01}%s(JIwB)ômp *kTG~\ ViǍʁ/\l3d rt64a+o#ߜ \5|TL'K}!,s[ޱȤ⟾@cM%Ť+E{zpٜ?|G'yے瀻T ňp~+{ ekM:RE.;"0,-IS>g :(v]ŒH~vq3ʙZ"َkf=?'Eh'©sñNxnjYZ2'AkN3+"?Ĝ궃9-q} ٢KVOA^3`(\j<lB80꣪ȩуMC;y|!_׷W&[8#km<$5jHүӞ ABDEa]u, 6 q -k?I%힍C.|'/%^[WO\OI7Vм={]X~I1կH:r( Xi 50D+qGtOT  ,E;Hk.ؼ?':ܪ5gy8tF y?:PW&I s3cm_U;R!0y=rev*ZPaQi-pOij\JE] 7Os޼˽foαQ|IxQ=IfG:;z0B;ñ=Jk9mevy/ R^bcdc<^kGcY JtDf)I isv}M l i } ikb='f[`R4z$y+bũE,~uND <&,ޝdUPh!>X89dIT0HV4B+6,"]BfWc*/R=V9b0Ye,qDZB}dנkj3f^YAK'eP>"n4HLŠz.1wdu{(֭XkzƫhHi>_ź8!g+v g]Bπ<)`Ѝwx Ⱦ̛nZh}ǙM^;FE r,)UN#>.ڷc{78 2x{l ~?O@ 1\g_YZ&[IqxzQׅ׏mD" !ˑd=^O .fvʈ}x<&Ɉ\Ny}nN)G͞+$too(I vb?-6ϗEn*aB/1 }ؼ%[Xm?HQ_Q1=bKhNi \2Q:=dt|KgQOxًo\Ֆ&df3{;MMVIJ++ N e$ FjkWr9صgG~ gZDJ7< 6¢ "Ui5+X*F+RBm1o/S gWٝ3)э%?" -iGp4 i}9H0.)#ɶ+`̨tjdDq0ǴQ9[6#"!R6iUVϑpcofԑ)٣~ծgU뉴͓z1✦ p 2iǨJaCΎ4yLta Λ-L"`&*I^\_`d1P5@2R9Zr4VlD&z8VHLf'Q7tnI[-Ӣ(!'ʛ57U I13!Oz w#ggICUȊPGpIbJVSw'$* =_g>[/WvJEɶj $JT)G5F7>=o= ^wA]O5! J\)k5\SR(-btcQ.ޯ>=| c_^l?qs@C 6]\왉N|شT{9|q\sh-vC029z.V ,{-u![c7|n#se-aA6#kL :dO[ZgӇj2sbWt@7'R514(`c{5up,ߣ{\PuYŠ|c=^9"qإݰbf,`(Cw퉟k/ w5-}G2W M)ƽ]M{EKaEz )Ϋ:_44'!u=ʏ/#\JYM[V eeF ;;kn8<wVQGEsŸ:|Y|EǂK51D᱒ U`yY .S.½]0v{t#~mSS+]a_`;<=g8]'> p]pFbJ?1Bha\610=j"NK`2Qb@Ӷ)Q?JKHiaJ-{=>kOC _9*g9ao1[*TH͹ }߲X&*3N*#+x6Su `ۇ7?(f&wz4Iތ,VsV9bH͞ҙsV t;W`+%i/4 ^H~i[ZgdO$˧o%~ĉgZ ݸû\=v!Ն_Nʪ?}I!R[r@[਎Z ނy;7b'ܥ {2m&*=IƊ+6.I~{]|+q/$ " D&a`^3lI3H_Q1Ro/&&d"UpG* [m4G$T=~?:Vy5փOƯEE(+$%qSѳ>-X.j$EgfCq*~8]h KKz6p'n]hYOldXdmMÚhj?}Nt ) s↛#J'ѩ#7-\q_RNQcEnH[ HTnm5]cGxEMbg&/s׊S߅FͶk*v8@V=+wUGR:15&7|W1eJMvh;uZE8K6WI)/ S8$G[H]Eܤz{w^w4h|e֣|Y{\9c 9t E9%ݧAyn)3(g HKg͒)XX܎N8Mf6ӔŽEFU'\T#R˶N[/>g$9NTEN4 vD]BV:YBۃ7T(!.clԵnjӮM'M!4%DTLg]bIIugFzz.mܚ`Ŷl ~XPwS>q^g-oA\vNx c8ΏXk5Zm3b:1 T%ctPY1EY$}:-n!pX\YЅ 6{ti!qs>ti >Uߠ Q(⍕TVbo`[@ 88`Ғgb{&'3 EV=JnkF Y]9R6ͻ؃}OI+}+|7~I#U+ p3X`臎d9~YooQ1 ="ձCՖQ>z "Qhiފ] Q Vٯ-~I]/57 ZX),W = iH>/\9Wr6㶣ش ,2v{O7¨ )2t3+IU`SхӺl֠&Vq}5PsD I H@g3Oq:4D6cq{-e'A"'9FN92"T~j\ڦ?*XM ׼<  s9 Gٝ%GN * "Hv`ީ5yw2e}[I[IWbmFKtoѣ4KmJK-vC]6C b5xԽu) b٥,<?vq:~`#wW[}xM5eHs^9s(smd| $ý4r(ܷ ħqw5FW酔kxA؀ѦE8PgTIUv5[Z5GcGLo;Bqg4Pf@O=ϕɋ^;ی/'ʽ/D xDtLK槲 Ͼ' D oftm߼# ɻ!/{TlpDi[?){|P(af+GCl8ggrNS=*4cH ·T, McNm: U-{nnEe&E2:T鐧()gR&DE<{%6 ~`*Pde]ֱy*ipPT, P&{Q'RjKXzDR4 vԯ#$it򌄏@j(w0s 9 il1$@>DLS7՜H-^)EttFr )÷0„CHyTb,rF̈́Ĥ)o$&r{^0j:kUc Dr lLHm߭$ذk t|m3 ](E淵7_".s'zĎA+ַAkv6gu v+>zt_\/dE@.߉ڿC?Fm,n4},`ix>mTԡ'rKaapik,?⩉,, aЈqt f@ 1南a:F?&]rN&FP,+j|tzR,XpInU^n)KAD@ c,O K 4V#O:P"`+9 9dWF}ʛJVc)Vf?ū]lRxR _ H[{p|js"Us 75 x5T$dUOr%V'bӆn Vޅ=oT=~}:,ޥD, #Cխ ss[ޡ8Iiǰ1<\h=ɶlr9B 1՟M^@@B\0R!8[/eA'Nkk|>Yjy<Y#GŅTl|y-g?Il3KfקŤy5O6G$y RYVȬomo>svyHl0S}4<#ʑv_̍:ajsu^M976B½#\e- t%T%)I_%ls,`Z@8d~ct|$`fl eD>G:wMCkst 8?6ʀ~9h jmA[潍Ϊۑ`hCM NNrvUQPYl@~2xJ>2!R苢wؐ3s&+ Z]ƫbcZiCӺO_B?M17lW[* VK7|M`ĭ+acIu, '}R<d9#"?l |9:몽YS<iD#R$ c--歶x-Jl"r@ y8x3ZP iDΒ %~2.:(w&Cd-% +.q2@MmnЙ= 9~Mm[E0ON R_!1o->VUwCP;z1@FM-ۂh$q#Q'qg,=-V 7QOV= W(m—-۲B_Džg` P  em#Gu^"~pDd/*Lô۪~Oz)ŻOIlb&2^;]?261 9W if6s/d>쳣R^S<6iBPgA}ZY}.k2YS.Z{T\+}җ{l"׉)bl]#><8qZt#$ ژ3YE1{G. 泫VB6 ?̦g>XVHcp`?(F;św]SݱJqPJGmYoQxŖtgnH$1h )هFߩ>BI߉ 如 xzh$h1P;C(z[ؑ]٣vmfEx6,jp;. P@P8[or8)<[8Rakg ~!`Tr{}@@v޽A$6S`V^I3}7q$WCЫ &l7~HyN?$(QLɒ8mÅGp q01$jIxYU3`4ߔ!QĐ^Y#AOPpkFM3yİNX ˗{#Ypk00a2i#2t=FM6ISu5b"g"b)PK`_ށߕ%گ!3*[QBe#1[EV6X. tHd*Ʒ"ES\1cY^]Fv@#IRĕ זwmz؎h`ե9uv,o5d Ԏ{+[UNF+(Sٞ**՟s Q7P ")wi&v&?-B٫:S'LJf /mU%TyA0p1Bn ZJ ( MumV4!{U: `^(*a|]'q$×˖W7iW֐=ԣa7Z;/\E~nQ2KI meY#(+?XDG~yD@s6e;6rO^<$ +Z//S2Pkpy%[MnbH8tSJ9`%62Rbm^n}'у8cCŴCBH']8H]S"Wo!$B9(bEE`|5Q Hӳ-o [eZ$J1(ٯx'孔5:9٧\^atLC GҡC@LM?>2;#mTE!]/B.yKt&]A|{<1v׭GaV3ޒ\|6MY;e]ezaP0*lOn4qT6% 5,X?5)S?|@86?a6_GL ʝg!8yeYpT]ɷ|ٜaI r4,?iRr,F AT(ƪF Ma'ϫ_\탓t H9ԟO ^g y*~K*R2Xr5`fIWxYF֑<8yga]OM'P䧿I4I>Q1>_s0(VT'PIBhw6<n}'NUFJ8Cwmg}B܈,^\[Pό {2[f|GcP]h?N*PTδdhK#& 3j=@Kr#@ `ڀK ֠XuYʩ;C2.fE˕e)NRz`5sf fu.F\MFQ  K%ǛBr_h`5{1 A7{f*gE!yMƇ՞Rɕl]Z9xzMhvE '7}HRXd*i GϤ >eg6(ܽ,SˏEL^8 & |_CÚJ+*ϡػy*.Edq] %\NHjʧZħV)32$O4j) V:aElhJUs y fs_WNy 9:݋7>yR" i]TOJDdVi>م3-~SZ"G9y:* VI$ŷT%hS։+-Ʊ'v Y4y۞?=}a*7(nbq>2m#2}ݤ'Re!eh{ejN`\ZUdŋYHHG;ʌj'sh0-vl+!ڵFR#lxbv( 4!4cCg\|ГؗYM{6[== ֈ`^K"8MF̢fU805,NvSxy1hb#N;nYAv!U&(ZfX>Z14cJ35-BࡥcoN_u8(::0lOYQ!gҟ?^,~d6ܵ'fnىhNY>҈]ֿ<(i(QEOƻ:=Q%ZlK=6nך?ό 2i @"HM?h 0C9v붤_s*IEMIY4-@{c>z@Wf9`FKl ӝސ(E&x 7/@`X? i3EP1Ӓ?ns썧/1_e,x U_";1" 'Bwe-CH4mK. H?J;hOBO7K\\h|pS+$n/Y{xFo颍p4|A`Y68mjX4ڬ/UFYĪy5*3@e/NNg{=gȸRSq=毗+/W6ċ;AEKwd[ZTn!NiC*"PJf gl`B.&Aj{~,u6[竔 k }0O V3U=x g=7֏ K~7{ڠ׋x5zljbdڤ? F< gbGoNF+y9_sfknٰ,[PjaAjS3"redh$=*8; WByW䛾9=n|jI  hFnNW DX~{̩[ [o[8GyCh0.%- x$y êZQQGY>Ю^h*ć`EsF:+Wٍ'm^lbjjkV;D.[v+O2 +*F $H69b;9ɤ_v4!Ov5zSbx~#u8CUQ >U%=?la\ծ%ԚA2FSOV ,Sw]]V|S*(}Uf紉7[nG7BcQ%ɓF&#`(>'TH~5Kt!؇Ʃ&)ՠJ>ȒxO e}Y܍7H;O}N P,ճ1xMصr{=p-!'w{y6L傓![#^ Mı02+)EhsC# {|dBUK`) }wLt+5E?JPZ1kpq*"bFkscȝrAq88]Oj.m莨 })o3a=8OZ ]9}Zl:rHZ'N[p,7a BGbi,tt5Kށca93a;'z))5Yhlh^s!&vT/w%-7"7J;j*{;SX6 BNyÍVb?]B99ѳ4c3x1^"ϖ6$ [uO4q$qU> lolC&33ϫ|Duĭ//epSzf='d!>0 FB {`RAR9:ˊeR9 P6JN nFJr;1^h" J0WYw\, Zt{33ΗY}Pu/b;cW0R{~mߞs-|t\1lҸ\gm<A_8<}9۪\vmzjcL{m Of#db D`H$tVe5]1NJ{M]w08C"Qۘ$~jd=Wd,tlm1T%ybﺟ P6hu}0dflEOTJGoeLigfS>C߲l#=غNT;)TgXv(:QGZ$a߆W˻Fj`#}%Jv7_'QoDn:eJ"(Ѫ3\Sօw\[V+ptX)N Ⓙ h-ah(({9N',ǰKq1^@pk"w+ϡXn:HJq)2SLpp#Ӧ.;;7רJɼVdzbeuçtW4[ "D 1v\O Yܠ΋w1H'TsvmC;b)gWE(M2Z>`hHqMB00L:BZ5aؗYzצP*O j;:bh ԼWr^{αDe  LM߱ jc\$e(:VNH&QW N{RWEFhU JT]V"NP|f5 c5ݥ&28YQw".OEe8Ϣ46|$ ivCEbm{9 2{fwUòtTF|}t]N>k- -IEW1rJ$:[aC0t+鿻ύ0P} s`JhM^W0:'9~:$4l޳&kR_V$t/!ak?FKj1̗J:.W;2t!:VG]ɇ//1ƈ{?fz)ȭF 1Ɲ`\(pT' ʔfr2Ze sBLߧ&IUƮ޽4چ'>p$}xP"e1RmrKm2-cy3tQn!/zM=iu~ѡ%lܿ`|cW!HP6eD$i׳bo؟jG+ˣL^)bI(''I3uwʗGA5D'7ͅ fZ U-iNO%%$F++$͒F'ٗ]|F[60SK߰#wGt4_g>W)G.6 &|vPG"%8ofRl` m6#Oj(5 ס^7f/=V.;t3T|l ]pP.g8#J؏9!54Ե֓{j:0j%.8hux;E\ly;NR&I8=hъ\A0 (5GbAelcds3l¾"!/ j 02-03E~0m"Y`)&}<}Ng218BOwᙙj@r/հwmK-=Y@̝v"ӪCA=`!Fpq+ k;{g\&A=W߰O0̈́pTy]qB֌Cqg.>Z[z#Cwu]=~c:((zrOj{j7^2"w a&r2i ?m )7xr2Gt*&)ӟ{mʹ"!eֽIk"tskz t27I yʎY2wt#5Zǃ&b>212>m ^Z+=O?J5WvS\)>WB>ѝwɆ~Txvo(QVA.PV+d N<_r0XN>']̘rz5/hSp.Z#™'f HV'+3X_PH8yP<lvԩfߥ3z-7?j'"Dp$>w†&J 42G6+;ŪЌ<0`2M>nQ;Dwt0xrjoxoyflM"vd( D]fָV:,pFsi}!ҔVp >jauԱ<^y$bc;Xͻ nNQs"[䤈?@ޤdl,6[h߇XBTKf~9m1 }! fNDl@ZDN81m4mQ* Tn>ufp= # k$H|WٖN |@bBRI^XV=tl=װFlh@`p@V1mI.a}gÀ\a5imcU**5 TD(ҁ'u`Rƴ{՜0wMWVb&?M@a_0ף\o@5PSMJLmq!<[ɫYNmovl!X&l9T,Um+dz"S/HRݗkFt8cybtKiF t.:&,^7s|ҙ!%7~QAµ߈ f酋NQǓa9U3/jǩ(ZVƉl?)aid7P "iBQMeɖ=r@'\"YDRE=>ڧI- !&X+Z iĸ}x3]CRӍBNk\t$pqP_Ē7e#GLa")+LNYb g1q&Np.QPE KSd/(犈 @ΨgBsƫR_%ul ]A!P)Z|EꌝpCj_QB% {wf-wV<h`N s@fmc/2ǥ̃НW\z[{V3+L{+޳o%|]8_O(iW$-O8 ,$<.e ^*` Ey"FGQnAZ2 \;6v!C@/d<9y=zbAW@g^,Ib[9 `'ڻA}$:v;ay;Gf r pi@:&r9c HI|itBx$a  nQu)'!iS Sp6 }p .ux- hbm\vX֥EVTu1pe '1EZe:y7yK>9ps$E\&۠.!yiZdgKI_T^ϝZFjzD&Wtr|Ǔ77q?Fgf"SjCmk8nT1cGA_Aɍݐ*$,h^E6<_U>w1g9Ũ G ։uf蓊k!s.ws*TqMLbNX<&sHAo]*Qu*x.0%  ?8c#~:V$/9ʘLf@15B$~sE*C:g}$6*a΅+ǒШe9اc9C~꾰$^&Hzf/4PVj5x' U DDYSP:sèiJ=2ح]n\Ȝ$sPKG)n-7 BS2hIȠp ï1x+eT1_e1!܇]c-Dc眫OD::y}VHF࿿uz8M*ڗE+_\hT$36L~4s8%8 |Es. )x 5/JKh.r)s0߼+B]і0 ͝ Qx ]s(5Mޗ.ۜoN}  8;Qc-i`v춨ĿRS 2(tLkv&Ea Qg\ K4a!Q jw`L\Uc5ς211e`r3JP9W콋ܘ|-`-ӵcA)ew}e̬q 2 BL$̠HΐUl{G1^L2q'S,Zo uدi.4펵lpJeLJ*%YR`YXNRo5_RNXyI)Ch f@-T3$G )$,5(P}$<IJ?GIOG,]tJc,Nsf3/s. !(DU Zx%k R_mdaC V+@!ɘOp1@)G4$}jrK2=tH KR 5wMfG_.ԯ&a/ΖmܧWII!;3Ai~t)/H̭. 55a; –%;F\[qò mB7d6㡥FJZ- >Fm^ ݖ9/|eݬMTʺO+8 ^Mc1l/8żQ C]sɧq[kRs.tLOld%g݊UR'^y ۑ=ʥʇj+hGm&'Bӭ^jE'  0tgfi"K`q̤-X}V\YZ2zf+©hjFz^-8)C*G@A?g?5tؾ @):s{ܹ÷s޴nJI 5"4Q JyJ 3qcc`|&O!% R(zշw KѵSh##ڊlcH.+hplb.o^oqg^O-<̈́g!@<@8=YʎXA-H/">aZDLl_,w/W!I!mg|g2Q4?{㑛s_G3K5=6 @,.Yhih*iHxڭr01&ڨeׅ!׿Z"p/dhqcH VLzK7ˁQIߑI(T=+e^Zj89C̆3r@Z躔W"a!E UUǏF[ bSɏ:@(wgOOrӓ(xӤBX 50.L)0oڞUߔܷ{K T%QdMA(*bvl si9#kR"iL*6?Ns5\I?6dsM4-][!J]b )Cae<[=e.Ig Xn~ͳD/mT&,UV}ќK\ۣ{ل@5D~8ѠW]FV۩ErˁͲh6I\RjDI\O>}^>;BbM1=.J# h4#+RCrg:J'su17y/][ ZWrna8⎙. j$z&)xZw$+ůUxOtk o㲀{Yu] DusT{qε*_^S`vQ4`$2c8H=Mo6ӕv+7A<) 2u%zݭGX0_Sz)ܣ S\%Ŭ`i\@ȹ1_bpx?%ݷT֓8YO8t:z@:x%¥v&ԶhlbYPB{ b8B*k!x1K."-c1`&0w.]WW/|i/*h걧H (1 5HijpN0ocxxM+YH]H IGs\"EgM}~Y5"q2}NA|3D0D}O5iφ<{pUSs JI>y%|iZ>!tU.fy T4?⟑ئ`2IRP6}tzYf7 pPa<;DFv"Ѝ ^hm"WQҋޔA kHP%l7)aUVBI? < ʬ>@Vhj 䡅_gUD 'xY.TG7lgyJ]+b1Gh.w@L1*(fHuns9sL`3ՑXzϏOSa@tܒ=UFR1+NP„{mZ$1R: 1y51Y{ݓ~TXljϯ1|А:ٞƷ(aO0b Eh{&g:^SC%BlfÔ1J"I I%ts(F D(#@(^˃]%IWDNhyFLoNg@DESdՃ &ԛBf ˞w `5 uC16L#:RIlX\uqw){]/5IXuޗVȈY:U`gkI]|-DPInޑj6l.F'/_udҽP]BeHCe_(YgS)(UsZp"Jx9l8.qMb5[5iNI3-X&yzdTe!·ߕS; 1d9.<- % MoUxxjZґ+E,~ՙeu` $U-U~~}Zsɾ\:Ԍ#]'(ԟlUR!zˈ*f"!甿P/B~5o?%ZN˙%DVKj=]f~D`hl%wkNVN~WBNl<ލ=V>w\9i5Ѥ18D kfR¼ WWSiÐZ1P g2OƒZ90 zy[ jE=`=Bk)f`̉Ԭ ^uUUهԒ1ȃ9'vaHa#gaa&]T3_Ś ܒt[Jڢ72]gdRkp7(H >u\t< J #:~LBq=@oc0Sx#GZT)_q" ƦL!*l,{w8Yc҃8@s3 qB}/ nx7B>d?uh;ls:锡3͏`ti A" aTlۖ*0Pi^B]UPdKA98* |wϊ Y<ʰ69Bkb9c(3EV,0v63Gp[q8))l cCgKƳMR ʍ}PBp2T[<Н#)5g!,K( my?U S*3oCQ3#1)2C`/x³lhmv4B[EȱF@XfFWM7> kd~d࠼73^!̀"pMoXlMgdC0ǭ̑qUϬp:Zj!Uvnc'`FmHZٗ%Pp:9PBրg,B9)}Og6rN"TV'4$ n1nKzXw'vdJ`R+W%71,u>[RUB̡ҍe%7۴;7oq]?(P d14>7iY=L#G9Ίof8')6 vT),ԹbP ntQ5C(i8,= cwDGY'6z'C8ٹɊP= tT4wYN8u6&:ճ0\(b'F)YvPjiLUw-"{4wz\Y֠yU<dkHКò&+KF0gK;?>Pޘ:2ʦT^ ,a$LzM(S1{*{}DddP$zC?M r[DQ&b2IFb;- au8‚No5i-`)d"y1C_(g;2 TB%Ėa&whP'o=웬OV@Q7` յ!Rb+eMOSp9΂ȉ{02?E&&|KSf7"2F IEѱ'&FW>"S-ʄzLu]hz, w+3Pn[q+aP@<'pi)i&Gp(Jjh\5^Nq+qa9d(jN|*O*t45,M^˵ ֖ᭁc1I=:V̅2(׶#\!4`gNJ/S vYWƴN~K8 ӄkKqX\vd#_hE~jA/ca`*5 js_>o/ &'Ikx7Uh*nba@G;E>3AZm"2JIsL#r3H%Q4g+BX s 6 aG/6biHDs.ee&AQŇ;"hÃmm-qN +*z a@4>P0K'^f)\BJ/T*SZ o?Uc\ѱ E ^=}z_);GYj=>8El("z{]N̈́H+e3@Bcw?$`7K]4l>W-} 3EQAI ɒq7o'VyyӍa'TJmb̟\pN1y߆f9>'2 dv_ʗ #KPUMt}lq7.͒}'qveͷ)^ yb"1Hg̡*̶z޻x]{lhIT1M! pRI[[q R{rc%JCVS!V^zGe0)5zHp?mu9}hE C`q.[~2Y5Xڣ  څhW]K#d(J~.I@EvgI1 H4.PJg9v`f$#=BqA 3/'KA>/Aq$[ʛ! TlJ5BeRt%4CTGMiȈKAhwWE); #4պғNVC],̆ &01'l$p||=Gale_'bD]c# mKJ*%| Q=~ůˌ桺ʹ6MjhGC3%! yȌ={ҝ"`lpwDn+F¹.ͼׯܩUW!8:.;k%$OsfN9ִ>]eԆ3E4/:Ũi(͍ :׌S#(6WZy P{nパ9c鬟3\|}W=27 tq[0} 5b2fO7 ;b$7a2pMJ,tdxdU¥p. iHӓxӓ'ABHHE1Fp.uE@<ʗGڴ"h%2ϒ *Ntl!xE|  pqc\ʿk noCJ Nhkx-g-\J=6U%yߥS,)p݄H,kFyuOƥ2\+;~NSzɬ54_$}`k`MLIt ZMNXY'Sǵ-fi(HM<}wA7s;OcT :9G3]̽6mܣl#P<)3&=KOnq=҄}>b wRi񅑸NޡYCC ]Up{>q|ؚE_J?$∷o_ێN'yY. iÁI1wa:acй@xpg~hH~趿OhB[a/쵮i͸-4/nw#չB^ mLɐj%#+x;^8͐L(lp׉dfyy=71BsUQ?lB-B(@A$BO5@SMqGݦ@@^QӌQ O.D / /? H#f`t~M؉u^>CcSHN2C>W;%R$"I8jJ^{sBϧ FJ[f݇h!X#OΘ(-\ кg+ \t( w|i9~` seK=/yu[*^I(UeDdEiT)qu7nfpFEEiQ|so!E͉Qt~#\P,{d=Dlb[;d"}0{J" SFU񏄇4~y*5Ik[)Vh¤}7}?|Rsa}C)+fZ3MsURfOCHO*$*|Wey࣡f*R[6YBrxr<7$i<0틒QZ:U*3+d 4Js>gH%sށ$.l9wwcZp@"cWQ.YK]_R2YN}YU #餏 ˥݇:&1JbUkq"zs rEb?[>[SDWԴG\#I3SBZVN*bbȻY.7Oѱ8XEu c*boL:C휬yңB|L u[ԙ~2H\e1a)uǁ$NFE+Jօ" c!ujl K- RboIXb I D) g#y-WA9,OiMrBFjb8#Un zJ)_wm&XZ(CKpewPtf&CDESGvy5r/rk|CCU0#%wk ѱ 6h]-1=ܳo,V=,q3]W!AĿoGЬFCj=.zkIGznͮ 9'%щv=~HW|pq]];Aa2#[5O@s t[Negix#*2fk#5a;@d)$Gƻr9b0n^tS}ژ﬇je'6&րb,SC.eK1'}6/ebEH0. kbo.rJ@yGRT^Wؿ3{yЪB$TMP(['kȋn0Y~Vg%5,xܞ,S"u$E1: gdQlDRE4;cI[)3v!kRm˗f2 <뉢ղe|@Lc/4ۂ#?YMB2@nZUwG]Ҫ03QXFѐJ_ӣu$6fH^@EFY6 Flu9rUeO 8onu{[qPv-ES ͨlٚdg5D *!*N[˜9:%ʩaΝ9/~Ypjs\_Cak dj9Nפًas5sܰ$SQk i; L)P%j 5\ !?nQXyX\AYa ˑU8#"cܷfsBdm|ѼPY7ulOiG_ ZF:+vKH5 X-)תOK\>kבwfg@5l*G\L 0-QmrX yz3͜ei= eoQS.ߛD;" @6āX Gɽw گ۟~ecqf~(]$s` Y,ˮy@q.wLl [:5[IvdڐǾClƦ,$Yj)-3& Qu=v3E]K@)28b/H 㟴x{ra,!IjI5,S]z f?  ?N{)]@#PT1鲵67<ȭ`VὭ$ߍRz1׀!ͼMiJbPwq6r+m 5 Fo.k뷝~:wll#?5uk/v)j幽p#e cQOo0@e7 fJ`]v=B AsxV3ROnSJA@|OJOc#H\&ytk~5x6eCNdE<(n`y=VmvvΌG6׃yFrV3d]4%e]{ D]  SXUHST3;S2<'J;&B󼄅P6?輹7bܵEܥʓ'Tǫ3\G RaY}/YdlgzjK.H%&Wn0xxDCR H3ɭ]k_ME2jFc'4¿('E ulI~XλC#y%F5Q#|e |ާhD9M@e:2?}-i-_2בN> ,"' j O X]r!hU5_]U((!h/cEB-IKԘɵ7$z SBB?IMT8QS&h}"i7`{D9"`ȠE~ \C\)LU\u} +hGX턬gblʰ8Dd$lV66yaDW#=krᑌ]?"az@W:cqMAGQR b't)do& cM ec{H҂+ ,q[1|[O` Hul }kaz/8H B]yЗ&MGnӼ <,K9(HcrnDcdjrc(MĽvǡs`>}]*5ѾsЏE PR 88]rܖF2,*xBKP.j5֭x 7Ԡr2DXױY?.А ?wA*"#%+2ԥ[%pt@)B2..$ E0g%nm9>Gj\YBN ivqcK6Ӏ33 o$φF}b: -Էh;ǎ~Ҍ#_]h4V6\ԗBfq fʐZhY\8ץ0)Ag_973D@0}[YJoi..[=h? 򅃁9/,)F0~0|ز LCkƑ}CBy$Ay45W{lo/“X7Yi$zld_6 lu3?s'p #.+,6>i뤬 x9k9|ܸ${l]_:x -lL(O_$C0&j6鄪T+ᓳxWOM6GDKp1?͕lţ ƈtn\`ShIIx|܆a:<[O]ʻq^ZΔYrŪI@RGOX! DG#z o!.:do?2zSjOj1WQN /l.G,㪖PV͹^h <9 Q#E^[60][z)|g8otƉD PE9{M8.-]I;Jub3lpܳs%oEz%RR%ѩ/4kZw4m!Eq*ty-}>D#s!Y|1#|ئG@U3`2zaPhad)4,[ǝ[Ru ]mJ;[vcYzKX ;TTن۾F}"Y"5Qwl:egj6=0hB$}S~0p}L}׻OR šͧ l*3fr;&/x4e7xcsG!{uZu0"><.Xzd8m`VT4=iAa<ܑu z$C%=xNJٟxַGP 7Lx6}ߒq3vfנ" 3#˥fmVmGxA ;ZSx\AEkk-]rMR'3>1Zg zp.XzEj'|V8/5%bh_67PM%IV.k4]2>{90k>p_]Fʻć+X+`Zl٩ .oU\-4)E8EU >{Ma,ڇE&D욬VM*3[YD$ioux*s@' :X"ݝ^u ܞ-i#pees@W5OBS>⸣it( DDV"v9ľPR ҋN*w(1$@hL$AX,{1[r.=>u P00ICԩ[𚶪C,JM*_氮mRÑ!kQc/Qs@+^sUOsb$<67 Ÿӏ*EHr< }4|-Q䉶dj)k㸲'FYj@,R>t6|_wRߣFDN"SwrU$2(B[r9=B{.x+jPY@v 4ށP{Fxr8O@7/J0 W1.W7R_7US~3R\q'}An0ZIfR;T?;$ eh!Rg:ocLp2Cw̒Ë?;6Ȣ!<6gPMë)gX':!Z hSz|ܣw[5#|=I3"#d6 'O(ʥA?w@-SYTNy_/Lhрhѯ,,Ŵ2)46FAn-1ހE/n}Pdyp4Q_Y8;3\$`iw4_o/H4|:݅E`A ^[d,!&ıdL|Qr2NnBoKЍ,oRo-ƎX34تPk?B/&<9@U6Y8D翉Bld* {2Z֓^EN(rQ/`ߡ 3I gq"g *n"?eq?j~>e(@,L֞(e?3Iݴ1RSD|-! (N^7(L[sGXVznZ W* gDR1)ͅRB4fkk*K cwGFQ_%VulA#SU=mxŌv*&U2i=zᵮJ l)j6n>:s@3F\B: p!{Nhra6kBJ);#}?{0w`c:ƋJ"D&a+X \w D;Es}PU7s¦pu/=5 0T<'ADv,qڑc%VyhX Z14i-|eUIXeY,nO[GEk,XRη^]TRM1∦ioN\Ƌs>WKㅉdLL2"ڕGs:SMURVlBff^k嗗@Fr^w-;I{.Bݵ<ܚGgHĠdL=R=p)L7'|pEES%  FwqS(3P|2C/Nnfi4+'"uI 42(e|ֻ2훎pϒ8C"4Y X1VboclSשla?TƱ,z.>fyR4]JG?+T@v=>eУ5P[=6PsTrz8}*Tg)kc,&mG3I`Cqz3dk2${6EPO+c̟}(PD,.-(Jgo?EHК!P, Y9\ Nfy' a. jH6+ ;57Q'}6&ĿU) $z̰ ##%S>V J*(GHi>eTuqyz-=jyX-dr`rB t.+@[9g*&0vfLJs@UoC1|9nq<, SbS0 \Lt(_c(g fKyS٪5i^VI&ta " iPՃ0D~VrQ(B+`e ds!t?`6"@.,iQ'xg+lݻ@,Z5ѵ0EwȑXNq{Xԍ1cA.+ ]J, q뾁_[r!"N8W:)vtCDZ̮liB K}QS wK ^xzitl&MwtJk`;vdL8gfI}~Ôݥo\b5V?Iym_{]Xz= _ɭ](y'lK'Ϣܕx<]nBy{B_>YHc ZUE ފ4my`tE)u=mc@j *3úCZ6S* R6F.o1[ʆ xVͥ=-FMp/4\`|p<6`и!цNxO0Gjݷ;'Bޅ1ek00`9ڄhF]%UCtK.PmGfvpnX;j֭$4v!lj&uc}9#׬ ߐaHkڪbHCs{Ɂ* ߱M )TZ pi^hI%NsHP"G*_9x\+oG v%wB^5g5C)i>bF:#źn=Xr~RNJ2mCqfv. V^K̼9k/j%N5?I(/ٞI5]~ѵR=bA7:r*L֡+bawU|g׭1 իW٩6 !m>?-jU"CaKup`BK vުma${}H+ RБQ3#*i6k5,\҆i>",2/r=Kl 9ʔ|4q`S':}5RcovVH P^5J"z9)\lx W-\ LLe?5IjxZ̰:&2J_L||znq{{-g_ϗ `fd b0q֬E&| Ip< E:s0z46꧁4;h9V o3׫pR7qcVfn*1©hl ZG9tczMD6@5;co.;9MWz㈐=yKаik4~"D 1@P_dQDžLuh~;^.6`M*Z[cPEEϗ:fU47I1*>kOMxxx\Af߃}Öt4t'f!qƫZaU$PձυF+Mk71 -ME? ;O^b2)Iֹ U~PYbbMv0Ls:SaD•m*iʊ䤷}WW+C+6X=߿ҫވkunM!Ge.  &kmrgC+?Rkd${UL-۪tv*Y$_9[BY_mFwq: uC$Ar9FW \(v]}y30&%x߶Ts¤BÜL렛6DžxE\,kDlSny[`5K4ޮלe.+.@-I\ c ܏C6mc@"Sb:yJlǮ7_olVN>pHhcNj[)]te;Z`ם H- _ٵƵR7Lx2Xb4b xK.LFҨnlUxrK;jxfgu @E:7i×6vZ :ERT[aw3danjy5YykL8hrLWѨ7sJMg18~sq{ʫ㴰y;޿UjG.1NؓYw&&4 T3J$鸼G3μm均I Z(i1^k?VP!.H,c[RHgsQ{ z(s&\W\_Cta -dz X8@?Cav\*&Q 0xo?0!Ň i ^GK@M7Zr[f'P>qd_ Ys yЩ鎺u1 r?_ޗ:j DWcY@O+&  _#(3ͯ "sܺ@&:Tc+[TځL!єn(nR3`l ëFZRڀj'{>i$"A~z J dO'lOO ȟRN -AUA`OSs]'>N9m6\JbMGB3)OP{2:i>VGE E=G E㏬WF_v*(EER垃jXsžEdݔw*?. FُK?t; +,:T'1kZ-[9f(yiASe f:Hɋg [!zN%h'8-c(ô@zcO[tf[V,vfSNcp $OQ6KkUm lм?y(Gb}d K-/ Ul+g\ pې \ۭv<q$s{V60lOtjH>32,ƽöqMmE0.X5)+?L[\M]fWq囉jGIк=:@o$T\^:92m;s'{PzJ,&,f262LV}Rl5{M9N|DF_l!e%$Xg{ekz[tsK!b-=Vrzi$3NDj,rALZt/Rtc3p0P tC]64O@9Nn=)dm82#:TwӷNgerFb}9@!DxsjjckET˯tr[4dZSYS?D;#F=ķda{:>(ݻpq4+e6~&is3#wJp@z:WWrvb-KG4rF ) C|_emXsQ;% Vј]$S En>;`Q@iXͷi]MEA"~ 'ҧZ-JDHʸ57h%޺.vv2}Z6ltw;l0k/THtH+ SĂ?bbzh{xW[H-X.'4IS= O37,53! ..`EV̓XFF@mۤ6߻d|,/(smw,-0kP"yv /VW7P ī"ڿT_P/,Sr6}Jو-2Y HDǿ_i pBT]Nu~8@?Q,ꡀkp9 kmȟfqd5=%ɽrb:ˬ;1Ёڏrd6[9# Qy_/NygGQ(PB!8sR^F\ys?+x_yOY_ ¸V߬wTt0J*bfty}7e-`LS~‶OWŦe8 ѹ(,t4Kw kKU^c@Gh`^A:vp<튅9#DSg甛Ƌ zz{#niy{${2r W9я8LVsy~b^(ߚhTǎ+m;+}׭vYTӴPNzVV+M@SI m uV[>'׽ZַP/ƢXhřL\[pS"%y4, ;NaJêM%+ jur`.P(vS92D@/7j;%YwA2V黎'%U˥ a:̨Y|ȉ@Є͍:{>: j,eU2]^}>vMUʻ*ԓ5|uׁc!X%{6g"\yx p-KRVP 咑! 1RQoD0VE[ M`F >WBTUzSu'Us>`1Ov&%"dXV2\;tYj&tGU4Ŧφ v#l0x1dq,zH;3\HE]NVϯ ]"vrQ\pKTGSe.fW<HibwY'Z흄Bu(+ PU.SصqV2D6D_pxUCYxPC2u!DyVMZ҃ʲ1]RM,cuZ3+Q&jfE,eBiJDuQ{(=qmYޞvdZ/j$v+TRJ8 ɟ0e*-j__mEޠZcvR*|t^==?ٿW cQL\,{|JKƎ):E}ۊk~4"#rʄՃ ze&R=Vg׊H}VAdiX^%glfbʉI$ijs]#^Qκ+Zį"x*Df!/ ]}Fi(;cO ņ%>y{1MhlÊ_O1j!HŒkU) !-l[!8%FH_@'*d`U4t b<[c* bc 5j9M[}Sbɇ){1ջ{|?Z1ZjO!rp}1MDPD;9I(1A#q6s M'׭}̈́7^t]Px"ߜsЯ9 %R .-2|vq<(JxvWю:r]yi=˂~{#4k:ڿxm3ƕEx6,&D Ռ@ hl:f( ^[O0sXP)Lג}H9p_`&Wֶ?RdqK%>nJm5<*}ʥ&H~oPq:T[3 ct{Qi+,UnڤyӾ.E '˙EʰbPMIL\Cۍԏ; $n'2V>N]ު΀Z+,t%Rz|#St |gQR $tEI@ 4 ع'jԐFЖ5r:G}^[u!3wc m'Kcsy]PfKOb* eDžk2[Ox&cY줫7v;pxB͹KMt;ڎp~1m6sy#3B} QF4.^[ \ XKE$I1eyA:1JىN\H32usKK9K]@DQ)mN9h(}lH};"%4K[+K M }6[@dl)t_/L_'DZ%c0)íP Qꠍ%TWI{sݡ<&|sx,!tbbV2 VYk~ 9p@GnN<4nQ_Qtby6 rРh]WD^m8йwʄdj7(4Y:6'њ%:T2ىUk6Xćo$UY-ԢZW:x6:x[v?r(̢${,r'.ngbVydS_BfD`?'* W ' =/wOٺ1IR*ytI`)ohT1^YyB@jb{D$b? dOӆJ]_CBծb}kt =@j\$^MWc*^FL<]?XmHlqxΣeB4CI1~tؖ:,M=(Z'"cPEv9(1ڼG'EX+юg -%l>r$Ҝիh&πWNP[UM.{Y- mP|e B!}gq&#OZ$#eBзeӷI \pq6ȂSzƛp2'JK 8$p66;="hϩ7뜇PnT|:ҖŗU}7|.V` tIRr@]9h&'`*qts2چtC㽆V>-8 &1useQL u~<Նk:TV/Ẅ>)y/ m`(E l0+IƜ6@jn3Xͮ^֟}$qshVdR4v$Mё'c;ISPg+++Nd1b: _Β*ߊt+*ޯҚ:яe~o{Z)˜ *}.`ce},Ҁ 03NŌ|Зi3"klegL0)amWE|-V1 8-˰nZ^swTT7 Mg7GV Ԅ~w>lW-0!I*ZTA MkU/;_ uκGtDp'y{*bQܴ0X#f@߸`0ӃΒyCnn^+=Ğ>$c`wޓ;nnlӳh! u?M|46Mjvs`t}4 4_hq>)u=3}5HGJ!I6<b~Ĵkv L?!q9J %nVLp _1Uf*Td|ߓ3k[/| b@eO*G8}4#30KbR5 TM]AZ1uRj#B6yW m1`b%eHhBN߉㹈b9{_rQg#TnUq䂰,N MM8K6ȯvW3MS3 z0X+N[&asrYi#t?V Љ( XǁAW93xM8? b!8taBqo0`56t7[@sM i&j[L?bޮθ3wj6VssZR q!z [Sv9Hc}w_ A1듁i2R@|5`}/\ 6LAsJ;GLCEn0*4j)ozM0q.  =`jӌ샋k7G?]7Lfsu*dLozl{7Q͞v(l{ڃi o@EkZ?sQ>ìW9ԯـ$64JPW~BKXr^\Tpd^+6B^ Ϟ 1y&W[ᚇ@AvU·ldq2zn[ Q"mR-Π]QXѳrٕ4`Ϡ{ȖA$" ZNR kЂ*ZcRj9 *ӾӜtQS;(d')/8*j©;s)EZ>Ri;m.n<Pd }L4eSb k`?TOgf l #;qIX~(ˡV{Bo GbbdFz`WaO{ ׻ӄdF>|-+,e+0eԫedsdҵẠ.H,6uE+n`lE.,l@S;xQ3 :XAi.GkYf rgu*#M;C5V8bS bpxr^/TjE^rtn;(5~ILnߪ̤JBR!4w'*_/٠iIsaiRX6'HݰXB6}$ۮ.lD/UэO:[SEDEgׅ74r:(KF.qydn7ʨPp3 ER_5k*.ү86‹EbIòF,sd_psz&IR7XzQ~eM>y{nL%h*.YETQ@zѥ˄v"Ҿe>U%E4ZY&'整qO TN8t$&_7ݔ.wvM#3ڮ>aJDSn tU~ǻuRS-0MDDG& {i線hF׃‰ " ^RAIub̍ݸ3j-3ԆYlҿRX̅ eo`z8!j֛ (Xs/6m})^i7sՂN/-||trC*d1`>WvЫltNb2[asQp ^焺:$WUY[4K{^ 2W?&pg)hnpqALIC)ԾܠLs+qn(ސp~ 2J٩)o1!ޥNp`:vl`.l,. pۜ6>^dTFcowЦ=foX/g¦}ן TK_ݯkWJ;_5֫͡l/. ;FZ/Yৃ=MmNxpr KDz.3* iʼn%}5(g{~#*͊.k*f) Zd#:>r,&Ú,97ȓ̽eawS zu/sPh/֐Pm"V2,N^k߆<81D}] +RAK9sfp SYʞ_E5̼4qb3>8"#:"1:-FpM"@gk$'[WJ6B:dSBT8l{nxf*ekmCYV/m2vj+՗8u %>$d`t<*)#XT1N@7wqXUn-yOąwQ*6Rrny\}cEħuIX47rE[w^$(gnN e*uܪ\>2#S a>NA6DtWz¾v;"g 706(5P=Cװ~P0=3OH?…yJE50< Ӱco}B2!c*i^2ZR}1bW7 9rHRd2=w N ̮ivz 9^ Q"|*< 99P R>`ojQ@'Sz'}>VN4*'A5-L+6F̖ 52DszYT. 6j8HCROF i>RVNwQk^uq&dH$ZzJ(4ϐX a %,¡B䲠47OMȂm.k%gؤ+(| Aگnd bV>y}c2*U33 ]M}\ si!Vl/Xqѫ lr7.S8@G.K mljd"kF|>>'*',/N a֩'LNP5nPg8o"XeZ_($J_A[%ik*.8zjrL1|i=0=sQ]H%AgPKm-TtPG#uX|Nl־tf3 \#[Bj8d$N乷N_F=S|  ;,.W1Z.<+j,Lh:fqSώ Bڡ]\)vIhmjA촷tFu5]2`Hk\an>>'NY{3a;}Ojk=g_x)Lc'-O%fl/`̼# N10Uۯ:!I-@L9w/ T &ޮW<"MLθLE6C^T82=Nv ^<]G\{-@A w[ڱ`gY,hym2ҩ\΄#"'lA{|Rm4|+J57P TF1Dv>=Js #J 6R^W#c"ݡG}1}X#Ry08g([j9ʃMPԷ؀@10IO+xSڜ2 ŇHD>h#y!IDc LatDz) y.ך4{NeJQ~n_n*b>hrΖBp{[e35)k>htF3;^V仲Ǭ@Ei5 -UۆmRy>Am7S8iADE^ Vɧ}kAJK?*05jI.Wp=(OG⟜ŢF蜃Sqn(pemOOcet `Cs0^Eo9XE 6cUYՋLY;d<0`(# @HƉ#q -<',ъ3i.>^HKB8phLRמc>E@vJG5jԣ)jyꡉ~(B,>2$={.WeQxW4(u>Wh a8%FЁ"i-W+ɵ# =Fl²djҲ1jJpM"q#Z P5o]Vxhp2I!o<T,"YoG *? EƉD/Nl)Qx)ʃ|WP/*GM*3rzYOrF d][DQ%]PV넡:4fv$\E&!aٮe1۫@Z0"V9Dot@@~zrz}KKAMG@ G'{JΌl!KE=lB2w{< dt 6`6S[)uֵQMrny:iB0*G%;!Scvz g%5IP6@wv}H_]M҉F-]f8 *>pN: nj(e<TlF c{ x0IiV)Gla"(Jb5 ,}nƽXqoc$G$>hr]ޑyWTYT-G&f( bDQ/ucKk<项h2FVdḑ>15LѵE+P)v S01#K vZ[04D}5o[8R~ttַX2pG7k!F]g+É,+v]#7@7Z7l,! P6L\B2zvr?MfIgZ[컄 ʐ5.bd4&.Pź04/t&a.Riӽn~vD]ȟ?©洆tP'$4|CB+~:ۯi )ݡ<E ޛU#hPbu08Fl゠0+, :c<:R#5IA Du/3iv\PޣOOerE&50za~w_aC0U1G CI+w X}Bl;ũC­U7 TFT9 mw}U@}u;`P,]%CFW(ًt>jW U9H9pzC-$7f G2M`@={D$Vh J"X= w@ ι8r͜,^ (܄(u? }W?ֺr^a^HuIVFfۇCyŨ }U;SQ{:gXF%Ir2JXW- Wdٿh#5{s!.RN+s%P3,4[~r ?(0Jscx0ŝaz9 4/5D` $Vy}ȭ'U=\B\~o-+$7VP'dywLgv45wd40.&&Ĝ/Yo|ْҜxѽOz 2>sA_.웨>'#PrWy fm+=U ,ۣq6TD Ɗ1KYѷ.S %ktU|J'!)A#|E@>C$2ihf9B[tQ䝊E& @tsdhL|Vy}M6c$Һ/UvX X؃+Q pYMZ sbZzSV nAC5|}:k2@[X|>9 }ihN2K"kumRP2VϬ8kšF׋&WRc1(\轌;kO)!sڇԙ iJk:"q{ii6nٱ1h,0+K}ˁ,2[ҨWe]jG.LcG9[:E: #! hJ["7p{)'m{֑`5S5,פ5iq7/NiزY, <>SƯjr4#R;pvVg&`(Hfٯ:… Ć K[IIss9]܂~G㻕/t1H ڒ)_.6lϝOu˘k߁>ctu( )ji#i(\&oNy"x&)w&8{p㢶'rXZ>d䊡̧R+9 j Y.V 4w{(Og!YGD1iNMj))YOKVhţ05aa֝VU-Mn cI7]dGo&eQU?i.\(,a:V2F|"|imP!zievYkY:ƍ=lTIb 8EpO-8#I{:E!IzmBQ h{zdt򵶶Q*DA=( Z!Wa Vu!8]؎pN=-)-=g(KઌM #T j>yh21-!`~B&>K[GxH(MQ %V͎>?O "Jsk7⾦z?;D6? / c$! Q0OR3[|Ha1V[ܗ9E׻X#8뤠$[o Lpr6ee.9z![? d2R Pʂ 3?bluF7ײl?֢Xz:8p:Jsa*S[JU7"򨑧[Řs3h Qy~8sY;3!óFԲ$d$ H5ɤ}O!F:^V~Q7}l)^n ט(oR1dY3_ *bԉGﺝ"pBdR2 ̣*" PN|{wʭS%s^^,q9%o")`yG HO&6pT8pzaMUW@cHd틇Fs(zC7J2l׹_oW+ps&@;CODnjME'95+)> `);YIsUpU~LX=.sހWZ[l!qp[owk YZ1 Ae*8SR;7۞ j.O3JWo@ . G֚U`H&ѥRχZcd6Mwhr Fj2Ʀ|clAwpq/h1lxR-fj @o׍yd駭s0d3/Gu`|?(`m^n ՠv&uw8K% 4e 'P8JZkxR,~K%ƽme%Evao !1GwR.N>Vt.߈ӘG<${d6h ^qWrod%۸j13N)'yK~XK_rq?PP szUPFUB~rz0PrXzv-zVI e+[։V AVRLd V d,Y`jw+$/{ܧŞuTt.Eqm OIghWƐ9Fp콞B7tnZ2 o$Jթsf7"ʛQ욞1YcAg$dswq}LB܏@B{ j(v]UGKi9W8]\@d֐9XQ -+pO)z#ɍWCbV{HECYѽV溺a5EcDF8*6RmQHᱵiR+Z SA/Ҡqa_AdCsD.䉷~1p.X؆eHơN~gGwgNanҶ j}iwU{^X[ꄈ{YvQxj(& 2:Ā9XB{E/$Ǟ0?}ESuH}!y(S3"@pEcˁ3n/A]b a 镒\7<GfB:O=绚3a^GQ&Jv{Re0\ʐBͰXRxO98?$p-V2}@)4Y%8x)BO?r$#HɅx搕JUjӛ@CS~ɋUP@x (1]^KOCf!;rV׾Zrĵv0X &ZP5@S rnVJlGh;4oQ]WM ~[)a :l{5F""\u cfqz@޺U Tji.ij) Xd<6=6x pKqlԵۘ08PS  d_B,!AO"]zM}Uw`#un9tVRa6k\u˹MF b]uj>ԍMsi :8vޅ+(]r <6c]KEp8f4?c qXS}UC=шCXjyߤAz\6{irLv>5|l*驯c{OњMJ,6RXey=19hȷ'RQFŠw ?eS |f[zI 0TDՎ4!¤ ^AHf1-LJ1WApڗ'7-ovm% zQt /B$:MONvgl\tc$ShSeQ ϩ:fCvvq뢶!!?t2`jȝәb˩3T)?y0!41{aQZn3] d#uVQڣ5t]dDMJ313ir0;~dzÈcHt9B]g5L(VZ ,hq[p)؇̜!nԸ $wmp5 n%^ӏtT+q|D{R`saZyݎǜ+ AĬ/R'+jL -4{tmC6%%|(̻7p(Rc6Υ%!@Zia/RP:Ѯ\>snj[j-z~r7-30Lu4`̇rmB)TJBβ/iʻC1}I@ꀻNz?%D@IF@qP'SgFCd|"I g*%A#MEhbimpب\WӧtSlt"P#e7d"uMӪ;P&ha⥟Jfj%.;Pȟ֎ #/|)#4L,c4cΊ_Pnn3voC'[-]:]r/8k[ƂA.m(dY!4F b ' ˜X|?(  wT:J, )\!N'gWѾ0HՐQ$˲CNQS3~P NYBT/N|d Y(\g7Vx|XnOy9)IDA” ;/YsEZc0u/n.:RF{آHf!Da ]aR#CV#7hS|Z }!3 V1>_NL5j4ԣ UoA+J^kYȟ:Г(T.Rb͈.2,Q,7 ୲p~mg"dyke3cUڰ= GIܝ93ǫϽ"mSQXK3BK&q2'/ x[ L󹩑GI!JbuLQZmc)1,k* >3QgDŽM7$^~' &0'.Wr8{W˓j2wN.[[g( =ٖ:=.P̝?6b|rNH0,WLG%ߖ⏄1/ᛁI)RGt(iĩ=sG#؝9DD+bڈx9'rbe %cl\Kg`Zj360YD@q^q`BL3.r0}dž֩6ɉJݶ{QUyg[3=~_ jjnau6$4JƼ [nڃՍ)P @R ˴vI&kV!wy\I%i);Uhf׭mOk.7d-*0+7?H`O{A&*g8w9*Kۅ-d-)yN<ʹj  Vhv(z(nd{s#-AL%`~D]/[*>r%Cn`1?^s](x,֑v|Ӭ.їV7Ƴ|+`}\g4K@{\%Z j-"`bYnumf78|Œ5EB[)GRkv^v/ƀh4DUŊofO|1c F'K$cS%a-ߑz"@.`1P0J8r H#dPƓ rK.ĝ{8 CUMc:uaV;Db,a9vzut1oMnoI)4^wg8’>PVk"EX.q8uqt/k(MgN:TWz'ZΤ.X2hX, N߾F N+M9x喝ުh1SUA,,E[zUjaܺeƻd w03Qh`!2%? G ^`05CHlbǰ] LF@OJonJygN jC2O`7/!?@fLXo)2m|cVZJ?>`'0@NSQxL `ׁHN,} ˃2_(zTNs":fVk]o# Bʬ>{:6"|3!JZ((l(P? lh_tF1I;v5΃q";YZx$IcPȵtoOZZ;y']4n 6ulV}-ؤ*rsWvUĺXP>sQ]7]{w^@0+q6 aՅ@<1`úwPcay HsGSG;I~оd(865bW6J ~ ʦ5ڝVf=X(Mh6GF?6㏄@TZp!-Vfvd(DZ[3pshuOsV:gN//OP7! ]>)^ ^%>&ED&VE}4/}7Lߏ"uYl9}\S- %ь`b/&Ct^h4{+K"0#V"lu8Dy4TMKqM<;+ gim#^_M:׆6uw`N3=ٔFzv~WY3K+ k~ uzkPgYs-5pyhMNG]PK4LxS k)u,){"R [w* ɣ`@2jR/"v^*t=-X1AӪ;]&x~e; R7KkE{!e(B`rqD)zFKrm;`#K0 Dn(,\*rv\b3GPg'opP8 IDN_ t>5 pk@9;GvU9Pa:i('?_1hR . }\kO50=%d7iIQ$\{%{NI!2ԲآW8-+Kn43x ]ЬCFyN+>ezR9IR;MZY!‰YlzB`ز_D 0/XQO`G{)V{?Х 9=]CLfH!`iXW*ENȖlTTT] ^P, FپSճI l¨@#pD|ub䂊 Kѳ#f5ڲTեRxM*i_'/H&q@QT5MAUT9[Vx7Mh5b=N[WY&x0"A d}+hs!D=E!)A/l ?zQQf A_,k6joKEr]j}\wqU$u.W]Ϻ&Qʑ4 ֔SSe;3YlK)[0qz R9l89ny:uY?yXYIC`9K9 xfOY"# ԒhGGgT$  Ho! |%FQy.tw նNjx/IWD9:`$QZncO\ijH&Qx]9Q7\4}~k< 63El6w}[$y%Y7^cKspٔI!ɕ(=kU,*BZc܇q=Y̗?gwCceq|b; f x-5tk< A6iz̨I$&¼pJ#CHߕ9R i>eTVUG7π9q5tdJj< uh-**C[bszB\ӑ%j)(ǫ.S zYՀH8NxO;zϷ{׬q* 9=ʲ(.y=@`p+kOƒQMEqȯ), 1B-4ї:5:iL#/+ɏv}0٨(e5$fwHWvo.8"JF pEO@җ#"RM@d| 3@:rf?*b4PJJ2^-FS!*hA9Ȅ8s!2K&u`wM) N&bxf Mpb>WB? q_LwL7lGoA)Q귾'Ý~fj*8#p6߲MD Уt@vPn5]_H/2`V4ZӪz/&szp}%&VH;͓;o}@.6l\A\v#/|T)@酶" b [#p(N%yP("-Tym=vɆ] Zzf_7y'\6NTU\i&@4Ui 0$8Id:)$W,xo_zq^%~J Qo50Fv8K"f,vsk:a+ ~ vhn= eV$0 _9j#%~w1 b72(D$9el|(=(>alv Yuw[Ryq]5+R`qw>ť: |FDjs+mI]$ln8"2jHs>( 9Oս>ttH؀E^*]ּ֘Fk}!:`4;ǷNρ U/Gnjy]n6v̕ U<],"QlOf<ݹU;W(Tkh䡎.JɺJ*0{ODxUFvĎAӪq-ȑl[ބ>yT';5'߲KHpK-s yIt1ک_dXMz{,Kt4ro0ǕYw6NI-dkอA)$xe Zfz,+]ܜ-SUX:cN σ bNjIŰ[^Rbvf>H@ȰXy$xaxPkЮv{ʬnQ߶FϾГkSE:PرH=sQ1p!Ikf0$0P# h[J0$i|C9ɝUΝ061k4`F?>> Z7.Ip\y$_05G{WisM` 0|Όj&Ic>~Ԧnk ]h4B)8ry. /=j@+C_D^ȦUI &@^i(q(n]R݄R55+\I9HA9퓈GrcȻt?Fɹ Fv)ӼДHe|yFrNIfbz:@@owB珔sC#Lʿ.Y/xc&F8ݢV:N@L|[fx2&mҎ"mK>!џk*]lhК@ u 4 9kZzf⑐&\-mtÌy+x:}ܿn0hP~Rx,ɴ!pg}z.;4!F'9}+S od>5z>`ʣ%P$EI֣ i>7aO+" %,cb?ŗ׀(ƹ9 ဇ=# ng%:WGk$m$ ǃ7'W/Ő]I^| 0ԋ?^@2^Ǣ6~N06n1uՋ?431 /R`5q=5 sTC/#3vT*9Oh/2uSD1Yn;bc{;0uqRұt^L 2ȠiT z |2v 7(?oh%P0mpD-_-‹Y]""A 83M]hF=@cB"& o ҝ[ B3. 2Vysf, s9+5!L/>_(p1ttYl{6.n /O!.:2'cJW'S|Bu:`r0!f |384Dҭ!5JjP<=ZcJdHռ朓]\#Sft.Yc2GIfL z̟+OѼ$ix xizk:$w$hVL[K5% OWN|hݏmyiB%Qh|ho'늗c G?oY)=. JWnK]Oҿ]sBC}9T{$ehO]z(3 p k5zt$1'Ge_BK3o=іf_]ïjV4d^4c|XRYb!ܶA w/":#*{d/ojks gO x7:gtZ'IX;zdd#'$dұLI %fFM /ƄFD08YmzY&d+g~n&fA 0'0X}f9:^t~՜JGpiHe˜AGł pyeeuW*~W%m9lfv*5Lf. ?&1I9j|8bhݰ w#K/<1T!p@"ׁH-%6d|r٥O@i/8p{IL{Sk6S?uG ! ]N]h0\Gj~/d o:9+TǁAs݉5/ӽ4a9JejԞ_-I[}"AjګG<\9)k_I:$Z6U  rTH Q4%*vإRjw|ʊQw;yzHP$_hBU~Zafht-(~d(-T).KrM^eY@r>1M~F2\۹ 6rϕ>p+f8t%4'pKZ?h &fɮ $ۼgAFRފ=1YtfI  /W9:aqU1Da{Ff\846?m@G*-N:S$Ma<+&Eai2zeykeTY<`Gn3y_X/5P ʏMD[Tb~Yi)Ըl< PKў3ȥP r'꺼.PIWE-*l&Go>LC: 0OJ/ϭ _!t5aj"G?ҹjCAWֱCn:d+P$:Ywޟ\gŲ g6GѾ9(py2[`7.gNGLH,X qCù +@#0- )fdEB6skׂ+B(3./|N٭>WC8G>GqɾBt[bSYw`ko&H&2h( 'ݧK@2+YPT~vǓY'wTT+`/'yH JW`xL\*tׯ.ݑ 9"4y`&#:}%9Vm$ @ !4zp8!3(' Gβ5A%t\)we">pudE9"~SyVuEB#TP[l>yH85#17=¼ PHfW4(H;3BW 6&*XLBT J[o,K{Mz[eW78{šrtdzaNqGʓ,=VJXa:Y{5\+eZ/)LTOc`yZOHnƏblȑ':1F  N,6^}VU6F-e-6*C 5SRK2X{ƀB8iTJ ؽhp I'': KZ ot?('K ?v ] L0̣:Vz5WUqh? .mxqxj K(<ixB^;_nU^I/"RXpE4 ?sgDXDS nTI3hRovϧ4^" YJ;9h?ij10coS:_sד'He?]Վ!IJb r=*g9_z9~m9UFRM D9ք.' /͍L֤Zby,=&!noS:5O7^K,֥V_Ӧ}?<\n16 v/nȒ B;:VO.ה QO'kxa=m|._/|ޘ܉AQc`cYCz7n )H=R,idM o'^,v,bwJQ c QL#?Jq 7@챚=R0V$,kT"{rGYZcf&A?L?D?^UX(߰ =yZ21TmdI-rl4gqıtv*}Y5P0Y.nixNȀ쿟c7U>T*Wozu{/#j[02_GXd"Iɴ,@j_'B 7gSUY.M't 9 NWx?V; >y(S0h]<0Xg<m4zd&@:cr䣒=ԛp(ETfLS'݉>sаϓGd &騁8:_Sz/Tp%!kx3~ǃy_>xQ\{h3I@yң,rhz_2~qQOGF;$50Dn΅oĪF : sޙC(+®oגe8` fW@D<}zee k;~)fK&2MQ6LcaƐgb/QO[! iՐkm ib9jpúywtT:G> <FbP#x^/FalecQEl$z5* g*sL' =wNjVUu̬99hd%6j!E7+?+)Scn$'SA`п+jd)֙١LŀjB~XoK