openmpi4-4.1.6-150600.3.4.4<>,fZp9|SvtQˤĢg۹ P?ݯgA{c Jd>gG=';{p Imm:Cjmf_. P6 ) v/#DSoY%[0M.Hjи n7T&q+`N(hǢ,@`hô]B GbNX r2Zc (6D(ͶLDS9Z%]钰.X< 14huhyv }6>E?d   I  9Zg }    <  t )B +-<0225$5L57(8888@98::4>u?uFuGuHx IzDXzYz\{]}L^bcedefluvH wxTy;zxCopenmpi44.1.6150600.3.4.4An implementation of MPI/SHMEM (Version 4) OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. OpenMPI also includes an implementation of the OpenSHMEM parallel programming API, which is a Partitioned Global Address Space (PGAS) abstraction layer providing inter-process communication using one-sided communication techniques. This package provides general tools (mpirun, mpiexec, etc.) and the Module Component Architecture (MCA) base and plugins necessary for running Open MPI/OpenSHMEM version 4 jobs.fZh04-ch1c W(SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/Parallelhttps://www.open-mpi.org/linuxx86_64# Always register. We might be already registered in the case of an udate # but mpi-selector handles it fine /usr/bin/mpi-selector \ --register openmpi4 \ --source-dir /usr/lib64/mpi/gcc/openmpi4/bin \ --yes# Only unregister when uninstalling if [ "$1" = "0" ]; then /usr/bin/mpi-selector --unregister openmpi4 --yes # Deregister the default if we are uninstalling it if [ "$(/usr/bin/mpi-selector --system --query)" = "openmpi4" ]; then /usr/bin/mpi-selector --system --unset --yes fi fi_ h9y:(X n^ j*3  iWokd"1},FE k PP j )72 p;go7N Y I r YR  Loq  K8N.W D P^oAAAAAAAAA큤A큤A큤A큤A큤fZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZeyeyfZeyfZfZ3b83b0abc687abb4bc5c7a40216514e7a83b758b030bd54f7aaf0360d6cad0e147eb240fc2cfc4939acbe313200d60f1931d7eabee2df468ca9da4476755f9326376591b4641ac80fe6e261c1c9a579175d9daccb203c1e607cbc57d3a237cb083b34ef0d8809b415ade3358e49e2c0165280a63524ad13606fde5a002dc60317fa7589af3bf15102a8ae04c4046a1738a270cdd95abae9f39a6c2911fc1492356741666bd6363422a528405ca5d3667e1d0f151b0f1073061b73ee7d093bf499f37f4c5106779216f4a5172e7f6f4e4af574d4deb199548dc46b884ccc9cbccf14b5e40dd842459b5cede9f16bce46d22d1ae7c67f2a4a825a70722a1ba1bdb56142a234561993eb09efb1f274766b365d6ae026e04b514363fe64cd3ef55b9e0a121103f564036ead701c53f374bdb5a4484af04c3376ae8deeefcef49f73765e8bd27b77c112ab1c864113604ef2d6e83fc50d6f5b2f46fecbcde4d76d34ca43a3be9c0ee28867c9c7e58f3393c41836cdc73f95bee6a947cd3fe4bbcf273e9b0be5b29c825fed626651c7617f1982406dbf4f6a336fbd11793b79231d05c445a02aee62bf2f74865195c2c5204fba71227d9f55fa67f0153bd345b361bae930b9d4518cab4863f3607a3ef47d60efb59a1e2949066e06ef340c3a823a8c50f133b10e2f320ef55935871d4576cbee0f9f570657e4e6a1d9ddc2cb5b6d9b905bfa1daa29a26f2529c4322de2d3ed98e6bb38666d08ae0e1364890659845a1b1678f988bb48871feb73578f3e78e2d6f59da21a0975b9abb8304b9cd9b37ddb2318b339e6696394fdfe48d567c361c4ad44fffa14460f975148562876275d727c33acf65ad7aed903e8eafbd6aa3eeec49900b1a1e33ce8ac3944076e05c4ad30b5980932364c4505a6c5600c3b2c8000649b141b273707be9c1ea47d49e4685c3526df0f90ccf11e29bb1c0be88892e2a3f1c6f2e05e38c455850e5bf424a5f0274c5b4abb3d50660a2685ecdc8ac1512ba1414e91a56d639d8d1c5d173c86d3ecd90b4a02639aaa4c4de33bb9ad606f8dc677e5753f3db81e438cdb2283c15420ac3fa7b9acf483807360f3c30d214e7c22bb51057d17aa3c6c159562acaaf797da2ba40c2b923f33f4095dd0ec1748eb500a30de3031aa870855282febadbfb056081785fc6dc199fe2072120f2e261e70d7f0035e29094f772547d034cdd8eb0e5e24ce32ec0f73d9ee19150368ed2e177c863496e0d2cde89349ecc55022f84f1c54efb4ac5a630d85e91e8dbd582d5f8360b772575a73e1d02a37945c101ea29688882253aacc2f65f7785afc82d7168338b870bd6183ec6744cf3b4180c8c1bd60db5c5b9c892859dbed5b72fa33f2328c85168f6a44c191e4b26497ad86c118411a3711756a1207e9c7b79e017e06792db4bf0161cc7cbe95b06a8fee28bfbc4b9b35d52ee2ed2795977e1b8de94b8b0585149ae3273585ed10df8d082a777eb33ce5afa4d0fa1b837c6be62ebea73ca71932abde12e74df0b6e3879e9c4c0c3c4596377bce4743e80b058e15ea01ddd0a05a842f421e8ddb1b628ec78391616d24c01513bce868e2ab4fc3f18435b846bdb00489c4eb339763f8cb2aba135984036f9838ec81a65ce042df77af7dda7b8c9e8c76585c52ab5570e4d0cd38a17f73107dd6765407ddf15dc10238fe9525a8a3028b314e3fad222fd078ec86f0140169f12a352c3bd8a3ef405b3fa7fd968e9f2778654ece4f4d9d1862a0af777c288a3fd5e58b22b32c7af8811df028035f6bcc8d084febae8b33df8b906073a9a2097c0d172593ecb5fb323d9600041e34390925633fb3a06d23c070ea2987c623b1241c9f9c94f2b57892f3a97545c58b4d2aaedf21025c61a6cd88f5b2db6974f53ae6dd293759763b5fec9ac401fe31b9b78cb7683d7c2eac58d7f18da86ec5213be7638c3bc7e14923290c603026d115cdf4740c6a8ed3f41cb0ecdc33b6fd1ba89c2d97870c02711e723250ead630c86aae866721fa23ee415dbf4f92af3f4b865a3b346569c24a03924fc734299bfafa0d45326bdfca511005e08c9e0418e124a81bc172d19bb40803ff4b14b3178acee6cc768a1cd247a415d63ae59c044f08b8ced5b891a52e897143eb0049091663cd53b0b6db3f96ea195acb9ed1d6e84c2e2280ea0382e63d3ed9d58c1a9afa831b18aaea1417985a195acb9ed1d6e84c2e2280ea0382e63d3ed9d58c1a9afa831b18aaea14179856883245d99f27b1069391e63a226d92469008794664170852b9419dd0cd152df06ee99e6d352792390333d8ca64c04b8440d6d410ba65aee199f78210ddf0cfe4e80ea61a495616dcaa8a9726dca78ca8ad31aedbf60edacdd3b8ae926229416c421e8f47084c47bad67172025b6943d827898cf516f36d777f9dd01224a313cf3d198b9617ad8b5048eed2fc35341b93ee385e1f2010888244f39761f2e5650c55b82920cba7309e356b974f161ba66ff8b0f2f4a474bf43248fb99f7f373ae4a8ea8094efd28a88eb2322d3615da54e1bcf0e2d1d36174357a41ff7b26c131083f5b10c1ab8e4bd0bdba05a588cd580b765dd9ee9446da0dfc0f3139e8d60c24d56c3863af3de7d3b3e371ef446f12c0422bb439031b7fd6f60a08f141805924d56c3863af3de7d3b3e371ef446f12c0422bb439031b7fd6f60a08f141805912d188311ae23f6223f71301e2506fdf11ce5b500531fdbbf8324acd51671977176b4d484c6d6bbbf8ee00bf1223e2f2cb72840adaa5acffb949d2ae9f9ccc68d016014ad19ec04bd6f342f27dcd1cefde44e2341f6d35d00a567f5ac4fb48a2a942d0861c620a22efb72b19b54c959662fd90ee05171b2ed58fed03c38174665fa140d7a5bfec0e79b474e5c439d66c8fb4959ef57b331fa115c9aa7444681ad2f5b01cbb37af0580bde03226006ddcc45ca301633781cf97af56b6b967fd47af20fd325e058a648b63af24fadda9c9d4cd7e24feeb1cca49695304270ab719dbe671c928f96ccdb035f25f34b8565b44454bb9631b6366c4534d998b56be7e97fa203e22ba7befebabdeb356f37b9c73b54fb198e0bca6754a34e34d46585d7c95e985f6a76f6eb1f4ba295a8550c6ffe360d81f05473ccb2ffe0a275fcc445e77441fdc6e5420a597924b97280bfb4c02fd5d833b50b6fb7ff18d18d7294a930e2a362efb7e22792f2e93f484088ef2a9e1bd7bfdec78311111a6c1a85bd73c8d8c8889555d33d861180fd8e88059e0af333eedb33c17d27076817e02826560c41ab8513d23a93b393dfbef4a1786e04c861c2a2071ac4ccbc83bcfc08f8ff02ede3af78b4a56426a9ea8a4665cf20b1648b8f5dc9163c0c9e2c4e04a2e8a1cf4166cc2f2e12554700beddcf8233e25a18387e59e3d8b1ffb78e871aba691b7b1edd0e41ffe4b64656671116e550cf675371ce0b5cfb9727e7615410ce83c74d365e8d56fd460ef305dc36ba5bc581ec81a495638a3a20ab5fa7350a2fa0082c1dd0a7c4c24d9584971108a3349bca7609e90df23011836b795474dc0d8912c21f456306febe6becc9d296482c6b9a350d8e2856bc2b05153276debe979bee6e779f42a1377d3833c930875837df3627b929778d0bc988214bf5ffc20bf875a3c0afac6fc1af2c4ebfb136ec56162715885a25fd5c3689872056e50080662fadbefa11f1f8a877067dcd6c0038b1d98a9c5da00379cd5be07bd503c23cf5c0e4d45d77ea4cfc31a02f53e5480ca3d2e358caa945496baa1cd22e264c190af60e42fdd8fa194c77df825e43ef35599eee31caeb53d00685750c5494bfb65a5544870ed325fd28e3dbc0fad667e0a01aabb6ffe48f4c8c02ad3d6390966d99b5d5adddf77fc87a0df0dd57b5514389860bc458bc7b2a483ef10e7b9671f6d499bdfe0c5e8cf85b661ffcc3eefb29371cc85c3de53be8ea9c2583019c1f5753d0cccfabbb8e09edced98edceddaef50759860aa00dfcb59de3dea0c145c6a50b1da12dc5f6d88f0f9a18d6aaa8116feee1fcb17e8d08e1eb356905c271a976d21bd1c79cefc63e0531a89bfda33f61e4909deb73acf401ef9857b8fd3f33388939ee7b88169d16e819be3e0049f468adb23bb413ac6f970dd7f2746086e45e9ce60c7de59ffc4828d4be6cf133aa86b5b221f0278c21bfa58743af97d6a8902f4e89c318003f4daadd991994c973a71a8d6bfeee1d8f3c37d762589db9602370086345cbfa02b3d5e6682f156acf8aa954b3fe182971857e20d6c8e15f52f7f4858deaded20b8e3b507b669ed21557ee4fcced9ed7934e531544595b2ce1b291286061c6490888d9f24ea9b43271b8af0c7aa0a3d0162ab34f5aed16e8ca0e067a46afad24dd0106cd50b1075b57a0586fd5d043ff8051207f7ef90bd9e408942be621703d8ab209992654e1d38440451d9744365a3334cd35adfc2dbb83341fe626cecc4f98d50ef63848a1304d4d6caf78d5a4c56111b996f714d3af4329820edcd5ac8394e7575e4508d76a2b1842e4cdaf51c5a8cd3930ab038e2d2d30c53af42c59454dcd117aa3506154bf0c3adef70b2915cea20e62c7aedb3c8b7ca0bd5cef102188ad91ad9b43b79d8dc6150d73a1d3848ab05702b2ee18e417fb5cad897aafae5f8264b56e98bc5adc640d7441a40c4374addf8715b61f6170e1c4a87d63b8ed752570a4b31a8509c2612df7e083d1513ba6625fd1f15b32058d359f9fb628fea25cc8292a3c32f6321cacf7f9289bcbf480adeb22f28ece0ea2e5660aea080753025c9848a7b8d53211c9c3f97968d8b7a4cc48a842c2d5037d56d3cdc86105b845d3ff3220d9153968a46cd1d0e09546ab1403b9ad1213da5354c64929aeb3eace2a3d68e96b2c5ab26109270ffbd7485d9d5a345f9e280da3e6cf40b95ce5804a8fa3f8d0caa54afa88351fb86ab8c3f477c691d4d9ddcccf533e4e32be24b0015a643fec51febbd90bdc84a672adaac49d633dfc4a94018c7c2db71de9577ebfe15c186605844c470dcecd3717f4ef0118c9440d801c0f58f87ab261135ebcf035a72fc8360177fbd5d57bced2e57a7e1cf23d5d05a4d08281orterunorte-cleanorte-servermpirunmpirunmpic++-wrapper-data.txtmpic++-wrapper-data.txtmpifort-wrapper-data.txtmpifort-wrapper-data.txtoshcxx-wrapper-data.txtshmemc++-wrapper-data.txtshmemcc-wrapper-data.txtshmemc++-wrapper-data.txtshmemfort-wrapper-data.txtshmemcxx-wrapper-data.txtshmemc++-wrapper-data.txtrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi4-4.1.6-150600.3.4.4.src.rpmmpiopenmpiopenmpi4openmpi4(x86-64) @@@@@@@@@@@@@@     /bin/sh/bin/sh/usr/bin/perllibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)libevent_core-2.1.so.7()(64bit)libmpi.so.40()(64bit)libopen-pal.so.40()(64bit)libopen-rte.so.40()(64bit)liboshmem.so.40()(64bit)mpi-selectormpi-selectoropenmpi-runtime-configopenmpi4-libsopensshrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.1.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3e%=4.2.3. - Fix minor issues and add some minor performance optimizations with OFI support. - Support the "striping_factor" and "striping_unit" MPI_Info names recomended by the MPI standard for parallel IO. - Fixed some minor issues with UCX support. - Minor optimization for 0-byte MPI_Alltoallw (i.e., make it a no-op).- Drop support for TrueScale (bsc#1212146)- Update to 4.1.5: - Fix crash in one -sided applications for certain process layouts. - Update embedded OpenPMIx to version 3.2.4 - Backport patches to Libevent for CVE -2016 -10195, CVE -2016 -10196, and CVE -2016 -10197. Note that Open MPI's internal libevent does not use the impacted portions of the Libevent code base. - SHMEM improvements: - Fix initializer bugs in SHMEM interface. - Fix unsigned type comparisons generating warnings. - Fix use after clear issue in shmem_ds_reset. - UCX improvements - Fix memory registration bug that could occur when UCX was built but not selected. - Reduce overhead of add_procs with intercommunicators. - Enable multi_send_nb by default. - Call opal_progress while waiting for a UCX fence to complete. - Fix data corruption bug in osc/rdma component. - Fix overflow bug in alltoall collective - Fix crash when displaying topology. - Add some MPI_F_XXX constants that were missing from mpi.h. - coll/ucc bug fixes.- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor- Enable libfabric on all arch - Switch to external libevent for all flavors - Switch to external hwloc and PMIx for HPC builds - Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages - Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support ConnectX 5 and 6 VF- update to 4.1.4: * Fix possible length integer overflow in numerous non-blocking collective operations. * Fix segmentation fault in UCX if MPI Tool interface is finalized before MPI_Init is called. * Remove /usr/bin/python dependency in configure. * Fix OMPIO issue with long double etypes. * Update treematch topology component to fix numerous correctness issues. * Fix memory leak in UCX MCA parameter registration. * Fix long operation closing file descriptors on non-Linux systems that can appear as a hang to users. * Fix for attribute handling on GCC 11 due to pointer aliasing. * Fix multithreaded race in UCX PML's datatype handling. * Fix a correctness issue in CUDA Reduce algorithm. * Fix compilation issue with CUDA GPUDirect RDMA support. * Fix to make shmem_calloc(..., 0) conform to the OpenSHMEM specification. * Add UCC collectives component. * Fix divide by zero issue in OMPI IO component. * Fix compile issue with libnl when not in standard search locations. * Fixed a seg fault in the smcuda BTL. Thanks to Moritz Kreutzer and @Stadik for reporting the issue. * Added support for ELEMENTAL to the MPI handle comparison functions in the mpi_f08 module. Thanks to Salvatore Filippone for raising the issue. * Minor datatype performance improvements in the CUDA-based code paths. * Fix MPI_ALLTOALLV when used with MPI_IN_PLACE. * Fix MPI_BOTTOM handling for non-blocking collectives. Thanks to Lisandro Dalcin for reporting the problem. * Enable OPAL memory hooks by default for UCX. * Many compiler warnings fixes, particularly for newer versions of GCC. * Fix intercommunicator overflow with large payload collectives. Also fixed MPI_REDUCE_SCATTER_BLOCK for similar issues with large payload collectives. * Back-port ROMIO 3.3 fix to use stat64() instead of stat() on GPFS. * Fixed several non-blocking MPI collectives to not round fractions based on float precision. * Fix compile failure for --enable-heterogeneous. Also updated the README to clarify that --enable-heterogeneous is functional, but still not recomended for most environments. * Minor fixes to OMPIO, including: - Fixing the open behavior of shared memory shared file pointers. Thanks to Axel Huebl for reporting the issue - Fixes to clean up lockfiles when closing files. Thanks to Eric Chamberland for reporting the issue. * Update LSF configure failure output to be more clear (e.g., on RHEL platforms). * Update if_[in|ex]clude behavior in btl_tcp and oob_tcp to select * all* interfaces that fall within the specified subnet range. * ROMIO portability fix for OpenBSD * Fix handling of MPI_IN_PLACE with MPI_ALLTOALLW and improve performance of MPI_ALLTOALL and MPI_ALLTOALLV for MPI_IN_PLACE. * Fix one-sided issue with empty groups in Post-Start-Wait-Complete synchronization mode. * Fix Fortran status returns in certain use cases involving Generalized Requests * Romio datatype bug fixes. * Fix oshmem_shmem_finalize() when main() returns non-zero value. * Fix wrong affinity under LSF with the membind option. * Fix count==0 cases in MPI_REDUCE and MPI_IREDUCE. * Fix ssh launching on Bourne-flavored shells when the user has "set - u" set in their shell startup files. * Correctly process 0 slots with the mpirun --host option. * Ensure to unlink and rebind socket when the Open MPI session directory already exists. * Fix a segv in mpirun --disable-dissable-map. * Fix a potential hang in the memory hook handling. * Slight performance improvement in MPI_WAITALL when running in MPI_THREAD_MULTIPLE. * Fix hcoll datatype mapping and rooted operation behavior. * Correct some operations modifying MPI_Status.MPI_ERROR when it is disallowed by the MPI standard. * UCX updates: - Fix datatype reference count issues. - Detach dynamic window memory when freeing a window. - Fix memory leak in datatype handling. * Fix various atomic operations issues. * mpirun: try to set the curses winsize to the pty of the spawned task. Thanks to Stack Overflow user @Seriously for reporting the issue. * PMIx updates: - Fix compatibility with external PMIx v4.x installations. - Fix handling of PMIx v3.x compiler/linker flags. Thanks to Erik Schnetter for reporting the issue. - Skip SLURM-provided PMIx detection when appropriate. Thanks to Alexander Grund for reporting the issue. * Fix handling by C++ compilers when they #include the STL "" header file, which ends up including Open MPI's text VERSION file (which is not C code). Thanks to @srpgilles for reporting the issue. * Fix MPI_Op support for MPI_LONG. * Make the MPI C++ bindings library (libmpi_cxx) explicitly depend on the OPAL internal library (libopen-pal). Thanks to Ye Luo for reporting the issue. * Fix configure handling of "--with-libevent=/usr". * Fix memory leak when opening Lustre files. Thanks to Bert Wesarg for submitting the fix. * Fix MPI_SENDRECV_REPLACE to correctly process datatype errors. Thanks to Lisandro Dalcin for reporting the issue. * Fix MPI_SENDRECV_REPLACE to correctly handle large data. Thanks Jakub Benda for reporting this issue and suggesting a fix. * Add workaround for TCP "dropped connection" errors to drastically reduce the possibility of this happening. * OMPIO updates: - Fix handling when AMODE is not set. Thanks to Rainer Keller for reporting the issue and supplying the fix. - Fix FBTL "posix" component linking issue. Thanks for Honggang Li for reporting the issue. - Fixed segv with MPI_FILE_GET_BYTE_OFFSET on 0-sized file view. - Thanks to GitHub user @shanedsnyder for submitting the issue. * OFI updates: - Multi-plane / Multi-Nic nic selection cleanups - Add support for exporting Open MPI memory monitors into Libfabric. - Ensure that Cisco usNIC devices are never selected by the OFI MTL. - Fix buffer overflow in OFI networking setup. Thanks to Alexander Grund for reporting the issue and supplying the fix. * Fix SSEND on tag matching networks. * Fix error handling in several MPI collectives. * Fix the ordering of MPI_COMM_SPLIT_TYPE. Thanks to Wolfgang Bangerth for raising the issue. * No longer install the orted-mpir library (it's an internal / Libtool convenience library). Thanks to Andrew Hesford for the fix. * PSM2 updates: - Allow advanced users to disable PSM2 version checking. - Fix to allow non-default installation locations of psm2.h.- openmpi4 is now the default openmpi for releases > 15.3 - Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library - Change RPM macros install path to %{_rpmmacrodir}- Update to version 4.1.1 - Fix a number of datatype issues, including an issue with improper handling of partial datatypes that could lead to an unexpected application failure. - Change UCX PML to not warn about MPI_Request leaks during MPI_FINALIZE by default. The old behavior can be restored with the mca_pml_ucx_request_leak_check MCA parameter. - Reverted temporary solution that worked around launch issues in SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these versions and to upgrade to v20.11.3 or newer. - Updated PMIx to v3.2.2. - Disabled gcc built-in atomics by default on aarch64 platforms. - Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that may cause data corruption when its TCP transport is used in conjunction with the shared memory transport. UCX versions prior to v1.8.0 are not affected by this issue. Thanks to @ksiazekm for reporting the issue. - Fixed detection of available UCX transports/devices to better inform PML prioritization. - Fixed SLURM support to mark ORTE daemons as non-MPI tasks. - Improved AVX detection to more accurately detect supported platforms. Also improved the generated AVX code, and switched to using word-based MCA params for the op/avx component (vs. numeric big flags). - Improved OFI compatibility support and fixed memory leaks in error handling paths. - Improved HAN collectives with support for Barrier and Scatter. Thanks to @EmmanuelBRELLE for these changes and the relevant bug fixes. - Fixed MPI debugger support (i.e., the MPIR_Breakpoint() symbol). Thanks to @louisespellacy-arm for reporting the issue. - Fixed ORTE bug that prevented debuggers from reading MPIR_Proctable. - Removed PML uniformity check from the UCX PML to address performance regression. - Fixed MPI_Init_thread(3) statement about C++ binding and update references about MPI_THREAD_MULTIPLE. Thanks to Andreas Lösel for bringing the outdated docs to our attention. - Added fence_nb to Flux PMIx support to address segmentation faults. - Ensured progress of AIO requests in the POSIX FBTL component to prevent exceeding maximum number of pending requests on MacOS. - Used OPAL's mutli-thread support in the orted to leverage atomic operations for object refcounting. - Fixed segv when launching with static TCP ports. - Fixed --debug-daemons mpirun CLI option. - Fixed bug where mpirun did not honor --host in a managed job allocation. - Made a managed allocation filter a hostfile/hostlist. - Fixed bug to marked a generalized request as pending once initiated. - Fixed external PMIx v4.x check. - Fixed OSHMEM build with `--enable-mem-debug`. - Fixed a performance regression observed with older versions of GCC when __ATOMIC_SEQ_CST is used. Thanks to @BiplabRaut for reporting the issue. - Fixed buffer allocation bug in the binomial tree scatter algorithm when non-contiguous datatypes are used. Thanks to @sadcat11 for reporting the issue. - Fixed bugs related to the accumulate and atomics functionality in the osc/rdma component. - Fixed race condition in MPI group operations observed with MPI_THREAD_MULTIPLE threading level. - Fixed a deadlock in the TCP BTL's connection matching logic. - Fixed pml/ob1 compilation error when CUDA support is enabled. - Fixed a build issue with Lustre caused by unnecessary header includes. - Fixed a build issue with IMB LSF workload manager. - Fixed linker error with UCX SPML.- Update to version 4.1.0 * collectives: Add HAN and ADAPT adaptive collectives components. Both components are off by default and can be enabled by specifying "mpirun --mca coll_adapt_priority 100 --mca coll_han_priority 100 ...". We intend to enable both by default in Open MPI 5.0. * OMPIO is now the default for MPI-IO on all filesystems, including Lustre (prior to this, ROMIO was the default for Lustre). Many thanks to Mark Dixon for identifying MPI I/O issues and providing access to Lustre systems for testing. * Minor MPI one-sided RDMA performance improvements. * Fix hcoll MPI_SCATTERV with MPI_IN_PLACE. * Add AVX support for MPI collectives. * Updates to mpirun(1) about "slots" and PE=x values. * Fix buffer allocation for large environment variables. Thanks to @zrss for reporting the issue. * Upgrade the embedded OpenPMIx to v3.2.2. * Fix issue with extra-long values in MCA files. Thanks to GitHub user @zrss for bringing the issue to our attention. * UCX: Fix zero-sized datatype transfers. * Fix --cpu-list for non-uniform modes. * Fix issue in PMIx callback caused by missing memory barrier on Arm platforms. * OFI MTL: Various bug fixes. * Fixed issue where MPI_TYPE_CREATE_RESIZED would create a datatype with unexpected extent on oddly-aligned datatypes. * collectives: Adjust default tuning thresholds for many collective algorithms * runtime: fix situation where rank-by argument does not work * Portals4: Clean up error handling corner cases * runtime: Remove --enable-install-libpmix option, which has not worked since it was added * UCX: Allow UCX 1.8 to be used with the btl uct * UCX: Replace usage of the deprecated NB API of UCX with NBX * OMPIO: Add support for the IME file system * OFI/libfabric: Added support for multiple NICs * OFI/libfabric: Added support for Scalable Endpoints * OFI/libfabric: Added btl for one-sided support * OFI/libfabric: Multiple small bugfixes * libnbc: Adding numerous performance-improving algorithms - Removed: reproducible.patch - replaced by spec file settings.- Update to version 4.0.5 - See NEWS for the detailled changelog- Update to version 4.0.4 - See NEWS for the detailled changelog- Update to version 4.0.3 - See NEWS for the detailled changelog - Fixes compilation with UCX 1.8 - Drop memory-patcher-fix-compiler-warning.patch which was merged upstream- Drop different package string between SLES and Leap- Add memory-patcher-fix-compiler-warning.patch to fix 64bit portability issues- Link against libnuma (bsc#1155120)- Initial version (4.0.2) - Add reproducible.patch for reproducible builds./bin/sh/bin/shh04-ch1c 1721981622  !"#$%&'()*+,-./0123456789:;<=>??ABCDEFGHIIKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.1.64.1.6-150600.3.4.44.1.6-150600.3.4.4 mpigccopenmpi4binaggregate_profile.plmpirunmpivars.cshmpivars.shompi-cleanompi-serverompi_infoorte-cleanorte-infoorte-serverortedorterunoshmem_infooshrunprofile2mat.plshmemrunlib64sharemanopenmpiamca-param-setsbtl-openib-benchmarkexample.confhelp-btl-vader.txthelp-coll-sync.txthelp-common-ofi.txthelp-dash-host.txthelp-errmgr-base.txthelp-ess-base.txthelp-hostfile.txthelp-mca-base.txthelp-mca-bml-r2.txthelp-mca-coll-base.txthelp-mca-hook-base.txthelp-mca-var.txthelp-mpi-api.txthelp-mpi-btl-base.txthelp-mpi-btl-openib-cpc-base.txthelp-mpi-btl-openib-cpc-rdmacm.txthelp-mpi-btl-openib.txthelp-mpi-btl-sm.txthelp-mpi-btl-tcp.txthelp-mpi-btl-usnic.txthelp-mpi-coll-sm.txthelp-mpi-common-sm.txthelp-mpi-errors.txthelp-mpi-pml-ob1.txthelp-mpi-runtime.txthelp-mpool-base.txthelp-mtl-ofi.txthelp-mtl-psm2.txthelp-oob-base.txthelp-oob-tcp.txthelp-opal-common-verbs.txthelp-opal-crs-none.txthelp-opal-hwloc-base.txthelp-opal-runtime.txthelp-opal-shmem-mmap.txthelp-opal-shmem-posix.txthelp-opal-shmem-sysv.txthelp-opal-timer-linux.txthelp-opal-util.txthelp-opal-wrapper.txthelp-opal_info.txthelp-orte-clean.txthelp-orte-filem-raw.txthelp-orte-info.txthelp-orte-odls-base.txthelp-orte-odls-default.txthelp-orte-odls-pspawn.txthelp-orte-rmaps-base.txthelp-orte-rmaps-md.txthelp-orte-rmaps-ppr.txthelp-orte-rmaps-resilient.txthelp-orte-rmaps-rr.txthelp-orte-rmaps-seq.txthelp-orte-rtc-base.txthelp-orte-rtc-hwloc.txthelp-orte-runtime.txthelp-orte-server.txthelp-orte-snapc-base.txthelp-orted.txthelp-orterun.txthelp-osc-pt2pt.txthelp-oshmem-info.txthelp-oshmem-memheap.txthelp-oshmem-scoll-mpi.txthelp-oshmem-sshmem-mmap.txthelp-oshmem-sshmem-sysv.txthelp-oshmem-sshmem.txthelp-plm-base.txthelp-plm-rsh.txthelp-plm-slurm.txthelp-pmix-base.txthelp-pmix-pmix3x.txthelp-ras-base.txthelp-ras-simulator.txthelp-ras-slurm.txthelp-rcache-base.txthelp-regex.txthelp-rmaps_rank_file.txthelp-shmem-api.txthelp-shmem-runtime.txthelp-state-base.txtmca-btl-openib-device-params.inimpiCC-wrapper-data.txtmpic++-wrapper-data.txtmpicc-wrapper-data.txtmpicxx-wrapper-data.txtmpif77-wrapper-data.txtmpif90-wrapper-data.txtmpifort-wrapper-data.txtortecc-wrapper-data.txtoshCC-wrapper-data.txtoshc++-wrapper-data.txtoshcc-wrapper-data.txtoshcxx-wrapper-data.txtoshfort-wrapper-data.txtshmemCC-wrapper-data.txtshmemc++-wrapper-data.txtshmemcc-wrapper-data.txtshmemcxx-wrapper-data.txtshmemfort-wrapper-data.txtpmixhelp-pmix-mca-base.txthelp-pmix-mca-var.txthelp-pmix-plog.txthelp-pmix-psensor-file.txthelp-pmix-psensor-heartbeat.txthelp-pmix-runtime.txthelp-pmix-server.txtopenmpi4NEWSREADMEopenmpi4LICENSEgnu-openmpi4.1.6/usr/lib64//usr/lib64/mpi//usr/lib64/mpi/gcc//usr/lib64/mpi/gcc/openmpi4//usr/lib64/mpi/gcc/openmpi4/bin//usr/lib64/mpi/gcc/openmpi4/share//usr/lib64/mpi/gcc/openmpi4/share/openmpi//usr/lib64/mpi/gcc/openmpi4/share/openmpi/amca-param-sets//usr/lib64/mpi/gcc/openmpi4/share/pmix//usr/share/doc/packages//usr/share/doc/packages/openmpi4//usr/share/licenses//usr/share/licenses/openmpi4//usr/share/modules//usr/share/modules/gnu-openmpi/-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:34857/SUSE_SLE-15-SP6_Update/88384dc7a8e49348803ad6dd20b1dfac-openmpi4.SUSE_SLE-15-SP6_Update:standarddrpmxz5x86_64-suse-linux  directoryPerl script text executableASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=78d4bbd093b756606396b1cee1bfdb4c0605dc7c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8056735a55d9fed4eac76a92db255627ccaa16b, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f9a55bf16e12d5dbab9d27c34df3caa6fed9888c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3d7dd08a62c4160c265c1725ebcce4cfbe025aa4, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=271d05c6e3639e7abe275eac24c1824172caf378, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=87068719e126ca930558a643877af735efda9bcc, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1a2e825d2455e6cc4ab590c4dbb7ece0b909b720, for GNU/Linux 3.2.0, strippedUTF-8 Unicode text $*1:  RRR R RRR RR RRRR R RRRR RRR R RRRRR RRR RRRR R RRRR RRRRRRRR R RRR R RRRRR RR'+ _ zopenmpi4-configutf-8db452528d056e2cf6e1169f94a0e93ec27c445ca1255bdb4ba11f2cdc8dfcb3b?7zXZ !t/j]"k%]. 0ƥMi޸1, nh,J Wu-}W}qi9}Tq_ٺ^AT?/F(yOϖTtҠxap(ߴog6ӓ5 L妡kҊrO4}d7щ&,lG0~ړV/* l6F>aSzRoݺ.cVp2/ J}Tdy624{4HmKT.v琦Otz4LNYq'E1,WI:0k|A-aX/[j43ȤP Bz 7Jo ?oPWq-kt49$y3 v:2&h VgM'·9d{b'mS1ڰCl`wf}:Qz;1=C9`2w@P+7?QS:R iTX1M8?!ZDۗ[ot3~ÛG5yŨu ^A$S@Í*7<\Np` qJ[$~# v$4S@d/"+dRb*$b@Cy/NoxZ iTng3=q ΝL&L nppq J(LIhy ?BX |UoVY*U3vg''mbۓ6- {,a:LZPu`+=Iܻ͠v ݂k 50<2ކA n?,X)BNɠ 7(ˊ vyopWI2qj((A&X[=ܗme;Bo) S/l)X2gO~D+Fq?.&tnv ;16܄" d@P:qz{u9_6頭]Ts |%^7z;1FBH; Kٷ\ų6e.Hv,c.NAdZ:II. F3 DdQ'T2L~-+qQlH^e+FÕdD}vQs!O%@yua̩}yr0q{$z^Am0%LVvP]|)ېe_I[w\2W_0h&JPL{ҊAHigmakg6˧3PE"$Ge-HH(' PI"t]xRxFI 7T|{(>jZ4Q0eVXpcRp;ߑ*SMԘ I2;x1n߹3/ԄY.'U!^Xۓ-SkںpPt&d_{[af! %?\u+4Kwz i6_uS󎬈v&كYOEL2rEZSVCZWO]{g.DP㝷YGpCt,ЙM ),7=a5i(plZNl_EpY߈HrbhM˴~#ݿhUؑ}& _o>E. ?6Ic]%Y.(Q"rR?_-}h|K;GBĶZ h$[e!Օ #yD@`}~Ⰵ"X]:|V(1GYiߜ﹫Q;W-4.dm/m`UbWGK^*)\DE:.C8v}O C jU PB3|_@.Wz,鹼3(4b#s gZ/wN{:ȑ!ɽWWT˰Vhxy㤰oUeO/J9"g1E"`,\=\Q=d?o:HGmˣ^v(Ge6 }Dr|iiiaV\$c`s0ȣ1i+Xgy^g8 ]bmeq?cKqU]H֝ ad(_*uYuNϬ98X[N\Oiޗ,r.~|~D gSQݝlëxB2 \qy#UƷ|A acqoZM_?Uzz8)YAˑj6W6>^~4P4SQYH':Vdq8}MГFQ =EkvțsK{6ŔfM#j^(eP}}U ɇ ~5/Ӿ1l)N'3G:%4Gǜbح\ؑnm>A3bGP֮ }ǂ*'0JJmxhmYy *?^}j[j"˴,̛+J./wEWJ':{ 5qT,kvGSz>.] u=оVtl{Ca2c֖0`UI%m*1,SV ׳z /9Ұ(HZcaªw >l,dG)Y$VY: ^a=O X7ܛQYڊZgÕ`^xXk>$=(YY <6OY'"*[|KV|xdXE!SF^^df'^FWĚtfWaX v (n'[2 i?:3VzwƳ1$AٗN9؝H0T\Z{|"Yh$o5B@[hĠ:t!,p3hyew*G~m?隈{Lv:w~ܹ`@ZZo$S<8X{Ji34"2aN}$@:[.>j%aH7UqqiZybħq\L Ο;{ZdېoB*n?U$֬o U;e,FX|Va%8@/Ǽ )`U >˃fi.W@ڎhMC`  r+`Rw@XܹR ZP-Yha?]Bw/DoJY5 5X_f QZĸz11H]cne`V?Q ~5D&x9xb/*X^L*6pJ$>W\7KZRhx1xx~%!y>6\JLke:]_LQD!5]ՔQq$X6~,y6P4~R_PlI${|Bvx.lSbs %1`K`Zrw;E"O{i&(]SOwצ~\SkG'ڕ%cۋd ^0/42xe'Oy&$:O]9V,[ucIT跢9?5on +]a.mJȑGKX-s!}o.J"WA.Yf ?Yij$JI7|kUŦ?:ݛ IHeS684(މ҈{p9cOLmq/-H}UÊ?kJZܯ8*E(T~=jt&W(xm]1A 9 Q2o+LyX݄pĄQf+_IŤcйE2&m֝S2Y %_J+Cc*e]ʞ|4ZO_<tAstݞg|îsk\ h 3iШNeƗf9@V$YT /|ZxBF@bV2&ٗPACYm5,FR:f%K7ۖb!yj-jlWDH%&* ^-^,"8˩c TXAeP7s($c\\\mG.Y$8mpw)Z:usJ6~:w;oW`htZ/Y fs*(rE3F{GuxQT4oE :1Y欩<=lhRؗ5yW4mڭTK['ɒ 4Uz F-7cSk& W;Ih#0ډ :vL3Q)}u|'Z!1]<ɬqM>.3w򣛚UwA`9 L#~1H'A_ek0Jh@rdojNXhO[X5*k+8Nr+3xxhͶݥBnNn':|2@1gAQQ/ïFwŞlӗw jlRՙ(؎ylJFAF}w2jaڎK IFK)߅XQjBS)c_KB2H)͚֘S(DӺߌwmeKi埦蹝 @SBkOaʓS hڙwwgCBj:!M [BMhHvUX9v1"mv.9}W`g He'z3#&d\Of&p>űcucBc '` l ZAAz+4)OMtQ Zzo/X암;"w 4^yْunS.jHb: ¯=FeVGIL򥵧=`šTf%d+ˋ:ךtQSF?,o$'ݦ䅊Y A wtm3ŸU%% .UӉ<&6Lja^mV!Wߪc/ '"k%;70:O)m{3z2'0+XJ3kXq FZV$2 k<;Qla/Hʐ@|< \Mj֡C2, +eMSiED J [˯D( ל)ɋUm V14/{ B~^2=tߕ7w0֩^txt)ffhqQӢBc!Qo%aBP^t#k}ׅh:C}XEǍ;ޫ c,ﴶDE v*HMLjKXRQkr:*෭\xsڻ$Ze Q߹=ӾaQORw^-bV¼ (7V ȲNm݊@0:L>?@z ѤAۙ1ݘ%hurL1cqcv8PS"pMѰ\hgX{~oVGR;(`RţcHig3;'%"MXcŗZUȹfw!UEgqxwX#aMs5P.qL'DeES2KE0ஂVwLV1*c`d=t!E8v4U 9J?mޓcdN%e)ZeF؋:l&s'rxa5v n\>`za_Iǵ -ۘcȺN$}v83C@$3?_,kFP+Xy,&;o:OȜ 8=X]٦NUn[Nl9zF`unZ0])<[3퇃 4>lQ˅(lw W/ ,O dv;-/n "Cp.nz(SU{6V4pkPS/ .~ń~=ԾsﵔuI&$֬>JJޗen>$4$:/"WL7rQ 0m+nH"^:ܱƪS5{-n @A&6RǼ\s2h hk\Zu6 C> LOy1PF;%y @vϧbC@TdgM:k5I TpZ zu>$N[@T`ٟ먈]Gt7PpܺUEU%N'R^!Y# ?L3.}MgT8iMO0W!7o8[6+?W-+߹7w7B@jpH5r?h+$~~@( z$0gts 3XP1߮s:9B (ѦzV{ֶ;hTgiI]fCk(] pE@51!$#\8H:b}͐W?v:!1}kdZ`#)rNp3I*b}dQܳT, )EZ8FBPe 2TJs|rm*NLfq,qh` Ny}5Vo8>Qe#|c7C"F%~ЅBU-<#|صz|`WCu7 EuI&jat8Zjn7'/LjpAJthQ4@1">*s'W%m-}I^i X"®Ќ(Y5YM@9Q#M%ݵ2ѻj rߊk_*j G CF|QJu jSܭ uK& ӆcwg!Yt6d4')0ӸxK\(ZE 4;x"^M/Q(bILFaslO:׬<0ʠS/d(_:۹OhI7z[ͫf(E -eJzȦNUwuz-J+YqPBϋh=`$قoMa_]能r AN. + rDgbjCS}^0P/OgN,{SIs>CnuLC`Gw C3Ze_V~\c#821VKEKWneg I901Ƽ$44 yߦP$i'Qp38h1e Z?s mi9_}7R$ |/'F*:SzZ_#~G]A EKnd۲lGnoN:iB%|ZC^ٜI . HAjV1-Hrʧ)H<>>D7$r`ܾ%76R%k_c]Dpj`R[G3A'UKf t=Ȝʭ~QApRI@|GEt%g jăeS/{hPsHdwkOtid&=-Ta4F7B\9%Da8Ѧ@LeY?cu:VۺZ{!j 2@["iʼn#nhFl " H߇ιC̐?*CiI7!DBM߭[;3N-wΌ4qnUoJIɊw4=|a& Sǿ'SʂH(DlT0@=hظS A~&Tg]6χ|ּ#yJ}qUQ1i!e$UtKhĶB꿴*_hxi%{1]8-w"vU4: u f^]-QB WT$M1^I3 gN$j9B+{x0Y]ܩJ䥦%F JM{i@ʬo6IM=N=`4?M6bVZEV*`4p&Y̔E …dC:3 [/'\da" >N 9IJ [ Шp׎q ĥ'@&.0>xޓ&Γ CH#Z7“f\\Fs-2M ,-HΜc}?R,ى)(!?&(|pdY=:t cz`~Nzvz PZBXG;S <3 ^J*SܹfCX%@V" el8hxC䞷ڃ j3|C8QWF7KoK\be{5@GKGckk4I[`vXC}k@'MXվ % ٚVri27O?,6ډ=/ȣbGb2Ibb y= v"'C'N1׷Whn}~SZu<_t!htQqa#ydkIYo7m%khf9Ytr$r.[Հݦ5]qłoӘMP{R+DB@S~p駠y'c,# >`Q o?H>h̶;M' o0u{kyu孅;en9W/ J\>̈́yD=VH0LeG3:`TO~}E,{9L..09_mˎzQ$Iw2ZUaya094kWLA{5G#Z#6ǃ}[QA㶋\Fg{Xyn{EW8իBenOf`O _e/)(Uh,k $䎩qa+# s,B? H0m:)$N 4߷gò HzWPŮ5"~n' D9gy*O|.Y-BϋVrfN R./餎u@X PF=rV+<ߧ( oYCgh90.;ɴ-?H%zbEr< Ofā8{m}N^J⦯aRП:ܶmb,?! 3Zjpϵ㑲"A~}Po(hfQ rc-UmuP12heQ[I,Mye$*GqV) ݺ>QLi[E5l4㷫Ms~瘙7F-Y~Ϣd/F}5!]w _C.h`afw1ka܊O(7_ QNZzQdK olmc3Mz|}q<-$+X5%5!:v]\t'W_hd"Zx * NzAͣx2Wl#Ie8cl(1\l@}W˫$̈2?squ- ,1L㺂^]1#;`.QD:Y]4ћS#ʘaJd'|EHѓEzDhdPee-iuI#{\C]][ QۥCJHy=9Dof,XV:CMP K/9)ϥΌ ld@׋sk">yZE^B7۩b)hI N9۹ۅFnq.Ptsz`qb!2@DUNkҳ`Di4̇4~5 `n˰s?|GJ*8S [{p sc NiO|OdRUT)G]?).U ‹sUmp: ߇Gš|ws 65,jv~V&DK% 4Id$|ڽ|Tȭ@&(h&SaD5.hAHQ\EvYoEOm!/ʫ$#%z:_Rtxw(:hh |V3100"d!12~{DS~pśW69^iG niuCySyþ1_Sʠ4.4W<}_'Hz"7VA_ע= n%8LX^̻ŵ< f+DDBq t&J`fl%)T`YT4z'XaO8#D4>+jLnkS?@t+XN\OTeJVFB eð#z};nG+plw^9g7$h8"$uش}> "!SkNjKcDg+WG^lae`tzj.n0,_?)#Lc }YC|j`.9?Kb&!t3ZJi^qSgJ/kK 34jR1P;7UK.oƴWwhi2sZSakX> kiک m̰J;*^~~cWO/m8j#"n=?۬\/毢U4_4&EўH_mR/@1r*cCƫSJA8D^w9PC0:ûnu<ɋ='3Rhvimh%o*6TUE)Jߟv,w~5`q:\^ns{@Qt 9 Ѳpi & BCd̰| HfW{y7m!p *f-s(sZv\De܏ 40b8O tm[b ,YhmסWo4oH .o3UI|{2x`k>$+o _~e;b"NVY%ĉ>4ow־@:]6=qm򈛙P3 I}god#aie> "<86$,sMU= :hPxINj3Up RtӦr"-c8BR-=A WwrCTr`V3ȁ3M\?-fD@0&:r~T#":v궐݂NϚvPhԵPxzs6Fko;:RǨ6@!mbaQ1ODVq/z~?W Y &*4;_Ϟ/h姟yt" / f5_ROTB- .e]V,9Jm_T)엱J]g»`T7R: )7x4މ+~B<c.5]C wׅؕ3ǽNl\>LX iNYF7Aˍ֢[$Pf"#CԦ'zy%"`PfUv fø<|~Z\ '}L+I1D3 ?RMnj uU=uvˬKu`INRa3Aq0zϲw/wkn><.j@ B5ۋYI-ێ皲9W|%1ŧAf? 6h<(F-¾I $UC5JȲFI=υ/TS aHD}-Aw q&pui_B?+O58TI?Br:gc8uX\ /Sʣ# 3/yIzvdzX"%էfb0s@AIk,_h{uw߉Z~Em4 W`(D|Mϱ]'ZT} Њ[f̗~gS+C_jW#Li{,jǓuo?$[JS8}=N T_uB}0E%Z[0'[-v2:ZKw5!UՈ^[ȱQ|'ze !3a o[ C\ZBl~z:qPVLm˻3|J=HaeLҮZ?GJ0RL%tk^_y;JS⹮"QD$)sXgHc{Fc ndj]P;dt?["dG71TsOܸ_tIM)7H>cMW8Aq͐]ڱBRPig#4{֎ - !mTp/@v52u-Sj)Y#L!y}K;"zv9#^(j:󣨀i[BM(5wKj3O9%?Rl9%>.)w"Jt*gH=qqMU \k*N<:~p!wld#. 儌WN_UH81CݘnzL}' 1C.,R nbY :G;z!ʌQ٬)mSZذU/_Tf;޹e-T,dCφ+нؚ xjٲ16؜zY,_m;]̨/+٩ކxÝ:%BlbrHfV&1bA$,ߌ :&?d뤫ž0f;LidWD! ]{a*77.wm'pe]dm0d&ZHj `۬jkP&|ʍZBb&>^A_rfRW)D䵅.,Zaۡ_ c -,GXQQ)/RWr[P2A2]t 9S=x9!UԵl>AJX up~Ho`Ab-OlD yݢsyOqŽɎUZrqSH<YNu 8|R0txb_ BDvo XC0?}q yJ;S/󻕝n*$&DvH2}j5*I6m3.^V R0TQ1'qhNm,>?* 5a!V2?|(gD1~Ǒ..+6_QyaoF;!Pԃ0ڴ95Q$lɑyPLaAǨ21£.{HA%e|;"YF6m7插Dy0H 9T/|!@PR !2##TXO)R%۷]_&EOjc.mO)X,6]|>+6R{it%6at]!U֨p@E l"V D /Ա%umڗg1NĈ3r$=ܧVG0{Cs9w'0Ƿ@![%%C{7CC;^`_W]7$gL]@b\ocįx/*,:A걈ԻR$1}u_d5QO\Q KS,-ʄ6\%}:?mB)3aM 0S/\IjDʯKN\^PUbwBH?NKZ,+cI]a+waފi~QeG:hva%J t'Qx|L/RHm#mζ(TeSw~5} RkN%ڢ3Ķ" f(4~KՈPNJ(}؛EAtZ'㜙N]iEC(՜+߲vKIO"m|Y2şٺ@0x/R7ΓOf60} 8eeǫAdٳ!>"=iAY9QZzFpܵ]0n^|T.%> 'ٞQH!{Dkey{eOm}ͪosiC +{iV}VFu-I˒6S|gxZD/=VAˀi:ice2V#(8OB_K>?[[dD։03Uɔ! c$3a2ԠM_s5ıԩ/~M,vy!.A/s.#Le^j BrTѧA™yV4z LSj]Ae j2D8:m_ʆQ-7݀/NE nWze{]C]HԅZwƽ(iK%mVaL9ݡw%}!3Cӓb:t@ˊFv D{ӹ|z1BxN̾q?wOOW!C8`$ dR1ŧ IQ+tOD0>r&N;4LV OW-Cmx@lϪ/ƏسV:y ѶKhw]VGt}=^H;XI H O [0^m-կGV"WbgY:dN=Ȋ$k6;zz+5* gQ(ݫ|p&x J÷ْMbb% k`e0RMG OY$< ƖD.Eq>v?qgzLѫ3Y[GFJ)a>-*9m1?E'^PrCRw>"p&wZ.{sűO8zkRS+C-p׾[Jӗ0l0frezofnj6w0r+ĭh;:c0xE&<+;6c#R+H&fa0T37sl"&SbdS l]&_֏V}yAgҋpGOIH{HL Y_vm(oI]9\5TO*MoVo5 =0$485RY(]7KSu *|2. 7mz\% &Ôz,HFDn&N Z d[;B6_3 (A&dizF1?e1YY;hTk4mp4{ު=hHY&4?sa^rnYR6t']\+p[0?h`4^+K1]"~QdK1Vz"}HT~M5o8 @Mhf*mݿbjXaQߧ]"]_Dwf5&ِ!CHŠMDDs.43-DO6!YvSd5e #,8؈?v\p$nGOaprY{eUSc }[pV8"?@x.8ruMȩ" f6W5"'x˖Dc kC9{6o3`2 +E׭qWY dQG$4Hd$NY[ͤE =?)cunރBI..; ` xwt@lS Vi=E_C $GJz_>~}E]3%o3u1|D9vޓeHt9(X[%H}"g!UjF>wpGPs_ħK0‚*Voc E H$qkjV_u%K >Ej|&K.Op>HΧ fyfDx̓Qv6`/·# s6;/<`Tk+[P!W;>y֢@`:7Iщh^v2>q}^e8^ϊ0*=.mLk:0Rz{jt~xe<7p W{/p .}ɬoؙL)ҁq-HQSrUPkAit&Qcy>Q`9Y2C."| sea @C? n9" 0ln-gAcqRzI4exo jfm/¾r\Wwٷ(-&PoU }SQc`>WYKVRi :W"C;4@nYxA ڧً" XDz 8U柶HzޅSB0!m+03OO^PFzRU|ZqLjɮf wm9RVqhN牁ߡ6[mM9* mOѰi71BR,i[>5ʎ=ȸRZ(isN$'_LۺҒe4C@mcJ' v_!+2p"[2oSJ2)۹t⌀"F1|n*=Zm¬~!dM%y %ɨ% gA^[=rj˞ e@ƹej !f;@"޳rEa<#ct!l̆-<& 'YM`?L]EdI M%=@GXL1r?osÍ!g\$38)ú7%ǫiZ]Nvt H?.>'kQ}.5vR~HEpšH>do\RW3HW:Hy*h^ElW+MLEeaiAa*u`'Kѐ!SK}`n+9{+ⷦܨ4RVZe2|(fa2v n@orҘ<76 :y;;OZdkj# 3v|zGQr;?*Jo^RNʢQ~Yˢ%^'vMP6x&} htg_9i#rƒ\h?lI'yPX3~*O/PC 5#aôpyr8yJL+e!ؓ]m['k8gםՙA5+VՄx~u%)oC dHn5{-,pvpMv_JME8 JTPԚXϩ BĜC:oN*:H0n)'*q"?4Dǟ *0o˯hX١DSabY/-j+KzxLQdw9Y^'W[k{3J G GO*~՜> ~-cc0$y̋K[1P:+P A!}sw:C95MF:eJ\:.-0p |9| TD2k~rTXoldǖhĘ{_opYU[j8Z-) ;-]gW~B1ͮYL9 QT_`%!b=3TF&m)+A4P`ᤌoeΓMx[=ܳ_!QA(5*zrl߼A@qs]w佷)(2VT)E;a0# ‚i5ڹ&/‚mS )TOnDuW i|W7찈hf@'(~[]Kݛ|Z#(xip m_<]F=!X}° /4Сōq8ocd&yjQNRZ`hqK nq!ƻD )Bڬe2A@^Nj=B'׼ 9CMP [Xʴu c# {JC 10$zGn%Ot{.QlNsY KJsaiX :~h: i0`54gm|M/Z'1]e9RT_Gf#erJ7bM \L,jgܩN/a.]lȱyZcȲ.j9в`ϖ<%\r%c;ֆɖk;`dVN_|9CV6!vO,ᢏqOVc,~+ Jڬ|YaET.7& R.iWuVKKN6zH?| 醻]<9Cgej?xQ ~L6Q7T-| q7V?rMR UXyK{ [2{3A9`o¹WX1>N1"y~4Zo|Oh"H9]I"0VD2*;9M~p쟶Aگz. ^ɡoUA{ rT$7EH\!"SMGtk7C iV-qRK<NY Mq?fC<^VH[sL54w /߽aTi| `yHޣo:y^t[l2ͼ*NBa= XSl.F3J4犌S녽r?Ӏгk;KkȬP@ $9~y`-œVk^x|4;ӈx0 Pi:Z.ʱ7owΐ~hM\hLf73/}Z=D)/Ƞ|L9z%]TSWQ(J_bm^1UYkS@Z5`gc-GGi .JGQY+*2ۀdTqq"x޲f\ _P+^,@A "„YCgJQy88Xd17eOf!ՠˤfMp[]w Ti."._0ޅ%hH޽>(&>jktڨ{~/J?wN>xuܙOC',T VoS{-$j1ǯس +ɃOpgUtӤ.sqCS[o$!ѼxsgҎү[HbS78-)Zc.7zy[TW"[=<&! 5򣾎X;*5h pwmvR3 KU ba-Meȸn!("s O·gx^ki)n`% sb_bkFEO;P% @jR8 ^읁 #1P/C=gֿYq'lͳGC" 9WƏq"Xͮf Dmӏ?' ilAjvfn5P/t]TSM1W['>u P EI%`QyVwG\:M|^&/k GA`0۞l} F R<&\Ϻ++YA&G_+R]9j(*e 5/$[Gl/ 6]X!%zڎQno*niWĢ'l /wD/r˸=rYV=Cq]tAB$d3ۓPFQ*1rƪO`Fo#= 6/U}heg;{H]ڙLXA5AyEc%nհBImԕJ2$gBhW=_I7/mlG 5Ήё.1z',L8{ kOZEp6Nn4"b< |RSI':P㜙w$JN2W5˫.q{uRxh)悲nb(0iHuhC&MoOF=^D|0 c( 肐,׊ 3=(~ӟW@U -H9#sNֆu~o@ϵoWT;I Oob1%$0r=J~+v9"I]iE&Us4LG82}Zmqod" =fCA:auΓFV) ioAؙS7E^P[=:$Vc\E3R%C`Ib$Z?,oێV+R<oIʎ J+'vYf%/,uKǏ[ Jn³`rR`0E WC0Ņ32TؚϨ#G7y TᜓD4<( xڃ[Z(w_F_Q].mOkJ{bH&`n+F㭜̦q+ K\`"[J1_c2/!:wl=fY||,^eӛBTMfj۴j@G,n?$r6t֠0V4]R7/u6@sf_50ZfPYi-9FA*gc|F\pĽϕ'= *[7αdn5:K$1B](f|xqd`Z N&NXbta_"y_ _>9r]XPB%$o٥ OT3>Ծ】+6Dil4 Su@$lGm$:U fŇJޣ"t*ؙɥwᕦRwfm{)Wi%)VDzlh4nǽ岔lv* pXv;v"6F' YZ