grub2-i386-pc-2.12-150600.8.12.1<>,HgVp9|*I-l9ۓ|Al3B3pƱb15ӗ1[a L `:D$y-To [1j%c*7j59tZF~-˒8ҖM^$&AA k=*Ѭ̰Cuc mHX?A1B]ϋMﲅ#`U "3Y.wpGYrO6o,0moF4G.s.K C\ﮄo!mz^YNʨ:%=؃|v"r>>@k?kd # Yhlx|  L33  ~3  3 3 _c3 `3ed3kc3qbq3vPv` v w% (wO8wXM9|M:M>9ZG9d3H>03IB3XD0YD4\DH3]I3^WbXcXdY;eY@fYClYEuYX3v^$ w`3xe3yjXj\kokxk|kkCgrub2-i386-pc2.12150600.8.12.1Bootloader with support for Linux, Multiboot and moreThe GRand Unified Bootloader (GRUB) is a highly configurable and customizable bootloader with modular architecture. It supports rich variety of kernel formats, file systems, computer architectures and hardware devices. This subpackage provides support for pc systems.gVh04-ch1c%USUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-laterhttps://www.suse.com/System/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done!*(>dK j$40L $  y0 l    te <B 8lh T0D(hb&?4dxlEt5l x TD, @@)J d ( K;B#0`bpt' <0(%@x  L!0  % h$ePX8Dw9,  l=" @4 D | 4|,L" ,lT @tDT `X-t )\pdd  < @ ho(` pH40 .d \! <`  Lh0#d;x (th4| 4 h\\F /lh0  H<% *L $  'dp|!TDQ n\;HdA큤gVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgVgV071e41b030c59b3d9e2cbc50171645a3dd819fc2505938bd11af38433ad42efcbb71b1a958647e75ccd990c30e25c88b75f198c49c42944317a9bf952c06f2ec03843977c881f31ce7ff88e48db217a1c248404f198c7bdc9c5fe3aeff4b9ec48834a49be8861cefcc6fd6883d44a5dafae6c4171ae0064b4ce73d7fff32706d2295e6a68cbfaeb54c3229e15055c5bab2532b013524388641befd66a5b9031787e372ca4667ded88bf95ba48e0871f7e1c74c98205f9b9e0a8f59694b4410436c3a0a7c9628ce2102a07bc0966043ac773748d4b63c1ad494a1713084e5384ca8d901caa4a994c481feea58e47261e0ed6d32846e1184c506bf0885575f574fe9dc1c21ecfc359d349286377f8e53841e52b38f308feda0bd3205f4129cac3a2ab57da6d3add0a73c70e336c882c681cd5be93b6fed66422715326ad0734c22d9b7efb67d7bbb08ce8c6a0bae2a68bc6191915a34e16863d3fec8239550013054071d6fcf124716b619886e695deed301513a46cc66a820b4c88a2077803ef985edfc92128aacb2db0764bcee81da994973101c69880986ddc39ab9b1bfcb4510044eb7aa679cf77122af7831ec4fd4e5389f38fa5e47c815a0df89cf18bbb51d4b9dac2199b63b8f6a1349b89d0c3da44df95e8bc3971872acc2f5a7f5db274784fd714c2fb09b54927dc6605ec7c08356ee7811bdc4c9d79ee5ffe13294b14740e723b91ea3b8876f8a471994482cf3b1b72222629afa3ee01868050fed69354bb72b433c52ad0d5a2423303721398c177ee171ab3c1368391966d86bb09e21a8e21b3c4f53765e92c2034ca200518d64b11d6d66d7177d8122961cf6c5c60512fd2a51006d9e88f71260e4c6ed86c7eb7bc94a0dee2a61998dd60f229d914bf93098d09e0bc33cc7d1227ba87a781b923e4456bb03ed27cb80f80dd91f95396988f3baae5068a183d6ca85b9a13443ca531fd882a559023e56bd5a856a3e6343b7e9f06388566ea5b6e8a3535fbaec1f695a0b3793caee5386237d4d3450b0fa61321246f8d3509d4be85feebcae219f909a52ef7b0a7213c344a74f87b23566224ed6b9115ac26797d1cfd405bc229e4c5e99d6b18f12463cdf9ecbac672d3027be0a695db635d0bdccaf0a5184636956a0769bb634f26429908c9cfd1d56a6bad7a84a9fee6d5dc1ea573ce9931a88607237827c0d3336483c94fc144e724d6ec30826e0580e80172eaae6b583fd72b0be64f38e604a8af89febceeb04e0da38b7056b89466f86b6967efab7af875369ba6d18b3d92c254a7f724f87f9e0a6888f878575a0ee364eabacfe7f33ce6594a71665bcf7e051674aa47ff472b5944c5652ee2c85f0aa04bb8af1cb18fc65b611b04afb4f36336bc9eb3b33a66b4e0bc019e350525cdce2b4481646ac2b134e2a22cf242d62ffb417fb39eaef353dd42c7ef5ea0ba1c489b8876c2de7a101e42a2bb9c40cb5c2c09ab0916d6c7d2b840f7c5f942f28409b8c710bb60f474ca53fa3ff26c7a0258d837a67d7ec501288484d9143c3f7a739b26b012eaa9ee0b41ca42011f7e97ee401e06e19d654c674c7050df60d24fef77ed631b28d90d81a882cdd9cb1f66dd3b44d96c43d319e2ab331b3a0f190a49d7e60896b96002134e0518ff17f5d63f26a8e81ba972b798d5797373b26ca852bbdf5bcea9a9e4ef20ffb57cb7aa41e05883695a255918f78f7942461a94696ad3d92b446482617a5f59983e7bd8833d1ade37f58d2bd3d0eda2fb5bca6174ee42958d92fc43d707333182f1543bd9f3b9ca3d0bf96132497bc1a4a1ee58495164a36892661f791aed93944b64856afd54b80035027678f5a66148f7b17f9f123c3f4961be984f1fea4284ae5b5f4528a2149baf5ef12b1315f43a02478e686e73bd19e52f12fba0d1b1e0c87c501d32831b1036be15adb837dcf6b6600e7efe665ccd66bfb98d14707105cdba79ecbb51ce933470fac9316ea294ff936a7c3ec1b8e955ed40cb28a17023ba8936eb7876f91c15c1d058e2a8e16bcdd73fd8788f0d9c3d9c053097d82dc5aea51b2df07ed4c988449bcee3c7047096d32040363112f65811002e2ced20bec6bfea577fd68f63e614423dd28ea15818d0ee72c7ac56498bc7079e56f2ddb12b46639cec9faf041ca81c0d17bcae82bd767983d7d5773a91abf95d616f0178049990f87dae62d65e41a7e420d8e54cacf174bc643c6bd1d624abddab53b01a287f0ed1cf2f876f56009000a781b847b28d746d95cffec9cd883dbc776a01ae849a21406b05a5852f6751b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc43cc4c26c09ceeba35d2f801b141bb9bd35116d4954e4e4c1cee717570b92c28584de71a524cdf377bb211e4fc2b5f8e95ba341692997d37af632759ea7f5a3c645204d8c9df5cd4d35b306d5f6d022ea2be55735cbab783b1791db362ab0dbd70849615d90ae413465075742c5603a7386795a922cbc7351b283554ea16e8529a8cc12d73856d1d65e713d644605f6d4d2ce1d1888e8c4b8d403a9232c288cd06329798ff7f0d85d60bb3a10f38aae561db53e9813fee38cdcbc633fedac6d71c24b2415d60e372d1dbeb9f3faeb88dabc520934fc1ac222ef190398621d48af0428aff3de457012cfdfbb2b06c44b3913ba2546972b8d1b5cbf79d5e86ffbabb6233428d37e90c21a40704829153c72b8041aba0dc61a3dafdfe298f2393bf7039e120d2970d77eba0194b7859b043f46844ee2fd5a20e9139c3e2082c84a337bb6f2bf1270918a15acfcf455ced938466c5ceca40c3d35c74f039d9a255df122619cbfc0840356d7885d575537caabfd92aa661335040cc7086a45984742c1e46be84f23b6e2027a682ea930adbff1298390d0b7f4130aef881c2b4f86dbd06a65d5f4c32c67af057984e8623e446323b7cccdb865380c3462ab2a1c0bdd581d12a1c10f0e794cfffa2a330b211976f5771fbd30219989da03690a16d4de0b3ab7a364410d17540bca434eb076f9c6d4c0317a4554c4571399d2387e3f000abe054f84f825ae4fba2760d07f65e087319d5c3ea4177205d141e5283c629b1273c73e12949211e6333c7f785b6daaf4e3c8e97c0e08fad9b4834361cb231ff69a1ee93630955a081201315ac5db4b6f76c9dc59b3ca162d59f7a8c59939072336a233543c65412575d4a644f73059b3f687a2bdfcb6a9e0fbbcfae369f74745423d3f162fdb7af7ed105861b701d946153029b3b689214ca9e01e3ec71c70256bd0f5b0f0dac24cad9a2a80e036710db226b58d5ba03d702c10e23360c6199627a0141dac383556a0fcee12da57d2ba37ff9876a0d58cb52ba53ffac2f57800c4a72afe2942e232a4a3fc2832a4fdf40da7195eed9cb66aa02b0418d00bbd0917bb8d2f1f30a3efe20807b6dc5b2693d5219d1ddc6fc10270fcaacae1349a3240daa1bb7dd60d1be20bf90e431a8a8130fdca34aff8240064893c7394652e8dd2d75342ab00e98e82609f1af2d2cec0b230e0d48f2d6177bf74af2e0a3b07f4bf86d3fcb8b45822c8a8a12942084d24b85f012c12fccc60195f33a119f2bf288efc2b8b75ef90870fc78874edc5ad1550ce4f38b3cedaddd1a32d4eea815211fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c291c170c6a4ad1e2f039c8d5cbc8904ba2f1d4dc28cc5305c286a278f45307ebc4845be8cefcfe88a9fe57e683204f2c9427e9195fd71e3ad4d627c634633d5a81780a4c9dddde0bb88fdd1724b576b86e4e6fd3e3f12ab299066640653248d32fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c5759e61ec581c157ff2c9a324c77acd960343e0eeb55a57b35ec488087ebfeaa0e2677a0609edba91ccf55f72b881d0240fefaf340f2e03b577f115b4924ab2a92436ac9e6353db9a765b85f4dd31214306d5d9efa84d6109a5953b196f3e91aa0efefc966e548ac66b632f7243ce0bd2df2655ccb011d807283b2bac956960ee659847c21d1bb01c7b2a86dd2d3d23fc6f4a7c90915dd7ce7c5ba0124809e1d0c742c50a396447edca6ef2cfbb687685716eb1bafaedc8725f2906c5f8707a91adadb05fab6fdddd7c90cfcc594fdf1ae61b8ce5409057e890f58130629f578839e08d5a81d829ddd10cf8d1a422faf5aab3b1d43e6f26d660de8b9c846239e384f8069aadb94be6e848b9e565ccdcc420fc423628bc96465a27cf614833134010b272bd38913169d8ab2bd99e3c32e6e3e30281abea601885ab2ec68b37de5f8a47ced3711df52b59adbf5cdbcf21ad070532ead14234e0a34cab4ee151ca0bcd53e0b42b70f00fee8441b8a16e1aa92ea8164346b4185c963793e7df90dc3672630e8a9375e56bc4840805e2d78c439716431a6a4f2183eb3d4a681b9a0bd29f287312966baf5ed850130b37c87e651732b6a779d03b8d76eb804cd2a59466bb37712f04bc8564737e7cc315fecd7e7e9b21a65d431b32627ec7ce11403d093bcbc808c2c3ee3f3b2733dad84f1c83c3badd7ba92ee8ed11485bb7bfb533cf5d5cb62f8a38d6de6548c6ddef60b21cf1df04b40f1ea8870690eee52df2d603cb54483a4371c4b058a0afc67da045b69a921f05410893d4715758d344a044ecc79aae3a31cf8778229537844dadbe6b0549d2ebf7aa5e55faa3887e72b2aee0568e793eeb846d6cdc6c9ecce8f1b61df0b53d73d1e869e050110e13daf644f05bbce49de4be20e1ec3b57915b61fcebc739fabcd611ff2586735af6232c2ca60049787b9ce430777274de4eed5ab824ff24f7c02c25a378f12a350f0820a3ae4d1b38f183ec2e1ebdc188e0979bb1be12c7bd1b9f2c49c0c528cfc61159ca14b4bbae720066c40a01215d6dde055cc379eb1fe8e867681e001cb90c47edd1578a3adf651cac306e156427a46364ae78a52b56beb37e7773af9c1a2fce3e52b3a7660fbb0570df9a221799c65fe66aac439e47f243fb11c7175292072150448d21d673b184756de3f7b0fb1fc63b3578816932b2c9ab0ed23e21a7043ade624a10dd0d29c32afa06f0bcb060b5edcce89ddafd53706df359ec5c4f8f9b2a790c4f36509f3f79cb7e0f12279af9593fa65003628e3fe1f9990e115c2094504300ce0ecaa821edba962e1c1989b697a1addc6b194f0d3130165e445580977404240bcb376cef5a127a64f3f767b60959f165f95db17dfcc56d14d593e1705c96dfd761e5b7b0fe571621a39636bfe793f0a766d78d0f84eb012cfa872b9944e9f6be9608cc72e83522a3a039323fe687cc7ed623f5c678c03eeea7c6f404ecebcf5ef48f47d8ed87f5964f15762effeef3cd3963be889dddc8cb56f3421ccadfe44086f5468b76d26413fd0ba89008088549daf17a03c6e57ddf687a3a9246e5f165b56f6b3302af373c43717f07136fc6de8fee08833e571263b272493d271495a3afefd98952bdfa0b23f0930e64c9604e447e25a5f3b243805af5174b74eec012410e4e8fe1d620c40f497767511d2b2ac8c22374760fec9f5577028fc95e3b1469f399356fcfc66b7e981da9c343ce3ed548080b6e20fa4e2b1e2995e173346e986265e761adf2dd41080304edb77f99def75b3ebf05be359412e136f92617dfcfb254425b32f9e013320e19464c94456d828843074bb90e1a32e3ced030a94f5b556951853bef1d8b3d676b7223f2fb048998ee888aa70b8f53d8357cbc05d91db4c185cd0ad522fff0ddfa4b6a5560d8f312e8450f775e6cb5b106688377f6fdef6772d930fec0e5dc1fac8d42de40379ace505a069e984662fe4c5ce534c2acd00ef7b4d06ba5156566a89a7dd2250c8744d46221e3673d6b5cd35ed4a160d9fb6f81661e7382f52cbdddb69d91ee4ea66e7c7be7aa5454a9bbb5f7bdf25a482cebda742e0d6a821c91c4b1572151cc19fc795fc8aaeb5d2dc84c3d645afe9cafab063fa3b1522015c32979f5409d1adfcc17f265850cce547e27a6a70628a4b8f58f9b3e9b297d125f9a3d66ea1e12f976d320efa799d10821a8ad166f5783b54fbc9881ec329bc421ca6d4ef82a3e05ea28e002f1f85d95c1bdff31c87ca0234bd4fc6e0e03811d81839089e2681878a6513df6dddf72af727baf29e0f477992b7823d074c3e36f9091f339af58a2cd1bee5fdaadd24abc23d155861a01a195da111050a5f057dd7032f850480ddb063430d33e24e968749aee3a245acd0f2b49b6bc33f5adb0437f96ad5602265c815c72c2c8633544663de10dfd166ead8a2e7dcb0437a40928d9d251e3fb701dad819085425a5278c02ec599223a902229a34a945ce35018420d5e77616149d820f3d5afa0a0355fbdd371e78a2fca0c1e5be96c7420337975e5ce2ba40efeb0a5de671e4ffcb077b64442a26c6de31c83306569a226bbc0301c7cbaed1d0c36cd1ebc54c14202e5d6d590a4eddc6d2caad9c22552342f8b8cee34f92bea574fb888ff6deae36eaefc457c264e28e81a217554bbe1dfaaf380a127ca33da1bd3e6fbc52c570d0d95cb3d0ad9c5ec65cdf8d4978082816b9be3cec14f0bb8a6ac32a1e5e44c6144fcfb2e2426bf966762e94e51b10af50d2e01ab3870cc19146106e88eb1dc9248e4759eb97258d64c1c586a76b6ea5b7604ab0a59c3cdd2f8af7e61f17ac2522e3037ee01d2e14c0045b3937c6c7c04ad8ad7f3930bdf2e19203672df0687eae22366ce17161bbfb94758e26a1c7b86ca5f13d6ff39a5c3badcd849ebcdb2aeb9a60a0da9c54fd55544598ebd7133c0ed1e3400a105f3a1e12fdd814b1396094e7e6a7689c52e5edf2573864d6516d4efede21deb573d357b05f631807955fcf94725565250d434c7d334d6a3d5724ddf3fa91a20f3695517483be3ef39de340e61a86c6b3281d63052bba16151dc1da0dc424ff19a88d6c72147d3874429ae7993f656524588e8cef4714b0034be3a8b09b2dc6e79e213dbe9f655ccb715cd3eef185c0dfb5be4c022fc64f2cd26b86558b0d13b58d8a4587909f1db707981155df5d1dbbd59be736123fd3a18ded2d5b3aa6f03b5fc770f50242cf489acdbef942ef706d374b879a17ff3e6d66f6ecf67a5be66cdfce4c08d8f737268c59dea10044733abee25ff7ff7b4bde9d74bdbf9ae687386c13644c2cfbdf30bc3fa91e51b85afadb92d276fbd3a1321f73f50a313c91395f5fe96bf88f09faf1a288e916ca8da131618ae68c47eab842265fafbb0d4af6b1fb4d00d088db4e554c9de34b398ce012db9eb44cee041035f91acd5f3d4c03c6466506329c6208dd2baa3ba48803dce684f08a9afb6458c8f8cc8a69b53e0e071475135126f3e4c45b86c3b449c7cc3542223306c9d68129b8141052edade071b22f3a8c0ddffe99752597589690f4e26716ffaa90a88a980607f7248c605dd653efbf87626ab1ba2ac0f342292237467ff20812d123e7c71bb384125f84739eefc3cf9ef7f2a47bd759265803093066b354d9c442c17987a38c3c05b14f02fe8c832265d6fbbaf6ed5604ee164eb42c52224a91ae2736719a20f51a7a505ed15ed4f0d1ac3ce6ab1f7f49924b2ef2b095d324e5c03d7cb5aecbd41f21089e5e446fae14da489dac7f81960cee745cc074448eee1ad49c8e75db5e1d9fb7086bcf3a5c01db8409d393dbb0ea47a9f223cddd43f6f37d4bbfef25f29b208566ddd345b7e58093f4cf5975b331eb2c77711ebe211257e54bf0f15b7eb2eadcf57ba33a5d629d5c4883f7350b942230711f0aaca1f6ae549128b4a9a1f863417a441b2e0dddaeb7bb09c86ea43add45e5d729d59d41f71ced9d61881affcea7c9b0e6e060df451fd1f09ff28bf2a5c615d7d36fbe18369119bc00da8085139b021de4966b7e20e96c38ce9921d30734c872a3f18d9bd64caa4b8c00c4f0bf07b4267d85fb58ab0904be4713664e7846faa70c2ec7a2032698fe0e9bd17e7bbf12f794f1fda9ad486070baec7a2f1759842c18e8ec232a6695fb6af921c077a3faed418eea1146dd07abe926e4bc479cef07d131acdf96ca77d49cec139f62e0f442fd1d0d3433d5ff360dc563acef00ffba29efc54cf8960dcfdf4a8d20b794a8b923f1f951403e0b95a28b60e52582810a0ab9da6432bedc584b6e1e923a05c84f48eee5fd92ae28a14f050735e9899a8c5f6004ba7414aaf3c5483a9498dd4837bf489ecf1b26ec696eb66874eb07d09a3a8f2b5141442fcc628c2be8c08e3ce818cdfc59ab4f18141f51d150d8529c333051c2655b1f4e3224521f048b6aba66344836471242310cefbdb397866f9f3da1ddaea2fba11d10bb74f7b89f133ccdef5b9c49d04705aca3a65611a1db0dadce7dcfe45ac81452ce031bd64a01dab0d5b8247ce7cabcaf1937809b3a963fa9a0be9c286f0806f9d9ef1036737bd11776dae303e57931c3a890e52a637fbbbaf67b0e8926c378ed84f883005198a0bae83dd4fad4eabc5422c87ef809e34ad6190cc3a76de0d1a459bf5fc6fab8ac7930d611a27916567e4b19cef69b3ebc06c20429506aa880cf3e62fe95111597a11e45d80c601d93b1f2e9109be0cb95efbf8a79b9939a3c388c973fb29f54878dee1ef020b6cfb264eb85aefb4904daccfaf75200636cc9671adcd1a8078e27093c21d721bb41982dde9b77fb3bf665e10f94714ddc0440d72fd0c885aa40c0b6fc1d31c3b3c093c48a726c0ba9a7f8bfa28adcaa29f34cdaa28b7f14cd2d4be2d5f13c841dd255f2a2e4852a0e236ab31fb67b61ad7d6aec38910c354083b723d66ea2189b0cd017e28dc69de653df2e304ef2783ec71cc0a2b04a917916b527d15e0e0e62d8a0267d369d4b383e14183e2437ac4da33a65d8ca6758063dabf12a1cbf6f8aa69c916cfb3cb20647e4a8da92ec0e1349cd7819732d60e178039ab97dbd793e384630ea58e64efee556acc1e90005e28c94825c9e1564d4d9ac711b4ab3204db7af249ff1a27d1ff2813228f8d9448625e5885eeebf5b6a2d1fb0837cc3ee80bf271009af59af2cd16841e0c2a1c99004bac7f73febdca9d8590a528b3987d65da8e155dd2dad45e00f964faec0af1b457f7e242e8216f3c130647d98546ae154a2f1e55d34afda4cc9f6d97c67efedf8b11d48e2942012e28307005bb66ec6599b2b3fe7ab8e1c611ffec26685a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe3d0fa16b1bf66cecf0cade9b655eaf1736a282ff588546472ee06147572f9dc8ceb83c4ea8afc4fa4f23da9f683a678d8fd1058decb9c7287014e19f0a5bc1f9f7cba3e2d3a8e43d4e86494587567bd3d7e0a3d4069370b4f8ccf0f5a401837d555dfd63192a0a599697f94a1dbc07ff3caa93dbe92ba6452cd529ad5a0199579dd8218e9def05a3462de730fd11790b91aeb538346c5a35e7001ac770a7b39b03349e8d59e87b77d2bf4d4a672d35a31a04b944af4342722d50a729e1672d0218eeee729c5127fbf1cd09c19563857f89c135ea3775901e7387376e47923a5767716667b170b95504a5ba4facfcd2196d03fba3b28fa787f870a0c9660dc56cf8c33ab0b200131a85bdf894790a75c7b140a6afd42cda7ca232c0ce45309dbce850713fe5bdfb1ba00461a38a6789117f419eee5d2152fcbb2a8f2b98137a7ebb43742992a301e6d060336727032dd695f60a535db35c65d85826e9282634af376feb547b250d5ebf7135d2e9019007bd7c3013ea207f04edbdb2d26b4cab6dad5e6632d4c70009d2046af18595b372632330e714825b5c6b81bd24b5a9df785a45f25924ed92910eb80fe6d632c2751da82a0cd6fdacc70401d52816fc958fe47581ad7f4b4bd621b014c50560ac03ada9b0c2023518ff1d5d9f3fd80daa326e0baa03b56497ab951863782a46376700a476061185a434db646865b121d50dec3ee6b9c5d1931d4f2153906b8a80ec0fe6b948479a3e11e5d76844157139ae2dc3ec8372e1ef2fd02644c46dc922ba5742f77ec893de112b2d5f801c830f612cbf0cf4c98c70f297d6d07e3f5f6deb2ba881df57ca2cb162047009cc4cb832ddafafb8abd59130f4d095a7fc9fe38e1e23be1fdd52ce77b0b1748fd536321f94276fa3cd97fcb1c6c50c1298a6e89f05b1259088a9934fabf075d49fb90d89b4fc921870b09dec376d59fb6ef90e7a174984bf8e889224681479f457d275cc1d8f4a7727c5eeddef5069593b4d3c94434f7879067c70eca310ac714e51ad8754f12132212efdea598e5c72d6980da1a13238dc711848a48c8df168a32bd39cc6bc643b95e3ba3944df0ef80202d747d503e44904d910ecdbf04380ce85ce9e0fb1197ce6f18322c1b2f57ffb31e985c43830d323cf7ed55d6e13e7fcc88a3a81d3deef6f2879991f0e5c3734d75363f55284b74d3b8733d131f99a04482e259a4d297e160313482288c176f7e146415e7e165198f596d0548bc7eb6a6641b7cca661b83b194667459db68fd265465ea14ad09890c322842565047fdefe26801a30fa12f5954fabf5764ee234a9b5a72ef03cf80877b19a24d1da7b8a06a38e10b59c5ed311a83a94e8f1367d7ce5ead3b0fae0719b4816a2b00e899302cf088d32b27cef76d6434f338463413b3a933da656caae415cd12cb2c95c14b0fbade99e97ba06702784515a2f6a14dd50d78056e78b56f7bfbd4b3beb9c19516cd8f3d4052a976e23320f40248a83e33dbe7f08a6354c019cca9f843bd132d58f382a2ff671fc73b8ed404c18e62d4100b31250e208322e6c9b8e7b9e61cbae7327c0464f6375a8d87ef9c201b683f3ac2ddc8c3f59d6bcedb783afe63a313f31bd2eb5c2da85e6c01d5da98356b3a9a71cdb8114ece6453446da8a5f63ec3b555480fcf96c586e71926a52debfb0b613fd1a21016a5722bd75181373a8c759dd79026d52f1e01552c54f274ca3ee9d046c56fe58478d9f60d430736f25a6696bf098fa60cd657fce787ad7294c94c0f175a0a0198f8d724846024bdd0ba27d950567c04cb913356d6be6839851c9c6cc02a4a75b2863acbc56f104d604bac867b69c4eeb60fd2bafd43d16690e99e045eec9f622b4a44fb35328abfb8c3fca1b4014589cb1c0c0131ea3bb027ce4c91af97b8014c274fcd92148d3b7358d0c820ef2fedc5c1136f6b0bdcea1cb3bc74707703d178f6f6d261c4c2bac57f93c958991ea669c7d3a813c179273a0eb5ee2ab5349d85274ef58f6a05ae4ffe4122d8dd8d39d9360f8de77cd529e2c4f28f770b7ba63383d37e07fd86f673d1ecaac8fbaff853d85aefb1d608c315df54cb0eb506a67d118a9f9ea4fb09a21ac8c56f130443a7e77a9bbdfe4fd2261f93ea83aa542b687faa3911ea16c0f2d34c89d8b6f7ebf67592b6b8f4f71f291b26a01277d84ec75b91b428760d15f7863b7064b28fd527f8e16f40a1121efcc4d3122097b2995bfe0437fa387de45b2dd2b10e22809a384d310299de0fb678e5d3dc5fee78a2224cc3e329baca9bf4be8c6e0e5b3afde8be0fec48f9830f2acc80e4e641a27215a3282b1c9acf0bda62aba75f8fa78fa6d82ac8d732dc0a6d054472ac212bfb30536312e26c75b357f7b43c2919c52240a53b4c310abd3532a41f46ffa229585bc85b1607b8b604e4ce242ade81a3bce3d48cde5a96dce33e96f046f204b012ac8fbc083cc1d503c7e9ab60e731097fcfcca22f9d5f948bc5f21ef1cceef0cbcba4827c2b850d885658316272dde66cb5cd0845cfce781ccd2bfede16f8c0b893df0f027e2a7da4039b3827de0d4e699e2bae73e1749ab16c5a4ea6a4e0f2c435266ecfeda60629ee58563cfdf91ea90f5bbe181d89fe739a9563b17c31b3e726e3fe3a23525c09720b212ef23b42362d7277c4f0396fb27eb3c6aec75895e9deef7ae9038caaa2d527909f129a5f7028ba723c0a2bdecb93208619925449e0a606dc6a94f32a73ac78584f83a8273e07a2956a2b5e87f507d618d59681ad0d5ef3f34ba061a651665e266b43a4c2b4e6ece096a28b9e4d0ca6f8a966270cd6e655b5217bd21bd91466963adad7a4e320f045d1f83add6a7dbe29a3b875152a9f2683ef69f07d954b761de31196581d01db845b96112f907f6e8771c734e1c50689a9775dd09720c493b5b482d60c3a084fbf82afa205ba7556dd4d10b3b11809c9e87c88911270cd697274da6afed8dd8547ac566925f3d140c2c5a407769c23f3eab860b8b9c9cd467a76abce3f7a77071e1dd778d60644d9524789e8b1f4a3d8762a2d0569c83dbd9e92a34e6835507b86b0581390375319c862a30c4557d1aa870c15bea715966b4d7cb43758923125e7f275bf957695ba4a6fa231df6cc8142514ab541b607b243b92a273d8727d77cf218085e1c0e81fba4fa6ab303a02c771161cf136bce54ee9ff92861c463776ba19ed1cb2529a49ada4a01fcef1f89c17ccd1d5232233484cda5aaa45326979fc818b96ecffcac490d2ea79b86c3eec28c33851eb1dbfad5ab8a675cfdf04f93c53123b9047f7a81cf3976d14b38b178b435df661fa7714a808ea75db6dcfbddc10908bb13b83655ad3d0d5b8038166f8b98de99ba1ccd6ddb8f1e90e13bb53f7265f01e44d8b6aa88ea675627c210b975af9f58406a8eba1c1fef8603eeb89ce7a948c8c6069ede46a7305daa3c756a593196278e2ecaa7d0e1fc0897bba9f26e56ee8bccd29dbd2a72ed98a9aa52b5582002c2b7e18370e49a7a5e7329176f35d8544c2474796ea37bbcbed5ee2d2cdc9cf93235a520fa44ace34b05a54f4fcb95e37c4254bf51a909f9fda18ec8b4df74c6712adf90dd218be230581453eacbc95caac7c1ef5c4fd3968924679466889a75231698b8a7a2a2a5cd8f21ca45025cb83c786799564fc14fa8e71780fd7875ecfaf0d4cfe96880367bca3f62df73b146025f63ffcb080ad63134ea206eec2f8b4cba7e0e0ec71291e567ce5fdc996e9888c408e5fcdba6724a1de3040d1c576f1e8d32b9fdf02ea9e00d826bccbbb732a5d916c54f6c02bf9f15da704467e344330d0cf30230a7bf0ad36a23c7eb2976449b61bf93fe98841a93d6014711875868e81b60bf50ec06f9b67e4270a435da508801b48acb32edfb1c1cb630b17ed5bc594e2810a02360ac24c6dd0d79d9e06fe5163724e5587cb3524056df5e73c4c8d2bd31579c0635024be920b9947938b755511b09b13d4764035804a830559016cebd50b1c441707bf66733cdf1fbc0a493a81c9a06cb9ef93642205a36d3b7c266bd01e47dd37e79173a55a413ce04a84c264abf93d403e83fe3970edf9ec2b9a437e4b4b4e2fefcda0fd6b62106f3b3991e46e010a7da94d1410029d1d8c5e483810ebb05407545156959df822387e33bc255840600c4a72f9fced8518c5535793cd37b535420d4e5b176011b606f4f879d3215f3b3bd4a623840c61a068ff2187617725908215a3efe83b820c4f2fc6684f7ca63a6eb486e6d40975807b03675bc7d3003bfecd539711f60f5d6a5dfd307ef33fd618048b2159e9590af9064d0f3d3de8f37ac35ac354b2a6b5c2addf38aad4361bf07495f6f3b1781fbd8ba29e4f0d6708897705fd642a34766c49d009dd85187dac51de3ed761aec00e4803b687039df338100bfed94f2b059365eeef049aad065936f7ce02a4314ae6794fe9f3dd23c0f8559646132acb12a174f3786d82330ccabb52b2f1476e2178d6280c74f2f8d8df9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.12-150600.8.12.1.src.rpmgrub2-i386-pc @     /bin/sh/bin/sh/usr/bin/perlgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.122.123.0.4-14.6.0-14.0-15.2-14.14.3g+Z@gfff@fJf@fU@f@f@f @ere7@eПepe@e@e@ee@eeL@ehy@e]@e\eV@eSa@e?e:Te9@e6`@e-%ee@eee@e@e e @d@ddܺ@d˖d\@d du@dS@dI@dBzdBzd>@d5Kd?@dJd@d@dd@c>@cc@c1c@cc=@cHccc@cR@c]c@c|c{h@ctcr-cr-c[@cV~@c>@c-c(Yc$e@c$e@c#c @b)b@b@b@b@bkb@baG@bT@b=b4t@b1@b+9b)@b)@b!@b b@aea@aq@aaa{a@a@aaqV@an@aKa7T@a/k@a.a @a @`]`ٹ`"@`@`@``@`q``}p`n@`P`J@`8`3`.V`U` l__t@_@__m_X_G@_A_?@_;_5+@__A@^x^U@^H^y@^t@^oj@^j$@^g@^Y^K^9\]e@]{@]@]@]W]]V]0_@]@]]@\ޢ@\ޢ@\-@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@mchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.combwiedemann@suse.commchang@suse.commchang@suse.commchang@suse.comgcomes.obs@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comglin@suse.comclin@suse.comschwab@suse.deglin@suse.comglin@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.comglin@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comhpj@urpla.netrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.comvalentin.lefebvre@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.demchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.combjorn.lie@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comrw@suse.commchang@suse.commchang@suse.compvorel@suse.czseife+obs@b1-systems.comfvogt@suse.compvorel@suse.czmchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comnormand@linux.vnet.ibm.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.defvogt@suse.comlnussel@suse.derw@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.combwiedemann@suse.comschwab@suse.demchang@suse.comrw@suse.commchang@suse.commchang@suse.commsuchanek@suse.demchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comguillaume.gardet@opensuse.orgjengelh@inai.demchang@suse.commchang@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comdimstar@opensuse.orgjosef.moellers@suse.commchang@suse.commchang@suse.comjbohac@suse.czjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comkukuk@suse.deThomas.Blume@suse.comidonmez@suse.commchang@suse.commchang@suse.comjdelvare@suse.demchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.comiforster@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.dejmatejek@suse.commsuchanek@suse.commchang@suse.commlatimer@suse.commlatimer@suse.comagraf@suse.commchang@suse.commchang@suse.comrw@suse.combwiedemann@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comagraf@suse.comschwab@linux-m68k.orgmatwey.kornilov@gmail.commchang@suse.commchang@suse.comsor.alexei@meowr.rumchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commatz@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comro@suse.demchang@suse.comarvidjaar@gmail.comjengelh@inai.deagraf@suse.comolaf@aepfle.deagraf@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.comagraf@suse.comagraf@suse.commchang@suse.comdvaleev@suse.commchang@suse.comarvidjaar@gmail.comolaf@aepfle.dearvidjaar@gmail.comarvidjaar@gmail.comolaf@aepfle.deolaf@aepfle.demchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comeich@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comagraf@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comarvidjaar@gmail.comdmueller@suse.commchang@suse.commchang@suse.comschwab@suse.demchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commpluskal@suse.comschwab@suse.deschwab@suse.deschwab@suse.deagraf@suse.comledest@gmail.comledest@gmail.comjdelvare@suse.demchang@suse.com- Fix xen package contains debug_info files with the .module suffix by moving them to a separate xen-debug subpackage (bsc#1232573)- Fix not a directory error from the minix filesystem, as leftover data on disk may contain its magic header so it gets misdetected (bsc#1231604) * grub2-install-fix-not-a-directory-error.patch- Fix OOM error in loading loopback file (bsc#1230840) * 0001-tpm-Skip-loopback-image-measurement.patch- Fix UEFI PXE boot failure on tagged VLAN network (bsc#1230263) * 0001-efinet-Skip-virtual-VLAN-devices-during-card-enumera.patch- Fix grub screen is filled with artifects from earlier post menu (bsc#1224465) * grub2-SUSE-Add-the-t-hotkey.patch * 0001-fix-grub-screen-filled-with-post-screen-artifects.patch- Fix crash in bli module (bsc#1226497) * 0001-bli-Fix-crash-in-get_part_uuid.patch- Fix btrfs subvolume for platform modules not mounting at runtime when the default subvolume is the topmost root tree (bsc#1228124) * grub2-btrfs-06-subvol-mount.patch - Rediff * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Fix error in grub-install when root is on tmpfs (bsc#1226100) * 0001-grub-install-bailout-root-device-probing.patch- Fix input handling in ppc64le grub2 has high latency (bsc#1223535) * 0001-net-drivers-ieee1275-ofnet-Remove-200-ms-timeout-in-.patch- Fix os name is used for root file system mount (bsc#1220949) * 0001-10_linux-Ensure-persistence-of-root-file-system-moun.patch- Fix LPAR falls into grub shell after installation with lvm (bsc#1221866) * 0001-ofdisk-Enhance-canonical-path-handling-for-bootpath.patch- Fix memdisk becomes the default boot entry, resolving no graphic display device error in guest vnc console (bsc#1221779) * grub2-xen-pv-firmware.cfg- Fix grub.xen memdisk script doesn't look for /boot/grub/grub.cfg (bsc#1219248) (bsc#1181762) * grub2-xen-pv-firmware.cfg * 0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch- Fix PowerPC grub loads 5 to 10 minutes slower on SLE-15-SP5 compared to SLE-15-SP2 (bsc#1217102) * add 0001-ofdisk-enhance-boot-time-by-focusing-on-boot-disk-re.patch * add 0002-ofdisk-add-early_log-support.patch- Sort tar file order for reproducible builds- Fix build error on gcc-14 (bsc#1218949) * 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch- Remove magic number header field check on arm64 (bsc#1218783) * 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch- Reinstate the verification for a non-zero total entry count to skip unmapped data blocks (bsc#1218864) * 0001-fs-xfs-always-verify-the-total-number-of-entries-is-.patch - Removed temporary fix as reverting it will cause a different XFS parser bug * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- allow to boot memtest86 if stored in /usr/lib/memtest86+ * SR#1071109 can then work- Resolved XFS regression leading to the "not a correct XFS inode" error by temporarily reverting the problematic commit (bsc#1218864) * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- Version bump to 2.12 (PED-5589) * Added: - grub-2.12.tar.xz - fix_no_extra_deps_in_release_tarball.patch * Removed: - grub-2.12~rc1.tar.xz * Patch dropped as it merged into new version: - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch - 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch - 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch - 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch - 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch - 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch - 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch - 0006-fs-ntfs-Make-code-more-readable.patch - 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch - 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch - 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch - 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch - 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch - 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch * Patch adjusted for the updated base version: - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64le-disable-video.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - safe_tpm_pcr_snapshot.patch- grub2.spec: Add ofnet to signed grub.elf to support powerpc net boot installation when secure boot is enabled (bsc#1217761) - Improved check for disk device when looking for PReP partition * 0004-Introduce-prep_load_env-command.patch- Fix reproducible build for grub.xen (bsc#1217619) * 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch * 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch- Fix unattended boot with TPM2 allows downgrading kernel and rootfs, also enhancing the overall security posture (bsc#1216680) * 0001-Improve-TPM-key-protection-on-boot-interruptions.patch * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch * 0004-Key-revocation-on-out-of-bound-file-access.patch- grub2.spec: Fix openQA test failure in SLE-15-SP6 due to missing font in memdisk- Update the TPM2 patches to skip the persistent SRK handle if not specified and improve the error messages + 0003-protectors-Add-TPM2-Key-Protector.patch + 0005-util-grub-protect-Add-new-tool.patch + 0004-tpm2-Support-authorized-policy.patch- Fix XFS regression in 2.12~rc1 and support large extent counters * 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch * 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch * 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch- Fix fadump not working with 1GB/2GB/4GB LMB[P10] (bsc#1216253) * 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch- Fix a potential error when appending multiple keys into the synthesized initrd * Fix-the-size-calculation-for-the-synthesized-initrd.patch- Fix Xen chainloding error of no matching file path found (bsc#1216081) * grub2-efi-chainload-harder.patch- Use grub-tpm2 token to unlock keyslots to make the unsealing process more efficient and secure. * 0001-luks2-Use-grub-tpm2-token-for-TPM2-protected-volume-.patch- Fix detection of encrypted disk's uuid in powerpc to cope with logical disks when signed image installation is specified (bsc#1216075) * 0003-grub-install-support-prep-environment-block.patch - grub2.spec: Add support to unlocking multiple encrypted disks in signed grub.elf image for logical disks- Fix CVE-2023-4692 (bsc#1215935) - Fix CVE-2023-4693 (bsc#1215936) * 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch * 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch * 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch * 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch * 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch * 0006-fs-ntfs-Make-code-more-readable.patch - Bump upstream SBAT generation to 4- Add patch to fix reading files from btrfs with "implicit" holes: * 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch- Update the TPM 2.0 patches to support more RSA and ECC algorithms * 0002-tpm2-Add-TPM-Software-Stack-TSS.patch * 0003-protectors-Add-TPM2-Key-Protector.patch * 0005-util-grub-protect-Add-new-tool.patch- Remove build require for gcc-32bit, target platform didn't rely on libgcc function shipped with compiler but rather using functions supplied in grub directly.- Add BuildIgnore to break cycle with the branding package- Only build with fde-tpm-helper-rpm-macros for the architectures supporting the newer UEFI and TPM 2.0. * Also correct the location of %fde_tpm_update_requires- Fix a boot delay regression in PowerPC PXE boot (bsc#1201300) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Add the new BuildRequires for EFI builds for the better FDE support: fde-tpm-helper-rpm-macros + Also add the the macros to %post and %posttrans- Correct the type of allocated EFI pages for ARM64 kernel (bsc#1215151) * arm64-Use-proper-memory-type-for-kernel-allocation.patch- grub2-mkconfig-riscv64.patch: Handle riscv64 in mkconfig- Implement NV index mode for TPM 2.0 key protector 0001-protectors-Implement-NV-index.patch - Fall back to passphrase mode when the key protector fails to unlock the disk 0002-cryptodisk-Fallback-to-passphrase.patch - Wipe out the cached key cleanly 0003-cryptodisk-wipe-out-the-cached-keys-from-protectors.patch - Make diskfiler to look up cryptodisk devices first 0004-diskfilter-look-up-cryptodisk-devices-first.patch- Change the bash-completion directory (bsc#1213855) * grub2-change-bash-completion-dir.patch- Version bump to 2.12~rc1 (PED-5589) * Added: - grub-2.12~rc1.tar.xz * Removed: - grub-2.06.tar.xz * Patch dropped merged by new version: - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-efi-chainloader-root.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch - 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - grub2-s390x-10-keep-network-at-kexec.patch - 0001-Fix-build-error-in-binutils-2.36.patch - 0001-emu-fix-executable-stack-marking.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch - 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - 0001-Filter-out-POSIX-locale-for-translation.patch - 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch - 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch - 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch - 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch - 0002-ieee1275-claim-more-memory.patch - 0003-ieee1275-request-memory-with-ibm-client-architecture.patch - 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch - 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch - 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch - 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - 0001-powerpc-do-CAS-in-a-more-compatible-way.patch - 0001-libc-config-merge-from-glibc.patch - 0001-video-Remove-trailing-whitespaces.patch - 0002-loader-efi-chainloader-Simplify-the-loader-state.patch - 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch - 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch - 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch - 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch - 0011-video-readers-png-Sanity-check-some-huffman-codes.patch - 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch - 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch - 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch - 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - 0017-net-ip-Do-IP-fragment-maths-safely.patch - 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch - 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch - 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch - 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch - 0022-net-tftp-Avoid-a-trivial-UAF.patch - 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch - 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch - 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch - 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch - 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch - 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch - 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch - 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch - 0002-cryptodisk-Refactor-to-discard-have_it-global.patch - 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch - 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch - 0005-cryptodisk-Improve-cryptomount-u-error-message.patch - 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch - 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch - 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch - 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch - 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch - 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch - 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch - 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch - 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch - 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch - 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch - efi-set-variable-with-attrs.patch - 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch - 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch - 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch - 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch - 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch - 0002-mm-Defer-the-disk-cache-invalidation.patch - 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch - 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch - 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch - 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch - 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch - 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch - 0004-font-Remove-grub_font_dup_glyph.patch - 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch - 0006-font-Fix-integer-overflow-in-BMP-index.patch - 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch - 0008-fbutil-Fix-integer-overflow.patch - 0009-font-Fix-an-integer-underflow-in-blit_comb.patch - 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch - 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch - 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch - 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch - 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch - grub2-add-module-for-boot-loader-interface.patch - 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch - 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch - 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch - 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch - 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch - 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch - 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch * Patch modified to new base version: - use-grub2-as-a-package-name.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-secureboot-add-linuxefi.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-use-rpmsort-for-version-sorting.patch - grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - grub2-grubenv-in-btrfs-header.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-efi-chainload-harder.patch - grub2-emu-4-all.patch - grub2-util-30_os-prober-multiple-initrd.patch - grub2-install-fix-not-a-directory-error.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-05-grub2-mkconfig.patch - grub2-btrfs-06-subvol-mount.patch - grub2-efi-xen-chainload.patch - grub2-efi-xen-cmdline.patch - grub2-efi-xen-removable.patch - grub2-suse-remove-linux-root-param.patch - grub2-ppc64le-disable-video.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - 0004-efinet-UEFI-IPv6-PXE-support.patch - 0007-efinet-Setting-network-from-UEFI-device-path.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-mkconfig-default-entry-correction.patch - grub2-s390x-11-secureboot.patch - grub2-secureboot-install-signed-grub.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - 0002-cmdline-Provide-cmdline-functions-as-module.patch - 0001-efi-linux-provide-linux-command.patch - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch - 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch - 0001-Factor-out-grub_efi_linux_boot.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0015-test_asn1-test-module-for-libtasn1.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - 0003-grub-install-support-prep-environment-block.patch - 0004-Introduce-prep_load_env-command.patch - 0001-grub-install-bailout-root-device-probing.patch - 0001-install-fix-software-raid1-on-esp.patch - 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch - 0001-protectors-Add-key-protectors-framework.patch - 0002-tpm2-Add-TPM-Software-Stack-TSS.patch - 0004-cryptodisk-Support-key-protectors.patch - 0008-linuxefi-Use-common-grub_initrd_load.patch - 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch - grub-read-pcr.patch - tpm-record-pcrs.patch - 0001-clean-up-crypttab-and-linux-modules-dependency.patch * Patch refreshed: - rename-grub-info-file-to-grub2.patch - grub2-linux.patch - grub2-simplefb.patch - grub2-ppc-terminfo.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-linuxefi-fix-boot-params.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-xen-linux16.patch - grub2-efi-disable-video-cirrus-and-bochus.patch - grub2-vbe-blacklist-preferred-1440x900x32.patch - grub2-mkconfig-aarch64.patch - grub2-menu-unrestricted.patch - grub2-mkconfig-arm.patch - grub2-s390x-06-loadparm.patch - grub2-s390x-07-add-image-param-for-zipl-setup.patch - grub2-s390x-08-workaround-part-to-disk.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-getroot-support-nvdimm.patch - grub2-s390x-skip-zfcpdump-image.patch - grub2-btrfs-02-export-subvolume-envvars.patch - grub2-btrfs-03-follow_default.patch - grub2-btrfs-07-subvol-fallback.patch - grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-btrfs-10-config-directory.patch - grub2-efi-xen-cfg-unquote.patch - grub2-Add-hidden-menu-entries.patch - grub2-SUSE-Add-the-t-hotkey.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-reboot-support.patch - grub2-ppc64-cas-new-scope.patch - grub2-ppc64-cas-fix-double-free.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - grub2-btrfs-help-on-snapper-rollback.patch - grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - 0001-kern-mm.c-Make-grub_calloc-inline.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch - 0003-Make-grub_error-more-verbose.patch - 0001-ieee1275-Avoiding-many-unecessary-open-close.patch - 0001-Workaround-volatile-efi-boot-variable.patch - 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch - 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0005-docs-grub-Document-signing-grub-under-UEFI.patch - 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch - 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch - 0008-pgp-factor-out-rsa_pad.patch - 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch - 0011-libtasn1-import-libtasn1-4.18.0.patch - 0014-libtasn1-compile-into-asn1-module.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch - 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch - 0019-appended-signatures-support-verifying-appended-signa.patch - 0020-appended-signatures-verification-tests.patch - 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch - 0002-Add-grub_disk_write_tail-helper-function.patch - 0005-export-environment-at-start-up.patch - 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - 0003-protectors-Add-TPM2-Key-Protector.patch - 0005-util-grub-protect-Add-new-tool.patch - 0010-templates-import-etc-crypttab-to-grub.cfg.patch - grub-install-record-pcrs.patch - safe_tpm_pcr_snapshot.patch - 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch - 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch - 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch - 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch * New: - 0001-xen_boot-add-missing-grub_arch_efi_linux_load_image_.patch - 0001-font-Try-memdisk-fonts-with-the-same-name.patch - 0001-Make-grub.cfg-compatible-to-old-binaries.patch - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch * Embedding fonts in the grub.efi to get signed for secure boot- Fix error message "unknown command tpm_record_pcrs" with encrypted boot and no tpm device present (bsc#1213547) * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- add 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch, 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch: * support more featureful extX filesystems (backport from upstream git)- grub2-once: Fix 'sh: terminal_output: command not found' error (bsc#1204563)- Exclude the deprecated EFI location, /usr/lib64/efi/, from Tumbleweed and ALP- Update TPM 2.0 key unsealing patches * Add the new upstreaming patches 0001-protectors-Add-key-protectors-framework.patch 0002-tpm2-Add-TPM-Software-Stack-TSS.patch 0003-protectors-Add-TPM2-Key-Protector.patch 0004-cryptodisk-Support-key-protectors.patch 0005-util-grub-protect-Add-new-tool.patch * Add the authorized policy patches based on the upstreaming patches 0001-tpm2-Add-TPM2-types-structures-and-command-constants.patch 0002-tpm2-Add-more-marshal-unmarshal-functions.patch 0003-tpm2-Implement-more-TPM2-commands.patch 0004-tpm2-Support-authorized-policy.patch * Drop the old patches 0010-protectors-Add-key-protectors-framework.patch 0011-tpm2-Add-TPM-Software-Stack-TSS.patch 0012-protectors-Add-TPM2-Key-Protector.patch 0013-cryptodisk-Support-key-protectors.patch 0014-util-grub-protect-Add-new-tool.patch fix-tpm2-build.patch tpm-protector-dont-measure-sealed-key.patch tpm-protector-export-secret-key.patch grub-unseal-debug.patch 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch 0005-tpm2-add-more-marshal-unmarshal-functions.patch 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch 0009-tpm2-remove-the-unnecessary-variables.patch 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch 0012-tpm2-initialize-the-PCR-selection-list-early.patch 0013-tpm2-support-unsealing-key-with-authorized-policy.patch * Refresh grub-read-pcr.patch * Introduce a new build requirement: libtasn1-devel - Only package grub2-protect for the architectures with EFI support- Fix PowerVS deployment fails to boot with 90 cores (bsc#1208581) * 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch * 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch- Fix no prep partition error on non-PReP architectures by making the prep_loadenv module exclusive to powerpc_ieee1275 platform (bsc#1210489) * 0004-Introduce-prep_load_env-command.patch - Fix the issue of freeing an uninitialized pointer * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Rediff * 0005-export-environment-at-start-up.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Resolve some issues with OS boot failure on PPC NVMe-oF disks and made enhancements to PPC secure boot's root device discovery config (bsc#1207230) - Ensure get_devargs and get_devname functions are consistent * 0001-openfw-Ensure-get_devargs-and-get_devname-functions-.patch - Fix regex for Open Firmware device specifier with encoded commas * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Fix regular expression in PPC secure boot config to prevent escaped commas from being treated as delimiters when retrieving partition substrings. - Use prep_load_env in PPC secure boot config to handle unset host-specific environment variables and ensure successful command execution. * 0004-Introduce-prep_load_env-command.patch - Refreshed * 0005-export-environment-at-start-up.patch- Fix aarch64 kiwi image's file not found due to '/@' prepended to path in btrfs filesystem. (bsc#1209165) * grub2-btrfs-05-grub2-mkconfig.patch- Restrict cryptsetup key file permission for better security (bsc#1207499) * 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch * 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch- Meanwhile, memtest86+ gained EFI support, but using the grub command line to run it manually is quite tedious... Adapt 20_memtest86+ to provide a proper menu entry. Executing memtest requires to turn security off in BIOS: (Boot Mode: Other OS).- Tolerate kernel moved out of /boot. (bsc#1184804) * grub2-s390x-12-zipl-setup-usrmerge.patch- Discard cached key from grub shell and editor mode * 0001-clean-up-crypttab-and-linux-modules-dependency.patch * 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch- Make grub more robust against storage race condition causing system boot failures (bsc#1189036) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Fix riscv64 error for relocation 0x13 is not implemented yet * 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch- Fix out of memory error on lpar installation from virtual cdrom (bsc#1208024) * 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - Fix lpar got hung at grub after inactive migration (bsc#1207684) * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Rediff * safe_tpm_pcr_snapshot.patch - Patch supersceded * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Refresh 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch to handle the TPM2 responseCode correctly.- Add module for boot loader interface. Needed for load Unified Kernel Image (UKI) * grub2-add-module-for-boot-loader-interface.patch- Amend the TPM2 stack and add authorized policy mode to tpm2_key_protector * 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch * 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch * 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch * 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch * 0005-tpm2-add-more-marshal-unmarshal-functions.patch * 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch * 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch * 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch * 0009-tpm2-remove-the-unnecessary-variables.patch * 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch * 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch * 0012-tpm2-initialize-the-PCR-selection-list-early.patch * 0013-tpm2-support-unsealing-key-with-authorized-policy.patch- Fix nvmf boot device setup (bsc#1207811) * 0001-grub2-Can-t-setup-a-default-boot-device-correctly-on.patch- Fix unknown filesystem error on disks with 4096 sector size (bsc#1207064) * 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch- Fix GCC 13 build failure (bsc#1201089) * 0002-AUDIT-0-http-boot-tracker-bug.patch- Move unsupported zfs modules into 'extras' packages (bsc#1205554) (PED-2947)- Fix inappropriately including commented lines in crypttab (bsc#1206279) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Make grub.cfg invariant to efi and legacy platforms (bsc#1205200) - Removed patch linuxefi * grub2-secureboot-provide-linuxefi-config.patch * grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch * grub2-secureboot-use-linuxefi-on-uefi.patch - Rediff * grub2-btrfs-05-grub2-mkconfig.patch * grub2-efi-xen-cmdline.patch * grub2-s390x-05-grub2-mkconfig.patch * grub2-suse-remove-linux-root-param.patch- Setup multiple device paths for a nvmf boot device (bsc#1205666) * 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch- Increase the path buffer in the crypttab command for the long volume name (bsc#1206333) * grub2-increase-crypttab-path-buffer.patch- Add tpm to signed grub.elf image (PED-1990) (bsc#1205912) - Increase initial heap size from 1/4 to 1/3 * 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch- Make full utilization of btrfs bootloader area (bsc#1161823) * 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch * 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - Patch removed * 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Fix regression of reverting back to asking password twice when a keyfile is already used (bsc#1205309) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Security fixes and hardenings * 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch * 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - Fix CVE-2022-2601 (bsc#1205178) * 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch * 0004-font-Remove-grub_font_dup_glyph.patch * 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch * 0006-font-Fix-integer-overflow-in-BMP-index.patch * 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch * 0008-fbutil-Fix-integer-overflow.patch - Fix CVE-2022-3775 (bsc#1205182) * 0009-font-Fix-an-integer-underflow-in-blit_comb.patch * 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch * 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch * 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - Bump upstream SBAT generation to 3- Removed 0001-linux-fix-efi_relocate_kernel-failure.patch as reported regression in some hardware being stuck in initrd loading (bsc#1205380)- Fix password asked twice if third field in crypttab not present (bsc#1205312) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- NVMeoFC support on grub (jsc#PED-996) * 0001-ieee1275-add-support-for-NVMeoFC.patch * 0002-ieee1275-ofpath-enable-NVMeoF-logical-device-transla.patch * 0003-ieee1275-change-the-logic-of-ieee1275_get_devargs.patch * 0004-ofpath-controller-name-update.patch - TDX: Enhance grub2 measurement to TD RTMR (jsc#PED-1265) * 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch * 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch * 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - Measure the kernel on POWER10 and extend TPM PCRs (PED-1990) * 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Fix efi pcr snapshot related funtion is defined but not used on powerpc platform. * safe_tpm_pcr_snapshot.patch- Include loopback into signed grub2 image (jsc#PED-2150)- Fix firmware oops after disk decrypting failure (bsc#1204037) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Add patch to fix kernel relocation error in low memory * 0001-linux-fix-efi_relocate_kernel-failure.patch- Add safety measure to pcr snapshot by checking platform and tpm status * safe_tpm_pcr_snapshot.patch- Fix installation failure due to unavailable nvram device on ppc64le (bsc#1201361) * 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch- Add patches to dynamically allocate additional memory regions for EFI systems (bsc#1202438) * 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch * 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch * 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch * 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch * 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - Enlarge the default heap size and defer the disk cache invalidation (bsc#1202438) * 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch * 0002-mm-Defer-the-disk-cache-invalidation.patch- Add patches for ALP FDE support * 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch * 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch * 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch * 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch * 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch * 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch * 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch * 0008-linuxefi-Use-common-grub_initrd_load.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch * 0010-templates-import-etc-crypttab-to-grub.cfg.patch * grub-read-pcr.patch * efi-set-variable-with-attrs.patch * tpm-record-pcrs.patch * tpm-protector-dont-measure-sealed-key.patch * tpm-protector-export-secret-key.patch * grub-install-record-pcrs.patch * grub-unseal-debug.patch- Fix out of memory error cannot be prevented via disabling tpm (bsc#1202438) * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Fix tpm error stop tumbleweed from booting (bsc#1202374) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Patch Removed * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch- Add tpm, tpm2, luks2 and gcry_sha512 to default grub.efi (bsc#1197625) - Make grub-tpm.efi a symlink to grub.efi * grub2.spec - Log error when tpm event log is full and continue * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch - Patch superseded * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch- Add patches for automatic TPM disk unlock (jsc#SLE-24018) (bsc#1196668) (jsc#PED-1276) * 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch * 0002-cryptodisk-Refactor-to-discard-have_it-global.patch * 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch * 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch * 0005-cryptodisk-Improve-cryptomount-u-error-message.patch * 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch * 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch * 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch * 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch * 0010-protectors-Add-key-protectors-framework.patch * 0011-tpm2-Add-TPM-Software-Stack-TSS.patch * 0012-protectors-Add-TPM2-Key-Protector.patch * 0013-cryptodisk-Support-key-protectors.patch * 0014-util-grub-protect-Add-new-tool.patch - Fix no disk unlocking happen (bsc#1196668) * 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - Fix build error * fix-tpm2-build.patch- Security fixes and hardenings for boothole 3 / boothole 2022 (bsc#1198581) * 0001-video-Remove-trailing-whitespaces.patch * 0002-loader-efi-chainloader-Simplify-the-loader-state.patch * 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - Fix CVE-2022-28736 (bsc#1198496) * 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - Fix CVE-2022-28735 (bsc#1198495) * 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch * 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch * 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch * 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - Fix CVE-2021-3695 (bsc#1191184) * 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - Fix CVE-2021-3696 (bsc#1191185) * 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch * 0011-video-readers-png-Sanity-check-some-huffman-codes.patch * 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch * 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch * 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - Fix CVE-2021-3697 (bsc#1191186) * 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch * 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - Fix CVE-2022-28733 (bsc#1198460) * 0017-net-ip-Do-IP-fragment-maths-safely.patch * 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch * 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch * 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch * 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch * 0022-net-tftp-Avoid-a-trivial-UAF.patch * 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - Fix CVE-2022-28734 (bsc#1198493) * 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - Fix CVE-2022-28734 (bsc#1198493) * 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch * 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch * 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch * 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch * 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch * 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch * 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch * 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - Bump grub's SBAT generation to 2- Use boot disks in OpenFirmware, fixing regression caused by 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch, when the root LV is completely in the boot LUN (bsc#1197948) * 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch- Fix error message in displaying help on bootable snapshot (bsc#1199609)- Fix installation over serial console ends up in infinite boot loop (bsc#1187810) (bsc#1209667) (bsc#1209372) * 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - Fix ppc64le build error for new IEEE long double ABI * 0001-libc-config-merge-from-glibc.patch- Fix Power10 LPAR error "The partition fails to activate as partition went into invalid state" (bsc#1198714) * 0001-powerpc-do-CAS-in-a-more-compatible-way.patch- use common SBAT values (boo#1193282)- Fix wrong order in kernel sorting of listing rc before final release (bsc#1197376) * grub2-use-rpmsort-for-version-sorting.patch- Fix duplicated insmod part_gpt lines in grub.cfg (bsc#1197186) * 0001-grub-probe-Deduplicate-probed-partmap-output.patch- Fix GCC 12 build failure (bsc#1196546) * 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch * 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch * 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - Revised * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix grub-install error when efi system partition is created as mdadm software raid1 device (bsc#1179981) (bsc#1195204) * 0001-install-fix-software-raid1-on-esp.patch- Fix riscv64 build error * 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch- Fix error in grub-install when linux root device is on lvm thin volume (bsc#1192622) (bsc#1191974) * 0001-grub-install-bailout-root-device-probing.patch- Support saving grub environment for POWER signed grub images (jsc#SLE-23854) * 0001-Add-grub_envblk_buf-helper-function.patch * 0002-Add-grub_disk_write_tail-helper-function.patch * 0003-grub-install-support-prep-environment-block.patch * 0004-Introduce-prep_load_env-command.patch * 0005-export-environment-at-start-up.patch - Use enviroment variable in early boot config to looking up root device * grub2.spec- Remove obsolete openSUSE 12.2 conditionals in spec file - Clean up powerpc certificate handling.- Set grub2-check-default shebang to "#!/bin/bash", as the the code uses many instructions which are undefined for a POSIX sh. (boo#1195794).- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch- Fix wrong default entry when booting snapshot (bsc#1159205) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * grub2.spec - Power guest secure boot with static keys: GRUB2 portion (jsc#SLE-18144) (bsc#1192686) * 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch * 0002-ieee1275-claim-more-memory.patch * 0003-ieee1275-request-memory-with-ibm-client-architecture.patch * 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch * 0005-docs-grub-Document-signing-grub-under-UEFI.patch * 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch * 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch * 0008-pgp-factor-out-rsa_pad.patch * 0009-crypto-move-storage-for-grub_crypto_pk_-to-crypto.c.patch * 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch * 0011-libtasn1-import-libtasn1-4.18.0.patch * 0012-libtasn1-disable-code-not-needed-in-grub.patch * 0013-libtasn1-changes-for-grub-compatibility.patch * 0014-libtasn1-compile-into-asn1-module.patch * 0015-test_asn1-test-module-for-libtasn1.patch * 0016-grub-install-support-embedding-x509-certificates.patch * 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch * 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch * 0019-appended-signatures-support-verifying-appended-signa.patch * 0020-appended-signatures-verification-tests.patch * 0021-appended-signatures-documentation.patch * 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch * 0023-x509-allow-Digitial-Signature-plus-other-Key-Usages.patch- Fix no menuentry is found if hibernation on btrfs RAID1 (bsc#1193090) * grub2-systemd-sleep-plugin- Fix CVE-2021-3981 (bsc#1189644) * 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch- Fix can't allocate initrd error (bsc#1191378) * 0001-Factor-out-grub_efi_linux_boot.patch * 0002-Fix-race-in-EFI-validation.patch * 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch * 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch * 0005-x86-efi-Use-bounce-buffers-for-reading-to-addresses-.patch * 0006-x86-efi-Re-arrange-grub_cmd_linux-a-little-bit.patch * 0007-x86-efi-Make-our-own-allocator-for-kernel-stuff.patch * 0008-x86-efi-Allow-initrd-params-cmdline-allocations-abov.patch * 0009-x86-efi-Reduce-maximum-bounce-buffer-size-to-16-MiB.patch * 0010-efilinux-Fix-integer-overflows-in-grub_cmd_initrd.patch * 0011-Also-define-GRUB_EFI_MAX_ALLOCATION_ADDRESS-for-RISC.patch- Add support for simplefb (boo#1193532). + grub2-simplefb.patch- Fix extent not found when initramfs contains shared extents (bsc#1190982) * 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch- Fix arm64 kernel image not aligned on 64k boundary (bsc#1192522) * 0001-arm64-Fix-EFI-loader-kernel-image-allocation.patch * 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch- Remove openSUSE Tumbleweed specific handling for default grub distributor (bsc#1191198) - Use /usr/lib/os-release as fallback (bsc#1191196) * grub2-default-distributor.patch * grub2-check-default.sh - VUL-0: grub2: grub2-once uses fixed file name in /var/tmp (bsc#1190474) (CVE-2021-46705) * grub2-once * grub2-once.service - Fix unknown TPM error on buggy uefi firmware (bsc#1191504) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Fix error /boot/grub2/locale/POSIX.gmo not found (bsc#1189769) * 0001-Filter-out-POSIX-locale-for-translation.patch - Fix error lvmid disk cannot be found after second disk added to the root volume group (bsc#1189874) (bsc#1071559) * 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch - Fix error in grub installation due to unnecessary requirement to support excessive device for the root logical volume (bsc#1184135) * 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - Fix regression in reading xfs v4 * 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch- Fix installation on usrmerged s390x- Improve support for SLE Micro 5.1 on s390x. (bsc#1190395) * amend grub2-s390x-04-grub2-install.patch * refresh grub2-s390x-11-secureboot.patch- Follow usr merge for looking up kernel config (bsc#1189782) (bsc#1190061) * 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch- Add btrfs zstd compression on i386-pc and also make sure it won't break existing grub installations (bsc#1161823) * deleted 0001-btrfs-disable-zstd-support-for-i386-pc.patch * added 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Delete the author list from %description (the %description section is literally for package descriptions (only) these days, encoding was also problematic). - Add %doc AUTHORS to get packaged that info- update grub2-systemd-sleep.sh to fix hibernation by avoiding the error "no kernelfile matching the running kernel found" on usrmerged setup- Use %autosetup- Replace grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch and fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch with upstream backport: 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch and 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch.- Fix error not a btrfs filesystem on s390x (bsc#1187645) * 80_suse_btrfs_snapshot- Fix error gfxterm isn't found with multiple terminals (bsc#1187565) * grub2-fix-error-terminal-gfxterm-isn-t-found.patch- Fix boot failure after kdump due to the content of grub.cfg is not completed with pending modificaton in xfs journal (bsc#1186975) * grub-install-force-journal-draining-to-ensure-data-i.patch - Patch refreshed * grub2-mkconfig-default-entry-correction.patch- Version bump to 2.06 * rediff - 0001-add-support-for-UEFI-network-protocols.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - 0003-Make-grub_error-more-verbose.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-efi-HP-workaround.patch - grub2-efi-xen-cfg-unquote.patch - grub2-efi-xen-chainload.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - grub2-mkconfig-default-entry-correction.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-secureboot-install-signed-grub.patch - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - use-grub2-as-a-package-name.patch * update by patch squashed: - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - grub2-efi-chainload-harder.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-chainloader.patch - grub2-secureboot-add-linuxefi.patch * remove squashed patches: - 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch - 0009-squash-Add-support-for-linuxefi.patch - 0041-squash-Add-secureboot-support-on-efi-chainloader.patch - 0042-squash-grub2-efi-chainload-harder.patch - 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch - 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * drop upstream patches: - 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch - 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch - 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch - 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch - 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch - 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch - 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch - 0002-kern-Add-X-option-to-printf-functions.patch - 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch - 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch - 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch - 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch - 0003-normal-main-Search-for-specific-config-files-for-net.patch - 0004-calloc-Use-calloc-at-most-places.patch - 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch - 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch - 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch - 0005-efi-Add-secure-boot-detection.patch - 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch - 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch - 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch - 0007-font-Do-not-load-more-than-one-NAME-section.patch - 0007-verifiers-Move-verifiers-API-to-kernel-image.patch - 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch - 0008-script-Remove-unused-fields-from-grub_script_functio.patch - 0009-kern-Add-lockdown-support.patch - 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch - 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch - 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch - 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch - 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch - 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch - 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch - 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch - 0018-gdb-Restrict-GDB-access-when-locked-down.patch - 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch - 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - 0024-kern-parser-Fix-resource-leak-if-argc-0.patch - 0025-kern-parser-Fix-a-memory-leak.patch - 0026-kern-parser-Introduce-process_char-helper.patch - 0027-kern-parser-Introduce-terminate_arg-helper.patch - 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch - 0029-kern-buffer-Add-variable-sized-heap-buffer.patch - 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch - 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch - 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch - 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch - 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch - 0036-util-mkimage-Improve-data_size-value-calculation.patch - 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch - 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch - 0039-grub-install-common-Add-sbat-option.patch - 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch - grub-install-define-default-platform-for-risc-v.patch - grub2-editenv-add-warning-message.patch - grub2-efi-gop-add-blt.patch - grub2-efi-uga-64bit-fb.patch - grub2-verifiers-fix-system-freeze-if-verify-failed.patch - risc-v-add-clzdi2-symbol.patch - risc-v-fix-computation-of-pc-relative-relocation-offset.patch - Add grub2-instdev-fixup.pl for correcting /etc/default/grub_installdevice to use disk devie if grub has been installed to it - Add 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch to fix detection of efi fwsetup support- Fix running grub2-once leads to failure of starting systemd service in the boot sequence (bsc#1169460) * grub2-once * grub2-once.service- Fix crash in launching gfxmenu without theme file (bsc#1186481) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Fix plaintext password in grub config didn't work to unlock menu entry if enabling secure boot in UEFI (bsc#1181892)- Fix obsolete syslog in systemd unit file and updating to use journal as StandardOutput (bsc#1185149) * grub2-once.service- Fix build error on armv6/armv7 (bsc#1184712) * 0001-emu-fix-executable-stack-marking.patch- Fix error grub_file_filters not found in Azure virtual machine (bsc#1182012) * 0001-Workaround-volatile-efi-boot-variable.patch- Fix powerpc-ieee1275 lpar takes long time to boot with increasing number of nvme namespace (bsc#1177751) 0001-ieee1275-Avoiding-many-unecessary-open-close.patch- Fix chainloading windows on dual boot machine (bsc#1183073) * 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch- VUL-0: grub2,shim: implement new SBAT method (bsc#1182057) * 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch * 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch * 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch * 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch * 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch * 0036-util-mkimage-Improve-data_size-value-calculation.patch * 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch * 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch * 0039-grub-install-common-Add-sbat-option.patch - Fix CVE-2021-20225 (bsc#1182262) * 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - Fix CVE-2020-27749 (bsc#1179264) * 0024-kern-parser-Fix-resource-leak-if-argc-0.patch * 0025-kern-parser-Fix-a-memory-leak.patch * 0026-kern-parser-Introduce-process_char-helper.patch * 0027-kern-parser-Introduce-terminate_arg-helper.patch * 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch * 0029-kern-buffer-Add-variable-sized-heap-buffer.patch * 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - Fix CVE-2021-20233 (bsc#1182263) * 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - Fix CVE-2020-25647 (bsc#1177883) * 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - Fix CVE-2020-25632 (bsc#1176711) * 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - Fix CVE-2020-27779, CVE-2020-14372 (bsc#1179265) (bsc#1175970) * 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch * 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch * 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch * 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch * 0005-efi-Add-secure-boot-detection.patch * 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch * 0007-verifiers-Move-verifiers-API-to-kernel-image.patch * 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch * 0009-kern-Add-lockdown-support.patch * 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch * 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch * 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch * 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch * 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch * 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch * 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch * 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch * 0018-gdb-Restrict-GDB-access-when-locked-down.patch * 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch * 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch * 0041-squash-Add-secureboot-support-on-efi-chainloader.patch * 0042-squash-grub2-efi-chainload-harder.patch * 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch * 0044-squash-kern-Add-lockdown-support.patch * 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - Drop patch supersceded by the new backport * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch - Add SBAT metadata section to grub.efi - Drop shim_lock module as it is part of core of grub.efi * grub2.spec- Fix build error in binutils 2.36 (bsc#1181741) * 0001-Fix-build-error-in-binutils-2.36.patch - Fix executable stack in grub-emu (bsc#1181696) * 0001-emu-fix-executable-stack-marking.patch- Restore compatibilty sym-links * grub2.spec - Use rpmlintrc to filter out rpmlint 2.0 error (bsc#1179044) * grub2.rpmlintrc- Complete Secure Boot support on aarch64 (jsc#SLE-15020) * 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch * 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch * 0003-Make-grub_error-more-verbose.patch * 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch * 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch * 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0009-squash-Add-support-for-linuxefi.patch- Fix rpmlint 2.0 error for having arch specific path in noarch package aiming for compatibility with old package (bsc#1179044) * grub2.spec - Fix non POSIX sed argument which failed in sed from busybox (bsc#1181091) * grub2-check-default.sh- Fix boot failure in blocklist installation (bsc#1178278) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix grub2-install error with "failed to get canonical path of `/boot/grub2/i386-pc'." (bsc#1177957) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix https boot interrupted by unrecognised network address error message (bsc#1172952) * 0001-add-support-for-UEFI-network-protocols.patch- grub2.spec: Fix bare words used as string in expression which is no longer allowed in rpm 4.16- Improve the error handling when grub2-install fails with short mbr gap (bsc#1176062) * 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch * 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Make efi hand off the default entry point of the linux command (bsc#1176134) * 0001-efi-linux-provide-linux-command.patch- Fix verification requested but nobody cares error when loading external module in secure boot off (bsc#1175766) * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch- Make consistent check to enable relative path on btrfs (bsc#1174567) * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Add fibre channel device's ofpath support to grub-ofpathname and search hint to speed up root device discovery (bsc#1172745) * 0001-ieee1275-powerpc-implements-fibre-channel-discovery-.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix for CVE-2020-15705 (bsc#1174421) * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0002-cmdline-Provide-cmdline-functions-as-module.patch- Make grub-calloc inline to avoid symbol not found error as the system may not use updated grub to boot the system (bsc#1174782) (bsc#1175060) (bsc#1175036) * 0001-kern-mm.c-Make-grub_calloc-inline.patch- Fix for CVE-2020-10713 (bsc#1168994) * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 (bsc#1173812) * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch * 0004-calloc-Use-calloc-at-most-places.patch * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch * 0007-font-Do-not-load-more-than-one-NAME-section.patch - Fix CVE-2020-15706 (bsc#1174463) * 0008-script-Remove-unused-fields-from-grub_script_functio.patch * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - Fix CVE-2020-15707 (bsc#1174570) * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - Use overflow checking primitives where the arithmetic expression for buffer allocations may include unvalidated data - Use grub_calloc for overflow check and return NULL when it would occur * 0001-add-support-for-UEFI-network-protocols.patch * 0003-bootp-New-net_bootp6-command.patch * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * grub2-btrfs-09-get-default-subvolume.patch * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch * grub2-grubenv-in-btrfs-header.patch- No 95_textmode for PowerPC (boo#1174166)- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Fix boot failure as journaled data not get drained due to abrupt power off after grub-install (bsc#1167756) * grub-install-force-journal-draining-to-ensure-data-i.patch- Fix executable stack in grub-probe and other grub utility (bsc#1169137) * grub2-btrfs-06-subvol-mount.patch- Fix GCC 10 build fail (bsc#1158189) * 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch * 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch- Backport to support searching for specific config files for netboot (bsc#1166409) * 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch * 0002-kern-Add-X-option-to-printf-functions.patch * 0003-normal-main-Search-for-specific-config-files-for-net.patch * 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch- move *.module files to separate -debug subpackage (boo#1166578)- Fix EFI console detection to make it a runtime decision (bsc#1164385) * grub2-SUSE-Add-the-t-hotkey.patch- Downgrade mtools to Suggests for consistency with xorriso (boo#1165839) - remove info requirements, file triggers are used now (boo#1152105)- Add secure boot support for s390x. (jsc#SLE-9425) * grub2-s390x-11-secureboot.patch- Fix grub hangs after loading rogue image without valid signature for uefi secure boot (bsc#1159102) * grub2-verifiers-fix-system-freeze-if-verify-failed.patch- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Correct awk pattern in 20_linux_xen (bsc#900418, bsc#1157912) - Correct linux and initrd handling in 20_linux_xen (bsc#1157912) M grub2-efi-xen-cfg-unquote.patch M grub2-efi-xen-chainload.patch M grub2-efi-xen-cmdline.patch M grub2-efi-xen-removable.patch- Disable btrfs zstd support for i386-pc to workaround core.img too large to be embedded in btrfs bootloader area or MBR gap (boo#1154809) * 0001-btrfs-disable-zstd-support-for-i386-pc.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Enable support for riscv64 - Backports from upstream: * risc-v-fix-computation-of-pc-relative-relocation-offset.patch * risc-v-add-clzdi2-symbol.patch * grub-install-define-default-platform-for-risc-v.patch- Version bump to 2.04 * removed - translations-20170427.tar.xz * grub2.spec - Make signed grub-tpm.efi specific to x86_64-efi build, the platform currently shipped with tpm module from upstream codebase - Add shim_lock to signed grub.efi in x86_64-efi build - x86_64: linuxefi now depends on linux, both will verify kernel via shim_lock - Remove translation tarball and po file hacks as it's been included in upstream tarball * rediff - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-secureboot-add-linuxefi.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-install-signed-grub.patch - grub2-linux.patch - use-grub2-as-a-package-name.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-secureboot-use-linuxefi-on-uefi.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-provide-linuxefi-config.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-efi-chainloader-root.patch - grub2-ppc64le-disable-video.patch - grub2-ppc64-cas-reboot-support.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0003-bootp-New-net_bootp6-command.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - grub2-emu-4-all.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-fix-double-free.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch * drop upstream patches - grub2-fix-locale-en.mo.gz-not-found-error-message.patch - grub2-fix-build-with-flex-2.6.4.patch - grub2-accept-empty-module.patch - 0001-Fix-packed-not-aligned-error-on-GCC-8.patch - 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch - unix-exec-avoid-atexit-handlers-when-child-exits.patch - 0001-xfs-Accept-filesystem-with-sparse-inodes.patch - grub2-binutils2.31.patch - grub2-msdos-fix-overflow.patch - 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch - grub2-efi-Move-grub_reboot-into-kernel.patch - grub2-efi-Free-malloc-regions-on-exit.patch - grub2-move-initrd-upper.patch - 0002-Add-Virtual-LAN-support.patch - 0001-ofnet-Initialize-structs-in-bootpath-parser.patch - 0001-misc-fix-invalid-character-recongition-in-strto-l.patch - 0001-tpm-Core-TPM-support.patch - 0002-tpm-Measure-kernel-initrd.patch - 0003-tpm-Add-BIOS-boot-measurement.patch - 0004-tpm-Rework-linux-command.patch - 0005-tpm-Rework-linux16-command.patch - 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch - 0007-tpm-Measure-the-kernel-commandline.patch - 0008-tpm-Measure-commands.patch - 0009-tpm-Measure-multiboot-images-and-modules.patch - 0010-tpm-Fix-boot-when-there-s-no-TPM.patch - 0011-tpm-Fix-build-error.patch - 0013-tpm-i386-pc-diskboot-img.patch - grub2-freetype-pkgconfig.patch - 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch - 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch - 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch - 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch - 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch - 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch - 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch - 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Fix fallback embed doesn't work when no post mbr gap at all (boo#1142229) * Refresh grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Fix iteration of FCP LUNs (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229). * Refresh grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Use grub2-install to handle signed grub installation for UEFI secure boot and also provide options to override default (bsc#1136601) * grub2-secureboot-install-signed-grub.patch - Remove arm64 linuxefi patches as it's not needed for secure boot * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Avoid high resolution when trying to keep current mode (bsc#1133842) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - Make GRUB_SAVEDEFAULT working with btrfs (bsc#1128592) * grub2-grubenv-in-btrfs-header.patch- Check/refresh zipl-kernel before hibernate on s390x. (bsc#940457) (Getting rid of hardcoded 'vmlinuz', which failed on PPC as well.) * grub2-systemd-sleep.sh- Try to refresh zipl-kernel on failed kexec. (bsc#1127293) * grub2-s390x-04-grub2-install.patch - Fully support "previous" zipl-kernel, with 'mem=1G' being available on dedicated entries. (bsc#928131) * grub2-s390x-09-improve-zipl-setup.patch - Refresh * grub2-zipl-setup-fix-btrfs-multipledev.patch- Fix GCC 9 build failure (bsc#1121208) * 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch * 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch * 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch * 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch * 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch * 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch * 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch * 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Use %doc for older products for compatibility, or may end up with unsuccessful build result * grub2.spec- Revert grub2-ieee1275-open-raw-mode.patch for regression of crashing lvm on multipath SAN (bsc#1113702) * deleted grub2-ieee1275-open-raw-mode.patch - Add exception handling to FCP lun enumeration (bsc#1113702) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix LOADER_TYPE parsing in grub2-once (boo#1122569)- Create compatibility sym-link of grub.xen in the old location to which old VM definition is pointing (bsc#1123942)- Add patch to fix ARM boot, when kernel become too big: * grub2-move-initrd-upper.patch (boo#1123350)- Replace old $RPM_* shell vars.- Support long menu entry by scrolling its text left and right through the key stroke ctrl+l and ctrl+r (FATE#325760) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Improved hiDPI device support (FATE#326680) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh)- Support for UEFI Secure Boot on AArch64 (FATE#326541) * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Change default tsc calibration method to pmtimer on EFI (bsc#1114754) * 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch- ieee1275: Fix double free in CAS reboot (bsc#1111955) * grub2-ppc64-cas-fix-double-free.patch- Support NVDIMM device names (bsc#1110073) * grub2-getroot-support-nvdimm.patch- Translate caret back to space as the initrd stanza could use space to delimit multiple files loaded (bsc#1101942) * grub2-util-30_os-prober-multiple-initrd.patch- ieee1275: implement FCP methods for WWPN and LUNs (bsc#1093145) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix broken network interface with random address and same name (bsc#1084508) * 0001-ofnet-Initialize-structs-in-bootpath-parser.patch- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus return code handling. (bsc#1106381) * modified grub2-btrfs-10-config-directory.patch- Fix overflow in sector count calculation (bsc#1105163) * grub2-msdos-fix-overflow.patch- Downgrade libburnia-tools to suggest as minimal system can't afford pulling in tcl/tk and half of the x11 stack (bsc#1102515) * modified grub2.spec- Add grub2-binutils2.31.patch: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32. Starting from binutils commit bd7ab16b x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for 32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as R_X86_64_PC32.- The grubxenarch packages are now architecture-independent. [bsc#953297, grub2.spec, grub2-rpmlintrc]- Fix config_directory on btrfs to follow path scheme (bsc#1063443) * grub2-btrfs-10-config-directory.patch - Fix grub2-install --root-directory does not work for /boot/grub2/ on separate btrfs subvolume (boo#1098420) * grub2-btrfs-06-subvol-mount.patch - Fix setparams doesn't work as expected from boot-last-label NVRAM var, after inital CAS reboot on ieee1275 (bsc#1088830) * grub2-ppc64-cas-new-scope.patch- Fix install on xfs error (bsc#1101283) * 0001-xfs-Accept-filesystem-with-sparse-inodes.patch- grub2.spec: change %config to %config(noreplace) Don't overwrite user changes to config files on upgrades.- Marked %{_sysconfdir}/grub.d/40_custom as (noreplace) [bsc#1079332, grub2.spec]- Replace "GRUB_DISABLE_LINUX_RECOVERY" by "GRUB_DISABLE_RECOVERY" in /etc/default/grub and remove test from s390x install section in upec file. [bsc#1042433, grub.default, grub2.spec]- Added "# needssslcertforbuild", which got lost somewhere, to spec file [grub2.spec]- Replace confusing menu on btrfs "snapper rollback" by help text. [bsc#1027588, grub2-btrfs-help-on-snapper-rollback.patch]- Use %license instead of %doc [bsc#1082318]- grub2-emu on s390 keep network during kexec boot (bsc#1089493) * grub2-s390x-10-keep-network-at-kexec.patch- Add grub2-freetype-pkgconfig.patch to fix build with new freetype use pkgconfig to find Freetype libraries.- Fallback to raw mode if Open Firmware returns invalid ihandler (bsc#1071559) * grub2-ieee1275-open-raw-mode.patch- Fix error of essential directory not found on UEFI Xen host (bsc#1085842) * add grub2-efi-xen-removable.patch * rediff grub2-suse-remove-linux-root-param.patch- Fix corruption of "grub2-install --help" and grub2-install manual page (bsc#1086670) * unix-exec-avoid-atexit-handlers-when-child-exits.patch- Fix Nvidia GPU in legacy I/O slot 2 disappears during system startup (bsc#1082914) * 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch- Fix packed-not-aligned error on GCC 8 (bsc#1084632) * 0001-Fix-packed-not-aligned-error-on-GCC-8.patch- Fix incorrect netmask on ppc64 (bsc#1085419) * grub2-Fix-incorrect-netmask-on-ppc64.patch- Fix UEFI HTTPS Boot from ISO installation image (bsc#1076132) * 0001-add-support-for-UEFI-network-protocols.patch- fix wrong command output when default subvolume is toplevel tree with id 5 (bsc#1078775) * grub2-btrfs-09-get-default-subvolume.patch - insert mdraid modules to support software RAID (bsc#1078775) * grub2-xen-pv-firmware.cfg- Rename grub2-btrfs-workaround-grub2-once.patch to grub2-grubenv-in-btrfs-header.patch - Store GRUB environment variable health_checker_flag in Btrfs header- Fix incorrect check preventing the script from running (bsc#1078481) * 80_suse_btrfs_snapshot- Fix disappeared snapshot menu entry (bsc#1078481) * 80_suse_btrfs_snapshot- Fix unquoted string error and add some more checks (bsc#1079330) * grub2-check-default.sh- The %prep section applies patches, the %build section builds. Remove mixup of patching and building from %prep for quilt setup Related to bsc#1065703- Check if default entry need to be corrected for updated distributor version and/or use fallback entry if default kernel entry removed (bsc#1065349) * grub2-check-default.sh * grub2-mkconfig-default-entry-correction.patch - Fix grub2-mkconfig warning when disk is LVM PV (bsc#1071239) * grub2-getroot-scan-disk-pv.patch- Filter out autofs and securityfs from /proc/self/mountinfo to speed up nfsroot test in large number of autofs mounts (bsc#1069094) * modified grub2-pass-corret-root-for-nfsroot.patch- Fix http(s) boot security review (bsc#1058090) * 0002-AUDIT-0-http-boot-tracker-bug.patch- 0001-add-support-for-UEFI-network-protocols.patch: * Workaround http data access in firmware * Fix DNS device path parsing for efinet device * Relaxed UEFI Protocol requirement * Support Intel OPA (Omni-Path Architecture) PXE Boot (bsc#1015589)- grub2-xen-pv-firmware.cfg: remove linemode=1 from cmdline for SUSE installer. openQA expects ncurses interface. (bsc#1066919)- use python3 for autogen.sh (fate#323526)- Do not check that PReP partition does not contain an ELF during installation (bsc#1065738). * grub2-install-remove-useless-check-PReP-partition-is-empty.patch- Build diskboot_tpm.img as separate image to diskboot.img to prevent failure in booting on some bogus firmware. To use the TPM image you have to use suse-enable-tpm option of grub2-install (bsc#1052401) * 0013-tpm-i386-pc-diskboot-img.patch- Use /boot//loader/linux to determine if install media is SUSE instead of /contents file (bsc#1054453)- Use the pvops-enabled default kernel if the traditional xen pv kernel and initrd are not found (bsc#1054453)- Fix reboot in UEFI environments (bsc#1047331) * Add grub2-efi-Move-grub_reboot-into-kernel.patch * Refresh grub2-efi-Free-malloc-regions-on-exit.patch- Add preliminary patch for UEFI HTTPS and related network protocol support (fate#320130) * 0001-add-support-for-UEFI-network-protocols.patch- grub2-s390x-04-grub2-install.patch : remove arybase dependency in grub2-zipl-setup by not referencing to $[ (bsc#1055280)- Fix minor oversights in and the exit value of the grub2-install helper on s390x. (bsc#1055343, fate#323298) * grub2-s390x-09-improve-zipl-setup.patch- Make grub2.info build reproducible (boo#1047218)- add grub2-fix-build-with-flex-2.6.4.patch - fix build with flex 2.6.4+ that removed explicit (void) cast from fprintf call in yy_fatal_error.- Support LVM physical volume created without metadatacopies (bsc#1027526) * grub2-diskfilter-support-pv-without-metadatacopies.patch - Fix page fault exception when grub loads with Nvidia cards (bsc#1038533) * grub2-efi-uga-64bit-fb.patch - Require 'kexec-tools' for System z. (bsc#944358) * modified grub2.spec- grub2-xen-pv-firmware.cfg: insmod lvm module as it's not auto-loaded to support booting from lvm volume (bsc#1004324) - Grub not working correctly with xen and btrfs snapshots (bsc#1026511) * Add grub2-btrfs-09-get-default-subvolume.patch * grub2-xen-pv-firmware.cfg : search path in default subvolume- new upstream version 2.02 * rediff - use-grub2-as-a-package-name.patch * drop upstream patches - grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch - grub2-add-FALLTHROUGH-annotations.patch - update translations- update grub2-btrfs-workaround-grub2-once.patch to also store saved_entry in additional environment block (boo#1031025)- fix building with GCC (bsc#1030247) * add grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch * grub2-add-FALLTHROUGH-annotations.patch- Fix out of memory error on lvm detection (bsc#1016536) (bsc#1027401) * grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - Fix boot failure if /boot is separate btrfs partition (bsc#1023160) * grub2-btrfs-06-subvol-mount.patch- 0004-tpm-Rework-linux-command.patch : Fix out of bound memory copy (bsc#1029187)- new upstream version 2.02~rc2 * rediff - use-grub2-as-a-package-name.patch - grub2-linguas.sh-no-rsync.patch * drop upstream patches - 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch- TPM Support (FATE#315831) * 0001-tpm-Core-TPM-support.patch * 0002-tpm-Measure-kernel-initrd.patch * 0003-tpm-Add-BIOS-boot-measurement.patch * 0004-tpm-Rework-linux-command.patch * 0005-tpm-Rework-linux16-command.patch * 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch * 0007-tpm-Measure-the-kernel-commandline.patch * 0008-tpm-Measure-commands.patch * 0009-tpm-Measure-multiboot-images-and-modules.patch * 0010-tpm-Fix-boot-when-there-s-no-TPM.patch * 0011-tpm-Fix-build-error.patch * 0012-tpm-Build-tpm-as-module.patch - grub2.spec : Add grub-tpm.efi for Secure Boot- Fix invalid Xen EFI config files if xen_args include GRUB2 quoting (bsc#900418) (bsc#951748) * grub2-efi-xen-cfg-unquote.patch - Fix linuxefi erroneously initialize linux's boot_params with non-zero values. (bsc#1025563) * grub2-linuxefi-fix-boot-params.patch - Removed grub2-fix-multi-device-root-kernel-argument.patch as it has regression on how GRUB_DISABLE_LINUX_UUID=true interpreted (bsc#1015138)- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344) * added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch * removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344) * 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- grub2.spec: fix s390x file list.- require efibootmgr in efi package (boo#1025520)- Merge changes from SLE12 - add grub2-emu-4-all.patch * Build 'grub2-emu' wherever possible, to allow a better implementation of that feature. - add grub2-s390x-06-loadparm.patch, - add grub2-commands-introduce-read_file-subcommand.patch: * allow s390x to telecontrol grub2. (bsc#891946, bsc#892852) - add grub2-s390x-06-loadparm.patch: * ignore case and fix transliteration of parameter. (bsc#891946) - add grub2-s390x-07-add-image-param-for-zipl-setup.patch * Add --image switch to force zipl update to specific kernel (bsc#928131) - add grub2-s390x-08-workaround-part-to-disk.patch * Ignore partition tables on s390x. (bsc#935127) - add grub2-efi-chainload-harder.patch: * allow XEN to be chain-loaded despite firmware flaws. (bnc#887793) * Do not use shim lock protocol for reading pe header, it won't be available when secure boot disabled (bsc#943380) * Make firmware flaw condition be more precisely detected and add debug message for the case * Check msdos header to find PE file header (bsc#954126) - grub2-s390x-04-grub2-install.patch: * streamline boot to grub menu. (bsc#898198) * Force '/usr' to read-only before calling kexec. (bsc#932951) - grub2-once: * add '--enum' option to enumerate boot-entries in a way actually understood by 'grub2'. (bsc#892852, bsc#892811) * Examine variables from grub environment in 'grub2-once'. (fate#319632)- new upstream version 2.02~rc1 * rediff - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-accept-empty-module.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-06-subvol-mount.patch * drop upstream patches - 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch - 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch - 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - 0001-Fix-fwpath-in-efi-netboot.patch - 0001-arm64-Move-firmware-fdt-search-into-global-function.patch - 0002-arm-efi-Use-fdt-from-firmware-when-available.patch - grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch - 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch - 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch - 0001-xen-make-xen-loader-callable-multiple-times.patch - 0002-xen-avoid-memleaks-on-error.patch - 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch - 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch - 0005-xen-synchronize-xen-header.patch - 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch - 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch - 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch - 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch - 0010-xen-modify-page-table-construction.patch - 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch * add - fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch fix compilation with new glibc- Fix build error on glibc-2.25 * 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch * 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - Fix fwpath in efi netboot (fate#321993) (bsc#1022294) * 0001-Fix-fwpath-in-efi-netboot.patch- grub2-systemd-sleep.sh: Fix prematurely abort by commands error return code and skip the offending menu entry (bsc#1022880)- Add support for BLT only EFI GOP adapters (FATE#322332) * grub2-efi-gop-add-blt.patch- info-dir-entry.patch: Update info dir entry to follow renaming to grub2- Add serial module to efi image. Serial terminal is still useful even with EFI Secure Boot- Support %posttrans with marcos provided by update-bootloader-rpm-macros package (bsc#997317)- Remove outdated README.openSUSE (bsc#907693)- 20_memtest86+: avoid adding memtest86+ to the list with UEFI booting.- Fix new line character in distributor (bsc#1007212) * modified grub2-default-distributor.patch- From Juergen Gross : grub-xen: support booting huge pv-domains (bsc#1004398) (bsc#899465) * 0001-xen-make-xen-loader-callable-multiple-times.patch * 0002-xen-avoid-memleaks-on-error.patch * 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch * 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch * 0005-xen-synchronize-xen-header.patch * 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch * 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch * 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch * 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch * 0010-xen-modify-page-table-construction.patch * 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch- add support for netboot on arm64-efi platforms (bsc#998097) * grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR in openSUSE Tumbleweed (bsc#995549) * modified grub2-default-distributor.patch - grub2.spec: add http module to grub.efi (fate#320129)- binutils 2.27 creates empty modules without a symtab. Add patch grub2-accept-empty-module.patch to not reject them.- since version 1.7 cryptsetup defaults to SHA256 for LUKS - include gcry_sha256 in signed EFI image- Workaround default entry in snapshot menu (bsc#956046) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2.spec: Add true command to grub.efi (bsc#993274)- grub.default: Empty GRUB_CMDLINE_LINUX_DEFAULT, the value will be fully taken from YaST settings. (bsc#989803)- Add patches from Roberto Sassu - Fix grub2-10_linux-avoid-multi-device-root-kernel-argument.patch, device path is not tested if GRUB_DISABLE_LINUX_UUID="true" - added grub2-fix-multi-device-root-kernel-argument.patch (bsc#960776) - grub2-zipl-setup: avoid multi-device root= kernel argument * added grub2-zipl-setup-fix-btrfs-multipledev.patch (bsc#960776) - Add SUSE_REMOVE_LINUX_ROOT_PARAM configuration option to /etc/default/grub, to remove root= and rootflags= from the kernel command line in /boot/grub2/grub.cfg and /boot/zipl/config - added grub2-suse-remove-linux-root-param.patch (bsc#962585)- Support HTTP Boot IPv4 and IPv6 (fate#320129) * 0001-misc-fix-invalid-character-recongition-in-strto-l.patch * 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch * 0003-bootp-New-net_bootp6-command.patch * 0004-efinet-UEFI-IPv6-PXE-support.patch * 0005-grub.texi-Add-net_bootp6-doument.patch * 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch * 0007-efinet-Setting-network-from-UEFI-device-path.patch * 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - Fix heap corruption after dns lookup * 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch- fix filelist for s390x- Fix grub2-editenv error on encrypted lvm installation (bsc#981621) * modified grub2-btrfs-workaround-grub2-once.patch - Add missing closing bracket in 'grub2-snapper-plugin.sh'. - Fix snapshot booting on s390x (bsc#955115) * modified grub2-snapper-plugin.sh - Fallback to old subvol name scheme to support old snapshot config (bsc#953538) * added grub2-btrfs-07-subvol-fallback.patch- update grub2-once with patch from Björn Voigt - skip comments in /etc/sysconfig/bootloader (boo#963610)- Make sure all systemd unit files are passed to %service_ macros.- Add patch to free memory on exit in efi environments (bsc#980739) * grub2-efi-Free-malloc-regions-on-exit.patch- Remove xen-devel from BuildRequires required headers are included in grub-2.0.2- Add support for "t" hotkey to switch to text mode (bsc#976836) * added grub2-SUSE-Add-the-t-hotkey.patch - Add support for hidden menu entries (bsc#976836) * added grub2-Add-hidden-menu-entries.patch- Correct show user defined comments in menu for snapshots (bsc#956698) * modified grub2-snapper-plugin.sh- Fix GRUB_DISABLE_LINUX_UUID to be ignore and also fallback kernel device won't be used if fs uuid not detected (bsc#971867) * added 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch * added 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch- new upstream version 2.02~beta3 * highlights of user visible changes not yet present in openSUSE package - arm-uboot now generates position independent self relocating image, so single binary should run on all supported systems - loader for Xen on aarch64. grub-mkconfig support was not in time for beta3 yet. - improved ZFS support (extensible_dataset, large_blocks, embedded_data, hole_birth features) - support for IPv6 Router Advertisements - support for persistent memory (we do not overwrite it and pass correct information to OS) - try to display more specific icons for os-prober generated menu entries - grub-install detects EFI bit size and selects correct platform (x86_64-efi or i386-efi) independent of OS bit size; needs kernel 4.0 or higher. - LVM RAID1 support - xnu loader fixes which should make OS X menu entry generated by os-prober work again - key modifiers (Ctrl-X etc) should work on EFI too - ... and lot of fixes over entire tree * rediff - rename-grub-info-file-to-grub2.patch - use-grub2-as-a-package-name.patch - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-chainloader.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-efi-xen-chainload.patch - grub2-mkconfig-aarch64.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64-cas-reboot-support.patch - 0002-Add-Virtual-LAN-support.patch * fix grub2-secureboot-add-linuxefi.patch - use grub_memset and grub_memcpy instead of memset and memcpy (caused errors due to compiler warning) * drop upstream patches - 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch - 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch - 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch - 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch - 0003-efinet-open-Simple-Network-Protocol-exclusively.patch - 0001-efinet-Check-for-immediate-completition.patch - 0001-efinet-enable-hardware-filters-when-opening-interfac.patch - grub2-xen-legacy-config-device-name.patch - grub2-getroot-support-NVMe-device-names.patch - grub2-netboot-hang.patch - grub2-btrfs-fix-incorrect-address-reference.patch - aarch64-reloc.patch - grub2-glibc-2.20.patch (related code dropped upstream) - grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch - grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch - grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch - grub2-ppc64-qemu.patch - grub2-xfs-Add-helper-for-inode-size.patch - grub2-xfs-Fix-termination-loop-for-directory-iteration.patch - grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch - grub2-xfs-V5-filesystem-format-support.patch - 0001-Add-bootargs-parser-for-open-firmware.patch - grub2-arm64-set-correct-length.patch - grub2-arm64-setjmp-Add-missing-license-macro.patch - grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch - 0001-unix-password-Fix-file-descriptor-leak.patch - 0002-linux-getroot-fix-descriptor-leak.patch - 0003-util-grub-mount-fix-descriptor-leak.patch - 0004-linux-ofpath-fix-descriptor-leak.patch - 0005-grub-fstest-fix-descriptor-leak.patch - ppc64le.patch - libgcc-prereq.patch - libgcc.patch - 0001-Fix-security-issue-when-reading-username-and-passwor.patch - 0001-menu-fix-line-count-calculation-for-long-lines.patch - grub2-arm64-Reduce-timer-event-frequency-by-10.patch - 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch - 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch - 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch - 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch - 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch - 0005-i386-fix-TSC-calibration-using-PIT.patch - biendian.patch - ppc64_opt.patch * drop workarounds for gdb_grub and grub.chrp, they are now installed under fixed name * do not patch docs/Makefile.in, it is regenerated anyway- Make mkconfig search for zImage on arm * grub2-mkconfig-arm.patch- Add support to directly pass an EFI FDT table to a kernel on 32bit arm * 0001-arm64-Move-firmware-fdt-search-into-global-function.patch * 0002-arm-efi-Use-fdt-from-firmware-when-available.patch- Add config option to set efi xen loader command line option (bsc#957383) * added grub2-efi-xen-cmdline.patch- Drop ppc64le patches. Build stage1 as BE for Power Droped patches: - grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch - grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch - grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch - grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch - grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch - grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch - grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch - grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch - grub2-ppc64le-09-Add-powerpc64-types.patch - grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch - grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch - grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch - grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch - grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch - grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch - grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch - grub2-ppc64le-17-Add-ppc64-relocations.patch - grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch - grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch - grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch - grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch - grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch - grub2-ppc64le-fix-64bit-trampoline-in-dyn-linker.patch - grub2-ppc64le-timeout.patch - grub2-ppc64-build-ppc64-32bit.patch - Added patches: - biendian.patch - grub2-ppc64-cas-reboot-support.patch - libgcc-prereq.patch - libgcc.patch - ppc64_opt.patch - ppc64le.patch- Backport upstream patches for HyperV gen2 TSC timer calbration without RTC (bsc#904647) * added 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch * added 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch * added 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch * added 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch * added 0005-i386-fix-TSC-calibration-using-PIT.patch- Add 0001-menu-fix-line-count-calculation-for-long-lines.patch (bsc#943585)- grub2-xen-pv-firmware.cfg: fix hd boot (boo#926795)- Add 0001-Fix-security-issue-when-reading-username-and-passwor.patch Fix for CVE-2015-8370 [boo#956631]- Update grub2-efi-xen-chainload.patch - fix copying of Linux kernel and initrd to ESP (boo#958193)- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)- Expand list of grub.cfg search path in PV Xen guest for systems installed to btrfs snapshot. (bsc#946148) (bsc#952539) * modified grub2-xen.cfg - drop grub2-fix-Grub2-with-SUSE-Xen-package-install.patch (bsc#774666)- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch Fix reading password by grub2-mkpasswd-pbdk2 without controlling tty, e.g. when called from Xfce menu (boo#954519)- Modify grub2-linguas.sh-no-rsync.patch to re-enable en@quot catalog (boo#953022). Other autogenerated catalogs still fail to build due to missing C.UTF-8 locale.- Allow to execute menuentry unrestricted as default (fate#318574) * added grub2-menu-unrestricted.patch- Add missing quoting for linuxefi (bsc#951962) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refreshed grub2-secureboot-provide-linuxefi-config.patch- Include custom.cfg into the files scanned by grub2-once. Allows to chose manually added entries as well (FATE#319632).- Upstream patches for fixing file descriptor leakage (bsc#943784) * added 0001-unix-password-Fix-file-descriptor-leak.patch * added 0002-linux-getroot-fix-descriptor-leak.patch * added 0003-util-grub-mount-fix-descriptor-leak.patch * added 0004-linux-ofpath-fix-descriptor-leak.patch * added 0005-grub-fstest-fix-descriptor-leak.patch- Do not force ro option in linuxefi patch (bsc#948555) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refrehed grub2-secureboot-provide-linuxefi-config.patch- add 0001-efinet-Check-for-immediate-completition.patch, 0001-efinet-enable-hardware-filters-when-opening-interfac.patch, grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch (bsc#947203)- Set default GRUB_DISTRIBUTOR from /etc/os-release if it is empty or not set by user (bsc#942519) * added grub2-default-distributor.patch * modified grub.default- add systemd-sleep-plugin subpackage (bsc#941758) - evaluate the menu entry's title string by printf * modified grub2-once * added grub2-systemd-sleep.sh- fix for 'rollback' hint (bsc#901487) * modified grub2-btrfs-05-grub2-mkconfig.patch:- Replace 12.1 with 12 SP1 for the list of snapshots (bsc#934252) * modified grub2-snapper-plugin.sh- Fix btrfs subvol detection on BigEndian systems (bsc#933541) * modified grub2-btrfs-06-subvol-mount.patch - Fix grub2-mkrelpath outputs wrong path on BigEndian system * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch- If we have a post entry and the description field is empty, we should use the "Pre" number and add that description to the post entry. (fate#317972) - Show user defined comments in grub2 menu for snapshots (fate#318101) * modified grub2-snapper-plugin.sh- add 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch make sure firmware path starts with '/' (boo#902982)- Fix btrfs patch on BigEndian systems (bsc#933541) * modified grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * modified grub2-btrfs-06-subvol-mount.patch- Fix license for setjmp module * added grub2-arm64-setjmp-Add-missing-license-macro.patch- Fix install into snapper controlled btrfs subvolume and can't load grub modules from separate subvolume (fate#318392) * added grub2-btrfs-06-subvol-mount.patch * grub2-snapper-plugin.sh: use absolute subvol name- also Recommends mtools for grub2-mkrescue (used to create EFI boot image) in addition to libburnia-tools.- Support booting opensuse installer as PV DomU (boo#926795) * added grub2-xen.cfg for tracking default pvgrub2 xen configs rather than generating it from spec file * grub2-xen.cfg: from Olaf Hering - replace grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch with upstream version: * 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch * 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch * 0003-efinet-open-Simple-Network-Protocol-exclusively.patch Fixes EFI network boot in some QEMU configurations.- fix grub2-mkconfig-aarch64.patch: fix arch detection broken by malformed patch rediffing- Cleanup patch not applied * remove grub2-enable-theme-for-terminal-window.patch * grub2.rpmlintrc: remove addFilter("patch-not-applied")- Merge changes from SLE12 - Do not pass root= when root is on nfs (bnc#894374) * modified grub2-pass-corret-root-for-nfsroot.patch * modified grub2-secureboot-provide-linuxefi-config.patch * modified grub2-secureboot-use-linuxefi-on-uefi.patch - Fix xen pvops kernel not appear on menu (bnc#895286) * modified grub2-fix-menu-in-xen-host-server.patch - Workaround grub2-once (bnc#892358) * added grub2-btrfs-workaround-grub2-once.patch * added grub2-once.service * modified grub2-once - Fix busy-loop and hang while network booting (bnc#870613) * added grub2-netboot-hang.patch - Add warning in grubenv file about editing it directly (bnc#887008) * added grub2-editenv-add-warning-message.patch - Fix broken graphics with efifb on QEMU/KVM and nomodeset (bnc#884558) * added grub2-efi-disable-video-cirrus-and-bochus.patch - Disable video support on Power (bnc#877142) * added grub2-ppc64le-disable-video.patch - Track occupied memory so it can be released on exit (bnc#885026) * added grub2-ppc64le-memory-map.patch - Fix grub.xen config searching path on boot partition (bnc#884828) - Add linux16 and initrd16 to grub.xen (bnc#884830) * added grub2-xen-linux16.patch - VLAN tag support (fate#315753) * added 0001-Add-bootargs-parser-for-open-firmware.patch * added 0002-Add-Virtual-LAN-support.patch - Use chainloader to boot xen.efi under UEFI (bnc#871857) * added grub2-efi-xen-chainload.patch - Use device part of chainloader target, if present (bnc#871857) * added grub2-efi-chainloader-root.patch - Create only hypervisor pointed by /boot/xen.gz symlink (bnc#877040) * modified grub2-fix-Grub2-with-SUSE-Xen-package-install.patch - Fix xen and native entries differ in grub.cfg (bnc#872014) * modified grub2-linux.patch - Fix install error on ddf md device (bnc#872360) * added grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - Fix booting from NVMe device (bnc#873132) * added grub2-getroot-support-NVMe-device-names.patch - Document peculiarities of s390 terminals * added README.ibm3215 - Grub2 for System z (fate#314213) * added grub2-s390x-02-kexec-module-added-to-emu.patch * added grub2-s390x-03-output-7-bit-ascii.patch * added grub2-s390x-04-grub2-install.patch * added grub2-s390x-05-grub2-mkconfig.patch- grub2-arm64-set-correct-length.patch: arm64: set correct length of device path end entry- grub2-efi-HP-workaround.patch: * try to read config from all-uppercase prefix as last resort. (bnc#872503) (boo#902982)- add luks, gcry_rijndael, gcry_sha1 to signed EFI image to support LUKS partition in default setup (boo#917427)- enable i386-xen (boo#891043)- Downgrade os-prober dependency to Recommends (boo#898610)- grub2-snapper-plugin.sh: cleanup grub-snapshot.cfg not referring to any snapshot (boo#909359)- Require efibootmgr also on i586- Require efibootmgr also on aarch64- grub2-snapper-plugin.sh: fix use of printf without format string; fix quoting- grub2-arm64-Reduce-timer-event-frequency-by-10.patch: fix periodic timer on arm64- enable 32bit arm targets for uboot and efi- Replace 'echo -e' command in grub2-snapper-plugin.sh script to 'printf' command. '-e' option of 'echo' command may be unsupported in some POSIX-complete shells.- fix bashism in post script- grub2.spec: Fix conditional construct which wasn't supported by older versions of rpmbuild (caused error message "parseExpressionBoolean returns -1".)- fix errors when boot is btrfs with Windows partition scheme. The first partition is created on cylinder boundary that can't offer enough room for core.img and also the installation has to be in logical paritition which made MBR the only location to install. (bnc#841247) * add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01232.12-150600.8.12.1grub2-instdev-fixup.pli386-pcacpi.modadler32.modaffs.modafs.modafsplitter.modahci.modall_video.modaout.modappended_signature_test.modappendedsig.modarchelp.modasn1.modat_keyboard.modata.modbacktrace.modbfs.modbiosdisk.modbitmap.modbitmap_scale.modblocklist.modboot.imageboot.imgboot.modboot_hybrid.imageboot_hybrid.imgbsd.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modcbls.modcbmemc.modcbtable.modcbtime.modcdboot.imagecdboot.imgchain.modcmdline.modcmdline_cat_test.modcmosdump.modcmostest.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcpuid.modcrc64.modcrypto.lstcrypto.modcryptodisk.modcrypttab.modcs5536.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskboot.imagediskboot.imgdiskfilter.moddiv.moddiv_test.moddm_nv.moddrivemap.modecho.modefiemu.modefiemu32.oefiemu64.oehci.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfile.modfont.modfreedos.modfs.lstfshelp.modfunctional_test.modgcry_arcfour.modgcry_blowfish.modgcry_camellia.modgcry_cast5.modgcry_crc.modgcry_des.modgcry_dsa.modgcry_idea.modgcry_md4.modgcry_md5.modgcry_rfc2268.modgcry_rijndael.modgcry_rmd160.modgcry_rsa.modgcry_seed.modgcry_serpent.modgcry_sha1.modgcry_sha256.modgcry_sha512.modgcry_tiger.modgcry_twofish.modgcry_whirlpool.modgdb.modgeli.modgettext.modgfxmenu.modgfxterm.modgfxterm_background.modgfxterm_menu.modgptsync.modgzio.modhalt.modhashsum.modhdparm.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiorw.modiso9660.modjfs.modjpeg.modjson.modkernel.execkernel.imgkeylayouts.modkeystatus.modldm.modlegacy_password_test.modlegacycfg.modlinux.modlinux16.modlnxboot.imagelnxboot.imgloadenv.modloopback.modls.modlsacpi.modlsapm.modlsmmap.modlspci.modluks.modluks2.modlvm.modlzma_decompress.imagelzma_decompress.imglzopio.modmacbless.modmacho.modmda_text.modmdraid09.modmdraid09_be.modmdraid1x.modmemdisk.modmemrw.modminicmd.modminix.modminix2.modminix2_be.modminix3.modminix3_be.modminix_be.modmmap.modmoddep.lstmodinfo.shmorse.modmpi.modmsdospart.modmul_test.modmultiboot.modmultiboot2.modnativedisk.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.modntldr.mododc.modoffsetio.modohci.modpart_acorn.modpart_amiga.modpart_apple.modpart_bsd.modpart_dfly.modpart_dvh.modpart_gpt.modpart_msdos.modpart_plan.modpart_sun.modpart_sunpc.modpartmap.lstparttool.lstparttool.modpassword.modpassword_pbkdf2.modpata.modpbkdf2.modpbkdf2_test.modpci.modpcidump.modpgp.modpkcs1_v15.modplainmount.modplan9.modplay.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modpxe.modpxeboot.imagepxeboot.imgpxechain.modraid5rec.modraid6rec.modrandom.modrdmsr.modread.modreboot.modregexp.modreiserfs.modrelocator.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modsendkey.modserial.modsetjmp.modsetjmp_test.modsetpci.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modsmbios.modspkmodem.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_asn1.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtr.modtrig.modtrue.modtruecrypt.modudf.modufs1.modufs1_be.modufs2.moduhci.modusb.modusb_keyboard.modusbms.modusbserial_common.modusbserial_ftdi.modusbserial_pl2303.modusbserial_usbdebug.modusbtest.modvbe.modvga.modvga_text.modvideo.lstvideo.modvideo_bochs.modvideo_cirrus.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modwrmsr.modxfs.modxnu.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/usr/lib//usr/share/grub2//usr/share/grub2/i386-pc/-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:36721/SUSE_SLE-15-SP6_Update/2bcf925f71f865f459f97d320f722922-grub2.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux  Perl script text executabledirectoryELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not strippedELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), strippedELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not strippedASCII textELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=cb4194538e8b7d2c15ed213af4434deff1456122, not strippedemptyELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, with debug_info, not strippedELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, strippedPOSIX shell script, ASCII text executable, with very long linesR if test -f /run/update-bootloader/reinit; then rm -f /run/update-bootloader/{reinit,refresh} /sbin/update-bootloader --reinit || : elif test -f /run/update-bootloader/refresh; then rm -f /run/update-bootloader/refresh /sbin/update-bootloader --refresh || : fi/bin/shutf-828adef648bf8e01d27b48178bcc19759e78d83fd293263787b7b4e9d6f4bec77?7zXZ !t/']"k%C¿DeP/[ pL#sT.D)lx@mPR;5sT# /jJ#x 4jRG["Xd(?rR6~̊=bLa» p<ۦ%rɴ4hB(lc?(sJsFRa*7̨.f^3-lm٢PjAUl J3ٿԤO+^ZA`^f);_q`e4NJ8t?l2@/\Ye{2Y<`)"6p6d d8mjz@a.*HҸ Ǵ2I}0I=i"Ⱦ5<~\l~E0R^ԾmC )ޝ}: ܵe d|ؐ~CǷ8O͎Ea#g=3%!D_Xk[y[iŝ^\\!&UV:ŭ 㽚bM<6<'fV[ nKP*#mo OI ۼ*f]Z7Sj}'`vGvC(Z2@p,}s X .W("؁MzFI[\ʫagD!к(*ٴZŻ(cMOXVKTQ!?vJB}|Y2IfL P|MȍUl@4exٖ|@Xꦘ]XK]¥t&&$xB>ìNAI3.4- 45v}ȴUN&ֵ"߿whrI`)'o74 G8iSkF➖LhA}13}iW:y<7yrMf}j/gLU`XpgG kk'=augҘV٭R֌/th}=%: Gv4J#HzBxQyA퓟]h0uݷaV_Xa? _+꿂*Fqu\{$ ,wJipo+i-3cg.ތfGCP 9A uA3P_C })krK묜,cb>U,aEB3Ϙu9srCAjwJP801D/ԨtQ?*Rv'I}i( 9γn[PeBty%oD#yقRBAx%}[6)N똮T),V?%t#PQuxo _$!A>wѦQq9ێjc\8`~˥D 6}ZE&XEplN_՚:C02&\!QR؊rU͡#GJ@hOOj7-wfOMyQZ*6q(3T4Wi#d2WdOmXW`, 7i99)Iۤ6>g3+-B mN3Z% P- sd,c0|~dːw AjĒ<{~@5ĻO\y.|S #&|؆RZoS0T07憬6THdСFJUQu7Cʎo::ˮ-hxsR\e6/ʎ CGؒN1X#O ?Yoķ[z10QQf}qqT_hEHW^894(zD"|KǣA'%RꔠK1 0 ֡ bwTg96Ҫ24b@F`YsY):~UsS|AdX@9+Պ$&p4/u*]uy4l>>'fbvClK$rS4ʼn bF Orl9r+U#&O3IН|}[BٱD?&y My 62NXLdO+|J$ +,-+o5Qq:[%.e"'3.ImPs^>YB]Wʚ [ס{ ڋɤ-(];4 o ǽy&K[ˮ6[d[erB((̄q{.q_FUZd.-NGnAb9$??0#POqWkz7Hez7.ρշ]< |5ǁ*%).CH_;^]kFP uM@pVYHJ6Q/25q׉@OgUđ &UF ֛޳U&6ow񭙳>6%:iY Ž O!|"{z"$᠚}`;`M"%3 U_&C˝LˁUZ./71tزrrZNOZMep1Dt!`KcD;ي9>hqh6Th3ռ`S:'! MHf1h㫯>eO!=n"4cB2)*I#fU8P-8Ÿz"~6._PH ؼĉb 2InH$M1߃R `( ʌϽuFʢk+;U,\gG_!XEH $}1qtye$ gž신1]?_/Ias1Vh(]64Xc=zi.Iœ{\ dϴlKJjS3cc6Ͽd:=\˷uJT~١ ^{XRW((!xbgOԠ?;.CĵAu1','L_csg BjRp8ja YеPA`>WiͪQ>9;[(%_bXyFuرmxa?.Py(`v)Π,pr;t@˦Υ׼3H9.G/;`rEE+S[Ihi籄K^"G˜xkEVE# KѲ. Y.^4Mb&ULa`3Q1RMh<%j0PE2r:yPVͻ5G{Y1jxO3RM}ͨ-ko` 4~b47Nsy2a5әVkR@P"fӉ¹`np[`7(\!HvޞI=-mMJoq&`4,jpo&5Vb% R)n ~JZfNlI%oHɽdģZ6F6$] |a!#ɉ L7]6aDXrnڇWc,Wl]`;F8fY$fl/f>lz䄃'~AoZfm6 $?:_,Bώ M )Y+ȰAsY|&~يWiãE4I@%x* h F?[f4h,n^eEIt:z7cҹ0"q 5^n- d7)o|U8b <&ԍݝk;xھ&Jq τVEf~Ϛ RejF|$w6;ɵ->'3/P>3 El{R}ߠH8^cŋ5όb n"5lw'ס} .1(ᕻ‹=ߏ"~\2D3-$$Z[t_oj3A=a ܑCyٰ2bſ[,9DW)]+cNd6Zߔ63'Kj9Ё跮r 0BQDi@+$1+'.Dmc}xX2Uk>ȸb };+\d@ %|BAS9c`I1XgOʴm @݅[jp.6S_++&Jժ}xjgU2-hACA XJ_+ J D4>50 U~K.Dõqk~$ 2z~dA ueq(>.d)$u2[sȓ%9]V,Q¯w270%dڗ݌P qCzdCGiiyh|!.45  V !W3AxW+9 Bdfx*h%U`*IN#.0[WkGD]+!*W-]dI0F[!)ʰ~>zCMt 漩nd6)wFL\K\[#Ǽ-~dκ5z\rG2‼#(砻JGuN<5l|Jf ?Nzp<zU1Ρ._zuW&_Q G4"_ ˦¯~Sݽ-Bveއq);K%N:W1K r6] )D@P @}\x쟱c@ mt^IӚocM娡E)GC.NP@(ٞ٢޶!1䕎b1vV .{ B kM Y*UGFcόcAg7IEXUL%߷>'0yCGy)9 A%P$5;ȄdlLy_~l8PeNA~3ᰴ?@/(PͿ?Hsy}XI[ IriLz\ϴ-R: !H'm? O:4ϑgYϙp#Qh)H鎔*:D* -NHWY?RSj Ѩ1;2M /w?{$%!&J=.Hfb}y=yH dyuY+7ld1>+d]G`1Oh$Ym\%ɋ(EDa&N/4݅ 9F:I^.ӠR;>וIv .?RwDt`w ě)nتMY&ӭ\- B;Sd20;u7cE?o}dДZ*7QwQxe#;W`eoy1D/* Cxni}8nIN<`z8 [EqMO>DuxKТ <|m)pmOM vM; >>(aw&95k82^q%s8'4@8a9!bFHb T[ƸI_2~T[0dV.$N-9z㽪m5:7~4c_r.e+1lS|ޣw۰Q"7l00}wPIGya1}x{ŀm:6ض~ʂ*د52_EA[4RCkD^o_b?9$Ibڗ=X8͢8)o-ɋ8β[S_m4!QS9⢁[sU愁Q$6똓7n+cxћ&rc]B^R\J:s[&Zl t 5ҙx{j;!ۍ/k _ײaؿ3gă5 g`=T uળPU)*}+B} ۷=2Fo[>̀!taK#Q@ Ƕd G(:~>:V^8 8,vZ<2=zQ2I՝ApxYo1CZ!P,pzgJs.fw4Dn!4vKr! {Q%gU 9"XT.BfA5ǭ\3Wⱽ)>δAfkvb=o3Ku{3CYLg37V~ 7SAz[ѣ)βE@懣EAH K_~(|Ë/ؙRT&" *S2SB1Ú w2UW}z`.о4>5X +!$Qw1Yd*S0پ6RlND(4[ĕ{|}otH=د]e!Ԏ_1 e_We2I]ĬQpæ?s" sBC\zS.0. 8@ƶBp'7J5 0|76DO 31߫8tgnF~1r6Mb %HFjwFl-X]t yĐBW)H:jV 0Uƪ!7X\Ovn>Z  }#2dӘ(uY)7\i CNr/ jd;$3_v@;$M$*ꉟ]X:Ft_n~,2pj:7qحջL꾓?HHaLp y\[T*o4X](̕JqĐNy9#v QZT؝ˍZlۍ"j#{s&؉-;r7v,;(|4P"K=;H >ErDnw(ƚ>nj};| v'ZE5fU/24WS:&29ԦuR]#ߺm.iQBރ!+X958&$N;v,LH5ko! Վ6=3xZ̿@D0fC)FY[Gc6tEi5)Xng@bdMɕZA0Ɩ\ZSQ·9d6_# 9LXWUd *=Oerv;JSmS/J7w3 "΄f7gק;3+%)Mӡ]8bSS+ycS4t/4䥔;gQygv5s/[p~*-e0~9gzq$%;ƟX6.7鼤שZ;d0L=ksV="m`%md@VG3LDѿbM#f FﵖS%y`kiȀ "]Nz@UxȩIױ BP15L-ջ;5h%>i P7^BM>׌UZr ^ivJ6/w)K2nd "ef)V&tx 㲲Zi 蛖z@xrB2/^hʶߔR]طE5Y[yjY_>9Ǘ~\,G@=yvD˅ό_Y_1 Z4.3GY~dU.R^L7s;;@ٚ~~>K <VXFfJ40^Ё'/ =ڞc|XVfW~Wb'x9֤6qU[ge޿_d6u@[='H@H?x@ECz!S 1Fn` h4?4o[IxrCA9m×>S36AlL4cȄFcb &LӺyP]]kyN۸Fhi7^KyӲ=mPf[Zza^Q=>\"`GZ=LM*hل5Hp7{˃Y rǥ[X:ZΉ9l^ȇ,x }5KQZ_|1{"FlY$<3͙Rudsx҅/._OZY@Fa`+Kz\9H2F>c&aCgݲ6ۑ3K2wk$Iqu9P;nfҥpBE߈6Zu=/h|E[T냕'}]0a_k',+@deUdj!Am+E( r .߭W) 0,qQO[Y/yxG-}0S:K2 _UèZDD\usf)x: ˿?xYfTũ T6B$M0eOH&#~_p*+GSam&n_K CC{ h6ydv$1%%X*)z` ݨ)iw,ϫ1d7XwK !F/MP\/֙_}lo!#S-06]6't"B6@E4T]F|bGXx=cG\gϪԍ5GFI5X\߱{[cHݥ^Q@ 9xFA*%n7Wכm0W!{X, ?bC&F97g܅bGc]igw6 m*[%PgX.%a$Oxh}u,Y` )׫K*vC}csh[I!G/[}`{ 1(`%.hVH岐/|ƍ3/[)R `WLN=ʰZ:0IG.[Z( Gˉ2Lڡlbo󊷲`xFM q # &ǝ XBLqm+}B;FokY.V013L&Hζ>B^ ҲK;tpp 2c2wOWplz5ʌXMpc=TrA~f2x)gGpbM\X[ r4 v~m"9cbfC`34@Cb4 s,]P8ȑi1g3ǁWJ,DC+?v/R{ٜSNo&p|Y ]ss@y/άJKP娣Hn/z^Rm@ %dbO-[cIȯ8+TO t_Ւd>`N{b~ҿ[ZCɒ3C{EQqR4'ԇys`D(WHn`0(K}ЭR'y"CPTwln(vXAb skFM_2E,vV{C+Wo[V…"Su~*>aIB H[-Ue)TWK"O_wj{v= EKKKs'4^;`}̌um:nAȐ,".>k$WiTBB,V ?的F#V- T:c<;3U Ṵ:޺^ʻ|j"`gW%]&cEehto3L_"y)pEeW e$4x)(eƱD3%:f/MM7z7G 6`?K;f RWsGA{*Av VD9#3%(:")*2!z_!d>P:|3\ZV8搎b5SCt"P2ߒFr BH'O`,`TZQ`}R(7y=n1wX7 q*@T;RoqA}v[Gkߕ\ Mi"IT~3ўžloРKJa"_n4:(}v)Z}+D8pđFYaT&W`xVy͝"BdsF?Z8*h0Z{$n60 cxv+ RNF<&?Z'b>^I 0 =q .< aO'*pw 4PռyT9Y3cAx} A0Qs얓4urȕ3h nzpUWPWcU}jv->%コ|IrvT%ض OsA$8qۨbeH„.&:-c؉R &?!PCÝq$ }19_L/q`YԾ/B"w WgE#_+hEN{XP>ܿ%,?ᢀXi{4'Fur_@47haTlD%hN/LzU5 nUq 1!SvrPУSm\*'L~KܙJ bIg Z6x p>8<c5G~B ,؟7Ty{Ri֟ #°q 8",'5R,.[+#h]_{'Oɭ{oĴ[3* Npp[}V󰪺-K-vQŊtcI[1f/|C8ztܼZ Y?r&4 ȃS0ؕUs̚gIpTߋu:5VhFg>I;7ҙ~kSCx[/;jŤ뷌GMAWU4?Y;ePu'⌢H٢ELRҲkY\$jrbqT }u' k~HxB~,6;;zF)2欇5ז \f\CL葃:bE:$эGzĶ-{Ok7uiʜt%#Sp;>uKdẹ́FStI% x1ohuvN)v=3!.ZDŒ23hHO!ʵ .e.-lBpW9U>:ڽ9;9O_taUyq+ k~1`=IJӱiIFm!uHS,l7rTr8= Fࡧ%NyuV`;C(y* 2p{c>.v"H*@!ÀX}Vv&ZLͳˍ-I.^Dlm84-]$J7YHvTCI3o<`F[azm* ,;-G`w2VaIYX&:[guv`;SSQi Q1%*NyBDObLP/wځʓp$?.kR3OxʲfI?e yfGy6 ?4%jQ 4w,}jVA Qgz?MQ]q9e_lX6V_/DzoxA߼C}F0itJXu!ƣRu?>C8 liǵ؍5ݣUIF' X]mAǵ+9B{c9L6P俻bGe\j6>'$y39drTolr'w`9n <ބxsZƙ8Ay." SgtC8"Ch mWOZefҫwN>|cK.}COVŽdR+cO-$|oI<^ WUzT;r=ȯrRaV=$ޚ]&GN҉?Wc ңC [x,Z!/N(+V4;,ljhZfߞ@nUV"V%u?wc('cÉUN;4)yMeahME埱j0 1(8 4cbʦ/ɤ%%32(yx{yzgB;T˼bX2?1ؑ-6Z/ 1%c(_&C(⼓ʼ;uz9AKhCO=µ_CgN Q \{њR=W| Sz4)LW?7YBwrN2zyx{FPlnc:)y,='kf+L#_xe\3C?},y)Z〱k7!UdsNc\a 1?i"MC6_l'jvn)ՑEtOΛ6D_\sZ=N:j4EI;v.FItƍD7HS0 ڳW![7p$o]r@b*+$SE4qNW!&}$j$ưXUgInw7Lk|M^R#|YQz7q`8Y]ioeRʫ夊 Q"8\M33ȕ"1XѼBњ/d_[Ix? BsIVWNǨT O-Sq0=i*3 ܴc|Z.#\+wۖp,P}A"1i2;UD h1Ԥ(ϽO]6dqQhCvgNh8REn?9]mS=Zp֕MN @i'o<* Elݛİmƣc%j] 4Y6АK˻ ȑdS4Ry.G UPQQ4oM|^M$3-IEȴKrXih\']ڽ؛ LͿLUCR VLҔm+ʵt3nt#2f:eS4;l}=>%BYŪLikU`+h IGXmWC}Ⱥ52pӉYYJ>#<88U:Гxh탂4J]> VՅGcdL"+.&{X*)@ hJPSٳcG$r9+qHĊUV:MqP?wvfU*be*8Ŗ4!xZ i_{޸E{ǹEdc1' mKy=|֩L-1i8fg-mȅ8H`Vg5MD9ul YFv)} WU"N毺иoXeN#Sk)T+MO{Sg,! ?!  dk0iRCn>Bl!G'3.eEwq#=f{LFw+<`'oZdNP,Wز bK`BeIǶ[ٺwՁxU!*9YV[Ǔ!i]I hXA#II#}C nb;ٻ \+u?wٷ~Oj\%iM#IS'4YS'dM{1r3K+W=&7ptp[iǙ8Xt(g/PAL/ ݄.P׽D;GF(dZpN:s]Dx 02Q TZwKHG6|׫R(ɸNL4#Ʒ*N~i;QϹ_hYJևH0eaXzK y`9"].))$R3|nK<8cf|Zbw(>WoA${!RzxCswlcG.3۔ )BrƘ`D;U{ 7` a Q1o]M1ͺ46HJ;ď9ǩ,"ioísW XҞxY*2Ine-+iw聝[c VD}C |h*\@LзB*k'B~ j.{fr_H3X¢p;eq 6IRđ0܉MHc6Uw03zHܣ"en'c%$~m#ǖT.`:1~hy6?+A}X/D4R&䆟?ol@T!vK]Hyƞk[]C\eC7SOCC4(NlpK[\jG[Wd<T8mTFs8+N-.1427 g Mz=R%WnV>vgݱzq]tFt/Bt+lVkcⲷw܎kvB\zOBCo2O)_J@aoz_uz'мb:Z32Or0t=6 ҏS ٓD^2f <*Nn2{Bh x]~ㄕMf+¬-SIC i2d?h[5CGǤKT@:{jc0v.^a>.FŌ8 =nn|١.bЪ(ۛy`&3t%]KehR aGs0Tr+L$`{J]bu h5WpR-m8ԋF8HCe,$RXeJA3؏u X& ,WUEMTUE1G>#o1Cz?nBXhڙO_pk7V<}A_v*vϳ:eu-HVq:baBb>o4fp5׎\LǗ T!s nv(>ܸuCjynAMNp81rAޒw)ق8AԵHPp_heZ',cx5T:FBjfdqP]@aXپV,4\?K>)Sa^mv!=Ú8K肻@Drx:"QnDNE-ՌfkA04^&s\wu`/-!pmV bIwprTx)#d#b~җ~)uXH3];Q" gWyۏXCC>gdxN:U_&Z <;t%(񵙽^"qJP*@A݈RW-K5Jl>Eñ3sq}nβ݆M_ӓ-ѝ>CDc,N4fW J%R~-0 Xl%#&uP!ڬtJSY hf{C21S$Z^}W D򺡿Zgr*3sg̸L&"3=ŭ@&C IB3O$]Qg$tQ%ZTfh[hB!g nMyJ؀p:Θ#)"_9Rb)i;vC8bxeT>c4 i}{7Nj:K Q6h#I0Mebh$,n+P$$#7?y -ד C8_5x$g@C%EBu  ʌmS_ix J XU 1ՊD3& Xtov{ӕ~X` y6]!Vk' p fp>$5s5ѓW l&ؒ|O}!lR&'R!d~p%RO'dKf18iPì?>9\W>[?sg|Ұܸg*fRe/تiD&HM=\%b8.{Vi TIcUm%>q2KwF/Qȟj&&[W(F {_}LnAgqi^2͉8Ə5eMh7d^؈jzuNz"F8 ;o̜la弬&冇LágP@VVQ\JK./|+&.L9ZWm"w UF0,؄dT~#NB8gr(bQڽD8z:y$2\I%kE{=rt-<]_tk8؄TUQVeTrMbٷ|^+H1s;@գaXS+"#(jۍ\}eÛVtc;?cMdYoG2u!BB&iEYn׮ْן&6'S*d{Ɇ׆U$Ty2=&cl}X4to қJjƚe_ @{ `ݴ%HH!xANJ1 waR*gn%o'$Tqj9jy?aV:PflJD+*/dPWh7ޠd/ed7㼘G ^*lW h]5}QaUE3xrqLڛǃ>Ke n"'}".6F= ~eMmדO:e ^B1 `jWcJe|IEhؠ:ZYwHw\K=!]NцӠCF-Tŝ^wM;PFg^\n:o2 Ŕ%-:)(ɗg=w(Hꩉv+F2vV2>q>i $6!J"dt#Tx3|0ɤhA3ttܓ<9~Tv82G)VmKG5_wЄr7(Og*sVD؏2Oi>Wՠ@}9ko?rYf/wu7fWjw@W cI81hHreGJ,*:9ρ'@^SEc'zLEFMh"G,*zVT>E1_!M7#N=alGFU!?B%l֬׷ixgn--GMkyoT'!y^ 4o>:- KG }I9}ΟȃƋU87_iX Gmf+kQY U6wG\.^N島&;;Y'(ܵpC:ЏrK冣U}PD9CFHd o,H/u3W~^OtG1x֣b" 4c f'V20G'-R:Ps\4}+i4t,~t̨g6v0~2.3uhrmONQD['E1X$բ(?E+&ʛg^Z}`BP."ʆ^`ɑQ uM*We0~TEg '$ߣ)3T6nK{LґyK[`>ՠ]y#]7Զٕ! wWA-/A6+_tFzZf:L=2)Т#Y ʛ=_Ͳ(\:zw='az$cf^$=Uupܡ|DJ cVΚvPZ[ ܾktb5y4e\(ǿ/Pb1vebPZ1f lC1KÂCOBS.;ILOXϳHη=3)'W~2b=8r k~Dqua;r-5h>$gP^dF˕#2%qFCG!Рe BIFoGSM)>RcD+AMK6;lݮc%d%٘R$u#KS/'-A4N * lM V~Z myˀ",*FߜK*Ml=LƩ!95yqOWV 1]>,]R)%qʢ2G/A<㹋<9X\Ѿ "zڨ8 pP6|ƒ`g%_qbvD-/sWMnU5P7ҽLcr*8>RdnZb"U(-k+8u)Z8 ߡ0Gw2:`K"Of<ĵ 7^DE^ sk-ӥuD~OvDko/v[g8g5GdIh

$O^mշ b+h9`*jK\dIuLFs--Vo0le)#DZppd:Y y]l qH.\*~Nh)q^17yz/?o"qus\ybS\(?k{g3d Ā:꒳[u(qpiY:Tތ3R2gQ @@Qd*mBVQ=8Y@Y@FHi 'jz9.2E8ԑd߬[9|! 6nڳCؼ?=qmeJeZfLR]uCN :И,pOuj,J9'hƫwEdTzvx*9W"a+Di":kN,KK?3XK[D<9Nc0h^N c+ CI)#ż4<@X<ýfYZR(e3G6W?*i#ZsAl0dDsT&Ql Ƭk آC V9?N `0"ޟokK~׷n\ (q jKy>7"r.lMP)6bt9<I 7Ü[Aʺ7 '~A/7bLA |^L GvDv^矌۞T׻eH:5}xk$#RQlRZ$X\j*v;=}p @O0 ?kބa5հ.lc\v-]gmHFΣ.}rUImr yBmF|OVxuv3BΌdƊGƴ`"7ܴ.qL]3;vl'D"Vhy@sAĩ$h;7F>wiWfC e(j$jܾ&/w{9V oK'(xNX}ȧbu{uJ&sL4vZi^mNM.Xk⹉q;3T~o)h #dJ3@23#rê2V UYlܔ4k\w`h5YK.^ȯm3d aj%%GU;D6U=Ee? Ou SMB·5ʀJ3OU~P徼V"X^^CVتO_'."1AKX\.`^PwcC~1(_]Ů=~W+4<)?ڜ|kln ;řE\U%8s;G~M\*Ïb뿓(r]φbV)Ӽg4[I[r,i XkbYpNWa.|Q6[S-"u>W^_H 8\bT'G a[I(ljB%q#>_?rYe$4C}xnx\ڿde?f񨯲Rz}1){+35_!=B J~|T4&yf¬P3ɭ˘2N0~*)\050'Mmt&c^#N R:qg<1MJk^ǭ1y+Jբ^UIF6 1IRjzL}M馳4|XB,tI=50a wƮ5IģHW㑼9;f'zńzkI]'~U{{C=S#H@LFU"r <[ݓO_砰DȼNxb4\- )=F5?yaH-jVT{X1@oJrQ!t$I~O=z="v?y5k2fSbkd|oE5'Q`?\|Bgb(SU0uK{J'6(k[öڌju)7vyf4Iû;dQttIB+P>gcݮmm\T"o !ct5 |#vUᾓJ= Y1.vvT;*V˨hA n 0kb1ihBTN2}Z@M©*8{F [<1E^"Q6"3ROXԩ,1?,3udΩIm$PUɜ͙B/tXh‚uE͘ħ/]=>b`hxÆ#EΔ~C" (I(lQ.,VP\[1xHk6v2Cp+cm~6Qkۮy4фb#bB{Q?LpcW2x D,H,!ێ#|~P_&B{ ЭT m˔=Uf!VNFޛ3d@Qp;k\˙e:5dR?BY W- TF_Odyj-;n#qG;p] D,Z Q c9ts/(PLс*a'͸hXxusʙ 3#PmiDh}V`g\eu^qZp_󤧯 q22r G#v< 8Zћ[Vr- ! hksFt'!g/ ht7ʫoK@ QEl;9C6莎5U"]Lt-hp/ 疝"ʥBȴQ<}w(i5꘍5R|M@q! ".ne aIGj2xZpcT(mO-QۮN08+Tմ#]#z/(:6+.ʍzs(ӂc"6~7}bAZՕ5節'x?yO9'_v;G(]CUWRqdxS"y^󟘔v47C$TƧ|:\TasR@=dLeV7.\4  d xTiʙ.QHܹJDAV%pq>fv olԕ=ZԶ-Gzv\ZÛNwb_ݐWQyF^VdX,cw :7@tBmZbys%z63A/:-cs1G+*N@ZJIs#F+[fxV/н3dG:dXׄBk&z4'S沪<(g"T~ڻTֳu !ghPǓqZm!۔m.!]^GkT dElE1nn3d`Kc5?3 \GC7% cgTm"-wQ]Ð\M ˂0DIaa5T, d(`Te(1sghPc̴KI֨y(ϺrC:&e-ԫFنD CFczv7B%W^P!ZAȊ $I|Z}DTw|vtѐTh*`U-"w-h{í{SFQb-<FXis|dPׯ ZE W8-S*Z^%kƸu&&#fB8 N~&jo5bA限E;~$-TGsLp*IA8 2B:HGF0BJd[Py.0vz 8mC2:@:t2 kvv Ir\]fUEȺ9\ z)d@ Jed(-gs\>1ݱ5HsQ '$f(<1zKVx7فR8 @GB*m|D[0't*kX E[,eL w]%iUY뜚[XJk?Ggh;]9qV g"axA /}7jM7п5GXpī= W.S5P{y`Q>,X$5x*π&`Z/ ,^fn߻԰~4vAMP E@c3R7vD؋ 5p>iYrs+[R1Vtx-wpoظT0i^5]Fa[_>M(pB5tdC[+ZSz2jZ66א&9dN E$x-X}*R0X!RqLq7p2ޖTx6Jm[_Վ@^(Qs/3qC*8flj=MP$bˉz}},3)4bP@SY2&OĮB~r,4\5;lj 8ѱL-hDlf}bqF,E%Ana &N~کY2˝J|WB簶~hoRpү?G u~~AohdpId-x(I?be{(8@{eok V6(Ч9-k+g4W5s餭s;G*4FO\FޞRqf7Tף?!#ܿpqP%Q[D'JJM1zvW'2dvs4odrE*i$#Z8*I.{J`Eq.W߀"Oj>2B94m?e3NF"ZU+}=X O|EV7bh|juHE[}1\.D{"|[N1 %Դ 4%rAJtX g#Mu⵶$o)dRhaa1Ie uj:,ze"+f7D6l0<]BfS^LG+@{҃f/Xt{Й(*әm,BS=q'p1n Hh>[H |bqsGzZ_TdqpSͨ{uJ/_dF+F^P7*I3 6pɿhG,s0~N2X 4-/(əܶ(2O䥤=ψRm;EJCHl[xꞔDd)ۣVi%{=._#/޹[XJ> %-#,4f,b ]TV  ~^y|Vz?ukpe'C tcΎζvL K`k%&IAO7ޯ~N,0|tͶޖWuOho!\\9x1ͪ(f3d?cN yITʹ%4iJ܏CNy(egT!A(ݹ1)Wa UgG֩xӷ+:~6Ӳ65abϧB2fRk|n8!LJf 66`}dsqBѺ`J[b~jNp-ryrS]x`~DzoʸXC'AKt5]u2l†޵*z=z:tG.(?Pg7?&QX@gyVA7pNEWij q9g"?;` ,z8ѳaqg?9ޡMiy:5棛fm_[v궊v'@`s! NL/`y&6o6`ߏ69c̠R:|Q_B'#uR~sr77Ps8@}X&|D,'ESO[=2'ꑊlWnL %α$[1o& .͈@L{q\j-w/Y `kZy훪=oH|ŀyN?9U8;nمe,謇$~wv\$jr%t7& A4<ݸ`E1FAH"=iчcz`mxy/t2M* 2}~!HDբaw޻Ahh5XKm lNġ(V i7X0OY)۶>#3(/ ?:A n?&&Y*M^i =hiӰ0WlBkyw@9Yd[H!x.̒ڸ_䑸0,NTbF"S =HCܴLkŅ#8P7 A'?Ą _צ/m`qd/__D &d@QG$6Ԅzu19z`ȵOhM}uf[Z]CY5HמWt꾃x?Ւ6 v?FKSCE&sN K6;$r.m=#kld«s?rO`Dd7 vP 4jJ4d[BWC_߆E6ш+OḾe>X(Y^ЧZ^˿P k!IJOȒ(ժfE$m-Fg,sغO3ćA`iHϓC!8'`5@`2ƚ]Gc=P}HP@Vu: .+k=('a397~&1xʙ|@aƭWocN0gD-T4Qn.̱Y,nIX5ŕt ٴoCu[M2v$'qSKiS6؃T Kzl7%lJ7%xPn$:Lb*hTͱNŀ;%$+o&bJ' oz=Ƒqր-u׵*8z!#[C"+5N(V~:ۥTKeAX`.F6qxq(+miD8k7hVVY5h e6P!wYX  _%Issr>{v̟4ͻ `S؇V(6F -wы> <-CZz&E"OAr-죏˂YL`{~^? e)#&lHu@U; Hۦ%b8_YU\Z+|7 ebhS,)J41Y.aWep&C3>'9qOu;5 ٠ ey,#+("=(h㠸59)3QJ䀮zR1V X%'_x1g-Zip 圕1}7nTRp5ihJC^Q2៍%#m8CW-z\/WaVNxM)_?cu_A$RC_hy+y|ֱ9ؖ3#4 D i&duGp@0YOL#![#>= 5[+XZY_@N]%[ Ͼ6),,dхK\yׇ.gKG~SiL)"?JEA?Fgɪ?M> vchT(To.8=eTvm9#XzlmV+&I=\D>!SٍEp={9_og:Pf}hS= Jld-NѓK<5vSO. "߮2gto M $lne*VYGG5hϜU㞪ӶX XГB|u]Gw!jnFƉ$FLkZBko~[.-# uhxsANR/JVô#^ȼT-ӯH0j>X{.Oh! GW`>~_\b "ӀyDqi @xJzu+y݊KjC2ݩe˨G޳qaU c'ɏzSY`@{xT2H  ]%a?u躳 ^l,rPOL8|NО L .ܴm#|!7tAzCzqJ("{:uc~>F^o[wMUd1]tpؔinn^ ntr/q]mM A fӌdλMt< Jb?CD!6?sù_M|@Q\jMbkAy3Y]ZKuO0*9$%=͔ |+um2'{f@[iVebWi ~8b%UNٿ:-ۏʵ=ՁFZVEĀQ^i]:}s Ecf @ RC;K\YcIxbJu m:_pp&a'Y3͛BI:={Yr{2%Onw%OYBVjRXG{9m 2'x2]\`,Wc(lVAYRPM.SR(~i*p;#$"P?iT\yD9##n6l/'3m&57OӷE3_X(VpXל>CZ1eWhP5b|s滉;JR2@\I̥BF tt'A;%5s'եjgb]IUH]#*2ʤHI;o/iP4hFn$=٭;i(5e|CCgIi&], ?_k.[dx% YOgYk`o 1+>4!Öds6|37]+̩#@bJY0b(!h@]hI 8"6ZyjepY ,oPϩ/Y&3{-<Ů18gA|GX`\h4_qtΗe֤l%NX x}hF"<۴[ /?zGo`gT)pooy@.÷7v]|monͯBV1ؼ{ n!F$3vo=x dʽNWvwWSRa5i$$Wq~Vy!,ۆ&O CY׊cgħ@إRd dJyYRK~֫rwz# G_9|L1~лM;?J."b aeYqUFTp<<D-.sa2UozN8@'"Kfi4<:?Coa-_ Plk!gۭC75 &U?E_F11usdGȱ-M^3J D/%(!,vmP/u(&yTp{r\-[-cv/n/x =)dni/-[9 ^(8bjSH>:+UoUʏ(.:!lyfh.mmUQ(Bmp5^jS5 'zm%ހX/WuC"+f?Uj} =?PƔw6 嵑s&=f{taW`dӪR1 [|c̎S~sUn^)52NO̓(znVãwl7btGɹ9]Y\-Kwޣ"a^jbt_R ̪!֋:jz76P jݖ9G;6͒q`ONY)zf5?]н`ZYkwWb^ I=ц&qTt2!&/TfXMppXaxHd r}Ss%,U;J9 E)ᔖȉeWCv\l2G/$ {fVK_Th5p=14D@}UBP7q84@72eqBvsKzΟRÇ2Y/BݔO١tP+scrX C4?@-OLA!!mB;UZڲm#Үd%DhmoH%#[ȋ8^PhI^)|~)|bc_ WdYp爔O'HQ~vq 5/7d†$|&[>簖>ź ؗ(r%3~":pSI}̛m`^INnpԅ/H(K|蛓cXF/3>( a}ݕZfw+X6H@&lu@5ሲ"6.K*"zS]ƭCiB1N_N٩ hz]V=xCgIAc)Y?53 |ѥ t[?%ɿּVW,lu ȟAP:+TkM}{wP~(ߞjTK;530jl?.y cR(xD4(-3|]+_JB3%ccZYY/KNTqxYGQ쒅Nf >UK C xdR^v(B!΃)JDUiX߁#ekH,V-O[ z?Wn7Uz@OlEM4,zV'YOCX# FL.5AZ6'^$IjP{'>Fti)M96Q ̆SW,rvveЯ=M# G\0^{o:?4<ş8~W乖I Sl϶up>_m0K=+B>NhbiVǭT%` T@͜_5jd+.#J-hV˃ݖoY& }@ mytYvE)ldˁ'd;0U6|7y<1ǘtI(Ц)j`R44/vcT"O/`pʫ$dYڤ;>KroP>yhk5#$ۇXʜBu3ۃN$ VGFV!XVB-M l"[Vy:11f籨]B,` )uCz]bڗCBA 5MrUJew!I͐s"L3o4\f72=XäſdZTQeome9k|PMͰAn :lJ$y6D+^H s!|+{e[zHBV&4*I۲xuw]Ezx7vˍCM F|',mʉx~G=B9(u%Zyc~M(җߴLO6:[?cY a@%+8i*{7BInajGx|p> HĐ;%.AZNz CXaύ,9y[@;n~\gATTwp.T?uPDң`6C\[%DG-m7wH0 .5P\;^@"TW DE|s=k{-F ]4˞|mնh9XL 6B(ѽ X v|Z; RvXf}őtqëĉ$ x}q{YLwIĆ֤G?;^oZ ǪA0RF2'#iR9&%Tot}d/7ZQ-jdX$ne rUQۇK\; K}Ӟqq3+vx W.޳:ւD9aԧ5KQ+xW8g-"MOuV#2M2Ka+6dϛoպGWOWywvע_ioo8aK\% 9rcX")r%cc'kP\2H%eh*i\#ޙP=\N!#j4t6ȏZgt.o029./C7~T7`s?ݍ2W6 I/2[qTwi{?b4IL-Eأ(FNLI0$ '̊#B| >eHj$an8rKF~er%#hχeTy]k1A漕`SUHK EȲ#Fbut (HK ,Uv6P.1QƋ9ί 2*[_'7w=!U8pz-@}H bn4Wq)\Wo7Q]7 N;yp<>7׭۩Q20odpz;\u,L&[@uR3Hʐ#?͜~\"bdTIQ2gw\[)̒c[G `N  =Zദta qvW]uV)[pszlw:=Pz?r' JfO0{BzWضΨU83o/JI`Y$!g""]Bl)ߛUڦ[" tJ)ð9 p@뜓?Bq{b]}Wȓ&+@rPvS+VݤX㛾c @ߜBŮ-|Қe[n"aq`¾_iphk>mz.lN! mEyts}ㆯDoך7RvӚ*xv4V @/Zjxǝ8 ^dOgg)L)0 i~.iNFr/KP(Soڌ>n,pQ)msD 燍40a& YNSZ]|eʮ#r'Gl҄X3Ұ}K`E|QJ9vWq>F0c#)=9ƨ#u'u,:=,?E-ќh XL2YwS6liٽi{@,}eLBt$n̊8P7h1sџ`)hhF ރ)aBH[\3Y|>o684R;3cX4VKKwEKkUOӞd8a1ɑa"M:2Gv d*9Hi !cP2\о{/&cֆݚU}FHH wT=ά"'S1}4bg(tǐYݝ h:ȊP{J~g\><'Sjs#PUDم-cz)Y)A="Dѽ8T8<ϕn5,'c걹=C1(bjNO73ԼbR+π[Fʹv.~JtA 8Bh( ,]sYϩڀ!ֿCr =/;#5 5 9C2J=vƆ6890w^1'tk~e3"o&˪s ;CW&6jE 4S65mڣ?w?,c.x,v bܛZў>Y.!B 9FnҒ[4zJV4G" l\kpjPkv"ML(EUi Ӽ./ܓCFߪkO-D8dUn=qѡR 1{6)y }; oZs!͙Zp`0Pݜ4ظ&%+!}KtGf:!O"bAR9*_Nn ey%},dhX%xc{|X,YleyX3g*l ԖbmDQYiZ`2h.%o_eAτ4-kIDz\Q,Nrl= Ӣ/~|63* ;R?~XpcPʊTM3V yQeh6_1(f+QbrjJ'eZ{<*sc; 0>"f0ME \^0ų+O즭njp.wc@({5ݢzapK-3BqfȪו4FVCm` + Nr!zB, Қ[̀,zAUѩ,xYPKh壶<`t-]Ү[Ȱ`<tGX\Mcc#JO <ݷ[@U3 Vfc2#`=p1ier&= Q ]4(Iړ.w haFCRFۂ@} N~"6I]_ϼ,η:o]R݃ YY'`D(\]ތ9TCLK^jddZ݀Nj}S X;E$EFZn9#bjB0 ՠ2 5 E"/&IUU_ޛ:Z;=a">\JS<֎I؜JaI'\?WRc=VYl700]+קJ<,A8kto[,KZ0v)`pX(5Fo1 EPca8VLn( 6Zi[6(d>"=LnayV6ppQv^`m~s:2I{krGfdORM'd_=2c<<lH "s*&UVǼ hk[U0@`Œvw%W~Gq?) &o^r_Q*:kp=m0l1HXW[멪M @GSDs u¿QwD&8O-)*ǮPP-lw͕AkNaxr$6Bt_lE~_vJ7rZe>߃Ha#հ5[jC&98,-dQf(Vf(}=? h [KWNV%88il?p3$7+j3iщqo׌p|, ^iy1 5A ԢTZh$Ie1q=jO Ǚ ՛%[KsJ*IV8$UtA/!=.2M4ɽ ,o:A^7я&J<W+* 5c1 晻Cvi6e[%\aI&1=6$.j 19eP3vu*k7zahAIj:UOF`o,)Կ28@dԇS i HY.4Z(+jY9 U}f{yd4 f3iI$4c73zm>cYMugOgY(@gWD ߟ5Wxm)izoMFKЕ&-R s< G޷mf]WA[)^zE D.8~^l|KPYASG督mκ&].˖*!lBionc].0Y/'c ?gkub)k'!pvu*}(ټuv ns˗rAlj}KlbG?>+!VDmۦR )e{1p=ЉηA0x77nl-u-'c_98 AB#C@?EBgPj{Exi=_#i&˨vVh6nkwʮ=}ȇeimhx Y#Q|_K7ͫL [HaԻ{8ǖ?+iE%Q8^zc"æH@>J1e䛪d/}D0il0L'U1ZϺF[1UQG$<Ëj1EEs7$,!sl/mCH{k!A󳷄FM?8r{s=4:qUBi̘7 Ȥ>rpK诏VDZ_y@M i1O+j~ (XfqX=o4B൷3f$s;Gou.Qaa'UU4~DR/d<R~SeYt:;7Bɥ@Ҝxg9ro IOV捎Q>rhV'8 $P赶HSZQ#:UêXԀ!ꞥ=m NL7Ÿ>Wܚx5w#ixrv]JApp ?`-z־Ah=Ncz.hjbNHQ~ut=_{. DwkLE=ݱ ebB]SeʖLǛf'05gTƪ^hx_E=LTvc;E㹟8*x-YvtX-hUAFu}" c{[;?PwI1X8U5M͞d}xDYxC'ʼ:ZϛH 9c MgRǼB%Sں!jtz3,^Q!#̄cuhvI^Ԍ>v24qu8&X634>B&VQ*OkҢj%]+19K@am=*`[? YZ|3*L~m`[z>M&5cpHn[J"Mz\ek< Lj#AZ(ܴ#d@;p)'A -~Qqo""DڭoO-sTZjY0fc '-a]|Te:+no|Ǧ[KwD1Ɋ z%y彮ΐҧ7{Y тb+q%Т龚(ȂA^Hmt+@lI2텶2?"RBb1!7 >Rw9@Ǯ}?J=σKY :q tNdS0*JRN~(|JLtS.* QN Of2^]R<O(E/+Hl ҖU&+/ʝqn?f."L6~_I>M$P;SR B#K`$s!)[G.҃n28/ͭ8ʝٗo^ jPwwMe$3Fީ TɀSW$}(zS pTU1sqGZRrlaC(`B:PQ_hL_}OZW?9̈́Lu/dNk|Pt?Qegz-0sMUV!~<AJ@ǎ>qhY*vss%^AڵFFC<:e(moS- ^Qsl/I<|]xBUH+#ł27: ùJ맽 ۟=5=bvzP 1Bj. I jV`2O`=jC `sGAh4_dsZj5H٭\SqL}߀[m4y11$A6 urc pF|9Mv.hH[HIҶD=RU$ I-11ia! ٻOل*(U."5ʇvt(DIY0XBeq)(F%bt_E- (ÉXBZ3A{nr:pMqsb$ :ZlzcrU1<,g-cg- WrO^0F\0zd;z H SZHQ2v P<HWkr0ӡ61xlϸ%ㇱH kl-mc0gpJN"BFNuv<;I;pծy0fSfcIjC;`-. ǝI&U8t?>lZp9_gD _ȄqmfCRdZK qSeǙw7@u]A[0Uhe;w^ p&J] _PţCK1ެ&$.VS׬jpjV ҎmkvMSi :fӧ &K(76tc,av9Wџe% X057VQ2?n98DuI:ݟG"HM]FK0rwԋLR8dXtO;|SZlx:(gLsGҪDM9+x^UMes =!-d1cg $^:qَ$uD|ʜ;#Z?="p$\q?Ot)5H^bc@R$peh?{ML9e PJR?oէ@~=K!l[{0R2-=Zh =Gq/O3+p0K'x&]Ҍ;Ye(LfMPqhD68_-ئd80-an6hHR0/(17G{ n]] f*YߗE_<-iwlp]s,݄%@1ڹxiQX HDISY8n(~&R.P>6D %%s@x=D 5Ukz): uLwyY$j1u C+,Z*xP(%?쁌/YUS/  V HΊh)'U[f-VDz$}ߋԿh0K[YKky :Ll=V:&\%NS}`%qT P/x%a.$:2*R2^do/SµXv9NP|FỏZ8/+q\]KO&Rn.$9;QHF <W=ʪo=+Qp[ guE8qqلT-8[b.rW(A\Z8g?+~ńkS18~-cR=p-?&&?)I?_mD /џUbBJkY7`E<5bC'"Sܠ_8 F]Y\*T_iYP'FzA)BcIe56~$_Q(=$iBQ.;2DLcTvUA*ިE6-Z$)UvBTmN,pɞd1'd,<MYZHj6Y/YYpa`ڑJu4Xg{ ;z" jr\D~cĜ8}4Kn(Az_&VuSYms. >Yk'Jqcm68'MŕO/ ~ڐN:mimUPa$\*-n[a@ƒTO#6osp) ZQ11\o`p;,"YO}`^՞կ$3w[!Y4 mL'Ӌ< Q -+*yQ_h{'lVHfU% /Q\y=,GǼWޏ56+! *O. A6EI^ 6`MLٝz7 A83 +ZL0<>u}Wym4Ζ̱*ycWv[(! 8\0Eu;/ٔmSMq"I*؆2X<1W{BG㜟`jn3Bfϖ`d[n p@ @R[aا:7+y᧏(42] vN*_;e୙TAW*M.)XVFR 0OUmpK{{rӑɒօͰ1kx"I$>B_cn{ $ |x34:ZMK I2L4m %ov;# [Dvmge (m/e{#QwH~gE=urOۓOSsytv]Ց& Hѳ]TvRs\W(Di2e(h`%lpCSGg>ĘOfz{d1);vZ{H3q:/z($9cBRSnCY c;|RjTF./tZ/T"]4*sz"OQ*"^D[X%2 zGϯG 5 ⒈b͕:Y Kz&-,MW&b= )o;Y<MccSLeq6tPnK jTs0uQe5 NkΆa 5Ң繀fo-@-21 = 55^ޚ^y~K0 L?Nrvcsl\Qb, rv$`Rsq n-w:/2N.'o4Lqd , ŃY0O V-htB-[m(K :}rhJ %iT7G)t:<(-os;3C"m1O Qq^KP4X˷Qlx}^1(L-ըQ4~gA0~]厡aZK `.7m]cM6 nEMBg>ژ`g|QJS&?ٱm\ dŬ:@W^9*7Nvu%H!4&?ɤrvU蟖u%p1hb2Dv֯HԟkĎ`A}U5fE,~.w;{kt+.qxVr3?5l k lKg c$y S҆3 4CLfpSȑB:uOPh`MUz" kCءŌ{`kF7ȱ*:2;Gi)=K09p&S:5v⥉ T,'uĜ(N.0%_4c0j 5'Za/sT,+  qGʹsuɊBdv C`^u"TvjZHn RUJnZV61TcE.5fE6V8} 9?y+_d$DKih̬3G]ydgկg{kx3Lߕb-Kt5o)~64b\-cCg|{6kf{)QD07N6m׺5BZ|Om07s6؟A>l׭+$2[~Bz5dR˖$Z/Z=#gVcRpmDk;r,U@ JW.eAvVHݹ-[C>0Lwvǧ&4^dԏ6i_P74YjI\2a^>\0V3][a{[ Z0'z HD,1K^/9cdx .j/,)ۙq7J`U3oGYݲ䙹S8 WՆ~"g3 -C՜s4x?^|Sj%}&4E0sq{V%Hŗeߧ ;&+ݪ󕷋s;bK7aM!RfYJu{=d.MpFV#(%B.izV  鋬e1x> No>6v~OVZMd8҅yb{5Hٞ4zU\dTs0A9؄)ḨIP}ɯvmԊvPY␶}-o@Os~f=-& @|9!kVҤ3r7Qe!ddVw'}`pF^\d:kB@jaOQ0^u t(QvZ.0Z"I•еko{ ;\e:eAifiu-|>z×> #p+v@ a<֨B/SϺG%4,#IK{YOJ7 itaUcto(NAQmjyZETxU6Jg7Z> ԥWe?**03=hdϣs#v@ew[n@NzS]uWcΝ8*%^r)hqDv_HD rׯы9/vG Y^׿nY- ZK5auߥnOGm~7 B81ƈMHP;H~=Qג']sZՀRZ: uBfJGBWh"+6\A+W^-bO&Q)#?ǜIy16mA;i^'z0ږ5V@cǨa.H5>/b9EXKgPq970ѐ|4rC ܝu' pf)‘dYo:OCfG5Q I!$$A$r/02#*Vε4Gi\7> fhXn06}嫩=,DzP0.lb'kmnQJ]:ktخ>lB.|(8)l~vEcUjr]-QC@Z9W۝~ V/Nڒikb6C3%zwX\heNTżGu)k^^RA %Ri^N9MN9qaqbգ6 = :_H@l %ی WCx4 }( &{6l7oL5*=3<\\0 ڭRdƅoLYin Ϙ&o/J 56DC@[(a#+4y%)̧RF}s*ڹݗMT2M>`6D =7ug H=(.G籡RztuIhkx!NT7n V_YT .@1qP{.6/2ɪ3+|ZY/muQI`ev<NNEC'"/t;'˕-H\=ZaX#=LZerΨ%UU*grb*P_Xx_B:.wD@ۣHgʻdiȣ֗Ņ\'TvPyF]+_z@n^)czTu 4֊0BB(j~vqc;$F+ϊQwLulqBl:x(ÎӾ: zm]2IXQ(z7xed|1ܳ>n}Jkr *b'V^8(&7 Y]M*VR(kMߎDͿk3IЪ]5=pLO[qSƓ0x6L_^ᅐ65!.uޤ)7@#!wovfXIiTq]5s-tVM% :&ٵ={M#a'/qB]v?{;+3boz2-ZN~ZMMlL;oN, ֬#Ŷ,b u Lp!n&j-mGuiut8N @KA ciWjR>_59*u-]ô1LЬ5cMJI} * 9dE:xϊ0ERs;)o+Qg^m#ћ)ځye!x#_ fsKlE*^Ie󛂻 W= @-ꙷ5[i)R 3ʖTDPO2vS #ČΣyyQesMր<Љ8@"Œ mJĔAPoqN)y4"{r1NՋ/\U~(CwE(ˉ;!$^jӤZmǡL H|d]ave]Ŵs(^cK0cwtl\{ڹbV~c6H'%?yѷZ`Ow1DyIJ`yZ8ixS]Bʥlxt&|{xs4K9Q gA\0;ؕ.z{Ar%~s/P2؀Ww{$A* %!S۔RJGEtǩVMX\K$qUjOG}"ňL'1',-is@.]lQ.4F % }gξS(Xom-*6D:nqg0%RRxHZj"sm a< d("u{ -)FP(qC52w&C%R:Kͅќ4 ؔ҃yT(!Ʊ2{`x!'O:zh$VPkQ܇0hKd0Wf[3zە缑LгeFWwt&9@= naPY\ǯ|U'4nDOљk?V d[l LqPGey9 <ۓXxy_75.|*38\0TFLjwE㎚2뭁Pj=\͞W 6ŴG!&~2RZs>63/| )60M\vfN:E?n7'G7C {YMk6Wr(L[J'!eo~S:nn~o݌[pN;a_ɼ:%+_E/'?:@_9 <)ߪs fD/2*b-Iw220Pb)Fz{$8Fw93oRz~_K+D8,>E xN$zVݒJ=.zd *UyQp71dk'%ʱ0 wð%ȌV4?M?fd*"=(ȑ`ǻGQE[ Jͬ7/LN. +.4V6([Bf<+hzS?>0^n=ݱBBJxNvj`TމOtq^x s d+4ݎƃlq@"=ֿ,F *z9HiמؓR%'?y[%fƊPMw᮸︨wx"Q-(*=^ DϿƽ⧳| 7Aqe ]=}+C\G\s܊6d @Z`x59^.oUháČ 3J9cP7Kl}r>䏔 2:Z]I *$>`E=7#-  r()f")8RքrE_m:B }My1Ƕ0m:-|Q[Y2dGL}glEJyZ2biչLE=-Ā3}'Gڴz3]#W5 ױ0-j!bSdYK[GT%|]6(Hٟ4+&):8цo=3TXW 5a >//Yg*zb-#c`m$lɛ8:tڜE!J:"əRǃ䥘LﭷA}`0kEn|.sH`  /h3&leQp]k)GΫϛ)B#du,wqY^fQ;-«Dcl s1v65)LlAG$]mCi u$h_:&Ig he HuB|%XΤmެuW<*`Ap0p?fm=B;j /gxpAq5~EҢtleQVF1u‰-^G 6 B /fCoy~>柒c[!\(3ٰBd|0@w4=W)c*\v-KL*qm|뺶[4xLr#geZA)ksDZZ6Ivor.S W%" L ɒ:{N3S-ec}sT";yPR>P"@;"N  ^bn|~srN=O0|]RlM}o 4dd8(nG5b1nφ[hTה׭lE!MjbVfcmL<4󱈝&0{5.iMbq BOˆ4Cl6NnlDY;̚:ƷYR0C,8am4@Tf,\F{Oǃ(2T@a1iiT孪z0ZV3!7đqֵ͇֔팶@ ' յ^K`EFnǘ;^{k8 CVzyxpQ/PiB#oڵ`HK%iw_=Y|wǿ`=ofej+psҶfT:;5DOCu/QpG\ԫrkw%euw~<y2qBS^+o XdFg݆҆9ȹFFJ%u/ ŔrA?91:< D}2<tC[t*qSfi361kFPM0T` a')ÝN851ڏG l 'EM#~'$Ύܭ@`mt9.31ӚF2$>p|q!Ǡlu*dEzwJXl4I e4jUy;SY0` :+Lyo>`SpK?VK?Hv+i~N-^`cV}(aB?'zֆ˝%8v| co'!%i-FN:~q)iQlVhj4c73\oض5Ĺr@*4mL 1|Xî1꿰9BُJg6*\_x/4h7@iS~n?8hb]CYߚ؃+BӫۦGǙ;L2( ] UٔJ8_.prU9kLDku0[j=i q3w{i'8Czua0@7)@-ۆU ?d[g5Kt![ >qk/8%X)"!մ˜C;eXuÇ7If -%4 cm<ժN>v]hPt0P}$FrD2drS=l5`)»JDFN6x>7/ UҀXL;$;Fmj].s"}?&K*n ~x=y1Kr83Di^+˺K|?-̓NꙺN6f:sܐ}2P/и_$J+8JT+P|ޅ竊$!|j00AMjQ8͝u)S.u[Ug"жaȬ#/I<`7[^ȋ2iMmaA_!^JelRٍhxeNߪ$ęy/•h ASqQ*NLwN-|ft0%4D3-g+\xb@ok@EIXTWt9oQ [xhP ӆ\ABfR8yC{K͸FJ Nl'F KCkqc-y(!;%3R5$zĹGqF_>Qd؍G{@47񚅧kYH#&*# :-}&~Ӆ{vG;[ 8'@xQ|pIH*4v `()WbZ~$(3*b J^7X" zŶ 4V:s"Ÿc1~5ٽ츃"?角3xs.l"W;Q\ǒ{\SnHix ovo]CbOcih[uo^L):-̬̊[9H>>\~ы̸-rZkuK,<}.q$G%*:y=:Q;zFXlnSm<Ƿ6y5H4iWe?vP!}pI<}b "uHvZuBw]fǀoA*#Ђl4nͰ'^c;o.[=1 KYk!A c?ۻjkoi]D5<‡}Rja5Ğ8XP4ZiMTO)(U~nDxC{{OB3I\LrXIm<Ў 8`PgXSKj݈AGfs@͙v8i:Cfk֪ԧx}ּjwP)XgΌJ#mXuыcX+7"am4/Û`d%Al5X,乬T\#0|Z =y fo{p\DYZk Mg`w+歮8T Fy_xw[P=+j5g3f/سWޑ‰|IM!^M-$u&'_xr}$7;@wT82˥D@_ ,(5M87ưZ`K_*!tDjCO]Y CAڳT( ,*q'6q'O8:?BGabK$@-BBU6JzeWT c쨍eMB{?S-cT+5N½=^ ϟ ׹䩪uiV-E87Ov7>Bg( *_n"&!_YfWv0]z}PW \ĩq{&> y6{J/;?nhڙ $*RqG%i9$:TAPzW^]Q2H"| 1J«?naNFrH8uNJ-4=uoտ= (.$S}WisO.loM۲AU)J]6 8#vil;'2kIz#g(0GM&.c$贑͌=5-|q׊1zZTFZI6khau0'5SD}o A4SتxSdᥦƨCHJv(0tW {ReMڥMNXXSe&O@/Rf}G hr}"'cwi+ iA8(Cv[T3|YXFj>1<~sD$1N߱]iSJo"t܉Z mLV j4ʕ⟎ E}?\8=`aڧLaH =4ߓag=gK#Ty}CD%Kݏ 0Pu TN3N (g-QYh̼Ut&%q`Uz,#N䫻e*ɣ=) F薄k$oZzT% Yl!eԧ VY_fuP1DK^\]EcZ5C1#M$KzP3 mvf]:PQ#}»4Wۻ:UX5;xsh4K]#`Mb9bLʢa'x''"ZʤrbтIzsyp'i[`<iE'^ʢo,FKU-_K`)gG߇˲۷X&+x-[`f6̗? }Tޫ f'~c('ɒk\wᱝM34h28(4! Y+AߐAZ~PqǠ_I <4mHƴ96o&g60'{+;SG2qj*cvZ%#C0ҏ0 ˎ`NuHb%"h^KyJm!od11o ;aڃ&CHtkK2VvF?}j%)u:Yu/G@Sdlϋq:X╔z9=| yHh(8mDQ\4a͆m.3%|g}'a%s{L4хЏ!cesqwo]oTfyk7O!||}yxH^,$ җzk1sBReb'B9:5ӒPr6x}$C&ܑ%{$#e³+v_~8mKƤF 3D.YeCoMxm_Ft Q9 1+ۓQn΀WF62~Ÿ47 CR?0)  OYNUMـj9Pk[gIz0HY;\fɲJ6(([>~y%\V``]6DF( Y WLJ;h51N(nSZC9hԩBU+3xI׬:%Mi {=ͯp+!o>U)hE.ʙY<żc!d45Y=ąnпuK ϩm'?i"X(aP{`gs7X5U (l/قk3tpleO«67/Y.ǎT? Ԑ%5B55o8D.ʹ+/Kݏ^uxz9nDkY D L7)cjQ2avg6~hvH}{Ѯд5XZ/lSG ;C(v8ώꮅY3ŔiH۲㢙VGT.:>Iv]rIC01l4kjkC2`o#{W`3,%x(>c 4w0'D|ѹ% ,վ W+LUtw('G S: KS3YƏ3@Y=-WuAx"@xX `[ 9oeL9Z| Dd:_;)!{)V%`*7.dq,IΜ׿1r%2n1^_{Ch+X r)\,{\^ '9mg#8$i&}%b͗ɪFWM,bϱ/R & gaO3ފ<Gƛq=][Xz# (b( (;Ԯ;9WܖjG+n V>_JF#<.ЃθQΓ }+b~2?s, ^^M&Ī/b2iӂbZd|s DIN8) C IdQmmF/ibWljb6IPmko̹7S 'BS!dbBر0+,=i|C$JA<@(s:JB[TF$HIwH+D*0zq3.p.Ϥݑ |O0lkrOm Xj~:Fͳ")<կi fck*iuKuɴ> 4z@L[S.{û Qݓl$Ф'vvLTcO{Z$י](.yGirmD >pv)H"Xcjf3^j͛q{]HNgt޾CvYksEf֭MmQ o0 jۖˇXI&TA9 'Н~mY=-J CFs(W)T s33wAUMpj!@rZzpBa|q"d|Έm׭I>`vt$޿U*B̎~vԚPr-Q*FzFd%sz+y2¥GwlN'r/l<Հ;ۈND'z9K.a jh:@h0ڈ 5^t amӉI\{"h K7X* 27H*D'F9F`^6mUۋDiYYK5Ii[nJx} ݢ_偧x؉ԩ2WkgPM | }֋TE]lI17i1P{$C{O PQB>T+ [3_TPCf&,^ b2Pᢑ.?]@5;k\Cs(4*jJkj7 Fep2A:[œI~o`%k֟EqleF!d0ĘX$n3?W2e^/BP!%[$\0~ޖrFGnkCTaC\_/(wd*U+%(OzχN_13d++2Qա2L j23\x [p40kj>AG2J˖ غG({=,\;Q0 {cP`} fi2dk NαO MugּCǕ dEe"APFτdҍn#Yw D]$Tgxo/ic@spqE"Ox&)Wo.#IyP%@8 ^Tl3q$ܮe,[^U7Q`^fLR$d -_Uy< RR2N$&b#3T]%AfˮE2YD*cT@Y;QjZoQi,"=nhJڪZXG͹+TJ]uSB-ޜvgpʇc!1H~MAq}: ₐ=@%}2d 'x'!^lTvm@">dnŎ1&Dk= Yc~Xީ)$eFe/W@>F؃qKUcL|. {KhS`fR"P͛) ^(V;`HCUlWf@J60'6Y Б*+CX7J?5}:TK) nj5xc^#|_C, Z鳔H3 `LQnP'H4i^P=eoWeGZ1+[ 1v3Vt'(q` Q G;ws>,'@ھ߱:;#2%2ymē2{&k'$g瓝.}IqL*&R(x*1c񢈷" 1F`& .RIkUF)͙ϖt^^ذQ1,=.7|z8z!a}/R`: ~B7ɦJYl(L;VH ўC܅{ ts9fYDŽB(t Su{&`Euu,q~ugϰ%a 0;2+iݬ w E"`{ C/Wn93q V!'7QI@l\Iq c~M$1CzT'kzٚL{4wr4f 7'9Ǥ #[ "TU*Ɯ]MC!eL*h8`Qp] ڦV,)XQk>INQQFu X5?fJ7$>@gֳŚ" DTR[YiDo)?6"t]bw̞Lg󦛓H[1j$$h,H'X{EjO2)\,o3?mhqě+~((akVnWi_ByWϳсXs"v) g/u'{ގI֑-x7lXH `ʫZh($^ EJsnr?\9 Y N*[T*\ـ4$ra*s\|LM+Էdzd%d-rо,-t ƱH{6p.|guH@B2+)̵oP8EM'ZLH[}h$]`_veۥ@Hqk:`G8^(4 Jz3O#ۣvp#/{ Q=mthcķךBub\ 8$ZNVF 4հF)իJu냼W+.K6:M`0|@bzL+x.0jWJ$s`썰|42suXNKXkuNNq˽ӳԫP.=h!<,0Z+<@1 mTQ*yMIwʛFESAsH\2v.^扒ܷO ]j~H,osщ> "_@:OȨ0r,IO9( b*4}jԎ{0η&nϸJAը۱z-)_.se7;Fzʃw eL¹ 28)"a.V@ T\hqoBImȒث%GSXeIFxů7?fQ2Vx:;CMGaą7Y=]a0F,CgG30^ )M!AAoC7]@;Anxf!ٷĜɡrcV%v܂k{ǡim;@MV*OfDΓޟ<ǿBx$X3gS kOŝ:o獁5l"L7hQ8n=AW +`qՇ:C!TЙ1̶ s0(?}pjzŦ]m\/"UexA Swr"@ Dۃq1潻R}HADU5Ѻށ1wk1ʿΟ2wF!?̤GdL}pI%쥱Y6rEtt'jXJ4:>RKW%'ӻC DU<uR]18i^T1/ry^uÕo+*eӢNaFX6.Tl9DocT]٣*=9V ,W5ҘNW+T.HG- *F~-_0Zy l4a_*GgT}'Lqd5(XH]p$^O_Bc8܋}rYHgF 3xY!48IFдevsݝgeȾ3h\SdóέU(HCb[ysc>pӓL4Eq"\T0'终 i=BNCZk I`r7@;!s1U9&kch׆hxDB&ZC1*d?o[b%.rOA`"` Codӯ[O%ƹbYxIG{m74Iy%i)[vpd&xB {uRv[78ιKm_tD)el R  ]5 ~׾d3eu_rOFBFbvuo^!2>6YGL~<$o8JxH38Dwel"{>H%[FVdyXNoIx+|e&.CdL3:BAa-Y3б epWI7)N9']k;پj,~t1ޭjX$\@/_^`'J ªId.xC18LqX|CdhZ XbѪR]uM?K`+efdcAφoFcܣ}b[ h}IRsMbI5Wer/링ْi+:p"-P+v4\|ADPz^7eytWWc3a-x =]ƚ+%2vr#a~o{+(XY%tuEܸâ_!g*]ΛQyؘ `CL1gI~/nwۯQY,a ׈I̠EAIakF/X5iqEP)h%iAQy!MDYExaNbBÛ6#:<%| MNe+K B+Olؐ^"pn\AQwݙ3ZK%P"uu=Ypy;,lYbZ&9ڰJ>E8A+cO kFuщOʜg04V殂 4vub0y-zȔuҟISȩxVVȴ y29p _0 =nFIPf"98WHk"@̊E3A~}9D,x-CXހ5dEdj.WfA =.jϙN6]B` r43UD%}Ce ! w\ ^ ċqn'޺U H4a  ]44KtKöE*:~b}l;.Eiˤl đK'7mҗ= r[Z- / DdY;sEc>̟(.Ds&ǴPb3cW}ɔ,GSG#ޥBQR٫=X)Hd,"ؔNަiA I *;mL2_wWch3_Rpr!Y_rqvSbm]iYI["( iөF"gtkq%> uz=X93Dv0z ~jIHw8lQì֣P:^&f(mt:-J+dp9}9 ?2X(:wk$ *9S(nݬlddP.u(}T椨ArѰ хĭWʍTa*V!xF7OG=ph&.׺ʨ6f$+s^s:'!dn *릞bihU%={xְ6γ5ndFHʴӯ`lΩM-f\N}+Dԙ+HZ ;3'٢ gкC"92Ba N{Y$Ne1$ԛ{G-Ws1g}&}˻dud޻ՍXC'YFio#j ò V[h?5,+?֫OU&{@6ecȾjmOhoƛǿ.)@'F|Rq$`pG7^Lqкu :WVwEU46$.w,|La@Na4lʹ<e]ݟz<سye#= _ֳ xDө')qk/4R',ly3cTЪ,49iwꖨJ!bw+pk#sc/Vcչ-cNHJ"x9˸adf={:l 02{;&. +?erV; ҍ"AԀ;DJĉ£#T8t{~=: &=k}˹euiJj;Ѿ%i̮<Cp8{Ao\:?loўI򨤡"pZLH*{FxUm LFOVn[JdžKIMdok]ϸiry͕t<_j Y6)d#E"ש䀷`B?k<7vTHuļFHtg(\+!Ԇ]=8H%?nF1 .YRg$) -RY_ R;`^5QxԐrPv$fE49 bN+q.J r]sXY\T.=7YݧD5VNχi0#}~ua1|,3>Ix= /o@U򃏘]yz@?bm[ "ix7CE##.s_Λ .3vAc- &/?]XBfƒ :sTm1{".E{UDDĺep3*[Le(rt5.8__RNL UPDvݍqOQ-^eA`N`/$ (g*9|葵;۬2eQ"rL6ӗ)FLrGxh= +]+¬깨0 TJ5Y p\64p 1m^j|b;rD/dTTN㾑K uj;8+. jtݬ*qGZ0T X-5,QzV[VޝIVe n錃pߧ(9<ɺɕ < [GjU H>-Ѧ)̾n,8ts0gel6=Ǣ)Wkr?s ^&Y*(xp_φLCIbߗ6zQ oܮpGX|;0ru@_w䃛@1vm[y2Z㋣4sGxmoF$^r\W=1>"JB0и#WhAxF4~;:gi1|qoIZ_&( v=E5@D2 :+OQ}-#pt1`ϕ\ew,p@_4UDϠu?poFqxm)־mФtW<3SIYno\ݪhۈ1[p.[FVkm^CZm.J]ɗ D4HN[ӐrƬ2!ZUw&.wO7j:KJq,]ދgRЄV ~ G|ObnhU  AH ;gG eIȇn䩡)&,H P,z(L#En9_]'x(ud^`yM.9H(j֏E6P(%i#DWiUks&پT~!'wA~78+Z8/b0o%U2,Ҧ)^.gײFW}㇦XUP`yxmQ`n(ʋeP4tA (X^_#6^3rM@PN\!9y(#,Z 1֋vYyGW3pZL:gm)ETGu9 eG]%)?1=@6v8v`g8/)h,܊ #JU܌$w е _lS 'Y7RQѺtLR !m k)8ɜ"Ȭ~Fkq}L)u=Lhb 0D-β~wSch26%Z7/ "Ogr] z0IVYh'NcvDl" raX{%;sA'$xm)QEMLa|hXG0Ƹ#;T:[ '[z))]`"gG? ]Ck ~)<6m_?(~9kRQoovräoCwTGx}]j @)ؐѩ{C^G@| I`pZollǪmn ti3+}4.9b?i_ 7@4".3 6[&s),ƹ$/zfeE@23ݬN,1tbeQ~=fP+&J[k{7~2E%,,-zYQVN;"{"+7ut:P/ Z*{(|)W| B [a[(.@̯ 5V]H f!~00kxҀs*?j\`P,q0!|`. $gөQM"-ts<ĺ>LܢZ 7)tm@qg(hHHj2~=Û_x:uȐop[܇gҗeкmoJ17"#mT85$Ydو[WЄFqxF dأqMIeg7h[rkh QWL3VSRcm{ >7#1$4WgiηM)^g!a ?F½~*5$՘=H~nj.lQmH@߯b bSjg,TK0Q <xGl O]Jhm& SmA)geod!Qʓ$\e-(0b: h:@ZڊRS3iՇ_H R@.ylM/*"k竟N'ZAbΟ9 i+jXX`{ ë`ja0U#kLnQGNxRᶎE$}^OrB%ii\>?C{曜XU`ï`ݗ[vY}:\0LH̠(X3QI?jl Av*I'.-e._Aߩ{",#K1Ffa~mԘO*M[1*۔?0-SѴc#;ѧzCđ' 6Ca7si3}YPL@/p ~g9EzrhDh ?AIn{66ʩxኆ j=#%IXSHĖDև5 ١QDKfeJZKh ۥy;Tv@ ||o쨦ּf꬛ JY)#sErjSc& [ 5xW֠y+PC=D( *ZY+ݜirjO>B";З,dSlQ$#DoDW5\=3$縗Ӳ̌L/0ae$j;]ܖ")\b{t 7aWpf0 _IT*y+;X7ً F7&11#nОot3S?7!(N8"j`p8F>Y{E/ .xrVȄ1O1(:!RߟZ{MU}UHƦ>62 &m]k5.i<ݹۜ|R}G0ww{F<+E`Lt`×3ƽnG1m!9GיX1Q~6KNs(4@Z]%M3a)EK tY#@Y4LD;4Xt+ƚVN.\O!+I"9LZ4ۨi,7t3řq (c[ 3+6Bi<̆k2]a0W(qnaK\IVh@f&G[ƳxH^M݅ փNQL.*y|T:,: JLvHMT>BQ.ʁj5\rBʤdq*xDa,(NAF\%Hvy.ː(C/ 5,bK_fZzj TsWNg F}\[WqDZWt?cx,l]T#lua)m4ABV) *%g(Ú6;yq^uV[mY[3]lZ3d}ER|!nk^Jd*ŶRbtD~e8l:e\Ye'GY@,0:%ś~.@ǀyUFcC+Jb*֞oӹ Z5%$xUA|4y2Qv3U= ZLw)|YP@Á?{1/9o\wZ#6Nw_߽e޺7 .2޵9@I(W!/zul ^QP8i5!6:/s@Q4lջT'`8lBRA5X1SYLUYwֹ<$Hעt9|K?Ǥc [[LAInE]+wGnAJq,/?b*c0gw(W0)y#ػEwm<0&$%L4f2@m C+)J"/ s_g ,ȳ^&a\G*c8Yxl%NZ_q< Y ˫9QHV5E6 kިڝj7y1 ^[GFPJ&%eyM`K4meBD7Fˮ:I&mX~OcWc-ׂw,$4uB=$=~*[=bp>r5tM")LrDiZoiN}0ݡ5^CR]l 6D_o,'kd; V"F(r4>M $:q F0[ yD ?JrR͉'wPL"xLh0ǫqK:|KHTլw k l~z&i[ J`γ̔2, :迀K<~7Of*]0vܭ`~{*<>kXcv*7 g/ X/3K}Vtm9KBGaE.9('[G bHR]|L'vV,+턋_~8/OY%Tp&Xl+7Qݫi h7>Ӊ)#]±N3*|tp/t C/KZg)ؠk+A2NK9SExX>d`HLv$$]F*46,l"̡Y#*T nalEҕ4}hUU7j2ff#<,14]*[Ԟ9zʟzcsxn*t+|xY@;k!)ìtxᯂȁXӇܯVlhJr7C ;FaV|ſkq=4SU|W;RsRA C7JmIGD _z|f@h:4ݟ!WIG)2A*+`u?_y@i )XVwbl 24JeC?_E :C쮱>ZhƧEgyK,K=Q6W`!rY@(eK&&ٺ&z)gK&K!EZXW:3Sݔum|oD\;W[w%mWTD56*ML"s)Xd^y/!I8 uH1&t\*)l`'o3u\QEhuWSQCP{FՃ2 0|wvၔ؍>sE-͞-wC5RC(Qlcqǵp{gY@QSi†3[&sؖ7Jĉa Ve}4v rU`.8ƐQKQR9k6-qsB(gw,3G$on胉$~I as(;C~*VЎٝkv].8%'1BKMn*}L>FEfs[|r1cE}aD̄V&6~I$!\~m1v:ߘ_3{ Fh@ϭyPC,^N1G}7N(DZ̍EkSƣ6ۡYY. ך cKf+cA3_M Ln I~mLв 3Wzb%-"m P\MD,To!=/q-rmLbpDzL*0H1r`IED0,-jב 7e}"˖MTn%4(l_uS%xXC[~8 pE!ӷrԃrrOnQ5]&3opsO*/Kі0+l$xG$M 7ynҼ5]ʼ&GfU۲_4VvE} Ԫ@a)qa`g*%7z m *Zv aYxm9 5u\xP^}{p6]^(KEꁇ ~\t4D # Xf&2G+kp 'yIV"a&;yޅl&`[.xu ݠٱ(4Wt} (tdB4i0)I[ [춻@ ls R+n6Xl#7=z  r C[= í퉻xFь#쑳@g|SQq)!&4:ip+|3z$HFg@-v4&J*ݩMMZt*sId|8!A@~\?m?*u%tQxHL3͇E_.ξ6K20O!`'9@?vBӇ\aAQ`y.yH>|M$-󋱖3w6t3걳@ tw"dW'sEpO2h `K;/,I cw˺w^&x|в}`4a/oc-064`m(YwYE䗐3va2-1F89 @n̘xpfDrblC0Yȫ@,*1; L$$'X7V9s0m?`A|'JpQA q'^UQ~4|*PEli찾7%auq]`TA]%V4в^sH,V>&Vme]lʔ%G]u³Shf# b'vxݝoES$Qו;JNꇈrD!ƱO|8[;dD=Ͱ7c/NO&NeH(B (A.ZY%*`ߊ E"%O4mRc06`x5u3ZIj Wc0ܗءXsrrfy=_8~pFaj_=%KgW8'>>-1ԶڂMM1!Mo*@w[ijyuOU*^O'$QqX$L$Ƭ v!.oTrT{G=^=*S/x\tLBn0&4Ê>!!TSbe)g 4LO@?H(w| jO8ې*b('y ]5A?%% 9:;mJ^yi.kE步W5G14UX.8;v.s3 =.ʉHRP`j rs* nx 49Dž.Eĺj_nM5vb: YfNjP.,&lc:q sS6uC! 0x/Ui\ zHhuM f=!6Lsnbe Zmfa1}Yi3O);kLHjr,=pZ2o_?Y5xUh21;c4"ѝ9@HC#kzMRLp;#y \t s~%;РL|"tt5*4q0;S)( CBXL^k9,G&P0a38ʞRfe@کWb$`-!樺))_XV{a9FTuu$*!eh(4H@Fh< `eR=M銃pEOnI /i3Վ )u|O Eu3Bm#ѸY 3ţW3r02BTqU5UzG V#vN1Lb& F5.F8pԗhAjUgܻ &*I(>%dM0P0G5Y-`uo̎x "u,CRfk˜DiE-[X%k#iMQB:.'+fXHYC J<(/'~?]V 8\XpQJkǑG"shnPO@&¤[C,IT^pűJ*|U< ~ ;)!5OW'*Wz M ׋2\C(l w|g0r#+=]+N};"a,px%--Ys{pr[2%D¾"=}vXM}TT? Aܟ4BYf6) ui3?ZQӀ(ztڍ Ps348UmXi06:j& L?0$iKkd =_{-}"|`%v@q̿N78ʉ^ߤ_[Z|p᧟v9xM5׈hQ؜|eh-Ő,rH P0/N7TgBRv PoXv w*AcwkŠ[&gJRľ\4?\V%˝ [b30{>C'ӂ\q3RQ=W)yxP0XP?zӳcHm֓P[oY6oHK7'2I(TvՇ[ yŤu ݬ?=$!OV[II+:_vLь+>D}|nL).*:#F4Z|i\IDfqd2 \*㸶@}9CVxHxtWXSL^xa5m=vԬwn_6lY#9Ԣ˥4ḩ'WzUs)tp*v0Ȼ;{ {+CH|H`c1c=k/溜؎_(ml-ڛVm0|sk,kS&~53tn'S- XTkd9'\?6@m<"tٮݰAEQoJnn! c}I__qF.5T#Z&xe{N t&zM^a<!t9w<%NQ.|~3A~5,y0_DKCZ'Uq2 edxͪS?7kȽ:mu' z$ ؉)3$Db|\c tP® Ad֙3]Eyi+qj)g^7/NHhJU&g 9n~{lӮ9o~uCT*(y\HX |M*'dCKBhK5ɖoz`~΅&S5˪9V!bCR(hWl9矁%{7d{ǦϢ}O-vd4*99[ #IqXgz*id{v0)"9?ǟ2ۂ0$!hd+zܰ[4E"[&ίxe>V/VLռɊ ΖR7OTE2Lt`aL{.ig.T|,*s@ڏ%/o^ qrVS|nF;q*)ɇK(~oSWCh9j5X ['&AIhbGs)*XhZs$z$1qSSBtDw+6̘\SM0^Dw<^\F6nK{ "< Í& Aj.I6>8HZ`]ТB$GR޸@75t"1b/.9+ob%bDNkFZ8n%W2ӵ'.od6H"& p#`]m;fyRcy奜59rÖ+$Cru`L\^h%jdJ= |k7 ` izIiPEKF@9~`s޷mJU)M r޴`dŊE9Z+"` ?F# 8wťn,\V,D i(s)$ЖUjz8sYU\&$duLC\vvB:lT]zitg@@S[]p1.ku*h)[)=M :\Me'Тĭ9>vLX6Ƕ š]R֋w|K&|ɽݺFߗ7S5v0&e-nCON$;-{H3y*A%&C3 1j^n݄F { [ڿYtxFFzL@ˮ,~z."p"+q r:tJ ` S {"J^*VN!r "@IoҨ[AE^փ fOatcvD1۔qN 9~V1W賂 #U+(-y<8MM_Lvj@l%L=7VA']'<̡͉ƆT$= _SL l&qy 2R9d'(1xʊ\?"+iqmUr*ȷ-"}BO5<HaMZȔ f U񀶿CH{@sԴ)C܂H"HIiJY-3-fV`?A Z$oEO"v(`Q^Ig,1K=Vo!]. ̃z^S˃%}1!N,4rBpSSPz8IL%븿BrsEj`ʾ"dg|I T_s 7'2`eiasϣ E]1ت/VCZ8ɳuC,p/ gE*eP1T<  =*/δ>[PWqAMn0wUߔI(x3XLj8H?CDcP7UF'Ela9skF:(ȬF:joѦ"ocȐ@g6ɬ6R7)>ܯn3=eg)&v@߯B t蠛f[ۚJL#.>2@t !leYRA@yug)`}8[uvѸ->Pi(8xncyY4^:o ZNJT؎J4(ܭtBQ˞=a%'uQQS$ =о;krÚ|iOl~1)Uf% ѷ _8aG#ޕSB=Փ O=re/ibe+ Sƺ>iA?_֯k$8orե{e,׳,^lbZ,HGDy*a +@'*V{Vig[ZW]*a"8ŝՂG*l:5BB6@U~uz3qЧ orGr,\vj#C nnjAU~'40Z4X6 ]YO 9z?at,ocٍc#!yM_s"!gdGkr.&6:ơp- H!)LaAQt'hFr*"WVX Y}Yg)tđXT,8P9B6l2~9 $T Ν}M{:| _-4 ވa-`; LO]r֊p>^bsnuM G6*TgYZ4~OdsR}'~kg]*>1' f7xg.:Aٵր;\=tV)w_`5Oَ!K?7GMݦ)B}BP.Cn3lPÚ?W҄Aաy )V'VJlCWQT5/҅~bҝ{I_olH--zt+IvEZQOzsBPA+[SjrŇܸ4 䳄sfn m!.@cMt4.%^ع/K9|Ϳ FfռugbM=WQ'NcInR\y\zi_N7s=j4yBu7 O3U#:lx}D b:\"1xTCI5rZܟf0o_팶Oʳ=gT'4hEzj^|Pk0leac7Q( c&pQv BR9yAgmO料d9W8% EmSc#d!܄xgA6jŸxDSnAI(#j7{-[VϮqhJ _?Q0.b0tT4y1'T&WR PmaR_N6f4n#zy4܈(/Io D&$!d{XR_&(^:=MSLvK&/!:mr: ]GULA[Nſ]2Kڼ (e ӰȬB4ynbݣG$qJF͙f>Odz>hAhs]s:)@,"qk4Sd-p y@T;8@)q>ẖO0֖1}5V;EzbZ)(ZBtOWAlPK4gǧe^5ۄw^ZT ɡ2lQ#EPMW*Ygm9]OuE% bM! :rz܄hm*@]u2џ A2 42M\U)j0>dol/Q!Žny'hhku;M5T|$ShD܅B,6GWdS̭{Q#`huc:hL mqesLjE9߅O CJEՅ4-~v鱢Fچ=ᒞ݆?#Y)oDީ1qML+Ѝ?a<Ҫxzc0bn7$ua'%n9R|-&D.2'k R1饻i|=Lojکa&|*ɼLY+gTŃ"9rWN'u.ę$ BwL:A؛p;V+_zDV|nËL"YgjD*&G0czce.ՈG|1aM.Vpax 8|('- A(FK  ;Z340/4 {;3l*e2BtJ076V#0KqDLf}ю }Akj%q MX('Ѣ2wIe]! lSqMONɥX)xq{'[v֒̑ӻb[P A1xXX d6LIdFGOfmԎn^_\a .ֿtOs *1W%bȭĂ/{P z>-T=vZFV.eK1Vލo/O8gGhzf+}a.fݔR 㵄ZbZrٓ~6 ^e\ǽQ,&88TB-1F?2W>7lTЊPo׾,# ogvB;GI֎l[M _-F*/ }V2 `nl7EbEh:_n4ԽCw yUVs,.Hc_Vuuٶ=<ߩC]?*|. 4wkQZ g Njbrk6d ({{Vp_RZ_ծzA^C\i:'jMzni*Zc ~!$>+zsp_}-=qQ#׎ _lVPEP+H}[>k]2yO֙<읻=pb gcA#x)^s:|*I3~Au[%*UE#u5Rqv׀YqC-X-&>cՉ mg2JCo -;kT.%LA=яP%_=%v&;K(^a(̴AY4sň( gL=1 uPHeExL:(ֆܸ 7̗3 ů֣6~̤h7F)*l/fcvK c*C({:zlK26Zף#rԕT &YYC1sw@ҿeW.ѓ#]I5#[SfʒٶD^ Du!*k=zBU[jbUE| )/kWc*?(ut*RqT 9a넍Os @>8O1:fpk=>ȇ1 Qb> b-8}+vY?-yg=d]mHKʅb10P=_щ(m6{w:A_7C(C>F5Mt}Rr:x;$=aqY~ꝳBx1!}CȺ$dN8YB5GnJ*HC0M36J{މNi6!청8 C`b~'A\6#0):BOꬰx-K|w`=YmPق]$M,~ m[ǖsn2h楗.Gv'@eݞ4AJ %.i5cz0 hV D7cMnzn2o,;ؾU3{ouXU׿\!g῔ to9 C  RzoJH;DjO;앪 r?>iMFʰDu!y+ZaYPߓNش#&nNDmEoUxmd€ Plڙgt[F+c[5=.z_s֡綅Y$&в m7\Z$FRTp(?!䄉U+DqӲ83VC;l eۃX?JP_H#{|6=ܱڸQ.G^˂EkIU_-uu$S5%­$?ɼNۓY?[lVF221erӮ÷wT6MonWd6v,[c4Υ EGn @I+2o߼xehvTyX7)b`9AڜPƉTsXM"T  %/ }Пr8wNЮfy{e\= L^&M6,(fGȞR}abBGtҼ]_#Me4T0b+\sv l+5q:D0ƈԂ6 +D!LF-ߖXv|]2xą_vQ1Pi@M/ qqKftq`жU>1~iS>5̼WI۪%;WZC9K+ X5'g\(aᴓ:g0h,  ]0a(({NkGs`T g ClYhV^#ONJ@G)Zvj ]t,}F5٣g^+O?2n n\;7qɏsg@JXE J}'N!-g8b` F=\hT\}B )kIo:9r'hmE?PՄ0;i@m7LLN" $AbOK+ bWFN, /=Uk!/:D'j_TG,_"Pz@_,tO1Iy#C _]浣_=FwhMPI|nĩ=$'(fzQYoТqU0۰jRR-h&In ߝtDzPs'޻ Ʈ ޶o[[K@ɸjv/ߏ 7tz&Hy8d9=~ey(Ըf˦_2 f`2:}2B+JIq*?ŷgd7I眣^~Uy-Qd;}}aA}2 4`W ⇗@C$<` @9M ))ATu+9.iٚΗץGktX?gO5gh 2P+@t .V&Յc$MW|q~g$l?eF{@Q95/KnEs[Uw$~Pj]~-mrcߥԝP|L4-D(h&XuhEXwDtLmO.7nɶSsQ '#gWs Lh~`A'nJ}[Vg n|nr8S6 v.C?5}3E oj$R 4&kjE }N=XwYQn Qg.@ )9dL*\fE0JXEHx9z_"^F%5|o@Z2R L>Uf_܌ (E]ӥ 4<_; DjP}("w:V^E>@[1UkyFӀ9ł?hȒkW,W_Xl+ަBݓha,Ear@;5 vڊ4- }V{v(eF&03e:[\W`ܩC0ny<񧰏,a;$zvgP}@3k\d szYeW9- rǰo~Dj~V$, 6䪊b^;kjDfzuJMY yZFͭ?j]}`P?$H\ooD$,6G|kT^W"za%d['DQe9u#Ky1Mmjds+?a`v4q|{rYb՝䘙h ʐCYH]{8%~nR> gxm>h8T&$v(ufzImC ďuu;mvQn,˛\Z+@ɗΥOhUW(hǰ hhzZvM=ƻe_!;S9mEfȽ+~d*niҮ&"х{cf.Bk7Nsjl"/*YU?25Oa(5SC!1 ]fW9nF*;MI@jΥhhi6kyHB!?c%P?*m;)ibEyMOZXOX\ j0F?r:,U`phj8*,1-tk|'Rox¾Q뻣މ<5%=W]WVm xG9@rT$5 WogA;u7֛%kF*2{w;~S=gFe1un8ɁfE4d{O"EQ:ށSVr-,UݛbT8As`)~2SAS4׹5,~HMٿJ! })2'qWʁszC`U }9%F'@LGoT^Kת֚7r9/8cD+&zі]K;ș3& y)tRK2)ͫFK!S`WψV(xE,p{F A#Jc3NZU`ULy$_>D'V/G9wH$]ܶEE=lN%HbP8pouHD Nx4S\٥oSQpq̥p\r"- w]GG O b9`xF+ySzR8rDUa)6#Qxٓ2\ 2}W@+j/0Y@3>wr+7ۛWuT ixzAcU˪?gs|}]1D*Ή Zҕq~$N/AQc_R Dx!(_k892FvL62,BI;/oу/_n]Zg˚hi:kXQZ|9YyrY !ދߜd kܻB}U*hh!#قpWm }_+cqr']8ͪL.kc |.bJCkڮ..i=Y%M~܂mMr,SGإUR%ckϽ[aff%6*;_v`DHv x=Voڕ6z0^8'T(Bw'XՑR85Β\ASCo$FжN#>QHWŻvuN*1LIloc!Nd^rv,/"aooƴ#d7;ktG\ns|@7Tpe ЯOb6ϔ9@UBLkk-RgS]M8؂ .o0cgx2ROq*جAedAÝgJݏف=n-Usr!>Rxx;$˜3]`7~fifdm *⴦^)/tFQF.pr901~6횋t+ ':1ׅ1@8jfٺʘfOu ++!&lߞl[q3>F+(@Їi,h^#sHl.sZ\A|qD?k̩ꍊ*9  Cli/L?䜌Dʋf|c LBܙ e$2=v<n>Ygڒ\?:Мy P;ڤI@ Х?$~7]Ҋ4(}pȀ(<%̽#zpkÉ=є0& l]!(P 7PiE2NkC3Bk~13wW S)&}x!6=1x@- :H^@ÔqɎEF8ޅR4GlO+ US]@{AG :UZ\ǫy¢IbRC({RcB )`=8ѮKwn3eͲ7fَaW'Tz  j`KDӇĴjɉH]b+[fNWR8n]Ucvf}NIL~Rʼn1K\6Hc.UӾZ`ڷoe.ts̅Ц˳:W(%>TgF5N&\]R/]v ^2)ZiV4ƒ]=:Y+ V*PW Sɠl25p1bX?[ۅdwGy_s}j6uVv#jRc |S#XC ʡ͏Z?]>RYdxr>K>XN_ƒG])ń@UGU+e d*YڡM#!HA0CxEq!@<|GkxAlDIψ o Oꛪ4ԹUoR+D(8aA=8إF|!,H֐ǘ]5ILdmcj5LCcwca 9=fͭɸ( *NJ7:~|o~ʜmYVʼ1F;\ºS $Khɢ) j z8GX'@C;\YdG}۹.bK=޹ye>gWw , = VLُtUkUt}n dg`-CJ-M&n[ZNYG-0kLp)DŽvG hBM`8utuhU'ؤ (&x@>Ѿ6ԺG#26%*nU\JR/0%`)X]Sx7s]y m+v$;bQ%?ܼJD g-ր{ȷptj䔱awpVQIErl<`I(xAi> ͇ DbSE}]n*% ޡOͦZ2 5j3Zxx1˻\Њ{J6 i' Iʌ0>%T`1Y_ygLC;U@OMY^䇹e[| n&rrm go|@(ך8A@:Lݢ瑉Iw%ujN 3P Scb\H1[qu^|{'%-̛ao;ba+*qr2M~1`|f;_ENp6>:Iw2YH?hA ]$=μ2P;o~q#M!6kX:[0O?*I@&tg>=C)kZnG+O{ 3g8=* ^$G)ip.ui޴GM3AS3ۙiRI"8xW9 L`[/`ྼK! ]V;`^*/(p(ӑL[g<h.Jj%_4/v[wW4S'נ*ww6e&&$ЀFv>{,몼sARt, Y=;ζ ש,/fdWM0#ABV7KofES}LԵ5Txh`S(rn1aʱjW.vf {#K$5c8}Zv}Wqӟ7J7HO={ո|Eз;k@;ko/ @guCqEd7/CQa]`bfReOȜ&wDiݟWԗ58(^FCBHKWz(h F7tgeEgYGq&1_ ${, /nvw>0(v-I^".U͑U8n]spJ 5gT]u0k\>'k~mtR $_7i5IɲmUYNjҦ |R4vҋɷ6;:/ 8"%XGJ(z~N;XV-=X%;'S)ly|L{Ga补}VF_0]֥'ǒ MhKKyӍDmZ;q{~({R]9;b;SZLJ逪YUG4(ynwʹd4y;bHVoWwTb94+§BQWt9m}`TJ\b,;4K D MÌjNYW~` Rl@zm'K6EѠaw~R ^[)=uvՓyx8{QΌc)60= )ku$ŗ?Ԉo;uV1]̗zQjAv-q\GWmy[RU;_"l=J#A?ɭlJle%D|-&>ўGkaVynPCk?s3t'.F麦K3Y"/;#M<r nU}@n 9Ʒt9+JZc`go͵ xnJ}hyk 2jm}&ԈHB_V,(YO ?O!n[\ N9 9F18HNW2瘛> 0֦Mk%¯/UOp|%xgGWόfZ9s嚈@6}ZvNYÐrYD[x.JIe\2%kF }DR!>q? =q9I FsayjnZ1g4?;2W3rwK<9zG z 0",o{S+yqXy2ՏֽT^I2ro7L]-j**h @[j|C>NLI2 pK4k\%)qŖB kPu?kqT I>VE7qSH TH 2P%BD3=Hb.L8'ZRQru,4%-c0a+FG(t6o+F aGD$"[Tөr_~Ai99QUe.տ%es/օh6szd(ȝ3c=՘)gdBbtޟhV/ |cR5$0Iz訧zs%s4WZ7?v,/5nrsp10zY`d),bn$Dx.'eFaO 7eWY-p%CV p. Q16^Vf5$Ě2L2=+ml ^6G1QN&)/l艒"7J{-] lnGB|OdV&s^p_7{E/>`X:3eFsN*Vd(L4{I󕐝m$(_LVBS%/ ԧ8.]njHG9h(ȎA [f B$w`B:{m餳KzeӴ3k>K[F6,+$*<%;.t dkɢ{(D搮ljТu<-[' Lo@\[tr (:x]88W@nr~%i{M~A8U]{zsg{ i ϹWLִ52] v ;&:\E %_C3/ʘ$hM lww^&fQ:z."nɉ…SK:E)/ooղyjI|7D=8?D "b BzDMcո#.$av5ہܛk2'v>  ErL~.V.c}#(ˈ>%ӯu6j(N H&5o$8i_h;ꫵ1(Y?`ֵ̝eX+cgǸCWqm4 uLGBًm`lGf'@@fYHw?0}.k-5TZ.sS3䩻׶[>oTTIZ[B] 5r@˴ԇ@6N ;$yzƑ5!حHm>2M00і4'E(d9\L0Rz/4Z  pP;F!EM !GHh!J?Bmd:%^W:JTm[ϖrWw$Qq+Į䓈Ohpx%W*Kh~>[$kNdwʖ1cJNa Z.R&w`^ L&1ē;OgfR03> m~*0'sg`[Ckb;3o>+Q֜(X{17,nI*d7 '?KZ]-±!AM%i͂,R)LUeSt,Y1-jpuOCeإ Ǡ}OH|1#E 6W~(x3:0J|2b+ǤSϻ oX},\|Ւ" $GKCD^#j Mb܆xaSICI6E9 B[Y}\ln$"on\k;qSoٺL!fnK{s){ dsۇoEUՈv}dR F/-c%CԶ ^F>!Y_(VH'w؞H#^F`47_o#W9wEFߞyLTC, *rVP%7}C»`jiH=o@7p^Sk88巅V)34xm\ K9] 8B.rRdi)glxƓqTܲ,+t2Dz er;Mk>#[ Ԭ۔6)}N:W|}l@sMk:J6d<(^V2P`]3ى&q'GNOmiw8IPmD.hWv(# E@Dtmp#}kQz73m/VA - dz5| *mkZ(rf2[ݐBhV4G7"sO zj%y RWT'015O;Bi@p{uΖ5#ZJpof\ (<*^"<,&xhG"Tu.10DeJ<Ȳ*;]J%wnD.vmM|/1u8_XsO 7CvbFAjS{^ՎuUfkh9pSFmTg%rtZ4JhdgD%_1Noɬ[:ަj gzzhkJ{)龐7彍n}.JN 'xnN Li="` ՓD8YD̒<%\uL"XŽxydIHYkvꮪ(v:.R{Ĭ·[@/"@-Hc`J| )^\7w{)UD}<'R> ;OGwI HI+@yMoN-7[iŎh1n(UcticMC=]@6'C?| ;L JڔVf7c~c,fxi6'W/`K}-D \c*%' Hx+ҿI?zp#h.h,}"W:7ʛCz9t23XvUHk3agZ[PdUlF6*.Y\q$?L"KMٴl~j xhU ܗۓ_زX4 u$M4ax.vIlJЮ8{DRSR)cLĀ @Z >p@ywK= ~grF֠+$ʑaӶL+_`O@E&$g^;RsyX y%zͱCä|y/ss*޴j.6.M :)f+nFB(RIGQ2BK ZEB0Sz)r4QC6zreU'7i"0hW>QI# @a㶪9/ pR6`'zjy ~5Ilfs_3tˆ(I_<JsளP.'K{(zB)(r3pmQۇke.0ꠐ]psa@;v OPԠ麍h.@(~UgU#y) Rz䭕jWޞx)l%jtW.fgγ~j/2euع#ũg|@q[(RƝ^AK>At甚9 n[]O._XF~+6?I~ b8)$OI}5iZ`:` kU(U_KVc͆V* TdU ]h,Y蛾dm+hT?:įFHcu*i@MSlky6ǃ dp]8ntwVKeM L,#uc z<hK$g-Iŭӹ[Ts>q\3- hתּKȶs0Nbҿ/\פ%i i͉NCC-|I˫q aLOts *.gWr&3=d>s撐Y݃ lE/S09Yod秉f V?exEL)=tXO;Eu)?k3t":v{l%a4?xUm(Sۣ0;<&HKqsXt{0z]xߏi#J+_x$IU][5Z_&7̘⸵L1x(^F^rGH"TK\MrIuSmNEJ?ƭ82YXMEbyqg41 ]?UTYUYcl//2~*_eM7A ʮRB2A]zt (2noFf~ж&3{ϔ&0e2<߲TScTKb LַC]VF!ԒbJDǟu}ּ :ɵĦ; zr|KDvH@l@]^aX֣ 4^%Dg\NL-}%:鼱3h˚Wc 9 //X)/X)/ea)~3~ ^%D}5 '7j}dF,=m$-kG)U\2A f|ƮFF.O]4 kܹNGUd։ܹ揗EF*y`6{7~Yo=P'%@Y*uQ;G:;XgDV|[crs;CCy $[9_߰:U1L.:(ܑF;`o_10a_'+rYr4Ӎ%%®D$0~#4m,G<]2y_'6V28_|$t$ʅS z:L`#Ź:Wo?NM]p-t<(gAo4^N1 XI ]{$VkRzgK[~r! <%BY ʝpȚtp"~f J A3.1%%S5yF=_B:9ICR+um~aVn<5BK {@p^" fADq+^`L3k Qk`OТ9s=4nEJ5FdN{T˺\2NV(b(-~6@A':aҫlIœ WI2x?U6_כH ?Sh)f" m եG-9hdkG G 1$l>MX;#.*iH?еv-)߼7 ˗tt$<H4,k۽Hڙ١<#27n J$ݲ>Bf䩝Div@ ILnKLtGT uIĘ5;q bgN)2;CbFdM+F-g,O?'&3'jQ+.xҙKl}qcѓ0#5 8ʙ@;0|NX%`1, -ކ8c<iWG=!1 s 1H2i[0*r6oM߫^>i7L]12&@cQQRM!0We8+hx(a'"p<*{rq NAnl-pwl%6Z*J. <s")oPP/-Le=h/+m"Pv?NŸ=mZi3h`6XA(jv?:*⬛@OyqybC ^(VkEL B湇@t/7>>2Ulp 2QI5!|ZZ#%?fӰr-@]LrYMjS~:/-Fm<~Q_&C-*{uV,\b`] %W8[~H=;nJS Apnt]۞oU"5A82S8ŽO~vvarBn}meTt< E[TYם`EȀA*6_;:#k@m5ʀ5^?Y*=4*`nHBS 361([rnC, PkKɮ|[VP[$J6㍻$)V Z̭?ՠհC7bA涨iwn,ើqOדd >45:?3 v9C;"! 5W.?5ƌ]dHr ~c27Hhյ>>k1lYhfNлe1U=5*u6(9U#܃&IC?oj:nGP_'9̒עNf¹ȼs:MHYdA4=B#REH1X Z为|0U XJW1bx=(S YOWH闌7F-b/dg|;u2X^3xZBl#^*_ s6!LÓ suY.QN@j.!ڱ5lICuy*TZ: %q pC[iF`xJUExj1?#t҆҃r$L܍D ` j;Id[m]؅ pڕ6?Ϣ PUʘ``,e`$N ѧ/}e""7hٙӯ  `21n"|PAg찋n¡J"1L <'c4ͫBo{xUi?2Ɋ f踑0؞Қ. ˒MZi79L9CЍ3hp3<%G`Gjalf@c8jAK#ǣN2HM5}vEX6FTo?Lm{s$*;L[쐪̬㤥^gGcIx YPgΉa*Mc@&~-bv`-VDա7Laí=?TɄ̈́ dM pP- G[.苪qK)#vEl[?i=sFgS')+%!?׾MRRl5b rQH-{Y3VfPL< ypɱr犭yֱʜK-*=;~ ?E&sE-pc#1:ڰ+fƯ[ff$6+pHJܷ8l-X_,ÀZ N{BM [bxNk`ʳnSge=FB|Q~p|.#t_>N7u9:Nef8V 0,Ժ"6]`+p:*oC~au贲۪3LqBEFH{ږ'-h+F-߯ש%Ȳ%WX@$IUEj5Nt{6y8:N ܄\ۚHM$N|zRԝeFVpc(ĀE+ryeCP:;)(H & A Pp#ǟ#6VV 2K%E1 yx|Oň=W&#>g f7v=R) /hػ{tXSS ƻ n k4(iQj|v0ڛ<\ɒ}\X*V,}c{BaB`~ß#4pCz 4' t1*VzM||>rp#M:m4F;Oǡ&i'ra(W}" <^ 㗟GUMP =s3IW2pWY0{s D88 BTO t^Yn<ݟg'S7OTw-(%iJg(G樒.eEw]G 䟚 u#kp6Ɠrt\vl"Ý@̠w#CW+`kj(M<Vo!wø7 f3?nՑ S& m`'0bg'{n&⽾!rF~5[!{{Pv¯Ϋȓj`)>cl~'g{H[R1.o_@l'}S lKx0D+'7>gB(>&Y~lc"H |+Y0cVVFЫvn =!}\QK45,= B]t9+#E[m+'ީ@d @ttבfփ( g5 $N GZ8_D*E7"Ƿe6 :͖WFS\vBP?)Ke dsYBw:H=nŅR'jzừ1FMq5]?/&zԁ]jEzx҉,9]HW|׹l0] ̡qiYtVEέ*F#N4 {!r+& 2jjaW3XO&^`䇀39uar8qn+ƺJܻ& ֞NyU4Y:[1ϙzm:/F_W r rFuJ@ al `{e\/3b* s!X aNPR#iK;Kp<-Tx4 t7-;`˻_Eҧ p~VMH i :/+ٞ:q3qHR#No$Vbū6 ~8'yPf,mM.ꗈOzjk0cût=<\\4gl GBj+yk;-i_{e_lw|MW]@(u4Gx*AjMm3=̑݊O|_KbbuYin%JM'4lgZX0T:zC]FwD Y::bA# Ce^j=7J,J}c#Rj(-\ߍz"^F80+)*1<@N|pQ{L\+ 2󏳷uCD:}BT"ՎkMO[7C> ɾ՜х[|ѨS<2/S&\cMrT\ayپs@,{<4EZjML;Pa֖i2/e͋mF VȬeג_r/PnSco{v[/K{ޓӶd܈nOq* sE=_4CȔA/MJ 3u|-?&#G7|6-zȾz.u:Y!U0Ds cm468~vA,}b:gn{H.:H_;*0쒙S}+ ~ϗFTuhM1c|e `n5vt .P,dl=_sD=tJXݰ+ѯ _Cj_h"voyGK.q6;xRH5YYx;bMO=آE3&pu/TjEE5XͧT^htۖʗK޻F ,(dY12, 3 I> a}C'ݼY%/#P68'j{st'[;59I4"bv{w1P)DWU=UaˊBL*5={h碚)A Rr)6RQtɏP'P(ElW 3v,s[x;{uvCS6z}6{h:t}΍Drb\ cەL_71$Ʊx"ɐtʼH!G=h5URiI B}@ V/ĨjpU>ae?vDe*0Zn<;h,Pbm1/Z ̜68?BغÁ;cFuM|V́nthf=B!A|%Q1BͥǁRLl=3ub26Xcx}x  +2 ( SՍw G^ s2ghf+Td>V,~6Ǯc69eŌEL< -^+>ѳV3M z;K$ȿZP\?VzՖXE=BN2/!+ ;ixZPh O\3+C(Bْ%}x~r* _Ŏ^}ȡOق,hm18|M^W?&OΎ`at_IcsGub:QEz|Mԫ;*2d j[VPΦԣPĞ먴￰SWB'QK&t_1-Nj2PX =od3's4lP .ѸlXv\_m!&<ՙP3IZB9O!NX)";g #/t8@E{>Vy3EܣOs0ߗJ`Px=-`Ǜ4=%dCqk XjA/Vn5{9k YORTdܮ[/GS;_1=Px*ߟ&orjtOOP(XqT.SU"=&tŐ;F{N%H]QdTrS~F\(U|O\iRp?<Z~7Sv2b/^ ro}@G|ly#5}l ubxߩ9"(Q> rb!;l鈮89 9[g@}Wq^mh!3z ܘ"9Tٻ|Nì^Z)9b,m?Ȼ,xwtQ-D# R|-p8avV6wߖJt{V*,_|>]g;ihp?DiWd[sWXMmr9On{(I È7+ϪOe޽)WQިI @rܚ N$+-K֍'.ÕƮw"8Wؘ}|7Vd/bC"xML.&Y#!`-n(וXqR!\,Y>r#p` a]"/C,s5Fl?֒  RGD͏;'3x \)j{ fcM֏"7SfRzD \*_cTYr| Im*Hjh5!OK[6_C'@y=DT-ITpWoOM5̕#HDmQ@e }`,6;68SJugL\CGmťN*{CGֳ_%CC?7wr\t,N}fu:]>-FFAT Sm 0hơnzkP ds544# ٲ~4}?^Nf~Csl)pI%*`=5Q?4-2-f1vSu(q%dhEyeۿΒ?$Y qrƽ!>j1$py1C4t2oyԹctBN^>:{kMTZj1ǙRN Nh,W&T߉S+iєVT$x۲7Hpwp:o7 ]v)jyqݕ3:ûIa-xڟ@TaT~dRPd[<-v8U1ۭ1Mn[Ahf+Yә]; 5 tD$ ze1|NNB\hWc9ʓR.RXHfOf`Z&_?3Х_~$h3kZ- &^vm-4 (j! Jspd +6d>䧆h89wdXqF1v-Kоߋ4 AqX79c}JX iOX0x/Ō?:vsZsfpPdӚWi(S#P3 LN]~e]niݠ}[K!񓺶nD-`zBX:r[]i8ǽ@Vjcy~&[*CAAO@Xb]!|c`cT߻ w)XŁu"4-^fǵCCl`=*}L(;8u30tfFXWc?"䈎u@.jfG Exy ](k{UKF Q<pw TK4/#Q.? Фv#(`ZA 9g*GL^ bН3r bѥ媐yڣd|Sez_4Ř'W#3ڋU1Eetc@0p.+FHڀ TRfԵ~ ؝  a-m&>kQKM}_xnJO/,_PmWF$"HUX>A1k_7$d6*JdI^6jt,%xÔ DVä~ۧ8WI!,al4mg#3{]mK ('ZQ ^ހT<2՛4yC!Ùf:< !HEl:nh\ٯ z~3mWa6ײ-hoFco !kYHO4q fbמ_w3t2=\5pcO1lVRK]o7_gC#,JwtgL gsNȫ>OJyz!O}Æ@S;db΢;/tm30ͤSMc-[/I%iVgh } 3wsnE+hx7a{?'S1q78/yX^yϋN{ۧ%?uPQ|on Zũ=,¥@pNCǏo>WЖ]gx:mte a' Nn>BCЂu&?SE]Pٽଅ#&cUrGOe9@I-2ERǦ/iD-Zy6bd#z,yv=*],i_Z/)j@?Df't>So taz0x RI<훨*K`̀~'Fx)Ud6H<`@xz! ^0^81L"\dዻy ;Tu/JѪjs#]Bd!wsx rL\v s:W}ɋQFbٞG&TT5ݯoM/ MiYX͡qLhFT,*R&4tENzv2"+ i(a,(HrКC:q),* |zyprX1P.B6dhׅ=)ɡқ~Vu{!} 5ԑQw~)܍o-A (uO; w[8{GLN+VXz@X@븏Y [&nu 5Jߢsc'􄵮++@Ҩ ,M?9+0ts@^%:sYG+,MorZ_[㲍#z. qV3`wl,_Ca%!):5iA1/s.=#'k- M.szXYvhdf\gP.z>qp坁7oS4H84$vD*-:~l&{,9sp`7͸6DwK&i~ K$>^ظÂpo FwUp<߁ Td<ٽQΌ;/P!ûH#0re`gq!SAУZ/4d>քqcRy)eO;sIiʰ~}wO (}B#N}%޹2"m 7fY¶ _">l~Is7.37:MA8H6f PpFg7=p&0PG/:Bvu (0HOj{tAex+62!R놓(][AeTyuq3]Cr]7[.n*hӓ 5b(CG"I{oW΁z,J;TlXcH֤1_=lA2gK (<ݕk̷FDOf*^p=nD07HktliC}*]Y^r©l6Ix0xQ^Tr] `~ i{"?!Jo#/50*&҄{JASmnHRĢɲ2լyϤ@]"U@s!$8D1G :Ċ4Nv| U;YÚ+g˽Tq03##)5awZFޞėẰ(qU5x'qܴHxG&rfoI{+jFg^lGk'(ņL]O7OBi!g|S4OݞKB;W?7ՕGc=u=! fq* -8~qT:-}5zdTKORu+doO/{$R8D; #C=wcTX?m z&i?~ t<E(-\7,= "[w׍w؝S k؈Ȯ#{sLٜ,}\֬D 㯔Q"cYUPW~fn⦁5 }~w5kEn?\v}մkS]u, ϠU v|H9`DGtsk b:6z="y;>LAX 9 Ae:M YhO渕'tB0Dйo~(pKj@l'E3ȓ,]*KA/ߧ@=BNoo_01\!5egW{Nu>:M{}81?^쳮D[RqF .GЍ&tU#9-jJyvPC@W"g ud,7#Z#N๚}.*+Z}2(΂Zw\h6% "$/0:QHtE- }x@,鿅';Ո4ZMS `螟uN6o\sDgmhahPjAOII~/TBݫUL8 *;bfQ0 ^ۘu|+T'N<ļlG nSAbv >ǘ1m^ o?5+n)ͅWƒ\J0$UlMOE)2~LY9F}'\iM,VH^}}'XL'S78yy /D9USZ{bVݠhY0_kO E9Û Z;U S}gJ"tXa.n55A1l, &v#޸@0=k՚,w !n; TM{3n)N J\:@ oFDŽ>3.Lj}_.@ݕa lE|=OB?&!VucG+bؙ `A~ CQrxNTVsR )c2(%uAmids@Hs{т#r?) 4V!K]OrbS)C; -8XZpܙx}bp%LYx|џ?ʷHa./)% ,t[ngunSٺ -Kdo{e.;bqW]rWX*kZםΌ'W{4N=16Q XyVXgLtGE%[=ߖ~I{]g-O;j8g)w@ToIY{EЍ'؆{?{Avo9՜f^J'& }axsVG i v|UkY`RF[M>ဉc%lB_`"jLɗ;,bc go\63؁ډ睎ϸuPv\YKK֒qNv}B%x+T﹎7N/QB,d \2eT'CSCMLΖF.3 t6ܐ9_ָfF/uS%ΏR5Cv#5X^"MMZ;~q ǖhB_Cxdfţ`'X )?}6X( |,F ݵ&rPSg5 ϩ7eDy~+u i2vN tE0fY)>NWO_Q=Jg1U^C `_8ǾDcL *Sc4`Rଂ{So0ȓϝ3T.$p\ VIӾϨ&a)sb&:QQO=T> yIޠ$m]^4+# i~6%ĹH *@5릫1Zdn<+Lb@mNӮVJ ]7Lt816ʎ0 QDT~ժ' grFf0xg{t3[&rfljڍ`iXKKRt|Cδ pIwF]LY4C OIOQr/}U\[3Y: S}3LZ]~g2L0Vϛ2bƞ Ca+oye #j}FFC27b \Alӟ3\,&i> 0{?x ԹwH}*z!QRP3#P೪sXo>p液P ݢ|9P~ӌEmzyN!?lhNZqAE\("vYMjWNAA6p.xI#a{L2B~utbO He;/DLBA J ky47uYyY+K+k)NGze8@o\w 0ӊk յ=.&!h}NEMo{ :0Z) W3_nrѩ&U#f1FIn-$^*ӂ ?Z*aL,-hvߤL"_S`:5ie%:9:' E舩]*#eD5$72oOS FIZ1"3dZ zV2ˤN˃$>M$$G=6{62we'nݭ>-#y"#/RIqn0fh\1wӐ"dJj}$W7tHݿ7i-jטZ)3RU1n)A[mVsVb|Y_УUpŢV 8 ?bf&M3m;xv|U|يU︿q0csI읮֔ kA&5FuOu̳&Պ 9'T2%3={!yFs[|FJg^3^mK&Z2 hUOpC:̝(N';PB.XLs|]ݨ?z$tXB {s]>P'}ܷ1!u@3ivmLgbFkZ:.=|# I@7>'{4#zLRE!*ʼXIN|Cd/B-{/wg^Ս݋a5Ϟlr"[U<\&Dof\q x(knkJCbN&m#F|;r?DiWSqku4 KU|}Hjۂ2(Hk򁉛*b[Jy_C+!yzt)zȃ֩=|", 'OqlOl eGF3JjЙ<݃=v##r=Pp+eeEZqzQDlN>ɒrF52Q#g|pQ<05FahV}ge-#M4/UyWz|(zcg, ͢ː>JYc6jQ&c@çNaGV],=-'fX|}P]ì?Ye됺E6F8=ApM@](o*=9p4e6v\ߚ R7}uh;& ƎvKP/M|}UhgWU/OQkVv_Fp&:aW,XeP]_e-٭c*s򚁒^0T8tGD]Wڎn08ԨtosAeHi  EvrBAY{ElZ$2wEHaTi_,EA;v$U[Q;%xɑ&{[?q 3.>$2Df+;~(.f%dS~ȋG^.$`Xθ"0bp[ݕq΀l86Sַx$ =`TJ27Q X.c[cv#-`-&2Z l²2-~W՜O_׷V kor9JrT*ր%@j=`hn Ǚd Y#WY3a8}۰ _(iɈ{d R2 EOpRݾ}DG]>SfI+|>1wuʕ0ߪVwDfK qxO a"ГTy)φr^rx,J4Fbyj]=xUX0=hf(u );mt% аƁ#;4'$Rv7oBWB1gX0tL`kR{d^>hяGOd)F 3gͩٗTa~pa!vb]SQ{ЋqyUגEqiLՈ4GayZaѧΫ1ޚPC/2,wCzzGR!#é?ҒnL{O䭳y׵6NgTCl6Kᣲ1ΨL8dy{S{L~1$_G sDr_0ƽO T"`.%W0k0T>lv$ uL&%0_j jcФ e;T+2ߝ寖*˜.QwHd؜ lplH-CKs&ܻUp" > ,4F +|f&ob\Ib}}eY9+ 1Rw#s8QUG 6KXӷ$Q+m5̢c TƄFe&HᘝxKx(5<`^kwN_4ተfѽܱ(*|Gm~8x{It-ƒmjACٿ4H &-,}L̀m`'SSAN% WOQEcωo˱ݍ/dG+K =.T;Ս)i.ޙCP| TŮvXB5k3joF*v'[Jb@n8)eO=-rhb  Ǔ^GhԄ7Zc N=RC K漪2̨#-Bf Jz6HN_%TyǙLm`^?_1CtKўq9̸> G2~b{t@Εtܺ.;]GYB`$LHmȯ{f&=Gl /xMCBK"_}QFw\Dҧ3zvDICfHi"6`ͷW\&BCتީ!*5b?iQTrozde؈DnϐiR8Y6dC8ScQJ~b"ĮM L&E.~aإ\g6W(zdℿYJnCd2J|uТX3,j[OmާsWLê)NJ,w Z8Id:\=s8;Ve-E֨z~tޞfO$\ibd0P5ԷY}^ fP4uhbf:ZT TZqbUDU\gc{G^A}/m`R g@{I|_uaJ:1g9&7!XfZz'սl*H麴1G2n](198-.y|wc.b}u]p _!G"@tfD{gϕ+ĬjՁ6Ni~(~D;:5'V69 W,<6587’7M8pv~\Jw 8.c&-JP}U79_dʎ'&u`XՃZ?+$j\7W19X!pfv2 '!z+sSϾzaAjOjr:bHNš9-xq1 pyI&j%6gU}S:*(v<47ydLMz=t?4Rv &̨ӱ-Xڶ!n~g֠U@}X3p:\_MT9S )lDž&zAMdV 2(Ƴ4nM{L H<`$؛wUWexؑ-,u[ksq-s6 @u7[y\aV;蚠]G" ;1!J/Y>ohtyx\D}%ZEfZ]+f{}-5}n\C'ӻy@,F'y6(W\ ނ~0?ۨXi[u*ӣ7[!b;*Dh?{0_dmWJ 0/d/eu1vctA|u a;iaF6&żh|ZD]X044YTU(!1ZU;z-ZY%hSc%:lRFA2-u|WָP"- EHdq^H=^qGTiJ<{2p(VDz8]I]\]4& & Rc?-ZoOaI,pCODC.; ݿBqi:q,P,2bLreveM %Px]HFyH2"Aӂ  MsjG)o 1B(K%=zA?Uc!%0Ah7&Q(q w&E3_/:oO\ 5-yc|1{ZZX%,z[򍸅ƻuٳ,vj{4$E`d_q'L)SYddWezZyf.E|TNb0F{"vu\94ƩN;!oàD]򮑜nN"˓f=hRWB'2?#gX&-Fb8#hȢ)P4hZTh 6Ͻq7uQr {r4ZeTE:x~q-:GE*!XrbF厹 .g,4Yˇ'*Yec -0"u>U/j!+^u+ʓ`4?܍nHD $lZUi`SB0xJ'&Sdّ{[}fJ'c?%TGJaBf-JVtpA`bNג}x$cl! vJMw7ïh:gIVxJYqx!i_*^k'Gȳ"^:C* 4uԡot?mJMA2V9h^%?!whu0*\6Pރ>!nīph*䮠@ 1Td /fY 5mHSIGwPo@ݞgkGYuw Y^6(zXJ6R?Thflվzܧ@ n5ȗ MC%#l I0onrC#--㯃~n>}vA~\+\rs"3ޥ1|TrBr2OU2M-~D؁Oˋ,d|JmY(ebDƆ=X)N0aK ii‹r@0-0=3Jj=neŽY{!%-7E=tC)PXjc!HB~[#ky!Q$7o{6|gD 8ݝf{4#|e[vFo][πGgcL䙰.u1p`̆кiA{31^vO^einnMz"IsMii0qX` FF2+yq|ēeS3wV^mYk}p2­O7Dò*%JZӧxվ-ztEnQVi{NʼnL:+Y Yt-zSsM}ybQ$vw89u-b|<ѾLh%x'O#(׭Wu"4 ʤPnIǩ%Pzc}Q>;)@75/}…QOh}A , hC8i2^L, vACc%xc;帘5h+9S+檝|QRjcڛ)'ysEU'<5r>~4E6nmpf&"9-1) ӷ>$n.KY0ZzNHYyT)Wg>2Y B<ѨPUz)wl^lcқ3").[nOڔdM+KE'N&Uq 7QDyWa;P;`_E^/ rWZ~MJm$ڊ0fkȞ5ŪF/K4t6(%6CztW6HA _mYRk-/Mw1lhʑ567,3zZ}]%i_"aR>Uhv'sI؅F,&P퓯{pdqlBu T,.$ta\GZөQWϗi qT}0xuJqū#:3R?Sg}lr$P'S_KR5d8?Λܔ#zc-/|${wG82TK5`Z/DAF7ʏFPkVX%2yʾH{)Opc:1 Yͷmo@$XC+ x:BcF@DŽ%ȂA}ȵ5=НuÂqb8D-{B{5jާ7B7,i1)$~]0[Vu :1`֋R=]^o9P;|. q!V)mrD؞Q%,/#p2Tzʘ},ΎZ*梨. ˒?[].[x},}A~L@8) taN=lm6<#+=ໄԳUGYOd( ĖQYԅ٫9 !(Zҩ' VxF[L[=^d70[z&.ȘG_9'UPAM) ;GZםcL ߁9 p9)X_%%BU硐Yՠh{BW! ?_7bNPY@t ?b(+kTɮlkx9lӫ U#]tmA$v]|uO P|wH]O _;*|uLJM%`m#]6KT W.’01AB}it S͢ .Vtl̳4 L/)jMͦ Jwh}w3^C^lHroTPlw+YwLWO /2 ZbdUfP@h_fZaVcQG9.WFap&3ǮVr\{?<ԅB  *ot*tl kg$k: k}@ւ-b\mHpN).1TIK(4L[!ٲVsFUÝ>\8yͪh,J9+x" (m bOltq$I%jņBCIR&0_LH3vitǑh*_$BRWq*ݸZjd!~8drNy䁠,oEcǶPdGI )$u9:0I4_v'%wceTʲ9 8skx6^j*lAhclMfFSnY [ '9|]5}?d ! )[{}Q<٤b칊A:wub0[7Xy<[Өqe;qQELJZh 㬗.u_Xhɭ8Ws,"{8OXZ2>(Yi`;u@ne@5$c| ktŢ<6om}yOhE}A'Q&:k;JVTiS^be&R 1-*>_\SZ}H$ݭR !e 7P8N~_InahmL5Gܠ(r WEZĢpo\|tWݫ,|?80H,ԐM&/11'gb~"wRGܾTs6.a&L\nsfkP c:N_Ռn;QJD]hF[}GfTsPHA`KPKP=cǛ`,˾k1Y~z2fNx=Ŷ^MۅemJd/*ϲjbv )0Ьx.Ĩfp҉mǪN3.!1 } #yEqOUuj{Ү\5#q)#:S~c~ia$%o#VLBe̽u&HʑW 82CW$tmi_ gv( \CZ<`P[nW @gfDГkwy[4趼d0 ufKOm/Vj.x%JN/Ysb2&DO-`?.83Ie u@b TZޔYc# Eas]#$R.Ya{P2r*jQDXfmP>̥:o{s+D*`L|j0CYu.Ff*0[0,d&,'}ʑ^@miR؞1~ϾB .FF/)K̈́vpP4qTf,8FŴzزQ:~|hјWͧ[QiݻA>\*T p,40,= ϸ=-T]풙V&$-k,[gXw$"w~վI }N1n_0(G+;@B목*"+#I%A~cm)E߲N/X)>vcb%uQRqNj{x@Y-GclO8z{~mxR z  0E&=5!iƖrt .~LZw7EktHDJ2V64b3wNTR$d )=PRgSYr-Yg|ѽ@;FANteKTH'VꤖpZҀ66f1NrťE~G7j!Tˎ8<_į?I!]LkO̧U&J4W*W0/Ot-k(`ɸs(X趃'^z.,fT ŵbYAE AL ;f%^&>j}dܢ< QP9޴4 Wů0DuAl"ϽSm NIm9ySp۝"TqU@pgYo8DxYvnAQGdMMZDuNƎ wb޽It2{5Q>oV9Un;b.4r{<)p {΃8O?0stC $7GZك1H{XMz!y<Y]4*`;;y:jBL|%<)[z +P9qxZ-$ad)MJk炫o6ۍcnDBkwoXA4-T-2^PJ7! sLh 흈Zx[{~NZQ]̹{̖ߙKx\a (_;;&Q5@ L'n K>w_Clyc]8x}:A!TavG KWX11D*/ ǿ0zH{ Kگhf@8κHTL22j_b`~:B>oD;E)XsN:ܩM_&a`]$H$+++sjX]ˎk*P[F\b =UdrFڱ~vrt'vK%K&تxr?\=j8҇>jd-C&8N^^1`UPf'l{8گMt]A&TqZAHkKYвy}o* W'ݏo  (lLGi~5<ML%aX^Ũ&VR%S-W{&5= )D|F8bLK r1NwI#qUxlNtq7:yߋ6*0JAaZ7KDCUդ|][1aӂq*S^Ny|Wq$IR^0X@8 @sWtbmIp!9]Q򟕅6@)vLBXl&bҙa54zN g[gy.^]9ߕL7խ\) ~tN| hYfhxx1C@],dQװrBpn B*{(JY!-)S=Jjhϓd1]36V bƊEM5Zto be o%X0T>f@Ǽ-{ 5y)fיzձȐNFM V&uOq`]nTW]+3!իWC?w8VLhU@Q_YeWK+.֍6bW`OF(z{KԵyGwARҪ9Q Vڃ VL 0^OIVrk@D VpcqPp}zd6È|YX" G0IbG1{"|+OTn zˋqa-\%0+-qbJI$-%SQhޝ[2wRR:g4~}D3mG7)L&=^&D$6l[?~#lt-8 =`1(O)ELR>,5!)&j\/aw:~7-805dEbfm)T'AVbZ [ єȶmEu#Wo |ݼsjvm.5V<,)F!hshh#E($j{~G@u/)"d N!L ,Ȕ[nvpSGwV`D~1' g2$HaJلblh !|..Fylˇ߉Ѫ0=[a.`ZW%Yft#Zƽ&peΉ)o%;Qb)N/h\dQESP%λgp!#&\fIMli5jCA[,t cN ի(P64JeA57ݙDŽCƌFHEW (#^0JC#ty]{)ʛ̣wYSδU,õM(qRV|N7ʜ+Ly:sHfz榸ӟLIaR]X'|&#ES2pN5A4Zƅ~ hȝ}9Is`"s'[3UJx`8ePoVyNةk)bҦ#h`L#27`vOH=E//*=̭+hڜzbmЕM&WgfXخPC%9 S!\TYrOf#wD`64zAVlny^յOVH?ağ  S=3"(,,D2OHUy#b@ ^eeS w2q |4C_ l ^qR 1iנMDIIདྷYrdƲV>)Ñ`.aU^^eP2h@~e0- O] t-}z2A7Nm4|Yrf@extzq土Yz3`} ~(v9:;ςzTlc":w~<*˙"U5AB]FtjHõ lqpX-gԌMUWg28 X7)g2#5>Ld} */lǶB#{;QC&kxUس`b9 )>o6 Q>7@.VJ 7z+y2^-WoLKnC{H`Vt.q)H}!i,< [i0;$,-GJkV'ڻSQ=b1I>upF7\$A8)VS ۻPe.%M9{Šլqs`س}sLBU ^xQ l V8< ͍j^I@Jx^裺U|+s3TI㻕s* Qr#7%(ei;n %K 'B4}dΪM1 >|KW> &k+A[" F8Ь[c(+C.Aϋ^ڍ;Y$S(|*CJBvy_am65t4@,_ޱT@Jl>Gu ̻a!T!8JyҳU(ݡb]-nI-Ÿ")utyD gpFm⠅жԻ)X(;o`ak޻4+h \ՃhRv!%p"b<GaGAcq~%*9 ەuMs(zgb’4:Ao۔mhN |b9v ?95p<Ϩ!6/5-E%U0WlwjuR'xx-pCVLKfT "#EIx"tFy(3hpm3)N>I/uLUH;ΕI_>{%%T~_z쫜?TnHl潉7=g> _g׆ډUذg}ȸ7h\鼋Q8[lq}7]jgk@e?@[X{(0؍&ptF\uV0 Jׇw wWlwzK.y˓.f/dCM|&zˁsZAOq٫BXSNK]9s Hֵyc,~:ȹ{T?}s*٨f5Jm5j;^R?/$+@[-4Ⱥ Q:npRkd^m"4*{g6u݉TtpkOeq A/=o, KC(= <Y[3tub"l-C q\!X% HPY &#򒨣Ox-KuH7V@=Uw8Ts,az\Dcl{dh^hpFj 1@j ռYu.ijd JĈsp?a\px]L!Lɨ;O،DHu-b^&XnVώ].P+>XAcgnmG`4V.;U)|$`(*xGை+Dlw0taLgݒXR〰[ bi#-AȬI=*^jKPY/Z[$֝ \kpŪ9$S-j~M`h%0`sbK:"qQXaUV%Oh֭Js1waOؑu~ɣ)tmZ)]4.Vh &`&w@;QPۋr_^tmBlSBz1 ?w|?<$">Gˇe^sVF|E3YXN KOE;]m ۀ^d=lRM 4)]8XK="1u)|[^ΒP럔 åDBKqt=K_-&DD0 ‹ty}QMd&a W A`wP7e6![6I8c&=z7C[KszMCK눈sӸN>'c$DizP8ΕB}#٬7V$ 30+6EynC! ^@^[Ҙ[`Gt1O(PWwOcIP>xHBHnG4%1ֹhݩ1(~ \ znK:SbNo $aU'NV%9 Cb\3 i뜉/h7*~=5OIq58OPN>ХG2YJx4ad̖\ gc0ʃp-`oޢ1TMO?#+yg+rD|:tqJA!ѫ"ُs&(ƴ"^ҁD->8l%AdXk14J]B~Xvh-OZ 6EbrhyP\d+2;dWfc4Ayjzo_kE,p0\3pJ[ǘ ǽ5RʢU25HG3 6(s[m_6~ x Pl rZ(7@WM([}ZڽðE܏Fu;,._gF5g]qs*nT+4O@&%v4_!wWs! T"犉HZxegG, wE ĹH8锨kܱW.(q_MVU@z D/ZJS;VXZqiMfH9=ᡯ> 2<e ܄ib>dž@lbBX{J V'd%U1epHC ML{tuQBFIy e4%1k]ɶOgv` "FG,RctiCh`Ktrl\ i4[o>і+)2?'ZAm`($ )Y?Ϸ2,.JO9xN>.z_eQwA?gr78g/<FL`6} 岣4qXIt-ZqHh}+EH1̩;wf x .d6?]mvɿЧ>|hnb 78oK~BZh2UH֔\:c7,Aw*_nHÝ C?Ey1/ec|իeWQqr%Rܑ;bW'$.1G3g##ĖFxhny&:)@r ^DVcGRد"y`l}rЌ.gF|4ƥLD]B.+0-1FȀ;wRfwqa$UD@mqbeNy!:e9Gei|rИUWA0,6ou ~ƁXd]˻&Xj_=ې'oHz UT]fȾZ^ɵ<&y/0v=)F[]n{G}DŽcJ/&^;c  1R48BKv64AhniݎA)J$9lDx;q_gpɬ6zw T*wX99پ{@NP`Cy1ۮ4]1#mbc`| D3R#'>dHW\v+3hQ{Q];ӈ kׅ2"RY\H"H BM wdn=P~;PӘBl罛 cJ&F]/Qz8xBZbjƢgTy`}6 _eaV-۶D` $oAEzPI)~g YhR\~:LWYCn'b z sulsZbJPbMUn'D="UdR)<ēE~rNh %)c_Û*}w8]ߢ =;p ,IRzo!n)AS*p*W&1LmL6iu| Պs6q:ehxڣ\Џ(` 7)(?%úb8y! 2+A,uAD m`D*"*Jn> _Ķ`R쐵NIBЬOV?}FV]\ GI4ɚ( !k\x̖53^ϵH^0tN%ٺߍ/ XAb"`f3FEw>־2ewЌ5-JB5|d"ʯZ Y[-Q~Μj= U= ?8U0@7;m>oF~GW5u-0)Z=ٴl@ۍW MBѧsߌe ѮVtlh-D֬ έ̗݈ H!N jиؽ")3-3|٦pY-VppdkjX=G1HTkqcޱk$mP~4юXQK. 2H+x )KA"wǭ=Qܸl0G=6A+?U6q(`ަ ~=;[M:{/3Nlـ(Jpe@?}0n='7;pv/ =TumVLKAOSE1l2Q f60 V1bT`JD1^#Eؖir1e$i?O 3`g x|CƘ NޟcE*g^R/y]g4f(Mm4E @t*!Eos_!@ sV$0> pXVn%p ?i_iMOҝX0'">bOq\D|r0\iOd]N$Q3c::F=v@.igvNpDll)N%`'lQ.xXKSiI+0gG CO*\B@1qwό\Tu(sݠMԆrDKpYf#4 Tu K7!E.z1qP.^҄NlHS5>a^y%-ޣQ\:Cœ$fr ]7Q(eF SOfFSEN~_w$ = ά7GծOd{1 ʩ"<t)ԸNŽ*`xUmYGlh)!|L 3MMM{=p] PRAG[tueEa$kG46bf&9JNmkg_n2g[AUi^xӁOO"cF~ez,&WMy_VY%:Py6*)q _M mj x4\qns 9pF9?%>jC 2aϰnYIpAN ,})HijPaN}lX@ܲR4/yylDW wu*h+m'|!X?#P@47v8+d[uK:9OO~0^ @"#$v; #y4mDBZh)KzkT`Uzɢ;~I( \ et]e^!D4SIy3c^2'y:$y{UҤOEFPUd8c>VQnڤV%NwtZ*y cw(ѬDΟo77y!_X/(&1+(uA \ 4N^KL!iDAdaDմ ݆&ɢe3ߨŜQQDujFQ9{+ٟ㈮-y,h +AE]{*MqoR*\ mf}tk%ô 9,Ƴׯؘ[G@4mZ(&^e~*ͨ6)QFy."䘠nH6̐=8)Km368Kca eK{vd}~{l`UgxC$VPY41 9lC%5!g+V1 2:#1 {xei}J~r _}ju1-z6 )HwՀ\<(zs݊,D%4| \&yUyOŀW^:u=8zuu 0]KM/?jҿo7V{DM`dj2c2>_|!I䕥PY2\װBI*Ӹ2@.5Nh-q}>㡝TWs;zPRoC)U Q[n0jY˳ IsMэ)utwI]pȹ[)6XGSt]妞 Kd:-Ҹ:͵R>[J=x/L7ɂ&clkt0½ORV%1'f RlBg*?b逕01GiT+U[3#6iB<Ѿ  ޽ N_$N!+5-u)ǨTiv~(+NнsGa5?ډ 9y((Q!/oRN-'U!SD0=Ȝ̾FbnNR (4OG̸֙{%-{rwiRH(AWѫHܰ``!i5$bkWC#?[ qBP{ݢy_(1~Oek"TEu)zb(XwvGAWEO;@fFgƵmY tNd" g 2c1L*9yNUrxVȶ4 bNmЮon?v],J:vJ-yK[aBC<Ŗx.cwd(ȞFHc~s F^z႖ !d'c@?}b-4b]8c+7nR|xStfyUZpA9 wճn׶f{,WسlO#HxHqAUt|(q_/Ӟ wTQn"&-hSd,I&ya4$F(b,\Aȵ`x:6-2[ wB-\Gma4 $-cOF-Vu _5=/Y S@{ebUjzeDo%|0p'|B BG^Rʡln鷚i9zh&Kh96Y,g6~oϰA<YktMRU5X0% @jsk! Dh$uj3tCLۮǝoh.ª_G1-ly?Ť]+A3ۨ+N ᧍,~ J7ָE3eoҁT\ me>֬Ix⛊=jdvgF1FLFs<|>i2Pt2d'xp lIo?y (6ΝE 3Θ|_ d5;gV`}_EHOuᴌͯ%jR3$jڄ 03,YWxNވDܔ>|Aβ-'-e#v~Ь(n 顜R+"(k<}Fx evҸ\ZTV uxď2e:VXiVEqd(eB8.P\Uk=4"4Am %9J^Je>#f.7܋W$[q=85X_Ы}1'iyE`TỐf]OG%q}-rؾ[Zø f Ҩ!Wg9UQM ۈ, 0I53ΙeS[w7ߪ@shҼ..y)Vsι$RSZ[QY]9 tΚGZ[Th,ֻ۞C1Pvpq bUkod_ÿbO㳃p͝ԟa]{z.<%Lc0hÀ m$m2T֤ rޭ^vT*vh3GfKuBh|k %Pw*!mgq4I/f cMtJ6x¹l| y10` C~" ?!aՠ柵X]]"'f)$;fs\L}Zy~ߙ E1[Ӣ sE~`jYe/oY?˧rݟEjU]| W0i 5ĝC^ЅkvP\"2Nt*RErLL;)o""Ia6Q-\<[954@S*9DIUN^z?-GA=wL1 g'෇"E2xfhz$PIi]%շo ty|3{H'&UzJ_m{{ǔ%X_ ZYxSH!DyxC'Y>^eqOk+\KI|`֠Fv%p1O?*laث;z`6߆yH8نEO=}B1SQ|N d ~Vܴ%&։6WW,jXWVIh#L,6`Ss-Id1F:R( P50tUڧmk/@DgUr n1 !žJ%ڛn_6:aO*9}# )Z5:d0lGT)reu滑F.Xכeh'CvYGީLGw"QdhCB]]zS}b"{漛}]GOyK|#Zi` V.X!R18(bU,4`IBfOs7> 6nWH_|BWP]v+٥wTvzr fŲDOQ 9F HsW(Xj1[/c.h+ݭp,n}LjGUi·k_6˟ ǎ̱+?|?y3: T$"R;vct?v2aPZdQ9 ۡY2s7%?&Ԇ`/IN;u'<(Ͽ##xC'@5~Ȫ9Vx`Cc[ݓ1wp"jj iɜ2<;})վ_4[gR~t䋈N`,ˡDĖ >]rxZNߏ㹛;4E>ueH@,,pYl fUoNA,/$,De{cjME'P]:pe=ԊK1s[nQ'` MXV6;Z;W[ISi@x'1#,L![-Gɦ G'k.HzvG<ζѤ vˣi*3CD1. % V_L3CoG e$i6sD.Fn#Q,H*!z|\ӯvl.s2yTFAS`ĞLjB.O>Fl9N}c\nucdJ؜xZre zp*/BK+ڳ˪k>@WAQOH΁">*]j0,!xy}I,$L]BDr4X6lQyQڠ.> Ոbݶ!k(\gT~f(*}߳IĮ!i}#>?\Aj#y|;1?{IqhKĐ5t_(QoBEƹKcی d>RPxC1  Hu9y5K09c֮dw'b]bXC8 >i&3Lhy5CD 7.Ǻmm EsZ_[^{UEy×E5+s ))BS$A4u9߄~'f:? OA $D瓌vf qߏ]j\LtJ`7xLp ʧJdlMݕhӔPF!73cƻ{BhלKk#N=Qָلs JEԢ2:q%[}͓q5mޯdXf3!w Ww;?+^" ąMxfDC["͐*c}lh@ye5( Rܢ~hGex?(@v'N8╮v%؎=Naɩ3.Hb(˨b@ک YuDY:Ӧ-8(8_7)HȭF!V7.n?O[E/l)Ezu J` q> {0bG?dzelKJmC/np1%YLNm(kʛ]٠KQer:7ǼE zn^*9hN@t %qCvr3-rBxapyN&{SE+ݲSOTID SmN 'zPFi%s,w%+PlF9)/1: ^O a Pxc*␲fr)X^aU\~<>Y>VjK&E;om9Th/(H=2hίm c).1VӔq |'.&\wB =q}E굍qPu&IwL~9s\ x9Q .A xS]ȵ!Yq7/gMrTJJgaտrOY| kd+*PLc_EdJh[;dFaPM>и&DiMtQDK8j[G룒Q,sy ŬROj&E׶"a1^P?; )t~H85RGrQ&$n#,[^]|P(t?2w1 vic1=> %ZiTEKoODKڴ,' %4)ݥ`@{n,PuhdVl850 &+Ό֦oBp1]Gׂ.%آp8N@h  ,Oq2fxԫc6UKc2L :Ρ=pď]P N+i#f:1{y.l=T0I{nc*PkS9b0/M5}R냶"1j9c7<>Papm] ;BU_q]ӐzըLf_S˷ qo~}ŻͧTD5m9wS5hگMHec\w '$>Ȕ')QG%D#k f,riQ'Ѯ!z9o'W!l'as۔z{vNRɬxFrlh#u8\}^`]1B#ם\( N{`׉ NH84Ba†/KPA+CRe NV1oـ{vk7:cI^ B w7ć,Dc/5`y>r@+BUu ;uS;EKjA:Kgeɕ3W3} á`bNm^0{3"Gry)Qȍ7!]"S@M ZmY%A-dF{$RcG.rr9ʇ|',;ECSq; nTpK\zFeim 19#IU^Z`Ϸ?3PFN\|+eܓPWmi{@'5)0;9V%E WRе|CZL`G>`X)Z9ZX}*p Uo z&&'je_\cl;nϲMħb `Q'|r6$7-\ɤA!kiI7&Isa,dr2u+T3v:o&'tP(%Au/fkqߑ 33NjgR 0QNJ5cϱy! RJÇy/RWexZ/sC%S;ΣQrdhK@jX_o!)t@JoCbx+NjHȰ "36Ec&q,ʈ&2(6-I5nP87: 敟\W"K(=m}&=38 _ ۧuR<D2pº(+/:bG wxTtqX ͹R =T;+}465!DM9Ƌ&I`"aD J%rFNۥJ-;VZ L.M2f P=8+%k-ܫGc@~Pp?{hq_yi-5c /NN=AE7gnI 1SWqo.2_ N]&I,T.r#ȶ"zcg{(Nr,=e$6^ 6Z._qp\%&!ҩ ncFT.16QewhC*beYN'xvr+5]ilk){!^wLpչɿXyJ[7d[(T&=9K6Z`T>NYQ90*0^\^M׎Ï@h|{(2FH AaKdÞe@LWTι 4J-:z_26k=RGq{Y۫Y%?1O} Nzɶ1Wf1،"Nl ֠WekӍ'D$3nố^\ߞh#칞l2J E⌨u)9dC#@Lsw9<6#E^Cu"5C'^S'>7شItAЩݑL!m,2^-fFHyo02Ay`5`%< ]TAp0X3 Իd6eXR~$=r,U`Yc)Gؔq_Ṡc5KVEmSd=czP}5΋+96Px3^!/Dl gΣs8`onqy- )s""rt-{G^>[nb&xg(ҟBX W<2p&>r5,cWBLjδ 09I'kpvl}at36sWeMDo=e(6f#{sIfa3hB.؀Y+-sZQt.\?"D|lmBΌ+=.F35J{7z?۸֑@6ZP4pDR7b5" _ƂvWrDѭ~>u%2tNR=(a/haq/.>ܒOZ;ִ) ]_+u(#lT[-Ċ䶨( ad2A( .2\00W,}3h hH9SK%Xt6j!@.]s] ''ӅwO4?Z˥f sp|,W-.&{ +kaUQ1I bVή˟>vکn7!f1j3+~Edym6Z&%Ϯw}( @!6}՞sEĸ9K̦eUiLas6Yg9P?ڙաT"P䇨ļoaS16÷j*oyKyu nit'+7k.`cy͊hY %, Y1@O8"5_U Z<YS!C]trNSZk dq"9-!BSޝ_? ؜vRVUƵDK XA,vߏ:C~Bt(Zhdΐ>Z Kpŝnd'woGIg W}+N N,5Ns`=1 :usgV*/ <ܭo͔rIȆ;*4ޛ<Ԯz|GVf7LCr c~:B.I3dҝM >!3_91W/TPP~KX+FWH1&zRgEOәK~57…hx73_mS<:%?3/W[Fʾ {6,zKqkן'p>{913vw.EU Bj]JUxFYӓ3>U確,լ:ZY~бӎcET7_(;!#7wfX>([3 E{{;HrNCǔ~a Bkl60"Sx\.E` D$j< Xnə5& ae *Tz\@Fj567>e4(." ,Xp4.#C]GCD5m:ShJɘBGZ})Y4Y!#:H' {`Ƿk݌AptR:}%?VԶ,vCWʍktx-o" a4ӝ+7*) D :\mדT4Wf|GAmJND\A2_`?J>%GlW<,2O'f Þh읲ywATYulRiznםupxl8f @RE)^lx#ohu6M! huDr#"m|*ߊNb4 rKfmgW-! e(A<0R6g02TŖM0ȴ7'p~ܺxkןٯF6\PtR9V%1Q5M^o #皾Ia J"UETTLSR/x93(nתgFݛrUM _"dX֍]d+*XKfjm@wTaM7m].6b&&:0qa!u'$JoB8a94O |w9 !qNӽI>ث s8[YuqR g߮YR)cn D!x6.K(/?7@%Y"yiCٻ CP}{ʯt#Ʊˆ$o3@!SA`rT:$zESr}p=*IRΓ Oh5<;zk' ~NJ2;/Ҹnbl MǼSH&oUFGaua(Lg~jXA5ӛ4SƲd'iӽ֚"^$UuPB ߬o2y# dtYvX>h;R#6%{[oV\16!QF@VI6aax2F˹K[=v[1%;Ce }ԡ K[HX)ͳNaf_? !meVH,َm+9rc TlK(ze"e]Tm|TONHSݧhy#j0';1&D+moސ(W@j/V¹R-8l{@&skRVOK1] `MRKSU53^aG>Sώ;~l Kܐ?Qg:<۲vČ l& L0=JKJ&BCB ˄D=ORp.r)m*. 8vJ6fȏe6ye.Ϟӟ4 fFQf$_'k]|pUfQ:Ts&[,V2C#<\;g;PMow_}G)̦^TE%ӢI,I ,Nx&`)Gl7 iP %%OE}'Pס;X(jkMzuq2H5Ezv3 [Kak(G(Ѵ?A7 &Q=U$!sI ,>]5_B2b!3ϣ:AcSm;ۉړ*o1/ Gvpsl6mjށC/>;N# Veqvp"h~/MuboJ#Ҁ,z>h`/p ]٥5HwH@umf\y|k۳=RQ}fX<i5ͼoˊ}uWtsCE5RqО%0t/+Z*Djl<Q/9yi9zސ$>`:˘Ne|8^pQaA=/q_*e ^>kTjwlImڑ?_X%:8 8:TG_+86w[i3-KBOK򔆏v WE,eRp[oARU!Êzε}5UD͡,pKwκP)SPI4֠B}_Xm)yq[\-~(||# us0Ixx<9bT澳ɶsYI"0`߿Qa R@RRR 8m h)?n_W +9Vt T!gH3mĖB9}LiC6~Aڏ5Igc^J|}vv&_TV012C,5f?-Մ{$4t6N$<pѨەN$K:k܁[#*fk&f]AֈtBJ;=-ꄀ9zRԨqI ]z*ࡅ,0P=3|oLљSs [g6miUrY V7rpd%!~_ycL>g#:*ڋGYq8>b_,#2Ę%#í3P4_ SHpu7:K SE[[]n<EETP,.rEcNMLYw\vkd`5鵘n؊ZP\Zcrh{H9ͼ?_m NՈ%zV:HHaRrS)s\༇1`ԂԌOܒTv8[=F}JRr݂Iяm1@\Y0Ҟ2 1 GƎz+cYC|p~.V3pIS1zVh R8U͕+Mهrdi!>u4P1N@و&pzڋkZq5?Kghd5C/zj#X*ȽvtBz"4+'yT8X?t2 Iւ8I/Z&ە ׋X H$ݤjC*'mOHY@VU\z4eю̨9LTmH{EOoƷKELa|At{4d<6[z.'̵i{ܽH EfSF2[([FhH1l]wR$p@w*``!vSa%ˀ Q̚;݉'o/,֌>+?Y C08\U$;z2s3? i#nJTd!gWsأ+$UX㱂/#qB چHPMwӋ `^*!}lșkՕt ~z`*',O:9Wʿ&6DϗEg͕m:,<%kuV_#@W 6Rиҩg|:[pSWv߇b-w/=+dQ/!bpvs~>9G!:Wbg`Ž=sЪ;Jυퟞ(➿n'x;V2havrUpUo5&VWK#\{=q:[""%0dz"'a?S(/;|^b`C~ -f88ෛ~I}kGݒlL!c9^aFQQ$f_E yE|yNit9'l: D@OXz nF4#]L$sPv<_7ܷIYRbfdD0J.suKll,FxɨQiAV1}ntVjt=SP].0;e$J-?Q0M3M]@<D@x9 |;fVIj=efK#>̈́`go٨\'g;4Q/5iBjY \oԊ>RIJYx >4#ƻS.`u6w {.ݵ8NNPbLdW&˝ƜLPp2[&7Aۃ^Ha@ cH+:8}H0?O4M|@ ED]x!`KH72KmHtϞr@;|Mm)SHʌ{A "K*8U>qC4!<``=mPM{奄,:$%8m9摕X-}W zⷍpqopp\'|*\ZZ؆ВP4d|ۍ!e-|:)C1Fp*9bkTV?,WSg_5[8UA!Z??D19V,_!) 6CDF+fG^;qx]dc']y~S%b~PޞuWj!&h'e#{㐁Ghƌ%prϗ`=S)1hS '3M7zGaMӐsoT#h(~;s¯.we.`26Кm)Z4c+wR|η ?^R`+s ǻAzf^χp1 9S.NmTJuXܙٞm':.]~CmfR.e/_Tm%M&P]MH_K7٦b9fs`*1cq!Kg~߂VT_`?0A{*3X"1!&ufHN,fnǎ gy˥PZ~yg8{3QѰ&򨡟 FDJCN|W9_3c/.[7)\\4eIЂg;|oC43fa-\b:wXtu>#n`%[{gsgR"\G}L6xIMc/c/%ЉX@ -32Oln ٣^UaO= xwٞEG V=0w~ʨu$B@_6bl;ZTB}Y(񴱞tN hm:'Dg6p3]CQB,fB憼X+mSN;J KtF@(N#HKIMi$Gf9f;_^1HخLEm=~`)̾+}byTy2j^aTliY|x w{:NO :ɪ5 `,Dvո\:gІDuD]CtgUiFxve:'bt$rA /^jQH1cz 7~FHSCh;c0Qf_7T!B,X`+)ܺX N5JGJ:G#:@d({xŽ6ٝy}t|JaIPB#o*$H1 }oO;w!Nݤ"E7505jD87 |w@"Cǟy4x:Ҥ^S,4xl? Vǿf)֞ >! /fÏQ0ƣ‘9sn,kuiCF]Za`4٪;s#;e{&sWe3Dd =(ٹjT˝ɴ$ dbiwEzIքtin.풋>stYl'>j´kDc Jg&P]ˋe1'WA P"IJ7Vx?I* 7~YDMo3{j)8ViDž~XŒ`Rf"A*= 9Hc3DXC hh@Q amk;켖9Rr8II,M!8W@gZӅwG&N|0Y- %4塭l s#챤hUOxc1KCAO?NJ"pBhcdpT )&:/ fASsIY;eHE}Z2EdCJ$Z@Ŝ$1y'4A *pOc?ViWiY.ȫm4=hHSO}O"VWǜN5{~hkl\{|b15azQjmTP<q+ՙ4޵3T'!DPYÈx ;tܚً $g:@TYjZ atJ"%"ݪskO:HzjW7v|˽e0 -- +kN=[~T_YSd +(V@#Uk  Vg'nR柑˟&$|ôR h3աV^6Dߒ8KUU0?dn[&c!ۂ{7_3:M-Up,,pbFz^Q[:dY8'\k GF&);,6$出Qt27C?J=?]xF]4씭v EQ2v!1d]t\d\Bjʡ7`Y)"ĸL! }#):.Aŀ3H)jFU 2Q0O8BДֱ Xgjyl!ѦcW/ZW=إ1/tBES}A]ُ{bA>1c$L3/M܀i%O.~s6]Y{k;̬i"q0&tBb0BIdx+X X<_n~S//ӌI+sju#VAlᘭBe-e6] VgE Fv(<FSځ :$sQn_0'^(LuJ(V~"=Y$^I?˕buI,3 4 }Sl+E״Iޏ-D1iJLL]52؏_dUߚv"QB`tVH[&s$kLdY;rNb`Q>)A鰄.Z׈ɳ 0!mdD}C E_ @?\05fhn82'ٽ5j/mq ͐-DLkğ/D7/SXj*tmuW̻ǧRf M E+.?:ugRm %"5EUr8l?fxAs Oq-#--'#ckZ1f+2Zjs< AyzQQqR/KI~ O\N\7H]fB+?JByo`@??6DbL  E7}E<{\}:ch"=0]ͼ(7zHp-Zd51MNqK謪I~kf"Ù/Derdu}JB݀5M{1"S5sji#tv`hyvgX>d0§[UPz͑"6mop)mn^_W_ m &?FSADXyW|j.?7uPΪ!WP0]28lepO2 F69( ]n^#?{^#K\kCm?/Hl[0k-xھv >„`B9y7 M(tު!MI"P'H-|hZ $_W HaoAx` qzql^y3[^fMZ9*#H~e SpD 4ˮ:fEj5{DmKHUI@<ۉwM}kNt4619tj. vn+lmܳn9UZ=4UÃUTlA6%XUDMK3 cT#wch(>"GӸ5ƛBڪx-@b 4 T!M6 8sA/q>!zŐ?Y{GT{`Tk@# 9y⤢#UߗNЂ`cFDr'а2Ls%Q@f\e\ AWfyE#rZ`JOeh37S\ Ve x`,1:)zT ̉`K}EbSݕ۔כu9\CŊ)ѥ$tN08k]#ڼ}3Hg ~0!%b $NAdV& :7u%x aXZG谥 N1/9WYyy?4Z&Ak+"6d^3BJ5 $ [Tv)7/?~v>S./qz^(CX3X8`ļ&s:׫j"r@ޅ`sJ_JIb҆ҭ!=p_hqbUɓYH|2Upθ?E7QL3.[H-*T7 4%v?,$M^NR,*ՇOd sMITW61hKe6ӰhXűQ_FR*ɡ_nCF:+Un,P0;fMWYqM;[0kZQ\7hlgmQiJhO{7Gb"{ft$Uav rus sK+6 `D]ba4K{ӇϼV+87큯6e&i@f7Za }O-9\)l@Iz(8BcOɟ8'Iںkz8ٷCÂ-L5 c9낄qÏ2*QzDhkKm+w҆MT. \d8v1hٛ|txXAQհ_r7M:{guەB:vuoa؍Z3ZtI½Z|P|:Ŀi35 ]S&rOYO#8;;n.n{W@iUͅӁx :Ϥ+,FIVz,;wj4 0ʔ$$r I#L֍c/[Sc1JXfZR cDwP%'zFdFB~!9>4^ta'>:dvG?B_13>{'_T]754 xe[0Y}!k:1awáASa,Yzb(ժ)C V=8hl 1/tKDZ{y)LXZٽmf90+hBng 3xU_C|..7H(w= 2e0?=.m}BYP9)h&IHI_Idb:\YEA:f^F.j+kԺtG(wc5G췟#v`W d@պ/un6Q0*v W$=A8|!@2Pݾ+ۙ.H as[&Iq O v} DLDN;8'dAB"It/{U$IS|dP iC__ulyRwt-hl&I#,Ĥ+< tɼبmfwοgLM٘D`RXmyD/Bg(Xay;+X/}6QjvA3W;$]Kh{S^&,(^Y`'EX<&uErVƦUeGMѾGRSFr~g³XvHwyTm LJ+QʍL+H0}Sݍ8_CChO,bA-j*Ӕ6ӱ8Az7lkaK^ ;ʆ@)OԨ HL+:NFD>O;"gDf2AsGҋپx`;+-bqQNw _^R 2ʦDT)-?d.6:Asnh94,hBF~@`n9Fjݼ^;ўҙwP  3PĮ>2ݿfwIF1_Ez 5.u!gsBr.>*J=T߫#~1,sdܸ~ [,ďz2>Y9Mw԰XŗG)b4{;u7hW< F g}=]1bD45jH[V$C  jl&[IfX)_BAIt09 % K]veo !rGZ8tqF}cWJ/aML)]r Gw\Q%\2ial!gFz+=oxJ*{oռ=ikxsw1TIB"rONog|4p,I6Aڠ,Xd*OTR[^gc݃Ge%6<:D;ND9H́" =4{ӥx- +B%Xfw>Eoal3OjV6GQ%Jy5x Y+`lѻyj?fqu(u޾ ^&)APK}]ٰMxðw4Ze@Q*ΜT ˂HkZݶ3Tը)ap*4('%Eb[SɌ,} OY4i>˾U2:ߚ؏sN+%^4B\Y^QH"J(XE$~6M{OΗH)¿'9!JX/ H`FStuʶ8۔GN B[`8; 20z,~j蕤XM6Y|o=Kkdp!U {\q2_O5iN (ٽ^#h>(2GwX5*'s%;VmpOU]pX a}h^5#خQ>g>? 2yxi]Lgxa^Y !PΒkZ:C35嵛P^fdt̎qÝCU"zlK:}Z=Y8RK`KF- Tzy|VYwxMfnZɷ!?"M(.4H)= mʚuѿ}\XMH0¨A3VmiFK.Qd@ͺ3\a0^{7ZuymL}8վ`y ,lqHl`\yrU8]J[*qOz\GJor> F8IZk'T ë]>uy67"&+L4dcynHEnfM&ŭj.%- +`^ ,",H_ɕSB[A͓3+/gA <χN~\?=o=lfyBeO-]_&|Sm  l2Ųp8*n13'72 e#ph_B*a[4'g B䚾3hH VJX_11ȪnKBBlL^,t\B(5V2s\ms$R.o䬭cX]e?YzaW]2!{ӏ>Ez.Pt-YK?_"g}T#qq8)Ċm+%bZA90wvYW@ALB {$&T.Co9Dtk0j+=tU=;|V)֥ƑzBx'ݺ& ?yrMyiK8:cE HuwѢ[b΃ϹqAa޹S%"]N!T4"Ms yfA˗mġiƸ.r 9$O<{kϪ>Dnd\R"⬧Fk:M}AWؤ\2CSlX4ߵEX!}eM5IS&:),|8`rUPy 8̒9OTţDRr XH9Yϐ&r kO? WpSC#%|bWQ>sT-bdy}9Fi!ް 6=OF hFSUS EёxQB<(}uD)z+i!}A4''t5'_${>vGx+_e3MĪBM4\arhI2CtIwqvSN&%n׏O'Tg싮dˊMύo׳w~=bd"gt /_}%.tYqQjlVu>=mw +f#ʁP)//fџ;^w& >, PŔvC2>$rG)`9v{BSE}_>ZZ,?{f֒k,[6@ψs>"ضɪ)eQ⩪:G% =5&5_vSsxlyObK_&DԴ::YKdhvB2^Nɞ@JJy CMōέ%cgy(]^˲P ֟w׶za7MNTʙc=aWq.B4ov7]wֳr ˽v :Xrz q7;Mf Ui2GUv-a)(vg쇳<.k.KFl$zxӝ`ک>r@cXmIyH2fQjyK$-'5מS:7bhnT[?XB)ջ+V0诙m{hD/^𩞚b`-3%5J1O7v†JPK*3Ck 6f ]JibcW7܅gӺZA߸ pCԥUhSezݎ_v_]{$NL+PQ]; ¥PYsfXͣG\|kC@94PP <׾~r?]U~pSFwJX3% M:3JW9iW-bat`3WYĺw*g{Mdxd%$c{̞mu5TUS xO#jɢbXZ>\7nUwf"Ǣ-8{&W*ZL 1[ʜ(=9tJtvزWR,rAVl%']zx>Bˉ?_`1j/SR Ф0 ,rSRUzœ`69d*}$HJuÕf5w:$oQcdcKC QWubK4-f,gXƚ{N@{oѭ>[&M铑̈́۩\l^J_}oJK>hݞŀ`B%//E%c޵:,.uIaT!ٕù}"Ѵ:bSe/5IԈy ZakZ6xnh=:^eUrhjWny3p{&Gr~k.OuC/byAʳOJ$M3Z3UY}`@:R Jb82bE]rRP=Кl}lu<fms%+{<},MafELfi^B) Gi{̤:qM7UL(Rp}-?;e߿%H}DPΜ+I3ҺFdس_qq+VM1= 4jYĕ7},~ 33).Sm(i1uw~KrM3f=f7N Ko -oGV_ e`حbjs(y޵b,X z_ J0:mF+VFWLe.=QH"D}lņވpUdSkP@IjQI݋0WVvͬIpICaԿ wIwWtk㸉U} Vl 'ƮB ?8!+ʎMˀ/V՗=ɭ&B~u"G+xlHrY@n/_Pa `+  'Ba{:[cV̴BK͓{BhV<;C4z*#xh¼[^]f_{u (gJ3' #UXqT\ʹU2RZ{":1F!6Mc%1 rZ=S8nk7ȪoޯsPBc3s%>ozWn@J%/ 7Vp@C67 B&zrs{JONpyK\,dR.ӣ$FgSI|7zomQҹu9&\x< &.\UATԐ:cSX mDW&H;4J2{ d Ga݋wK >Q͙,+COdk &] RF;9 }iSڥ*'h,plrD318 tQ+S\ Eq3}YD8p_pL|O M `w~AxpU7esiQpr+Z,x5[vtCv*FM2[EEl.<8[qOhu2Ǫ92C~SNښn^K~!s51E(Vh2g,J|S6VepÜܟSsUYkI6Ts;I%xʼna$O4y ǿqI}uj_t:@R · -U4zTrh"Ŏxlyh #l Ut&D9\]`{[2?{XHG6>Ms!~ږaơE4$VP5튆7`Xfhe*~0٢j^zm9fZVth(iL6^c_HHy_.hOokԒI.8{{/cZCM5GElK+MbF۰[u=kӑj )|"E`pA =%~L/{8)V6#e{F`xR\V).[(3X?sA !þ삎-(t 0kD_"h|]KgP[SIz­ ICabE$Ty?o#J|%Td?„aI.( ݗ;'/H~'c\*J{ iIk/wʻEЖj:o?Y*T$vy5Ȣ:g{+ e$w=2tFll2אW\vp;2DDZl9]ܐXeǃh Pi}݋3x$gݣ[P^"A 1 !$W;ԴJWSY4paګ gžAeu:45ōWYvTUh&}cyO=BhRj_:{7]Pp~qԯҩz.m$ׅh#Eh}ȋeiIJN1s-d^b \3Y4tJx;0xR#@8BIDsjsi{u I˹rTH=yn6OG#h2% ._DOxzILD96(h U`J@gJ)!?7DPGV9RÎ &c(C;6[D[RFi4?zbm 2dULG1^)fK -7Ȁ_ؘ5uԢ[t.}Z+L 4锿G{ΈS5YAyMLz8Yj7UEh L\/MxkHLi m;: P Bl:[5#Ѿ~y PCkƅy^h@%6"B>똈sM 6S!n:PǶJPmE( ¸v =Cwnku *|X\KC}4o=NKy#h=GB1t1)TP[ UGuث<VLJ]o Gi-g=8{zJ_愜AG^!+1{YÂ,t/ g'R18A|uq"EIeKbɟQ\:P<oJ*N+ʵ͵=]]:üP]bÕC V=Q*s߷p&H!P0r _>7prՅa4##LIb$Ń=`Ҧm.C9PZ~)ab=/3=m;ew\b,8(+_|R& 9<&|A"Ao,8n|,t>/9X) *Wb(]j>0!8ʈ\.x-| 1+pqfe?~+tv*!wFXR:ޥ'|>9T'q1:DF-Cۄ-|a4.Lx){l&/>c᛹S%!zW.M`i%W OY21e|L%{`B9 Wfy=z:b'ՏCӫ̞G'w4T]Ч5/ ¡\cIR]S4?tOa*\rۚO0B3edpdr^@ Ql j-#h8Y՟J~>(cyns`]Af^NAՔ3HA'KEG)jFG<ʲ'9H[XߖO'I״^OL4Y^5smNʮ_엂bM %7[mN«Ʀ2' [լqp~p8PܶYbwQE$u܅oWG`&uh &uN*wKY ɽ>p*3^߮ 3Y@=KTX[A7P1<[6ER]?ĢkKx}A @@I,rxJ'0GÍ46{0޹x]fyp^EPYȹޑoE[B+CpB*N ?ϋdSI܎ew*xSJ'xp`}3> .Mt5ѼE@)߂6wgJyìaۗ^v;U} Kg .?ֆD!4Odj-(6d0\ g;-fE,7ac$TہƇch`cSBeW“gy%hnd]ΏdbׅlKkvUÑb |kn^L0d)ةQ -] DNn.is=]A8ugyC`[K/ }E"g8#i2{v1:|3>AK;z`vGj lI&m!Ub+[ÁՆ?Ens{T6~螠 `ƁIZ UOCUC!Ak'֚sl9 UK (kB"v*Gĭ'@ކ#Ջ\Y(A#LAk.#Wmڄ"YD!q\{pr?+.wKkoDM"yܟLD-[27J?<ݓ*S&ku` "?1]e[ I{ Ju4Y˾|fX7WGe:$1Ҡ.Or?۲%<}>[S@SX-wm*B=ߨ䨉j1㸫Jnjwx]y]B5=08. :ַ^: nZz6yZ1rr[$5: nVTm3@Uu#8Q1'Qn Z=A/uH>T/ L (z4E/, o"ڢWѣMũ/2⃻)$S(!ȃ9w/Vy(u1J+vN3.A@cCL#/ZRx|ɺ % BVDz;k"Td*G#h)l_f0EpZ] zɽEs1j8~uK}\!u8":\vjQ^A6ar Z>k𑼅әHfy?^2qhj?;H?"Z3O)@\a)Sr F.\ybN!Hݪe`ZeoUsHwb-ՄY"&%_U%w1=5kOlt!XƉ,-.1,7EIxhMN~VJA.v,'ڇ֤1o_\DC}&ϒ=V</G?K@P&Uz(fۜAl468~C+vi@ (t)-+*nVt|E܅;*؎kvBr,w"t\L_h"w*"LD,#{S0|Et88m/Ph(PMKZe/T!7 bh}U V7j;!jߥ/Aԏު|++,3T(#3W6/+;K2 5IE֟«DTG tDd+6fI RηRގkO}}W#aHi6?l]r|PtQxJd6f[A~as9%2FV6fL(Z^w`RyWI0Yi+IK6lZ|'b ~~'h,yWUot"PvH|lq]K8>ݒ)q#X58%`>{B,GDɯO$fxS& [9MK&~o~zKA–i>U^wT^g)!zE~z Mp[Y2]W[^ Wսћ\kإ?(Kvh5z_n-5o˸8qnj zz)# C'Y!iL{uYi}VOs7,`z] E=p>ƇÒXKapE,i'֞ l)#]xDµt3P~.{9p78mhJ"f vSm\*]?\P57x2xL*8Kee这K N20ƌSYyxܦ5]id#*+ ۖ$*%&A*r?1(С@{ul64/|D x 4NIxF Nn9jҒe( ?Cvan&kdeSˤz fH!2 P.`+jފRDX8i'B