grub2-i386-efi-2.02-lp151.21.30.1<>,"<_/=„fjU֪TKˡ_jEɖp7l}+IYLԏݥ"NbEq:^G1}8JLϮOHRE|w`]!H{'Ud"|di]vRK3K8[I*$L_q嚟:ܟ8lI<n]RkU\c1Lkׅ1I%ʅ 4.#77 KV>VQ>BT?Dd $ Zlp| 8       l*Lɘɴ  ʅ (ʰ8ʸ9h:٪>tBtFtGtH}<IXYZ[\]0^xbcd#e(f+l-u@vz@Cgrub2-i386-efi2.02lp151.21.30.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 EFI systems._cloud101openSUSE Leap 15.1openSUSEGPL-3.0-or-laterhttp://bugs.opensuse.orgSystem/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-efi; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done&, 3X\w>@0$ q MxxhH LqXE@Xyb <J8c>h clh_2 Z"\ L1(0 zp<p[0k W JD `M-6(da<D*O8] CH. (]<<>C 4hdx0(OL? *Y>xt A=p6 d: m$l[]Pb^ Pc_ɜ lFpu 8XB7 ݰ>YF@ : OPtڸ |)P\H <L8(5L)X5X98D6X TEp01( 88 86003x20o zg, To8y$3R 5 a$hT0X c ItdFT FP\V0< h5`#DG_p 9| (R@ T Q$@8@lPy MopE JGG@WW`0L,alP( Y @Z$4L'P lH 1T#| (,n {lo *-r V 8a adT\0M0T}8s`RY<UD tam xLD>gDt }AAA큤___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________2c713a0f3e646ce316972c726991c68c40d6edf0093f40aeb02995088876cc0e8333d9afff0007474f47abfbfcb541c22397fe89cb0ee11b1ead9c1d3d7dd39f39dce7b7380b3b83a559df5b821b1ff0d265cf3cdd002d57d0230672c09c5da5a9f51fbdc3d632ef54d3525c783a81ac965c1b50c1ecd8e69e6a0fa68bc4399f7fd72a029c2b6bd88a6cef70ed034c8bd90dd36cda4044022159bf5fc9ce01f7e7e695249662385425e094256f84ae23fc11a4556e2e757d5e13f0b3ba92eb2204d91b3ec75f5e30e1198a75ea58f537f3831ee3812408842c992eef1676bd9a7290109b91c81efa5bc1008a9a4bc704fb419aecb8f1358d8789baa66bb89733652e654fbca41a16ff71efc71eda019ce765d24241d7bfeb6e6d8746727e0f2e0819567c745bd6c7db18e83b60448fb233f409c25599f48a07cb58ae330349fd3adedef1d48c40194151765e374402bbec4927ece27b1600bbad0b5d9a7b0146e9a93d7af64925d5cd406a09af3c65c3b3422f960c30b5b9d366daf512ad294eb7e5e36fc25d7cf4792e13bf1c0acbe007818e3324c46b045c9f9953e67b22322e95a9130626c614e74e2cf76a31e6f15b93d339c6c98bbefe3d9dd590d807b269461915a144789dc3236e9484540c0d7b1220760ad919e3b1c89125b16295930caf6ffffaec52599a6681d765e55dbb447fb1fa38adac662a02ab9308424f77ffa76dd23c2f07c3360bbab4fc8bcc6a411dfec72675c2599707cefc342d0953f509fcd602df09553afd0a7c6b0b3c9fe72f02b18c8dbb43a903322d7c339e351af2ea9234683069cdbca050051af6d7e2690f5c128c0ab58d0b076daa6b146465c3c46d2e2fa826f6f64e8bf2201549525554bd3f7991e5d83c19607bef67b12aa0d8e56fcd51ad03cde0850eb278c6dbfa98b2c4bc06c0dadea3425d4a77f6ab244aad6682e4042958a84046d4123c201137b64e6f22cd4fd5b2479892f35c540911af5c9ea1126902eb856757b4a3e5dccf7f8f0918e796fabb2cb67540760be0f437c185403db6f7baf8f7aa116b1f4ede7890c62482879615d337a79372e8b053bfcc575bc6e420dafbce06aab2d132f448dbf0fe668ab99399e429315a108b4615d547a8eddd32a7123737cbb7360428a850ce200d6c00316952fe5a955753797e4e2b6b5440960d6cdd258d8bf0dcbac555928fb41b28ed1ead365d21c6c0dcfbed62d346acac8b6740acab0b1b2ab306190e326f637220d37fadc02794643281edeef97bd0718efdc231ef630578494637f0bd17b7a7d376618e899f1db7e44dd17088905c80dc12a1df274cc59ae04c48e54232be94151c9e0922709bf04e178e9c64308199c800cf2ade1feec2719c7bb0884abbc18fd2aea92fbdcdc628e680f184083f237d813d89a66782833b1d6a0da5bbe2aa9012aea021e25d0313637823e6cc505495c2f4a1be2f183f041b2e40d29431639a48eb585b529796d2c86b3d0553480a048f3870eec3a185dba78a0dd3fb2781e1073d7291b9b0c19f102d909186d3e1d46bbab3c8dc88428de67b7ea520c5c9bc256d3e49f013bf58ef94a4752f6a9b9b4bc6d40907407e4ea3db46e1f0dfd2e231a11d4d5e409fe59b8a0fe5ca2fb52d7f661bd3bc4cb0ac84a87289250b98c5dc2c6a2d8be1805f3fcafeb200f8bf9a9efe0f4841293344abbbfe3616c56c3830f347a005db1fb6ae5338c0b7cfdcbbc9c2c0474821cad9b413059e169ab01e134adec6727272e7165faaa201edd6719868db788e434c92aafd4957589da24614d079843fd001d9cdc72485736b2ae2ecf53e8018499b59478efb9479955d0202fd8ff556da49fcdb781ffdf6bf521186693f044511d507b3e518b86b55c5f6bfd9bfd879400e2486d02fcc983a7fea7d71ab593a918564bc0e2c455b016ec57db7fcd4006c5a2b16a839427060a4d11957060cb0202a4816d6a25fc46d58766fc04003b833a7b3e5af88b6d6e2b27567d9522f6f0b397a86db49c59111db1690636654d29c61d96d3ffb24f08be62cd2f51ff78486fadbc7acef613e1c773a7889976679d549ccc66c7f191d5891da153bfa4865290976f0b07149073e95502d1ab51746900fc84fa6fda93df2ecf8cd0e85dac2f019454c4c5078dc05c8ff06acb4a517dc91b9d4a4d1b5394df6c8ffc90fe359f93089803df3c97d9f2747081666d3693204ec68facbb8edb676d8e118cdd6b8ccb2b028df4b2222945a62c021944380e5822c1d65581f5cb0e68227f322054581237ddafc83c04aeed293a70c71f8ba249dbe7f903f1d1fd783e5152f548c5bc0da7d38d4d627371f96182960699df34305513bf22062ccac4a0802e995a5de94cb71d288a6e37cc093ce974e5c02d12b8aa20a9cb6b16d5b2062fd273699d17c25c546df79909e4fc706b8f8549d7ac5ae5f2cc0773f323c598a512808889e0460c2c637d0082492ee33426b553b05c4c060aa885b1ea66d141ccd9b78324817cfbdc88aded987a8ead7a7190a5213b839fd2c8087960e5042379b1d3b78a59b4c7965c81365661e09a1a0a005c66265106d25cc99f8de0450c14d24e8eac97ff4a3ffc892189d72bc4c33abb934fbe9b17eb635d8e4352446fdf1e37cb85a238ccd7c11bb7bb7b457d73ab3bb12bc447cbf5ce9f2a7eff592ccbefba7fc33ae726a0d1ba36d142fd04eb5308c7c9c3aac69e7a984ff4faa4b182535a99dfdb31f07957d82a0f30fc8405cfd6ca5555dae1695eeab0a3e3836ed983729b63ebc8219234ab05e92753a9b24bc4c877b368b5d1a452cfcc24feaee00d891f109e2f2040ef9bf46082fbfabb5a55a9af9b74a5a84365f632fdbfe818ff88a68cd4a8ef5a947e2be9990618113df948183d0d5baf7bb3d9f042389de4ece7a091b57372c01ceecf22769bd223e39dbd681bdaa5ef8b6c581437afed8f2a5e52eeae50272fae196a8fdf468b56e4b072d085b3c09fa4328566853762027c6b5a84bab2bf395d56d60e89c33447f0b7fc97956368d2b313e616328b534e4ab05e113d9bc875606ff56ee0358a4181c22058c5902004f784297c7f2e0a8b8736d8b8106b800aa544109c75ed1a98228ecee22fddda88f788b64c162322a6c4e047e1977cbc5b9b7fa1d80918683e23ca61bda58867191e7469d47d6b8889705fc144aabef0bd6848456578938188e15c81896654e845bb02c63c1db9a39ae04d1d6d5fdaa481a98694f568893e3c73a4593a87959d433f4aeac5eb2a2c805682a8a03f9f37cf714c135b715f80d7f0fed959d1b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc43c338565d6d37d3fa33afe54ddfb5606e4e530949d8eb620473c5c2961f527a652f5619026c05d0f06b68704dccf5df1d6e202090bfef02f2e4599222e0720d191a3628e646ac14896164d5ae4960d25e110295d3f995303110be41b0a97cefd1914fa560098a91dcb9cefa993e5b322bde0de0e70eb284b303263c21f06ee0073ff0239dc2eb171745df8db272894a407cdbf230a3d11d38f97f7318ce97dcf88e4731b86cb209577f53118862f1da2c7b469001c2d774f79ca84a83e5662872167e10b5e87bd95a1c85f2f061b0df6bedb18c215d5c99d5ed79a227c8af0c576e473beeab4a085662dc9c9532728a5c8bd98e24f7a13db3c5f797efe37d528411ee0e18e759e3e1e2ab2af460e0b97ad2cd35a65d3bfdb877cd65c651614a31d0b6185729cd6cd59146953332fa60cc6ca482923640af5ea64d98c732d405db19843527795ae9b28b948f60857a29c314362d2712106fce49218915998a565b1fcd2874aad146d9b2475ca4fc8253ba31317883ba3ce01499800e70029adb6afa81d4551f8830d6ec70efd8716659a998aff7b0c3cb92433d701705b9f64dc2a81c4e35f200583e11507e3944a378ef831a44630d5b924ee7900584d11ffbcb1f1e8432045cef5f94f92972b40ae804359228917a4320887bb24f5561fdf3feaf00bed9f4aaccde02a256ffe86e3f97b6eb8d92690ee264c5110e5ad7b7e912ceec2d865136ac65c3b5cd1a89bb244ceba9132155dbb5755da909bd5c5f6c52f91ef7ce3198d109d37075fd012872c5f4daa3eaac776e3aa41ad38b842692b1edfba714603c8a1332417eb1948f43bcf03ede0698e9ab7e67739b4377f469010b2ecb54c5f084f81e1b3ea73b39dccafba081948bca73bc0755e5bba03049b3bcba7fd4d80d230b61cb27410cdc8b5913e0f7ebb795584050c36bf36b5aac9b9d8fae551dfb2a1f2ccafa8c8f41606235e1fc6995e23d71c2bf82db57ff29163d103d768c0d33e40022e2c99312ccf425a7708430c5b06716083de0907dce83018871846e135c489dcfbe3ebe44fd500161adbe449c056f5d728e8c0081effb26d97014b5ee6153cbab65c41de7a5b24209c873d19d97893c9a035fcb2809cafd42f3928aaada8bdd6059877e3363c62067aa0def22bd18a8087296ccae5a49b0fb83c9418d59bbf1f281130e589c1d768d63e4aa22e2596687ab00c696b41a6393eb7784e6f6af6c1285352aa4bb00bdc45eb4edbfdbe3bd1576bc6677d6708481d65b55963ed24c12f184ea24473fcaec1d826e7cfe47a227edbbce5865d2e06b56064d183a450f6fc7599f56e790a03959b3bea7896e13676b83abd461e024f599cb2dc1a269e383eb42ce64b9c9efa7f34e81099a97d3962e245a7381188d4b631ac88dbd1da53c80bc8ea48affdbbe90020517ae0c91af72f0c8e6683ebe59323e953ac47c9d482920912d3016e62f864107908ee2f4e95d515897859168b1080ddd69a70949c40509f4b2dc520f4f423d8f3164e4d67d6fdb81224ebd9499f5444fde9431f71626b9916c252041cbb98285d1fc067ad437f9c923de2854d29ec05b9c431180d53559c28ec7e2a946bcd153b127ad8ea26b9754649737cd9a5b558bd5cd287aab17a802053d3986439828b5349a0eab404ba6aea3928ed99b34cd23d1d3014229e7a8f5f21c5040feafab34f0bd8f51b9de621e7327a05facaa9e3c1741b08316887e783d84d860e17bcdfe794a50d6a39b97d516aa3796fdcf6d3e2683d5457ff2008443014ebc5857e4fb9bc423b6cab8921f47f039f4c5cfd7ad236852cae29398f9f243f2d0abe921fe221adfdf8b3caec475681962c4fb0abd31a70bacd0dde6e6066b420c3a0773deea78e028e13a006fbc2d855aa2f83986073f0316881c70d034436018278e97e8aa62f3480bf3908b298e03d5865eb409ad1f23f29a033ce8be519442d594dc559c0efa61d9d8e0a42080b7fa316ba3129f412e5e723590f34611a399b7d3811ba0bd1a95cfbd673f755ae7552726967e9aeabff409e3e0a2e5f04c2954ff8e5ae9099454078b462bf81113f1bb01735d8b6f8115a1101c555f19d35f83d2830b9dbdbe2e9a119b4bdabb608e935621105f5f2114c3e602a5529902dda9e3967880f0eefddc59aaa969a34cca2b5e2e12a6f287cfa87a3942e889476f801336f0b533ce2f96ff2d5edb8c062bbe11ba2fc81745363caffb7ff803f37ea9edb7ce08eadbc6d8fa4523a47751423850b7b43836349dd9cebf22a30165ae88c39740cfa6687baa2842f5b1d2f1c8117a0278b913cc4797c51956f5b0bd33b9b255f4471c3469903c6b7968f48425e866a5b7fbc30145b432001fd13107434856dc438703767347a3d15135182a5731e14a96474e5a2041a5212ef67744d5f47ef16e9a87feac3500d508b35ea68630ed70f97a74fa7991a394fcc571667528c68bed6a4785259c4aea94e6b3f7b8ce120e41a37e007097df5f745633b8b724cdf05194a3e305077c7dae6f51b7a8d287c9ea95626e7c8367d04f87827af125dc3c05e169b78fa97361c2c05c18d4f4b48ca1b7b26c7ffbeb48069a6e0dd66ed5ff19299f8bc853f4324a00bc7f49e674290325ee0a73f1ab03b89f59568eaa2f8aacbe0b2cc76e705548172d8fbef685ceff5c1057bec912ba70904b091c157914156c98ec2a9f8836865b55d31300d1ef018aa048beec1dc8e1784741a04f2b99757bf1906a1a0643c6ea48b26f686a3461a4b4f4f78b27d5818b8166a9328fa85c830877c93aae74b197f92c89c24522bceb3da2ef04e6a5eb7bb26aa96e86674590ae5d895d54693d6e744b41dde39ba6d2e6d844df910dada8d58ba85bcb514e815285206cb8ce1b9f58714f1f18054f835a7699fdc62d3ea2c48faf023f91982cb1b7bfbb7783877a0f511c237e81f508203f4785d706592b6516c05423a012e42d5df32485215bc44fb6a1f9635759203cc1a99c385cc643c5e4514d96fa73dd644e27662c8b2f3e152243aba4fd5e0f635ebc65b647498446ed51e727ef3453a4c192e0bf15f7ba49df7dde211e362c0baf1575337fc7b0b6a489c0d69b00e5c214245a86b8a24304aaf4ad337c017b0f3bee8920669601f0eff30339cbd0026f507bd96c19c76c8d2aad2269d2b1f79f819bceef3fbc3bb10403e74e37666392d1eb02826a85a2b74b045764af5c5f3b7ed6351df6f206879227a98b11cb6709bce27545ec794a8fcad2ae4cef35b7e4b7be1107e5833cf95cce90a789bf2057c1c4a600b6f23420021ee9106372df52e2eda3e2bf341d274d815e09d108d86a3ea5563e28bdc828113f89acc665d184eac3a3ffb78a2bd3c2d8cf81ae4cdfc8fd562090f89a169a2c43f0fa57413a16a5be52f1d1e06d78930b4f89061b3aeef50f372fb3a1f96199a10626ac2dbeeec003b78d0af03e358d37f0a4562fc2c9783c9b371140c40c2f957288f287026144524fadeae706b432ee17371d08c014510f67bcb853016182c58b16772c1b2b7ef02d08bc15d07b669a6774cfbb9c1adadb4c2f94aac34418d785e7d8b97ac4d4a3050eda975bff8f862818c7d09a92f9674899cc055d7e8ccea2bc085fd4d8cae1950bd713c7acda1deab38d560593f1b655de253088bc9fda1b180c82e72026b96aed140860ab856accca98f2569e68f81b0c3cae9eb5ea2881230458fc3e6aaa4241c91bff30c8180a9cf31ba01ffea909556c606adfaec7d176be7e596a5ff86fab3a96061f53ab6e57f40b81f932f95c6ae4f2220079996a5e5cc6de582d68081df7f89fc889cde3c3771ecacdfd1ad155ee36a1e5e98461079872eb79550ed506a88d8df1eb404d725dbac79e888872aadcdda375bc40471cd28b1e321687a6b068e4e2331355dc495412f02c4d89a82b75048d1500ed005bf257fcf6faac1c83c8632d25257307e9d8351366d53e14a9c3313deecbb57495ec25ce64a0354bbeadbfe0de210ba7ccb9f70d70266ce8944ea70542e8dc6a730c86e06b24cb962a3549ce1d6a64eed67c337770fa216f2a8cdf9279c8145c4a1142d1983e18bdad0d258ceb8a0e6ebe8390b2d7729ae58f907f97f0ff9513f69c72c147e1173a1a1dba9c3cbe421c3919c9067500935e86a35911d914d099417a598d8b2ac50ee28d275dfc0f2e269beb621313eb3e09d6d0476bdb377fc0fe5c8dfdae25da603aecf8f13a5a3aa1b9a42b88ca72497f976d798e0c3abfcf5f53fce0a88871e83a21c8962cd567e3f540f22750af2354ce23320fb54a3fe3304d83de8db9cc2f501127910f77318c4a271b3e4ffe1173b71bbfa79cd84d219ee112808dd9b3eabc31df4c20c8bb507f15012f5d457e086e817439f18f0260e14a9cb24c86d750599dc7c313bc26a925bcb9a490f292721ea6c1a2ee588079edd38f1dc439630e47e5d4623c9f437b33ac56c948b3396d135143629c3dea95e66f9a042e29352dbac3516df82055b39e8e250a2ed13747db18849b07e26f2eb0a7307b685d83174bb43bebda8bd58f63dfbd78760a757d5f7bc2aa89fa88af89745e0502e9764eba2e2c39e5dcbd769a5f5937151f9ec3c50ab31bb1360f500b029647011a8ff88fb7f4d8371a621918b1f1e4ceb20c4bb21ddc1f81e582a585e00758877b0ba741dc486c9941da234d1e2340fbab4f36a379d9cb80b99f3b3a3c7ff10f4a1f3e17d2e8451596d55e357597d13fc4288b209180c46762c6feb8bb510c39e5a03ba9f2fea32fe52071645503ffce31c79f98b415ade8add9777c4a972eb6e92c402c535ae46cf5b27ced9941c92bd34ace89ed7cad38194a940e3633c6201593452ef31b118918eb794023c9f8bc8025ea1db36c14efd25d3b2a69eb71c73ce5c2d48e037b35217773f0b26e6d55a8dbf7fe24f5e9d11067dc1875c02b1740d8b2c803e25b356275b4ba3720f4779db14577328dacc5db49ae3e54dd6be3f61542336aace3b1bc93ea5de44a46b508ddcc2f0ea0143e13f4e7be9632b559fab2d7183b50c2ce76b15f3450775b9af512fb3000e484064cc159f0a1a15abd9599aaed802016307b8702475c8030ee937b29e017916e5fc575723d176537008f27665efaf5d407ee68166ae51669878828feafce134171d4fb417acd18a29b1d89f66a7116f157a0252e0716382a5d6534389fc526dcf85bba2c1f752a4948d56f6ef62d1c03f7371315f6dcd9ac69569bd03135e6912fce036a4f1845938015c5dc178eabb02e9d6797212cfc2e8eb936c6c5caf4d9dac0014639f38b61892ac6ab4eee8626087329ae296238b781ccca5c7bd486ed3ab5584b0bd281df2e3596a608117d916886bb2e1f23584777cf120ea5628dff1540fbcfd6a56d70ed1a2c9057929dc6b7388fa2f0763382419099b778ad047947b0f91e325f194895a1f8fec096d2f5a9061e8a89454c313514d0791fb4dbe4277a117fc3bc546856346701ca07a62d1b47c774fdde4e51337c9b999538584d37be362beee52897b00f418e5033a90ff075bb7c8b183c72319d3ce32ddca925c11fc79414ef16154cbf185877882cedf0a0e0d2900c3abce87b9e8fa2cdc5003aeb7b9f3eed22592126c5f5bae8fe907d9d8d070d614617701425e2f1f245c9a6763fb20deb5e6252a1fe810007417677cecc24cafc7e76b3323bc9edb1746171d50b34955d23671ddc6b4b6fabcf69759ac338d420eb070662555f442b181625149c5b21d0a82efd49daf5782e98c1b41a5fa44d4bf5f9e0478655d6cdf3c9c69fc4a30c38b4de5258934c97b3bafe90570389055d968a9068a759275ede9d9878694034f8e7da05d0762b6194e4216da16fc3b13b7c7657f735470f9ab69e6fa34a65b2df980c3e7afcf24b767d13aec088e854dd5b3bb6f7142c1b75b46e83157d9d668e0a74b8402e91205ec3d0914567efef8bb9786aa229ac21a7d3b232b7d5d56353a67fbc0bd9bdb5acb365f5e8afe157f3df8ff507b93e04e96d1ca0327ea08214ac918b5d371533d0d73389eee46e6e38162ed3d26a9dd08af7dc58ed55286b62cf3824dc2e0d9da2e33f8957052be1c4a40500f555a9217debfba87999ae592028e383af5d4830b71d90ce7783534659c04460c61fb3abda83ed6285b8623b11af636051bedc4bcbe0db47a9ff8e783b687be277d29ec3338bd009de1dfac132b53daf4fd01eb3e0a5972a04272c465d780970dee3705102d2c864023c5b442ee27e3e6997152046bf6c1fbbf80d70d775008369ae47a01a6f09744432a0d6726b08c188d033c6fbfff2822b29fa2a8330db0a106e6821316dd6d0fb2f201fcd593ea9791353c27df250fdd22c6fa56346ab493dd112886ca999994c0db30c82a2e2d863266c4f368f93c1c0668d0a70e4bbd95f13113c9af06e9b9f6b160cbbcfee6a19169261500878a627aaa84ac54bfecacdfe1e9bfca7ac8b3f7b64fb3a6fe136c06510be24d3832d5526eb13539be4916a45994b55373c20669c5fb9233b5afbd209a976b6cdedc1f6680e150a4fd871e1e8adb8e007d757e71395a8a8c746b1bd62e0a5d7831f732d4f2cedd884b8adb96b207941a7d54f8d0d8d2d689979d63b92631591d610feaf1231553b7276df33d830434c92d32463b3389997cbe8134dc9087b767f0ccdce2ecd9eb90279320de72f1074ee695bce9f41e1ccc76a25eaec878fde1941679f374fcd9081de43d75a0dcd4720d5309fce14cd0b141b28d722c8a32dafb52a864d6e5f5eadda0502d8a92db213a3ca0cc0156e9e54353230736242cd7e618f4029561846f87de70013c8131d9cc36a93ff0c2bb4421f6c48f0d93515e5ca99b1b4305e2d9a2c45981e57a1f80df106aabeb76268335c6fa3c3b0aeb5430fa7e7f6c1866beb12a70415ab9eb8c903882d453024873cb51ee10bd69f0ce734df0aec74f87a0d9e470064a6c8ec7589354a6ff4ad9966e97a6f44b30f4469a553ac2a54786d2c24108d3bc5b8b9367351bfd8dc693209c13df01c9bfc9537c4feb645ba623be859ee4ccf1567b202ed68d592ce541486bc2c419e40de6fae81d806219e137021c4c3c5f21132c163b0bf6efdb6bc6d6e7917a79b89e7c6f4223f720e47989299daa49424399ea51758fa9b9e94761e86603c22e2d00c30d83c586ebdcfff5c7776aa1438cf91a11c55d383d95c31166a71490069d12955e34e36f0d773cedcd1286a9f2d253e98de032fa7efa27ba2bb3eab0c77fa68642364b3b1c47c8709e9b9dec6bdfecb27835047ceda0fc43f8bf5451b2cb43297d2d4e61bd6b135edff22fa6065cb7d11a39d21d7cc2f89845bb4a97a6a8ff439cd515bd7fdcdc7985fbb046b3c701cdaa2811fa39fdbe018a4dea2bad2d4028344268f7fab286851006a75b4544c09232c2050c41a0f862a22179f7d18677edf3ecaf04d1e55669d49757634c202b69e64edce1a0db0c962aab8649cbace3bccadec7fe67eeb0d4d712cf02393394dd9281efda29c55e3c60e2ff2e50aa54192bca6ed6e3f562850f033602de49f523d5764fa5cd09609be364674151c22210bbef5d6b636293818ea2ff64672ab52de8ff3137884579e65e948347151694953ce64c6aac47bd8034330e393aaacc4178b2e885f954ffb475630ecb2b251bedcafd2c402d2e1b40b283c7d73ca8d2cc94270f653920689b19ea5de69ac46f64cda3bb2736ff5b2dd9122216173bfcafbec9c2910928f00b75432760a839e096693a13c38cb60e40bfecda46c0898aa42e9f2a22a4041ab75b40262053d84d79ee8ba76b0c017a591270cd3f156aa575660af5d81e84e3ab5d53cfa56fd45384a475d42d1922f2d4730b1942cf501fceb5af338b56d282fede676df5eb72e45d8e98e8e119d832a6a901b077fbd36e62e7427885f51cf8e1d08f233669cfb94d59efd2c21c9560f603eb1989bf8752dcc11233a849ffcb66a4d39c02c0a81d6990cad43739e230e2eb9affb4c86a661764aa09f369e3360b243c9d13b9a48ccc6de7f7f6880d19f320bd8acb4f8e76d297e7ffcf9726a244f74789616974350a44dbd23b4dffe9cd6946f9d24d8df6e975a20fcf6263e1688cf2e180c81b313b21442b4ab66095de8869afdec1ea66d6758285cb5718e93745ec85f36b84f336bfb464b174c12c8f7c5bad2eddfe6d183033c88dbc69ef1de5541fbae82f0b5948e296db5ecda786cc107d48cbebefa6b32e1466eb79ae5ebdd086769106b472a4659f3d7684988e818a589d0083a36ea9cfc1ccdd3ffaca56df3bcbcecc8874eda620215b138bafa1afd093d9c0b90d4cdcc90aa6f21a7cdf6f3d28bf635ee9921ea435b7b8a5bb2e7a8d1e2705f013c07e9019b68d4dcdc9ddcffed337b4e028f16ae2e1d0efbd5bbe52b1eb9e99476923da3e9ada6a60be1767613714f312dfd51fea009faca89eedccaff093d824596211e78981d9ed9276c0978d5004e9f8525614037b4c82d5808d3aa0d1a3c674e9d412ebed7232d46677abc6a7199e4ca2336b50987ce70b58c5db7e35163d9b073751da31a90bf5161be8297fe0e16dfafb713203bc66a660031c05bcb3be6ded4158c809c245bb6bcddb8894d02ad32c88933efae8689e308ab4f9cfc8ac128e4539356f4484358c3359a0f3aa6795cba0d3f9ab80a9300b100023fcf030e0c4d421325c5bcb361fff7a137a5f8af0030022de50e76641455101eb4d74e4a6a32255f4fa194e4a5a719b7f70b304e11fd9e881739b4ddcea4ca22e239f8f16b43d6f19a289d9e2802c4a0c9bacb3462e8d0d311e1a5150b95d35547e5a26a16f36d699f9f2f3975b7d02791062b2a181735bb6c99fdbb466d6bfc918d0a1da29046d9270ad6da9b160c9c877a328e35b110b7915d0fbe53acafccabc706242fe461195070331bcb9213bff5aded5e9c7897fe34ac14a9eeee5c514c9d0f66b5bda6568e68f7ad56e2412e29439cc8bb39a8e52281ea06667ed1afe398e9bb76af2d6b68d54b72206deb471e6b2f7b6e09e71ad1f366d757e0a0229fdbb09ec3ac59759963f1eb040aae12289c3c9d41d4408bea543a6c549efd8a8243261825d1289ac535ac2365e81ea8dc2dc6b6045cae6744d381dc37e2ac4cde77aeb9e4d0576086e759f4b45267c0cb080aa5fca24fa4f8a78aac121380a6a969e1c8147d26c1e28d57598a3973e11f15a335fb49942a52cb4e85897623fa9c44e5199fabd4a198ea8f356321a916dd4b1ef502620b600b062455a5bfb5bc521fe3458a9171dfebdf59067686c2d31a7afdbe947c6cc2635cb20f8d12bd9263b43621d98ad67b3b904734ef2a53cf581a8fb6139a1ba7ab8308f2088309561995847023add4676531f847cc1332cc6b1b88b480a816913b423b218a7ca15b4f36646ef94c45ba9dbc63de1f7fe0e68fa5029f18aece973cfab088585547a658e57418b49bdb1f91debe8a8f93fcb80373467156d65e25fbc824870229727be48d18b107b588f60d73fc47b9453bd196e5bb8a3dc60acbb48d1eff2a114214db81dcc18bb09a71ee55b79d4be875e9c25f04c55f553f6c0c03140ecd313b7105adf0db82ce9052058f8c6d3dd48bcdd62b35a3fd5feccf0d85765c8dd048c58ed4b43f1a2ac56efeb95cf82a55b406bc49d0253f1a459e393112171867a5a689b5a208023c90696f663405092c74f45b2b585c106959e4bf0f81f160a7da6e19fb0d678fc2f86df5576889dd47165ee7aca8196d1bbf19cf0d4af54552af2affba1921597cecd3342e6c92c139b7d4433a81aac19dd07250796e3fe4d6259a7384e464ed182a15bd54c1f6eac2f838435933226a94ec0a41511b86b415365a96146e81d64b9ed4885fe1f89a592c3801349c0633b075798fa48b429365870df7682d727e7b564c32adefc00f408d5ceedb8b600d6fb9df54a6086ad33fda318ec131754326adab95f5d26ec716916a335167165444f91f449eab65c096e5da5b180b7351e5893ea87d2801109342b22fa9804cfe29141459b5a4eaf37348c352fc2062b6230b9ca4971efcd36201bae63dddb5c9814c1e8f53c4091c83b2e479fe82f323ab3c60d7f6a099558bcdb965cc27631b9fdd880be73e8585bdcce9c18481faf9c15a293887fd4cb3a6f595d014262f143bfa29604432af35919f1d1312792f7e4393f0c29530ff65595806dae4230b0ea63d7bd61576951cf36f66467bfecd8abf3054fff7714651a7548d35e618e7f84a34dc2dbb4016bf1f839704f2c6116f04a3784e31bde2daa3b22766001011baae175434468b38eb90fdd02790d1bfffd3461a4339c2dc14399f3970df5a8c2bb22ed7832a4a5fc2bc3dbc2ded87298bbf0fb13b4813efaedd25708b0910c84b26642b7a3a5aa56fceb160f8877ba5614b022fcfc6181a31953e93a480678df6a92d15694bbcfebedb01d9cc9eeb0127cc9d1d9e0c4d902260b102217e954dc86c56627b8c9c08bcf6d0992a55eff264a17a778ba493bc9b451a4e1f8088e584170b04658369c53535b185fb5bf28b308ca9b3322be39efacd0930047739bf2a9def720cf1cad62578a78f8eff0160c26c40ef486f431da879193650a65ad0ca9529b748227402ce6fbbd7e5379148d7bd3c32fa498faf1e001df6038f9b3cd3f5cb6fa499c85ad22673a6ac0acc07954342c6d44145cddeead67610a27f027908d83a655756825f78eead6bb5ff07514ea4b64abb20cfea3864b15205babb68106444fd76544b1913aba2cd6e274868858d9b4e4233566b15b5dfd7627bdbbdfff6ef6868cc09f957c7d2ee2f3028067d75178950feaa8adb30df0e119fd529f13d20373b68b74b9b6c13acfbf329b096f589ff811980e4306984d794cad0d31dadd39c7a3f751f143d405048aa510a72de0c66b0e8f6fda958fcb4ae1a3dcba03d69fcab82a04e183811a763c3d63fd68935f22e7d934f2c0d0cfd3694d6053466765e5b233e09496cca4c561e2db1f3784d5164d6b8afd9a6ded10adb1fd6211ca8c4abb3961b6619fd7741df61109033a121fed097ed2968739ec69b8dadd87326f3639e1442bf7ed0c42c922ea2b4366bfb5a5a99d5b9938b3664a252288d2339cd916df4ab1f5203cf467ac64e419c5deab03fc6b467ac081009a70f55265ec94752df960501f6810ba11f1fbe258e8fa7cac95f5cbe1a37e354f07192dcf2478bf8694e818d3a5dc5e32b34111702c4382e408d5da33dee9a18dd0a948f7b2ccce47aac63991f49ec10de3d936c8d1aa9eaaca9afdd47be184633c37349f12b0c05e4693d284ce7c24abc8b155e24d4085188e9327b8a35299bc2491904b5655a96ceea549e6a9ab6037d92b0e582219a6a94a0e80dfabd74e344de1399f0159b3e6ff2a1cac5e2b3b47e81b183709b9d06a53bc42eaf247f4671889524ad48c85c858c9a3ff308e07fafded4001b80e2de103ef267ca5d8354104ec214430f0828baecc144a9cdd24077112a36ea1eb94dbeb1935d892af7b4497df0141fae85f417543854456a9568f0777f4ee281cd33a404841c0645b5a73c0621d3276a7ef413386acb2c1fcb5939f7d786ed2ff5588def539700775d1d1603a8f460afd70099f38a2b7a27d6b5567ff33aaadfdbf3d22529fd6d17839b68d05b0231c420550a1c332fb468259572d59eeea6ef94da72663db9bb094acaae6e6d2edde72b663f1ce3abb3a76750ae17f0f6b413794c8395411bd8ef369aaf898c737119e63b9f30ec572a52c6a2603d6f3952306037e9ca89e665f446845d02b103f3d57d81fb0c2a6a9bc18217d5a1bf3d807c008a3746b697c60b5a91241c4b462d166a5e13b7d562ff675af4adb0b38115136d83231bbf5b92ffb161067301f9f241f3978ee2fea58d69561d797f710dd62979537a437df743d693235395ea4f4e09b47af808bd21c18e319226342229706afe0483a3a8242ce509605f34ea1b18dadb885b93e7561c2236711f6492fb13ace914e6f0c65b9c4a0f14075f6764f1fbe9c997275082938652c38599eae38c38eb8e31f31e3b06ef547bcb503cf2a4d1bf8472f78e34f0a9ff793fdbc45353411e9cf35eb82de38a1d7a7e7e92d777aeb7a73e6374b673926595c2bbe59fa93d2bfcafd822da1940dad06271da56fad85773b53446865167b2c7f23ec48a94ac8623bb13562fefc49c1d0d49d3cf1a3426fb4bce9d85a991bdcddbc5de44a1696146c5747af3d5aa2cb8fc13907c2d9c85441714b1189e256e82606ab7a573a4b925ff44bab028c8d68d8a1e554a4a5107aeee23680ccacca21f6152efb4864e2a81f2e0e3bbde3c6f5b16577caa78f2078764583c3a33ea5226b889cb71de6aab926733563db51151de8889424e2fd4c20f3d445fc2df9b94c5f50bcbf3e3055206d901a66778d07e1b9da3c8eb84d87d865f3d515c53435c75185af9734a72eb0361a0fa5c0913de5569ba54210af1b7cc62b45b6b85495b19bf5d15224fc686d7890463980ce90c9532fe761fd444f64c74fd0b98bb637621017d398e3cdce2382ce7487ce3015d50b7582248fb5af5b98b6a92aa22618a5aefa7b99d11e96f14913ded1a05096982f7057e2946a0721c2f8f5c15a737391cea9fc5e23f7a13826ab1016a7d52cdb3b06b042ecbb021f2cf4b4e0f68165e8e39fcf5b6080142c3ddb89aff84f97a91e1c27b7cbd67f097a33b3a03e63b727bee8e90494fc9b6794600947fa65df198852b8ba1dcf1e2e7903cd6411efa5cd3091744ed20e8027d6b92087304c07ae15364cd09984e2f4829b258f0584e08b5776b177fef496655f9ae9f6ea0b9752c6d8351cc7c76158ff8a2223a120e5ab122d897d43eaa648ed74bd36cfffa8690e6b57e7ed35dad03933e56f336c96de1bcd0eb7e889cc6a41481f037c83adffbfcf8f4e8fb0babb258b5ff1e805f3cbd78f6d25d5aae43709cb21d91da4a0fa8f674910fc90b0541b7b31108315733444a50ac68d52e85a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe593f8e36baca4646fc5552a0b0523b5968fad45c9bd83ff4a2a44761347ffe5b97cbe103823213f6356cafd2ad1d1b7b46a4f867c8ae47dee74f2aaca4a1369530205a3421e53e92354edd48160850c03d451b9de2a9d6263b039ba40c7af9755e7b8c93e2682ab7314821fa57470793c818258880358380d832e4d58110b16f9812ca98095fd051ad6ad955ce2ae0f56523ae6f2196e2e0321d4b3abcb165d43f1b431f35dc253e693090a2cc6ed1a526bf0cbf425c8de72b62e4630c6dc2b17d6526fab85158244a58a1eef97f0367f813fed599e49024677d82cc3138fed85e22912add3470e81de2f4025da696d03c43a7b0974c555a53529658e8eb5be74455f0bd7b6f5a46d03689e6e428ae7daa0d14d1a3a7a4566b40d17cd21d5447d61172df61d971189cdafc4fdbd4c195e5b78efbf68dd1f9241b8307c400a6c8b34466e55e6307893d3a3d1914ea469cbf6a36e85bde78043eda0951856fa58eb0429888b4a31fc7395cf73a73cdbed45a83aa8bff143b722e7e79988cf65f51e7bcbaa6ea0b66e7127f7015f4b1ac20769effda2c520059df860ef4d06f22b765df588da3a28468d54438b03032f87c3b4df9d52da92fa3b7adb6e58fbda30de604b0a8e6ece9313a827038dc4872ac409f047dffc0d07d01514dafdde0999e45ae4c0161864098a6d2c6fa4364ed53e8043af8d3768e65af4bf18d357a69f0659d2b6cae22da7f6fa6498996da29a1b5d38bc4b56f353d325d39157f861c6e16b908ace2e1d72a8d927baee09e8b97550dd68780f9e15f7692fcc120796003d0cd9f6082083edefc8033371d977019dd02507a9d6526e7894694d74cf28a50a2fa3d310ac51ceb5ffdb0b65a4f2b7da72a1d94ce588e4e0b528a61027ca105b130c23001704b3cb4b9bc1d83375fece4bdf70909f69e910d86a4537c0495a9ed00be32bbc4f53c2e8956e3873cd322a0c9829d2a83b8e565244b4dcc4d0f6f57ab665dccfc8c925e65ad7b00b136aa7f787b636b0df6444dba9ab889f06ada374cd0047773c18f275b3a0372b1576095642671c3e367149ccee20f1efb72d80b55ae092afa6dc5a0035624537684f4cd11d187ce4d03a9962e54e7a00beaca0c552178d95d85837cd846d8be926640d615db1cde52b6a950753d410ad4d856e1b68da4ebbad57c9b6099eaaa7abb5eb0d2b7460de5c1702c6838dc1b65e8664b0c10fc3c99e3052b3e03e81d74e30c6f50f68ad1d1711137672caa554e004e2a62d4bad47ef5490c9a7bc60905fd042a2d6ebe1775951e788fb61aa107fd56e6c0f928a1c5db5acd6995f84ecad126869b28b8f78884c0521ccee7ec021c55c4f4ce6b29c669001ae78f673729c88d2c5d184bf9b43ed82cc78d5dec32752b145b7ba28201b9dcbc7129a14e1d789f0d4abb75575277cb92eb0335e8ca3edadf5042cc999439ec855fc5bde9c275d0944fc9b9a3fc3a4f6e0bc438afd3b0dae3f4af0ae6a00db78650ec949ab462e6bcc5faf036196a8b9cf0aad7f61077d63786ca8e599d8b2ad64cbe33ed9bab1af40221918d48ce810e9817743582edeedd6270e8f702745b06b1bb2dce56212d021b9c0413c8e687868738200f68e1029d142021f40e269c3072573ae06d05b7b470a3aaaff82c9665807198b9d94b3e080f82f95332dabde72abf2e452c593de97b9185a9c10e184dc71c16891ceeeee3e74feca90de2747a1e132584ebd7bfde901809ee4f82f7c34c328ec4c117e41f52f82068248b7979a72bd3307b7e0cb3e5ad4e5e56647ada323d4c120b1915c807ff98b0ad0e820250123573875da8e700a0bc994c2a9ac8eea83d8c7309a7cdb0b56be8c718e689653aa2d74a5850dfd6b927a2cfc7d18fbff93be00681a59fd81a0297e055546811f1d6513dd5df980aafa5deaa6ec76a6228fd6e1744265801e8ea2bba444e00cb7bfacfe604e98fe21093ef0dc7d226c6e64dae42ef9e78c365bcdbc4f942d0daf1579f952425253b14fe3403ca9ed38e5534ade848f90adf20961d6e0fc1c6179b45396b3f8b2776fb94571410196930478b0285e81ec9168c32f03d1e392468770d4471e65b4c476c81a68e2f99c4ba5ddc662be5499e69409e07cd2f58fd44d57d9384c76ac29d42ed859f30949e000d190c2ea541d06e1783b094fc8d7cbe3b6f8b1fbfa65dbbffa7d6d64ef69f56616cec51f95661624cc70c705bcea9baf018a0296ff2c9face4b96f5d6583d2415876e2ce3a4934b3f161f4f84b61dc70ce78be6930c821aa146e3702e1cb3187064be758f973739a3c09bd55917a6fa6fe749c033f114acd2cbebb9c37f78c3a4f135bb40e2104127c03b10a701b77762a93a29c5b78ef7c2c9c35490a046ee76f5b43dcbf96a63de1e5a04333380a77791c4eb0884d62232d167ccd9718e5beb0380f72565f102786714d424086517fd1d746b760d6ef787c26296579c4be75af529feaac94db7894b188fe8904311012282474d4f27bd33d7cc3f90e81101f7129b7ba9b596d6695f91d5b2558ccd726d41cb116236f96a97edb7a367c4393827014c42ef6bfa5c7fb17c6b621c0f9b43d19a3eeaf4f3ef90f911d1f667cb823a7989e563e7ac55ec81e1058d30b2ac73b4dc1a26cf6c769ed331fe630344f66c2be31105dea8d1ed47299996de8408ece4799f3ad8e88f9abcd15f95531bfac02c311206835d937e2df767af026082d270e1e5910c389439d64f35a01fc983cf0d16da8ed6ea3315cc5f145cd98eff10ec115d036878803f1cbded0cd3e6237706e8338b921c32fe9d67e4cad9ee09547a66263401555bc8291b1c4d9c41a6c0ee334dd31f96e6873ef993e59802d3b55ea6bbe7871b4426aeb2417c2fb68596bc82a90d50f8d314fbf879b26d380d5fd3f5c370bac5e4c096521bb99521854d7d617e6735ed6a1651afdab401ed23135f4a09e028a29cd93d510a5868bce7516af86d37b59d5c1b81788f9abe516975ca08191ffddbe75b56093306e6dbc099b709b7279f17a15da3d192e89021dba4fbbfc1d282e01e3d3b4fe966fe310a7d13ac102bee7deaeadce5530e28b0d274fd2957d1ea1e4e7074f3b9297d7c2f708149fdfd078b4e241d4d8c69acaf237c6a08bfeae757f0d006001477845f3565f2067444bdf4b45513a0c1b3c0f79d7957bbc29265d3b8165bd2b3f4665af5d9cc6678cf8a01d38e80078460115baff0e3768325924bdf65a07a0101076b000452abb9bc450ca1617b1ab127b39582f66e8bb8c8cea4738471bb2408340794abc3966c8ca36862664f79f09af9a08d6b34c59eccc9a557ccf0b729daf6f4cf5acc3dfd3cfe1f162af414cf70aa926de2bf35fc28fd7acd7d84c98869bad46822291db152779c93b419bbced3ba044b595130dd191ee4d7af75e02f17ffb811221d110922cb678b10f5efebfd976162b3314cfe6c6277f0ef052f6032c7713cfbf97dd6130db28a713521aa306d33fe9fb57f95b08eec4f4a732fd889b615fdfc97a748b3b642f385778844df5e1e2f970f2b932ddc3129c758c5078904271c1863a45d815e0ce7789bd35787314fbdb919b045ca902c345a2adee7ad41277b9ebbcac37f46f888c52f36baf9b62d60bc8d06426a314aad5a0ff86a4362a91c2512a1df9c0661cc2e489293a9becb5a76d9d593ccd178f6c0a225b26b9499b324cced294f02b9b478ca39f39bd390c6005ff34ae33e0421139c2ba9a3100f03298d1aeca77f9986e6d3e1f85aebbb82f7cec5b79b0199e0cbf54c62e90482f2d7d6d9f72308ded1df5a50025377bde3e3893c51abeeb3a6242ed965690b885a062b6393859456887aea71ce6dfd61b3914dd118be5379339a7c50cff078d6cf900254cd99e44558fbb6ee120622f0d7630478b963a7f6e0c9798c6116d8755004d155ef5aa7735575cc31dfdae6f002a20adb754142d78676f64ba4e7fa064b7e97e51e69f31c5142ad208461d9ed01a4dffad7532e9101ce11e441e4773aef271b150aad836218a9518e046b9bf35e363a46db3c8e1f27d72b94049a36975c29d69b91e09857b9f88d9684f63065cb9f83f630775666d10d3da6210ad968e1f3e1005ec8b9544a279fa0cf943eea79d71a306bdce07406b29f011c7b330e6d871ac1935d9dcb33b2af78eda2c44e951b0d60b4bf5ddfdacc4ea9c50899bdb936ccfdd28d5180dad18091d603a9ef3cc67f9b06416413c1fd92cf79eb627ef4c5b5e3be16fe686ab5048b371671d6258e6a40f3b66082bac33267212c4745341c9d2cd2af209c60300a221a7a811e8bbce46fa0fc154beadf3fa3d6ac7d10ac8bbe082f750631901016042ca501a40f2a9059323d96dc9b302dc8da92942fdaa1e9988b29ebf1fe1bfbedbf1037e50c59f4642c28c8dc9bdd771b6a37a04cd81aaa5efffda62801007f9278c24a0ff43c60d9ca2ed01ac642f31b7235d1419a245806150e71829074f4374fdad02caf0ab111b024dda2090c27fb204ca4bc0db243058da134430126a6cbbffd0b995da751cbc17e838ded968cc5986572f06ae0ca9c37b2fb86b2cc8343731bc49c88808156aa251a1e0b471409d9cbced119b7d53b28e8648da1afe76bf6ef4fad1cba286a5847a6af10b901bb12c94caa04e3facc7b43653e7d35724e379035772c5a35d0f6661bffffd54cf06624e77a7fee68b6a5a45e86dd52539dcfcbd892f7ae80cfb30232b01dd123cba6eeefa032fe67e4225c27ae0cf3278999c6ddb7ce7add52609b2d55a5569649ea3e7086b02b2fb058832fec823626ba8054d26fbce2bbae4821b380f24dc4e12c353e3ca15fde0e1dc2dfcf415a11c37ebace9238b95a967c5a950de9ae3bbecc204362b059080ed42f074412c254240f1d7a7af3f384f05c843a9972963e99ed195eacf73cc3104ca81c097316f042302abe7f3563265eded21cf64427a46a6e9f42c195c3e763327e4a69a7deb87b8077c0862f7d710c6d9e377a9fe6f7463c6268f49c844cfd0be60cd9bddf0e26ef06a61d9a983bc01819412e78db7dd60b6a02d3df72f0421d2dca8295835e2a3b7f74b8bc0550fe8ffc5c48827da1f9acf5e27a73e5289292b5dda498535d34226b4df786a4a914338c1c9e684464df0a27bec704aab0e86daf69c78b35f34e73a32e4bf29c610e4bb7a9bfbe82231a34a7ef4459f38bef24b371ae7d6ec2641ecf7ea9fa4565af983c2cc41a534a014591e5bad203ee7843e96d29f3efc8d1cc3667c91779979e3cf473c7250a494403331a64f57b76d3725ef5c5a972d1a077a3b723f9fd6479b35e9c697b15ae6d5f7a2abeed682605255a7fbd44db2f7c2b0326d50bcea34eb99f2bb7884899e340bc595c08d2ed28045257868dce9b1573aa0732caaf1af4985898155c1360d074d5e2ee1481a82988b65395d1c55956fb80b83d7e101a465bbffdf1193a64dda64f43dfda3d8c9572fd82e6268d88b21e9ecd0bb80c49408c2e44d1c929edf90b4dc8baa5fc5888b11a645563f868f69c1f0b23663998bb2e45a025622b9dcc88051c5c0b3045e0644c77c74f066c94c43e261bb92e175b4b6736e5fb7359ec35fce0f4d5f337904b819fb3e79ac98a43520528c6f5654f506affc13412fc48c8f6f740b13a1931d40d073ef33cbe9477cff4e63db6034b2937d6ad91083c391b5824bab5c5b098d4614572ac7d6080e2fe58de95457cd2192e69b05c2151b98ebbdcbd353ba6adbe7a80eadb7bdf136307e1a990dd258278ffd416aff12889b9fe13dba2f44619da10752b07b9dcc3ee20b6daf0aa0463a205e4f825d2bb40548566a9dde7426b400e02f6198e7dcd481e430ea87e1001e1e5756de5ccd4f79a7cee73edd05597508cbe516ca07b7b7b2594edd170dc813274bea6af557554bfc1a0b15fe31fa071fa1b48e39f316c16d4e88f5d4f587e995168c2a46275e5ada88b1eb86d85dcdf3717c1d872748206cfae4a8e3ce321e070b0bb12394759a3844f30988b46a8ecb74b77f633dcfb2f0ad5ed47725fc14097115770b4df2caa0ab9c63c2c49538cf6e010c99528809ab450b2e2b273721f22dec6bb33f4215531a3e1b64c7bfad8af6c97f6c4e452634e8f83bf46f5fd3de4f99f618f580af36bc45c2a10b8b5861ae1cf5b372cb084a130c18bd80aca428a596c31cc3fee2ece8522410635b248a53661cb1e8bf13756b19308eb540d02ae480f881480e48f6784796a8f2fc830bb194d85cf99781fe999b863a2d9804c70df1c8d416c05ab9e34e8db3ea2dbe11be2194181e7df6b5e69963302dc628951beaa39e5cc18f02bb60029dbe51462325963d89c7b5a72400aac9a29e3639c090062ca6df4fc67779b8eab9382e7bb928b9dfebdd4ba7608cde7837479599b5b2da0a398a0a8d77941aa2bfbea8f1bb321888ee9b97111014a7b709024bfc625ae59e01189c4b06f68de5e4ae6233d44ab4fe80ba5cc8895962efdfb741f8268bca821c3048fd13dc18e5c0c4850b83842075d21c903051abda0c3d1df279a6456b1b06fe3500bcedd5c314f7366af04e5e2bbef33ef096d18a9a1497d82148f9ecfc04dd5e7df423847d72f57bc5f7ce5390e0ab85525190e49b574d5926e5950ac43df62cfab4a9dbcf7bb5e89da18803414b5915ba3d027feebe200cc923a8b71613a0f138ad8f3716fa3d1d22c12239d5b71b099900a25e87b46d256e25abcda9d7bab668e42e041bd6f5523d370e402fea665aae290132b6b2b489f2ddf39b9dea167876f0cb210df6e925f0b2d1592284374309646ba3450e5d57307c32baa6958548a6217952be84012c2c44a7582804cd8246e69656162a2175219d727024ea05cf7e3a1333e8133e08bc1230e048e8555cf0157aa313d03e053d650b00972feb3511a2bcc740dfee7724ac6076d7c5a0656db43054f558aa9e1c47700a25b2aadecb0845a4506164d58b371b973d0abe7d3bd9b9cd3be57ee1d80932b8f2d45fced04f4431c4656c3aa3dd6ff1b46b23d4fdf3bbbc6e8cdce329f7074802efaa61ef2fe9d066322fd9f49b9f2825d14dbcb911030373f0535e84de2645983a4f8442e60a0de1ed3ff838be378cd5744a4cc53e27c35e62996331c8c99f05516c8aeb09e1f8fe582f3dd87f211128b5a6a12d12db7ed7e5bf5c301f5d692eecd49a8b9f2a58b2fd1182694feaf237e5474754f57e3889c1f273f4ebbeac1f3095c528f12ec2ff05003f2b4c51ae143ee1e782c7971f16c7c1f310c16c81b0981c45653c1e9bc31290e48d254afdad52027c5a0f63816fffe115185eeae44385591fedf8cb17fa9302910ac9cfb1795f7f10a906d4e59b15577973618fc33d5843323d434ee89491efb3f68653f85cfd18c5ede2b88a5cd7e6c6c5758c0a5f061ffae089a17f545d5c7375732../../grub2/i386-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.02-lp151.21.30.1.src.rpmgrub2-efigrub2-i386-efi      /bin/sh/bin/shefibootmgrefibootmgrgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.022.023.0.4-14.6.0-14.0-15.2-14.14.1__t@_@_m_?@_;_5+@^^x^oj@^9\]@]]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(@Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang bwiedemann@suse.comrw@suse.commchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang mchang mchang@suse.commchang@suse.comGuillaume GARDET Jan Engelhardt mchang@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.comLed Led jdelvare@suse.demchang@suse.com- 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) * modified 0001-add-support-for-UEFI-network-protocols.patch- 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- 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- 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- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.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- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- 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- 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/shgrub2-eficloud101 1605100566  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2.02-lp151.21.30.12.02-lp151.21.30.12.02-lp151.21.30.1efii586grub.efii386-efiacpi.modacpi.moduleadler32.modadler32.moduleaffs.modaffs.moduleafs.modafs.moduleahci.modahci.moduleall_video.modall_video.moduleaout.modaout.moduleappleldr.modappleldr.modulearchelp.modarchelp.moduleat_keyboard.modat_keyboard.moduleata.modata.modulebacktrace.modbacktrace.modulebfs.modbfs.modulebitmap.modbitmap.modulebitmap_scale.modbitmap_scale.moduleblocklist.modblocklist.moduleboot.modboot.modulebsd.modbsd.modulebswap_test.modbswap_test.modulebtrfs.modbtrfs.modulebufio.modbufio.modulecat.modcat.modulecbfs.modcbfs.modulecbls.modcbls.modulecbmemc.modcbmemc.modulecbtable.modcbtable.modulecbtime.modcbtime.modulechain.modchain.modulecmdline_cat_test.modcmdline_cat_test.modulecmp.modcmp.modulecmp_test.modcmp_test.modulecommand.lstconfigfile.modconfigfile.modulecpio.modcpio.modulecpio_be.modcpio_be.modulecpuid.modcpuid.modulecrc64.modcrc64.modulecrypto.lstcrypto.modcrypto.modulecryptodisk.modcryptodisk.modulecs5536.modcs5536.modulectz_test.modctz_test.moduledate.moddate.moduledatehook.moddatehook.moduledatetime.moddatetime.moduledisk.moddisk.modulediskfilter.moddiskfilter.modulediv.moddiv.modulediv_test.moddiv_test.moduledm_nv.moddm_nv.moduleecho.modecho.moduleefi_gop.modefi_gop.moduleefi_netfs.modefi_netfs.moduleefi_uga.modefi_uga.moduleefifwsetup.modefifwsetup.moduleefinet.modefinet.moduleehci.modehci.moduleelf.modelf.moduleeval.modeval.moduleexfat.modexfat.moduleexfctest.modexfctest.moduleext2.modext2.moduleextcmd.modextcmd.modulefat.modfat.modulefile.modfile.modulefixvideo.modfixvideo.modulefont.modfont.modulefs.lstfshelp.modfshelp.modulefunctional_test.modfunctional_test.modulegcry_arcfour.modgcry_arcfour.modulegcry_blowfish.modgcry_blowfish.modulegcry_camellia.modgcry_camellia.modulegcry_cast5.modgcry_cast5.modulegcry_crc.modgcry_crc.modulegcry_des.modgcry_des.modulegcry_dsa.modgcry_dsa.modulegcry_idea.modgcry_idea.modulegcry_md4.modgcry_md4.modulegcry_md5.modgcry_md5.modulegcry_rfc2268.modgcry_rfc2268.modulegcry_rijndael.modgcry_rijndael.modulegcry_rmd160.modgcry_rmd160.modulegcry_rsa.modgcry_rsa.modulegcry_seed.modgcry_seed.modulegcry_serpent.modgcry_serpent.modulegcry_sha1.modgcry_sha1.modulegcry_sha256.modgcry_sha256.modulegcry_sha512.modgcry_sha512.modulegcry_tiger.modgcry_tiger.modulegcry_twofish.modgcry_twofish.modulegcry_whirlpool.modgcry_whirlpool.modulegdb.modgdb.modulegdb_grubgeli.modgeli.modulegettext.modgettext.modulegfxmenu.modgfxmenu.modulegfxterm.modgfxterm.modulegfxterm_background.modgfxterm_background.modulegfxterm_menu.modgfxterm_menu.modulegmodule.plgptsync.modgptsync.modulegrub-tpm.efigrub.efigzio.modgzio.modulehalt.modhalt.modulehashsum.modhashsum.modulehdparm.modhdparm.modulehello.modhello.modulehelp.modhelp.modulehexdump.modhexdump.modulehfs.modhfs.modulehfsplus.modhfsplus.modulehfspluscomp.modhfspluscomp.modulehttp.modhttp.moduleiorw.modiorw.moduleiso9660.modiso9660.modulejfs.modjfs.modulejpeg.modjpeg.modulekernel.execkernel.imgkeylayouts.modkeylayouts.modulekeystatus.modkeystatus.moduleldm.modldm.modulelegacy_password_test.modlegacy_password_test.modulelegacycfg.modlegacycfg.modulelinux.modlinux.modulelinux16.modlinux16.moduleloadbios.modloadbios.moduleloadenv.modloadenv.moduleloopback.modloopback.modulels.modls.modulelsacpi.modlsacpi.modulelsefi.modlsefi.modulelsefimmap.modlsefimmap.modulelsefisystab.modlsefisystab.modulelsmmap.modlsmmap.modulelspci.modlspci.modulelssal.modlssal.moduleluks.modluks.modulelvm.modlvm.modulelzopio.modlzopio.modulemacbless.modmacbless.modulemacho.modmacho.modulemdraid09.modmdraid09.modulemdraid09_be.modmdraid09_be.modulemdraid1x.modmdraid1x.modulememdisk.modmemdisk.modulememrw.modmemrw.moduleminicmd.modminicmd.moduleminix.modminix.moduleminix2.modminix2.moduleminix2_be.modminix2_be.moduleminix3.modminix3.moduleminix3_be.modminix3_be.moduleminix_be.modminix_be.modulemmap.modmmap.modulemoddep.lstmodinfo.shmorse.modmorse.modulempi.modmpi.modulemsdospart.modmsdospart.modulemul_test.modmul_test.modulemultiboot.modmultiboot.modulemultiboot2.modmultiboot2.modulenativedisk.modnativedisk.modulenet.modnet.modulenewc.modnewc.modulenilfs2.modnilfs2.modulenormal.modnormal.modulentfs.modntfs.modulentfscomp.modntfscomp.moduleodc.mododc.moduleoffsetio.modoffsetio.moduleohci.modohci.modulepart_acorn.modpart_acorn.modulepart_amiga.modpart_amiga.modulepart_apple.modpart_apple.modulepart_bsd.modpart_bsd.modulepart_dfly.modpart_dfly.modulepart_dvh.modpart_dvh.modulepart_gpt.modpart_gpt.modulepart_msdos.modpart_msdos.modulepart_plan.modpart_plan.modulepart_sun.modpart_sun.modulepart_sunpc.modpart_sunpc.modulepartmap.lstparttool.lstparttool.modparttool.modulepassword.modpassword.modulepassword_pbkdf2.modpassword_pbkdf2.modulepata.modpata.modulepbkdf2.modpbkdf2.modulepbkdf2_test.modpbkdf2_test.modulepcidump.modpcidump.moduleplay.modplay.modulepng.modpng.modulepriority_queue.modpriority_queue.moduleprobe.modprobe.moduleprocfs.modprocfs.moduleprogress.modprogress.moduleraid5rec.modraid5rec.moduleraid6rec.modraid6rec.modulerandom.modrandom.moduleread.modread.modulereboot.modreboot.moduleregexp.modregexp.modulereiserfs.modreiserfs.modulerelocator.modrelocator.moduleromfs.modromfs.modulescsi.modscsi.modulesearch.modsearch.modulesearch_fs_file.modsearch_fs_file.modulesearch_fs_uuid.modsearch_fs_uuid.modulesearch_label.modsearch_label.moduleserial.modserial.modulesetjmp.modsetjmp.modulesetjmp_test.modsetjmp_test.modulesetpci.modsetpci.modulesfs.modsfs.moduleshift_test.modshift_test.modulesignature_test.modsignature_test.modulesleep.modsleep.modulesleep_test.modsleep_test.modulespkmodem.modspkmodem.modulesquash4.modsquash4.modulesyslinuxcfg.modsyslinuxcfg.moduletar.modtar.moduleterminal.lstterminal.modterminal.moduleterminfo.modterminfo.moduletest.modtest.moduletest_blockarg.modtest_blockarg.moduletestload.modtestload.moduletestspeed.modtestspeed.moduletftp.modtftp.moduletga.modtga.moduletime.modtime.moduletpm.modtpm.moduletr.modtr.moduletrig.modtrig.moduletrue.modtrue.moduleudf.modudf.moduleufs1.modufs1.moduleufs1_be.modufs1_be.moduleufs2.modufs2.moduleuhci.moduhci.moduleusb.modusb.moduleusb_keyboard.modusb_keyboard.moduleusbms.modusbms.moduleusbserial_common.modusbserial_common.moduleusbserial_ftdi.modusbserial_ftdi.moduleusbserial_pl2303.modusbserial_pl2303.moduleusbserial_usbdebug.modusbserial_usbdebug.moduleusbtest.modusbtest.moduleverify.modverify.modulevideo.lstvideo.modvideo.modulevideo_colors.modvideo_colors.modulevideo_fb.modvideo_fb.modulevideoinfo.modvideoinfo.modulevideotest.modvideotest.modulevideotest_checksum.modvideotest_checksum.modulexfs.modxfs.modulexnu.modxnu.modulexnu_uuid.modxnu_uuid.modulexnu_uuid_test.modxnu_uuid_test.modulexzio.modxzio.modulezfs.modzfs.modulezfscrypt.modzfscrypt.modulezfsinfo.modzfsinfo.module/usr/share//usr/share/efi//usr/share/efi/i586//usr/share/grub2//usr/share/grub2/i386-efi/-fomit-frame-pointer -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.opensuse.org/openSUSE:Maintenance:14958/openSUSE_Leap_15.1_Update/8ac73786c2e083ced776d69a9d0d7363-grub2.openSUSE_Leap_15.1_Updatedrpmxz5i586-suse-linuxdirectoryELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not strippedELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), with debug_info, not strippedELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), strippedASCII textPOSIX shell script, ASCII text executable, with very long lineso[Y7L=dkb 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-8721eb67083d6238fa0913697539c2bf91fe7ebc97980a0b47b18af46dfda4bf2?7zXZ !t/}d]]"k%C¿De=ؒ C9WwPLJTcvߗy  OY 9>;G?;>]'ߞ xl6xUFeuZu,:6D9c g&KG\ z ?pe(/9lոu+/éܢ_1_\@MXhG?xcs1ADek} z8:JuȀk0 ݀"%a찿> ">-D mt%ٳYBAuOna]՚`k=1Zߑ\%;? VUy|u]Hb!ə/|*TYei=AcND@-aHt'-ԧKA S5k#Ȍ3D$H4W.@&SacL=Q/Pݿ UNئR[>)پ3vkdZsE(.<2{ER~[#rIPc۔S l1nR2 piUdַ"ZK@4]; JoIw|oi+a* 愥`bO82E2#[Ԫ / '<kzyxVe: Y2pPܚPDICx&A[:!&NsAxW ߾XPzSzh6Ip}ee&rHodJw ^F7׻:]{]`&{Z H˭tePX;n qGDx_\k !6OCǴ?SD:$78xH@:T{az,gI%[Fe7: ˹#x#޴z҇$7m| GÛ7A4jg6OTNN}Q6 PUp+=[-EX Q aDѧW7ٺlQiF#YGb4^l@Ta1P%"8fxEgܜg/ƴ{bWR7"Gu^Gm)wIjg#aHhSuDb M4VOGR`ۃ+B9qy"4cmхQ4.Ya*NB<|!:Pl䥵ᵥLqY`'2 d26P|A@H%S\N*.gٝ4yvK-ӓ +H l)r"2f*اb26UfKslHv BI8#Go-HZObB؆%(;#B`FA `$[dWζt4rUAzWy$`Xf^}^BqAYe br:GLHZK@))D #Qܪ=yF$*<ʘA4Kޤd\v<~WnhkX_YiKuD}sY$*We8~Qzxy_!1j̹-!Nfg:BŁ߅(0ia÷ [|@?8_X(SͬH)dX1__sb?&$Em[G@0ٹ2;+튗UOu+K^^ j>Ew %:8-ŎƛYP._h` E z1NI' AapɲW`NՏs]gp 2fXW]If(n wlb̖vXjb$tIߩ v:cSr_ 2݅psGh|6{f (R+-8|T_fQPw(Pb˴x[v5h̸Hq#g^;ne/iꋞX/*[/ -DшTfph|0D*o#ɢ[dZM"O^`#k-r^gNL_}TeG?r;&{ۉn^4-;)qcpUy Vֽ3W(G(ǘYwtHKcgiax.ahX/^$}R^ٓsSno6WW {J l  bB7{P]GD<1&_B`%9?B7,Cj!uu;zsW XlRq 2ր`0C&i[}HĬXbg#K($+0y>-e+ʩwWcS@@sgNm~Q=(~?@nnNZdpWerdR$jMď9HKgOfkzts6͙Qe"[udlwJ3 tVl-{j`m\NLs],R@e:]dlzP aP![ћRlYˮv]y`c)z#_ڗô^~ʖ [}5}[x_dy1\I0Cߌ'hғ|.mhU0 \- ?ϊ-bK2~ (v4Ҵuɂ y=SU 'bp`=Y&+Lo2bHvE.[/3JVrQo .옘?ω=pNCD=Curk}6c#|u6@qn6T{(&sn ]a΀7^en o&֣`]>*'6Y_S Cѿq(^Z@,Mw @4:"ZWҶa#4g(v?;uq *Fm~AAGVw,nIJ1!f$nop<{];*OhOa};b z5#Jh9ym=~O$JFJ)IBg/AXkFF0G!=iHbL'0⒥!h=`Rc2S*Xy?өz-1U{2Lٻ,Kg(h´-{6D pg6;`mLη83tkLrs~0AL`iU=2d<@q}J8%j :dFIen*m5$#vuy9v#UУ7yB>!jP{um3/ހ6jX,^:4lx;.dA~iIP:k7db26r {= )}[佹~%1.Й9oAsBLTJ $.$ ^TC_לKDz&Ya $@ 8uD@:'=@uL5t"wڰJ *RX, =A\׺̕e7 ؊f 3!C0׮ǑkWvGRz_j`[=LeT}[ -ڌ=!|.XaEܛId]N qIي*J o F3 p`Le *sK->r9pɆPCX7Д `i31CHfT Hm - D#o^T-[Hn=D^skqMߓ淫g`;YQ*ڙXYe |?:n^=xWÉtu^/!#Dulv(k,QJL,tidK̾Z}r Вc07S[':{{+ʳ)SքSՁ@wunhTX;dF7[)MZ$940 ٦˭Bj5N:aw=ڜ#ޡJSF9d30\VsX%D\e*EvBNXEvB^h{fEJ[N)pUS&TI:s"JkXԿ=ך//d(`-uQơ/e8naze#JxcsK$yK>xW *OؾDc&7N\5v3g\a՟C݅^ Ux V7:5'eFYyˆ<#tOӖiJpBH÷|6ҫX٦ԁ .ft5/`)?Ĉij_ >KM~lِcmH$̀{~%۝ԋPXO68;: 5rE-Q6BCov#~i#krL[mF|ܚĮQIZ492lRA~h8Zp5C}_'_P@_ ^7<Ǔ(+9_5fp!D36x kr(zXj^C>2GO5n}j9 StE1M6v7E%n~5ִ|)<,J.  2>;,)ݢI={fi%Ym YNsvDU1/v8XϠ:\DKOl; c:װpaֹFD'>%[EykxCw[D;;g!OUp/o! ODvS0$>8G>}K6uzf.+; PEb_1XB#6>~C}2? -h`T§=wHМnFEV d}Da3b_904ˆ[uƟJ^m@ֵ8,1,n6w6!6tLVfOķQF'n89Iˮ QJُEEw\ o݉$ں@3zytIbAaYpq(}.;iW`uO$yso 5N"EA[}>}L֟1RVD -Ƣ3c'}Q)CMgSxU/Qu6FL|6HL{]:Z.׈wĻk{<Đ0󲒀yמu?ǛyF؇#獐8ǵ' };Z v7"08j*^xޖ"(5sG\hg#emĢqh%ZpEXc$D*[ Bc  /~15y9%~?$ޒV=XdUnI1n >'e.m+@b[DʚKXQuKZJm Gƽ5q*ML>^̕IѠڶBQ]SK\p`RZ•Ie7cx8V&58L`mdԹssw=%Үp𺳁Tt2nVKwk I}4Z{UU: \I@5W.z~~# >1WLy?GwRǠ/~ eXTQoI_bWre5l3kּ505\M)ԱaK8;`~QU zXڨ$h, )ۖHQ. k9{ε )=uŷ,tCՌ㨕T@J~wd ⃘bxbj)G fgb,m):+p1=$\t+m5c"1i<7g.; }S%3psK8$L^"_d;p\ wV a u2 w0A^󣓴HOU{4?7tVTKL^Yj%^ۅq|l_jZz^+RUP=P]J7L .fAvӔ,Wg-vb":m@zD,Va5sہܕz0ղB/I/er V6+)݀ݶh .٦|]߇)Д#PK84wl%Šd{"%rXĬ͆Ն,ض*KP2+ wu%ʛK٥vq M*a{bg"Si&f㴙xV0X:i!|Yh$12b٠_2Mߘ8$kh*}߮(cՒ ٳf#f9~+i'%Ad*.2Xp$#"I|>쪋^ ] S]7վe,\,ᙌsvu*̓x"\7zH |Лǁ!3xQ6^0T1 ȼ z',+#a>iunj4#_8E9y{'יy^%OZ&:5tWM$ƚ\;_ NTh%c%; xv\|ѺD`U:ʼZiĄd琔Dݞ_Q^gHޛgq+i*Rbۣ^ԏܦg2# 'Ÿf͍XNWr\gϵç#[}'GK{vaOrowvy C;jXC9y)|Lu˨:Wzdܣ>ZTKgIfSåRU}RZ|JD1S4^>v1པz4m%Ip *M 0 ,a'=C7vkrtzK 9Ae3#qǚJ|-=JQ˙j6PH["7Nڋ&|Honw7PXO5ٱI'EtN3(}pL%k~#pׁ^-.B!q&+K1?=&=[*UeeWaNܟ^> dNi-lB81iQ7avaTHw>)􂷟hʗD_уj(N+gWnmPh e%`S>sg)%'4޺^Ƚ9efa tKI8R#H`qm-0<0 Ayi_x)7fC/%]X6=C'sp?t(4yf%wsI0I"$+B Ͼ?\pkyM3iShw!2 *<G |qKa%'48,` I +yF96{/󂪻ug~h3[K.EBK ƫv2aZw1@qvDnQY]}-X7βIA4G,%*OeudEng/{J !M}2*1jZ.N}yrz@yGaqg@'xc|BtzcxwwKwmN݌̮H'+Os#tqq{Szm!N݃EO/uO 9!P,`̦#:\&O;0Q;43o ;Mޙ/1fyc,iaƵ ;XXFpmTkF"@ t¤DC Aa % 5E)68c[۰ijdRbBz K-zvD6hI66_Qӓmo)|4*,3,W&1գ/7:\'F5LM_ZL]42*SvK8#ȶyŧo[B2@6{/,0pW'g}b LGx7;}aĤi7A{&u75_MNX zI_LVYuuQүR,.\DGu? '!^<٣Z.kqS'HUE?ϋ7<‡>![1zoT1ӿdpMsWZ,Bk&,Dp6]- ^K{u5ߠvf(KzRIo!z{-$]30h"OFdBH])$Bs\Sc5RQ8uj |k LaPdF@MQRz-c GzaeX^$|UьNUxQA;0q.fNVs%?B-y<BX*-?ӟ>I;|iKȬv2}ŰtC o`řb Rr?anw.G-js{ LTZ9U5ÚmKB~zq_,?A@PA$JX%Qs*1}thkiHGꂩK0pty'kDfy?{hk}ZCoQ DoF$W?1PyΪLPsf0B'Z3;‹E{?vF]a̤CCjWVK}Ub{ p.e!r}ttCOCڙ\EB|KR⛞݇V:&8W:I%bc=V@ARWPzR, f(321`cni 8- xƿeTM'.Ds uU!F`pd\'\ +'N\. ɰœ>5cp1`pLRcE7*A1R-2a\2ג'.ajj>?|HcJypUeld1]P!sV}.%OŭSK f'/Dtt%XfrZ(6{1H.jrU h|(ݽ\ s rcs>K 0Ÿ+W;+ޢg+W5=~,kkb4n2=.: >Mנ4K@\q [.iHbtL_(IMH|hIQ?(ǁF%V+ѧNG?hG3|>?9V84A.Ozg%#x^)F`{_mWrŅvsE#$f9 Oњn3cM?X=0 v#DBiД` ̮52E5]&-gOv^ @H٣H~eCC$+Z~Hsg Ћe:_e,1bFK{.l "E^3;Ͳ=9,|JAD{Σ7S8}{$)zty 4zEҟHN w-l(WpC-\='"?s @ŬР.n23NGt&xgW@FnNms0*M5:i{GTjiـ wDYhll2d6qOiN)ןjZxT_̣F4͏Fm~Z0.#;Y d lm{@-o'/ٲx^蔏>̣̑z/ +-QмVҜ{1&K8f\",!L(FƦ23@UKW51dE8MVgj4rNsJhEmмpyp~;[izD;XӜ=S>=y$4p3J|-7a(.95Ԅ3-dx͔Sd1ߊ~ƤT.,OA;w _t[hPJ+>a-<89SӕtqL^K~ bIV&_mR.u.e)|x?4^} z/3_1.xx 4 %ސ=pEa$u*;S 40'~UP;¶\\y#w9C9.Hfd%T~pF>!;;iybH߬:&}[btܚWEeHj̊Ew[+\ %*挮 ZzIju Kohܽ$죾89w6Gmےu8j1s!SI,{OzP#,, .ȺTqMqyWBV(L_w8#Ev0 4!'YWA(V¨-xmo&xWhT Ԡ_ͻ-1dQI5CaM)1uHyA.Ido4ق~㨕vqLk)!;zi?bbt``?f؃B: d\/R u^"+2),\/~$-b#s{B~|Jw1e99BȄꘓs&\L^>``|pқAC[  (h]_:C%AtP 7Bg)I SFlSJƁ n"ڐ˺1O$M@ҠL /X{D_gIofߵyaʣz&f3-VJmWA,M!=1 AU冓ܑGhl|ysj.dU^vKZm AL6s"^dه.ߠTR;tFS)\gsЅE{V@ F=)4?/0P#(DnŤ &Ĥ4]ZIEQԀ4 ^Dlśѡ|.)5>n֥yr`ˀ\A`p>3`^Yf6S{AI6%#\D\neaa]P*HFX!Հv,ܥ O=ܔk2hbP7NSQxMu+:wJD1SQ/?XkZEx$Źq!,9aub؋'jqBF3~-b2$e9gFoP\OmIg.׍_Fe;b6bLs (XǷT`s'7uyu)iJMj75f2*GQ')p˫v3~_ES0@PYA8hIB*m^:i>h/SlLֹ>Ol ̄j*3wGlY22Z; K!,ZpgدwSaJDg|#PӚ{-%8&9[b)ELL a"{NT 0JcŇbvfpжE \nԠޤΙ;_l t= ϐI ).ISdQЂet $߇}+29CZf@<Ɍ(Ļw]rTtXnP|uO-[z;&o)WtN.:L& ]XXlnxO&'UF8_檅7Z'e=+)۝ErJ^@/5`%F҇Bi|vlģϞvcoY5+ݤt12_۪WdS/4PQЌ>|o鞾U- z1@rE)vk,bЄ=@ɺX?Ƶ[=CKcqY{J rmTn0Ɂy:Xk`pZ7LtWg 8 XCP\TɄ<V祾nkn`eg'Km+ ,c@##{%&ÿ@{&miH-Qohʒ)џ6*BBTWnvloO#i);: ǒY5i*yBhA?fl<֩ TuiOF *9S$ݸ_>Vşqp L-SzPV(ƥvy}oGLE ]S,jrt4I>x=: ^!@`_R#B[ÚUo\IxJ|S(*M-Ο/s]bk+Jx>)(p|zPFb u3 p͜_;-R Mĥ@ͪT}J.{rwmFo\l'VF4. xE/P=Fw+k=5SC{8<^e=lƥ쫍fJ$g'neAoT~BГG9=hEqOJftHWHtMRUvC2'T]$[oEsu\^Lzxܴ|$rj@1%ӜNy[45FUUxe8խLzj37~!)[gXaN# ˃̱!>S5MZK& Sd6rNNT]7S*)2%q]Lǫjx F?'DND5`L|Ł@ RX yr|kadJ͋;k83^VH*wa2`o!e9>IJn <X|rhd)f͒W> {d#0ӻN{ez(I]K׼CǩtM7x9 愑͛y44O}]3χ̵ӏd_1_ѷ0Zmƅ$/ʫ!N?"k/+Y]2Ϩf#@`oG`BΥ!Ø,HYKKfto}R&Xg@8rBp-Q{sұܜ ,ER1Tk W ڐN=BxI}c>>U5*=l<$mLWNQjNq~RRDT$ 7y b= g\#p3"6Mq^27Iw@]آk*_ 099 җ7hTy3ON9F%r*HH4ٽ>@'0Mj\sr$㞮?}1DZyV JSxaqSwLX'| =ay=s~44tLt֯9{^d&89CybpqoI>&]dzr/"wau0p;䤛9~fZRR?}}ۼbzEC~k}XM*(7gk_{ӿ!/~sci&H`u7@0C}~.weNqͦrʙqmTEzMbL+o&A+[VeIV/{5PI)v=/2PflF+<<YhHwtɅbYۯwlNzpb)wo2(T g#PxF΂V `/@@yŜvqa܄RsPs~"l iQOIM]j<lAfٽ ՐP30[WRi[CE[P<4Dл!'LwL"۪GFHnVBё uQM_z|x_ۇ M(vd3p1jVaԤ:Fк8HIkç\z2ͻbR6<գtWߥcF5WHQ=Y"EyUC&#d,ȅޙ_BrHuC<O@+sݩ)V@:}  `--yذ8Z`H}߬\RxW0n=/o SHsQfPOEFْÅ΄Fw^^TJx%NɴHj( +OBs^|ld(b i atGɇnG[^m=b1OV*`9wߨ`BZ<\ 4rGp%c໓ ޥy[1A@]&H?Q5ʠ`Lm3vɟI]2G9&;u*A‘[N{M),ZbX]1t7+_q;U?&Ά8am* `YR౑;ݥFpVyg$?\OHtsf` %ajd倪exJ\ɯ\1ls^9곺zyTc7Mb.ScqE8zï =tBL@i#Pv.ѭS'CxR(ކ7 iE5"RRUCA8F|z6a] #_̐g[hxrigRDT XV\s(3KG>c7 d`vp;O2(uBߧi%Ig4|~ Nk1|zkj8gD/5WDP/X'\cYҗ[ViꑨKCBlg\Z|3iVXrQK8vP]*=QŬ4K@K {7USFW #餀7 Q3#sAHLe󣒪`8s33w R@)aAy>tvS;i}}(9]P-,鴤f9>ɩ]>"+gݚhWx-D5?& v+VYm$N9!rX6w=a(hĘ1wF~ò2xIT>8=9}p`0HB!h_FRN5Mi( m1P+_:t #b*&q?7m*D¬CZs%vlC10--#1% *K_b4h9&tȵRSAÞCĮ "7T)~ ?$›{ _61}t8`OGێZQR+o/1oVh'gHdg{*gy1ʟzQ4u}tfԤȪOci0obvĥ y'mX.&%JJ/%'h4QpthhNN-èۈO3\(u05iط| G{)+Bɠ@'`7p8XO,KSC@y ŵjޕCs3IYIc؜QRDTY^mCD\LE;0g)/%;l{Ă~Eb )EvOEpҗ}4da/9i~q-$9,\fcnĬ8Cu [tbXxճI)&oiVF6l%1ne+K.c:fIb2 H N0jϼ?K<O-I$pF%,#mwQNήk{2/8 Hm p "|_$ g/RИ"P?_>dbNj}ȿ McdH5Qay'n4=ĹsBpW"7;nm  WP2?hv)_YW YZ