yast2-storage-ng-4.4.46-150400.3.19.1<>,0e,Yp9|I+j j{ M칒8͑c0 3hI۝EzqU'`DxH d4F?d ( F:W my|^^ ^ l^ $^ ^ <^^ˊ^`א^(U8\v94v:v>:rB:zF:G:^HD^IM^XOYPZP4[P8\P<^]Y^^ 2b>cdrewfzl|u^vw^x^y"z(,KLPVCyast2-storage-ng4.4.46150400.3.19.1YaST2 - Storage ConfigurationThis package contains the files for YaST2 that handle access to disk devices during installation and on an installed system. This YaST2 module uses libstorage-ng.e,Yh03-ch2c)iSUSE Linux Enterprise 15SUSE LLC GPL-2.0-only OR GPL-3.0-onlyhttps://www.suse.com/System/YaSThttps://github.com/yast/yast-storage-nglinuxx86_64 PNAME=storage SUBPNAME=-yast2-storage-ng.common SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi PNAME=storage SUBPNAME=-yast2-storage-ng.default SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fiVM&Y<<   "R~  q5 $H- '2.`CJ/7w27i/3W )Pn ( X 5 ;5 r w [j+ cL s::FL  Q0{*!h )3  )NJXb b *8E F/!*d *vGb l Uyi b-C$ : D s !E +[ U"5. SO  4`n. 6p^mZ 1 .e @T40l m   q Nyftr m D 6 2e S Z      f rOyp`M>/ 4i 5d&f aF%e  e $ z aSE#\U !|g d    W Q ~ {@3 * C46 bd + bOw}* &_p&2a  |y8)B*<]8%8` 9Aq5N .C:h2] 8"" %o[0 ><B'I ,E xp ,5V 3 %T {"'LsQM=6@Cif1\"xF*+ ( x2*9 "0836(& *O a+Ce.. @w n%\[!i6" .] E#||*86 UHjm`y FAA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤A큤A큤큤A큤큤AAA큤A큤A큤큤큤A큤A큤큤A큤큤A큤큤큤큤큤A큤A큤큤큤큤큤큤큤A큤큤큤큤큤큤큤큤A큤A큤A큤큤큤큤A큤A큤A큤A큤A큤e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e&aWe,e,e,e,e,Ye&aWe,24cb57504c3533776f09872a32dd76bd3b6f746b68912c097fc31f6c5f0257196c52d01faf5210eba88502a6e4b1f51a6deb208682d307df771180fd254a803d34812b4230600ad74901318b76fdf69ce4127de28c9e6ce4e946686df6d15e73ea563d9aa45aae1a4457636e4639a3459e692b01e220c5be113f4e00ef9d77b1b2992f19f0e0b6c18e628b6bfddf2bd652e537010bf4ec9e8bd83e136f3aa27d7884e5650606b2b11cd41074b5a44efed322c78a1886145ecba92ba02f3ff197b7ae1ac769854180bab7975c7bdc1a6506b03f5999fecc440b96ce0cd8105595dc6f504eac606bcf2ee57e30142607a693ffc33f9a9818568ea36c64cbab082188d1ebf46118ddaec06cd4d36e428ceb484a448cbdc2604fb166f4b6686a8ef37489fdc22303b7999f73fa4d6ba07bdce0e8745b7fc6483a389ee400cace7df60392058158e66a9f197bc2e780a98a0cef9c9b2569294dfd4486b7def5db76db0675a69c9e9998ca595171c3d533436071bbcb31bad401ca7c0da8760bbc29537ac3c5c93977ab949f866f670742ca38c9a32f130aadd870ea6836325bbe0c7b338e853ac6c719b2a8929701b79bbca687f1f1a5424f0948d1e1fd1c5065406b98f58c00078a5c6764738271f9694e986acf0ce707f8560aaa0f75b93e83e0a104a8cb4abab895d7cc997e422d8bd667321110bec4b86f3e4938a7822a2fc5b35184d8a9a40f97a88fbe831e978131c90a357a66fa61ff09865b39829bd4dc0d73a7b53d029d5f644b7f71d63d8011d6961eb5c7b980e3a6bd38a6b919c9d54d2528ed0d6f164d5033b64d90eed723331ad20340b125409af56346101dec2d57af9394fd551d498cc58c1e6634f93662586954d835117788f12e296a9499b9ab5003a815aa123082af46e86fd284aa5ccc4015691426c69786a2ab71375b0b5e2fdc56cc136bc93483c55937875922725b99a4b56d659408c19534833cb475f51ce046a5089e12daa91e4951f489352bd1893cced1150e4387cd0b2b8318466d9120d7b3be9a065e09ada436d0276e64f568f3a4127ae7ae6cfc21c773b4c47c18822b268253c885471f69d0838cf48b4c23b18601949646b039302d7fb439c241903d0b59fc5f2356fe17322e95e080cbcb569039d06ec236f1eca99b56878f84a65d4b975217c8c0ac6bd4ceb39b9cae1f9641ae5e0cf147b0a2ac79d52880822be28a0fb33d9303d24275525905bedebbac016d810afacc77f5303cd1d19266481c9e0df9f1ca32e8e4c376077354af1b3f62d6e4071ff6c02d384b6052a6ceef4259f56be24a8b76f7b4f8720da777a8f643cf547efb7980f89ae2bd66f4320f0680ca7ceb163532569a6d41a163ec92e6be9b93ed793318687d53d4fb7a5250efd78be87b059fdd05de25e2dd33b20bbd886afd287c43177af2b37ecc06decd5ff39d0fbc0b3cb0166be3dbcdd34ae4ff334f337c52187d5d3421aa2b19e1a4774b805674c2dfcf192fadb77c44b592397ee94bc0e6be62bdeca1502c943c49db0b20236ca0536c6acd93c359a192834c45548c6ad989ade88bc0f44d75485baf484cafedf036ba21ef6562bc0d21c1a131b2a9241b57ba7b40b59194d7c6778f961c8c0856f9caf2abf8151c26a0cf278235434852596c35f2b69e36970d94efadce5b8dc94dd087729160059a2c0982b34f05f279dc07e8d26ff73690ec2802c02bf2a829d62633b48d0292b0e20e4a8f62dfd488b66e85f1df5f271c1d3b742092cc47d289037a0e994bcbbc40ef525cfe3c945cd6458b3c0843b1c27f1aaabf8783720c5194772d4b99920ed7d0b873cd163211fb7a198ca3b0390239d2fb3190a129081e5e22c7c5476afa2ab7c3be0899fd72e364d3fab9b7647969b386a540b2d9e8437b7982f838cc230d19e02e35f723e8c0c92b05e3a947f579af1a2718d9531c5bbc59ddb05f1e653c188d9239190df65f83948d5c594fee5178a9802f051cf51c13f71f93a456a41d066904ef7010e55565c8d6520f645ab9acd7bd09c6db975043aa7a52bb5a9282fdd953da143255dfc0f80410b7679bc85f7473fdf3bd2fb365344677231497a3f40b8e9005b0f8013fa5e088fd2de42b33b0043f1ad624eae13bc781d21d81358aba8a75e71e0521e550db9c8619e8b14141a0c0d5874ce5e35209c2d490154d691bdef46046114dae7eb89d1ae018b7793e936ff265326d838864c6371e1989827976180b24205c0f62b5e41ba52a3e92c844c4a7f003a61028608545e6bc11187e4ad7a6d3e8af62c4eb05ff44265e46693eec5eb7a11dd671051149ba1b29efa133958df0447c77b6815d98cdfae0bae5ef50ac08a39eb91ad35866b0d08c4a6335414f4e200dca28fc9884bf94c7297bd738b8fa8c7ec9790bac2e661851ee374ab235de5966e13971a8647b340d995eb1a0a929fe8bf6e6b88efc8134d10eb1ebc06e37c2c5ced53c566a9904a354823c593e9180abc71dca655208493ae4a072a0551e77b8df64dafc16f52bd7c22f03c82f4011bbffd67eb8b7a2c661146c11740ddf1b878ece2fa99af7e48f333327ddd1e5c68b58bfc6cbfdad9138ff968ccd5d24a7b3c7de82be487d0b59ad2d17cbd89f6c42799793031fa363940689c2ab3a8bdbdbe48fd177bc7e85e7397b7ddfc60a07707126c1bdd282f4281ba1f5d92c738ed5e5fdf8915a23f5e4dcf33d7168e2f0acd55371029e802e059c0837405d670cb394a6d23da8c9b1495128b7a4a638db3cb1723d6b57580ae8a08d14bb55a93e633a84a2bdb351407bbb6ef1a303a820078f2f907974dc4432f29b49dfcd0c352ce5970390f29a5e38af317a2d01c482cc3548ed258c928fa37d5f11f8724ef4cac2e2832e5b2209294153797eb3b822c3bb19ea1b8df85b1d6c647e4ef251a26832fef3c237d09f699f164a72a39d1e6e31b24013d08e74580866f9a0c5a89746035482170f549de6d50d89badd34e40bb27e8b222fe88ee58bba793c6e9b90728bfa4b75e30abfcc5b829b68f070d59cbd0b51474336354a0190a728e80bf71b90b73ad734e06028799b299f646556f5d3fe1c59266a82f06457657129d4471c4db079d4f9dda97813e8888b19dbf8a34d358836bd40162f166f37e43edad8e77d0e94304a305104010d819a09032cfb63db43a631b173d57c68ece2b88ac255fca3e9b8b4202181ff17b6135f154c9bec5b5e45f1d4a501a006d8fa94c8fc59d5d8f4d862dc279a4d680f18ee960169f11eac4ca6cbb4d37a0ee5f064b53932004ca737fe2c4a8bbfc67208060969da1accb956c7f9405e591359b9a4bf502a4d2ff30b200c4f76b3e0e1858c75ef91b7db366a7ddea2d036553d7d427645b0032346a6ef9c585a40efcac179974c344297bf8c2d94f644f093225117db4f73fcc5aa5158b7c0bb2da060e101663db7c6981d519df749d3f7de3302858c6fc01d8ed97ca8a6c9b217a3550ab6658763ddad3dae3c6fd32ccb7027a6ca77f2f6fe96e189f91ff01a44fea5b3ed3ab00ca9b87389d5716a5f87df1db11d238a62c1d52a915f39469b7acc5bbff656b149fb9ee85f92486b2f43e91994ef4652590ba3f01713ff3144eeebbc3572e3e5d8d5b54dbf3d9d69f6e1f32a163e9e255138d8e3fb3d5e7985c7e87f208f327d2e849fe8314577fc88d70629b7f92d7b4f8b565eb80dfa444b75d085e37c0756f9aecec9abb21fb86d7fc84a7c679b399219ec423cd2c2fee368e077a6226d4a1251e5ec619910c7d81f981baaea4b7a68a49e6343e4a31e94b7b7c9b1f3d6669dfafdb0e533ece70184b7b9addf0ae7093426d20181e731e652ec5c2f16e841b9c74e1826255d446315a13c86902e44bf3b4b1986e6741efbd494508cce52af8b0c03334cd1a16c9713ed2980265b1878478b1b39ae98cdc408395bdfcd87c012f64436a24778c1721d091e18c403623111987921108afeabcb139cea9920e211c07b47f598c8064167a47a2b2da4b50d2c334584b5940404324c2d60b7bec5bec3a324ff9c5f3f77f47fbbed1e8c92523a65c6e44470ca0f19aaaf89e3e5c4d48fcbe3089b402bc44a75afb9a31e675599d08e3138d173e8889bdb40cdc32a9571b9bed7fa7226548da2ef822c1cd37a70f1747779eee095bff05eceb4ac8f3c0be440cb2b7f4c6277e215734023200132da7838067d0f59370ffc566335a6ead671cd603fea437373a50a6be087415f1db30bf12582c18372c1b8879a5dc2099ece89a943ea02f9f12edf9538e01586d19ab51c4d37ea7a7f05bdd7310ac836efe88f9ee4f47978a84e78394e4d2851342d79896c2fb24afc6549a439472d654ddf8b364cfcf2765571d16a87ffc14e22f1a1ab74f5148aa4170cabed4a932dc8a392993ae94b4266bf73fd3a5ef4a2fe9e3b38d322a923b5f042691b4c45ef21e128a08f73e20a61e174cb9104443970c745fa703f23be1f28a598839f60efc502c4423b58161846692e143d5659558ecff66685ed9f3eb946513a19fc7367939d14918c5c65c18d69a1a9974131fb8e1c24ffe3c9b97df991eb577637ac9adcf854384b5b6ff819f1c36dbc316cf16636814b19eed7fe4cadd4da826fa0bb0f33f0dc42eb811a80904a94b44898afbec751cf4c0f32541906070db6541b1307ba1af44aae0689817d420bb2dc01b20ec6dac78a66f88988d488f36b5e5caceebc63c7e64e1883992fc56473034acd284e51c841c1f45bfdc7699d8c16c4e9a2d93fd93e8df22011fdbac146f8ce540f3c31dbe846a4c9b24b429582bc16c11d74d3513127e8e127ff50feff666acd4424641efd31232479611c5cd9d2afb6fc7335cb1c218c03eb94c87d0e6659c1283b50d03aa160141569e27101fe1640a54923d82941e6041e0ca68017cc6a402d9351fe7b7025fec3ffd5dd49c8e7995c94239141674756109cb6eae68bed5eabc3cc31378049386f0b114526128694bf3e062df21f6f1941a81bcb428c080c581a90a3b6f7c9954c5912a130bb84ebbb1c160c077c60f08d5162633c67df5848d4d7211b32517381814bfadfff6bd6e727ad3d575b3f2dfb524aeb912c644bd42f9b2869802026407a2e32a966cf316d7e91e8b7e11e6b7de394a486e9be9da9bf308e0e758ffbf7faa20d381cded0abda57851e33a448b97f5f8d0b9c8cca9bd1e77830d08ffa31feba0abdb2acf6a50d0b20f6401eee44c77628a8f7567d09dd72104d17f55fc4038d974a4f1554d21d4139bd5047a577f7ac9dddd76348e325f527df0a3110b34151b32497f5bc95187f08935d83a05a2b6d13c0f908fc5d0ec1d8e1d2d33b1794af6c7a5f76832549a73d6672449393ac42d5cf3fdf2745ae54ef9a9eb2390ddf20cce6d4bfc936748fcbb50ff892d46135d95567656a68ddce6415ede28e4e217a4043943626e0c0d671116d828dc81075c53de51e00121b09dddd91369aec9bb876cba4626be66d75cdc395a41d05b8037e52289e5e722295e1558363dc5db991e851310145823db11028ccc866a212b7845be6abca633d02a44132597cde4d941b1ee1f33ae380089c0214d6ba688f344e31830132c0f0daafe3df5a288ad5fe5b46e49afa17d6379bfe430b3e83783cefe8c81ee5d467b2a7dd89c0afb4ca7c34b3dba15d4507970c4869de70ac5192bd1277bf1eada213b19d1768d36aaed25c0ec05bb8ea905c4703c638410d971e37640c3ab3f01f05a030d83ddadd443535b75a670207c1dcf54a97004e97451d92a450b6943d8d70d46020f817aff2c3e983f7bb49ac659871ced200175fbf23796a1f40493b53d2cfa69758164d6bc61a6c982468534c122ccc3abec412407c3f561ec621302ba90437304c635939c2a99eab1bbb0836cd8cd49b10113fe19cd657e243849800b719971f06197fe9a0a7bb33f7daf0aba8aead4c8dd848d91b53bb5adadca9f148dc6154f71a73749b8bb3d5dc0bd9e94b37d5b28a1d21d0917590fd988e597cd2b21af1ba249f0e403a8fcf244d2560eb8afbbdf68878b65d98507836535955c35bf5adb3f11b6924e65d42053a1f0c36721785ab2b0f61c31fe5ddbaf227592d7741af49b97ba1799d87e8ab08a8146acc8bd6bfb37398bc1ecc156a730cf16e05bbf3d15747e2e1f01a3a40bd33ec921989abdf7e684b7b2a2ba2c5af11367fec40484eb94c4d9924fe6bf424f90f53cabd1021762f14486bca5f222abd101f3c0c3f843b42a94756e4df3b9043d3c67fd765568981be7cb6c06e3b5c61d283ff39ed55e0aa81867600d5e83ac9d400d2f4142db38fa416405762fb2672a6f37f7b071f101ec098a87117dc146b5bd75caeb3d8a1958abd58d0fd0dfe11234e1b049d3628342bb5467f81b3eafdeaf568b7cd2206536b0a5aaae27d0bfa8c2c3c5851bf40e4e15e34229ae2cf3cf76425cb50ba1a8e4cee5ccaa2fd8d92d7bc966a80581f7f4591c305f0267ce2bfa68d90308fc78fbab9b10ae05ea38838a2b2a9bf5c2b33232fddf88a256703439de42df4bb65c2c29ae2c850e8b12c76308781ef4bba9db37d4c04c4af807f682302f06ccde874d7563fd6d41054e6e1a6a79339decc2da9a803d06d3a3f683eb1b192f4e9744402e82e85d23f9dcc6c40a1fefb950507834f31e9b01583ee1310d9ff0d1168d6b6c37a2fed69ffb67d0b7faf75bc893b3552bbb7189818ad5663d6be073be04f2bc87e60dd7ad4dea21287416c943033c401f2426903705c9537c2a634e84acf8562ad56af475c7ebfd1eabe968c17219ce02361d157513994589f569ab69a4c18f17aa9f53b404e467acadb7430825892100cd3a397c1d9221bb74e6a1c046bd5198ce278affe3d837fec1a0ec21cfcd9f2c2c239b8f3e18fc20dff4709783f71b05c590973670b7e1105b176a25f922ee2be9a673447d8001c93b48d58b8a143c208e3b543733c4f785bb9b36d2acc6e2dade2d33b28c9a5031056b8294cec6a6e4f6e798cbd3c9ee1f6605264a85510ad94c3867329eb50abee97a7d50ae68b66061d49d6fec7326622325e816120430f3155f2f2fb70616e3dff4631195451b0d6769f815892b85cda71ebd8937bd2b9f6ddc783e9d7ddf94c862da586934babaa77d6568e327b9f0ab84cdc120c22ed38c8057cbe61653c91a9f8c7695df3724a3d247ae19c8c025767bdd1eea11bd98b95ded87043107b884f56b8e1c697f3baa02715dad83f5929be0bca0d4d1f56b2005c5b0d82b60bb9ffc67c4f358dde2e40d044a24ae3e6da4ff7acd06c8eafa52fa7441a71a27c5e641743ae088ae797d8357b9f927be7789bede39206830b8a4489141988143f8eb063fa38aa54dd6c1a569f5fda994551f14887bb5dbe0ef3c1783b110c2abbf291fbf74c727c215e44615b054ed131e0b3046fbe2f29deb3b8e917201b74c5944a078367966a1722e339358e4e4f56164aca52659ff8a6f57ac14207afa6bf526def01093e99c5f6c019a8a3308a2a27e9215bdfbdc520809760a3edc8974327aa8fa874e426a4925901445e636871c88d85e2b03d76b2cd64981b73dbcbc1d5070a2722f27845c85269e80f8a8297cc02a3d167df3e798bbf0267bd8477e3bcf5132b07ddb519a77504a639430dcd39292ba40aca1a0e743712f01a999f47f3fe7c52b9c38f4c6728d266a2340e7f8daa9fb946ac9ea918e842a3751af1a61dcc32021775403b5c8405e9a102c30574534e6ca16a590c49b443f96c8e32d63f13532e68d0f215c1dc9e7b04a2f41fa9c639efde8942258ff0cfed059cff47cb0fb58e739b07958ca9760294cfc52385f9fc33d4a69c1ae7a72c3512a1d6f95fcc1bc57e232d1bbd8b43d2b39ff8f6f642b6b08f73a882e4df032eabb23659549e5dfd7f525a17255b9038a2032bfd00d16adb1ee28d4d6cb4be14aa07261d3eaff613677f6f239a33dc97ea0cf826877e7cc557bfd6ce674aca7f7080d1df01af8eab9320bfabfb773bc0ee56b8b0478068f4e5a18e3f045ae9c43147e6eaf601cc2bc92f33b13ee545808620f985ae5b7e61b3a0786d2e2db57e2cbd2abc471de6b1b81ab93f7ad800891b52df2844500137dacc7d2d73d648ccdb5ec8fbf4eecb032206978bde96ed1cd483882e450550262b275c6b774791ddfd41a270681835bdbf8e6044cb46a4a906b5349f79cc64b3d14d81596a71cbecb63258d26e8283bb0b067978d4d0c68e60b2ccd4b7603ad16c10023923efb128c1f0a71a3d755bfc9beb1e96d983b5fe3c2d9f1613ce4d8876d834dd39479a6cc13001a8c5b3183cbce0537fa731507c90d268720a4f8ced46e388867e36c561d4ddf9feda58e982f8e6e983670de7ffe88670abe13b0b460b6dc458b03b9daa11f1ef12090ced707efef909387622c09e19d2258ed65c57db97c30fb93cddbd885f5d9e5dab542f2687274ffab000fde58f598cef350277a5aefec1a1bdbc3ddd38f11480cdeff666bf943ace1a436ed58018f530b76d1cfeaff9cfcec5d7279cdc4b5b7d057cb69c9b8a60d79720b6cf8f57e910db7c8a0b7e9900b514144d9cd4c109b9daeebfece45d454e76d06c3a855a040f10966a4d24ecdf465425e7e3560d11db42a985dbe443ead98f55ee1967f3d3a2f902601e88d3843cb2b5514ff3e19c3664b17fcb461476d2b198bff1c784cf32679c7fcd2aeaac9ff8fc131671b3dfde3d969d3b3fd960f0ab66021bdc224fa28fa487cf7530cea99e0d58b014533bddc12df0df8a92c01a75cd5d561b25c121fe89b8fbac3e0830addafa15ef8b5681bf01ba4df54db661e0b2123053b50524f3d8176b8aad956543f4e9ad3778130b760ef93c6e4979bb9a9280875d47c0d6e31c4682affc4b7fcab82ae034e3b9cd3c40483a1521d46ed0657ede8e4743624405269e2b4927a46ea43017a23eacd247a8aa40ca0100411f70288ae71371d8bcefe21e1508671d03fd6b6d880beafc2481561bcbe13cd056dd19627188c0381fdfaf264cae4bc92efa29b1912dd1101d7283d2f4961dfd0573911e7c4e23032a596452dc78c6ced76aa47b1f3c621872c97e1635e4e6c2f81b50f95e865ed5e121fd40bb82587403cb154beae79be86cc16567c7678d356ceeee9b1c2551dcb041cdbab9ce733c8816bdb179da66f709ccbaac760bdf9eaa7795a62108d94a569ffe7d5d4555e30ab8e3fa91c60e248ef8726fd57b969bc0cd8938bf59200f6710c07a687d79d43820c9938e3a95be2c11a4a0b3ecb739d9e5707b1f230cd3c8db49bf0ada704a32854033acfbfe8dd2bc4d73605ba81fa8bb3635aed39d2cbb8f6365af4d4677e9170574342ea3dd1034d0c96ce0fd30c7faf44493b8e1505d33ce9c257630747327409b20a8e1c2cf3483ce6f26f034f473ae4f8d6fcad58933dd02e3d714d7b415f64482de210117912fc53b631ad80764c5482372a324e8776d27882a9a8e828f92b4c8bbe6e20ef2cdd22479c3db59c0d49937329cf368a02e87c068f246ca11811ec5479d49cc252056f5a252b5214b6c1f1d6c634e7e6c4aac55f271d62045b675b991f6777ab13ffaac4b24bc85ef01bb6151a969fd5ed5099add473e5ca443e4c7e4b2296d0a420abdf9fdfc3a706fb50aee23d9d8264f0bab53c8a169b37a3f81c2dbf0eb107ca920d54edb69404a558dc0be936fc0a06b4b7fa074fe88d34c514b577386e8350ca9aad71382949c14902c619a98406a03b7e5b647fc024538e9a77b52ea9a7bf8af526a8345c2c3d801ea0e4b2186b5c90150acc02b9d998d04b04d2a27261e32c02fa475779d32390f790e486e9cad73680e6e2f44b9e43f48979da994c8193863bc1148deab7ada5e8342dad74b0a28b9dda54517319a21accbfae3f6131a9eaa674c55de372d519926c1aa62b9d601dcc16e82ea77bd9f48d877291a13af3263a4769a60285bf999d4c912f916aae5f1723ba664a671063e04b3129284a9cbcdc9f5ccdddabc0937eb6ee1cb6c6351d9751444e95b7eb7a9e57be1c27c051e9d41f3b6a4c2c082b728ae4797dc4c891d53306af3e4c8bcb1e242b0a3371c664d5b2a1a5a699266a0aa909f79e981b06321d6216db065d9f1e1131c0f43ec94ed4485359c0eac0c6f45ff86b5ccaf6d4a1cf2d2261a3ecd6d59f728fd2dc2c111c533af28caa72c5134c6c583a805e92cf0b8ad0801a496f33e8ab40a9694a0813402197b4ff542488c5a0f93e7ea524aeac80373b7fe24fa70b051852a540c0140526fd2ffe6989911a521d604512f242297cf103fa93f0bf625ac9412493bf9f6214b62712d8f869cce99e35ae81251b319f1703885438423e209c1850cadafd7223d8b4aa190db442085099000df2cd6a762eb304b7954c9ac2555127f808ab9b4856eafddc9873462ac87e7a7a9c3345ba6caf74195b697c064c01f151be6eaa1ca80a9f62babef33e03afe199416b26316754904d2027c8a0e3d33ecd9b112f83fc8f3430c4816a103076d7966c652ac5452d1a04910546bc30bf48e7f1d5f30026be2aaae5d6f0105fa880aefb50cbb6da391a38971ad881ce7528f2e98bbbb49e992cff3defef9a1d3d4999bf28c314400f4b0e698d8485ddeb1529bc87381c1df0efd4fb877c87bcb2b7875913dc82e9c8f3157732aa7302b67cdcac0ef786d0fbea3c6d3bfa16793fcc933aa43315ea882f7b0364390c40610f132f3583159f79863f41407df463264fb3f67c56487792d25164ad28d08cd5512a7619557848e7a3841e5ae5cdb51f19e13eb0566be78c49946253812cfda10c8b21e97e1cfc5ecf4126c6d9e3706e24dba67fe78a6b6b8140245641d1554c968b277dce494627c567e55e07c18579bd80d10b1888db60f5c18ab3f352411707d6795380f46b46a6d7a9de133199447226d25ffe61ade9263b3299a213fa4b27f3fdf1c21199199cca197699edf6a1ab0dbc30850f3355245b16f93fe38b4a7b45e8773a285c7f8888659414a53a8dac316aafe8fb18725996ab744a571f3992d35474e4511e7bbbbe19717cabd79a920cc3aaa7ff907ea725f4baf3e1faa90e6b4d07da816a4744258a2993f9a127f9f1291a21f518363dc2d6a0828805831093f347640e3b6de3a78b41774f72220a20a23c8eaf3d215bdc0467a54200b4b613282121bf3e26ad437534abdba69209f498334edc16b9046d569333438c7339f59d03779adf33895ee5fddd88266b82a1d263fe6506295848a4ea90cd998fe4ce8277029c90ecf77eaf595821bd70dcbf4c631ee3b0f4d832a259bc48cbeef343cbbf96b5024ee5e27db38808ae522453066003137c524ea8be1877290c466d615b9139f661548c50f391902dd30728b437af0e8223b33a5de3d28dc4a7e6b888c1a75ffaa2f2347b18c547e5f4b51b3a37be2bc4aa7e75654f59299edce80effa2268a5082c9b578e712f4d04041f5ed49ce0731d5778ca79a31c11d9c6165bf24442d87dcf43360076ca286878ccee81d169ed4ae06f97cad592d1296c07a33469ef0721c68bd92dcf5436e4789754a1ed8b4e45c2d811c8047a8b946e6a2e750b25e81c9705733379ff16f19861ac801514cbf8292a742c3514ee6ad62530b0df562d277aae3277c7ec1865eda16d952f92a5bcbc9f23f14cd4d594be317160467d89ef3d0e78f1c3c4d88a9c9f176428aa5d31220873564a17d4c9bc5558250efd6de7e016eed0c7332c5b214b69f50240b382cb1777a5b06d98ae29cf61079ce8a93456d590d5b46a34fbb8b227244a6dfcd79674fd51a0829365b25eaf696b31c2b2a291f22f48a9e80683df0ffbfa2d2f080edf24675f9024bab4e3792a486a23e3800e88e0d37ad9fa1c717760d61af90aa77a183e205d17d8ba1c5609f886a4cbb112ea995a3c46c48d1f113a858ddf42c9c5304a3adab60153213dd438d1b29f3b8baf271ca4534cc0b50f8299af5e1c9b68041e730a40cfa094941940c31977f5dc3bcc0e9cc1a21ad6b45dbb5b7dfc8a47222f5e32cb5eee132c28b52aa632925bd47775e2212289db2d64e07da3c80509657e3858c4fb7af14ba9860bfb09832172c4a66123f355dbc9d3ca50806d87eabf1f42e7f6c3f3aaf8389d99da0744f66b4a8d462807e4370a954e5d89923fe01c03c49286bf09bffc2245b98a2084d5f68b4ff1ab294abda1ede0d4c1cb69ab3d45eab01a36e010a11e44187500dfdedf0eee9c5e189727012a6e4741c8ecc5dc81cd9c54a13eb73b7a874990a189a7b92f2aba8e6b4c0595cdd58c14ade09d2e2e235536bdcc17084ffae8dc8af8a26ccab533e8d111afe8de56d48da177f4265332dfeb421ac9b9fc6e2ca322ebd2d9742bb99e1ffcc4f444d05f667be8a2e9adb1c8c02ea96c3e1614f2672974b7dfff4813c18c2f14b911acbe7441d45c3d077e8f9f4e95271c15a94ca18f3edf3fff65d5b01a3e519d61a113f5613ad0b891c3a4914a0aac0b595beb7b0d1be39a920c9ae27ea48f1a400f69462b10801dd131a1734d62644f666df968b3294bccdee32fd1d96fe7a0e59642b7a28b28e7e5d6ca17b3e5f36be974e76725e0e9bff0d08003abebcb3e0ffd88977888d28da11450bc85e132219e053b9f7d598be63ef7432af72294738de1f0b7d7897025a03e765f21ffbf648e253cc0fd24030dbf58932e781980416e93f279a41c7ce909275a063e60a7d1c59ba08d0bf623c36a3acaf71190d0f73c2160a9495dc023d51b5aca3252294ece9504de2bac524f209bce0a095d209575bd681a8523bfc1bb9fd97de6b38b28dde467eae7d17696b42db688a3663ab8e9eb9658a928bc12bb9ca6cd95a40365ad5b82d24aeb0a27e8f1ed4387cce8b7f423730479ea671cdc78b5dbcdaf158b2ff8595f2895809985d4dcd2954135e3bdb140ad62e21895c4b6d6fdaceba3c5b38680b1841911aa80ae5902b7c383f0fd340c91a393ff167d476547c69b39c26bf6188a9f457cdfbc3d23463aa92b49915a99557779d4525be52f90230872899c7e3436dba0988d454eadbd150eade555c790bd7d0b6f49612ba3408e9774de8fe52312a05f0e992add4ee7ab0a40fa15bfef73aa37c46dfb0d4b4fb5fd69b56c43a79f624cfc7fdd6bdc77daabdf89444a1b6e482efb5b56021447e1e01e4b70157999c03b7d38ee56aa550af81f1e70169c0becf12bcdaca023ab2ba213d0b939dabb9192f2aba07a13ed69aa519a581023c3d9b414191cf0daf7a59f9ce0ffed50a62498c5314a49f09d98e77d26da3321891494f752be8cece990e50fb60a2fa3e0e554bb0516828321b7c978e6b5daf67d10b5864f2c30e4cf4f21834c54ad7e108fe41bf995ef795491d8347d631907135dc42eb0cc8bcec5f78a3e4f3e4c362f33623072a38e666df6196adf381a22daefd65fadebbe64a0bff9f99626d94b01d57c55864276b6b3f364801742bd0e748c89ceae207aa754dd5ab5110ed335dd99f9d7bc239f2609f14c86207bc20ac4017e6bb0319784981eb2635627ab562bf5ad464f540a7bda6a828c174211717cd774afe9bc11afa292998822ead5a176e78639e6974278b99011757a688a72da0e017327d95074803c70c90ede39d9f3044bd3d53171581967c108321b4ce539195b6e8d7f7dec01e5b928b065966c6a9dcdc05eb8eae53af6444570f340f0ecfce260e81e55940173242a78d33e974487f4df41e1c94486be484f2db8bab6429ac522b467fb81645d8c68c92148d13fe76f395d37d1ad1f5285b813dc133ebeb4a3deff308b456e5fcce98a3822df59f53bd89005aa672c0e6ed4b16a32ea7a68b40597cebfdc1a8de7c52b19921859b9b30aba19693eedfbe59488a996ddf527ecba789c3b311a66f74d5c222b37ff9e0d8a3e0c5a9a6c3db9df92d9c05f2800de0e0a4bd23bf95edb19b0aaea33baf437da9bda7c78b540164d84eb2eb12d52c1e776ec16e281b1dd078a49ac5f3f5f03bb58bff59ed58c949d049a6f1836c8b0abb18fa26a23acf079c6d82e4a7dc6dae8886a90acd18b57035a46fbf4e6bb56c4a5494926eb649cfe203e61973eb430cc0ff3e2bcf0453359d469a64653a0676375934a257fe7bcaf7e4cf50f95e998e3340b0c6c1cbbcad6709d6d195a9e2b0c48b01d607cde217bfc6829dfd4691768e01c1bd9f4cb9fccc14b59ad0ed69565609664052ca39b884d7b75406f6ac827ec11117a0a91d8b26ff545e668c6d9b2e6717097e60d5a86483051dfbf9d15f797d3a81b8b7ab0cde91ca5e2185a7061ab25d4da80731528d053a2d3d400f04effccf02085d61b9605978af1055b8a51714b0e8f90e1f31343f121c577855323d45d24f71f52997329e6d2da7561736195e3bbc9454f0f7260407cadf07a58cb3ff5d1704c8f91e62adee5d7c0ce1ad757d601299c9af8b596ae627d0155c771ec0a2cb65ccedef774b39744814758623d649c32ee1ddbdd490c1637cca44bd0cfc51518ac248a41dccbda5096b22c6e9aabf4f92c21d5be078f85db09ffd0094e94ca8be0fc1f0ec621c1347c3dc8578d907beabd1ecaa9e5bdd9858cf85c0fde19fe447c56208eb0d766b82def5fc03b18edefbb11f12f068c2b67fc482f9c1c5469caa8bdb074a1a30c0272e69b4ddcafb49d6b38c026be546637bea29ed5b4e2634636db8afa1ad21ada3345a7a20f11c459d6ea4125e4676aa45f76357e7eff79fa120ff4a0e8a711060cfc3c781061c60f610c27f41a9ac18782626d20212edfdf221f24318d6f3b5fceb2d3c44400a436a421f6bcdec48252431f66c2f955fadc2c88d412495cb62ac32561111ed0c3ddc888238e820ff81d60749ce8a2fc507f5530f2199c14073b38d4fadcd2a0514640c5cc7813a1fb4b7c539fcbcab229d88c6620236d6d118a8662dd2e7a43c2c0ed877c9f7e9d39938cb7a80905cab4ca5b607dd2869a1dec4566d58114b2fd12a842542297edf4cc8f33804e98fffb1f1a2b4930e83ee8b92b890b093a18626f8bb8ca24d9d9b134f4a6ee5efe638d3a013bd38eda882c75afdba6161fe4342d3cacd4d8420de50e8342dff541d5980e44e4250a4d2848ea61a4c7a3ac94a84b08ea32778d08e0f13efba1deb79d47e9e07ca5309324ef237827fa3bf424233ee4a4aade7d00ee05801ca4bb20ccadac2e22301ab1321bf155d3346e0f69a37d762cb06860489fca55f66bc93a3b9e0b10847a0f6339f93a731d544c69d8b9636dcac50851ce34840126f97450131b11be011d6627826ee7498a933dd39198f56e259237780c593e1b4bf5b93b608cf9373b8c584c7fbdfb1132bec812a435f9670b449121ec5fd99403c2bd4cd59ac6964d7c5af1e4125cba2fa15723f889c9e84bbf538725f7c96bbf7765088d2f3cacd123608182be6969ffba16500c9c90672f98f6ae7ceb5be26b8aa7d67a89330719b4d6e545086eed58c5c52ac5d8228b87fcc31deb2d1e752f4e3f7bcd71e3be769b035bd8e970f9ebdf726145126330691bcd3920fba548e8681ea8d90a735cf91d700333a65edcaca13daf309363ac893aa32886e8c3b2de8c92b0714d6b0c09116fb0c172451eba1e3351a0f4425feeae21836e97ffc62b7a88ce4af0eb25965a6bdc5e0311a8c07ce1c804200e9357c0ee13385a2853ae875b9726269cf8d117cbe0d45d1b1fa6a1c31a8fbc9bab2e6348222b1326c694d0e86345aae65c781d6d76fedb1f8eee8aafd65e6e7e4444c7b83e8bb54e0a79457f82ce5f1fd138c0a8e0ca6abd41e5cf26bf9cae05d6d9cb0d157bb97a7ddf4b192f732ea2767a2f5bb73730e8d6bb1476f40fd6a6efb475fb7a6188d256021cde2ef75aa5cbc2df5ee29bc3d52e159effaaf29f0ef5dffcba5c313db13d8261fd095a46c8ac83dec280de6646408281ee5d234140a6512878b5e428422a785980ef0d16ae686a9f9468ec6457c6813898ea1f782ba4cf917946cd912dd7025c8fc2b65af1506122d153cceb1c690324598d1b0538cfe6a1d9b09772eb459d1125361ad6b5498230eee317bf022220b55ca1e2c15f332440295f9406944f17481a3ecb3cc79031f38ee9be27763e566a8dd4793c91e8e8f5ea9d65ca7a8c2948c4dc93c24096fdbe4b2160662e6846c421f498f39c951273edf5ff5eab5faca9c02f23bce0e8411675182c94417fb46aacdd804b3c230d9b7bee46500e54edfa06c48820f6eb8d05ff95aaefbad7ee3d64a8160320143469719a9fec6695f8f4f1b710dd640d7d655f5d0aaae1994e9ed004c13dcf02e4f1b8bc856ec7f5222abcdd149bac8cb6db43dc7a09614c768ae684bc829ef3a3e3a96120ab19422c76b8db08d567dd4b2001e1c14a20a7e770946d24bf5c60cd2b20b0a5668014f675ddf36f23eb8023dd53d806c15c6dcb7d9a512bcf5ea088be9fa9c3e0c485c5e25cecef9058e90684dd4efa3fb6d3b0c5e5b1a68efca5acb1bde8f208775c9cb0bd628276bd72890962710b1dd1dfe87d8d89555114f99ed2c05b17343d590100a3d5a941fd7904bf1a91d4fa1561e5ea4330ba8dd30e01a225b1a8b1479af73eb6925888a8def2071a88175c1d947c33e8f860598baf66a8a58a52f0aa9650ce5c7b90f417508da7fcccef8990fe5d620a0134e64fa15f90e290fa31793af71dec575ec4884cd186f5c320511088fb0434c626ec3ed2f2409a7a3b0febb5e66d4df561d0494144fc971c73ae04277b3622120ec31f7ae55e867034b55d92639d790fe5c93ad5f32d71ba2e833332b1843872de7b83fb0fc46f7fa4bd3409300a6f77a177ebba8ddcb0497d7dcd02b1d8f05e96d621c48da098b7bb7307789f7eb31787581a156b6223b5b53aedf42a4d4278bc7b7114e1b9b0f5824a1af88110679d3a04908fdde63d4ca2d95776484310905a13c8a4a7dbda9b7ebf5800f062b53b81b3df2d6435985a379d6acee80c0ceddfa5b43460e75323bf6e7aef707037a4339a37d28147e6694bbe2fbed717511ed3d3a5600a271fdcb4e0a0cb06497ae88c9d20bd21d79b1d5008d63184390e74eba11e8d36bed2f681d4961cbc1cf5babc7e8d65107fe244c17743f15f34ef32129cd49ab97b8cbfc31a16c5c2ff4d507fd3bfc712f7658c96b51459419e869d9c096b8b5c963653c3818cf197fea6990d97711cf664d314751a7fd84ffea43f288c85342f54facdf2d7f72e0797aef44a1d6e59e1fb93a5ca29108a1e4186e55e4fe17ed8a5ba4fea95850c23b58d39bc903de8433a2879f0b7869c09942567dbd6bc2e8697ebd6e2de0ecab9125c9e3e048191f7980129d8e3e17e71028e1ce5f5c4f8966499b693c2d5df684866d0051ca638b4c71e4ee786dfa2ab19f891852e93fafd86f0fa6a96f0b6bf30e0494dda0b16bb55736b8d37d130aeb201593fb4bf2fe04e0f5764f3db27b414cb810a7926792641789713025d387462152c43b6aeb77d87b53ef4aad5cc46e3d9a30d091ad4cef82063351a5673aec9796ee4b275cb207dd78f12c231c7cc0a154ef6e93638f146441d6354839f78436898e92a54586740eac1f83695fa5e4394eb8b750749421593f54c16639b155f243e93bcea326393e199f035bdb8a0a9d5a7101073190dc899e7e3d8393d9791823635916fffc0e4c4bd92ea69be698e68f5b00f8a432c908a96c8d8b5571130759433d99942a564125e928b1d279a105e2bba7dc4168457f264ac126336f1755aaaa9a0c4ceff4a000a05d5341ed836ccf17ebe9fa0ccf847188368edaf1f895b2d705b8c8981b0529fa81d334cb85852e8c9ea8bb68d05e47a9abb234f2d8a352dc15ee2548cc1a76314ed2ad6ae75ed14cd7fa38dda2664e1eb9f585afcace7b9e83017f6d9feaf672b5670cfbb138f6f1b3cc8e9bae758c4869f13c4e17e324013e640891f58eee6f0b84f98a2194af638b08b2b9906fa50868f92cbf1b2f83a82356dedaabbf4930a26c69868c9d0fc2f1f4318f29f9031ce9ef682e362ef19bd5bdd1ce75dfbc82906a732814844db83ff72fc1f8f2e0a0eb9f618d3ba8d877ef3f9118a2e56eb40cde9ac58c0a990d0ffc97a864c1030c789449e5908b58570f8cce0463a392ad261b5f4b45b3c8223f5c7877714ff43ee51f79dbff04a5645f301b48a800b0d2e7cd0a59de9701660aae33686eaf73978806b4214bca2b69f86998e2c0aac4ae278f0831e96aee5f5ac36ae8e910426527541f45e12179e75314ae1e1c789145949768cae8cfa34d4e46a2f79f9c57287243fa29b2d558fd42b425866468eca8b226c3937b1d52f9024bba9b638445610835e76ce76f99e28542b09edf060afc5ed250aa897157da8521763e1aeca3b7ece452329e712866ee70a0c127c67b7d403dc7e836ee20af8829d8aed62ae864fa9d6256c14201525ca54f5f8a80ac1429315d212d29a2ee9bde671faa61b8eb95afc6ec7646ccd5cc976c6da674f6905fc6026b85c489309376b8bb954cfda689e3beaa8effcaeaf31b9dfb34178174113b835fdcece2f1030afd74a903a8a6f087600417ba7e95a5b2686ed8d4212aca28fadb5fb92872baf130f2783e9917edb51419cb6d85d017f6734ed80012473d1026c99f2b9e13c1202020847066214e9f822c0b7e5bfedece4790db8f257e0c8ccb7e39ba700f3c9c9102f6b3a5ac47a7ee3e580ae2bc2a4d94d3780e26c413a945b0832fa8a8c71c012722c99140e937a24d688dae339e39d51d05b4b8d37db212f42eac7ea635e7512316dd02b39fee9612db90ddc396201be9cd72b028d7056d0e5ff37c05f45d41b9e01d9262872faa61f435ad09e2499dbc245aa4d7709b22659dff29e141a397840ea94432e438a343ecdd87cc49859486c594000db160814bf2e6d59498ee5ed171c31e25c74c34bd35aeebd94ae6d52015acab791525426c768bb24752d8290eb8f326e221b469569dafb02e5cf84cba8aa29a1fbc5db9b6ca21672d0a8a178f0c75e343de03272a13e1fd726c8b7979200dc64fac6057ce97ebd475ac8c71103f91dd38e93abad5a48b55d7e94f3bd466ff58eb306774453ab516c9d7f8e904f1e9a3ed7cffacb718f102c71da0f46945e299f0ab7421bdbf9236ab78884e9bffd1a7db79a20d743f3ddf74f3dd25fcec856ecdfe6dce3f9c94d0ae411ce26ed5aaa1234d4ce471e568b76c729d07e1b959b325d4178d2a896dbf15b2a7e36f0cad3aa6fc06c43e672d03a1643074f5a2cfaa10237f6b5f41170817f5d67edf306aa5e88b79c03824428cfee4e27fe88890784eeaae056fe5eeb3b49afcb8b623d8498e64574927ed5f294d160536aacd6f1f55cd6baf810f4a7b408b1cadbfb61383ec959c666b2e4c6dd25b7ff4502b4d8201a7af264fd90e8a05f30a4179e154a8c8ad895d7006589e7ab5df05f721c997df0b724cda26c309377567f4ce9f915c37d0be26ecefe3d3e428d466adb6ff1398a242743533c03ebaa07476d7a15d80afe7b585dd5d1aa97d3aaaff3f735ff01250301624cbed5feede169abd29e6b2d0e59a1fccb5eed067ad5edd6edbeb8fc9bf3002facb56c5b76fc0447f60084c01aa130473fd4b62e7bfa8cb84ffd7fb4994a2b78975ab9f937ad961ded4aa7ac45fb496069e4e00f07a340990bfb3f65b5301cc1558a1e6d9552b822c35d32767094f576b24780b150aa1c4e8277bd07e075218fbc753f244de086839bc90afeb43f1d2b42f6d4b5c3500879f94ff7152917ef6a051288f89f04c24f6577207ea0d206b2146526c2b8e396efe6d28dd8d2cf871df4600f2822a8958635cb3502dd4bac156ddbe3779b8f92af107ad805898daa7d9c3216bc4bc391cafe4e0cc51cf68e427bdff8c229650c6bcf62cad826f772cc141380582d3b8b88360adce3c5dbeea0aab9c96420da0242bfc93fb0c426761c5fd6b93341d3987d709694666be153fa49b95436672d6750297ce3842a4f91114ebed8561a4d6b1b6aafb5af5e6a61b71fc6c3424b6f619bf66240a54ac7043f294cd98741d81bb1c8c90fd09ba30312bd15a504cc8d4d3a7490ac84c55efd0cdb7ddfaac433e485dbd62780c8ae4621cef1e468db99fc8270b2b8f792baaeef67fa13860596d3b1550575b4b2c58f20d3b85c6bb124423ba30d707589b96febd99e7625cec136df0f65523d4e9b3dc29ab67b3669bcbb2e05ba30d89d94bd1bcb273323f9758b668cbada239df80f60ccc6dcd5d0d5a491d8f8bc8334959db5d51316e95a0a1002ef1474b5dc81cba56fe25ae1951bfe99c6fa43f547dc685decbe044f31325ca8a8aca3a7b7d069d16397b311e895388ef73dae825e8b1969c2b4ab3b25cd8e96e7cee2b5af7d54eb2bb817add0744155e1b68f0c3696b052813638a00799b18f13dcdc06e680e305bb155c92a4ed60b9534408bbab843753c618325d4d1122fcadbb24fd7c70b62e0b8c48e79c47281585f499da29f194dbc0110ec4a747ab67414bce593aeb0dfb38d1d42ce1e59d99f2dd98ddc9e1cb84a2ab761abf9341fb1d227209497ac5269e9cb1b291a824f3b9063907ccc5563d5c3f04da35f28ca33fec3702dadebe685082b914aa9938402596b9326393149409becb6354bbeb13928e5579c3dae1c667b586230eb1531a38d3762d4d488154efca5337b3fea3acb13be15e46c305b3d77781d96047d15aaaacb2f3ac0e933bfd0b6445e63bdb004b78addccda7ff8dc4164e80aa1d17622bbffc73fefc174ec06b5faf4a9f64417e80a7a79e720e697d5d3725acf2aeedc1a17ff7c84aca31c76f6d2c0871ade61262f6b7cf4ad8843749a4139ebf4ee25419597ab22bd5393727300625a0ed29b78d019930146db51f6b7f06c8f35ebd5b01f400a8a96c97183c865bb7ee2d753308ee56211a3ac52f073a05b581c7eee2d64a5541333a3519dffa1b4d6c9a88aff5976d69269f26630beb801eb1deacd7274149180cd704d04e2cbe44a98a4e65a74e8de36c66313132633cd741db04e797837a7e7ffed08789aeac4e2a090be7bd4ae7063e7e269dd59878f57751d399f279bdbf479f15bea4f3d61a36ab152c319bd05fb202088c5bf904e2f256d6f93c045a3815cddab857c38443e92b9c936340bbfb620022910b9313f57b3adeac1ff7b0c3edc50052c8f630cc08ac0acb92a11500ba67fbebb7ac3ec56e1ec03b98c422fd30c965638f57d66fdb5776065daf96f4480516ff8ba850acac46ca2e48d8a5a65c0db47f66a1be13735e482d11cb27226478cfbe667b06663fccc8796ee52b0fff0daf1a75de7b1739a84249e26fd41f27ce7631b24ecf5c7e5993804bc0cc639c571d8f167a388bd77781b0de408b0d615fdd1bc7a033b0c20ecfa34279cf541caa467bf25386f1f2224723379883167636726ffa17cc2e873d1f21256e0e1fd8c13d58d0c0107db798bb08671977177515e33a4ac64720aaa08b2b231ecd374c87c0f791f3529a98e7ddca8629ccdee76325d494a50cce77fea75da224d2bb1fe3f453b19d39b9483af5f2eff8fc899cc9fcbb087371a85f0a4ed677927b7cca3df74a48c243e4fbcf99ea03590d94c1443ca8ceffe2f0e044a31d07c227790cb42a554eb47ba5446711663650f15c22ef28cd84864b0cce9dd1c6d290e7acf98052e7009e3726a05a055886c9be7ec6709a0c439b8db6bba8a89095063c6c7e03ad707104798f551d3f4c6aec352427f713816cb1df991ef9f12b020b95c77ec2dee066a48988345a93d430a164e54bb604736f133ad19ea9056a3104defd09a1f807e8ac5b24e21123d829ae2864aa41573fb96f08c33454c203fd49cf50d0bb1ec1cccaa648ea458c6243919232655ac8ebd973667b0e3a466073cb75f3d09e6652591d6137e06d488e654f3e05482e464a5fc7d2137af79ce78dcf66ca14e3f03fef96810c4e0521423c9c2da6841c6275109d8180e56cf58dd7801cac313546fc6e3093e60de6f8de268fc00815dfbf9c4d92aa62396125a029367da6a9a89aaba317255894d7a2394a3b2bf8a79f2447c2999975eb59bfe51eb04762f0465414d706063680c2adcc0f8ac8c08c03ca3019402ef927d04ed9e42c0f7990098ef4b2a564b7b80011f3382e15f91e9c79b631caf5538d8507dd534d87c1db27fa881ecb15e29fd3cb78f58da3832b59f11588afd700d8346201f968e9c51ff23b20c575e05da5fc5728cb7c44753f812dccbcdbeb245478f71c357153141eab76d06499cd309712fca7d37b0476031744e228687286979851ba8b4dab20a53c8c56da077cb647b61c384a45adb2ad7bb50a2286e1fbaad42913c703f7f0181cc84ab6ded8b3ecd9ff255a723f7a4d0c79aa446d31f5572d24078dc1263860b59cdeba21f4a2aa06f0f62007c41be87f475d3720bd194c58229185ff810965794d033d15b855b5c02d92e622ff575e633992aa2ee5d057814d9e8e48cec1232509ee72fb85262cf41f40679f354d8080d58a27001deb48066fd806eace3d23a351d1ff83fbae1e86f2e72f4eda6a15528bac71e83abace374d0e5a25bb64f034825ad182b1ff7177e39ff34f3991a53dc202486838ac7d778c74d434ae51ba5375e93a785ecae40a9b9c4aecde457149b44727d6785de5ff1fbfc232a0f3cbc2acfc7652ad541d770b6db08b16dd827efa0081984d6e75444e83ee22f59eacfef49f4e245c8670321e651da9d3d3eb674902ab3111f7c1cf92b9357b8628fe45a988f9c01070f4c1d619bfd234304dd9567fc1acb438c76c2b5e02ef8439201bb77bfa0e7790b5d8abb7a1f9e8464f1c762509316b29db460859879aa742d248458e97f38429292cb9a8451e7de3e0b6c5f1c0f104333fc00a29ba097868102beabc71dcfeb961fce2dfcde2d92bbab749c859c73d182e0538bac21cf7c72c6e454ae34112e41b4d89e8170e193be70b5db4c213dc875b19ad5ec4ed5ff1e5f37ad33cd189b3854e01a43894a6d609588a8399fdc73232d3415aec5beb406678b2c59e16d2594921f12e487f223ac12f2d2e259f0da308a3f46c7bc954801f18272c638d3e178ee8255a6f5d76d21a4bbf64f2e3895b30b2dd2769e1bf623c86a3199285d5b513e94b217b229dca2772c5869bb58525fdbfd42d79f0159cc7032d4b69a9343fb5b2e1cb4fdea89f8dc70687fb3ee1986fcdaba4852a796f02b1fdb2b9b9ca25a19ae62f42903ace0c06bb1a3ad66c7d6f17cb2efa0b42bab866e1e2cdcec330c671c26ddba6e0e52259aac31cf8c094e0e54be8a7a3241a66b77ba1cf5805992acc90b524ab0749cf28bc25a9abecdc4b680c6602ca8185aa7441ebdde66f6cd382006ed8571099dfa74195497f492f482d88243890c32ef75f1bf9b087bad594c31de7d57b2aa5c47af7ad9e40ba5a998a4c6ed7aa5130b10a5e653cff8350487de3d5d1bf6443b939e52f0156abb8227d7b5429f939d9a354de529ac32c1750a2e2f155f6df55a02f8509327ee4e4d8ff9581aa75143ab8b6c14897c0f5a5ac69ff24967b4a2ea9a8a9aa98683ff33c3014c6e7abcb58d4134f3dc82171b12220b64d317ecbdc625170dae767cb9fe7926221af1ead96148c4509a3d5f77e9316a1f7225b777ee10118b78ae4776645ba29b8cef908e8e213acfff58af6ddd38f24056574c9d94f3a4f7431c9baae0f4c6f7dfec8a69a39593edeae4be31d6cf25c539a6828b4a1609ef934257211004946148e2be2227b98d2f08dea1aedc105da6da32c39fdc2085984af79a2c822db91cf3ed5291ed0eea4aa523383761c13f540d9694b6f3b25d77a1f29e73562c07146abef103d13b30705a32136c6a0bb0a0440ef31cdcc4950683b61e9e365b806ae641ac26ff68cef3fc1c1726bb49cbe57a50ec373a1fea479db1836c1ad6e0d9ed6c5c07bf1bb3ac2e8d88529187c160c525dd2d0c7b5acc28cebfa1cf1920e4b5cd7d3de41ab2220f04af62152422da0caf756b44ddafbd0e5747f59ffe1f4030f4be72013ad21cca3319fd2539c5f75db3f6b6b77247e714968a7d8c813eacde9b48326acdaefe53993b9514fec66160b0316a644cafc5554da52a5139c56b233bbafd6af380dcb889417de1fb1ec81497a448a0b6113fcf2781814519fd1df29ffc8e50aa8aa2c9fba9c47b442a5671f3c3b3329828610e3741f48ddcd213e9584ecdf2aa299199410f62f23694442cb0e0442e611d10a4495d9bfe8dc306178284db1dcd94331f2c05dbf837b94576d494eaf3639d2bd90c6a3e0765727182918f15b99f30323f01947c3fc94439e935c04e49e068d59ba942063fa168a6743221be8c5e6e78699e1fb09022d742a778c29e097b7b4278aed4cd45ab8924203f3dc16d119dbf76efff7d1c6765911fa45c4408fa2bffa540ea8cbc2437b8178884b5a90bbf63aab6f32f8f1b9a2e273a33b7a2c9f68782a7d61aa238fe7df98a7dab834cb98bf43118a47d2755f75d6e2b8e0fcf9b8a40d0c0799206414beb1d0b0e754c7fbb8106d0d36785ad6e1ba3c59e0aaba44ae1ace66f27be9ed41c3e4343ec4d06653e59db606d9eae8434a0a273f9aa9df6c0611c5d13f66171ce78dbcc8431a7061b159b24e8b69b54d8bf104dc9d2f4fc6204c33baeb0626788bfa53db28d09d829e4e3b02a0246443cb0d4b7ff9c85df9a31e72976423c6e9db08c080f2d36b83f43ed7864849a1b70f408380b014602310848fd81855df5cc5930335d99999e5e4aaee4644528c5d63656383cd94ed3e628304cb3c961587e5da77fadc132009618cb6e05100c3e7138c0a05b22f47b4e90e20898504d5ee76406728e24c5cb4c24b43e29dd4a46e2b8c5d3f875bfe7f0aba6d5a78beca02a4574db729e2ba67b52efc2d8d822850e2b6831e3650eaa82900c699e570316f69235e85d21b6f3d0b02317c91a1c4b19909f95a8e4674d1bf07cc2420f0b43d3b256b4962ea790c9652fd5672e4060f09814c4596cb664336bf70f74040696cfdd42c579231237ab7ade3b2594fd69f16e3771cadc38657a6234a7692efc117d2b9487b62d3df0a98792f872ae6c3337096f29ca7beb9dffeaaa939bbbeb8d2dacfb4d3ffa83f5e7fec453aa468cf0af4a0e7a1116dfda671f1119f1154c6ffff11b7fec16956206870aca812c88a239472b11a865b91629c8a14df37c0f9d0161460ed21c6c0dbded813951c5b8ab729296fd6d8f7c277d998d085b651e9363feb1fad7ad4074aa715b346d9247cf9bee8ddc43f0d7382f5f4afe4dcaf80f865ac5504219134443cce9b2f335c77b938a7e448c36b1581c75fd406de30ee19cae0e763decb0e27826af1bc069225c4325b667332ee74ff90ece731cf3878ff0d361529c3d68e76552290654dc2a239b15c188177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806434cf95ff3d2c561880d39b8db875d2b3d2a47c10932a425d3b5c6ebd0aa59b321partitioner.rbpartitioner.rbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootyast2-storage-ng-4.4.46-150400.3.19.1.src.rpmapplication()application(YaST2/org.opensuse.yast.Disk.desktop)metainfo()metainfo(org.opensuse.yast.Disk.metainfo.xml)yast2-storage-ngyast2-storage-ng(x86-64)@@     /bin/bash/bin/sh/usr/bin/envcoreutilsdiffutilsfillupfindutilsgreplibstorage-ng-rubyrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rubygem(ruby:2.5.0:ruby-dbus)yast2yast2-packageryast2-ruby-bindingsyast2-ycp-ui-bindings4.4.763.0.4-14.6.0-14.0-15.2-14.4.383.3.74.0.64.3.44.14.3e@d[@dr@dq@cƍc bbjb]RbN@b@aar@a@a@aaaՈ@a@aa@ap@aaa@aA@aA@aa@aa@a@a@aca@aa@@a@@aa@aya(@aqV@an@ahaUa `Ȗ@` @``O@` @`@`~@`c`Q@`J@`Gc@`7@`7@`/@`%@``@`` @` l`2@_@__@_ܙ_H@_إ@_إ@_ _ _$_@_ǁ__G@___ _@_@__@_@_FN_+_*@__c^^)@^@^@^@^x^@^^>@^l@^@^1^@^@^@^^%@^@^}^|@^{G^x^t@^s^^r @^ku^j$@^h^f/^`^^F^Y^Nt^Nt^M#@^K^K^K^C^:@^9\^4^1s^0"@^*@^)^&^&^!^ P@^^@^@^^r^@]]f@]@]}@]@]]]e@]@]|@]A]ʞ]µ]{@]@]@]@]@]@]@]n]4@]]@]@]?]V]]m]]p]o@]i]fl]^]]2@]N]L]J@]>]0_@],j](v@]%@]$]$]#0@];]]]@\F@\@\ޢ@\P\\@\g\\\\8\8\O\\r@\\\@\@\N\N\e\@\@\\@\\\@\M\@\@\}@\w@\v{\o@\mA@\mA@\mA@\k\k\k\j@\eX@\eX@\eX@\eX@\]o@\\\Z@\X)@\X)@\R@\R@\I\HW@\HW@\@n@\73\@\@\\\l@\&@[1[@[@[@[@[@[%@[[[ٙ@[G[[@[@[u[[;@[R@[][][@[[[:@[:@[:@[:@[h@[@[s[@[[9@[@[}P@[}P@[}P@[{[v[r@[r@[qr[m~@[l,[`O@[`O@[Y[Xf@[U@[O+[O+[L[4[,[(@[#@["X[!@[[[[d@[@[{@[{@[)ZnZnZnZ@Z@Z@Zz@ZZZZZZ@Z?ZK@ZK@ZK@ZZZ@ZZZZZ@ZmZ@ZZZ@Z@Z@Z؄Z3@ZZЛZЛZЛZ̧@Z̧@Z̧@ZUZUZUZZlZlZlZ@Z@Z@ZZZZZ@Z@ZZZ`@Z`@Z`@Z@ZkZkZw@Z%Z@Z@Z@Z1@Z1@Z1@Z sections when cloning a system (bsc#1148477, bsc#1152535). - 4.2.46- AutoYaST: do not fail if the uuid is specified for a new filesystem (bsc#1148477, bsc#1152535). - AutoYaST: partitions and logical volumes to be reused can now be found by uuid (bsc#1148477, bsc#1152535).- Partitioner: fix the type column value for Ext3/4 filesystems with an external journal (bsc#1145841). - Do not crash when importing mount points from a multi-device filesystem. - 4.2.45- At the end of installation, copy the pervasive encryption keys to the zkey repository of the target system (jsc#SLE-7376). - 4.2.44- implemented detection of pervasive encryption (for jsc#SLE-7376) - 4.2.43- Partitioner: allow encrypting swap with protected and secure keys (part of jsc#SLE-7376). - Partitioner: allow importing mount points from encrypted swap with protected and secure keys. - 4.2.42- Partitioner: allows encrypting volumes using pervasive encryption (jsc#SLE-7376). - 4.2.41- Partitioner: allow creating encrypted swap with random password (bsc#1088641). - Partitioner: allow importing mount points from encrypted swap with random password. - Storage: fix an encryption type inconsistency (bsc#1151079). - 4.2.40- add warning if /boot is on a LUKS2 encrypted partition - 4.2.39- Partitioner: better handling of existing encryptions, including the possibility of reusing them (related to jsc#SLE-7376).- added translation for new EncryptionType::PLAIN (bsc#1088641) - 4.2.38- bind-mount /run from inst-sys to target system during install (bsc#1136463) - 4.2.37- Partitioner: display encryption type (related to jsc#SLE-7376). - 4.2.36- Using rb_default_ruby_abi tag in the spec file in order to handle several ruby versions (bsc#1146403). - 4.2.35- log all ng proposal settings - 4.2.34- Initial Guided Proposal: added support to make the proposal using all candidates devices, without trying all possible set of settings for each individual device first (related to jsc#SLE-7238). - 4.2.33- AutoYaST: allow to create a Bcache without a caching device. - AutoYaST: allow to create a Bcache over a LVM Logical Volume. - bsc#1139783 - 4.2.32- fix NilClass issue when calculating proposal on RAID (bsc#1139808) - 4.2.31- Fixed exception when removing devices from btrfs (bsc#1142669) - Sort selected devices in LVM VG and btrfs dialog by name - 4.2.30- Fixed some errors calculating the initial proposal, before the user has executed the Guided Setup (related to jsc#SLE-7238). - 4.2.29- Complain if user attempts to put /boot on a thin LVM or a BCache (bsc#1134130) - 4.2.28- Guided Setup: added support for the new control file option "allocate_volume_mode". When set to "device", this option allows the user to specify a device per each volume (part of jsc#SLE-7238). - 4.2.27- Add execute permissions to test files (bsc#1141006).- For Z Systems, the option to enlarge swap for suspend is always disabled by default, independently of its value in the control file (part of jsc#SLE-6926). - 4.2.26- AutoYaST: Fixed typo in filesystem type that caused a crash (bsc#1136272) - 4.2.25- AutoYaST: do not delete related partitions if they are not specifically requested (related to bsc#1096760). - 4.2.24- Proposal: add control file option to make configurable to resize and delete partitions (part of jsc#SLE-7238). - 4.2.23- Partitioner: fix importing mount points from a multi-device Btrfs filesystem (bsc#1137997). - 4.2.22- adopt new rubocop to be able to use the latest ruby features (bsc#1139270) - 4.2.21- Proposal: initial support for several separate LVM volume groups (part of jsc#SLE-7238). - 4.2.20- AutoYaST: add support for multi-device Btrfs filesystems. - Part of jsc#SLE-3877. - 4.2.19- Add metainfo (fate#319035) - Revamp spec - Replace GenericName with Comment -4.2.18- AutoYaST: do not ask for a reusable filesystem when it's not really needed (bsc#1134330). - 4.2.17- Partitioner: allow to resize devices used by a multi-device Btrfs filesystem (part of jsc#SLE-3877). - 4.2.16- guided proposal frees space from existing multidevice btrfs properly (bsc#1096760); the same for raid using partitions - 4.2.15- Partitioner: button to delete Btrfs filesystems. - Partitioner: prevent edition of block devices that are part of a multi-device Btrfs. - Part of jsc#SLE-3877. - 4.2.14- Partitioner: added option for creating Btrfs filesystems (single- and multidevice). - Partitioner: added option for editing devices used by a Btrfs. - Part of jsc#SLE-3877. - 4.2.13- Partitioner: fix the Btrfs filesystem icon used in "Type" column. - Partitioner: improve the value for the "Type" column when a volume group does not have name. - Partitioner: fix the device name for a multidevice filesystem. - Partitioner: do not show label nor mount point for devices used by a multidevice filesystem. - Part of jsc#SLE-3877. - 4.2.12- Partitioner: fixes in the navigation tree (bsc#1133686). - 4.2.11- Partitioner: unify the "Type" and "FS Type" columns. - Partitioner: show multidevice filesystems in the system section. - Part of jsd#SLE-3877. - 4.2.10- Partitioner: added option for editing Btrfs filesystems. - Part of jsd#SLE-3877. - 4.2.9- Partitioner: BTRFS section was adapted to show both: multidevice and non-multidevice BTRFS filesystems. - Partitioner: added page for each BTRFS filesystem. - Part of jsd#SLE-3877. - 4.2.8- Partitioner: by default, initialize the tree with sections expanded and devices collapsed. - Partitioner: improves the user experience preserving, between every redraw, the tree items as the were: expanded or collapsed. - Lightly related to fate#318196. - 4.2.7- Partitioner: fixed translation issues related to bcache (bsc#1126822). - 4.2.6- AutoYaST: new format for importing/exporting NFS drives. - Related to bsc#1130256. - 4.2.5- Partitioner: when editing a block device, clean-up useless LVM PV metadata from it (bsc#1129663) - 4.2.4- Fix NFS root detection when installing with AutoYaST (needed for bsc#1130256). - 4.2.3- Fix initial proposal to make a clean copy of initial settings before switching to another candidate device (bsc#1130392). - Related to bsc#1102026 and bsc#1090383. - 4.2.2- Add support for installing over NFS with AutoYaST (bsc#1130256). - 4.2.1- Fixed unit tests to also work in ARM architecture (bsc#1130957).- Do not add mount options that are default (bsc#1122867). - Short partition ids. - Move windows system detection to ExistingFilesystem class. - 4.2.0- propose boot loader partitions only on system disk (bsc#1094927)- Improve unit tests: mocking architecture for Bcache is not needed anymore (fix regression tests for bsc#1129787). - 4.1.77- Fix boot disk detection (bsc#1129787). - 4.1.76- Fix bcache and AutoYaST related tests (related to fate#325346). - 4.1.75- Show new icons for the options of the Configure menu button (related to bsc#1122174). - 4.1.74- Unifying name Bcache/bcache to bcache (fate#325346). - 4.1.73- Add support for Bcache to AutoYaST (fate#325346). - Fix reuse of RAID partitions for LVM volume groups and bcache devices. - 4.1.72- Only exports the partition_type attribute when it belongs to a partition table with support for extended partitions (bsc#1115751).- Prevent crash if resizing a newly formatted filesystem (bsc#1124146) - 4.1.71- Fixed "can't modify frozen String" crashes (related to bsc#1125006) - Fixed missing translation (bsc#1127181) - 4.1.70- Translates the filesystem roles properly (bsc#1127756). - 4.1.69- Do not crash when using an old MD RAID schema and the partition_nr attribute is missing. Instead, do not allow to continue because a missing value issue (bsc#1126059). - 4.1.68- Do not export the partition_type attribute when it belongs to a GPT partition table (bsc#1115751).- Partitioner: improve "Import Mount Points" feature. Now, a fstab entry cannot be imported when the filesystem type is not supported. Moreover, the "mount by" type is assigned according to the fstab entry and the label of the previous filesystem is preserved (bsc#1103391). - 4.1.67- Suggest /boot/efi as the mount point for EFI System Partitions (bsc#1088120) - 4.1.66- filesystem label is kept when using existing partitioning (bsc#1087229) - 4.1.65- Partitioner: add new tab in Bcache section to show all caching set devices (part of fate#325346). - 4.1.64- Partitioner: new option "Provide Crypt Passwords" (bsc#1113515). - 4.1.63- Partitioner: allow to edit bcache devices (part of fate#325346). - 4.1.62- Added help texts for guided setup (bsc#1121801) - 4.1.61- AutoYaST: handle device_order for MD RAIDs during installation (bsc#1083542) - 4.1.60- Force mocking arch to x86_64 for unit tests that depend on bcache (part of jsc#SLE-4329) - 4.1.59- Limit bcache support to x86_64 arch (jsc#SLE-4329) - 4.1.58- Guided Setup: improved the disk selection user interface to properly support scenarios with many disks (bsc#1123688). - 4.1.57- AutoYaST: save device_order for MD RAIDs (bsc#1083542) - 4.1.56- AutoYaST: fix broken support for retaining existing MD RAIDs in some scenarios (bsc#1120979, bsc#1121720). - 4.1.55- Partitioner: allow to create bcache devices without a caching set (part of fate#325346). - 4.1.54- Partitioner: when running standalone (in an installed system) abort gracefully if probing fails (bsc#1123837). - 4.1.53- Remove setters for bcache attributes that cannot be permanent saved (writeback_percent and sequential_cutoff). - Part of fate#325346. - 4.1.52- Limit ESP to min size on aarch64 (bsc#1119318) - 4.1.51- Partitioner: properly show Flash-only Bcache devices. - Part of fate#325346. - 4.1.50- do not show hint for details button if button does not exist (bsc#1115807) - 4.1.49- Partitioning proposal: improved the calculation about how much each Windows partition must be resized (bsc#1121286). - 4.1.48- Make the storage proposal (i.e. the Guided Setup) easier to debug (bsc#1057436). - 4.1.47- do not include nil in package list of used storage features for FC devices (bsc#1122781) - 4.1.46- Specific error pop-up for exceptions raised while calculating the storage actions (mitigation of bsc#1120070). - 4.1.45- Allow to cancel Guided Setup (bsc#1121442). - Link to storage client from installation summary (bsc#1099485). - 4.1.44- Do not touch eMMC boot partitions (mmcblk*boot*) (bsc#1119316) - 4.1.43- do not use removed function IconPath anymore (bsc#1119699) - 4.1.42- Hardening execution of system commands (part of bsc#1118291). - 4.1.41- Ship only primary icons with module to avoid conflicts (boo#1118521) - 4.1.40- Partitioner: does not allow to create BTRFS subvolumes with unsafe characters in its path (related to bsc#1059972). - 4.1.39- Support for Raspberry Pi in Guided Proposal: it suggests to keep the firmware partition and mount it as /boot/vc (fate#323484). - 4.1.38- Provide icon with module (boo#1109310) - 4.1.37- Partitioner: add support for UDF filesystem (fate#326877). - 4.1.36- The Guided Proposal tries to preserve partitions of type IRST (Intel Rapid Start Technology) when possible (bsc#1099187, fate#325885). - Made the Guided Proposal algorithm more clear, so it's easier to debug (bsc#1057436). - 4.1.35- Initial proposal tries all possible attempts over each candidate device before switching to another device. - Related to bsc#1102026 and bsc#1090383. - 4.1.34- adjust boot requirements to handle RAID cases (fate#326573) - 4.1.33- SkipListValue.size_k returns the correct value (bsc#1115507). - 4.1.32- Internal code reorganization at Proposal::SpaceMaker (preparations for fate#325885 and fate#323484).- Crypttab entry allows to find a crypttab device by its UUID. - Devicegraph#find_by_any_name is able to find a LUKS device by using its name at crypttab file. - Related to bsc#1094963. - 4.1.31- Improve the proposal to be able to work with existing MD RAIDs (fate#326573). - 4.1.30- Format the new multi-line compound actions correctly (bsc#1085134) - 4.1.29- do not include 'Partition' in partition type names- allow creation of partitions starting before 1 MiB in expert partitioner- Fixes and improvements to AutoYaST partitioning: - Improve support to reuse a disk as a PV (bsc#1107298). - Resize and then create new devices (bsc#1112545). - Warn the user when trying to reuse a non-existent filesystem. - Fix support of old format to specify several software RAIDs (bsc#1112546). - Proper support for Xen virtual partitions (bsc#1105350). - Export enable_snapshots element properly (related to bsc#1073544). - Allow to format a whole disk and use it as a filesystem. - Add support for partitioned software RAIDs (fate#326573). - Allow to use a whole disk as a software RAID member (related to fate#326573). - 4.1.28- Add support for selecting cache mode during bcache creation (fate#325346) - 4.1.27- Improved UI responsiveness by caching the value of some internal methods (bsc#1112402): * StorageClassWrapper.downcasted_new * StorageEnv#active? * DiskDevice#types_for_is - Improved compatibility with RSpec 3.8 by caching the objects used to wrap libstorage-ng enum values. - 4.1.26- Improve filtering of possible backing devices for bcache and limit deletion of bcache to only safe cases (fate#325346) - 4.1.25- Improved the warning messages about missing BIOS Boot partition, both in the Partitioner and in AutoYaST (bsc#1087275). - Improved other AutoYaST warning messages related to the partitions needed for booting. - 4.1.24- Implement creating and deleting bcache devices (fate#325346) - 4.1.23- Fixed flickering testcase. Maybe produced by the fix of bsc#1108831. - 4.1.22- Partitioner: make it possible to directly format a disk (with no partitions). - Partitioner: reorganized the user interface by grouping options to ensure all the new possibilities (like formatting a whole disk or creating partitions on an MD RAID) fit into text mode 80x24 (part of fate#318196 and of fate#326573). - 4.1.21- AutoYaST proposal: Do not crash if existing boot partition cannot be used without formatting it. (bsc#1108831) - 4.1.20- Partitioner: ask for unmounting when deleting a device. - Partitioner: ask for unmounting when resizing a device. - Part of fate#318196 - 4.1.19- AutoYaST: Allow to use whole disk as PV by indicating a partition with number 0 (bsc#1107298).- When trying to reuse a partition, AutoYaST will consider only those partitions from the right disk (bsc#1106774).- Do not crash when a partition content info cannot be detected (bsc#1101979). - 4.1.18- Add read-only support for Bcache (fate#325346) - 4.1.17- Partitioner: allow to manage partitions in software MD RAIDs (fate#318196, bsc#1094933 and bsc#1092417). - 4.1.16- Partitioner: do not offer partitions of other RAIDs as available devices to create MD RAID arrays (fate#318196). - 4.1.15- Partitioner: allow to add full disks and multipath devices (with no partition table) to MD RAID arrays (fate#318196). - Partitioner: improved checks and workflow for "Create New Partition Table" - More informative message when a device is in use. - 4.1.14- Add asterisk to mount points that is not active and also write it to description (FATE#318196) - 4.1.13- Improved wording when moving partitions (bsc#1099599). - 4.1.12- Add support for Intel Rapid Start technology partitions (FATE#325885) - 4.1.11- Fixed a wrong unit test. - 4.1.10- RAID attributes: include "Active: Yes/No" (bsc#1090010)- Partitioner: Hide the "what to do" selector for windows partitions if there are no windows partitions (bsc#1055646) - 4.1.9- Switched license in spec file from SPDX2 to SPDX3 format.- Changed dir of COPYING file.- Fixed crash in the Kubic proposal when insufficient disk space (bsc#1099762) - 4.1.8- AutoYaST: recognize Xen virtual partitions in the profile when importing and installing (bsc#1085134). - 4.1.7- AutoYaST: set the 'mount by' option when reusing partitions (bsc#1104774). - 4.1.6- Partitioner: Permit going back when the partition dialog is skipped (bsc#1075443) - 4.1.5- Partitioner: fixed some strings that contained mistakes about format and/or internationalization.- Fixed the warning about overwriting a manually edited partition layout. Now it works even after going back and forth in the installer steps (bsc#1055756). - 4.1.4- Partitioner: display Xen virtual partitions and allow to format and mount them (bsc#1085134).- Warning if overwriting manually edited settings (bsc#1055756) - 4.1.3- AutoYaST: export volume group name (lvm_group) when a MD RAID device is used as a physical volume (bsc#1103113). - 4.1.2- make bsc#1098594 regression test work on s390 - 4.1.1- use "Partition Table" instead of "Disk Label" in expert partitioner (bsc#1070570) - 4.1.0- document XEN guest setup for testing (bsc#1085134) - 4.0.199- Partitioner: when creating a partition, use only regions of the selected type: primary, logical or extended (bsc#1097634). - 4.0.198- AutoYaST: export BIOS RAID devices correctly (bsc#1098594). - 4.0.197- AutoYaST: do not crash when reusing partitions on non-disk devices like DASD or BIOS RAID (bsc#1098594). - 4.0.196- Added additional searchkeys to desktop file (fate#321043). - 4.0.195- mask systemd mount and swap units while expert partitioner is running (bsc#1073633) - 4.0.194- Partitioner: add checkbox to format system volumes when importing mount points (bsc#1078359 and bsc#1094924). - 4.0.193- Partitioner: honor default subvolumes when importing the root mount point (related to bsc#1078359, bsc#1083851 and fate#318196) - Partitioner: honor default snapshots configuration when importing the root mount point (bsc#966637)- Fixed crash in the error callback when the text contained non-ASCII characters in the translated message (bsc#1096758) - 4.0.192- allow for numbers > 32 bit in region dialog (bsc#1065258) - 4.0.191- Fix 'Arbitrary Option Value' translation (bsc#1081605). - 4.0.190- Use parallel_tests to speed up running the unit tests (bsc#1094875), active only in SLE15-SP1/Leap-15.1- Better auto-generated names for encryption devices: * Based on the udev id of the encrypted devices instead of its kernel name (bsc#760213). * Adapted when partition numbers change, if doable (bsc#1094157). * Prevent collision with other DeviceMapper names (bsc#1094157). - Do not write LUKS password of the proposal into YaST logs. - Do not crash when registering a zero-sized device into the logs. - 4.0.189- AutoYaST: fix handling of empty Btrfs subvolume prefixes (bsc#1096240). - 4.0.188- Added method to update encryption names according to a crypttab file (needed for bsc#1094963). - 4.0.187- Partitioner: fixed error when creating new BTRFS subvolumes in an installed system (bsc#1067510). - 4.0.186- Partitioner: Handle limitations for volume labels (bsc#1084867) - 4.0.185- Partitioner: allow to move partitions (part of fate#318196). - 4.0.184- Added to the installer a detailed description about the origin of the partitioning layout, as discussed in bsc#1089274. - 4.0.183- Allow to consider MD RAIDs as BIOS RAIDs by using the env variable LIBSTORAGE_MDPART (bsc#1092417).- Fixed tests to avoid to require files provided by yast-installation package (needed for bsc#1091047).- Fixed detection of candidate disks for installation (bsc#1091047). - 4.0.182- don't reuse prep partitions larger than 8 MiB (bsc#1090019) - 4.0.181- Partitioner: fix several translation issues (bsc#1081837 and bsc#1081601).- Expose the active flag of the MountPoint class (needed for the definitive fix for bsc#1064437 in modern distributions). - 4.0.180- Partitioner: check whether required packages are installed before committing changes to disk (bsc#1089508). - 4.0.179- Partitioner: fix buttons to abort and to go back (part of fate#318196 and related to bsc#1075443). - Partitioner: fixed detection of reprobed system to avoid unnecessary proposal re-calculation.- Partitioner: allow to select only valid parity algorithms when creating a new MD RAID (bsc#1090182).- Partitioner: "Configure..." button allowing to execute the YaST clients for iSCI, FCoE, DASD, zFCP and XPRAM (bsc#1090753).- AutoYaST: do not crash when size is set to 'auto' for a partition without a mount point (bsc#1092414). - 4.0.178- Add note to YAML files for devices not supported in YAML (part of fate#318196) - 4.0.177- Dump devicegraphs and actions in better strategic places (part of fate#318196) - Make sure not to write LUKS passwords to YAML dump files - 4.0.176- provide function to disable MD auto assembly (bsc#1090690) - provide function to inhibit udisks from doing mounts - use these two functions when running expert partitioner - 4.0.175- Partitioner: added option to import mount points (part of fate#318196 and bsc#1083851). - 4.0.174- AutoYaST: handle and empty values properly (bsc#1076337, bsc#1090095 and bsc#1091669). - 4.0.173- Set fs_passno to 2 for ext2/3/4 filesystems assigned to non-root mount points (bsc#1078703). - 4.0.172- Don't require rspec/mocks (not present in inst-sys) (part of fate#318196) - 4.0.171- Dump devicegraph and actions to separate human readable files (part of fate#318196) - 4.0.170- Partitioner: fixed checks when the root filesystem is NFS (bsc#1090752). - 4.0.169- add method to check if system has any disk device (bsc#1090753) - 4.0.168- Set fs_passno to 1 for ext2/3/4 root filesystems (bsc#1078703). - 4.0.167- fix libstorage logging that do not expect printf expansion (bsc#1091062) - 4.0.166- Ensure the installer adds reused devices to /etc/crypttab and/or /etc/mdadm.conf if needed for booting (bsc#1071350). - 4.0.165- Partitioner: fix bug after confirming changes in a running system (related to bsc#1086892). - 4.0.164- Partitioner: do not validate setup just after rescanning (related to bsc#1086892). - 4.0.163- Partitioner: use the correct default value for 'Enable Snapshots' when the 'Operating System' role is chosen for a new device (bsc#1084491). - 4.0.162- Make the package to be architecture dependant to correctly check the current architecture (bsc#1081198). - 4.0.161- AutoYaST: properly handle empty proposals (bsc#1090390). - 4.0.160- Implemented the use_available LVM strategy for the proposal (part of fate#318196). - Make use_available the new default LVM strategy, so the system behavior is closer to the old yast-storage. - Speed improvements in the use_needed LVM strategy. - 4.0.159- Partitioner: add missing warning and summary of changes when running in an installed system (part of fate#318196 and related to bsc#1086892). - 4.0.158- Fix some translations issues in the Expert Partitioner (bsc#1081571).- Updated libstorage-ng dependency to ensure slots on extended partitions are handled correctly and added regression unit test about it (bsc#1088483). - Significant speed improvements in the proposal code.- Added missing help texts in the partitioner (bsc#1079591) - 4.0.157- Added support for settings 'expert_partitioner_warning' and 'proposal_settings_editable' (bsc#1087486). - Fix bug going back in Partitioner: only re-calculate proposal when the system was re-probed (bsc#1088960). - 4.0.156- AutoYaST: support partition_type when set to "primary" (bsc#1081506). - 4.0.155- More informative message displayed when the proposal failed with some given settings, so it doesn't sound like a definitive error (related to bsc#1089274). - 4.0.154- Partitioner: fix creation of default BTRFS subvolume (bsc#1087918 and bsc#1087763). - 4.0.153- Partitioner: make possible for the embedded yast2-nfs-client to access the vfstype field of fstab, so it can detect and correct legacy NFS entries (bsc#1088426). - 4.0.152- Update dependency with libstorage-ng (ensure lock system). - Part of fate#318196. - 4.0.151- Fixed the disable_order property of control.xml. Now it affects all the configurable aspects of the volume, as documented (related to bsc#1078495). - 4.0.150- Add system lock to avoid several processes using the storage stack when a process is already using it with read-write access. - Part of fate#318196. - 4.0.149- Force UTF-8 encoding for (most) strings coming from libstorage-ng (bsc#1088067). - 4.0.148- Better error handling if no storage proposal is possible (bsc#1064677) - 4.0.147- Recover method #exists_in_probed? (bsc#1087818). - 4.0.146- Partitioner: do not crash when a striped logical volume is selected (bsc#1087702).- Fixed an error searching devices by name introduced by the recent sanitization related to bsc#1083672. - 4.0.145- Partitioner: add check for minimum size when using snapshots (bsc#1085131). - 4.0.144- If a duplicate PV is found, show an specific error message with instructions (bsc#1082542). - 4.0.143- Use correct probe mode in unit tests (fate#318196).- Honor the LIBSTORAGE_MULTIPATH_AUTOSTART environment variable (part of fate#318196 and part of the fix for bsc#1082542). - 4.0.142- Sanitize devicegraph after probing when there are LVM volume groups with missing physical volumes (bsc#1083672). - 4.0.141- Partitioner: Report detailed reasons why resizing is not possible (fate#318196) - 4.0.140- Partitioner: fixed an error that was causing filesystems to be deleted in some combination of actions (part of fate#318196).- AutoYaST: add support for LVM thin pools (bsc#1086596). - AutoYaST: add support for stripes/stripesize elements. - 4.0.139- Fix issues with zero-size devices (bsc#1083887). - Proposal: do not use zero-size devices. - Partitioner: completely hide zero-size devices. - 4.0.138- Added methods to deal with /etc/fstab specs (part of bsc#1071454) - 4.0.137- AutoYaST: fixed space distribution on LVM volume groups when using percentages (bsc#1079369). - AutoYaST: do not ignore free spaces smaller than 30MiB (bsc#1085627). - 4.0.136- Warn if user creates too big PReP partition which firmware can have problem to load (bsc#1081979) - 4.0.135- Partitioner: Check if resize is possible based on filesystem type (fate#318196) - 4.0.134- Partitioner: do not allow to remove implicit partitions. - Partitioner: allow to remove any disk device (not only disks). - Part of fate#318196. - 4.0.133- Post a warning if reusing an existing system mount point without formatting during installation in the partitioner (bsc#1080073) - 4.0.132- Add a new btrfs_read_only property to force the root filesystem to be read-only (bsc#1079000) - Honor the subvolumes list for the root filesystem (bsc#1077866) - 4.0.131- Partitioner: always allow to edit the partition id (bsc#1077868). - 4.0.130- Shadowed subvolumes that are ignored in the first proposal attempt are not longer omitted in subsequent ones (#bsc#1084213 and bsc#1084261). - 4.0.129- Make proposal to work with implicit partition tables (s390). - Part of fate#318196. - 4.0.128- Make sure subvolumes use the same mount_by as their parent btrfs (bsc#1080408) - 4.0.127- Better control on whether a separate /boot/zipl is needed in S/390 systems, both in the Guided Setup and the Partitioner. - Do not longer report FBA DASDs to be unsupported devices for booting (they are indeed supported). - Part of bsc#1070265. - 4.0.126- fix translations in blk_device_resize.rb (bsc#1081598) - 4.0.125- Guided proposal uses preferred partition table type when possible (e.g., all partitions are deleted). - Part of fate#318196. - 4.0.124- Add specialized warning when /boot/efi is on software RAID (bsc#1081578) - 4.0.123- AutoYaST: do not stop installation when there is not enough space for automatically added boot devices (bsc#1082999).- AutoYaST: support to export LVM volume group and MD RAIDs (bsc#1081331).- New PReP partitions proposed by the Guided Setup are now always primary (bsc#1082468). - 4.0.122- ensure proper hierarchy when creating btrfs subvolumes (bsc#1078732) - 4.0.121- Use default swap priority, not 42 (bsc#1066077) - 4.0.120- Do not crash for separate /boot which does not exists yet (bsc#1078774 - 4.0.119- Partitioner: allow to clone a disk (part of fate#318196). - 4.0.118- More reliable parsing for the hwinfo output (bsc#1082536). - Better documentation and tests for activate callbacks. - 4.0.117- adapted to new activate callbacks in libstorage-ng (see bsc#1082542) - 4.0.116- Keep encryption when adding a device to a LVM volume group (bsc#1077750). - 4.0.115- Improved handling of libstorage-ng errors (bsc#1070459, bsc#1079228, bsc#1079817, bsc#1063059, bsc#1080554, bsc#1076776, bsc#1070459 and some others). - 4.0.114- Use format(), not Ruby variable expansion for translated messages (bsc#1081454) - 4.0.113- Partitioner: ensure a valid password is provided when encrypting a device (bsc#1065079). - Increase to 8 characters the minimum size to consider an encryption password to be valid (same limit than yast2-storage). - 4.0.112- Do not allow to encrypt too small partition (bsc#1065071) - Check size for separate /boot - 4.0.111- Partitioner: prevent to modify devices used in LVM or MD RAID (bsc#1079827). - 4.0.110- Better handling of errors during hardware probing (bsc#1070459, bsc#1079228, bsc#1079817, bsc#1063059, bsc#1080554, bsc#1076776, bsc#1070459 and some others). - 4.0.109- Avoid to write files in tests (SCR.Write) (fate#323457).- adapted to callback improvements in libstorage-ng (bsc#1070459 and many others) - 4.0.108- Added missing textdomain calls (bsc#1081454) - 4.0.107- AutoYaST: fix support to create multiple volume groups (bsc#1081633). - 4.0.106- Added missing ptable type conversion (fate#323457) - 4.0.105- Changed default partition table from MSDOS to GPT (fate#323457) - 4.0.104- ensure partition name changes during the proposal process are taken properly into account (bsc#1078691) - 4.0.103- Use sysconfig storage file to read the default value for mount_by (bsc#1081198). - Partitioner: allow to configure default value for mount_by. - 4.0.102- Do not take into account unformatted DASDs as a possible target for installation (bsc#1071798). - Partitioner: do not show unformatted DASDs, since they cannot be partitioned or used in any other way.- AutoYaST: guess which filesystem type should be used for a given partition/logical volume when it is not specified in the profile (bsc#1075203).- Special handling for mount options for / and /boot/* in the partitioner (bsc#1080731) - 4.0.101- Partitioner: bring back traditional list of mount points for both installation and installed system (bsc#1076167 and bsc#1081200). - Partitioner: bring back traditional behavior of the "Operating System" and "Data" roles during installation (bsc#1078975 and bsc#1073854). - 4.0.100- Special handling for mount options for / and /boot/* (bsc#1080731, bsc#1061867, bsc#1077859) - 4.0.99- Ensure that there is always selected item in table, if it is not empty (bsc#1076318) - 4.0.98- Adjusted the suggested and minimum sizes of all the booting partitions, both in the storage proposal and in the Partitioner validations (bsc#1076851 and fate#318196). - 4.0.97- Fix hwinfo parsing to support more than one device_file property (bsc#1080999) - 4.0.96- Split detection of problematic boot scenarios into errors and warnings. With warnings user can continue, but not with errors. (bsc#1074475) - 4.0.95- PowerPC: do not require /boot partition for non-PowerNV (bsc#1070139). - Partitioner: do not enforce partition id for /boot/efi (bsc#1078707). - 4.0.94- add format options dialog (bsc#1077868) - 4.0.93- More reasonable location in the disk for the partitions proposed to make the system bootable (bsc#1073680 and bsc#1076851).- Partitioner: fix issues using transactions (bsc#1079880 and bsc#1079573). - 4.0.92- Enable multipathd in the target system at the end of installation if there are multipath devices (bsc#1076183). - Updated required version of libstorage-ng-ruby (bsc#1079541). - 4.0.91- Add class MountPoint (needed for bsc#1076305 and bsc#1066763). - 4.0.90- Partitioner: fixed creation of partition tables (bsc#1078721). - 4.0.89- Partitioner: fixed 'Installation Summary' section (part of fate#318196). - 4.0.88- AutoYaST: support additional names in the drive/device element (bsc#1077277). - 4.0.87- Disabled empty pages in partitioner for the time being (bsc#1078849) - 4.0.86- AutoYaST: support reuse of already existing partitions as LVM physical volumes or MD RAIDs (bsc#1077277). - 4.0.85- Partitioner: fixed 'Device Graph' section (part of fate#318196). - 4.0.84- Added a new 'disk' client, alias for 'partitioner' (bsc#1078900). - 4.0.83- Handle arbitrary mount options for /etc/fstab properly (bsc#1066076) - 4.0.82- Partitioner: list all LVM thin volumes to delete when an LVM thin pool is going to be deleted. - Partitioner: show warning when an LVM thin pool is overcommitted after resizing. - Part of fate#318196. - 4.0.81- AutoYaST: try to shrink new partitions/logical volumes proportionally when there is not enough space (bsc#1078418). - 4.0.80- Partitioner: initial support for NFS (part of fate#318196) - Partitioner: removed useless tmpfs option - 4.0.79- Partitioner: allow to create LVM thin pools and volumes. - Fix transactions of devicegraphs. - Part of fate#318196. - 4.0.78- Partitioner: improve error message when trying to remove an used physical volume.- Add default mount options for /etc/fstab for ext2/3/4 and vfat (bsc#1066076) - 4.0.77- Properly detect snapshots subvolumes (bsc#1076321 and bsc#1076335). - 4.0.76- Partitioner: allow to resize LVM volume groups. - Part of fate#318196. - 4.0.75- Partitioner: consider all sizes entered by the user as base of 2 despite the units not being consistent with the International System. Thus, 1KB (which in the IS actually means 1000 bytes) becomes equivalent to 1KiB (which is 1024 bytes).- fix proposal dialog error when there are no disks (bsc#1057430)- Avoid partitioning checks error when using old settings format. - Needed for bsc#1059160, bsc#1055747 and bsc#1063957.- Partitioner: button to resize LVM logical volumes now works as expected (part of fate#31896). - 4.0.74- Consider all free spaces when deciding which partitions distribution is better (bsc#1077051).- Fix TODOs labels in partitioner (bsc#1058652). - 4.0.73- Fix subtracting arrays of devices (fixes multipath wires detection for bsc#1076766) - 4.0.72- Partitioner: when creating partitions they are now aligned to hardware requirements (indispensable for DASD) and when possible also for optimal performance (bsc#1069860 and bsc#1072011). - Partitioner: adjusted alignment logic during resizing to match the new logic used during creation. - Partitioner: skip validation of disabled widgets in the dialog to select the size of a new partition. - Partitioner: fixed a crash and one inconsistency in the dialog to resize an existing partition. - 4.0.71- Correctly open the expert partitioner when called from the Kubic/CaaSP summary screen (bsc#1076732) - 4.0.70- Added sanity checks for partitioning setup. - Partitioner: setup issues are shown to the user before continue. Mandatory product volumes are required according to control file. - Part of fate#31896 and fix for bsc#1059160, bsc#1055747 and bsc#1063957. - 4.0.69- Some code reorganization regarding alignment and resizing. - Added to several places in the API the possibilty of using other alignment types, in addition to the optimal one. - Added a (temporary) workaround to a possible bug in libstorage-ng regarding alignment.- Added Mountable#persistent? (needed for bsc#1073696) - 4.0.68- Added Devicegraph#find_by_any_name (needed for bsc#1073254) - 4.0.67- Do not try to reuse UUID and label from unformatted swap partitions (bsc#1071515). - 4.0.66- Force the subvolume name to be relative (related to bsc#1073548) - 4.0.65- Fixed error when calculating the proposal on top of a BIOS RAID (bsc#1067349)- AutoYaST: export the enable_snapshots element (bsc#1073544)- rewrite SpaceMaker::resize_and_delete! to be more human-readable - 4.0.64- fix unnecessary Windows partition deletion (bsc #1066386) - 4.0.63- fix logic in GuidedProposal::calculate_proposal (bsc#1058027) - 4.0.62- Do not crash when showing an unhandled partition id (bsc#1068087)- Partitioner: support for deleting an LVM volume group. - Correct handling of orphan physical volume devices. - Fix for bsc#106956 and part of fate#31896. - 4.0.61- added obsoletes (bsc#1073645) - 4.0.60- Added BlkDevice.find_by_any_name (needed for bsc#1073254) - 4.0.59- Add DeviceGraph#find_by_name call (needed for bsc#1072908) - 4.0.58- AutoYaST: Improve disklabel element handling (bsc#1073307). - 4.0.57- Fixed a recently added unit test to not rely on libstorage-ng sorting. Related to bsc#1049901 and part of fate#31896. - 4.0.56- Partitioner: add buttons to Hard Disks section for creating new partitions and editing devices. - Part of fate#318196. - 4.0.55- Improved how the proposal handles disks that are in use but don't have a partition table (directly formatted disks, disks that are direct members of an LVM or RAID, etc.). Preliminary fix for bsc#1071949 and bsc#1067670. - 4.0.54- Improve detection of efi and swap partitions. - bsc#1071775 and bsc#1065234 - 4.0.53- Fixed dependencies (yast2 >= 4.0.24) (fate#318196) - 4.0.52- AutoYaST: assign the correct partition_id to /boot/efi (bsc#1071167) - 4.0.51- Don't trust any longer the order of any collection coming from libstorage-ng (related to bsc#1049901 and part of fate#31896). - 4.0.50- Partitoner: added support for resizing partitions (bsc#1057586). - Part of fate#318196. - 4.0.49- AutoYaST does not ignore the 'enable_snapshots' setting even if the list of partitions is missing (bsc#1070790). - 4.0.48- Rely on the new improved mechanism of libstorage-ng to sort devices by name. Preparation for bsc#1049901 and part of fate#31896. - 4.0.47- Fix boot partition detection (bsc#1070621). - 4.0.46- AutoYaST honors 'use' and 'initialize' elements even if the list of partitions is missing (related to bsc#1065061). - 4.0.45- Partitioner: added buttons to sort the devices being added to an MD RAID (part of fate#318196). - 4.0.44- Do not ignore start_multipath setting (bsc#1070343). - 4.0.43- adjust list of partition ids in expert partitioner (bsc#1060993, fate#314888) - 4.0.42- AutoYaST: honor size=max for logical volumes (bsc#1070131). - 4.0.41- Allow to work with BIOS RAIDs as regular disks (bsc#1067349). - Allow to create partition table over directly formatted devices. - 4.0.40- make PartitionTables::partition_id_supported? available - 4.0.39- Fixed a problem when confirming the very same partitioning schema several times (bug#1069671). - 4.0.38- AutoYaST: safer handling of partition ids (bsc#1067207). - 4.0.37- AutoYaST: add support to resize partitions and logical volumes (bsc#1069505). - AutoYaST: fix detection of root partition when using LVM (bsc#1069647). - 4.0.36- Ensure that disks considered for (auto)installation are always sorted in a stable and consistent way based on its device name. Preparation for bsc#1049901 and part of fate#31896. - 4.0.35- Partitioner: added support for resizing MD RAIDs. - Part of fate#318196. - 4.0.34- No RAID chunk size below 64 kiB for most types of RAID (bsc#1065381) - 4.0.33- Added "Create New Partition Table" in partitioner - Part of fate#318196. - 4.0.32- Improve logging: add wrapper param for guard method and dump xml representation of the devicegraph to the logs. - Part of fate#318196. - 4.0.31- When proposing a partitions layout for installation, prefer getting big installations and arranging the partitions by their weights over creating adjacent partitions. Part of fate#318196. - 4.0.30- Partitioner: added support for creating volume groups. - Part of fate#318196. - 4.0.29- safer handling of partition ids (bsc#1060993 - 4.0.28- AutoYaST: filter out old '@' entries when importing the list of subvolumes (bsc#1061253) - 4.0.27- Added support in the UI of the guided setup for the new format of in the control file. - Part of fate#318196. - 4.0.26- AutoYaST: fix space distribution when partition table does not exist (bsc#1065061) - AutoYaST: set partition tables type according to the profile - 4.0.25- Fix name of planned logical volumes. - Take into account real RAM size to plan volumes. - Add scenario tests using new partitioning settings. - Part of fate#318196. - 4.0.24- AutoYaST: adjust the list of allowed keys in skip lists (bsc#1065668) - 4.0.23- AutoYaST: add support for udev links in the element (bsc#1066320) - 4.0.22- AutoYaST: do not remove partitions that are supposed to be reused (bsc#1066398). - 4.0.21- Partitioner: support for deleting md raids. - Part of fate#318196. - 4.0.20- do not query end of region if region is empty (bsc#1066290) - 4.0.19- AutoYaST: query hardware information on skip lists (bsc#1065668). - AutoYaST: support multi-valued keys on skip lists. - AutoYaST: do not crash when no suitable disk for installation is found. - 4.0.18- Partitioner: support for deleting logical volumes. - Part of fate#318196. - 4.0.17- AutoYaST: do not crash when an unknown key is used in a skip list (bsc#1065670). - 4.0.16- AutoYaST: fix reuse of partitions (bsc#1060637). - AutoYaST: improve error handling when trying to reuse a partition fails. - AutoYaST: when a problem is detected while creating a proposal, register in which section it was found. - AutoYaST: register an issue when a proposal does not contain a root (/) partition. - 4.0.15- Added an option in the installer to run the expert partitioner with the current storage layout as starting point. - Possible fix for bsc#1055644 and part of fate#318196. - 4.0.14- Limit maximal proposed size of EFI partition (bsc#1062775) - 4.0.13- Partitioner: small adjustments in the verifications performed before running some wizards.- Partitioner: allow to work with multipath devices. - bsc#1058373 and bsc#1028853. - Part of fate#318196. - 4.0.12- Add support to clone subvolumes when using AutoYaST (bsc#1064875) - 4.0.11- adjust control.xml documentation - 4.0.10- Partitioner: show only option to create vg when there are no vgs. - Part of fate#318196. - 4.0.9- have volumes in control.xml proposed by default (fate#318196) - 4.0.8- Partitioner: support for creating logical volumes. - Part of fate#318196. - 4.0.7- AutoYaST: add basic support for error handling - AutoYaST: handle 'size: auto' correctly - 4.0.6- During installation, mount efivarfs in /mnt/sys/firmware/efivars if present in inst-sys (bsc#1063063) - 4.0.5- Terminate extra space distribution loop if nothing could be distributed anymore (bsc#1063392) - 4.0.4- finalize control.xml description (fate#318196) - 4.0.3- Add strategies to try an initial valid proposal, even changing settings when necessary. - Part of fate#318196. - 4.0.2- Adapt proposal to work with new format of proposal settings. - Part of fate#318196. - 4.0.1- AutoYaST: proper handling of the 'use' element allowing to delete a set of partitions (bsc#1061042) - AutoYaST: support for mkfs_options, fstopt and mount_by elements (bsc#1061289) - 4.0.0- Added support for reading new format of proposal settings. - Part of fate#318196. - 3.3.27- Partitioner: don't return to the summary screen after each operation. - Partitioner: speedup the refresh time after each operation (by not querying the hostname again). - Both part of fate#318196. - 3.3.26- Added disk.desktop file for partitioner (bsc#1059528) - 3.3.25- separate planning strategies from DevicesPlanner into DevicesPlannerStrategies module - 3.3.24- Partitioner: buttons to edit the filesystem in RAID and LVM LV. - Partitioner: correct positioning of some buttons. - Partitioner: allow to mount several swap devices. - All part of fate#318196. - 3.3.23- Partitioner: option to create an MD RAID (part of fate#318196). - 3.3.22- Fix validation when trying to create a partition with custom size (bsc#1060864). - 3.3.21- Implemented simple proposal for CASP (bsc#1058736) - 3.3.20- updated installer hacks document: ssh key import works- Avoid to reuse small efi partitions (bsc#1056640). - 3.3.19- More backwards-compatible behavior when formatting partitions in the expert partitioner. - Checkbox to enable snapshots for "/" in the expert partitioner. - Both part of fate#318196 - 3.3.18- Improved creation and modification of partitions in the Expert Partitioner (bsc#1057869, bsc#1057874). - Added button to define the Btrfs subvolumes directly during creation or modification. - 3.3.17- add all full udev links and helper to list them all (useful for fixing bsc#1057604) - 3.3.16- don't limit uefi to x86_64 (bsc#1056629) - 3.3.15- Fix proposal to not try to create more than 3 partitions in a DASD partition table (bsc#1058052). - 3.3.14- AutoYaST: Temporary workaround to avoid crash when size 'auto' (which is still not supported) is used (bnc#1056182). - 3.3.13- Fix partitioner bug creating partition with custom size (bsc#1057049) - 3.3.12- AutoYaST: support for Btrfs snapshots (part of fate#318196). - 3.3.11- Fix bug when formatting with expert partitioner (bsc#1057405). - 3.3.10- Ignore case when parsing sizes (bsc#1056715 and bsc#1055913). - 3.3.9- AutoYaST: Handle sizes without unit correctly. (bnc#1056168) - 3.3.8- Create Btrfs in the guided setup if requested to do so (part of fate#318196). - 3.3.7- Added overall summary for the expert partitioner. - Part of fate#318196 - 3.3.6- Added methods to save user data into libstorage-ng objects. - Added subvolume shadowing control to the expert partitioner. - Added mount point validation to the expert partitioner. - Removed Planned::BtrfsSubvolume class. - Part of fate#318196 - 3.3.5- Added support for legacy filesystems (fate#323394). - 3.3.4- adjust package description in spec file- When displaying partition ids to the user, use names that are more similar to old yast-storage (part of fate#318196). - 3.3.3- ReiserFS is not allowed anymore, it was already removed in SLE 12 for new installations and was only supported for upgrades. (fate#323394) - 3.3.2- Added deactivation of virtual devices (multipath, LVM, etc.) to the public API. - Initial management of Btrfs subvolumes in the expert partitioner. - Both as part of fate#318196 - 3.3.1- Removed temporary StorageManager API. - 0.1.32- Added pop-up to ask the user about multipath activation.- Added Btrfs subvolumes support to the AutoYaST customized partitioning.- Adjusted the guided proposal to work properly on scenarios with DM RAIDs.- Adjusted the guided proposal to work properly on scenarios with Multipath I/O.- Replaced the original prototype of the expert partitioner with the one coming from yast2-partitioner. - Added #supported_fstab_options and #default_partition_id methods to Y2Storage::Filesystems::Type. - Removed Y2Storage::DevicesLists and not longer needed modules from Y2Storage::Refinements - 0.1.31- Added PartitionId#to_human_string and PartitionId::formattable? - 0.1.30- Added verifications for disk in network. - 0.1.29- Added new class Y2Storage::Proposal::Base. - Proper assignment of default values for new proposals. - 0.1.28- Added AutoinstProfile::PartitioningSection which allows to export the current system (or any other devicegraph) to an AutoYaST profile (only plain partitions supported so far). - 0.1.27- Adapt proposal to different situations (disable home, snapshots, etc) - 0.1.26- add LvmVg#basename - add PartitionTables::Base#delete_all_partitions - add logger to all devices - add LvmVg#name - 0.1.25- Add LVM support for AutoYaST partitioning (bsc#1044697). - 0.1.24- More robust Y2Storage::StorageManager#probe- Added Y2Storage::MdParity#to_human_string and Y2Storage::MdLevel#to_human_string - 0.1.23- Added Y2Storage::Md wrapper - 0.1.22- Added Y2Storage::DiskSize#human_floor, Y2Storage::Region#size - 0.1.21- AutoinstProposal is loaded with the rest of the proposal classes when 'y2storage' is required. - 0.1.20- Adjustments to DASD to ensure the proposal works as expected in such devices. - Added Devicegraph#disk_devices to get all DASDs and disks. - DASD support added to YAML reader and writer.- Add basic support for AutoYaST customized partitioning (only plain partitions are supported) - 0.1.19- Add new method StorageManager.fake_from_xml for easy loading of xml device graphs- added probe function to StorageManager - 0.1.18- Added new method BlkDevice#to_be_formatted? (needed by yast2-partitioner). - 0.1.17- Don't insist on installing filesystem support packages that are not available in any repo (bsc#1039830) - 0.1.16- Fixed a bug in LvmLv#stripe_size=- Refactored the proposal code in preparation for the AutoYaST implementation. Removed PlannedVolume and PlannedVolumesList classes in favor of new more specific classes in the Planned namespace. - Fixed the proposal to never propose subvolumes that would be shadowed by another proposed device.- Add to Y2Storage::PartitionTables::Type#to_human_string - 0.1.15- Added SCR agent .etc.mtab again until we have a proper alternative for it (still needed in yast2-users). - 0.1.14- Changelog entry to document stuff that was left behind. See below. - Installation proposal now generates Btrfs subvolumes when needed (according to control.xml and a fallback list). - Improved and fully functional Guided Setup. - Added new fields to ProposalSettings and renamed others (xxx_size instead of xxx_disk_size). Similar changes in PlannedVolume. - New smaller and more convenient API for DiskAnalyzer. - Many documentation (Yardoc) improvements and fixes. - Added dummy activate callbacks (for activating a previous LUKS). - The installer now saves a xml representation of the probed and staging devicegraphs before proceeding with the installation. - New API for accessing the libstorage objects from Ruby: * New classes in the Y2Storage namespace offering a wrapper around the corresponding libstorage classes and enums: Actiongraph, AlignPolicy, BlkDevice, BtrfsSubvolume, Dasd, DasdFormat, DasdType, DataTransport, Device, Devicegraph, Disk, Encryption, LvmLv, LvmPv, LvmVg, Mountable, Partition, PartitionId, PartitionType, Partitionable, Region and ResizeInfo. * Mixins StorageClassWrapper and StorageEnumWrapper to define more wrappers as needed. * Removed EnumMappings. * Removed most refinements in Y2Storage, functionality moved to the new classes. * Marked DevicesList as deprecated. * Marked some refinements as deprecated.- add Gpt#pmbr_boot(?/=) methods for protective MBR - 0.1.13- Adapted prepdisk client to work in update mode.- Added to_s in ProposalSettings- Partially adjust the proposal settings according to control.xml.- Improved the EnumMappings module. - 0.1.12- Improvements in the devicegraph query interface: added an EncryptionLists class and adapted all the other classes to take several encryption-related scenarios into account. - 0.1.11- Added a prototype of the "Guided Setup" wizard to configure the proposal settings.- Proper management of completely empty disks (no partition table, no file-system and no LVM PV) in the proposal. - Improved FreeDiskSpace and Disk#free_spaces to correctly handle disks without partition table. - 0.1.10- Install storage-related software packages as needed: Migrated UsedStorageFeatures to storage-ng and added PackageHandler - 0.1.9- Improved StorageManager that complies to the Singleton pattern and includes a revision counter for the staging devicegraph. - 0.1.8- Added 'fstab_options' key to the YAML representation of the devicegraphs used for testing. - 0.1.7- Y2Storage::DiskAnalyzer - distinguish disks with no MBR gap (0 bytes gap) from cases where the MBR gap is not applicable. This fixes the proposal for some LVM scenarios with legacy boot.- Removed unused ProposalDemo client (kind of obsoleted by Dialogs::InstDiskProposal)- Improvements in the devicegraph query interface (DisksLists#with_name_or_partition) - 0.1.6- Fixed partitioning proposal to not fail when trying to create very small partitions (like bios_boot), to work better with uneven spaces (not divisible by the minimal grain) and to reduce the gaps between partitions.- Write more precise information in the logs (DiskSize#to_s)- Proposal does not try to set the boot flag if not supported (for example, GPT partition tables)- Adapted to several changes in libstorage-ng- Improvements in the LVM-based proposal- Improvements in Refinements::DevicegraphLists- Convenience method to check for GPT - Several methods added to most of the DevicesLists classes - 0.1.5- Better management of LVM partitions in Proposal::SpaceMaker- mount special filesystems in target during installation- LVM classes added to Refinements::DevicegraphLists- Use own textdomain (storage-ng instead of storage) (bsc#1004050) - 0.1.4- Added new inst_prepdisk client - first version in which the installer commits the changes to the target disk(s). - 0.1.3- More reusable DiskAnalyzer. - Use libstorage mechanisms to check for windows partitions. - Added new minimalistic inst_disk_proposal client. - 0.1.2- Namespaces adapted to avoid conflicts with old yast2-storage and to follow the new YaST convention. - 0.1.1- initial package with yast2-storage-ng, successor of yast2-storage/bin/shyast2-storageh03-ch2c 1697441881  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^4.4.46-150400.3.19.14.4.46-150400.3.19.1         !!!!!!!""""""""""""""""""""""""###################################$$$#####%%%%%%#&'(()*+,---./01binmask-systemd-unitsclientsdisk.rbinst_disk_proposal.rbinst_prepdisk.rbpartitioner.rbpartitions_proposal.rbstorage.rbstorage_finish.rbstorage_testing.rblibbidi_markup.rbinstallationconsolepluginsluks2_checkbox.rby2partitioneractionsadd_bcache.rbadd_btrfs.rbadd_btrfs_subvolume.rbadd_lvm_lv.rbadd_lvm_vg.rbadd_md.rbadd_nfs.rbadd_partition.rbadd_tmpfs.rbbase.rbclone_partition_table.rbconfigure_actions.rbcontrollerscontrollers.rbadd_partition.rbavailable_devices.rbbase.rbbcache.rbblk_device.rbbtrfs_devices.rbbtrfs_subvolume.rbclone_partition_table.rbencryption.rbfilesystem.rbfstabs.rblvm_lv.rblvm_vg.rbmd.rbcreate_partition_table.rbdelete_bcache.rbdelete_btrfs.rbdelete_btrfs_subvolume.rbdelete_device.rbdelete_lvm_lv.rbdelete_lvm_vg.rbdelete_md.rbdelete_nfs.rbdelete_partition.rbdelete_tmpfs.rbedit_bcache.rbedit_blk_device.rbedit_btrfs.rbedit_btrfs_devices.rbedit_btrfs_subvolume.rbedit_md_devices.rbedit_nfs.rbedit_tmpfs.rbfilesystem_steps.rbimport_mount_points.rbmove_partition.rbquit_partitioner.rbrescan_devices.rbresize_blk_device.rbresize_lvm_vg.rbtransaction_wizard.rbblk_device_restorer.rbcli.rbclientsmain.rbconfirm_recursive_delete.rbdevice_graphs.rbdialogsdialogs.rbbase.rbbcache.rbbcache_csets.rbblk_device_resize.rbbtrfs_devices.rbbtrfs_options.rbbtrfs_subvolume.rbcommit.rbdevice_description.rbdevice_graph.rbencryption.rbformat_and_mount.rbfstab_options.rbimport_mount_points.rblvm_lv_info.rblvm_lv_size.rblvm_vg.rblvm_vg_resize.rbmain.rbmd.rbmd_edit_devices.rbmd_options.rbmkfs_options.rbnfs.rbpartition_move.rbpartition_role.rbpartition_size.rbpartition_table_clone.rbpartition_table_type.rbpartition_type.rbpopup.rbprobing_issues.rbsettings.rbsingle_step.rbsummary.rbsummary_popup.rbtmpfs.rbunmount.rbexceptions.rbexecute_and_redraw.rbfilesystem_errors.rbfilesystem_role.rbfilesystems.rbicons.rbpbkd_function.rbrecursive_unmount.rbreprobe.rbsize_parser.rbui_state.rbunmounter.rbwidgetsaction_button.rbapqn_selector.rbbcache_buttons.rbbcache_description.rbblk_device_attributes.rbblk_device_edit_button.rbblk_devices_table.rbbtrfs_buttons.rbbtrfs_data_raid_level.rbbtrfs_devices.rbbtrfs_devices_selector.rbbtrfs_filesystems_table.rbbtrfs_metadata_raid_level.rbbtrfs_options.rbbtrfs_quota.rbbtrfs_subvolume_description.rbcolumnscolumns.rbbase.rbbtrfs_exclusive.rbbtrfs_referenced.rbbtrfs_rfer_limit.rbcaching_device.rbchunk_size.rbdevice.rbdisk_size.rbencrypted.rbfilesystem_label.rbformat.rbmount_options.rbmount_point.rbnfs_path.rbnfs_server.rbnfs_version.rbpe_size.rbraid_type.rbregion_end.rbregion_start.rbsize.rbstripes.rbtype.rbused_by.rbuuid.rbcommit_actions.rbconfigurable_blk_devices_table.rbcontroller_radio_buttons.rbdescription_sectionbase.rbbcache.rbblk_device.rbbtrfs_subvolume.rbdisk_device.rbfilesystem.rblvm_lv.rblvm_vg.rblvm_vg_device.rbmd.rbpartition.rbdevice_add_button.rbdevice_button.rbdevice_buttons_set.rbdevice_delete_button.rbdevice_description.rbdevice_edit_button.rbdevice_graph_with_buttons.rbdevice_table_entry.rbdevices_selection.rbdisk_bar_graph.rbdisk_device_description.rbencrypt.rbencrypt_label.rbencrypt_method.rbencrypt_method_options.rbencrypt_password.rbfilesystem_description.rbfilesystem_options.rbformat_and_mount.rbfstab_options.rbfstab_selector.rbhelp.rbhelpers.rblvm_buttons.rblvm_devices_table.rblvm_lv_attributes.rblvm_lv_description.rblvm_vg_bar_graph.rblvm_vg_description.rblvm_vg_devices_selector.rbmain_menu_bar.rbmd_buttons.rbmd_description.rbmd_devices_selector.rbmd_raids_table.rbmenusadd.rbbase.rbconfigure.rbdevice.rbmodify.rbsystem.rbview.rbmkfs_optiondata.rbmkfs_options.rbmkfs_optionvalidator.rbnfs_buttons.rbnfs_mounts_table.rboverview.rboverview_tab.rbpagespages.rbbase.rbbcache.rbbcaches.rbbtrfs.rbbtrfs_filesystems.rbdevices_table.rbdisk.rbdisks.rblvm.rblvm_vg.rbmd_raid.rbmd_raids.rbnfs.rbnfs_mounts.rbstray_blk_device.rbsystem.rbtabbed.rbtmpfs.rbtmpfs_filesystems.rbpartition_buttons.rbpartition_description.rbpbkdf_selector.rbstray_blk_device_description.rbsummary_text.rbtabs.rbtmpfs_buttons.rbtmpfs_filesystems_table.rbtmpfs_options.rbused_devices_tab.rbvisual_device_graph.rbyard_links.rby2storagey2storage.rbabstract_device_factory.rbactiongraph.rbactions_presenter.rbalign_policy.rbalign_type.rbarch.rbautoinst_issuesautoinst_issues.rbconflicting_attrs.rbcould_not_calculate_boot.rbcould_not_create_boot.rbexception.rbinvalid_encryption.rbinvalid_value.rbmissing_btrfs_quotas.rbmissing_reusable_device.rbmissing_reusable_filesystem.rbmissing_reuse_info.rbmissing_root.rbmissing_value.rbmultiple_bcache_members.rbno_components.rbno_disk.rbno_disk_space.rbno_partitionable.rbno_proposal.rbshrinked_planned_devices.rbsurplus_partitions.rbthin_pool_not_found.rbunsupported_drive_section.rbautoinst_profileautoinst_profile.rbbcache_options_section.rbbtrfs_options_section.rbdrive_section.rbpartition_section.rbpartitioning_section.rbraid_options_section.rbskip_list_section.rbskip_list_value.rbskip_rule.rbautoinst_proposal.rbbcache.rbbcache_cset.rbbcache_type.rbblk_device.rbboot_requirements_checker.rbboot_requirements_strategiesboot_requirements_strategies.rbanalyzer.rbbase.rblegacy.rbnfs_root.rbprep.rbraspi.rbuefi.rbzipl.rbbtrfs_qgroup.rbbtrfs_raid_level.rbbtrfs_subvolume.rbcache_mode.rbcallbackscallbacks.rbactivate.rbcheck.rbcommit.rbinitialize.rbissues_callback.rbprobe.rbclientsautoinst_manual_test.rbfinish.rbinst_disk_proposal.rbinst_prepdisk.rbmanual_test.rbpartitions_proposal.rbcomparable_by_name.rbcompound_action.rbconfiguration.rbcrypttab.rbdasd.rbdasd_format.rbdasd_type.rbdata_transport.rbdevice.rbdevice_finder.rbdevicegraph.rbdevicegraph_sanitizer.rbdialogscallbacksactivate_luks.rbguided_setupguided_setup.rbbase.rbhelperscandidate_disks.rbdisk.rbselect_disks.rbselect_filesystem.rbselect_partition_actions.rbselect_root_disk.rbselect_scheme.rbselect_volumes_disks.rbwidgetsbase.rbdisk_selector.rblinux_partition_actions.rbother_partition_actions.rbpartition_actions.rbroot_disk_selector.rbvolume.rbwindows_partition_actions.rbissues.rbissues_details.rbproposal.rbdisk.rbdisk_analyzer.rbdisk_device.rbdisk_size.rbdm_raid.rbdump_manager.rbencrypt_password_checker.rbencryption.rbencryption_methodencryption_method.rbbase.rbluks1.rbluks2.rbpervasive_luks2.rbprotected_swap.rbrandom_swap.rbsecure_swap.rbswap.rbencryption_processesapqn.rbbase.rbluks.rbpervasive.rbsecure_key.rbsecure_key_volume.rbvolatile.rbencryption_type.rbexceptions.rbfake_device_factory.rbfilesystem_reader.rbfilesystemsfilesystems.rbbase.rbblk_filesystem.rbbtrfs.rblegacy_nfs.rbmount_by_type.rbnfs.rbnfs_options.rbnfs_version.rbtmpfs.rbtype.rbfree_disk_space.rbfstab.rbguided_proposal.rbhwinfo_disk.rbhwinfo_reader.rbinactive_root_issue.rbinhibitorsinhibitors.rbmdadm_auto_assembly.rbsystemd_units.rbudisks.rbinitial_guided_proposal.rbinst_dialog_mixin.rbissue.rbissues_manager.rbissues_reporter.rbluks.rblv_type.rblvm_lv.rblvm_pv.rblvm_vg.rbmatch_volume_spec.rbmd.rbmd_container.rbmd_level.rbmd_member.rbmd_parity.rbmissing_lvm_pv_issue.rbmount_point.rbmountable.rbmulti_disk_device.rbmultipath.rbpackage_handler.rbpartition.rbpartition_id.rbpartition_tablespartition_tables.rbbase.rbdasd.rbgpt.rbimplicit_pt.rbmsdos.rbpartition_slot.rbtype.rbpartition_type.rbpartitionable.rbpartitioning_features.rbplannedplanned.rbassigned_space.rbbcache.rbbtrfs.rbcan_be_bcache_member.rbcan_be_btrfs_member.rbcan_be_encrypted.rbcan_be_formatted.rbcan_be_md_member.rbcan_be_mounted.rbcan_be_pv.rbcan_be_resized.rbdevice.rbdevices_collection.rbdisk.rbhas_size.rblvm_lv.rblvm_vg.rbmd.rbmixins.rbnfs.rbpartition.rbpartitions_distribution.rbstray_blk_device.rbtmpfs.rbprobed_devicegraph_checker.rbproposalproposal.rbautoinst_bcache_creator.rbautoinst_bcache_planner.rbautoinst_btrfs_planner.rbautoinst_creator_result.rbautoinst_devices_creator.rbautoinst_devices_planner.rbautoinst_disk_device_planner.rbautoinst_drive_planner.rbautoinst_drives_map.rbautoinst_md_creator.rbautoinst_md_planner.rbautoinst_nfs_planner.rbautoinst_partition_size.rbautoinst_partitioner.rbautoinst_size.rbautoinst_size_parser.rbautoinst_space_maker.rbautoinst_tmpfs_planner.rbautoinst_vg_planner.rbbase.rbbtrfs_creator.rbcreator_result.rbdevice_shrinkage.rbdevicegraph_generator.rbdevices_planner.rblvm_creator.rblvm_helper.rbnfs_creator.rbpartition_creator.rbpartition_killer.rbpartition_table_creator.rbpartitions_distribution_calculator.rbphys_vol_calculator.rbphys_vol_strategiesphys_vol_strategies.rbbase.rbuse_available.rbuse_needed.rbsettings_adjustment.rbsettings_generator.rbspace_maker.rbspace_maker_prospectsspace_maker_prospects.rbbase.rbdelete_partition.rblist.rbpartition_prospect.rbresize_partition.rbwipe_disk.rbtmpfs_creator.rbproposal_settings.rbrefinementsrefinements.rbsize_casts.rbregion.rbresize_info.rbsecret_attributes.rbsetup_checker.rbsetup_error.rbsetup_errors_presenter.rbshadower.rbsimple_etc_crypttab_entry.rbsimple_etc_fstab_entry.rbspace_info.rbstorage_class_wrapper.rbstorage_enum_wrapper.rbstorage_env.rbstorage_feature.rbstorage_features_list.rbstorage_manager.rbstray_blk_device.rbsubvol_specification.rbsysconfig_storage.rbunsupported_bcache_issue.rbused_filesystems.rbview.rbvolume_specification.rbvolume_specification_builder.rbvolume_specifications_set.rbwidgetsissues.rbwith_security_policies.rbyaml_writer.rbscrconfetc_mtab.scrsysconfig_storage.scrYaST2org.opensuse.yast.Disk.desktopyast2-storage-ngREADME.mdsysconfig.storage-yast2-storage-ng.commonsysconfig.storage-yast2-storage-ng.defaultsysconfig.storage-yast2-storage-ng.s390yast-disk.svgyast2-storage-ngCOPYINGorg.opensuse.yast.Disk.metainfo.xml/usr/lib/YaST2//usr/lib/YaST2/bin//usr/share/YaST2//usr/share/YaST2/clients//usr/share/YaST2/lib//usr/share/YaST2/lib/installation//usr/share/YaST2/lib/installation/console//usr/share/YaST2/lib/installation/console/plugins//usr/share/YaST2/lib/y2partitioner//usr/share/YaST2/lib/y2partitioner/actions//usr/share/YaST2/lib/y2partitioner/actions/controllers//usr/share/YaST2/lib/y2partitioner/clients//usr/share/YaST2/lib/y2partitioner/dialogs//usr/share/YaST2/lib/y2partitioner/widgets//usr/share/YaST2/lib/y2partitioner/widgets/columns//usr/share/YaST2/lib/y2partitioner/widgets/description_section//usr/share/YaST2/lib/y2partitioner/widgets/menus//usr/share/YaST2/lib/y2partitioner/widgets/pages//usr/share/YaST2/lib/y2storage//usr/share/YaST2/lib/y2storage/autoinst_issues//usr/share/YaST2/lib/y2storage/autoinst_profile//usr/share/YaST2/lib/y2storage/boot_requirements_strategies//usr/share/YaST2/lib/y2storage/callbacks//usr/share/YaST2/lib/y2storage/clients//usr/share/YaST2/lib/y2storage/dialogs//usr/share/YaST2/lib/y2storage/dialogs/callbacks//usr/share/YaST2/lib/y2storage/dialogs/guided_setup//usr/share/YaST2/lib/y2storage/dialogs/guided_setup/helpers//usr/share/YaST2/lib/y2storage/dialogs/guided_setup/widgets//usr/share/YaST2/lib/y2storage/encryption_method//usr/share/YaST2/lib/y2storage/encryption_processes//usr/share/YaST2/lib/y2storage/filesystems//usr/share/YaST2/lib/y2storage/inhibitors//usr/share/YaST2/lib/y2storage/partition_tables//usr/share/YaST2/lib/y2storage/planned//usr/share/YaST2/lib/y2storage/proposal//usr/share/YaST2/lib/y2storage/proposal/phys_vol_strategies//usr/share/YaST2/lib/y2storage/proposal/space_maker_prospects//usr/share/YaST2/lib/y2storage/refinements//usr/share/YaST2/lib/y2storage/widgets//usr/share/YaST2/scrconf//usr/share/applications//usr/share/applications/YaST2//usr/share/doc/packages//usr/share/doc/packages/yast2-storage-ng//usr/share/fillup-templates//usr/share/icons/hicolor/scalable/apps//usr/share/licenses//usr/share/licenses/yast2-storage-ng//usr/share/metainfo/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:31072/SUSE_SLE-15-SP4_Update/1cdcaa2d5ca36d18af6280630a612df1-yast2-storage-ng.SUSE_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linuxdirectoryBourne-Again shell script, ASCII text executableASCII textRuby script, ASCII textSVG Scalable Vector Graphics imageXML 1.0 document text  RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRPPPP ϖ =p')C,(libyui-qt-graph if libyui-qt)utf-85e649297d96df4b085d7c6a5264e43bd8e3b2bee7415090c55183ffb4e858e5d?7zXZ !t/+]"k%uX'$)4=.OKGfjy`-[8,<@D{27@=y 9XoCc}(/K͵e&v/4Ѫ҂'so{6MMlx,Ř|9k욷 sVw~vx6S&@`L)N$~sq$Exe# =$E[}'Z 8^IIHi7 \j7BMw dۘKGf,#BvJh ?Wb_E.Jy嬏מ- J:;3׏X>?Sm!03"R>;}Mƥ^Y.O$h{tD XV}bv!SПByFT+ q6 Q'jBBձ+*5jBր^@o(2-!}|PԜ m, ӱ \erq߹vsTVQ&a&2ua+bVsZ_Pa޹frn7^2tTgv[8:7E!ڬ j\Lswn Gg2X`.}GQ3==[(H[aSPIנ믓NoZC};ϽRr8?3_^JJD`$L]Lk1"]W)<&RZ%S|iEL$4Ws%'a`Zhա!`t1Wn7 J!X)~kЬ%/BbKA4@|R$TD+bɷ>-:^؉鈊{"yɛ׉k("#q%*Ir(v|!#c&ԪAfnz%erex] xrZs%>׮yd1<&'cxsݬNoN\5-a+c!V*PŹ ĝ`R̞S" ޢ'k_tqb!ʕ^*٦lhyt,"eeN{ޒc.g_P9Gb &iL#|De<8˕T%q@rh:N/> } к` wO&\'2'ϣ kp3?a QEjCn-QkyK#a,g{(hw L;T=91ڕvt[E ]SCUK+8Z{+8E"fFi/)TΩl&wګ7{_<8{酚U^pFHk/ٌ ";2Fi;QѩhLWybMVF1"t~9뷓 p~kyթ*Rg:e:/負b9y;]iŠZJqy 6 ;̘|ٵH9>ɯ4BNx&b2 ူ."-f B@YԾS 垘/e.Lr:9cA }lף~bڛW=X*bc pY8Y2I9b;5G8ߒTSs YEChoė* $e=aL=v(08#N:XTN pƬc}ㅛyK=Sh$՘zpCʴ7x1Z~ƢЗWAYZxoFe1!rd!44ay۫S!aZ/2KV!cJV,aҍ\ْAR<jLK%`v(H? R~5NBwwE %*h Q1v]D  +@?VqXڿqUl'仌ހA#&ٌ(o{J?o TL:{dzO/\ 8wB tx NlS4q- +VtPʩ=I~4꽥 '}|]қxv'`4{"OQγdԂ#iIgq `+9 }k|XY߁t%XjP eY5=[MXxr* ܇[`3x:fkBVF{8PVrڕe2 "6BvF\qX9@u1 ;)E&{>73SEqi˒ 1 wsxGL{!kףCNcrV˂d[*nBgAL]Lwiw2qC\x :in>ۈo*NuTf1[dJ_ kIݣ0a%!e_ uN^:% Bcb[|A-7Y<G^|Y6-wpȘ3Yűj!j)j4XX 7JM~dl).حu䱹(9ʈA&X ÛuKէo.=kD5-pNG𠥲mD|'5&qF*yY@Vڙѵ8aayUt1$/6\8-&V{⣈f˹LWr俷 8ɷ ޾zak1+n?R= !kfaGxZLZQ0H+g֛2WAL@mT0 w ʔ\]S-6N`RtP4Tp=tOL%59R)X07̆Xz{!a&~;1ȥ9q G-m],%L== TWAw=@TGSǓO2%pCj+WC(gس=+wD 74Dqp7*wO!OW"&-7,\{,{Ft2Q=#A^Mh)9un8SZGnb\g݉o79h"[g-b+mK? l J4m MNoiEǛIأ="a_jg?]4˕Śe_ =HWikI=İ_(:(Fo^/6Uf1_`fe@1_s?KwiCdE383ɚƾ` M`4H!x{T8 =-X8w3gGY(.'Azr}C-xXfp~AqC*2'wJ ͮb7ۀv67ɋJLXXj@pnW::ԢġĩnT˸9Qת !"@8&G1ާj8b⤎;uF8%fzs8DN^N2`e"lzz) 6nar/ c?{kfUpw?%[BEX#.Y!}~  t.~]CLRJi#~GDvI>M J:ބRMft("DB.ͦ@-,2*eFi?"MDy.NO*JXY$*%rB8^<0 s!g yjc2fՠ}(^h.kW@.JeV/ѐPY2mrU!J8}As!}7űzhQc6);}ͽ, TAۃ`LE&[*G@_' 67\|A˥|`(yZiotYlKS[5S 5# |mܡ;"Hs~C&,pqM]ſnrr/OGS钎HZ,ͻFn3ۥf;P\`vT A3k{$-#J[j v0ګ!3}*uKS+T &;` s6߁..'ĥ O4?ӓ)|PԖ#4LٹiD,K0zzꓜn  ` S'd$DHsKVˏG(!QF=(7^-mYơ|.S xR*#Ƣ="Nݵ6z&O0_8hXO.1tXrMS:c0NBl1s&r/ڝBQP}͛=#L GJ]tg{<}_C2^.7 PozdpV OLĄ~1 R1e%I.c۩`hlIZC_:vzL%M/;/+Jz o=[Gr5ǔm$c6UV=$'4Hq-)s€mmFqQ@w1+ESza8ލr%7CTpg9d1a`C*MŧLPS\O7 4).NRf(\v% fw?sKrw \50䆚hBPdy޳$d S)?]hatM0 Ȑp#YuQm|}Gz`Ñd4-gNu$M /bfFT_ۺ8ZGMArLQw}5 ybU*ںY PCIhѕy<'dðX燬⇚,?mFFB`D ҩ_Dx`!9=r̫VY:"Mt8&1=7u[2ՂݧV/w= .ZoI-(߼$A^XVeS,B=(vR) ?$ב2ZF ^'mC~ yKaA;>̰mAAzkD]Md$]a{8uV=Hkmq"ۭĠ+s+r2ZR6m<{U͍1/=顔c\ q-\kşŒ 5cЊͬ:ܝ7, TJ) D`+%ThtztWFK}vLbף!f `onɯ1#-m35#H w",E @U}$yPl1)zZ׮U5ӃHOÅdKvo 4ukq }OI^*\U3 =4!:8afP>Yv 'ߡ捶j0nܬPD ]܉*33nI+89`!eC NC01S{FPu@?+nIϑ?Jܠ#.#ѹx!+X$ޮ/#Ϳ<[bSTXHs`ĝfF>]:i Bʾ~xJXWF>˔T>ecE{EZqn~"4N&M`qDXIqB4B?ȖbbN 잌hj%Кj`fW;l0瓀5*C_[EkEY:-I; Y0cHv퍣Qb9di30n.Yɪ> nb-]v{6鼝kI1ڈe:!)4+xgO/%`wA 1Z@eAzɻF+Ͷ`_=k1A1­])"/9v.TsvP:mԯ:Iz :fqRzm{' biL"?0y_yoLqF=y&ăʌy^'z%&dx{t54 6-O!2EvӇxnXW[b ױVa| 睼h(Ko`"V󽻴|$sYz?ƣ!/[Y=}Lbj%+zgJgLJ>7/׷43px%e9K ("=&j%[;Y%NH{<hXoI{FrSnx.Bz]{eal?Ƒ\vutC<Qv\9]g`u9I;f ;Va[~{ /'B&<+|2&r+K޿N]R scF((q7 eR7s.:2풠9/5gF#Y kT ~Xh1fkGEx#W$ź[& X[41yO!功P/kbgjpܐm

ȩ?RX#7*Pm͠.f8Ro]ٜXlؑ1DL+ "K9j/Ǟ|y*?$tJABJJ0n?,.dx[BCU0pO14n78h\#D vC9Uw*N,H(z#ȱ&rE%*RMUzTΠTCpOΪ;ZMo9/}O _֠:B6WU6z٦XEp[9G0]8'h \NRB\ur1d9.r.?">mKY%j;T^XiƔ O?`?rq1 o}ctM#E'H& qu" ^y ^GSؑBZqq㶠sV裏;U[6GVbg.mmAj[sX栅ø$>KcEx:5#-hP=3H83 ĉJ ?E8Yd Hvu$툋ķnv[ԏŷrRaT:iWlqaO^# MFC}N0/΀KoU :C)pe@f;0 w*N[*Ȣ\f 1Cń>[RYMvӃqNEEG@0T]C-P㒦qP ZH`;>=am+^)Jv7iB ,"NοzD)hs`Z*`GZ00uMߓޣyK u,@86fR! +xz_;i|ckyDYt&CjVF2H1xZ~@Nn2, ӕLS bݕ7d)[Mq(D/&p{˯Χ4j:gݵ"{(>l>+T| 0 |(G2FpBCngǯ,+{@~֖V84A]ry\MJ%J"-hnAi*'T[Ƈ=xl6k+htɳbX<9;oxVUUQMF@J3V'?y I"v^D7VϳjkAHWzv `#F={1dI_<{[p#kzu1N ͦvgZrJsOPDqNŌ0Moc~ ‹[ l)B `CZsd4ϣdM2:$}*2xcنG#-Ne3g5/g% $TcVu $7C5pL()L/$0Ey|C(#vb{\ ]h1ZPW$<}6tU̧u&^c'NGӤެѼpn(Ү\WHȳ_^a 4q~5c]5Vhj,](¨!0U};iG1N!`$8:|m:_-8py>y|?keֲd8AWڻQ#}Lv>VQ)ko7-Ã5sgX @_xX, z:Fv?II*=f{-*ŋ T]c, M3Xb" $ܠjTytVFOaB#Pd&[JmÀWp +>'_W Ch }Wir֭\.ߡ'zyt=o HC̞aɔ|bI de"|`5 A8S^d:)`v ИV쟇%O^ 3_m'U2fM;ogaY=v-8}jT$?4~O\5C ſB9Һ9\Н02ǦּVfGyV"7P3;8%^OFZ X=ubi2KO^D-hث;GNs@f=yğ<ָL{7V&Nbw@C{ ]P5rc6uыg',҂pi)?D\>2U~<_KGomݖ" RG.;P2>/{|i 5zvQ2FMF}K.f~wq_*6ʵ> m#U^vld"oņڋU/.ݜx䷰"U*Xa0iӀ#E]$Ti(a|UX+ WC0*X[4ZfGu@iFa1kƌS◝qMݓBڠ=A|P,PhIjkŹrD<vAR< f:X uɪ$qLp9~ľºmA ;>2-+"Yf#r\K*թ #cwmoXNWl *uIUT_ {ӌӪD^aїJY!m*b&&Pٕm7bNA?93.r&q5wA+brq1hHc.Ω@ܸ(9Dd6F?::PeVnP;n/ga9GZVUTMKSx@bI_WxHB<Hez(6K[#3I4˝EKkJB[d2yFRI%^Z&zkzAk/SVJGH ӢO?)KAVAWe?`ZᛛƩOru5=9<̀ta{F3-4V[g$^^P6(Ud}ݒ JV/N\(xǫqSvxEU>ǯPpOKI{-C!D.D%DtTYIt2jcf)V!C6x7=I'o!^Wk ̷a %ِ7^k^:c^6ӏ69쯖0c2>zd4ho {!#sZDa~:0w&π_qI+K $50psYLM̼W(hd~)@*Jr{j7l6JZgp?i (uU+uQKv LD걯t[T@,$J#ca&}k3ѯy\ uFlzlTҳTE܃w8%5&;88~[n7{LiZQ}b>e o(0,HDt+o1>ʕNxUEΠF0r ӯ_v4(ֱuv!H̀8$ /P4 40 R7FX*`X[dCx=4 aᜈzpVݧn{m}~2-^(;[uWg,5"8m@}tL#xN8 75fBP! U}Rc(On(FihhI͗/hsqV݊Ã:HTc:4^W&#}d>}K6*134vv2 4pO%]ah KAh1}ra_ 7L*W/(y~X% j|\z*.]>}SI;6֜5v>jN{ao0N2B%[B> %3"sVR8Oo^e 3Źl-ks*\7Ղ/Y#!g&FAhh6D)ϻ]B'ȼCdSAӮZ! W`⡌^E ɳ_CV37+*Y^_ww=y lO d?TG**܅8+m gY$Js1zIaG'GIx.BG/o'v\wr.fј[> "F[ꁈ|YöT6j%9]z-O+⍆Me<OA\hf$Y@QH;25?_x7qj&v 5hUhWY7}̑5w":+W{^HH&6|D@d~d NN+˶BoE`/yVUk>P~Л^ ?ͺ c;qHi25qI2%J_SXT Q2(!\nuҧf/i(U7`0Ҏ2f7]a^ţ%5 !~1xdq.i{׃hfOu]@#29ū;cd\а;R\B1<{TS&z%XWm%՞gGH2%I1+ Rd@3Ǒnn )beQU l?L#J!!.7C8,PA{k.vu_>a4!s;Cӆ !xNzD]suUY@ D˒{͛!qR|h"I I(iS4-Hx$y⑉ȋ#e X1 ʛCPOiW)_T 0.D3I0"aC&ܴ< l!v4Z82M$d9IF$5=o( jP,(ZyWԈ[,.|1M#Jƣ}BwE;VL49|%uƣ;;Y(Izʍ$,Ώ>4:*[PН5Yދ{̻M(YdWa;Kb< Ir)0nJN|z0s4Bp YA,Ntv:Q-E3-Ma֞eTŮtOQ^0[XpN+'70$G@aT\d<+o]OCŰmvr<F`CpzsZNRBMYXYM͖<J(sXT}dO\6S3yW_=o2# &Y$)옪"5<dhoHvX[%]\s}^Ɖ8|@ <5H]&m;^nR2J-5[8HfKaEwt7p)Ѥ|`9@χa[/) 8 5S;hHz'Oc|sYa^eSmp`²Bq#FΊ|M,5j-hCg>L cRhY2sh^Z ULC1G9s EY̢ЏIG ("CrL$oCV07xc{PEU3#1 J\R|Nz5:ߩ-P^O<<ِΓvP?mt -k SvЬw9:GʦukԿ lJ^AhR4 .+Rn)b.1LV6VnꟷuDe/Wz  %Ii`k5e[} y@=ýڊ^WA9 È)XH?HjUuq"Q Az .Ǎ:A t"*AG+c |uLR|H܎TzB%d7tzTZ; j9.T^]aޢ+xW'o(` hg̏B+Z͏OSۣamj2 G6 ָG[Di%|Ƨ U3{CBhSA pj]XP7eDq̗2Rث e;ZqRJO ;Yf^UPE&J5)'sAؒRvE "<ɌڎjG6msDcWT*@HϽ6U;rnjT|0{VX]tO?ݳ~C,?. h:#2h'BKzʂ א>53+JzJK\G)s@d!P%~}msRx 9P8j4L'd LP*E9ϤGq)3ooVHOs$HEޜ蝿N7'<7vA$詀ɮ"Fb4;D0ڬܵK_!2K|7Pc Y\?4thBJo6d޸dR"ǹU*>ōfb߶a3!Յj=2.V\++M[uئFGk"Guxj?o˂?潃>U) D 4odѕ#Ko'bx!u_,DŅRC_3-[Mc[$KB5q?u){t'A?7Fk@S{ĽW0)F])>i}^P LJeV-v7> ɘ_ Ӎ?jJ$YExXn 8B P7vn>{ĆҘʳ|b+RgH卲KRyW,;1i Sgtq2CotbqO~!#oVk sxΦh8O݂IUM4;FUؖz耆#duDkT" eR^i/sK 8ғܪZdٓ[SbeFX(e|Fi][x-y5hVeɟ\$- X3#\0J@B[ ʐFM,8$+yqHI2!kZ.GwXfJcvzlzFvsSUF55dn;y02H$i; #hn^JQ0Kxbp[JCD4yF@r~z7p-Tbq'~#R -.;;7н$Y߿fR:WP!a-&j"it K_qU<:nX {.vcc _*fj[ W_eg~K;^n-p9Z崑 k|%.z,^>OV bvѦ};X I Vc!QJZ\pԲI$IS,hd0ǃq)c\\0aPn QTrEhP칿b.C2jBU|bȬWN %gxS V?ͧ&9@ݽCF nT} #K^>odGՌ`)b'0_ V:3.FE3wzSLS:>FDX6Yg|PF2m#a;> >w o>W"QF:TOK=Ru|`A?  Q; eZv2ƀ%jIJl#de6%o Jr:BֶR7 K^A;8? a]?pRHt!Au !i.عpF b1L—ˎȧ%Z \Лd?g uqE3a39qיOu?VMZŏ6^(ʴ]#G[I\q'-_*_6;at?L[bܺYGمpCK;!4vl 6.Қ5Hp>9-Ɋ l?݊bBX$O|f[Sj:9~ 8 b<_4qaʩR`je5\I)jPN^6cI.~4oy11l:.d͙mtntE> Hn<h>]1 yOHyn~{Fvx<3/SZb G^z!t:+'rDݕ*1ey/ pWZ9m,Vl+@}ZęAln&k$6YP4M4AdˉF8jWQ?1 0ϟʥdf0vr r"ÏE٢2UrbY1?nj'M:.XeĐz Vx['.eĤ;5?z ]XΉ{VO,[oߑj7 ki7޿aqæz:+8^HCp*%3dm!&%1ɏ}σ!yjs$-_<.WQ`{Z/(7Y!<0?P!]&brqш[VVհP0dkffAu|{ ę+LROfB\_ ԡ z#Z3κU"hZ>46quzTJ1WhF.T=t%a& .S('xygICCTHrLi/2we:up6 (CM }>fy]K"J1y.+Zr̪y5`ơ Bzkb_z"ɵec<@Hҳ}oxy@: MlHԣh>~5Y+14e\|䁯[ VN{s6*NʍLM^a̬ж 0wbE)ո6 8}:%9rZzoB7DŸBO*+l-N?EIٚIU]v$N\ז]\#sw ,w䣧@I4遃\@;w3uQQFυ|Nod*{cXLJde r? TS?(oEȻ0V՛]Ng}>CHh,9(;Di:\ѬɄX_'dnEZ xIyr`O ))oвD-"m h_?6em,kA⬴Y>l.%RAU 2V:4emOxkJr;, {b`2hAOpoϘ Xݓ{Toފw ÉwE\O0g uWHϸB6k*ZHWYnkpc W-\UAUbBեjEH-BT҅Ah%nw%G3k (唥o%BPʼ cKЫ[\t΄1V#,m5{(?X"(l*:6*cҴ ?MLg>wGԢbIoE,K?VLCk犨Kh g?=x7j[M=kSSGl {arnlj VFG <4~̭˚(UWa3qyv*)Q^e1lN0 .m|?8];]|G#d*k.[t 3HK݁%8- g\1 G>7 [? g)ڰLRSNmM-de Vs+$-Hsc]}SsK(L.\l%62Zr2Zr|y9s*bIgK|[j-1QL-X1 j0_K77Ia ǧܷ %pRrfNR~/cGe[Oİ$JT7%iKiݴA/}.<[.\smO%"7EU_o`,_"!x7?_ޮ 2>\w[X"COsZ{V5ӮE?̡?)@:i?߬Y)R]{WW"i//USlOPx}mp"Jn$(M sB6]J%i|UJ4z'RvI3Ɨ|?fuV|m]w-XS VH)h vGwKX$O tElHRV7٨-=,s XWdɷ7"Iv'zVoV\%MH\l&iY@w;e4 RҳWhG%$o9·/4?"4Ǧr{^@6 a"z7Zfbēb1\ &/ sP[5)--7ũD 橶>e4z1GG~P7uI\ W?%_c'`:qիTτhfr8+ qA;U^ ˸W o=;nm3==c`BngxlD׸ %j wEd2CP"Or\bk"7crvu3q0JS8%p}Yi}ֹj d/!k$+t,K2,/cvt 4a4/" )jKiR76a0B4$>Y {b::b@ϳ^ŗmR#r0%Zw3Sh]u B43m%Ҏqv^cGf(uwÎ RUuHD;P 5tLf'_%[S $sk5Fڈ)<n+hW |yB5ғӤU'9X/ Ȫ5,/qպt*Zu{uۇb,YuHZ%,@Cd'ӅΝKPJj7!^ȭm%8s-z.<JѩVޏ\LO)){aea۪ ϑӾ3.tk\hJet|v$LmرLP)&^ta.W5 Xi%yma\/lžp;6븥S d<àV81h{.-Lzn\zD?,@ꁲ- Ɇ+5^DW6(!0 Du8GXݲiçB(D&ޥz}ȟ޵>䊷1NWv f@3Pmc;"Ņ'SdK 4B1'dyQw4op}nr^zۆ@ݑJ [Eʯ^.:Lbo3{stM97صjpP̩9ϭH"ݱ'f\et:,hM\ 9P$H0AY.ʼ0a{IY"*_ឨ;)Rf'/^^pΑNG_*n14UupͳKr7HF]C Um߼3xxD`76S{_ i<Ʉ 2*WƺV@r,hr.CfܚHs' 2>6C(?rg#ּ׹aq"suΧ:^.^Oj2 vk#نT,f:[(Oڮ1PBlA4rw6j#%3Eec!Fvܔ$d1cj ?~-1V\3Kݳ5AL5~/alrYMȘ,r2P2K8W$j6´U 1UcYvlfsHSa1;ܣg$ɻ28Zf `TJp.e|T/n.\?<1װң Y4=$-v(- aVc9ir&"ZLڛvWfBUXv- G)YO˃R;?J&j{9f<1ߖJ,p%aN=-h~-!**.bB0EW3F5%G)r _wmݪQ@};wWjI%^(F`6뉯㴿ᬽWسS*(9x=KXG-OXD0TPҠ;!1 MF.-s$ Yb,n'[?ȱ$s>F`Y&5Yp 7tBgW3|a*4:\(% !d4kck|֘3_ CɺH}"EE_+@σ}T\~1lIg{ uY|ȢdJ--WΑEFPM)0{h,q( ǪNa+㠰cVD5)>.] :50(j_7Uױ䔬"wm7m X5!BbXM9jr>ӑ3@Q\6F[ˠEWOKrho7Qcde5%5A1kh=5Jc0[0H[Pzκ0?O1M@ތPP\W2H_L[ZzEU!aѾL!*y h~#6~ uދ)` F ]$,;fڲ#@8G,O+vF䩚ŕ?;C?HwCRAP-]t̐čG9xFh`$p+ピM} 7S;ȉ-$yZ{.5Ut8W?TyY? Sq搈:[某Dn:7?.9g@Lin}*LEY_&0wMs@c{4oa[7B"Pf= I4$Gw~*!JpbS{ráq ;(Cٱ H:m/SMy8kAy֚4zP|A<éz3Zv2cįecXJSӉS,§!.r]f5)6HIǂS1ûl\2@J7W \!dRϪ QcY8jЉ2Gvd=Li5tcsKKT*Bt'cuЌ2/#J헧TzY_#)ye '0:yNX5ʡu8:MZ.f{-!{Om%# ROnKPߚ6wɀmʺ/G9D{Å~Eh`tGI Q"ԴވSK/d@APi!X0"zܐvj |L*t>s7^^\V`Aڊ4ے:"hc|u"Awbj^w9?n{4Ho/hlDA|o|#Ŋ?uY)nPt$G?Z مڨ r"!#R^rK?7`LoS9X ֯B@ <)OET}#%ʞCI'u?Sp(~W y4F߁JplG[wi-_W9ʻ`CvAx}@kiZFD)% `qo+Llj:(۵_M(8u@\ͫ-0nЃyl7j^z(X:6߃_jc<M&֘-C~_h/$ 3$fC":I6{m`ݤ%eۋd#ȕNF}-W:h|2}QutX'HQ%)=Ûrp5f:\TUb>lਇpY¬8gD!˚Yr|)a@hI䯷|S[˾zt&{V 9zKodRk1"$AӠ֧)ު2Dh?-`c @(_.J=Q&(?L"U9%]Tȧ[ϔfp^iM0]l7ƌ~r4edRĝ0EbB#~Tf u-5#:墂M[`shaDѝkn޾CG`y0_jN\7wF΋<>UFNBAO e,Bw%J?9IRhI(+lkLq6`{كWQ,{t*.M]bbymr*QQRr2EA,$ ݊#$3W;x?O>)~), ||gۯ0J wDfBԶ2%>33AEhͶ]Ћ[1FM͝\fN=͂d3&} j# Jڠ/$,u1%UH| I Tw_F[}ƞ>*UvhJlm(Ϲ%QQ=#5ACLqliz-#qVdL j8KGyMEqɄ_o:մ|ksAwz?@&H2qRxylb!CAHtUaG6pM$[޴";5\|~=**MEnXDVo(M" ksG[. ߋBKELv+ڥ`6{qjߺ$C6)M]bN{<HJEP7jY|qEr=GEP](c}d笎F7F#aݍ{ 7&P )!r'!GQ0Ј,=X߯@,kt`<d;el9!sG09-xWh~)fWwboS~˵E ən#5ze8%e%Ϥ;Lpew@ Ϛ4װe+2/CDԂ7\3pHZyXӾ=$Yvd/QUWt/pwT-5IySg2^(Fm:+K xqXKtRdf^kUэߛP~3]>RCcYE ep!OβÈ5,,=GOXj֭eP&ܱɢJL 1N?<c%Y443𨆞pNGb_/ܿךrTc>S‹3} h=_Ys,p:)"]$ۯ~w65|u <6A2QxD 5iN. jR3Ȗ\ٳ%y C! ivARq x|@i_-=~'+"ѐRx'r~UpV"~Ơt1:b96XԶtZȘWj~l?UԆx=m5 =zPЁ\x[ĩ+Ѩj;v_jy[/*O{F:7+)>dӏuH49{cیʊs=Zb2TK<Ν{F{ ؅Qy#c!y$0/&> @Z"cY(JIU5'1ư+:_Wb#7Zм3):cT#x삣!R@~?Vcu햤ύubhlBǎ ^jP`p]=f"CQ yO)OqXj ~pQS<ل^I|0'$yF.x?^=Z";}0̕Hn3ֻ$'v~ů&7xaWjs}]ޫViރko bY!)wR ~ l$b®ô9hEvॺetTd|F:C"iiRҪ%aIE(Uaw3~C>]c%~[^ࡄPʨ0aj 0f 0waCg2@5ˎFيԈJ|lYh1M`B"P'yYFRmw%BhG3{gr{< pT9Dv6,1MbmVa5O8S d qT?f8-> QbE$ ̺.!Ɠ[mr4o"k5v@;Fdž7BM7*TD*ƄO&.WL{YJ9$P9ljh 2\hVGR鍷QyRН ^/GhJlq")Tf;\H:RdMŹ5,ϺΧ)!eoC";5RG-ŬͪDt0ۢ[sƆ;X`&u;q_fe0F#.C[/for{G|eZEy)w0[]U*liL)Y1 iÄ-oH6p5ySլ].d2 !q#HGjx_`Տ:x& ' IQ |SV͈B'sV-YPCEyJ*IȢI{xD:eJI;j}~5R@mY.(atu~-e{^U5X@щBT4 ,CB漓fp/5e kÆ {V0rK_y4LL/+ja֝r@ ®\~iBi[B oT]ڗA@k?+M`xA dcq}2:&t5{җB"д%3AZ } sr^pg^JC-qWy]EdE(+)(H#gϭL9 Brm vϪ .v\ID\^ *o ZJPbeª3&4KQi[gUQJc|w×ʦ <` d,h@'_=nyO0aq;ݙ4͜Y69 Bz5YZ%jwn>o Cҩ7u7<9oۇ[W +n%O>#}cpwY}tJ sRLiOYbF1{ *a c#Q3i]K?> gMV3)-Q}y9Bq+J s^[=h𙻡+7\mǹrxY&?i A7BeB+B`^.=AA22]шR( qT^'y7?/O 8TZq%بm9x^`a$=,kS!o8P^<7vxQ[Hd@>Lϧ4ef 'iBLKk8qb[D05?)ֻ5?V5n/,s߻I ~`q xWZFu7QJD<φ!;.!S&j( r$A+O-K~ND(ԟ.3=hi7C #`tPy-눷wÑ"*7z,B!aٽ4<<8oiHutZV=PRq~]#5).R v٪vnZkT( Y@TQzώ!"$QqɄb\2wzkWXa /AQ OgW]\c41dOU1Q!'Sgi"왰璗P.;ֈ)o'Jٲy Fs/CS ٚDOu׍Ofdc!eTgHL *%Z<8e{>D'3je@V,08\c Hm0t%L:NZMKy!{w..fCZl3yiAEIׂ<))7F/T2SiGyآBʁqϺQGltLYhte=ٝMeU^`JR,!,ܖ%? o'.?}8zJZ!*fMihn-{sl]/ z|s AǸuSNvBw ޙB.>mn䂡A+UKYeT+ Il͉/r)R_{vU/) Uf=9hZq#mCn)V;r Um;0X\i/<"SL Vdj)Ip iWMDFQx!Ћu$[ +nU4tD?tI↌9RxͮKnԘX(R0$ #.F8eC];]bD*& -AGO1X?cV2@=34 qQR,5z ǾJP(,6Z-m7a(W*zk/k1bxR0>DGDȏ()=FH<*^]&@70n.=9Ч{W2C0Q*}G'=58w#N QW1E-yZ&&VQa>p } &n%)|/@sR, iVc|+1Yz- 5(MLζO }aGJ' [k;U8۷Ļ##!s-~ 3 _s+}݆ec'G M[-^gfq8FXrE-aGEa&-cA#ƬLn=Di;{ۦxEi>o F/3Y)XupnqZ.2Z>4)+>g-C @U)szml1uCW|Oܑ2#TزAPɬuU[m]}ķq05R9>`;,X^؏}vkby=6?!~ϐ2)dc] 80CʎS}Pu}|dž[ݩiB ek+N-=wQQ5@M+G`,UA0S!CT]lNnLM~A=; D{;)MFT;4}Up(ϑ%;ZZ̀[҅Eofrx"^i+IP%, /J/Nx=>c-1FB03m޺B[93'n4BWJj< CnIDM5iȬd9xUY<0FiƟ_څ3Ud(wrSیp=8 DvиhۋYCY4[WxXnlB;qΦ}R#X𼡍.)$| aPA8 [;0 [oÌ 3神Xp+ 0ՆțgPK)S:?DI"۱kM%P9S\ޕ׸!^<>pɸݣvE`\/J{3WY4. ;Hiy%ib!U&7h{PA`f݄G8/u) 90'ni|\DQ HQ0~E% I/iWnbi@;c R %@2~ښ!ǧ'&@` `&oMpq}m@zޕgoXo`ejw ;џ%..7 " _F R+Y3qdp,g Tbp9Yu-Qh!m9^nʪ TH`Js_]fn+@8!V,V65]dt_ ƣO-:c-z0G,ʞd 8L*5-n%/7cklv=Z}5Cz1LW9Y~pL'~F+w4 [8j4rg0ŴDN36Ǣ0x\x]ݠS;<įiLY&T݊ċU1ĂcBM p;ڥ`F&& iw7t-vcϜ$N8 9/hb)Q{Ց;Ji¿wq, Zj50yawVƯ {Jr%iµ+vTx? (ʼ-̎{طWE֤oY 03"@W+QG h([\4KϓrXT@B  a^Z/phq ұ/-K"$-NIU@4匿ySɞ1ͰgyB)!Z+*LD]7,>,*S+%t$sZG ɞ\c\e#*nrs/ULԶ/k^!,o]ٔ=:LEl]ni}<)/WUtt 0̑jiy^-9 lURcAy_.ɚv1:\C{?PT-_ JʌL0g"p"sܝDf4߆w(8o[B3[EϼU3n-K<,wHxZoANe\cQ),}W]uwϒ2meT8(̅ KzzXwg?VAx\mw`V GaGic2{6%wC1Wr?hΏ|+u%n1Qe}ѯtZ25{ЋV`k%Cel 7zoS6|VTc3aئ:N ARN1/· a[Rϝ2uO$+Ov,u|6,gQY^r#4JcmL·[ MCv+x^if L:.LGӗ)*_NSܡj5I/v݂iQ@)W-O(\v]»Eߪ1 Vr&'o!lZZ\EFvsvE2ȚɁ(RAz)o ;r4BKgYȡt//?i{iZv4bD@PV:[_8FC-D(I Qpe͋Vek, ƠUo_/6؈tPg۩y2::TTd<#; pysrt˸ ܠAs`̪ar[f] ݄VAaU0}lcAӶƯRA(`r,ƩNBa;CƝ6Fjd#c4gHf K9A֧ X՘ ?fK\VkaW8lzpI$ousb4%-mSʨRŻ$iΔENe d1T|:gVqL%W\@T60Ә)է|Vh}($dKowތѓĬRfR/! ʉ[CMUt3]f' ފs0nkeM<_>S\FS ԧD֊lHGK̔%3gbDU/7WNrQ/ZCXeuFc䟬D4ӌ5L8  ٻ m[J":z)KAmx`pMO_xccb5,Bߦ$OődG.If k AA/JU;G?c󑛛`z2Q>"˨%"t;Ut|^ cbdzQ%`kޤC,}b ^wfkM9XˬQ$K4tǠYa`/d%䏠%'d|l42݉u3kd??)LVTpqjh hG粌jwy=[.:+w7tzm' ~?F=r KwL`ke0}]c‹hmcY)SR^8pT}K!릛XJi<崜VxJ-6 H 6@Z#N<%gʙ}ať(j$;YN?~q|k7A2f'PT8D.y[FBD4spͫM'_VFno[ن%@15Vvo޶B;vAj9c $c7ো>eƀ99EaV<25ANlUTZ0SZg6Bz5QiڜT@O\wF)|_]Df?,Lgޙ~q44z!-GyJ)A^6]07L;,X,[K9.6GiC7 &f/]p^̃պr>J03RGVmmX!+ Q4; HF!̒Osh*n#ȩF氄6GңVj<"Rm'mThob Jv/" “n(L (:!Nœe Jqa2vF d% =&^`N ۿ@n{y4)aAUcFE2q5oG8~E*zVRAKWs9铲h "}*uď4ɐAbЕ*0/(6mqID=M $!PVvN!n4I[,p45PV|xݑ/luqP֦ 5 771C|^³;?Z~+.`vKtt!xpD\$Rp#׹~",xVQ*։:.1]7=yslU<&|fx ׃[oel)Ցw&e+up"`oSΥ ! aw˂|^t%Lum66Z1:]5WI/ڊ5rRM_3=ݟQ; V('d8%SE= <ڢuoI>3Gs˜|p*75AWYUY\3D\ohТ@8fZZ;"EOo$*&F7#b k.^d#4?c=3WqޏT ~DtGUU 96vNIZ&(i< vcx*\fEOROd} ِ߮fs]_wE\;S|"G^;m|wt$*ig*r krϻ$@7\ىaZukҮjt*=JE#8lX4itL]4)&h-Nz&D&SB\;%_e#O {~Z$.}n@I(0Xlˏ_W5WψѢEVB;|"Z8!~ф[QN3_QK1ou>6&OhZI]|\f `Rb ¡;(4߇_y߃b[H]>:b=Kq"tQT颕4~honOAmbGzJKۚMOA{*{613H#j`G6l$s+=*%NdvM.&M%pv?m!v.N+5|q !ƍ*N+>?#66v=q lV2C)20F-b"{͢@c`1]flյ:fvrTTz~>e󵟮-b~. tT\䧿ޑ&rUb_?sO]"=`}78Bpe1πN7RdXRޅYR f/&݌ u ,:ºnnb(gִҼFK{g-sESGP,$9rlk YqII*!Ұyr$>Y=J4`4ECvxX {*[uaqV~IaӸ49X4XJ1YΏOLc[D*;.*`u\{ r++| P0ϧp5{9RIgZ OJj;іje7 $DXM;Jp6vB Z[6Ua;+@lhzu6G>ko>'܃z˟nNkUa\@hmkw?:h/E8 ;ntlfV=_o [KrkV.l3cEv)8U968aǚ`n߄A}j"PQrwIEѮ6o_RnƄc;*p+b$bӑ量SmFƹ̅uۆ7Syw8)-% \\De‹6m悫Kǻv&މ1@8]y&=|P%p{d +$yb {& {hJ`4 h^`ѹ7lJ@8Ȱcl_ g~A~<YE͕7zL$\(d{#o,CQcİpeb(-\J4UhyJjߞhe|cp9kK#2qM㎭wgipA̳/5 ;}irRJU΀Gd$'BmDnm7..V>]ז0DEZH2^GV8ԋ8{20.sxEL9^3^CBڻ\ *m7. iQkb%;vJ 3d";? uiZc[-r,'D$>1ۀG Hu#sRq&BǼlpzб"ഒsaWE&ְF;;.Y9z:Ջ8ogIT``20Vn:qw|37/#d\XsSdG/IPMڴK!No2;`A2ls-=﹩&t!͒E#Ҩ AH| K9jbm"IV<@tN@&.l$#jW^Dux~#bYԮ~K݇᫈Mw LͪBԗcZbob\%,/ .7ez#|F_ra!?X`J*e9$<߮a))bʶ$k1n%HW.5 2w̥z>@8z| s"fo_ *bws)UW?ZҦ:0?o.;ގn HNKgC~*'=EƼ>ѿFK0jwjIhx Ʊdch{$+}2s^o3_V@֊ W0Ѕّ˫(k^@:eRɌM. (ֆ$ E޳$*bbdtpmx>%: jL2=+2wWt(i֖OZ0l:Ninqͯ!EPcP/jn<1 "SCI>s]~x $WODND"u:eZ‡I%ejzɤ14kL>^:2EJ/]cG@NJ&LG2K!WF9PݫHjh ɰrWآ#nnf3Mh6%A^&5ȸ(rm*fj%i*5Ŀbh^j%ϟE'<1󔗍6s/Zޑ0t,w5 cҰVC=>|΁*0/2&$9l H>l"haDkã 0|*0>Dʯ t0d &+kĹdUvjIt,󡗇'<35ۼycM\_g&I>סfa y2%}HWUG%!fTxQ[)E򬈮c dNe1Ө<7-{Pd FmIi.“!p̴P:όpX@".B =ś{&B\9PjXC)?gAԻ[SЙˀS- n^]g#9@tӪi*[Nx߰v կBD2<# ]@ uh %T4 Lʫ'$]DNh*dQI~x=3RAws{[u``E2{wʠ o} oe_г/2QILthQj;_ofشty{ϞUYĠLm\`ԇ^%SsSqGHAƩq|gp Ql ^z40$D"+ EtB+ww̙'ˌO hWjNf&Fᖌ78%şثzՈ$ZsBwPSmt-hkۡ1EH_Ў6Z 11q!<3ۏt!Ud䳦hyNY݊EVdcڇsHm"u()7z!nDП?b #@cf&4ud,+4K$$5o =* nJoUE%{̖2l~]k0r8XmiFQHU^2y7 5A't b1n!rOrzPjdzl[W]h2|)`Y^6 / [H>ɜ1,FVsj/-.+Ɉk23%>o^|g+'FvOR X!"[Ӥ0׿z*DwHU1DDvJB8@rb?^A&J'OLצ&OS S!"󘛤 5Y(xVϋʎΖo\c`;Uʯڞ[x E _S=ȟN(%dvqsne4KӬVFC՞2$FGj?_2%sZ"_eLË}uCL]:&6nsQrP7&Z;I̅O X'N*2B r;2)% Є V*C| Rddc-3'~fNCL }^1&kˣ_E`UHTR>HҽId٩I4ZYg}1&H9n m4f|]k/S!hQ|X6Nz'B$!̍E. 1"PwF*Xrnn$F2C;}9p#w;??bKPߪ&EĮcX_ނ%$i5M|$^#rѴ1r-IY݉/HX! *1n11%eu=յ#CDPk<{pjL% V$x ̳ /P֟#ld`bڊ=:'"~cdȚv7Hy)H;z5 ƿ(kwr0e xt<$B/n}OMYGCqΓzݩ$ވ{`IKLV # sZ=b#J}¶T萜:sWԒNVq4+zjT D)vg;9g'6~Y?T5dD'Aس :^9L[ ލe:(3*k.Pf󿋱y#Q9󣲭|J,[#m,ע?\Qq(2\Hdy54Gև׮ o+POӾmRGn]Lr;|CYhBy:Dž+ʹmM9c>D(/ [`3&Z @}r[D?X6 XyH͖qꖼ 1>CpN:tZM}m;y|i3 =M̎GTKl <,Ej{nuDMU8esoH6% ΒA⹅@_ͿRmGcdn#HIydx2E0#y(JH}DbK~LI{z ?zFP =;xa$p7{L`^E flO pc9HCm74(J ƴ DmOcl*`S#<=o̬&׈}ΧRvw!qj&GN1$gG/QO% flLc#C~X>ق_3:Amr%eF$˄Bjwx[m]c]Q2GUiY\i9йl~/= :k5n9C dfZLF2 N!7o.Jqݩzy)R )}bǼ7FG* PoR߱ `e}슦LEݽEX$b-zӺ{ަ+L H  +yG' \CQk4Vb %ҞӨcNNŒ&|iazAˀaDBj44NB-8ؿ Fj<(e޾|edtw8]_v>u^pw0>]Mk.rdwo^C?$`rl(ЖCP4 Em#em>⽯N.h&R0˱#sLۨ$?Lo,7d$327럁T0lOWki4Ob<}~=TXIa$b@"l<sd.pGqK=%]BbvHXb ?-ɡG{)n9/]>DpJ0x196d=nZq ErȴQ3KVCA>~e$a CmJr[+պlIAB87 wb jZVrB!{".s4 Lc6_O,XNۻ~_fJw"r s7 .v S7F>^O?BShP^ң}a7 GFd)u 7kPH,F'8o?+ȝiD98٤/DAEה zQ|Uw0EAڹܟ^h,mIi^PGeBKv"5TT X\Xv+*_E)ľu79jZC)Xjju ϝ՗|dkȪ Slk֝z5UEY&~_8EI\%DYCJG%S"ZKɟrKꖃsu+"d^PGDY ޓHkCiTB"E3j>t6 Ȳ]a <t6/?$-ULظ-Hh@rfz J|(vb0|l'{|ʜSw" r6]hh\\4 (܊ԋ{Xpvo=y. \/܎8NLylo#j;c%;5ge7&Cĭ:t|S/jkyߗaXb)ف 歎lo#(zxiނ=`}TҚ;AE<sij. d^[-F69[hL5xG^BP c3" ~hpEװ S`_K-p6Z|ifes_hf/$ұav<`/^2D4CDi ~(ikyslO?-܉h;cPMZûG+R-H;^Rm4!))z (>4KDFN(]! 4A6zH(ɣRr{uz{8tYd߫za %{x˄7Bb=X]&mu^!8-brEg$&6= $;4J7 BHw.?MGf>)U>:-ھ`LlrNtYFV$xǧwçPzp4H\zHeA`]""ƌf-zsTyH-uZ2Gz# m;Xݟnh^߾T궠n{En~܄ׯe 9|MSk'pwFm^:~ߗ0KEN-5>jiwPk beǍ`5<J^xp'.*( 8]rr>dg,qh?i)pŷv-Ak:z'MsCt(HaK-kyI5]s,wtڌ, bv5`;m?Jg@ifzj.$$μH ,o&#BOp@#M=2TٴB7.) NG䠏 ύ ;`1xb1vd<ɣb,EtXxɝ8HiI6X|tqt@T:d#r 4Sûs.t fVxbP[+cGsr{Tc" pz8:DNԺPNZ;F~brt6ͼwV !z+fĶm4Q,AḢR )h|AXQW9GGp]y[AӻH$yRzTRxno֠Np3vfPԃ>K$ی)xGnrUvc*>pQ $.w8{-M?ͅ=9pQNBj?O>E$qW:abE7{sj$S2WB` *&z>E|q˥=C9?dEǕJ"&8,>>vvNOti ;~H`sxԘZw}p :EEv^9-EZ9hL[GqAޓ\{w\hIWǾƞ`%T& `64?b2m>nc2ɉIE^G]su,'?Q1CqYιSjwE:n&_ԫ5AxQ} NU@w*Gt={axd2=@KYM8X,;$T [c6`~pI0K h%Yu[x͚;@ʉjٔm<g|yV\ NPI5i8NLу& QY0t,s*\Y(K"J Ar|Q ïٗJcYzTgDȪMԟ$XllI8(V鄲Rkx}$^P?pFJ^ HA+ F'{|/!FT PeΪ1ͻCLw•]yZ~IP#g鲱YKc?H)]k$ у`=|`b(%roI: v M8F߀t\>!eZ'f\IZj tr3alIj8.qlĊ؇[Ap,6S>hL+{w4? L#;*Kdc(s>-0^ TRg0 Rm|M4U|)d+ta]Ц#~=D^yT>9VSQxSϕw}%N_!i0xjйecBMXؘ[ h⽍ cpjuO5Y|nȥ %M*b) *Ȍ'QSd_k@  o;CBզG.n v].FI=1gw2譹@(4%Պ{G0HL[TʸWRHFg/6wc@qLnp:.&jt-׋NJl#mufg֛_ܣBozy$eu'7'*jFTF` 2Ү~u>@"(,ā}hBWі"]W,k~[*J޳Z<ܺ^P6z6ư5=Y _bi~: i&.KAڦm/r,ڊQ&rf] ><["5ÁZGp8݉"(i{T)qb2E+`:׹$ӭ (IҠtǣk ϰWZUp.lD.;Pt"mJi^CBes;XMpi1r=i97dbO[b FŒxDREI.3C?22˃8I7*l?lM!#W[(FT(v(f)el`[(SXzjy$OD14kn׀h}+=&#Bw&iyrPϢ(S}pʶN"h}iPShYY6aPߒ*E 즹0|'Mφjܺm1y #~1Xntoos iobQM$rO>A?Ƭ&tQ&5@y6#CЕs@d.gmS6zAVk Ǡ_+b/xw_v4"MVJ;6#k9,`8 ՗ ,rKjSg*2\ZM#3c'gn>D0oRCl?F( :_,zFD8% N.}ϗ (Tmv,- y?> VNdq1Guً /#x. 0;DI)jEXoS і|J? An B>C bJHn?J+nTp Yt1ӳ9[6/}Qi&4QO0f)xϿr]?q%VO'];Wep:դj.A5qpv a <\EyhSRnCC2CdMۧr\!BlR[sܐ;Dۉ(IUk!?u#zQU`58;B upr%)/>~fŐ*ڹ RJ[oɶtc#W#T aTq 9in7M`r6?569SΟ"qԕl*a L`)-߇"DeL4M*kf[!sf 8 EhiاY#v.pw;O?B yմRY9zKɤ͹iQ^UbAR㨟SF..0饣!|ٹb pטǬJQg^.fF>m{mbw G{"A5n0ۙar\B5(s‰5w BU79 1s%&  K̽ld6]L `/rkbt7x0+-n_ jtC-<t$GqG Y1qrˬ'X jyI'pdZZޡH]DW){9Q1+ŴcχnZ)|O-}=Y '@vE; +qw޾Sqr$Ff~$c%;ȩK9({`5_nWGY[$dhfHZt!߅4F^0i@},P>$Xs7'pO;^^ۑQ"G_F}W-N:Vcy9LUhhҖUsDMȚjS]H6p gBJ+nfUJl5ĻkK|a+Frpm.Ew097) Ƣo5Iv."!BoH"}L2}+H3#A5qE N j;2iNa [ɿ?Y.݋`I(S::O3[x6?WJxj] 1:Ͳ묹(@;e[zggKxw{Un'I/*EJözdtCDnu:v%N!D`ٰ9Y)kXTJ3($FVEv!W~̩ZO Z<ݗ1T إ}"tL.;RL.KRþ_> 'SFZMaquuYs΄2 -<:t>+AEW`MZPFxrg$ !YɌv3i!YpnZ\Y6j'*+`-Ջb "k X>*S+NJ^|L+eq0M2?aպR8xeS7sg)9S1Bz~=|;=Yr_ LGYv KĪ귭SV/aGK`KCd=(8!D'mg64 ,y<\!ӵ"`DU&j*ݴIҋi-<1Uj~¼P* ^m)@i(5ie77~an}= VfY4YSH:MyTE?A['1VxȜ,6vCAA+BC~4,f$FPd i?1)iHaLD @z1v{8A[ˏ9D({Zb(׽ ^ϗ]bræ ϳKL`bv| }ÛN)¢zlgv~os^)Uh//9C1REv?+ lAJ'(=ˮim f؏3m@gdSX9`hyq ]Y<m42zg>Xt9JbŵʌC0nEK2ÉR\oaY]Dq۷4*"G=3: 9>ðvZQ0Nt"e. V%$= *eZ*Mtp}G=.OE eM7QOzH&c3xO̺FmWvlA$IZ$L3/J#l uU( $.u LQlmFw 8SD{7/Q!caHPQ;@MHW'#Rl߿K|:3*\gs*;a˽/hK mG/Fպ' ̙%Ӭʊcry{&Aw((]Z*@}.gA͊ I9D3M/YsT6ި.ѡHu9rE@3[1%qY%w5h_‘vFUN7 IzV\7l7 >>qRi24^KλL nS+h=5ބAzKmX @JH~>WrkmMV3,>5Y?t>b<˽,q&mak*xFe#$dnEܙCn9N҂#5.h49)A)Tn9tẦ}QM_j/Rj_ v0ݙm{I"[.G  E쉎X&`z6R?M QeNA(V̈́]ӆD{jbF,Ï/*pίrfwcQR9ٹn#(~ir,3su仆W}ƸB-!Tq r$M~qK6xđLϷ5)jdΈsL;]WT QqE&M]+@:M>Êш^a?I5b3 ҏy5ʮbYVp^fv>j,j|ѺaPG%GiO쒜<=& P Z"tIAFI^b¢*8x_Ɂ/:k> ,7Ct_1OCCu"I׆~_}~&y;u8zxH{"&e7;9 U~ D[&-SKX"g9{9u5ؕP4?R*:ށQ>N^ '>]zC.2rW_M[sI/C`xbkdO.3LwIo_(3a֎^;!#A;>hmbwŽ ݘ>JJm8&LZ+Rή6L˽1D*+ &^]`$]rz쉰3:uy6"bRaGt}f̃Kv$䷓>L#69v6o\ޕO0Ye;`8{t?/;Gb\.(G-0lk%$4m :clM9rL]/oTgUc# y1 dI ]&_GB r4Y7:#y14kAwvXS9C#M%2AE==̲Ш M|Sm>ZfO7PW7NUzU;.g_2"u٪HbW.5iӒkE%d/uӲ-|jy1[u-k!.pHUuT޻'2h03( 7!7d%S,J[|f *+8U81zA4{wBxpA4I%)j%&=s蜷c/"LH_>O,KBs^_ȓV4tHyJ JGF2j̐Β<9Ł}6Od3^:"RHBW"7ObdMuˠm\nt;nq̍Ÿɡ8^ @ƛxZޢLz|x}REvuÈuS3t@nsK ZJyrchfZ'9jxg":ƿUlM0rH$ 46-}4MJs%Tn/e Xg NMnHv))${Wa"\C7e F5⮾.ܐk\Uc@kw0Xe Cx%>'~Mӎ[X2U}+.GVMj:dwY ܮQ[\ w/Dil'J4y>xΚ&LH%pͤ!8\Sf@j٘#JXFhZ K8 oU~^Y(yS음ƒS7UK=&յ: tTczrq[AgOOy2KiO/_ 5+E?rN5zct;VD0kn7ntlt⊋[NX_Ґe "háԂ]YtJj&Cf\Cu a/6ō\6%{P⍍ Co)4`%Y W;JK"J3@Z@C~.os(|Av:N?c7Dd?K2Z2,#N"y,Y'\dBʍB\"Qm;R!._{X:+:3VY^_yᎼ\* hd[vAҸ=J>u~%׃=iU{@t3G^Cz_;ZI@i1F4෫T?9 6s4wr>S81 +zLMhL`խ'F> B&[c@9rD8%mg2 kPCUԵU62BW2ձ1Na= .W;n܋6!E>'U2v7 (/_0 nxKZxp**v]g|#^> [nC5RfZ6kWm H}'@2GS"fx͸#kWIw?V[̑Z{$ס29nėW EqEjULQ,eVegJ2/E9l@K}5OPc֝*Ψ]Y 3Ic{L\3ºLdV[ nK$r`WqB5F!b RF*+>y'њ )OaȤX(na X|8lonتהwϣxKs!5- ty*("] 2{~K0=n?~lF`f. e.øD>F*!t}ǥ;E4_9ĄE}3d L;|;~`r?0vB*Y,挜Ӛ N/ < V jO|Ɔg8m)y>y*s/LyǬonW0'?2C\Pf!# tڕ.\"3Wl5X]N'xTM1QXMWXխvmk8"\A61y1YmCAЗϞxn a"gM)i{?kLw^qHDofe`:;04i~lwUuCOomcRˑ@ WKyomX(7@BhVhؠI u  zFPYHi59~a ULT}p2@;jw"MKz Tw8qI)ql-K;zi2߿rJ$)նqN76*dYְlhݣ%J@{g feZsg7ə#wvX6(QY8!BG ԧ)o ^~"FψTAӬ!}"4gf]1Z G=MCwhIR,UA,"i+n1c ,IP8YeShxѓ[;\ljJ3"ojgu`r8${_@{? VO#!úBj&yQ>?(#/js@KiCHڅOirpcC7i"aj4?z4ki ӿS۳\3ÍyI(mHZP/FӶ:{,Rf8ȚI{\~V~?v)EVm?ٴٞ q{ɓzT5XpeJ8a U$ڑI:e+*HҙWk_stlMk+ʊݾ3;1WY&A O^᷵iBo1ygCS䫈AvXRB՝^c.9wEnq6=uUAĴѹn 7~MxTpU,9+u ;&݂tzɳ*/T[2<+ ;wr4ґ,e}ARީP-evں?)t=w;-nË]$izy/~LOKa9N}5Q&M,8W?4SeIq=s8gfn by"pN0:;UؠAACu~exRU uDP:ɃY6%?~ >EJ@x_<0iFZZCq&l6)E%d|Zڣ$#fVܴMoN?@#wIO|iu+nQ> g<]fqHd #4S%-gރ\n<80+4u{ ް4C eT4&B#E:=ɢMgvr۱埒fg{Î1IӃ; {t*~kQ$tsu8)BGbKĥ1Dxf5#IF|6џ-S\{YԂ<C0svp.6 hM|CŢIǚ-U>uErRAi7@L*b'".S9)-ť9!@!{fvb')Ѣ{h:6Tݥ"3qQI)h;b8ױHd nhߡ,WySrd\#|R^ə̳QP~{.`zJH.e|Xou 5ȶFwHRECI秐v Ey+ƥe*CVAB. d-3e<"FE,,f~ٛ( Iw 61dD4֢+EQ\,)ڼ,]Σ-ɑ8n; IqD1v.s~-PE*\2N:.[ptGpQDVt~4u&N>YVx{aƄf _`<āvR{M>v9v9᾿wO6{=0 t< 'qdb9\sEhÁ ZWÊv_0~548>;h(1%+ͳ־j*(;v}Bp"f_YQ(.HZ_az ߁=fWr y ܎3+Cԗؠ+P80F3H|%f$)%u9wk`i\'Q|awN:eg`/)F-BCk ,v)|͢*(Rqe j<1"Ǽ@K"7>f `noCw]ȥ#,Z~E_ _XуaNv.ں' yUx 腹>_l$9x<8h2ʟ@1,qZ K!gː^S290"j%)2M^]\~\qs5Ӯdbog4^S'cYo9 mCnAF!l, d'N=-C?_|U̇w]~ooW"/VsfQK[2y::(tea_pۿo+IRyDtn',P|JJѦuĆw{\rN`W4N(FCj?,g4~qb9R{ e]Sdox 9tqrOc)sm]ƺlhd^gHDzF mrhҹ˩1,VU%X티$X"CS x͈x_ɭ\ >Jq}i 9e?Peɜy1K^'V>!hlx;@!wk&CTQ*PT,W=xS"U4<Z5&>R5{T˱Й))N26IhQ^3 ـ MiE5](Hc5AI4|uqBZڞxu9 _j hi,g+pC+],hTxxn">—X,os-zt;gJG-.7Q.(B }s@ Fw0L1FEr-]ĆLk#UUwuQ&gӫU}Vǟ<-J!xy6_l٣K¢(3h;<>sL%[ /pn])f}vgM+lJ,CFs2a-:& VDD\D?h%:Nuon&rǯ#ї+w+v>p=m>StJiM唍J@~e/PCJBCAbk%H6(OJmԄʱW4= F4QDHzKk[n+#{#re;}\ɋjV:UZ< &w@"+SɔZN~alY C+fdڐmnہt >`au;tM<pCx,wt8%;BΒi?-OG~>`)9A)=/P%e+m' Y1'B#3A6]w`gzWehhl֡Iy[`|#(H?HkSunH ~M:T"9LQ;_*:=5m(|4U\O2Y[޿ _‹:l9ޮߙ_x#`ǝQDd#$=V & s{wPMT?m̂UR[AZ^N=3~\аTyÞ?>4 V xDJg~_ !fR A u5 0$N"ldN۝c{kQ[o*وG^T{WPMB-@ʉ?ҝnw@#{A QRNu?ߓ:E1 P;vn0^-Ӱ=7 9S%4koh-$sv -$2.#[8=C5BOLm q65Ho pEC !+!FNG8WSeCY עR,2,"uԳ >q?1w 2}}Eдz[i19gr ܠBp0V5)d|Iv*Y(J;)-.uDr۶k#ԡ9k갼L;3?w}-#m!ceyI@~`*אQ~+aŏL.C[{n@pKRld hd)Cߣ}چB~$ As‚n]pcWL)m'd%',bR(xzգd3|Ub?ֽjj57rvcwIJ砟/Iyr*Wվf|]{=ND%Vl![!SgY;ijz ┸~ h)H3~|w[=Cv 5XwbZ7DS"t,k0H["g;UmMv0jMf>:[j*E`2,)̉=u]-)0h> _dF8kWڿֱ ُG<:5#)K&h$k!rZ?h4 VSeO|Mr?~S۽U|/u~sy^Ab;AXr:%ku3<[L Iln0ivzgJмs7k-TIѫH"x\>5:Ʊ=GN}ɍ6 IՆ15G` 4]'s@tL`eI$PohXk1!6,(?j]OAq fJ ljZM] =0KVcr_Iثyf]WN8hDH!9i<4'j7_Igz:eOb`pC.d ijbh4=^Uy<"^ia[7tNLZ%% T3krR2A(\?2â&6ȖJ"Q ~%N0]vc?_ B"RB yQ9`LHhH@妡p>{I`'J4FIX2,t\_`z@;ܤZfY0T+:|KOQ9ԿA-=h~8$Dduɏɀ4k/5;V>}=Gt@밝ӓLrd>> w(kFChBp=c!_3 F/fͿ܂lNs: Ke|[ @Hoʝa]gMn2rx ^k$㈚W>.89`(vQ1,] K|?cEak8)a@7r{Rѹo-+*0iʰ4 VɼfIKY`lףLzȗJ.,^z܈ЧQ w :b9; Ѭ.)ʊroHlT5%Q ;WgA.8F<*u@&L0 1ZБ`9Y_yufC0SHhsLx*VcF=nS><+!ֻJ? V<&h9u%2!fhjHHe=)x!? r{pw8@&d5ЛHfEƐQ"⺨cS]BQ$G"-9`07uZAfħ(n, їf C)PgTRiyWE6LP1ji;&66O=UJ я!XOR$R5r;6o =)jm1m!H4&H|=J^-Wﳝ’^EUā6wy}5X M9ج8 c֍$*G>^+9T>DMG){!JiMt`fY2c:~'O3&B#kD4r ,fа(q128kw.bg*ڲ_l]6l+5 538&=TNGMTo$'+q$#G V! %;]gxr7A=(ҾC-8tJaJ- D52rɀF,e:xH:(I8Ά"\Cܘ-aޭǧϋgpn!>a9/M=ީ3w9p4a}>!iCEwIHb|Q?dBϷH(>c{{;YI WL;6q]:kâ) 7Y51.2fZͨ]l-P fD(9>{6ƗEB`R~W.>Yf֨8aVrR!TT}͆0]qE9s}vCezJs=xwd-f6v=Pn 8S٤@j×|NY=3Q\2Z>2;@ȭSJmwx F3m9@U5PB1U, .Q7ȋF7iTAݬ#Fƙp92KE,)åF8y)dF:iPYBSGvAh$ev%Mc5o'c,zɾDl"=Z0B17ivgU6VUW &UpKXevqz|4ͯXܛdO ut)-z'TaaqXgp#{.ߢF4BpډW?uô%GQ61ڵ$:pL!C`8."H *excza3s ^"ȟY%m:a2?-C`=Ȁ ~^NE?.&f~кՒB _?aK\GiT.٭gYn`Fq b,C#5G1zȰC@o&X/.7JO*E uyxOK;eyN+= *4C MS"/?NPl) unA 3-۝Wz7WWuahKU(R&Vn @毼{ H7}TZ(pyrqUZ;oK;ш*'?1*ԔH2ٗ,j.X( hlc8c'W9d\ںODPKFQ)לYH-EAVc|喗#GhZQ@Y~:nM% dAϚ|&NB{17Hr%;"UEp̎@N$Y"uK/ ~.>naM^H]})TD6ZPUG"P8/?+w*-^f^][ms ~` |S>2y*pnNaw]Mzg #2Jl,0gYáwP;tl<ʢR[G8らh2Mbt[˖TumYTOBw!=Xh&Zun t= 3}L鿛~պw!ntPަ)N 7&qDIћw_)ywФ2'M<Ȁ|/2ԁ}!pvD S1 ѢlKٙ*4:t݄+='=/z5XL,~ \s3\:Ǝ4ubxu8?aɑDی!]}tGuKʟ6m20Qc=] Hdrd 0Al7Y@Y `k,+KEܔ8$t&U`Y)Ak__=_3FGt*}1@DjWd_4vΎi.D<ﲬd4hU!5]WL|uK }@~:4I!|1.(ߗ~Hj4 =ڰ;U X)Џ#I<#.2W^%f_mEDd^IO_Z;\.x4b \w3K}"#NrRxJw#YrЌa)Ԏ2F(.(F'9վLU s>aU=.1 Kŧ+ 4 ֘pjN*/lyk$O/9Ȑ+2R"F'tR}G:dWgߴr$sxŴ:olPd](۳uxE=N/ (~IZD{%0s W.6[r)Q4*|H4W}Ƶ GPb;̘3g _Є4s@h "HIaڿ\yM6|9O1S+:r%di tm>'\~Yy٣j`@nޡcAD3yGG8R r+Wۈ3<,cFu&ԁN>o%SO>('ۺ4ӟr:sA?1{uS؜mJ)V 9Xvp92lx:!z<9$<##* EٳYH{zS~(pS^./YNA&zK[>1:BPw1 ྫྷ~! WY*I>M}xAxKV1p0C˺rwܪ( QqKiH,vb%\ꄢLbZ˽]lM~p={x]WZuTTw]l\<}XS}$S6inWa-~%5"U)fb tt.꣔(Luq=}m?A2ֿ4-)w/?iDb7BZsɳPyE鱅Hs+ }c-9̭ڬ &E ؽguS0A&;U cPh #˨@kViWa"~c]^S\TW81D^P.ܹo56 >ھHaP riV<.33KU=R,=17 a Zwp{;NH/<3+G50Qt|hI&vOۛj sj0<}7d4`A*!3>ݤf-B = Xڊ3 P p_ʵ/W"R[]zs$Z'6X*<&X +{iFtخXE>4UeJ:}L\*@tU1馫kW127nЗ(74΂ܷt\jzΎ/]#Ϳ'$IS<韪gpj?l{@S)͓dVkml`#wIKiߨi8*̀eB7? ~WLNȯ*j“2ӑzǦ6$襬:bKR䆲qAg>qng#8)\֚Uc6F]kMdZ4 a)n2/3ؼ!<'{-s5u@]RS&mPÂx&^^)a[rM-W9  R TncP_g>3N[2$C[YI.Z׸",m&ZB CGj3 ʺ b (b<kg_FixmF< m>uk?;prS:v;M;Pb&lQI|~p'o\sh KLrndɏc`kmT3ܼPZ89G0 IE qv|@TH j hFBip.2/{ՙΚfg,Zp f*.@AqnI=;w IuL39vkH~uTofPp^zn͈Yw"ܡrʻ:"oQT}クQuAʹMiZpkicqs_ R'3g[Cp+[b :zU^sw>AK4u @9R[HjPCn3z bA9솤,pWsfYp='aרo$F5nV7'hȓ.ʛ_l[u(oRy8('!` 4h]T2% _æML_J|09,='-a+Up;j~"fZp%Ct<"tBCE,?F遥a :IJU)f>$y-L3H:sRP弣?LloPyE |ƼdxwYׅs_Sr*BcKm&'H,e2׊w`)ϗn& QXz>|SEl"rJX5JNLc,뫙Y5P9i)n-UpϪ+,sA^ ØwBRHi*4g}n,kj忬P<2p܃dcweM 0 '2t \܁)EfhMMHTE8, fF.|tS]pxH!Oo;`U^3%4FBCaN͘d|X oY@p;'ߵ1nC2U Bo6 _Q>$=}bs$k{F~NvAs&j݇-!ԧ^X Z=*U4YgSAt\%)$ rTMEZHLT4ηk2#X>jB>f7hv+\E"JeNG5h0.;(BžJPUnZ\r/F(yIo0"@/b[s랚>"# rM*( ZA:kS{ Ș!p,UK25:#sP?-䢬@=P5[ D؜E2wu\yqs3w2xhE;f^i2GNZZʪno)d{w2ȘB:$iev7O OL,{y-4[pUbZ+m*SV)rƮdmg6j/3ubVR4xOإ-i۳!c10H'SXXЧf.aIi fZOTC0@Z[jظJDX{ޡ$`չ ]_<k"m6 /|υRlz*ܺK5$IyN$w@E)Aǒwq$7\SMTԊ %SZ3;7]qiM[,~Ԣ?6j"7m#XDV*qޕEU'-ąV#SUn"H;'%Qw?=fD"q<_v!B<~-Bl5>x@4L0d17껱G[ّ~<6-QRHC5>:$M*S?nT췉| 9͸`CD8&y_ރ32K#_b v]1.<+w)p9S F[Ǘ&7^y&u|^8nv&jD3h#T?( SQSI .l脦o/qd?mp 26GC'Q`$Ij,*D+Gn0zf pJ qV:#x(k„L+sYWfȜ/PP>OjtoCb[Az|GnP},VIxa>)XJ.$h*a;ʎБW{wvŷ+l']ʗ!VƚMRЊ}]˩3Y!؎Z{IIMT6IGD ?_<(jGxVP1?M3ѥ03 k%*u&'L8/fYe?$btF+UW1ې)5x~S0&mOjG^Hhoipc8LVrB6x>k؋[sIBS^Td^iwO e!0B/K'NB9K_sKvPC+O0m ŊEǻWfMW֘Z,bWy"G-#.QEDA>h[!Ycwt-ľKQ Z~1I^i1kYܸ;)0ŘҥmIY]g 2`ôc0 [wcA\)qɑ*?:pKŰ)=T_$pP(,9P0YPҤ[8QQnyrQKKDAmڨc0H6z5~ 6L[$Cm 7}8}=\) vf_܇䙸+)^ z{LҨ?cI-h>y\"]3)vM\?h[|Ѐ}( o{A[cFH7_֧Zt/"ZE3Ʈf3S29㶋z TlѢoJԔ=-HM,o,Qr?2i@%JPA!'?1Fbn/XkP_`\Mk]#O7m͖f ÈlCbܼ4_YU"U,|ϩyg-&y;Ic>"ީhy8.S׺ϴfz?2(!Uzַ5U$@EܲE#!O 34Y-ŵk+e E;G}+co{[wWKLn Z >MGMϱrVęzzTH{< h HvH '-x9 ?w&*_no x5T]zJ:D !7+mN#H0 us/@'U O%`򝰆<"bCP)йG DZzY@֓bܨ/}G^NrRv*Xw܇i}9#RZ_<>r1+ÿXGĤ@{ 0uŖiP}xz^"`-ۑ[T"i, DʒJ(_@y π>=|$ѯΨ29fgj7i4@ IVqZ6w]b4:VC>C OXW`ڮW8[Y)q^P[ 3iL}tIRi$ρχuDtX!*M|!?ƠMR~^**/SDm'e(ij",6jPPoi%`vL9R܁,e&,*P$m}މKHhN'U' VyX}/G#~ek*X0F<: TPŮD-TݔY15^-e;1n`^ ~=2]44*>vx@EBphB% p5G *hR(9* xR'z MjԙGbXbv˸ɶlPufh_UF> ī^^ha?N G%r_UrT AV04! B0hG R =nY AJafN֤I:WLs6iij\ G@wu8 ]f|c"5aSLFUZJp M!l V2W; yRVYy"vfl-fs.Z˸S_*QyRv ' 2\L35-5 ڭ2h}Z!:ta/,:3)EO!k")捡a#畉c]7e*oޏ i4U}fptonш"$LފK4M!Xg`&vVX Rn?,oFJ+&{جl"bmhN=_q]<Z< :uY ~7 biݩpZj&2)#7 gEuDP=z/e,DhԾ @xG@meL)}aщ\9sN_Ḛe-2dn;fк_RfYUlN"'ljzb]5`RB(Ci+&inO+hsf):vHe"-^mRڣԡ2ЈM>߶CNUt 27uT!]׆hh٦L+5! qj7~50[컋4ˌ8B3Qpu)xlgP{xQgI)a4K'^hsц,lv`ᚠNg5u۩J3Tqz?ո{֒{@X;Գ5@9DPLW5h5#984桻%Z >7ld..D2TE\9# wSЌzzMODޛΜf&J I?X.31Gȱ,1[.SJBӗeLbd)䍂,Y_H?k'nkOYnM;io1 Ni[]~)ZVٺSտuJQVQ2$S_ώG"zhAɊ䛨.!LN42FA:6饠߬[) z?ͧI p !{\Y3?nJg ܟ9DZvp"1O1ʜffS>y%Xj%^ڲSmJ@t`oа%#%dLrO_hܛ3 ِpx:H/鷦M9˶Cߎ|We"j3[^}?sjxMi-/`BݣvpW11T#j֧ؐnf` ͝\K\s6Śq`vtg'{+84$q2 Ҧ*$(6j5Lgþ!j.bj5[byd2.Z;sgQ9}kAR? }NOĹ::GZjJݩ &8c O(+%~vLzI!9DO%l \ (p Wm_m&9$^@i'ƙ.Qi~ a5b>1Z;ɍ "Rܧ #` FoUlr]*HA82'| RV5K8{ fd[H7dmx,5V]Tkҳ"hߍK bL5|-HD/$T݃L49=^IFqou34)`kS?Ԡ̟x ǜؤ5=V zg;$nbǰ€#GUQn${"n(#0d" pʻ]iSDsF!8 #v{^GQH&GGmF22oNrPd] `!'r֮V-tӐrpܠe*1k'dʰX@z/>^;?囖'JoA]0,V(trRLs1Mn)p5bKFQwwm=vOw?bl=lIlrzOs?hל8 [}V$Wۂ L)EK%oTk^O%"Sh^ͷஷDrI - ĝ/yJ å^)cآ 9 `7 0LUfIbO\jΓ IGv~gi"Εup#w~-%j~uh~f4 -<ߌ/ブ}3 G16`=8[&tЅLH g%hhEAp:MO^@<{]>'3Qps?\ݩi^ns{QR=7XOPcC/Q8Ӄ }C0'sr&AmàVV+qwتՂ]oHwt(M ,4B׎e*V 1Wr5EӻΚPX$v!<^V)*e$TJwJ]vxW0S}eG; :o;яK5.>sco1;dk>C\7bvQ埬 wtCwE >7@ݤ>NlЄT4 iԪ3XD!)7L<"$H8)UbN|TJ߉FSx\k\+M6hIWj &)yzƑyĮ;2v51ݎFIF3xAr@M!C!}VVms7JcPΤ>8 LHZɬcE݊ɤ 'mdJXèG]؞` cgCZM2-򲧦L'㜎kXy,mF{>{Y* UҭzvM}MT^qh9Rሴ E\j;O@#6Hrt{A?#vv<Ԯ1sfvs意y,DiOsTC`"Q`aE:*BzࠪQU ̝H3ݘE RJ++&S&Z$ڐaY>p (qV;qŚ1}P> 8l-=UoDU##fd|FڽZ-{IfA$`TA=6 @GGHwUjQ=UU! {Ǚ=Vo:0U*=SX2(!bľㄗ1 /f ۿ ܚRnq6i[9Mߏ-Е ̌AqW;5/iJ%.`| !>m2Ց dhOk"{kVy7`y~5&V:,|/G5ЊɆ(n kxָ6T=)?X[GhR=זɀ hLtgB~'Ikql=aBWx`p1]7eᦞWHSȩq &r4- vT[&;]J87jRyv%2&[(")+u_ ڠ|e?|86n&]>d}]Fr { {aŽ]i Vb/:'km" }R4r#PuX;HlEPstV=ы@/Qf3ʿ ~L- %Xm,:W[JgvtIFڛG-c\p:I.M-^^#J80 $,%e`ۄMY1w$zOlwH}qL9E?qC ݇i4& %E[nSub¼>in!_Y3408ȆBuvWVQ!a{4JiiGy!w7}pQ+@>tC Qm ڙOV|a`gRa' c/nimMMNz-t8k)wy[$(6eRP[}q!zm7N5bwƕDnOp%tSeGQ?W_vzTu{#n,.^يǿ%,JS|sh%0!л* գR2*€$ ­/9дC7u]z0f-773=tKU3^lpTkMRk^36?+,rO>vN=r<;hH)X0mqu$ c6~q1-LSf[A x5p=_U@\'0M7SKIbcx% f']#(xxT"rfFXRT>}IՍUoAE*I_0z53Lry5Q~d=Z.GTX}9J3,PMRG} +RfY@M! _` p}w&<}dxXxɑaI4^F·ȶ1ԆrŏP[)w`)E: cUR'LRgJ;SF&"*؆Kr edtLR3<m{R6mzHWw#?&e\Z VnT+, Wh#uVDq(H6d$(5Ģ^`ȒEzߖ櫍jodFJl4$kB<~s#GԛA hb`V@ޔr< e"AZrV//mU2_qDrO!UdP(L(y/𜢎'㙳[>w'A_$]XG !0f{ 2qQPeF|}iٶZ$|+p?(>Ԉ:wOJhO\A\{O7 ElӍ7C땏1kXui cz,]zEF 9j[%rvL}Z‡öT*z%nQ tuLDexg]RE+8;}lB0,CFÚ;BM7_FҔ!=rQǩZ3þÐzoMfg r٦Iԗ?}ZG-PL{i{6F0 ^ vh2 }@qa6vy}R` h1ӈ=o,*0K*:~M&Y򊩯jLr@sldd 4γYJ^/~t7.uj[kwj@b#=(<1_|f_hyEK|̩됀~B !p'ŒFQs^cˋꞚ';a3ް2ڿEr.1. |U!B@q]j:ͯɣ*'ѝ %04H 4j@0FbXx?d D,~ W"E >ї{N]u0;Ѿ%b18\HV~r6^CtTN1kDUV ~vDUU¬PDl]]Rv,V.LB'=d9Kv;͐&jbJ]4W@ngdċk5.M`~h# XgD塤F @J^hnO}_0J丳(51WXa%l|)|z]"6}|> d:x$=_õ}\9ʁݞJDOnuOݗ |2dǶȴ [O~ٙI\_? . OkCu4 Ź #M(5LOH݊##vBj vގ0!d)J5rwpჵwk3 ѻ ۈN[Mq5$D?qg\ъK0X9:M3B̦ڜ;]sBך@xI*}eBk^R `Cs`UO4u)j;4yZH %Q"ppP{(ZO2,+lu&I[?VrXX&l`]y`Y0a*UYȣ ;j]>e̍9-ũm~+n}@ IZovPsZ\?U9# ~ Љ2)(_'H\[# V!eW8:4քm8WDS>-@?' A9ƨZnH#7ߑ1UMpPD1O*YHP  pW߃>ȁcDa1ol/a@e[N?צt5]2R:Z(ڸ}3s}72?x A11zawMmA5yVtx'_,}G< `B)jppП>=~%8 >q=g;8\g-3 P\4ȵuv%̃OCUA@*`)gn1)E/*0ޚ:kY) dzd4víO iS7ͨR꓉ HIZܙآvJ|urYaXx6Hcy$`w] Uy݆^):uTc9N@o 24JT.0떑~ oKښ1;kfT}R~¥~v[=Ev?)ʜz70G 2*\+Vhv3T=ػgk>c)# ώRCxZii3*zE-{hZ7d5Xwf017z{8BJVb ;>VvYs Z^e;BйŎ^\#ns? -eDĘovݺn {~:G* F(;ImWk@q9=nxdF\N`N +BRNj72~]76ɏnRAȿ B1e}Ju4cg ٖC% lUm{0^\QlG$}WKPZ(FaY.Oph Ɵ;77rxBF9O4CIo!p/^ǁLAC9%sF%;[A(}' #OsePoHl5+W[<:x<, OmBϜֺv n=J޿^KטS3Lj9`FqBb N}4D6k# f8?pLSju{+KGD\,_4Pik/}?^p2vˆED3lBױlcn^ ԱxnJ'-cV~!ڕj=02#w%5&:ސ)=[GTΙ MON4N6eZԡI5Q9~MQ?lr4L~ƫ_}\#!Kjyq{b(ô.`p #KȔjM;S_uQMU 2d&Nhfd<&"f#,m!6d=CEV!LA XfPjDTHj{HnPO_f+j[<#1+GK: dʟv-\U!CPX yW: Aӟh& :dd͖uM?HC24q)M%ux"z;nL,ѻ:aL.6 e{KAQsd^+.љD.6ԦkBxSB NLRz1ނi$7E«?^c>4e"NI*@*!nb~!ĉ]cjr3զwf JI"%k{/oVc'4f&$Ֆ1xi{=`:y-Zӷ~ˢk٥k*qmN3D[< LBTx]c)8sWR1ˢxI{zu?Tdֽr`u5 4ZP= $|"Tج{[Q,*jgs }ƨU̬xF4C18zu=lەt(ZF@* v7!Pנ+9FHՎ (hՔ|괆5N|z$ NGBњj--8u9_^ YZ