ghc-Cabal-devel-3.2.1.0-150500.3.2.5<>,0d*p9| AI=os3MaEB!l'8{[(1(M! I1`>$)`_↕Zl }P-O^\uGmbIɂPE|O;Lߗ^mmd !,-U+*3;CL,5t* TTS9_`mڻRqm_;ީ &UAMG7?>UshkS{5fl||>RDgMv>B8?(d ' O :@G . "T 2 1 6FTZoo4,(8h9h:Sh>@FGH$I pXY\]!^p)bzc{Rd{e{f{l{u{v8 wx8yz$Cghc-Cabal-devel3.2.1.0150500.3.2.5Haskell Cabal library development filesThis package provides the Haskell Cabal library development files.d*sheep69>вSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxx86_64/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :777dddyyyKHC((((( (VVV;;;"""LLLw3w0w2...IoIlIjEBL&#$:::^[\"""wtvMJI ɊɇɅ'$%LLL   888WTS}|ØÕÖxxx'''000 fff7X7U7SL%L"L"ZZZXXWEEEaaa GLGIGH LsLpLw66 6'''F>F;FDli{spDTDQDXu0u-u0,8,5,02@2=2>C@====]Z\ScS`Sa# ' ( ( ( g g g***_\azzz,A,>,?c`k&&|&,,,{{{"8C8@8A,,,+++eee\{\x\yBBB1a1^1f)&0ZZZ@=>SSS666zzzPPPnk}VSXKKK+** p m e΍ΊΈ f f fpmo,,,urs(~({(wTQPrBr?r:DA?AAAWvWsW~,,,{{{#0-0*0/222IwItIw96;C@B Y} Yz Yqq q u r t|||}t}q}w0c0`0`DDD+(.$$ $85;eeexu|ur{ C$C!C @??xu{[\[Y[]Ѱѭѫ]]]KHL301~{jjjZWYCCCQNRVSV""""0K0H0GifmԩԦԮzw{63<pmp <9B0-4yv|964[X]<9=gdi{{{308###SSS|yz! !!&=:BRRR J G F:7: 4 1 1W~W{W'7'4'5JJJ///777|||33}3kkkvss$$$"!ՕՒՑ$$$n4XrP=:A-- - P>*p]#.d|a"|Es^;׼V9A 4?vQ'> >xx ~IB A'wa"r\6Y$ Y\_;R#%u|~t/!z91 QYrKyitT \tVOb =r[|^38(nXZ>ӷ,nݿ]„Ha*:=7#' L:eI } ; t}\Cyd!!huj}M"zExA7aMe:  772 ki,?AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤dԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԇdԈdԆdԆdԆdԆdԆdԆdԆdԆdddԬdԭdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆdԆ02fd41d0c85d5a4ec7ac5bb7c2f8f1a2cf2494f75acabbec0aa59b8df06be9990df159f9908982edd3905d30d2fd6a61511eabef12cbddcb8f2622c249978b98866872852d81e4e7498a6eb7121a75874783fc79cde6e08428226766cb6923a9fd1d4a6617ceff15c4279023ab343c57501b5c47336adddf3a21a8588c7db8b1b6b2e37e2217f77c722685f12561965bb6555e22f6e150411c5095a82228527b737b9ef63fbbf0b95faee26e617fb5ee511cc22c61866743bb519404224f604142b0cf78e7e57462a14be44d89653a7b33e60f08de637fd2396810b7138ed4291c49707799dec3b3ed1f4f3b64b57fb84f28ea0c5d242378ccbb473902e7b185fecd467f3e10d9bc3f719a844c5145cda841cbcb96e6c379896dab8f6563cc15a3a11f00cfd4127ea2f572dd3a3647b5b993c9ae0a8771a705d2d9cf0d5d4293bb8444c85e0a14c0a3aec14b36629b48d2767735e442c4145fe6bbd0277b7d2721890b62ed6250dfec3a0819cce91fb5bdbd7c03dbf1c04bb087d31bb836cd93a06ed04be98dd9dba4f9379681a6f6e351616595a1d9c111a8a1715d9c552243dbb4bfeff69d15241ee5ee0072f6c114a8aa90cab5abd0e72e410cb01cd3ef63ba599ba2957fbf667aa545f27d394d39e5f1850e1debcc48e6487f0b1975312e2ccb291afaaeae95545c1727357968b016ac23c4b3352351c21a0203a8f38177201d16490b46f6204d299252450891800405b8dd2a0f9c8a8ed197315383c2a235f1d7a0997e40bc0799ad46bc30c1a022e0326c161325c12d68eee12c82a1f47a0b68a2ac32279e78123436b078f2b5a27bcbaf8723de1cf670faf412f988ecc730551ad23e690733976e132202c92b0ea2097d8a041149f8b96027f570151fa3f955fa59e261f7fa06e287012b5cbcaa93c4bda2fa72417c7bfa368cf8fbedfa88a8a83c2f1b458a577a7d6b8e60fd8de17246cc68b1a87b674a1bd9fee9448533a432a25f19d1a51363ad66f673f89d9b41995323d663d51827f8f5eafafac25a3e2779b60ca1ab35e10dfd6d31f82779d547f44000609adf186fb4fd0f96b62313fae5f0d7dc473cc76fe4cff8df87a4082a9754d645630293a45dd41c9254248bf97a384b66af9e3ca532bae48a9ed92dd6020e7b503e56a0766f0d03b899ecd18bf1da17faab1a4154ea8472cc71f8548db31dca2b31a12d21d16e8af13a8c6fa06c2061468f91df03549b5ff2c8af36ab4ac1a7fd9b60611e3bf000b48a6575b5e1f562f736e146586e44eaca46a61a17d310a4ed2040acb81dcca645ca5403ee733cecf19f3b846bdc89bca678d77a66a7e243db859af030fa58df90b005dc057400df4fcd1a1cf693846c0dac761abe3af6fc6dbb62cf811afc36074cc2e85483392953520c111347e874de8873ee473dca0ec141f644360564a3baab860718e057a8eeadda158a84fb4d62d64279f877c2ebf5cefb2603b64c9b4b5b568ea10da9a307e215825ae832e755c8c506238a6acc6b48f44ddb6b785d0fb24bfbc299a97fdae6716eb3189318a76f9e162d4972d03005ad3ccc9f4a8f5ade28cb9e8067365abc4fd22b1c8a7df03915346e210e33f6dff27d2348a18cd4c537669138d4267a620719070e6359ef6bc4c6fc587a4450db99ce9fb0ba1fa984da4466944af8daa89deb95917a6167ff6f4c9f7b236f0bf82c313dfca55597fa41577146767b27f1afd6ef5a54822fcf8a1dad9a510b59b4e6f5071e6efa8a6c6e16895a59754a2a890603abb54520d360229fe206b7e48f5074cdd59985a70a30b35276fd4bc905025f16af4f90d1609deb7d74a6446ba1426b611c1c3b8dcb0debfc7948f40e969e60f2cc3e78839d84bc7614db2b06be14dec65393d58fe87f3a14e2b1cf88b7a2c35f0107b6859f099a6e592b5d22dbc30bf20b8418daa16abe30f69e6dadfcd1c1470b16414daec720f12eceda6a5c15254bd025ffc1065a63f3200584955983e0c5beee7f9e5eee756ae3fd7fe9e1df4fc4933d6798c01507d4e2c72b6c3a27f9cb4f0b4a542de2ea818696fd6574c6ba81c79e3250918c535a9b87826316c80e82ab95256098205433326de30f33933f11eb623f1ab271ddbbfd18b8cf4186389bda02ef936d7d5e4ee9b6c8d33a9210bf0b7f4abb6004ced3ff2e5251eb9352c7bd5166cf45edae108a9d38fff14e0bfe191be09d01f527a531960bb26e9b2e331dc9856c4b28e4b53fdc24aad9edc92f690f6c15ed9552d4a370c3c60f6d5181ebe86ff476dd7e870a7c10c6c5bf7587fb43e33d10c4a302d2a12e9f44cdd12d44d4611bb77a11e27d4e8614c7ba7233bccf67c1b0f28b0f5a6e9d902d0729782a45cfbb93612b0abe87f8f18b304608651409a600880fed0acf6ab9f0672e0ce2b0f951b25f9cb803ec6990de37acabbfe7815cc6efb4b5f96f435d80866e3b7492b6c2f46513c7e078e5679c0c26a970db8f91e6b241dcaf04cddd86857b851059dae8886d26a1a2a3888d8c3272787ce8b49f6d10654dba2a258ab571b4d4299e8865d6cd2d0ed76310e4c8641bf232582a1278ba6f84571c0c1c42b420ad1851d54a467756fbc9b4e9eec80e4d9e642eee04f2a2578966e650f27cee00de9cf05bcf1d36b89cb9ada15e19379f9db91015e68e9016cf0f36020b6c1c1b78cf37ea0b0701a7bf49596e557aa4fae3a926e8eaa5799e02901a232d2783a56e08671468fbf16c3e1798bdcc11e1252b5b84c01e45131f458c3d3622684c424cd888c92a8f3e9e26fc7e5ae864a1c62a05f8499e96c95b5f106e922475590b7391e3d1b46d081b7abda30a38e4f44a9ccf557a3638da1470d131f362eeff7b4487273f1d55ec25838f619137c260ee88dda56557beaf9e8a78a96e809e4103e28d13cf92acec6046328f551e20f198a6752b9c8fc3a85441fdb3ef1a692e339343e21e17e50bd69d0d2a08976b5719a7d9366b345bad8151446c3a8ab25a5fed0ac05312a2e70eda69c2f59dc114009e8a2b0446c0c39aa565a811b3838e2136399adb30f394e2495d8220f5e588e8d57baa94f1ce0e7a74dc2e702c10cca860b780c576932a0890c14e3972c8934b17d26574b5fb81f2d4253af57ce109422229903b7cc8939719121d8df8218a998f457aaafa74a729eb5cbfa3265c8a1df7f63e2def2bb5fe9a7c9eb264f897c3d1c990eb3e7256155496b768915db17fa890319c4fc7d2830f00512ffb2bedaa1792cd92ae691bc388b78c57f4c0eaaa81d7286e46d5852254992f8e12f975404d1344c4eee667ce40e6721620eeb973d7038d2102a76878935d166808af361ccfc40a4314ad56023b489d429ad3c9e0eebffc919325753ff35cc0a6b9d65a068d6a848f293541ce3961f173ac6f22e0ff1cddae97a43b8359cd4d3c91734be78e2eb52594cfd9f1f32e89db0f24f8f2006614d275bad61350d41c3d21cea1d729632f96f581c4bd35f536454d61894cbfcdbdab030df2259221900ca052a81c8809399433a8f49e8e474282360b85302a1c35aec50202bc78844a94432213cdf30574f92273086bcf7c3acea9662cc0faa5aafe34fca7a4042dfe3d94f59ddbdc1aab77c1568ba651c67a1190c92fdebf52593839e1f0f97de6fc4fe83ff666631a0d92dfda5ebdfe902d4944022cd3fd9fc50c8b19b081fc7a45405af9f604ad706fe534fded5e3b5eace13b436890e6731b2cca3dad6c7229f6f665213861b19f433046ba4e235a595bb79f7aae36b510ea3165114e5a42ab0feafb6b020e19090acbfe74d93efc9aecb330fcbd400600c0ab5c63821fe2ab29d734dec49709d9fd3c4815fd206016b95b9ce88f39561f71229e19697d82b5e174abfdf28ee3208108c325177a22a5dd2af8fff73305d3bda99c46dc316d9e36e8f2e69f20231858cbaaac43077374ef8d2cb9525e20d30bdd87ff995c6ebe06c2931f1706c2083b91c549ab2e7a7ff2baadf4c258d1a9e87d6f2bfccb37f3386693cd5f7af69cdf292980db490d2372df6fd4b5c9c91ee72e3547db0c23b63c083af9f8207c859c852caf09156f6fc7e2a829857a199079c1aa9b6c14d311f750cd590c8b66400a1f6ba38691ac9f274d9d4a00403aa3d351cd9319f1e6fb1dd69b044facc9b5f28ab86c6a2f4e93b9040c217f6ca9d14ce64910d8e6c318b57b7bbb9c8c57ff64c4b03bb0051833cda12fac9b93ff9a6ac6a57653b785d5dbb0ada4a0e7d533a6f08f9aa465e6e6d3a6889f7f77aa228ccdd1eff0dd76d40efa0b67d426cdc60c948496076811352f3c418de25e1b31f8a1a9006e189dce41a0661540fd1100a8fbbad7f2d6993ea2767c5808045bf6d97f9a9f79e89932aafc481bbfa770e97165767ec5cc28d48137c0c4720ea5c5602c489cccd0770c6d4e9b3a5b1a2857783766632987322afec4d087bd90ac9bba68791c5c2aa3c55990120f59880e62e11acf11669f0ea9ebf07c1aac7a704544c410816d4e0e0c46d6f2924185682551f8fec3abe73190a55fefbe8617c724b50b17e34639b69627586b4ed79a6d06ad0e1dbc87a5bf478797bdd8a23ac378b68b88581e50a60768212fdf851a78e95b68dd3025b7f77ac5867813ab3816ef69e77fd9f4b81b8cf6454f1be90604305bb5f9e854907b4ff3ce581c6558a32627ac5c63f5d905e81977f3b225d2ac9db5d3911cb57364a03145ecb8e854901fe9e62a2d9ca1fca3399759b1e16d09f053859038cd9320c63c941c1a84f7f2a098ffebe63cdbe0fdfb706a2160ab712d2b0b412fb7bc5084443d20a132a03cc107c10f45f34ed693d0077187582e739ce14f28dd35f3c9f7ca3479f655c7b1e2d9a82812744e34c28a4ab819873e2e066353f1d4e49beb11c1d4109f42e6086686761532f744feb96d0ab5a9eafde39b068d706c9ec4abc42ba907a1dcd65860e19b04ffbcd6484f62a5e1bb7ac8963a74baee39b29a29a86f09e0fd0fbcb304fb566e4cb75c80178dd9fde264235407bca8bead8fa772e79092eaf00e7cf3865578eb67570c2a291fc389a5852898399c09bcb533af5166b8018ef947dc8209f8a064bd59c30f8ed5e0f1bd6cbb17d1fc847f06328e979b493d8ea997c36dc1f475075d33c5ee147f72f068a36adee42a7300b381bef71ed9e51b2d09cc0b14aa2edac2f2228699bcd9fcffcb35ee2c729d22b01233bc89ffdf0c51e86b97ae88a392841c9611ada8e21a3ae30179dfc5cb5b2e285357a9308553ec09b9de3193694a9467540f06176b3c5047e30cfc842804e1fb42744ad4d2b523709eeb033da7a8a7cff332385230786a13342c507d40b7fc76e3cc446a371263f4ec8b87bee19090f9b7f02973b35d98099dc149e7f291bec83edcf5bb87869aa57d85e8fc07edc22294b862805846cf348c0154c138b948436a5d61ac28a4972f6f14c49081134bb3043c5cae0de155685f4e025cd7d2f932fa473c02f601a7fa7b6ce876426004a7122907f222fd920cf0811c0452889ceef4930108382e6b47d55c73dfc2f6599f8fe22156439f59c5a4b34a1956fd83a3dc19b87b612c588818ada6d187a1acd5b7f15546e11c8d0b75692889ca6b0a1be44a0ddc2d15a8958945caf98e83681599b47a0fb85615b9c85c83f62dc9d4caaf0b44b77bb78991fb53e12cde238d551a6a333b5ea604644a2d50a1eb6e5d1767972fdf622b93e9886d076a68ffb1a2e8bab56f5e56e0afc1c1409e4cebb669ed903412828296a14c5621e96b8f73ab19209d1e45bb5328e345dec5042779ffc7ac3fddf3a69d055a32766b90f6d3fcfc08e60543465101a2d9b5240b11e5fb656e490216ee628d57bec285615e7ed055c5f2b84f58bd4441a4b49dd005bfce207c60cadf7a4e1f683dc0a36f26a1ab33b4625152b17331e6522c5371b730164525126d26b5f31461ebb40afdc42aa5b53e4031bcaeef751af78737b6c197d092ae6b2d0cf703993da1162ff485e56b11ec157c8333a9749b87c0ad62e24507e89793c67b473044de36983febb25c2c0ae3058b957a27801c371e09674bf75a27b43bf554d7e81a1e6d9c2ca9208a579371bfcd733d9a23151b60af199fd2fc69e54579e90d900fd3f0ea9dd83b84ee115bf3807f393ffecf2dc65acae8e23f4709b24ce20856e66048fb95a6d51f52dbaee3e7146a4a3b6f73547e3296d8bc23c37a0f556e2a480f7c96cc6bf74e70e88a32fee4224b29060241a5379783f627bce9df7e45a808f5a3106a6948fec11e0dfce856590a446262450293378d92b5c0ea03c1a4382cb3ca6ea90ce1c34871f1b34731538fba6d1dec6478653b89150c87f3ad4293fa560689fa34d58b970545fe12f0b37c51f662a906299852fc628a65a8749adddfe7263d58c9a7c9eac250662ce207bd90faf26879a8783937df798e26c219f6ff8f1514b6782e84aa6d083636215d7c64bd0ed9e34c129a18a0362b0a7952076446f624f0cd196033c7699ef951792e9a7c237d1df4981c8ff15a32b3d6bc5281cbef26174f7c405d027c2836eef7c06be7954ac87f6d3ef121acfa3bb0c0b1e31dfa953e6e69c104d789495600e279377a4475e3ca09acd2f2e9d84a0d196c283b306304dc865136508d2532bf7517b3c9c670eef5f7fdfa967b08ce6ed4584c66db934feb772a7ecbca7c79497c1f9327f8470a380e0f5714061281d0411ea8964e34ed3ffd36912cd8a3cde4e20d873c5595c7c7cc7354e6ebbd949438af703d54b86d20ceb66eb3d7cd4681fe2847f0bd8c2697f3965de718da3ae829a74951c2e8f93131327bed96ce8e648a14a7ad727350bd560edb9c34953b1ab7db1cefbde3a9f8493326c43fbfdafb474acd04099a1583d5f56b3d39408dbd00d79614a80bc688a26592f8efb5f057532d6f1a8b46f25d0a9bcad8b4cbd2d86cad9ffe2d86c6b6b6b9fa9fa1a1d49313178b7e798b2296d83d0b3bd2b8d7771c6b869c86c70a43b321ebdc0e2b0a65b882223418c727105cc2ce7f6cb2879288973e70ce45425f1a42123c3d7d633f2b30198afb275c6c14e3f9416ff60a37bd5d94a057c84e231e88f03737324aa740369c38d286604c1a42f84f63f0cbc759a05494c191f35aa29a887228352f589a28aa466b0e0ddaedf88bdfe8624e20ad7be9582dd88b30d99f7def7f487733a2ac6fa0e5a0d7144fb0483c188831d3b51aae093bbd6a88f1c1576bf299b3c8260d4b0e2f3114a479881d41fa12793c8740a98106a9eabcad9f40f251821ad33be970e2b11fc9484037c6620e813998223d89bf5b8c3652f185f54bbe5c60645b8916132810945d3556053f9031e750d8145f5ea9b5cb88e160066cd17d9f2653c5b186ed2af7e60232b6ea44a5e8d49c6ecec2b962aec8ddb817dd39e6acb47768a9c60952086de116c7c4a2ceb689990b2bb90238066a962b5b0f471038a4b939db239db916a96f772a5a6f88aabbd00021474eb8cb1f17f9e3f37a5fecacd32cd7c699a4e435696cf8dff375d1c966fe26716844ab60d5e190eab544dd58a5888d671f73f2a23ca980bb9f916ab677bae09244e4a7507684f95767bced2e25c861bdf1748055ac93c2b707f2d8996b93dbe9256c144a29577bf142473d05c881a2520535abf912d40db7a5fb74bd3dfaa15a14a8d14f6fd657a3ab4c7462200dbe3056fa7cf16fe3496a59b352dd340ec6f4d6cd398c7a2f8747a5eb0c132567573938f0b16bf28b8fe98e66ba1a8474d7f5ba3e3f5ab9aff398927dd3caf660cac8c195c31ad44264e114a21ad05fad5e0e82075aebb4ada1d3c5b2879cc05e9f85d7086560fd87574159c16193436139cf39fd6bad5853d9c4f04ed5878875831445f1d1a7032af0688862174a3a0cf425c1fdd3a4e3b9b356a2f1b755b98cc431a2d97275f754630539abf716f00c2f424d8766c371dafd86aff43fe43eedfddd2fac9255edb18e9c106e68c3bf25defb0b7914bb32d643d0de5c43dfe3de4a6091959bff00041a522ac609954d23915a254b1dda9ce5f8ea3cf1a8567f5a0aea616ae780d61b34cf46b74ee66d71ec0e535e51c8fa2ce07d33225e999a1658cece8631c0db2e87b5b21f7e5ad32b195419563b4904e6f6ef5e21a6a64bc0c704381df7c233185b3ddbf023c00534aaaa0fe43917e7f6c882f07893f8096b27e3a51a865e9fb0144b707b0e27038a06935f07eb5501c3842fd71a1ab7a6d5702cdab7b0ce1699bbbd5ede9133cdecca55918cbe639330c9ca869e56958ce817b84697ceebea898e9f1353cda33d7a5e2988d24e4d9178d41bbf1825633778384675696a06b5d3f7b0be51889668d12556601512513ceebc03822c5ae3070a56cc4852094cf8c9dd5e4a890ca7b09deb121f626c3170a5429447329dd82790e8c312926b7b357825b7553e47fe579dfa1f870bd0841dcbde44078439e93d9d2beb1026a55a3cdf312ab9476d71f2feb74e2b720e487aaa74b752241a712b2928ce9b35f68de7f314a6201ecbb124186888f379060eb2d7dd6d06d202349f88b8addeb8f6d0516d199033d1e1de76512a6d4abe21b2b075813b506bd858dab93b3936e149bb61d123466a96941d8789e3711f1a3b533e4cdf82469448edb29208ddb1ffcc4a9a03d9d52fec46347bcf5c6ec169e223f0f0830eb49a9d6ee94855939ca0a98e9ee8a0ae9cdf62b1b0728fd2f2843706d18537e8eb318692d44a2fe2e8f2ccfc0fde8f886bd75b49b4b59b5c061d008f8502076dffd5e7ae6960b374ad95e6ec4c095dc82760aceacf619bf999d6fac679735920a80a59e280f93630dc80eabfeba85a082f0ac1ec47ad94d33ce7a71b71d812f4e73690017a93df3cf0e4ff2226ad3d1811a3f34087f1df75a106386d87514c2471546a5d2c906db05f14a5519ebb6034e572f518652af5fe346d79447875daf182eee45f2dbc418267e983310c61cf4ec073e7dcfe891144cde783381f0902ab494c52819ec0b7d4552a1eba0cb38b9944365de39ddf99cf523bcbb1c6206487e4410af469da889bb5dcd63ae12348982d9111f97dfb454649127bda772cf37f3a33b7479dfb7eb1392a5c4964a4278960d6a27c857bf1fe5cd3a8e69da9f0e65054c54d7cd0d1fd042d1698f0eb0029b00029889fed7965d2b1eec91f37a62f973a66cf37234b0c0a316d7be804aa8f7bf75adcd9299905595719e09a6c9b82706139070d5cf3d3d25571928349c3f8bf89fb305bcb9ffd91062e55add998f9436d11b92475830c214381b23280797a5506059621c79af44561720d07e49df2312dcf1df67885cd261469de841c8d5b8b5dc558174c332b0df61059d4a1ccd9139e2a23a7fc0d3f890ab9a87117aa7a394ee51ff69ffe7be9c05a40355bc30a212acb45af4baa8cce8f657996cbdb32b8cffaa7a956c351567fc71bda2a68c457570b6302f0388aa4902e8bf910ac6d1d933e9818a3b379d5aa9de805c2d2f137a80fde6c98f24148dd0a78e2f9bc6b6ca1b7a6cd744d535aaad7afe0091da19c64c6377763a2b63b56a2cfc95abe2b84711704641fb2723ebc3dd2ae98720cc342d3fe3fc23297f7bc4434950bedd113a8ca94e87b4b197357c1c56f4f56948427b8b859995dd37d315ddd1ad55d6070f25f47a27b9d34e6a6b27be76ce73790e2b52fda5f8e73ceb680c01e52743abffca204ec1cb919809011301cf65220c42f3204b4961a7c2365b69ee6bfad2ea1fb02b24dfc381fa7c7e3a111480ce58ecf1850d65388d9b33a33545890bf0b84b699304a61cd63d1efccae8107421fafcdc16a94ec91df8d8781abde8742536f4b608a338659b1c4c283e03b268a401357a4a9bb1015557ac530ceb76b7919f5be4a22a2e9ff3bc7e68b584f5f05eec4d3f3ef4400f2f6a86630a45727230c2ae442162056192ab1968045c8e3f9ca68b9f1ccf544af6bf005a9ecee8a22124d36e0afbb4f4a7824b2b24b434db682121ef49582845a13cbdb0de10d06d62a28482737da39e1ca5e50f7b57d272022090e912e68598619b9e8219797c21401f6232b5389d3d0487702797f96f5f5c02f88f98800caffa264cae06f3ee3b50ebdc5f437640f3486bec67d757d5e86ef995db640944baa1fc18a9bbf7dae7f61c6cbba09fbadf4b46704252470da97822500c8e3c403b39215d1ed50b4ddc9c784e9ecdeeeb55b15b5e9e2defa828e945bd5ece360bd605b057d7b57794b931005bf686ef3bb2673210f5062543a43792940047a140159ea283adf2ff20f324d85b034fb61320c060af0423f5f3754f93592264561560dfdafa55692c428ff36e380ba0a151f81fec592213b428f34add2b0973385b36f16818f14f58e82b4c2064fc8148b60f18eed079f3e3d5af3f8da6e32fc9647a976bf93d0b6e751b18787c62a652c637a77bf0ec970e5ed284fc5b6ecf8b37c39c7697985ac98c94cda47bf17850e187323aedbeeeb1d4bcc05d8de3738156f0b5d5bd519f0125c03a7d833d13e6f41de64672f401514d8d0b920023a3d2d056c442092a698d5979af14470c56e534a6d20499455f5c49389ba1aee567845f3b989f54aa7ce3f36782d099499c0b09e7a6b9cd891001181b717e3a91c3896071e6446802af9222ae3a823d51a9dfd2575dfe917fe75fa2e2abd916ae1bf80ba12b49a3c70a9d08f45f04e0de174cd323b3edec583d9288a2bf1a6b6fd37a539250416f5c44ae57feb0b134ed5fe4e7c5ba6709583d938eeaef65495d0bc4729cfb3172cb8c165ebc76eb6f6d3d05df947b765ac43238458021b99bcdd380ec6fb857ee65311796924c4d8304c88091c7a88199dbc8c9e1014a375d20c1823a0a34b456d169da724ee16989196cfb6157eea6f1c1d1bcf7307ac8644b6fa63523e7b983eed963c2958874f89a8b56b4beb5991e754dd0f44a8e6924b393318798d44c7c233231f1e4807352b2838c95d6170689e2d374b18d24ce8971c0ace240f20b4caf3cf94393897dead7801eff9f7b07e5814c4b59c5a391bd0b17280fa21daaed75aea123b940922d7f78152cee537578a78955a359542c2d93fd307d20cd3a7583291a55e9f564501dd265a4f648a4c2ce85f76a2347941b5d8161465fabc77feb660e374a7edafb793416be4069ef601da8dfec891c9c5b6abc2c4a1a113ef109f1ec85c7d67daaa5e35a5fd65489df660888cc3af50e41ad18f30d6bcf454ad52ceebde6e5746310e81ee001d6c10406e23bf261b0eda4460c3530dcef46dfcf1d3f13e5cc4834b1b26bd930b0ac41f6dbbd57a0c11f793c5e061c8ec400b19b2b9998d8e301a7806f303bdde37e699c2e6eb581c6e650488c6b52d30571777e7be9cd03af7f6b92b3da86d3dd9dc48c90f33496411ecff1b257e73849df5d605af74d3626bc514e3dd0392c69567d9259d0d71fb6e3063b55712881d4d36b92d7d19eeb33030d9b8eb3bb060a28c28ce4504dd106624e31f194f70922fd5d95f29b9520548017f41c7cf60b4b0b21c6da0dae14aa3400729656ee751a771dd46b8dd61dadfcfd99127233e11ccca8b8dc442c41d248e81664f6d9fb33e2f49cbe473fd3fe6ed1c57d9831ebc53761382322a7d86fff3f63185fa2d293b08d240e5b6aab6877e674c4d7bcc66fe8b09ab6e03c30bb13b336f947f7b1e760215c3cc51da7b9194d8410a1254f2755aed2ce893e3b3b4e37116e9bcc039e0592e211af366f8682c85e591947401a9e5cf748e117972a7b029946aa33ab43bfd7fbb1c31bfa5ef4122b1970c068172adc0bd9ef1f6786e18b4ef655ce6f23eab586eafe7478335ac27ada7c4d442e9d7bbc5fe7e35b94ebd93b7fb09eb5b524679c6e1509156ef40192b6183fca3bce9ea95108dc14cbb0cffb35c42935e953260c48006be2a5fd9594b921af6eb1eb62aea5e253f4cd794314cd7952f68ff791256063706c53f76011e55c3857fc15a0b5e9b95b28bd10f1c1525fbafdd8939c408d9b0019d587b6c4ee6cac464d8158386156dc54b4cbdd0f62dba66f373a9968dd14cb4101b67af86e09c64c99370e1efa7d4db6386adfe0c3587f48a330dc9534eeb120afe66ae8022e0e9e888ed8c151a9b78688899f7c551df93bd48b0a031d767264ca4d25c89d43d463c242279aa4cf5bd124935c0b9a89407a4ad7bd9ffc50177cee0539238f3f1dee27583d686f461a62f499b023a3e30e8a6bcb5eb7bcd8a00b07e4dfa8057b690bb03348526b1da0a8fcd81b0ad9554af1a32a2a8012a6b46f74c5ab5f65dbc0b7fcf498a0c34242f5aa28b33926c3185882c51730d31ec5b09e6cd512416cec84d010ae192e767bfa23b77a76e7d0d8f11b8f048cdd7c1474ec1cc9b23a87dc915c9b5ccd05e235f309372639dbce6961f44ccb9a3ea687d081c6f54dbe0e89cac303fcf8e54a240be0d2ca76fd6882446b902ef113d2941931a1a8213b27a37ab8b553024e92abfeecc6e6de90200d59a283c579b65e2eb2e9aa90fe55a457ca9b3a35aea18e3194d70b6a7bc8406ebd0e6301c99fbcb5546681e4dd6c383087ab150aef09b8a23da638950f017a7ac98f9441af8978a544454526cea843f232bb236cbec5f2e2bb21674bb2cdc2dac23083e8d386df11ba5e298e63ec0bff9d3bd854a007fb4c754da8bbeac910c810d360ff1fdbc0475da82fd3fac393f083bbe7385dac5e321bfe391fcc72f7fa65c424dab6c55d4cc8c5d9c7090dad3fa3ce09b3318669508cb50220af6f1e2b31f7f863137f2506efa507fcf8b04fcde82bf1c834c91036516cb087b63125c8de81d1ad42845cfe8e24a26054767ae7b942dbac7efff82a635328a3c44879bb8203a611e2d4e4d196d6da16c0991a7f29600c62e58db059c3edda97d8ee1e0e273f88bc5ebc61c01a2368a4e6140dafdb11aa1715fb3e705428d6eb2f7f6738cb19c1d9faf303364251f431193dcde63d27b5cbc22844643ebfbd482d1cde4eb3c702a3cefe703059719c0829ffb11ba72c09786e5598452c40f62fbe7a20e6063072d20328cb61a3dca302e2afb20b637b1fac995c066b8e191f92c193c0aad32910810541cad3569c4728fb8aa87b601b13af058064e242cda1faecfda666984fd42da1b3d06f81cdda9a7ff45dcaf2c54fc06193625f5d7ee7a38f55baaa04e18de73e466b1ef7d569827f660badc91c39d821c394556103d0c5c9eb12a91ad3226553e0e0fe4c3c89eb2fe0a68f3fda7fc027e9d53145e76e58b9dfb23b98ee58a1d898bd745835163ff1a1b4b2e8ea82e4050aa64abb7efa9469a992cb9e0bdb9d06695ee43c5697ba190e8c800f719da7e9f1a20dd3b70570d61929668492048c1542f293372861dd0cb7cce8912b3c0504db8e034f8576e3833d1fc61fea3c2a3e1b9445835bc2a2a962046990bb6a3e543b91785a23039c1fa02d112cf1c5d199f9c9279860ddd5897635a064afe8b74f698b74ff63538ec713e88289d2a2cabfe7bcd0ea633fdac2a9af34bad32a67e359ba2b3e1a6d9f2086579b00aca6b8dc2f1d7247cb7382673062cfc13b557b9a91ccd80f432ca2664e3fc47e6b9270b32051f3c47a4e5e7e40041973d31a4313f411b15cb38723792d61857dd1b9f40109973a8a5ca225401dfa56a1bf5d85eadd8807b64d30cea5fc160e0fcdb5499bf4fec920ad1446bfb483bab8268ff8a7046eb3aee89147500fb6b82f8e618cec661f4e3d36c414cb6014207db5ee414f34ad887b23db3f58815e90e9bc898d3899be5fcfd9ab18db5fed309002d1796b7a574cfb71e42e98d85e664d95e63ba55f21ff5a32be9910ce42c6b20bc815e397225dcd05c30f9901924c8dc82c290e9e2c9959e0f9cddeba19f24c1c7122535bb83ad2d8a0015e95394752522261a35c4eb4ec2d568181e65c508fedc0023ea77f5dd43c361c544b890379024016908f4ec3b908b2f8530ef6d5f2fb9b1a57390f713bf5af7857b8a7ada32c913245b3af7c3d306c37f1976c56621d50b408c9783d27e2d944599f3f4426307c1887ef3ffa599c8f21bcba5cdc83190a2a09ba34dc00468263649b928bd9182f807f93471bb5d4094888b55ddc0688087900242278b2e1a58c86a1fe04e4b72d01976d7de3d2a2d13fbeefcaf32a8ad0ab68ad0dfccfa4b966e40a0569c70357a04c50e1f8f9d4f574a9d379f12d4f0cb07318db168f42688e64963ee1f3a57d6fa66696b32c1ca4212ec954120a34e32e2fb662b97b81956f12ddb9ee25df9b20fae6e613fec4e65fc6820b20a29fe1c11a23c1e3a73afe9cd4fc20d99160d290be9d7d87ec8b972bfd9955c0951c78b7edb49a87638bfc1f4784af6a0236a9ba0ea453a3e6266bb8cd8859008c7b6065d4c62efc66bf2a7cba80e7e340e4ca0d010ea79a740b0f10b40b7b239c2f287cd5963a1cb06cceda523f4c919279b464b220919ff43cbc97888db707170e11ae6fff2bee7d81169c319487279c65b92246e950a8d70a77e13e2069e5b39e0c918d8915be46ce4e54431e7aed629a2513ef22aec29596afd3fd00fd1ba4128736e2a19e742ce22cc310c3ba0b8395a7e2d08b686b9a83e71ff780fd01e25487a52ddca62a2e8a271b7f54de867445c8775ab44f62f37273819527244389bcb23e5d2bae28ba9704413afc9d5e5e1ddf1b7382e7929068a091563a3567b924ab1870805b51386ca738a3e043df239a17daeb50e9b99a1e627f619c64090f4acd08512c23f618b4f1efc066a78ac74379726169906748993afc2eb7a0a53abfa265e913acf01da4ada54d8ce893e2daf96dfd1bbfc3c06442a34f99f7ae0c66ae9dea3ae697ce68aa961864bfb2486d1047c44b0e2960a7149615e3d51b00825f578f2a1fb0409c8b3ed9ec13a4b20e2f7bebc40639ddffe739b5b51de722f732210b8dc7e9a7e20df3f45420160a6adfd2863afee393aefd10f397752ad032ad4947a23101857777cf9e288f8b3d4f480b03260023ef462029a7be5823a29e4e1e15f0c05ddf61ade2f3c78847c6db85fd8f0b9978f4fc9adbe142d29ea8ea86a571f0ed00bfa98509c4cbd74f23780310a1397507355b4bbf2aa5a605a5f4f4daa9dff7e7130af1b537edeea0085ba6eb5a9cb49d80616a59c145370e844e7c02b96d7c5f1a27594d3d07345bc87c0266b6e797f26ed014ee2b4e50886e03d37192b4658f729b5e37351e77c59c6884039ca19857276850643523f84228202004e2aac916bda15da6b23e1d459daea6d505e1f69f436c46508659188eaa0dddfda2c9df6736b2edfbfba88f0a3d7110baf9be54676c0d10e2bae11b24de27ad6122f2a3aa2688f108d65c33cf28953aa9fb1457d3a65427951ee30ad9ea6de5a5aedb9964605c3ebc04c79c2195bdd43a9e1b49f7f9d03e0262bb51b90084608dc59b2d81df452f76065c21dc7f7ff4b483a39b4b4e24733e9274e33feb223ad149556eff6246dd95c796e4772c987195830865c4600f2fa23ffbcd05829485aa205e407dd1c7c43c8f02c709484eff1b921d44227d8c0f0e2f2ddf20701efe90d37f51a26ee1f8ee637b681b9dcc36c6f03a6689771b3a3e5f7586e99244e9b13b5fd7a64acf6183278558305d4ade724791b47e1807a01e92ace0fe4a545293ad6f760a91c06ce8440934c8ab1a4fb50d75cfeb49470a38afc4f4f073b39d408ddf93306dd91ea6883e48a9472c3f35062170ff48cae06214965ba7444c79dacd7ad209e53198f8a26cd3361bb5bf308f8db6c8760c2e55ee9f62e29e2c896b8b047f55a20c4a9e70f7c78530dd3c6c9d8e8e6b7782ef8fc8894b73685cafd6fcbf96865277a5bf66571c31c8c748dc86f786cb12075f04cbb613d1dbb5bb4fed839c4f3dca2584fdd4788853c9670dbea70933d40f2e49b0162cd1b6da27ffbdd5090863f7704a599d66fa9597afa53fa5b91692a0738b59e26f367a0136739d56fd0163682927310ece2454705dd85d0294dc538d51f5e77cea5081bab34f8bfd162b969c2052bb00adb332c3868ec729790a7230cb6f33f6ab16ca91569541c36a6a6608c1b4342ed89d45d8ee097776850ad71c93c3c9f022f1bf181629aa41c268850aad46e63e91d2619b394475ffabc1dc52df1308d12a46c69eba7c259ce25747a989b1271db4f82590d13e2fab96b025df25cdbe1146b4e4d6962e8ee907f37aea2ddc6fbb0a352e51bc0065723a587a1b44ec9e517b26cfd06e6ba965eb60210e13ef7304873f985c82b7077e4189951393bf78efaaadcf4652291bee6d46dabcacfe4c90ea66b441611192e9fe6deb356304bb346d27b966a6c11138d42749806448e177897b29793f95608035efe5f2200405bcc018ca2e9d298fb7b6b4e638d9e7afbc765fe5d66874fd1f9d696bd4f5eda31f7e933c6d84e1af88a165da22db56c50dfefb9e14fcab7fe9073594912acd7ad016588a11934cbd452a90590c11475d8322151cb108178663ad8fc2643403652824f2fbfaf4eb98e916437c4383994727870f9770a16ea51cefd4c8d5a43a19ab6f18b95feffc75ed1e52f5f87590b4465366d50f32b684d72fe55268f5383e0088b1a17e326049b222ffdbbbdc29eb93489bcb6b1f6992571b19c089b1f6ea989835dd726bf3a64827725f5e96723f27ccee4c228c4e9abb8b2bf7282b8899d5b24768785d1efb4fbb03c0479bea02b356aa826568c03e6c0579e180fefe4c6da9de052aa86739c029cff84b425281d8789ad0544919b149e73ce1e5f1a8c3ff7cfe4a49706b43ca6e1d750f259f814ab3fb55ed5bf2f10a874b7287a63e2f09817393b291193d3753801cc0240721fa7880ba27703e12fd5c1fa8aa61f007fcb36da5d2dcb17f40dd8b7ae7c5e068e8d0f1e7544358eb8b3a62f4969e202e63a70119ea7394a5c7f061738ad46207b01abf1a5132e62c51021e1c8c08d83449fc0187b60de31e36f3ce2988803e92ee34810fc87ee02c2a823974bfce8675aa326deb4f6d244025cdc306833f1968201feaf8f78195454641e3868bb4e88e6b60fbcb6db130fe2445467af33516187b67b8a70d5c63a0680e7803711c4c45e588559d809f4b7a93c293becdb5598fe0125f1f138943fc9c5e3de416369f9939b904340d210392bdf03336d0136149695bf13fa4f55008260db9d6e6a0381f49575a74181a1dc21d18c722cdd4b65a9eb22a2dae4fd58a4a90035934949c00d4856099854e8582f2faff28dca22c97eacca5e37a9ccfbe3d4a92f67645ec4aa62e78f52ab1038ac63f19c2af87dc38695d5672555d272328b5eda7206861425a3faa20e0dbcd446e7feb4c2e3b5eaeda176a612cecc08148780c2cafeecf8c9303b02b593645c80d6a7f180a6f09e165bbc118d6f6f418d058cec557f7db6ce8ecf8e6926839142c84b4b2e167cd073696e538bf889b10f0986f486528b87dd287e9316a0ba8307472550385eada6f308c34af210ca4e020e79633033cf918801d85a355b5e2abd19a85459fc67fd0fdee24b622ef1adac1da66de4cf8ea2408c128932fe51673c070eb138886dd952aae0a7d32bbbf786e293d65b30b37fd3dff186201446483c6553d069ed2aee5b687ac9e4b1b3ef05e956f50f92d80848f55b01d9fc01c70ae2659270ad286c0e278ad87d779690b2f22424e910d301f176c67ca399f821e4ab479de5ab3a2f964923fef6ab7982c8a572f30d6256a99cb6c8a13fb2947d83ac6a0187354971153a3d3bfc2876487591a9d1e5853557ce8d82faba64b6827c470d87b4a6bfa418de50492b059ab012006afd7e09bc34f715d0d93279e99d773ba163c01b351b17a890b2d6938bf07fc803d422b05b073a6c350016c9bebf511f810181b5e2823b8c2db25b1d50bad98b5a96bd569027994c2771d0150c9ef615fbee8c4f5ddab63a14a9999ccb400ecaf34044df0cf81f534258a4b76b30cb8fb943ea18243e4894579130dd1c250653566929719f8d8eb86103f8b9a742369bdd4e03685ca231623b883ed908a019c1c952cffaaf2f19c8d85579a822f38477e004eaced1986905da3edb17d75fcdbc0b842880c05b3472691bba7ef2c8879f95e6a93bc08885f2c35d987d47ccf9e332438e7f249cb0f0460ca6a37f0426f252cb48821f6274fe7626d7edcc61d388241371a16e70251d67b70c3bc69c078cf9c2122914ee64edb3b25252561ac1a5f15547502491c79adb842de0e13ce17878e858232ec2ee1bf33635364b6790afa946cc0fe9759b9692ffd88fb4399d812767ed66645028dc695c15816afa42c012bf1e069b98a2745c2f8d88df4970d3e4f0bd5f13f9fea229dd8d80b437366899b9de74aaab9e426ae654b56739c7ea00662b4dc5fdb4330e700e14fc226277a87e0f4c8341738fbe30cd4f38dafbb5f97a5d5d629cfa569303c6c9120b48f4348c0632e5fe4b576ada071f6bb85cbd5bf46354d453de72131dbc4ce19ac70dab7d8a8617db4dcecf2047e8d1d694a2b4ba54190cacf4e6372a8455aad9e6fce492c0c9bbab39c7aff3e69e72f491e7b4b0260cfac9e9b0c3a646eacf345bbe5b363c2336dd304686366fd734a254b9e844af4a5dc68e9b01e99f13d14a32f3a706c27fe6b819e60fbe2755eecdf2c9a25f50c3a55526c5ca553f85c93a442d907b7d4e191ba21df0ec2aea5f1bd4e69098018b6ba7fa0612f47ab4339c675b365616c4e30ab0d1c1a29fa6273a2cf14f8f633d766fc7bd71afb8f4f879dabb29b6bfe91f1b9e53ca2cad297d35b31dcc6a8f6375e155c4d96868bae26d4364e8fa47fe1cec506ccdb50cbd4a5e2d12c1a43b540974fa91954c994a2baa2ee62d327b1dac4307457d486a4aaa81f31c5dfcafb1e88f0230dd2727a849fe9ebfda6c09d92c94f5bb86b6bd8c2dda9971d8825d12a3d722e1a188ab04ac15c865048fb62037a90ced9ba8fa6fe04fe7b2a1973c91d876ac6ce4884d24ab8110f355c56fb02a39e8e870eaa64dfb0286d7c4add9089a3f3ac7634b081b688a71da63442b7d931c9b90cf8215dda91c1158b6e718bf0497c0df8028a16fad55c70b3c57aa1531dc3a0810eacc537371b5de91ab8a840d0aea2fb4bee20162d0b78cff16a417a1296f8977c14f42e59155ff681d4978714372149793fcf7315b175215b1c0ceeee4fa837a47c6eeb1acebe0df305760ed9ce0aa5e255bd32b382cbf21bb8f3e161fc070821134eb1c2af222027f149b005866d1e2573d005dad1b264492c072f3794c2cc8d19353ad3b5f1a30b05f4f7e4654d18ec6855e7f8ba3535e8eb5a08b98d394b2d23c1d921596956163a60a2e931567ded5cf4db25e8f671436743dcff73b4a55b8835049c9eba9447732cb3e8382b9cd689aa1a57e17285ffac7e23cd8e4e51a817a66c2160a468a21f4cf52545881189e2ed35d7965b64a2cd2a22863b4fba524c4386c4ff9a09075ffc4ef7287206e66579c137a0bb4b953ac558b1c701e900a7884a100712da7cad69c4eb91eaecf3712e1176076797212f57f16548cf76de1f792b10cb5c0153ec50dc2094476b8553a7c1894cac0e28d0c8a47f23de694c3956a3ca7f9604299da0364a5eedfe5380199b0f4ef64c923ae2b650b156e84d68ec48f729bdc76761eebadd3f0c0a3da4cb24db1aa70ce9dd1d6259971db28b71b87258f5fd1dbe8345ebb330fcaf3470b9a94c3d5c250593d961d0fc4420435a45daf2c3bb9d0b46b09c95134dd0e66329826128d8de9a7ad7542233e04c5402b1933e1b275dd822768c1f80bc66f2f07ef4df5bac5602e76c5859caa3a87b8d1b933d4546708a23623bc34cbe2efbc0840c9a43cb21cc7f1524b0ab27d47a53c3a868a747aadc0910b038005c774fbaf1e774077e884d04a96ca5477db346c52dc9911370e385cb290b727918d410883e6ed3d2b970867f497b766228cd23e61e9f645f8f413919561a0ccab6ff3e00c7452156850442720f13a1eff9398f0b5ed03e6051078b5a916d57d871ffa13457bd05b51064b0549024d138a04a8cb5321595e1175a881419b03994b1c509e7128dbf3735261ecf44ad3c832404e2b0600392e2d122c8e31f1f90d6216501ca177b4cd952333d4adcc675826c75230a4fc239aeb357b6559f8e6fb2a52a7cfccc217695ff5e7f86aff194800bca3b4b9197d6a77c7aa73b30e4782167373a1c94b2b44261bbebae38c1ffb051630cabf4524f334ddd96f5159be579d87d93bfe618651779181d9ab714f8035644bc09ceb6ba03419a22b642ff3335222a3aa4cfd378a647e6c2185855fe7dc667faf26825ef65946ca6aeee5ca60380fc0b076bcf122f892f6b6fd6a7e8e6c1b7c52ec14837667d6a861f7ee9bd69f1375b71676fb5b2a38d9d1801a5b1748789e887025b602b8c2896786a7d6aa7666e38f7c64d535d542b6bd0fe15cd5c011ad25464612ff32e2c4fcb4f774e147af7084c2d0f03f4d2ab81983840a69bec78c2ba120bc54de509defc95fd4740fc94aef9f226f38d24c99282efbb514221f1334713e75c82abf68fb552071d8f99c979114c16734543ef1b2dd8e01ed00c73bd33d0e4a49e95b419fbc1c3578a1135771789e6d1bfe4ecff5092bddd6e60d82a2fff6b4b3c9f97f5711259d0e8da035f9c8ce635f6cfd5c11053be7bb1006a2de465e46a8a14aa85a60831adfa2a04c23fc5aa8e9b354362fd1ec28f15de66c1d43e76956c8da00833d4e8755370d03af2675e9b07552a4837e53a4ed1db4554039bf27c2583e076aecbafaab5474bff5767f5008a281d3c83490416602f4b44d431bee093e49073ae854d72fb5a550a259502393d63ae843fdd01176c6133be325fa162fd0a3e0824143288eb5ef92d2cba761ea640099177da985fe01ff669da8acf29507756cae2bf6841f94d64c06e673eba89dfe6f64c0e7c164168232cd8834de31cfcb354e9ecde0b12d0e195211e8c5095ecfaeaf7bc75d5c95b9777560b82cf90d94466275446c000bde2dd332ce4248bd0a679935e241cd9e00939f3064068f06f6bcec052b6a13faa5f0285abdf993df328eec75d4852a930762b858c1da2e2cb7c308c0319a11190d9ddcb2c5d2e206e6165de8503e9feabb0e83d1a17b15434248fc99f4765f2b75393e5e2d2cd39ee6e6553f6e464e978e5c740586f921a869c8c1422f94f42bc7dd76cfcb01639893bd574301eca25a6bb16d86e555c01f3e5ae16afdb9532c305a8927694f3e25b2729c73f25a930de71acd568b2c1d8b4c462646920218766d28662794bf3eec27984c88d11535ac91a993991f04f379f577b9d948be44bcba032a4812b853824e1d434254b2795c00cfe169868dc5c13976dcf5f991048b14630b41e208b14c7641ba1adf303fbfc9c1012f5d9093143bc59263fd0828d1225c492ea85c5f60697a025b60076dc890bb0f5840fe36bc9bbbcb72cd5632d3915ac22e993bc5e572a763da49f52d3abf3fa54828ac0598baf0b4eb8d5319a49fd12ebc98da8bca59a583dc0c53361b66e7212ba0a0339aed40e73a1259b14e562da999c7019484a59ff4e035d9e082665822b6e132479bbd84275f52f84c10f1b039563bb08d05aa9ec4eff535597b126b34cadfac204c7d67401d2d8cc2bcd274f12e8ab8b697928df7189f528ea8db204f3fcedf8895ebb7f687cedf7b59ce43a00bb8fde9c4ae1f05789e534ffecd8a94264e23b60a2175fc10210d491ed6f5330702a9992f38fe178afaf7ec73103841e8540accd6bfc0c8980025b93c5fea74ece92e6031790256869f714ba4d81b08bbf56deb43ef3c09b4454e6df3268e67893a26e58e13c6674219c143efe6d9b04c3881c342f2b0d74753e0946264c4d4f60c9be53b395a25819bb9790d56e3dcbed56a647f0ed65f75b8fcdec7c5ec50fd1f0b00c556137af0161ba8db5098a8187299838db75d41f29fa1278267f1bd9bb0b9c092d2fd1dfbc666baac9755b754f22c4a367ea28b7176a9d14b21bfb20f402e772361d1e1cf7a42f7f01b2f2d5d5ee7abe5abd225fdcab833086fc3a435621f87755c407750a22663598708f53fb19677300887d85c59901ee5315ca36b4f8262eecd7fe5b89811fa3daa4d469e39fa6aba2a9da900a2cf3eb48ee3608e2f1475b7ae914fdd053e4d33bcc2a210d395299d5b3d95aca9a119cf06898bc98f4a87da35984c275a23c552e922605fbe1ddbf02e22c4f9b7b57ea25678c76403e4bf89b1364cef2612fc1abb3f99ebc70acab031aa06d3a960482cb81c03cdb29bbb50b923369c3547c4062a9b41cee22e0d901555d1cff900a7f962921de60c2a85811ebf4d4105e98c23e739c05b66c74d62a894ed2a4738283cace4658f20c7043c22e907f87f99dd04ec10baa980059dfd4821d339e615d0fea45e281f7f1eab9c693a11707b8b1fcc1efb6a03da8c9744cd3728fcd8c444054a8c11809d1fc12a75f17e855d15989eb5a24c34b149b66c5258b35d8168fac84ac063869fa1df2bd9e39e196c67e888d94d29a14129996fa72e887bf5c58719f258ec06f185e13c82ac4df88756073e109502d2941b11eb70329b9fd06ab0f81302463a397fb3c082241e395d8d872957bc9405c91b29f05d3a108bb84f88dcb6b744d2a9e4d7ab2db2492f98413e3907b48084fb49e55cf914a0b4b03486542ed8641b0b521fd34991562834ac422269098e34c957a8b72ef8c643d3b8ecf8e8a5a09e1602e674902488ab29027e4afad538dff4ffb36e6e382a64d3f95bba4a13164d20dde8297253b07d986f29a75e65dcdca0f28a505e9a3cab1fc4aa09ad895cf47bb73ead6a68e61e45ac7f2b641d0cd1b2e5a82106560e1b5d0c5bbc1618a98ba99a679445cfbd2ec273ba5f6f10456bd346b46eb3705ba27f1983f2dda302842410b2c934514fd644f63a4ee7d4fa325186bdd26777a7bdcdaec00072b4a897cd21bf5155c921e49b20fb9bb0d68f0b68265cd8e0d971ab67471ca435ac98188f35c1d0d161034ab5721001f25e1e08c1cce1a5f5db9d5a26408207b8a510c17c3e0ced1b36588abc9e2bd0d1b03ed51eb17cb20a007aea81627199cfc31b027df8c980ab844140cc754ff60e6af15df0dc8e1afc1dc76fd49de9402e3052194f5bc5200815bfe0c365b3b75053479b1bebf0d5b6e58c50243dfc079ee81b2d8d87cb45cce3504c3983c3e3dbea0ba538ccbbf85705aa168d65e28fa8df944867f3601d52d27ba85f67d527bcfafa792c28d3917276cf98340b5550cf3f2a70a0de64153bd79302d138085f4bdde6077c68e5e903320864cf09e42ef4c4db990e50069a1913f1d8574883c7c19d0739a757ace4e15dc2adafcaa376c62f1e43f6b1674770c7eca3450255ca7b7feab368b4822a45e09d75ed55e5ae2e4681ce302609aba906c298ef58b5960f41bd9eee0807e848a8bf012aa5c478329deadd5607d88de02655071502391bec7acc9ff18a26e074b9ed84790ad0bc509e8d52db87eaa42acc766d6b612bc81b3b31fd49cacd0221d304c2f3b2cfbef260a213cfde2007daee7799651001c4c2ec725b49aa3967251dc86fde1146d3f50511218a0a338302d35dfb06b95c8e42296adc9369ed1900fe6dbf8118de366fee140812c020b3fc0012bf7a72a80ce452cd8b43cfd64c517e123281c0fcf433209624b6a60239a48e22696bd432ef34468fb4b75fae7d1bdde0f82b23209b1fe68b6a78f8accfd7576674c33facbf314db203f9bc28a2dfb8ee3479d163dab955817ff832f97ea99cb66026ad93bf3e7f16d9c4244aae0d32918f4fdc28043ef9ffd26213d466abe9abd35ba135ac97646d44112f6cb3750f9a5f5c48a5132623062dbd722a98b66ff2718d8e7f3d97e1f77e83aa65182ceb95f2af9912848751ea5c00d6f3068f00ce43d72781f4c795049c1b54eee02648f8497b84246d14219b00291fa7b07a7c7cbda587d453eee05883f69bfbadcf5f978f4dc9d80c4d0001a59310f3ee771021ca53a2a025c251b852cf121fbeceac54efdfb5ac8ae32c82c9ec34952064c4400929ceaf23fd17c35b1191c34606beb5e013adef2881f32f9485e665a672458d3217a99e10091cccac05dc4defc2bfebcf5de1fefe12f9c7cbda737bcb75fddcee18b1d0d8935f718b4e759c69a44318dd645028d4b1df0a991aacac1b1d208ae8a0e8abf39b18eba55d4b84c968a2313696b7928e5400dedfa1e5e80e1a1c1f780a89b81b7815bab32e485746f8a059436af6d7ffab6c91996dd71928cdfa231dfd069e45d7cf7ce1f7e1e8642a97f8bc5e64f1b4b559b75c00077069de555c67fbd289876a5869d77bce3f59da381bc38c71f31c69e6d4d87c340177aef55b4f7c1557539fac0b14e055019bc691f8cb3879692a0441de7dbe45b647bdb135ca77a52c814aa04ae451b019d0cf2b45c86e07d2922dd1db01db0bb09f5c698fd4d765983026e8ddbcd5b8b4dbb41836d3d64519a4684ad9972aa7b21c95c738e1ab2dd3fd0c8207cba0e025a9b99f8dfc8752959bc6b33414cb2599728823b4ba6b969910e5da5d151fb7023538d0c59e363a8cddd75cc0b4dd8016158d747abbae61140a441801c2913b5aca04924bea1424252c97b691fdc97faa2c76c455e5d177740e0c738e3765d4ce3d42ec252b93b1f24ad1552e53698d9496b578df7d1fe996d1e40b9d37295d500f2c0b45ba77548a732a9150608b4f302918af7788c9f51775b4c42026d351148e7393edb05c5a1b475265ebaec3a7bf146d4d714408bdf7e59a6c279fceb6937b1feaaaba9498026c4f203aa97553487e4f23bd4c5a1958b66155594fed085dba0203db236af16b1cb834825dd7ef9a04c75e6dd76eaa8bb659bc44d4dd0d97a47ea16414b3d693389f40cb468066c96a75c2d2c8b132ac72e320a48d78e85d706cb22a09ea89a3986e6953a414ac5c3a800bff8ff73e51db9c49fe4311cb0fb5952580dcbdf1a1dbe56b61f89d2106e72d61ca0bf0c3fea75df5d5af6f40cbbd0fe97a518eeb5bac4a247e28f393510b609dcc299c41496a9a911bd604793ee08bfd5aab881065fcc6fb236d6fab1e6951f96ac5f2f250d9c55c7922a45b38c88a13aac646c4cebdcd002350823d8650cd4caadcd32cd778d95cbdfc6617272e40fea3e13af51914c1cc454916298b628be52d733256a103fe567b12f8304983608894de716ebaa83db23fd51e215de3b730265be409910aaf7b028f839dfd8ebf6d6f35a620f21fa3366ec709981f8e36e2a2f18398f5cb6c4d1d618923b08ff805296c70e0d88f2771ca524265708417fdcfbd23a713f8875681d51fc59d7d4ed57e3c204deba751791a351254fb06a2d06b484b24009c2190748d2697998071f73a1f27faf0b3463b57c3872f1af02293d259fa506a3d78451c3591a2aff029954e9ac3d1a6072880f03ec9607422850f6f762453503305222f32c763b830b1af53045ae8f1e5686fc443a6e45f8f26946fafdf3163c9b5973b308aa41998a7bd08c5b306747ef25159b17beb445ab42ad9c07b6411ccf44a7938e402221e4a46fffe1cfc17e457938b08c008ab0608a36c3896298541bce4d17b653571a0820a788a96584fe59a54f905048a582764b934f122d168e969ef6d503fabb642d6994a14f58f80ca99d67d27b7eb24a82b466088493a4229cf3251f3bbdfe634d5bc26f70e89186d298a33f17546cc6f75becefb8baa9d320be387b67b20f7c60289e6924400a4924efa24a0c58d02449217d4454af6bbff5711919a77b35d6490ba58b264ae14ba7f9b720af364ae9a06aeecad1a01fca015d1e1e59cba783bdf27923a8f61d2434d32ff4a2f54c28bd3f4546dc72b9c47912d1d5e520e08edb35fee308b55efc79e0a241d89e0085fafe67ffb9a51002c10ed329678a16f9416552572d43448dfba940fc60b87f89bb022abcdd8f2179bdf583c5bb7043962dafbb59419dae8926f0d9ea403a6a54f64093027222d0cf6189100987b6a3de45c60984abf73f18cd118322752173ed038fa49bcd4e4cb0e79f97c86e0d29cd81dcba62cf8940c544116c470cdf7c1dd4aa15ab9a3d4a561c7c52bfe419b1a21405412b0183c0dd09f6bc7c3b983d24d0a7da09c01fa9c30f0020f0607e6cf082fbf2bfce32195b37f477f4d3e7d5ecf15cd697ba56fbca969b65ed9334c743c53ccacdb6c3fc441316d43619256755f6c21e5ae47cfc889965ddb0c18821454d8c18515ffe24ee9af649f3b811ea728dd3e590703f07b68a934020b205ca55b32895cd55055f06d677215e87421a921108ede5725b22be745f9888deba149c490464672d25673bda46712bcacc611e9aada3b2c1b54308eabd7b34dad53d5690ebe6c4965e114dafcf8704b46ef2b32e3923e2d3851631ddb48adb70c5620d9816877ca351cd04215fd760765b80dd17860173546caff05c54153e819743c1cca7a973ba7e1e646ea24b066ab036b83ca3211a763dc2ed62b35f706f1f36eb908e40b5e9166b95630d4c0accb120680b52c9de6cc755ee5fb0d6b87b5e0a3dab90c72911fd3b906b2c3094f8848e82ad4faf75c00dfc8feec32eaf7558c604c973cde93688ad76dfed4df8246a7074f346f227f17c3c8fbdac0bb3ff5add8034c770c8602569f87283c2442b40bcd102ed48feccd247f0069277567e25934dc76ae6997008750d185c3535e8ec7d20b6eaf2b4e90e85083c081f9d9a33a0db18410f3cb6ba7002d306aa31399916f56ed155fdc33931cdd0574f41ebda6a0e7e510cf59f76d5fbf9f060de313880e2f476e51e50a26fe4b5e87da2d18b7ecad90d278b5d1a4652b9ae4a8a3cf045da2a7bc3acbd1e0c93b0a2e76b1b044b89c6eeccdd19e18e8b86d9721a631c2eb0676a6762fcfcd910c72749f25f2be0fe060001fec3a6fdc0f00901649f15c5ac65789b52349a45a3ef01b01782ea72f919a9a60658f15eb2a225973a99a85bbf8997b551d0738cf14b56fd855cee5ce7a170714e6abe014a586536055a5e56128f816228caa0db58fb58d509c94e0321706884a1b80c18f86c5325624b5e8cbaf0d4e9502afcacd037b373ccad9a0b4d7db9fbdd5fa8180586b9d2fcf6e992bf827e3cdc14daf1bb85e73bffb2bef72b0924ce1b2809c5f8d2fe6694883b14cf9c557a501730c6a0ffd93eefcae67d0b8c3bd4bd5ba7ff0582cd78934aff2e18952153e154416a43e80de76bfe3213da93a77f41f582abf93b988f6775c3b62db91eb6b6f5e05a5f53094fe733a181440ebc29b10ecbe1ef5014d137a9ab5ec2f46b6495b2865c6ecda1afa9aa75565467015194a9c5cee966b64e7c7ba428e224b1b88c63a5bd14806d5ff89b412d5038e3374f1e29942d73274790e45ffcb908e0b9d2b70b900e06480e7cb4dde6bfe46b55d043f98fae894bd01c18531dfce1cafe5de8e483d2d6dab64bd6de642047e60c4e01bc29817c8cd55fa4204ee02c295a969dbb448ad09ac08f1eafe81bb72255bd50cadd5aac498c095979e41ac7d78e4e6f2c41785975224bdf2193afe9375b62b5eb738c1b5a27fc9924c754ac4ff3530b3ba2f47ad04171fc317316ba8eac972ec2a944c19aa76660503c95cdfb6d764bc727649933e100b18416afecde0f5f7bfea228f8c063b52565ec036109d2b957efcb1137107a8aa2c7683a604afb665bbf9fca2e5ac186fdb029f38431cc778566a5aa103f51ced286d3efa790e55d548ed645ac39cc07cfc3ff95bc8ee161048a6d0816ded525629a4a2ab3c2e7851b666c799b411c04a9b1bb20e43f5ee6846187cde758b1b6089185193be5753bd9c2f150222f709af0b251d48b6844e34f868abaae320ff0cc308ed4ea46db28e24f1a9eeb41c06e56e8e25768d3e004877bde34038e5693bf4586a4b55271fedca9a4104e8a4224359a9e1509c53f41bbb8578fa25990ce49d49e9b7116eeb23ddf5f39e43f099a8d93423e860a0dc831acf8fe79f3d6aaacf9acccd7bfd22e6c2b673e5b65523c6c5c525a1b17d979d40846bca28bbe495a09729905e5a6c557fa10bb54c1bf9245f817a84ae6b50f096c9715c95f86b12aa782ee4d1d57657bc2083866d725828b9818c98419cbd46a5e95e84b41d6acb7e4119e879abd4e95daab4cbfbe1ecb7e19e6cedf2d9a9ab8c6b6c110da30705e26cd07434f0bf7c1756643d4826623d167212519908e88f76873586e7b0f52805371ab4cc35b686146a75fa4d2b92475ab19f2e4c66e73b729a15da35ea93e7bd814b89d8aa6534a48278974ca6c3364be6051f779677864df97a5f8366bbfb2d50e8ddaba1813838f0bc975d733141d941d5553df6412a8eee12f7f6d60db1843a5f30d91958e980bb91fdd0e2c7a928ed3ceb1643ffb58710e5b18c4b91d8e5d66c1c68364f248f33cc3ea813f7e9446191154b3b02169c63f5b0750ccd3cc04b7c3d986a5bdcc11af8e45961c8f5567b55b0101287e01f61740bd32a64b2200d882d36a5d67f28771e6730de1a58aacc523ab48ab4e03492567f862d9126f214c4eb6560fb372efa8e7cee9a0b1a826ead7b16fd3083655681a716187613eb3afa94b2dbddc9b35047b991b06b72e3ea065f66dc3779e5a27945c0a44a150fbd45937ca6b606e347ea093c77f4714c18d9856023eb988283ee839d4300b4701cee8a9678b4da6fc6fe08912221444924a709d41741c9406df7a610746c53a1b393f0d9033eb9b0964ab9d5b2d92d2bc50a998fc19acc1ce6750a41229356439836ddda2ebcf095f50a622e18c1ade5fa99e242fdddc068862a303cebea5d82810af31022eb487c5feac09081f82b8dfcd37796a06cf29ba2b42737632a5e82494f4307dddfc0140f137a6e2098d6ab87d292ca59190c119ce19888e7ff27e82054eb9da0a25f9c064961d54746606e231d98d68672c2c6caceb455663629a61dcf164e06c02053f3c8251212f1fb95e064d1a9d02cfb80bac3c16d97145177e3957b7b1f9d80b16930793ba744a8e8668fef028dad64c80a008e73e7baf3eed0328ad50a05ca9ed675fb9f488edcf927b28f290d1a980896c905e4b719300307efc17bd1edab49aa1500127b54335fdea309d1c370d312cca3efc9758739a5c5ddbc2d261e10bd36415893087aad1d32eab007d5c2c98e00a98890ac31ca2c37b8344dfa22bdcb5d3b7d8990646785343ae8303f058dc3018d467e06ad5d0cd1ec244fe21706b3163fcd63d161917fe49b084099172bd84dc67240f1d8b065fbe5cca63fb7ead1e7b8fdc1d215a69fbbcf465ce1234a0c222addcf6816438853444ebff7e41fe7da66acd41c7f5e79df35bd1e1f03499ad12e447c6d26eee453e1eaef6a99863807372d0df31f08dc669bdd4238a393732aea3c12731b9ad4a5eb986ad0ba42c732c2442dc845b0aae9ea970a49f0f083adf4776d4ae70f6db55260595578e8822397a9096a5b6d6efb1e51b67ef79547654d8e5295086588f2b5ce9f64f3826f4e08f5e4a6f4d01793ffbc4594712ed6746a811bf88812927c5b05231e7c8f0bafcc248d8e2e8ea8796656da70b834abd58b65f518f4c8262b54f0b9f7b673c6e854ec9ab5d0048a96c5880c0ca7e2294cc00ce61b2cbc55369bb7a1b8c503601b483c6640100041f53a4cecc53b65ac2c12bd58ef47dffae8025d1043b8c2713a18cc2576363828bed6d8b1b6d833bb6f62c212c5075a3de58d0b361488c6714a22512678c37cac1a327574b6c16085af798830ebd354476c7ab859d2be6555361e1539d447724bfec69d27b470c2c5aed9f390a996fc365a242704850a73be0395ed18ca1fcec303dc1de9dc74bc8e6573f7f611b057353a66aeb4fd495b34d083e909c83b6c9c9113d86adf13b52c3a7573328599e24cb27811257d62414fa263582378eeaa68e63624be46d706e75a62c1fc3854485ad5f744e2467ca27f5d5984b9ac1bf126366629cbb9947d33d1b7b252e16b18b11ba2c59aea8d08f32ed17bc5c49e500305ad83e8f477ba6563971232122a1f9a84be8f6e2da28c10f5d24fd023a80def7ab56c1b944f600c4f2065cd1fab46156f16ffe049f66148abbd64b802bf67b7277696f3d20b653b7fc48b3819710484e9b8af3b5024eae5f26eb6e607582475ef6733d81b1276ebed8b3da245b33dbc26dfb63780881008af5fc8b6c4d306f6da41088f93c65fafd1f4b4a0e8ec8007e95b69055d21c71ae20635cbcaacfe9a5981d6d5d40df69858b8a4b7850eafc89c4f23cc62a50ab03b1486ab78093943b595054bde1117e7d3aae61f9307011bee9acbf9b1817ea6fa2f9680e5fa97fa940175bd0c4f709faec7aff73085708ddc2e4ba03302f16cb4bec6175e655d389b440612fa56cad96cbe1fdd94e1c8cd737122646299dbb04ded4116fb7d1e6045d0d3367a16aa6eab0b4453e3b8feecfa0993b13e53d62f93c5c0ccb45fcd1116ae161c7ece8dfa305a54d820c7892d73e38d1b4370e342abba8026fc7b682f7551d9f06d590f958565f4c5c85f03a713aa183b3d61aa933586988325bad6404674885328c3607609cf86be75adf6e0fb72c50e676a974ef70d53fe9fb78491d15500924e64b30ff2e3334a30b992c6517ccb9efd14d5ac1f942b49b03fb6d2d1040a39d3e24ee962b78e96a3409b2d55be39b971ac0c4954308408ac168b55123453a523cb04c9ddbfda7f662c0af018e68bbea17d7ab51c4496ef58d594bb6640cd653e11b77c3fb40be2e2ce64ac3000a0b2368321a6f98a7837b66ec327e93e81014028ffc8e6d7fea751d231727d743a9ee24b8d907fc76248123119a8a82e31825ce47d3c8fd0bcf3d8cba0b9da2404be10d982cc13b4e15cf346436a21b18ac3574a4cd742b1e913688e5bdaa1b69b775badec2854f0f4c9f8f050286a068ab2c1ba2aea5858e574a94154e42d6dc80e085fd7a08d94d5ba094679eabd7e7c6626daa133374b17ea970576e91ad85750b26f48bd076a7e74d1a9a2ce9b69f1aa2f52d82d6831270858770b807c603478ae9f146c47ad980621e7029aa85af6b0dabc921cea1110025107b0a1942b631b6551ec7cef48137c53d3889df0464ced9cb63b62ae746ba7bb8f784deaa2b019c5f0bed23f63108c781ba1eccd69caed59b5b0e25f9c4d0d6c6dd621aefd1480942b0d7700a516f3446047e3c7eb7139724605c9ad127e325021181b7ca9375563c1e49fa96709508f185de8c310730c137bd49ed2527557a17ac39faf121f39eaebf0d992e010ba5086c27c89b26dceb59232d219c40c617f854bd8e5b417b17649e8aeb9ee97bcff01479e7166c9b8bb4f714410dcd97803e6ad50dd2f9ee1d6d42ef01bf3e8dc1ee833b9d48da705fed8e1db338c3883ff26b94a60de8864ceb58da7f37d1ef5ce006c7b471ec1ef2042c05c20e3dd1c60f3987de9989cdd0282942dd1a771c18421a4743c098a7dd187bdffcc1c6d8c6f0256569e8aff911ae62c222f230979507a883852771a40d0202ff248014018a8f1bb5cb7abe20b3e700d4021c85448525ddb56c2f10536af437942902841719f8709fed142314748bcb54e0f2b932333f241cffd8db2e30c0dafec8d511dc63e819905206367f2a8add5592cc8b75e5f53fbeb16c3f5778bf27deacf819a561e0f5e7a047e71e36761b673560d53cb6ccec0ee0315e478e5f01519c4d183986cd0e5d450058c3ea23b6a21a70925a882ef5395e46d56e06a4e2c98595f764b3646f5c8c5293a18dc81997e0106d5ed9b36cca623956f071dcb1a2c71a2b9f24de6b9858a6b82b38f0f1cac5d7bd8c7f0ce1e8e81a09dad71547270172e2b9ee64e558af1bc46b07afac6358ef060a539dc166dbee1fe7f18657ce5ca7dfd0456047e2a132ee5f5ea42d2226ddb916048622bfff6becafd37db834c1bf5d71ba4f4efc25568a1f86ef62596ccd61d09b1320a43f1119a00c1bc152ae052324b704e20fbf233b001b56d20c805368ff954f1497350a11e6365ff0c1b8c8530421d83d23331499d8498c38b120cb5e36a9d34d85f0736809510f4c42fc2e3580277c159bb3ec978d4a1c2fb1e3082e4473f050ecd45ace139b4d291365e933c38d87f0620d915558be37a74fb66c12eeca69ac9ee5bb0053b52012914a352e281962ea507d89b3dd751518d87654602eada4f857b91dc3599162d9eb9842d482cc02d9ff8f77c478a59ccc01b9b6e87c97e38f2ab457701bff2d5f46e7567bc99fbc54f047f939a241044d8e84a37bc1fdc3921227fb3a626a7b9e0f44fbbd1f95d1e07f398b536c22d0de0399b10dc0063c16bd8bee477aeef687d2d412bae5218a5e8d270d971c10cdf34837304f04da87049bd402ce35101741ed78e11b1a38df1310edaa7b235244a3f51946da72eba5ced0886ccb9c003b9f8aac2a078991a5fb94d1b91aaeee9d6be1ac9cbb9f332202dcaebeea86837834e1e105c4d0a65a87ecde971f50e286d5ac017487f08a1bfeff8cfa703f206bee267e9c29a361ed5ac5982533174087e255a75c6211dbe0449d310c27abd612a9611c5caac020752b6ea2424b842d1555b26b086b53d17f4d287d822cf2bbae87235e7284f899fb1d836eb020fbbb7d413ddd0f0554322a310fe8a09b2fe44c85690589790f5d5e74fbba17cceec5692f475faaf6a5abae43b6c56b4fb4bae874ccc572102e170ff5a0865a85654a4195b07ff160c8031d01defbb6eee03b785bfd7a71dc85076707ead3c368123bad1e95e687363c37bbe3d3c90cf8a1b255a8bacd85dc8ff712525e329b55d1282ce382a81c6268e23ab1f199785183655e6d5255c5164389fc915767c7e868331737cdf848f0d873cdc62bff56c0ff5a1a682b412c9c2fa7c4b13a5ae0e34c7af19eaa98b3c975180e9073fec8570615a51675ed50e575d09d097a2c6e073906b1936455c090067526ee83b2e64aac0dc7724ff51defcf86a7e802ef2fb6551ca5bc42ec39345502a536f692fd0f6beee5274dd3d0afc341840c826a0f96dee01e899af94bd83cd9b55fe65f4e66e505c99c763ce8910b38e6ca6c48a3ed6e715eb6ed0b9bab2c4fc08cb17dec77075676a8f5ca8f86413a24813444f23aef227c43f35d4b4e2618fc17698d257e98e450e00cbdea18da8dccadf4601a8c81fc385811fac8336f31144c6e1b184b9bf21dabef332b81478a7e96e6b73b9858c2872eeed9696744713a6f7e3d9d840318562f6dc33661ccafece32c1f28c190a44c78e715983a041450537ec41e59c434873364f34b8435c8a378aac3f25019879e89995bde685076d89f227dc67b3ca009c9905fba69b409dfe19524f6ad399c953bcbf8d5f96a6b04e1fd48dedee94fc70b492db7561c2df36cf05487c40df35af348b2c7943c30f69f6a05b4f77344286c22c9888102077ca9d5fa6cd7d4b28e0cc18ea66e6ef5df31ee101de4c438ef664a52a610c36b82c008bad96d26bede5dbce60c980e18719634492bdadc0f0ecd6d82aba14f9d5a3e586ed3c47ccd916764acabd84a9d5038c940b4a9f4976589751f80c71475cdc2e6ef93697cd6054c43280f57827968a2edc5445d6e4bc3c22c68aeaac360c45103ee064b41f2d1b4db6568e852e4a1f059e6700f69838e25524324229f58130b3ef43e17004273a9bfe3a7adbcb201bf7b385a8491c3e010fb8debcfedc6b7c11736c7ad1f76cec61b34cabd248788be7c7121fc062d2245ca9f273284c7ee768c5e25974bbd40035e05f8e4128551b3524603befdd986b7a0a4034b8fb3688b70e88f95c7374b8e9e6c60bb75b4ac767c46379c613a791632414c741fe3e686e5578fff1b3facfc23ff9f37250d65acdc731f1bd77e2a85a2d482c2605671ec744ebe3287bc7dadba3f0822214b05d2733011e1bbc4a629de7e5e8f4b62c72202bf6ed083eee4769cef1453010a4594ebdcfea1322e503ee31e7287c7c83c6831fba66248c3e60d35bc6fb29a2e818aa21d6430b9840856a534ce3d79b95d5acdf51eab96256981e82d5822586fb8ed0194c1ad72e82f8c61680bc51539e70e32bef290a4da80bd4bc53506b146bd51b2e4dbfaa896f2714d8be00da23108c1bd54777f33c120f1def46d7611943f5ac6021a54fa2302fab8ebed38e467abea26241a0980ce19d13f62a539b8a68c94b697a82e2c559cb6aeeff7cab307b66d395b3b387ef9ec10ce7fb7517a29c106767a200179b600d0175dd441ef0448b96440b94dc74606160f29879a8e0796ec324e0acf819982449f0309f5adec6dbf6a7e126d0bad1b50c80a1950912ab4b5fcbfbdc3f28b81a1e15c4de05890737e107195f43bfa52e0e95bc0d3fc71a4ebddf6a68cfe4a12c8b63f98138ef46545a25e0717e2afa5226f68ccf6df93ba7c4d154c812782f0a4652d74f25d2cc26cd4a1615dcb5ba14be213ff3704c2c557b2049b2875d3dcd6f4c3f789f61210f4bd8174a9af45a23e577134461b82a1ede8f7dbed97443ac0fef6627c460596c64a32d4e80058f97ae8d0581260a3feea944eb3567705a26fd161ff83a2ba1744b6a6ba80cdf4208a78e11bc1be05266724a3a78e410d6d57f82ee215756b3bf5e5e622fc21dd108eb18d8b11c36bb110157b9b5a879805705648ca484ae6fc090e185fee9ba0e560ffc43bd331abc57dee85d932057863b7a07330d1c4075710a433e382f7879abac86c680db43397ba876a484019d27328db497d67424998f8ff085f579d62794386ec7e12ff7a17c55c496e11c429135387c508e634d27a01734c6d58ff194ef0aa487cc0e393504612b5a627f7be0aa9c7cfe9a604f660d58a467b3d4641514e59673bd2352ef64eca31f6ed7b548e59973faa748a6f5941bc2950ef81bc0053f15e0b790b98245929288e32ee60ea702f814bf4fc406f04e14fea8d81f07f466a939b8e9d32616b80e50982b2d9b0ec21d811c2f22e43628a06becb7f5713ab6212e377deaed321ccb848183379884d8e30cf67ab853d1127145d239339b3d21b4b7b3d2ae8864d1bbcab6e8725a562bd7a422a8a291f8f1c136f5c21342e5cd50ce4666b797cc6e96b5c10a40d1694951235ffebf74a87c25afb68d72833ba459c39497a8e072796700f1c8f707bc743f49c648560b0fe181f8af4e239cf469fbf2a0229d1dc3b596f9fefc71b402a2885acb836256ab93fe9f70bba2fd1b0ded98ff0729e5049e08167ea91a9abb8800bd3c8ea7f98ed85d95e8b59b701dc8fdd51e14cccdfa018106be937e1ef0856736b4a079783eaa6743430425c14fcb365f5b275a07290fbe33fa8ce56a612409b9d3cec711907e53eb8869cfe958d43a12d964d354ceced7c80623fbe4d80cc4507d2cb7d2b3ab11e264c36cbde627941d1b5c43ab06d13dbd2f04ca912692a20a70214e49a9e3e61a9df64aa01dd514675d2e8fc27b5a590b8df5fc0cc00e04d02a17e24319af196c703cfc17aa19c3cd15437c0c04012bfbe44e138a94865b7579581bc31c4f956a166551067640e5d5fd0502dbb93539103140093b63317515c8327aa6dd2fd2fe1f0af302ec79d89ea33dc4d2ca9270d949ac23131ff9a06878eb69b1358c7432088989e95c6320f5400becca64e337ec2c7240413a370f82e6224d1d445b84c7c3c1e0b8136c04f89c6018c962781667ba6c8d8be414b902d596132028ece6412f9abc9b51c4838b076e357391f6cc7a3e5e2c6a384b18996329a4684ef900f752c3d58a48cf76cc3155c5c8bff15ffb06f7a591b8ec5b5c0c45c0878970967f1dae0f93e9dd81a0d2db333ff1a7a36bf3c48bbd36613a82a3db5ecdf4ef79d064729fdca0967df995fd8088b8b008718503ed1bafd0fbe206e19588abb049e9cf2d8f9affa4655a9f9b26510a36538417b907ba88cfa1f3cb492e19034bf4d8587cb1d3aff6789829b0ff52e0510ea2612b8442ba6fbb06067635c13800ee47e6bcddee8c632e05c128b481fc8456f4bb4666af5433dd661ec57a5259f5305c91ddbe966362d39bb4c0c76d7baaa2c1bb8d51ada9473105e07647930099fc7020d6b2992fb566683fd50175289cd82862df5726382feb79ce1e0865719d8193b999a4e33194f2d46bf2f7e3d8b371acedd025995c907005dbb670c0d233ea848e8ed2a28375f74b0ec02d288b2dc56fddf95bf7c38e20b9724574540da6be78c0e4a45bbe12afc7c2ccc947db4488bf66d68a368ba7f478dd4f7bd347edf3cc94f3534786a18a082b33cb2b1952a605bb45504a39ebca7b14c28165fb36c8fdd418eecee9793f4eb4e594519a8edc943606e1fc4d4575f03ccc3caed88467f096706405e6a7580f75b1623231f9a6e2f27d0d3c8db970a8699a94e3718bc490807ba77f3245a8dd68f29ad48eb832dfce84f083c492fe47ca5e59cff8e7cc01c74b7f42f427faa4165736ba87f5a8233398acbdf22c3da68dcf2a474f211f82c37c96cc65c7415f515ca32f60ac2b94a9c9966a4a622d2b043f05c613d666640625fca8a3b2ad6dc873cee9a2263b31363b4414d8ce9a1a1551aa086e786959be737c31ba30266a870139921f5a03283b17faab70a3c181483f562d82ab55a0695fc413084b74649613cf50c0c32ec4b35c108b9512f447beb1fe6143c87f05d9211d2d405451a7bb140459d4e9ea0f285db691fbc11fb6065ce0991f329b8a9ed8afbd1dbd8e31df4fa2fe253dece80ad2343f54019833e714cccb83d3b70eb0dc0f0337672e6eae8eed3a801eca1d7906183413d1c8f83ba0253fedeec1eec899ed2a8b17ce1d1205ecba3c8cc67998a06c09f12cc1f53fb814e1a52091fddcd7dcbb7ba84489bda8804b7ccdc2515b9e8889dcb29f00c37642476f826d2607644f6797907ad6c7d17192a4f690966192ba9254b9c93564fe4f5bb3b3c6d1bc4396c454ec094e01fdaf2ac43eaa18e16976a8558bf9ad4a6ced934fafa58adace28f263a15d217ec1e32854f0db496d374ed7adb9b63b7e60dbfb3ce7077eeab9df4b6c45b598e582844a470cd0ef236ea17e48bf304552fafb132b2e0df3eaeb6b857beb0b1e836b869d143e41e453c8bacca33fe35198f614c4d9a1afdc6e375b8aa91bd5e26b5fdc421afce25a5517aa289fc80ba969a7c0881d27ff331f9c2a7cc78021f1a30a0a18e4ce64eb8a9c02ad2f3e992da02d036bd74cc3d52e4a56086ed4138681776235540b74b1e42ed4255e851eef79d878c48f878cb4feaf614b88218fa61f9c98c50401e97121609a7329b64fbe64c8191a7550571237355991a2bea933a0ce1d705e462ed49ba6a2ba206e09bf146361d0bb011f9bab8470c2929390e4a3c700a6b3d34ef06b844674227cda122e489f3e04996659c31538c9a4813b61748c1cad3602cd0a76131bc5e15d24d921d4737182dd15e93b74522b0b1506d2d3e406f27c8744ad54ce65fa933b8aefccc018007e331754df8722c483e39cb5a9f1f6100a6cb876c6960f35080cffce70afef63837f1dd30862b6d00cfc43a2cbb971d01a4f3066dc129da0953ea5a9093794225683e27cd6130ec0a785e81e1e4d8aca8f116fd26903e55ee982ed7a073a7ca9287e9127b239914284e1315a01bcf50f4abd5e83829e39440dd378b44340a1406b4f6d6e471e5348022705809bf766b479b9bf16f73578bbf8aa10c1cb6e832d406396f7eec9d0b87a2487ff7b49f01b1fb7d4d0475c0dd6e1185d7e71d351302210b8236a449eb24b9bfe16f7ecdba0f8d06713dc94f0f9c8dfd27e2320fc09f502ab978b3f23edeb0a6e7e8cdfccaabad7c371d02c28aa48210771ccded4cc3e99c4bb0aa6dbbc012b015aa7982ad2ffd3d104d7937ec183b4a218bf4ba2b89427bfb9cd85296f873a24d23fbcf9fe293e8c663b6092a3b0246abfb77f1dfd2a008a1ae3d2417379865ae1e44827e59d66bc3a448199add784dd8097385fa26f4f540edc7d483bf0f58ba63ebdd5a393975169ea63374dee6cad1c6a2062a4200a6cb819a2cbf2565062802811a6f70f936338a00ba3d15f81bc1fbbd79e3c1a68f9265af74092d601ebce3e43bf4506bc04aa2550e956e754d9cc0dae2bb7949b586a9f5a2508c4b2cac7608f4ae547bfbe4e573973ffc6957a156d73ed3ae5717da980d598e7f126cab9b8cac8f89fdadf65b642fd5be86a67f70260dfe5fdea9b34184d90d3105e28c07f186a7734843120c0f5ddfaf19ebecf1a85412df978a2fbab24002a06d46f21b28d771db224d606fd42a7d7d68db0f1d24d8b7d9ab67dc51740a15330d84648dc3e2cc1968c5c7804cd7b4f93e8c88a77c5b4ab8d26ba9c539baa79ee1c18871574f04171f8557607bb5afa1e5522bec6be8af70681a066b596a38f7ea0e56f459090da8e85812bc8ee5fce128d82f86a3725a6c3373e9636008719c3f92c4e163226a14c52dcd6393cfc57ad35cba22b162baf2a5dc026034bdf16f28b65c813fd380fa60aed8795141a58621d2c42283fb87ec144b4c9d7e55e82a3603a2e339455b8be8bd0ec5ca8f6c1f8a0db00763729e54925660dc821048606a8468017b1cb07ee4b1397d56e83a4b9a1552545f496f424ef467339b3f4ead8645f09b60a94cd34b4445cbcce298df1ff5a85117043652b671a608c4480580fb7dddc0e4836bb1837f92bc0396b188a1ba3dbb6aaeafae119978a65289fc796108468e6eba12c3959c4b18327c16318d393d95a21574a28ff9b9b66e23b754e0a7bb62658246de0ae3ad8cd7e9c67a60f8f4cf23c71520a80f8bce78b63504370f44905759ef53a7d77e3675ee9e3255a1323e182a668422b8b350f708becc29fba761d971109568ca8ef7ca9a7f8c1b38e3ef5d71b1f726620d21738601961f3616473d7bf502ca0020c17500595d7974a436fb971a3a2edafa0595c16fbdd563e1aec3875243452064097dc3ca4fa32d9cfab2a5f11ba356c403bbe797b68141d95cc9318dae3ebf94caeac50175afd5fc17b6f4a597f010c107ca48bd1c4f14483369f0c0aa8fa11b119614a05771da56607b83f3201bd1332222b8f2a80ac492b995eef74e44f56501ff3f44d6113e748095eb6b20ee2ed157f62e7ac54e81030320ba725e61567765a8ba58f29b2d7c4f5b341d9c65768c79116f1484130c2a37ff112de02269262c261472bcf6ea5088692fc796d5d891df1acd868f76fe75123678bc0fff7486ded836fd440bffab022687c38f619f3431855908e7261dafe2a1d78bc9313149ebe24b773b94f1e762bc1ec95cae6db51f8c9c933e75fe853109d75e270211f6b7c098a9010068a08d9ebc9069ab40a8e7398de1d1b80ab58e9bbe7319d17c18bd9cbf0a37f8c8e07c8fc56e796f00ea7e68d9c2d4453da98eb0e6b916555efbd8267b424ef8c318325ce719ce8a3d6ff19878c707324a51b73cdc0faf6fdf265c1946636a0c3369efefa5dd2ef3762343bffacb678ffc927b2c951690db103322f87e5a32d5c40ed55520cd757ddedfa8febaa8f591a18bb4ebd565b5bd8948e033d5b7e3cc044fe7e058651bb40d772e0ea108cb96525852bbaa77504328d268abd138ee66779a5ce76602e097d59bf2b62f4916d083730d997b8aed5036cbec22569562b8127c50b1694d58cd84458c38cbd8500ea320cdec02e31704629a5beeb49ed05b1b19db0d0dee48b86e3aa30b70f1e5c1201e67b01ac90e074ed0499159f9e946225cf8fd4ab0868a5f436f5def0d5727ea8b5ac28e2e5638aabefdefd3f338e48c0a7e4c33fcf062f456260147cc074aa7e5015a0d15c03e44545981f1efad6fcb3f580b81a04752f9fe9a680583566a98941c3b8403dd0e81b0276c0ba766db0a8d59e7f901a2a700657f5c136e8ecf941317f0d7424746afa7adfcd9b20327190b135c7ff73085934216349c1e79e60f7971ffc14c16cf0a38dd609219bd52038b1f3cf84ff4c4910b8a0c9efebcf1716e95431e8423640c95dcbffa850c031f556cf43bc88ee15fbc64704362d58a78124712413b7df5b5c58e29d8596539d5d5ed11646d0e006684287a90724cb0c2132a9e493a5d2d5548224138181a6e45390aafa61b7a3b06815b6a5eee4b316738e4ab323c9eb76898cfcf3bdd770793a7600ff716688b2f573eb7d4cdde6f1a4d4e4bd1a05686c93722532c1cb33967d1d084e7b07eeed0b4d0076bedb8bc0f02e4be96c72765e525b9523f55377a7198cfeb3cb5c3b95d25b1aab43c780db095ed9c3b7ef2f4c62d460015c9e395ed9c05dd1cec7da35b26feb23f284527583e9e0413ffe3d80c22d48848c1ee2e95dfc23d7aa888c28c2950726efb1363c33596a9689f94db39e57aaa1e19052b87cf4e795b8113365477a93ed15e225182f53b21350ac63c934d2dc1037b0b7d74aa1113f76c2ce48cf84ab6dca99815c481917bc909ad441ea44220e14147e2f95af243ec5eb99bbda0ba2c3a70e87347f5b6b9088ac67e1ff8eb3b48dc2f4dc618001764191589d3fecd680469e95da8f9b91cc02caf51a347cc56e32edfa5b0a6e21b773d828398a7d49a745cdcb001eec522637b584627b19f11b95cf0deb427e35dee55ea6ea06895f0b2d1ebdf8c3004240472f5745046625245670870da25f98f3ee97a2505b7c2955cc7e8a97dcf0c11f077566fe9b52c89a6d1642f5d237c75d11dec8e14a2d16831766885d2eee365b4b356fdd6ca469c69f572b99d8c4ad471f8772d46a71cd175e73ec25355e38b452dbd331effa96f027a7f40df8f7df929fc32eedc5d40b7b2f8c3f00d0026e00c4c0d6459139b12c01a2671f2fd3a167f6ac4750caaa6d340dffd922a843854de4bcafeed4aa26944ad04f7e92a4363bc88fc1bd6b88708f845e3cb7fdc5b257523d430b3f160ff79b58a116cbee296226e878df460a77914b46912fe64c0a398c2d42d31044188b63ae5545d55a6077f8e471768db8efb0361f6c1024eeac71cd498b936e9822f26394e0746539eab729aca5a725c4cbdac504310c6e2f22a4036b998c0e4d79334306f451c446d68d55d9aba89af2f8d8e5ee4a57f8392057de64b032847d7727756bb932b52d289f72abf80e1a5004c2f068b93cff2bad2e255afd260a081576cfcb3510ccacd28d23686b9457030b0ec44bf98171763b55efaca782b64fe5dde88d4853915cd386e0e277638cfdf28a96fffcd244aa839bbf159cb340d500f4fafc9a29a92f6abb024e6354424360e375671164a54329e956127749ee2fc7ae9e789588fbd49595b4b93b9e81b329c255bc7cdfa7ba59df895b3d23f44f349d4ce5c23834cf874061e39dd60d9d580b7ff3967647968d85cdb8d3ff270742679be72c9136a2549f375d5541086ac716609e86b3bd54ef78eaf9871f98b370c71ecec27b4873c3909581ee0df0c6c439fe7ff277abdb397e53c29c29dced0a9312e4af935f946cab9b9530e52c8143c996589b331c79a4aba8ed62ee4101b96d0629716e812d1959f0b5bedf5cba92db70d1b0d3403bb1cd19a335fe698c802123d723118db598f19b6a7e8705955b00dca3be46e3039b4f3cd205390c22b242acf4f7ab9ae4c4e2f8096447b98e6dd8acee78c50ad470ca3d5f541db09836c069c96fdc77a6f5aa48efd8a727bbc600894038f00f74c4ed7104c612ed6f1c3dbad29a7a831f0e229db7c8e275fda3db1516bfe868714638e395e6ed41a8a5673362f46b1a681327e115e37c6312394c137f4f59609675048702f0990eb45c0e354a8c25acae1514a51f33316df784d72c8673267b3bdfb8240ac1550d348f4319972ddbd886df2588dc86f181fe2269f32866ff8d93751ae56de7e15f9f02a618d75c3c8ca24b6d4f6e27506a339bf6e256e176e389b9f99f96dfeaa08bb602dc949aca4812eff85b46a7afea10807a9640fd51b855fbc15fa568c0c17fe80b6660e1fcc8e03c750a3363ef9dd61e8fdab6198c3333830165f2f1368520d816ab8dc4513a83c5fbb359ab6effd45f66353cd20e83f4bfe3998ded5e31eb8e5e7d83b37ad4341cc01efd879a875d2eadba224dcdb5a8729ceb9e684e3406a16f596888b3e1d1b3b261593b6475fc06a9ea4a450ab1f525fe730dfcf350410e2e4e99fca71136608e529bd94aaf02ec073933c1429edff106144b051f086eaa50a04d43473bbd0c37b917903180666ac45bc2461b07a214c6f700061aec2bda214c1e5856ad12878dc03518cb2f87fe005c52a0461c79653932c482ff8e163a51c8248b5202ad2dbbef9f480cc86c2bafc09073e249d4a497d42ebdf4c6f2fb994e286ab198b046f917bc6e69b14451073a26068fb1bbeea090613b46ed3dbf1fd22d14ea4ce2efa290c09ea4ff52b4c682de897c109f7f33e740036ce578593a669885ef03864535a043d88c9dce057ae083994cd73543db0314be35e2a46bdca57a406bcd3858fcfebef15ab590553b90ff4f9c0e030b6ff6dd34a820f22fdd50d1a54fb3cfa657a5bf002670d798c57fcd7fb912921eedad2418697214c279f65cdff4e8c4799e6a8a12f38ee140ae9815e3e2a774dcd745aad52f0b06a9a3344205e55b4f64c94e63091db69ea044e3435b67242ea65ae8b1736396d613b9b85a135ffed24dc6059241ad5143f0bf941383a2b72df768cf1fd96ee2c57856eb72dce8a0b235b5c28a3a08d5bd5cd8cffac4961ef7d2a997816ca4854ffe3e49bf3545b97bf2d6033cb0b9a2597697dab3be36fd807dfdeb7ad23b166d2022f8ead4dbe4c91709eb399ba8a1e3d19be5a868046205cd379f9130a768811074328c9a7c94b44d0dabc6bc738b1e7e81e27587b32f6f100b029deab4968e304a67dcb42be99e726db91b9e32ee376c4b7040f70ef459ffc904c8e7a4e5895dd430dc902d5e8245e465fa60c9188dd2fbd0c0d6064b36355808cd0f38c237640f6ee51826c643a3c81409377e94f946131016f3247978721690978a24280c63ee3c63fcc553c7dfb513af7f4660f369b2b7752ac235000a6029c78152f5097ab70091b8fecf7bcec124d8da0c2cc1ee1efe6cf4a3cd6d9c9fe47f83f5459b0ba6ac6c588d5bc073ef0a5a6dfe901ca4517e967c262c07f9dc70b30d373517a0dfb436e04ab3d4575a18e5b060dfffa1f2fbced6199301620fa9510556e87c95eb9b5a217d7bc0a1fa08650defe0ec26a9a95a6193e2c1c3b7e81e3cee429cb43fc1c3b94a92b49493e315701fffc26017be6c0867deda8d342b97ee56530f73f4e592854af2a77f500ed07f07973dadd993a6cd2e0695810cc20d6cfc3176a8408019de61333fd2a3c853653fe693461af14cb631b448684495a34495b13810754c3f70a68c3759161251406c916b1a5b7c357b4c97ab99e8bf620acdc6b3f3af31ca2c9499b95e445cbc988a47975f61363d99c38af3f7b1bf1b2cd56c300365ac68b8e76f754820edde48582e606c3f44953ad7d0623489bc18e12b7aba35abe3ec9819d67268b83497713b02a7596f4add1351accf0c917988e9352d6f2fe87de35e85a872503a1063e1a97cb18d2ccf3d46daa777a40f201ae7ceaf95bd16559fdc8b834d827e6590e2ef7c266d7d9d3d05c647788f8fa49c3c55cd83b4c7bb00fed863626b715f663e5a8ab3fae16aa44fd62ae522d77000b4bffd20eab77634b1f2b9e5ef78a35d6cd099a6b3e1dfc19761ce37c7f6e51871114d4ce586f2d3fc23eb0b90df22228400f9cde7d34946c53e04c858e86324a55c05067516b9153ac5546b5034895c6c2c2ee5e6590b3a18a73294abf570d54932e7b371202b65a41fd81b0f151a03701c82bb9b1d7058039ab99b95c7033d19b0a8e78ff0682ef8eea027665d0e1ad7c845575a7117805ed94983084107faaf64cd5ee7a8bd55175af7ec54c50370e4e5ab50f1292c4d1dc0d214ed539706d52d48a489d3796c4a01fa7c4fad7d525cb5a959493712399b7fb08d67527db34bb4ebcec149e28df1d42d22d553655b3558c075b79147a3b33c19dac371bb77df2b14574dc66bf93c3dc628d0ffbdc0330b52250c4dd3fb639654947aedb04b0c4e84449b7aad49f93fee076255037428ac7a2e2d861023a3371845d65d5444b80e0a47efd509b29ae0c8cad8afaa0636588552231216b6bee5c005a6ca696724429e544fb0b326674249c0114d99283bd83df4f01d215e58ec6b91d7a075f874466f22b08edcb87eb7c839a14a153547ad021d11e47bbcd0b5bb8597a7c2b35757e90566818e0dad64b0489101667bc7084e80784e9dc92ce5dd6b1eadb623fb41cbfc39f2a12012c2ec2e62d8e657205d67c522c066b3ba4e0b0b2d7fc2d4080ae8bad02ee004b51d01fbec76e48b7e2c5e729ecdfb89712d0be08e9b115568239f8b8d8407ea41af74da89903d1c2a4bf04afea7cf70ffc22e4392a21bbac5080ce8629655ee75a62be69858e983efa09c1faffa0160868a34adf73054e4923beea7b7257374855e97fd18fb66044fe618ba41f9cdad4f2a7863ca4619337426821f377c4240382fb20f381e3097d82b3840691e4aa720b5b69b54d6e94a7081aaa838b2dc59167f554201b91ce78e6aa6d60560ee7ba7b2bd267bd5f9d69b39f484839f9b37e7785f7d064a3e7d67e228285d2a05314952e9ff9d647beca20d38723af52159a086347727b9e4ce371d3a93def401c81764d4b0aa571dbd8ffa1b62437a5a7be8805b52d313cab9237df3a9d21b49c50c9eb65b513ed0dee67637f4c16e5300817e120bb839ceca0216b9f8f91bce827bdceeb64cea3b0b1bc52ba30764e79bb4065dce7cb64a011fd6bdbcc20601835832c0de4dc3497f4616347a1f00068df761f7350b5ee2cf6ab6f5631529aa89fc9ba92a560edd09f3840c75de0506ac481a7e2e26df440db7482d410b082cd16f5d8a1c0b9f3db3043a36af47fee2acb1cd0e83f76195f969ac81610131744e48885beb63c273f3af8288aee61d2f9d27446ee236c4fac955389d561106a99957c9c376e1b4e387a386cff06798bbb5ec47076fe32c4e5418a3e7bbd361eb81713b6229d3f363ca5eded81bec74e9c923e1d71d34cf8899970806944cc9c13b3da5a02c15729a8a02e03fd07ceec5821311678baa9c94a382eeb4007d1250476802abe10a4eaa42c6d2be91aa1508aa453b4827cb441e8151cad3f85737e409aea23956bcc7fb1143c7c7dcebe4417d99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6e4ef9fa352887d9abd3a9b33754b66eaf912f5e0ac3ce3354b266183512849cdfcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-Cabal-develghc-Cabal-devel(x86-64)ghc-devel(Cabal-3.2.1.0)@@@@@@@@@@@@@@@@    /bin/sh/bin/shghc-Cabal(x86-64)ghc-compilerghc-compilerghc-compilerghc-devel(array-0.5.4.0)ghc-devel(base-4.14.3.0)ghc-devel(binary-0.8.8.0)ghc-devel(bytestring-0.10.12.0)ghc-devel(containers-0.6.5.1)ghc-devel(deepseq-1.4.4.0)ghc-devel(directory-1.3.6.0)ghc-devel(filepath-1.4.2.1)ghc-devel(mtl-2.2.2)ghc-devel(parsec-3.1.14.0)ghc-devel(pretty-1.1.3.6)ghc-devel(process-1.6.13.2)ghc-devel(text-1.2.4.1)ghc-devel(time-1.9.3)ghc-devel(transformers-0.5.6.2)ghc-devel(unix-2.7.2.2)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.2.1.0-150500.3.2.58.10.78.10.78.10.7-150500.3.2.53.0.4-14.6.0-14.0-15.2-14.14.3bbk@b'E@a2@`@`OL@`"y@_<_H@_@_xg_/@^Ӝ@^@^W@^J@^:@^)^&^ P@^ P@^ 8@^ ^@^C]]\@\\@\@\\ @[[@[@[[@[][][[[O+[8@[&M@[5@[ Z@Z@Z@Z3@Z7Z5 Z+@YeYY@Y@Y*Y XXM@XXS@XWW_@W@W;W7@WV޾V`Vl@V1V_V@V$@VwVetV]VVf@V@V@UUȒ@U@UhTUg@Ug@Ud`@U]U]U-@U+Ut@T@T Tи@Tи@T@T*@TZ@dmueller@suse.commliska@suse.czdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.comdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.compsimons@suse.commimi.vx@gmail.comschwab@suse.deschwab@suse.deptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.comschwab@suse.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.comguillaume.gardet@opensuse.orgguillaume.gardet@opensuse.orgptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commmanu84@outlook.depsimons@suse.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commeissner@suse.competer.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.deschwab@suse.desbahling@suse.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.dero@suse.demimi.vx@gmail.comro@suse.dero@suse.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.de- add ghc.keyring to have source validation enabled - limit to use llvm12 for Factory as newer versions are not supported- Remove dependency on binutils-gold as the package will be removed in the future. Gold linker is unmaintained by the upstream project.- add ghc-armv7-VFPv3D16--NEON.patch to use vfpv3-d16 on armv7hl- update to 8.10.7 - drop 4134.patch and refresh ghc-pie.patch * portabilit yfixes * Export some RTS symbols required for static builds of GHC * Fix LLVM version checking logic so it no longer complains about supported LLVM versions. * Fix some RTS crashes on Darwin due to mixing up the closure sizes of the aarch64 and x86-64 backends. * Fix a crash on the non-moving GC due to incorrect logic for calculating the header size for array write barries * Fix a bug in base leading to a high likelihood of space leaks when using lazy bytestrings * Fix some timer races in the RTS possibly manifesting in #18033 and #20132 * Fix a number of bugs affecting the RTS m32 allocator * Fix a bug where code may be unloaded prematurely when using the parallel garbage collector * Fix a bug where the linker may during shutdown unload code before libraries’ atexit handlers have a chance to run * Improve code layout by distiguishing conditional and unconditional branches * Add hs-boot file support for -ddump-minimal-imports * Ensure hs-boot files are built before source files in GHCs -M mode * Fix a long standing GHC API bug affecting clients like HLS where async exceptions used to cancel threads during typechecking would be caught by the Template Haskell evaluator and reported as compile errors * Improve error messages when looking up packages fails * Fix a number of quirks in GC accounting * Fix a code generation bug which could result in entry of unlifted objects in some programs using unboxed sums * Ensure that POSIX signals are not delivered to the ticker thread when using the pthread itimer implementation. * Fix a specialiser bug which could result in the construction of recursive dictionaries in some programs * Bump containers to 0.6.4.1 * Do not treat -Winferred-safe-imports warnings as errors. * Fix a bug where typechecker plugins could be run with an inconsistent typechecker environment * Fix a simplifier bug which lead to an exponential blow up and excessive memory usage in certain cases- add 4134.patch to fix build with Sphinx4- always build against llvm9, also on SLE15 (suse_version == 1500) otherwise the resulting build is not working (llvm is 7.x there) (bsc#1181571)- update to 8.10.4 * Fix a crash caused by inappropriate garbage of heap-allocated data reachable from foreign exports- update to 8.10.3 * More robust support for architectures with weak memory ordering guarantees (e.g. modern ARM hardware). * GHC can now split dynamic objects to accomodate macOS' RPATH size limitation when building large projects (#14444) * Several correctness bugs in the new low-latency garbage collector * Many, many other bug-fixes))- disable %{ix86} build- force multiversion for subpackages- add --enable-unregistered to configure phase on unregistered architectures- update to 8.10.2 * Fixes a code generation bug resulting in incorrect code generation for foreign calls with complex arguments * Fixes a bug causing object merging to fail when the lld linker is in use * Introduces a workaround for a Linux kernel bug in the implementation of the timerfd mechanism * Fixes a few specialiser regressions as well introduces a variety of miscellaneous specialiser improvements * Fixes a potential loss of sharing due to left operator sections * Fix bootstrapping of GHC with the LLVM backend on x86-64 * few important correctness fixes for the low-latency garbage collector.- cleanup specfile from Leap 42 and older remrants - drop fix-unregisterised-v8.4-8.6.patch - drop fix-build-using-unregisterized-v8.4.patch- Update ghc to version 8.10.1. Important changes are: * The UnliftedNewtypes extension, allowing newtypes to be wrap types of kind other than Type. * The StandaloneKindSignatures extension, allowing explicit signatures on type constructors. * A new, low-latency garbage collector for the oldest generation. Please refer to the compiler documentation for all details: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html- update to 8.8.3 * a compiler panic due to over-zealous eta reduction * the ability to bootstrap with earlier 8.8 releases has been restored * the directory submodule has been updated * the process submodule has been updated- Increase memory limit for qemu user-space builds- Fix typo in last change- use ghc-bootstrap-helpers on all archs - lower build env requirements on riscv64 * make sure we can build on smaller systems * adjust parallelism so we don't hog big workers for almost a week * many thanks to Stefan Bruens for pointing out the issue and helping with the solution- Update _constraints for aarch64- drop 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fixed upstream - drop D5212.patch * fixed upstream - drop fix-build-using-unregisterized-v8.4.patch * bootstrap compiler is 8.6.5 now - refresh fix-unregisterised-v8.4-8.6.patch - clean up spec file- update to 8.8.2 * A bug (Issue #17088) in the compacting garbage collector resulting in segmentation faults under specific circumstances. Note that this may affect user programs even if they did not explicitly request the compacting GC (using the -c RTS flag) since GHC may fallback to compacting collection during times of high memory pressure. * A code generator bug (Issue #17334) resulting in GHC panics has been fixed. * A typechecker bug (Issue #17112) resulting in GHC panicking on some programs has been fixed. * A bug (Issue #16707) in the implementation of software transactional memory potentially resulting in hanging transactions has been fixed. * A bug in the implementation of compact normal forms resulting in segmentation faults in some uses (Issue #17044) has been fixed.- add fix-unregisterised-v8.4-8.6.patch * fix build on s390x and riscv64- refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - enable riscv64- use prebuilt alex and happy on Tumbleweed to avoid buildcycle - Don't require llvm in ghc-compiler for other architectures than arm- update to 8.8.1 -new stable release - refresh Disable-unboxed-arrays.patch - drop allow-riscv-and-riscv64-CPU.patch - merged in upstream- add fix-build-using-unregisterized-v8.4.patch * fixes unregisterised builds when bootstrap compiler is GHC 8.4 * fixes build on s390x- Enable build on riscv64 - Add memory constraints for riscv64, restrict to 2 jobs - allow-riscv-and-riscv64-CPU.patch: recognize riscv64 as architecture - Apply Disable-unboxed-arrays.patch also on s390x- update to 8.6.5 * A build system issue where use of GCC with -flto broke configure was fixed- really bump llvm5 to llvm6 requires for ghc-compiler- bump llvm req to llvm6- update to 8.6.4 * A bug wherein changes in default method definitions would fail to trigger recompilation has been fixed * A bug wherein plugins would fail to lookup names not in scope in the module being compiled has been fixed * A bug where some programs involving StaticData would be rejected with either a typechecking error or internal compiler error has been fixed * A bug where compilation on Windows can fail with linker errors referring to __chkstk_ms has been fixed- use python3-Sphinx instead deprecated python-sphinx [boo#1119686]- update to 8.6.3 * A code generation bug resulting in segmentations faults in some programs * bug leading to programs with deep stacks crashing when run with retainer profiling enabled * A bug resulting in potential heap corruption during stable name allocation * Plugins are now loaded during GHCi sessions- dont require memory-constraints on older distros - dropped reproducible-tmp-names.patch- update to 8.6.2 * Several compiler panics observed in GHC 8.6.1 have been fixed * An integer overflow, resulting in some encodeFloat uses returning incorrect results, has been fixed * A long-standing bug in the LLVM code generator, resulting in incorrect floating point evaluation, has been fixed. * A long-standing bug exposed in GHC 8.6.1, has been fixed. This issue resulted in undefined runtime behavior with some uses of the dataToTag# primop. Note that this issue, while less likely to manifest, has existed in some form in all GHC releases prior to this release and may result in silent, incorrect evaluation.- Make use of memory-constraints to avoid OOM errors- Remove forced 'make -j2' for aarch64 and %arm- add Disable-unboxed-arrays.patch * apply on ppc64 only * fixes ppc64 build - add D5212.patch * fix GHCi on big endian platforms- cleanup * remove unused conditional in configure command- update to 8.6.1 - add 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fix __atomic_builtin detection * upstream commit ce3897ff - drop add_armv6l_and_armv7l_target.patch * fixed upstream - drop fix-ppc64le-recognition.patch * fixed upstream - drop fix-build-using-unregisterized-v8.2.patch * bootstrap with 8.4.3 works w/o this patch - refresh ghc-pie.patch - refresh ghc-8.0.2-Cabal-dyndir.patch - refresh buildpath-abi-stability.patch- Add fix-build-using-unregisterized-v8.2.patch * Fix build on s390x- Fix armv6 build by adding armv6l to llvm-targets: * change add_armv7l_target.patch to add_armv6l_and_armv7l_target.patch- Cosmetic: replace tabs with blanks, strip trailing white space, and update copyright headers with spec-cleaner.- Fix dependencies on arm and s390x- add fix-ppc64le-recognition.patch * recognize powerpc64le as PPC64 in cabal files- update to 8.4.3 * code generation for UnboxedSum fixed * compatibility withe newer binutils (as) * Cabal issue with abi-depends fixed- Fix build for older openSUSE - Don't do selfbootstrapping * Cuts down build time roughly in half- Fix armv7 build by adding armv7l to llvm-targets: * add_armv7l_target.patch- update to 8.4.2 - drop 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fixed upstream - drop 0001-PPC-Implement-Atomic-operations.patch * fixed upstream - drop 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * fixed upstream - drop D4089.patch * fixed upstream- fix BuildRequires for llvm- use %license macro as used by new ghc-rpm-macros- refresh ghc-pie.patch so it applies cleanly- reintroduce ghc-pie.patch (pure upstreams don't work)- update to 8.2.2 - Several important correctness issues fixing potential runtime crashes - A correctness issue leading to undefined behavior in some programs making use of STMa fixed - A runtime system bug which may have manifested as a segmentation fault under low-memory conditions fixed - ghc-pkg now works correctly ihn environments with misconfigured NFS mounts - GHC can now produce position-independent executables - Significantly improved type errors - refresh reproducible-tmp-names.patch - drop ghc-pie.patch fixed upstream- update to 8.2.1 - improved compiler performance - reliable DWARF debugging information on x86_64 and i386 - aarch64: registerised through LLVM backend (experimental) - optimized build for platforms with LLVM backend (arm, aarch64) - improved performance on NUMA systems - interface file determinism - various language improvements - update _constraints * ppc64le builds need less memory since 8.2.1 - drop support for ppc and s390 - drop ghc-no-madv-free.patch fixed upstream - drop 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - refresh reproducible-tmp-names.patch - refresh 0001-PPC-Implement-Atomic-operations.patch - refresh D4089.patch- add D4089.patch * fix GHCi issue on ppc64 * see Haskell Trac #11262- add 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * add missing memory barriers on atomic read/write ops * fixes upstream ticket #14244 - adjust comment for patch 32 * the situation with upstream #12537 is improved but not solved. Patch 32, however, is correct. There are even more memory barriers missing elsewhere in the compiler.- add 0001-PPC-Implement-Atomic-operations.patch * fixes parallel programs on all PowerPC platforms * uptream ticket #12537 - refresh buildpath-abi-stability.patch- make compatible with new upstream macros - added patches for more stable abi: * buildpath-abi-stability.patch * reproducible-tmp-names.patch- enable for global PIE support: - the compiler is built without PIE support due to the bootstrap libraries being non-PIE using BuildIgnore: gcc-PIE - the compiler itself builds -fPIC objects all the time, which should make all ghc compiled binaries be PIE. - ghc-pie.patch: enable default -fPIC on Linux/x86_64- comment for patch 100 - refresh ghc-no-madv-free.patch with upstream patch * upstream fix for Haskell Trac #12865 * Haskell Trac #12495 is a duplicate- update to 8.0.2 - drop patches merged by upstream: * D2495.patch - refreshed patches: * 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * 0001-StgCmmPrim-Add-missing-write-barrier.patch * ghc-no-madv-free.patch - added ghc-8.0.2-Cabal-dynlibdir.patch by Jens Petersen simplifing haskell packaging + Interface files produced by GHC should now be deterministic ( boo#998972 ) + A bug has been fixed that caused standalone derived Ix instances to fail for GADTs with exactly one constructor + Compatibility fixes recent Linux distributions.- drop D2844.patch * the patch causes more issues with parallel builds - fixes boo#1020909- add D2844.patch * fix issues with parallel builds- make compatible with new ghc-rpm-macros- update to 8.0.1 - drop patches fixed upstream: * drop atomic-cast.patch * drop cabal-show-detail-direct.patch * drop 0001-link-command-line-libs-to-temp-so.patch * drop 0001-implement-native-code-generator-for-ppc64.patch * drop ghc.git-b29f20.patch * drop u_terminfo_0402.patch * drop u_Cabal_update.patch * drop u_haskeline_update.patch * drop 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * drop D2214.patch * drop D2225.patch - refresh 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch - add ghc-no-madv-free.patch to fix "unable to decommit memory: Invalid argument" errors GHC reports due to a misdetected MADV_FREE capability. The configure script sees the symbol define by glibc, but unfortunately this doesn't mean that the running kernel actually supports the feature, too. The upstream ticket https://ghc.haskell.org/trac/ghc/ticket/12495 has more details. Thanks to @psimons - GHC produces debug information on x86 and x86_64 - aarch64 has LLVM backend (requires llvm-3.7) - native code generator for powerpc64[le] (openSUSE contribution!) - disable html doc on SLE, we don't have python-sphinx * Thanks @mimi_vx- add D2495.patch * missing memory barrier on PowerPC, ARM - add 0001-StgCmmPrim-Add-missing-write-barrier.patch * another issing memory barrier on PowerPC, ARM - add 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fix bug in code generator * fixes build of ghc-zeromq4-haskell on powerpc64[le]- fix boo#994268- add D2225.patch * backport of upstream patch accepted for ghc 8.0.1 * fix SMP primitives on all powerpc archs- add D2214.patch * backport of upstream patch slated for ghc 8.0.2 * fix issue in code PowerPC code generator (32 bit and 64 bit) - add 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * backport of upstream fix slated for ghc 8.0.2 * fix bytestring library on big-endian archs * fix wrong results in ghc-pureMD5 and others on big-endian- update haskeline to 0.7.2.3 - refresh u_haskeline_update.patch * Fix hsc2hs-related warning on ghc-8 * Fix the behavior of ctrl-W in the emacs bindings * Point to github instead of trac- update Cabal to 1.22.8.0 - refresh u_Cabal_update.patch * Distribution.Simple.Setup: remove job cap * Check all object file suffixes for recompilation * Move source files under 'src/'.- limit parallel jobs to two on aarch64 * aarch64 runs out of memory with too many parallel compiles- add missing C library dependency to terminfo devel package- update haskeline to 0.7.2.2 - add u_haskeline_update.patch * canonicalize AMP instances to make the code more future proof * Generalize constraints for InputT instances * Bump upper bounds on base and transformers * Make Haskeline `-Wtabs` clean- update Cabal to 1.22.7.0 - refresh u_Cabal_update.patch * Backport #3012 to the 1.22 branch * Add foldl' import * The Cabal part for fully gcc-like response files- update tarball to 7.10.3b * some documentation files were missing in the original 7.10.3 tarball - add 0001-link-command-line-libs-to-temp-so.patch * fix panic in GHCi when linking against C library specified as command line argument (-l) * currently under upstream review * fix Haskell trac #10458- update Cabal to 1.22.6.0 - add u_Cabal_update.patch -- update of Cabal * Relax upper bound to allow upcoming binary-0.8- update terminfo to 0.4.0.2 - drop remove-cur_term-usage.patch - merged by upstream - add u_terminfo_0402.patch -- update of terminfo- update Cabal to 1.22.5.0 * Don't recompile C sources unless needed * Support Haddock response files. * Add frameworks when linking a dynamic library.- use upstream variant of remove-cur_term-usage.patch- update to 7.10.3 - add cabal-show-detail-direct.patch -- Fix testsuites with large output. Debian patch. Thanks Joachim for suggesting it in Haskell #10870! - add ghc.git-b29f20.patch * fixes upstream #7830 * fix ghc 7.10.2 failing to bootstrap ghc head on ppc and perhaps ppc64 with some optimizations enabled * backport of my patch for upcoming ghc 8.0.1- atomic-cast.patch: fix signature of atomic bultins - ghc-7.8-arm-use-ld-gold.patch: remove obsolete patch- Remove ncurses6.patch - it's not so easy ;) - Add remove-cur_term-usage.patch to remove the need to access the cur_term global which isn't available in the openSUSE ncurses6 build.- Add choice for libffi in openSUSE:Leap:42.1- remove llvm from requires - add ncurses6.patch to fix build with ncurses6, all thanks goes to Tomas Cech sleep_walker@opensuse.org- update to 7.10.2 * type checker fixes * fixes for Aarch64 support * fix deadlock in runtime system when scheduling garbage collection - 7.10.1 highlights * implement Applicative Monad Proposal * implement Burning Bridges Proposal * support for partial type signatures * reimplement integer-gmp * support plugins in type checker (experimental!) - drop llvm-powerpc64-datalayout.patch * this patch was incomplete all along and now we have our native code generator - drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros is following ghc's doc layout so no need to patch - drop D349.patch * fixed upstream - drop integer-gmp.patch * we do not support SLE11 anymore - drop ghc-7.8.2-cgen-constify.patch * fixed upstream - drop D560.patch * fixed upstream - drop ghc-glibc-2.20_BSD_SOURCE.patch * fixed upstream - drop ghc-arm64.patch * fixed upstream - drop ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * fixed upstream - refresh 0001-implement-native-code-generator-for-ppc64.patch - disable ghc-7.8-arm-use-ld-gold.patch * not sure we need this, must be rebased if we do- add ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * enable SMP and GHCi on Aarch64 - add ghc-7.8-arm-use-ld-gold.patch * Aarch64 needs gold linker- refresh ghc-arm64.patch - unconditionally apply ghc-arm64.patch- add backport of powerpc64le native code generator to 0001-implement-native-code-generator-for-ppc64.patch - refresh D349.patch- on s390/s390x use "make -j2" to stabilize abi hashes (see also redhat bug 1212374)- disable llvm on arm64- re-diffed ghc-arm64.patch- add ghc-arm64.patch for aarch64 - add aarch64, s390, s390x to ExclusiveArch- remove unneeded conditions- chnage constraints to 12G for disk and 4G for ram- add ghc-glibc-2.20_BSD_SOURCE.patch * fixes build on unregisterised architectures (openSUSE: ppc64le)- drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros follows upstream ghc again+ add ghc-glibc-2.20_BSD_SOURCE.patch from fedora - updated to 7.8.4 + removed D177.patch (in upstream) + removed D173.patch (in upstream) + removed ghc.git-e18525f.patch (in upstream) + refresh 0001-implement-native-code-generator-for-ppc64.patch * A critical bug in the LLVM backend which would cause the compiler to generate incorrect code has been fixed (issue #9439). * Several bugs in the code generator have been fixed for unregisterised platforms, such as 64bit PowerPC (issue #8819 and #8849). * A bug that could cause GHC's constructor specialization pass (enabled by default at -O2, or via -fspec-constr) to loop forever and consume large amounts of memory has been fixed (issue #8960). * A bug that would cause GHC to fail when attempting to determine GCC's version information in non-english locales has been fixed (issue #8825). * A minor bug that allowed GHC to seemingly import (but not use) private data constructors has been fixed (issue #9006). * A bug in the register allocator which would cause GHC to crash during compilation has been fixed (issue #9303). * A bug that caused the compiler to panic on some input C-- code has been fixed (issue #9329). * A few various minor deadlocks in the runtime system when using forkProcess have been fixed. * A bug which made blocked STM transactions non-interruptible has been fixed (issue #9379). * A bug in the compiler which broke pattern synonym imports across modules in Haddock has been fixed (issue #9417). * A minor bug in the code generator in which the popCnt16# did not zero-extend its result has been fixed (issue #9435). * A bug which caused the compiler to panic on pattern synonyms inside a class declaration has been fixed (issue #9705). * A bug in the typechecker revolving around un-saturated type family applications has been fixed (issue #9433). * Several bugs have been fixed causing problems with building GHC on ARM (issues #8951, #9620, #9336, and #9552). * A bug in the typechecker that could cause an infinite loop when using superclasses in a cycle has been fixed (issue #9415). * A bug causing corruption in signal handling with the single-threaded runtime system has been fixed (issue #9817). * A bug that could cause compiled programs to crash due to use of overlapping type families has been fixed (issue #9371). * A bug in the inliner that caused certain expressions within unboxed tuples to not be properly evaluated has been fixed (issue #9390). * A bug that caused the compiler to not always properly detect LLVM tools (particularly on Windows) has been fixed (issue #7143). * A bug that prevented GHC from deriving Generic1 instances for data families has been fixed (#9563). * A bug that caused type inference to infer the incorrect type in the presence of certain type families and constraints has been fixed (issue #9316).- add constraints file- remove dblatex dependency- add patch 0001-implement-native-code-generator-for-ppc64.patch * native code generation improved compilation speed * fewer errors in testsuite than with C back end- add patch D560.patch * fixes dynamic linking on ppc * see https://phabricator.haskell.org/D560 * this is a back port of the upstream patch- add patch D349.patch * fix a crash with dynamic linking in GHCi when accessing the process environment * our patch has been submitted upstream * see https://phabricator.haskell.org/D349/bin/sh/bin/shsheep69 1687541034  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.2.1.0-150500.3.2.53.2.1.0-150500.3.2.5        !!!""""""""""""""""""""""""""""""""""""###$%%%&'((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((DistributionBackpackBackpack.dyn_hiBackpack.hiBackpack.p_hiComponentsGraph.dyn_hiComponentsGraph.hiComponentsGraph.p_hiConfigure.dyn_hiConfigure.hiConfigure.p_hiConfiguredComponent.dyn_hiConfiguredComponent.hiConfiguredComponent.p_hiDescribeUnitId.dyn_hiDescribeUnitId.hiDescribeUnitId.p_hiFullUnitId.dyn_hiFullUnitId.hiFullUnitId.p_hiId.dyn_hiId.hiId.p_hiLinkedComponent.dyn_hiLinkedComponent.hiLinkedComponent.p_hiMixLink.dyn_hiMixLink.hiMixLink.p_hiModSubst.dyn_hiModSubst.hiModSubst.p_hiModuleScope.dyn_hiModuleScope.hiModuleScope.p_hiModuleShape.dyn_hiModuleShape.hiModuleShape.p_hiPreExistingComponent.dyn_hiPreExistingComponent.hiPreExistingComponent.p_hiPreModuleShape.dyn_hiPreModuleShape.hiPreModuleShape.p_hiReadyComponent.dyn_hiReadyComponent.hiReadyComponent.p_hiUnifyM.dyn_hiUnifyM.hiUnifyM.p_hiCabalSpecVersion.dyn_hiCabalSpecVersion.hiCabalSpecVersion.p_hiCompatAsync.dyn_hiAsync.hiAsync.p_hiBinary.dyn_hiBinary.hiBinary.p_hiCharParsing.dyn_hiCharParsing.hiCharParsing.p_hiCopyFile.dyn_hiCopyFile.hiCopyFile.p_hiCreatePipe.dyn_hiCreatePipe.hiCreatePipe.p_hiDList.dyn_hiDList.hiDList.p_hiDirectory.dyn_hiDirectory.hiDirectory.p_hiEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiException.dyn_hiException.hiException.p_hiFilePath.dyn_hiFilePath.hiFilePath.p_hiGetShortPathName.dyn_hiGetShortPathName.hiGetShortPathName.p_hiGraph.dyn_hiGraph.hiGraph.p_hiInternalTempFile.dyn_hiTempFile.hiTempFile.p_hiLens.dyn_hiLens.hiLens.p_hiMonadFail.dyn_hiMonadFail.hiMonadFail.p_hiNewtype.dyn_hiNewtype.hiNewtype.p_hiParsing.dyn_hiParsing.hiParsing.p_hiPreludePrelude.dyn_hiPrelude.hiPrelude.p_hiInternal.dyn_hiInternal.hiInternal.p_hiProcess.dyn_hiProcess.hiProcess.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiSemigroup.dyn_hiSemigroup.hiSemigroup.p_hiSnocList.dyn_hiSnocList.hiSnocList.p_hiStack.dyn_hiStack.hiStack.p_hiTime.dyn_hiTime.hiTime.p_hiTypeable.dyn_hiTypeable.hiTypeable.p_hiCompiler.dyn_hiCompiler.hiCompiler.p_hiFieldGrammarFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiClass.dyn_hiClass.hiClass.p_hiFieldDescrs.dyn_hiFieldDescrs.hiFieldDescrs.p_hiParsec.dyn_hiParsec.hiParsec.p_hiPretty.dyn_hiPretty.hiPretty.p_hiFieldsFields.dyn_hiFields.hiFields.p_hiConfVar.dyn_hiConfVar.hiConfVar.p_hiField.dyn_hiField.hiField.p_hiLexer.dyn_hiLexer.hiLexer.p_hiLexerMonad.dyn_hiLexerMonad.hiLexerMonad.p_hiParseResult.dyn_hiParseResult.hiParseResult.p_hiParser.dyn_hiParser.hiParser.p_hiPretty.dyn_hiPretty.hiPretty.p_hiGetOpt.dyn_hiGetOpt.hiGetOpt.p_hiInstalledPackageInfo.dyn_hiInstalledPackageInfo.hiInstalledPackageInfo.p_hiLex.dyn_hiLex.hiLex.p_hiLicense.dyn_hiLicense.hiLicense.p_hiMake.dyn_hiMake.hiMake.p_hiModuleName.dyn_hiModuleName.hiModuleName.p_hiPackage.dyn_hiPackage.hiPackage.p_hiPackageDescriptionPackageDescription.dyn_hiPackageDescription.hiPackageDescription.p_hiCheck.dyn_hiCheck.hiCheck.p_hiConfiguration.dyn_hiConfiguration.hiConfiguration.p_hiFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiParsec.dyn_hiParsec.hiParsec.p_hiPrettyPrint.dyn_hiPrettyPrint.hiPrettyPrint.p_hiQuirks.dyn_hiQuirks.hiQuirks.p_hiUtils.dyn_hiUtils.hiUtils.p_hiParsecParsec.dyn_hiParsec.hiParsec.p_hiError.dyn_hiError.hiError.p_hiFieldLineStream.dyn_hiFieldLineStream.hiFieldLineStream.p_hiNewtypes.dyn_hiNewtypes.hiNewtypes.p_hiPosition.dyn_hiPosition.hiPosition.p_hiWarning.dyn_hiWarning.hiWarning.p_hiPretty.dyn_hiPretty.hiPretty.p_hiReadE.dyn_hiReadE.hiReadE.p_hiSPDXSPDX.dyn_hiSPDX.hiSPDX.p_hiLicense.dyn_hiLicense.hiLicense.p_hiLicenseExceptionId.dyn_hiLicenseExceptionId.hiLicenseExceptionId.p_hiLicenseExpression.dyn_hiLicenseExpression.hiLicenseExpression.p_hiLicenseId.dyn_hiLicenseId.hiLicenseId.p_hiLicenseListVersion.dyn_hiLicenseListVersion.hiLicenseListVersion.p_hiLicenseReference.dyn_hiLicenseReference.hiLicenseReference.p_hiSimpleSimple.dyn_hiSimple.hiSimple.p_hiBench.dyn_hiBench.hiBench.p_hiBuildBuild.dyn_hiBuild.hiBuild.p_hiMacros.dyn_hiMacros.hiMacros.p_hiPathsModule.dyn_hiPathsModule.hiPathsModule.p_hiBuildPaths.dyn_hiBuildPaths.hiBuildPaths.p_hiBuildTarget.dyn_hiBuildTarget.hiBuildTarget.p_hiBuildToolDepends.dyn_hiBuildToolDepends.hiBuildToolDepends.p_hiCCompiler.dyn_hiCCompiler.hiCCompiler.p_hiCommand.dyn_hiCommand.hiCommand.p_hiCompiler.dyn_hiCompiler.hiCompiler.p_hiConfigure.dyn_hiConfigure.hiConfigure.p_hiDoctest.dyn_hiDoctest.hiDoctest.p_hiFlag.dyn_hiFlag.hiFlag.p_hiGHCGHC.dyn_hiGHC.hiGHC.p_hiEnvironmentParser.dyn_hiEnvironmentParser.hiEnvironmentParser.p_hiImplInfo.dyn_hiImplInfo.hiImplInfo.p_hiInternal.dyn_hiInternal.hiInternal.p_hiGHCJS.dyn_hiGHCJS.hiGHCJS.p_hiGlob.dyn_hiGlob.hiGlob.p_hiHaddock.dyn_hiHaddock.hiHaddock.p_hiHaskellSuite.dyn_hiHaskellSuite.hiHaskellSuite.p_hiHpc.dyn_hiHpc.hiHpc.p_hiInstall.dyn_hiInstall.hiInstall.p_hiInstallDirsInstallDirs.dyn_hiInstallDirs.hiInstallDirs.p_hiInternal.dyn_hiInternal.hiInternal.p_hiLocalBuildInfo.dyn_hiLocalBuildInfo.hiLocalBuildInfo.p_hiPackageIndex.dyn_hiPackageIndex.hiPackageIndex.p_hiPreProcessPreProcess.dyn_hiPreProcess.hiPreProcess.p_hiUnlit.dyn_hiUnlit.hiUnlit.p_hiProgramProgram.dyn_hiProgram.hiProgram.p_hiAr.dyn_hiAr.hiAr.p_hiBuiltin.dyn_hiBuiltin.hiBuiltin.p_hiDb.dyn_hiDb.hiDb.p_hiFind.dyn_hiFind.hiFind.p_hiGHC.dyn_hiGHC.hiGHC.p_hiHcPkg.dyn_hiHcPkg.hiHcPkg.p_hiHpc.dyn_hiHpc.hiHpc.p_hiInternal.dyn_hiInternal.hiInternal.p_hiLd.dyn_hiLd.hiLd.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiRun.dyn_hiRun.hiRun.p_hiScript.dyn_hiScript.hiScript.p_hiStrip.dyn_hiStrip.hiStrip.p_hiTypes.dyn_hiTypes.hiTypes.p_hiRegister.dyn_hiRegister.hiRegister.p_hiSetup.dyn_hiSetup.hiSetup.p_hiShowBuildInfo.dyn_hiShowBuildInfo.hiShowBuildInfo.p_hiSrcDist.dyn_hiSrcDist.hiSrcDist.p_hiTestTest.dyn_hiTest.hiTest.p_hiExeV10.dyn_hiExeV10.hiExeV10.p_hiLibV09.dyn_hiLibV09.hiLibV09.p_hiLog.dyn_hiLog.hiLog.p_hiUHC.dyn_hiUHC.hiUHC.p_hiUserHooks.dyn_hiUserHooks.hiUserHooks.p_hiUtilsUtils.dyn_hiUtils.hiUtils.p_hiJson.dyn_hiJson.hiJson.p_hiSystem.dyn_hiSystem.hiSystem.p_hiTestSuite.dyn_hiTestSuite.hiTestSuite.p_hiText.dyn_hiText.hiText.p_hiTypesAbiDependency.dyn_hiAbiDependency.hiAbiDependency.p_hiAbiHash.dyn_hiAbiHash.hiAbiHash.p_hiAnnotatedId.dyn_hiAnnotatedId.hiAnnotatedId.p_hiBenchmarkBenchmark.dyn_hiBenchmark.hiBenchmark.p_hiLens.dyn_hiLens.hiLens.p_hiBenchmarkInterface.dyn_hiBenchmarkInterface.hiBenchmarkInterface.p_hiBenchmarkType.dyn_hiBenchmarkType.hiBenchmarkType.p_hiBuildInfoBuildInfo.dyn_hiBuildInfo.hiBuildInfo.p_hiLens.dyn_hiLens.hiLens.p_hiBuildType.dyn_hiBuildType.hiBuildType.p_hiComponent.dyn_hiComponent.hiComponent.p_hiComponentId.dyn_hiComponentId.hiComponentId.p_hiComponentInclude.dyn_hiComponentInclude.hiComponentInclude.p_hiComponentLocalBuildInfo.dyn_hiComponentLocalBuildInfo.hiComponentLocalBuildInfo.p_hiComponentName.dyn_hiComponentName.hiComponentName.p_hiComponentRequestedSpec.dyn_hiComponentRequestedSpec.hiComponentRequestedSpec.p_hiCondTree.dyn_hiCondTree.hiCondTree.p_hiCondition.dyn_hiCondition.hiCondition.p_hiConfVar.dyn_hiConfVar.hiConfVar.p_hiDependency.dyn_hiDependency.hiDependency.p_hiDependencyMap.dyn_hiDependencyMap.hiDependencyMap.p_hiExeDependency.dyn_hiExeDependency.hiExeDependency.p_hiExecutableExecutable.dyn_hiExecutable.hiExecutable.p_hiLens.dyn_hiLens.hiLens.p_hiExecutableScope.dyn_hiExecutableScope.hiExecutableScope.p_hiExposedModule.dyn_hiExposedModule.hiExposedModule.p_hiFlag.dyn_hiFlag.hiFlag.p_hiForeignLibForeignLib.dyn_hiForeignLib.hiForeignLib.p_hiLens.dyn_hiLens.hiLens.p_hiForeignLibOption.dyn_hiForeignLibOption.hiForeignLibOption.p_hiForeignLibType.dyn_hiForeignLibType.hiForeignLibType.p_hiGenericPackageDescriptionGenericPackageDescription.dyn_hiGenericPackageDescription.hiGenericPackageDescription.p_hiLens.dyn_hiLens.hiLens.p_hiGivenComponent.dyn_hiGivenComponent.hiGivenComponent.p_hiHookedBuildInfo.dyn_hiHookedBuildInfo.hiHookedBuildInfo.p_hiIncludeRenaming.dyn_hiIncludeRenaming.hiIncludeRenaming.p_hiInstalledPackageInfoInstalledPackageInfo.dyn_hiInstalledPackageInfo.hiInstalledPackageInfo.p_hiFieldGrammar.dyn_hiFieldGrammar.hiFieldGrammar.p_hiLens.dyn_hiLens.hiLens.p_hiLegacyExeDependency.dyn_hiLegacyExeDependency.hiLegacyExeDependency.p_hiLens.dyn_hiLens.hiLens.p_hiLibraryLibrary.dyn_hiLibrary.hiLibrary.p_hiLens.dyn_hiLens.hiLens.p_hiLibraryName.dyn_hiLibraryName.hiLibraryName.p_hiLibraryVisibility.dyn_hiLibraryVisibility.hiLibraryVisibility.p_hiLocalBuildInfo.dyn_hiLocalBuildInfo.hiLocalBuildInfo.p_hiMixin.dyn_hiMixin.hiMixin.p_hiModule.dyn_hiModule.hiModule.p_hiModuleReexport.dyn_hiModuleReexport.hiModuleReexport.p_hiModuleRenaming.dyn_hiModuleRenaming.hiModuleRenaming.p_hiMungedPackageId.dyn_hiMungedPackageId.hiMungedPackageId.p_hiMungedPackageName.dyn_hiMungedPackageName.hiMungedPackageName.p_hiPackageDescriptionPackageDescription.dyn_hiPackageDescription.hiPackageDescription.p_hiLens.dyn_hiLens.hiLens.p_hiPackageIdPackageId.dyn_hiPackageId.hiPackageId.p_hiLens.dyn_hiLens.hiLens.p_hiPackageNamePackageName.dyn_hiPackageName.hiPackageName.p_hiMagic.dyn_hiMagic.hiMagic.p_hiPackageVersionConstraint.dyn_hiPackageVersionConstraint.hiPackageVersionConstraint.p_hiPkgconfigDependency.dyn_hiPkgconfigDependency.hiPkgconfigDependency.p_hiPkgconfigName.dyn_hiPkgconfigName.hiPkgconfigName.p_hiPkgconfigVersion.dyn_hiPkgconfigVersion.hiPkgconfigVersion.p_hiPkgconfigVersionRange.dyn_hiPkgconfigVersionRange.hiPkgconfigVersionRange.p_hiSetupBuildInfoSetupBuildInfo.dyn_hiSetupBuildInfo.hiSetupBuildInfo.p_hiLens.dyn_hiLens.hiLens.p_hiSourceRepoSourceRepo.dyn_hiSourceRepo.hiSourceRepo.p_hiLens.dyn_hiLens.hiLens.p_hiTargetInfo.dyn_hiTargetInfo.hiTargetInfo.p_hiTestSuiteTestSuite.dyn_hiTestSuite.hiTestSuite.p_hiLens.dyn_hiLens.hiLens.p_hiTestSuiteInterface.dyn_hiTestSuiteInterface.hiTestSuiteInterface.p_hiTestType.dyn_hiTestType.hiTestType.p_hiUnitId.dyn_hiUnitId.hiUnitId.p_hiUnqualComponentName.dyn_hiUnqualComponentName.hiUnqualComponentName.p_hiVersion.dyn_hiVersion.hiVersion.p_hiVersionInterval.dyn_hiVersionInterval.hiVersionInterval.p_hiVersionRangeVersionRange.dyn_hiVersionRange.hiVersionRange.p_hiInternal.dyn_hiInternal.hiInternal.p_hiUtilsBase62.dyn_hiBase62.hiBase62.p_hiGeneric.dyn_hiGeneric.hiGeneric.p_hiIOData.dyn_hiIOData.hiIOData.p_hiLogProgress.dyn_hiLogProgress.hiLogProgress.p_hiMD5.dyn_hiMD5.hiMD5.p_hiMapAccum.dyn_hiMapAccum.hiMapAccum.p_hiNubList.dyn_hiNubList.hiNubList.p_hiProgress.dyn_hiProgress.hiProgress.p_hiShortText.dyn_hiShortText.hiShortText.p_hiString.dyn_hiString.hiString.p_hiStructured.dyn_hiStructured.hiStructured.p_hiUnionFind.dyn_hiUnionFind.hiUnionFind.p_hiVerbosityVerbosity.dyn_hiVerbosity.hiVerbosity.p_hiInternal.dyn_hiInternal.hiInternal.p_hiVersion.dyn_hiVersion.hiVersion.p_hiHSCabal-3.2.1.0.oHSCabal-3.2.1.0.p_oLanguageHaskellExtension.dyn_hiExtension.hiExtension.p_hiPaths_Cabal.dyn_hiPaths_Cabal.hiPaths_Cabal.p_hilibHSCabal-3.2.1.0.alibHSCabal-3.2.1.0_p.aCabal-3.2.1.0.confCabal-3.2.1.0Cabal.haddockCabal.txtDistribution-Backpack-ComponentsGraph.htmlDistribution-Backpack-Configure.htmlDistribution-Backpack-ConfiguredComponent.htmlDistribution-Backpack-DescribeUnitId.htmlDistribution-Backpack-FullUnitId.htmlDistribution-Backpack-LinkedComponent.htmlDistribution-Backpack-ModSubst.htmlDistribution-Backpack-ModuleShape.htmlDistribution-Backpack-PreModuleShape.htmlDistribution-Backpack.htmlDistribution-CabalSpecVersion.htmlDistribution-Compat-Binary.htmlDistribution-Compat-CharParsing.htmlDistribution-Compat-CreatePipe.htmlDistribution-Compat-DList.htmlDistribution-Compat-Directory.htmlDistribution-Compat-Exception.htmlDistribution-Compat-FilePath.htmlDistribution-Compat-Graph.htmlDistribution-Compat-Lens.htmlDistribution-Compat-Newtype.htmlDistribution-Compat-Parsing.htmlDistribution-Compat-Prelude-Internal.htmlDistribution-Compat-Process.htmlDistribution-Compat-ResponseFile.htmlDistribution-Compat-Semigroup.htmlDistribution-Compat-Stack.htmlDistribution-Compat-Time.htmlDistribution-Compat-Typeable.htmlDistribution-Compiler.htmlDistribution-FieldGrammar-Class.htmlDistribution-FieldGrammar-FieldDescrs.htmlDistribution-FieldGrammar-Parsec.htmlDistribution-FieldGrammar-Pretty.htmlDistribution-FieldGrammar.htmlDistribution-Fields-ConfVar.htmlDistribution-Fields-Field.htmlDistribution-Fields-Lexer.htmlDistribution-Fields-LexerMonad.htmlDistribution-Fields-ParseResult.htmlDistribution-Fields-Parser.htmlDistribution-Fields-Pretty.htmlDistribution-Fields.htmlDistribution-InstalledPackageInfo.htmlDistribution-License.htmlDistribution-Make.htmlDistribution-ModuleName.htmlDistribution-Package.htmlDistribution-PackageDescription-Check.htmlDistribution-PackageDescription-Configuration.htmlDistribution-PackageDescription-FieldGrammar.htmlDistribution-PackageDescription-Parsec.htmlDistribution-PackageDescription-PrettyPrint.htmlDistribution-PackageDescription-Quirks.htmlDistribution-PackageDescription-Utils.htmlDistribution-PackageDescription.htmlDistribution-Parsec-Error.htmlDistribution-Parsec-FieldLineStream.htmlDistribution-Parsec-Newtypes.htmlDistribution-Parsec-Position.htmlDistribution-Parsec-Warning.htmlDistribution-Parsec.htmlDistribution-Pretty.htmlDistribution-ReadE.htmlDistribution-SPDX-License.htmlDistribution-SPDX-LicenseExceptionId.htmlDistribution-SPDX-LicenseExpression.htmlDistribution-SPDX-LicenseId.htmlDistribution-SPDX-LicenseListVersion.htmlDistribution-SPDX-LicenseReference.htmlDistribution-SPDX.htmlDistribution-Simple-Bench.htmlDistribution-Simple-Build-Macros.htmlDistribution-Simple-Build-PathsModule.htmlDistribution-Simple-Build.htmlDistribution-Simple-BuildPaths.htmlDistribution-Simple-BuildTarget.htmlDistribution-Simple-BuildToolDepends.htmlDistribution-Simple-CCompiler.htmlDistribution-Simple-Command.htmlDistribution-Simple-Compiler.htmlDistribution-Simple-Configure.htmlDistribution-Simple-Doctest.htmlDistribution-Simple-Flag.htmlDistribution-Simple-GHC.htmlDistribution-Simple-GHCJS.htmlDistribution-Simple-Glob.htmlDistribution-Simple-Haddock.htmlDistribution-Simple-HaskellSuite.htmlDistribution-Simple-Hpc.htmlDistribution-Simple-Install.htmlDistribution-Simple-InstallDirs-Internal.htmlDistribution-Simple-InstallDirs.htmlDistribution-Simple-LocalBuildInfo.htmlDistribution-Simple-PackageIndex.htmlDistribution-Simple-PreProcess-Unlit.htmlDistribution-Simple-PreProcess.htmlDistribution-Simple-Program-Ar.htmlDistribution-Simple-Program-Builtin.htmlDistribution-Simple-Program-Db.htmlDistribution-Simple-Program-Find.htmlDistribution-Simple-Program-GHC.htmlDistribution-Simple-Program-HcPkg.htmlDistribution-Simple-Program-Hpc.htmlDistribution-Simple-Program-Internal.htmlDistribution-Simple-Program-Ld.htmlDistribution-Simple-Program-ResponseFile.htmlDistribution-Simple-Program-Run.htmlDistribution-Simple-Program-Script.htmlDistribution-Simple-Program-Strip.htmlDistribution-Simple-Program-Types.htmlDistribution-Simple-Program.htmlDistribution-Simple-Register.htmlDistribution-Simple-Setup.htmlDistribution-Simple-ShowBuildInfo.htmlDistribution-Simple-SrcDist.htmlDistribution-Simple-Test-ExeV10.htmlDistribution-Simple-Test-LibV09.htmlDistribution-Simple-Test-Log.htmlDistribution-Simple-Test.htmlDistribution-Simple-UHC.htmlDistribution-Simple-UserHooks.htmlDistribution-Simple-Utils.htmlDistribution-Simple.htmlDistribution-System.htmlDistribution-TestSuite.htmlDistribution-Text.htmlDistribution-Types-AbiDependency.htmlDistribution-Types-AbiHash.htmlDistribution-Types-AnnotatedId.htmlDistribution-Types-Benchmark-Lens.htmlDistribution-Types-Benchmark.htmlDistribution-Types-BenchmarkInterface.htmlDistribution-Types-BenchmarkType.htmlDistribution-Types-BuildInfo-Lens.htmlDistribution-Types-BuildInfo.htmlDistribution-Types-BuildType.htmlDistribution-Types-Component.htmlDistribution-Types-ComponentId.htmlDistribution-Types-ComponentInclude.htmlDistribution-Types-ComponentLocalBuildInfo.htmlDistribution-Types-ComponentName.htmlDistribution-Types-ComponentRequestedSpec.htmlDistribution-Types-CondTree.htmlDistribution-Types-Condition.htmlDistribution-Types-ConfVar.htmlDistribution-Types-Dependency.htmlDistribution-Types-DependencyMap.htmlDistribution-Types-ExeDependency.htmlDistribution-Types-Executable-Lens.htmlDistribution-Types-Executable.htmlDistribution-Types-ExecutableScope.htmlDistribution-Types-ExposedModule.htmlDistribution-Types-Flag.htmlDistribution-Types-ForeignLib-Lens.htmlDistribution-Types-ForeignLib.htmlDistribution-Types-ForeignLibOption.htmlDistribution-Types-ForeignLibType.htmlDistribution-Types-GenericPackageDescription-Lens.htmlDistribution-Types-GenericPackageDescription.htmlDistribution-Types-GivenComponent.htmlDistribution-Types-HookedBuildInfo.htmlDistribution-Types-IncludeRenaming.htmlDistribution-Types-InstalledPackageInfo-FieldGrammar.htmlDistribution-Types-InstalledPackageInfo-Lens.htmlDistribution-Types-InstalledPackageInfo.htmlDistribution-Types-LegacyExeDependency.htmlDistribution-Types-Lens.htmlDistribution-Types-Library-Lens.htmlDistribution-Types-Library.htmlDistribution-Types-LibraryName.htmlDistribution-Types-LibraryVisibility.htmlDistribution-Types-LocalBuildInfo.htmlDistribution-Types-Mixin.htmlDistribution-Types-Module.htmlDistribution-Types-ModuleReexport.htmlDistribution-Types-ModuleRenaming.htmlDistribution-Types-MungedPackageId.htmlDistribution-Types-MungedPackageName.htmlDistribution-Types-PackageDescription-Lens.htmlDistribution-Types-PackageDescription.htmlDistribution-Types-PackageId-Lens.htmlDistribution-Types-PackageId.htmlDistribution-Types-PackageName-Magic.htmlDistribution-Types-PackageName.htmlDistribution-Types-PackageVersionConstraint.htmlDistribution-Types-PkgconfigDependency.htmlDistribution-Types-PkgconfigName.htmlDistribution-Types-PkgconfigVersion.htmlDistribution-Types-PkgconfigVersionRange.htmlDistribution-Types-SetupBuildInfo-Lens.htmlDistribution-Types-SetupBuildInfo.htmlDistribution-Types-SourceRepo-Lens.htmlDistribution-Types-SourceRepo.htmlDistribution-Types-TargetInfo.htmlDistribution-Types-TestSuite-Lens.htmlDistribution-Types-TestSuite.htmlDistribution-Types-TestSuiteInterface.htmlDistribution-Types-TestType.htmlDistribution-Types-UnitId.htmlDistribution-Types-UnqualComponentName.htmlDistribution-Types-Version.htmlDistribution-Types-VersionInterval.htmlDistribution-Types-VersionRange-Internal.htmlDistribution-Types-VersionRange.htmlDistribution-Utils-Generic.htmlDistribution-Utils-IOData.htmlDistribution-Utils-LogProgress.htmlDistribution-Utils-MD5.htmlDistribution-Utils-MapAccum.htmlDistribution-Utils-NubList.htmlDistribution-Utils-Progress.htmlDistribution-Utils-ShortText.htmlDistribution-Utils-Structured.htmlDistribution-Verbosity-Internal.htmlDistribution-Verbosity.htmlDistribution-Version.htmlLanguage-Haskell-Extension.htmldoc-index-124.htmldoc-index-33.htmldoc-index-35.htmldoc-index-36.htmldoc-index-37.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-46.htmldoc-index-47.htmldoc-index-58.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-63.htmldoc-index-94.htmldoc-index-95.htmldoc-index-A.htmldoc-index-All.htmldoc-index-B.htmldoc-index-C.htmldoc-index-D.htmldoc-index-E.htmldoc-index-F.htmldoc-index-G.htmldoc-index-H.htmldoc-index-I.htmldoc-index-J.htmldoc-index-K.htmldoc-index-L.htmldoc-index-M.htmldoc-index-N.htmldoc-index-O.htmldoc-index-P.htmldoc-index-Q.htmldoc-index-R.htmldoc-index-S.htmldoc-index-T.htmldoc-index-U.htmldoc-index-V.htmldoc-index-W.htmldoc-index-X.htmldoc-index-Y.htmldoc-index-Z.htmldoc-index.htmldoc-index.jsonhaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.png/usr/lib64/ghc-8.10.7/Cabal-3.2.1.0//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Backpack//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat/Internal//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Compat/Prelude//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/FieldGrammar//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Fields//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/PackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Parsec//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/SPDX//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Build//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/GHC//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/InstallDirs//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/PreProcess//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Program//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Test//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Simple/Utils//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Benchmark//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/BuildInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Executable//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/ForeignLib//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/GenericPackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/InstalledPackageInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/Library//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageDescription//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageId//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/PackageName//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/SetupBuildInfo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/SourceRepo//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/TestSuite//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Types/VersionRange//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Utils//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Distribution/Verbosity//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Language//usr/lib64/ghc-8.10.7/Cabal-3.2.1.0/Language/Haskell//usr/lib64/ghc-8.10.7/package.conf.d//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/Cabal-3.2.1.0/-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:29433/SUSE_SLE-15-SP5_Update/e1f5fca9735dfc7fd9c5836ec7b2940a-ghc.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux  directoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not strippedcurrent ar archiveASCII textUTF-8 Unicode text, with very long linesHTML document, ASCII text, with very long linesHTML document, ASCII text, with very long lines, with no line terminatorsLaTeX document, ASCII text, with very long linesUTF-8 Unicode textASCII text, with no line terminatorsPNG image data, 128 x 104, 8-bit/color RGBA, non-interlacedPRRRR R R R R RRRRRRRR3`_^"rtȥutf-8835402a5ae5f2d9f793878e4acab68b767f466eab82eb2e205d68aa381ab4129?7zXZ !t/* n]"k%!:mdEoH8t_̲m8SAw{Hqlz8vxȍKZN8aw3!]s`͂i /!Zarp-'M|e&{`!2c^At*2?r /-ۘJ!}"!cVHL\5i 1^"M3 %Dr}3?!?s,ĮdtF@kkuwrt/eRP.kDc__\9A:ܶfv媝nCѭBRp?gT_N^NNCm#5l"yzdUwyk:&VZ:?*wluuwH,~p"O29·F׵BI(l&uT.d6 ~-ϓ]_36WR.ںC|TȤOY+ x431lU) R퍜tVȒ]'SzuVb11@Ji .z! ZS%(z@8Jٝ`edP(dhvv2 IsX-?МgQ0%"P4|t탵X:y`{zzs4ײ} ̳j ةt=*Ctގ_>FÛ”4`Xjɺa} XX\d- >Jl9[t~27}Z%L/@[g^x';r`?juxigw}yD\]Z}.r89z ^ D[;i沐u`_0{,ӡRX@SNbRe%7ewD]E\ Rw L^X:w/yj;5Ls͖GWCINeC6Y)Q`3H-7 C |QHՇR~ҪRv+K̄^ 5惘`nyY+HԬ=Ú՟B(+|MsC2.(J Jw;R=뗽Z ur3J/v˨ݕJ浔[gwhEA=u+Q4 >n&g̩0ώh9#e T̿3WqoL{`ĂKuC]",#gt溷8D;^SgCtu.M6J N3CЦޝgwi"T+uJ#GgT]e-o4Zv^$APMg(I{4)Zg֞vbge^81.o@BIr .^irmyiaRBLh{GVGٷEC[_BeI-(P!(A'SHxn~pBڏJxw6HܻvhqЮYXڱT)h^̐3v{ Ɏ5?ǹ To)6ye&^љ(FxS8tц:} B}ic2`;o$)&[u&ndbOCV]X.c 2y9^Lu5ΟyD~|w)aF6 rrOIm t?A^!Zeu"ɭCp'1㦆:[0aE]=Wg@@I7N^ץS'6hߧT'41`8vNl0E~I!nARᮯڅ9defn-*,paR R)nDB~ݥ@樈wuTh{n!mr]{t{b.Mje2 xuYeo)򸾯e"Q+s0_G~)[xph%CPc~ A)r<5m}h*);G}&\P.XDɷ; ej&ǧ{eNn\ 1v9FJE]1)׺o3'y wR?e60WknއP"#;g㹥?SйٍJᚢS ZrYaj !q/:cލhQ](+r}M/$ߡ,UE1hc* ^X}J.-EbzLFEzXy1@Ͷ89d?lNd2g"[&ˀ#^' W˥a5u#(;w 21U6}{.\0[P_8-j$B2"jHI.*ϯ:⍑ZF5o( ahr6|Q1S- CGP둳F tTeb..%ٳ`;rĩM;sQbz=-c %m~#NkAh_d,6F$1u\XkuF(s; Q_/Y'kI]uhU@sa_nhE1vQ=2]T)-0DHe'[T$|9}_v>no7(X<2L'^B̾Op!%Fkr8eԼW]Sz(=6 0ܫ~LHy.]mz#7FP``+텘UϚw_Qƴd*p7xm`zJ{_;>!" S奻 C }A)ݟ[.pCFc۫c7 mGoj@ʍJ.w]vG&Grq#Fy;E/Q(F߀5d% F0"7܆:t<ayS&m/S jϛߥ98!;2'jb.!z+q$Eš;`Yan+)˻:]3Ab9SC/`w.Z~T3ȈQ(jkEh9cx62hRA QjV mC&x.p`’fL 7 $oQL[8 9G}QԫMSd p.! y|p,GZlC4$ԠUԟ>eL&s]UwJ ۅn4yaD)ins4<@rq2[2dTPLSKltr7lCHۊ2=-qڿEXe_GQfúCj$BF))XT՝FF!l 5 YEm(ό@> U"Q+F!.TG>M2PϙE^ё\ N={ 6Bk !T4Vsڅ90 < Z{2 ]31OdI(JL;~IWX@wVxMڷan bAĻ)k<׌my7xX:&,;4|PDbݑ20Cڞx` eub50THbz'ݎ >8JJWꥱY>r#)7v\qrf򪱄!FK*u~`xœFd(['P1ˏN2n`(N䂓܄Dk0GS3!𡊘 $7pE𸆖!#T*P"m#ګ>C]mMv !E0Ƙ8l仨CduU068nEjI W:"It[K0QiJcVOInUe#c! ; 3vً-3b wݸ/(Jx" )ce#v<5n9&GJ2w,dkCed(7-ɓ2":x03 BO&h)a/A5D}0@&mZJ^7Ӣf8[)>S zc0+i^^!B"Qaa\3|\Gz#jz9ed4cQg\>C{a'֘Nj( ǝۺhg&a 1) 1ds=,DYnY v)xS,RhOОW>}oސsm1p -kp;z)azCT^"kPDz|]#/uw*ƍ%wѡ#G]+byh^J n}VZs/)\jW7|yg-P[RȢkKkީ5ÂHPq5wrmLs] xh&:D%/V"^a %J'B&)QC]D>5 a7V/mw9i\潷oXvgpva VR䂉27s_Qeyb Z̈́\sGUV*2c <lT_›56alrY#of<|MDhl2}<#S''V0]I|>,!r;)XT93kTELbr@d}}ȽW O8-jMkD[kM1TXB-Z YZ