openmpi4-docs-4.1.4-150500.3.2.1<>,|fl Vp9|oѡ. d=kcd6~7`{:Kt# {=RJ|siҁa/:5 UP@XzL;\|n[iIF#㯤i6>ie2v H& ן՗t,+i'?9HkWcDJӀ}] V]4'rhZ^Xb {.Qb2)$TGV#̼b:&}Hz>;?d # S 'AGP<  ( $ O Nt` (( R8 \ 9 : F?G?HJIUtXX0YX8\X`]cL^bckdefluv zctx~Copenmpi4-docs4.1.4150500.3.2.1Documentation for Open MPI/SHMEM version 4.1.4OpenMPI 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 subpackage provides the documentation for Open MPI/OpenSHMEM.fl Vs390zl33SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Documentation/Manhttps://www.open-mpi.org/linuxs390x  :  : [   ,$   B#il    y @O L % } \ A  L V\  8  xtx _  64lD ]y ' 9  >Z b*  l 5 W  g ] lt <  R   XBrg , C }  ?   > ^ o . [ b i D"9SN# 8 W b oO ' + {") mW >c t   J "#!""= "  < 2i Z $   T ^RD"j00 = / | #G,}<  r}|% b YH z H:t $# t JQ#$  %#M%Cp *Kf xo) ^Y V w g Zw !$  / < ee } }.bh3u G > J  wG,  < ) 2d  { Y v>E!f c E#"#"""#"""#"!H" +n""!#$"""""!#""""#"""!#""jd c#s#[f') {   @  @/AAA큤A큤fl fl "fl fl fl fl fl !fl fl fl fl !fl fl fl fl fl fl fl fl fl !fl !fl !fl !fl !fl !fl !fl !fl !fl !fl !fl !fl !fl !fl "fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl fl 30ec7bc0a324e67a42d0135c8d946ecf3815a1a663e4fd4a281b68cc3db70f99da347d9d1e946c3e7051379825611caee5cb90544998c06ea08858adf0cd6caa43f0e5ac74d34ec8987d323adbaeb55836ada59b377033f59de927ae081bcbc8a9c3e88986038ec488a76d40e8b90ae7f492e39ccf2d07a2f6acba948bf21ad6986bc2ad5c29feb0a3a31539278946077523ebdd464c882a0031dc456720fb68986bc2ad5c29feb0a3a31539278946077523ebdd464c882a0031dc456720fb68a1facb76336597ba404fff950edef9201ea14dafefef8cd7d94590014ddf30eda9c3e88986038ec488a76d40e8b90ae7f492e39ccf2d07a2f6acba948bf21ad651d437f53835ff9a0bbb53ac4bb38651a85a6e5f51dbc7e14254ee65d5c555e2fcc007f09e9bce5170293bb5b5b92c6885be45b7f2d4092c291f6ff9f6940efdbe22e098d530db8207bad370fa1bbad7dbb3c1e828aafd5deed987eed8e58d8c030bfd6f1a194ec5e75a574058bb21c669e9bf93c158c0b8d0a48e325177c74b51d437f53835ff9a0bbb53ac4bb38651a85a6e5f51dbc7e14254ee65d5c555e290c907a6c9d0705ed4069b4c697c7675b4c76ae99908a0a422d1be0dd75325aafcc007f09e9bce5170293bb5b5b92c6885be45b7f2d4092c291f6ff9f6940efdaf89f2902fedfd4e379b6c9e772acca63d839782ff190b87783ab9ed75ef4d31a9c3e88986038ec488a76d40e8b90ae7f492e39ccf2d07a2f6acba948bf21ad68671ee9e1a3dc641505c48eadbeea2932b499d1af4cc1972eecca040aa466e5ff8d58a05fb0f51a524724be529bae6630d614a2c1517f521e91b72d68461961e33c91acf5528dc81f8c9c649437af792ccf75d68e7851dbb3fb0187462e6f4674a7716e36b75865dce629cf5717f752b0935b02b38d5993096c2d1e682b422ada4ab3f7b2bfba4820a22d228d1e503d040a803e8d59ab5ca5d88dcee27d53dd97745b85aa0aa042df487a12889e9fd7f142c6ab74a15dde3a274b5435d228735a9c3e88986038ec488a76d40e8b90ae7f492e39ccf2d07a2f6acba948bf21ad630a1bf0c0b31ede20899057bb85210bc5fda33ee4d3d04b5356f6c931c7b469809194d8adcaf9adfee6d522b6439d2b86977da05e1094285542668364ad4085e1dda720b51b36f7c398d3cf2355b5697ef58f9997b52ed85a30419d0667e0a01ede8fedc52bf35b5f9cd20072aa3dd125d788c9cf3312edbcb7a76688775e04814c339be2a90b1bd6513403e4188b587576ff2b644409d7a97bbcc4c5fbf1a05a9c3e88986038ec488a76d40e8b90ae7f492e39ccf2d07a2f6acba948bf21ad644e4b3cc7c99948183b1f2284837ca3cfe4050bce26b01a6636aa037ff7a5ff08eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a963273bf806d8303763f5a773cd4b5c0d9075fe642dec46d44019405a5db631a62a8eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a96385d323ca91f2e62b369eeed94c8ae4b6e75f0fd7ed950854efb9132a12b25df58eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a9638eae2b5cbf641a092849566b412531d5fa51245376fe77e619c2bf7b2ac7a963db02052d0ac1f3c7b7dfdfee94fea643ae6ac0ee89e20b643dfe59f4f262be646372bafb44f103c4402fa4b0bac68e87dda2eb3d1186b267d18dfb2e358fad3b4692b1a6f0260636789a074d844136ba0d0681af69f6c9dfd3370640ea0f05b3edadaa93439ddf4352c9ede892fe6142784f11186ea03c854ef98ddcac19db8cbf177ae1af763c47e035f967d053c874ec037a90d118fa9ce1ff825ea2bb0548e095237b8f0461a7077219e19a1f6c06d7adba3b7d7afeb15e7bbc2deb7f793da1ef8761b516ba3ff17aaf242c735aeca990703058a7d821fec7ebcf6126f643db4dcf0a4be173ceaa3d1cfc79f6944c9a918b30d9f6e54e6e9d2f415e6b78351bdbb120ddda0323e90845725e1153d2d759147feae8fcf51f35ba392964d54d0c5c92b6153f9af6fa0c9ad70ff43f9f3018f91a3cce3b4b720be3f27a6384d4f4e65ef97b37e1df1afc53ccfa990b1840c1b73c20e910c63152bc19f97be2dcc04b2fe6fb0d3ac3c4a7e510dd9e59cdccb9adadf0e9ddaa51be9b2b283fd5ec75c61908739b6296de68982b74aae05e4a9cf69c294253aa66a9a6121e894f59c973862bc8c46bbf17a42eb27a2c1d43394d1e956699d29d3629c601af71ed10a3b26c7fee016ce6aeed8cdee9a83c5c377e93f6c044b43c8c832f673b438018d8bedd97104dec06a2f02dd07779bf2a5bb1e59b24e91167de7a91ae11d3347bd9a4a718a31a3b4e2c4c167ee4df97e7415d103615179c80244b8723a87c2f80dab5d44bafb23d583f16866e40e90bc85a4c45779694dac0f49684986920c8b4b33ecbdcc03639651404f8f63ed20564ff0299a7118a3806705714fc09c7da3010c5945e11fa807702c240631ac16e5eccdbbebc7be10c9405f9e04ad296de9ea41b6c8c29df6aeca750ea52b72719b6e54b31cfc84656cb3487eda7d4472a8bd42fc1b8f073876e33530078a2092732e8de9b5974dd5baa17df47e717e34f102cbba72c5fce27e4266830acd12fd3917020ded19fc02afc2dceb5ea91aa4b6dcd36122932575b82f51a7387c5e35b83f35b0dc6031cfd88bce67dbd830f91ef006367ceb3bdfa5d1f6c4913dcd61dd63858485d5a63606e375bd030b47da571cc2ad2105a5ff981e2d6bc9a792af522cbbbcbc0a500897ed481bcf2dc01c9ed740eb8daa77323adaeeb961c8f8ffd6ea3aa8003842571c276a6e24b05eceef5335945030325fc50463bcde1794f6748eebb85d9c7679019b9b6623609acdf8436f2f2d3d8022673de84c3e845330f68d02c665aa0d8a497186b797369c8a2cf9d35b34f310c26ad0703006977cde6f83b4f8419e239088e7c6a28a8e906990944bba868612cce977c9bc0d74d8ee2cbff8fda1b062b81ac45b5608c2c3e4bb6b0c4a17f44a406631bea45ae78161c5e7fe111aa068782a5a36ad0f2bb4190bbdc17ddb5c2415bc40e5d15b23efe32f9b3e69a3842deee88844a1f7ef8c2a453035b53a41d2f432266d92e867cab7646737092cbee0a6399fe9f606c0ecf9928f2b31ecc239dffe65a9f416aa205a2416e66b8a87ce63bd350bcedca26949282bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304aa72d3660021516ca67c0eaa28c0cdad646bf2e91f3345e576405ceb6838f8e1006ac2d1cb60d722d1f138bb0002c42bb155b6ab93db9b45fa4a748cf062475d2f1489d3a086f73f3de7b638827e737adc40c2ef1772d3458ddd304033adb7c308f01d399828a1d3f7a3504e61ae827f184875376cc7f301193973c268710b153369c677e1513314f27d643fac6dda39607ebcdab97f49b10da554eba6dfebd9de66230e58475d1666216da46e1ac87c009d6fa384eba0d28cadbed76bc979f57550d6f8f63589fb568a70ae5a19afd58ee3293d43cedc46a430f54a8fb4be014135e48b66cdb0ea43c352cd09143e50e1b03272a87492fa7676204805525c7f1e9aa988cfc515f83c708798b9c9a029935784f2986af71c73e8d81a25a6a7ead4c159eaf6b1dd37b91ab13821d14b6aee95a57ed22e2025a4e6e6249767178b326eb2802115d0a158d7cd315def757eedb9234332a8796b2993e34acd485f0270af78ed0b88cfd828f4727849536ae94b12206166e903df6dbbfeedf15d61d361ed7587e261fcc30f03daf6ade5b8fd10ef4f29bb0175fdf61c10acbf98e617b760cca85d0918243e873832089af8ee502e76e21e66ac047e318eac33725fcf4707167b5dc0fe4d2303aa9e68493ab2830d73dd0519cb56f78e2d39c28907118379d37944ed70a1acfba8f15a1ab5243f8938dc4d4a1d54e29d0f7dfff75e77c4237c4cc296cd596a2bde942d9995e826a887be2fdfff0cc596d5dccc8cfb894cbef72c3566b21234178c148e7878c660cf6a75ff994f45e1e8b6381c701d03bccd596f6af148150cff0e89ada74c58d7d7261cfd8290629a493d5d89c86a39e4c5cdc5cf20c5ff4b7e1e9f2320d27e560ca596770e5a3353202b35a11d542d98a8f42591a68130990fc84b838a09c0d4f57393bf4b63e960fcb0a2d1debc44fe70e1be3cc61a30e75c35fcefbde23f0d5dd6c3a9fb57bb8f264d7a6dffea8006c68b15ee688d0f6f574067abe9ac976282de58b2e012e453127304ccd632b692e9fc70db06f3c357308cf1c40979221f25c733779e2c93fa313e2518e9021b077017c2320e3e3c58472e82be6be9571a5ae0c327936da81097aa2392a6d8044b95cdbd22fc181e33f0588543b7e701c3bfce9405aa905f3b997eb5abfcb5e5c43c6bbc4319f6fc42ec77d84274ae2875b78621f32e2a9b6e4ca1f5ff4a6934f884efef46e5360e75cf1e928242c2dc1bb50a0a1a1d04eb4ca03b37abd59af6c81b20b60fff4f0de56bfe7753975118e6cdd99fecf973696d65c769478b604b26ab142b52d9d2481f2086e93f83c9256ec2aed4b3271eb30e5d6e72df1da2102dcbf635b54fccaca9f57a4370f3d3d7a5e15543a6ace24eeecd6c66e812c9c475e78eeee720e96a9d705566705e146add2606fad9c9d5c352fc2992e5aafde2a61852ed8939d415832117f81e4f8b8cf9e84ca33951cdfa4cfffac3d29a457124484a8d0e9f69ee538ec907ae0f8efe33a2fed119aec2452275db88c3fe6bbde47abbf78b0b4e8836a210bf10f849704434df6ca0a6b2df059b5ae8e3fa2e72fa4e3fee816397f4b2e0e7181d487fc9bff5e62c02848615996b3f5e3dc2bf90f69150dee4b3156a62528666c2b5186060074cf950b2a60e543ea4565cfe98fba17f365b090faf16a6b67c49ce2c10a345be6501abe1423ee948a733ef14b8fe112f0de695de53f98698c801dd29e235b94f5fa9d554766bd2214b6d92d32b7ed5d2f7fca5ed0f3b1a52285e4953b45b61d2d3772c442c375605290de0e89a5a9b5678f2cc49f5c92099c4ab33bbaf91d19583260e9aa5fde211a15ebb7b76740c8d176446d703725cb5b8f4facade459b0b789606f7a81c9a5aa044ad3ff75f4a2b13b72233d809854a1169ba1da37fa61fb567dd81be0e103a0ddbd2dfe027c4ad7c91aa5dd13aab73332e36985e37a32225ff75e1614cc8e39941003bfdb8ed7f27d3ab9af5a244f9c75f47e3e67c4fae50e81ff8b20aa24d80e386a2bee84c9fb2454ef673cd4cd04c5167c8553f1c787e2b5910ccf74134342366cec5090de0573105ab0ae3222184e84da6cea5009e6022d511d709bf8485a80b5aaaf66f90e23e534a9a8ea775eed557c796ddd22bd330c0ead3c88eba2a63d1144823b2baa20ef50447a7ef6102d8d22e10c6d183baea1d8d585032438399e3000c2b2bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304aa98c7125ae85ab47fcdeae45f5ab424838bfb0c167190468de47793cf01629b448e4973300a4855e3acfd625d0749fc16d4c78e5d125385f65bb7552a7235bff5334092071e6fba11275b870a6a685fd43cc06e5cdd8f99232d958225e0219fec63854539872d813a82e3851bab1a7cfcfef4286df4497a7a53a38a0b846a829112000e8e6ccb76ea881d9c249f2887e6c789b619de59898326729b8c622f1b91d5149907e46df39a8f29fbc03d574201c0fa741e79bf11b6d35417fbe19ae1fe648b287a6cebb39634397fa2423a12bc7bdb8ae7a2446f9d495ff83b37e148bb07c2aaffe883ddd309a5e4552ac56f96dfef4da4b707dd31666db96ca8b060d04895b2b9305aa451e3cbcbf76117bc3dfe2b061275374528833c957a0556998c0d77bd52c046faa6bc0ebb9f809410bbb99d5618afa8abb8d7ff921d29fa52d05442d73f209bf5ffe5205d40e5448a29d0d760efa2ace1d386c8a9d4e0c8520d8438043604181f711e5c3929e5ddf9a146939893e0a22c4fbdf7f4436c67815e4bb26e91db4637945b89c22b3523c931b0f151b3cbf59078b93b64e51fe03a304a692fb0c99dc0023c55e71881092e6b5e4bfe254d4e640e0f733c08b6a6bc49e92b6c758f51ed3d3ce6f088728f07c3511188f3150cb16dce150875e17ab78391cf12d86605dcee4aeb60b85ac532fb612a859923ad36e766c222fdb6fd079db48ec225bc1da60f221b23b83e58fbbd60497752665be54bcfc31eabe2c85e8104b1b75b5b76fec34d802839b238bf1747f122923fd5df5ed39ff47d21d8d2099882e43f315f63c3cc736a9878c360011fc4408e269ef4c0fbec960845bdf63f872f8fa48beecbb606c3695711d847b393f05c438e3db3ee0a984e378c861560e24bf1f301d1bc4906556d5abec62bd5890988fca55085cd1a7a2c8e4c0da008ee9f47010ac63a50d8d560c4a9b0e54304834ead5a6e741fad757acd206c71617785b5ff790854c320fb8da2a4835755f69496f5bbe66f1a0ce20fa4bbce6ee5a228fe0c4507ea0b1e72f80e24a57d80431646f3086fbcaeb7bf17bbc470637ebdc7cca351cc3ce7b3a04b92915eeae22f18ca0a48d79b6a2996b3d1b2c45a6255daf7d3553ea311fba2385e6e18210d2b4d6311cb8ddc06c1fdc702042381975e03c5e48ddae08ad9fdfcdb74c25bef8a96d7ad2568cb373d512ad59840e3db42d95edb0ca403177756b974e8c9c67d06202a134aaf07b6b764b32bfb6149515f96be7d399db8f8426019ad6bfd95702a425b525df877a710cc003dbcb1cffec4392846d311c68d02f8554d8ea1796d18f59a12ec9fe54f2774c73aeb2dce659ef548eca006838fac17abded4dec8488bcf987d90c2d2173733b30dee6c749d2048e18acae721b93dc3c38649e05616f046ab63541d0afc038c94e3b721f6b06234bf39791761e80ae8d520b56675c1c0255470b93b1243247aea52a6a024d226fccd07f91c478b0c91c11676e436fe96932dfc8cdff1d273e8c071fbf48b0311f178f9772308ae15b18d9c898006728dbab724be0115780c5e6937011d6896a74cded093515954ba5aa88b4727bf74750f258b8b7293551b07a44db9b9aae18bbb52ea781e10040aa0f9ea7b7c25f41b5d9741014e626e85ddb71b892871bd7b64a883dceadb3c492d305ac47b0fa45044d9924a97369d52402058f1ee059bf4be1cf26ce88c1988405d3bbaf107dfd3cd7eebd9f567c249061195125bd84d8d21a3626e80177c6ac9f4e98c9734574232181f5d77e92f91e021d2c1239429aa33fd11e15eed82d8e6c967a620f84ebb8187a8513c3253eca1e95c7511172b1c2b7fe65cf88d6566d141b53e72330a76b56fa668e86a48aa77cc7152c660930f9ca82c7729f50bffa0c9712c925a46a38ee511c9118a01d19a796a94ac7b3323ae5095a0b50b60f01e530e0ff9d24cac0d10f6ab0cc173e0e307dfb1de97f6af3e1e1eb47d6359b24c122bfb8e079c21a35d94498c8b2af707e761ca40dc25fcbbf9d4ed141b0212820da19e6aa3aaf03905b8b4cc42703116d04e1da8edca9677ff8891b987a68a063037c628665ecce1897e59ae388c0550e36b41c5a397a66243d3f568c31aa9f45ede11857b4c7904496b177fe358b7846a9840f935be8c6933df771fcd352f61d478598fdcd876262f2e0ffbd810384dbc5665d4505a4520235a02ce9ac2bac5f0c964f5f5432a0089c3035acd75c56cf0b61f42034669c772c442a28c486d7982b86d3480f50c2583974cb4d1f85e56a4c4deaab54d9cd0e2c8bce382b8577e615ea7bd421a37d3cc9fbe655632d960e364f37d5c95d4e8b9e81a69813f69dcadce634c865086fc5eafbea135ced8a5e509c8937d667b7180ac8e7a95a5abe28408a129414096bd173b746eaa902ce3e5b3e689b0a453ad000b6d5aaa0502222dbba98e069298744486c671582444125de46dba71826335687bd99a3a224fef7594c6744f0a38c6d1bec4f42f853afd5de14930959209500a393049608e03a3ffb679ac919b7476ba9b26f0e5bf1d00c84e4be9dbe14e37cb92bdadad30630f73e6cd220ce73f5985ab7fe7c507bde574703a0a3ebfa02327ffb04e91712e74bbe7445a6352a4eb33886988556327d8a79c98e3bc5807a25ab8437ea7ebf5f116ca0c5346089fe7cab785c5e967d53213c78483b5e01a77a74c273cb821d7e7d0681f4e7ebe71e45fb5c3f511071fb537de39610857c24c1bf785e44a53fa294d6d817a90d0abd8c72faa31566490b36934f936c7ed2f311111a00e858689d862bb988129397a87c1351c7e5850e2f48ea0912677aa6ae865820b8355f0de981e2a7502ca2f54ce1052f8fae6bd8bcb3edeef2e91a7893cf8d18fb2898997159dda36b339fcd467edd8a18914265fbc8e3cfe05745205155eedb892b8a3206d84db78ddc4b21e20696a6c4a141e48898eead6d76a218b2cdad98962f0bec037c54e6c2b1fb172b9401f5da014a6e9ea053d7ec4bd81d74220db37253629d756a6305ae8126a0198827f67e128ea91eb7fe69e6f075902d78ec23e2cdb510473e10bd50049b4243577eb9fd382a3d5329328e4e87acba85870ddf18e5f4e16de5008de48a038dae8c9df515da241f51c64315ad90ef6c444918851a10f98be8d91142cba0135b54bc62b0af412f7bf5fd2c35bb5b4047e58be16e4dc22b6031ea6ecef1a78f5c9e1ebcd624526f1a0500dfa4bf48dd0ac12fef795ba588a440c13d1be06bbf228f577130655e574381892448a56ddce2b9c20354b15f476fbb2c4ab50e9eaafa47060d53df44dbc6c8006ab4933563911c8804e2fa479e832e68ff604894d034f03e988dabc33e2afd2925d77012a7daa7641ec0fbf2c434af497afe0c0a81b1ebdcf41cbac494cbac900452e4097df853510b97165cec9639d82b0a8a6d624d46afe51d75b1f7beb117c60b0e49248b85ce8e9e7ac40d5b20c101f048c4ec1ec9e00f6f745e80add7b374bd05f9136d7dd5db32005319014514ef072bbfe1e60f9fdeda35e7590ed9dbcf4e756ef38ae09b7bce659750267f7ec5f037ec39041a08287abf9ae6fdedc027239b994c1a71a6af53a439d3f1f51393f62313111d06081542efc5dbe6c8b1a1b704dec759629ef1c639365614cf7ac15127d39b1c4bbc5f45a9c23cfe7b3750811b30bbbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ac4b1936f0810b8593216087ccd65478e060bbef48307d680fbc7628371a23071af274206a0b10cc0e14b9aad2c30dbeae54c4719a98821311d46ccdcf75ce4f4070dd448a17367a7193164f45337467f1e0dd0b03072212b65f4406ce9fcd204bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a23bf7ba1ac583bba8adecee609bf94a9159540842fea27b386d7885f661690e75076f1c782d31b75133be982206f655dcd58988e253de24160cdf6708e9b2218d37640b42abe87d377b34be5482879a01eb5357f484116b783427ecbfa0004160b02d844bf2f0ae9f1c0cf02b6dad740965b1cdd72aae6b5eacaca9bad8d20b850f1f5e75595a1ce4cd24028fc7819deea6cc031065d851d53fd28b6c97e36fbe6fa2baf1e7a88639c39b43125962e189dfedd404060649d5d2e9010a2d52a3847f08073773633ae1020ff80d5ad15ebe9f73571896384f3bb0cf3a77525b3bc05dc57611572c219e7946aee1147666e2ab9150996bf27b80ec6bd707d429a1eacb9193ae88219b016a76c446e36e0b93bee1b85fd64d8dc62664a0ec8adc2d1725f5b45d9651d65c63a4a27a511882096bf3323b2bdc620cd1569f3d1893e57048d68e6be2f9d3da364c2bec9b2015a1c0ae072e085690d912b4b9520a2b66fa5f4283ab0e07d746e2c0b27ea36afefeb3362d50b901a85b24da969884b12df0662ed21fa5d69bb42ce7c62b025457afea1abdfbc15179f3c36eedbfc7bf71291bf1eea04d35d1ae9042f5bba91c6609b153ff178293b37c781dc1992542ab8a78b8e93442df355d38c39a1d099eaaa152b96006f3b57299b0dcbd665ee4219f991abf5af6c263744a6f1f75ebbd0a711b315cb0182b44448294d46b00cea375e828656b6f73790b9c4cc7c2a5348b77e35a9b821f0a375c8d21d8b430c0e0ed5db25445fb9fb8a7e7b50e2f8302a4dc503d9011c4ac2c970d44b4f62a11281d6c0edcac7db5501636ca56e50900372990ef15b777af99e8fac286300db01850bc5489ae83d5ef9151262c7c0bdb113fb390434ee9c8266ef9696473e1fbdaf97af386cf8cd3135c88b36a9c10054dceea4fbf49c3be36c5a749cd31f71b3aa0706035c80f0712ac67594ae7924bcd59a2bfc143519c64723dcd45f8b83b680ea84c14c3f40eed1411aa6749f63b7330a541568ecff711ced936fa6504f63e9ad6d89996ca5c9659a1d4409358ccc27552dab4e212c3722106d9cd47d1bc1275a945d7aadd1673bdd577c9e7118636a7164731ceb930d2433b892d45af1595a2be1ab5265403c76466388fbbc0c09bd6bc7e34cde2363bb4d25382f6d5fb9c20a9546e47f9bebaaa52ad2fd8b7f47483353c222fffcc67b0afbf5613485b1e933bef6044c873ad4bf59c4cd896eed7673a9092ebb0c1abc0bcfe250f33a5bbabf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304af7c6cfcb637c34b66390fa789123761535e61a7939cb47e762fe41def0a7e54e266d386d3a41292580f1952ca717e0b2e63f2704ff0b9a9b59bc83e658e845a6ecc0cfd1c0f18cd2b585e24acf74231e7201eac600908589c08c91598704085f26dde74106e3b0577ad098e649f4a998e23cdf698e2a7f513a7a2b6cfdd2a55bbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a062ddfb1cf514bfb6a26b563dc58fc7ee2b193a6a462856e01f110d90d74aee21108a1b97b49dca8f7bd6876fe6980a871bc649988ff414579f037fbdde9477541a2e74ecf715d9d5c21d90b4a72f5b9d6e3419c3665e546d0f267fc52b2d0f0284111092cb31f56a0e0120238845eaeffe4645a59f7cbd75d0764ae39b5a8cafea501127b8445bd96b76227c59149c5ff68f818da266500839808d3de5eb0d7933b90d4039339fd19fac78911203bacbaee4b9729dbaf771604b52c2933d01bf753b3eb6b025128342735a8366a6c885a612a6d12c6ac1ee9d6e4d0810c48d302ddc71929ba0ce75819cf4c5b3541f240ccf921a383a1992d565edf38990ae94441651d2c8fca2aef6e832f9104fd327971b0a728a6bcab380d5d6540a4dbf9854fbb7e6bafa8dff4153f37f7570524adcc8f878cba623774f66c13388ed5d12417328967bd0321a48f0fcffd04eb589baa185209ce7da9253f866b3810d0ec5e6a4899447ec88ad50da42c6db66f4c7d67e7c7748791c4b6e24068fc31523bc1d8c98c619d7d8b25455aaf935f6b2b5397ec234f7e5cdd0a8ca233251f69cb58cdf9939e9d8e0f834903d2dd3203d5c1c1235be94eb43dc85e218ed25ab2272780d505410e25908980fa00cb6c0214edefb616cb1b1d051f5c9d58cbf66c0babb46aaa48676a6dd765e3cad5bb829b91dba8cb214d823bb6cfe135dc2703c227e204ce0bae40c7dc441fa2aaf926b5c62d6b87709f9241548431d3a19ce0feb80f869d02bd20afa4d8698d13ca7a0b2e16c7f87e458074a3db2766377e9d2a550ac4d4db58e5dcab6ed5ad0d6f32ac567a8a4b53424f6a6a0a0e030e3ce0ad39d59b868569fdd9bc65c3cec36ba9c04d0d418693076bff520f559bafe567ac82b0ab9e5c0035c8764ad36412c7bacfecc49592bfd7422704b9c2bc654a5a5865a6543964fb7cc89772a08eb8acfb432f19adcc919619ac570668e700c8ddfa9118f7439792642250c79983937d9e1ee2ccf930269ced8730a664c24905967c03efdf66492fa3019e84d042c9183720375f7e1a2e03e678795cb0faa239c6f882e82a5d41ec9f06f0cc3ddf51c9fe8fa49e4f55e8ea527c491ee5be2c2f4840ec24cebd81271205bca9cdc1d59d738cd97c825e886f3641c8d9f538aea8f193bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1d83b68d95c50011f1667a3b73e0b73f441bc6f168860ac09b647968f1a56b4da40989995590af71a75cb43a677866befa1b13546f77e7fbe9383ccb1df6412a5c9db7cb4c527cd7821aed50ac2a2a66567cd372026201f1239ac0422405266a5128005b539d69e8dcd5bbba6b01a22d3f3586a3dbf6e754851f362fc0ddfcecb8bfba214304eff999d07b5f5e946686e61865976acb2505a8a2244db9cf057cbbaa489e9c823cfc12858fbeeb98aa1efd70e058768b21e51b4975d5dae451a48fb3e925c876c3d80fcd1d12f7c0b5e4e487e7bd6e76c828ef16e0ef14f2b995bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a4b92a2e15a7ebad5c267572c68306fdf2060b9fb4ec3fc1346c208e1399d960eebe514fc56de2384241e98103cc78719d07ed87a976bd3c7e5b98db9a32127bbbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304aca3cbd2550f8dc6c9c53ab59f0a55c9135d154d9dee5270859bdf7ba3b471c0d631bb54ad20316efb652f3cf87eee6d5764b2df176405042c5aa6f20859fc1cb443ff9d19e3cec49918900f0a4d168dc360d4632bf6300b58dbee10163fea8baf214bafae8ea4934b7adc3118144cb38c03fddd8009c950a11728b399c7999fe7d4c4cc389aacd89a1d7575435c4ffd8d607c8b742a8437a5023b8348496de51278ccbf8a824642883ae35ac5b8d207db422d5d3c4df04bd198c76341bb7db6f5847b9605eea71b226fd4b6a735087b0d8b9a65c4510f74dadc78a00c01d9796deeb21538e054968fde5ad93aa0fa7d8a2dd5bafb9bc0c2fcbfe9eaf365da27534679b9bfda535a29a118493d36bee95ef40b20ecadde6f538a880481de00f116fb68d29f298a6bd5dd74876bdb76c36ef5a669fd06d289407eef1cbec1c2bd3485949a854aff3c91a21ba116f424021cd993814355298e2a47eac1f1ebb0e1d55348c5b6ecfeedf96885436398060670cc72eca8d4ebbe62298d45b01c57aaa32a0929038505fdae4c5c6b349e0e0d40dec6da8d47a9466ed9a9727e4bcd3f01277e5037676dbf3292b08b753979ab3b6fbbeb2b51b5e0eb499629e22c36b0203ef5c33138d5107b8e6779fd7ddeea2290d73a7ed79023b030c1daa153afd0fa641c71186384f459a6ac18472a0e4d3daa2e75fa220ab86bdc9907fc0d2529ceab65a14aa0f78d66adf2cb795cda49577f296dc9bf773cadda91bb2f21d22150d2b906185584bce721bf0129cafb0c4a59a5161f306471211a4692637bfbaa1f912d61d5837a0c65f531b3653daf2b3cfb78badf45097c058ecdf63d32cf55abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a7932d4224189bc434f4c8f05ed37f2ef9b8397bfd3960ab28d2fd9ccca7f8748299f0b8c48785e182e572fd9039e8b78f0aea126c7d4349fe303f0ca82d4e95542cd6f1e0045f26561670a968a93ba9009a18435b79f93b65c22f1906ad4c95660b79df2267e140ff07924fda661ab5a894c27d492bc16295cbcc7c4d97b935b3a14bff212e22161d6f7d55baceabba3cd5cb595bfdb3d42cbc580cd69c2a442c93b88f1aa14b7e8f3fd634f29e431726139427b9b492cbea7452eea6a624625ec1d12bc18f75e2f5097c4be5ffed5dd13518b4bff681f7a24675421375313969a79259c81321874bc92c35fc1d1e0c32b58f135b4c599477497938cc5beac8a7cbb9ea3a8497833c7e3a2d53e03ffb81162db2266178d081966d682acd241c6fe2c8b296f487156ea29b34cd16554dcd435c05500075afa0fde88656a1ab65e9890d9a9049ac62d1d0ead9f3560cc7c507749ced8083ad8c3c2d50b76f5ddfa8a14dbfe85e6e0cf17d747516a80725d70b09e178d651dcd2c92a59887ef68b15a2269dda621eb0c88e331d583d8cc3282ca64f738563cad4955a0eea5ba37b3dffcace660952302aa9d6f4d50c965a98b72068b0d94404a4ecfd8f8d37aa97fe5c44e27b2720cf7335cebfd5a60fd94dea1e6b047706dec494accd9b6599642cf34459ec1f316cda8ea6d54a2071a61d263995ea9496fe3a9e417474e28ce9b24f9c892d9332401c33d8b40d852e7655613d708cbc59cbcde582c4f6ce9db996f5b459bcdde11d4bba322975f20b8ce3137f7890353e10e4a692fddd85f543c25d02088430376f8a50f9a0e6b06ce904283563520e3910c9fba45115443a059830ff0620f010db497adda93cd0c068cabafd2f89d4b2d6c0b513765a005747e91f401668751d6071f00395cc407772a54686d02bf7f87c8a6f1490b5b3d6c2e321f97241c237eb4952c4db20f28f381431114aef718a196f659633d69d2455d1ecce61aa26b5e3b38803a4484c211434f5183185933c6169447d12cce5e38c542c44e562d075623ad665fd2c1a71d12ed026f0bd0dd326d9832748c33b4adcf8cc3d0c6605dda9a812f326ea592231b8bbe4abe6864d4113861887dcfb0d6defb348d05166c957f52b4e7fed55215f98a4ed2c1a02c84d689b7ec101bef9bb8bd80547922007fb259a5de0fb1fee2c74b0beba3d5c6972bc6f014778a475bb6633cbdc7b283a0f80fe4d5f20d379cc439c992b2a7c1413fefba74d45bbbb6b0405efecc669eabaefed9f3c4ad9a1ce0976750f9ef3e820fd6b9a5d84f7bfccdb13fbea15c450bde1dded0bd200f33cafc4275303696ac62a7c43e957ac278ead7787464e938344b891a151f9d29f15378bb956e6fcf1f63b2b32e7b610124eb8570137bb56eb7390dc124fa0ca5815db723fae81cb7ca6203813b32d463b3ec58f12b8d104257e165e9475cf61d1cef37d19354498614b301d2d78612d9487fb35e81137f2973b7291f1bfcb1fea05bccbc426cdd6eb4ab2df5334c6a5b3647a20bf61129382a1c786cb88a70bac25b2c3ace13f7d63a11d16fca3ee11d99456c0c1f9c3d20c9ffb9aa0a62c090bce145c53e527b26527d9acc59f34d0c0bf74b540cc0b1439edd78b9729a0f043240074603591c18205e0a2b71143c1f58e6b18aeb391fa360fe98656b6f60dc1b4181e691104fad931557ce49d14bb275e5f941275d18778fcec86a7928fb5fcbc1fd1a84e48f0d0c20a906ebe111caf2576c273fe7c1d7b4ccc6a407d1d8a1e50a6caa2acc1b51f211637dbe4548b39006b76e701a29cbd8cd14c6906237ec8c0cf805d1433c537a1fc6722218e82fb2827bbf8c1eaad4d43c3320d46a4621d07f75e6f7a5daba7ea6a65af44a48fd409fc7cc1448f9b0c8dc37dddb3f3dd18ff21e567c7570d6d4a7aca424756619c06be354086977fedb97b9d8b0ad3314f542132c73ab0fda35b20fbc0ba1dea14dfd6301d7ca78d96396f7d9918bc8430be161d38a2e6dcf0e424aab33606a6f0d2c92f25c18b65c1ca6bb3efa77cfc14275ca6399e46d214f99d53ac77a0e93f29bbc97df8b2d0efcb92ca05cefb2d7cd84093176ebe913aea2524fd4c5dc5d5109bed27e9d8012f5ffef0016bcfc6968eb01c11b3f1e1735534072d8c945f885bd0a5952b9fc3c38cb5691a3859535993067151d913cff9e24ed667fece25d4903be057fa9a3f5ea2712a8cc2a983155d5fcfaabbc71ff1d7588a2556c563005f65569934b919d58d7fa3ca6d6df3b43d87edd3d29266d38170c149cafdbe6c403c54e40789dcac42967523adad45decdba1f3e8e5b87f2a2432aa65377a4aef5e62cc932d12a3fc2aef4a255fd64c50f79c13213e2b387439d2327d4c94f33e9d4e914728bb2082ba85aac86d5ddb7e1c723a7741584750355ea6013c5a218c4b66100a69e145f75cf06286368a1faa797904b3b9ca930f2ace53324a2712913e1aaff0d103af1a880d9376dc80fa5180eea2cd8f1a4d187d7adfc5ce69c29088a85a33e4e18764815f8b0c9e91ea20076ae4d1c07100adb1bac30c8dca1d7c0e60f54cd6fafc9d6e9f312f00feae0dfaca8c80c5b8531f25ebfa86f49c3ce6dcbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1fcb37954386852584d5149182979527cf19de0326dd06df797e47e9fcf82937f123b7b7be72c5c383143fe7edb54b212563ff5ed8e2e07b353c71f97b8f167892f024f6c0699e4ef75810d06f6c8949e2b7077cf824069e5512cbfc2d56c477603d6f3b8993175b263b70d724ada035ef13360e336042062183837b6cad191e990299717277be2571317bcf8d3a41da595346b38e6184b49195c4c8e9b9cbd9f259e46064c9ef6eba872f189e4a42891387f75a80a877b45b465b0a26f38b6dee5c5baed03222b28a19588331a0bb52ada0ec313579bee395f4b5fad228cf7aa8cb7d3f5fe04a791a0d32b67205f4dec1648e7b8d81e4713f7135d9ba543c2da112a931ba142518687be3286dccc4572bbe907fc6a6e2708ef73c6f5f5553605d9e46d76d4d42873708fe0e0e2ebe7e596da94c624869020d6b5fdbb6708679b56af1a3f38cb10cdac7d3843c2998687970adc09d16814756d34c0445f1a9927f58c65ac00948d069f757145b1169bf8918c7386bd8485f884254f54d3ca18e5b3a6fc587656a72eeb848f2538ca0e111a8ec67ab7bc31379a2ec9a17725cd6854ec6e936001059cdb05aad4bbdcea951c565e788930eb2ad4ec3cd1f8e6e11f1aa142d4c82f361c464bd1ff6f67e756586f0d1005fdb65c8ecf66f005fffa26bbd0ca0c41d1ba4180dfef30d3699654f83725fca3bb6eab204a3d48aaddc51aded8a7571cb121cb613a690d011782c4e9db6bab86673a6aa9f631f06ffc1a5bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304aa0f120b050aa8b4483feb4839bef806e62ee1b6ab9968ebccdb061d46d251e04a352359bd9b547da63709c45656e5d5d951d7ef817c52b2c5c83651a0583f5afc67c62ab9f8477c089f5bbc0903341a8f60f4e504e71cb612d88922a393d7ec2a9894527b4a6ff2e43303f90d9402ab2b7ee8e84a3e479737756d35f81ddee3b2c332c72687756926df9aa92de998cf8f60f97c8fada24e8ad93d864fd950bad95f6c72ee175fb49463585bad0deebcef08e2ce4f070d7e0815c9ff9544dafbe9a69609113155a09e9dedfea3b3910bb025d2d9fe0ba7005ecc9691d2d7341664848feaebe61efe519b564634c5128cd0c20039f57bb2b9cd8800bfd65b8966a039130dd440ef89360c815113f68c252116387e95f62568afd9ade9101814b67966ec6dea5aa6f71e3d3a45878dba2452c38b220196e79b1b6b63f2073bec74fc0bcdf7b7245c45dde145aa1d7602797cfadb615d33cea3b40d0a44fa6c22865aeee14e854eeebf0fa38c71d4c59dac1f886b42d63db5a30cc812574e0ca15b8d081339975084a9683c980dff4b0d8f2df40c4c1314dd68477d94efccbb1d074002b67864c6d7abe4be590919303d16b1c7fe898de56f942b60e9dba4786566e9768ee7e783dff0bc52885b80e1708f6ab6db38abc10538fe592454b9a6252ec1b83e9ea5965da0ac4591cebf9fbae67e9d28cda6b3fba65bf566cad6ce45508c2e15227d3a20e672e4b582195452e18f86bf0732e230f90510a2c72345972f4b737f10267ed12d2b5111640e16a8e10b9fbf1ca021fac13fb3a24776a2956a9993e07b1f514acb667aa3d27becd737f30653013877fc0f6477257b794353d9805135fa596aa473ea746079da9492c2f702f73af3b73c0f7b982fc0808c6fa1acef45c882bf12fd5e8debbbc002214e8be564d4f7b0e9c429483d3646bb86a2d33aed6d3da1a23032ededbccb7815dbe4cbef2ee4f25b56f626aec5a3f06cba1be73bbf4340e697b173bf6b1ba47593d92008c2aaaa7197389a47e7ebfb8ae34327e5e7c2a85d6da2ec07e99a6d78249513e9ddd89993517b5544bacac33d260995f263ad6101d5b08d6654b7d69d6df206421be9c56118425d40cc5131b6e608800fcaaf262ee0799dca8d3a070c6743d1b9c9aa10d9f0fcb8b8566a0d6d862dbd2fdd9a3a199b4df1f970807d34881e8d0b588b19dd36ac91a7a585f143de49232982e10bdf6cac8b16f92f8264857369006183ef4f8312b0d9d45400ef355641b8504109bcca0646e7a86799b532118b5adcd65be41d0362a3805597dac78ba0ed2a327e15dcee22f90ead6d24b9759ae3b023dd2f647425bfc5a762a6e3728e17d659b5f21f72f5ae8e407df4b5974fd5fad28227e1d0429e7c08f58779ac2e1cb89b4ed9369234d7959be4c05b8ed9d9b6021b6ecc5dfc3cc054c74d0dbbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a7aab906b268fd5ba1d11b4add8bb95c7d0926e10fc1b9ffc3523fb67505192591c2a3f03ccb1d98c7ca7a45f4f4d3a3851d05ef2dce868b595f3c58bc135de3c755201bbc8d3c07413c81a4e0d2dd198b4e30f18da2823233403ee0c8374cd7e61338d761f23de4f4b8b255ed532ff5581cc28ed061d2a25286c3ac125f1eb1137f8fa7cc46b3214fb19a43d68db6400f4c3ff51c12d2fc9b536acec9f360707d75577d08913cc513800ccb6a6d0856c8a172e0b320c3d3ad990a811eb0ba0f71203f319f26fd88534b0fbcdabbf4db05991c2587517e8efb10b4e57598317fd871bfac1a5e204f1b30606f41b523e74c9764226974c38bd384d8dfaedd596bbbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a6f256d78fc2afd451f2e2c1abbd09d45388f2ed0da562d2eac68f786bb4e2fc61b83446d66e8b81fe361cbbc6a247ea095adfde55a06702ac01373c802c3a2aab1a381714f1aa091e8263765f859f281787e01f57dce157bce115ea638505fbf8fc3e0fe50ab5b6fe850c5f6c0a2bee23910b2f2672127474e23d06e30548f726cdc34400453cdf293aee7aaf366842be48b139e49114bbd27fc4a2e3d0801e837a11c43b58e136f347873c07dc6d7433ec4a8e564417bca25404410ec42bce5be3c3ce8a85320d2640377aa04ceb36bb9a6840abbe793770918025f9538f5d5fb402476b93d1b1e03cb94552e75dc4f0a5d1a7e052c681822084291c6820df0c9a7c0252dbd010d7c928a487ddfd95e6269fa8c0f9609bfd4343175d0f79cc7d527b2f8730ef5d6cb2146b84007c9ffdb0b62f5044365c2540671f40eedefa4e29735acc8170569860ed9783804feeaf55bf7bed8aa1aeecdbc1519991d80bf8aabb44db0201fadb17219da7648ab13237a57e3def9425986f5f57c9e9ad34f3222bdf1cc434f379f084ae4d1c54ac8d85ca28ba307a416e012b1099d12aaacb55088b8583b82469f50cbc4d78f5a8edf7c515fd55f30c25079fbea5c219b2288e153744bf5aad85439ee572f0a28b34e60456099d89248168f6df1bb2deb7dfa3f3ae35282fc7312594aa3033a647d7b87374d640569190a4f0ecc4c4e079f81dcc227c635b72a9c20da96a25d13b8ed853a538d34ae83387bed8df527cca0c3f14e4b5d2a624c1aabc27da4a221c01977110a7a65a079511f9680325f53ce94204ad4332a7160dfe77f2df7ee23194d0345aaa4699f961baec0ada8fee3590a5ad44283da860d7f6a241eb6f7b9ceb6b36ee1be76935aa51882cdbef5a164abddc57915c48a9bea58be264c27fb070f6b6dd1a5e9f889fe8940c5190d47621d871073f1176ca5e6c4dbc506c4d9a8c914d83af910fc75b9a2e22b0a2f113fadfac774e475d928183f86a3b444a6e6ad5ddbc2aff16f7c669148b70737984a4bd3336dd3b21032897d58e33c5f8018bc783f5214c33cf2dd1c58815ecda44d0e09315739108f5642732497115edc8bb24059b379dee890b9a5ab261f1ae4e7a548537e2a572226f96f72ac9cce4c2cbc6f9bf3a193637268b1a8bbcdd8fb85d52762e59ae0b40b00949a559a4748cec924e9a8cc7aeeee3ff0888a48e4203b659c3e37d284369205668b364383cb4407856fcc7c49e87b7edc714b230fce6125d08b858716918c38888a0844350518b82f8aad54053e423263fd6f3c4419be1c61689a222188addb755e181a23d3c04be4e79efb97129829aa3ca4949aa36e8c637292e51926924f8c75f55558fefaf491eb718c7fff5cfc1cfcb238025eb0086967b2eda2a03c6f5d2fe9fa805bb49ff2dcdcc9ce42cade7e4c57f2c6b07801d01162ec366571dd9e9b1d46971d745b8020adf3f6defbb48a03bc7493e5fc07aabe23ea9c3597a5e1f922dbf798b9d50bf00d676a42290d7a4780801688493cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b463ea77fc3dc4c4d87e97bd4caae6a0a9051003823699e48dd4f15f95d5c095f720d2ba45218861fe0267ae2e5a282cb48ca577a2eac292389a86856cbbe333bf13cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b465dd10247d44606126edcf672a3957bfde4b11796f7bcfb3204b8a194c89bbef025dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dece278895e31ee80f266fe134fbc11b40e766634b6ff640670a3eb5ce15d0bd19a74daa36c0921f76df77e8a658bda9a3f927195602c30f5f5f1ca6b804d62e5d8b4ee6c9fe8ed02e66442d5275d5512e1ba4f6aca5f861dbd258f5d6d08bccdaf1d5f8b3716470c39ac414f069fa24f6e58399371a16df38ec6b80dd0663f5247fc5ff59410994fc85e696ac266861aad412a24fda2fc7237334a478d44e08b3cc627e495b83c8b218bd323330acee582d38e1656b200cd0f6e603316cda8421bf4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6d2e2374523c404d185662b54b404dad1d386503f2e4fe1374e0ee69e471f0c998b2b8224db1b390201a573f3f2853f56de5aa30e7235f677961537e9eef727835c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e98b706453c4e1a44bd30c606910ac32a7acef84e6dc7c0e85443120d0bb3d515a6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba7eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c2435505731767eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452156487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba114cd9f6b0154305db6b00c92061ce9828fb21450ef4e4d512b718ad90a75580471cf64f5f4eebd9f801b45074b2aa72e8429ed1e587c2d274b3bfe7ed81a09aa648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452153cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3ad1c1337f68d4b867132a4912edf16bcae83621c4b433d310fcd0c25b949339c99efc48842adb5459146df59d6524041a7604bdacd6cd718c316385fc19906fafe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfab94b7a91176da1c830c3d55badb3b72420f7030b11a17246d33c72231a0ee21a9fedeb73c117261fc2f7c0ccd08184b7bdb16652e8941646ebd561e7315593b45c08ea4cf65c5ff9f1d1e464b17d4ade3a82808c5340aa05cd9c4d7868314fe605b5220d4669b30fa845288b88dbb89830f31bea2d729f3051a7f9725193743052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de2792abc9c3b6431f4165dabe2fa763c76c75cd3dd139875e8218179efaad5acf3c318b45331c0717f62fd2bf5231eb9e4caaa90bfe55c466db62741581a096e7e8389204ba5eb6766df7fa1f2cb1cff266e3cfc7f02113bc0b5027919979b9bc939fad61c7c6c6536df4b21539a8812918ec787caf679814ac4858a9f6a5e40acc5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adf4f1ecc5b9a56db8ba1edd21091e49ed8273e94854d5d2d5712b21bfb5e57db6ca5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097decbf1794f0c5b8e39c65fcf1c4bfe7354d66d2339a39af56a482c2f6f6d5bac37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcfa5daff91bb87d4112651e32b8b9740ce55ebe8bf336822fabcb4ba5de17cfeaea5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec37c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcfa5daff91bb87d4112651e32b8b9740ce55ebe8bf336822fabcb4ba5de17cfeae5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcfa5daff91bb87d4112651e32b8b9740ce55ebe8bf336822fabcb4ba5de17cfeae7198e65768a8a2443b343abfda587a7ec289c4e0e8ea7f029939f8ad8fa372be084c2f2876d9c6b1330e87f236d0ecb7697963863f96ad392b7b5049b658006382ff927865b3e6739d989e0c905793fc1c07837d23f7f9918c2300b63473de0c695c3ab9bf1bf6c573163cb25aa239974575cea5cf351c9a78c2bbfc8ffe916e8b9da1aedbb39e51308480c9226e47aeba6a782366f425cab86a644e49ccd4ba84a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e87c09e04f23378aae873680e1f6b247490ad9d1bac8a4660438c52b5c190577d5d97236aa489dc55a7833d0d953a7580e753e9cd2b28d87d14a276c4cc2c5a373cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b465e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384faf46885d973ce83d58bf8c88cfa3255b4d1234c7948a36b8bb47a5adf3216344c30c8fdffb77e0b56977921ecda13399a934ae3eb07d26192bddf40464c105bc5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f60f150830887038c369f8cbcd8d1b065eeace6917e9abb08f2bfeed7734279b81f622169d4830761d58a14f283ce0df6a88af3f68822a2c44754536ddc7a76645369f7332bce437594d7bb786b39e16851e61a31acbb79f382ed908abe88c0b19b85b4a1cf58fde5495e1e7cb249c25c301bb5c3fa9c7a481fda3c59d65c69948d8b0d9a71645a2d62ad81f936a97009430d7d7d30ac799e9b1b3a0de82df0af63a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca310c26f314a668296e69a3fc4e3c6b66f937334bce9d7fa501950c31dc1fa2cea84a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700958fcaacbc0a3d6ac221bf497656787dfd4095c328d343465b617246d6b22d1eef617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf1af17b2b892bf07bcb786268f80f67c6b01aefb0c1f9e26d841344790dd90f3d6a384bff47e652aa5a4708d2a6a6f2218394d30482f6c05b208e630c4389476c000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e9cd6501ad972d5ffae70d1b89a0f6389de1149913e13a721c919286017ab91f2f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f67ab94577e81228f0ee197beae55b37b3e252c4d24710654488a53fbed16f634f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b463cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b462f6288a1b58376f3f46ad30b27b5a806dc065453d3a98435707352db0c80fb28196c6e627b94a422cdd4ce2b4e93693df00a8dea71d82ee4bfe65d13b7c3f12a82e51e9c74958f9ef4097fc61b5bd916e5d7930f21b82e4e00a2bacf7ccd6bac9c0b0cd778f215152dacd729190ddb481ece4b05d1343b9c400b9662453792f73b880921e4bd94aabeffa501dd026af4e8a9a83d68c4811e5ad2d91aeaa443997bc571102fbbd0c362463ed6af9808fb301b5780637e1e31077e70780f7607143c85231b1aaa935c296698a4941997001db4d806db62b240e1556c9087631a6empic++.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi4-4.1.4-150500.3.2.1.src.rpmopenmpi4-docsopenmpi4-docs(s390-64)     openmpi4rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.1.43.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3c-c@bc@`N@`N@`[)_Wr@^^y^s^^]]@nmoreychaisemartin@suse.comnmoreychaisemartin@suse.comdmueller@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.com- 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.s390zl33 1718356566     "#$$$$$$*$$$$$$$$$4$$$$$$;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^^^^^     !"#^^&'()*+,^./^123456789:;<=>?@ABC^^FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^^^^  &'+,-./01238<ADDFJ/LMOT<DDFJ/LMOT<DDFDDD4.1.4-150500.3.2.14.1.4-150500.3.2.1manman1mpiCC.1mpic++.1mpicc.1mpicxx.1mpiexec.1mpif77.1mpif90.1mpifort.1mpirun.1ompi-clean.1ompi-server.1ompi_info.1opal_wrapper.1orte-clean.1orte-info.1orte-server.1orted.1orterun.1oshCC.1oshc++.1oshcc.1oshcxx.1oshfort.1oshmem_info.1oshrun.1shmemCC.1shmemc++.1shmemcc.1shmemcxx.1shmemfort.1shmemrun.1man3MPI.3MPIX_Allgather_init.3MPIX_Allgatherv_init.3MPIX_Allreduce_init.3MPIX_Alltoall_init.3MPIX_Alltoallv_init.3MPIX_Alltoallw_init.3MPIX_Barrier_init.3MPIX_Bcast_init.3MPIX_Exscan_init.3MPIX_Gather_init.3MPIX_Gatherv_init.3MPIX_Neighbor_allgather_init.3MPIX_Neighbor_allgatherv_init.3MPIX_Neighbor_alltoall_init.3MPIX_Neighbor_alltoallv_init.3MPIX_Neighbor_alltoallw_init.3MPIX_Query_cuda_support.3MPIX_Reduce_init.3MPIX_Reduce_scatter_block_init.3MPIX_Reduce_scatter_init.3MPIX_Scan_init.3MPIX_Scatter_init.3MPIX_Scatterv_init.3MPI_Abort.3MPI_Accumulate.3MPI_Add_error_class.3MPI_Add_error_code.3MPI_Add_error_string.3MPI_Address.3MPI_Aint_add.3MPI_Aint_diff.3MPI_Allgather.3MPI_Allgatherv.3MPI_Alloc_mem.3MPI_Allreduce.3MPI_Alltoall.3MPI_Alltoallv.3MPI_Alltoallw.3MPI_Attr_delete.3MPI_Attr_get.3MPI_Attr_put.3MPI_Barrier.3MPI_Bcast.3MPI_Bsend.3MPI_Bsend_init.3MPI_Buffer_attach.3MPI_Buffer_detach.3MPI_Cancel.3MPI_Cart_coords.3MPI_Cart_create.3MPI_Cart_get.3MPI_Cart_map.3MPI_Cart_rank.3MPI_Cart_shift.3MPI_Cart_sub.3MPI_Cartdim_get.3MPI_Close_port.3MPI_Comm_accept.3MPI_Comm_c2f.3MPI_Comm_call_errhandler.3MPI_Comm_compare.3MPI_Comm_connect.3MPI_Comm_create.3MPI_Comm_create_errhandler.3MPI_Comm_create_group.3MPI_Comm_create_keyval.3MPI_Comm_delete_attr.3MPI_Comm_disconnect.3MPI_Comm_dup.3MPI_Comm_dup_with_info.3MPI_Comm_f2c.3MPI_Comm_free.3MPI_Comm_free_keyval.3MPI_Comm_get_attr.3MPI_Comm_get_errhandler.3MPI_Comm_get_info.3MPI_Comm_get_name.3MPI_Comm_get_parent.3MPI_Comm_group.3MPI_Comm_idup.3MPI_Comm_join.3MPI_Comm_rank.3MPI_Comm_remote_group.3MPI_Comm_remote_size.3MPI_Comm_set_attr.3MPI_Comm_set_errhandler.3MPI_Comm_set_info.3MPI_Comm_set_name.3MPI_Comm_size.3MPI_Comm_spawn.3MPI_Comm_spawn_multiple.3MPI_Comm_split.3MPI_Comm_split_type.3MPI_Comm_test_inter.3MPI_Compare_and_swap.3MPI_Dims_create.3MPI_Dist_graph_create.3MPI_Dist_graph_create_adjacent.3MPI_Dist_graph_neighbors.3MPI_Dist_graph_neighbors_count.3MPI_Errhandler_create.3MPI_Errhandler_free.3MPI_Errhandler_get.3MPI_Errhandler_set.3MPI_Error_class.3MPI_Error_string.3MPI_Exscan.3MPI_Fetch_and_op.3MPI_File_c2f.3MPI_File_call_errhandler.3MPI_File_close.3MPI_File_create_errhandler.3MPI_File_delete.3MPI_File_f2c.3MPI_File_get_amode.3MPI_File_get_atomicity.3MPI_File_get_byte_offset.3MPI_File_get_errhandler.3MPI_File_get_group.3MPI_File_get_info.3MPI_File_get_position.3MPI_File_get_position_shared.3MPI_File_get_size.3MPI_File_get_type_extent.3MPI_File_get_view.3MPI_File_iread.3MPI_File_iread_all.3MPI_File_iread_at.3MPI_File_iread_at_all.3MPI_File_iread_shared.3MPI_File_iwrite.3MPI_File_iwrite_all.3MPI_File_iwrite_at.3MPI_File_iwrite_at_all.3MPI_File_iwrite_shared.3MPI_File_open.3MPI_File_preallocate.3MPI_File_read.3MPI_File_read_all.3MPI_File_read_all_begin.3MPI_File_read_all_end.3MPI_File_read_at.3MPI_File_read_at_all.3MPI_File_read_at_all_begin.3MPI_File_read_at_all_end.3MPI_File_read_ordered.3MPI_File_read_ordered_begin.3MPI_File_read_ordered_end.3MPI_File_read_shared.3MPI_File_seek.3MPI_File_seek_shared.3MPI_File_set_atomicity.3MPI_File_set_errhandler.3MPI_File_set_info.3MPI_File_set_size.3MPI_File_set_view.3MPI_File_sync.3MPI_File_write.3MPI_File_write_all.3MPI_File_write_all_begin.3MPI_File_write_all_end.3MPI_File_write_at.3MPI_File_write_at_all.3MPI_File_write_at_all_begin.3MPI_File_write_at_all_end.3MPI_File_write_ordered.3MPI_File_write_ordered_begin.3MPI_File_write_ordered_end.3MPI_File_write_shared.3MPI_Finalize.3MPI_Finalized.3MPI_Free_mem.3MPI_Gather.3MPI_Gatherv.3MPI_Get.3MPI_Get_accumulate.3MPI_Get_address.3MPI_Get_count.3MPI_Get_elements.3MPI_Get_elements_x.3MPI_Get_library_version.3MPI_Get_processor_name.3MPI_Get_version.3MPI_Graph_create.3MPI_Graph_get.3MPI_Graph_map.3MPI_Graph_neighbors.3MPI_Graph_neighbors_count.3MPI_Graphdims_get.3MPI_Grequest_complete.3MPI_Grequest_start.3MPI_Group_c2f.3MPI_Group_compare.3MPI_Group_difference.3MPI_Group_excl.3MPI_Group_f2c.3MPI_Group_free.3MPI_Group_incl.3MPI_Group_intersection.3MPI_Group_range_excl.3MPI_Group_range_incl.3MPI_Group_rank.3MPI_Group_size.3MPI_Group_translate_ranks.3MPI_Group_union.3MPI_Iallgather.3MPI_Iallgatherv.3MPI_Iallreduce.3MPI_Ialltoall.3MPI_Ialltoallv.3MPI_Ialltoallw.3MPI_Ibarrier.3MPI_Ibcast.3MPI_Ibsend.3MPI_Iexscan.3MPI_Igather.3MPI_Igatherv.3MPI_Improbe.3MPI_Imrecv.3MPI_Ineighbor_allgather.3MPI_Ineighbor_allgatherv.3MPI_Ineighbor_alltoall.3MPI_Ineighbor_alltoallv.3MPI_Ineighbor_alltoallw.3MPI_Info_c2f.3MPI_Info_create.3MPI_Info_delete.3MPI_Info_dup.3MPI_Info_env.3MPI_Info_f2c.3MPI_Info_free.3MPI_Info_get.3MPI_Info_get_nkeys.3MPI_Info_get_nthkey.3MPI_Info_get_valuelen.3MPI_Info_set.3MPI_Init.3MPI_Init_thread.3MPI_Initialized.3MPI_Intercomm_create.3MPI_Intercomm_merge.3MPI_Iprobe.3MPI_Irecv.3MPI_Ireduce.3MPI_Ireduce_scatter.3MPI_Ireduce_scatter_block.3MPI_Irsend.3MPI_Is_thread_main.3MPI_Iscan.3MPI_Iscatter.3MPI_Iscatterv.3MPI_Isend.3MPI_Issend.3MPI_Keyval_create.3MPI_Keyval_free.3MPI_Lookup_name.3MPI_Message_c2f.3MPI_Message_f2c.3MPI_Mprobe.3MPI_Mrecv.3MPI_Neighbor_allgather.3MPI_Neighbor_allgatherv.3MPI_Neighbor_alltoall.3MPI_Neighbor_alltoallv.3MPI_Neighbor_alltoallw.3MPI_Op_c2f.3MPI_Op_commutative.3MPI_Op_create.3MPI_Op_f2c.3MPI_Op_free.3MPI_Open_port.3MPI_Pack.3MPI_Pack_external.3MPI_Pack_external_size.3MPI_Pack_size.3MPI_Pcontrol.3MPI_Probe.3MPI_Publish_name.3MPI_Put.3MPI_Query_thread.3MPI_Raccumulate.3MPI_Recv.3MPI_Recv_init.3MPI_Reduce.3MPI_Reduce_local.3MPI_Reduce_scatter.3MPI_Reduce_scatter_block.3MPI_Register_datarep.3MPI_Request_c2f.3MPI_Request_f2c.3MPI_Request_free.3MPI_Request_get_status.3MPI_Rget.3MPI_Rget_accumulate.3MPI_Rput.3MPI_Rsend.3MPI_Rsend_init.3MPI_Scan.3MPI_Scatter.3MPI_Scatterv.3MPI_Send.3MPI_Send_init.3MPI_Sendrecv.3MPI_Sendrecv_replace.3MPI_Sizeof.3MPI_Ssend.3MPI_Ssend_init.3MPI_Start.3MPI_Startall.3MPI_Status_c2f.3MPI_Status_f2c.3MPI_Status_set_cancelled.3MPI_Status_set_elements.3MPI_Status_set_elements_x.3MPI_T_category_changed.3MPI_T_category_get_categories.3MPI_T_category_get_cvars.3MPI_T_category_get_info.3MPI_T_category_get_num.3MPI_T_category_get_pvars.3MPI_T_cvar_get_info.3MPI_T_cvar_get_num.3MPI_T_cvar_handle_alloc.3MPI_T_cvar_handle_free.3MPI_T_cvar_read.3MPI_T_cvar_write.3MPI_T_enum_get_info.3MPI_T_enum_get_item.3MPI_T_finalize.3MPI_T_init_thread.3MPI_T_pvar_get_info.3MPI_T_pvar_get_num.3MPI_T_pvar_handle_alloc.3MPI_T_pvar_handle_free.3MPI_T_pvar_read.3MPI_T_pvar_readreset.3MPI_T_pvar_reset.3MPI_T_pvar_session_create.3MPI_T_pvar_session_free.3MPI_T_pvar_start.3MPI_T_pvar_stop.3MPI_T_pvar_write.3MPI_Test.3MPI_Test_cancelled.3MPI_Testall.3MPI_Testany.3MPI_Testsome.3MPI_Topo_test.3MPI_Type_c2f.3MPI_Type_commit.3MPI_Type_contiguous.3MPI_Type_create_darray.3MPI_Type_create_f90_complex.3MPI_Type_create_f90_integer.3MPI_Type_create_f90_real.3MPI_Type_create_hindexed.3MPI_Type_create_hindexed_block.3MPI_Type_create_hvector.3MPI_Type_create_indexed_block.3MPI_Type_create_keyval.3MPI_Type_create_resized.3MPI_Type_create_struct.3MPI_Type_create_subarray.3MPI_Type_delete_attr.3MPI_Type_dup.3MPI_Type_extent.3MPI_Type_f2c.3MPI_Type_free.3MPI_Type_free_keyval.3MPI_Type_get_attr.3MPI_Type_get_contents.3MPI_Type_get_envelope.3MPI_Type_get_extent.3MPI_Type_get_extent_x.3MPI_Type_get_name.3MPI_Type_get_true_extent.3MPI_Type_get_true_extent_x.3MPI_Type_hindexed.3MPI_Type_hvector.3MPI_Type_indexed.3MPI_Type_lb.3MPI_Type_match_size.3MPI_Type_set_attr.3MPI_Type_set_name.3MPI_Type_size.3MPI_Type_size_x.3MPI_Type_struct.3MPI_Type_ub.3MPI_Type_vector.3MPI_Unpack.3MPI_Unpack_external.3MPI_Unpublish_name.3MPI_Wait.3MPI_Waitall.3MPI_Waitany.3MPI_Waitsome.3MPI_Win_allocate.3MPI_Win_allocate_shared.3MPI_Win_attach.3MPI_Win_c2f.3MPI_Win_call_errhandler.3MPI_Win_complete.3MPI_Win_create.3MPI_Win_create_dynamic.3MPI_Win_create_errhandler.3MPI_Win_create_keyval.3MPI_Win_delete_attr.3MPI_Win_detach.3MPI_Win_f2c.3MPI_Win_fence.3MPI_Win_flush.3MPI_Win_flush_all.3MPI_Win_flush_local.3MPI_Win_flush_local_all.3MPI_Win_free.3MPI_Win_free_keyval.3MPI_Win_get_attr.3MPI_Win_get_errhandler.3MPI_Win_get_group.3MPI_Win_get_info.3MPI_Win_get_name.3MPI_Win_lock.3MPI_Win_lock_all.3MPI_Win_post.3MPI_Win_set_attr.3MPI_Win_set_errhandler.3MPI_Win_set_info.3MPI_Win_set_name.3MPI_Win_shared_query.3MPI_Win_start.3MPI_Win_sync.3MPI_Win_test.3MPI_Win_unlock.3MPI_Win_unlock_all.3MPI_Win_wait.3MPI_Wtick.3MPI_Wtime.3OMPI_Affinity_str.3OpenMPI.3OpenSHMEM.3_my_pe.3_num_pes.3intro_shmem.3shfree.3shmalloc.3shmem_addr_accessible.3shmem_align.3shmem_alltoall32.3shmem_alltoall64.3shmem_alltoalls32.3shmem_alltoalls64.3shmem_barrier.3shmem_barrier_all.3shmem_broadcast32.3shmem_broadcast64.3shmem_char_g.3shmem_char_get.3shmem_char_get_nbi.3shmem_char_p.3shmem_char_put.3shmem_char_put_nbi.3shmem_clear_cache_inv.3shmem_clear_cache_line_inv.3shmem_clear_lock.3shmem_collect32.3shmem_collect64.3shmem_complexd_prod_to_all.3shmem_complexd_sum_to_all.3shmem_complexf_prod_to_all.3shmem_complexf_sum_to_all.3shmem_double_fetch.3shmem_double_g.3shmem_double_get.3shmem_double_get_nbi.3shmem_double_iget.3shmem_double_iput.3shmem_double_max_to_all.3shmem_double_min_to_all.3shmem_double_p.3shmem_double_prod_to_all.3shmem_double_put.3shmem_double_put_nbi.3shmem_double_set.3shmem_double_sum_to_all.3shmem_double_swap.3shmem_fcollect32.3shmem_fcollect64.3shmem_fence.3shmem_finalize.3shmem_float_fetch.3shmem_float_g.3shmem_float_get.3shmem_float_get_nbi.3shmem_float_iget.3shmem_float_iput.3shmem_float_max_to_all.3shmem_float_min_to_all.3shmem_float_p.3shmem_float_prod_to_all.3shmem_float_put.3shmem_float_put_nbi.3shmem_float_set.3shmem_float_sum_to_all.3shmem_float_swap.3shmem_free.3shmem_get128.3shmem_get128_nbi.3shmem_get16_nbi.3shmem_get32.3shmem_get32_nbi.3shmem_get64.3shmem_get64_nbi.3shmem_get8_nbi.3shmem_getmem.3shmem_getmem_nbi.3shmem_global_exit.3shmem_iget128.3shmem_iget32.3shmem_iget64.3shmem_info_get_name.3shmem_info_get_version.3shmem_init.3shmem_int_add.3shmem_int_and_to_all.3shmem_int_cswap.3shmem_int_fadd.3shmem_int_fetch.3shmem_int_finc.3shmem_int_g.3shmem_int_get.3shmem_int_get_nbi.3shmem_int_iget.3shmem_int_inc.3shmem_int_iput.3shmem_int_max_to_all.3shmem_int_min_to_all.3shmem_int_or_to_all.3shmem_int_p.3shmem_int_prod_to_all.3shmem_int_put.3shmem_int_put_nbi.3shmem_int_set.3shmem_int_sum_to_all.3shmem_int_swap.3shmem_int_wait.3shmem_int_wait_until.3shmem_int_xor_to_all.3shmem_iput128.3shmem_iput32.3shmem_iput64.3shmem_long_add.3shmem_long_and_to_all.3shmem_long_cswap.3shmem_long_fadd.3shmem_long_fetch.3shmem_long_finc.3shmem_long_g.3shmem_long_get.3shmem_long_get_nbi.3shmem_long_iget.3shmem_long_inc.3shmem_long_iput.3shmem_long_max_to_all.3shmem_long_min_to_all.3shmem_long_or_to_all.3shmem_long_p.3shmem_long_prod_to_all.3shmem_long_put.3shmem_long_put_nbi.3shmem_long_set.3shmem_long_sum_to_all.3shmem_long_swap.3shmem_long_wait.3shmem_long_wait_until.3shmem_long_xor_to_all.3shmem_longdouble_g.3shmem_longdouble_get.3shmem_longdouble_get_nbi.3shmem_longdouble_iget.3shmem_longdouble_iput.3shmem_longdouble_max_to_all.3shmem_longdouble_min_to_all.3shmem_longdouble_p.3shmem_longdouble_prod_to_all.3shmem_longdouble_put.3shmem_longdouble_put_nbi.3shmem_longlong_add.3shmem_longlong_and_to_all.3shmem_longlong_cswap.3shmem_longlong_fadd.3shmem_longlong_fetch.3shmem_longlong_finc.3shmem_longlong_g.3shmem_longlong_get.3shmem_longlong_get_nbi.3shmem_longlong_iget.3shmem_longlong_inc.3shmem_longlong_iput.3shmem_longlong_max_to_all.3shmem_longlong_min_to_all.3shmem_longlong_or_to_all.3shmem_longlong_p.3shmem_longlong_prod_to_all.3shmem_longlong_put.3shmem_longlong_put_nbi.3shmem_longlong_set.3shmem_longlong_sum_to_all.3shmem_longlong_swap.3shmem_longlong_wait.3shmem_longlong_wait_until.3shmem_longlong_xor_to_all.3shmem_malloc.3shmem_my_pe.3shmem_n_pes.3shmem_pe_accessible.3shmem_ptr.3shmem_put128.3shmem_put128_nbi.3shmem_put16_nbi.3shmem_put32.3shmem_put32_nbi.3shmem_put64.3shmem_put64_nbi.3shmem_put8_nbi.3shmem_putmem.3shmem_putmem_nbi.3shmem_quiet.3shmem_realloc.3shmem_set_cache_inv.3shmem_set_cache_line_inv.3shmem_set_lock.3shmem_short_and_to_all.3shmem_short_g.3shmem_short_get.3shmem_short_get_nbi.3shmem_short_iget.3shmem_short_iput.3shmem_short_max_to_all.3shmem_short_min_to_all.3shmem_short_or_to_all.3shmem_short_p.3shmem_short_prod_to_all.3shmem_short_put.3shmem_short_put_nbi.3shmem_short_sum_to_all.3shmem_short_wait.3shmem_short_wait_until.3shmem_short_xor_to_all.3shmem_swap.3shmem_test_lock.3shmem_udcflush.3shmem_udcflush_line.3shmem_wait.3shmem_wait_until.3shmemalign.3shrealloc.3start_pes.3man7ompi_crcp.7opal_crs.7orte_filem.7orte_hosts.7orte_snapc.7orte_sstore.7/usr/lib64/mpi/gcc/openmpi4/share//usr/lib64/mpi/gcc/openmpi4/share/man//usr/lib64/mpi/gcc/openmpi4/share/man/man1//usr/lib64/mpi/gcc/openmpi4/share/man/man3//usr/lib64/mpi/gcc/openmpi4/share/man/man7/-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:34207/SUSE_SLE-15-SP5_Update/26eb82da626b4b2a391e604d4c41cf41-openmpi4.SUSE_SLE-15-SP5_Update:standarddrpmxz5s390x-suse-linux  directorytroff or preprocessor input, ASCII texttroff or preprocessor input, UTF-8 Unicode textAlgol 68 source, ASCII text, with very long linesC source, ASCII text, with very long linesC source, ASCII textC source, UTF-8 Unicode text, with very long linestroff or preprocessor input, ASCII text, with very long linesC source, UTF-8 Unicode text.CUutf-8d7c1bd81c93b4e939ca5225ded42c5f76018d4b6eda72eca128ad52dacb8e8a5?P7zXZ !t/H]"k% . 0Ǿ<dFxCH$Tlc\s2v FoS$2PD-eK!k~xdwfFKhS[0P>i0"ZNp|׾_`& 5Mt5wP!| VWEc&^Q8 A_gÎ_v<<wЍ"!X05ވgaL?T*i@yJmEV}bEɇ: -K ' 1RPoE(jEIt,܁էx$. PN_Rz鵟9idM9"u)=[bu͍ aoHye>AD2MZUOԡ: f\*9#AX̭0!yc#%\V'=J[B?tW1JyP+mHVuh[K:Wٰ%mJ1irtL0F{Q-zp<~ϒO!.uނjJ\W +:ƫFT,񔉔\!W&+԰ӡ?9`dX=?v& Bk977Gq(Ȕ*H5=oo+&^&FBýݸZڢM{X=:+C^h3)#4o&PdHi۞;>_K "L­zNV=*GȪio7e_Snb؉^WɈxz>E'WWF5立ɃbV %l.u.cq5.^OUb6I[ɔrA{X GT' n"EaPbJ0!4 w(N;U-۠WP%֋K ;y$]0/A'c2L)^:_f ˅A8n&Cu lx ѤLco(Q*وF+y$YDJPτ6˕h$\>S}Gl0ޫO{7Nnz&>B]ogrW#$o,Fem:pXg'1(HbEkx;_+T@+qvv66;&u'ᢧ`:Mchc3 \HM8P%bCW.;ѓ )Z#p_"ٍ:8gbVOPθ8S+k}r]G Q*RkWI9T I"6(F ڞ;MQfy.9-IK*iNZdCWIr1<7ï9;_;̎g8_<>Cˉ[#Ń/#'@?MS80Pv劼=vi]V-3rs^lr cT!D8|BD7L1M;ZHGO.k\Lrlon/\zpvdyD gA٘7k,tƭYyxL~2O^>ˈpu*N3MPi쒞]Jl#9[;4؀P:l`{BxcrՍuEi8SNҊqX[r̮j:St?Q :u 1PY0kJ#z6 Q-,ޥ QZP@8DDCL AyƪR21U-HИWc]@vM .L`|x#fޭhK$]w )RcA]x8iT8lK[<D LŇ^dv&u%(*uоbmBswti8{ڏWO],C%Á|j`E@+ŭ*z+%lK@QMrw3ך3N,q* $ v#BbYH^T𲢉iyGwZ? HQnk r,P+ y =B|nL.h>QlZV!;'0iZ1isX9QȘwR$U_wX}ն)prRMۮd:H6b!:oIw33qק~Wg LDYZ.byI}d*Ϥ;q~AwL`riGPqĈ~{Y,8[Y:-)i)Ϥ#z59Mv# Ծ\r:o^2d$s=R0nu5kwLZ)eǑsdO}TwvBV1f.T4Ո%IJG8d<ʉ`~iWHVRoEH`ϩ,TBxo6'ڕ-%TPި{T;Ƃ!ϖ#Mwũ{[;/m⹁9i] bꚇ@doKdRj.wrHZ,g:4jdQkA|숩4Kz#Y3 2`/b*Q~%_]`CFpVOR>)ƿ*:I$'=eL YptN@RXZ+S\C z S#IJ;`DrƁrp;DpT*B)(_pVT&&'I18A/M2a|c)tvRFǧ4%;JFv!>|uaپ8Ȳ?aR; Phg_m#++ |jЃvՠzhc&j~9ڧk=[ 9 wnbH~A*tʎ#> +;JQ`:l"[рJ]( { / nj&lOIJ%L}i-)!{l,˜iߝ0"ˍ`Pe!2mY%mDR|uw+R6}!&ZH|)qu;ސ O[.~83N=GO b4VQH XʫZ YPJxT̾b|S:馀pD2G*@ 1'7QDp}F3Z>Ie˃"̈́ȸ -q< 1nw%gȲjx> sps#s}rMႳVg 7Wngk|i.1Mv>~-&-Qehk|XLz[o?JjrUȌ;(󎭞ѧY-?D0p>%f D%ރ7`U++޻ݹԶ Yzy'k^-g&eLjy~aݎwWzj' ?ˇ";@2SlH[T5ԟJ4dw, ~i*pl˒9͹Mݠn 5BM)4>3wf YZ